--- # Bug 2035734 - Negative half-integer device-x repro. # At scale(1.0), element at (5, 5) is already integer-aligned (scene-builder # snap is a no-op). spread 2.5 + blur 1 (blur_offset 3) inflates to dest_rect # at (-0.5, -0.5) device. -0.5 is exact in f32, where f32::round # (half-away-from-zero) gives -1 and euclid::Round (= (n+0.5).floor()) gives 0 # - a one-device-pixel disagreement. create_quad_primitive uses euclid::Round, # so prepare.rs must match it; otherwise dest_rect_offset shifts the # analytical shadow by one device pixel relative to the blurred mask. root: items: - type: rect bounds: [0, 0, 800, 400] color: [255, 255, 255] - type: rect bounds: [5, 5, 200, 200] color: [103, 150, 29] - type: box-shadow bounds: [5, 5, 200, 200] color: [0, 0, 0, 0.47] clip-mode: outset offset: [0, 0] blur-radius: 1 spread-radius: 2.5