use ecs::Component; use crate::projection::{Perspective, Projection}; use crate::vector::Vec3; pub mod fly; #[derive(Debug, Component)] pub struct Camera { pub target: Vec3, pub global_up: Vec3, pub current: bool, pub projection: Projection, } impl Default for Camera { fn default() -> Self { Self { target: Vec3::default(), global_up: Vec3::UP, current: false, projection: Projection::Perspective(Perspective::default()), } } }