feat: plan modern editing phases and add arrangement multi-selection

This commit is contained in:
Johannes Findeisen 2026-11-06 00:12:37 +01:00
commit c5c7df1d9d
6 changed files with 226 additions and 2 deletions

View file

@ -1312,6 +1312,171 @@ BUILTIN_DEVICES.md. Application project format is now 15, reading versions 1–1
---
## Phase 47 — Arrangement Multi-selection
### Goal
Select clips across tracks with additive selection and Select all; preserve stable IDs across refresh and docking.
### Tasks and acceptance criteria
- [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
Implemented: additive Shift-click selection, Ctrl+A/Select all and selected clip outlines across tracks. Stable IDs survive refresh and panel reparenting. Core build/tests and GUI selection/docking tests pass.
---
## Phase 48 — Transactional Group Editing
### Goal
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.
### Implementation status
Planned.
---
## Phase 49 — Arrangement Clipboard
### Goal
Copy selected clips into an independent session clipboard and paste at the cursor with fresh IDs, notes and media references.
### 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.
### Implementation status
Planned.
---
## Phase 50 — Repeat Arrangement Patterns
### Goal
Repeat a selected phrase by its complete bounding span with bounded copy counts and all-or-nothing capacity validation.
### 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.
### Implementation status
Planned.
---
## Phase 51 — Align and Slip Editing
### Goal
Align selected clip starts to the cursor and slip source offsets without moving timeline boundaries.
### 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.
### Implementation status
Planned.
---
## Phase 52 — MIDI Swing Quantization
### Goal
Apply bounded swing and quantize strength to source note starts with deterministic rounding and source-bound checks.
### 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.
### Implementation status
Planned.
---
## Phase 53 — MIDI Legato and Gate Tools
### Goal
Set note gates or extend notes to the next onset on the same channel, preserving IDs and validating all notes before publication.
### 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.
### Implementation status
Planned.
---
## Phase 54 — MIDI Scale Correction
### Goal
Snap notes to a chosen root and chromatic, major or minor scale with deterministic nearest-pitch ties.
### 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.
### Implementation status
Planned.
---
## Phase 55 — MIDI Velocity Shaping
### Goal
Apply bounded velocity scaling and offsets to selected MIDI clips, with explicit clipping to valid MIDI velocities.
### 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.
### Implementation status
Planned.
---
## Phase 56 — Batch Audio Fade Tools
### Goal
Apply symmetric boundary fades or remove fades on selected audio clips, preserving clip gain, media and timing.
### 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.
### Implementation status
Planned.
---
## Phase 57 — Mixer A/B Comparison
### Goal
Capture and recall two session mixer snapshots by stable track ID, with transactional validation, undo and explicit automation limitations.
### 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.
### Implementation status
Planned.
---
## Recommended Execution Order
Reorder the phases when the audit reveals a blocking dependency. Do not mark a phase complete merely because code exists: its acceptance criteria must be demonstrated by builds, tests, or documented manual verification.