W3C home > Mailing lists > Public > www-style@w3.org > September 2014

Re: [css-animations] Interaction of negative animation-delay and animation-iteration-count

From: Brian Birtles <bbirtles@mozilla.com>
Date: Fri, 05 Sep 2014 10:21:04 +0900
Message-ID: <54091000.7050201@mozilla.com>
To: Sylvain Galineau <galineau@adobe.com>
CC: "<www-style@w3.org>" <www-style@w3.org>
On 2014/09/05 8:37, Sylvain Galineau wrote:
>
> On Sep 4, 2014, at 4:13 PM, Brian Birtles <bbirtles@mozilla.com> wrote:
>
>> On 2014/09/05 0:15, Sylvain Galineau wrote:
>>>
>>> On Sep 3, 2014, at 7:11 PM, Brian Birtles <bbirtles@mozilla.com> wrote:
>>>
>>>>
>>>
>>> Yes, we need to resolve when events fire. I'd like to discuss that separately instead of piecemeal though as there are many other interesting scenarios to consider - e.g. when the animation has a negative delay but gets applied in the paused state - and I think it's going to be hard to make sure we have a good model if we discuss events a single edge-case at a time.
>>
>> Sorry, I don't understand the issue then.
>
> Quite simply, css-animations does not define the concept of active duration as a reference for animation-delay. So the scope of my question is way, way simpler than you think: simply to make sure a delay longer than a single iteration 'swallows' one or more of the iteration you specified. Also, that a delay as long as the duration is equivalent to a 0s duration.
>
> I know this bit is obvious and boring to you, but we haven't specified it anywhere. (Though I believe implementations agree).
>
>> I thought the question was about the behavior of animations that finish *at* their start time? So I'm suggesting the behavior is identical to animations that finish *before* their start time due to endpoint-exclusive timing.
>
> I don't know what 'endpoint-exclusive' timing means. But to the extent we agree a 0s duration animation fires events *and* this particular scenario is equivalent to it then yes, they'd fire in that case too.

Sorry, what I'm saying is this particular scenario is *not* equivalent 
to a 0s duration animation.

Endpoint exclusive timing means that if something is supposed to run 
from time t=5s, with duration 3s, then at time t=8s, it is *not* 
running. It finishes an infinitely small amount of time before then. 
This is the model used in SVG[1], in Web Animations[2], and CSS 
Transitions[3]. The description in [1] and [2] explains this better.

An animation with a negative delay equal to its duration has already 
finished at its start time. An animation with no delay and a zero 
duration both starts and finishes at its start time. These aren't 
equivalent and if we define special behavior for animations that finish 
before their start time as you propose, then they will be observably 
different.

Best regards,

Brian

[1] See http://www.w3.org/TR/smil-animation/#IntervalTiming which is 
where SVG's animation features are normatively defined (or the more 
up-to-date: 
http://www.w3.org/TR/smil/smil-timing.html#Timing-IntervalTiming)
[2] http://dev.w3.org/fxtf/web-animations/#interval-timing
[3] See the definitions of step timing functions where at the transition 
point, it is the *later* segment that is in effect: 
http://dev.w3.org/csswg/css-transitions/#transition-timing-function-property
Received on Friday, 5 September 2014 01:21:25 UTC

This archive was generated by hypermail 2.4.0 : Friday, 25 March 2022 10:08:46 UTC