docs: record D2-W3-B landing; mark Phase D2 complete; preserve deferred panel indicator
Move D2-W3-B (item-level mode actions + W3-A polish) from PLAN.md to COMPLETED.md. Phase D2 two-canvas sub-phase functionally complete; panel UI indicator explicitly deferred, not dropped.
This commit is contained in:
@@ -614,3 +614,43 @@ flips to fixed-lane mode, and whether the leftover empty default lane 0 is silen
|
|||||||
closed with no label (discarded by REAPER) when the plan is non-empty but every write
|
closed with no label (discarded by REAPER) when the plan is non-empty but every write
|
||||||
was already satisfied, so no phantom undo points accumulate.
|
was already satisfied, so no phantom undo points accumulate.
|
||||||
- **Review passed** with no Critical or Major findings.
|
- **Review passed** with no Critical or Major findings.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## D2-W3-B — item-level mode actions + W3-A polish
|
||||||
|
**Goal:** Item-level lane/mode-management actions mirroring the track-level Design
|
||||||
|
View tag family (bindable in the Actions list), plus the three code-review polish
|
||||||
|
items carried from D2-W3-A. The persist slice and lane-ownership index round-trip
|
||||||
|
were completed in D2-W3-A; this wave closes the remaining action surface and
|
||||||
|
cleans up the implementation.
|
||||||
|
See CONTEXT.md §Two-canvas sub-phase (Module architecture — persistence).
|
||||||
|
**Verify (in DAW):** Item mode actions registered and MIDI-bindable in the Actions
|
||||||
|
list; re-drive mint/apply so each item lands on its mode's managed lane; manual-lane
|
||||||
|
items exempt; one undo block per action. ctest 14/14 green.
|
||||||
|
**Depends on:** D2-W3-A.
|
||||||
|
|
||||||
|
- [x] "Move selected items → Design" action (`CEREBELLUM_REASAMPLER_VIEW_` family):
|
||||||
|
retags selected items' membership to Design mode, re-drives the existing mint/apply
|
||||||
|
so each item lands on its mode's managed lane; manual-lane items exempt; one undo
|
||||||
|
block.
|
||||||
|
- [x] "Move selected items → Arrange" action: retags selected items' membership to
|
||||||
|
Arrange mode, re-drives mint/apply; manual-lane items exempt; one undo block.
|
||||||
|
- [x] "Untag selected items" action: removes selected items' membership, re-drives
|
||||||
|
mint/apply; manual-lane items exempt; one undo block.
|
||||||
|
- [x] All three registered (`command_id`/`gaccel`/`hookcommand`); MIDI-bindable.
|
||||||
|
- [x] W3-A polish — simplified `applyMintPlan`'s redundant `I_NUMFIXEDLANES` re-read:
|
||||||
|
single grow-and-track pass removes the second `GetMediaTrackInfo_Value` call inside
|
||||||
|
the mint loop.
|
||||||
|
- [x] W3-A polish — extracted shared item-read seam (`src/item_read.{h,cpp}`):
|
||||||
|
removes duplicated `itemGuid`/`itemLaneName` read logic from `view.cpp` and
|
||||||
|
`bank_panel.cpp`.
|
||||||
|
- [x] W3-A polish — added reconcile guard in `reconcileManagedLanes`: skips lanes
|
||||||
|
encoding an unregistered mode id (log and skip rather than silently recording an
|
||||||
|
orphaned ownership entry).
|
||||||
|
|
||||||
|
**Notes/decisions:**
|
||||||
|
- ctest 14/14 green; review passed with no Critical or Major findings.
|
||||||
|
- **Panel UI indicator explicitly deferred** (Daniel's decision): a per-track
|
||||||
|
lane-split marker has no natural cheap home in the bank panel; the mode switch
|
||||||
|
already shows the active mode. Preserved as a deferred/backlog note in PLAN.md
|
||||||
|
Phase D2 — not silently dropped.
|
||||||
|
|||||||
@@ -119,32 +119,14 @@ landed milestone.
|
|||||||
> point lands, doc-keeper moves it to `COMPLETED.md`.
|
> point lands, doc-keeper moves it to `COMPLETED.md`.
|
||||||
>
|
>
|
||||||
> **D2-W1 (pure lane extension), D2-W2 (shell: lane application + new-content
|
> **D2-W1 (pure lane extension), D2-W2 (shell: lane application + new-content
|
||||||
> detection), and D2-W3-A (lane minting + item→lane assignment + persist
|
> detection), D2-W3-A (lane minting + item→lane assignment + persist round-trip),
|
||||||
> round-trip) have landed** — see `COMPLETED.md`.
|
> and D2-W3-B (item-level mode actions + W3-A polish) have all landed** — see
|
||||||
|
> `COMPLETED.md`. **Phase D2 is functionally complete.**
|
||||||
## D2-W3-B — two-canvas actions + panel UI indicators
|
>
|
||||||
**Goal:** Any new lane/mode-management actions (bindable in the Actions list), and
|
> **Deferred:** panel UI indicator for per-track lane/mode state (a per-track
|
||||||
any panel UI indicator for lane/mode state. The persist slice and the
|
> lane-split marker). The mode switch already shows the active mode; no natural
|
||||||
lane-ownership index round-trip were completed in D2-W3-A; this wave closes the
|
> cheap home for a per-track indicator was found in the bank panel. Explicitly
|
||||||
remaining UI and action surface.
|
> deferred — not silently dropped. Can be picked up later if wanted.
|
||||||
See CONTEXT.md §Two-canvas sub-phase (Module architecture — persistence).
|
|
||||||
**Verify (in DAW):** Lane/mode-management actions are registered and bindable in
|
|
||||||
the Actions list; the panel UI indicator reflects the current lane/mode state.
|
|
||||||
**Depends on:** D2-W3-A.
|
|
||||||
|
|
||||||
- [ ] Any new lane/mode-management actions (`command_id`/`gaccel`/`hookcommand`);
|
|
||||||
bindable in the Actions list.
|
|
||||||
- [ ] Any panel UI indicator for lane/mode state.
|
|
||||||
|
|
||||||
**D2-W3-A code-review polish (fold into this wave):**
|
|
||||||
- [ ] Simplify the redundant per-mint `I_NUMFIXEDLANES` re-read in `view.cpp`
|
|
||||||
(`applyMintPlan`): a single grow-and-track pass removes the second
|
|
||||||
`GetMediaTrackInfo_Value` call inside the mint loop.
|
|
||||||
- [ ] Optional shared item-read helper to remove duplicated `itemGuid`/`itemLaneName`
|
|
||||||
read logic between `view.cpp` and `bank_panel.cpp`.
|
|
||||||
- [ ] Optional defensive note/check in `reconcileManagedLanes` for the edge case
|
|
||||||
where a managed lane name encodes an unregistered mode id (log and skip rather
|
|
||||||
than silently record an orphaned ownership entry).
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user