Comfy-Org / Comfy-Org/ComfyUI_frontend

[Feature Request]: Support for a new link category that is normally hidden but can be displayed/highlighted

Open
#4,716 0 comments 0 reactions 0 assignees View on GitHub
area:links enhancement
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.