Files
zooqueenandHanzo Dev 70b41673a3 frames: rebrand the fork to Hanzo Frames
Forked from HyperFrames (Apache-2.0), full history preserved.

Hosts are mapped explicitly and BEFORE the identifier rename, because
hyperframes.heygen.com is not decoration: 175 of its occurrences are $schema
identifiers that a validator dereferences. A blind rename would have left them
naming a host that never serves them. The schema files are in this repo under
docs/schema, so the mapped host is one we can actually serve -- that is the
condition that makes the rewrite safe, and serving them is a deploy task, not
an edit. docs/schema/hyperframes.json is renamed to frames.json to match the
identifier it is now published under.

api.heygen.com and the CLI auth against heygen.com are left UNRENAMED on
purpose. They are a dependency on HeyGen's SaaS, not a name of ours to take,
and the right move is to remove that integration rather than rebrand it.

LICENSE and CREDITS.md are untouched; NOTICE records the lineage.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-28 23:42:24 -07:00
..

hdr-hlg-regression

Regression test that locks down end-to-end HDR HLG (BT.2020 ARIB STD-B67) video rendering. Companion to hdr-regression (PQ), kept as a separate suite so the HLG-specific encoder/metadata path stays tested in isolation.

What it covers

Window Time Shape Expected
A 0.0 – 2.5 s Baseline HLG video + DOM overlay pass
B 2.5 – 5.0 s Wrapper opacity fade around HLG video pass

The test pins the contract that:

  • extractMediaMetadata reports bt2020/arib-std-b67/limited for the HLG source (i.e. HLG is detected and not silently coerced to PQ).
  • isHdrColorSpace flips the orchestrator into the layered HDR path on the HLG signal.
  • The HLG source is decoded into rgb48le and blitted under the SDR DOM overlay on every frame.
  • Wrapper-opacity composition (window B) does not break HLG pass-through.
  • hdrEncoder writes HEVC Main10 / yuv420p10le / BT.2020 HLG with the correct color tags (no PQ mastering display metadata for HLG).

The suite is intentionally short (5 s, two windows) — it exists to detect regressions in the HLG-specific code path, not to enumerate every composition shape (those live in hdr-regression).

Fixture

src/hdr-hlg-clip.mp4 — last 5 seconds of a user-recorded HEVC HLG clip, remuxed (no re-encode) so the HLG color tags survive verbatim.

Running

cd packages/producer
bun run test:regression hdr-hlg-regression

bun run test:regression:update hdr-hlg-regression

In CI it runs in the hdr shard alongside hdr-regression (see .github/workflows/regression.yml).