Skip to content

Releases: mapbox/earcut

v3.2.2

Choose a tag to compare

@mourner mourner released this 01 Jul 16:44

Improve refine performance. v3.2.1 correctness fix regressed it from +41% to +50%; now it's +38%.

v3.2.1

Choose a tag to compare

@mourner mourner released this 01 Jul 14:56

Fix refine sometimes leaving quads in non-Delaunay state.

v3.2.0

Choose a tag to compare

@mourner mourner released this 30 Jun 20:50
  • Add a new refine(triangles, vertices, dimensions) function that takes an arbitrary triangulation (including earcut output) and refines it into a constrained Delaunay triangulation, radically improving triangulation quality at a small cost (+40% on top of earcut time on average). It's +0.5KB to the bundle but gets tree-shaken by modern bundlers if you don't use it.
  • Add a new demo for the project.

v3.1.1

Choose a tag to compare

@mourner mourner released this 29 Jun 13:10

Improve performance by another 6%.

v3.1.0

Choose a tag to compare

@mourner mourner released this 28 Jun 15:02
  • Significantly improve performance on large polygons with holes. On a representative fixture of 132 Mapbox vector tiles through z4-16 (119,680 polygons, 1.9M verts), total triangulation time drops from ~1000 ms to ~475 ms (~52% faster). #195
  • Fix multiple edge cases where hole self-tangencies could produce incorrect triangulation.
  • Add first-class TypeScript types via strict JSDoc.

v3.0.2

Choose a tag to compare

@mourner mourner released this 18 Sep 10:59

Fix a rare edge case manifesting on polygons with a big number of points. #186

v3.0.1

Choose a tag to compare

@mourner mourner released this 18 Dec 09:29
  • Fix edge cases related to touching inner rings. #177
  • Slightly improve performance. #177

Thanks to @msbarry for these contributions!

v3.0.0

Choose a tag to compare

@mourner mourner released this 28 Jun 09:03
  • ⚠️ Breaking: publish earcut as a ES module, dropping support for CommonJS (use v2.2.4 if you need compatibility).
  • ⚠️ Breaking: use modern ES syntax, dropping support for IE11 (you can still transpile on your end to keep support).
  • ⚠️ Breaking: the legacy UMD browser bundle now exposes the main function as earcut.default.

Changelog for previous versions