StyleGAN: mapping network + AdaIN + per-layer noise z ~ N(0, I) mapping f(z) 8-layer MLP w ∈ W synthesis g(const, w, noise) const 4×4×512 conv 3×3 AdaIN(w) + noise up 2x ...repeat to 1024 AdaIN(x, w) = scale(w) · (x - μ) / σ + bias(w) truncation trick w′ = w̄ + ψ · (w - w̄) ψ = 1.0 → full diversity, occasional glitches ψ = 0.7 → default demo setting ψ = 0.0 → mean image, no variation v1 → v2 → v3 v2: weight demodulation, no droplets v3: alias-free conv, no texture sticking XL: conditional ImageNet R3GAN (2024): minimal recipe, 20x fewer params