Repository navigation
[Backport] PR #8473 to release/3.0.0 - #8487
Merged
Merged
Conversation
Skip the PhysX scene-data rigid-body tensor view when the stage has no rigid bodies. Since #8021, `PhysxManager` requests a global `create_rigid_body_view("/**")` at warmup to back the scene-data transforms. `omni.physics.tensors` logs an error whenever a pattern matches no rigid bodies, so every static scene, for example `scripts/tutorials/00_sim/launch_app.py`, starts with: ```text [Error] [omni.physx.tensors.plugin] Pattern '/**' did not match any rigid bodies [Error] [omni.physx.tensors.plugin] Provided pattern list did not match any rigid bodies ``` The manager now checks the loaded USD stage, including instance proxies, for `UsdPhysics.RigidBodyAPI` before requesting the view. Rigid-body scenes keep the existing tensor-view and articulation-alias behavior. - **No false skips.** With Kit, every PhysX body comes from a USD prim: environments are always authored through `UsdReplicateContext`, and PhysX replication copies from USD sources. - **Cost.** `any()` stops at the first rigid body, so only static scenes walk the whole stage. - **Why not ask PhysX.** `omni.physics.tensors.SimulationView` cannot list bodies or silence the no-match error from Python. The tensors C++ layer has a per-view `setNoMatchLoggingQuiet`, which the OVPhysX tensor binding uses for wildcard bindings. Once it is exposed in Python, this stage walk can be replaced. `test_reset_without_rigid_bodies_skips_rigid_body_view` resets a scene whose only physics prim is a static collider and checks that no rigid-body view is requested or published. It fails on the pre-fix code with the `/**` request. `test_timeline_play_stop` covers the rigid-body branch; no existing test had a static scene. No additional dependencies or public API changes are required. - [x] Bug fix (non-breaking change which fixes an issue) - [x] <!-- backport-active-release --> Backport this pull request to the active release branch after it merges into `develop` `release/3.0.0` has the same `/**` request. Not applicable; this removes startup log errors. - `PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 PYTHONEXE=.venv/bin/python <isaac-sim-source>/python.sh --no-ros-env -m pytest -q source/isaaclab_physx/test/sim/test_simulation_context_kit.py` — TODO: rerun after the test change (was 5 passed with source-built Isaac Sim 6.2). - The reported `launch_app.py --visualizer kit,viser,rerun,newton_gl` command reached `[INFO]: Setup complete...`; neither PhysX tensor error appeared before the bounded smoke run was stopped. - `ISAACLAB_CHANGELOG_BASE_REF=upstream/develop uv run --no-sync isaaclab -f` — passed. - `uv run --no-sync python tools/changelog/cli.py check upstream/develop --include-worktree` — passed. - `performance-smoke-benchmarks` fails on the `g1-newton` leg (Warp LTO build directory `Permission denied`). This is unrelated; the same workflow fails on `develop`. - [x] I have read and understood the contribution guidelines - [x] I have run the pre-commit checks with `uv run isaaclab --format` - [x] No public documentation change is required; the user-visible fix is recorded in the package changelog - [x] My changes generate no new warnings - [x] I have validated the changed behavior with focused coverage and applied the test-audit criteria to the test change - [x] I have added a changelog fragment under `source/isaaclab_physx/changelog.d/` - [x] My name already exists in `CONTRIBUTORS.md` --------- Co-authored-by: Antoine RICHARD <antoiner@nvidia.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> (cherry picked from commit 4e1f1f7)
kellyguo11
marked this pull request as ready for review
October 12, 2026 17:18
kellyguo11
requested review from
AntoineRichard,
kellyguo11 and
ooctipus
as code owners
October 12, 2026 17:18
Contributor
|
run-ci |
Contributor
|
Contributor
There was a problem hiding this comment.
Isaac Lab Review Bot
All reviewed code categories look good.
- PR description: The body lacks behavioral scope and validation details; replace the unsupported “deterministic validation” claim with the static-scene problem, resulting behavior, and exact validation command or result.
- Design and architecture: Architecture looks good.
- Scope and over-engineering: No over-engineering issues.
- API: API changes look good.
- Compatibility and deprecation: No breaking changes identified.
- Implementation: Implementation looks good.
- Style consistency: Style consistency looks good.
- Test quality: Test quality looks good.
No blocking issues. No inline findings.
Automated review; human maintainers own approval decisions.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Backports #8473 to
release/3.0.0.The original cherry-pick conflicted. An NVIDIA inference model proposed this resolution, and deterministic validation confirmed that it changes no paths outside the original PR. Because conflict resolution cannot be certified as an exact patch replay, this PR is intentionally a draft and requires release-maintainer review.
4e1f1f717d49f212ac77f7e659e445d3e258f0b96cd92084392eb65f455470453d5fb812e93c8a1e6817552def5bd2932b43a6469eb8c7772b009ff2