//! # Core Module — Manager and Executor Layers //! //! Defines the two architectural layers that drive rendering: **Context** (Manager) owns GPU hardware //! resource lifecycle (Device, Queue, Surface), and **Renderer** (Executor) orchestrates draw calls by binding //! Material pipelines and Mesh vertex data into a RenderPass. //! //! ## Interaction with Other Modules //! - `context` consumes errors from `utils`, holds Frame references during frame loops. //! - `renderer` receives Device/Queue references from Context, uses Materials from `resources`. //! - `frame` is consumed by both Context (begin_frame → end_frame) and Renderer (render → present). pub mod bloom; pub mod context; pub mod dof; pub mod fog; pub mod frame; pub mod frustum; pub mod geometry; pub mod hdr; pub mod lod; pub mod msaa; pub mod renderer; pub mod shadow; pub mod transform; // Re-exports pub use bloom::BloomConfig; pub use context::Context; pub use dof::DoFConfig; pub use fog::{FogConfig, FogMode}; pub use frame::Frame; pub use frustum::Frustum; pub use geometry::{BBox, Geometry, GeometryError}; pub use hdr::ToneMapper; pub use lod::{lod_level, projected_radius_px}; pub use msaa::MsaaConfig; pub use renderer::Renderer; pub use shadow::ShadowConfig; pub use transform::Transform;