Skip to content

Commit 335a05e

Browse files
committed
docs: Refresh skill backend guidance
Update skill references for current task locations. Document backend-specific sensor configs and the latest PhysX/Newton schema cfg classes. Avoid deprecated core schema shims in new guidance.
1 parent 056b53e commit 335a05e

7 files changed

Lines changed: 32 additions & 6 deletions

File tree

skills/README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,15 @@ Use these current import paths before searching for alternatives:
4949
| Simulation config | `from isaaclab.sim import SimulationCfg` |
5050
| PhysX physics config | `from isaaclab_physx.physics import PhysxCfg` |
5151
| Newton physics config | `from isaaclab_newton.physics import NewtonCfg` |
52-
| Contact sensor config | `from isaaclab.sensors import ContactSensorCfg` |
52+
| Base contact sensor config | `from isaaclab.sensors import ContactSensorCfg` |
53+
| PhysX contact sensor config | `from isaaclab_physx.sensors import ContactSensorCfg as PhysXContactSensorCfg` |
54+
| Newton contact sensor config | `from isaaclab_newton.sensors import ContactSensorCfg as NewtonContactSensorCfg` |
5355
| Ray caster config | `from isaaclab.sensors import RayCasterCfg` |
5456
| Tiled camera config | `from isaaclab.sensors import TiledCameraCfg` |
5557
| Implicit actuator config | `from isaaclab.actuators import ImplicitActuatorCfg` |
58+
| Core schema fragments and base cfgs | `from isaaclab.sim import schemas` |
59+
| PhysX schema cfgs | `from isaaclab_physx.sim import schemas as physx_schemas` |
60+
| Newton schema cfgs | `from isaaclab_newton.sim import schemas as newton_schemas` |
5661

5762
## Authoring Rules
5863

skills/user/migrate-2x-to-3x/supplemental-checks.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ Use these checks to route investigation, not as standalone migration docs:
1616
| `--headless` launch behavior changed | `docs/source/migration/migrating_to_isaaclab_3-0.rst` and `source/isaaclab/isaaclab/app/app_launcher.py` |
1717
| Camera examples require `--enable_cameras` by default | Current sensor, renderer, and visualization docs; do not add the flag unless the task or docs explicitly require it |
1818
| Backend-specific physics or schema cfgs | `docs/source/overview/core-concepts/multi_backend_architecture.rst` and `docs/source/overview/core-concepts/schema_cfgs.rst` |
19+
| Imports of PhysX/Newton schema cfgs from `isaaclab.sim.schemas` | Move backend-specific imports to `isaaclab_physx.sim.schemas` or `isaaclab_newton.sim.schemas`; core forwarding shims are deprecated |
20+
| Spawner schema overrides that need multiple namespaces in one slot | Prefer schema fragments such as `UsdPhysicsDriveCfg`, `PhysxJointCfg`, `NewtonCollisionCfg`, or `MujocoJointCfg` instead of forcing one legacy property cfg to carry every backend attribute |
1921
| Quaternion order changed from WXYZ to XYZW | `docs/source/migration/migrating_to_isaaclab_3-0.rst` and `scripts/tools/find_quaternions.py` |
2022
| Asset or sensor data no longer behaves like plain tensors | `ProxyArray` sections in `docs/source/migration/migrating_to_isaaclab_3-0.rst` |
2123
| `root_physx_view` or object API warnings | asset view sections in `docs/source/migration/migrating_to_isaaclab_3-0.rst` |
@@ -29,6 +31,12 @@ The external prototype migration skill called out useful search terms. Before us
2931
- `AdditiveUniformNoiseCfg`
3032
- `SimulationCfg.physics`
3133
- `PhysxCfg`
34+
- `isaaclab.sim.schemas`
35+
- `PhysxRigidBodyPropertiesCfg`
36+
- `NewtonCollisionPropertiesCfg`
37+
- `UsdPhysicsDriveCfg`
38+
- `PhysxJointCfg`
39+
- `MujocoJointCfg`
3240
- `asset.data.*.detach()`
3341
- `root_physx_view`
3442
- `get_published_pretrained_checkpoint`

