use crate;
use crateMeshError;
use crateMeshOutput;
/// Trait implemented by all voxel meshing algorithms.
///
/// Meshers take a chunk and its neighbors, and write geometry into a
/// reusable `MeshOutput` buffer. The caller should call `output.clear()`
/// before each call if reusing the buffer.
///
/// `&mut self` allows implementations to reuse internal scratch buffers
/// without interior mutability. For thread safety, create one mesher
/// per thread (they are cheap to construct).