The goal of these tasks is to make core Blender data structures more extensible and object-oriented.
See the proposal in the developer wiki for details.
Extend IDTypeInfo usage and functionality to abstract ID handling in more areas.
- lib_query.c for relations to other datablocks (T74960)
- Find other cases where hardcoded ID type tests are spread throughout the code
Decentralize .blend file I/O code, with a well documented API (T76372).
Automate lib linking and expand using lib query?
- Add mechanism to register RNA at runtime
- Use it for important case including:
- Use for all data structures (long term)
We still need to work out design for how to register DNA at runtime, this is more of a long term goal.
- Modifiers, shader effects move from Python to callback on modifier typeinfo (modifier-panels-ui branch)
- Nodes UI move from drawnode.c to callback on node typeinfo
- Geometry / Function nodes
- Shader nodes
- Compositor nodes
We still need to work out design for how to decentralize depsgraph building, this is more of a long term goal.