Motorway 3x3
Motorway 3x3
- MOTORWAY ππ¨
- ANY_(A)
- ANY_(B)
- ANY_(C)
- MOTORWAY ππ¨
- ANY (A)
- ANY (B)
- ANY (C)
Motorway 3x3 is the symmetric three-lane junction of the agilly1989 Motorway pack: three values in, the same three named values out, bus continuing onward. If the 2x2 is the everyday junction of the two-input row, 3x3 is its three-input counterpart - the node for when you're actively moving three things at once and want them to come straight back out under the names you gave them.
The Motorway is a beta "pipe" implementation by solo dev agilly1989, in the same family as rgthree's Context nodes and Impact Pack pipes: collapse a tangle of wires into one bus connection. The transport is a MotorwayClass object that travels down the MOTORWAY ππ¨ wire - the required input on every node and the always-first output so the route keeps going. You start with MotorwayStart (or one of the Motorway primitive nodes acting as a start) and chain junctions from there.
How it works
The mechanism is the pack's single trick, repeated: keys. Values into ANY_(A), ANY_(B) and ANY_(C), each named by a _key box, and all three are written to the bus. With inputs equal to outputs, the key slots line up perfectly:
- inputs
ANY_(A),ANY_(B),ANY_(C)with keysANY_(A)_key,ANY_(B)_key,ANY_(C)_key - the required
MOTORWAY ππ¨bus input - outputs
MOTORWAY ππ¨,ANY (A),ANY (B),ANY (C)
Every key here does double duty: it names its input for storage and reads its own output. So positive in, positive out; negative in, negative out; latent in, latent out - a clean rename-and-forward in one node. It's also the natural place to update values mid-route: because writing the same key again overwrites the old value, a 3x3 is how you revise three things at once and hand the updated bus to the next stage.
Under the hood each key is sha256-hashed into an attribute like hash_4f1aβ¦, which is why a missing key surfaces as 'MotorwayClass' object has no attribute 'hash_' - the pack is not going to hold your hand. Same key written twice anywhere on the route overwrites; the bus is name tags, not history.
Installing
cd ComfyUI/custom_nodes
git clone https://github.com/agilly1989/ComfyUI_agilly1989_motorway
then restart ComfyUI, or install via ComfyUI Manager by searching ComfyUI_agilly1989_motorway. No pip dependencies, no model downloads; pure Python, so clone-and-restart is the entire setup.
Common issues
hash_error: key never written, or mismatched spelling/case. Keys match exactly.- Empty key slots are the main footgun - each means that output is never produced, which ComfyUI flags the moment you wire something into it. Fill every
_key. - Don't key a disconnected input; it stores
Noneunder that name and can clobber a real value.
Beta pack, honest warning from the author. For moving and renaming three values in one tidy step, 3x3 is the roundabout you want.
Inputs (7)
| 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 | β |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| MOTORWAY ππ¨ | MOTORWAY ππ¨ | β |
| ANY (A) | * | β |
| ANY (B) | * | β |
| ANY (C) | * | β |