Nodes/Pipedream/πŸ’­ PD Rasterizer
ComfyUI Node

πŸ’­ PD Rasterizer

See every iteration your wedges will produce β€” before you burn the GPU

By TheOnlyAaronΒ·Created 5 months agoΒ·Updated 5 months agoΒ· 4
πŸ’­ PD Rasterizer
  • wedge_1
  • wedge_2
  • wedge_3
  • wedge_4
  • total_iterations
  • preview_table
β—„output_namerβ€”β–Ί

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_iterations is the number to read twice.
  • output_namer only 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.
CategoryPipedream

Inputs (5)

NameTypeDefaultDescription
wedge_1optWEDGEβ€”
wedge_2optWEDGEβ€”
wedge_3optWEDGEβ€”
wedge_4optWEDGEβ€”
output_nameroptSTRINGβ€”

Outputs (2)

NameTypeDescription
total_iterationsINTβ€”
preview_tableSTRINGβ€”