Conversation
Apply the nine missing merged PRs from the September 17-19 audit as a coherent release integration. Preserve release versions, compiled changelogs, documentation routing, and existing OVRTX compatibility code. Source commits: f8e37e0 (isaac-sim#7777) 0b10de8 (isaac-sim#7608) 9a8fa01 (isaac-sim#7895) 3707542 (isaac-sim#7872) fa3687d (isaac-sim#7831) 9bae4fd (isaac-sim#7834) 5d3ad0d (isaac-sim#7838) 8c3aa87 (isaac-sim#7840) f757670 (isaac-sim#7903) Co-authored-by: vidurv-nvidia <vidurv@nvidia.com>
|
| toy_truck_properties = [ | ||
| PhysxRigidBodyCfg( | ||
| solver_position_iteration_count=16, | ||
| solver_velocity_iteration_count=1, | ||
| max_angular_velocity=1000.0, | ||
| max_linear_velocity=1000.0, | ||
| max_depenetration_velocity=5.0, | ||
| disable_gravity=False, | ||
| ) | ||
| ] |
There was a problem hiding this comment.
This stores one PhysxRigidBodyCfg as a list and later assigns it to rigid_props, even though the migration contract keeps single-fragment slots bare. Code following that contract, such as cfg.scene.toy_truck.spawn.rigid_props.disable_gravity, now gets an AttributeError because rigid_props is a list. The same pattern appears in _CUBE_PROPERTIES and ASSEMBLY_PLUG_RIGID_BODY_PROPS_CFG. The new AST test does not catch these cases because the lists are assigned through variables rather than directly in keyword arguments.
Knowledge Base Used: Scene and asset composition
| .. deprecated:: 4.6.x | ||
| ``DeformableBodyPropertiesCfg`` has moved to | ||
| :class:`PhysxDeformableBodyPropertiesCfg` for PhysX-specific deformable properties | ||
| and is scheduled for removal in 5.0. | ||
| and is scheduled for removal in 4.0. |
There was a problem hiding this comment.
Removal versions still conflict
This changed docstring says the alias will be removed in 4.0, while the warning emitted by the same alias says 3.1. The same contradiction remains in physics_materials_cfg.py. This undermines the deprecation sweep's goal and makes generated API documentation disagree with runtime guidance; update the remaining changed alias docstrings to 3.1.
| .. deprecated:: 4.6.x | |
| ``DeformableBodyPropertiesCfg`` has moved to | |
| :class:`PhysxDeformableBodyPropertiesCfg` for PhysX-specific deformable properties | |
| and is scheduled for removal in 5.0. | |
| and is scheduled for removal in 4.0. | |
| .. deprecated:: 4.6.x | |
| ``DeformableBodyPropertiesCfg`` has moved to | |
| :class:`PhysxDeformableBodyPropertiesCfg` for PhysX-specific deformable properties | |
| and is scheduled for removal in 3.1. |
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
|
run-ci |
There was a problem hiding this comment.
Isaac Lab Review Bot
The backport consistently propagates the cfg-first cloning and scene-ownership changes across core APIs, tasks, templates, documentation, and tests, but two internal inconsistencies remain: Warp Direct environments still invoke a scene hook that this patch removes, and several deprecation docstrings disagree with their runtime warnings about the removal release.
- Design and architecture: The cfg-first lifecycle is broadly coherent: InteractiveScene constructs declared entities within one published ClonePlan, Direct environments delegate scene construction through cfg.scene.class_type, and maintained task implementations no longer own cloning. However, DirectRLEnvWarp still calls self._setup_scene() after this patch deletes its fallback implementation and the relevant derived overrides, leaving Warp Direct environment construction without the invoked hook.
- API: The breaking cloning and Asset API changes include migration guidance, changelog fragments, exports, and API documentation. The deprecation-release sweep remains inconsistent in isaaclab_physx: affected alias docstrings state removal in 4.0 while their warnings state 3.1, contradicting the stated goal of presenting one removal release.
- Implementation: The OSC conditioning, Newton fixed-root notifications, CUDA runtime selection, and schema-fragment producer/consumer migrations are backed by focused implementation paths and regression tests. Before merge, either remove the remaining DirectRLEnvWarp _setup_scene() invocation or restore a compatible hook, and align the affected deprecation docstrings with the 3.1 runtime warnings.
Minor fixes needed. Posted 2 actionable findings inline.
The full PR diff was reviewed; some supplemental surrounding file context was omitted.
Automated review; human maintainers own approval decisions.
| # set the stage context for scene creation steps which use the stage | ||
| with use_stage(self.sim.stage): | ||
| self.scene = InteractiveSceneWarp(self.cfg.scene) | ||
| self.scene = self.cfg.scene.class_type(self.cfg.scene) |
There was a problem hiding this comment.
🟡 Warning · Implementation — Warp direct env still calls removed scene hook
The constructor still calls self._setup_scene() on the next line, but this diff deletes this class's no-op _setup_scene and also removes the overrides from CartpoleWarpEnv, LocomotionWarpEnv and ReorientDirectWarpEnv. Unless this class inherits the hook from DirectRLEnv, every Warp direct environment now raises AttributeError during construction. Either drop the remaining call or keep a no-op hook.
| ``DeformableBodyPropertiesCfg`` has moved to | ||
| :class:`PhysxDeformableBodyPropertiesCfg` for PhysX-specific deformable properties | ||
| and is scheduled for removal in 5.0. | ||
| and is scheduled for removal in 4.0. |
There was a problem hiding this comment.
🟡 Warning · Api — Deprecation docstrings contradict runtime warnings
This sweep changes the alias docstrings from 5.0 to 4.0 while changing the matching warnings.warn text to 3.1 (also at 304/309, 620/625, 1032/1037, and in physx/sim/spawners/materials/physics_materials_cfg.py 119/124, 294/299). Each deprecated symbol now advertises two removal releases, which is exactly the inconsistency the changelog says this change eliminates. Set the docstrings to 3.1.
|
run-ci |
Upgrade PyTorch to 2.12.0 and torchvision to 0.27.0. PyTorch 2.12 includes the upstream fix for CUDA lazy initialization when NVML reports more devices than the CUDA runtime exposes, avoiding the deferred `device >= 0 && device < num_gpus` assertion after Kit initializes graphics on a subset of GPUs. PyTorch 2.12 is published for CUDA 13.0, so the supported x86_64 and Windows installs move from the cu128 index to cu130 as well. TorchAudio remains at 2.11.0 because it uses PyTorch stable ABI and officially supports PyTorch 2.11 and later. - `uv lock --check` - `uv run isaaclab -f` - `LD_PRELOAD=/lib/aarch64-linux-gnu/libgomp.so.1 OMNI_KIT_ACCEPT_EULA=YES uv run pytest source/isaaclab/test/cli -q` (283 passed) - Imported torch 2.12.0+cu130, torchvision 0.27.0+cu130, and torchaudio 2.11.0+cu130; exercised torchvision NMS and torchaudio resampling - Ran `scripts/demos/arms.py --device=cuda:0 --visualizer kit` through setup and repeated simulation resets on a 2-GPU ARM64 system where Kit exposes one GPU to the CUDA runtime - Ran the SKRL ANYmal-C training flow through environment setup and active PPO rollout Supersedes the application-level initialization workaround in isaac-sim#7669. - [x] <!-- backport-active-release --> Backport this pull request to the active release branch after it merges into `develop` --------- Co-authored-by: ooctipus <ooctipus@users.noreply.github.com> (cherry picked from commit 4269c29)
|
run-ci |
…ters (#7839) (#7908) ## Description Backports #7839 to `release/3.0.0`. Legacy physics schema configs and writers emit deprecation warnings naming their schema-fragment replacements, while the existing APIs continue to work. Includes the migration guide, the standard `typing_extensions.deprecated` implementation, and the original changelog fragments. The fragment-consumer migration from #7838 is already in the release through #7904. Exact cherry-pick of `5889bae6e8de7a2b5a6e3ff099f82236d251cd19` onto release commit `ff22c52891`, with no conflicts or source changes. Preserves the source removal target of 3.2, release package versions, and dependency pins. ## Validation **292 tests passed** locally with PyTorch 2.12: - Schema deprecation and compatibility tests: **230 passed**. - Schema integration tests: **44 passed**. - Tendon fragment tests: **18 passed**. - `uv run --no-sync isaaclab -f`: all checks passed with changelog validation against the release base. - All 13 changed files match the merged source commit; `git diff --check` passed. Kit integration tests ran in separate processes on RTX 5090 with Isaac Sim 6.0.1. Release CI uses its pinned Isaac Sim 6.1 image. ## Release backport Targets `release/3.0.0` directly; no further backport requested. Co-authored-by: vidurv-nvidia <vidurv@nvidia.com>
Description
Backports ten
developPRs torelease/3.0.0, including the PyTorch 2.12/CUDA 13.0 upgrade, the near-singular OSC fix, and the complete cfg-first cloning and schema-fragment migrations.The audit covers September 17, 2026 00:00 UTC through
developcommit4269c29a39e463dd07c74a9704d890d7a5c01e08(September 19, 23:55 UTC), against release base970d21ef48057a2efc3d749c0f2abab8e7e0c30e.All 305 changed non-lock files match the audited
developsnapshot exactly. The remaining file,uv.lock, matches that snapshot after substituting the package versions from the release branch's existing manifests; all 418 package entries were checked. Existing release package versions, compiled changelogs, documentation routing, and OVRTX compatibility code remain intact, including the #7880 revert. Source commit hashes are recorded in the commit messages.Already present
#7866, #7870, #7867, #7869, and #7868 were included in #7851; #7819 was backported by #7884; #7883, #7885, and #7887 were backported by #7889. #7874, #7888, #7773, #7886, and #7042 were also already present.
The three automatic changelog/version compilation commits are excluded; the release branch compiles its own fragments and maintains its own versions.
Type of change
Validation
uv run --no-sync isaaclab -f: all checks passed using the existing shared environment and the release base for changelog validation.uv lock --check: passed; release package manifests match their lockfile entries.git diff --check: passed.Local simulation used RTX 5090 and Isaac Sim 6.0.1 with PyTorch 2.11 and 2.12. The full Docker image build and fresh installation matrix were not rerun locally for this backport. Release CI uses its pinned Isaac Sim 6.1 image and remains the authoritative full integration check. Kit-dependent suites run in separate processes to avoid loading standalone USD before Kit.
Release backport
Not applicable: this PR targets
release/3.0.0directly.Checklist