docs: archive Phase L L1 to COMPLETED; reconcile CLAUDE.md + PLAN.md
This commit is contained in:
@@ -284,6 +284,10 @@ build:** the `IReaperUIEmbedInterface` contract + embed message/lifecycle agains
|
||||
> directions: `docs/product/visual-design-language.md`. When a point lands, doc-keeper
|
||||
> moves it to `COMPLETED.md`.
|
||||
>
|
||||
> **L1 (shared LICE drawing kit — the foundation) has landed** — `theme`/palette module,
|
||||
> `component_geometry` geometry/hit-test helpers, `draw_kit` shell, and GDI `DrawText`
|
||||
> retirement in `bank_panel`. See `COMPLETED.md`. **L2 and L3 remain.**
|
||||
>
|
||||
> **This section is self-contained for a team without Phase S context.** Where a point
|
||||
> touches a Phase S surface (the VST editor, the embed strip, the keyboard strip), the
|
||||
> gate is stated explicitly so the team does not chase files that are not on dev yet.
|
||||
@@ -304,48 +308,6 @@ build:** the `IReaperUIEmbedInterface` contract + embed message/lifecycle agains
|
||||
> out the full button inventory (including M11's action-button additions) intuitively,
|
||||
> uncluttered, and useful — then applies the kit. Sequenced after M11 merges.
|
||||
|
||||
## L1 — shared LICE drawing kit (the foundation)
|
||||
**Goal:** One shared **LICE-based design kit** — a role-based palette + a type scale + a
|
||||
component-draw layer — that every surface (the bank panel now, the VST editor + embed
|
||||
strip later) draws through, replacing flat `LICE_FillRect` blocks and raw-GDI `DrawTextA`
|
||||
with a modern dark look: gradient surfaces (`LICE_GradRect`), anti-aliased rounded controls
|
||||
(`LICE_RoundRect`/`LICE_Line`), cached anti-aliased text (`LICE_CachedFont`), and a full
|
||||
interaction-state model (rest/hover/active/pressed/dragging/focus/disabled) the current
|
||||
drawing lacks entirely. The B+spectral palette constants (DS-2) live in one constants block.
|
||||
No new dependency — LICE is the toolkit; WDL/vwnd reuse is assessed at build time per DS-1
|
||||
("don't reinvent the wheel"). CONTEXT.md §Phase L (design-system spec). Product framing +
|
||||
palette + directions + forks: `docs/product/visual-design-language.md`. **Verify LICE
|
||||
gradient/AA/font surfaces and the `LICE_CachedFont`↔`HFONT` lifecycle against
|
||||
`vendor/WDL/WDL/lice/lice.h` + `lice_text.h` before use.**
|
||||
**Verify:** CTest green on the pure layer (the theme/palette contrast-floor tests + the
|
||||
component geometry/hit-test helpers); in-DAW, the kit renders a modern dark button/row/
|
||||
surface with AA cached-font text and working hover/pressed states, drawn double-buffered
|
||||
with no flicker.
|
||||
**Depends on:** the existing `bank_panel` LICE surface (the first consumer). Nothing in
|
||||
Phase S — L1 stands alone on the extension side.
|
||||
|
||||
- [ ] Pure `theme`/palette layer: role→color mapping (`bg/base`, `bg/panel`, `bg/cell`,
|
||||
`text/primary`, `text/dim`, `accent`, `accent/hot`, `warn`) selected via **one direction
|
||||
constants block** carrying the settled **B (Neon Console) + C spectral** values (DS-2),
|
||||
so the direction is a single-file change. Unit-test that each text-on-surface pair clears
|
||||
its WCAG floor (AA 4.5:1 body / 3:1 large + state indicators) — the "punch to the floor,
|
||||
not past it" rule made testable. No LICE/host types.
|
||||
- [ ] Pure component **geometry/hit-test** helpers where not already owned: button rect,
|
||||
slider track/handle geometry, list-row rect + hover hit-test (mirror of
|
||||
`mode_switch`/`bank_grid`/`editor_geometry` — no LICE, no host types, CTest-covered).
|
||||
- [ ] Shell **draw kit** (LICE): `fillSurface` (micro-gradient + 1px inner highlight/shadow
|
||||
— the vwnd trick that kills the flat look), `drawButton`/`drawSlider`/`drawListRow`/
|
||||
`drawWaveform`/segmented-switch/tab draw, and a shared `text()` over a cached
|
||||
`LICE_CachedFont` set (title/label/value-mono/micro). Owns the cached-font lifecycle.
|
||||
Honors the interaction state model (rest/hover/active/pressed/dragging/focus/disabled).
|
||||
Double-buffered draw preserved (draw to `LICE_SysBitmap`, single `BitBlt`) — the
|
||||
"zero-jank" half of "speed is the selling point." **DS-1: assess WDL/vwnd reuse here at
|
||||
build time** — reuse a vwnd piece (e.g. its scroll listbox) where genuinely cheaper than
|
||||
LICE, else draw on LICE; keep hit-test geometry in the pure layer either way.
|
||||
- [ ] Retire the raw GDI `DrawText` path in `bank_panel` in favor of the kit's cached-font
|
||||
`text()` — the single biggest "temple os → modern" lever. (The VST-editor/embed-strip GDI
|
||||
retirement is L3, gated on Phase S — see below.)
|
||||
|
||||
## L2 — dock-panel layout redesign (extension-side; DS-3: thorough, not a re-skin)
|
||||
**Goal:** Redesign the docked `bank_panel` **layout** to house the *full* button/affordance
|
||||
inventory — including the buttons **M11 adds** — intuitively, uncluttered, and useful, then
|
||||
|
||||
Reference in New Issue
Block a user