Feedback wanted on node link swapping

Your input is definitely appreciated. I hope this kind of back and forth strengthens the reasoning before committing to a solution. :slight_smile:

Is this related to the reconnecting, when dragging new node links with alt?
For now I opted to keep the behaviour similar to the old auto swapping, but I can see how reconnecting to any available sockets even if they are incompatible could be preferable.

Adding a reroute to keep the old link feels a bit hacky, even though I understand the motivation. If that is something we want to address, the solution described here sounds better:

That is very general and would even allow consecutively swapping several links!
I didn’t implement it like this so far is, because currently dragging node links is done by holding the mouse button and releasing it confirms the action.

The behaviour described above would have to work a bit differently:

  • (A) Dragging the link into a socket while holding the modifier key automatically swaps the dragged link with the one currently occupying the socket (there is no confirming action for this).
  • (B) There could be a key you press to swap the currently dragged links with the ones in the socket that you are connecting to.
  • (C) Instead of pressing the mouse button, you could start the link dragging by clicking (press and release) on a socket. Clicking again while dragging the link would confirm the action (connect/swap the links, open search etc.)

(A) seems like it would lead to accidentally swapped links, (B) could be hard to discover (similar to setting snap points while tranfsforming), and (C) feels like a big departure from how we handle things right now.