Files
wsg/lib/src/prelude.rs
T
Jérôme Bousquié 35aeb769a8 refactor examples
2026-09-25 10:19:24 +02:00

57 lines
1.6 KiB
Rust

//! # WSG Prelude
//!
//! Re-exports the most commonly used types in a single glob import:
//!
//! ```rust
//! use wsg_lib::prelude::*;
//!
//! let geom = cube(2.0);
//! assert_eq!(geom.positions.len(), 24);
//! let tf = Transform::identity();
//! ```
//!
//! This avoids long import paths for the types you touch every day.
// Core types
pub use crate::core::geometry::{BBox, Geometry};
pub use crate::core::transform::Transform;
pub use crate::core::{BloomConfig, ShadowConfig, ToneMapper};
pub use crate::resources::Material;
// Camera
pub use crate::camera::{Camera, CameraController};
// Lights
pub use crate::lights::{directional_light, point_light, spot_light, Light, LightType, Lights};
// Input
pub use crate::input::InputState;
// App / handler (already at crate root, re-exported here for convenience)
pub use crate::app::AppBuilder;
pub use crate::handler::AppHandler;
// Primitives (available when the corresponding feature is enabled)
#[cfg(feature = "prim-cube")]
pub use crate::mesh::cube;
#[cfg(feature = "prim-sphere")]
pub use crate::mesh::{icosphere, uv_sphere};
#[cfg(feature = "prim-cylinder")]
pub use crate::mesh::cylinder;
#[cfg(feature = "prim-cone")]
pub use crate::mesh::cone;
#[cfg(feature = "prim-torus")]
pub use crate::mesh::torus;
#[cfg(feature = "prim-plane")]
pub use crate::mesh::plane;
// Import (available when the corresponding feature is enabled)
#[cfg(feature = "import-obj")]
pub use crate::mesh::load_obj;
#[cfg(feature = "import-gltf")]
pub use crate::mesh::load_gltf;
// Import error type
#[cfg(any(feature = "import-obj", feature = "import-gltf"))]
pub use crate::mesh::import::MeshImportError;