- Web Worker routing — A* search runs in a background Worker thread, keeping the UI responsive during large batch routes - Worker watchdog — auto-falls back to main-thread routing on any failure - Worker held-pause — drag-pause re-routes also run in worker - stretch.js — extracted sticky-path logic, shared by main thread and worker - Profiler disk export — POST /linkrouter/write_log endpoint saves reports - Chunked worker processing — 8ms macrotask slices for cancel responsiveness - New settings: Background worker routing, Held-pause in worker
ComfyUI-LinkRouter
I'm new to all this — first plugin, first GitHub repo, learning as I go. If you find bugs, have ideas, or just want to help a beginner out, I'd be incredibly grateful. Bug reports, PRs, suggestions, or just buying me a coffee ☕ — every bit of support honestly makes my day. Thank you! 🙏
Object-avoiding orthogonal link routing for ComfyUI. Links automatically detour around nodes with smooth right-angle paths — no more spaghetti lines.
Features
Links automatically route around nodes instead of through them. Animated flow markers on hover or selection. Floating bar for quick toggles.
Installation
cd ComfyUI/custom_nodes/
git clone https://github.com/90-RED/ComfyUI-LinkRouter
Then reload ComfyUI with Ctrl+R.
Usage
LinkRouter is enabled by default. A floating bar appears on the right:
| 🔀 | Toggle routing | | 🌊📐➖ | Cycle official link styles | | ✨➤◾ | Cycle flow markers (animated/static/none) |
All visual parameters are in Settings → LinkRouter.
Credits
- Algorithm: Wybrow, Marriott, Stuckey — "Orthogonal Connector Routing" (Graph Drawing 2009)
- Incremental routing: Wybrow et al. — "Incremental Connector Routing" (GD 2005)
- Inspiration: libavoid (Adaptagrams), react-flow-smart-edge, JointJS
- All code is original JavaScript — no third-party dependencies
License
Apache-2.0 — see LICENSE.
