- From: Brian Birtles <birtles@gmail.com>
- Date: Tue, 5 Apr 2011 11:00:15 +0900
- To: "Dr. Olaf Hoffmann" <Dr.O.Hoffmann@gmx.de>
- Cc: www-svg@w3.org
Dear Olaf, Thanks very much for your feedback will I'll respond to below. 2011/3/25 Dr. Olaf Hoffmann <Dr.O.Hoffmann@gmx.de>: > Can you provide a formula for what you think, the frozen value > of your variant of a to-animation should look like? > Because to-animations are not additive, it is not obvious, how the > formula for another behaviour should look like. The current rule > for the frozen state seems to be the simplest variant for me. > SMIL provides a formula for each time of the to-animation. > To define another variant, we need something like this to compare. The point of this change is not to add a variant but to remove one. For SMIL Animation the formula given is: f(t) = v_cur + ((v_to - v_cur) * (t/d)) Essentially, we just want to continue applying that formula when the animation is frozen. Unfortunately this is complicated by the fact that v_cur is defined as "the current base value (at time t)" which is inaccurate because: (a) it should refer to the underlying value, not the base value (the base value refers to the target attribute's un-animated value whilst the underlying value refers to the result of the animation sandwich up to this point). (b) t is defined as "a time within the simple duration (0 <= t <= d)" but clearly we don't use a time within the simple duration when determining v_cur. (See SMIL 3.0 which divorces t from the underlying value) For these reasons it's hard to provide an accurate formula using the same terms as SMIL Animation. What we really want to say is that the given formula continues to apply even when the animation is frozen. It is the same formula. Of course, as with all frozen animation, the value of t will remain fixed, but v_cur should continue to change. These inaccuracies have been addressed in subsequent editions of SMIL and for SMIL 3.0 we can simply drop the f_f(t,u) = v_f formula[1] to get the desired result. > I cannot see the inconsistence within the definition of to-animations. > Because it is a specific case, it is described in detail. There are still > a few things in SMIL, which are not consistent with itself or with > previous versions of SMIL, we alreadey tried to avoid this in SVG tiny 1.2 > for example for specific cases of frozen discrete animations. > But to-animations look ok for me in SMIL. There is additional prose in SMIL Animation and an additional formula in SMIL 3.0 specifically to describe behaviour for frozen to-animation other than what naturally falls out of the model. This is the kind of inconsistency I am concerned about. I understand that this is special behaviour but I cannot see justification for such special behaviour. It seems less useful and less intuitive that what would naturally fall out of the model if such formulae were removed. >From an implementation point of view, my further concern is that the currently specified behaviour is not implemented correctly anywhere and nor will it ever be. Many implementations rely on a distinction between timing model and animation model[2], a distinction encouraged by the SMIL specification itself which defines the two in separate chapters. My implementation experience is that implementing this correctly requires undesirable coupling between the two models. The proposed change allows the distinction between timing model and animation model to be preserved. Best regards, Brian Birtles [1] http://www.w3.org/TR/SMIL/smil-animation.html#animationNS-ToAnimation [2] See, for example, http://www.ludicrum.org/plsWork/papers/BatikSMILsupport.htm
Received on Tuesday, 5 April 2011 02:00:43 UTC