docs: close out Phase L L3 — archive to COMPLETED, mark landed in design-language doc
L3 (VST editor + embed-strip restyle) is on dev. Append its COMPLETED entry and flip visual-design-language.md §5.3/5.4 from GATED to landed / Phase L complete. PLAN.md + CONTEXT.md L3 edits already landed via the S-VIEW commit.
This commit is contained in:
@@ -582,86 +582,59 @@ draw it.
|
||||
**Sequence L2 AFTER M11 merges to dev** — L2 must inventory M11's *actual* landed buttons,
|
||||
not a forecast of them. If L2 starts before M11 lands, it designs against a moving target.
|
||||
|
||||
### 5.3 `L3` — VST editor + embed-strip restyle (GATED on Phase S landing on dev)
|
||||
### 5.3 `L3` — VST editor + embed-strip restyle [LANDED]
|
||||
|
||||
The ReaSampler 9000 VST editor (`IPlugView` LICE surface, `reasampler_editor.cpp`) and the
|
||||
S6 embed strip (`reasampler_embed.cpp`) get the full kit treatment: kit cached-font text
|
||||
(§3.1 — the kit's current face, no bundled font), kit component draws, the **B palette with
|
||||
the three-accent pastel system** (primary lime / secondary teal / tertiary purple), the
|
||||
**pastel spectral keyboard strip** as the signature surface, hover/pressed/drag states
|
||||
everywhere. The editor's landed component set (verified on the phase-s worktree) is broader
|
||||
than an early "editor + keyboard strip" sketch: a **capture-first browser** (search box +
|
||||
tabs + sample thumbnails, S10), **channel mono/stereo toggles** (S7), a **waveform pane with
|
||||
start + loop markers** (S11), the **keyboard strip + zone bars** (S10/S10-Z), and **ADSR +
|
||||
pitch sliders + Trigger/Gate & Varispeed/Preserve mode toggles** (S12/S15/S16) — every one of
|
||||
these is on the restyle surface.
|
||||
**L3 has landed (merged `c53683e`, 2026-07-27). Phase L is now complete (L1–L7 all
|
||||
landed).** The ReaSampler 9000 VST editor (`IPlugView` LICE surface,
|
||||
`reasampler_editor.cpp`) and the S6 embed strip (`reasampler_embed.cpp`) received the full
|
||||
kit treatment: kit cached-font text (§3.1 — the kit's current face, no bundled font), kit
|
||||
component draws, the **B palette with the three-accent pastel system** (primary lime /
|
||||
secondary teal / tertiary purple), the **pastel spectral keyboard strip + zone bars** (active
|
||||
zone lifts to `accent/primary` + a static glow) as the signature surface, hover/pressed/drag
|
||||
states throughout. The full editor component set was restyled: the **capture-first browser**
|
||||
(search box + tabs + sample thumbnails, S10), **channel mono/stereo toggles** (S7), **waveform
|
||||
pane with start + loop markers** (S11), **keyboard strip + zone bars** (S10/S10-Z), and
|
||||
**ADSR + pitch sliders + Trigger/Gate & Varispeed/Preserve mode toggles** (S12/S15/S16).
|
||||
|
||||
**L3 is explicitly GATED: these surfaces do not exist on dev yet.** The VST editor, the
|
||||
embed strip, and the keyboard strip live in Phase S, which has landed on the phase-s
|
||||
worktree but **not on dev**. L3 cannot be built on dev until the two Phase S drawing shells
|
||||
(`src/vst/reasampler_editor.cpp` + `reasampler_embed.cpp`) land on dev. **The Phase L team
|
||||
must not chase these files on dev** — the gate is stated so they don't. Until Phase S merges
|
||||
to dev, L3 is a planned, blocked point; L1 and L2 are the live Phase L work.
|
||||
**What was confirmed at build:**
|
||||
|
||||
**Landed-reality check (product-designer, 2026-07-27 — read-only against the phase-s
|
||||
worktree).** Verified against the actual landed Phase S surfaces so L3's scope is grounded,
|
||||
not forecast:
|
||||
|
||||
- **All Phase S UI draw is in exactly two shells** — `reasampler_editor.cpp` (the
|
||||
- **All Phase S UI draw was in exactly two shells** — `reasampler_editor.cpp` (the
|
||||
`IPlugView` editor) and `reasampler_embed.cpp` (the S6 embed strip). Every other
|
||||
`src/vst/` UI file (`editor_geometry`, `keyboard_strip`, `waveform_view`,
|
||||
`capture_browser`, `param_slider`, `browser_scroll`, `embed_strip`) is a **pure
|
||||
geometry/hit-test module with zero LICE and zero draw** — the house pure/shell discipline
|
||||
held on the branch. L3 is therefore a **shell-side restyle of two files**; no geometry
|
||||
rework, and the pure hit-test coverage is already there to lean on.
|
||||
- **Both shells still draw at the floor.** They fill flat `LICE_FillRect` rectangles and
|
||||
pipe text through raw GDI `DrawTextA` — the exact "temple os" path §0/§1.1 describe. They
|
||||
do **not** include `theme.h` / `draw_kit.h`, do **not** call any kit `draw*`/`text()`, and
|
||||
use **no** `LICE_CachedFont`. So the coordination contract's "born in the kit" branch did
|
||||
**not** happen for the VST surfaces — L3 lands as a **full restyle**, and all three build
|
||||
points below are confirmed live (none is a no-op).
|
||||
- **There is a second palette to reconcile.** The editor shell carries its own local
|
||||
constants block — `kColBackground = RGB(28,28,30)`, accent `kColThumb/kColWaveform =
|
||||
RGB(120,200,160)`, `kColTitleBg = RGB(20,20,22)`, etc. — the **pre-L1 forest-green-on-near-
|
||||
black palette** this doc's §2 set out to replace, mirrored (partially) in the embed shell.
|
||||
That is a live divergence from the landed `theme` roles. Collapsing these two palettes into
|
||||
the one `theme` kit is the concrete "one kit, one look" reconcile L3 performs (§5.3 build
|
||||
point 2, PLAN.md §L3).
|
||||
- **The Phase S branch carries an *older* L1 kit.** The kit modules (`theme`, `draw_kit`,
|
||||
`component_geometry`) are present on the branch, but its `theme` predates dev's L4–L7
|
||||
palette revisions (the branch has only L1+L2). After Phase S merges to dev, L3 draws
|
||||
against **dev's** current `theme`/`draw_kit`, so the restyle consumes dev's pastel-on-grey
|
||||
roles, not the branch's stale copy — a merge-hygiene note, not a scope change.
|
||||
held. L3 was therefore a **shell-side restyle of two files**; no geometry rework required.
|
||||
- **Full restyle, not a born-in-kit no-op.** The Phase S surfaces arrived on dev drawing flat
|
||||
`LICE_FillRect` blocks + raw GDI `DrawTextA`, off a local pre-L1 forest-green palette
|
||||
(`kColBackground` etc.) — the coordination contract's "born in the kit" branch did not
|
||||
occur. L3 performed the full restyle.
|
||||
- **Two palettes collapsed to one.** The editor shell's local `kColBackground`/`kColCardBg`/
|
||||
`kColThumb`/… forest-green-on-near-black constants block (the **pre-L1 palette** this
|
||||
doc's §2 set out to replace) was retired; all surfaces now draw through the L1 `theme`
|
||||
roles. One kit, one look.
|
||||
- **Beta title band — textual-only distinction (Daniel, 2026-07-27).** The S18 beta channel
|
||||
title band gets no distinct visual accent; L3 restyles it in the standard B pastel palette
|
||||
and the beta-vs-stable distinction stays purely textual (the channel-derived plugin name
|
||||
via `app_version`, as before). No channel-specific accent color.
|
||||
- **VST3 class UID unchanged.** A visual refresh is not a compat event; RT/`process` path
|
||||
untouched; pure geometry modules remained pure throughout.
|
||||
|
||||
**Settled: the beta channel title band gets no distinct visual accent (Daniel,
|
||||
2026-07-27).** L3 restyles the title band in the standard B pastel palette, the same as the
|
||||
stable channel. The beta-vs-stable distinction stays **purely textual** — the channel-derived
|
||||
plugin name (as today, via `app_version`) is the only signal; there is **no** channel-specific
|
||||
accent color. Reasoning: one look across channels keeps the kit palette single-sourced and
|
||||
avoids a per-channel branch in the restyle; the textual name already disambiguates. This
|
||||
closes the one open fork the L3 readiness review surfaced (see PLAN.md §Phase L, L3
|
||||
must-verify).
|
||||
|
||||
**Coordination contract (stated once, load-bearing).** Phase S's editor/embed UX build
|
||||
their interaction UX with the *current* drawing and **adopt the L1 kit when it is available —
|
||||
they are not gated on Phase L.** Whichever lands first (L1 kit or the Phase S UX), the kit is
|
||||
the **one source of drawing**; when both exist, the Phase S surfaces draw through it, and
|
||||
L3 is the point that completes that adoption + applies the settled B+spectral look. **In the
|
||||
event that actually occurred, the Phase S surfaces reached the worktree with the current
|
||||
(flat, local-palette) drawing and did not adopt the kit — so L3 restyles them.** Either way
|
||||
there is one kit, one look.
|
||||
**Coordination contract (resolved).** Phase S's S10–S13 built their interaction UX with the
|
||||
current drawing and adopted the L1 kit via L3 (the "L3 restyles them" branch). There is now
|
||||
one kit and one look across both artifacts.
|
||||
|
||||
### 5.4 Sequencing summary
|
||||
|
||||
```
|
||||
L1 (shared kit) ──► L2 (dock-panel layout redesign, extension-side; AFTER M11 merges)
|
||||
└─────────► L3 (VST editor + embed-strip restyle; GATED on Phase S landing on dev)
|
||||
L1 (shared kit) ──► L2 (dock-panel layout redesign, extension-side) [LANDED]
|
||||
└─────────► L3 (VST editor + embed-strip restyle) [LANDED]
|
||||
|
||||
Phase S (separate team, ungated): S7…S13 build with current drawing, adopt L1 kit when it lands.
|
||||
Phase L is complete — L1, L2, L3, L4, L5, L6, and L7 have all landed.
|
||||
```
|
||||
|
||||
L1 is the foundation both L2 and L3 consume. L2 is extension-side and lands after M11. L3
|
||||
is gated on Phase S reaching dev. Phase S feature work proceeds in parallel, ungated.
|
||||
L1 was the foundation both L2 and L3 consumed. L2 was extension-side and landed after M11.
|
||||
L3 was gated on Phase S reaching dev — Phase S merged 2026-07-27 and L3 followed
|
||||
immediately. **Phase L is complete.**
|
||||
|
||||
---
|
||||
|
||||
@@ -762,5 +735,5 @@ re-skin).**
|
||||
font-fallback concern. The kit keeps its current cached-font face (no bundled font — DS-2
|
||||
declined the font upgrade), so §3.1 introduces no new redistribution or cross-platform
|
||||
font obligation.
|
||||
- **Phase S is not gated on Phase L** — S7–S13 proceed in parallel; they adopt the kit
|
||||
when it lands. Phase L (L1/L2) is the live work on dev; L3 waits for Phase S to reach dev.
|
||||
- **Phase S is not gated on Phase L** — S7–S13 proceeded in parallel; they adopted the
|
||||
kit via L3 when it landed. Phase L is complete (L1–L7 all landed).
|
||||
|
||||
Reference in New Issue
Block a user