[Cuis-dev] Oklab color space and Oklch

Luciano Notarfrancesco luchiano at gmail.com
Tue Dec 9 10:07:53 PST 2025


On Wed, Dec 10, 2025 at 00:21 Juan Vuletich <juan at cuis.st> wrote:

>
> Why didn't you use 0.0 and 1.0 as min and max values?


I just followed the specification. The chroma parameter doesn’t really have
an upper limit, I’m not sure why it was made in this way. In practice, it
doesn’t seem to make a difference to go over 0.5, and CSS uses 0.4 as 100%.

Would you provide the conversion from sRGB (i.e. our Color instances) to
> OkLCH? That is really needed too. I'd also want an instance creation
> method that answers nil if parameters lie outside our sRGB space of
> Color instances (i.e. if the OkLCH values can not be accurately
> represented by an instance of Color). Does #okOrNilL:c:h: sound
> reasonable? Any better option? With these two, I could do something like
> #experimentsTowardsANewColorPalette but using this better color space.
>

Yeah, my idea was to try to do some sort of parallel protocol for different
color spaces, something like aColor okLChDo: [:L :C :h| …], HSLDo:, etc.
Later we could rethink messages like #hue (that currently returns the HSL
hue, and its different to the OkLCH hue), and I’m not sure if we should
eliminate those methods or make a unifying choice of a specific color space
and coordinates. The message okOrNilL:c:h: might be ok, aother option could
be okl:c:h:ifFail: with a block as argument, not sure. And perhaps later we
could start cleaning up all those messages like veryVeryMuchDarker,
quiteDarker, etc, or come up with something better (should again look at
what designers do for these things, I think).


Finally, it would be wonderful to migrate all our theme related stuff to
> this. This is so much better! Also, all our 'groups of shades' and
> 'transformations' methods look so primitive... We really need to update
> all that stuff.
>

Yes, absolutely, I think it would be great. I’ll try to help with anything
necessary, perhaps do it in small steps so that we don’t break everyones
themes. Hopefully more people will be interested in helping with all this…
it’s a fun project and there are many small parts to it.

Cheers,
Luciano
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20251210/839b7394/attachment.htm>


More information about the Cuis-dev mailing list