use binrw::BinRead;

/// On-disk size of a [`BoundingBox`] in bytes.
pub const BOUNDING_BOX_SIZE: usize = 32;

/// Axis-aligned bounding box stored as two `[f32; 4]` vectors (XYZ + padding).
///
/// Used by [`Mdl`] for model-level, water, and per-bone culling volumes.
///
/// [`Mdl`]: crate::mdl::parser::Mdl
#[non_exhaustive]
#[derive(Debug, Clone, Copy, PartialEq, BinRead)]
#[br(little)]
pub struct BoundingBox {
    /// Minimum corner (XYZ, fourth element is padding).
    pub min: [f32; 4],
    /// Maximum corner (XYZ, fourth element is padding).
    pub max: [f32; 4],
}
