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

5.9 KiB

Frames v0.7.54

Released on 2026-07-12.

This release hardens the drawElement parallel-capture router with real-traffic safety rails — a machine-RAM floor, worker-count-scaled self-verify, and compile-time gates for ancestor background-images and HDR disk headroom — and extends parallel streaming to the non-drawElement screenshot/BeginFrame paths with cohort telemetry. It also closes a cluster of snapshot/check capture-fidelity gaps: remote fonts are localized and embedded to match the render, check now flags text that paints invisibly, and video-injection, canvas-motion, and shader-clone capture issues are surfaced or fixed.

Features

  • Producer: Emit eligible_off cohort-sizing signal when parallel-stream router is off (591235f05)
  • CLI: Capture_parallel_stream telemetry on success and failure paths (88c21ccd8)
  • Producer: Route eligible parallel screenshot/beginframe renders to streaming (6d5a7711f)
  • Producer: Routing predicate for non-drawelement parallel streaming (2416e9bcd)
  • CLI: Preview --browser-no-gpu for gpu-unstable hosts (3dc08c086)
  • Producer: Surface beginframe no-damage reuse counters in perf summary and telemetry (dde3afb72)

Fixes

  • CLI: Only exclude clipped text when a background actually paints the glyphs (fa902400c)
  • CLI: Read effective text fill by property, not getPropertyValue (a8fd8562a)
  • CLI: Flag text with an effectively transparent fill in check (9ae84c652)
  • CLI: Distinguish producer-absent from injector failure in font localization (fc2b90583)
  • CLI: Resolve producer font-localization at runtime so vitest transform doesn't fail (aa10d4923)
  • CLI: Localize remote fonts in snapshot/check capture to match render (ad0d2393f)
  • Media: Resolve npx without npm_execpath on Windows (eba9ff9ae, #2236)
  • Render: Scale timeout for long video encodes (9d91c2a23, #2244)
  • Skills: Hold frame content through transitions (687883124, #2235)
  • Lint: Honor data-no-timeline on root compositions (c18391b98, #2228)
  • Producer: Render -c uses the scene's own duration, not the project's (6b7431bf4, #2087)
  • Hyperframes Media: Surface the real reason a TTS line failed [P2] (9c98c1e82, #1999)
  • CLI: Surface video frame-injection failures in snapshot output (edc0a1624)
  • Shader Transitions: Pin clones to their measured live box, not composition size (b3d851d65)
  • CLI: Fold canvas pixel hashes into the frozen-sweep fingerprint (3338a6f35)
  • Shader Transitions: Pin cloned scene roots to composition dimensions (9e3ff630f)
  • Producer: Disk-headroom gate before hdr raw frame pre-extraction (9a1afce43)
  • CLI: Settle post-seek font subset loads before audit screenshots (8bbd5a649)
  • Engine: Densify drawelement self-verify with parallel worker count (1b95af8bb)
  • Producer: Withhold de parallel router below a machine ram floor (ddcd380a1)
  • Producer,engine: Gate drawelement on ancestor background-image + tail verify sample (0809c9851)

Docs & Examples

  • Producer: Note attempt-scoped beginFrameReuse semantics after partial retries (2cd8a750e)

Internal

  • Producer: Stop coupling the hdr disk-headroom gate's control flow to error-string matching (c20e20235)

Full changelog

https://github.com/hanzoai/frames/compare/v0.7.53...v0.7.54