Nodes Browser
ComfyDeploy: How ComfyUI-Anchors works in ComfyUI?
What is ComfyUI-Anchors?
A ComfyUI extension to add spatial anchors/waypoints to better navigate large workflows.
How to install it in ComfyDeploy?
Head over to the machine page
- Click on the "Create a new machine" button
- Select the
Edit
build steps - Add a new step -> Custom Node
- Search for
ComfyUI-Anchors
and select it - Close the build step dialig and then click on the "Save" button to rebuild the machine
ComfyUI-Anchors
A ComfyUI extension to add spatial anchors/waypoints to better navigate large workflows.
Usage
Add Anchor Nodes (in utils
)
Jump between them using the a
and d
keys.
Unexpected side-effects you can abuse
The way Comfy's Litegraph's centerOnNode works doesn't account for collapsed nodes.
So if you want to change the centering position when jumping to an Anchor, you can make it nice and big, then collapse it.
Try it out.
TODO
- ⬜ Nodes
- ✅ Anchors
- ⬜ Behavior
- ✅
a
ord
to jump between Anchors - ✅ Anchors show their coordinates (Hacky widgets right now)
- ⬜ Show list of current Anchors (with names)
- ⬜ Allow changing of iteration order
- ⬜ Setting?
- ⬜ By name only?
- ⬜ Stretch: Add in vector based navigation, e.g.
w
would go to the anchor that most closely aligns with [0,1],d
[0,-1], etc.
- ✅
- ⬜ Documentation
Development
- Clone the repo
pnpm install
pnpm build
No plans to have this library work outside of ComfyUI
Confessions
Typing
To get the types working without extracting the JS code from ComfyUI, I have the development files (TS) reference Comfy as a sibling. So if you want TS hints and checks to work, you'll need to have a similar structure.
To get the JS to run properly, the relative path is swapped in the dist for a different relative path based on where the JS is copied on __init__
.
Check out the vite.config.ts
and tsconfig.json
if you're interested. If you can find a cleaner/simpler way to do it, please tell me.