RFC Discussion: Subgraph #17
Replies: 10 comments 38 replies
-
So will it be possible to "expand" the subgraph directly into the main graph ( like we do with group nodes ) ? That would be great ! |
Beta Was this translation helpful? Give feedback.
-
|
Reading the proposed implementation a couple of details came to my mind:
|
Beta Was this translation helpful? Give feedback.
-
I suggest not differentiating these apart from simple inputs to the subgraph, especially considering the "Widget Input Socket" RFC. Then the subgraph node can simply display it as a widget or input. |
Beta Was this translation helpful? Give feedback.
-
|
There're few inspirational custom nodes I feel Subgraph can adapt:
Subgraphs can adopt these 2 nodes features to be easier to adjust either in or outside of main workflow, even better to turn N-sidebar's template as native feature, given the case the dev has stopped updating the repo for so long. |
Beta Was this translation helpful? Give feedback.
-
|
Super excited about this proposal! I won't comment on the frontend stuff (since there's already a lot of great conversation on that), but I would urge you to consider an implementation in which the backend resolves subgraphs rather than the frontend attempting to flatten graphs prior to submission. 99% of the functionality necessary for this is already implemented on the backend in the form of node expansion (unless there are existing bugs with it that I haven't heard about), and I'd be happy to implement whatever little might be missing (as long as I'm not signing up to do the frontend work as well). There are a couple reasons I would urge this direction:
flowchart LR
Input --> TextToImage1
Input --> TextToImage2
Input --> Conditional
TextToImage1[TextToImage]:::em --> Conditional
TextToImage2[TextToImage]:::em --> Upscale
Upscale --> ImageToImage
ImageToImage --> Conditional
Conditional --> Output
classDef em font-weight:bold,color:red
The problem comes from the fact that there are two
|
Beta Was this translation helpful? Give feedback.
-
|
I'd love to have it but I have questions. Wouldn't unifying the functionality of Groups and Group Nodes be better than adding something? Or does this aim to replace Group Nodes and Groups with something better? Can we not just have Group Nodes that work better and consolidate the Group and Group Nodes since they work more accurately to the current workflow and UI in the frontend? I really like how Blender 3D handles things and this seems basically like that, but I like the idea of refactoring what is there and not bloating things with more. (The group node manager needs QoL attention but probably the only overhaul needed in my mind, but I really don't know if we are adding or replacing, and I need to familiarize myself with the source) |
Beta Was this translation helpful? Give feedback.
-
|
Assuming you'd like to have some kind of widget editor for the node representing the subgraph, please consider making it possible to add arbitrary separators. The current grouping just throws in everything into a single list. Making things worse you cannot rename neither the input/output pads, nor the widgets. So if you use internally multiple nodes of the same type, it becomes a guessing game what's exposed on the group node. Even better would be some kind of collapsible groups for the widgets, so we can structure them more logically. |
Beta Was this translation helpful? Give feedback.
-
|
It may sound stupid but... If GroupNode (current implementation) could toggle between expanded and collapsed state (ui state) we could have a UX similar to this rfc.
(I don't know nothing about the source of comfy, sorry...) If this is practical, the next think that comes to my mind is that, The user should not be able to make a socket connection between a node that is part of the main workflow and a node that is a child of the GroupNode, while the GroupNode is in expanded state. This can be tempting due to the fact the nodes are near , so maybe a visual indication that the GroupNode "wraps" its own nodes should be visible even in expanded state to give feedback to the user. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
|
Marking this RFC as active, as development is under way. Please see the associated PRs in https://github.com/Comfy-Org/ComfyUI_frontend and https://github.com/Comfy-Org/litegraph.js to keep up with the progress. |
Beta Was this translation helpful? Give feedback.

















Uh oh!
There was an error while loading. Please reload this page.
-
This is the discussion thread for RFC PR #15.
Please provide feedback and discuss the RFC here rather than in the PR comments.
PR Link: #15
Beta Was this translation helpful? Give feedback.
All reactions