ComfyUI Node

Motorway 8x8

The biggest symmetric ramp β€” a full-width bundle pass-through

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

Eight in, eight out: Motorway 8x8 is the widest perfectly symmetric ramp in the Motorway family, and it reads exactly like a bundle pass-through. It's from ComfyUI_agilly1989_motorway, agilly1989's "pipe" implementation for ComfyUI - a named-value dictionary that rides a single MOTORWAY πŸšŒπŸ’¨ wire so the big cross-canvas wires disappear into one bus.

Remember the one rule that makes Motorway make sense: inputs write, outputs read, and they're independent. So an 8x8 isn't a strict mirror - it's eight sockets for putting values onto the bus and eight for taking values off. The overlap is your choice. This is the node you place at the boundary between two halves of a big workflow, where you want to hand the next half most of what the current half has assembled, while still adding a fresh batch of your own.

How it works

Same engine as every Motorway node, all generated from one piece of code. The bus is a dict-like object whose keys are sha256 hashes of the names you type - exact, case-sensitive names. The node stores every connected input under its _key name, clones the bus, and emits the clone plus one output per non-empty output key. Cloning means the bus is never mutated in place, and values persist all the way downstream until a later write to the same key overrides them.

That persistence is why a symmetric ramp is so pleasant: write your eight values here, and every output key can point at values written anywhere in the graph, here or upstream. The eight outputs are lookups, not copies of the eight inputs.

The inputs and outputs that matter

  • MOTORWAY πŸšŒπŸ’¨ - required bus input and the bus output that continues the line.
  • ANY (A) through ANY (H) - eight inputs, each with a _key name field.
  • ANY (A) through ANY (H) - eight outputs, each with a _key lookup field.

Store eight, fetch eight. The setup is typing sixteen key strings and wiring the eight outputs - the most configuration of any node in this family, but it's the same repetitive task all the way down.

Installing it

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

Restart ComfyUI, or find it in ComfyUI Manager by searching "motorway". No pip packages, no model files - pure Python, and the clone registers all ~120 Motorway variants at once.

Common issues

  • 'MotorwayClass' object has no attribute 'hash_' - a read key was never written to the bus. Check spelling and case; keys are exact.
  • Needs a bus to ride. Start the chain with MotorwayStart or a Motorway primitive that doubles as one.
  • Gaps in output keys shift sockets. Outputs are positional and only emitted for non-empty keys - fill A through H in order.
  • Silent overwrites on duplicate keys. The later writer wins, no error.
  • Beta. The README warns it's broken with async and owns the "I broke it" disclaimer. Fine for ordinary single-run graphs.
Categoryagilly1989 Nodes/Motorways

Inputs (17)

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_(H)opt*β€”
ANY_(A)_keyoptSTRINGβ€”
ANY_(B)_keyoptSTRINGβ€”
ANY_(C)_keyoptSTRINGβ€”
ANY_(D)_keyoptSTRINGβ€”
ANY_(E)_keyoptSTRINGβ€”
ANY_(F)_keyoptSTRINGβ€”
ANY_(G)_keyoptSTRINGβ€”
ANY_(H)_keyoptSTRINGβ€”

Outputs (9)

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