[css3-2d-transforms] Interpolation of transforms (for transitions/animations)

http://dev.w3.org/csswg/css3-2d-transforms/#animation
or
http://www.w3.org/TR/2009/WD-css3-2d-transforms-20091201/#animation
and also
http://dev.w3.org/Graphics-FX/modules/2D-transforms/spec/2DTransforms.html#animation

This section gives rules for interpolating transform values for  
transition/animation purposes. However, it is unclear on some points.

1) A couple of points are conditional on functions being "of the same  
type". It is not clear what "type" means. E.g.:

    a) Is translate(20px) the same type as translate(40px, 40px)?
    b) translate(20px) and translateX(20px)?
    c) translate(20px) and translate(80%)?

2) Even assuming that having the "same type" simply means having identical  
FUNCTION tokens and the same number of parameters, we end up at "the  
individual components of the function are interpolated numerically", which  
doesn't make sense unless each pair of "components" have matching units.

3) Even if considering parameters with different units to result in  
functions being different "type", the "Otherwise" step says to convert to  
matrix values. But transitions/animations operate on computed values, and  
percentages cannot be resolved at this level (they depend on used values).

-- 
Øyvind Stenhaug
Core Norway, Opera Software ASA

Received on Friday, 4 November 2011 16:00:36 UTC