Re: [csswg-drafts] [css-color-4] [css-color-5] inconsistent mentions of powerless components in `white`. (#8609)

Re-reading, this concept of powerlessness is too loosely explained and the concepts of powerlessness and missing are too strongly equated:

> .[4.1. “Powerless” Color Components](https://drafts.csswg.org/css-color-4/#powerless)

> Individual color syntaxes can specify that, in some cases, a given component of their syntax becomes a powerless color component. This indicates that the value of the component doesn’t affect the rendered color; any value you give it will result in the same color displayed in the screen.

Some problems: "the rendered color" implies a single color, but this also affects interpolation where (as we have seen) it *does* affect the rendered color. 

Secondly, the reason for the color looking a given way "when displayed" is misrepresented. It is because the color is out of gamut, not because the un-mapped color has anything missing.

Thirdly, requiring computed powerless components to become missing gives unexpected discontinuities and obscures the actual meaning of a color

This can be easily seen by considering a gradient from a super-high-chroma yellow, to black. Take P3 yellow, which is `oklch(0.9647641 0.2450315 110.22981)` the gradient will clearly be showing yellow as it changes to black.

And then another yellow, same chroma and hue, but now the Lightness is 0.999 instead of 0.964. This will gamut map to almost white, but the gradient will be very similar with clearly yellow parts as it goes to black. But no powerless or missing components here.

Finally bump the L from 0.999 to 1.0 and suddenly whoops, the very definite yellow hue becomes powerless and the very large chroma now becomes powerless too, then missing. So now we have a white to black gradient?

All due to a confusion between _what a single color displays like_ and _how a color behaves when interpolated_.

The fact that the spec text on powerless is a sub-section of missing, also speaks to this confusion. It should be the other way around: some components can be powerless, and of those, some are genuinely missing (he for achromatic colors) while others are not (hue and chroma for high-chroma, out of gamut colors).

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


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

Received on Thursday, 6 July 2023 18:52:05 UTC