ComfyUI Node

Motorway 3x5

Motorway 3x5

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

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)_key and ANY_(E)_key
  • the required MOTORWAY πŸšŒπŸ’¨ bus input
  • outputs MOTORWAY πŸšŒπŸ’¨, ANY (A) through ANY (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 _key means 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 None under 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.

Categoryagilly1989 Nodes/Motorways

Inputs (9)

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

Outputs (6)

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