W3C home > Mailing lists > Public > public-fx@w3.org > July to September 2015

Re: [web-animations] Ordering animations based on when they transition from idle

From: Brian Birtles <bbirtles@mozilla.com>
Date: Thu, 2 Jul 2015 14:05:44 +0900
To: Shane Stephens <shans@google.com>, "public-fx@w3.org" <public-fx@w3.org>
Cc: "Tab Atkins Jr." <jackalmage@gmail.com>
Message-ID: <5594C6A8.7050008@mozilla.com>
On 2015/06/23 8:57, Shane Stephens wrote:
> An alternative proposal:
> CSS animations use sequence number as priority, and are created in tree-
> and list- order. CSS Animations are still prioritized absolutely above
> script animations (there are two lists). Changing an animation-name
> property triggers an update of all listed sequence numbers. So:
>     elem.style.animation = 'a 2s, b 3s, c 4s'; // a: 0, b: 1, c: 2
>     let b = elem.getAnimations[1];
>     let c = elem.getAnimations[2];
>     elem.style.animation = 'a 2s, d 5s'; //a: 3, d: 4
>     c.play(); // c promoted to script animation, keeps sequence number
>     b.play(); // b promoted to script animation, keeps sequence number
>     elem.getAnimations(); // what is the order here? b,c,a,d
> Script animations have preserved text order in terms of their
> *definition* (which is important, see below).

I'm trying to work through this (and hopefully implement it) but I think 
I'm not certain I understand it.

Working through an example:

   elem.style.animation = 'a 2s'; // a: 0;
   var a = elem.getAnimations()[0];
   var b = elem.animate(...); // b: 1;

   // Currently if a and b target the same property, b will win
   // (Actually, see below, this is probably wrong.)

   // Now if I do:
   elem.style.animation = 'a 2s, c 3s';

   // From what I understand of your proposal that would give:
   // a: 2, c: 3
   // i.e. now a beats b simply because we added an animation?

Clearly I've misunderstood something.

I guess either you're suggesting:

a) Updating animation properties triggers a global sequence number
    rewrite (I hope this isn't the case), or

b) Script-animations and CSS animations share the same source of
    sequence numbers but when we come to prioritize animations we
    don't use them for prioritizing CSS animations (or at least we
    *first* sort by script vs CSS, then by document order, then
    finally by animation-name order which happens to match sequence
    number order).

I'm pretty sure you're suggesting (b) but I want to be sure.

I think I was confused because at one point you suggested that the 
prioritization we do for CSS animations and transitions could be 
expressed using sequence numbers.

Best regards,

Received on Thursday, 2 July 2015 05:06:09 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:49:54 UTC