- From: Dirk Schulze <dschulze@adobe.com>
- Date: Thu, 15 Aug 2013 00:15:01 -0700
- To: Cameron McCormack <cam@mcc.id.au>
- CC: "public-fx@w3.org" <public-fx@w3.org>, www-svg list <www-svg@w3.org>
On Aug 15, 2013, at 7:45 AM, Cameron McCormack <cam@mcc.id.au> wrote: > Dirk Schulze wrote: >> 1) One of the filter function lists consist of at least one SVG >> filter reference (URL or<child> selector) > > Are there other properties that take lists of values that might or might > not be interpolable? We should have the same behaviour, if so. Maybe fill and stroke are comparable. Both can have an URL and a fallback color. WebKit/Blink animate the fallback color independent of the URL. Firefox just animates the fallback color of no URL was specified. > >> 2) At least one filter function pair is not of the same type. > > Same question here. CSS Transforms demands to multiply the transform functions all together and interpolate the resulting matrix. This is not really comparable. Other properties might have a different list length (like stroke-dasharray), but no different types. > >> To 1): Is it possible to remove this restriction and animate all >> function pairs if they are of the same type even if we have a SVG >> Filter reference? What happens with the filter reference? In theory >> they could follow the animation model of enumerations that the CSS WG >> agreed on in Lyon. (Every time the transition function crosses 0.5 on >> output percentage, the value flips to either from- or to-reference >> depending on the derivation of the transition function.) > > Sounds reasonable to me. WebKit/Blink do animate the other filter pairs if there is a URL, but does not switch the URLs depending on the animation function result or progress. > >> To 2): Many filter functions (shothands) can be described by color >> matrices. Is there a way to interpolate between color matrices? I >> assume that it does not necessarily produce meaningful results, just >> like interpolation between matrix items on CSS transforms. Does >> anyone have experience on that? > > I guess "meaningful" is open to interpretation. It at least will let > you see some continuous change in the filtered output. There's still a > good chance of it behaving unexpectedly, though. Consider for example > interpolating from 'hue-rotate(60)' to 'grayscale(0)'. That will behave > very differently from interpolating 'hue-rotate(0)', even though it has > the same colour matrix as 'grayscale(0)'. Well, if you interpolate the items of the color matrix, you should actually not see a difference (hue-rotate(0deg) and grayscale(0) are identity color matrices). > > I don't think we can come up with a useful canonical decomposition (or > maybe one at all?) like we do with transforms. I didn't find a good one yet, but will investigate further. Even then, how would the computed style look like? Greetings, Dirk
Received on Thursday, 15 August 2013 07:15:42 UTC