docs(plan): record Phase D2 two-canvas waves; archive landed D2-W1

Add a Phase D2 (two-canvas) section to PLAN.md with the open D2-W2
(shell) and D2-W3 (actions, persist, UI) waves in house style. Archive
the landed D2-W1 pure view_mode_model lane extension in COMPLETED.md.
This commit is contained in:
2026-07-23 17:14:01 -04:00
parent 7989d187a3
commit af5f7ee912
2 changed files with 84 additions and 0 deletions
+23
View File
@@ -261,6 +261,29 @@ membership count visible, offlined-FX caveat surfaced as a tooltip.
---
## D2-W1 — view_mode_model lane extension (pure)
**Goal:** Extend D1's pure planner to item level for the two-canvas sub-phase:
lane↔mode mapping, a managed-vs-manual lane-ownership index, managed-only item-lane
ops in the toggle planner, the "which lanes may this toggle touch" query, the
auto-tag decision (manual-lane items exempt; pre-existing ⇒ Arrange), and JSON
round-trip of the lane index. REAPER-free, unit-tested; mirror of D1. CONTEXT.md
§Two-canvas sub-phase (Module architecture — pure).
**Verify:** CTest green; D1 behavior and tests unchanged.
- [x] Lane↔mode mapping: which lane maps to which mode, which `C_LANEPLAYS` value
per mode.
- [x] Lane-ownership index: per (track GUID, lane) managed-which-mode vs manual;
managed-only item-lane op family alongside the existing track-flag op family.
- [x] "Which lanes may this toggle touch" query (managed only) — planner emits lane
ops for managed lanes only, never for manual lanes.
- [x] Auto-tag decision (pure): new track/item GUIDs + active mode ⇒ membership
writes; manual-lane items exempt; pre-existing ⇒ Arrange.
- [x] JSON round-trip of the lane-ownership index.
- [x] Tests: managed/manual partition; toggle-touches-managed-only; auto-tag
exemption for manual-lane items; JSON lossless; D1 behavior/tests unchanged.
---
## Milestone 7 — capture action family
**Goal:** Bindable capture actions for master / selected tracks / selected items /
razor area, each with wet-dry + tail options. CONTEXT.md §actions, Build order 7.