[web-animations] Relative Animation is taking over the world

1. Apologies:


My apologies to Brian for asking a bad question at the “Hootenanny” live
web chat, but I got really excited to hear about how Web-Animations is
modeled after Core Animation. Fortunately the .animate() syntax does look
kind of usable, but I am still confused given all of the different,
incomplete shims and public vs. editor drafts of the spec. I am still stuck
with the legacy shim that does not have a backwards fill mode and leaks
horribly. So please forgive my misunderstandings.


2. Animations are actually groups:


Your simple animations seem a lot like Core Animation groups as they allow
animating multiple properties in a single animation. Your keyframes seem a
lot like sequential animation groups. All they need is per-keyframe easing
(which you were discussing as a possibility at one point, if I remember
correctly.) Where are the simple, high performance effects meant to drive
user-interface animation? Why aren’t these top-heavy group animations built
on simpler, lower level effects? Why is it necessary to parse strings for
each and every keyframe?


The truth is I don’t really understand all of the issues raised by Brian
and Shane in this thread:

https://lists.w3.org/Archives/Public/public-fx/2015JanMar/0106.html


But I really, REALLY, want a simple, high performance, single property
keyframe effect that can be easily copied and applied to different
elements, and it does not look like Web-Animations delivers.


3. Duration in milliseconds:


Please have duration go back to seconds. Milliseconds is almost like a fake
implementation detail, a performance ideal perhaps, from long ago. It is
outdated and counter-intuitive.


4. Subtraction:


I propose the spec require a definition of subtraction for properties in
4.1.2. Procedures for animating properties. I also propose the spec require
the definition of zero for properties. This is of course for the Relative
Animation pattern. Take for example these minor extensions to permit
additive animation of mesh transforms (in Obj-C):

https://github.com/KevinDoughty/BCMeshTransformView/blob/master/Demo/BCMeshTransformViewDemo/BCMutableMeshTransform%2BRelative.m


If there ever is a mesh type for the web, figuring out how to “FLIP” it (as
Paul Lewis now calls it) will be impossible.


5. The Goal:


The eventual goal is a “Relative” property for CSS Transitions, and a
“Subtractive” mode for CSS Animations meant to be combined with additive
and a backwards fill to produce the same effect.

Received on Monday, 20 April 2015 06:17:25 UTC