ComfyUI Node

Motorway 3x3

Motorway 3x3

By agilly1989Β·Created 2 years agoΒ·Updated about a year agoΒ· 7
Motorway 3x3
  • MOTORWAY πŸšŒπŸ’¨
  • ANY_(A)
  • ANY_(B)
  • ANY_(C)
  • MOTORWAY πŸšŒπŸ’¨
  • ANY (A)
  • ANY (B)
  • ANY (C)
β—„ANY_(A)_keyβ€”β–Ί
β—„ANY_(B)_keyβ€”β–Ί
β—„ANY_(C)_keyβ€”β–Ί

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 keys ANY_(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 None under 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.

Categoryagilly1989 Nodes/Motorways

Inputs (7)

NameTypeDefaultDescription
MOTORWAY πŸšŒπŸ’¨MOTORWAY πŸšŒπŸ’¨β€”
ANY_(A)opt*β€”
ANY_(B)opt*β€”
ANY_(C)opt*β€”
ANY_(A)_keyoptSTRINGβ€”
ANY_(B)_keyoptSTRINGβ€”
ANY_(C)_keyoptSTRINGβ€”

Outputs (4)

NameTypeDescription
MOTORWAY πŸšŒπŸ’¨MOTORWAY πŸšŒπŸ’¨β€”
ANY (A)*β€”
ANY (B)*β€”
ANY (C)*β€”