aboutsummaryrefslogtreecommitdiff
path: root/todo.org
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-09 23:43:14 -0500
committerCraig Jennings <c@cjennings.net>2026-06-09 23:43:14 -0500
commit230c3f2547a82dd805d57e9a8f52fa21834cfbe8 (patch)
treec22cb0874f8b531858af864f89475b5c6106c421 /todo.org
parent0182f4a0ccbda72fc61ebc8c53f9e7322363dd15 (diff)
downloaddotemacs-230c3f2547a82dd805d57e9a8f52fa21834cfbe8.tar.gz
dotemacs-230c3f2547a82dd805d57e9a8f52fa21834cfbe8.zip
docs(theme-studio): fold the color-families review and pivot to hex grouping
Resolved both open decisions per Craig: theme.json stays flat, and the standalone ramp panel goes away in favor of the per-strip control. The bigger change is the grouping mechanism: families are now derived from OKLCH hue off the hex, never from a name convention, so renaming a color to anything never moves it between strips. That pivot designs out the Codex review's two hardest blockers. There's no step-name grammar and no import inference, because grouping isn't name-based. And the palette stays a flat, individually-editable list rather than transferring ownership to family objects, so per-chip rename/remove/edit keep working and there's no ownership contract to invent. Families are a display view over the existing palette. The rest of the review is folded as written, adapted to the flat model: the ground strip is synthesized from the bg/fg assignments (pinned, editable, de-duped by hex), removed-step references degrade to a visible "(gone)" rather than a silent jump, n=0 is handled without ramp(), and the neutral (0.02) and hue-gap (25) thresholds and sort tie-breakers are pinned. Review file consumed and deleted; dispositions and a responder entry are in the spec.
Diffstat (limited to 'todo.org')
-rw-r--r--todo.org4
1 files changed, 3 insertions, 1 deletions
diff --git a/todo.org b/todo.org
index 466329c1..851c1c97 100644
--- a/todo.org
+++ b/todo.org
@@ -93,7 +93,9 @@ Phase 5 (commit =843bbf08=). The OKLCH picker gets a "safe for" selector over th
Commit =23926837=. README documents the ramp controls and defaults, the worst-case floor / limiting foreground, the five covered faces, the safe-lightness guidance, and WCAG-drives-PASS-FAIL with APCA as a diagnostic; the browser-gate list is updated. =make theme-studio-test= carries all new node tests and the #ramptest/#contrasttest/#safetest gates. All acceptance criteria met.
** TODO [#B] theme-studio color families :feature:theme-studio:
-Restructure the palette panel into live color families: a base + its ramp shown as a dark→light strip, with a per-family symmetric step count (N → base ±N), fg/bg sharing a fixed strip, and strips hue-sorted (steps lightness-sorted). Live regenerate on count/base change; regeneration authoritative; theme.json stays flat (families derived from names). Designed in [[file:docs/theme-studio-color-families-spec.org][docs/theme-studio-color-families-spec.org]] (draft, pre-review). Two open decisions are Craig's: flat-vs-structured persistence, and whether to remove the standalone ramp panel. Builds on and partly supersedes the palette-ramps v1 ramp UI above.
+Show the palette as hue-grouped strips (dark→light) over the existing flat, individually-editable palette. Grouping is by OKLCH hue from the hex, so renaming a color never moves it. A per-strip count control generates a symmetric ramp (N → base ±N) from the strip's most-saturated color; regenerate is authoritative, repointing surviving-step references by lightness rank and leaving removed-step references a visible "(gone)". The ground strip is synthesized from the bg/fg assignments and pinned first; the standalone ramp panel is removed. Designed in [[file:docs/theme-studio-color-families-spec.org][docs/theme-studio-color-families-spec.org]]. Codex-reviewed and response folded 2026-06-09: pivoted from name-derived families to hex-derived families over a flat palette, which designs out the name-grammar/import-inference and chip-ownership blockers. All review findings dispositioned; both open decisions resolved. Builds on and supersedes the palette-ramps v1 ramp UI. Six phases; build tasks created on Craig's Ready confirmation.
+
+Codex review 2026-06-09: =Not ready=. Review file: [[file:docs/theme-studio-color-families-spec-review.org][docs/theme-studio-color-families-spec-review.org]]. Blockers: accept/resolve the two open decisions; define exact family name grammar/import inference; define the =fg/bg= ground-strip source of truth; specify legal chip-level operations in family mode; define reference behavior for assignments pointing at steps removed by lowering N.
** TODO [#C] Internet radio now-playing song :feature:music:emms:
Show the currently-playing song while streaming an internet radio station. Lives in =modules/music-config.el= (EMMS + MPV backend, M3U radio stations). The track title comes from the stream's ICY metadata — EMMS exposes it via =emms-track-description= / =emms-playing-time= and updates it on the metadata-change hook; MPV reports the ICY title too. Add an option to show the song in the minibuffer (e.g. echo on track change, or an on-demand command). Consider also a mode-line indicator as a second surface.