I would really like to have a feature that would allow selecting multiple nodes while holding down the RIGHT mouse button. The right mouse button doesn't do anything anyway if you hold it down and move it around on the canvas - so why not give the ability to select nodes on the canvas while holding down the mouse button?
This would speed up the work many times for those who prefer to use the mouse or who only need to use the mouse when building workflows, since the keyboard is essentially used quite rarely when building graphs (mostly when you need to set some text or numerical parameters, or when searching for nodes).
In fact, some of the proposed already works and does not need to be changed. Hold down Shift or Ctrl and you will see that you can select/deselect a node. There is no point in changing this behavior.
And I do not agree with these points of yours:
- "Left Click + CTRL (on node): subtract from selection" - I think this does not make sense, since now both CTRL and Shift do it the same way (select/deselect).
- "Left drag holding CTRL (starting anywhere): rectangle selction/subtract from selection" - as I said above, this does not make sense.
- "Right Click (on node): add/subtract from selection" - this cannot be done, since the Right Mouse Button is responsible for calling the context menu.
In general, I agree with you about the left mouse button - it would be possible to actually make the Left Mouse Button a means of selecting nodes on the canvas, removing the "Pan around" function, since "Pan around" is already on the middle mouse button.
But it would be better to put this in a separate ComfyUI setting so that users could define the behavior themselves.
In general, I would recommend that the authors of ComfyUI make a flexible set of settings for controlling the view, scrolling, selection, as well as changing the bindings for the mouse buttons and wheel. This would significantly improve the user experience, since each user will determine what is more convenient for them, since users come from different programs with different controls (Figma has its own settings, Unreal Engine has its own, Blender has others, n8n has others, and so on).
In addition, it would be easier for the authors of ComfyUI to figure out in the future which settings users set most often and configure the standard (default) settings for most users.
I think ComfyUI is simply the dogs bollocks (google it...it's a compliment)... but some nodes aren't keeping up with ComfyUI's changes. This is a bit of a pain in the arse... for example Crystools et al: super useful nodes, but running an instance on Runpod always ends up with Crystools failing to install. Now, it would be very useful if, after installing certain nodes, they would remain updated and not fail to install...I have to add that I have network storage on Runpod, that has all of my main ComfyUI custom nodes already present, the majority are problem free...perhaps a requirement that node authors have a requirement to maintain their respective nodes to be compatible with the stable version of ComfyUI... I know it's a big ask, but it would help to ensure that ComfyUI users didn't have to daily "try fix" on problematic nodes. It would help to ensure that ComfyUI was the Gold Standard for AI image generators
Why did you decide to make it the main function, and not an additional one?
As I understand, when using the new Scroll View, you will need to hold down some button on the keyboard to be able to scroll left and right (I haven't tested this yet)?
I included this in the blog, just in case some users install a new ComfyUI instance, find the behavior changed, and don't know what to do. We might switch back to legacy mode as default, but we also need to check the community feedback.
Yes, I understand that it may be convenient for a certain number of users, no problem if it will be the main one (but will leave the old way).
I was just curious for what reason in general it may be convenient or suitable for work (what reasons for use).
I know that Figma uses a similar scroll view, but I personally never understood what exactly is convenient about such control. However, in Figma it is clear why it is done this way - they work with layouts that are usually stretched from top to bottom.
In ComfyUI, on the contrary, workflows are stretched from left to right (due to input and output pins located on the sides), and therefore, in my opinion, scrolling up and down is almost not applicable here. It would be more logical to scroll left and right in this case, but this will no longer be an intuitive scrolling behavior, perhaps.
There is plenty of horizontal scroll in Figma/Canva-type interface as well. We intend to maintain both types of navigation in the long run. It's simply that for new installs, by default, we offer the panning navigation.
Suggestion for improvement:
I would really like to have a feature that would allow selecting multiple nodes while holding down the RIGHT mouse button. The right mouse button doesn't do anything anyway if you hold it down and move it around on the canvas - so why not give the ability to select nodes on the canvas while holding down the mouse button?
This would speed up the work many times for those who prefer to use the mouse or who only need to use the mouse when building workflows, since the keyboard is essentially used quite rarely when building graphs (mostly when you need to set some text or numerical parameters, or when searching for nodes).
Love the idea, will implement this
Doesn't holding down the left mouse button already do this?
I mean in the old "Legacy" scroll view. Because in this mode we move the canvas with the left mouse button.
I would like to have the ability to select nodes while holding the RIGHT mouse button.
Can you make such an additional option-setting for the Legacy scroll view?
It would be very convenient to make the mouse a full-fledged tool for working with graphs!
Thanks!
How about:
- Left Click (on node): Select a single Node
- Left Click + shift (on node): add to selection
- Left Click + CTRL (on node): subtract from selection
- Left drag (starting on empty space): rectangle selection for mutliple nodes
(starting on node: move node)
(starting on port: draw connector)
(starting on parameter field: change value)
- Left drag holding shift (starting anywhere): rectangle selection/add to selection
- Left drag holding CTRL (starting anywhere): rectangle selction/subtract from selection
- Middle mouse drag: Pan around
- Scroll Wheel: zoom
- Right Click (on node): add/subtract from selection
This allows for achieving almost anything with the mouse, multiple ways to achieve the same result.
In fact, some of the proposed already works and does not need to be changed. Hold down Shift or Ctrl and you will see that you can select/deselect a node. There is no point in changing this behavior.
And I do not agree with these points of yours:
- "Left Click + CTRL (on node): subtract from selection" - I think this does not make sense, since now both CTRL and Shift do it the same way (select/deselect).
- "Left drag holding CTRL (starting anywhere): rectangle selction/subtract from selection" - as I said above, this does not make sense.
- "Right Click (on node): add/subtract from selection" - this cannot be done, since the Right Mouse Button is responsible for calling the context menu.
In general, I agree with you about the left mouse button - it would be possible to actually make the Left Mouse Button a means of selecting nodes on the canvas, removing the "Pan around" function, since "Pan around" is already on the middle mouse button.
But it would be better to put this in a separate ComfyUI setting so that users could define the behavior themselves.
In general, I would recommend that the authors of ComfyUI make a flexible set of settings for controlling the view, scrolling, selection, as well as changing the bindings for the mouse buttons and wheel. This would significantly improve the user experience, since each user will determine what is more convenient for them, since users come from different programs with different controls (Figma has its own settings, Unreal Engine has its own, Blender has others, n8n has others, and so on).
In addition, it would be easier for the authors of ComfyUI to figure out in the future which settings users set most often and configure the standard (default) settings for most users.
Agreed, making it configurable so that users can have it the same way as in their other most used software would be best.
I think ComfyUI is simply the dogs bollocks (google it...it's a compliment)... but some nodes aren't keeping up with ComfyUI's changes. This is a bit of a pain in the arse... for example Crystools et al: super useful nodes, but running an instance on Runpod always ends up with Crystools failing to install. Now, it would be very useful if, after installing certain nodes, they would remain updated and not fail to install...I have to add that I have network storage on Runpod, that has all of my main ComfyUI custom nodes already present, the majority are problem free...perhaps a requirement that node authors have a requirement to maintain their respective nodes to be compatible with the stable version of ComfyUI... I know it's a big ask, but it would help to ensure that ComfyUI users didn't have to daily "try fix" on problematic nodes. It would help to ensure that ComfyUI was the Gold Standard for AI image generators
What is the advantage of the new Scroll View?
Why did you decide to make it the main function, and not an additional one?
As I understand, when using the new Scroll View, you will need to hold down some button on the keyboard to be able to scroll left and right (I haven't tested this yet)?
I included this in the blog, just in case some users install a new ComfyUI instance, find the behavior changed, and don't know what to do. We might switch back to legacy mode as default, but we also need to check the community feedback.
It's just a new option. You can choose the one you like. It will only be the default for new users.
Yes, I understand that it may be convenient for a certain number of users, no problem if it will be the main one (but will leave the old way).
I was just curious for what reason in general it may be convenient or suitable for work (what reasons for use).
I know that Figma uses a similar scroll view, but I personally never understood what exactly is convenient about such control. However, in Figma it is clear why it is done this way - they work with layouts that are usually stretched from top to bottom.
In ComfyUI, on the contrary, workflows are stretched from left to right (due to input and output pins located on the sides), and therefore, in my opinion, scrolling up and down is almost not applicable here. It would be more logical to scroll left and right in this case, but this will no longer be an intuitive scrolling behavior, perhaps.
There is plenty of horizontal scroll in Figma/Canva-type interface as well. We intend to maintain both types of navigation in the long run. It's simply that for new installs, by default, we offer the panning navigation.