<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: by-animation and scale transformations</title>
	<atom:link href="http://brian.sol1.net/svg/animatetransform-issues/by-animation-and-scale-transformations/feed/" rel="self" type="application/rss+xml" />
	<link>http://brian.sol1.net/svg</link>
	<description>News about my attempts to implement SVG Declarative (SMIL) Animation in Mozilla</description>
	<lastBuildDate>Wed, 01 Feb 2012 09:08:54 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Olaf</title>
		<link>http://brian.sol1.net/svg/animatetransform-issues/by-animation-and-scale-transformations/comment-page-1/#comment-32697</link>
		<dc:creator>Olaf</dc:creator>
		<pubDate>Mon, 15 Dec 2008 09:47:41 +0000</pubDate>
		<guid isPermaLink="false">http://brian.sol1.net/svg/?page_id=39#comment-32697</guid>
		<description>The old SMIL animation recommendation is plurivalent in several points. For SMIL animation itself as defined
by SMIL this is in most cases no problem, but when animateTransform was introduced in SVG (this is not SMIL),
things got more complicated.
However, most plurivalences are already avoided in SMIL 2 and 3, therefore it is typically more useful to start
with SMIL 3 and to look into SMIL2 for SVGT1.2 if there are any incompatibilities and to look into the SMIL
animation recommendation for SVG1.1 for the same reason. In most case the more precise normative 
definitions in SMIL 2 and 3 only clarify something, therefore they are not incompatible with the old SMIL
animation recommendation.

