User workflow requirements
Defines the end-to-end activities users perform to author, inspect, run, compare, calibrate, and integrate simulations.
Section relationships
| ID | Name | Priority | Requirement | Verification |
|---|---|---|---|---|
| FLOW-001 | Project lifecycle | MVP | A user SHALL be able to create, open, save, duplicate, and archive a BeforeMetal project. | Demonstration |
| FLOW-002 | Robot definition | MVP | A user SHALL be able to define a robot from bodies, joints, materials, devices, sensors, and controller interfaces. | Demonstration |
| FLOW-003 | World definition | MVP | A user SHALL be able to define terrain, obstacles, gravity, atmosphere, wind, precipitation, and surface conditions. | Demonstration |
| FLOW-004 | Experiment definition | MVP | A user SHALL be able to select a scenario and controller and define parameter values, seeds, stop conditions, metrics, fidelity settings, and execution mode. | Demonstration |
| FLOW-005 | Preflight compilation | MVP | A user SHALL be able to compile and inspect an experiment before consuming simulation time. | Demonstration |
| FLOW-006 | Interactive controls | MVP | A user SHALL be able to run, pause, single-step, reset, stop, and change playback speed. | Demonstration |
| FLOW-007 | Headless execution | MVP | A user SHALL be able to perform the same committed run through a command-line interface. | Test |
| FLOW-008 | Design comparison | MVP | A user SHALL be able to compare at least two robot or scenario variants using the same mission, metrics, and seeds. | Demonstration |
| FLOW-009 | Parameter sweep | MVP | A user SHALL be able to execute a finite sweep over named design and environment parameters. | Demonstration |
| FLOW-010 | Input re-execution | MVP | A user SHALL be able to request input re-execution when the run manifest declares it supported and SHALL receive the declared comparator result rather than an unqualified claim of exactness. | Test |
| FLOW-011 | Result export | MVP | A user SHALL be able to export metrics and time-series data in documented open formats. | Test |
| FLOW-012 | Diagnostic drill-down | MVP | A user SHALL be able to navigate from a compile or runtime diagnostic to the responsible entity and property. | Demonstration |
| FLOW-013 | Model calibration | Beta | A user SHALL be able to fit selected model parameters against imported measurement data while preserving the calibration dataset and method. | Demonstration |
| FLOW-014 | Controller portability | Beta | A user SHALL be able to run the same controller contract against simulation and an integration adapter without changing controller semantics. | Demonstration |
| FLOW-015 | Hardware-in-the-loop session | External | A user SHALL be able to execute an explicitly armed, wall-clock-paced session with supported physical controller hardware. | Demonstration |
| FLOW-016 | Viewport camera navigation | MVP | A user SHALL be able to control the viewport camera pose in three-dimensional space to inspect robot and world geometry from different positions and viewing angles. | Demonstration |
| FLOW-017 | Recorded-state timeline navigation | MVP | A user SHALL be able to seek backward and forward within a run's recorded virtual-time range and start Recorded-State Playback from a selected recorded timestamp. | Demonstration |
| FLOW-018 | Robot bring-up workflow | Beta | A user SHALL be able to assess an imported or authored robot for simulation readiness and navigate each finding to the responsible entity, property, connection, or required capability. | Demonstration |
| FLOW-019 | Synthetic-data workflow | Beta | A user SHALL be able to configure, preview, execute, and export a headless synthetic-data capture using declared truth products, sensor products, labels, randomization, seeds, and output schema. | Demonstration |
| FLOW-020 | Motion-planning workflow | Beta | A user SHALL be able to submit a frame-aware motion-planning request, inspect its constraints and diagnostics, review the returned trajectory, and explicitly validate it against the compiled scenario before execution. | Demonstration |
| FLOW-021 | Simulation regression workflow | Beta | A user SHALL be able to define, execute headlessly, and inspect a repeatable simulation regression suite whose cases identify their scenario, controller, scheduled inputs, assertions, execution bounds, and expected outcomes. | Demonstration |
Change rationale (FLOW-016): UI-003 requires a three-dimensional viewport to display geometry, but display alone does not guarantee user-controlled camera movement. FLOW-016 makes interactive spatial inspection explicit.
Change rationale (FLOW-017): FLOW-006 and UI-006 require generic playback controls, but neither guarantees bidirectional navigation through recorded simulation time or playback from a user-selected timestamp. FLOW-017 makes that user workflow explicit while leaving backend-separation behavior to UI-020 as an independently verifiable obligation.
Change rationale (FLOW-018–FLOW-020): General robotics work needs explicit workflows for bringing a model to an executable state, producing traceable synthetic datasets, and evaluating motion plans. These workflows make the user outcomes visible without committing the portable core to ROS, a specific planner, or a particular dataset storage format.
Change rationale (FLOW-021): Internal release CI does not give product users a way to turn their own robot, controller, and mission expectations into repeatable simulation tests. This workflow makes that Beta user outcome explicit while leaving case schemas, execution, and machine interfaces to their owning subsystems.
Generated from the canonical specification. Edit section metadata or prose in docs/requirements.md; the website rebuilds this page and its relationships automatically.