tilezz 0.2.0

Utilities to work with perfect-precision polygonal tiles built on top of cyclotomic integer rings.
Documentation
//! Combinatorics layer: enumeration and graph-classification of tiling
//! structure built on top of [`crate::geom`] primitives.
//!
//! Where `geom` provides the data shapes for tiles, patches, and
//! boundary glues (`Rat`, `Snake`, `TileSet`, `EPatch`,
//! `glue_raw_angles`), the combinatorics layer asks **questions** about
//! those shapes -- building transition graphs and enumerations over local
//! configurations and answering reachability / fixed-point / counting
//! questions: classifying junction configurations, finding fixed points of
//! boundary subsequences, growing patches up to a maximum size. (Deciding
//! whether a tile tiles the plane is the separate [`crate::classify`]
//! layer, built on top of these catalogs. The glue catalog itself --
//! `MatchFinder` / `MatchTypeIndex` -- lives in `geom`; see
//! [`crate::geom::matchfinder`] / [`crate::geom::matchtypes`].)
//!
//! Modules:
//!
//! - [`junctiontypes`]: BFS over open-junction configurations of a tileset
//!   (`OpenJunctionTypeIndex`, `Collection`).
//! - [`neighborhood`]: corona / phase-2 classification of local tile
//!   neighborhoods (`NeighborhoodIndex`, `NtKind`, `Collection`).
//! - [`patch_enum`]: layer-BFS enumeration of all distinct patches of a
//!   tileset up to a given size.
//! - [`seq_explorer`]: fixed-point enumeration of cyclic boundary
//!   subsequences reachable from a tileset.
//! - [`collect`]: collect + validate driver that runs the classifications
//!   above over a named tileset and (de)serializes kind-tagged snapshots.

pub mod collect;
pub mod junctiontypes;
pub mod neighborhood;
pub mod patch_enum;
pub mod seq_explorer;