← All pillars
Capture

Capture

A screenshot is evidence only if something rules out the ways it can lie. Each refusal below was a real session that exited zero with a file nobody could use.

App — Relatórios the copy rectangle Update available a toast — pid 14820 nothing stands over it: absent 1 window(s) stand over 376x166 at 62,90, taking 15360 of its 62416 pixel(s): 'Update available' (pid 14820) over 240x64 at 194,92 A copy trimmed around it is a picture of something else. The z order above the window is enumerated once and intersected with the rectangle — sampled points cannot answer for an area.

What is checked before a file exists

  • ✓The z order above the window is enumerated and each frame intersected with the copy rectangle — one pass that answers for the whole area, where sampled points cannot.
  • ✓An overlap fails rather than crops, and the refusal names the intruder, its process and the rectangle it covers.
  • ✓A window that opted into a system backdrop is refused rather than warned about: it transmits what is behind it, and z-order reasoning cannot answer for glass.
  • ✓A copy of exactly one colour is not a picture of a window — that is what a session where nothing was rendering produced, and it exited zero.
  • ✓A page still computing is not a report: the loading strings are read from the project's own language files before anything launches.
  • ✓A capture of a window this run is not driving is refused, because a picture of somebody else's desktop is not evidence about your application.

Two renders of unchanged code are byte-identical

Which is what makes a difference a real difference, and means nobody has to choose a tolerance for a comparison to mean anything. A change meant to be invisible finally has a cheap way to prove it was.

Measured, arranged, updated — in that order

The arrange is why the render verb exists. A tree that was measured and never arranged renders as a fully transparent picture of exactly the right size, which looks like a drawing bug and is a calling bug.