Dazzle TauSampler (DazzleNodes)
Dazzle TauSampler and 'tau complement' sampling
- model
- positive
- negative
- latent_image
- sigmas
- guides
- options
- output
- denoised
- options
Dazzle TauSampler is a preview node, and the README is admirably direct about it: it implements a simplified form of tau complement sampling based on the Tau Operator from D. Darcy's Scarcity Framework. Concretely, at each denoising step it computes what the step just "removed" - the residual between the previous latent and the freshly denoised estimate, x_0 - x_next - and adds a controlled amount of it back. The idea is to recover information a standard denoiser discards, rather than letting that structure vanish forever. It's the most experimental thing this pack ships, and it's clearly labeled as such.
That "add a bit of what the step removed" framing is honestly easier to use than to fully understand. The sampler list is small and names itself: tau/res_2m, tau/res_2s, tau/dpmpp_2m, tau/dpmpp_2m_sde, tau/dpmpp_2s, tau/dpmpp_3m. The tau/ prefix means "this solver with the complement step bolted on" - the base solver underneath is the standard RES4LYF method, which is useful because it means you already know what the non-tau version looks like.
The inputs that matter
Three widgets define the behavior:
tau_version- four flavors:tau1(raw complement),tau2(structural filtering, alignment + temporal - the default),tau3(seed-variant perturbation), andtau4(spectral per-bin complement via DFT - the newest and most experimental of the four).tau_strength- 0 to 1, default 0.5, and here's the reassuring part: internally it maps to an effective range of 0–0.12, and0is bit-identical to standard sampling. The node literally cannot change your output if you set it to zero.tau_mode-hard(fixed strength every step),soft(more complement in the low-noise detail phase, default), orcosine(a smooth ramp).
The rest of the widget set mirrors the flagship DazzleKSampler - sampler_name, scheduler (default beta57), steps, steps_to_run, denoise, cfg, seed, sampler_mode, bongmath, and latent_role with the same five-way noise-vs-init dispatch. Outputs are the standard triple: output (LATENT), denoised (LATENT), options (OPTIONS).
Installing it
It's part of the same pack:
cd ComfyUI/custom_nodes
git clone https://github.com/DazzleNodes/ComfyUI-DazzleKSampler.git
Restart ComfyUI and it's under RES4LYF/samplers, or install via ComfyUI Manager ("Dazzle KSampler"). No extra dependencies, no model files.
Where people get burned
The changelog's own caveat is worth taking seriously: the v1 implementation is a simplified complement (x_0 - x_next), and future versions plan proper structure/noise separation via a "resolution function R." Which is a long way of saying this is alpha research plumbing, not a polished effect. Expect subtle changes at low strengths and genuinely weird output if you crank it - and don't build a production workflow on it. The right way to play with it: keep tau_strength low, A/B against the plain DazzleKSampler on the same seed and settings, and treat anything above maybe 0.3 as "interesting, not necessarily better." The safe lane here is real: tau_strength = 0 is a perfect drop-in that behaves exactly like the standard sampler, so you can experiment without risk of corrupting a workflow you care about.
Inputs (21)
| Name | Type | Default | Description |
|---|---|---|---|
| eta | FLOAT | 0.50-100–100 | Noise amount added then removed at each step (for SDE/ancestral variants). |
| sampler_name | COMBO | tau/res_2m | 6 options: tau/res_2m, tau/res_2s, tau/dpmpp_2m, tau/dpmpp_2m_sde, tau/dpmpp_2s, tau/dpmpp_3m |
| scheduler | COMBO | beta57 | 10 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +4 |
| steps | INT | 301–10000 | — |
| steps_to_run | INT | -1-1–10000 | — |
| denoise | FLOAT | 1.00-10000–10000 | — |
| cfg | FLOAT | 5.50-100–100 | — |
| seed | INT | 0-2–18446744073709550000 | Noise seed. -2 is the legacy magic value for latent-as-noise dispatch under latent_role=auto (deprecated -- set latent_role explicitly for that). Otherwise the seed drives both initial and per-step noise. |
| latent_role | COMBO | auto | How to interpret the input latent dict. See the DazzleKSampler tooltip for full details. 'auto' is the right default for almost all workflows. Note: latent_role controls only the initial noise tensor at sigma_max -- the seed still drives per-step ancestral/SDE noise injection regardless of role. Set eta=0 for output fully determined by upstream noise. |
| sampler_mode | COMBO | standard | 3 options: unsample, standard, resample |
| bongmath | BOOLEAN | true | — |
| tau_version | COMBO | tau2 | tau1 = raw complement (noise vs coherence). tau2 = B+C structural filtering (alignment + temporal). tau3 = seed-variant perturbation via ODE chaos sensitivity (same seed, slight structural variations). tau4 = spectral per-bin complement: injects denoised's phase at frequency bands the denoiser isn't acting on this step (genuinely orthogonal via DFT basis). |
| tau_strength | FLOAT | 0.500–1 | Tau complement strength (0-1 range, internally mapped to effective 0-0.12). 0 = standard sampling. |
| tau_mode | COMBO | soft | hard = fixed strength every step. soft = more complement at low noise (detail phase). cosine = smooth ramp. |
| modelopt | MODEL | — | |
| positiveopt | CONDITIONING | — | |
| negativeopt | CONDITIONING | — | |
| latent_imageopt | LATENT | — | |
| sigmasopt | SIGMAS | — | |
| guidesopt | GUIDES | — | |
| optionsopt | OPTIONS | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| output | LATENT | — |
| denoised | LATENT | — |
| options | OPTIONS | — |