Problem
Inside <sequence> every child needs an explicit start. Without it start is 0 and all clips stack at the head of the sequence. <sequence> only tags the entity as Sequential, and a clip's computed start is just parentOrigin + Delay + Trim.start with no reference to its siblings (timing.ts, syncTiming).
So making the first clip of a long A-roll 1s longer means editing the start of every clip after it:
<sequence>
<video src="take.mp4" start={0} sourceIn={48.2} sourceOut={53.9} />
<video src="take.mp4" start={5.7} sourceIn={61.7} sourceOut={69.4} />
<video src="take.mp4" start={13.4} sourceIn={74.0} sourceOut={78.1} />
{/* ...30 more, all shifted by hand */}
</sequence>
The talking-head guide works around it with a JS cursor inside a <For>, but as soon as one clip is edited on the canvas the loop gets unrolled into literal starts, and later clips stop following.
Proposal
In a <sequence>, a child with no start begins where the previous sibling ends. An explicit start still wins and acts as an anchor for the clips after it.
<sequence>
<video src="take.mp4" sourceIn={48.2} sourceOut={53.9} />
<video src="take.mp4" sourceIn={61.7} sourceOut={69.4} />
<video src="take.mp4" sourceIn={74.0} sourceOut={78.1} />
</sequence>
Changing the first sourceOut now moves everything after it. It also plays nicely with write-back: a trim on the timeline writes one prop and you get ripple editing for free, with no computed starts in the file.
Open questions
- a clip with no
sourceOut/end only knows its length once the asset loads, so followers would need to re-place when it lands
- dragging an auto-placed clip on the timeline: write a literal
start (pin it), or treat it as a reorder?
Problem
Inside
<sequence>every child needs an explicitstart. Without itstartis0and all clips stack at the head of the sequence.<sequence>only tags the entity asSequential, and a clip's computed start is justparentOrigin + Delay + Trim.startwith no reference to its siblings (timing.ts, syncTiming).So making the first clip of a long A-roll 1s longer means editing the
startof every clip after it:The talking-head guide works around it with a JS
cursorinside a<For>, but as soon as one clip is edited on the canvas the loop gets unrolled into literalstarts, and later clips stop following.Proposal
In a
<sequence>, a child with nostartbegins where the previous sibling ends. An explicitstartstill wins and acts as an anchor for the clips after it.Changing the first
sourceOutnow moves everything after it. It also plays nicely with write-back: a trim on the timeline writes one prop and you get ripple editing for free, with no computedstarts in the file.Open questions
sourceOut/endonly knows its length once the asset loads, so followers would need to re-place when it landsstart(pin it), or treat it as a reorder?