[Bf-committers] PyNodes branch merge

Lukas Tönne lukas.toenne at gmail.com
Mon Mar 18 17:35:55 CET 2013


It's finally happening, "PyNodes" branch (aka "custom nodes") ready
for merge into trunk.

PyNodes opens up the node system in Blender to scripters and adds a
number of UI-level improvements.

=== Dynamic node type registration ===
Node types can now be added at runtime, using the RNA registration
mechanism from python. This enables addons such as render engines to
create a complete user interface with nodes.

Examples of how such nodes can be defined can be found in my personal
wiki docs atm [1] and as a script template in
release/scripts/templates_py/custom_nodes.py [2].

=== Node group improvements ===
Each node editor now has a tree history of edited node groups, which
allows opening and editing nested node groups. The node editor also
supports pinning now, so that different spaces can be used to edit
different node groups simultaneously. For more ramblings and rationale
see (really old) blog post on code.blender.org [3].

The interface of node groups has been overhauled. Sockets of a node
group are no longer displayed in columns on either side, but instead
special input/output nodes are used to mirror group sockets inside a
node tree. This solves the problem of long node lines in groups and
allows more adaptable node layout. Internal sockets can be exposed
from a group by either connecting to the extension sockets in
input/output nodes (shown as empty circle) or by adding sockets from
the node property bar in the "Interface" panel. Further details such
as the socket name can also be changed there.


For the next release (2.67) i will update the official wiki pages as
well. The wiki node docs are totally outdated anyway (still on 2.49
level in many parts). I'd like to make a general section about common
node editor tools. Docs about the python API and registration should
probably go to the bpy reference docs as examples [4]

Please report any possible bugs you encounter to the bug tracker [5].

Regards,
Lukas Tönne


[1] http://wiki.blender.org/index.php/User:Phonybone/Python_Nodes
[2] http://projects.blender.org/scm/viewvc.php/trunk/blender/release/scripts/templates_py/custom_nodes.py?view=markup&root=bf-blender
[3] http://code.blender.org/index.php/2012/01/improving-node-group-interface-editing/
[4] http://www.blender.org/documentation/blender_python_api_2_66a_release/bpy.types.NodeTree.html
[5] http://projects.blender.org/tracker/?atid=498&group_id=9&func=browse


More information about the Bf-committers mailing list