- From: Сергей Грехов <sgrekhov@unipro.ru>
- Date: Mon, 22 Dec 2014 12:04:43 +0600
- To: "Tab Atkins Jr." <jackalmage@gmail.com>
- Cc: "public-fx@w3.org" <public-fx@w3.org>, dom@unipro.ru
Hi Tab, Let's see note at http://w3c.github.io/web-animations/#dom-animationtiming-iterationstart "Note that the value of iterations is effectively added to the iterationStart such that an animation node with an iterationStart of ‘0.5’ and iterations of ‘2’ would still repeat twice however it would begin and end half-way through the animation node’s iteration interval." It is said that in ends on half-way through animation. Logically that it means that the second half of a first iteration should be played first, then the second iteration played and after that the first half of the first iteration (that was "cut" by iteration start) should be played and ended on a half-way. Is this correct? If yes then for animation sequence part of the sequence, which is "cut" by animation start property, should be added to the end of the sequence. Then it looks strange if animation1 from the example below should remain in forward-filling state and then be played. Sergey > On Thu, Dec 18, 2014 at 10:14 PM, "Сергей Грехов" <sgrekhov@unipro.ru> > wrote: >> Hi All, >> >> It's unclear from the current spec animation sequence behaviour with not >> null iteration start. Example: >> >> var animation1 = new Animation(target1, [], { >> duration: 10, >> fill: 'forwards' >> }); >> var animation2 = new Animation(target2, [], { >> duration: 190 >> }); >> var animation3 = new Animation(target3, [], { >> duration: 800 >> }); >> var animationSequence = new AnimationSequence([animation1, >> animation2, >> animation3], { >> iterationStart: 0.1 >> }); >> var player = document.timeline.play(animationSequence); >> >> player.ready.then(function() { >> // Total duration of the sequence is 1000. Because of iteration >> // start animation should begin from moment that corresponds >> // time 100. animation1 is finished at this time. >> // What should be animation1 behaviour? >> // Should animation1 be at the end time (because of fill mode >> // forwards)? Or should not be started yet (should start at time >> // 900)? >> }); >> >> Specification should more clearly define this behavoiur (in terms of >> scaled active time I think) > > animation1 has already been played through; it's now in the > forward-filling state, and will remain that way for the rest of the > animation. > > (There's no behavioral difference between starting the animation at .1 > iteration, and starting it at 0 then letting it play through .1 of an > iteration, except you'll miss some events in the former case.) > > ~TJ >
Received on Monday, 22 December 2014 06:09:43 UTC