CLI Launch

fastsim is the command-line entry point for launching simulations, validating configs, inspecting scenes, and analyzing recordings. Supports YAML, JSON, and .sim config formats.

bash
fastsim <command> [--arg value ...]
fastsim --help
fastsim <command> --help

Command Groups

Commands are organized into four groups (matching the TUI sidebar layout):

Simulation

launch_simulation

Start a simulation. All extensions declared in the config are automatically enabled.

bash
fastsim launch_simulation --config path/to/config.yaml

# Use .sim format
fastsim launch_simulation --config path/to/config.sim

# Override config fields
fastsim launch_simulation --config path/to/config.yaml --set simulation.dt=0.01

# Disable status monitor
fastsim launch_simulation --config path/to/config.yaml --monitor no
ParameterDescription
--configConfig file path (YAML / JSON / .sim)
--setOverride config fields (key.path=value), can be used multiple times
--monitorEnable TUI status monitor panel (default: yes)

Task execution has moved to the task_executor extension. Enable it in your config instead of using CLI flags.


Config Tools

validate_configuration

Validate config file with formatted table output showing per-field status (pass/warn/error), grouped by config block.

bash
fastsim validate_configuration --config path/to/config.yaml

show_config

Expand and print the full config with all defaults and inherited fields.

bash
fastsim show_config --config path/to/config.yaml

diff_config

Compare two config files showing modifications, additions, and removals in table format. Resolves FROM inheritance before diffing.

bash
fastsim diff_config config_a.yaml config_b.yaml

inspect_scene

Inspect scene entities (robots, objects, sensors, lights) in a config file. Shows stereotype, asset path, position, and other key fields per entity.

bash
fastsim inspect_scene --config path/to/config.yaml

inspect_task

Inspect task details: action sequence (type, target, arm) and goal list.

bash
fastsim inspect_task --config path/to/config.yaml

inspect_extension

Inspect extensions: lists all enabled extension instances and their parameters (observers, recorder config, etc.).

bash
fastsim inspect_extension --config path/to/config.yaml

Recording

inspect_recording

Inspect and validate a recording directory or HDF5 file. Shows observer groups, frame counts, data types, file sizes, and detects missing/incomplete frames.

bash
fastsim inspect_recording --recording_path path/to/recording/
fastsim inspect_recording --recording_path path/to/record.h5
fastsim inspect_recording --recording_path path/to/record.h5 --frame 10
ParameterDescription
--recording_pathRecording directory or .h5 file path
--framePreview a specific frame index (optional)

plot_trajectory

Plot trajectory data from HDF5 recordings in the terminal (using plotext). Supports presets and custom column/time range filtering.

bash
fastsim plot_trajectory --query "record.h5 joint_pos"
fastsim plot_trajectory --query "record.h5 ee_pos @Franka cols:0,1,2 t:2-5"
ParameterDescription
--query<h5_file> [preset] [@observer] [cols:0,1,2] [t:start-end]

Built-in presets: joint_pos, joint_vel, joint_acc, joint_target, ee_pos, ee_quat, ee_euler, obj_pos, obj_rot, gripper


Registry

show_registery

Print all registered stereotypes (Config and Model class mappings).

bash
fastsim show_registery

show_static_api

Print all HTTP routes registered via @apiclass.

bash
fastsim show_static_api

show_stereotype_params

Print all configurable fields and defaults for a given stereotype.

bash
fastsim show_stereotype_params --stereotype_name camera

Typical Workflow

bash
# 1. Validate config
fastsim validate_configuration --config my_config.yaml

# 2. Inspect scene and task details
fastsim inspect_scene --config my_config.yaml
fastsim inspect_task --config my_config.yaml

# 3. Compare configs
fastsim diff_config base.yaml override.yaml

# 4. Launch simulation
fastsim launch_simulation --config my_config.yaml

# 5. Analyze recordings
fastsim inspect_recording --recording_path output/run001/
fastsim plot_trajectory --query "output/run001/record.h5 joint_pos"