Files
hyperframes/packages
Vance IngallsandClaude Fable 5 c8edeef43b fix(producer): video gate disables drawElement instead of forcing screenshot
Re-measured the four rows flagged slower-than-baseline with matched
conditions (3 reps, medians). Two were stale-baseline artifacts: style-7
macOS is actually 1.12x FASTER (19.9s vs 22.4s) and raf-ball macOS is
exactly 1.00x. variables-prod Docker is within the noise band (6.8s vs
6.5s across runs spanning 6.4-10.7s). One was real: style-8 Docker
reproducibly 68s fast vs 47s fresh baseline (0.69x).

Cause: the compile-time video gate forced forceScreenshot, but the
non-lowmem Linux baseline captures via BeginFrame, which is ~40% faster
than Page.captureScreenshot on SwiftShader. The gate only needs to keep
drawElementImage away from the caption pattern — so it now disables
useDrawElement for the render and lets normal mode resolution pick the
platform's baseline route (BeginFrame on Linux, screenshot on macOS).
Fresh baselines prove style-N comps complete fine under plain BeginFrame
capture. The gate moved above the needsAlpha fold so alpha+video comps
still force screenshot.

Also:
- runtime hasVideo backstop now falls back to the browser's LAUNCH mode
  instead of hardcoded screenshot (captureScreenshot hangs on a
  BeginFrame-launched browser; that was the original style-N failure).
- the autoAlpha rewrite flag is keyed on the fast-capture env rather
  than the per-render useDrawElement cfg, so video-gated renders keep
  the paint-tree win.

style-8 Docker fast: 68.2s -> 46.6/47.6s (parity with 44.8-49.0s
baseline), 54.1 dB. mac style-7: 54.4 dB unchanged. Alpha fast path
still drawElement at rgba PSNR = inf.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-14 15:43:59 -07:00
..
2026-06-13 02:04:21 -04:00
2026-06-13 02:04:21 -04:00
2026-06-13 02:04:21 -04:00