90-RED 58051dd657 fix: bulk-change guard, staggered reveal, drag-dim separation
- Bulk-change detection: skip drag logic when >60% nodes move in one
  frame (workflow switch, undo) — fixes links disappearing after
  switching workflow tabs when drag mode is adaptive.
- Mode 4 dragged links now participate in staggered unfreeze after
  release (were previously excluded, causing instant reappearance).
- Staggered reveal now uses routeBatchPercent setting (default 10%,
  configurable 2-100%) instead of hardcoded 25%/4-batches.
- Drag-dim separation: new dragDimAlpha setting (default 0.15) for
  unrelated-link opacity while dragging, separate from select-dim
  dimAlpha (0.06). Drag no longer makes canvas unreadable.
2026-07-08 22:29:02 +08:00
2026-07-06 04:16:55 +08:00
2026-07-06 04:16:55 +08:00
2026-07-06 04:16:55 +08:00

ComfyUI-LinkRouter

Buy me a coffee

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.

Before vs After

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.

S
Description
No description provided
Readme Apache-2.0
658 KiB
Languages
JavaScript 99.4%
Python 0.6%