//! Physics debug overlay and statistics.

/// Per-frame physics statistics.
#[derive(Debug, Clone, Default)]
pub struct PhysicsFrameStats {
    pub alive_count: u32,
    pub spawned_this_frame: u32,
    pub died_this_frame: u32,
    pub promotion_candidates: u32,
    pub collisions_this_frame: u32,
    pub frame_count: u64,
}

/// Debug overlay for physics visualization.
pub struct PhysicsDebugOverlay {
    pub show_stats: bool,
    pub show_force_fields: bool,
    pub show_emitter_shapes: bool,
    pub show_collision_planes: bool,
}

impl PhysicsDebugOverlay {
    pub fn new() -> Self {
        Self {
            show_stats: false,
            show_force_fields: false,
            show_emitter_shapes: false,
            show_collision_planes: false,
        }
    }
}

impl Default for PhysicsDebugOverlay {
    fn default() -> Self {
        Self::new()
    }
}
