3d transform operations and interpolation for matrix3d
3d transform operations and interpolation.
Some of the code was ported from Chromium.
Supports all of the w3c transform functions.
Implements the Interpolation of Transforms logic from the w3c spec. When the transform operations don't match (different length or different operations) the transform operations are converted to a 3d matrix, and a decomposed matrix interpolation is applied instead, courtesy of the matrix3d package.
For application to dom elements, the transform list can either be composed to a matrix, or stringified to a combined transform list.
var Transform3d = ;// First transformvar transform1 = ;transform1;// applies Transform3d::toString()element1styleWebkitTransform = transform1;// applies Matrix3d::toString(), should have the same exact effectelement1styleWebkitTransform = transform1;// Second transformvar transform2 = ;transform2;// applies Transform3d::toString()element2styleWebkitTransform = transform2;// applies Matrix3d::toString(), should have the same exact effectelement2styleWebkitTransform = transform2;// Interpolationvar interpolation = transform1 transform2;// dead simple animation logic examplevar value = 0;var interval =;