Design a new UI theme — pure CSS-token work, no networking, no three.js.
How themes work: each theme is a data-theme token block in src/lib/themes.js; the app chrome reads CSS custom properties from it. Themes are local-only (each user picks their own — the 3D viewport is driven by the environment, not the theme). Five ship today, including an 8-bit one with its own pixel font — that one shows how far a theme can go.
Task
- Add one theme token block (ideas: Solarized, Sepia paper, OLED pure-black, Cyberpunk) and register it so it appears in the Settings theme picker.
- Check contrast on the busiest surfaces: object list, Inspector, node editor, context menus.
Acceptance
- Theme selectable in Settings and persists across reload.
- Screenshots (viewport + node editor + a context menu) in the PR.
- No svelte-check regressions (
npm run check — CI gates on the baseline).
Pointers: CONTRIBUTING.md · CLAUDE.md. Questions → Discussions.
Design a new UI theme — pure CSS-token work, no networking, no three.js.
How themes work: each theme is a
data-themetoken block insrc/lib/themes.js; the app chrome reads CSS custom properties from it. Themes are local-only (each user picks their own — the 3D viewport is driven by the environment, not the theme). Five ship today, including an 8-bit one with its own pixel font — that one shows how far a theme can go.Task
Acceptance
npm run check— CI gates on the baseline).Pointers: CONTRIBUTING.md · CLAUDE.md. Questions → Discussions.