W3C home > Mailing lists > Public > www-svg@w3.org > June 2006

Re: calcMode="linear" with numeric and non-numeric values

From: Cameron McCormack <cam@mcc.id.au>
Date: Fri, 9 Jun 2006 10:32:51 +1000
To: www-svg@w3.org
Message-ID: <20060609003251.GD11170@port.mcc.id.au>

Hi Doug.

Cameron McCormack:
> <animate attributeName="kerning" dur="6s" calcMode="linear"
>          values="auto; 0; 1"/>

Doug Schepers:
> Values that cannot be converted cannot be smoothly animated. Therefore, an
> animation step involving a non-numeric value will be a discontinuous
> animation. In the case above, the animation between "auto" and "0" would be
> discontinuous, but the animation between "0" and "1" would be continuous.
> Similarly, animation between any 2 non-numeric values would be
> discontinuous.

OK.  In my original mail, there were a couple of different options for
how the segments should be constructed in such an example.  The relevant
two are (with ‘inherit’ changed to ‘auto’, to make the example
sensible):

>  * Treat it the same as calcMode="linear", but don't actually do any
>    interpolation between 'auto' and '0':
>
>      'auto'   from 0s to 3s
>      '0'..'1' from 3s to 6s
>
>  * Treat it like a separate calcMode="discrete" between 'auto' and
>    '0' and calcMode="linear" between '0' and '1', distributing the
>    segments equally:
>
>      'auto'   from 0s to 2s
>      '0'      from 2s to 4s
>      '0'..'1' from 4s to 6s

Or, a more extreme example:

  <animate attributeName="fill" dur="2s" calcMode="linear"
           values="url(#paint1); url(#paint2)"/>

The first option would result in:

  'url(#paint1)' from 0s to 2s

and the second value would not be used at all (unless fill="freeze").
The second option would result in:

  'url(#paint1)' from 0s to 1s
  'url(#paint2)' from 1s to 2s

Which one should it be?

> If this is not sufficiently clear from the specification, please respond
> within 2 weeks with suggested text.

I don’t think it is sufficiently clear from the specification.  All that
is said is:

  If a given attribute or property can take values of keywords (which
  are not additive) or numeric values (which are additive), then
  additive animations are possible if the subsequent animation uses a
  numeric value even if the base animation uses a keyword value;
  however, if the subsequent animation uses a keyword value, additive
  animation is not possible.

which talks about the addition of multiple animations, but not values
within a given animation.

I’ll suggest some text after the answer to my above question.

Thanks,

Cameron

-- 
Cameron McCormack, http://mcc.id.au/
	xmpp:heycam@jabber.org  ▪  ICQ 26955922  ▪  MSN cam@mcc.id.au
Received on Friday, 9 June 2006 00:32:59 GMT

This archive was generated by hypermail 2.3.1 : Friday, 8 March 2013 15:54:34 GMT