Quick answer: Godot 4 CanvasLayer with follow_viewport_enabled blurring pixel art? Sub-pixel positioning bypasses snap settings - manually quantize the layer's transform.
Pixel-art UI on a CanvasLayer that follows the camera. UI elements visibly soften at fractional camera positions.
Quantize the transform
func _process(_):
transform.origin = transform.origin.round()Per-frame snap. Sub-pixel positions disappear.
Or disable follow
If the UI doesn't need to track the world, set follow_viewport_enabled = false. Stays in screen space; pixel-perfect by default.
Use integer-only camera positions
If the world camera quantizes, the follow layer inherits. Often the cleanest fix.
“Sub-pixel positions blur pixel art. Quantization is the contract.”
Pixel-art games should establish a single source of truth for quantization. Document; enforce in code review.