---
root:
  items:
  - type: clip
    id: 2
    complex:
      - rect: [0, 0, 100, 100]
        radius: {
          top-left: 50,
          top-right: 50,
          bottom-left: 50,
          bottom-right: 50,
        }
  -
    type: "clip-chain"
    id: 4
    clips: [2]
  - type: stacking-context
    bounds: [0, 0, 100, 100]
    clip-chain: 4
    items:
      - type: rect
        bounds: [ 0, 0, 100, 100 ]
        color: [0, 255, 0]
  # The same test, but this time with hue rotation, which means that the stacking
  # context is rendered to an intermediate surface first. Unfortunately, we cannot
  # use a rounded clip here because we want to avoid subpixel differences and avoid
  # relying on a PNG reference image.
  - type: clip
    id: 3
    bounds: [120, 0, 50, 50]
  -
    type: "clip-chain"
    id: 5
    clips: [3]
  - type: stacking-context
    bounds: [100, 0, 100, 100]
    filters: hue-rotate(90)
    clip-chain: 5
    items:
      - type: rect
        bounds: [ 0, 0, 100, 100 ]
        color: [0, 255, 0]
