pub mod shared;
thread_local! {
static LAST_ERROR_DETAIL: std::cell::RefCell<String> =
const { std::cell::RefCell::new(String::new()) };
}
pub(crate) fn set_last_error_detail(detail: impl Into<String>) {
LAST_ERROR_DETAIL.with(|e| *e.borrow_mut() = detail.into());
}
pub(crate) fn clear_last_error_detail() {
LAST_ERROR_DETAIL.with(|e| e.borrow_mut().clear());
}
pub(crate) fn last_error_detail() -> String {
LAST_ERROR_DETAIL.with(|e| e.borrow().clone())
}
pub mod animation;
pub mod autostack;
pub mod blocks;
pub mod building;
pub mod definition_region;
#[cfg(feature = "routing")]
pub mod design;
pub mod diff;
pub mod distance_field;
pub mod field;
pub mod geo;
#[cfg(feature = "hdl")]
pub mod hdl;
#[cfg(feature = "mc-tick")]
pub mod mc_tick;
#[cfg(feature = "meshing")]
pub mod meshing;
pub mod nbt;
#[cfg(feature = "rendering")]
pub mod rendering;
#[cfg(feature = "routing")]
pub mod routing;
pub mod schematic;
pub mod schematic_builder;
#[cfg(any(feature = "scripting-lua", feature = "scripting-js"))]
pub mod scripting;
pub mod sdf;
#[cfg(feature = "simulation")]
pub mod simulation;
pub mod store_io;
#[cfg(feature = "voxelize")]
pub mod voxelize;
pub mod world_generation;
#[cfg(all(feature = "bridge", feature = "world-segment"))]
pub mod world_segment;
pub mod world_stream;