Open bitinn opened 1 year ago
The shift-click and shift-selection box additions sound like a great idea.
However, control-click might might not be a good idea since (I guess as an artifact of the old one-button mouse) control-click on macOS usually is the same as right-click, bringing up context menus. While not perhaps as standard one option used by some systems could be to simply have shift-click / box let the user toggle the node back to unselected again if it's selected.
Describe the project you are working on
Visual Shader Editor in Godot is missing a few key features that is commonplace in other node-based editors, costing users many clicks as well as reducing shader readability.
(Reference applications: Blender, Unity, Unreal, Substance Designer)
Describe the problem or limitation you are having in your project
Lack of SHIFT + Click and SHIFT + Box Selection to expand selection: neither Left Click nor Box Selection is able to expand on existing node selection. Making node organization exceedingly difficult.
In the same context, lack of CTRL + Click and CTRL + Box Selection to reduce selection is also problematic, because often users would box select a large region then refine selection further before moving/deleting them.
Describe the feature / enhancement and how it helps to overcome the problem or limitation
Support SHIFT + Click and SHIFT + Box Selection to expand selection;
Support CTRL + Click and CTRL + Box Selection to remove selection;
If possible, add a Frame node that can group a number of nodes, for better shader organization, while also acting as shader comments.
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
Video is recorded in Blender with Geometry Nodes editor;
Box selection is able to expand / reduce using SHIFT / CTRL modifier.
CMD + J is the shortcut to frame selected nodes (OPTION + P to unframe these nodes), moving the frame will also move framed nodes, label for the frame can act as simple comment.
https://streamable.com/x3ofm7
If this enhancement will not be used often, can it be worked around with a few lines of script?
I don't think so
Is there a reason why this should be core and not an add-on in the asset library?
Speaking as a tech artist, I think experienced shader editor users will greatly appreciate these improvement, as these features are common among other applications, if not universal. Making them optional via add-on introduces fragmentation unnecessarily.