Theme · Editing: a theme laid open, and an owner's palette per mode

settings::ThemeEditor lays a theme open: density, corners, text size,
high contrast and reduced motion, then twelve colors of the mode shown,
each a swatch that opens a picker beside its hex; each change hands the
owner a whole draft. Theme::set_palette takes an owner's palette per
mode, the colors fading to it when the mode shows; Theme::palette names
the palette the shown mode fades to; Palette::token_mut and
Syntax::token_mut reach a color by its field's name. The gallery's
theme page applies the editor to the whole gallery live, with a way
back to Ely's theme.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ZacharyZhang-NYandClaude Opus 5.5 committed 2026-09-27 16:31:33 -04:00
1 parent 5f2e6a5cda
commit 3d2bc0f4d6
13 files changed
+465 -11

No files matched your search

+15 -9
View File
@@ -246,23 +246,29 @@
- [x] TypeAhead → `lists::SelectableList`, whose letters move its cursor
- [x] FocusVisible → `primitives::FocusRing`
## T39 Theme — `src/theme`
## T39a Theme · Editing — `src/theme`
- [x] ThemeProvider (T00)
- [ ] ThemeSwitcher → `settings::ThemeSelector` (T35)
- [x] ThemeSwitcher → `settings::ThemeSelector` (T35)
- [x] ColorTokens / DesignTokens (T00)
- [ ] ThemeEditor
- [x] ThemeEditor → `settings::ThemeEditor`; `Theme::set_palette` takes the owner's colors per mode
- [x] DensityProvider (T00) — `Theme::density`, laid open in `settings::ThemeEditor`
- [x] RadiusProvider (T00) — `Theme::radius_scale`, laid open in `settings::ThemeEditor`
- [x] FontProvider (T00) — `Theme::font_scale`, laid open in `settings::ThemeEditor`
- [x] HighContrastMode (T00) — `Theme::set_high_contrast`, laid open in `settings::ThemeEditor`
- [x] ReducedMotionProvider (T00) — `Theme::reduced_motion`, laid open in `settings::ThemeEditor`
- [x] Elevation / Shadow (T00)
## T39b Theme · Importing
- [ ] ThemeImporter — VS Code theme JSON
- [ ] SyntaxThemes
## T39c Theme · Platform
- [ ] IconThemeProvider
- [ ] DensityProvider (T00)
- [ ] RadiusProvider (T00)
- [ ] FontProvider (T00)
- [ ] HighContrastMode (T00)
- [ ] ReducedMotionProvider (T00)
- [ ] Platform Style
- [ ] VibrancyBackground / Mica / Acrylic — native `WindowBackgroundAppearance::Blurred`
- [x] Elevation / Shadow (T00)
## T40 i18n & a11y — `src/i18n`