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

1.4 KiB

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