Named subsystem map
Names the product subsystems, assigns their responsibilities, and proposes their Rust crate or package boundaries.
Section relationships
Names are deliberately descriptive. No subsystem uses a private codename.
| Product subsystem | Ownership | Proposed crate or package name |
|---|---|---|
| Project Workspace | Project files, references, configuration, and save/load lifecycle | beforemetal-workspace |
| Model Registry | Canonical model IR, units, frames, entities, topology, and provenance | beforemetal-model |
| Asset Pipeline | Import, export, normalization, conversion reports, and compiled assets | beforemetal-assets |
| Scenario Compiler | Validation, capability negotiation, schedule construction, and compilation | beforemetal-compiler |
| Simulation Kernel | Authoritative time, events, execution order, checkpoints, and coupling | beforemetal-kernel |
| Mechanics System | Rigid and articulated mechanics backend contract, dynamic-analysis queries, and Rust-native default backend; Rapier is the current candidate | beforemetal-mechanics |
| Environment System | Gravity, atmosphere, terrain, wind, precipitation, and surface state | beforemetal-environment |
| Material System | Engineering material properties, surface interactions, provenance, and validity | beforemetal-materials |
| Device and Power System | Actuators, transmissions, batteries, power buses, thermal nodes, and faults | beforemetal-devices |
| Circuit System | Lumped electrical networks and the contract for optional SPICE-grade analysis | beforemetal-circuits |
| Thermal System | Lumped temperature and heat-flow networks and detailed thermal-solver contracts | beforemetal-thermal |
| Sensor System | Truth sampling, transduction, noise, timing, degradation, and delivery | beforemetal-sensors |
| Rendering System | View rendering and synthetic optical or depth sensor generation without owning simulation truth | beforemetal-render |
| Controller Host | Native Rust controllers and optional sandboxed/external controller adapters | beforemetal-control |
| Experiment Orchestrator | Runs, runtime-action plans, sweeps, randomization, optimization hooks, progress, and metrics | beforemetal-experiment |
| Result Store | Manifests, traces, snapshots, input re-execution, state playback, exports, and comparisons | beforemetal-data |
| Validation System | Benchmarks, user-authored simulation tests, calibration diagnostics, linearization, convergence, uncertainty, and fidelity cards | beforemetal-validation |
| Editor and Viewer | Authoring, inspection, visualization, plots, diagnostics, and playback | beforemetal-ui |
| Integration Gateway | ROS 2, Gymnasium, FMI, HIL, and external solver process adapters | beforemetal-gateway |
| Extension Host | Built-in Rust, Wasm, and out-of-process plugin lifecycle and permissions | beforemetal-extensions |
| Structural Analysis System | Future deformable bodies, stress, strain, damage, and FEA backend contracts | beforemetal-structures |
| Fluid Analysis System | Future aerodynamic, hydrodynamic, and CFD field or solver contracts | beforemetal-fluids |
| Firmware Execution System | Optional virtual CPU, peripheral, bus, and firmware-emulator coordination | beforemetal-firmware |
Change rationale (v0.4 analysis and regression ownership): Runtime-action plans belong to the Experiment Orchestrator and are committed against a live world instance by the Simulation Kernel; backend-neutral dynamics queries remain Mechanics System responsibilities; and user-authored regression and derived analysis evidence belong to the Validation System. This assigns the new Beta contracts to existing subsystem boundaries rather than inventing a competing analysis or test subsystem.
Generated from the canonical specification. Edit section metadata or prose in docs/requirements.md; the website rebuilds this page and its relationships automatically.