Skip to main content

brep_render/
lib.rs

1//! Rendering, picking, and sketch editing for native and WebAssembly hosts.
2//!
3//! [`scene`] stores named geometry, [`pipeline`] evaluates feature histories,
4//! and [`render`] draws into a host-provided texture view. Cameras, picking,
5//! sketch state, and display settings are shared across presentation targets.
6
7// `RenderSettings::to_json` is one `json!` literal over every setting, and
8// `json_internal!` recurses once per key — the default 128 stops short of the
9// full settings object.
10#![recursion_limit = "512"]
11
12// Re-export the kernel crate so downstream shells (e.g. `brep-app`'s wasm
13// `WorkerRunner`) can name the run-boundary types the `runner::HistoryRunner`
14// trait exposes (`brep_kernel::HistoryRequest`, …) WITHOUT taking their own
15// direct path dependency — which would have to mirror this crate's kernel
16// feature split (`default-features = false` / native `parallel`) or feature
17// unification bites. One canonical instance, reached as `brep_render::brep_kernel`.
18pub use brep_kernel;
19
20pub mod assembly_status;
21pub mod camera;
22pub mod color;
23pub mod constraint_overlays;
24pub mod controls;
25pub mod engine_state;
26pub mod feature_dimensions;
27pub mod features;
28pub mod formatting;
29mod geometry2d;
30mod geometry3d;
31pub mod history;
32mod json_support;
33pub mod metadata;
34pub mod pick;
35pub mod pipeline;
36pub mod render;
37pub mod runner;
38pub mod scene;
39pub mod sketch;
40pub mod style;
41pub mod visibility;
42pub mod view;
43pub mod widgets;
44
45// The wasm-bindgen browser API (attach/resize/events/camera/pick/scene-feed/
46// settings/world→screen) — the R3 seam the host UI programs against. wasm only;
47// its GPU wrapper needs a canvas/WebGPU context.
48#[cfg(target_arch = "wasm32")]
49pub mod engine;
50
51// BREP private tests: 47e523882291b774