Design system: web tokens + primitives, macOS HudsonKit token adoption#187
Merged
Merged
Conversation
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.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 constantsstyles/primitives.css—.label-*,.chip,.dot,.btn,.surface-cardscout/Provider.tsx— semantic colors (--scrim,--info,--shadow-card,--cat-*) in both themes; theme-aware card shadow fixes a latent light-mode bugdocs/design/tokens.md— the spec + rulebookmacOS Scout app (
apps/macos/Sources/Scout)HudSpacing/HudRadius/HudTextSize/HudStrokeWidth). Conservative ±1.5pt snap → dark UI unchanged. HudsonKit (external) not modified.Verification
npm --prefix packages/web run build:client— greenswift build --package-path apps/macos— green