Comfy-Org / Comfy-Org/ComfyUI_frontend
[Feature Request]: Support for a new link category that is normally hidden but can be displayed/highlighted
- 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 would your feature do ?
This feature could be a replacement for the "Use Everywhere" (aka "Anything Everywhere") custom nodes.
These nodes allow to connect nodes using virtual links. When you select a node using it (or just on mouse over) you can see the virtual connections. The mechanism used for these connections isn't important here, what I want is the ability to hide some particular links, keeping the ability to see them when needed.
The motivation is that in the last weeks frontend changes broke these nodes twice. First in 1.15.x and now in 1.16.x.
Having this feature in the core frontend could help to avoid breaking tons of workflows, a big amount of advanced workflows use them.
### Proposed workflow
1. You create a regular link
2. Somehow you select the link (using the circle for add node/reroute?) and you set the link to hidden (not just the segment, all the link, including reroutes)
3. When you select a node connected to hidden links they are highlighted (UE/AE has some very nice highlight options), same on mouse over. Note that UE/AE has some options to reduce the performance impact.
4. The current option to hide links hides all, but an extra option could be "show all" (even the hidden ones)
5. An option should allow to change the link back to visible
6. Note that inputs and outputs with hidden links should be also highlighted
### Additional information
Currently is quite easy to make an spaghetti ... UE/AE nodes are a very nice mechanism to solve it.
I'm electronics engineer and it really surprised me that ComfyUI lacks two very important things we use all the time to draw circuits:
1. Ports: indicating 2 or more things are connected, but without making a mess of lines. UE/AE solves it
2. Buses: a lot of nodes implements it, this makes things much more clear
I also found that nodes like rg-three implements some common concepts used in circuits: Tri-states, controlling the mute state of nodes. Is very simple to implement distributed selectors using mutters and buses.
┆Issue is synchronized with this [Notion page](https://www.notion.so/Issue-4716-Feature-Request-Support-for-a-new-link-category-that-is-normally-hidden-but-can-be--2476d73d365081459a9fe8d500f298d0) by [Unito](https://www.unito.io)
Contributor guide
Assessment
This issue has not been assessed yet.