Skip to content

feat(schemas): tendons schema-fragment API (additive) - #10

Closed
vidurv-nvidia wants to merge 9 commits into
vidurv/schema-frag-frameworkfrom
vidurv/schema-frag-tendons
Closed

feat(schemas): tendons schema-fragment API (additive)#10
vidurv-nvidia wants to merge 9 commits into
vidurv/schema-frag-frameworkfrom
vidurv/schema-frag-tendons

Conversation

@vidurv-nvidia

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

Copy link
Copy Markdown
Owner

Description

Additive tendons fragment family (override func, tune-not-apply)

  • core: FixedTendonFragment/SpatialTendonFragment markers + apply_fixed_tendon_properties/apply_spatial_tendon_properties
  • physx: PhysxFixedTendonCfg/PhysxSpatialTendonCfg override func to delegate to the existing multi-instance tendon writers (tune existing PhysxTendonAxisRootAPI:<inst>).
  • spawner fixed_tendons_props/spatial_tendons_props accept fragment lists + bridge.

Decision: the legacy mjc:* tendon branch is kept inline (future split candidate, commented). Status: authored, ruff clean, sim verification pending.

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 9 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 schema-fragment framework for the tendons family,
mirroring the merged rigid-body pilot.

Core gains the FixedTendonFragment / SpatialTendonFragment markers and
the apply_fixed_tendon_properties / apply_spatial_tendon_properties
family writers. Tendons are a tune-not-apply family, so the writers
dispatch each fragment's func without applying a new anchor schema.

PhysX gains PhysxFixedTendonCfg / PhysxSpatialTendonCfg data-carrier
fragments that override func with thin apply_fixed_tendon /
apply_spatial_tendon wrappers delegating to the existing multi-instance
modify_fixed_/spatial_tendon_properties writers.

The from_files spawn slots are widened to accept fragment lists with a
transition bridge; legacy cfgs and writers stay intact. The legacy
writer's mjc:* branch is kept inline with a future-split-candidate
note.
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 (tendons 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