viewport_lib/plugins/mod.rs
1//! Built-in plugins for `viewport-lib`.
2//!
3//! Each plugin lives in its own subdirectory and exposes its public surface
4//! through its own `mod.rs`. Consumers import from the plugin's own path:
5//!
6//! ```ignore
7//! use viewport_lib::plugins::skeleton::{SkeletonPlugin, SkinnedActorPlugin};
8//! use viewport_lib::plugins::skinning::SkinningPlugin;
9//! ```
10//!
11//! This module intentionally does not re-export its children's symbols at
12//! the top level: the path identifies which plugin each type belongs to,
13//! and the in-crate convention matches the shape used by external plugin
14//! crates (one public root per crate, not a shared namespace).
15//!
16//! Plugin kinds currently shipped:
17//!
18//! - **Deformer plugins** register a per-vertex deformation body against
19//! the mesh shader family. The only in-crate deformer is [`skinning`].
20//! - **Runtime plugins** implement
21//! [`RuntimePlugin`](crate::RuntimePlugin) and are added to a
22//! [`ViewportRuntime`](crate::ViewportRuntime) via
23//! [`with_plugin`](crate::ViewportRuntime::with_plugin). The in-crate set
24//! covers [`animation`], [`constraint`], [`physics_lite`], and the
25//! [`skeleton`] family.
26
27pub mod animation;
28pub mod constraint;
29pub mod physics_lite;
30pub mod skeleton;
31pub mod skinning;