Task: TODOS.phase-72.72.15.2.13
Sequencer multi-user editing is a V2Editor TimelineVisualizer surface for coordinating collaborative cinematic edits. It tracks editor presence, grants exclusive per-track locks, merges remote sequence edits, and exposes blocking track conflicts for review.
Runtime API#
- Panel spec:
FV2SequencerMultiUserPanelSpec - User presence:
FV2SequencerMultiUserPresence - Track lock:
FV2SequencerMultiUserTrackLock - Track merge row:
FV2SequencerMultiUserTrackMerge - Conflict row:
FV2SequencerMultiUserConflict - State:
FV2SequencerMultiUserState - Request/result:
FV2SequencerMultiUserRequest,FV2SequencerMultiUserResult - Enums:
EV2SequencerMultiUserActionType,EV2SequencerMultiUserMergeStatus,EV2SequencerMultiUserIssueType
ApplySequencerMultiUserEditingRequest accepts base, local, and incoming
sequence snapshots plus the current collaboration state. Lock actions update
per-track ownership and mirror the lock into the merged sequence track. A
three-way merge actions compare track signatures across base, local, and
incoming snapshots: incoming-only edits apply, local-only edits are kept,
identical edits are accepted, and true local-versus-incoming edits become
blocking conflicts unless the request explicitly prefers incoming.
Behavior#
- The panel targets
TimelineVisualizerand requires remote presence, per-track locks, merge support, conflict inspection, and revision checks. - Track locks record owner user id, display name, revision, lease time, exclusivity, and dirty state.
- Lock acquisition rejects missing tracks and tracks already locked by another user.
- Lock release requires ownership unless force release is requested.
- Merge requests require matching base/local/incoming sequence ids and a base revision that matches the active collaboration state.
- Merge results include per-track status rows, merged sequence data, conflict rows, and validation issues.
QA Inventory#
- Panel: verify multi-user widget metadata, lock support, merge support, remote presence, conflict inspection, and revision enforcement.
- Presence: verify local and remote users are both represented in state.
- Locks: verify granting a local track lock, rejecting a remote lock on the same track, rejecting release by a non-owner, and releasing the owner lock.
- Merge: verify incoming-only changes apply and local-only changes remain.
- Conflicts: verify simultaneous local and incoming edits create blocking conflicts, and explicit incoming preference resolves that conflict.
- Off-path: reject stale revision merge requests and missing lock targets.
js_repl Playwright interaction was unavailable in this session and the
affected surface is Unreal editor data rather than browser-rendered UI, so
verification is through UE editor automation and contract gates.
Verification#
python3 V2/ue/Tools/check-v2-sequencer-multi-user-editing.pyV2.Editor.Sequencer.MultiUserEditingpython3 V2/ue/Tools/check-v2-editor-module.pypython3 V2/ue/Tools/check-v2-ci-workflow.py