- From: L. David Baron <dbaron@dbaron.org>
- Date: Thu, 19 Jul 2012 17:38:26 -0400
- To: www-style@w3.org

http://dev.w3.org/csswg/css3-transforms/Overview.html#animation says something that's not compatible with earlier drafts of the transforms spec. In particular, I'm concerned about the "is a derivative of a primitive" in: # If from- and to-transform have the same number of transform # functions, each transform function is a derivative of a # primitive and each function pair is a derivative of the same # primitive. and the later text: # Transform functions not listed above are neither primitives nor # derivatives and can neither be interpolated with transform # functions of primitives listed above nor with itself. UAs have # to follow the last rule on Interpolation of Transforms then. Earlier drafts said that any matched list of transform functions is interpolated function-by-function rather than via matrix interpolation. The new draft adds this concept of primitives to say that some pairs of syntactically-different but semantically-similar functions (e.g., translate() and translateX()) can be considered equivalent for the purpose of this matching. I think this is fine. But it also says that some transform functions: in particular, perspective(), rotate3d(), matrix(), and matrix3d(). I could understand the desire to interpolate these (or maybe all of these except perspective()) as matrices, but it seems inappropriate for the presence of one of these in a transform list to force other items in that transform list into the matrix decomposition path, particularly if it's the other items that are changing in the animation. We're planning not to implement this as described in Gecko, but instead to consider all transform functions to be primitives (which is more compatible with the behavior prior to the introduction of the concept of primitives). -David -- 𝄞 L. David Baron http://dbaron.org/ 𝄂 𝄢 Mozilla http://www.mozilla.org/ 𝄂

Received on Thursday, 19 July 2012 21:38:50 UTC