mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-14 18:01:20 +08:00
a3b499695b
New packages/core/src/parsers/gsapCascade.ts lifts selectorMatchesId / collectSubtreeHfIds / cascadeRemoveAnimations / cascadeRemoveAnimationsFromDocument from mutate.ts (canonical subtree-aware impl), typed with minimal structural interfaces so it works for both linkedom and DOMParser elements. sdk/mutate.ts and core/htmlParser.ts now import from the core helper; their local duplicate cascade implementations are deleted. sourceMutation.removeElementFromHtml now collects the full subtree of data-hf-id values before element.remove(), then calls cascadeRemoveAnimationsFromDocument — eliminating dangling GSAP tweens when the studio server-delete route removes an element with animated children. Tests in sourceMutation.test.ts cover: leaf delete, parent-with-children (all subtree tweens stripped), positional renumbering (re-parse loop), non-gsap scripts untouched, element with no tweens. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>