Re: [csswg-drafts] [css-color-4] Premultiplication in cylindrical spaces and mixing (#11238)

> And I don't quite follow the argument about affine spaces, and don't think compositing is restricted to coordinates that have a meaningful concept of scaling. Ultimately, the final output is a weighted sum of values, and if the weights sum to 1 then I don't see a fundamental mathematical problem.

You can probably *composite* in any space in theory (I'm not sure, but I'll take your word for it), but you can't do *premultiplication* in color spaces with affine coordinates (this I'm 100% sure of). Pre-multiplication is fundamentally a scaling operation, and you can't scale affine coordinates; there is no value of hue angle that means "0deg red, but half as much".

As a very specific example, there is *no* value of "pre-multiplied" hue angle that you can use for `transparent` that will have the same effect as doing pre-multiplied interpolation in RGB (that is, every color in the transition has the *other* endpoint's hue). This is why we have the notion of "missing" hue in the Color 4/5 interpolation rules, so that we can at least handle the common/trivial cases (a literal `transparent`, etc) as expected, even if it doesn't scale to "nearby" (mostly-transparent) colors.

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


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

Received on Friday, 22 November 2024 20:00:14 UTC