BREP 0.3.1

BREP — umbrella crate for the BREP CAD kernel family: re-exports the geometry kernel (always) plus the gizmos, wgpu render engine, and eframe application behind feature flags.
Documentation

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.

[dependencies]
BREP = "0.3"                                      # kernel only (headless)
BREP = { version = "0.3", features = ["render"] } # + the wgpu render engine
BREP = { version = "0.3", features = ["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 is brep (lowercase, lint-clean). This mirrors the whole family — package BREP_render / lib brep_render, etc. See PUBLISHING.md.

The package is versioned at 0.3.0, prepared for release; 0.2.0 is the version currently live on crates.io. Every dependency — including the optional reconstruction one, which used to be path-only and therefore made this crate impossible to package at all — now carries a registry version beside its path, and every crate it names is publishable. The facade is published LAST, because an optional dependency still has to resolve on the registry at publish time. See PUBLISHING.md for the order.