Add two contribution-only theme plugins, each with a light and a dark theme
that sets every UI token plus an editor colour scheme with syntax, editor
and terminal ANSI colours:
- plugins/theme-solarized: Solarized Light, Solarized Dark
- plugins/theme-one: One Light, One Dark (Atom One, original HSL values)
They replace the partial theme-solarized-dark sample. Each package ships
the MIT notice of its palette in LICENSE, which is now copied on install
with the files the manifest references. scripts/theme checks every theme
plugin in plugins/ against the token list of tokens.css.
Theme handling that any theme benefits from:
- Start-up: boot.js restores the selected plugin theme's stylesheet and the
last resolved frame, text and accent colours before any CSS loads, so the
splash and workbench no longer show the built-in theme until the plugin
host answers. The UI keeps the boot theme until the first plugin list,
and the list now waits for the initial plugin load.
- Native windows: the UI reports the plugin theme's resolved frame colour,
which the plugin host persists and new project windows open in.
- hsl(), color-mix() and var() tokens are resolved to RGB for Tauri's window
background, the native Settings window (hex) and Mermaid diagrams.
- Mermaid, the terminal and the editor colour scheme follow switches between
plugin themes of the same light / dark base; an explicit editor scheme
now replaces a plugin theme's editor colours.
Supersedes #85.
Co-authored-by: bghtyu <3931591+bghtyu@users.noreply.github.com>
Claude-Session: https://claude.ai/code/session_01VUYsdXA2nkF5v6zsC93dpn