31 lines
1.2 KiB
Rust
31 lines
1.2 KiB
Rust
//! Lean constructive geometry tools for VibeGeometry.
|
|
//!
|
|
//! This crate borrows RealtimeCSG's useful public shape: ordered brushes,
|
|
//! operation types, dirtied generations, prefix checkpoints, and rebuildable
|
|
//! output meshes. The hidden native RealtimeCSG kernel is not public, so this
|
|
//! starts with the smallest honest CSG organ: exact box subtraction against
|
|
//! additive boxes, plus additive procedural primitives for the habitat forms we
|
|
//! keep needing.
|
|
|
|
mod assembler;
|
|
mod brush;
|
|
mod convex;
|
|
mod dsl;
|
|
mod frontier;
|
|
mod mesh;
|
|
mod primitives;
|
|
mod tree;
|
|
|
|
pub use assembler::{Assembler, BuildOutput, BuildReport, BuildWarning};
|
|
pub use brush::{Aabb, Brush, BrushId, BrushOp, MaterialId, PolygonCategory, Primitive};
|
|
pub use convex::{CategorizedPolygons, ConvexPolygon, ConvexSolid, Plane, PolygonRouteScratch};
|
|
pub use dsl::LevelDsl;
|
|
pub use frontier::{DemandFrontier, DemandPair, DirtyDemandFrontier};
|
|
pub use mesh::TriangleMesh;
|
|
pub use primitives::{
|
|
DomeCapZSpec, FloretArmSpec, append_cylinder_z, append_dome_cap_z, append_floret_arm,
|
|
};
|
|
pub use tree::{
|
|
CsgBranchOp, CsgNode, CsgNodeId, CsgOperationType, CsgTree, CsgTreeArena, CsgTreeBranch,
|
|
CsgTreeBrush,
|
|
};
|