d3-delaunay is a JavaScript library that computes the Voronoi diagram for a set of two-dimensional points. It builds the Voronoi diagram from the Delaunay triangulation, which is computed using fast sweep algorithms, and is useful for geometry, spatial visualization, and related computational tasks.
Project status
- The repo appears to have some ongoing activity (last upstream push was 2025-11-10), but the most recent versioned updates shown here are older, with v6.0.4 dated 2023-04-01, suggesting maintenance rather than frequent, feature-driven development.
- Update cadence for the published versions is very sparse (2023-04, 2023-03, then the next cited update is 2021-06, and nothing newer than 2023 is listed), which points to a long-term maintenance pattern with occasional robustness fixes.
AI summary generated
Recent updates
v6.0.4
Release v6.0.4 includes a targeted fix for Voronoi circumcenter computation when the Delaunay hull is collinear. The code changes adjust how the degenerate (collinear) circumcenter direction is chosen, and a new regression test was added.
v6.0.3
This release focuses on correcting Voronoi neighbor computation precision issues and fixing a polygon clipping problem. Code changes also include internal robustness adjustments to segment clipping and polygon simplification behavior, with observable differences in polygon vertex ordering in tests.
v6.0.2
v6.0.2 is a small release focused on dependency updates and making the build output more reproducible. The code diff shows changes to the Rollup build configuration, specifically how the UMD banner (copyright header) is generated.
v6.0.1
v6.0.1 migrates the package to ESM (type: module) and updates the underlying triangulation dependency to delaunator@5. It also includes more robust Voronoi circumcenter handling for degenerate/collinear configurations and targets Node.js 12+.
BreakingFeaturesv5.3.0
d3-delaunay v5.3.0 makes small changes to Voronoi cell polygon iteration and improves some internal numeric computations. The release notes highlight a change to voronoi.cellPolygons() to expose a cell index and clarify empty polygon filtering.
Featuresv5.2.1
v5.2.1 makes a small internal change to how `Delaunay.from` is defined. The release notes mention removing a side effect (#99), and the code diff shows that `from` was moved from a post-class assignment into a `static` class method.
v5.2.0
v5.2.0 adds support for iterating Voronoi cell neighbors via a new voronoi.neighbors(i) method. The implementation computes neighbors based on shared Voronoi edges, taking the Voronoi viewport clipping into account. Minor internal refactoring was also made in Delaunay.neighbors.
Featuresv5.1.6
v5.1.6 marks the package as side-effect-free for better bundler/tree-shaking behavior. It also improves detection of degenerate, collinear triangulations to handle edge cases more robustly.
v5.1.5
Release v5.1.5 updates the Voronoi polygon generation to avoid adding spurious corner points, as referenced by issue #88. The change is implemented as an additional post-processing step in the Voronoi class and is covered by a new unit test.
v5.1.4
v5.1.4 improves numerical robustness in the Voronoi computation, specifically circumcenter handling and duplicate point filtering. It also upgrades delaunator to 4.0.1 (referenced in the release notes) and changes the rendered cell output for degenerate cases by suppressing redundant geometry.