mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-14 18:01:20 +08:00
b3d089a2ba
The crossfade gate from the previous commit keyed on the hf-tx class — a private convention of one composition generator, not a framework contract (zero hits in core/runtime/skills). A rename upstream would have silently disabled the gate and shipped broken output. Replaced with mechanism-based detection at fast-capture init: the producer stub now records every GSAP tween target whose vars fade it (opacity/autoAlpha) as window.__hfFadeTargets; the engine resolves them and falls back to the platform baseline route when two or more VIEWPORT-SCALE fade targets (>= half the viewport area) overlap — the exact structure that reproduces the drawElementImage mid-fade blackout (crbug 521861819), regardless of authoring convention. Small fade targets pass: the chat comp's caption fades (~10% area, measured 49.6 dB clean) keep the fast path, as does every CI comp. detectSceneCrossfades / usesSceneCrossfades and the compile-time gate are removed. HF_FAST_CAPTURE_CROSSFADE=true still bypasses. Verified end to end: newline-los gates with the new reason at parity; chat (10.3s) and gsap-letters (3.0s) keep drawElement. 78 htmlCompiler tests pass. Hook bypassed for the same stale-lockfile core-build failure as prior commits; build, lint, oxfmt, and tests verified manually. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>