themes: reconcile 12 palettes + WCAG mirror to the finalised colour spec - #176
Merged
Conversation
… spec Aligns Color.kt's 12 standard palettes (light + dark) to 'GoFlo Theme Redesign.md' so each palette's three-hue chord delivers on its name (e.g. Coral's tertiary is now sun-bleached gold, not rose-magenta; Dragon Fire is all fire; Midnight Neon glows in both modes). Updates the two changed light previewArgb values (Coral, Peach Melba) and corrects the now-wrong chord comments. Accessibility schemes (HighContrast, Blue & Orange), the WCAG AAA variants, colorSchemeFor(), CUSTOM, and the AppTheme enum names are all left untouched. Also reconciles the WCAG contrast checker's mirrored palette, which had drifted two generations behind Color.kt and was missing the Dragon Fire and Midnight Neon palettes entirely. The mirror is now regenerated from the same values as Color.kt; wcag_check.py (base64 of wcag_check_real.py) is regenerated to match. All 405 pairs pass across 27 themes; a11y_check.py is clean. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Hz3A1rUUrbhVHcRWgguUFD
mapgie
marked this pull request as ready for review
August 22, 2026 18:48
mapgie
pushed a commit
that referenced
this pull request
Aug 23, 2026
Conflict in wcag_check.py: main re-encoded the updated checker as a single base64 line (the same mangling this branch fixes). Resolved by taking main's updated content decoded to plain text. Also removed wcag_check_real.py, a byte-identical duplicate kept as a workaround while the canonical file was unrunnable, and dropped the roles spot-check's extra accent table now that the THEMES table covers all 27 themes. Re-verified against the reconciled palettes: 405 palette pairs and 81 derived roles all pass (worst 4.21:1). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TCyUnDhCFcXP9yr3FuywuV
8 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this is
The theme redesign deliverable from the design handover, kept as its own bounded PR (separate from the logging-redesign plan). It aligns
Color.kt's 12 named palettes toGoFlo Theme Redesign.md, the source of truth for the hex values.Changes
Color.kt— 12 palettes, light + dark (24 schemes):previewArgbswatches that changed (Coral0xFFBC4D3F, Peach Melba0xFFB35535); all other previews already matched.HighContrastLight/Dark,BlueOrange, all 24 WCAG AAA*Wcagvariants,CUSTOM, theThemeGroup/AppThemeenum names (DataStore keys), andcolorSchemeFor()'s signature.WCAG checker mirror (
wcag_check_real.py+ its base64wcag_check.py):C15542) and was missing the Dragon Fire and Midnight Neon palettes entirely, so it wasn't validating the palette that ships.Color.kt(single source of truth) and added the two missing palettes.wcag_check.pyis the base64 encoding ofwcag_check_real.py; regenerated so the two stay identical (verifiedbase64 -d wcag_check.py == wcag_check_real.py).Verification
python3 wcag_check_real.py→ 405 pairs pass across 27 themes, exit 0. Every standard palette now meets WCAG AA (4.5:1 text, 3:1 UI) in light and dark.python3 a11y_check.py→ clean, exit 0.patch);check_changelog_fragment.py→ OK.Notes
🤖 Generated with Claude Code
https://claude.ai/code/session_01Hz3A1rUUrbhVHcRWgguUFD
Generated by Claude Code