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

Re: Inheritance during SVG Animation of CSS properties -- should "base value" incorporate ancestors' animation effects?

From: Ken Stacey <ken@svgmaker.com>
Date: Thu, 10 Jun 2010 02:11:38 +1000
Message-ID: <4C0FBD3A.5030009@svgmaker.com>
To: www-svg@w3.org
Thanks Olaf,

But I'm still confused.

> the SMIL result for the frozen value is #404040 + 0.5 * inherit.
> Because according to SVG/CSS inherit can be a time dependent color
> value, this result is time dependent as well.

I understand that inherited values can be time dependent.  The animation 
function is time dependent, obviously, and must yield a valid value.  At 
  2.5s that value is a color.  Why is that value not the frozen value? 
Or, to edit your result above, why isn't the frozen value

f(2.5) = #404040 + 0.5 * inherit(2.5)

Ken

On 9/06/2010 8:56 PM, Dr. Olaf Hoffmann wrote:
> Ken Stacey:
>> Inheriting animation values when to="inherit" has further considerations 
>> when fill="freeze" is present.
>>
>> When the animation ends via a simple duration is the frozen value 
>> "inherit", or should it be the final computed value?  If it is "inherit" 
>> then this would imply that the animated value can continue to change 
>> based on the parent's (animated) value even though the animation has 
>> "ended".
>>
>> If the animation is ended earlier by (for example) end="click", the 
>> frozen value is somewhere between from and inherit - "defined by the 
>> shortened simple duration".  Is the frozen value the computed value at 
>> click or is it the animation function at click (ie continues to change 
>> with the inherited value)?
>>
>> <g fill="#FF0000">
>>   <rect fill="#CCCCCC">
>>     <animateColor attributeName="fill" from="#808080" to="inherit"
>>      begin="0s" dur="5s" end="click" fill="freeze"/>
>>   </rect>
>>   <animateColor attributeName="fill" from="#00FF00" to="#0000FF"
>>    begin="2s" dur="5s"/>
>> </g>
> 
> Because width and height are missing on the rect,
> within SVG 1.1 the rendering is finished due to this bug.
> In SVG tiny 1.2 the rect is not rendered, therefore there is
> no visible effect from the animations ;o)
> 
> If we assume width and height larger than 0 and 
> a click at 2.5s, the SMIL result for the frozen value
> is #404040 + 0.5 * inherit.
> Because according to SVG/CSS inherit can be a 
> time dependent color value, this result is time dependent 
> as well.
> 
> Another nice case:
> <g fill="yellow">
>   <set attributeName="fill" to="black" begin="6s" />
>   <circle r="1">
>     <animate attributeName="fill" values="blue;red" dur="10s" />
>     <animate attributeName="fill" to="inherit" dur="10s" 
>                      end="5s" fill="freeze" />
>   </circle>
> </g>
> 
> At 5s we will get a frozen value of rgb(75%,50%,25%) and this remains
> up to 6s due to a specific rule for to-animations (different from values
> animations and their equivalent alternative forms).
> At 6s it switches to rgb(25%,0%,25%), because the inherited value
> changes, the value of the to attribute.
> No change at 10s due to the specific rule for frozen to-animations.
> 
> Beyond the active duration a frozen animation is not completely finished -
> well, until it is restarted for example.
> I think, that values like 'inherit' are time dependent is not excluded by
> SMIL. As long as it is defined, what it means at the current time, there
> is no problem to determine, what the presentational effect is.
> 
> 
> Olaf
> 
> 
> 
> 
Received on Wednesday, 9 June 2010 16:12:13 GMT

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