Skip to content

fix(timeline): move linked media cohorts atomically - #27

Open
lightninglu10 wants to merge 4 commits into
mainfrom
v1-linked-cohort-drag
Open

fix(timeline): move linked media cohorts atomically#27
lightninglu10 wants to merge 4 commits into
mainfrom
v1-linked-cohort-drag

Conversation

@lightninglu10

@lightninglu10lightninglu10 commented Aug 27, 2026

Copy link
Copy Markdown

Summary

This makes linked timeline dragging behave as one editor-grade operation for arbitrary mixed cohorts. Multiple A/V pairs and attached captions retain their relative frame and media-section offsets across existing or newly created lanes, collision correction applies uniformly to the entire cohort, and the whole move is rejected if any selected or implicit companion is locked.

Unlinked multi-selection keeps its existing behavior, and a successful linked move plus any lane creation remains one undo command.

Verification

Current head a4ba3dab3b838ebb8de7ab985f7c20166c85d26b uses a finite cohort-wide collision solver, revalidates live locks and blockers at drop, resolves arbitrary nested group ancestry conservatively, and restores the exact pre-drag selection on rejected or cancelled moves. Effective mute, visibility, and solo state follow the same memoized ancestry resolution.

The 45 focused tests and full 4,813-test suite pass under Node 22, along with npm run check, npm run build, boundaries, dependency contracts, changed-health, scoped formatting, diff checks, and all push gates. Fresh independent code review and browser QA are pending for this head, so the PR remains draft.

@lightninglu10
lightninglu10 marked this pull request as ready for review August 27, 2026 05:25
@lightninglu10lightninglu10 self-assigned this Aug 27, 2026
Sign up for freeto 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.

1 participant

@lightninglu10