Files
hyperframes/packages
Vance IngallsandClaude Opus 5 dcfbda9fd9 fix(vfx): paint self-capture hosts under hyperframes snapshot, not only the engine path
`paintVfx(t, { engineMode: true })` armed the page-composite protocol and
returned, betting that every capturing chain runs under `frameCapture.ts`.
`hyperframes snapshot` (and check/compare/validate/layout, and Studio's
thumbnail capture) seek through the same `renderSeek`, never read
`__hf_page_composite_pending` and never call `__hf_page_composite_resolve` —
so a `self` chain painted nothing there, in silence, because its content
lives in a `layoutsubtree` canvas the browser never paints directly.

Engine mode now arms the preview-side capture as well and paints on whichever
completes first. A seek token stops a superseded async capture from repainting
a newer frame, and a registry-identity check stops it painting an entry
`initVfx` already released. `resolveVfxCapture` stays non-idempotent on
purpose: the engine resolves only after its own before-capture hooks have
mutated the DOM, so its capture is still the authoritative one.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-22 21:13:11 -07:00
..
2026-09-22 16:12:35 -04:00
2026-09-22 16:12:35 -04:00
2026-09-22 16:12:35 -04:00
2026-09-22 16:12:35 -04:00
2026-09-22 16:12:35 -04:00
2026-09-22 16:12:35 -04:00
2026-09-22 16:12:35 -04:00