Re: [CSS Images] syntax for color interpolation hint

On Fri, Oct 3, 2014 at 12:06 AM, Robert O'Callahan <robert@ocallahan.org> wrote:
> http://dev.w3.org/csswg/css-images-4/#color-interpolation-hint
>
> This feature lets authors adjust the interpolation between two color stops.
> The current syntax uses a fake color stop with a position and no color as an
> instruction to interpolate differently between the two real stops on either
> side of it. The position of the color stop is used as a parameter to control
> the interpolation.
>
> I'm unconvinced this syntax is a good idea. Using a fake color stop for this
> purpose just seems like a hack. If someone accidentally leaves out a color
> from a color stop they will trigger this feature accidentally. It also means
> there are edge cases we have to check for and reject in the parser, e.g.
> consecutive fake color stops. It's also not particularly extensible; we're
> consuming this part of the syntax (color-less stop) for a particular feature
> that isn't directly related to that syntax.

Calling it a "fake color stop" is a bit misleading, and might be
leading your thoughts wrong.  The <color-stop-list> is a list of
<color-stop>s and <color-stop-hint>s.  The grammar of a
<color-stop-hint> is just [<length>|<percentage>], which does happen
to look like a <color-stop> if you forget the (mandatory) color, but I
think that's a distraction.

The "color-less stop" wasn't very valuable, when I had it.  It was
just an attempt to do this kind of interpolation, but it did it with
more linear stops, and wasn't as useful.

> For an obscure feature like this, can't we afford to be more explicit. e.g.
> attach an interpolation() function to the color-stop before the interval we
> want to change the interpolation of? Or allow interpolation() values to be
> interspersed with color stops? Am I the only person who has qualms here?

I don't have strong opinions on the syntax, but I don't have any
problem with the current syntax, either.

~TJ

Received on Friday, 3 October 2014 15:05:18 UTC