Commit Graph

4 Commits

Author SHA1 Message Date
5f0bd6825d Fix: normalize to noise-prediction space before SMC
The previous fix (denoised space) still had the problem: K * cond_scale
produced a constant ±2.4 perturbation per element at cfg=12, destroying
the image at every step.

The paper's K=0.2 is calibrated for unit-variance noise predictions.
ComfyUI's cond/uncond are sigma-scaled (x - denoised ≈ sigma * epsilon).
Now we divide by sigma to recover epsilon-space, apply SMC there, then
multiply back by sigma. This gives natural dampening at late steps:
- sigma=14 (early): correction ±33 in latent space (image is noise anyway)
- sigma=0.01 (late): correction ±0.024 in latent space (negligible)

This matches the paper's behavior where the scheduler conversion
inherently dampens the noise-space correction at low sigma values.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 17:43:07 +01:00
612e7e973f Fix sigma-scaling bug causing noisy images
ComfyUI's args["cond"]/["uncond"] are (x - denoised), which are
sigma-scaled. At late denoising steps (sigma~0.01), the fixed K=0.2
correction was 200x the signal magnitude, destroying the image.

Fix: compute SMC in denoised space using args["cond_denoised"] and
args["uncond_denoised"], which have consistent magnitude across all
sigma values — matching the paper's noise-prediction space.

Also fixes first-step behavior to match the original paper (SMC
correction applied from step 0, not step 1).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 17:33:05 +01:00
3953d97163 Add detailed README with SVG diagrams and Apache 2.0 license
Includes algorithm comparison, node wiring, and parameter guide
diagrams. SVGs use <picture> tags for GitHub compatibility.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 17:15:07 +01:00
a79c5163a1 Initial implementation of SMC-CFG Ctrl ComfyUI node
Implements the Sliding Mode Control CFG algorithm from the paper
"CFG-Ctrl: A Control-Theoretic Perspective on Classifier-Free Guidance" (CVPR 2026)
as a ComfyUI model patch node.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 17:10:07 +01:00