A diff that means the page changed.
Byte-identical output for the same request against the same renderer version, so a difference between two runs is a difference in the page rather than in the machine that photographed it.
0 px changed
Most of the noise is not the page.
Most visual regression noise is not the page. It is a font that loaded differently, an emoji from another platform's sheet, an animation caught mid-frame, or a scrollbar that was there once. You end up either ignoring the diff or maintaining a tolerance nobody trusts.
Pin it, clean it, wait for it.
Pin the renderer version, block the ad networks, hide the carousel, and wait properly — the load event, network idle, every image decoded, the fonts painted, then any delay you ask for. What is left over is the page.
// the call { "url": "https://example.com", "full_page": true, "block": ["ads","trackers","consent"], "delay_ms": 500 }
Every response carries the renderer version it was taken with, so a diff can tell you whether the browser moved underneath you.