Each pass re-rasterizes the current map and halves the blur. Small regions
need a finer grid: they are only as accurate as the cells they cover, and a
region smaller than one cell can only be approximated — which is why
auto is the default here. It sizes the grid to the smallest region
that carries real value, and grid used below reports what it chose.
On NUTS 3 that is 1024 rather than 256, and the difference is 4% area error
against 16%: at a coarse grid you are reviewing the grid, not the method.
It costs the time — 20 to 35 s on the larger sets against 2 to 7 s on the
smaller ones. Pin a fixed grid when comparing runs, or for a fair race
against go-cart, which is hard-wired to 512.
The reference C implementation, compiled to WebAssembly. It takes no
parameters: its grid is fixed at 512
(#define L (512)), as are its 1% error target and 1.5 padding.
For a fair speed comparison pin flow to grid 512 rather than
leaving it on auto, which picks 1024 on most of these datasets and so does
four times the grid work. Its runtime also varies far
more with the data than ours: about 2 s on NUTS 2 but 25 s on NUTS 0.