primitive meshes

This commit is contained in:
Jérôme Bousquié
2026-09-24 14:25:44 +02:00
parent 805babe53d
commit ab3f056dbb
36 changed files with 1531 additions and 808 deletions
+46
View File
@@ -0,0 +1,46 @@
//! # 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::{ShadowConfig, ToneMapper};
// 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;