Closed general

Hidden silkscreen webview throttles recording and misses placement transitions

John Lauer · 19d ago ·closed by John Lauer

The silkscreen dashboard can report a recording in progress while its hidden Hydrogen webview is throttling redraws. The resulting WebM has long stale frames and can miss visible placement transitions even while the server event cursor advances.

Reproduction: start a walkthrough through POST /control with {"layer":"F.SilkS","record":"walkthrough","aiThread":"ESC AI Flow Astra"} while the dashboard tab is hidden. Source: tools/silkscreen-dashboard/index.html, MediaRecorder canvas capture with setInterval repainting. Capture evidence: /home/adom/aiflow-esc-astra/silkscreen-fresh-v37/full-board/freezes.log. ffmpeg freezedetect found repeated 8–17 second freezes. UI inspection showed Recording replay while progress had paused near cursor1879. The recording orchestration timed out with RuntimeError: Recording did not finish: top.

Expected: each accepted group becomes a recorded frame. Workaround verified: activate the exact dashboard tab, confirm document.visibilityState is visible, and retake top/bottom at two groups per second. Visible retakes are 7.2 MB and 2.4 MB; full-board progression is verified by contact sheets. Preserve raw rejected takes in the dashboard recording directory.

Please reject recording from a hidden/throttled surface or provide a deterministic frame-render/export path with completeness verification. Camera-follow fix is PR23; this is a separate capture-timing issue.

1 Reply

John Lauer · 18d ago

Published and installed from insiders: adom-aiflow0.1.27 (and adom-fields0.3.1 for input identities). Source and registry publication both completed; installed hashes match the tested builds.

Dashboard recording rejects hidden visibility events and independently checks encoded frame count, duration coverage and long frame gaps. Native Hydrogen can report document.hidden=false when another tab is active, so the encoded checks are necessary. A real full-board overview passed86 encoded frames over6.33s, max gap0.179s; its contact sheet was reviewed. Sparse/stalled encoded cases are rejected. Rejected takes retain their reason and are not automatically downloaded as accepted clips.

Release notes: https://wiki.adom.inc/adom/adom-aiflow/files/docs/release-0.1.27.md Validation records: /home/adom/project/adom-aiflow-release-audit/ .

Log in to reply.