The forward dissolve
Start with a shape made of points and keep adding Gaussian noise. A little blurs it; a lot erases it. Push far enough and every design — any design — melts into the same featureless cloud of static. This direction is trivial: no learning, no choices, just noise piling on noise.
Drag the noise up and watch the form dissolve. The trick will be coming back.
Which way is the data?
To reverse the dissolve you only need one thing: at any noisy point, which way is the nearest real data? That direction — the score — forms a field that everywhere points back toward where designs live. A diffusion model spends its whole training learning this field; here we can draw it exactly.
Move your cursor through the noise and read the arrow. It always points home.
One point walks home
Generation is just following that arrow, patiently. Drop a point anywhere in the static, step a little along the score, lower the noise a notch, and repeat. Step by step it threads its way down out of the chaos and lands on the form — a single denoising trajectory.
Click anywhere to release a point and watch it find its way to the shape.
Noise becomes form
Now do it to a whole cloud at once. Begin as pure static, take every point one denoising step, lower the noise, and repeat — the swarm flows inward, warm chaos cooling into crisp form. This is sampling: hundreds of trajectories descending together until a design stands where there was nothing.
The same loop, scaled up, is how an image appears from a prompt.
The diffusion studio
Hand it any target and it will generate it. Pick a form and watch noise resolve into it — or switch to draw mode, scatter your own constellation of points, and set diffusion loose on a distribution that didn't exist a second ago. Because the denoising direction is computed exactly from whatever target you give, there's no training wait: sketch, and the static reassembles into your shape. This is the whole modern playbook in miniature — define a distribution, learn its score, run the noise backward.