|
Compare from-to, from-by and by animateTransform skewX with values animateTransform.
The main indication for a failed test is the appearance of red.
SMIL 2 specifies, how from-to, from-by and by animations have to be converted into values animation. Therefore they have to be the same as the related values animation. The conversion is as follows:
used | converted |
---|---|
from="a" to="b" | values="a;b" |
from="a" by="b" | values="a;a+b" |
by="a" | values="0;a" additive="sum" |
(by and from-by animations have only a meaning, if values can be added somehow. '0' is used as a general symbol for the neutral element of addition for the related attribute, this means 0 + a = a + 0 = a. And '0' is not equal to the symbol '1' as the basic unit of the related attribute, '0' is a predecessor of '1' in the related attribute space. For animateTransform the '0' is the same as the zero matrix, not the unity or identity matrix. For the skewX type this is a skew with an angle of 0. Deviating from SMIL 2 in SVG it is specified, that for animateTranform the animation effect has to be postmultiplied to the underlying value, if the animation is additive. Note that for two additive skewX angles a, b the resulting angle is not a+b but atan(tan(a)+tan(b)).
The from-to, from-by and by are applied to animateTransform of the skewX type of different blue stroked paths and are compared with the related values animations including additive and cumulative hehaviour for underlying red paths. Additionally underlying dark red paths simulate the same behaviour using always the defaults additive replace and accumulate replace with animateMotion. The blue paths cover all red paths. Therefore if something red gets visible, an error is occured. Because fill is always not set and therefore remove, the final value is the value at 2s given with a simple values animateTransform, not very interesting for the test.