mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-14 18:01:20 +08:00
088a98a19c
The render bridge previously overwrote `window.__hf` wholesale at end-of-body, clobbering anything written during user `<script>` execution. Libraries such as `@hyperframes/shader-transitions` populate `window.__hf.transitions` inside their `init()` call, so the engine never saw a transition map and HDR compositing fell back to plain DOM layers. Two changes restore the contract: 1. Inject HF_EARLY_STUB at the very start of `<head>` so `window.__hf` exists before any other script runs. User libraries can now safely write to it during initialisation. 2. HF_BRIDGE_SCRIPT now patches the existing `__hf` object (defining `duration` as a getter and assigning `seek`) instead of replacing it, preserving any fields the page already populated. Adds a regression test that simulates the real injection order — early stub, authored page script writing `__hf.transitions`, bridge script — and asserts both `transitions` and the bridge-installed `seek`/`duration` are present afterwards. Made-with: Cursor