System Information
Operating system: Windows-10-10.0.19042-SP0 64 Bits
Graphics card: NVIDIA GeForce RTX 2080 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 496.76
Blender Version
Broken: version: 3.1.0 Alpha, branch: master, commit date: 2022-01-23 00:09, hash: rB5c4a5fd40ddb
Worked: (newest version of Blender that worked as expected)
Short description of error
The recent builds of Blender 3.1 add an option to finally move reroute nodes with mouse only, like any other node types. Unfortunately, there is no pre-selection highlight to let the user know which action they are about to perform on click-drag action. According to the anti-features page, pre-selection highlight section, if such feature does not behave reliably and predictably, it should be reported as a bug: https://wiki.blender.org/wiki/Reference/AntiFeatures
This is why I am reporting it as such.
Current implementation suffers from following issues:
- The circular area/radius where move operation occurs is not visible. It is not visible how far from the reroute node position the node can still be transformed.
- Click dragging slightly outside the reroute node circle will still result in node wire drag rather than transform, further adding to the confusing behavior.
- It is not obvious that the click-drag transforms works only when the reroute node is selected first, which is inconsistent with click-drag transform behavior of the other nodes.
Exact steps for others to reproduce the error
- Add a reroute node to any node graph
- Select the reroute node
- Click-drag around near the reroute node in various distances
Result: What happens when LMB click dragging near the reroute node is not reliably predictable
Expected: Outcome of LMB click-drag input operation near a selected reroute node can be reliably predicted
Proposed solution:
When the reroute node is selected, and therefore can be transformed, draw a simple transform gizmo representing the screen area, which results in the transform operation when click-dragged, but only for reroute node closest to the mouse cursor, and only when the mouse cursor is near it (the same the scrollbars are dynamically drawn only in the close proximity of the mouse cursor):
