This patch implements one of the main features described in my recent code.blender.org blogpost [1]
It replaces the current lists of sockets on either side of the group editing window by internal "proxy nodes". This avoids long node connections from the sides of a node group and gives more freedom in node group layout. It provides a place to edit all the details of a node group interface socket. It also simplifies code by removing the need to take additional socket lists into account and making node links more consistent. In the future the proxy nodes could be used for creating external interfaces for regular (non-group) node trees as well (see last blog post section). User wiki documentation can be found here [2]. (I noticed there is currently no wiki docs section on general node editing features, beside specifics for shader/compositor nodes. Would be a good idea to make one and integrate this info there.) For review there is a new issue on codereview.appspot.com [3]. Note that this version of the patch does not include changes to startup.blend, which means the proxy node theme color will be black by default! A full version of the patch including startup.blend.c changes can be found here [4] (2.2 MB) This patch version is primarily for testing and initial code review. If the design is accepted and no showstoppers are found it could be considered for trunk merge in next BCon1. TODO: * Forward compatibility is not working yet. Loading newer files in previous Blender versions should not crash, but all exposed sockets are lost (proxy nodes just get removed due to missing type). It will hopefully be forward compatible too, but needs some more work and testing. * The term "proxy nodes" may not be a good choice since it can be mixed up with proxy objects. However, imho these areas are separate enough and the node type name is really just used internally (the term node "group" is even more confusing in combination with object/vertex/etc. groups). Open for discussion. * Some Python API changes for group nodes. Even though i think group nodes are still rarely used in scripting, this must be communicated clearly before possible trunk merge. * Tile branch will need an update too, will provide that as additional patch. * Alternative way of reordering group sockets: Drag&drop in the interface lists. Works fine with buttons, so really optional for later. [1] http://code.blender.org/index.php/2012/01/improving-node-group-interface-editing/ [2] http://wiki.blender.org/index.php/User:Phonybone/NodeTreeInterface [3] http://codereview.appspot.com/5593050/ [4] http://dl.dropbox.com/u/18763916/NodeGroupInterface/node_group_interface1_full.diff _______________________________________________ Bf-committers mailing list [email protected] http://lists.blender.org/mailman/listinfo/bf-committers
