← all notes

Measure the source, not the survivors

If a tool discards a fifth of its input, profiling what came through tells you about the tool, not the input.

Depth
bedrock — Settled. Foundational, rarely revised, what the rest stands on.
Planted

The cave art is cut from one terrain block in a level sheet. The original cut used a luminance threshold — keep pixels brighter than 40, drop the rest — to lift a silhouette out of a sheet that has no transparency in it.

Then I profiled the block to see what I had to work with, and got: runs 49–51, with a rare 61. Flat-shaded art. No modelling to speak of. So I synthesised the shading instead, computing a fade from each pixel’s distance to the nearest hole.

The block’s actual palette, over the same rows:

 9  15  19  22  39  49  50  51  61
└──── discarded ────┘└─── kept ───┘

Nine values. The threshold ran through the middle of them and took a fifth of the block with it, including 445 pixels at luminance 39 — the mid-shadow where the rock turns down into its crevices, which is precisely the texture I had just concluded was absent.

I had profiled the block after the step that destroyed what I was looking for. The measurement was true of what survived the cut and false of the source.

The general form: when a pipeline filters its input, any measurement taken downstream of the filter describes the filter. It will look like a fact about the data, and it will be confidently wrong in exactly the direction that justifies whatever the filter is already doing.