aboutsummaryrefslogtreecommitdiffstats
path: root/docs/superpowers/plans
AgeCommit message (Collapse)AuthorFilesLines
2026-09-16docs: add the GTK palette-consumer implementation planDanilo M.1-0/+831
GTK was listed in AGENTS.md as a covered consumer but nothing generated or installed a theme for it. Every GTK app sat on a hardcoded upstream catppuccin-macchiato-lavender while the rest of the desktop ran tokyo-night. The plan templates the upstream stylesheets and assets the way Kvantum already is, rendering into ~/.themes/udt under one fixed name per scheme. Substitution is whole-file rather than confined to the @define-color block: 338 palette hexes in GTK3 and 328 in GTK4 sit outside it, which was measured before the approach was chosen. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-11docs: record phase 1 migration of rofi call sitesDanilo M.1-0/+5
Twelve call sites repointed, backups in /data/udt-backup. Also records three things found during the migration: rofipass was passing a -width flag that rofi 2.0.0 no longer has, the type-4 power menu reuses one directory variable for two different themes, and ddgr_search.py is a rofi script-mode plugin rather than a call site. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G6aeE37K4GHBsaM51yLTTq
2026-09-11docs: add headless parse checks and correct the rofi versionDanilo M.1-17/+52
The plan claimed rofi 1.7.3, taken from a stale comment header in the user's config.rasi. The installed version is 2.0.0. Adds a `-dump-theme` parse check to the palette and each layout task. This catches syntax errors without a display, which the plan previously treated as impossible and deferred entirely to visual inspection. Every theme file in the plan was verified to parse cleanly on 2.0.0. Replaces the palette verification step, which built a throwaway wrapper theme via printf just to have something that draws. A palette defines variables and renders nothing, so there was nothing to look at; parsing is the real check. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G6aeE37K4GHBsaM51yLTTq
2026-09-11docs: correct accent pipeline premise and add implementation planDanilo M.1-0/+1125
Investigation while planning showed the spec's accent model could not work as written. wallp invokes pywal with --theme, not -i, so colors come from a fixed preset and never track the wallpaper: snapping would have mapped a constant to a constant. The obvious fix, switching to wallpaper-derived pywal, would have regressed a problem the user had already solved. Wallpaper colors land in kitty's sixteen ANSI slots, where nothing guarantees color4 stays legible against color0, which is what made neovim comments disappear. Rofi is not exposed to that, since it uses one accent against a fixed base. So extraction now calls pywal.backends.colorz.get() directly. It returns a list and writes nothing, leaving the preset cache that kitty, dunst and neovim read untouched. Verified across six wallpapers with colors.json byte-identical after. Also replaces HLS hue matching with CIELAB, after prototyping showed HLS snapping orange to yellow and red to flamingo, and narrows the candidate set to nine accents, dropping near-neutral tints and duplicate hues that captured saturated inputs. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G6aeE37K4GHBsaM51yLTTq