- From: Alex Danilo <alex@abbra.com>
- Date: Wed, 28 May 2014 22:55:43 +1000
- To: Brian Birtles <bbirtles@mozilla.com>
- Cc: "public-fx@w3.org" <public-fx@w3.org>, "www-style@w3.org" <www-style@w3.org>, "'www-svg'" <www-svg@w3.org>
I fully support publishing another WD. I also think grouping is super useful for web authors and would hate to see it dropped to a Level 2 spec - we should revisit those discussions after the next WD, especially in light of developer comments that seem to require our grouping primitives to solve their use cases. Alex --Original Message--: >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 >overdue. > >Please see the proposed working draft here: > > http://drafts.fxtf.org/web-animations/WD-web-animations-20140605/ > >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, > >Brian > > > >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 >interface. >* Renamed getCurrentPlayers on the AnimationTimeline interface to >getAnimationPlayers. >* 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 >AnimationGroup. >* Renamed SeqGroup to AnimationSequence and made it inherit from >AnimationGroup. >* 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 Wednesday, 28 May 2014 12:56:22 UTC