feat: edit arrangement selections atomically with grouped undo

This commit is contained in:
Johannes Findeisen 2026-11-06 00:13:48 +01:00
commit 7379545ced
10 changed files with 139 additions and 25 deletions

View file

@ -7,3 +7,7 @@ continue to consume prepared plans; edits use the existing stop/history workflow
## Phase 47
Shift-click clips to toggle selection; Ctrl+A in the sequencer or Edit/Select all clips selects every clip. Plain clicking replaces the selection. Selection is session UI state; no marquee selection yet.
## Phase 48
Use Left/Right in the sequencer (or Edit/Nudge selection) to move the selected phrase by the current snap step. Ctrl+D duplicates after its complete bounding span; Delete removes selected clips. Edits are atomic and undoable. Mouse dragging remains a single-clip gesture.

View file

@ -1333,12 +1333,12 @@ Implemented: additive Shift-click selection, Ctrl+A/Select all and selected clip
Move, duplicate and delete selected clips atomically, preserving relative positions and a single undo step.
### Tasks and acceptance criteria
- [ ] Provide the control/model behavior and accessible GUI commands.
- [ ] Validate bounds and failure rollback; preserve existing project compatibility and callback safety.
- [ ] Test the new workflow and document scope and limitations.
- [x] Provide the control/model behavior and accessible GUI commands.
- [x] Validate bounds and failure rollback; preserve existing project compatibility and callback safety.
- [x] Test the new workflow and document scope and limitations.
### Implementation status
Planned.
Implemented: atomic C99 batch move/duplicate/delete APIs and GUI selection commands. One published edit preserves relative spacing, fresh duplicate IDs and single undo history entries. Core and GUI tests pass, including negative-position rollback and invalid selections.
---