π PD Rasterizer
See every iteration your wedges will produce β before you burn the GPU
- wedge_1
- wedge_2
- wedge_3
- wedge_4
- total_iterations
- preview_table
The core discipline of iteration work is "change one variable at a time, lock the seed, compare." The problem is that by the time you've set up two or three π PD Wedge nodes, you've built an iteration matrix and you have no idea how many renders it actually represents. That's what π PD Rasterizer is for: a dry-run inspector that looks at your connected wedges, computes the full cartesian product of their values, and shows you the table - total count, each combination, and the filename each one will produce. It queues nothing. It renders nothing. It's a calculator that keeps you from discovering your "quick seed test" is actually 640 renders.
How it works
You connect up to four wedge nodes to its wedge_1 through wedge_4 inputs. It reads each wedge's value list, computes the cartesian product across all of them, and returns two outputs:
total_iterations(INT) - the size of that product. Two wedges with 8 and 10 values? 80 renders. The number you actually care about.preview_table(STRING) - a formatted table: each wedge and its value count, the total, and per-iteration lines.
If you also feed an output_namer template string (a STRING input that expects a wire - handy to connect from a token node or just a literal string), the preview resolves each combo against the template and shows the filename every iteration would produce, using the {wedge_idx} and {wedge_<name>} tokens. The output names take the form [000] project_sh020_w000_promptA.png - so you can sanity-check that your naming template doesn't produce collisions or nonsense before committing to an overnight queue.
The pack ships a small JS extension that renders preview_table into a read-only monospace panel right on the node after execution. It caps the preview at 50 lines; the total is always complete, the list is just truncated with a "... and N more" line.
The inputs that matter
Honestly, just the four wedge_N inputs and, if you want filename previews, output_namer. Connect zero wedges and you get 0 and a "No wedges connected" message - there's no widget config to get wrong.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/TheOnlyAaron/comfyui-pipedream
Restart ComfyUI, or install "Pipedream" via ComfyUI Manager. No dependencies, nothing to download.
Gotchas
- This is a preview tool, not a render runner. It doesn't trigger the wedges, doesn't queue anything - you still hit Queue yourself. Its whole job is to make you not hit Queue before checking the math.
- The product is cartesian, not independent: every value of wedge 2 pairs with every value of wedge 1. That's usually what you want for iteration, but it's also how 3 wedges with modest lists explode into four-digit render counts.
total_iterationsis the number to read twice. output_nameronly resolves wedge tokens plus{wedge_idx}- it doesn't have your project context, so{project}in that template previews as a literal placeholder. Use the{wedge_<name>}tokens for the filename preview and keep project context for the real output nodes.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| wedge_1opt | WEDGE | β | |
| wedge_2opt | WEDGE | β | |
| wedge_3opt | WEDGE | β | |
| wedge_4opt | WEDGE | β | |
| output_nameropt | STRING | β |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| total_iterations | INT | β |
| preview_table | STRING | β |