From ee39bd927e056c2dae9d61230a95a05715b3a8c6 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Fri, 11 Sep 2026 18:45:15 +0200 Subject: feat(palette): add five more schemes, and parse-check them all Adds Catppuccin Frappe and Mocha, which share Macchiato's colour names so their role maps are the same mapping against different values, and Material Ocean, Palenight and Darker, which bring their own names and their own maps. Nine schemes now, all dark. Material ships one accent per hue and three greys where the roles want five depths, so each Material palette carries four interpolated shades, marked as not upstream, and its bright_* terminal slots name the same colours as the normal ones. The selftest now renders every scheme to a temp directory and has rofi parse every theme, not just check that roles resolve. Resolving was never the property that mattered: the Tokyo Night breakage resolved fine and still emitted a palette the themes could not use. Verified the check fails when a name is removed. Catppuccin Latte is deliberately absent. It is light, and that is not a role remap: homepage is pinned theme: dark and the generated card overrides target its dark-mode class. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_015gbjA2bmswN8jyPDKzrvqe --- AGENTS.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'AGENTS.md') diff --git a/AGENTS.md b/AGENTS.md index 4632623..b022a38 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -27,8 +27,13 @@ state, so switching does not dirty the working tree and two machines sharing this repo can differ. It is the one exception to this repo holding the canonical copy of everything. -Four schemes ship: `macchiato`, `tokyo-night`, `nord`, `dracula`. Switching is -one line in `~/.config/udt/roles.conf` plus `./install.sh`. +Nine schemes ship: `macchiato`, `frappe`, `mocha`, `tokyo-night`, `nord`, `dracula`, +`material-ocean`, `material-palenight`, `material-darker`. Switching is one line in +`~/.config/udt/roles.conf` plus `./install.sh`. + +All nine are dark. A light scheme is not a role remap: homepage is pinned +`theme: dark` and its generated card overrides target the dark-mode class, and +`install.sh` would need to flip that setting too. Generated files are gitignored, because tracking them would turn every scheme switch into a diff. Editing one is pointless: the next install overwrites it. @@ -54,8 +59,11 @@ palette name with two optional modifiers, `name/75` for 75% alpha and is darker than the darkest colour any of these schemes ships. **Adding a scheme means adding two files, never editing a consumer.** Every -scheme must define the same role set; `udt-palette --selftest` fails if one -drifts, which is what stops a switch from breaking a config nobody looked at. +scheme must define the same role set, and `udt-palette --selftest` enforces +that, then has rofi parse every theme under every scheme. Both checks exist +because both failures shipped: a role set can drift silently, and a palette +that resolves can still emit a theme rofi refuses to parse, which stops every +launcher on the desktop. ## The accent -- cgit v1.2.3