Expand description
brep-app — engine-native UI spike (an eframe host for the brep-render engine).
The same app::BrepApp runs on native (main.rs → run_native) and on
the web (start below → eframe::WebRunner), sharing one wgpu frame with
egui. Additive spike: it does NOT touch the previous app or the render wasm build.
Modules§
- app
BrepApp— the THIN shell of the engine-native UI.- fonts
- Font setup — a MONOSPACE UI font with broad symbol coverage.
- form
- The generic, schema-driven egui form engine — ONE per-field renderer for BOTH the display-settings dialog AND the schema-driven feature dialogs (the user’s principle: the structure of a thing drives the UI; you don’t rewrite UI code per field, and you don’t write two dialog engines).
- palette
- A generic, reusable searchable command-palette modal — engine-agnostic.
- panels
- The left-control-panel modules — one file per panel, each following ONE pattern so parallel agents can add a new panel with minimal conflict:
- store
- The storage / filesystem seam — the ONE platform exception in the
engine-native UI (see
engine-native-ui-design.md). Everything else in the UI is platform-agnostic egui; only persistence differs by platform, so it goes through this trait with two#[cfg]-gated impls: - viewport
- The 3D viewport — everything that draws + drives the central
brep-renderscene, split out of the thin app shell.