Skip to content

Add the core theme catalog - #6

Merged
konojunya merged 1 commit into
mainfrom
jj/add-core-themes
Sep 3, 2026
Merged

Add the core theme catalog#6
konojunya merged 1 commit into
mainfrom
jj/add-core-themes

Conversation

@konojunya

Copy link
Copy Markdown
Contributor

Background

Stack 1.0 needs versioned visual inputs before the engine facade and deterministic layout work can begin. The theme package boundary existed, but its canonical catalog was still empty.

Implementation

  • add the default, light, and dark core themes with complete Stack 1.0 node-kind fallbacks
  • add 30 repository-authored Apache-2.0 SVG assets with stable logical subjects across themes
  • make missing non-core theme and icon recovery explicit through default and kind-external
  • add deterministic versioned font metrics, including ordered wide Unicode ranges for CJK and emoji
  • extend schema, Rust, and TypeScript contracts and regenerate matching Cargo/npm artifacts
  • add catalog completeness, contrast, non-color distinction, fallback, security, and artifact-parity tests
  • add a dependency-free review page and record desktop/mobile visual and license evidence

Testing

  • npm run validate
  • npm run generate:check
  • npm test (11 tests)
  • npm run typecheck
  • npm pack --dry-run --workspace @stack-sh/theme
  • cargo +stable fmt --check
  • cargo +stable test --workspace --locked
  • cargo +stable clippy --workspace --all-targets --locked -- -D warnings
  • RUSTDOCFLAGS="-D warnings" cargo +stable doc --workspace --no-deps --locked
  • cargo +stable package -p stack-theme --locked
  • cargo +1.85.0 test --workspace --locked
  • cargo +1.85.0 clippy --workspace --all-targets --locked -- -D warnings
  • Chromium visual review at 1440 x 1000 and 390 x 844 with no horizontal overflow, console errors, or page errors

Review focus / concerns

  • verify that fallback shapes and icon subjects remain understandable without relying on color
  • verify that fallbacks.missingThemeId and fallbacks.missingIconId are sufficient for the later diagnostic-preserving engine fallback flow
  • the metrics intentionally provide deterministic layout advances rather than exact platform glyph geometry
  • no registry publication is included

@konojunya
konojunya merged commit ed6c500 into main Sep 3, 2026
2 checks passed
@konojunya
konojunya deleted the jj/add-core-themes branch September 3, 2026 05:56
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