I’ve put together a very basic prototype with some of the ideas discussed so far. Please be aware that it’s very limited. The idea was just to help with discussion and to help me try to understand some of the suggestions. So it’s not a serious proposal. I was working on something a bit more solid but I threw it away after I read some of the suggestions on usenet/IRC/wiki.
So there are about a bzillion things wrong with the prototype but I think it should still aid discussion.
I tried to implement Alex’s suggestion for the anim/base value split. It mostly works but produces a lot of assertions and doesn’t function correctly via the DOM (not sure if it’s because a modified QueryInterface is needed or because of vtable magic involved in XPConnect). I won’t look at this too much more because there seem to be a lot of (much more capable) people interested in this. Scooter and I agreed that he’d look at this and I’d look at the timegraph stuff.
This experiment only animates the x and y attributes of elements and only for very simple animations. Basically it runs this test case [removed] and probably nothing else.
Here it is: Animation experimenting patch (to be applied from /mozilla, I ran
patch -p 3 -u -N < anim-proto-1.patch).