diff --git a/agent/BACKLOG.md b/agent/BACKLOG.md index 488e2ff..45207cb 100644 --- a/agent/BACKLOG.md +++ b/agent/BACKLOG.md @@ -120,15 +120,6 @@ pass — accentAlt retuned to Latte mauve `#8839ef`, not the audit's pink of the btop-changed themes (rose-pine, everforest, summer-night, vantablack, catppuccin) — btop.theme isn't contrast-checked. -### 53. Missing theme previews + neon-glass whole-swap (promoted 2026-07-09, V2) -- Capture `executive-slate` + `neon-glass` `preview.png` headlessly via the - theme-shot recipe proven on boreal (480×270); optional hand `btop.theme`. -- **First, for neon-glass:** its `waybar.css` uses `@text/@base/…` with no - `@define-color` block (and no `waybar.jsonc`), so applying it yields broken - bar colours. Decide: **finish** (self-contained colours + jsonc + preview) - or **quarantine** (remove `waybar.css` → falls back to the generated bar), - then capture the preview. V2 render. - ### 54. Installer safety + polish — V2 scenarios pending Four guards shipped 2026-07-09 (V0/V1: bash -n, flake check, nomarchy-install builds): offline `compose-lock` failure now fail-closes instead of a network @@ -206,7 +197,8 @@ neon-glass quarantine. ### Bugs / broken behavior (codebase exam 2026-07-09) _(Waybar doctor indicator, Control Center appearance no-ops, summer-day -scroll → #51; neon-glass broken waybar → #53.)_ +scroll → #51; neon-glass broken waybar → **fixed** 2026-07-09 by quarantine +(removed `waybar.css` → generated bar; render-confirmed).)_ - **Battery charge-limit / powerprofile only match `BAT*` sysfs names** `power.nix` oneshot and menu/waybar globs use @@ -240,8 +232,9 @@ nomarchy-menu usage string, secondary docs, always-on pieces → #47.)_ ### Theme polish / completeness (codebase exam 2026-07-09) -- **boreal preview recapture nicety** (executive-slate + neon-glass previews - → **#53**). `boreal` now has a `preview.png` (2026-07-09) but it's a headless +- **theme preview recapture nicety** (all 24 themes now have `preview.png` + as of 2026-07-09 — executive-slate + neon-glass captured via theme-shot). + These headless captures are a clean bare desktop+bar, not the theme-shot capture — a clean bare desktop+bar, not the floating-terminal (fastfetch+btop) composition the other 21 use; a real-hardware recapture to match the grid would be nicer (VM is the documented fallback). Optional hand diff --git a/agent/JOURNAL.md b/agent/JOURNAL.md index f9805b1..f4633c6 100644 --- a/agent/JOURNAL.md +++ b/agent/JOURNAL.md @@ -17,6 +17,22 @@ Template: --- +## 2026-07-09 — #53 theme previews + neon-glass quarantine +- **Task:** NEXT #53 — capture the last two missing previews + resolve the + neon-glass broken whole-swap. Product call: **quarantine**. +- **Did:** Confirmed the contract (working whole-swaps carry 12–23 + `@define-color` blocks; `waybar.nix:448` reads the whole-swap css **raw**, + no palette prepend — so neon-glass's 0-`@define-color` css is genuinely + broken). `git rm themes/neon-glass/waybar.css` → falls back to the generated + bar from its (fine) JSON palette. Rendered executive-slate + neon-glass via + theme-shot; captured 480×270 `preview.png` for both — **all 24 themes now + have previews**. +- **Verified:** **V2** — viewed both renders: executive-slate clean; neon-glass + bar now renders correctly (generated palette), no banner. V0 flake check green + with the css removed. +- **Pending:** none. Optional: hand `btop.theme` for the 3 identity themes; a + hardware recapture to match the floating-terminal composition (nicety note). + ## 2026-07-09 — #54 installer safety + polish (delegated, worktree) - **Task:** NEXT #54. Sonnet worktree agent (installer only). - **Did:** offline `compose-lock` failure fail-closes (reuses the diff --git a/themes/executive-slate/preview.png b/themes/executive-slate/preview.png new file mode 100644 index 0000000..b2e9a83 Binary files /dev/null and b/themes/executive-slate/preview.png differ diff --git a/themes/neon-glass/preview.png b/themes/neon-glass/preview.png new file mode 100644 index 0000000..e55c11d Binary files /dev/null and b/themes/neon-glass/preview.png differ diff --git a/themes/neon-glass/waybar.css b/themes/neon-glass/waybar.css deleted file mode 100644 index e24378d..0000000 --- a/themes/neon-glass/waybar.css +++ /dev/null @@ -1,108 +0,0 @@ -/* Neon Glass Waybar — Segmented floating pills with glassmorphism */ - -* { - font-family: "Inter", "Symbols Nerd Font", sans-serif; - font-size: 13px; - font-weight: 500; - border: none; - border-radius: 0; - min-height: 0; -} - -window#waybar { - /* The main bar background is transparent so the wallpaper shows through */ - background: transparent; - color: @text; -} - -/* - * The pill containers: left, center, right. - * Glassmorphism: semi-transparent base + blur (blur requires hyprland layerrule if waybar doesn't natively blur, but alpha base helps). - */ -.modules-left, -.modules-center, -.modules-right { - background: alpha(@base, 0.45); - border: 1px solid alpha(@accent, 0.2); - border-radius: 20px; - margin: 4px 6px; - padding: 2px 8px; - box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); -} - -/* Add a glowing top border effect on hover or generally to accent the glass */ -.modules-left { - border-top: 1px solid alpha(@accent, 0.6); -} -.modules-center { - border-top: 1px solid alpha(@text, 0.3); -} -.modules-right { - border-top: 1px solid alpha(@accentAlt, 0.6); -} - -/* Remove default padding from individual modules so they fit snug in the pill */ -#workspaces button, -#window, -#clock, -#tray, -#pulseaudio, -#battery, -#custom-notification, -#custom-vpn, -#custom-powerprofile, -#custom-updates, -#custom-doctor { - padding: 0 8px; - margin: 0 2px; -} - -/* Workspaces */ -#workspaces button { - color: @subtext; - border-radius: 12px; - transition: all 0.2s cubic-bezier(0.25, 1, 0.5, 1); -} - -#workspaces button:hover { - background: alpha(@surface, 0.5); - color: @text; -} - -#workspaces button.active { - color: @accent; - background: alpha(@accent, 0.15); - box-shadow: 0 0 8px alpha(@accent, 0.4); -} - -#workspaces button.urgent { - color: @bad; - background: alpha(@bad, 0.15); -} - -/* Indicators */ -#battery.charging { color: @good; } -#battery.warning:not(.charging) { color: @warn; } -#battery.critical:not(.charging) { - color: @bad; - animation: blink 1s steps(2, start) infinite; -} - -#pulseaudio.muted { color: @muted; } - -#custom-updates { color: @accentAlt; } -#custom-doctor { color: @bad; } -#custom-vpn { color: @accent; } - -@keyframes blink { - to { color: @text; } -} - -tooltip { - background: alpha(@base, 0.85); - border: 1px solid alpha(@accent, 0.4); - border-radius: 12px; -} -tooltip label { - color: @text; -}