ComfyUI Node

Motorway 2x8

Motorway 2x8

By agilly1989Β·Created 2 years agoΒ·Updated about a year agoΒ· 7
Motorway 2x8
  • MOTORWAY πŸšŒπŸ’¨
  • ANY_(A)
  • ANY_(B)
  • 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β€”β–Ί

Motorway 2x8 is the "two in, eight out" junction in the agilly1989 Motorway pack - six of those eight outputs are read-only taps into values that are already sitting on the bus. By the time you're at 2x8, the node is less about what you're feeding it and more about what it can pull out for you. Two shared values drive the whole downstream graph, and this is the node that hands them around.

The Motorway is a beta "pipe" implementation by solo dev agilly1989, in the same lineage as rgthree's Context nodes and Impact Pack pipes: bundle values onto one wire instead of crossing them all over the canvas. The difference is the transport - a MotorwayClass bus object travels down a single MOTORWAY πŸšŒπŸ’¨ connection that every node shares as its required input and first output. You start every route with MotorwayStart, then ride the bus through as many junctions as the graph needs.

How it works

Like every Motorway node, it's a key-driven write-and-read junction. Values go into ANY_(A) and ANY_(B), named by ANY_(A)_key and ANY_(B)_key. Then the fan-out math kicks in: the pack always provides as many key slots as the larger of inputs or outputs, so this node has eight:

  • inputs ANY_(A) and ANY_(B) with keys
  • read-only key slots ANY_(C)_key through ANY_(H)_key
  • the required MOTORWAY πŸšŒπŸ’¨ bus input
  • outputs MOTORWAY πŸšŒπŸ’¨, ANY (A) through ANY (H)

A and B write their inputs and immediately read them back. The six remaining slots are taps: put any key already on the bus into a _key box and its output hands over the value. In practice that means you can pass two things forward while also exposing six things from earlier in the route - an entire control panel of settings, all coming out of one tidy node instead of six wandering wires.

The storage is per-key sha256 hashes (your positive becomes something like hash_4f1a…), so a key that doesn't exist errors as 'MotorwayClass' object has no attribute 'hash_'. Reusing a key anywhere later overwrites whatever was stored first.

Installing

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

then restart ComfyUI, or install through ComfyUI Manager by searching ComfyUI_agilly1989_motorway. No pip dependencies, no model files; pure Python, so clone-and-restart is the whole setup.

Common issues

  • hash_ error: the key was never written, or you've mismatched case or spacing. 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 fill a key on a disconnected input. It stores None under that name and can clobber a value you were counting on.

Beta pack, explicitly so, but if your graph is "two values in, everyone downstream needs to read things," 2x8 is a very convenient hub.

Categoryagilly1989 Nodes/Motorways

Inputs (11)

NameTypeDefaultDescription
MOTORWAY πŸšŒπŸ’¨MOTORWAY πŸšŒπŸ’¨β€”
ANY_(A)opt*β€”
ANY_(B)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)*β€”