W3C home > Mailing lists > Public > www-style@w3.org > July 2012

Re: [css3-transforms] interpolation of transform lists

From: Dirk Schulze <dschulze@adobe.com>
Date: Thu, 19 Jul 2012 16:54:03 -0700
To: "L. David Baron" <dbaron@dbaron.org>
CC: "www-style@w3.org" <www-style@w3.org>
Message-ID: <2927982C-13EB-4158-A29C-AA4A246B1D53@adobe.com>
Hi David,

On Jul 19, 2012, at 2:38 PM, L. David Baron wrote:

> 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.

Do I understand your point correctly, that you just want the affected transformation functions to get interpolated as matrices?

Lets take the following two transform function lists:

translate(200px,100px) rotate3d(1,0,0,45deg) scale(1)
translate(0,0) rotate3d(0,0,1,45deg) scale(2)

Do you suggest that just rotate3d gets interpolated as matrix and translation as well as scale still get animated numerically?

Greetings,
Dirk
Received on Thursday, 19 July 2012 23:54:33 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:20:57 GMT