What problem does this solve?
The project already includes palettes like midnight, sunset, neon, and emerald, which cover strong visual styles (dark, neon, warm).
However, there is limited variety for users who prefer:
- Softer, low-contrast themes for long usage sessions
- High-contrast themes for better data readability
- Minimal or neutral palettes for a cleaner developer-focused experience
- Stylized themes (e.g. pixel-art, retro, or monochrome aesthetics)
This limits personalization and can impact usability depending on user preference and context.
Proposed solution
Expand the theme system by introducing new, non-overlapping color palettes:
- Aurora →
teal, indigo, violet (smooth gradients, northern lights inspired)
- Desert →
sand, amber, brown, sky (warm, soft contrast)
- Ice →
ice blue, frost, white, light gray (clean, high readability)
- Matrix →
black, green, dark green (monochrome hacker style)
- Pastel →
lavender, mint, peach, baby blue (soft UI-friendly tones)
- Monochrome →
black, gray, white (minimal, IDE-like)
- High Contrast →
black, yellow, lime (accessibility-focused)
Implementation suggestions:
- Extend the existing theme configuration with new palette definitions
- Ensure compatibility with:
- 3D environment (buildings, lighting, skybox)
- UI overlays (text, panels, HUD)
- Add theme selection with persistence (e.g. local storage)
- Optional support for URL parameter (e.g.
?theme=aurora)
Alternatives considered
-
Keeping only current palettes
→ Limits customization and does not address accessibility or long-session usability
-
Allowing fully custom user-defined palettes
→ More flexible, but significantly more complex (UI, validation, rendering consistency)
-
Dynamic-only themes (time/activity based)
→ Interesting, but should complement—not replace—manual theme selection
Additional context
Possible future enhancements:
- Theme preview thumbnails in the selector
- Smooth transitions between themes
- Automatic theme switching based on:
- Time of day
- User activity
This feature is a low-risk enhancement that builds on the existing visual identity while significantly improving user experience and flexibility.
What problem does this solve?
The project already includes palettes like
midnight,sunset,neon, andemerald, which cover strong visual styles (dark, neon, warm).However, there is limited variety for users who prefer:
This limits personalization and can impact usability depending on user preference and context.
Proposed solution
Expand the theme system by introducing new, non-overlapping color palettes:
teal,indigo,violet(smooth gradients, northern lights inspired)sand,amber,brown,sky(warm, soft contrast)ice blue,frost,white,light gray(clean, high readability)black,green,dark green(monochrome hacker style)lavender,mint,peach,baby blue(soft UI-friendly tones)black,gray,white(minimal, IDE-like)black,yellow,lime(accessibility-focused)Implementation suggestions:
?theme=aurora)Alternatives considered
Keeping only current palettes
→ Limits customization and does not address accessibility or long-session usability
Allowing fully custom user-defined palettes
→ More flexible, but significantly more complex (UI, validation, rendering consistency)
Dynamic-only themes (time/activity based)
→ Interesting, but should complement—not replace—manual theme selection
Additional context
Possible future enhancements:
This feature is a low-risk enhancement that builds on the existing visual identity while significantly improving user experience and flexibility.