







NUTELCH measures chroma relative to the gamut shell — the cusp — in OKLCH and LCH. You ask for a fraction of the way to the boundary (relC) instead of an absolute chroma, so “saturation” means the same thing at every lightness and hue and never accidentally lands out of gamut, while the result stays a native oklch() / lch() color. It's dependency-free and LUT-backed: the boundaries are precomputed, so lookups are fast. nutelch on GitHub →
CuspHanger — palettes from intuitive parameters
Sequential and diverging OKLCH palettes from a few intuitive parameters — the Wijffelaars et al. 2009 model, in-gamut by construction, for sRGB and Display-P3.

Generating a Color Spectrum for an Image — Amanda Hinton
Walkthrough of building the Chromaculture Spectrimage analyzer that extracts and displays the color composition of an uploaded image.

Too Much Color
I spent too much time looking at too many colo(u)rs to try and optimise them for csskit. Here are some interesting findings.

OKHST: predictable color generation for user interfaces — tenphi.me
OKHST is a tone-based color space for generating UI palettes that behave more predictably across states, dark mode, and high contrast.

OKLCH in CSS: why we moved from RGB and HSL—Martian Chronicles, Evil Martians’ team blog
CSS Color Module 4 adds oklch(), and we gain P3 wide-gamut support, boost code readability, and improve developer-designer communication.

Visualizing GL_NV_shader_sm_builtins
Using GL_NV_shader_sm_builtins to visualize Streaming Multiprocessors and Warps
Single-pass palette refinement and ordered dithering
Usually image color reduction is done in two independent phases: first a color quantization algorithm finds a palette, which is then used by a pixel mapping phase to assign every output pixel a color from the palette. Ignoring any possible dithering for now, the chosen palette color is the one with the shortest Euclidean distance to the original pixel color. But if we know both the old and new colors for each pixel, it’s possible to refine the palette.
loukesio/ltc-color-palettes
"ltc_palettes: Tailored for data visualization enthusiasts, ltc_palettes is an R package that offers a curated collection of color palettes. Crafted to enhance clarity and impact, these palettes ensure that your visual representations not only communicate data effectively but also aesthetically
How to Choose Colors for Your CLI Applications · Luna’s Blog
Let’s say you’re creating a CLI tool which has to display syntax highlighted source code. You begin by choosing some colors which look nice with your chosen terminal theme:
Color Palette Pro — A Synthesizer for Color Palettes
Generate customizable color palettes in advanced color spaces that can be easily shared, downloaded, or exported.

Color Palette Pro — A Synthesizer for Color Palettes
Generate customizable color palettes in advanced color spaces that can be easily shared, downloaded, or exported.

Unreal Scoop: Make your own “shaded textured unlit” viewmode real quick
Hammer, king of level editors, has a view mode where the scene is unlit, but not fullbright; it’s shaded to make it easier to parse. Unreal doesn’t have that! But you can add it yourself, really easily, with no C++ or Blueprint – just a postprocess material and a line in a config file. Here’s how!

Lovely Set of #rstats color pallets: ltc-color-palettes
oklch() has only one problem left. If a user chooses a color that this screen can’t display, browsers will look for the nearest alternative using a simplified algorithm instead of the one from the CSS spec: clipping instead of chroma reduction. evilmartians.com/chronicles/oklch-in-css-why-q…
OKLCH in CSS: why we moved from RGB and HSL—Martian Chronicles, Evil Martians’ team blog
evilmartians.comAn infinite zooming color space taataa.github.io/tapspace/examples/cielab/inde…