Motorway 3x5
Motorway 3x5
- MOTORWAY ππ¨
- ANY_(A)
- ANY_(B)
- ANY_(C)
- MOTORWAY ππ¨
- ANY (A)
- ANY (B)
- ANY (C)
- ANY (D)
- ANY (E)
Motorway 3x5 is a "three in, five out" junction from the agilly1989 Motorway pack - three values go onto the bus, five named values come off, and two of those outputs are pure taps into things already riding the route. It's the node for the moment when three live values need to move forward and a couple of extra reads need to happen right here without adding more nodes to the graph.
The Motorway is a beta "pipe" implementation by solo dev agilly1989, same family as rgthree's Context nodes and Impact Pack pipes: one wire carries a bundle of values instead of a tangle of individual connections. The transport is a MotorwayClass bus object passed along the MOTORWAY ππ¨ wire - required input on every node, first output on every node, so the route continues. Every flow starts at MotorwayStart, and the pack's Example.json shows how the bus threads through a real graph.
How it works
The mechanism is uniform across the pack. Connect values to ANY_(A), ANY_(B), ANY_(C), name each in its _key box, and they're stored on the bus. Because outputs outnumber inputs, the pack gives you five key slots - ANY_(A)_key through ANY_(E)_key:
- inputs
ANY_(A),ANY_(B),ANY_(C)with keys - read-only key slots
ANY_(D)_keyandANY_(E)_key - the required
MOTORWAY ππ¨bus input - outputs
MOTORWAY ππ¨,ANY (A)throughANY (E)
Slots AβC are double-duty: each key names its input and reads its own output back. Slots D and E have no inputs behind them, so they're taps - type any key that exists on the bus and the matching output delivers it. So you can be carrying model, clip and vae while also surfacing seed and steps that a 3x0 parked a few nodes back. Three live values, two recalled values, one compact node.
Keys are sha256-hashed to hash_β¦ attributes internally, which is why a missing key shows up as 'MotorwayClass' object has no attribute 'hash_' rather than a helpful message. Writing the same key twice anywhere on the route overwrites the first value.
Installing
cd ComfyUI/custom_nodes
git clone https://github.com/agilly1989/ComfyUI_agilly1989_motorway
then restart ComfyUI, or find ComfyUI_agilly1989_motorway in ComfyUI Manager. No pip dependencies, no model files; pure Python, so it's clone-and-restart.
Common issues
- The
hash_error means a key was never written or is mistyped. Keys match exactly - watch case and spaces. - Every key slot needs a value. An empty
_keymeans that output is never produced, so wiring anything into it errors on a missing output. - Only key inputs you actually connected. A disconnected input with a key stores
Noneunder that name and can wipe a real value.
Beta pack, author's warning included. For "three forward, two taps," 3x5 keeps the graph readable and the wires untangled.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| MOTORWAY ππ¨ | MOTORWAY ππ¨ | β | |
| ANY_(A)opt | * | β | |
| ANY_(B)opt | * | β | |
| ANY_(C)opt | * | β | |
| ANY_(A)_keyopt | STRING | β | |
| ANY_(B)_keyopt | STRING | β | |
| ANY_(C)_keyopt | STRING | β | |
| ANY_(D)_keyopt | STRING | β | |
| ANY_(E)_keyopt | STRING | β |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| MOTORWAY ππ¨ | MOTORWAY ππ¨ | β |
| ANY (A) | * | β |
| ANY (B) | * | β |
| ANY (C) | * | β |
| ANY (D) | * | β |
| ANY (E) | * | β |