Expand description
Shared eframe application for native windows and WebAssembly canvases.
app::BrepApp hosts the renderer and egui in one wgpu frame.
Modules§
- app
BrepApp— the THIN shell of the engine-native UI.- automation
- The automation layer — the one command channel the app exposes to a host
(
brep-mcpheadless / window, or a dial-in adapter). Design record:docs/developer/mcp-automation-build-spec.md§3–§6 and Appendix A. - column_
tree - A tree table with resizable, reorderable, hideable, sortable columns.
- diagnostics
- What this build is running on — the ONE record of it.
- document
- Open documents and their active tab. Each document owns an engine, store
identity, and clean baseline for dirty tracking. Keeping engine access on
Documentsallows separate mutable borrows of other app fields. - fonts
- Font setup — the OS’s default monospace font for all text.
- 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).
- form_
view - Schema-driven form layout built on
form::field_input. - icon_
text IconText— a label that draws catalogued characters as real SVG images, inline with the surrounding text.- icons
- The inline-icon catalog: every
assets/glyphs/*.svgas SVG source, keyed by the character it draws. - logger
- The native binary’s
logsink (main.rs):RUST_LOGto stderr. Replacesenv_logger; the wasm build logs through the browser console instead. The native binary’slogsink:RUST_LOG-filtered lines to stderr. - mcp
- The embedded MCP server (
brep-app --mcp); native builds withmcp. The embedded MCP server —brep-app --mcp. - 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:
- recovery
- Autosave unsaved documents under
RECOVERY_KEYfor recovery at next boot. - store
- The persistent-storage / filesystem seam — the ONE platform exception in
the engine-native UI. Settings, dock layout, and model documents all use the
same
ModelStore::read/ModelStore::writeAPI. Only its backend differs: desktop writes files; the browser mirrors an ASYNC, swappable [mirror_store::StoreBackend] — IndexedDB today, a remote server next — into memory and writes behind it, which is what keeps this whole API synchronous. - viewport
- The 3D viewport — everything that draws + drives the central
brep-renderscene, split out of the thin app shell. - workbench
- Per-file WORKBENCH registry — a UI FILTER over feature-CREATION.