1.3 KiB
1.3 KiB
Differential Diffusion Seam Fix
Problem
The current seam fix pass uses binary masks (1.0/0.0) with SetLatentNoiseMask. This creates hard transitions at band edges that can themselves become visible artifacts. Differential diffusion allows gradient masks where the value controls per-pixel denoise intensity, producing smoother seam repairs.
Design
GenerateSeamMask Node Changes
Add a mode combo input:
binary(default): Current behavior. Output is 1.0 inside seam bands, 0.0 outside.gradient: Linear falloff from 1.0 at seam center to 0.0 at band edge. Value at distancedfrom center:max(0, 1.0 - d / half_w). Where horizontal and vertical bands overlap (grid intersections), takemaxof both values.
The seam_width parameter keeps the same meaning in both modes.
Workflow Changes
Add one DifferentialDiffusion node (node 24) inside the Seam Fix group. It wraps the model before it reaches the seam fix KSampler:
- Checkpoint → DifferentialDiffusion → Seam Fix KSampler (replaces direct Checkpoint → KSampler link)
- All other wiring unchanged.
SetLatentNoiseMaskstill passes the mask to the latent.
Tests
- Existing binary tests pass with explicit
mode="binary" - Gradient tests: center=1.0, edge=0.0, midpoint~0.5, intersection uses max