Is there a way to hide/unhide sockes in a node?

Ah, sorry, that was a selection list, anyways, the idea is to have more design freedom for everyone.


We would like to improve nodes to support custom UI layouts and something like panels to group and collapse sockets. Contributions welcome, otherwise it will probably happen at some point in the future but undefined when.


You are right, it could be the best moment to do it.

Maybe a call to the community for ideas could be good right now?
Like with the workspaces and the HDRI’s

Not all the ideas would be useful, and not everything will be used, but maybe it’s a good moment to receive a lot of input for this so you have a pool of ideas with different points of view about the nodes.

What do you think? Could be a good call?

Workspaces and HDRI’s are things end users could do without knowing a line of code, I don’t see that same crowd do a proper design on how to improve custom nodes.

Ok, I see your point here, you are right

But any call for ideas between addons writers about that questions? Greetings…

Could we use the minimize icon node, to a rightclick that calls a menu with visualization options?? Right now it’s just an ‘Edit Source’ placeholder… :thinking:

There is not much point doing a call for ideas without a developer to implement them.

The main thing would be to let core and add-on developers define custom UI layouts. Not sure what right click menus have to do with this. The design should take into account how this can work for group nodes too, but doesn’t seem useful to go into specific UI details of how that would work.

I got this final design, with the current API.

Here all the groups are folded.

Here only one group expanded.

Here with some groups…

In my opinion, this design only needs 2 simple things:

  • Allow sockets that do not show the link, to avoid connections that do not affect the node.
  • Allow mixing sockets and ‘no-sockets’ in the same design
    I do not know the solutions that the other developers have implemented, but for me, with these 2 simple changes, the advance in the design would be much more flexible.

Yes, there’s already a design for something like that, just no real implementation:


thats an amazing design ! could really be handy in the future with everything node

That is great, brecht!!
Btw… I wonder if there is any possibility of accessing the code of that design?
Edit: Oh sorry, I read again: just no real implementation

Finally, I also found the mode of mixing sockets and no-sockets, but it’s just a trick, adding properties before and after the socket.
I would like to be able to work on the improvement of the nodes, but my free time is very limited.
Edit: Btw… The two models (the previous one and this one) are real and fully operational implementations.

I think the basic proposal here is to have nodes override their draw() method (call it draw_buttons_node) or whatever.

In that you could call layout.socket_input(self, ‘socket_name’) or such.

Ok.While you make your detailed proposal, I will continue looking for solutions.