The goal of this task is to explore possible designs to make nodes more compact in Blender.
Nodes in Blender are generally quite large when compared to other software. This has the benefit one can edit more things within the nodes directly without having to use a sidebar. However, it comes at the cost of having large node trees for simple things that show much more information at once then one usually needs to see.
Generally, a node has some properties and input/output sockets. Especially in geometry nodes, the number if node properties is relatively large, because one can change the type of sockets. Showing all these properties in the nodes themselves is rather ugly. Furthermore, some nodes have many sockets (and the number will only increase). Showing all sockets by default also is not very pretty.
There are various ways to deal with this using socket-groups, popovers, short cuts, the side bar or the right click menu. Ideas and mockups are welcome.
-----
I tried one rather drastic idea in a prototype in the `temp-compact-node-prototype` branch. In the prototype I made nodes very small by default. Properties are edited using the side bar. Individual properties can be exposed as input sockets so that they can be linked (the idea is that the node editor is for linking things, while the side bar or property editor is for changing properties). Another thing I did in the prototype is to put the socket-type drop-down menus next to the the values they control. This can also be in the node directly, but requires a bit more refactoring. However, it not clear to me whether it is a good idea to add these small buttons to every socket, I'd rather use the right click menu or so.
{F9913237}
Note: Ignore that the socket type menu shows checkboxes, that just was the easiest way to make it work in the prototype.