delaunay 0.8.0

D-dimensional Delaunay triangulations and convex hulls in Rust, with exact predicates, deterministic degeneracy handling, explicit topology validation, and bistellar flips for finite point sets.
Documentation
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
type: software
title: "delaunay: A d-dimensional Delaunay triangulation library"
version: 0.8.0
doi: 10.5281/zenodo.16931097
date-released: 2026-07-27
url: "https://github.com/acgetchell/delaunay"
repository-code: "https://github.com/acgetchell/delaunay"
authors:
  - family-names: "Getchell"
    given-names: "Adam"
    email: "adam@adamgetchell.org"
    orcid: "https://orcid.org/0000-0002-0797-0021"
keywords:
  - "convex-hull"
  - "delaunay"
  - "geometry"
  - "simplicial-complex"
  - "triangulation"
abstract: >-
  Rust crate providing D-dimensional Delaunay triangulations and convex hulls
  constructed with a PL-manifold (default) or pseudomanifold guarantee on
  finite point sets. Euclidean construction is explicitly tested in 2D through
  5D, periodic toroidal construction is validated on T² and for compact T³
  inputs, and bounded spherical S²/S³ construction is available as a prototype.
  Uses exact predicates and Simulation of Simplicity for robustness and
  degeneracy handling, and Hilbert curves for deterministic insertion ordering
  and efficient spatial indexing. Provides an explicit 5-level validation
  hierarchy on individual elements, combinatorial consistency, intrinsic PL
  topology, valid realization in the active model, and geometric predicates
  such as Delaunay.
  Allows for the complete set of Pachner moves up to D=5 using bistellar flips,
  vertex insertion and deletion, and the conversion of non-Delaunay
  triangulations into Delaunay triangulations via bounded flip/rebuilds.
  Auxiliary data may be stored directly in vertices and simplices with external
  secondary maps provided for vertex- and simplex-keyed algorithm use, and the
  entire data structure is serializable/deserializable. Written in safe Rust
  with no unsafe code.
license: BSD-3-Clause