test(hdr-regression): tighten Window F maxFrameFailures budget after Chunk 4 fix (#375)

## Summary

Tighten `hdr-regression` Window F `maxFrameFailures` from 5 → 0 now that Chunk 4 (matrix3d support + scene initial-state) has landed.

## Why

Window F (transform + scale + border-radius on the video itself) was the remaining known-fail in the `hdr-regression` suite, baked into the golden so the suite stayed green while Chunk 4 was outstanding.

After Chunk 4 fixed `parseTransformMatrix` (matrix3d support) and the shader-transitions initial-state, re-running the suite shows **0 failed frames** against the existing golden — the encoder is byte-deterministic, and Window F's GSAP rotation/scale happens to emit 2D `matrix()` rather than `matrix3d()`, so the same golden is still correct after the fix. Tightening the budget catches any drift in the layered HDR compositor immediately.

## What changed

- `tests/hdr-regression/meta.json`: `maxFrameFailures` 5 → 0 (matches `hdr-hlg-regression`).
- `tests/hdr-regression/README.md`: Window F row + Fix history section updated to reflect the new state.

## Test plan

- [x] `bun run test --filter hdr-regression` — passes with 0 failed frames at the new budget.

## Stack

Follow-up to Chunk 4 (transform & clipping). Reviewable separately so the budget tightening is decoupled from the code fix.
This commit is contained in:
Vance Ingalls
2026-04-23 01:45:19 -07:00
committed by GitHub
parent 2e1a1d91a2
commit 8ffd007716
5 changed files with 14 additions and 15 deletions
@@ -1,9 +1,9 @@
{
"name": "hdr-regression",
"description": "HDR10 (BT.2020 PQ) regression suite. Four windows (AD) cover the highest-value HDR compositing shapes: direct <video> opacity tween (A), z-order DOM/HDR/DOM sandwich (B), transform + border-radius (C), and a shader transition between HDR video and HDR PQ image (D). 10s / 300 frames at 30fps.",
"description": "Comprehensive HDR10 (BT.2020 PQ) regression suite. Eight back-to-back 'windows' (AH) lock down the layered HDR compositing pipeline against the most common composition shapes: baseline pass-through, wrapper-vs-direct opacity, z-order sandwiches, side-by-side multi-source, transform + border-radius, object-fit letterbox, and a shader transition between an HDR video and an HDR PQ image. Window C (direct <video> opacity) is fixed by Chunk 1. Window F (transform + border-radius) is fixed by Chunk 4. The golden is byte-deterministic and `maxFrameFailures` is 0 — any drift in the layered HDR compositor is caught immediately.",
"tags": ["regression", "hdr"],
"minPsnr": 28,
"maxFrameFailures": 5,
"maxFrameFailures": 0,
"minAudioCorrelation": 0,
"maxAudioLagWindows": 1,
"renderConfig": {