Convert all Figma theme backgrounds to dark/colored, dedupe again

The 34 kept themes were split 24 light-mode / 18 dark-mode - the light
ones all shared the same washed-out near-white background (L=0.95),
too bright per feedback. Added a force_mood override to build_theme()
and regenerated all 24 as dark instead, same accent character, colored-
dark background rather than near-white.

That conversion collapsed a lot of previously-distinct light backgrounds
into similar dark neutrals, so re-ran the same color-distance dedup pass
across the full set: 8 more turned out to be near-twins once everything
converged to dark (including a 3-way orange-on-dark cluster trimmed to
one). Net: 53 candidates -> 34 kept, all dark/colored, zero white
backgrounds - down from the 42 (24 light/18 dark) shipped last commit.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-24 08:33:34 -04:00
co-authored by Claude Sonnet 5
parent 722b381913
commit 52371dd02f
3 changed files with 133 additions and 161 deletions
+16 -12
View File
@@ -120,12 +120,13 @@ silently stay blank instead of erroring.
- Per-course study guide export (markdown, organized by section)
**Personalization** (Settings)
- 54 built-in themes (grouped in the dropdown: Base, Editor Themes, and 5
- 46 built-in themes (grouped in the dropdown: Base, Editor Themes, and 5
categories of website-inspired schemes sourced from Figma's "53 Unique
Website Color Schemes" - 42 of the 53 kept, after cutting a couple of
neon-bright ones and several that ended up near-duplicates of another
scheme once mapped into actual UI colors), or a fully custom accent
color, corner radius, and card style
Website Color Schemes" - 34 of the 53 kept, all as dark/colored
backgrounds rather than the source page's mostly-white mockups, after
cutting a couple of neon-bright accents and pruning near-duplicates by
actual color distance), or a fully custom accent color, corner radius,
and card style
- Font, text size, page width, and spacing density
- Default library path override + manual "Refresh Library" (bypasses the
5-minute filesystem-scan cache)
@@ -199,10 +200,13 @@ folder and file names.
## Tools
`tools/generate_website_scheme_themes.py` is the one-off script that
produced the 42 "website scheme" theme entries in `THEME_PALETTES` (of
53 candidates - 11 were cut after visual review, 2 for a neon-bright
accent and 9 for landing too close to another kept scheme once mapped
into actual UI colors) - not part of the running app, kept for reference
if those palettes ever need regenerating or extending. See its module
docstring for how it turned Figma's color-scheme screenshots into actual
UI palettes.
produced the 34 "website scheme" theme entries in `THEME_PALETTES` (of
53 candidates - all 24 light-mode ones were converted to dark/colored
backgrounds per request, then 19 were cut across two review passes: 2
for a neon-bright accent, 17 for landing too close to another kept
scheme once mapped into actual UI colors, since forcing everything dark
made several collide that hadn't before) - not part of the running app,
kept for reference if those palettes ever need regenerating or
extending. `build_theme()` takes a `force_mood='dark'|'light'` override
for exactly this kind of bulk remapping. See its module docstring for
how it turned Figma's color-scheme screenshots into actual UI palettes.