I haven't posted much lately. One reason was that I went on a sudden vacation to my parents' new house for a few days.

The other reason is that I have been busy working on significant changes to the template building code for Topicalla. Before, it used to crawl the DOM looking for template related tags and attributes every time a change was made. While it isn't particularly a performance problem at the moment, it would be too slow and tedious for more complicated cases.

Now, instead, it builds up a list of dependencies so that when something changes, it only needs to recompute those nodes in the DOM which would have changed as a result. For example, if template expressions only exist on a <tree> and some <treecell> nested lower down, the builder only looks at those nodes. It also handles changes to the underlying RDF and should be able to ensure that even complex expressions are only recomputed when necessary.

There's still a few things to clean up and a few regressions have occured, but I hope to have those fixed soon. With a bit more work, it should be enough to handle everything that XUL templates can handle, except of course, a lot more -- for example, working in X/HTML.