Greg f543c19d9c Filter panel by primary muter's matchColors scope
User color-codes sub-groups (e.g. gold 'Flux Klein Workflow' inside a
larger blue 'Place an image' workflow) and routes them through a separate
Fast Groups Muter via matchColors. The intent: sub-groups aren't
top-level navigation targets, they're implementation details of their
parent workflow.

New getNavigableGroups(): if any muter exists, pick the one with the most
managed widgets as the 'primary navigation muter' and show only its
groups in the panel. Sub-groups managed by smaller scoped muters get
filtered out. No muter present → show every group (previous behavior).

Header count now shows 'N / M' when filtering, with tooltip explaining
how many sub-groups were hidden. Keyboard 1-9 follows the same filtered
list.
2026-05-24 11:45:29 -05:00

comfyui-navigator

Floating side panel that lists every group in your current workflow and lets you jump between them instantly. For graphs that span 30000+ pixels with 15+ workflows-within-a-workflow, this turns "scroll forever to find the upscale section" into "click the row, you're there."

What it does

  • Auto-detects every group on the open workflow (no setup, no node to drop)
  • Click a row → animated pan + zoom to fit that group on screen
  • Search box at the top — type "qwen" to narrow to Qwen groups
  • Right-click a row → Solo run (mutes every other group via rgthree's Fast Groups Muter if installed, falls back to per-node mode flag if not)
  • Right-click → Reset to re-enable everything
  • Keyboard 1–9 jumps to the first nine groups
  • Drag the header to move the panel anywhere; collapse with ▾
  • Position + collapsed state persisted across reloads (localStorage)

Hides itself automatically if the workflow has fewer than 2 groups (nothing to navigate between).

Install

cd <ComfyUI>/custom_nodes
git clone <repo-url> comfyui-navigator

Restart ComfyUI. The panel appears in the top-right of the canvas whenever you open a workflow with multiple groups.

  • Fast Groups Muter (rgthree) — drop one on the graph and Solo / Reset drive it directly. Without it, Solo falls back to flipping node.mode = LiteGraph.NEVER per-node (cruder, no chip indicators).

License

MIT

S
Description
No description provided
Readme MIT
81 KiB
Languages
JavaScript 83%
CSS 16%
Python 1%