skills/user/migrate-from-isaac-gym/reference.md

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,25 @@ Use this mapping as the default starting point:
2929

3030
Use PhysX as the first target when preserving Isaac Gym behavior, because Isaac Gym tasks were PhysX-based. Do not assume every PhysX parameter has a Newton equivalent.
3131

32-
Map backend parameters through the official schema docs:
32+
Map backend parameters through the official schema docs. Current spawner slots may accept either property cfg wrappers or schema-fragment lists. Use property cfg wrappers for the common single-cfg path, and use fragments when a slot must combine multiple USD namespaces such as universal USD physics plus PhysX, Newton, or MuJoCo attributes.
3333

3434
| Isaac Gym / PhysX concern | Isaac Lab PhysX target | Newton target |
3535
| --- | --- | --- |
3636
| Simulation-level PhysX settings | `PhysxCfg` on `SimulationCfg.physics` | `NewtonCfg` with a solver cfg such as `MJWarpSolverCfg` |
37-
| Rigid-body settings | `PhysxRigidBodyPropertiesCfg` or backend-portable `RigidBodyBaseCfg` | `NewtonRigidBodyPropertiesCfg` or `MujocoRigidBodyPropertiesCfg` when using the MuJoCo solver |
38-
| Collision settings | `PhysxCollisionPropertiesCfg` or `CollisionBaseCfg` | `NewtonCollisionPropertiesCfg` or `NewtonMeshCollisionPropertiesCfg` |
39-
| Joint-drive settings | `JointDriveBaseCfg` plus PhysX-specific classes when needed | `NewtonJointDrivePropertiesCfg` or `MujocoJointDrivePropertiesCfg` |
37+
| Rigid-body settings | `PhysxRigidBodyPropertiesCfg`, backend-portable `RigidBodyBaseCfg`, or fragments such as `UsdPhysicsRigidBodyCfg` plus `PhysxRigidBodyCfg` | `NewtonRigidBodyPropertiesCfg`, `MujocoRigidBodyPropertiesCfg`, or fragments such as `MujocoRigidBodyCfg` |
38+
| Collision settings | `PhysxCollisionPropertiesCfg`, `CollisionBaseCfg`, or fragments such as `UsdPhysicsCollisionCfg` plus `PhysxCollisionCfg` | `NewtonCollisionPropertiesCfg`, `NewtonMeshCollisionPropertiesCfg`, `NewtonSDFCollisionPropertiesCfg`, or fragments such as `NewtonCollisionCfg` |
39+
| Mesh cooking settings | `PhysxConvexHullPropertiesCfg`, `PhysxConvexDecompositionPropertiesCfg`, `PhysxTriangleMeshPropertiesCfg`, `PhysxTriangleMeshSimplificationPropertiesCfg`, or `PhysxSDFMeshPropertiesCfg` | `NewtonMeshCollisionPropertiesCfg` or `NewtonSDFCollisionPropertiesCfg` |
40+
| Joint-drive settings | `JointDriveBaseCfg` or fragments such as `UsdPhysicsDriveCfg` plus `PhysxJointCfg` | `NewtonJointDrivePropertiesCfg`, `MujocoJointDrivePropertiesCfg`, or fragments such as `MujocoJointCfg` |
4041
| Material settings | `PhysxRigidBodyMaterialCfg` or `RigidBodyMaterialBaseCfg` | `NewtonMaterialPropertiesCfg` |
4142

4243
For multi-backend tasks, use `PresetCfg` variants so the PhysX and Newton configs can differ cleanly. Keep backend-specific ranges, solver values, and unsupported options in separate presets.
4344

