
* Run diff tools on the XML document created by scripts so that only the diffs are merged into the tree. Currently the scripting interface basically sends an XML file, and takes the returned XML file at face values. What would be better is if the scripting interface detected the change in the document, and only applied those to the tree. There are some good algorithms for this from the folks that did Union. It would increase the speed of execution for the scripts and reduce the amount of data that they throw on the undo stack.
I'd like to see extensions which have hooks instead of passing data in such large quantities around. First of all a DOM which modifies the inkscape document from the outside would be most useful to implement. firstly is the class of extension which should be an attribute:
1) File Save extension, an exporter, to take the entire document and output a string or binary data ready for a file. 2) File Load extension, an importer, to take a file and return svg ready for inkscapes reading. 3) A generator, to take variables and data and create a group containing svg as generated and return the xml element via DOM. 4) An object editor, to take a selection of objects and modify the objects in some way, talking directing with the inkscape DOM to replace them. 5) An attribute editor, to take a selection of any object and modify an attribute of those objects (such as align, colour or animaition) 6) UI extension, to add in some fashion to the GUI interface to add functionality and call perhaps other parts of the extension in the first 5 types.
Thoughts?
Best Regards, Martin Owens