render gallery

canvas 50%

What the numbers mean

Every case is the same spec drawn twice, once by vega's canvas renderer and once by this one. Canvas is taken as the truth, so each measure says how far this renderer is from it, in a different sense.

differing pixels
The share of the frame that pixelmatch calls different. It ignores anything under a colour threshold, which measures out at 39 levels on every channel, so it answers how much moved and is blind to a small error spread over everything.
any difference
The share of the frame where at least one channel differs at all, with no threshold under it. It is here because the measure above is not zero when the two match, it is zero when nothing passed the threshold: across the corpus every case reading 0.000% still has thousands of pixels a level or two apart, and the worst of them has 150,327 of 504,000. Read the two together.
worst tile
The densest 32 pixel square of that difference. A whole-frame percentage is diluted by however much of a chart is empty, so a small region that is badly wrong reads as a faint haze. This finds it.
mean
The average channel error over inked pixels, 0 to 255. This is the one that sees a uniform shift or a colour cast, which the pixel count scores as a perfect match. It barely moves for a scattering of antialiased edge pixels, however far off any one of them is.
flat
The same average, over inked pixels whose 3x3 neighbourhood is flat in both renders. Dropping the edges leaves mark interiors, so what is left is the colour rather than the coverage. It holds a far tighter budget, but a case that is all text or thin lines has no flat interior and shows n/a.
worst channel
The single furthest-off channel anywhere in the frame, 0 to 255. One edge pixel landing the other side of a rounding boundary reads 255, so it is meaningful on small synthetic fixtures and noisy on a full chart.
budgets
What the render suite allows this case before it fails. A case at its budget is a known, documented gap.

recorded is what a test run measured, from the pngs it left behind. live renders here and now in this browser, at its own pixel ratio and adapter, so its numbers will not match a recorded run.