The authors point of view can be different for different authors, if someone needs a continuous cumulative
animation, it is certainly contraproductive to start with 1 instead of 0 either ;o)</description>
		<content:encoded><![CDATA[<p>The old SMIL animation recommendation is plurivalent in several points. For SMIL animation itself as defined<br />
by SMIL this is in most cases no problem, but when animateTransform was introduced in SVG (this is not SMIL),<br />
things got more complicated.<br />
However, most plurivalences are already avoided in SMIL 2 and 3, therefore it is typically more useful to start<br />
with SMIL 3 and to look into SMIL2 for SVGT1.2 if there are any incompatibilities and to look into the SMIL<br />
animation recommendation for SVG1.1 for the same reason. In most case the more precise normative<br />
definitions in SMIL 2 and 3 only clarify something, therefore they are not incompatible with the old SMIL<br />
animation recommendation.</p>
<p>The authors point of view can be different for different authors, if someone needs a continuous cumulative<br />
animation, it is certainly contraproductive to start with 1 instead of 0 either ;o)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian</title>
		<link>http://brian.sol1.net/svg/animatetransform-issues/by-animation-and-scale-transformations/comment-page-1/#comment-32692</link>
		<dc:creator>Brian</dc:creator>
		<pubDate>Sun, 14 Dec 2008 19:43:43 +0000</pubDate>
		<guid isPermaLink="false">http://brian.sol1.net/svg/?page_id=39#comment-32692</guid>
		<description>Oh ok, now I understand what you mean by a neutral value. I agree that what you say makes sense from an implementation point of view. Indeed, this is the way I have implemented it.

But from an author&#039;s point of view the paragraph I quoted from SMILANIM contradicts this. It refers to a delta from the underlying value which we both agree, in the absence of lower-priority animations, or other settings, is 1 for scale. So from an author&#039;s point of view, by=&quot;1&quot; should be a delta from 1.

So can we agree that the SMILANIM specification is contradictory at this point or at least ambiguous? It would be better if the quoted paragraph was replaced with the value=&quot;0;by&quot; additive=&quot;sum&quot; explanation.</description>
		<content:encoded><![CDATA[<p>Oh ok, now I understand what you mean by a neutral value. I agree that what you say makes sense from an implementation point of view. Indeed, this is the way I have implemented it.</p>
<p>But from an author&#8217;s point of view the paragraph I quoted from SMILANIM contradicts this. It refers to a delta from the underlying value which we both agree, in the absence of lower-priority animations, or other settings, is 1 for scale. So from an author&#8217;s point of view, by=&#8221;1&#8243; should be a delta from 1.</p>
<p>So can we agree that the SMILANIM specification is contradictory at this point or at least ambiguous? It would be better if the quoted paragraph was replaced with the value=&#8221;0;by&#8221; additive=&#8221;sum&#8221; explanation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Olaf</title>
		<link>http://brian.sol1.net/svg/animatetransform-issues/by-animation-and-scale-transformations/comment-page-1/#comment-32687</link>
		<dc:creator>Olaf</dc:creator>
		<pubDate>Sat, 13 Dec 2008 13:22:15 +0000</pubDate>
		<guid isPermaLink="false">http://brian.sol1.net/svg/?page_id=39#comment-32687</guid>
		<description>The underlying values is always somehow defined, therefore there is no need to guess
one. Especially for animateTransform the underlying value is related to lower priority
animations and the complete value of the transform attribute. This can only be
assumed to be the identity transform, if there is neither a lower priority animation nor
a transform attribute. And this does not depend on the question, which type of animation
is currently used. Because this is a complex entity, additive animations have to be
postmultiplied and they are not somehow combined with only a notation of one
type like &#039;transform&#039;, &#039;rotate&#039;, &#039;scale&#039;, &#039;skewX&#039;, &#039;skewY&#039;. &#039;matrix&#039; can be an underlying value
too, by the way. In SVGT1.2 even a constrained transformation can be an underlying value.

And by-animations do not start with the underlying value, they are only always additive,
what is a difference.

The by-animation itself is equivalent to a values animation.
With some pseudocode, if A is the value of the by attribute it is equivalent to
value=&quot;0;A&quot; additive=&quot;sum&quot;.
Furthermore, this animation type is only defined, if the attribute can be animated
additive at all (else it has no effect).
As without animation, the additive or cumulative effect of transformations can always
be tested with nested groups. Each group has only one transform type, respectively
animateTransform, the innermost element is the rendered object. 
This nested group approach has to result always in the same effect as to postmultiply
something to a combination of animateTransforms and transform values.


Especially for the transform type scale one can have values as
A,B or only A, with A and B numbers.

If we have by=&quot;7&quot; it is simply equivalent to 
values=&quot;0;7&quot; additive=&quot;sum&quot;. This is everything one has to check, to ensure, that
by-animations are implemented correctly.
If wie have by=&quot;-2,3&quot; it is simply equivalent to
values=&quot;0,0;-2,3&quot; additive=&quot;sum&quot; and this is the onyl thing, one has to check.
There is no need to check some arbitrary philosophical assumptions on one might be
nice under other circumstances or in another universe. This is simply, what is defined
as SMIL animation. 
And to avoid further long philosophical discussions about the question, what the symbol
&#039;0&#039; might be, in SMIL3 it is especially clarified, that it is the neutral element of addition
and nothing else. For a list of numbers this is related always to a list of zeros. For
colors it is related to #000 and not to &#039;none&#039; or &#039;transparent&#039; or whatever might be
funny or interesting under different circumstances.</description>
		<content:encoded><![CDATA[<p>The underlying values is always somehow defined, therefore there is no need to guess<br />
one. Especially for animateTransform the underlying value is related to lower priority<br />
animations and the complete value of the transform attribute. This can only be<br />
assumed to be the identity transform, if there is neither a lower priority animation nor<br />
a transform attribute. And this does not depend on the question, which type of animation<br />
is currently used. Because this is a complex entity, additive animations have to be<br />
postmultiplied and they are not somehow combined with only a notation of one<br />
type like &#8216;transform&#8217;, &#8216;rotate&#8217;, &#8216;scale&#8217;, &#8216;skewX&#8217;, &#8216;skewY&#8217;. &#8216;matrix&#8217; can be an underlying value<br />
too, by the way. In SVGT1.2 even a constrained transformation can be an underlying value.</p>
<p>And by-animations do not start with the underlying value, they are only always additive,<br />
what is a difference.</p>
<p>The by-animation itself is equivalent to a values animation.<br />
With some pseudocode, if A is the value of the by attribute it is equivalent to<br />
value=&#8221;0;A&#8221; additive=&#8221;sum&#8221;.<br />
Furthermore, this animation type is only defined, if the attribute can be animated<br />
additive at all (else it has no effect).<br />
As without animation, the additive or cumulative effect of transformations can always<br />
be tested with nested groups. Each group has only one transform type, respectively<br />
animateTransform, the innermost element is the rendered object.<br />
This nested group approach has to result always in the same effect as to postmultiply<br />
something to a combination of animateTransforms and transform values.</p>
<p>Especially for the transform type scale one can have values as<br />
A,B or only A, with A and B numbers.</p>
<p>If we have by=&#8221;7&#8243; it is simply equivalent to<br />
values=&#8221;0;7&#8243; additive=&#8221;sum&#8221;. This is everything one has to check, to ensure, that<br />
by-animations are implemented correctly.<br />
If wie have by=&#8221;-2,3&#8243; it is simply equivalent to<br />
values=&#8221;0,0;-2,3&#8243; additive=&#8221;sum&#8221; and this is the onyl thing, one has to check.<br />
There is no need to check some arbitrary philosophical assumptions on one might be<br />
nice under other circumstances or in another universe. This is simply, what is defined<br />
as SMIL animation.<br />
And to avoid further long philosophical discussions about the question, what the symbol<br />
&#8217;0&#8242; might be, in SMIL3 it is especially clarified, that it is the neutral element of addition<br />
and nothing else. For a list of numbers this is related always to a list of zeros. For<br />
colors it is related to #000 and not to &#8216;none&#8217; or &#8216;transparent&#8217; or whatever might be<br />
funny or interesting under different circumstances.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

