Re: [csswg-drafts] [css-color-4] Channel clipping breaks author expectations, especially when using 'perceptually uniform' spaces (#9449)

> But you are scaling up lightness. It should scale out in breadth, not height. Currently, we are talking about SDR colors. I don't see that disparity in luminance should be expected.
> As screens allow brighter HDR colors, that shouldn't 'move' our current definition of 'white', or push colors farther from it.

Sorry, but `oklch(90% 90% 0deg)` has a physical meaning and the picture that I [showed above](https://github.com/w3c/csswg-drafts/issues/9449#issuecomment-1980976323) shows exactly what that physical meaning is. If have a recent Macbook Pro, or if you have an Apple XDR display, you can see it for yourself [here](https://ccameron-chromium.github.io/webgl-examples/oklab.html).

I've checked my work many times. We cannot make progress about how `oklch(90% 90% 0deg)` should appear on a given screen if we do not agree on its physical meaning.

Here's a bit more of an explanation of that example and why it is correct.

Increasing the display's capabilities so it can go "above 1" allows you to express _some_ SDR colors from outside of your gamut.

Here's an example that should feel less controversial. Consider the color `color(display-p3 1 0.3 0.2)`. Suppose you have a display with sRGB primaries, but they can go above 1 (say, to 1.5). That display can produce this color, because it's equivalent to `color(srgb 1.087, 0.204, 0.106)`, which is in that display's capabilities. That color will look identical on this slightly-extended-sRGB display as it does on a true P3 display.

Note that you only get some wide gamut colors, but not all. Consider the color `color(display-p3 1 0 0)`. That same display cannot produce this color. Why? That color is `color(srgb 1.093, -0.227, -0.150)`, and while the phosphors of the display can go above 1, they cannot go below 0 (that's just physically impossible).

The color `oklch(90% 90% 0deg)` is equivalent to `color(display-p3 1.406 0.347 0.823)`, and so it sits well within the capabilities of this display. As in the first example in this section, you are seeing the true definition of the color, as it would appear on some future ultra-wide-color display.

> I agree with @facelessuser - it is confusing that the claim of how this color 'will look in the future' is not in any way maintaining a perceptually uniform lightness. 

What you see is the true physical meaning indicated by the color `oklch(90% 90% 0deg)`. If it's not what you wanted, then the problem is with the `oklch` definition.

My sense is that we are trying to get the color values of `oklch` to mean something that they don't actually mean. Such an endeavor will have downstream consequences.

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


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

Received on Wednesday, 6 March 2024 20:13:38 UTC