Comfy-Org / Comfy-Org/ComfyUI_frontend
[Feature]: Allow for primitive widgets on subgraphs to be forced into pure inputs
- Dominant language
- TypeScript
- Stars
- 2k
- Forks
- 699
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 490
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?
One of the things that was brought up in #4189 was how primitive type inputs on subgraphs should be able to be swapped between widgets and forced inputs. Currently, we are in the opposite state of the original functionality of subgraphs: primitive types can _only_ be widgets.
### When does this problem occur?
When dealing with a subgraph node that has primitive type inputs, we may not always want these to be widgets. Perhaps we are in a case where we only expect primitive types to come in from another node, rather than being specified as a widget on the node itself. This can be an annoyance because if we take a primitive output from another node and connect it to the subgraph input, we have dead space due to the widget still eating up real estate on the node.
### 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)
To force a primitive input to be a pure input rather than a widget:
1. Inside the subgraph, we right click on a primitive input slot
2. Click "Make Forced"
For the opposite, we would do the same, and click "Make Widget".
### Additional context
_No response_
┆Issue is synchronized with this [Notion page](https://www.notion.so/Issue-5027-Feature-Allow-for-primitive-widgets-on-subgraphs-to-be-forced-into-pure-inputs-2506d73d365081db955fc18fb8f2c135) by [Unito](https://www.unito.io)
Contributor guide
Research direction
Start by locating the subgraph primitive-input handling and the existing context-menu actions for widget and input behavior. Confirm how primitive inputs are currently rendered and connected, then implement the Make Forced and Make Widget flows and verify that connected inputs no longer reserve widget space when forced.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100