Quick answer: Construct 3 pixel-snapped objects unsnapping at non-integer camera zoom? Snap is in world coords; zoom applies in screen - quantize at the camera level.

Pixel-art game; zoom to 1.5x; sprites visibly blur at sub-pixel positions.

Quantize zoom

Snap zoom to integer or half-integer. Sub-pixel zoom eliminated.

Or use point filter

Texture filter = nearest; sub-pixel zoom still produces sharp edges.

Render at native then upscale

Internal render target at native res; upscale to display. Crisp regardless of zoom.

“Pixel snap is at object level. Zoom is at view level. Mismatch is the bug.”

For pixel art with zoom, the internal-render-target approach is the cleanest. Plan it.

Related reading