---
# 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
