#[cfg(feature = "mesh-v1")]
mod v1;
#[cfg(feature = "mesh-v1")]
pub use v1::*;
mod v2;
pub use v2::*;
mod v3;
pub use v3::*;
mod v4;
pub use v4::*;
mod v5;
pub use v5::*;
use binrw::BinReaderExt;
pub type Error = binrw::Error;
#[cfg(feature = "mesh-v1")]
#[expect(clippy::large_enum_variant)]
#[binrw::binread]
#[br(little)]
#[derive(Debug, Clone)]
pub enum Mesh {
V1(Mesh1),
V2(Mesh2),
V3(Mesh3),
V4(Mesh4),
V5(Mesh5),
}
#[cfg(not(feature = "mesh-v1"))]
#[expect(clippy::large_enum_variant)]
#[binrw::binread]
#[br(little)]
#[derive(Debug, Clone)]
pub enum Mesh {
V2(Mesh2),
V3(Mesh3),
V4(Mesh4),
V5(Mesh5),
}
pub fn read_versioned<R: BinReaderExt>(mut read: R) -> Result<Mesh, Error> {
read.read_le()
}