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 cam_sim;
22pub mod camera;
23pub mod color;
24pub mod constraint_overlays;
25pub mod controls;
26pub mod engine_state;
27pub mod feature_dimensions;
28pub mod features;
29pub mod face_transform_help;
30pub mod formatting;
31mod geometry2d;
32pub mod geometry3d;
33pub mod history;
34mod json_support;
35pub mod metadata;
36pub mod pick;
37pub mod pipeline;
38pub mod render;
39pub mod run_trace;
40pub mod runner;
41pub mod scene;
42pub mod sheets;
43pub mod sketch;
44pub mod sketch3d;
45pub mod style;
46pub mod thumbnail;
47pub mod visibility;
48pub mod view;
49pub mod widgets;
50
51// The wasm-bindgen browser API (attach/resize/events/camera/pick/scene-feed/
52// settings/world→screen) — the R3 seam the host UI programs against. wasm only;
53// its GPU wrapper needs a canvas/WebGPU context.
54#[cfg(target_arch = "wasm32")]
55pub mod engine;
56