Confirmed users
166
edits
(Initial version) |
(Start filling in spec issues) |
||
Line 18: | Line 18: | ||
* Enums not shown | * Enums not shown | ||
* Extensions to Document, Element not shown | * Extensions to Document, Element not shown | ||
== Spec issues == | |||
=== Issue 1: Timing interface === | |||
=== Issue 2: Timing list syntax === | |||
=== Issue 3: play() and playNow() === | |||
CSS doesn't really define when animations start. That can be problematic but it can also be helpful: e.g. allows delaying animation to compensate for vsync etc. | |||
Proposal: | |||
interface Timeline { | |||
Player playNow(optional TimedItem? source = null); | |||
Future play(optional TimedItem? source = null); | |||
... | |||
} | |||
<code>playNow</code> creates a new <code>Player</code> with a <code>startTime</code> set to the current time of the <a>Timeline</a>. | |||
<code>play</code> creates a new <code>Player</code> whose <code>startTime</code> is initially <code>null</code>. The UA starts it at the earliest possible time ensuring that it begins from the first frame. When it is started, the <code>startTime</code> is filled in and the Future is resolved (passing in the <code>Player</code> as the argument). | |||
=== Issue 4: Out of range keyframe offsets === | |||
=== Issue 5: The KeyframeShortcut type === | |||
== Implementation == | |||
Large pieces: | |||
* Script API | |||
* Rework CSS in terms of same base objects | |||
* Rework SVG in terms of same base objects |