#![cfg_attr(doc, doc = include_str!("./lib.rs.md"))]
mod board_area;
mod direction;
mod game_board;
mod io;
mod piece;
mod point2d;
mod puzzle;
mod rle;
mod saved_game;
mod size2d;
mod sokoban_plus;
mod static_board_analysis;
mod tessellation;
mod tile;
mod utilities;
pub use board_area::{BoardArea, BoardAreaIntoIter, BoardAreaIter};
pub use direction::{Direction, DirectionsSet, DirectionsSetIter};
pub use game_board::{
BoardSyntaxError, BoardSyntaxErrorKind, GameBoard, GameBoardIter, HorizontalEdge, MirrorAxis,
Rotation, VerticalEdge,
};
pub use io::{
FileFormat, IoReadError, IoReadErrorKind, IoWriteError, ReaderSettings, WriterSettings,
};
pub use piece::{BoxID, Boxbox, Goal, GoalID, PieceIdError, PieceIdErrorKind, Pusher, PusherID};
pub use point2d::Point2D;
pub use puzzle::{Collection, Puzzle};
pub use saved_game::{
SavedGame, SavedGameSyntaxError, SavedGameSyntaxErrorKind, SolvingMode, Step,
};
pub use size2d::Size2D;
pub use sokoban_plus::{PlusID, SokobanPlus, SokobanPlusSyntaxError, SokobanPlusSyntaxErrorKind};
pub use static_board_analysis::StaticBoardAnalysis;
pub use tessellation::Tessellation;
pub use tile::{TileKind, TileShape};