Support Matrix¶
This matrix is generated conceptually from registry entries, owner YAMLs, and
tests. The generator implementation is scripts/tools/support_matrix.py; the
generated block is maintained on the Chinese reference page and mirrored here
in English. Do not infer support beyond the evidence grade shown below.
Backend Selection Rules¶
The default backend is
mujoco.Switch to Motrix with
--sim motrixon the unified CLI.Switch to IsaacSim with
--sim isaacsimon the unified CLI. IsaacSim runs headless physics in an external Python 3.11 worker; its owner scope is currently limited to the configured G1 walk-flat PPO/SAC paths.--sim mjwarphas completed training validation only on theg1_walk_flathost adapter, where PPO (torch) and SAC (torch) are Tested; other entrypoints follow the matrix below, and using it requires installing themjwarpextra.--algo,--task, and--simjointly select the owner YAML.Do not treat
training.sim_backendas a standalone backend switch.
Playback Differences¶
mujoco:--render-mode autoexportsplay_video.mp4.motrix:--render-mode autoopens an interactive renderer window; it does not record a video and is not bound byplay_steps.mjwarp: supports explicit, finite-steprecordby default, rendered offline through the task owner’s MuJoCo visual model;--render-mode interactiveroutes to the MuJoCo interactive viewer (mjwarp runs the physics while MuJoCo renders env[0], forced to a single env);autoand native renderers are not supported.isaacsim: headless physics only. Interactive GUI, camera capture, native playback, and video recording are fail-closed for the current IsaacSim 5.1 / IsaacLab v2.3.0 worker profile.--render-mode record: MuJoCo, mjwarp, and Motrix all record a video only.--render-mode none: no playback.
Evidence Grades¶
Grade |
Repository Evidence |
|---|---|
|
The env/backend pair exists in |
|
A matching owner YAML exists under |
|
Automated tests under |
|
A checked-in benchmark manifest exists for the combination. |
|
Explicit recommendation metadata exists in the repo. |
Tested only describes existing automated coverage or explicit maintainer
training validation; it does not imply the combination has all the backend
capabilities of the same-named MuJoCo owner. For example, a phase-1 Motrix
owner may only cover training smoke and an explicitly enabled DR subset.
mjwarp has completed training validation only on the g1_walk_flat host
adapter: the PPO (torch) and SAC (torch) owners have completed training
validation and have backend, contract, and playback automated coverage, so
they are marked Tested. mjwarp playback
supports explicit, finite-step record and reuses the MuJoCo offline
renderer; uv run eval --sim mjwarp --render-mode interactive routes to the
MuJoCo interactive viewer (mjwarp physics, MuJoCo rendering of env[0], forced
single env); it does not support auto or native playback. A
Registered mark on other entrypoints only denotes env/backend registry
identity, not support for the corresponding algorithm, terrain, full DR, or
production training.
No checked-in benchmark manifest bound to these combinations has been detected,
so rows do not auto-promote to Benchmarked. There is also no separate
recommendation metadata in the repo, so rows do not auto-promote to
Recommended.
isaacsim is a Python 3.11 subprocess backend. Its bounded materialization
and headless-physics smoke evidence is intentionally not promoted to Tested:
the G1 PPO/SAC cells below are Configured, while APPO/TD3/FlashSAC remain
Registered. Do not label these cells Tested until a maintainer records full
training evidence. Contact-force sensors, domain randomization, and all native
rendering/playback paths remain unsupported.
Entrypoint x Task Owner¶
Entrypoint |
Task owner |
MuJoCo |
mjwarp |
Motrix |
IsaacGym |
IsaacSim |
|---|---|---|---|---|---|---|
PPO (torch) |
|
Tested |
- |
Tested |
- |
- |
PPO (torch) |
|
Tested |
- |
Tested |
- |
- |
PPO (torch) |
|
Tested |
- |
Tested |
- |
- |
PPO (torch) |
|
Tested |
Tested |
Tested |
Configured |
Configured |
PPO (torch) |
|
Tested |
- |
Tested |
- |
- |
PPO (torch) |
|
Tested |
- |
Tested |
- |
- |
PPO (torch) |
|
Tested |
- |
Tested |
- |
- |
PPO (torch) |
|
Tested |
- |
Tested |
- |
- |
PPO (torch) |
|
Tested |
- |
Tested |
- |
- |
PPO (torch) |
|
Tested |
- |
- |
- |
- |
PPO (torch) |
|
Tested |
- |
Tested |
- |
- |
PPO (torch) |
|
Tested |
- |
Tested |
- |
- |
PPO (torch) |
|
Tested |
- |
Tested |
- |
- |
PPO (torch) |
|
Tested |
- |
Tested |
- |
- |
PPO (torch) |
|
Tested |
- |
Tested |
- |
- |
PPO (torch) |
|
Tested |
- |
Tested |
- |
- |
PPO (torch) |
|
Tested |
- |
Tested |
- |
- |
PPO (torch) |
|
Tested |
- |
Registered |
- |
- |
PPO (torch) |
|
Tested |
- |
Tested |
- |
- |
PPO (torch) |
|
Tested |
- |
Tested |
- |
- |
PPO (torch) |
|
Tested |
- |
Tested |
- |
- |
PPO (torch) |
|
Tested |
- |
Tested |
- |
- |
PPO (torch) |
|
Tested |
- |
Tested |
- |
- |
PPO (torch) |
|
Tested |
- |
Tested |
- |
- |
PPO (torch) |
|
Tested |
- |
Tested |
- |
- |
PPO (torch) |
|
Tested |
- |
Tested |
- |
- |
PPO (torch) |
|
Tested |
- |
Tested |
- |
- |
APPO (torch) |
|
Tested |
- |
Tested |
- |
- |
APPO (torch) |
|
Tested |
- |
Tested |
- |
- |
APPO (torch) |
|
Tested |
Registered |
Registered |
Registered |
Registered |
APPO (torch) |
|
Tested |
- |
Tested |
- |
- |
APPO (torch) |
|
Tested |
- |
Tested |
- |
- |
APPO (torch) |
|
Tested |
- |
Tested |
- |
- |
APPO (torch) |
|
Tested |
- |
Tested |
- |
- |
APPO (torch) |
|
Tested |
- |
Tested |
- |
- |
APPO (torch) |
|
Tested |
- |
Tested |
- |
- |
APPO (torch) |
|
Tested |
- |
Tested |
- |
- |
APPO (torch) |
|
Tested |
- |
Registered |
- |
- |
APPO (torch) |
|
Tested |
- |
Tested |
- |
- |
APPO (torch) |
|
Tested |
- |
Tested |
- |
- |
SAC (torch) |
|
Tested |
Tested |
Tested |
Tested |
Configured |
SAC (torch) |
|
Tested |
- |
Tested |
- |
- |
SAC (torch) |
|
Tested |
Configured |
Tested |
- |
- |
SAC (torch) |
|
Tested |
- |
Registered |
- |
- |
SAC (torch) |
|
Tested |
- |
Registered |
- |
- |
SAC (torch) |
|
Tested |
- |
Registered |
- |
- |
SAC (torch) |
|
Tested |
- |
Tested |
- |
- |
SAC (torch) |
|
Tested |
- |
Tested |
- |
- |
SAC (torch) |
|
Tested |
- |
Tested |
- |
- |
SAC (torch) |
|
Tested |
- |
Registered |
- |
- |
SAC (torch) |
|
Tested |
- |
Registered |
- |
- |
SAC (torch) |
|
Tested |
- |
Registered |
- |
- |
TD3 (torch) |
|
Registered |
- |
Tested |
- |
- |
TD3 (torch) |
|
Registered |
- |
Tested |
- |
- |
TD3 (torch) |
|
Tested |
Registered |
Registered |
Registered |
Registered |
TD3 (torch) |
|
Tested |
- |
Registered |
- |
- |
FlashSAC (torch) |
|
Tested |
- |
Registered |
- |
- |
FlashSAC (torch) |
|
Tested |
Configured |
Tested |
Registered |
Registered |
FlashSAC (torch) |
|
Tested |
- |
Tested |
- |
- |
Source Index¶
Registry bootstrap:
src/unilab/envs/**decorators viaunilab.base.registry.ensure_registries().Owner YAML scan:
src/unilab/conf/ppo/task/**,src/unilab/conf/appo/task/**,src/unilab/conf/sac/task/**,src/unilab/conf/td3/task/**,src/unilab/conf/flashsac/task/**.Generic compose coverage:
tests/config/test_config_system.py::test_supported_task_composes.Validated mjwarp entrypoints are explicitly recorded in
_MAINTAINER_VALIDATED_MJWARP_ENTRYPOINT_TASKS; near-risk coverage lives intests/base/test_mjwarp_backend.py,tests/base/test_backend_conformance.py,tests/base/test_mjwarp_differential.py, andtests/base/test_mjwarp_playback.py.Validated IsaacGym entrypoints are explicitly recorded in
_MAINTAINER_VALIDATED_ISAACGYM_ENTRYPOINT_TASKS(real hardware through the external Python 3.8 worker runtime; not covered by repository CI).IsaacSim owner scope is intentionally not promoted to
Tested;_MAINTAINER_VALIDATED_ISAACSIM_ENTRYPOINT_TASKSremains empty until a maintainer records full training evidence.