i_overlay 6.0.0

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

    [[0, 0], [2, 3], [2, 4]],
    [[0, 0], [2,-1], [2, 1]],
    [[0, 0], [2,-4], [2,-3]]
  ],
  "clipPaths": [],
  "subject": [[
    [
      [[0, 0], [5, 2], [5, -2]],
      [[0, 0], [4, -1], [4, 1]]
    ],
    [
      [[0, 0], [7, 4], [7, -4]],
      [[0, 0], [6, -3], [6, 3]]
    ],
    [
      [[0, 0], [9, 6], [9, -6]],
      [[0, 0], [8, -5], [8, 5]]
    ]
  ]],
  "clip": [[]],
  "union": [[
    [
      [[0, 0], [5, 2], [5, -2]],
      [[0, 0], [4, -1], [4, 1]]
    ],
    [
      [[0, 0], [7, 4], [7, -4]],
      [[0, 0], [6, -3], [6, 3]]
    ],
    [
      [[0, 0], [9, 6], [9, -6]],
      [[0, 0], [8, -5], [8, 5]]
    ]
  ]],
  "intersect": [[]],
  "difference": [[
    [
      [[0, 0], [5, 2], [5, -2]],
      [[0, 0], [4, -1], [4, 1]]
    ],
    [
      [[0, 0], [7, 4], [7, -4]],
      [[0, 0], [6, -3], [6, 3]]
    ],
    [
      [[0, 0], [9, 6], [9, -6]],
      [[0, 0], [8, -5], [8, 5]]
    ]
  ]],
  "inverseDifference": [[]],
  "xor": [[
    [
      [[0, 0], [5, 2], [5, -2]],
      [[0, 0], [4, -1], [4, 1]]
    ],
    [
      [[0, 0], [7, 4], [7, -4]],
      [[0, 0], [6, -3], [6, 3]]
    ],
    [
      [[0, 0], [9, 6], [9, -6]],
      [[0, 0], [8, -5], [8, 5]]
    ]
  ]]
}