This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
David Baron asks on www-style[1] if it is possible to interpolate each transform function pair of two transformation lists separately, even if both lists don't have the same transform function primitives in the same order. This is different to the current spec, where transform functions are premultiplied together to one matrix per transform list and these two matrices are interpolated. [1] http://lists.w3.org/Archives/Public/www-style/2012Jul/0460.html
That's not what he's asking. He's interpreted the presence of a "non-primitive" transform (e.g. perspective) as forcing the entire list into one matrix animation. He's suggesting we just do that one non-primitive pair as a matix anim, and keep the rest paired.
The spec now says: "The transform functions ‘matrix’, ‘rotate3d’, ‘matrix3d’ and ‘perspective’ get converted into 4x4 matrices first and interpolated as defined in section Interpolation of Matrices afterwards." In WebKit, for rotate3d(), we will blend single-axis functions without creating a matrix and decomposing. I think this makes most sense. I think it would also make sense to allow rotate3d(0, 0, 1, ...) to blend with rotate(), rotate3d(1, 0, 0, ...) with rotateX() etc.
(In reply to comment #2) > The spec now says: > "The transform functions ‘matrix’, ‘rotate3d’, ‘matrix3d’ and ‘perspective’ > get converted into 4x4 matrices first and interpolated as defined in section > Interpolation of Matrices afterwards." > > In WebKit, for rotate3d(), we will blend single-axis functions without > creating a matrix and decomposing. I think this makes most sense. I think it > would also make sense to allow rotate3d(0, 0, 1, ...) to blend with > rotate(), rotate3d(1, 0, 0, ...) with rotateX() etc. This is fixed in the latest update of the specification text and resolved by the CSS WG.