docs: correct Γ's payload rungs to v15/v16/v17 after Ξ took v14

States rung one as spent rather than derivable, so following the instruction
no longer contradicts the stated number — the trap that caused the collision.
This commit is contained in:
2026-08-01 22:27:07 -04:00
parent f8e57a3cbd
commit 38337229d4
+12 -9
View File
@@ -1062,10 +1062,10 @@ module under `core/instrument/engine/` (each with its own `<module>_tests` targe
`shell/instrument/reasampler_processor` (the chain, the published block state, **and the
`getLatencySamples` / `restartComponent(kLatencyChanged)` path**), and **the phase's FIRST
params-payload rung** (the limiter enable flag). **Does not own** MASTER's deck geometry or
any drawing — that is Γ-W3-T1. **Read `kParamsPayloadVersion` on `dev` and take the next rung
above it rather than assuming the number** — Phase Ξ ran ahead of this plan's sequencing, so
the plan is not the record of what the ladder currently carries. On `dev` as of 2026-08-01
that resolves to **v14**.
any drawing — that is Γ-W3-T1. **This track spends that rung: `kParamsPayloadVersion == 15`**
(`map/component_state_io.h:170`), confirmed on this branch as of 2026-08-01 — the full ladder
(spent / next-free / reserved) is stated in the phase summary's resequencing note near the end
of this phase's ASCII block.
**Behavior.**
- **Chain:** `voice mixer → master gain (existing ramped multiply) → limiter (bypassable) →
@@ -1432,8 +1432,8 @@ second taper defined inside `deck_values`' binding** — one home, appended to,
**The format ladder stays clean.** The loop enable maps onto the existing
`SampleLoop::hasLoop`, which is already persisted and whose `start`/`end` are already written
unconditionally — **no new field, no version bump** — so T1 keeps sole ownership of **the
phase's second payload rung** exactly as specced (v15 on `dev` as of 2026-08-01; read the
ladder rather than assuming the number).
phase's second payload rung** exactly as specced (v16 on this branch as of 2026-08-01, which
has already integrated Ξ; read the ladder rather than assuming the number).
#### Γ-W2-T1 — `pitch-rate-deck`
@@ -1445,7 +1445,8 @@ existing Varisp|Presrv toggle, with both new controls wired through the engine.
**Surface boundary — owns:** `core/instrument/engine/play_params.h` +
`core/instrument/map/play_seconds.h` (the two new fields),
`core/instrument/map/component_state_io` + `params_payload` (**the phase's SECOND payload
rung** — v15 on `dev` as of 2026-08-01; read the ladder, do not assume the number),
rung** — v16 on this branch as of 2026-08-01, which has already integrated Ξ; read the ladder,
do not assume the number),
`core/instrument/engine/voice.{h,cpp}` (the compounding and the note-on latch),
`core/instrument/ui/deck_groups` (the PITCH/RATE descriptor **and** the three-state live
predicate), `core/instrument/ui/deck_values` (the two new bindings). **Does not own** the
@@ -4319,8 +4320,10 @@ Phase Γ — The instrument's control surface (none of the seventeen; ends
Resequenced 2026-08-01, three times: the reflow split canvas (W1-T4) from arrangement
(W3-T1); preserve-time-stretch moved W4 -> W1-T5, retiring Rate's interim stand-in; then
Ruling 1 added W4 and Ruling 2 grew W1-T1.
Payload rungs are RELATIVE, not absolute — read kParamsPayloadVersion on dev and take the
next three above it. On dev at 2026-08-01 that is v14 / v15 / v16-reserved.
Payload rungs are RELATIVE, not absolute. On this branch at 2026-08-01, the first is already
spent — kParamsPayloadVersion == 15 (Γ-W1-T2, landed, above) — the second is the next free
rung, v16 (Γ-W2-T1, stated there), and the third remains RESERVED as v17, spent only if
Γ-W4-T1's storage verification forces it.
Shared files, named: engine/CMakeLists.txt (W1-T2 | W1-T5), ui/CMakeLists.txt
(W1-T1 | W1-T3), editor_session.cpp (W2-T1 | W2-T2) — all textual adjacency, not
semantic contention. W3-T2's disjointness from W3-T1 is CONDITIONAL: confirm it against