fix(studio): harden composition timeline reliability (#2615)

* fix(studio): preserve composition playback continuity

* feat(studio): drag compositions into the timeline

* fix(studio): collapse expanded composition move aliases

* fix(studio): make timeline cuts atomic

* fix(studio): group inspector gesture history

* test(studio): cover masked text selection

* fix(studio): harden composition timeline reliability

* fix(studio): satisfy CI source gates

* fix(studio): harden composition mutation requests
This commit is contained in:
Miguel Ángel
2026-07-17 14:15:30 -04:00
committed by GitHub
parent 2be8a62c00
commit 2b65b4efce
93 changed files with 3925 additions and 758 deletions
@@ -22,10 +22,14 @@ export function isSplitTimeWithinBounds(
}
export function canSplitElement(el: TimelineElement): boolean {
const hasStableIdentity = Boolean(el.hfId || el.domId || el.selector);
const hasValidRate =
el.playbackRate == null || (Number.isFinite(el.playbackRate) && el.playbackRate > 0);
return (
!el.timelineLocked &&
el.timingSource !== "implicit" &&
!el.compositionSrc &&
hasStableIdentity &&
hasValidRate &&
!!el.duration &&
Number.isFinite(el.duration)
);