diff --git a/CLAUDE.md b/CLAUDE.md index d94831b..041b645 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -86,7 +86,7 @@ There is no hot-reload. Copy the built binary into REAPER's `UserPlugins/` folde - `batch_capture` — M11 pure batch-capture planner: maps a list of source ranges to ordinal capture units, drives per-unit capture via a shared `captureAndIndexOne` helper, and aggregates mixed results. No REAPER types at the boundary. - `action_buttons` — M11 pure action-button strip layout/hit-test: divides a strip rect into N action buttons, min-width overflow-hiding, label formatting with "(unbound)" fallback, `ActionButtonRect` struct. Mirror of `mode_switch` / `bank_grid`. - `drag_out` — M11 pure OS drag-out module: gesture-boundary decision (internal drag becomes OS-bound when the pointer leaves the panel client rect), path-list assembly with dedupe and missing-file skip. No REAPER types at the boundary. -- `theme` — Phase L pure palette module (L1): role→color mapping via one constants block (Direction B Neon Console + Direction C spectral, DS-2); WCAG contrast-floor helpers; interaction-state color model; spectral ramp. No LICE or REAPER types. +- `theme` — Phase L pure palette module (L1): role→color mapping via one constants block (DS-2 revised — REAPER-grey neutral ladder: `bg/base #2b2b2b` / `bg/panel #333333` / `bg/cell #3a3a3a` / `line/hairline #4a4a4a` / `text/primary #dcdcdc` / `text/dim #a8a8a8`; three-accent pastel system: `accent/primary` pastel lime `#B0E098` = live/active/selected, `accent/secondary` pastel teal `#84D6D0` + `accent/tertiary` pastel purple `#C2AAE8` = categorical distinctions, `accent/hot` lighter lime = hover/drag feedback); `Role` enum carries the three accent roles; `roleColor`/`roleColorState` updated (Active/Dragging/Focus → primary accent); `spectralColor` is a pastel three-stop sweep anchored on the three accents (lime → teal → purple); WCAG contrast-floor helpers; full interaction-state color model. No LICE or REAPER types. - `component_geometry` — Phase L pure component geometry/hit-test helpers (L1): button/slider/list-row geometry + hover hit-test. No LICE or REAPER types. Mirror of `mode_switch`/`bank_grid`. - `action_bar` — Phase L pure task-grouped action-bar layout/hit-test (L2): clusters (Capture / Placement / Maintenance), per-button label + keybinding micro sub-rects, whole-trailing-button overflow, point→index hit-test. No LICE or REAPER types. Mirror of `mode_switch`/`bank_grid`/`action_buttons`. diff --git a/COMPLETED.md b/COMPLETED.md index 4787c10..bffd90e 100644 --- a/COMPLETED.md +++ b/COMPLETED.md @@ -1260,9 +1260,16 @@ pair in the palette clears its WCAG floor (tested). `bank_panel` text routes thr cached-font `text()` — GDI `DrawText` path retired. Double-buffer discipline preserved. - [x] **`theme`/palette module** (`src/theme.{h,cpp}`): role→color mapping via one - constants block (Direction B Neon Console + Direction C spectral, DS-2); WCAG - contrast-floor helpers + tests; interaction-state color model; spectral ramp. Pure; - no LICE types. New CTest target `theme_tests`. + constants block (DS-2 revised — REAPER-grey neutral ladder + three-accent pastel + system: `bg/base #2b2b2b` / `bg/panel #333333` / `bg/cell #3a3a3a` / `line/hairline + #4a4a4a` / `text/primary #dcdcdc` / `text/dim #a8a8a8`; `accent/primary` pastel lime + `#B0E098` = live/active/selected, `accent/secondary` pastel teal `#84D6D0` + + `accent/tertiary` pastel purple `#C2AAE8` = categorical distinctions); `Role` enum + carries the three accent roles; `roleColor`/`roleColorState` updated (Active/Dragging/ + Focus → primary accent); `spectralColor` is a pastel three-stop sweep anchored on the + three accents (lime → teal → purple); WCAG contrast-floor helpers + tests (text/dim-on-grey + AA body; three pastels on bg/cell + bg/panel at the 3:1 floor); interaction-state color + model. Pure; no LICE types. New CTest target `theme_tests`. - [x] **`component_geometry` module** (`src/component_geometry.{h,cpp}`): button/slider/ list-row geometry + hover hit-test. Pure; no LICE or REAPER types. New CTest target `component_geometry_tests`.