<p dir="ltr"><a href="http://blogs.adobe.com/dreamweaver/2015/06/the-state-of-svg-animation.html">http://blogs.adobe.com/dreamweaver/2015/06/the-state-of-svg-animation.html</a></p>
<p dir="ltr">has a lengthy discussion on SVG animation. It concludes that animation via the DOM are in many cases the best option because SMIL is deprecated and easily replaced by more powerful JavaScript.</p>
<p dir="ltr">I was hoping that the article goes into how collisions between SMIL, CSS and DOM based animation are resolved but it does not. Apparently it is not a concern.</p>
<p dir="ltr">Andreas</p>
<div class="gmail_quot<blockquote class=" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">It turns out that SVG uses the SMIL animation model:</p>
<p dir="ltr"><a href="https://www.w3.org/TR/smil-animation/" target="_blank">https://www.w3.org/TR/smil-animation/</a></p>
<p dir="ltr">It defines that animation does not affect the DOM value of an animated property but a separate presentation value which is only accessible to the animation runtime, and not the DOM. The specification does not go into what values are used for rendering but the idea is certainly that the presentation value is used. This would make it necessary for a renderer to keep track of what attributes are currently animated by SVG and which ones are not. Since the animate element is the only possible way to do this in SVG, this is feasible. For the richer X3D scene graph, this would be much harder and does not seem like a good model to follow at first glance.</p>
<p dir="ltr">Andreas</p>
</div>