main
History Download
John Lauer Publish 0.1.26 0b71841

AI Flow progress in Hydrogen

Live Hydrogen widget with cached component thumbnails

An optional title-bar widget shows the selected run's current step, a progress bar, and up to three recent artifact thumbnails. Enable it when the user wants to monitor a long board run while doing other work. Default is off; respect an explicit no-widget preference.

adom-aiflow --ai-thread "Your thread" --run /absolute/run widget enable
adom-aiflow --ai-thread "Your thread" --run /absolute/run widget event --step components --file /absolute/run/part.png --label "MPN-marked TPSM preview"
adom-aiflow --ai-thread "Your thread" --run /absolute/run widget disable

Open AI Flow progress in Hydrogen Widgets after enabling. A local checkout with hydrogen-widget.json is discoverable now; global listing needs the curated entry in adom/hydrogen-bootstrap after package publication.

The service reads run.json and existing image artifact events in run.jsonl. It never changes either file. Explicit milestone events go in widget-state.json; thumbnails are cached by content hash in widget-thumbs/. Images must be inside the selected run. Publish existing component, marked-model, symbol, placement, pour and Fields images when those milestones produce them. No extra capture or model call is made. The display uses the new step immediately and retains older thumbnails with their timestamps until fresh images arrive.

The percentage is completed planned steps, not a prediction of elapsed or remaining time. An explicit milestone percentage can describe a component batch; label that scope. Returns can reduce progress. If no denominator exists, the widget shows an unknown value. The tooltip identifies the basis and thumbnail age.

The full 38-pixel title bar shows three thumbnails and two text lines; the compact 20-pixel bar shows the latest thumbnail and step. The local JSON feed polls every four seconds while visible, every thirty while hidden. Disabled means no ledger scans, thumbnail production or event writes; the mounted slot says updates are disabled. Closing the widget also stops its own server via a verified PID, without touching another process.

Files: hydrogen-widget.json, tools/aiflow-widget.py, this page, and the helper symlink installed by install.sh. Python 3 serves it; ffmpeg downsizes existing images. No provider access, AI tokens or network analysis is involved. See the Hydrogen widget SDK.

Larger live hover surface

With Hydrogen's optional hdWidget.expand support, this same widget frame expands into its hover card. At heights above 100px it shows a large saved image, caption, timestamp and selectable thumbnail strip. Leaving the card returns it to the title bar; the selected image survives because the frame never reloads. Pinning keeps it open, and Escape is forwarded from the frame to close it.

The helper caches a larger image in widget-previews/ from the already-saved source. It never takes a fresh desktop screenshot or calls an AI. Older entries without that cache can still show their small thumbnail; new milestone events and ledger artifacts populate the larger cache. The image endpoint accepts only known hash filenames inside the selected run. Turning the widget off also withdraws its expansion request. On older Hydrogen builds the extra message is ignored and the ordinary small widget continues working.

The compact widget always identifies itself as Adom AI Flow, with the current activity underneath; the expanded heading retains that identity. Polling updates only changed content. Existing image and selector nodes survive unchanged polls, new images decode before replacement, and unchanged sizing messages are suppressed. Hash-addressed cached images use private immutable caching; the live feed does not.