Shima Route (1)
The 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")fromIS_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.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| in_1opt | * | Input 1 - connects to any type |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| out_1 | * | Output 1 - passes through input |