| Commit message (Expand) | Author | Age | Files | Lines |
| * | test(theme-studio): make generate.py importable and test the templating | Craig Jennings | 11 hours | 2 | -9/+102 |
| * | refactor(theme-studio): extract plane and palette-ΔE logic into the tested core | Craig Jennings | 11 hours | 4 | -40/+140 |
| * | chore(todo): close perceptual color metrics feature (all phases done) | Craig Jennings | 11 hours | 1 | -6/+7 |
| * | feat(theme-studio): render a Chroma×Lightness plane in OKLCH mode | Craig Jennings | 11 hours | 5 | -12/+126 |
| * | chore(todo): close Phase 4a OKLCH editor task | Craig Jennings | 12 hours | 1 | -2/+2 |
| * | feat(theme-studio): add an OKLCH edit mode to the picker | Craig Jennings | 12 hours | 2 | -8/+126 |
| * | chore(todo): close Phase 3 palette ΔE warnings task | Craig Jennings | 12 hours | 1 | -2/+2 |
| * | feat(theme-studio): warn on too-similar palette colors by ΔE | Craig Jennings | 12 hours | 2 | -0/+78 |
| * | fix(theme-studio): lay out picker OKLCH/APCA readouts in two columns | Craig Jennings | 13 hours | 2 | -2/+2 |
| * | chore(todo): close Phase 2 picker readouts task | Craig Jennings | 13 hours | 1 | -2/+2 |
| * | feat(theme-studio): show OKLCH and APCA readouts in the picker | Craig Jennings | 13 hours | 3 | -4/+41 |
| * | chore(todo): close colormath integration phase task | Craig Jennings | 13 hours | 1 | -2/+2 |
| * | feat(theme-studio): inline colormath.js, migrate WCAG/HSV helpers | Craig Jennings | 13 hours | 4 | -19/+317 |
| * | feat(theme-studio): add colormath.js perceptual color core | Craig Jennings | 14 hours | 2 | -0/+189 |
| * | docs(theme-studio): add seeding-engine spec | Craig Jennings | 14 hours | 2 | -2/+362 |
| * | chore(todo): track theme-studio guide-support feature specs | Craig Jennings | 14 hours | 1 | -0/+6 |
| * | docs(theme-studio): add color-assignment guide | Craig Jennings | 14 hours | 2 | -0/+477 |
| * | docs(theme-studio): add perceptual color metrics spec | Craig Jennings | 17 hours | 2 | -1/+609 |
| * | fix(theme-studio): open the picker crosshair on the current color | Craig Jennings | 21 hours | 2 | -2/+4 |
| * | feat(theme-studio): add dupre theme design exports | Craig Jennings | 22 hours | 2 | -0/+10586 |
| * | chore(emacs): sync abbrev_defs | Craig Jennings | 22 hours | 1 | -2/+3 |
| * | chore(todo): drop the F8-in-ghostel manual check (confirmed passing) | Craig Jennings | 22 hours | 1 | -5/+0 |
| * | feat(term): open the agenda with F8 from inside ghostel buffers | Craig Jennings | 22 hours | 3 | -5/+52 |
| * | chore(pearl): default to the deepsat workspace again | Craig Jennings | 22 hours | 1 | -4/+4 |
| * | fix(theme-studio): make a face-row click visibly flash its preview element | Craig Jennings | 24 hours | 2 | -10/+16 |
| * | refactor(theme-studio): rename theme-selector to theme-studio | Craig Jennings | 24 hours | 10 | -46/+46 |
| * | feat(theme-selector): sortable package and UI face tables | Craig Jennings | 26 hours | 2 | -4/+24 |
| * | feat(theme-selector): remember the imported/saved file so save overwrites it | Craig Jennings | 26 hours | 2 | -16/+34 |
| * | feat(theme-selector): bold/italic/underline/strike controls on the UI face table | Craig Jennings | 26 hours | 2 | -15/+21 |
| * | docs(theme-selector): document underline and strike in the theme.json contract | Craig Jennings | 27 hours | 2 | -4/+7 |
| * | feat(theme-selector): converter writes :underline and :strike-through | Craig Jennings | 27 hours | 2 | -14/+40 |
| * | feat(theme-selector): underline and strikethrough on package faces | Craig Jennings | 27 hours | 2 | -22/+22 |
| * | feat(theme-selector): split C and C++ code samples, add Java | Craig Jennings | 27 hours | 3 | -13/+65 |
| * | feat(theme-selector): bespoke shr preview (themes nov, eww, and HTML mail) | Craig Jennings | 27 hours | 3 | -8/+37 |
| * | feat(theme-selector): bespoke previews for slack and telega | Craig Jennings | 27 hours | 3 | -8/+136 |
| * | feat(theme-selector): bespoke previews for calibredb, erc, org-drill, org-not... | Craig Jennings | 27 hours | 2 | -5/+121 |
| * | chore(todo): ticket evaluating the jamescherti essential-packages list | Craig Jennings | 27 hours | 1 | -0/+3 |
| * | feat(theme-selector): bespoke previews for lsp-mode, git-gutter, flycheck, di... | Craig Jennings | 28 hours | 3 | -13/+184 |
| * | feat(theme-selector): bespoke previews for ghostel, mu4e, and dashboard | Craig Jennings | 29 hours | 4 | -10/+137 |
| * | feat(theme-selector): near-complete face coverage in org/magit/elfeed previews | Craig Jennings | 30 hours | 2 | -42/+142 |
| * | feat(theme-selector): bidirectional flash-link for UI and package faces | Craig Jennings | 30 hours | 3 | -12/+21 |
| * | style(theme-selector): 12pt previews and assignment-table refinements | Craig Jennings | 30 hours | 2 | -26/+26 |
| * | style(theme-selector): unify all previews to a 10pt point size | Craig Jennings | 30 hours | 2 | -12/+12 |
| * | feat(theme-selector): convert theme.json into a loadable deftheme | Craig Jennings | 30 hours | 4 | -7/+558 |
| * | chore(todo): ticket the theme-selector theme.json to dupre-*.el converter | Craig Jennings | 30 hours | 1 | -0/+17 |
| * | test(theme-selector): cover the tier-3 acceptance criteria in the self-test | Craig Jennings | 31 hours | 3 | -7/+20 |
| * | docs(theme-selector): rewrite README for the full tool (tier-3 phase 7) | Craig Jennings | 31 hours | 2 | -24/+91 |
| * | feat(theme-selector): generated all-package inventory (tier-3 phase 6) | Craig Jennings | 31 hours | 5 | -3/+768 |
| * | feat(theme-selector): magit and elfeed bespoke previews (tier-3 phase 5) | Craig Jennings | 31 hours | 3 | -6/+70 |
| * | feat(theme-selector): org-mode bespoke preview (tier-3 phase 4) | Craig Jennings | 31 hours | 3 | -4/+62 |