Widen the deck row block to 1028 so the filter tie-line is exact, and accumulate the meter's block peaks instead of sampling one in 47
This commit is contained in:
+26
-17
@@ -625,7 +625,7 @@ folded into the tracks below:
|
||||
table freezes. The editor's visual rows after the reflow were the rejected alternative.
|
||||
**The reason, because a future reader will ask why the id order does not match the screen:**
|
||||
the editor's layout has already moved twice (Θ-W6-T1 grew the floor 840 → 980; Γ-W3-T1 takes
|
||||
it to 1190 and re-rows every group) and within-row order is settled by width fitting, not by
|
||||
it to 1198 and re-rows every group) and within-row order is settled by width fitting, not by
|
||||
meaning — so **binding a permanently-frozen id order to a demonstrably mobile layout
|
||||
guarantees the two drift apart**, after which the order is neither logical nor matching.
|
||||
Signal flow is the axis that does not move. Full argument and the accepted residual cost:
|
||||
@@ -693,7 +693,7 @@ see "The wave shape after Ruling 1" below.
|
||||
|
||||
1. **The reflow is split, canvas from arrangement.** The window floor and the width budget it
|
||||
is derived from land **early** (Γ-W1-T4), so every other UI track in the phase is drawn,
|
||||
tested and judged at the final 1190 × 680 window instead of at a size a later wave changes
|
||||
tested and judged at the final 1198 × 680 window instead of at a size a later wave changes
|
||||
under it. The two-row *arrangement* stays late (Γ-W3-T1), because it can only be measured
|
||||
once the final PITCH/RATE and MASTER descriptors exist. The seam is stated at Γ-W1-T4.
|
||||
2. **`preserve-time-stretch` moved W4 → W1-T5.** It is the longest pole in the phase and has
|
||||
@@ -825,10 +825,13 @@ exact interim layout; do not "fix" it in a track that does not own it.
|
||||
- **The exposed parameter set is DERIVED, never hand-maintained.** A control is a parameter
|
||||
if and only if its commit class is `Live` or `NoteOnLatched`. There is no second table
|
||||
beside `deckParamCommit` / `liveCommitFor`, and no list that can drift from it.
|
||||
- **The window floor is 1190 × 680 and must not exceed 1280 × 720.** **Γ-W1-T4 sets it, in
|
||||
wave 1; no other track in the phase may move it**, and from that point every track is
|
||||
- **The window floor is 1198 × 680 and must not exceed 1280 × 720.** **Γ-W1-T4 set it at
|
||||
1190, in wave 1; no other track in the phase may move it** — with ONE ruled exception,
|
||||
Daniel 2026-08-02: Γ-W3-T1 widened the row block 1020 → 1028 and the floor 1190 → 1198, so
|
||||
the justification law puts both rows' filter edges on one pixel (spec §1.3). That is the
|
||||
only reopening, and only these two constants moved. From that point every track is
|
||||
authored and judged at it. A track that pushes the floor past 1280 has failed, not overrun.
|
||||
**`kEditorMinHeight` stays 680** (Γ-F1). The remaining **90 px of width headroom is the
|
||||
**`kEditorMinHeight` stays 680** (Γ-F1). The remaining **82 px of width headroom is the
|
||||
budget for the life of this layout** — one deck cell is 60 px, so there is room for exactly
|
||||
one more, once. Spec §1.6 states the ledger; read it before adding any control. Chrome-row
|
||||
additions are a **separate purse** (they are paid for out of the title slot, not the floor)
|
||||
@@ -900,7 +903,9 @@ into `sample_bands.h`) — leaving 90 px of headroom. Row membership becomes a p
|
||||
group id via an exhaustive `deckRowFor(DeckGroupId)` switch (Sound / Contour / Spanning),
|
||||
consumed by no one yet — **that consumption, and the fit inside the 1020 block, is
|
||||
Γ-W3-T1's** to assert. No drawing code, descriptor, parameter, or audio changed in this
|
||||
track.
|
||||
track. **Superseded in part:** Γ-W3-T1 asserted the fit and found 1020 could not deliver the
|
||||
tie-line it was chosen for, so the block is now 1028 and the floor 1198 — see that track's
|
||||
block below.
|
||||
|
||||
#### Γ-W1-T5 — `preserve-time-stretch`
|
||||
|
||||
@@ -1063,14 +1068,18 @@ waveform band.
|
||||
divided equally among the row's (n−1) gutters, integer residue to the leftmost;
|
||||
**no gutter narrower than `kDeckGroupGap` (12)**. **Decks are never stretched.** MASTER is
|
||||
not part of either row's justification.
|
||||
- **Row block = 1020 px at the floor**, giving row 1 gutters 12/14/14 and row 2 gutters 72/72,
|
||||
at which width **FILTER's right edge and FILTER ENV's right edge both land on x = 636**.
|
||||
That tie-line, row 2's equal gutters, and row 1's minimum gutter being exactly
|
||||
`kDeckGroupGap` all hold at 1020 and only at 1020 — **this is why the floor is 1190 and not
|
||||
1186.** Above the floor the tie-line drifts and that is accepted (spec §1.3).
|
||||
- **The floor is already 1190 × 680 and the bands are already 216 / 358** — Γ-W1-T4 landed all
|
||||
- **Row block = 1028 px at the floor** (widened from the originally specified 1020 — Daniel,
|
||||
2026-08-02), giving row 1 gutters 16/16/16 and row 2 gutters 76/76, at which width
|
||||
**FILTER's right edge and FILTER ENV's right edge both land on x = 640**. The tie-line and
|
||||
both rows' equal gutters hold at 1028 because each row's slack divides by its gutter count
|
||||
with no residue. **This is why the floor is 1198 and not 1190.** The originally specified
|
||||
1020 delivered NEITHER the tie-line (638 vs 636) nor the claimed exactly-`kDeckGroupGap`
|
||||
smallest gutter (13); the three properties were never simultaneously satisfiable, and 12 is
|
||||
a floor rather than a target — spec §1.3 records all three deviations. Above the floor the
|
||||
tie-line drifts and that is accepted (spec §1.3).
|
||||
- **The bands are already 216 / 358 and the floor was already 1190 × 680** — Γ-W1-T4 landed all
|
||||
four in wave 1, and the greedy wrap happened to reach two rows at that width. **This track
|
||||
changes none of those numbers; it makes them true by construction instead of by coincidence.**
|
||||
changes only the row block and the floor (see above); the rest it makes true by construction rather than by coincidence.**
|
||||
Row 1's natural width fits the block **only after this track's `Band|Notch` move**: 1030
|
||||
today, +42 from W2-T1's PITCH/RATE, −92 here, = **980**. That is this track's fit assertion
|
||||
and W1-T4 deliberately left it open.
|
||||
@@ -1109,10 +1118,10 @@ waveform band.
|
||||
natural width is mode-stable at 876 because the reserve slots hold FILTER ENV and AMP at
|
||||
312 in both modes — assert it).
|
||||
- Row 1 and row 2 are **flush left and flush right**; at the floor width the filter tie-line
|
||||
is exact (both edges at x = 636) and row 2's two gutters are equal.
|
||||
- **Row 1's natural width is 980 and fits the 1020 block** — the fit Γ-W1-T4 could not yet
|
||||
is exact (both edges at x = 640) and BOTH rows' gutters are equal.
|
||||
- **Row 1's natural width is 980 and fits the 1028 block** — the fit Γ-W1-T4 could not yet
|
||||
assert, closed here by the `Band|Notch` move.
|
||||
- **`kEditorMinWidth` is still 1190 and the floor is still ≤ 1280 × 720** — unchanged by this
|
||||
- **`kEditorMinWidth` is 1198 and the floor is still ≤ 1280 × 720** — moved 1190 → 1198 by this
|
||||
track, verified against Γ-W1-T4's derived test rather than a second copy of it.
|
||||
- The waveform band is **358 px at the floor**, and the deck band is 216 — **unchanged from the
|
||||
interim, now reached by construction**: `deckRowCount` at and above the floor is 2 because the
|
||||
@@ -3633,7 +3642,7 @@ Phase Γ — The instrument's control surface (none of the seventeen; ends
|
||||
+ 10 s ceiling + AHDSR schematic axis [Ruling 2]
|
||||
T2 master-bus-audio ........... limiter + meter ballistics + dynamic PDC [rung 1]
|
||||
T3 contour-trace-curves ....... staged traces draw curved, knot on its trace
|
||||
T4 editor-floor-and-row-law ... floor 1190x680 + budget constants + row predicate
|
||||
T4 editor-floor-and-row-law ... floor 1190x680 (W3-T1: 1198) + budget constants + row predicate
|
||||
T5 preserve-time-stretch ...... real stretcher [measure-and-report gate]
|
||||
T6 exhaustive-switch gate on pure libraries ... /we4062, -Werror=switch on
|
||||
pure libraries [no PLAN entry — see COMPLETED.md]
|
||||
|
||||
Reference in New Issue
Block a user