Skip to content

feat(studio): multi-clip drag preview math#2271

Closed
ukimsanov wants to merge 3 commits into
mainfrom
recovery/pr06-multidrag-preview
Closed

feat(studio): multi-clip drag preview math#2271
ukimsanov wants to merge 3 commits into
mainfrom
recovery/pr06-multidrag-preview

Conversation

@ukimsanov

Copy link
Copy Markdown
Collaborator

Recovery of #2197: GitHub shows it merged, but the merge landed in the studio-dnd/pr05-timeline-snapping branch (its mid-stack base at merge time), not main — main verifiably lacks this module (tree diff: 2 files, +233). Identical head SHA/content to the reviewed #2197; companion to the #2269/#2270 recoveries.

What: new pure module timelineCollision — zone-aware drop placement
(clampTrackToZone, resolveZoneDropPlacement, resolveInsertRow,
resolvePlacement, lane/overlap predicates) with its full test suite.

Why: the no-overlap core of the NLE clip-drag engine; plain functions, no
DOM, no React, no store writes.

How: new files only; type-only imports from the existing playerStore.
First runtime consumer arrives with the drag-engine PRs.

Test plan: bunx vitest run timelineCollision.test.ts; tsc --noEmit; fallow
audit clean (all exports test-consumed).
What: new pure module timelineSnapping — snap-target collection and
pixel-threshold time snapping (collectTimelineSnapTargets, snapTimelineTime,
snapMoveToTargets) with tests.

Why: the magnet math for clip drags/trims, reviewable standalone.

How: new files only; type-only playerStore imports; consumers land with the
drag engine.

Test plan: bunx vitest run timelineSnapping.test.ts; tsc --noEmit; fallow
audit clean.
What: new pure module timelineMultiDragPreview — group-drag passenger
offsets and clamped group deltas (isMultiDragActive, multiDragDeltaSeconds,
multiDragPassengerOffsetPx, clampGroupMoveDelta) with tests.

Why: the group-drag math, standalone and DOM-free.

How: new files only; consumed later by TimelineLanes.

Test plan: bunx vitest run timelineMultiDragPreview.test.ts; tsc --noEmit;
fallow audit clean.
@miguel-heygen

Copy link
Copy Markdown
Collaborator

Superseded by #2291 (#2291), now on main at df29fa7. The multi-clip drag preview model and tests are present in the final timeline implementation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants