i_overlay 6.0.0

Boolean Operations for 2D Polygons: Supports intersection, union, difference, xor, and self-intersections for all polygon varieties.
Documentation
{
  "clip" : [
    [
      [
        [
          [
            -5,
            2
          ],
          [
            -3,
            4
          ],
          [
            -3,
            0
          ]
        ]
      ]
    ]
  ],
  "subjPaths" : [
    [
      [
        1,
        5
      ],
      [
        1,
        3
      ],
      [
        -3,
        2
      ],
      [
        4,
        -3
      ],
      [
        -1,
        0
      ]
    ]
  ],
  "intersect" : [
    [

    ]
  ],
  "union" : [
    [
      [
        [
          [
            -5,
            2
          ],
          [
            -3,
            4
          ],
          [
            -3,
            0
          ]
        ]
      ],
      [
        [
          [
            -3,
            2
          ],
          [
            1,
            3
          ],
          [
            -1,
            0
          ]
        ]
      ],
      [
        [
          [
            -1,
            0
          ],
          [
            0,
            0
          ],
          [
            4,
            -3
          ]
        ]
      ]
    ]
  ],
  "xor" : [
    [
      [
        [
          [
            -5,
            2
          ],
          [
            -3,
            4
          ],
          [
            -3,
            0
          ]
        ]
      ],
      [
        [
          [
            -3,
            2
          ],
          [
            1,
            3
          ],
          [
            -1,
            0
          ]
        ]
      ],
      [
        [
          [
            -1,
            0
          ],
          [
            0,
            0
          ],
          [
            4,
            -3
          ]
        ]
      ]
    ]
  ],
  "subject" : [
    [
      [
        [
          [
            -3,
            2
          ],
          [
            1,
            3
          ],
          [
            -1,
            0
          ]
        ]
      ],
      [
        [
          [
            -1,
            0
          ],
          [
            0,
            0
          ],
          [
            4,
            -3
          ]
        ]
      ]
    ]
  ],
  "clipPaths" : [
    [
      [
        -2,
        0
      ],
      [
        5,
        -1
      ],
      [
        -3,
        0
      ],
      [
        -3,
        4
      ],
      [
        -5,
        2
      ]
    ]
  ],
  "inverseDifference" : [
    [
      [
        [
          [
            -5,
            2
          ],
          [
            -3,
            4
          ],
          [
            -3,
            0
          ]
        ]
      ]
    ]
  ],
  "fillRule" : 1,
  "difference" : [
    [
      [
        [
          [
            -3,
            2
          ],
          [
            1,
            3
          ],
          [
            -1,
            0
          ]
        ]
      ],
      [
        [
          [
            -1,
            0
          ],
          [
            0,
            0
          ],
          [
            4,
            -3
          ]
        ]
      ]
    ]
  ]
}