Skip to main content

Crate brep_app

Crate brep_app 

Source
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-mcp headless / 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 Documents allows 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/*.svg as SVG source, keyed by the character it draws.
logger
The native binary’s log sink (main.rs): RUST_LOG to stderr. Replaces env_logger; the wasm build logs through the browser console instead. The native binary’s log sink: RUST_LOG-filtered lines to stderr.
mcp
The embedded MCP server (brep-app --mcp); native builds with mcp. 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_KEY for 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::write API. 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-render scene, split out of the thin app shell.
workbench
Per-file WORKBENCH registry — a UI FILTER over feature-CREATION.