Maybe a rule such as "erase high-res pixels with no corresponding low-res pixel, if there is at most 1 orthogonally adjacent low-res pixel" ... that would seem to cover it, although maybe there is yet another edge case I haven't thought of
I had been thinking of applying a "corner" rule. Basically - assume we have a setup like this, with each letter representing a
low-res (physics) pixel.
ABC
DEF
GHIWe'll further divide the
high-res (visual) pixels of E up as follows:
12
34In this example, we would erase visual pixel 1, if all four physics pixels A, B, D and E are nonsolid. Likewise, for visual pixel 2, it'd be based on physics pixels B, C, E and F. And so on.
Perhaps we want to disregard A and C, and only look at B/D/E and B/E/F respectively. I'm not sure, I think I'd have to try out both to decide.
It must be seperate from the upscaler itself. High-res graphics can either be provided by styles, or automatically generated by the upscaler. The latter is nominally a fallback, but in practice over 95% of styles (including all of my own) still rely on it, and I don't expect this to change, nor am I pushing for it to.
I'll note that the upscaler does
not produce this pixelly cutoff; it happens during the rendering of the level's terrain map. In particular, you'll note this cutoff only occurs on physics-non-solid pixels, and that these pixels will still be visible in cases where the terrain piece overlaps another terrain piece.