docs(phase-s): reconcile PLAN/COMPLETED/CLAUDE for S-VIEW Wave 1

Move S-VIEW-BUG-1 + S-VIEW-SIZE-1 to COMPLETED; annotate S-VIEW-3/4/6/7 as Wave 1 core landed / Wave 2 shell pending; record R10-F1 SETTLED (Option A, flat y=1) into S-VIEW-9.
This commit is contained in:
2026-07-27 13:49:45 -04:00
parent c40458fc53
commit 203005e6cf
3 changed files with 58 additions and 24 deletions
+36
View File
@@ -2235,3 +2235,39 @@ save/reopen rebinds by the correct UID; nothing plays differently (identity/pair
- [x] **DAW-verify contract (the acceptance gate, no unit test — identity is a shell fact).**
Both channels installed side-by-side: each browser sees only its channel's banks; a
project saved with a beta instance reopens rebinding to the beta VST and restores its state.
---
## S-VIEW-BUG-1 — drop-to-FX bug fix (Wave 1)
**Goal:** Dropping a capture onto a track's FX chain (TCP FX button or FX-chain window) must
instantiate + init ReaSampler 9000, not fall through to arrange-as-audio.
**Root cause (diagnosed and fixed in Wave 1):** the FX-hotspot classifier in the pure
`instrument_drop` module only matched FX-chain and floating-window hotspot strings (`fx_*`);
a drop on the TCP FX button (`tcp.fx`) or MCP FX button (`mcp.fx`) was not matched and fell
through to `OsDrag` (arrange-as-audio).
**Fix:** widened then narrowed the predicate in `instrument_drop` to match `fx_*` / `tcp.fx` /
`mcp.fx`; unit-tested in `instrument_drop_tests` at the boundary. The shell (`instrument_drop_win`)
calls the updated pure predicate unchanged.
**Verify (in DAW):** DAW-confirmation pending Daniel's post-merge smoke test — drop → a playing
instance on the track, one Ctrl-Z removes it.
- [x] Pure `instrument_drop` predicate widened: `infoNamesFxHotspot` now matches `fx_*` / `tcp.fx` /
`mcp.fx`; unit-tested at each matched and unmatched hotspot string.
- [x] Shell unchanged — calls the updated pure predicate.
---
## S-VIEW-SIZE-1 — 1080p default window size (Wave 1, interim)
**Goal:** The editor opens too small (`ViewRect(0,0,560,400)`); set a larger default sized for
the three-band Sample face on 1080p.
**What landed (interim):** default `ViewRect` bumped to **840×560** and a `checkSizeConstraint`
minimum floor added. The mechanism (`getSize`/`setRect`/`checkSizeConstraint`/`onSize`/`canResize`
in `vendor/vst3sdk/public.sdk/source/common/pluginview.h`) was verified correct at this point.
**NOTE:** Wave 2 (T-SHELL) will re-tune the final numbers to the three concrete Sample-face band
heights once the Sample view layout is built; 840×560 is the correct starting point, not the
final tuned value.
**Verify (in DAW):** opens at 840×560 showing more of the editor surface than before; cannot
shrink below the floor. Final tuning deferred to T-SHELL.
- [x] Default `ViewRect` bumped to 840×560.
- [x] `checkSizeConstraint` minimum floor enforced.