animate-elem-81-t, accumulation of transform animations

Hello WG.

Test animate-elem-81-t assumes that each repetition of a cumulative
transform animations should be a post-multiplication of the matrix that
represents the transformation.  Neither SVG 1.1 nor SVG Tiny 1.2
explicitly state how to treat cumulative <animateTransform>s, but the
SVG Tiny 1.2 test suite has a number of tests that assert that transform
accumulation is done by simply multiplying the transform parameter value
(i.e., what’s in the values="" or from="" to="") at the end of the
animation interation by the number of iterations.

Here is a reduced test:

  http://people.mozilla.org/~cmccormack/tests/cumulative-transform.svg
  
and results:

  WebKit    blue
  Firefox   red
  Opera     red
  Batik     yellow

Here is the Mozilla bug on us failing this test, which includes Brian’s
analysis of why the test is wrong:

  https://bugzilla.mozilla.org/show_bug.cgi?id=619492

I think we should clarify in the spec what accumulation means for
transform animations, which is that it takes the final transform
parameter value, multiplies it by the number of complete iterations so
far, and then adds on the value from the final, partial iteration.  This
value is then turned into a transformation matrix, so that it can be
post-multiplied with the underlying animations or the base value, if it
is also an additive animation.

That, or unapprove the test.  I would rather the former, though.

-- 
Cameron McCormack ≝ http://mcc.id.au/

Received on Sunday, 9 January 2011 23:50:45 UTC