- From: Tab Atkins Jr. via GitHub <sysbot+gh@w3.org>
- Date: Thu, 30 Apr 2020 23:54:00 +0000
- To: public-css-archive@w3.org
Thinking about the cylindrical spaces (HSL and LCH) - the intention is, iirc, that they interpolate the components as stated (rather than doing a linear interpolation thru the space), so if you interpolate yellow->blue will be green in the middle, not gray, right? Assuming that's the case, how do we handle interpolation to a zero-chrome color? Blue->white should presumably just have the blue become paler and paler until you hit white, right? It should *not* interpolate the hue angle to some arbitrary value, such as going to 0deg and thus becoming purplish in the middle, right? Assuming *that's* the case, then we almost certainly want this to apply both to zero-chroma and "very close to zero" chroma; we don't want a discontinuity in behavior when one of the endpoints is exactly on vs slightly off the L axis. This implies we want to define something thematically similar to premultiplied alpha; we want the hue-angle interpolation to favor the higher-chroma color, such that if going from "has chroma" to "zero chroma", the hue angle doesn't change until the final moment (when it no longer matters); when going from "higher chrome" to "lower chroma", the hue angle interpolates non-linearly, staying close to the higher-chroma hue for most of the transition before quickly transitioning to the lower-chroma hue at the end. I don't know if there's already some industry approaches to this, but if not, perhaps we could define something akin to the gradient-midpoint approach, selecting the "midpoint" based on the relative ratios of the chromas? -- GitHub Notification of comment by tabatkins Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/4647#issuecomment-622180000 using your GitHub account
Received on Thursday, 30 April 2020 23:54:02 UTC