[Webkit-unassigned] [Bug 10931] New: WebCore needs a separate AnimationCompositor class for animation calculations
bugzilla-daemon at opendarwin.org
bugzilla-daemon at opendarwin.org
Mon Sep 18 21:05:11 PDT 2006
http://bugzilla.opendarwin.org/show_bug.cgi?id=10931
Summary: WebCore needs a separate AnimationCompositor class for
animation calculations
Product: WebKit
Version: 420+ (nightly)
Platform: Macintosh
URL: http://www.w3.org/TR/2005/REC-SMIL2-
20051213/animation.html#animationNS-
AnimationSandwichModel
OS/Version: Mac OS X 10.4
Status: NEW
Severity: normal
Priority: P4
Component: SVG
AssignedTo: webkit-unassigned at opendarwin.org
ReportedBy: macdome at opendarwin.org
WebCore needs a separate AnimationCompositor class for animation calculations
KSVG2 had a hackish animation model in which a single class (KSVGTimeScheduler)
held all of the logic necessary for animation (in a single function with a
large switch statement).
A bette model for animation would involve at least:
1. a separate timer scheduling class
2. separate classes containing animation application logic for each of the
basic animation elements
3. a animation compositor class, to orchestrate the application of animation
This bug covers implementing #3, the compositor.
The SMIL animation composition model (aka "AnimationSandwichModel") is pretty
well spelled out in:
http://www.w3.org/TR/2005/REC-SMIL2-20051213/animation.html#animationNS-AnimationSandwichModel
1. individual animation elements will need to know their priority (a
monotonically increasing number based on parse order, or a override value
manually specified on the element)
2. when the "applyAnimations()" method is called on the compositor, a specific
target will be passed
3. animation elements targeting the passed element will be grabbed out of a
hash and sorted into priority order.
4. the compositor will walk backwards through that priority list until either
hitting the beginning or an animation with additive="replace".
5. the compositor can then walk forwards to generate the new value from the
original baseValue or replaced value.
This is a very rough sketch.
This bug covers breaking the existing KSVGTimeScheduler composition logic out
into its own class, and wiring things up enough to at least confirm that simple
animations work.
--
Configure bugmail: http://bugzilla.opendarwin.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the webkit-unassigned
mailing list