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:
+7
-4
@@ -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.
|
||||
|
||||
|
||||
@@ -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.**
|
||||
|
||||
|
||||
Reference in New Issue
Block a user