[web-animations] Request to publish next WD of Web Animations

Dear all,

The editors of the Web Animations specification would like to publish 
another Working Draft based on the current Editor's Draft. A (very long) 
list of changes is included at the end of this mail. While there are 
still a number of planned changes we think another working draft is well 

Please see the proposed working draft here:


There has been interest in deferring some functionality such as 
animation groups into a Level 2 specification. This would greatly 
simplify the current specification. We plan to do this shortly after 
publishing the next WD.

Other changes anticipated after this next WD include:

   * Allowing new animations to be timed from when they first render, 
rather than the current time
   * Providing a better API for accessing computed timing
   * Switching to Bikeshed (so named anchors into the ED actually work)
   * Addressing remaining TAG feedback

We plan to publish on June 5 unless there are any objections. Please 
send feedback to public-fx@w3.org.

Best regards,


The following changes have been made since the 25 June 2013 Working Draft.

* Changed the basic unit of time from seconds to milliseconds.
* Altered the zero time for the document timeline to correspond to the 
navigationStart moment defined by [NAVIGATION-TIMING].
* Altered the definition of effective current time.
* Removed the ‘time drift’ property of players and redefined play 
control algorithms to simply adjust the player start time.
* Introduced limiting behavior to players so that the current time 
behaves more like a DVD or cassette player.
* Removed timing events and added player events instead.
* Renamed timed items to animation nodes.
* Introduced an end delay property to animation nodes.
* Reworked the description of animation node states to include phases as 
well. Renamed the active state to the in play state.
* Changed the behavior of fill modes so that children that are clipped 
part-way through their active interval by a parent animation group only 
fill if they have the corresponding fill mode set.
* Fixed a bug in the calculation of the current iteration for 
zero-length iteration durations.
* Added extra wording so that an animation node with a step timing 
function whose transition point coincides with either end of the active 
interval produces the expected value when filling.
* Fixed a bug in the calculation of the transformed time so that 
children of groups with infinite duration will play.
* Fixed a bug in the calculation of the time fraction for zero-length 
iteration durations (section 3.14.1 Calculating the time fraction).
* Clarified behavior in a number of cases where a value of infinity may 
be multiplied with zero.
* Renamed timing groups, animation groups. Parallel timing groups are 
now simply animation groups, and sequence timing groups are now 
animation sequences.
*  Rewrote and re-organized most of the animation model section (see 
section 4. Animation model) to provide greater internal consistency. CSS 
properties are now animatable by default and procedures for 
interpolation, addition, and distance computation are now defined for 
all cases (see section 4.1.2 Procedures for animating properties).
* Renamed the target element of an animation to the animation target.
* Made the prioritization of animtions no longer dependent on the player 
start time (see section 4.2.1 The animation stack).
* Made the custom animation priority specific to a player and renamed it 
to the custom player priority.
* Made the composite operation a property of all animation effects.
* Added the accumulate composite operation.
* Replaced the accumulation operation with an iteration composite 
operation on animation effects.
* Added per-keyframe timing functions.
* Replaced paced timing functions with spacing behavior that can either 
evenly distribute values or space them to maintain an even rate of change.
* Added spacing modes, spacing points, and point offsets to motion path 
animation effects in order to support all the features of SVG's 
animateMotion element.
* Clarified the conditions for calling custom effects.
* Removed custom effect priorities.
* Renamed the Timeline interface to AnimationTimeline.
* Removed both versions of toTimelineTime from the AnimationTimeline 
* Renamed getCurrentPlayers on the AnimationTimeline interface to 
* Renamed Player interface to AnimationPlayer.
   Added onfinish to the AnimationPlayer interface as the event handler 
for the new finish player event and made the AnimationPlayer interface 
inherit from EventTarget.
* Added the following members to the AnimationPlayer interface:
  - finished
  - cancel()
  - finish()
  - play()
  - pause()
  - reverse()
