This is a continuation of the conversation in the blenderartists freestyle thread.
The goal is to update the freestyle python API now that some breakage of backwards compatibility is allowed with the upcoming 2.70 release. The current proposal is to let the updated freestyle module work more like blender's bpy module. The current freestyle module will internally be named _freestyle. this module will be extended by python with the python-defined objects (eg. shaders, predicates, chainingiterators).
so far, the following structure is somewhat agreed on
- freestyle, base module, possibly container for objects that fit nowhere else
- freestyle.iterators, iterators of all kinds
- freestyle.predicates, all predicates for both 0D and 1D elements
- freestyle.functions, all freestyle functions for both 0D and 1D elements
- freestyle.shaders, all freestyle shaders
- freestyle.utils, helper functions and generators
The goal of this project is to provide more structure to the freestyle module, whilst at the same time modernizing both code style and comments/descriptions. There are also some ideas already on how to integrate freestyle scripting with the parameter editor.