35 stable releases

2.15.1 Mar 24, 2026
2.15.0 Aug 16, 2025
2.14.0 Jun 17, 2025
2.13.1 Mar 4, 2025
0.2.1 Oct 11, 2016

#104 in Data structures

Download history 84033/week @ 2025-12-28 162376/week @ 2026-01-04 175787/week @ 2026-01-11 170256/week @ 2026-01-18 185590/week @ 2026-01-25 218732/week @ 2026-02-01 229491/week @ 2026-02-08 206268/week @ 2026-02-15 241138/week @ 2026-02-22 253508/week @ 2026-03-01 247894/week @ 2026-03-08 235398/week @ 2026-03-15 241781/week @ 2026-03-22 231646/week @ 2026-03-29 252282/week @ 2026-04-05 259984/week @ 2026-04-12

1,002,216 downloads per month
Used in 717 crates (27 directly)

MIT/Apache

630KB
12K SLoC

Docs Crates.io License GitHub Workflow Status (branch) dependency status

spade

Delaunay triangulations for the rust ecosystem.

  • 2D Delaunay triangulation, optionally backed by a hierarchy structure for improved nearest neighbor and insertion performance.
  • Allows both incremental and bulk loading creation of triangulations
  • Support for vertex removal
  • 2D constrained Delaunay triangulation (CDT)
  • Delaunay refinement
  • Uses precise geometric predicates to prevent incorrect geometries due to rounding issues
  • Supports extracting the Voronoi diagram
  • Natural neighbor interpolation

A Delaunay triangulation and the dual Voronoi Graph

Project goals

Project goals, in the order of their importance:

  1. Robustness - all data structures should behave correctly. An incorrect result, even if triggered only under rare circumstances, is not acceptable. This is why Spade uses a precise calculation kernel by default.
  2. Easy to use - favor an easy-to-use API over an API that exposes all bells and whistles.
  3. Performance - Delaunay triangulations are often a low level component of an application. Optimization in this area pays off greatly.
  4. Small footprint - Spade should be a sensible library to include in your project that doesn't require too many dependencies. Bigger dependencies will be feature gated when possible.

Roadmap

For Spade 3:

  • Possibly API simplification by un-supporting non-f64 outputs.

Performance and comparison to other crates

Refer to the delaunay_compare readme for some benchmarks and a comparison with other crates.

License

Licensed under either of

at your option.

Dependencies

~2MB
~23K SLoC