Page MenuHome

Extensible Architecture Refactoring
Confirmed, NormalPublicDESIGN


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.

.blend I/O
  • 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:
    • Nodes
    • ...
  • 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
Dependency Graph

We still need to work out design for how to decentralize depsgraph building, this is more of a long term goal.

Event Timeline

Brecht Van Lommel (brecht) changed the task status from Needs Triage to Confirmed.Apr 14 2020, 1:45 PM
Brecht Van Lommel (brecht) created this task.
Bastien Montagne (mont29) changed the subtype of this task from "Report" to "Design".Apr 22 2020, 12:18 PM