| Commit message (Expand) | Author | Age | Files | Lines |
| * | feat(theme-studio): re-bind "(gone)" assignments when a name returns | Craig Jennings | 10 hours | 3 | -15/+85 |
| * | feat(theme-studio): warn which ramp steps collide with existing names | Craig Jennings | 10 hours | 3 | -12/+36 |
| * | style(theme-studio): widen ramp tiles to the palette-tile width | Craig Jennings | 10 hours | 2 | -2/+2 |
| * | feat(theme-studio): show the hex under each ramp preview tile | Craig Jennings | 10 hours | 3 | -4/+8 |
| * | fix(theme-studio): ramp preview reads the current color tile | Craig Jennings | 10 hours | 2 | -8/+24 |
| * | docs(theme-studio): document ramps and contrast safety in the README | Craig Jennings | 11 hours | 1 | -1/+44 |
| * | feat(theme-studio): mark safe lightness in the OKLCH picker | Craig Jennings | 11 hours | 5 | -7/+81 |
| * | feat(theme-studio): show worst-case contrast for overlay faces | Craig Jennings | 11 hours | 3 | -5/+99 |
| * | feat(theme-studio): add the ramp UI in the palette | Craig Jennings | 11 hours | 5 | -1/+161 |
| * | feat(theme-studio): add the background-contrast safety core | Craig Jennings | 11 hours | 3 | -2/+221 |
| * | feat(theme-studio): add the ramp generator core | Craig Jennings | 11 hours | 4 | -2/+181 |
| * | feat(theme-studio): make sterling the default theme, replacing dupre | Craig Jennings | 16 hours | 3 | -4/+5792 |
| * | fix(theme-studio): drop the contrary shr-sliced-image fg; file bevel + consis... | Craig Jennings | 16 hours | 2 | -2/+2 |
| * | fix(theme-studio): apply the package-face audit — dead faces, structural de... | Craig Jennings | 17 hours | 2 | -40/+39 |
| * | feat(theme-studio): add a real, exported :box face attribute | Craig Jennings | 17 hours | 6 | -40/+92 |
| * | fix(theme-studio): make the live buffer preview render UI faces the way Emacs... | Craig Jennings | 20 hours | 4 | -37/+137 |
| * | build(theme-studio): add a local Makefile; root delegates test + coverage | Craig Jennings | 22 hours | 2 | -1/+68 |
| * | test(theme-studio): extract color/slug helpers to importable modules and cove... | Craig Jennings | 22 hours | 8 | -21/+199 |
| * | docs(theme-studio): warn that fill_data tokens are replaced in comments too | Craig Jennings | 24 hours | 1 | -0/+3 |
| * | test(theme-studio): extract app-core.js and unit-test the app logic | Craig Jennings | 24 hours | 6 | -17/+225 |
| * | refactor(theme-studio): parameterize clear-unlocked, add effFg/effBg helpers | Craig Jennings | 24 hours | 2 | -32/+46 |
| * | refactor(theme-studio): unify the syntax table onto the shared sort | Craig Jennings | 24 hours | 4 | -21/+45 |
| * | refactor(theme-studio): extract crHtml and mkStyleButtons table helpers | Craig Jennings | 25 hours | 2 | -14/+42 |
| * | refactor(theme-studio): unify color dropdowns on the swatch picker | Craig Jennings | 25 hours | 2 | -40/+38 |
| * | refactor(theme-studio): extract CSS and JS to files, inline at generate time | Craig Jennings | 25 hours | 4 | -912/+941 |
| * | test(theme-studio): pin lock behaviors with a #locktest gate | Craig Jennings | 25 hours | 3 | -1/+59 |
| * | feat(theme-studio): swatch dropdowns, lock toggles, palette seeding | Craig Jennings | 25 hours | 2 | -60/+235 |
| * | test(theme-studio): add a one-command test runner and make target | Craig Jennings | 32 hours | 2 | -0/+91 |
| * | test(theme-studio): make generate.py importable and test the templating | Craig Jennings | 32 hours | 2 | -9/+102 |
| * | refactor(theme-studio): extract plane and palette-ΔE logic into the tested core | Craig Jennings | 32 hours | 4 | -40/+140 |
| * | feat(theme-studio): render a Chroma×Lightness plane in OKLCH mode | Craig Jennings | 32 hours | 5 | -12/+126 |
| * | feat(theme-studio): add an OKLCH edit mode to the picker | Craig Jennings | 33 hours | 2 | -8/+126 |
| * | feat(theme-studio): warn on too-similar palette colors by ΔE | Craig Jennings | 33 hours | 2 | -0/+78 |
| * | fix(theme-studio): lay out picker OKLCH/APCA readouts in two columns | Craig Jennings | 34 hours | 2 | -2/+2 |
| * | feat(theme-studio): show OKLCH and APCA readouts in the picker | Craig Jennings | 34 hours | 3 | -4/+41 |
| * | feat(theme-studio): inline colormath.js, migrate WCAG/HSV helpers | Craig Jennings | 34 hours | 4 | -19/+317 |
| * | feat(theme-studio): add colormath.js perceptual color core | Craig Jennings | 34 hours | 2 | -0/+189 |
| * | docs(theme-studio): add color-assignment guide | Craig Jennings | 35 hours | 2 | -0/+477 |
| * | fix(theme-studio): open the picker crosshair on the current color | Craig Jennings | 41 hours | 2 | -2/+4 |
| * | feat(theme-studio): add dupre theme design exports | Craig Jennings | 42 hours | 2 | -0/+10586 |
| * | fix(theme-studio): make a face-row click visibly flash its preview element | Craig Jennings | 45 hours | 2 | -10/+16 |
| * | refactor(theme-studio): rename theme-selector to theme-studio | Craig Jennings | 45 hours | 7 | -20/+20 |
| * | feat(theme-selector): sortable package and UI face tables | Craig Jennings | 47 hours | 2 | -4/+24 |
| * | feat(theme-selector): remember the imported/saved file so save overwrites it | Craig Jennings | 47 hours | 2 | -16/+34 |
| * | feat(theme-selector): bold/italic/underline/strike controls on the UI face table | Craig Jennings | 47 hours | 2 | -15/+21 |
| * | docs(theme-selector): document underline and strike in the theme.json contract | Craig Jennings | 47 hours | 1 | -3/+5 |
| * | feat(theme-selector): converter writes :underline and :strike-through | Craig Jennings | 47 hours | 1 | -7/+13 |
| * | feat(theme-selector): underline and strikethrough on package faces | Craig Jennings | 47 hours | 2 | -22/+22 |
| * | feat(theme-selector): split C and C++ code samples, add Java | Craig Jennings | 47 hours | 3 | -13/+65 |
| * | feat(theme-selector): bespoke shr preview (themes nov, eww, and HTML mail) | Craig Jennings | 47 hours | 3 | -8/+37 |