1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
//! # voronoid
//!
//! `voronoid` is a Rust library for D-dimensional Voronoi tessellations, designed to be used in Rust
//! as well as compiled to WebAssembly (WASM). It provides efficient management of 3D generator
//! points and spatial partitioning to facilitate fast cellular computations.
//!
//! ## Features
//!
//! - **WASM-first**: Built with `wasm-bindgen` for seamless integration with JavaScript and TypeScript.
//! - **Spatial Partitioning**: Implements a configurable grid-based binning strategy for spatial lookups.
//! - **Dynamic Updates**: Supports updating individual generators or bulk setting of points with automatic grid re-binning.
//! - **Custom Walls**: Support for clipping cells against various geometries (Plane, Sphere, Cylinder, Torus, Custom).
//!
//! ## Example
//!
//! See the `examples/` directory for usage with SVG plotting and GLTF export.
//!
//! ## Main Interface
//!
//! The primary entry point is the [`Tessellation`] struct, which manages the grid and generators.
pub use SpatialAlgorithm;
pub use Algorithm2DGrid;
pub use Algorithm3DGrid;
pub use Algorithm3DOctree;
pub use BoundingBox;
pub use box_side;
pub use Cell;
pub use Cell2D;
pub use Cell3DFaces;
pub use Wall;
pub use WallGeometry;
pub use WALL_ID_MAX;
pub use wall_2d;
pub use wall_3d;
pub use Tessellation;
// The WebAssembly implementation is sourced out in these files.