Blender Data Exchange Management
The idea would be to have a universal way of getting the data from Blender and giving it to Blender via the Python API.
This is a stub and ideas and comments are welcome, as well as describing current issues that it could fix.
Emphasizing on the stub nature of it here because this is how I currently see the idea and understood it (I have not a lot of experience with the API, so any input is welcome), I could be totally wrong too
Collaborative document on the topic. (empty)
We could have one data structure to avoid having to browse the data tree to get an object. This data structure would be defined, and specify a format for the data structure for a specific use. This could then extend to having (step 2) format templates, simplifying data manipulation for recurrent cases.
This would be an object describing all the data from the current data opened in Blender. As if the data was saved and you would take and read the file, but here, it’s all Python objects, easy to access and modify quickly from scripts and Addons.
This is a starting point to improve upon
Get Material.001’s textures :
textures = getData().getMaterial("Material.001").textures
Get Material.001’s backed texture :
Material001_texture = getData().getMaterial("Material.001").texture
Get Material.001 :
Material001 = getData().getMaterial("Material.001")
This would be an Material object with methods to manage formats and so on.
Get the animation action ‘jump’ :
Jump = getData().getAction("jump")