Plexus is a highly composable Rust library for computational geometry and polygonal mesh processing. It provides primitives, buffers, and graphs that are generic over their geometry and provide ergonomic geometric APIs for supported types. Plexus does not require that any particular types be used, however, and arbitrary data is supported.


Plexus is still in its initial development phase. Crates published to https://crates.io in the 0.0.x series do not obey SemVer and are unstable.

Plexus avoids exposing low-level topological operations such as inserting individual vertices into a graph. These kinds of operations are easily performed incorrectly and often require user code to verify the results. Instead, Plexus exposes more abstract operations that maintain topological consistency while being agnostic to geometry.

The user guide and API documentation on this website are based on changes to the master branch. At this time, these changes may differ significantly from crates published to registries like https://crates.io. See https://docs.rs for documentation for published versions of Plexus.

For contributing changes to Plexus, see the contributor guide.