📄 rig/src/lib.rs
//! Shared types for the fixed 3-camera rig.
//!
//! Everything that flows between the pipeline crates — camera poses and
//! intrinsics, the virtual camera, the per-frame splat batch, and the
//! [`FrameSource`] abstraction — lives here so that `replay`, `splatgen`,
//! `render` and `sink` share one vocabulary without depending on each
//! other's heavy dependencies.
//!
//! Conventions (matching Brush, see PLAN.md "Core design"):
//!
//! * world space is right-handed, Y up, in metres;
//! * camera frames follow COLMAP/OpenCV: +X image-right, +Y image-down,
//!   +Z the viewing direction — the same convention Brush's renderer
//!   expects;
//! * image coordinates: `(0, 0)` is the top-left pixel, `v` grows downward;
//! * intrinsics are in pixels at the camera's native resolution.

pub mod camera;
pub mod rig;
pub mod source;
pub mod splat;

pub use camera::{Camera, CameraIntrinsics, CameraPose};
pub use rig::Rig;
pub use source::{Frame, FrameSource};
pub use splat::{SURFEL_THICKNESS_M, Splat, SplatBatch};