docs: reflect Phase 18 landing; fix palette-file claim in CLAUDE.md

This commit is contained in:
daniel-c-harvey
2026-06-19 21:16:40 -04:00
parent 6029e226d5
commit c04c2a9e98
3 changed files with 25 additions and 39 deletions
-38
View File
@@ -342,44 +342,6 @@ the open-question set: `product-notes/phase-17-player-queue-view.md`.
---
## Phase 18 — Theme / Dark-Mode Remediation (DRY token pass)
A punch-list of six theming symptoms Daniel reported — five in dark mode, one in light —
that all trace to **three** root causes in how component/page CSS bypasses the theme-aware
token layer and binds *constant* source tokens instead. Resolved as one coherent token pass,
not six per-component patches. Full design, architecture map, root-cause analysis, token
table, and track breakdown: `product-notes/theme-dark-mode-remediation.md`.
**Root-cause collapse (six symptoms → three causes):**
- **Cause 1 — neutral surfaces don't invert.** Home hero-left + footer (#3) and About light
sections (#4) hardcode `background: var(--deepdrft-white)` / text on `--deepdrft-navy`
brand *constants* that are identical in `:root` and `.deepdrft-theme-dark`, so they cannot
flip. Fix: bind a theme-aware `--deepdrft-page-surface` / `--deepdrft-page-text` alias. The
inversion must stay **neutral to the intentionally navy/green decorative sections**
(`.section-dark`, `.split-left`, `.cta-banner`, hero overlays) — a classify-then-recolor job.
- **Cause 2 — play chip binds a constant grey.** `PlayStateIcon.razor.css` `.icon-container`
hardcodes `--deepdrft-soft` (#e3e7ec). One shared component drives the release-hero chip, the
Cut track rows, *and* the player bar — so it reads "greyed-out" over dark heroes (#5) and "too
bright" on the navy player surface (#6). Fix: theme-aware `--deepdrft-play-chip` (moss-green +
navy glyph in dark) with a translucent `--deepdrft-play-chip-soft` override for the player bar.
- **Cause 3 — no theme-aware popover surface.** Light-mode default MudPopovers read "too dark"
(#1); there's no token for the wanted "desaturated navy." Fix: a `--deepdrft-popover-surface`
token; leave the bespoke `--deepdrft-panel-ground` panels alone.
**Sequenced as four tracks, `T1 → {T2, T3, T4}`.** T1 (additive token foundation in
`deepdrft-tokens.css`) is the cold-start prerequisite; T2 (neutral-surface inversion), T3
(play-chip theming), T4 (popover token) fan out behind it and are mutually independent. Pure
CSS-token pass — no source code, data layer, or streaming-seam changes. Prior art:
`product-notes/track-card-theming.md` solved this exact class of theme-aware recolor once
already; this generalizes the fix from one component to the pattern.
**Open questions for Daniel (spec §5):** (1) dark neutral surface = navy *ground* (continuous
field — recommended for footer/hero) vs. *elevated* navy-mid (distinct panels); (2) popover
target distance from white (recommend a light `color-mix(navy ~8%, white)` wash). Exact green
opacity + muted-text mixes are tune-on-screen details, not decision gates.
---
## Phase 19 — AuthBlocks User Management (CMS-only: admin surfaces + public self-registration)
Wire **all three** AuthBlocks account-creation paths into the `DeepDrftManager` CMS — the admin