A Scenario groups three kinds of input for one simulation run:
sceneis the physical world FastSim must build;behavioris optional data for a control-source plugin;evaluationis optional data for an evaluator plugin.
FastSim understands and loads scene. It preserves behavior and evaluation
as immutable configuration, but does not assign task semantics to them. Their
schemas belong to the plugins that consume them.
Prerequisites
- Python 3.11
- FastSim
0.1.0a6 - UniRoboSim Core
0.10.0 - UniRoboSim Isaac Lab adapter
0.10.1 - Isaac Lab 3.0 / Isaac Sim 6.0
Run:
python main.py
The program prints the unique Run ID, resolved plan digest, Scenario digest, and the two tutorial plugin contracts.
Code flow
scenario = simulation.scenario
Returns an immutable view frozen during configuration compilation. A plugin or application can read it, but cannot change the world behind FastSim's back.
info = await simulation.run_info()
Returns the live Run identity: run_id, Run name, selected backend, and plan
digest. Logs and output manifests can use these fields to identify exactly
which simulation produced a result.
scenario.behavior['plugin_custom_test']
scenario.evaluation['plugin_custom_test']
Reads plugin-owned configuration without making FastSim responsible for actions such as grasping, navigation, or scoring.
Verification level
Validated on real visible Isaac Lab: Scenario compilation, world startup, immutable Scenario projection, and Run identity query.