use scenix_math::{Aabb, Vec3};
pub trait Renderable {
fn render_order(&self) -> u32;
}
pub trait Bounded {
fn aabb(&self) -> Aabb;
fn bounding_sphere(&self) -> (Vec3, f32);
}
#[cfg(feature = "gpu")]
pub trait GpuUpload {
type GpuData: bytemuck::Pod;
fn to_gpu(&self) -> Self::GpuData;
}
#[cfg(feature = "std")]
pub trait Named {
fn name(&self) -> &str;
fn set_name(&mut self, name: impl Into<String>);
}