volren-core 0.2.0

Core data types, camera, transfer functions, and interaction for volren-rs
Documentation
//! Core data types, math, camera, transfer functions, and interaction for volren-rs.
//!
//! This crate has **no GPU dependency** and can be used in headless pipelines.
//! See `volren-gpu` for the wgpu-based renderer that consumes these types.

#![deny(missing_docs)]
#![deny(unsafe_code)]
#![warn(clippy::all)]
#![allow(clippy::pedantic)]

pub mod camera;
pub mod interaction;
pub mod math;
pub mod picking;
pub mod render_params;
pub mod reslice;
pub mod transfer_function;
pub mod volume;
pub mod window_level;

// Top-level re-exports for ergonomic use.
pub use camera::{Camera, Projection};
pub use interaction::{
    InteractionContext, InteractionResult, InteractionStyle, Key, KeyEvent, Modifiers, MouseButton,
    MouseEvent, MouseEventKind,
};
pub use math::aabb::Aabb;
pub use picking::{PickResult, Ray};
pub use render_params::{BlendMode, ClipPlane, Interpolation, ShadingParams, VolumeRenderParams};
pub use reslice::{SlicePlane, ThickSlabMode, ThickSlabParams};
pub use transfer_function::{
    ColorSpace, ColorTransferFunction, OpacityTransferFunction, TransferFunction2D,
    TransferFunction2DRegion, TransferFunctionLut,
};
pub use volume::{DynVolume, Scalar, Volume, VolumeError, VolumeInfo};
pub use window_level::WindowLevel;