Nodes/Shima/Shima Route (1)
ComfyUI Node

Shima Route (1)

The Shima Route (1)

By KDB-USJP·Created 6 months ago·Updated 6 months ago· 2
Shima Route (1)
  • in_1
  • out_1

Every big ComfyUI workflow ends up with the same problem: a wire that has to cross half the canvas, and your graph slowly turns into noodles. The Shima Route (1) is a one-in, one-out pass-through node that bends that wire into a readable shape. It doesn't touch your data - it carries whatever you feed it, of any type, and hands it back on the other side. The routing nodes are the Shima pack's answer to "I just can't stand messy noodles."

What makes these distinct from the plain reroute node ComfyUI ships is the presentation: Route1 takes a wildcard input (*, so IMAGE, LATENT, MODEL, STRING, anything), gives the socket a named label, color-codes the output by the connected type, and lets you flip which side the ports sit on. Right-click the node to move the I/O to top, right, bottom, or left - so a signal can enter from the side it naturally comes from and exit toward where it's going, without a sharp zigzag.

How it works

Mechanically it's the same "wildcard passthrough" pattern the whole plumbing layer is built on: an ANY input that accepts any type, an output of the same type, and a VALIDATE_INPUTS that skips type-checking (the source declares it always valid, which is what lets a wildcard socket work). Two engine details are worth knowing:

  • It returns float("NaN") from IS_CHANGED, which forces the node to run on every execution. For a routing node that's the right call - you don't want a cached value sitting in the middle of a wire - though the KB's plumbing essay flags this as the same "always dirty" trick that costs you the cache for anything behind it. One or two of these in a graph is nothing; a hundred is why a workflow starts feeling slow.
  • It calls ShimaSecurity.verify_workflow(prompt) before passing data, a pack-level check on the workflow prompt.

The inputs and outputs

  • in_1 (optional, any type) - connect your signal.
  • out_1 (same type) - pass-through of whatever arrived.

Leave in_1 unwired and the output is None, which can be a legitimate way to park an optional downstream input.

Where it fits

Use it as the plumbing-layer legibility tool it is: at a bend, at the edge of an island group, or wherever a wire crosses open canvas. If you're not using the Shima pack at all, core ComfyUI's own reroute and rgthree's Reroute do the same job - Route1's edge is the type-aware coloring and the configurable port sides, which genuinely help when a graph gets dense.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/KDB-USJP/shima_wf.git Shima
pip install -r requirements.txt

Restart, then Shima/Routing → Shima Route (1). ComfyUI Manager: search "Shima". First boot auto-clones ComfyUI-Impact-Pack and cg-use-everywhere if missing (the Use Everywhere dependency for island auto-linking) - expected.

Common issues

Because the ports are configurable, the most frequent confusion is a node whose sockets are on a side you didn't expect - check the right-click menu if a wire won't land. And remember it's a reroute, not a switch: it always passes data through, so if you expected it to gate anything you've grabbed the wrong node. This is a young pack with little community discussion; the behavior itself is simple enough that reading nodes/smart_reroute.py settles most questions.

CategoryShima/Routing

Inputs (1)

NameTypeDefaultDescription
in_1opt*Input 1 - connects to any type

Outputs (1)

NameTypeDescription
out_1*Output 1 - passes through input