Diffusion happens in a compressed space and not on pixels, because denoising a full-resolution image directly would be prohibitively expensive. The VAE is the pair of translators at either end of that.
It is invisible when it works and unmistakable when it does not. Mushy fine texture, smeared small text, and a particular soft blotchiness in dark gradients are usually decode artefacts. The generation itself was fine.
This is why upscaling sometimes rescues an image that looked broken: the structure was correct and the decode was losing it.
Why does fine detail look mushy in generated images?
Often the decode is the culprit. Detail is lost compressing into and out of latent space, which is why fine texture and small text suffer most.
Can that be fixed after the fact?
Sometimes, with a good upscale, if the underlying structure is right. If the structure is wrong, upscaling makes a larger wrong image.
