57 lines
1.6 KiB
Rust
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;
|