First PyPI release since 0.2.2 — carries the vividness control, the new helix palette kind, and the helix audit fixes.
New
kind="helix"— a cubehelix-inspired path through OKLCH: designed lightness steps evenly while hue rotatesrotationsfull turns from the seed. A multi-hue sequential scale; because the hue sweeps regardless of where it starts, it is the robust choice when no single seed is ideal.vividness(0.0–1.0) on every kind — lifts chroma toward the gamut edge without touching lightness. Default 0.0 reproduces earlier versions exactly; more chroma also tends to improve separation.cvd_luminance_monotonicdiagnostic for helix — checks that luminance order actually survives each simulated CVD condition rather than assuming it from construction.
Fixed
- Helix
vividnessis now monotonic in chroma: it no longer reduced chroma at gamut-limited stops for saturated seeds. - Docs/experiment claims tightened: helix is checked for CVD luminance order, not assumed safe; the pitch-colour art experiment is framed as an audited artistic mapping, reported by minimum (not mean).
- Precomputed OKLab inverse matrices; removed stale 0.2.1 DOI metadata.
Quality
- 123 Python tests (3.10–3.14); Python↔R parity byte-identical on 16/16 palette specs;
R CMD check --as-cranclean; wheel/sdisttwine checkpassed. - Every diagnostic computed on the returned 8-bit HEX colours (since 0.2.2), so the audit describes exactly the palette you receive.
Deterministic, local, numpy-only (Python) / base-R. Apache-2.0. pip install palettecore.