comfyanonymous / ComfyUI

The most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface.
https://www.comfy.org/
GNU General Public License v3.0
53.69k stars 5.7k forks source link

Simplification of node INPUT/WIDGET selection #5294

Open OneMonkeyArmy opened 21 hours ago

OneMonkeyArmy commented 21 hours ago

Feature Idea

The top node is the actual node and as we all know, if we want to change any manually entered values, for an input pin, we must right click, find the widget and select change to input, and the opposite change is also true.

What if I tell you that this is completely counterproductive and mostly useless...

Simply add an input pin on each line, with the shape and color that represent the accepted connection (in this example INTEGER, so green, and empty circle) as seen in the proposed node in the middle...

as long as no connection is done on any of those lines, the value is taken from the input field as usual, but as soon as a connection is made, like the Y in the 3rd node.... then the input field and it's value, is hidden, and the value is taken from the input...

Note that the circle gets fully colored, displaying a connection.. and if the connection is removed, the input field is displayed again (with its previous value)

SIMPLIFICATION

Existing Solutions

The solution reside in the code that handle this bad node design ! Sorry ! no other term to describe it... We are talking about computer easy automation... and user should do it manually ? LOL

Simply change the logic that select the value from:

Is it AN INPUT or a WIDGET .. In = external value , Wid.= value in the field

to

Is there a connection done? Y= external value , N= value in the field

instead of many many user right clicks...

and it removes a line in the contextual right click menu (and it's few or many children, depending on the node)

Other

On all nodes, the use of a circle before the node title is just annoying for the eye... We know it is not a connection, but why using this image.. icons for node family/type should be used... like in the Unreal engine blueprints...

And if you still doubt about my suggestion, I will simply conclude with this:

Unreal engine blueprint's have been around for decades, tens of millions of users have worked with it (Game developers, Motion picture industry, Architecture previz... etc )

They can't be wrong !!!

LukeG89 commented 20 hours ago

A similar feature request was already proposed in the frontend repo: https://github.com/Comfy-Org/ComfyUI_frontend/issues/870

They recently implemented a faster way to convert widgets to inputs, by simply dragging the link to a compatible widget:

https://github.com/user-attachments/assets/cbe4ed06-238a-4dd6-b2da-35bf62e905ea

And I also requested to improve this new "widget to input" feature: https://github.com/Comfy-Org/ComfyUI_frontend/issues/1064