Proposal
Make scripts/demos/procedural_terrain.py --color_scheme height --physics newton_mjwarp run without requiring a robot, joint, or dummy body.
Motivation
The procedural terrain demo is a static terrain inspection scene. It creates a generated terrain mesh and steps the simulator, but it does not spawn any articulation or jointed body.
Current failure:
./isaaclab.sh -p scripts/demos/procedural_terrain.py --color_scheme height --physics newton_mjwarp
Newton builds/finalizes the model, then MJWarp solver setup fails:
ValueError: The model must have at least one joint to be able to convert it to MuJoCo.
Failure path:
sim.reset()
-> NewtonManager.initialize_solver()
-> NewtonMJWarpManager._build_solver()
-> SolverMuJoCo(...)
-> _convert_to_mjc()
Root cause: MJWarp currently assumes the Newton model has at least one joint. Terrain-only scenes are valid for visualization and static scene inspection, but they have no joints.
Build Info
Acceptance Criteria
Proposal
Make
scripts/demos/procedural_terrain.py --color_scheme height --physics newton_mjwarprun without requiring a robot, joint, or dummy body.Motivation
The procedural terrain demo is a static terrain inspection scene. It creates a generated terrain mesh and steps the simulator, but it does not spawn any articulation or jointed body.
Current failure:
Newton builds/finalizes the model, then MJWarp solver setup fails:
Failure path:
Root cause: MJWarp currently assumes the Newton model has at least one joint. Terrain-only scenes are valid for visualization and static scene inspection, but they have no joints.
Build Info
Acceptance Criteria
Setup complete.