(Yet another) Portal Node proposal!
Hi all.
First post, go easy on me! ;)
Yes, I know, there are other Portal node proposals but, having checked them all out, they don't seem to adhere to Blenders design/style. So here goes my attempt...
Naturally, as one would expect, a Portal "node" actually consists of an input node (Portal In) and an output node (Portal Out). They should have their own menu entries so either can be independently added to the node-tree.
Portal In
When first added to the node tree a Portal In node will look like a completely blank node, except for the empty dynamic connection input which behaves exactly like those on group in/out nodes. Just like a group in/out node the user may go into the "N" menu to change the nodes label, re-order the inputs, change the inputs names, etc.
The Portal In node should have an icon on the right side of the nodes name/label area which will serve two functions:
-
If there are no Portal Out nodes associated to that specific Portal In node then the icon can be used as a quick shortcut to create a Portal Out node that is automatically linked to that Portal In node.
-
If there is one (or more) Portal Out node(s) associated with the Portal in Node then clicking on the icon will highlight all the associated Portal Out nodes and will remain highlighted until further user action. If any of the associated Portal Out nodes are outside of the viewports viewable area then the view will be temporarily zoomed out until all can be seen. If the user then clicks on one of the highlighted nodes the viewport will be zoomed into that location and stay there. If the user clicks anywhere else the view will be restored back to its original location/zoom state.
Obviously, a Portal In node does not have any output sockets.
Portal Out
Upon creation a Portal Out node will be completely blank save for a drop-down box which is used to select any available Portal In nodes, either by node Label (if set) or falling-back to the node Name (Portal In, Portal In.001, etc). If no Portal In nodes exist then the drop-down box will be greyed out and will display "No Portal In available" (or something to that effect). If Portal In nodes are available but none have been selected the drop-down box will default to displaying "Select..." (or similar).
Portal Out nodes should always reflect their associated Portal In nodes; as the user creates new connections to a Portal In node those changes will be dynamically made on the output side of the associated Portal Out nodes. While it should not be possible to change the name/type of the Portal Out output sockets re-ordering them should, if feasible, be possible.
If an associated Portal In node is deleted, either accidentally or on purpose, any existing output sockets and connections should be maintained but the node should be greyed out to indicate that it no longer has an associated Portal In node (and any connected output noodles may also be turned red to further indicate an error).
Additionally, a Portal Out node should have a reversed version of the Portal In icon which when clicked will highlight its associated Portal In node. If no associated Portal In nodes exist then the icon could be used to recreate a matching Portal In node (although the Portal In sockets would have to be manually reconnected to a source).
Again, naturally, a Portal Out node does not have any input sockets of its own.
Images
2 Comments
Great idea. This is also necessary for the shader editor.
Great idea.