Files
hyperframes/.github/workflows
Vance Ingalls f606f0d8fd perf(player): p0-1c live-playback parity test via SSIM
Adds the 06-parity scenario, which compares a live-playback frame at
~5s on the gsap-heavy fixture against a synchronously-seeked reference
at the same captured timestamp. The two PNG screenshots are diffed via
ffmpeg's SSIM filter; the run reports parity_ssim_min across runs as a
higher-is-better metric (baseline 0.95, allowed regression ratio 0.1
yields effective gate >= 0.855).

The iframe-side rAF watcher pauses the timeline in the same tick that
getTime() crosses 5.0s so the frozen value can be used as the
canonical T_actual for both captures. After two host-side rAF ticks
for paint settlement the actual frame is screenshotted, then el.seek()
(which routes through _trySyncSeek for same-origin iframes) lands the
player on the same time and a second screenshot is taken as the
reference. Per-run PNGs and the captured time are persisted under
results/parity/run-N/ for CI artifact upload and local debugging.

Wires the scenario into index.ts (ScenarioId, dispatcher, DEFAULT_RUNS
= 3), adds a parity shard to player-perf.yml, and adds paritySsimMin
to baseline.json + the PerfBaseline type so the gate can evaluate it.
2026-04-23 01:10:54 +00:00
..