Two-network subject+style sets select a winner per layer instead of
summing: scores are top-K magnitude sums (klora) or Frobenius energies
(estlora), and a timestep ramp shifts layers from the subject network
toward the style network across sampling, reduced to at most one
precomputed flip per layer per pass. On sub-8-bit SDNQ the pair rides
the side-channel as separate segments flipped in place; other layers
recompute the winner from the pristine backup, so select modes force
backup mode. Selection resets per pass from the callback setup and is
gated off under model compile. estlora's measured style-discrepancy
term is exposed as an option. Adds XYZ axes for the stack settings.
A module-level context tells attention consumers what is running: the
component role (transformer, text encoder, vae), the index of the
denoiser forward about to run, the pass length, and the model. It is
opened and closed around process_images, reset per denoising pass beside
the callback setup, and advanced by both step sources: the classic
callback passes the completed step plus one, the modular pre-forward
hook counts forwards. Roles come from the existing text encoder and vae
hijacks and the modular phase hooks. The step also lives in a device
scalar updated in place, so a compiled reader keeps its graph across
steps.
diffusers shipped first-party Ideogram 4 (transformer + pipeline) in
9b0818cf, so drop the in-tree port and keep only SD.Next integration glue.
Bump the diffusers pin to 9b0818cf and build diffusers' Ideogram4Pipeline
from a thin loader with per-transformer SDNQ. A small subclass keeps the
text encoder resident for the Qwen3-VL tap under balanced offload, and the
step callback denormalizes the preview latent from vae.bn before unpatchify.
Deletes the ported transformer, pipeline, scheduler, text encoder, and
latent-norm constants.
replace hardcoded timestep thresholds with step-based progress percentages
so corrections work with flow-match schedulers (Flux 2, etc.)
adapt brightness, color and tint corrections for multi-channel latents:
- brightness uses multiplicative scaling instead of additive offset
- color applies to all channels instead of skipping channel 0
- tint falls back to uniform offset when TAESD encoding is unavailable
pass step parameter through correction_callback for progress calculation
Enable live preview during FLUX.2 and FLUX.2 Klein image generation
using the TAE FLUX.2 decoder from madebyollin/taesd.
- Add dedicated TAE entries (FLUX.1, FLUX.2, SD3) that auto-select
based on model type, making the dropdown only affect SD/SDXL models
- Add FLUX.2 latent unpacking in callback to convert packed
[B, seq_len, 128] format to spatial [B, 32, H, W] for preview
- Support FLUX.2's 32 latent channels (vs 16 for FLUX.1/SD3)