Design token core + light/dark themes #5

Closed
opened 2026-08-01 22:09:17 -04:00 by lyssieth · 0 comments
Owner

The theming infrastructure every other UI surface inherits, per docs/designs/draft/frontend.md (Direction / Color / Typography / Icons). Lands before or with the first real surface; nothing visual ships off-token.

Checklist

  • Token core defined once as paired light/dark values: layered neutrals (content / panel / raised), one accent reserved for actions/selection/state, hairline borders, semantic state palette (error / warning / success / info)
  • Both themes authored and reviewed to the same bar — equal citizens, neither bolted on (binding brief constraint)
  • Theme selection follows the OS (prefers-color-scheme) unless overridden; the manual override arrives with the settings screen
  • Typography wired: system stack (Noto Sans on Plasma) for all UI; Iosevka bundled (woff2 assets + @font-face) for code and data; fixed rem scale, ratio 1.125–1.2
  • Iconography: Lucide via lucide-svelte, one stroke weight, consistent sizes
  • Shared SCSS primitives for the full component state matrix (default / hover / focus / active / disabled / loading / error)

Refs:

  • docs/designs/palette.md — the token authority (frozen values, decisions, WCAG audit workflow)
  • docs/designs/draft/frontend.md — the design brief (binding)
  • docs/invariants/error-visibility.md — the tier table consumes the semantic palette
The theming infrastructure every other UI surface inherits, per `docs/designs/draft/frontend.md` (Direction / Color / Typography / Icons). Lands before or with the first real surface; nothing visual ships off-token. ## Checklist - [x] Token core defined once as paired light/dark values: layered neutrals (content / panel / raised), one accent reserved for actions/selection/state, hairline borders, semantic state palette (error / warning / success / info) - [x] Both themes authored and reviewed to the same bar — equal citizens, neither bolted on (binding brief constraint) - [x] Theme selection follows the OS (`prefers-color-scheme`) unless overridden; the manual override arrives with the settings screen - [x] Typography wired: system stack (Noto Sans on Plasma) for all UI; Iosevka bundled (woff2 assets + `@font-face`) for code and data; fixed rem scale, ratio 1.125–1.2 - [x] Iconography: Lucide via `lucide-svelte`, one stroke weight, consistent sizes - [x] Shared SCSS primitives for the full component state matrix (default / hover / focus / active / disabled / loading / error) Refs: - `docs/designs/palette.md` — the token authority (frozen values, decisions, WCAG audit workflow) - `docs/designs/draft/frontend.md` — the design brief (binding) - `docs/invariants/error-visibility.md` — the tier table consumes the semantic palette
lyssieth added this to the v1 milestone 2026-08-01 22:11:28 -04:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
lyssieth/sermones#5
No description provided.