Web Animations/Meetings/Meeting 13
< Web Animations | Meetings
Time, location: 17 Apr 16:30 PDT / 18 Apr 09:30 AEST / 18 Apr 08:30 JST, Skype + Etherpad
Log
Agenda: * Changes to fill modes / definition of "active" * Liveness of animation objects and templates - We want properties of animation objects to be live - As for animation templates, we want changes to be reflected in the animation objects created from them -- one proposal is that properties on animation objects, if null, take their value from their template (see example 1 below) * Spec progress - Renaming the template classes - Need for primary group instance Example 1: animation objects, if null, take their value from their template var a = AnimationTemplate("4s"); var b = a.animate(someDiv); // b has duration of 4s a.duration = 8s; // b has duration of 8s b.duration = 5s; // b has duration of 5s a.duration = 6s; // b still has duration of 5s Discussion about how to represent this in the Animation IDL - want to make it clear when a property is overridden but also want to make it easy to get the current value. Property with getter and setter + isPropertyLocal could work - e.g. duration isDurationLocal Then setting isDurationLocal to false reverts duration to the parent value, setting isDurationLocal to true effectively pins the current value of duration. the isXXXLocal is part of the WebTiming interface One other possibility is isPropertyLocal("duration") ? -- reduces the number of methods on that interface -- could still have revert/pin behaviour by also providing setPropertyLocal("duration", true) var dur = anim.duration // Fetch the "effective" duration, i.e. queries template if not set locally? anim.duration = 8; // Sets it locally anim.isPropertyLocal("duration", false); // ? var dur = anim.duration // fetch effective duration anim.setLocalProperty("duration", null or a number) anim.getLocalProperty("duration") -- returns null or a number <-- OR FOR SUPER HAPPY SIMPLE TIMES -> anim.intrisicDuration [RW] // fetch / set local duration, might return null anim.duration [RO] // fetch inherited duration if anim.intrinsicDuration is null, can't set this here! <- END SUPER HAPPY SIMPLE TIMES -> Q: What happens with AnimationTemplates and AnimationGroupTemplates? What is the duration of the <animation> elements in these three cases <par duration="10s"> <animation duration="20s"/> <animation/> <--- The AnimationTemplate object has duration = null ? <animation duration="5s"/> </par> Fill modes: <seq> <animate dur="3s" id="a"/> <animate delay="2s" dur="4s" fill="backwards" id="b"/> </seq> At t=0s, do you see the backwards fill from b? 0-3s: A's animation and B's backwards fill apply 3-5s: B's backwards fill applies 5-9s: B's animation applies One alternative: 0-3s: A's animation applies 3-5s: B's backwards fill applies 5-9s: B's animation applies Renaming: AnimationTemplate is too long var anim = new AnimationTemplate(); A: AnimationTemplate -> Animation Animation -> AnimationInstance AnimationGroupTemplate -> Timeline AnimationGroup -> TimelineInstance B: AnimationTemplate -> Animation Animation -> AnimationInstance AnimationGroupTemplate -> AnimationGroup AnimationGroup -> AnimationGroupInstance Go with Timeline for now (i.e. A)