Skip to content

feat(schemas): mass schema-fragment API (additive) - #6

Closed
vidurv-nvidia wants to merge 8 commits into
vidurv/schema-frag-frameworkfrom
vidurv/schema-frag-mass
Closed

feat(schemas): mass schema-fragment API (additive)#6
vidurv-nvidia wants to merge 8 commits into
vidurv/schema-frag-frameworkfrom
vidurv/schema-frag-mass

Conversation

@vidurv-nvidia

@vidurv-nvidia vidurv-nvidia commented Jun 5, 2026

Copy link
Copy Markdown
Owner

Description

Additive mass fragment family (pure UsdPhysics, no backend split)

  • core: MassFragment, MassCfg (physics:mass/density), apply_mass_properties (anchor MassAPI)
  • legacy MassPropertiesCfg kept as canonical (not deprecated); MassCfg added alongside.
  • spawner mass_props accepts a fragment list + bridge.

Status: authored, ruff + pre-commit clean. Not yet Isaac-Sim verified (CI pending). Stacked on the rigid-body framework branch.

Fixes # (N/A — part of the staged physics schema-fragment refactor; no tracked public issue)

Type of change

  • New feature (non-breaking change which adds functionality)

Screenshots

N/A — no user-facing visual changes.

Checklist

  • I have read and understood the contribution guidelines
  • I have run the pre-commit checks (ruff + ruff-format) on the changed files
  • I have made corresponding changes to the documentation (the public API reference is auto-generated via ./isaaclab.sh -d; not separately authored)
  • My changes generate no new warnings
  • I have added tests that prove my feature works
  • I have added a changelog fragment under source/<pkg>/changelog.d/ for every touched package
  • I have added my name to CONTRIBUTORS.md

