Repository navigation
Conversation
|
run-ci |
There was a problem hiding this comment.
Isaac Lab Review Bot
Needs attention: Scope and over-engineering (1), Implementation (1), Style consistency (1). Other reviewed categories look good.
- PR description: The body covers intended changes but omits the lock revision regression and unrelated open3d dependency removal; document these effects and name the focused importer validation command or CI job.
- Design and architecture: Architecture looks good.
- Scope and over-engineering: Minimal implementation: keep dependency ownership in
pyproject.toml,uv.lock,source/isaaclab_ov/pyproject.toml, andtools/wheel_builder/uv-overrides.txt; keep licensing, documentation, changelog, cache ownership, and converter validation in their existing files. Delete the obsolete OVRTX site-packages chmod and its cache-specific comment; no source modules were added. Scope is cohesive; no split recommended. - API: API changes look good.
- Compatibility and deprecation: No breaking changes identified.
- Implementation:
uv.lockregresses format revision 5 to 3 and drops open3d’sipywidgetsdependency, indicating regeneration with an older uv; regenerate it with the repository uv version. - Style consistency: The OVPhysX documentation uses a configured version substitution but hardcodes adjacent OVRTX and OVStage pins; use their corresponding substitutions to prevent drift.
- Test quality: Test quality looks good.
Minor fixes needed. Posted 3 inline findings.
Automated review; human maintainers own approval decisions.
[Medium impact] The PR appears safe to merge; no actionable issues were found. SummaryUpdates the public OV runtimes together and adds the external PhysX schemas required by OvPhysX 0.7.
No actionable issues were found. Runtime tests were not run. Reviews (1) · Last reviewed commit: "use isaacsim-asset-isolated 6.2.0.1" · Reviewed by Greptile |
|
run-ci |
marcodiiga
left a comment
There was a problem hiding this comment.
Reviewed 7b3919d. No P0 issue found; approving at that threshold, with two P2 integration follow-ups and one P3 metadata correction below.
The external PhysX schema setup is correct: both physics extras install the pinned provider, the physics backend discovers and validates both schema families without importing the provider, and registration reaches OVStage before population and the host USD registry before stage creation. The 19 compatibility tests pass locally. A focused check using the published runtime wheels and the existing registration method preserved an authored disableGravity value in CPU simulation; omitting OVStage registration was rejected at attachment.
The existing exact-head CI passed isaaclab_ov and the URDF/MJCF converter files (including the changed retry test). CI is not fully green: the Shadow Hand and live-rendering failures need follow-up, and the Kit demo timeout remains unclassified. A fresh run-ci request is running against the same head: https://github.com/isaac-sim/IsaacLab/actions/runs/40748890229.
| ovphysx = ["ovphysx==0.6.4.72118723", "ovstage==0.2.1.385922"] | ||
| ovrtx = ["ovrtx==0.5.1.385782", "ovstage==0.2.1.385922"] | ||
| ov = [ | ||
| "ovphysx==0.7.0.74035321", |
There was a problem hiding this comment.
[P2] Apply the existing friction migration to the remaining Shadow Hand scenes
Making OVPhysX 0.7 the default leaves the Shadow Hand rendering scenes without the migration profile already used by the task presets. make_rendering_scene_spec("shadow_hand", "ovphysx") returns no physics_cfg, so build_rendering_scene creates a default OvPhysxCfg with no legacy_joint_friction_replacements. Both legacy-shadow_hand-ovphysx-ovrtx and legacy-shadow_hand-ovphysx-newton_warp then fail before rendering with the legacy joint-friction ValueError.
Please pass the existing calibrated SHADOW_HAND_FRICTION_REPLACEMENTS into these scene configurations so they remain runnable with the new default. Exact-head failure: https://github.com/isaac-sim/IsaacLab/actions/runs/40590997539/job/122503127709.
There was a problem hiding this comment.
Applied the existing calibrated SHADOW_HAND_FRICTION_REPLACEMENTS to the OvPhysX Shadow Hand rendering scene configuration. Both affected renderer combinations passed local verification, and these failures are absent from the latest reviewed CI run. No new friction calibration was introduced.
| ovrtx = ["ovrtx==0.5.1.385782", "ovstage==0.2.1.385922"] | ||
| ov = [ | ||
| "ovphysx==0.7.0.74035321", | ||
| "ovrtx==0.6.0.1791947691", |
There was a problem hiding this comment.
[P2] Resolve the live rendering failures with the upgraded runtime set
Exact-head CI now fails test_newton_rtx_motion_pause_and_markers because a later material change does not reach the recorded pixels, on both x86 and ARM. The x86 scene-sky/background-override case also fails. These cases pass in comparison run 40669257023 with the old runtime pins.
Please investigate the material-update and background/lighting behavior with OVRTX 0.6. The three Newton/OVRTX deformable image comparisons also exceed their tolerances; those need image inspection to distinguish expected renderer changes from defects. I have not isolated the cause within the renderer, so I would not treat the image differences alone as proof of a rendering bug or simply increase the tolerances.
https://github.com/isaac-sim/IsaacLab/actions/runs/40590997539/job/122503127380
https://github.com/isaac-sim/IsaacLab/actions/runs/40590997539/job/122503127709
There was a problem hiding this comment.
- Material updates: The controlled reproduction isolated the removed-reference/path-reuse regression to the legacy OVRTX path. Replacement references now receive fresh paths; local verification passes with OVStage both enabled and disabled.
- Background override: The first legacy GPU capture used the camera’s stale authored world transform, placing the foreground object outside the image. Initializing native transforms with a zero-duration step before capture resolves this; all seven visualizer tests passed locally.
- Cloth, soft body, and cable: We inspected the images and repeated captures, including additional soft-body runs to examine variability. We updated the three RGB goldens for OVRTX 0.6.0 without relaxing any comparison tolerances. These deformable comparisons pass in the latest reviewed x86 CI run.
| "package_type": "Python", | ||
| "license": "LicenseRef-NVIDIA-Omniverse", | ||
| "usage": "runtime_dependency", | ||
| "interaction": "not_loaded", |
There was a problem hiding this comment.
[P3] Account for the standalone importer's in-process schema import
The OVPhysX path reads the schema resources without importing the provider, but the standalone importer has another path: isaacsim-asset-isolated 6.2.0.1's physx_types.py calls importlib.import_module("physx_usd_schemas") when the host has no PhysX plugin yet. The kit-less image installs both packages. I verified that this executes the schema package's Python initializer and registers its plugin.
Please describe that in-process import in this entry rather than declaring the package not_loaded. The schema plugin is still codeless; the inaccurate part is the claim that the package is never loaded.
There was a problem hiding this comment.
Corrected the entry from not_loaded to same_process_dynamic. The description now explicitly accounts for the standalone importer executing the provider’s Python initializer in-process to register the schema plugin. It retains the distinction that the schema plugin is codeless and no compiled plugin is loaded.
|
run-ci |
| Use ``--extra ov`` to install both public OvPhysX and OVRTX runtimes. The combined | ||
| extra pairs OVRTX 0.5.1.385782 with OVStage 0.2.1; OVRTX 0.4.1 is not compatible | ||
| with this runtime combination. | ||
| extra pairs OVRTX 0.6.0.1791947691 with OVStage 0.3.0.1791986420. Upgrade these |
There was a problem hiding this comment.
we can also replace this the hardcoded version with |ovphysx_version|
There was a problem hiding this comment.
Removed the redundant runtime-version literals from this paragraph. The installation requirement already uses |ovphysx_version| the combined-extra paragraph now refers to the compatible runtime set resolved by the repository’s dependency pins.
|
|
||
| Opt-in OVPhysX 0.7 support | ||
| ~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| OVPhysX 0.7 support |
There was a problem hiding this comment.
is this section necessary for the docs? seems like we'll need to maintain this for every new version.
There was a problem hiding this comment.
Removed the release-specific “OVPhysX 0.7 support” framing and the implementation-status paragraph. The remaining section is titled “Schema registration” and documents the behavior that users need to understand, without repeating the current package versions
| fixed_physics_backend="newton_mjwarp", | ||
| visualizers=(None, "newton_gl", "rerun", "viser"), | ||
| ), | ||
| "examples/demos/microduck_warehouse.py": ScriptOverride(fixed_physics_backend="newton_xpbd"), |
There was a problem hiding this comment.
is this correct? I'm not sure if xpbd is used for any of the examples
| fix_base=True, | ||
| usd_dir=output_dir, | ||
| physics_variant="physx", | ||
| physics_variant="missing_test_variant", |
|
run-ci |
|
run-ci |
Description
Upgrade the public OV runtime set:
0.5.1.385782→0.6.0.17919476910.6.4.72118723→0.7.0.740353210.2.1.385922→0.3.0.1791986420Add
physx-usd-schemas==25.11.2.72696984and its approved package-specific license exception. Update compatibility documentation and ensure the kit-less container's cache directory is writable for OVRTX 0.6.Upgrade
isaacsim-asset-isolatedto6.2.0.1, resolving the missingPhysxJointAPIerrors in standalone URDF/MJCF conversion. Add dependency overrides for its requiredurdf-usd-converter==0.3.4andmujoco-usd-converter==0.7.0, reconciling Isaac Sim 6.2's older pins.Update the converter cache-retry test to request an explicitly nonexistent physics variant. The new importer provides a PhysX variant for the fixed-joint fixture, invalidating the previous test assumption.
updates following review and CI/CD validation
newton_xpbd, matching the demo’s existingXPBDSolverCfgconfiguration.physxvariant..asset_hash.physx-usd-schemaslicense exception to account for the standalone importer executing its Python initializer in-process. The schema plugin remains codeless.uv.lock, restoring revision 5 and Open3D’sipywidgetsdependency without changing resolved package versions or sources. Verified compatibility with Docker’s pinned uv version.Type of change
Checklist
Docker and GPU tests run on demand. Push the commits you want tested, then
comment
run-cion the pull request.pre-commitchecks withuv run isaaclab --formatsource/<pkg>/changelog.d/for every touched package (do not editCHANGELOG.rstor bump package versions — CI handles that)CONTRIBUTORS.mdor my name already exists there