Comfy-Org / Comfy-Org/ComfyUI_frontend
Simplify subgraphs ( no input / output nodes )
- Dominant language
- TypeScript
- Stars
- 2k
- Forks
- 704
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 512
Description
### Is there an existing issue for this?
- [x] I have searched the existing issues and checked the recent builds/commits
### What problem are you experiencing?
Input / output nodes make subgraphs more complex than what they need to be.
### When does this problem occur?
When subgraphs have inputs / outputs from multiple nodes, the subgraph gets very cluttered, easily.
### How often do you encounter this problem?
Multiple times per day
### How much does this problem affect your workflow?
Causes moderate inconvenience
### Current workarounds
_No response_
### Ideas for solutions (Optional)
For me, the main advantage of the input / output nodes is to change the order of input / output slots, in the subgraph node.
But the current method is not very easy, and users have asked for a better way ( https://github.com/Comfy-Org/ComfyUI_frontend/issues/4195 ).
Now we just got a new menu to edit promoted widgets, that allows click and drag to change widget order ( https://github.com/Comfy-Org/ComfyUI_frontend/pull/5826 ).
So, we could have similar menus to "promote" input / output slots to the main graph.
And when this happens, the slot could have a different design:
- We could have a slot design that matches promoted widgets ( maybe a blue color would work better here ).

- Or a completely new design

---
**Additional details:**
- Only free inputs in the subgraph would show up in the "promotable" inputs list.
But all outputs could be shown in the "promotable" outputs list.
- We could still drag wires to make connections to promoted input slots ( and they would be "de-promoted" automatically ).
But promoted outputs could still be connected to other nodes in the subgraph ( and keep the promoted status ).
- We could also change names directly from the new menu ( https://github.com/Comfy-Org/ComfyUI_frontend/issues/5914 )
- We could have a right click option to `promote slot`.
In this case, when we "promote" a connected input slot, the wire would be disconnected automatically.

### Additional context
_No response_
┆Issue is synchronized with this [Notion page](https://www.notion.so/Issue-5917-Simplify-subgraphs-no-input-output-nodes-2826d73d365081659485dd55ed4d677e) by [Unito](https://www.unito.io)
Contributor guide
Research direction
Start by reviewing related issue #4195 and PR #5826, then trace the existing subgraph and promoted-widget interactions. Clarify the promotion, connection, ordering, naming, and visual-design rules before implementation; done should leave subgraphs usable without unnecessary input/output nodes while preserving the described connection behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- design, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100