huidongc and others added 8 commits June 24, 2026 09:18
…`` (isaac-sim#6242)

# Description

Fixed the `newton[sim]` dependency pin to use Newton commit
`79e95bf5571d70a0a46c8eaedc80644531d27368`, including the
`RenderContext` triangle-mesh construction fix from
[newton-physics/newton#3199](newton-physics/newton#3199).


## Type of change

- Bug fix (non-breaking change which fixes an issue)

## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
Bumped packages:
- isaaclab: 7.0.5 → 7.1.0
- isaaclab_newton: 1.0.4 → 1.1.0
- isaaclab_ov: 0.4.6 → 0.5.0
- isaaclab_physx: 2.0.2 → 2.1.0
- isaaclab_tasks: 8.0.4 → 8.0.5
- isaaclab_visualizers: 1.0.1 → 1.0.2
…cartpole, dexsuite_kuka, and shadow_hand with test coverage (isaac-sim#6101)

# Description

Add distance_to_camera and distance_to_image_plane camera presets to
cartpole, dexsuite_kuka, and shadow_hand with test coverage.

## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
…isaac-sim#6238)

# Description

Add ISAAC_LAB_ENABLE_ISAAC_RTX_PER_ENV_SCENE_PARTITION environment
variable to opt in to authoring primvars:omni:scenePartition and
omni:scenePartition on the USD stage. Previously this was always on; now
it is off by default. This is to address an OOM in one of our IsaacSim
RTX benchmark suites related to primvar inheritance of the scene
partition attributes while the root cause/fix is under investigation.

## Testing

We have a separate issue which only visualizes env_0 in kit when scene
partitioning is enabled... so I tested with:
```bash
./isaaclab.sh train --rl_library rsl_rl \
    --task Isaac-Lift-KukaAllegro-Camera \
    presets=newton_mjwarp,isaacsim_rtx_renderer,rgb64,single_camera \
    --seed 42 \
    --num_envs 4 \
    --max_iterations 1000 \
    --visualizer kit
```
... and it shows all the envs - checked all the env Xforms and camera
and they don't have the scenePartition attribute/primvars:
<img width="3813" height="2072" alt="image"
src="https://github.com/user-attachments/assets/ea22b566-db95-498b-aa5d-445c1c2b0c8b"
/>

Conversely, tested with the environment variable enabled:
```bash
ISAAC_LAB_ENABLE_ISAAC_RTX_PER_ENV_SCENE_PARTITION=1 ./isaaclab.sh train --rl_library rsl_rl \
    --task Isaac-Lift-KukaAllegro-Camera \
    presets=newton_mjwarp,isaacsim_rtx_renderer,rgb64,single_camera \
    --seed 42 \
    --num_envs 4 \
    --max_iterations 1000 \
    --visualizer kit
```

And we get the old behavior of only env_0 showing.

@fatimaanes keen to hear if this helps mitigate the benchmark OOM you
are seeing.

## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
# Description

## Summary (PR 1 of 2 — additive, no behavior change)

Introduces single-namespace schema **fragments** so a prim can carry
rigid-body properties from multiple USD namespaces at once (`physics:`,
`physxRigidBody:`, `mjc:`), with core naming no backend. **Purely
additive** — existing cfgs and the deprecated `RigidBodyPropertiesCfg`
class are untouched.

- **core:** `SchemaFragment`, `RigidBodyFragment`,
`UsdPhysicsRigidBodyCfg`; `apply_namespaced` (generic per-fragment
writer) and `apply_rigid_body_properties` (applies a fragment list with
`UsdPhysics.RigidBodyAPI` as the implicit anchor).
- **spawner:** `rigid_props` accepts a fragment list; legacy single cfgs
keep working via a transition bridge
(shapes/meshes/from_files/mesh_converter).
- **backends:** `PhysxRigidBodyCfg` (physx), `MujocoRigidBodyCfg`
(newton).
- new `test_schema_fragments.py` + exports.

**PR 2** (stacked) flips `RigidBodyPropertiesCfg` to a deprecation
factory and migrates all call sites: #4 (review
after this lands).

## Test Plan
- [x] `test_schema_fragments.py` — 7 passed
- [x] pre-commit clean · `./isaaclab.sh -d` docs build clean
- [ ] CI

First slice of the staged physics schema-cfg refactor (collision / mass
/ joint-drive / … follow later). Draft for review of the fragment API
shape.


## Type of change

- New feature (non-breaking change which adds functionality)

## Screenshots

N/A — no user-facing visual changes.

## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the pre-commit checks (`ruff` + `ruff-format`) on the
changed files
- [ ] I have made corresponding changes to the documentation (the public
API reference is auto-generated via `./isaaclab.sh -d`; not separately
authored)
- [x] My changes generate no new warnings
- [x] I have added tests that prove my feature works
- [x] I have added a changelog fragment under
`source/<pkg>/changelog.d/` for every touched package
- [ ] I have added my name to `CONTRIBUTORS.md`

---------

Co-authored-by: ooctipus <zhengyuz@nvidia.com>
Add the additive mass schema-fragment framework mirroring the rigid-body
pilot. Mass is a pure-UsdPhysics family with no backend split.

- Add MassFragment marker and MassCfg fragment (physics:mass /
  physics:density) in core schemas_cfg.
- Add apply_mass_properties writer applying UsdPhysics.MassAPI as the
  implicit anchor, then dispatching each fragment via its func.
- Widen the RigidObjectSpawnerCfg mass_props slot to accept a
  MassFragment or list, with transition bridges at the shapes, meshes,
  from_files, and mesh_converter spawn sites.
- Export the new public names and add a test plus changelog fragment.

The legacy MassPropertiesCfg and define_/modify_mass_properties remain
the canonical names and are left untouched.
No behavior change; collapse over-explained inline comments to terse intent.
@vidurv-nvidia

Copy link
Copy Markdown
Owner Author

Superseded by the upstream cross-fork PR on isaac-sim/IsaacLab (mass framework, base develop, like isaac-sim#5976/isaac-sim#6254). Closing this fork-internal PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants