docs(design-view): correct reversed untagged-track invariant to "every leaf is managed"

Untagged = Arrange member, fully parked in non-Arrange modes like a tagged
leaf; show-both opts out. Master/parents/mute-solo caveats preserved.
This commit is contained in:
2026-07-23 05:13:54 -04:00
parent 9df24f7a77
commit c7005807a6
2 changed files with 14 additions and 8 deletions
+7 -4
View File
@@ -208,8 +208,8 @@ enforces the separation **without ever destroying the user's real state.**
`TrackFX_SetOffline(track, fx, true)` for **each** FX (reclaim CPU). Full CPU-park
is the deliberate choice over mix-removal-only.
- **Never touches `B_MUTE` / `I_SOLO`.** The tool owns only visibility,
`B_MAINSEND`, `I_FXEN`, and per-FX offline — and only on tracks it tagged. User
mute/solo survives every toggle untouched.
`B_MAINSEND`, `I_FXEN`, and per-FX offline — on every managed leaf, tagged or
untagged. User mute/solo survives every toggle untouched.
- **Persistence.** Membership index + last-active mode + per-track flag snapshots
ride in the existing `"reasampler"` project ext-state namespace and travel with
the `.rpp`. On project open, reapply the active mode's visibility + processing.
@@ -295,8 +295,11 @@ togglable per selection.
path in review.
- **Never touch mute/solo.** Any code path reading/writing `B_MUTE` / `I_SOLO` is a
bug.
- **Never touch untagged tracks.** The tool acts only on tracks it tagged (plus
derived parents' *visibility*); it never parks or restores a track it doesn't own.
- **Every leaf is managed.** The mode system owns all leaf tracks: an untagged leaf
is an Arrange member, and when the active mode is not Arrange it is fully parked
and snapshot-restored exactly like a tagged leaf out of its mode. **show-both** is
the only way to opt a leaf out of parking. (Parents stay visibility-only, master
is never touched — see below.)
- **Restore from snapshot, never to a default.** No hardcoded "on" restores.
- **Verify API names** against the SDK header before use.
+7 -4
View File
@@ -112,8 +112,10 @@ truth and changes underneath us).
## What a toggle actually does (the parking contract)
Toggling to mode M partitions tagged leaves into **active** (in M, or show-both)
and **inactive** (tagged into some other mode, not M). For each track:
Toggling to mode M partitions **every** leaf into **active** (belongs to M, or
show-both) and **inactive** (belongs to some other mode — tagged elsewhere, or
untagged/Arrange when M is not Arrange). Untagged leaves are Arrange members and
park identically to tagged ones; there is no unmanaged leaf. For each track:
**Active leaves** and **derived-visible parents** → restored to their snapshot
values (see restore contract) and shown.
@@ -138,8 +140,9 @@ of the CPU reclaim, not a bug. It must be documented at the toggle affordance so
the user isn't surprised.
**Never touched:** `B_MUTE` and `I_SOLO`. The tool owns visibility, `B_MAINSEND`,
`I_FXEN`, and FX-offline — nothing else — and only on tracks it has tagged. The
user's mute/solo survives every toggle, untouched. This is the exact analog of the
`I_FXEN`, and FX-offline — nothing else — across every managed leaf, tagged or
untagged. The user's mute/solo survives every toggle, untouched. This is the exact
analog of the
capture pillar's non-destructive invariant: **the tool never destroys the user's
real state to do its job.**