pixelrush: README + changelog for 2.9.0 corrected-theory release

Document the refiner_model input (paper SDXL + SDXL-Turbo setup),
noise_injection modes, sigma=24 default and the gaussian_kernel_size
removal (migration note for old workflows), plus the 2.9.0 changelog:
corrected SLERP, adapter space fix (SDXL 7.7x under-noising root
cause), generic DDIM, analytic Gaussian mask, empty-negative CFG fix.
Version bumped 2.8.3 -> 2.9.0. Full repo suite green (1146 passed).
This commit is contained in:
WildAi
2026-09-02 14:01:32 +03:00
parent 27d059d7a0
commit 8565fde6f5
2 changed files with 15 additions and 2 deletions
+14 -1
View File
@@ -233,13 +233,19 @@ Cascade-based refinement node. Generates at native resolution first, then progre
| Parameter | Description |
|:---|:---|
| `num_cascade_stages` | Number of cascade stages — each doubles the resolution. |
| `noise_lambda` | Noise injection strength per cascade stage. |
| `refiner_model` | **Optional** separate refiner model (paper setup: SDXL base + SDXL-Turbo). When not connected, the base model refines too. |
| `noise_lambda` | Noise injection strength per cascade stage (paper default 0.95 — result sits close to the random vector by the paper's stated convention). |
| `noise_injection` | `slerp` (paper default) or `additive` (legacy pre-2.9 behavior, kept for workflows tuned against it). |
| `overlap` | Overlap between adjacent patches (blends seams). |
| `gaussian_sigma` | Analytic Gaussian feather sigma (paper default 24; rule of thumb: σ ≈ patch_size / 5). |
| `patch_h` / `patch_w` | Latent patch size (~native spatial size keeps VRAM flat). |
> [!NOTE]
> PixelRush calls the diffusion model directly (not through ComfyUI's sampler), performing its own CFG and prediction-type handling for EPS, flow, V-prediction and X0 models.
> [!IMPORTANT]
> **2.9 migration notes:** the noise injection now uses the paper's SLERP by default (set `noise_injection` to `additive` for the previous behavior); `gaussian_sigma` default moved 8 → 24 and its range extends to 128; the `gaussian_kernel_size` input was removed (the mask is now the paper's analytic Gaussian — old workflows simply ignore the stale value).
</details>
<p align="right"><a href="#readme-top" title="back to top">⟔ ▲ ⟓</a></p>
@@ -309,6 +315,13 @@ Restart ComfyUI. No further dependency installation is required.
## ▓ Changelog
### v2.9.0 — 2026-09-02
- **PixelRush realigned with the corrected theory** (plan 2026-09-02): standard raw-vector SLERP (with collinear lerp fallback) for the noise injection — the paper's `slerp(eps_pred, eps_random, λ)` is now the default, with the 2026-08-13 additive injection kept as an opt-in (`noise_injection`).
- **Fixed the VAE/model space mixing** in the forward/reverse steps: adapters now convert via `process_latent_in/out`, so the model sees noise at the scale its timestep claims. For SDXL the previous code under-noised 7.7× — the root cause behind the "compressed look" that the additive hack had papered over.
- Generic DDIM transitions (`ddim_deterministic_step` between arbitrary timesteps, `predict_x0_from_epsilon`); analytic Gaussian feather mask (σ default 24, `gaussian_kernel_size` input removed).
- **Optional `refiner_model` input** — use a separate distilled refiner (e.g. SDXL-Turbo) as in the paper; the base model drives the partial inversion.
- **Bug fixes:** empty-negative conditioning no longer amplifies eps by `cfg_scale` (CFG is skipped); `alpha_k` NameError with partially-provided adapters; empty positive now raises a clear error.
### v2.8.3 — 2026-08-31
- **Qwen2D VAE support disabled by default.** User reports showed that with the Qwen2D VAE interception installed, loading certain non-Qwen2D (video-style) VAE checkpoints crashed with a size-mismatch error whose traceback passed through this pack's delegation frame — breaking workflows that never used the Qwen2D VAE. The patch now installs only when the environment variable `DYPE_ENABLE_QWEN2D_VAE=1` is set. If you relied on the Qwen2D VAE (Anzhc/Qwen2D-VAE checkpoint with FreeScale/PixelRush on Krea-2/Qwen/Anima), set that variable in your ComfyUI environment to restore the previous behavior.
+1 -1
View File
@@ -1,7 +1,7 @@
[project]
name = "ComfyUI-DyPE"
description = "DyPE & SEGA & PixelRush & HRDiT. Artifact-free 4K+ image generation. Flux, Nunchaku, Qwen, Z-Image, Anima, Krea-2, SDXL, SD1.5"
version = "2.8.3"
version = "2.9.0"
requires-python = ">=3.10"
license = {file = "LICENSE"}
dependencies = ["torch", "numpy"]