Server Notice:

hide

Public Pad Latest text of pad XMPWaj6Ks9 Saved Jan 17, 2013

 
Meeting 41:
 
Web animations minutes, 17 / 18 January 2013
 
Present: Tab Atkins, Dmitry Baranovskiy, Steve Block, Shane Stephens, Douglas Stockwell,  Brian Birtles
 
Agenda:
 
1. Status update
2. Interface options: reworking time sources
3. Interface options: with or without Timing object
 
 
1. STATUS UPDATE
================
 
Doug: Polyfill
 - animation of rect(), shadow, visibility
 - all properties/types referenced by CSS Transitions supported
 - all other properties animated as non-numeric types (not interpolated)
 
Shane: Polyfill
 - rest of length implemented
 - started implementing the rest of transforms
Spec:
 - Spring timing research
 - play control proposal
 
Brian: API research, play control review and proposal
 
Steve: Latest TimeSource proposal, plus trial implementation in polyfill
 
2. INTERFACE OPTIONS: REWORKING TIME SOURCES
=============================================
 
Brian's comments, research, and proposal:
 
Alternative proposal #2:
 
* Have a separate PlayController object
** One per 'tree'
* Animations / groups have controller member that returns a PlayControllerProxy--it tracks the PlayController associated with the timed item even when re-parented
* Animations have a start() method. ''This'' is what you call when you first create an animation.
** Not sure about the semantics here when adding to a group etc., but for simple animations you create them, then call start
* play() and pause() are on the controller
* TimedItem.currentTime is read-only
* PlayController.currentTime is writeable
* Run-time playbackRate control (the version that does a compensatory seek) is on the controller
* Setting TimedItem.playbackRate causes 're-layout'
* Disadvantages: Different to HTML
 
Discussed trade-offs and advantages of all three approaches. Looks like Brian still mostly doesn't like the Shane/Steve/Doug preferred approach and Shane/Steve/Doug still mostly don't like the Brian preferred approach.
 
3. INTERFACE OPTIONS: WITH OR WITHOUT Timing
==========================================
 
(1) Discussed having vs. not having a timing item
(2) Looked at the possibility of dropping one or both of activeDuration and iterationDuration, or at least making them read-only (iterationDuration can't be dropped in Option 1).
(3) Did not reach consensus
 
The two main options are as follows:
 
Option 1:
anim.iterationDuration
anim.resetIterationDuration();
anim.activeDuration // read-only?
anim.fillMode
anim.playbackRate
anim.startDelay
anim.startTime
anim.currentTime
anim.endTime
anim.(etc)
 
Option 2:
anim.currentTime // READ ONLY - don't even provide and beef up AnimationController?
anim.startTime // READ ONLY - don't even provide and beef up AnimationController?
anim.endTime // READ ONLY - don't even provide and beef up AnimationController?
anim.timing.startDelay
anim.timing.iterationDuration
anim.timing.fillMode
anim.timing.playbackRate
anim.timing.(etc)
anim.getActiveDuration() // getActiveDuration
anim.getIterationDuration() // for groups, maybe even put on TimingGroup interface.
 
 
Next meeting: Tues Jan 22, 16:00 PST / Wed 23 Jan 11:00 AEDST / Wed 23 Jan 9:00 JST @ https://etherpad.mozilla.org/pBOIanK3jm