mod engine;
mod error;
mod font;
mod fonts;
mod grid;
mod models;
mod palette;

pub use engine::{GenerationOptions, OutlineMode, TextBuilder};
pub use error::{FontError, VoxelError};
pub use font::FontProvider;
pub use fonts::ttf_font::TtfFont;
pub use grid::VoxelGrid;
pub use models::VoxelType;
pub use palette::BlockPalette;
pub use palette::PaletteMappings;

pub trait StructureExporter {
    fn export(&self, grid: &VoxelGrid) -> anyhow::Result<Vec<u8>>;
    fn file_extension(&self) -> &'static str;
}
