|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to Dath will be documented here. |
| 4 | + |
| 5 | +The format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). |
| 6 | + |
| 7 | +--- |
| 8 | + |
| 9 | +## [0.1.0] — 2026-05-07 |
| 10 | + |
| 11 | +Initial release. |
| 12 | + |
| 13 | +### Added |
| 14 | + |
| 15 | +#### CVD Colour Correction |
| 16 | + |
| 17 | +- LMS daltonization engine based on Brettel, Viénot & Mollon (1997) — zero external dependencies |
| 18 | +- Correction modes: `deuteranopia`, `protanopia`, `tritanopia` |
| 19 | +- Severity slider (0.1–1.0) for partial CVD correction |
| 20 | +- Corrects 185 workbench UI colour tokens (editor, sidebar, tabs, terminal, diff, minimap, and more) |
| 21 | +- Corrects TextMate syntax token colours read directly from the active theme file on disk |
| 22 | +- JSONC comment stripping and `include` chain resolution for theme file parsing |
| 23 | +- Custom palette slots (`custom1`, `custom2`, `custom3`) with per-role colour pickers in the panel |
| 24 | +- Semantic role matching (String, Keyword, Function, Comment, Error, Warning, Added, Deleted, Modified) for custom palettes |
| 25 | + |
| 26 | +#### Visual Comfort |
| 27 | + |
| 28 | +- Contrast modes: `soften`, `warm`, `cool`, `dim` |
| 29 | +- Contrast strength slider (0.1–1.0) |
| 30 | +- Warmth/temperature bias slider (−1.0 to +1.0) for persistent hue tint on top of all corrections |
| 31 | + |
| 32 | +#### Rainbow Brackets |
| 33 | + |
| 34 | +- CVD-safe bracket palettes derived from the Wong (2011) colour palette |
| 35 | +- Per-CVD-mode palettes — automatically matched to the active correction mode |
| 36 | +- Shape hints (underline) via TextMate rules for colour-independent pair identification |
| 37 | + |
| 38 | +#### Font & Spacing |
| 39 | + |
| 40 | +- Font family override — quick picks for OpenDyslexic, Atkinson Hyperlegible, and Lexie Readable |
| 41 | +- Free-text font input — type any font installed on the system |
| 42 | +- Font size override (px) |
| 43 | +- Line height override |
| 44 | +- Letter spacing override (px) |
| 45 | + |
| 46 | +#### Panel |
| 47 | + |
| 48 | +- Live interactive webview control surface — changes apply immediately |
| 49 | +- CVD mode button group (none / deuteranopia / protanopia / tritanopia / custom1 / custom2 / custom3) |
| 50 | +- Severity, contrast strength, and warmth bias sliders with live label updates |
| 51 | +- Contrast mode button group |
| 52 | +- Rainbow bracket and shape hint toggles |
| 53 | +- Font family buttons and free-text input |
| 54 | +- Font size, line height, and letter spacing sliders |
| 55 | +- Per-section reset buttons (CVD, Visual Comfort, Brackets, Font & Spacing) |
| 56 | +- Global reset to defaults |
| 57 | +- Colour correction live preview — before/after swatches for representative theme colours |
| 58 | +- Inline colour pickers on swatches in custom palette mode |
| 59 | +- Bracket palette preview (swatches + live code sample) |
| 60 | +- Profile management (apply saved profiles, save new profiles) |
| 61 | + |
| 62 | +#### Profiles |
| 63 | + |
| 64 | +- Named configuration profiles — save, apply, and delete |
| 65 | +- Three built-in starter profiles seeded on first install: Deuteranopia, Protanopia, Dyslexia Comfort |
| 66 | +- Profiles capture all settings: CVD mode and severity, contrast, brackets, font family, font size, line height, letter spacing |
| 67 | + |
| 68 | +#### Core |
| 69 | + |
| 70 | +- Status bar item — shows active profile or CVD mode, click to open panel |
| 71 | +- Setup wizard (onboarding) — CVD type, contrast preference, rainbow brackets, shape hints |
| 72 | +- Non-destructive operation — writes only to `workbench.colorCustomizations` and `editor.tokenColorCustomizations` overlay; theme files are never modified |
| 73 | +- Fire-and-forget activation to prevent blocking command registration |
| 74 | +- Theme cache with invalidation on theme change |
| 75 | +- Manual colour correction fallback (clipboard copy) when theme file cannot be read |
| 76 | + |
| 77 | +--- |
| 78 | + |
| 79 | +## [Unreleased] |
| 80 | + |
| 81 | +Nothing yet. |
0 commit comments