⬡ Polyhedron Switch Inverse
Switch Inverse — one input, several doors, and only the one you pick opens
- input
- out_1
⬡ Polyhedron Switch Inverse is the mirror image of the pack's ⬡ Polyhedron Switch. Where the forward switch takes many inputs and picks one to pass on, this one takes a single input and steers it to exactly one of several outputs - and everything hanging off the other outputs stays cold.
It's the node you reach for when you have one source and several mutually exclusive destinations: one image that should feed either a still save or a video upscale, one latent that goes to the SD branch or the Wan branch, one text string that lands in a filename prefix or a prompt. Change select and the data takes the new door without you rewiring the graph. Because the loser branches are blocked with an ExecutionBlocker rather than fed a stale value, the consumers you aren't using don't waste a single evaluation.
How it works
The inverse switch counts how many of its outputs are actually connected in the current workflow, then on each run emits the real value on the selected output and an ExecutionBlocker on every other one. ComfyUI treats that blocker as "this branch has nothing to feed it," so nothing downstream of an unselected output executes. Two consequences worth knowing:
- The
selectwidget caps at the number of connected outputs, so you can't point it at a door that doesn't exist. - If the feeding branch itself is bypassed or muted, the node blocks all outputs silently rather than crashing - the prompt just omits the input key and every door stays shut. The console logs it (
⛔ input missing (branch bypassed?) -- all outputs blocked).
The inputs and outputs
input- the value to route. Any type; it's lazy, so if nothing downstream is consuming the node, even the input branch isn't evaluated.select- which output receives the input.out_1,out_2, … - the outputs. Only the selected one emits a real value; the rest carry the blocker.
That's the whole surface. It's deliberately tiny - the logic lives in the routing decision, not in knobs.
Installing it
Same pack as the rest of the suite. ComfyUI Manager → search "Polyhedron Suite" → install, or:
cd ComfyUI/custom_nodes
git clone https://github.com/PolyhedronAI/ComfyUI-PolyhedronLoRAStack.git
# restart ComfyUI
No extra dependencies to pull in; the suite runs on stock ComfyUI.
Gotchas
The one thing that trips people: with the inverse switch, a "dead" branch is the intended state, so don't debug silence as a bug. If you select output 2 and the node feeding output 2 never runs, that's correct - the other door was supposed to stay shut. And pair it with the forward ⬡ Polyhedron Switch to build a proper A/B graph: switch picks which of two loaders is live, the inverse sends the result to whichever consumer you care about. If a Polyhedron node renders blank under the new Nodes 2.0 frontend, that's the renderer - turn Modern Node Design off in Settings and the node comes back.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| select | INT | 11–999 | Which output receives the input. The UI caps this at the number of connected outputs. |
| inputopt | * | Any value. If its branch is bypassed/muted, all outputs block silently. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| out_1 | * | Only the selected output emits; the rest carry an ExecutionBlocker so their branches never run. |