docs(s-view): spec the r11 Sample-face recomposition (knob deck, curve popup, full-width hero) for Wave B
Adds S-VIEW-11/12/13 to PLAN, r11 addendum, and forks R11-F1 (window default height) + R11-F2 (Zone-panel knob parity) for Daniel.
This commit is contained in:
@@ -210,6 +210,47 @@ piano-key pattern work; drop-a-capture-onto-FX instantiates a playing instance.
|
||||
- [x] **S-VIEW-1 through S-VIEW-10** — all landed (Wave 1 core + Wave 2 shell + Wave 3 velocity-curve editor UI). See `COMPLETED.md`
|
||||
§S-VIEW for the full entry set.
|
||||
|
||||
### Phase S editor Wave B — Sample-face recomposition (r11; Daniel, 2026-07-27)
|
||||
|
||||
> Daniel's post-landing DAW pass on the S-VIEW editor: **all linear sliders → small radial
|
||||
> knobs** grouped into a fenced knob deck (envelope controls grouped as a unit); the **mode
|
||||
> toggles compact**, not full-width; the **inline velocity-curve box → a miniature curve
|
||||
> preview button + full-size popup editor** (right-click deletes a node in the popup); the
|
||||
> **hero waveform full-width**. A pure view recomposition — zero engine/state/persistence
|
||||
> change, VST3 class UID unchanged. Authoritative layout spec: **CONTEXT.md §S-VIEW → "The
|
||||
> Sample-face recomposition (r11)"** (band order, group taxonomy, cell metrics, popup
|
||||
> geometry, inventory contract — nothing silently dropped). Product framing:
|
||||
> `docs/product/midi-playback.md` §Addendum r11. **GATED on the knob-primitive track**
|
||||
> (separate, in flight) — S-VIEW-11/12 consume the primitive, they do not build it.
|
||||
> All drawing through the L1 kit; all layout/hit-test in pure geometry modules.
|
||||
|
||||
- [ ] **S-VIEW-11 — the knob deck.** Pure **`knob_deck`** (group boxes + caption rows +
|
||||
compact-toggle rects + knob-cell rects + deterministic group wrap + hit-test; mirror of
|
||||
`action_bar`/`param_slider`; unit-tested) + shell: the Sample control strip becomes three
|
||||
fenced groups — **AMP ENVELOPE** (Gate|Trigger caption toggle; Attack·Hold·Decay·Sustain·
|
||||
Release or Fade In·Length %·Fade Out knobs, 5-cell width reserved so mode flips never
|
||||
reflow), **PITCH** (Varisp|Preserve caption toggle; Key Track knob), **PITCH ENV** (Off|On
|
||||
caption toggle; P.Attack·P.Decay·P.Depth knobs, Disabled-not-hidden when Off). Slider rows
|
||||
+ full-width toggles retire from the Sample face; the hero becomes the elastic band
|
||||
(bottom-anchored fixed deck). Preview-velocity slider becomes a cluster knob cell (same
|
||||
persisted seam).
|
||||
- [ ] **S-VIEW-12 — curve popup + full-width hero.** Pure **`curve_popup`** (sheet/close/box
|
||||
geometry + outside-sheet dismissal test; mirror of `overflow_menu`; unit-tested) + shell:
|
||||
the inline velocity-curve box leaves the hero band (**hero runs full width**, S11 markers +
|
||||
envelope overlay unchanged); a **28×28 miniature curve preview button** lands immediately
|
||||
right of the preview-velocity knob (live miniature trace; Active while its popup is open);
|
||||
click opens the **centered popup** hosting the full-size curve editor — all landed
|
||||
interactions preserved (drag, click-add, Alt-click delete, drag-off delete) **plus NEW
|
||||
right-click node delete** (endpoint-guarded, commits like Alt-click). Dismiss: Close ×,
|
||||
outside-click (no drag in flight), Esc.
|
||||
- [ ] **S-VIEW-13 — Zone-panel parity (gated on fork R11-F2).** The Zone param panel adopts
|
||||
the same knob deck + curve-preview-button/popup; retires `param_slider`'s slider rows
|
||||
outright (one control grammar on both surfaces of the one storage site).
|
||||
|
||||
**Open forks (Daniel's to call before Wave B builds)** — recorded in the CONTEXT.md §S-VIEW
|
||||
fork ledger: **R11-F1** hero height vs. default window (lean: elastic hero, keep 840×620);
|
||||
**R11-F2** Zone-panel parity (lean: yes — one grammar).
|
||||
|
||||
### Phase S editor prerequisites — routed to staff-engineer (bug + default; NOT design forks)
|
||||
|
||||
> Framed in CONTEXT.md §S-VIEW; both are functional prerequisites with the SDK swept and no
|
||||
@@ -217,11 +258,12 @@ piano-key pattern work; drop-a-capture-onto-FX instantiates a playing instance.
|
||||
> **S-VIEW-BUG-1 and S-VIEW-SIZE-1 have both landed (Wave 1) — see `COMPLETED.md`.**
|
||||
|
||||
### Phase S editor redesign — forks (Daniel's to call)
|
||||
*(All forks settled: S-VIEW-F1 and S-VIEW-F2 SETTLED 2026-07-27 — folded into S-VIEW-4 / S-VIEW-3.
|
||||
F1: preview velocity persists via envelope-v6 `ComponentState`. F2: envelope nodes are draggable
|
||||
via the pure `envelope_edit` module. R10-F1 SETTLED 2026-07-27 — Option A flat y=1, folded into
|
||||
S-VIEW-9. S-VIEW-F3 SETTLED — full-window overlay, implemented as Browse renders as a full-window
|
||||
modal over Sample (landed in S-VIEW-1/S-VIEW-5). No open forks remain.)*
|
||||
*(r9/r10 forks all settled: S-VIEW-F1 and S-VIEW-F2 SETTLED 2026-07-27 — folded into S-VIEW-4 /
|
||||
S-VIEW-3. F1: preview velocity persists via envelope-v6 `ComponentState`. F2: envelope nodes are
|
||||
draggable via the pure `envelope_edit` module. R10-F1 SETTLED 2026-07-27 — Option A flat y=1,
|
||||
folded into S-VIEW-9. S-VIEW-F3 SETTLED — full-window overlay, implemented as Browse renders as a
|
||||
full-window modal over Sample (landed in S-VIEW-1/S-VIEW-5). **r11 opens two new forks — R11-F1
|
||||
(hero height vs. default window) and R11-F2 (Zone-panel parity) — see the Wave B block above.**)*
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user