45+
Import backend schema classes from their backend packages, not through deprecated core shims:
46+
47+
- Core universal fragments/base cfgs: `from isaaclab.sim import schemas`
48+
- PhysX cfgs/fragments: `from isaaclab_physx.sim import schemas as physx_schemas`
49+
- Newton and MuJoCo cfgs/fragments: `from isaaclab_newton.sim import schemas as newton_schemas`
50+
4451
## Manager-Based Follow-Up Mapping
4552

4653
Only use this mapping when the user asks for manager-based organization or when the task needs reusable manager terms:

skills/user/select-backends/examples.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,4 @@ Repeat the same small smoke test on every backend before comparing training curv
4242
- Use Newton when the task specifically targets kit-less or Warp-native workflows.
4343
- Use backend presets for solver, contact, material, sensor, and renderer differences.
4444
- Do not copy PhysX parameters directly into Newton configs without checking schema docs.
45+
- For USD physics authoring, import backend schema cfgs from `isaaclab_physx.sim.schemas` or `isaaclab_newton.sim.schemas`. Use backend-specific property cfgs for simple spawner slots, and schema fragments such as `PhysxRigidBodyCfg`, `PhysxCollisionCfg`, `NewtonCollisionCfg`, or `MujocoJointCfg` when combining multiple USD namespaces in one slot.

skills/user/use-presets/reference.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ Good candidates:
1818
- Renderer settings, such as Isaac RTX, Newton Warp, or OVRTX renderers.
1919
- Camera data types, such as RGB, depth, albedo, or segmentation.
2020
- Backend-specific event or sensor configs.
21+
- Backend-specific schema cfg choices when PhysX, Newton, or MuJoCo require different USD physics attributes.
2122
- Domain variants where one task supports multiple authored modes.
2223

2324
## When Presets Are Unnecessary
@@ -79,3 +80,4 @@ For multi-backend tasks, keep backend-specific solver values in the preset wrapp
7980
- Selector names match existing conventions such as `physx`, `newton_mjwarp`, `newton_kamino`, `ovphysx`, `rgb`, and `depth`.
8081
- A small random-agent rollout succeeds for each variant.
8182
- Training commands include only preset names that the task exposes.
83+
- Backend-specific schema, sensor, or event variants are kept inside preset classes rather than hidden in scattered runtime conditionals.

skills/user/use-sensors-actuators/SKILL.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ Do not use this skill as a complete sensor or actuator catalog. Point to the API
2626
7. For contact-heavy tasks, verify body name patterns and history length.
2727
8. For ray-cast terrain perception, verify mesh paths and terrain import setup.
2828
9. For camera-based RL, start with small environment counts and confirm renderer memory behavior.
29-
10. For actuator changes, compare default joint names, limits, stiffness, damping, effort limits, and backend differences.
29+
10. For multi-backend contact, ray, frame, IMU, PVA, or joint-wrench sensors, check whether the task needs backend-specific sensor cfgs from `isaaclab_physx.sensors` or `isaaclab_newton.sensors` wrapped in `PresetCfg`.
30+
11. For actuator changes, compare default joint names, limits, stiffness, damping, effort limits, and backend differences.
3031

3132
## Validation
3233

skills/user/use-sensors-actuators/examples.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ Examples to inspect:
99
- `source/isaaclab_tasks/isaaclab_tasks/contrib/anymal_c_direct/anymal_c_env_cfg.py`
1010
- `source/isaaclab_tasks/isaaclab_tasks/core/velocity/velocity_env_cfg.py`
1111

12+
For multi-backend tasks, follow the `VelocityEnvContactSensorCfg` pattern: wrap PhysX, Newton, and OvPhysX contact sensor configs in a `PresetCfg` instead of assuming the base contact sensor cfg works identically on every backend.
13+
1214
Validation checklist:
1315

1416
- Body name patterns match the asset.

0 commit comments

Comments
 (0)