Re: [csswg-drafts] [css-color-4] Consider adding "extended" and "linear" variants of the predefined RGB-ish color spaces (#6087)

I'm aware of this requirement, Canvas for example wants to have this as they reference Color 4 for predefined colorspaces.

SVG also needed a stable reference for linear-light sRGB because this is what SVG Filters use by default (and the rest of SVG can also optionally use this). Which is why [`linear-light sRGB`](https://drafts.csswg.org/css-color-4/#linear-light-sRGB) is in the list of defined and exported terms.

What wasn't clear to me though was whether to 

1. Expose this to CSS syntax, so you could use something like `color(srgb-linear 0.2 0.5 0.9)`, or
2. Expose the defined terms for other specifications to link to, but not make them available from CS syntax

In terms of extended vs. not, I think that is a separate issue and I am in process of changing all the transfer functions (EOTFs) to cover the full range, for non-linear-light ("gamma encoded", although [that term is problematic]() spaces. It simply involves extending any linear portion near the origin, for the same distance in the negative; and then mirroring the curved portion.

The [sample code](https://drafts.csswg.org/css-color-4/#color-conversion-code) has that change, I need to check all of them have been done. The `transfer function` part of the [predefined colorspaces](https://drafts.csswg.org/css-color-4/#predefined) has not been done yet, but I will do so.

Specifications which reference these spaces and require clamped values are unaffected, because the clamping means they don't exercise that part of the EOTF; and everyone else gets it "for free" and it just works. 

Linear-light versions get extended for free, because the EOTF is a straight line and extended it is still a straight line.

So I don't think there is a need to expose special `-extended` versions in CSS. Just make the regular ones extended.

On naming: I see the Canvas and WebGPU folks using things like `srgb-linear` while @samweinig used `linear-srgb` as an example. I have a _slight_ preference for putting the colorspace first so that they group together in indexes of terms.

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


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

Received on Monday, 8 March 2021 20:13:52 UTC