Re: [csswg-drafts] [css-color] Add OKLab, OKLCH (#6642)

For the scaling of  _a_ & _b_ , this statement in the [OKlab defining article](https://bottosson.github.io/posts/oklab/#how-oklab-was-derived) did give me slight pause:

> The _a_ and _b_ plane is scaled so that around 50% gray the ratio of color differences along the lightness axis and the _a_ and _b_ plane is the same as the ratio for color differences predicted by CIEDE2000

because the formula for deltaE2000 introduces a mean-chroma-dependent asymmetry between _a_ and _b_, strongest right on the neutral axis (recalculated  _a_ is **1.5** times _b_) then fading off to below **1.1** at chroma 27 and below **1.01** at chroma 40.

https://github.com/w3c/csswg-drafts/blob/b9ec4cb357e2a70596ed6863dff8b2bdde8d4060/css-color-4/deltaE2000.js#L27-L40

(For the curious, the values of Cbar, G, and adash are [tabulated here](https://www.w3.org/Graphics/Color/Workshop/slides/lilley/Cbar-G-adash.txt))

This means that:

- scaling OKLab _a_ & _b_  relative to L solely based on deltaE 2000 comparisons on the neutral axis picks the point of maximum CIELAB _a_ & _b_ asymmetry
- scaling based on some dataset of color pairs will depend on the distribution of mean chroma in that data set

> I was mostly focused on the orthogonality between L, C and h

Which is a very useful property of OKLab, for gamut mapping and gradient generation

-- 
GitHub Notification of comment by svgeesus
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/6642#issuecomment-945796054 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Monday, 18 October 2021 13:56:43 UTC