BREP
Umbrella crate for the BREP CAD kernel family. One dependency that
re-exports the geometry kernel and, behind feature flags, the higher layers of
the stack — so downstream code says use brep::kernel::… / use brep::render::…
instead of depending on each sibling crate directly.
brep:: module |
Feature | Backing crate | Role |
|---|---|---|---|
kernel |
(always) | BREP_kernel |
The BREP geometry kernel (NURBS B-rep, booleans, tessellation). |
gizmos |
gizmos |
BREP_gizmos |
In-scene gizmos / overlay widgets (pure geometry + hit-testing). |
render |
render |
BREP_render |
Windowing-agnostic wgpu render/pick engine. |
app |
app |
BREP_app |
The eframe (egui + wgpu) CAD application. |
reconstruction |
reconstruction |
BREP_reconstruction |
RANSAC recognition-to-kernel reconstruction. |
The kernel is always re-exported; everything above it is opt-in so a headless
geometry consumer never compiles wgpu / eframe.
[]
= "0.4" # kernel only (headless)
= { = "0.4", = ["render"] } # + the wgpu render engine
= { = "0.4", = ["full"] } # app + render + gizmos
Additional features: reconstruction (opt-in recognition integration), full
(an alias for app, which also enables render and gizmos), and parallel
(forwards to the kernel's rayon-parallel tessellation). full does not enable
reconstruction or parallel; request those separately when needed.
Package vs. lib name: the crates.io package is
BREP; the Rust library isbrep(lowercase, lint-clean). This mirrors the whole family — packageBREP_render/ libbrep_render, etc. The publishing guide isBREP-dev-data/reference/PUBLISHING.md, in the private development submodule.
The manifest version is 0.5.0. All sibling dependencies have registry versions
as well as local paths. The optional reconstruction feature re-exports the
reconstruction library directly; rendering also consumes it transitively.
The facade publishes after its dependencies, including optional ones.
See the publishing guide, BREP-dev-data/reference/PUBLISHING.md (private submodule).