brep/lib.rs
1//! # BREP
2//!
3//! Umbrella crate for the BREP CAD kernel family. It re-exports the geometry
4//! kernel unconditionally and the higher layers behind feature flags, so a
5//! single `BREP` dependency scales from headless geometry to the full app:
6//!
7//! | Module | Feature | Backing crate |
8//! |-------------|------------|----------------|
9//! | [`kernel`] | *(always)* | `BREP_kernel` |
10//! | [`gizmos`] | `gizmos` | `BREP_gizmos` |
11//! | [`render`] | `render` | `BREP_render` |
12//! | [`app`] | `app` | `BREP_app` |
13//!
14//! `full` turns everything on; `parallel` forwards to the kernel's rayon
15//! tessellation.
16//!
17//! ```toml
18//! BREP = "0.2" # kernel only
19//! BREP = { version = "0.2", features = ["render"] } # + the wgpu render engine
20//! BREP = { version = "0.2", features = ["full"] } # everything, incl. the eframe app
21//! ```
22//!
23//! ```no_run
24//! use brep::kernel; // always present
25//! # #[cfg(feature = "render")]
26//! use brep::render; // with `features = ["render"]`
27//! ```
28
29/// The BREP geometry kernel — always available.
30pub use brep_kernel as kernel;
31
32/// In-scene gizmos and overlay widgets. Enable the `gizmos` feature.
33#[cfg(feature = "gizmos")]
34pub use brep_gizmos as gizmos;
35
36/// The windowing-agnostic wgpu render/pick engine. Enable the `render` feature.
37#[cfg(feature = "render")]
38pub use brep_render as render;
39
40/// The eframe (egui + wgpu) CAD application. Enable the `app` feature.
41#[cfg(feature = "app")]
42pub use brep_app as app;