Dazzle Command (DazzleNodes)
A Play/Pause Button for Your Whole Pipeline
- signal
The most natural workflow loop is: generate, look, tweak, generate - and when one comes out right, keep it. Dazzle Command is a single play/pause toggle that encodes that loop. Pause it and it keeps generating new random results; hit play when you like what you see and it locks the seed and lets the pipeline run to completion. The whole point is doing this without re-running the expensive sampling steps you already finished.
It does this by sitting at the top of your graph and emitting a signal (a DAZZLE_SIGNAL) that two other nodes in the DazzleNodes pack understand. Connect it to Smart Resolution Calculator and it controls the seed. Connect it to Preview Bridge Extended and it gates execution. That's the model: one button, many listeners, all coordinated through the signal rather than you flicking widgets in five places.
What the toggles mean
Dazzle Command has no data inputs - just four dropdowns defining what pause and play each do to the two systems it talks to. The seed modes repeat, so learn them once:
- one run then random - use an entered seed once, then go back to random. The default for pause, and the killer mode: you see seed 847291038 in someone's workflow, type it in, run, and next run it's already back to fresh randomness.
- new seed each run - always random.
- reuse last seed - lock the previous run's seed. The default for play.
- keep widget value - hold whatever value is in the widget.
- SmartResCalc decides - don't interfere.
So the natural setup: pause_seed = one run then random, play_seed = reuse last seed. Iterate on pause, fall in love, hit play, it stays.
The gate side is simpler. When paused, pause_gate decides how aggressively to block downstream: auto (smart pick based on mask state), always block, or block only if the mask is empty/undrawn. When playing, play_gate defaults to never block - let everything through. The cache trick is worth noting: toggling play/pause doesn't re-execute KSampler and VAE nodes, because the state is injected into the prompt at queue time and the results stay cached. That's why the README can claim an 83% time saving in typical workflows - it's not magic, it's just not invalidating things.
The honest catch
Standing alone, Dazzle Command does nothing. It's a button that emits a signal nobody reads. If you install DazzleNodes just for this node and don't also use Smart Resolution Calculator or Preview Bridge Extended, you'll have a nice toggle that goes nowhere. It's an orchestration node for people who've already bought into the pack's ecosystem - use it with at least one of its partners or skip it.
Installing it
Search DazzleNodes in ComfyUI Manager, or:
cd ComfyUI/custom_nodes
git clone --recursive https://github.com/DazzleNodes/DazzleNodes.git
Restart, look under DazzleNodes/Control → Dazzle Command. No model files, no pip deps beyond what ComfyUI ships. Wire its signal output into a Preview Bridge Extended's dazzle_signal input and you're in business.
One gotcha if you export workflows to API format or run headless: the play/pause state is carried by the frontend, so an API-format export has no state and defaults to paused. That's a "this is a UI-tooling node" reminder - it shines in interactive use, not batch automation.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| pause_seed | COMBO | one run then random | Seed behavior when paused: one run then random: If a seed was entered (here or SmartResCalc), use it once then revert to random (default) new seed each run: Always generate fresh random, override widget reuse last seed: Use the seed from the previous execution keep widget value: Use SmartResCalc's current value persistently SmartResCalc decides: Don't interfere with seed behavior |
| pause_gate | COMBO | auto | Gate behavior when paused: auto: Smart block selection based on mask state always block: Block regardless of state block if empty mask: Block only when output mask is empty block if empty editor: Block only when user hasn't drawn |
| play_seed | COMBO | reuse last seed | Seed behavior when playing: reuse last seed: Use the seed from the previous execution (default) one run then random: If a seed was entered, use it once then random new seed each run: Always generate fresh random keep widget value: Use SmartResCalc's current value persistently SmartResCalc decides: Don't interfere with seed behavior |
| play_gate | COMBO | never block | Gate behavior when playing: never block: Never block -- let execution continue (default) auto: Smart selection based on mask state |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| signal | DAZZLE_SIGNAL | — |