<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/1.5.1.2" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
>

<channel>
	<title>SVG Declarative Animation in Mozilla</title>
	<link>http://brian.sol1.net/svg</link>
	<description>News about my attempts to implement SVG Declarative (SMIL) Animation in Mozilla</description>
	<pubDate>Mon, 21 Apr 2008 09:58:32 +0000</pubDate>
	<generator>http://wordpress.org/?v=1.5.1.2</generator>
	<language>en</language>

		<item>
		<title>Farvel</title>
		<link>http://brian.sol1.net/svg/2007/04/05/farvel/</link>
		<comments>http://brian.sol1.net/svg/2007/04/05/farvel/#comments</comments>
		<pubDate>Thu, 05 Apr 2007 11:38:33 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
	<category>Status updates</category>
		<guid>http://brian.sol1.net/svg/2007/04/05/farvel/</guid>
		<description><![CDATA[	You&#8217;ve probably worked it out, but I&#8217;m no longer working on SMIL at the moment. tor has very kindly helped out and has been doing some work on this but it will not make it for Firefox 3.
	From now on, if you want to track the progress of SMIL in Mozilla I recommend:
	
	#216462 Implement SVG [...]]]></description>
			<content:encoded><![CDATA[	<p>You&#8217;ve probably worked it out, but I&#8217;m no longer working on SMIL at the moment. <a href="http://weblogs.mozillazine.org/tor/">tor</a> has very kindly helped out and has been doing some work on this but it will not make it for Firefox 3.</p>
	<p>From now on, if you want to track the progress of SMIL in Mozilla I recommend:</p>
	<ul>
	<li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=216462">#216462 Implement SVG (SMIL) Animation</a></li>
	<li><a href="http://weblogs.mozillazine.org/tor/">tor&#8217;s weblog</a></li>
	</ul>
	<p>As for me, I&#8217;m travelling around Asia (check the <a href="http://airgiardia.blogspot.com/">blog</a> if you&#8217;re really curious), so unless someone can sponsor me to work on this in Asia I can&#8217;t really offer much time to the project.</p>
	<p>Thank you to everyone who helped me to get SMIL this far. I hope that someone else can pick it up.
</p>
]]></content:encoded>
			<wfw:commentRSS>http://brian.sol1.net/svg/2007/04/05/farvel/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>SMIL</title>
		<link>http://brian.sol1.net/svg/2006/07/25/smil/</link>
		<comments>http://brian.sol1.net/svg/2006/07/25/smil/#comments</comments>
		<pubDate>Tue, 25 Jul 2006 03:17:25 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
	<category>Status updates</category>
		<guid>http://brian.sol1.net/svg/2006/07/25/smil/</guid>
		<description><![CDATA[	Wow, what a heading! Some would call it lack of imagination, I like to think of it as artistic restraint &#8211; it&#8217;s just too easy to make puns with &#8220;SMILe&#8221;!
	Progress on SMIL continues, albeit in slow motion. Just a really quick note for those one or two people who want to know what&#8217;s going on:
	
	Not [...]]]></description>
			<content:encoded><![CDATA[	<p>Wow, what a heading! Some would call it lack of imagination, I like to think of it as <em>artistic restraint</em> &ndash; it&#8217;s just too easy to make puns with &ldquo;SMILe&rdquo;!</p>
	<p>Progress on SMIL continues, albeit in slow motion. Just a really quick note for those one or two people who want to know what&#8217;s going on:</p>
	<ul>
	<li>Not only does it compile it now runs too!</li>
	<li>All my visual tests pass again</li>
	<li>All my unit tests pass again</li>
	<li>My early attempt at <code>&lt;animateTransform&gt;</code> is up and running again and seems to work.</li>
	</ul>
	<p>I need to do some tidying up before it&#8217;s ready for review. Most of all:</p>
	<ul>
	<li>Some deCOMtamination</li>
	<li>Making better use of Moz utilities (string iterators, <code>nsTArray</code> etc.)</li>
	<li>Removing redundant code</li>
	<li>Fixing the scope of the animation controller</li>
	</ul>
	<p>It&#8217;s hard to give a timeframe for this &ndash; it depends a bit on my workload with other things (Japanese, Bible college, surfing, life &ndash; not to mention my day job). Hopefully a month?</p>
	<p>As for new feature work, I&#8217;ll have to re-negotiate with work before I can do that. So I&#8217;d really appreciate any help at all. The SVG guys have already been incredibly helpful and have begun preparing the SVG code so it can be animated more efficiently. Thanks guys!</p>
]]></content:encoded>
			<wfw:commentRSS>http://brian.sol1.net/svg/2006/07/25/smil/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>SMIL compiles again</title>
		<link>http://brian.sol1.net/svg/2006/06/12/smil-compiles-again/</link>
		<comments>http://brian.sol1.net/svg/2006/06/12/smil-compiles-again/#comments</comments>
		<pubDate>Mon, 12 Jun 2006 10:32:36 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
	<category>Status updates</category>
		<guid>http://brian.sol1.net/svg/2006/06/12/smil-compiles-again/</guid>
		<description><![CDATA[	Today is the Queen&#8217;s birthday public holiday in Australia. In Sydney the weather is freezing and the surf is huge. All this means I&#8217;ve finally got my SMIL work to compile against the trunk again. Now to get it working again!
	Thanks to the many people who have left very encouraging comments in the meantime. I&#8217;ll [...]]]></description>
			<content:encoded><![CDATA[	<p>Today is the Queen&#8217;s birthday public holiday in Australia. In Sydney the weather is freezing and the surf is huge. All this means I&#8217;ve finally got my SMIL work to compile against the trunk again. Now to get it working again!</p>
	<p>Thanks to the many people who have left very encouraging comments in the meantime. I&#8217;ll do my best to get this up and running as soon as possible. One very experienced developer has suggested they might be able to contribute which would really help bring this to reality.</p>
	<p>I&#8217;ll wait until it&#8217;s actually working (and I&#8217;ve done some more deCOMtamination) before posting another patch. But thanks for being patient with me!
</p>
]]></content:encoded>
			<wfw:commentRSS>http://brian.sol1.net/svg/2006/06/12/smil-compiles-again/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>SMIL Animation in Mozilla report</title>
		<link>http://brian.sol1.net/svg/2006/01/09/smil-animation-in-mozilla-report/</link>
		<comments>http://brian.sol1.net/svg/2006/01/09/smil-animation-in-mozilla-report/#comments</comments>
		<pubDate>Mon, 09 Jan 2006 10:07:00 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
	<category>Status updates</category>
		<guid>http://brian.sol1.net/svg/2006/01/09/smil-animation-in-mozilla-report/</guid>
		<description><![CDATA[	I&#8217;ve published the report I wrote for regarding my project implementing SMIL Animation in Mozilla. At 147 pages and ~700kb it&#8217;s fairly detailed but I hope it will be of interest to some. Thanks to all who helped. Here it is:
	
http://brian.sol1.net/svg/report/report.pdf

	Also, I was invited to represent the Software Engineering faculty by presenting my project at [...]]]></description>
			<content:encoded><![CDATA[	<p>I&#8217;ve <a href="http://brian.sol1.net/svg/report/report.pdf">published</a> the report I wrote for regarding my project implementing SMIL Animation in Mozilla. At 147 pages and ~700kb it&#8217;s fairly detailed but I hope it will be of interest to some. Thanks to all who helped. Here it is:</p>
	<ul>
<li><a href="http://brian.sol1.net/svg/report/report.pdf">http://brian.sol1.net/svg/report/report.pdf</a></li>
</ul>
	<p>Also, I was invited to represent the Software Engineering faculty by presenting my project at an Engineering project competition run by <a href="http://www.uts.edu.au">my university</a> from which I picked up the prize for innovation which means I got paid for working on Mozilla! Stoked!</p>
	<p>Finally, I&#8217;m taking a bit of a break from this work at the moment. I nearly went crazy finishing the uni project last year and right now it&#8217;s summer so I&#8217;m getting back into surfing, swimming, running, riding, squash and maybe even some karate! Maybe in a month or two I&#8217;ll be ready to look at the code again and I&#8217;ll try to tidy up the SMIL Animation code.
</p>
]]></content:encoded>
			<wfw:commentRSS>http://brian.sol1.net/svg/2006/01/09/smil-animation-in-mozilla-report/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>SMIL Animation patch</title>
		<link>http://brian.sol1.net/svg/2005/11/05/smil-animation-patch/</link>
		<comments>http://brian.sol1.net/svg/2005/11/05/smil-animation-patch/#comments</comments>
		<pubDate>Sat, 05 Nov 2005 04:47:37 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
	<category>Status updates</category>
		<guid>http://brian.sol1.net/svg/2005/11/05/smil-animation-patch/</guid>
		<description><![CDATA[	G&#8217;day! I&#8217;ve produced a new patch to provide SMIL Animation for SVG. Since last time I&#8217;ve added:
	
	keySplines
	keyTimes
	accumulate
	restart
	min, max
	ElementTimeControl DOM interface
	
	I&#8217;ve added a status page showing just what&#8217;s been implemented and I&#8217;ve also updated the test cases.
	This represents all the features I intend to implement this year although I may attempt a draft implementation of &#60;animateTransform&#62; [...]]]></description>
			<content:encoded><![CDATA[	<p>G&#8217;day! I&#8217;ve produced a new patch to provide SMIL Animation for SVG. Since last time I&#8217;ve added:</p>
	<ul>
	<li><code>keySplines</code></li>
	<li><code>keyTimes</code></li>
	<li><code>accumulate</code></li>
	<li><code>restart</code></li>
	<li><code>min</code>, <code>max</code></li>
	<li>ElementTimeControl DOM interface</li>
	</ul>
	<p>I&#8217;ve added a <a href="http://brian.sol1.net/svg/status.php">status page</a> showing just what&#8217;s been implemented and I&#8217;ve also updated the <a href="http://brian.sol1.net/svg/tests.php">test cases</a>.</p>
	<p>This represents all the features I intend to implement this year although I may attempt a draft implementation of <code>&lt;animateTransform&gt;</code> for demonstration purposes. The next obvious thing to implement is syncbase timing although none of this will be of much use until we determine how to represent animated values in SVG and CSS!</p>
	<p>For now I&#8217;ll be working on a report of my attempts and documenting some difficulties I&#8217;ve come across with SMIL.</p>
	<p>Here are the patches:</p>
	<p><a href="http://brian.sol1.net/svg/patches/smil-anim-2005-11-05-1539.patch">smil-anim-2005-11-03-2024.patch</a><br />
<a href="http://brian.sol1.net/svg/patches/smil-anim-2005-11-05-1539-wo-configure.patch">smil-anim-2005-11-03-2024-wo-configure.patch</a> &#8212; The same but without the patch to <code>configure</code>&#8212;this is much smaller and more likely to work but requires you have autoconf-2.13.</p>
	<p>I&#8217;ve (hopefully) fixed the paths in the patch so you should be able to apply it from <code>mozilla</code> with:<br />
<code>patch -p0 smil-anim-2005-11-05-1539.patch</code></p>
	<p>Known issues:</p>
	<ul>
	<li>An SVG image referenced via <code>&lt;object&gt;</code> will remain paused when returning to the page using the back button if the page is in the bfcache. This is because page transition events are not received. If anyone can help me with this I&#8217;d really appreciate it!</li>
	<li>An SVG document added entirely via script won&#8217;t be animated. (See <a href="http://brian.sol1.net/svg/tests/deferred-tree.xhtml">this test case</a>.)</li>
	</ul>
]]></content:encoded>
			<wfw:commentRSS>http://brian.sol1.net/svg/2005/11/05/smil-animation-patch/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>SMIL work: performance and integration</title>
		<link>http://brian.sol1.net/svg/2005/10/16/smil-work-performance-and-integration/</link>
		<comments>http://brian.sol1.net/svg/2005/10/16/smil-work-performance-and-integration/#comments</comments>
		<pubDate>Sun, 16 Oct 2005 08:01:21 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
	<category>Status updates</category>
		<guid>http://brian.sol1.net/svg/2005/10/16/smil-work-performance-and-integration/</guid>
		<description><![CDATA[	Here&#8217;s an updated patch with my latest changes including:
	
	Optimised performance&#8211;a lot of unnecessary rendering has been filtered out and the profiling I was able to perform suggests this has made a significant difference, especially when the animation is frozen.
	Animation now pauses and resets when the page is cached in the bfcache.
	Better thread safety.
	Animation now starts [...]]]></description>
			<content:encoded><![CDATA[	<p>Here&#8217;s an <a href="http://brian.sol1.net/svg/patches/smil-anim-2005-10-16-1736.patch">updated patch</a> with my latest changes including:</p>
	<ul>
	<li>Optimised performance&#8211;a lot of unnecessary rendering has been filtered out and the profiling I was able to perform suggests this has made a significant difference, especially when the animation is frozen.</li>
	<li>Animation now pauses and resets when the page is cached in the bfcache.</li>
	<li>Better thread safety.</li>
	<li>Animation now starts at the same time as the SVGLoad event (although this has meant a regression in the <a href="http://brian.sol1.net/svg/tests/deferred-tree.xhtml">deferred tree</a> test case).
</li>
	<li>Support for pausing via the DOM (see <a href="http://brian.sol1.net/svg/tests/pause-controls.xhtml">this test case</a>).</li>
	<li>Animation is now disabled if the <code>image.animation_mode</code> pref is set to &#8216;none&#8217; (although I&#8217;m not sure if this is a good idea).</li>
	<li>Fixed the to-animation prioritisation issue <a href="http://brian.sol1.net/svg/2005/10/04/fill-modes-nearly-there/#comment-9">Olaf pointed out</a>.</li>
	<li>The <a href="http://brian.sol1.net/svg/tests/frozen-to-animation.xhtml">frozen to animation</a> test case now produces the correct result in all cases (although there are still unresolved issues with regard to seeking).
</li>
</ul>
	<p>The latest patch is at:<br />
<a href="http://brian.sol1.net/svg/patches/smil-anim-2005-10-16-1736.patch">http://brian.sol1.net/svg/patches/smil-anim-2005-10-16-1736.patch</a>.</p>
	<p>I&#8217;ve also put up <a href="http://brian.sol1.net/svg/patches/configure">my configure script</a> as some people have had trouble regenerating the script from configure.in.</p>
	<p>You might like to read <a href="http://brian.sol1.net/svg/2005/10/04/fill-modes-nearly-there/#comment-7">Twitwi&#8217;s comment</a> for some help on applying the patch.
</p>
]]></content:encoded>
			<wfw:commentRSS>http://brian.sol1.net/svg/2005/10/16/smil-work-performance-and-integration/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Fill modes (nearly) there</title>
		<link>http://brian.sol1.net/svg/2005/10/04/fill-modes-nearly-there/</link>
		<comments>http://brian.sol1.net/svg/2005/10/04/fill-modes-nearly-there/#comments</comments>
		<pubDate>Tue, 04 Oct 2005 11:51:55 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
	<category>Status updates</category>
		<guid>http://brian.sol1.net/svg/2005/10/04/fill-modes-nearly-there/</guid>
		<description><![CDATA[	Aided by flat surf but hampered by perfect weather I&#8217;ve spent most of the last week tidying up my code and updating the documentation on the wiki. The latest patch is hopefully much better, or at least not quite as hideous as it was in some parts.
	Fill modes are now implemented except for one edge [...]]]></description>
			<content:encoded><![CDATA[	<p>Aided by <a href="http://www.realsurf.com">flat surf</a> but hampered by perfect weather I&#8217;ve spent most of the last week tidying up my code and updating the documentation on <a href="http://wiki.mozilla.org/SVGDev:SMIL_Model">the wiki</a>. The <a href="http://brian.sol1.net/svg/patches/smil-anim-2005-10-04-2138.patch">latest patch</a> is hopefully much better, or at least not quite as hideous as it was in some parts.</p>
	<p>Fill modes are now implemented except for one edge case of a frozen to animation that is stopped in the middle of the simple duration. It&#8217;s the third case in <a href="http://brian.sol1.net/svg/tests/frozen-to-animation.xhtml">this test</a>.</p>
	<p>I&#8217;m putting feature work on hold for a while to focus on a few obvious optimisations such as suspending the timer when it&#8217;s not needed.</p>
	<p>Here&#8217;s the latest patch: <a href="http://brian.sol1.net/svg/patches/smil-anim-2005-10-04-2138.patch">http://brian.sol1.net/svg/patches/smil-anim-2005-10-04-2138.patch</a>
</p>
]]></content:encoded>
			<wfw:commentRSS>http://brian.sol1.net/svg/2005/10/04/fill-modes-nearly-there/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Additive animation</title>
		<link>http://brian.sol1.net/svg/2005/09/21/additive-animation/</link>
		<comments>http://brian.sol1.net/svg/2005/09/21/additive-animation/#comments</comments>
		<pubDate>Wed, 21 Sep 2005 11:50:33 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
	<category>Status updates</category>
		<guid>http://brian.sol1.net/svg/2005/09/21/additive-animation/</guid>
		<description><![CDATA[	Additive animation appears to be working. The test case I mentioned in the last post works, even the nasty tree re-ordering cases. I&#8217;ve also extended the additive test case a little to test a bit more of the dynamic behaviour.
	In implementing this I&#8217;ve tightened up the implementation of the &#60;animate&#62; element somewhat and wrapped each [...]]]></description>
			<content:encoded><![CDATA[	<p>Additive animation appears to be working. The <a href="http://brian.sol1.net/svg/tests/additive-animation.xhtml">test case I mentioned in the last post</a> works, even the nasty tree re-ordering cases. I&#8217;ve also <a href="http://brian.sol1.net/svg/tests/additive-animation-extreme.xhtml">extended the additive test case</a> a little to test a bit more of the dynamic behaviour.</p>
	<p>In implementing this I&#8217;ve tightened up the implementation of the <code>&lt;animate&gt;</code> element somewhat and wrapped each sample in a pair of calls to <code>suspendRedraw</code> and <code>unsuspendRedraw</code>.</p>
	<p>I&#8217;m putting feature work on hold while I tidy up the code and update the documentation on the <a href="http://wiki.mozilla.org/SVGDev::Animation">wiki</a>.</p>
	<p>The remaining features I hope to add this year are:</p>
	<ul>
	<li><code>fill</code> modes</li>
	<li><code>restart</code></li>
	<li><code>accumulate</code></li>
	<li><code>min</code> and <code>max</code></li>
	<li><code>keyTimes</code></li>
	<li><code>keySplines</code></li>
	</ul>
	<p>I may have a chance to look at adding support for specifying target elements via <code>xlink:href</code> and perhaps CSS values and relative values but I&#8217;m not sure. I&#8217;ll be focussing more on thread safety, performance, optimisations, DOM interfaces etc.</p>
	<p>The latest patch:<br /><a href="http://brian.sol1.net/svg/patches/smil-anim-2005-09-21-2129.patch">http://brian.sol1.net/svg/patches/smil-anim-2005-09-21-2129.patch</a>
</p>
]]></content:encoded>
			<wfw:commentRSS>http://brian.sol1.net/svg/2005/09/21/additive-animation/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Additive animation nearly done</title>
		<link>http://brian.sol1.net/svg/2005/09/14/additive-animation-nearly-done/</link>
		<comments>http://brian.sol1.net/svg/2005/09/14/additive-animation-nearly-done/#comments</comments>
		<pubDate>Wed, 14 Sep 2005 10:59:40 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
	<category>Status updates</category>
		<guid>http://brian.sol1.net/svg/2005/09/14/additive-animation-nearly-done/</guid>
		<description><![CDATA[	I&#8217;ve done most of the work required for additive animation. The remaining part is to correctly order animations in the animation sandwich after changes to the document structure. So in this test case the last two squares don&#8217;t behave as they should. (However, ASV fails in the same way.)
	Also, I&#8217;ve implemented from/to/by animation and animation [...]]]></description>
			<content:encoded><![CDATA[	<p>I&#8217;ve done most of the work required for additive animation. The remaining part is to correctly order animations in the animation sandwich after changes to the document structure. So in <a href="http://brian.sol1.net/svg/tests/additive-animation.xhtml">this test case</a> the last two squares don&#8217;t behave as they should. (However, ASV fails in the same way.)</p>
	<p>Also, I&#8217;ve implemented from/to/by animation and animation using a list of values.</p>
	<p>I&#8217;ve done a lot of tidying up too but the nsSVG(Animated)Length situation is still a nightmare.</p>
	<p>By the end of September I hope to have:</p>
	<ul>
	<li>cumulative animation, and</li>
	<li>fill modes</li>
	</ul>
	<p>and maybe:</p>
	<ul>
	<li><code>restart</code>, and</li>
	<li><code>min</code> and <code>max</code></li>
	</ul>
	<p>After that I&#8217;ll hopefully add <code>keyTimes</code> and <code>keySplines</code> and <code>calcMode</code> (at least for <code>spline</code>, <code>linear</code> and <code>discrete</code>) but mostly I&#8217;ll focus on integration, performance, testing etc. Something should be ready by December.</p>
	<p>Here&#8217;s the patch for my latest changes: <a href="http://brian.sol1.net/svg/patches/smil-anim-2005-09-14-2043.patch">smil-anim-2005-09-14-2043.patch</a> (about 230k).</p>
	<p>I haven&#8217;t included <code>configure</code> in the diff so you&#8217;ll need to regenerate it from <code>configure.in</code>.</p>
	<p>Under Cygwin the following works for me:</p>
	<p><code>autoconf-2.13 configure.in &gt; configure</code>
</p>
]]></content:encoded>
			<wfw:commentRSS>http://brian.sol1.net/svg/2005/09/14/additive-animation-nearly-done/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Compositing underway</title>
		<link>http://brian.sol1.net/svg/2005/09/07/compositing-underway/</link>
		<comments>http://brian.sol1.net/svg/2005/09/07/compositing-underway/#comments</comments>
		<pubDate>Wed, 07 Sep 2005 11:35:23 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
	<category>Status updates</category>
		<guid>http://brian.sol1.net/svg/2005/09/07/compositing-underway/</guid>
		<description><![CDATA[	I&#8217;ve begun work on implementing compositing. This will take some time. Also I&#8217;m no longer sure I&#8217;ll be able to deliver syncbase timing this year as instead I may need to focus on integration issues, performance, documentation, thread-safety and so on. Hopefully all this will mean it has a better chance of getting checked in [...]]]></description>
			<content:encoded><![CDATA[	<p>I&#8217;ve begun work on implementing compositing. This will take some time. Also I&#8217;m no longer sure I&#8217;ll be able to deliver syncbase timing this year as instead I may need to focus on integration issues, performance, documentation, thread-safety and so on. Hopefully all this will mean it has a better chance of getting checked in sooner though.
</p>
]]></content:encoded>
			<wfw:commentRSS>http://brian.sol1.net/svg/2005/09/07/compositing-underway/feed/</wfw:commentRSS>
	</item>
	</channel>
</rss>