* Made the paused member of the AnimationPlayer interface readonly.
* Renamed the TimedItem interface to AnimationNode.
* Removed the event handlers from AnimationNode since timing events have 
been replaced with player events. Similarly, made the AnimationNode 
interface no longer inherit from EventTarget.
* Marked AnimationNode.player as at risk.
* Renamed the specified attribute on AnimationNode to timing.
* Renamed the Timing interface to AnimationTiming and likewise the 
TimingInput dictionary to AnimationTimingInput.
* Renamed the following members of the AnimationTiming interface and 
AnimationTimingInput dictionary:
    iterationDuration → duration
    startDelay → delay
    fillMode → fill
    iterationCount → iterations
    timingFunction → easing
* Removed the activeDuration member of the AnimationTimingInput 
dictionary and AnimationTiming interface and introduced endDelay to both.
* Introduced an auto value for FillMode and made it the default value 
for fill on AnimationTimingInput.
* Added timing function syntax directly to this specification rather 
than referring to [CSS3-TRANSITIONS].
* Removed the abstract TimingGroup interface and renamed ParGroup to 
* Renamed SeqGroup to AnimationSequence and made it inherit from 
* Changed the type of the effect argument to the Animation constructor 
and the Animatable.animate method to object? and defined its processing.
* Removed null as a possible value for the timing parameter of the 
AnimationGroup, AnimationSequence and Animation constructors and the 
Animatable.animate method.
* Made the target member of the Animation interface no longer readonly.
* Removed the AnimationTarget typedef and introduced the Animatable 
interface in its place.
* Made Animatable.animate return an AnimationPlayer instead of an Animation.
* Marked Animatable.getCurrentAnimations as at risk.
* Moved the composite member of KeyframeEffect and MotionPathEffect to 
the base class, AnimationEffect.
* Renamed KeyframeAnimationEffect to KeyframeEffect.
* Changed the constructor for KeyframeEffect to take a 
KeyframeEffectOptions dictionary object.
* Added a spacing member to both KeyframeEffect and 
KeyframeEffectOptions to specify spacing behavior.
* Made getFrames on KeyframeEffect return the computed keyframe offset 
as computedOffset and apply the normalization of keyframes defined in 
section 5.14.6 Normalizing a sequence of keyframes.
* Introduced the ComputedKeyframe dictionary for representing the return 
values from KeyframeEffect.getFrames.
* Removed the OneOrMoreKeyframes typedef since it is no longer a valid 
WebIDL union. Replaced useage of OneOrMoreKeyframes with object and 
defined its processing.
* Made the normalization of keyframes no longer fill in the offset of a 
keyframe. This is now incorporated in section 4.3.1 Spacing keyframes 
which is now a core part of the model.
* Defined the procedure used for iterating of the properties of a passed 
in keyframe object as using [[Enumerate]].
* Made the normalization of keyframes sort keyframes if all keyframe 
offset are specified or otherwise throw an exception if the frames are 
not loosely sorted by offset and not all offsets are specified since the 
desired result in this case is ambiguous.
* Added the easing member to the Keyframe dictionary.
* Renamed path animation effects to motion path animation effects and 
likewise PathAnimationEffect to MotionPathEffect.
* Changed the constructor for MotionPathEffect to take a 
MotionPathEffectOptions dictionary object.
* Added the spacing member to the MotionPathEffect interface.
* Replaced the CustomEffect callback interface with the EffectCallback 
callback function and replaced the currentIteration and target 
parameters with the Animation object that is being sampled.
* Renamed getCurrentPlayers on the Element interface to getAnimationPlayers.
* Removed the PseudoElementReference interface to use the PseudoElement 
interface from CSSOM instead.
* Revised section 5.23 Script execution and live updates to the model so 
that computed style reflects the current state of the model.
* Clarified the interaction between samples of the timing model and 
requestAnimationFrame callbacks.

Received on Tuesday, 27 May 2014 02:01:51 UTC