A Scenario groups three kinds of input for one simulation run:

  • scene is the physical world FastSim must build;
  • behavior is optional data for a control-source plugin;
  • evaluation is 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:

bash
python main.py

The program prints the unique Run ID, resolved plan digest, Scenario digest, and the two tutorial plugin contracts.

Code flow

python
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.

python
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.

python
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.

Next: 14 · Cancel a control operation.