feat(studio): clip drag engine — preview and commit (unwired)#2206
Merged
miguel-heygen merged 1 commit intoJul 12, 2026
Merged
Conversation
This was referenced Jul 11, 2026
Collaborator
Author
This was referenced Jul 11, 2026
cccd643 to
7f164b5
Compare
7fccf6c to
b7eee0d
Compare
7f164b5 to
a2f4dd0
Compare
miga-heygen
reviewed
Jul 11, 2026
miga-heygen
left a comment
Contributor
There was a problem hiding this comment.
Reviewed as part of the 25-PR NLE overhaul stack. Full stack review on #2205 (the keystone). No blockers on this PR. — Miga
a2f4dd0 to
7d93612
Compare
0d3d115 to
de842df
Compare
7d93612 to
dbb7d62
Compare
4500814 to
61bd37e
Compare
0a4df4f to
4675cb9
Compare
61bd37e to
8913566
Compare
4675cb9 to
6be93e9
Compare
8913566 to
f0b490b
Compare
miguel-heygen
approved these changes
Jul 11, 2026
miguel-heygen
left a comment
Collaborator
There was a problem hiding this comment.
Re-review at current head f0b490b: clip-drag engine boundaries and regression tests remain intact; required checks green. Approving.
f0b490b to
5868b89
Compare
4c1399b to
fc1973d
Compare
5868b89 to
37dcb0b
Compare
fc1973d to
ee487d0
Compare
37dcb0b to
3a5a5d6
Compare
miguel-heygen
approved these changes
Jul 12, 2026
miguel-heygen
left a comment
Collaborator
There was a problem hiding this comment.
Re-reviewed current head and verified the addressed feedback and required behavior. Approval is for this exact head; Graphite mergeability may still be pending.
What: the NLE clip-drag engine core: timelineClipDragPreview (zone-aware preview placement; keeps the legacy resolveDragPreviewPlacement export until the timeline swap), timelineClipDragCommit (drop → move/insert commit, stacking-synced) and timelineElementsMove (batched ripple/insert move with GSAP position shifting), with test suites. Why: the drag-drop brain, reviewable as functions before any component mounts it. How: new files plus one authored intermediate (preview file = final content + legacy export the old engine still imports); consumes the collision/ snapping/zones/stacking modules and the coexistence layer. Test plan: bunx vitest run on both test suites; tsc --noEmit; fallow audit clean.
3a5a5d6 to
874e6d8
Compare
This was referenced Jul 12, 2026
This was referenced Jul 12, 2026
8d7179f
into
studio-dnd/pr14-glue-api-coexistence
13 of 14 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

What
the NLE clip-drag engine core: timelineClipDragPreview (zone-aware preview placement; keeps the legacy resolveDragPreviewPlacement export until the timeline swap), timelineClipDragCommit (drop → move/insert commit, stacking-synced) and timelineElementsMove (batched ripple/insert move with GSAP position shifting), with test suites.
Why
the drag-drop brain, reviewable as functions before any component mounts it.
How
new files plus one authored intermediate (preview file = final content + legacy export the old engine still imports); consumes the collision/ snapping/zones/stacking modules and the coexistence layer.
Test plan
bunx vitest run on both test suites; tsc --noEmit; fallow audit clean.
Stack position 15/25 — studio NLE overhaul (CapCut-parity timeline + canvas). Graphite manages bases; merge from #2192 upward. Temporary
TEMP(studio-dnd)fallow entries (unwired-component windows) are all removed by #2213 (app-shell swap), whose tree is byte-identical to the fully-verified integration branch.