Re: Animation timing and set

Sue,

I haven't had time to study your comments in depth, but one of the 
engineers at Adobe familiar with SVG animation provided the following response:

It looks to me like she's saying we *should* handle the timing attributes 
for 'animate' and 'set' differently, not that we *do*. I think she's 
suggesting that she wants the <set> element to be ignored when processing a 
"prev" specification (as in prev.end). This doesn't make sense to me. I can 
only think that she doesn't understand that a <set> element can also have 
an "end" or "dur" attribute, and therefore thinks that prev.end would never 
apply to <set> elements. But that's wrong, since you'd either have to also 
disallow prev.begins on <set>s, or be inconsistent and allow .begin 
references but not .end references on <set> elements.

She can easily accomplish what she's trying to do by referencing the 
"begin" event rather than the "end" event. So instead of her:

<animate begin="prev.end"...>
<set     begin="prev.end"...>
<animate begin="prev.end"...>  // Incorrectly attempts to reference first 
<animate>.

she can do:

<animate begin="prev.end"...>
<set     begin="prev.end"...>
<animate begin="prev.begin"...>  // Same as referencing first <animate>'s 
end, since the <set>'s begin is set to the first <animate>'s end.

As for her last comment, I don't understand what she means by "doesn't seem 
to recognise any <animate> statements with dur="0s"". I tried the 
following, and it works fine. Maybe you could get her to submit a sample of 
what she's talking about?

<svg>
         <circle cx="100" cy="100" r="50" fill="magenta">
                 <animate attributeName="r" from="50" to="100" dur="0s"/>
                 <animate attributeName="fill" 
values="magenta;blue;magenta" dur="4s" begin="prev.end"/>
         </circle>
</svg>

Jon Ferraiolo
SVG 1.0 Editor
jferraio@adobe.com

At 04:50 PM 7/26/01 +1000, Hoylen Sue wrote:
>Hi,
>
>I'm using SVG to write animations using just declarative SVG.  The
>following is a suggestion for a feature to be included in SVG (maybe
>2.0, or 1.0 if it is not too late).
>
>The problem I have is that the time instance that <set> occurs cannot be
>used as a time event for other animations.  This makes it a little bit
>difficult when you want to chain a sequence of animation steps (some
><animate> and some <set>) together.
>
>For example, I have to resort to doing:
>
>  <animate ...>
>  <animate begin="prev.end" id="foo" ...>
>  <set     begin="prev.end"...>
>  <animate begin="foo.end">
>  ...
>
>When it would be easier if the <set>s were transparent, so that you can
>do something like:
>
>  <animate...>
>  <animate begin="prev.end"...>
>  <set     begin="prev.end"...>
>  <animate begin="prev.end"...>
>
>and have the sequence just trickle through, with the <set> acting like a
>dur="0s" animations. This would avoid the need to invent a new
>identifier just for the animations.
>
>I'm using the Adobe SVG plugin, which also doesn't seem to recognise any
><animate> statements with dur="0s" (or even very small durations).  Not
>sure if that is an implementation limit or one in the standard.
>
>Hoylen
>--
>__________________________________________________ Dr Hoylen Sue
>h.sue@dstc.edu.au                        http://www.dstc.edu.au/
>DSTC Pty Ltd --- Australian W3C Office           +61 7 3365 4310

Received on Thursday, 26 July 2001 15:00:41 UTC