Skip to content

Design system: web tokens + primitives, macOS HudsonKit token adoption#187

Merged
arach merged 2 commits into
feat/in-app-session-initiationfrom
feat/web-design-system
Jun 3, 2026
Merged

Design system: web tokens + primitives, macOS HudsonKit token adoption#187
arach merged 2 commits into
feat/in-app-session-initiationfrom
feat/web-design-system

Conversation

@arach
Copy link
Copy Markdown
Owner

@arach arach commented Jun 3, 2026

Adds a design-token + primitive layer to the web client and adopts the existing HudsonKit tokens in the macOS Scout app. No cross-platform unification — each surface uses its own native token layer; the design language (scales, semantic names) is shared via docs.

Web client (packages/web/client)

  • styles/tokens.css — spacing / radius / font-size / tracking / leading scales (t-shirt named) + layout constants
  • styles/primitives.css.label-*, .chip, .dot, .btn, .surface-card
  • scout/Provider.tsx — semantic colors (--scrim, --info, --shadow-card, --cat-*) in both themes; theme-aware card shadow fixes a latent light-mode bug
  • ~4,650 values across 51 stylesheets routed onto the scales; raw colors → semantic tokens. Dark mode value-preserving; light mode corrected.
  • docs/design/tokens.md — the spec + rulebook

macOS Scout app (apps/macos/Sources/Scout)

  • ~180 inline magic numbers routed onto the existing HudsonKit tokens (HudSpacing / HudRadius / HudTextSize / HudStrokeWidth). Conservative ±1.5pt snap → dark UI unchanged. HudsonKit (external) not modified.

Verification

  • Web: npm --prefix packages/web run build:client — green
  • macOS: swift build --package-path apps/macos — green

arach added 2 commits June 3, 2026 14:31
Introduce the missing token + primitive layer between HudsonKit's --hud-*
theme and component CSS, then tokenize the component stylesheets onto it.

- styles/tokens.css: spacing / radius / font-size / tracking / leading scales
  (t-shirt named) + layout constants
- styles/primitives.css: .label-*, .chip, .dot, .btn, .surface-card
- Provider.tsx: semantic colors (--scrim, --info, --shadow-card, --cat-*) in
  both themes; theme-aware card shadow fixes a latent light-mode bug
- Tokenize ~4,650 values across 51 stylesheets onto the scales and route raw
  colors to semantic tokens; dark mode value-preserving, light mode corrected
- docs/design/tokens.md: scales, snapping table, color routing, primitive API

Web client only (packages/web); does not affect the native macOS app.
Route inline numeric design literals onto the existing HudsonKit token
scales (HudSpacing / HudRadius / HudTextSize / HudStrokeWidth) across the
Scout target (~180 values). Conservative snap (within ~1.5pt) so the dark
UI is visually unchanged; off-scale outliers with no nearby token are left
literal. Colors and layout dimensions untouched. HudsonKit not modified.

swift build passes.
@arach arach merged commit cbb4af5 into feat/in-app-session-initiation Jun 3, 2026
2 checks passed
@vercel
Copy link
Copy Markdown

vercel Bot commented Jun 3, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
openscout Ready Ready Preview, Comment Jun 3, 2026 7:22pm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant