Files
2026-05-27 23:29:53 +01:00

21 lines
1.4 KiB
Markdown

# Tasks: colours
1. Create OpenSpec change folder with proposal, tasks, spec delta
2. Scaffold package: package.json, tsconfig, vitest config, vite config, README
3. Implement error-codes (`COLOUR_CODES` via `defineCodes`)
4. Implement errors (`ColourError extends SuaveplanError` with typed factories)
5. Implement colour-types (Zod schemas for RGBA, HSLA, LAB, LCH, OKLAB, OKLCH, CMYK, ColourInput)
6. Implement utils (clamp, roundChannel, roundPercent, roundAlpha, isFiniteNumber)
7. Implement parser (hex, rgb/rgba, hsl/hsla, lab, lch, oklab, oklch, named colour parsing)
8. Implement conversions (rgb↔hsl, rgb↔hsv, rgb↔xyz, xyz↔lab, lab↔lch, rgb↔oklab, oklab↔oklch, rgb↔cmyk)
9. Implement Colour class (chainable manipulation, analysis, output formatters)
10. Implement colour-factories (random, fromTemperature, blend, steps, palette)
11. Write tests for all modules (100% istanbul coverage target)
12. Write co-located .md docs for every feature module
13. Run lint, typecheck, test, build, coverage gates
14. Plugin: `@suaveplan/colour-convert-hsluv` — HSLuv/HPLuv conversions and harmonies
15. Plugin: `@suaveplan/colour-convert-cieluv` — CIELUV, xyY, LMS, Bradford adaptation
16. Plugin: `@suaveplan/colour-filter-cmc` — CMC l:c Delta-E distance
17. Plugin: `@suaveplan/colour-filter-cct` — Correlated Colour Temperature
18. Fold spec delta into `openspec/specs/colours/spec.md` and archive