You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
linter: flag missing tl.set() hard-kill on scene-boundary exits #473
Every element whose visibility changes at a beat boundary needs a deterministic tl.set() kill after its exit tween — not just captions. Without it, non-linear seeking can land between the fade end and the next scene start, leaving the element partially visible or causing a black-frame gap.
Problem
In a/b testing of PR #364 (see review #4167523103), the sub-agent produced 0 tl.set() hard-kills even with the rule present in the prompt — in both runs. The rule is documented but documentation alone isn't a reliable enforcement mechanism for sub-agents.
Meanwhile, scans of existing Stripe compositions found 86 exit animations with only 1 tl.set() hard-kill, and black-frame gaps at every beat boundary in rendered snapshots. The bug is real and widespread.
Proposed linter rule
Flag any element that has an exit tween ending at or near a data-start boundary without a corresponding tl.set() clearing its opacity/visibility at that same position.
Heuristic:
Find tl.to(el, { opacity: 0, ... }, t) where t + duration ≈ a scene boundary
Check whether a tl.set(el, { opacity: 0 }) (or equivalent) exists at the same position
If not → warn: missing hard-kill after exit tween on <selector> at t=<time>
Notes
The existing caption hard-kill check is already a narrower version of this. This would generalize it to all scene-boundary exits.
False positive risk: elements that are hidden by other means (e.g., parent clip, display: none on the scene root). May need to be scoped to elements inside .clip containers only.
Related: linter heuristic inconsistency on overlapping_gsap_tweens (separate issue) may be masking some of these cases.
Activity
fix(core): warn on GSAP boundary exits without hard kill (#474)
fix(core): warn on GSAP boundary exits without hard kill (heygen-com#474
fix(core): warn on GSAP boundary exits without hard kill (heygen-com#474