ComfyUI Node

Motorway 7x7

The symmetric ramp for passing a whole bundle through

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

Seven in, seven out - Motorway 7x7 is the even-keeled member of the Motorway family. The Motorway nodes come from ComfyUI_agilly1989_motorway, a small pack that implements a "pipe" for ComfyUI: a named-value bus that travels on a single MOTORWAY πŸšŒπŸ’¨ wire. Every Motorway node has inputs that write values onto the bus and outputs that read values off it, and a symmetric 7x7 is the shape you reach for when you want to move a whole bundle of stuff intact - write seven things on one side, read seven things out the other, and keep the bus going.

It reads almost like a bundle-through node, the way rgthree's Context Big lets you carry a cluster of connections down one wire - except here the "bundle" is just a dictionary with named keys, so you're not locked into a fixed order. The seven outputs can fetch any keys on the bus, not just the seven you plugged in at this node.

How it works

The mechanism is the same for every Motorway variant, and it's honestly simple. The bus is a small dict-like object whose keys are sha256 hashes of the names you type. On each run:

  1. The node takes the bus from its MOTORWAY πŸšŒπŸ’¨ input.
  2. For each connected input with a non-empty _key, it stores that value under the key.
  3. It clones the bus (so nothing mutates in place).
  4. It emits the clone as the MOTORWAY πŸšŒπŸ’¨ output, plus one output per non-empty output key, reading each value back off the bus.

The persistence is the point: write keys on an early ramp, read them at the far end of the graph, and the values ride along untouched unless a later node writes the same key. That's why a 7x7 tends to appear near the end of a busy stretch, gathering seven outputs for a downstream consumer.

The inputs and outputs that matter

  • MOTORWAY πŸšŒπŸ’¨ - required input and output; the bus itself, always.
  • ANY (A) through ANY (G) - seven inputs, each with a _key name field.
  • ANY (A) through ANY (G) - seven outputs, each with a _key lookup field.

The only settings you touch are the fourteen key fields. Everything else is connect-and-go.

Installing it

cd ComfyUI/custom_nodes
git clone https://github.com/agilly1989/ComfyUI_agilly1989_motorway

Restart ComfyUI after cloning, or install via ComfyUI Manager by searching "motorway". There are no pip dependencies and no model files - the pack is pure Python standard library. Be aware the clone registers ~120 Motorway nodes at once, which is why your search list suddenly has a "Motorway" wall in it.

Common issues

  • 'MotorwayClass' object has no attribute 'hash_' - you asked an output for a key that was never written to the bus. Double-check spelling and case: keys are exact and case-sensitive.
  • Empty output keys shuffle sockets. Outputs only appear for non-empty keys and are positional, so fill them A through G in order or wires land on the wrong sockets.
  • Silent overwrites. Two nodes writing the same key - last one wins. If a value is "wrong" further down, that's usually a duplicate key, not a bug in the pack.
  • Beta software, loudly. The README's top line warns it's broken with async and that things break because the author broke them. Single-run workflows are fine; don't stake a scheduled batch job on it.
Categoryagilly1989 Nodes/Motorways

Inputs (15)

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

Outputs (8)

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