Back to Explore

mapbox/delaunator

GitHub
1 watchersOpen source

Last release:

Delaunator is an incredibly fast, robust JavaScript library for computing Delaunay triangulations of 2D point sets. It provides triangulation output as typed arrays (triangles, halfedges, hull) and an update() method to refresh the triangulation after in-place coordinate changes (useful for iterative algorithms like Lloyd’s).

Project status

  • Actively maintained (by evidence): The repository shows an upstream push on 2026-06-24, and a recent package update v5.1.0 on 2026-03-23, indicating ongoing work rather than dormancy.
  • Update cadence: Historically sparse (v5.0.1 in 2024-01, v5.0.0 in 2021-03), but more recent timing is closer together, with the next update arriving about 2 years after 2024, and then no documented updates between 2026-03-23 and today (2026-10-02).

AI summary generated

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • v5.1.0

    v5.1.0 primarily adds first-class TypeScript types by generating and shipping an `index.d.ts` file, so consumers no longer need `@types/delaunator`. The diff also shows several non-trivial changes to the runtime class implementation in `index.js` around how triangulation arrays are stored and reused, plus build and CI/tooling updates.

    Features
  • v5.0.1

    v5.0.1 is a small maintenance release, with the only release note stating that the bundle is slightly smaller. The code diff, however, includes both dependency bumps and an internal change to the triangulation algorithm’s hull hashing initialization, plus various tooling and documentation updates.

  • v5.0.0

    Release v5.0.0 focuses on robustness and module packaging changes. It replaces the library's internal orientation robustness logic with robust-predicates (orient2d) and updates the package to be ES module by default. Build tooling and dev/test setup were also refreshed alongside the robustness changes.

    BreakingFeatures
  • v4.0.1

    v4.0.1 is described as a robustness-focused patch to address edge cases that could cause broken triangulation. The diff shows changes centered on the numerical orientation predicate used by the triangulation algorithm.

  • v4.0.0

    v4.0.0 introduces improved handling of degenerate (collinear) inputs, returning an empty triangulation instead of throwing, while also adding an `update()` method for recomputing the triangulation after in-place coordinate changes. The release notes also claim performance improvements and a fix for a rare race condition that could lead to an infinite loop.

    BreakingFeatures
  • v3.0.2

    v3.0.2 is described only as a performance improvement release. The code changes include refactoring the triangulation setup to reduce redundant distance calculations and some internal structural changes to the convex hull bookkeeping.

    Breaking
  • v3.0.1

    v3.0.1 focuses on performance improvements and refactoring the Delaunay hull-building algorithm to be easier to port to compiled languages. The release notes also call out a breaking change to the public hull API.

    Breaking
  • v2.0.5

    v2.0.5 is described in the release notes only as a minor robustness improvement. The code diff indicates robustness changes centered on handling of duplicate or near-duplicate input points, plus a small normalization tweak in the internal hashing logic.

  • v2.0.4

    v2.0.4 is described only as an “Improved numerical robustness” release. The actual code diff shows changes to the triangulation core (orientation logic and how problematic or near-duplicate points are handled), plus small packaging/build updates.

  • v2.0.3

    v2.0.3 claims performance improvements and a fix for a race condition that could break triangulation on degenerate inputs (for example, points on a circle). The code diff shows algorithmic changes in the triangulation core (hashing/pseudo-angle computation and legalization logic) that are not explicitly described in the release notes.

    Breaking