Motorway 4x9
Four in, nine out β the distribution hub
- MOTORWAY ππ¨
- ANY_(A)
- ANY_(B)
- ANY_(C)
- ANY_(D)
- MOTORWAY ππ¨
- ANY (A)
- ANY (B)
- ANY (C)
- ANY (D)
- ANY (E)
- ANY (F)
- ANY (G)
- ANY (H)
- ANY (I)
Motorway 4x9 is the near-top fan-out of the agilly1989 Motorway pack: four inputs, nine outputs. Five of those nine (EβI) are exits with no matching input, so this is really a distribution hub - one place where the graph hands the same few values, plus anything the bus has been carrying, out to a wide set of consumers. If the back half of your workflow has a crowd of nodes that each need a piece of what the front half built, this is the ramp they all pull from.
The pack is a pipe implementation. A MotorwayClass bus travels node to node carrying values under string keys, and each Motorway AxB is an on/off ramp. The bus starts with MotorwayStart (or a Motorway primitive like MotorwayInt), always continues out of the first output socket, and gets cloned at every node - so forking one bus into two ramps gives each branch its own snapshot, and writes don't leak sideways. It's marked beta in the README with the author's own "IF THINGS BREAK ITS BECAUSE I BROKE IT," so expect rough edges and keep a copy of any workflow you love.
The layout
Required input MOTORWAY ππ¨; four data inputs ANY_(A) through ANY_(D) (typed * - any type); nine key fields ANY_(A)_key through ANY_(I)_key; outputs ANY (A) through ANY (I) with the bus always first.
Slots AβD are write-through: input A files under key A, output A reads key A back out. Slots EβI are pure exits - no input lane, just a key that pulls a value off the bus. Want output F to be the seed? Type seed into ANY_(F)_key. The remaining inputs can stay disconnected; everything you pull just needs a matching key somewhere upstream. That's the full pattern in one sentence: file early, pull late, reuse keys to connect them.
Install
ComfyUI Manager, search "ComfyUI_agilly1989_motorway". Or:
cd ComfyUI/custom_nodes
git clone https://github.com/agilly1989/ComfyUI_agilly1989_motorway
Restart ComfyUI. No models, no pip packages - pure Python.
Where it bites
The README's signature error 'MotorwayClass' object has no attribute 'hash_...' means you pulled a key nobody wrote - usually a typo, and because keys are hashed internally the typo reads an empty slot instead of failing on the spelling. With nine key fields, double-check them all before you queue a big render. And remember: an output wired with a blank key is a blank output.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| MOTORWAY ππ¨ | MOTORWAY ππ¨ | β | |
| ANY_(A)opt | * | β | |
| ANY_(B)opt | * | β | |
| ANY_(C)opt | * | β | |
| ANY_(D)opt | * | β | |
| ANY_(A)_keyopt | STRING | β | |
| ANY_(B)_keyopt | STRING | β | |
| ANY_(C)_keyopt | STRING | β | |
| ANY_(D)_keyopt | STRING | β | |
| ANY_(E)_keyopt | STRING | β | |
| ANY_(F)_keyopt | STRING | β | |
| ANY_(G)_keyopt | STRING | β | |
| ANY_(H)_keyopt | STRING | β | |
| ANY_(I)_keyopt | STRING | β |
Outputs (10)
| Name | Type | Description |
|---|---|---|
| MOTORWAY ππ¨ | MOTORWAY ππ¨ | β |
| ANY (A) | * | β |
| ANY (B) | * | β |
| ANY (C) | * | β |
| ANY (D) | * | β |
| ANY (E) | * | β |
| ANY (F) | * | β |
| ANY (G) | * | β |
| ANY (H) | * | β |
| ANY (I) | * | β |