1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//! # U-Nesting
//!
//! Domain-agnostic 2D/3D spatial optimization engine.
//!
//! This crate provides algorithms for:
//! - **2D Nesting**: Polygon placement optimization (cutting, packing)
//! - **3D Bin Packing**: Box placement in containers
//!
//! ## Quick Start
//!
//! ```rust,ignore
//! use u_nesting::d2::{Nester2D, Geometry2D, Boundary2D};
//! use u_nesting::core::{Solver, Config, Strategy};
//!
//! // Create geometries and boundary
//! let boundary = Boundary2D::new(1000.0, 500.0);
//! let geometries = vec![/* your polygons */];
//!
//! // Solve
//! let mut nester = Nester2D::new(boundary, geometries);
//! let result = nester.solve(&Config::default())?;
//! ```
//!
//! ## Feature Flags
//!
//! - `d2` (default): 2D nesting algorithms
//! - `d3` (default): 3D bin packing algorithms
//! - `serde`: Serialization support
/// Core traits and abstractions.
pub use u_nesting_core as core;
/// 2D nesting algorithms.
pub use u_nesting_d2 as d2;
/// 3D bin packing algorithms.
pub use u_nesting_d3 as d3;
/// Cutting path optimization.
pub use u_nesting_cutting as cutting;
// Re-export commonly used types at root level
pub use ;