What happens
Zoom repel does not hold across a clip boundary. Setup: zoom A at 64–77 s (1.8×) and zoom B at 100.1–105.9 s (1.5×), where B ends exactly at clip 1's end (105.9 s).
Dragging A to the right into B does not clamp A at B's start. A jumps past B into the next clip, and the document stores it as:
- a zero-length fragment on clip 1 (source 135.32–135.32)
- an 8.23 s fragment on the next clip, so A shrinks from 12.97 s to 8.23 s
B is unchanged. Ctrl+Z restores A.
Expected
A stops against B's start, as it does when both zooms sit inside one clip, keeps its 12.97 s length, and no zero-length fragment is ever stored.
Steps
- Two clips. In clip 1, place a zoom that ends exactly at the clip's end, and another zoom earlier in clip 1.
- Drag the earlier zoom right into the later one.
- Inspect
zoomRanges in the project file, or the lane.
Environment
v2.0.0-rc.15 (same code as v2.0.0), Windows 11. Found in the rc.15 computer-use pass (#1003).
What happens
Zoom repel does not hold across a clip boundary. Setup: zoom A at 64–77 s (1.8×) and zoom B at 100.1–105.9 s (1.5×), where B ends exactly at clip 1's end (105.9 s).
Dragging A to the right into B does not clamp A at B's start. A jumps past B into the next clip, and the document stores it as:
B is unchanged. Ctrl+Z restores A.
Expected
A stops against B's start, as it does when both zooms sit inside one clip, keeps its 12.97 s length, and no zero-length fragment is ever stored.
Steps
zoomRangesin the project file, or the lane.Environment
v2.0.0-rc.15 (same code as v2.0.0), Windows 11. Found in the rc.15 computer-use pass (#1003).