- From: Cyril Concolato <cyril.concolato@enst.fr>
- Date: Thu, 07 Sep 2006 10:33:33 +0200
- To: www-smil@w3.org
Dear SMIL experts, I sent an email [1] on the SVG Public Mailing List concerning problems that I have when implementing SVG, SMIL and CSS together. In this email, I proposed changes to the SMIL specification to clarify some aspects about CSS inheritance and animation. Someone suggested to post the SMIL part of the comments on this reflector. Here they are. A) Typo: "The animation effect function of an element is the function which includes the affect of the underlying value and accounts for repeating and freezing of the element." should read: "The animation effect function of an element is the function which includes the _effect_ of the underlying value and accounts for repeating and freezing of the element. " B) The following sentences from the animation sandwich model are at best confusing, if not contradictory. They should be clarified. "The remainder of this discussion uses the generic term OM for both the XML DOM [DOM2] as well as the CSS-OM." and "Note that animations manipulate the presentation value coming out of the OM in which the attribute is defined, and pass the resulting value on to the next layer of document processing. This does not replace or override any of the normal document OM processing cascade. " and "The values produced by the animation are written into an override stylesheet for that element, which may be obtained using the getOverrideStyle() method. These new values then affect the cascade and are reflected in a new computed value (and thus, modified presentation)." Saying in one sentence that the presentation value does not override the OM value and, in the other sentence, saying that it is obtained using a function named 'override' is confusing. Then saying that the presentation value affects the cascade while the first sentence says that it does not override the normal document cascade is also confusing. Then, I could not find a definition of CSS OM value, is it the CSS specified value ? Please use defined terminology and link terms to their definition. C) For properties, the specification seems to say that the base value is the computed value ("is read using the (readonly) getComputedStyle() method"), but it also says that the result of the animation, the presentation value, becomes the new computed value ("reflected in a new computed value"). This looks like the result of the animation is modifying the input of the animation. If true, for additive animations, depending on the number of evaluations of the animation, one could get different result. I don't think this is what is wanted here. These sentences are confusing. I think it should say that "the new computed value" is only used for display, or by other animations, or for inheritance, but it should say that for the next computation of this animation the getComputeStyle function will not return that "new computed value" but will reevaluate the computed value as if that animation had not happen. D) The main problem with the way animation and inheritance is described is that the text is spread over several specifications (DOM Core, DOM CSS, DOM View, CSS, SMIL). It is really is a big challenge to understand it. I'm not sure I understand it even after having read all of them and implemented (most of it). It would help if algorithms in pseudo-code were given for attributes and for properties. Best regards, Cyril Concolato [1] http://lists.w3.org/Archives/Public/www-svg/2006Sep/0003.html
Received on Thursday, 7 September 2006 08:32:06 UTC