Thanks for the great responses all! I hadn't anticipated people would be so eager to try it out (though I should have, it's a lot of fun to play around with even at this stage.) I'll get a svn patch ready and talk to Ted about getting a branch set up.
Extension integration:
Ted and I have talked about supporting extensions. The general idea is to keep all of the advantages of the current extension system and simply provide some alternatives to the potentially inefficient stdin/stdout communication. Extensions already live in a separate process, so this should be a good solution. Live previews in particular would benefit from extensions not having to pass the entire document to make small changes.
I am currently investigating how this could be done while requiring minimal changes to existing extensions. Anyone familiar with extensions and what kind of functionality they would need, don't hesitate to speak up.
Lib2geom:
I hadn't looked at this before but I definitely will now. It does seem like a great way to give a ton of flexibility for advanced users. I have no idea whether it will be easy or hard but I'll give it a shot and let you know what I find.
Working with previous objects (ones you did not create):
Basically you select objects in a layer or document and get the id's from the selection. I've also added a selection_box to make this easier. A functional programmer could map a filter function onto selection_get() and set the result as the new selection. Then you could write a function to get whatever you needed: Select_blue_objects() Select_larger_than (50) Select_by_alpha (<, .5). The possibilities are endless (of course you could do this imperatively, but where's the fun in that?)
Keep those suggestions coming,
-Soren