Skip to main content

max / goingson

Read the bevel tones from makeover instead of deriving them makeover 2.2.0 emits bevel-light and bevel-dark as resolved intents, derived from the theme's raised surface in OKLab. The token names were chosen to match, so adoption is dropping the interim color-mix pair. The two tokens move up into the intent layer rather than disappearing: this stylesheet reads them, and every intent it reads needs a first-paint default. Values are what makeover resolves for the goingson skin. Not a visual change. What it buys is coverage: all 18 shipped themes get the same light model with no per-theme authoring, and makeover's bevel_edges_are_distinct_from_their_face test now guards this bevel. Done alongside the same change in balanced_breakfast.
Co-Authored-By
Claude Opus 5 (1M context) <noreply@anthropic.com>
Author: Max Johnson <me@maxj.phd> · 2026-07-28 19:21 UTC
Signed with PGP, not checked
Commit: e15363e77ab3cad35a7b7a07604762e6802c2c9f
Parent: 474bfb7
2 files changed, +5 insertions, -8 deletions
M Cargo.toml +1 -1
@@ -82,7 +82,7 @@
82 82 # Filesystem watching (db change notifications)
83 83 notify = "8.2"
84 84 notify-debouncer-mini = "0.7"
85 - makeover = "2.1.1"
85 + makeover = "2.2.0"
86 86 # The invariant half of the design system. makeover resolves colour, which a
87 87 # theme may override; this carries spacing, which no theme may touch.
88 88 makeover-geometry = "0.1.0"
@@ -244,6 +244,10 @@
244 244 --surface-raised: #D9DDF4;
245 245 --surface-sunken: #BAC2E6;
246 246 --surface-overlay: #CDD3F0;
247 + /* The two edges of a bevel. makeover derives both from the theme's raised
248 + surface, so they arrive with the rest of the intent set. */
249 + --bevel-light: #FAFEFF;
250 + --bevel-dark: #A0A4B9;
247 251 --content: #000000;
248 252 --content-secondary: #2D2D2D;
249 253 --content-muted: #6B6B6B;
@@ -279,13 +283,6 @@
279 283 --border-width: 1px;
280 284 --border-width-sm: 1px;
281 285
282 - /* Bevel tones. Named for the intents makeover will emit; until the crate
283 - ships them, color-mix derives the same two colors from whatever
284 - surface the active theme resolved. Adopting the crate version is
285 - deleting these two lines. */
286 - --bevel-light: color-mix(in oklab, var(--surface-raised) 48%, #FFFFFF);
287 - --bevel-dark: color-mix(in oklab, var(--surface-raised) 58%, #000000);
288 -
289 286 /* The two-tone bevel. Raised is lit from the top left; inset is the same
290 287 bevel inverted, which is also the pressed state for anything raised. */
291 288 --bevel-raised: inset 1px 1px 0 var(--bevel-light),