ComfyUI Node

Motorway 9x9

The full mirror bus

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

Motorway 9x9 is the fullest ramp this pack generates at the nine-wide size: nine wildcard inputs (A through I) on one side, nine outputs (A through I) on the other, with the Motorway running straight through the middle. In the [inputs]x[outputs] naming scheme, it's the even trade - everything in, everything back out.

And here's the subtle thing about it: even though it looks like a mirror, it isn't a passthrough. Input A gets stored under whatever key you type, and output A fetches whatever key you type. If you set input A's key to model and output A's key to seed, you've stored a model and pulled a seed out of the same slot number. The letters are labels, not lanes. This is true of every Motorway node, but on a 9x9 it's easy to forget because the symmetry tempts you into reading it as a straight wire. Don't. Read it as nine store-ports and nine query-ports sharing one hash-addressed bag.

That bag is the whole engine: a dict-like object carried on the MOTORWAY connection, values kept under sha256 hashes of your key strings, cloned at every hop so parallel branches stay independent. Nine in, nine out means you can stash a complete generation bundle at the start of a graph and surface the same complete bundle right where it's consumed - a full "checkpoint, clip, vae, positive, negative, seed, steps, cfg, mask" handoff in one clean block instead of a dozen long wires. It's the node for people who want a visible, complete interface at both ends of a pipeline section.

Real talk about when to use it: rarely. The 9x9 shines as the bookend of a workflow "module" - load nine things at the top, hand nine things to the next stage, and everything in between stays on the bus. For most graphs a smaller ramp plus ad-hoc key reads does the job with less canvas clutter. But if you're building a reusable tile and want its contract to be legible at a glance, the symmetry is the feature.

Install is the pack standard:

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

or ComfyUI Manager (search "agilly1989"), then restart. No models, no pip deps.

The family's rules still hold: keys are exact and case-sensitive, a never-written key throws 'MotorwayClass' object has no attribute 'hash_' (typo or ordering, not corruption), and this is a one-person beta that can change under you. Pin the version once a workflow depends on it. And if nine outputs feels like overkill, it is - that's not a bug, it's this node's entire personality.

Categoryagilly1989 Nodes/Motorways

Inputs (19)

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_(I)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β€”
ANY_(I)_keyoptSTRINGβ€”

Outputs (10)

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