Bugzilla – Bug 14715
Clarify interpolation of some transform functions (for transitions/animations)
Last modified: 2012-05-24 20:31:50 UTC
Dean has an action to look at animations of different transform functions. Removing myself for the moment,
*** Bug 15758 has been marked as a duplicate of this bug. ***
I suggest that we explicitly define the term "same type":
For 2D transforms the same types would be:
translate(), translateX(), translateY() - translate() during animation for computed value
scale(), scaleX(), scaleY() - scale() during animation for computed value
rotate(), rotateZ() - rotate() during animation for computed value
skewX() - skewX() during animation for computed value
skewY() - skewY() during animation for computed value
If one of the engaged transforms is a 3D transform, it will be:
translate3d(), translate(), translateX(), translateY(), translateZ() - translate3D() during animation for computed value
scale3d(), scale(), scaleX(), scaleY(), scaleZ() - scale3d() during animation for computed value
rotate3d(), rotate(), rotateX(), rotateY(), rotateZ() - rotate3d() during animation for computed value (with the exemption of rotate() with three arguments which wouldn't be the same type as the others)
Values can have different units. Therefore in the time during the animation, all values for computed style will fallback to pixel units for <translation-value> values, number units for <number> values and degree units for <angle> values (depending on the type of animation).
This grouping is just based on the assumption that we want to have sensitive output on getting computed style during the animation. The description should go into a new subsection: "Transform function of the same type". I will rephrase it once we reach a consensus on the definition.
Created attachment 1125 [details]
Interpolation of transforms
This patch addresses the concerns from Øyvind Stenhaug  as well as some concerns raced by Olaf Hoffmann recently that the text should be more generic and just mentions interpolation of two transforms .
Created attachment 1126 [details]
Interpolation of transforms HTML
Because it is hard to review the patch, I also added the resulting HTML document. I made changes to the while chapter 15 as well as the term section on the beginning of the document.
I add the following description to the term of identity transform:
A special case is perspective: '<code class="css">perspective(infinity)</code>'. The value of m<small>34</small> becomes infinitesimal small and the transform function is therefore assumed to be equal to the identity matrix.
Committed the change. Keep this bug open for some days till we proved that this is enough.
Interpolation of transforms is independent of certain terms in CSS animations and CSS transitions now. Detailed descriptions and examples say how to interpolate between different transform functions.