Fix desktop icon to Kit, Newton GL, and Newton RTX Visualizers - #7552
Fix desktop icon to Kit, Newton GL, and Newton RTX Visualizers#7552matthewtrepte wants to merge 24 commits into
Conversation
## Summary - add `release/3.0.0` to the nightly multi-version documentation set - remove the mutable `release/3.0.0-beta2` branch from the version switcher - publish the immutable `v3.0.0-beta2` tag and make it the docs landing-page default ## Why `release/3.0.0` was cut before the docs policy follow-up, so it needs the workflow change directly. This keeps the release branch ready to own scheduled docs if it becomes the repository default, while serving the released beta documentation from its immutable tag. ## Validation - `uv run isaaclab -f` on the byte-identical `develop` / `release/3.0.0` docs tree - verified the branch whitelist includes `release/3.0.0` and excludes `release/3.0.0-beta2` - verified the tag whitelist includes `v3.0.0-beta2` and stable tags - verified `v3.0.0-beta2` is the docs default - verified the `v3.0.0-beta2` tag exists upstream - `git diff --check upstream/release/3.0.0...HEAD`
…X cfg (isaac-sim#7164) (isaac-sim#7217) ## Summary Backports isaac-sim#7164 to `release/3.0.0`. - Mirrors deprecated PhysX self-collision configuration to the Newton articulation-root schema. - Migrates the Allegro Hand, Shadow Hand, and Kuka Allegro configs to explicit PhysX and Newton articulation fragments. - Declares the backend package dependencies required by `isaaclab_assets` and fixes core package installation order. - Preserves a single articulation root during fixed-root relocation, including pre-authored Newton schema state. - Initializes the kitless benchmark articulation consistently with production articulation objects. The backport is patch-identical to the merged isaac-sim#7164 diff and contains no unrelated `develop` history. ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Test plan - [x] `source/isaaclab/test/sim/test_schemas.py`: 44 passed - [x] Kitless benchmark semantics: 18 passed - [x] PhysX fixed-base initialization: 4 passed - [x] Newton fixed-base initialization: 4 passed - [x] Install command parsing: 57 passed - [x] `uv run isaaclab -f` - [x] Changelog fragment validation against `release/3.0.0` ## Checklist - [x] I have read and understood the contribution guidelines - [x] I have run the pre-commit checks - [x] My changes generate no new warnings - [x] I have added tests that prove the fix is effective - [x] I have added changelog fragments for every touched package - [x] My name already exists in `CONTRIBUTORS.md` Co-authored-by: Kelly Guo <kellyg@nvidia.com>
# Description cherry-pick of isaac-sim#7179 Fixes # (issue) <!-- As a practice, it is recommended to open an issue to have discussions on the proposed pull request. This makes it easier for the community to keep track of what is being developed or added, and if a given feature is demanded by more than one party. --> ## Type of change <!-- As you go through the list, delete the ones that are not applicable. --> - Bug fix (non-breaking change which fixes an issue) - New feature (non-breaking change which adds functionality) - Breaking change (existing functionality will not work without user modification) - Documentation update ## Screenshots Please attach before and after screenshots of the change if applicable. <!-- Example: | Before | After | | ------ | ----- | | _gif/png before_ | _gif/png after_ | To upload images to a PR -- simply drag and drop an image while in edit mode and it should upload the image directly. You can then paste that source into the above before/after sections. --> ## Checklist - [ ] I have read and understood the [contribution guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html) - [ ] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./isaaclab.sh --format` - [ ] I have made corresponding changes to the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have added a changelog fragment under `source/<pkg>/changelog.d/` for every touched package (do **not** edit `CHANGELOG.rst` or bump `extension.toml` — CI handles that) - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already exists there <!-- As you go through the checklist above, you can mark something as done by putting an x character in it For example, - [x] I have done this task - [ ] I have not done this task -->
…im#7225) Backport of isaac-sim#7221 to release/3.0.0. ## Summary - inspect pinned Isaac Sim manifest indexes with Buildx so tag@digest preserves multi-platform publishing - fail closed when platform detection is inconclusive - publish the kitless image for linux/amd64 and linux/arm64 ## Validation - git diff --cached --check - Ruff, formatting, YAML, whitespace, and merge-conflict checks passed - the repository-wide uv run isaaclab -f command stopped only on pre-existing invalid changelog fragments and the Windows CP1252 console encoding error while reporting them
…7226) ## Summary Cherry-picks the following merged PRs from `develop` onto `release/3.0.0`, preserving each as an individual commit with `-x` provenance: - isaac-sim#7193 — Bake CI pytest deps into the built Docker image - isaac-sim#7077 — Add OVPhysX support to Franka deformable lift tasks - isaac-sim#7175 — Raise on unsupported camera renderer outputs - isaac-sim#7174 — Fix benchmark play inference scope - isaac-sim#7173 — Report resolved backend for play benchmarks - isaac-sim#7172 — Add video recording to play benchmarks - isaac-sim#7215 — Reduce GearAssembly default environment count - isaac-sim#7214 — Remove Kamino preset from open drawer - isaac-sim#7213 — Fix OvPhysX scene gravity randomization - isaac-sim#7212 — Fix OVPhysX material binding device selection - isaac-sim#7189 — Make preview surfaces renderer agnostic - isaac-sim#7206 — Fix OVPhysX benchmark articulation setup All cherry-picks and the final rebase onto the latest `release/3.0.0` tip completed without conflicts. ## Validation - Verified all 12 backported commits have patch IDs identical to their source squash commits and retain their `cherry picked from` footers. - `git diff --check upstream/release/3.0.0..HEAD` - Bash syntax validation for the modified CI shell scripts. - YAML parsing for the modified composite actions. - Changelog validation against `release/3.0.0`. - Targeted pytest coverage for benchmark APIs/play, video recording, GearAssembly defaults, OVPhysX presets and runtime semantics, and renderer-agnostic materials: **81 passed, 4 skipped, 1 deselected**. - The deselected case is an unchanged test that hard-codes a POSIX `/tmp` path and fails on Windows path normalization. - `uv run isaaclab -f` passed all hooks except the changelog hook's known release-branch baseline finding for `source/isaaclab/changelog.d/core-test-config-fixtures.skip`; the targeted release-base changelog check passed. --------- Co-authored-by: Matthew Taylor <mataylor@nvidia.com> Co-authored-by: Antoine RICHARD <antoiner@nvidia.com> Co-authored-by: Mike Yan Michelis <46975745+mmichelis@users.noreply.github.com> Co-authored-by: Maximilian Krause <99733341+maxkra15@users.noreply.github.com> Co-authored-by: Octi Zhang <zhengyuz@nvidia.com> Co-authored-by: Mustafa H <34825877+StafaH@users.noreply.github.com>
…c-sim#7232) ## Summary Cherry-picks the following merged PRs from `develop` onto `release/3.0.0`, preserving each as an individual commit with `-x` provenance: - isaac-sim#7122 — Fix YAML dumps to the current working directory - isaac-sim#7120 — Fix add-new-robot tutorial default joint-state mutation - isaac-sim#7117 — Fix NumPy to Warp dictionary conversion The commits are applied in their `develop` history order. All cherry-picks completed without conflicts. ## Validation - Verified all three backported commits have patch IDs identical to their source squash commits and retain their `cherry picked from` footers. - `git diff --check upstream/release/3.0.0..HEAD` - `uv run --extra test --frozen python -m pytest source/isaaclab/test/utils/test_yaml_io.py source/isaaclab/test/utils/test_array_conversion_registry.py -q --disable-warnings` — **3 passed** - `uv run --frozen python -m py_compile scripts/tutorials/01_assets/add_new_robot.py` - Changelog validation against `release/3.0.0` passed. - `uv run isaaclab -f` passed all code, formatting, whitespace, YAML/TOML, license, and safety hooks. Its changelog hook reported pre-existing release-only fragments (`antoiner-fix-contact-history-update-cadence.rst` and `omniverse-client-2-72-1-update.rst`) followed by the known Windows CP1252 reporting error; the targeted release-base changelog check passed. --------- Signed-off-by: Sylvester Kaczmarek <16242628+sylvesterkaczmarek@users.noreply.github.com> Co-authored-by: Sylvester Kaczmarek <16242628+sylvesterkaczmarek@users.noreply.github.com>
…isaac-sim#7234) ## Summary Cherry-picks the following merged PRs from `develop` onto `release/3.0.0`, preserving each as an individual commit with `-x` provenance: - isaac-sim#7070 — Bump the Isaac Sim CI image to digest `e7cd73cd7a9a` - isaac-sim#7118 — Fix backend propagation in nested dictionary conversion The commits are applied in their `develop` history order. Both cherry-picks completed without conflicts. ## Validation - Verified both backported commits have patch IDs identical to their source squash commits and retain their `cherry picked from` footers. - `git diff --check upstream/release/3.0.0..HEAD` - `uv run --extra test --frozen python -m pytest source/isaaclab/test/utils/test_dict.py -q --disable-warnings` — **10 passed** - Parsed `.github/workflows/config.yaml` and verified the exact `e7cd73cd7a9a...` Isaac Sim digest. - Changelog validation against `release/3.0.0` passed. - `uv run isaaclab -f` passed all code, formatting, whitespace, YAML/TOML, license, and safety hooks. Its changelog hook reported pre-existing release-only fragments (`ant-direct-device-mask-reset.rst` and `omniverse-client-2-72-1-update.rst`) followed by the known Windows CP1252 reporting error; the targeted release-base changelog check passed. --------- Signed-off-by: Sylvester Kaczmarek <16242628+sylvesterkaczmarek@users.noreply.github.com> Co-authored-by: isaaclab-bot[bot] <282401363+isaaclab-bot[bot]@users.noreply.github.com> Co-authored-by: Sylvester Kaczmarek <16242628+sylvesterkaczmarek@users.noreply.github.com>
…saac-sim#7240) ## Summary Cherry-picks the following merged PRs from `develop` onto `release/3.0.0`, preserving each as an individual commit with `-x` provenance: - isaac-sim#7218 — Flesh out the Manus glove workflow and pin the Isaac Teleop build branch - isaac-sim#7231 — Move the migration guide - isaac-sim#6299 — Add heterogeneous visual materials with GPU attribute randomization - isaac-sim#7237 — Refresh Isaac Lab documentation The commits are applied in their chronological `develop` order. All four cherry-picks completed without conflicts. ## Validation - Verified all four backported commits have patch IDs identical to their source squash commits and retain their `cherry picked from` footers. - `git diff --check upstream/release/3.0.0..HEAD` - Release-base changelog validation passed. - Focused cross-backend tests: **45 passed** - Core kitless visual-material spawning: 4 passed - Visual-material event behavior: 3 passed - Core visual-material pipeline: 12 passed - Newton visual-shape events: 2 passed - Newton visual-material renderer: 5 passed - OVRTX visual-material synchronization (`--extra ov`): 12 passed - PhysX visual-material writer: 5 passed - Kit and Newton visualizer hooks: 2 passed - `uv run isaaclab -f` passed all code, formatting, whitespace, RST, YAML/TOML, license, and repository-hygiene hooks. Its changelog hook reported unrelated release/develop baseline fragments (`fix-usd-replicate-def-ancestors.rst` and `vidurv-nested-fragment-writers.rst`) followed by the known Windows CP1252 reporting error; the targeted release-base changelog check passed. ### Bounded integration attempts - `test_visual_material_scene.py` was retried with the declared `isaacsim` project extra and did not complete within the five-minute local bound; it produced no failure diagnostics. - The Kuka golden-image rendering integration did not complete within the local bound. CI remains the authoritative result for the full Isaac Sim and GPU/rendering paths. --------- Co-authored-by: rwiltz <165190220+rwiltz@users.noreply.github.com> Co-authored-by: Mustafa H <34825877+StafaH@users.noreply.github.com> Co-authored-by: ooctipus <zhengyuz@nvidia.com>
# Description Cherry-pick of https://github.com/pbarejko/IsaacLab/pull/new/fix/ovrtx-multi-aov-cp ## Type of change <!-- As you go through the list, delete the ones that are not applicable. --> - Bug fix (non-breaking change which fixes an issue) - New feature (non-breaking change which adds functionality) - Breaking change (existing functionality will not work without user modification) - Documentation update ## Screenshots Please attach before and after screenshots of the change if applicable. <!-- Example: | Before | After | | ------ | ----- | | _gif/png before_ | _gif/png after_ | To upload images to a PR -- simply drag and drop an image while in edit mode and it should upload the image directly. You can then paste that source into the above before/after sections. --> ## Checklist - [ ] I have read and understood the [contribution guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html) - [ ] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./isaaclab.sh --format` - [ ] I have made corresponding changes to the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have added a changelog fragment under `source/<pkg>/changelog.d/` for every touched package (do **not** edit `CHANGELOG.rst` or bump `extension.toml` — CI handles that) - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already exists there <!-- As you go through the checklist above, you can mark something as done by putting an x character in it For example, - [x] I have done this task - [ ] I have not done this task -->
…m#7293) ## Summary Cherry-picks the following merged PRs from `develop` onto `release/3.0.0`, preserving each as an individual commit with `-x` provenance: - isaac-sim#7244 — Remove the unnecessary AppLauncher from task preset tests - isaac-sim#7241 — Report cumulative retry wall time in the test orchestrator - isaac-sim#7114 — Group compatible rendering correctness AOVs The commits are applied in their chronological `develop` order. All three cherry-picks completed without conflicts. The release branch already contains the OVRTX multi-AOV prerequisite from isaac-sim#7286. ## Type of change - Bug fix (non-breaking CI and test-runtime improvements) ## Validation - Verified all three backported commits have patch IDs identical to their source squash commits and retain their `cherry picked from` footers. - `git diff --check upstream/release/3.0.0..HEAD` - Release-base changelog validation passed. - Test orchestrator result handling: **11 passed** - Shadow Hand camera presets: **42 passed** - Rendering parametrization helpers: **16 passed** - Kitless rendering suites: **166 tests collected successfully** - `uv run isaaclab -f` passed all formatting, lint, whitespace, RST, changelog, Git LFS, and repository-hygiene hooks. GPU rendering execution was not repeated locally; CI remains authoritative for the renderer integration paths already validated in isaac-sim#7114. ## Checklist - [x] I have read and understood the contribution guidelines - [x] I have run the pre-commit checks - [x] No documentation changes are required - [x] My changes generate no new warnings - [x] Existing and backported tests cover the changed behavior - [x] Each touched source package has a changelog fragment - [x] My name already exists in `CONTRIBUTORS.md` --------- Co-authored-by: Piotr Barejko <pbarejko@nvidia.com>
## Description Bundled backport to `release/3.0.0` to reduce CI load. Source PRs reviewed for this bundle: - isaac-sim#7020 — already represented in `release/3.0.0`; its cherry-pick was empty, so no duplicate commit was added. - isaac-sim#7207 - isaac-sim#7229 - isaac-sim#7227 - isaac-sim#7231 - isaac-sim#6762 - isaac-sim#7208 - isaac-sim#7168 — backports the current PR head while the source PR is still open. - isaac-sim#7157 - isaac-sim#7216 ## Type of change - Bug fix - Documentation update - Workflow / packaging update ## Checklist - [x] I have read and understood the contribution guidelines. - [x] I have run formatting checks. - [x] Documentation changes are included. - [x] Documentation build generates no new warnings. - [x] Focused regression coverage passed. - [x] Required changelog fragments are included by the source PRs. - [x] Contributors are already listed or included by the source PRs. --------- Signed-off-by: Kelly Guo <kellyg@nvidia.com> Co-authored-by: Mustafa H <34825877+StafaH@users.noreply.github.com> Co-authored-by: Richard Lei <rilei@nvidia.com> Co-authored-by: Mustafa Haiderbhai <mhaiderbhai@nvidia.com> Co-authored-by: Kelly Guo <kellyg@nvidia.com>
…saac-sim#7299) ## Summary Backports the following merged changes to `release/3.0.0` as separate provenance-preserving cherry-picks: - isaac-sim#7292 — scope Newton global imports with clone plans - isaac-sim#7285 — stabilize the sensor/PhysX video recording test - isaac-sim#7269 — streamline Newton contact and raycast sensor startup - isaac-sim#7119 — normalize non-finite depth display values safely - isaac-sim#7295 — avoid repeated Newton model and articulation startup work Each source squash commit was cherry-picked with `-x` and applied without conflicts. ## Validation - Stable patch IDs match all five source squash commits exactly. - File-by-file manifests match each source squash commit. - `git diff --check upstream/release/3.0.0..HEAD` - `uv run --frozen python tools/changelog/cli.py check backport-7285-7292-base` - `SKIP=check-changelog-fragments uv run --frozen isaaclab -f` - Cloner/Newton focused tests: 98 passed - Scene global-ownership tests: 2 passed - Simulator clone-plan tests: 4 passed - Video recording regression test: 1 passed - Newton BVH lifecycle tests: 2 passed - Newton contact-selector tests: 7 passed - Newton raycast BVH test: 4 passed - Non-finite depth display tests: 4 passed - isaac-sim#7295 physics lifecycle, cloner, manager, and coupling tests: 248 passed - isaac-sim#7295 Newton joint-wrench sensor tests: 11 passed - isaac-sim#7295 PhysX joint-wrench sensor tests: 16 passed PR isaac-sim#7121 remains open and is intentionally excluded; it will be backported from its final merge commit after merging. --------- Signed-off-by: Sylvester Kaczmarek <16242628+sylvesterkaczmarek@users.noreply.github.com> Co-authored-by: matthewtrepte <mtrepte@nvidia.com> Co-authored-by: camevor <camevor@nvidia.com> Co-authored-by: Sylvester Kaczmarek <16242628+sylvesterkaczmarek@users.noreply.github.com> Co-authored-by: Antoine RICHARD <antoiner@nvidia.com>
# Description > [!IMPORTANT] > Confirm the pull request base before submitting. Target `develop` for all > contributions. The `release/3.0.0-beta2` branch is a frozen stable landing > snapshot and is not used for ongoing maintenance. <!-- Thank you for your interest in sending a pull request. Please make sure to check the contribution guidelines. Link: https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html 💡 Please try to keep PRs small and focused. Large PRs are harder to review and merge. --> Cherry picks isaac-sim#7288 ## Type of change <!-- As you go through the list, delete the ones that are not applicable. --> - Bug fix (non-breaking change which fixes an issue) - New feature (non-breaking change which adds functionality) - Breaking change (existing functionality will not work without user modification) - Documentation update ## Screenshots Please attach before and after screenshots of the change if applicable. <!-- Example: | Before | After | | ------ | ----- | | _gif/png before_ | _gif/png after_ | To upload images to a PR -- simply drag and drop an image while in edit mode and it should upload the image directly. You can then paste that source into the above before/after sections. --> ## Checklist - [ ] I have read and understood the [contribution guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html) - [ ] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./isaaclab.sh --format` - [ ] I have made corresponding changes to the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have added a changelog fragment under `source/<pkg>/changelog.d/` for every touched package (do **not** edit `CHANGELOG.rst` or bump `extension.toml` — CI handles that) - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already exists there <!-- As you go through the checklist above, you can mark something as done by putting an x character in it For example, - [x] I have done this task - [ ] I have not done this task --> --------- Co-authored-by: nvsekkin <esekkin@nvidia.com>
…saac-sim#7312) # Description Backports isaac-sim#7301 to `release/3.0.0` by cherry-picking the canonical merged commit `f86b4e1ad66e637e7770a727e181ffe150a2077b`. This centralizes backend physics presets at the task-family composition roots: - Kuka Allegro reuses the shared lift physics configuration. - SO-101 reuses the shared stack physics configuration. - Flat velocity environments mutate robot-specific MJWarp values directly instead of defining preset subclasses. - Newton MJWarp velocity environments use two shared physics substeps, with no robot-specific substep overrides. - The corresponding Anymal-D Newton visualizer goldens and changelog fragments are included. The cherry-pick applied without conflicts, and all 21 affected files are byte-for-byte identical to the merged isaac-sim#7301 versions. ## Validation - `uv run --extra test --frozen python -m pytest -q source/isaaclab_tasks/test/core/test_velocity_newton_cfg.py source/isaaclab_tasks/test/core/test_lift_kuka_ovphysx_presets.py source/isaaclab_tasks/test/core/test_lift_env_cfg.py` — 8 passed. - Direct construction audit — all 10 affected Newton velocity configs use `num_substeps=2`; SO-101 and Kuka inherit the intended shared physics values. - Structural audit — no `PhysicsCfg(RoughPhysicsCfg)`, `KukaAllegroPhysicsCfg`, or `SO101StackPhysicsCfg` remains in task code; robot-specific velocity configs do not assign `.num_substeps`. - `uv run --frozen isaaclab -f` — all hooks passed, including changelog and Git LFS checks.
## Summary - Backport the RLinf platform-support clarification from isaac-sim#7314. - State that RLinf post-training supports Linux distributions only. - Remove Windows-specific instructions and `.bat` references. ## Test plan - [x] Run `git diff --check`. - [x] Verify the rendered reStructuredText structure and command tabs.
…-sim#7183, isaac-sim#7306, isaac-sim#7305, and isaac-sim#7303 (isaac-sim#7313) # Description Backports six merged PRs to `release/3.0.0` as separate provenance-preserving cherry-picks: | Source PR | Source commit | Backport commit | Scope | | --- | --- | --- | --- | | isaac-sim#7272 | `0081477fea2` | `c9fc1997476` | Fix scene-wide gravity distributions for PhysX and OvPhysX. | | isaac-sim#7121 | `9f65e3d4fd2` | `cce8acd84e1` | Fix backend-factory fallback before simulator initialization. | | isaac-sim#7183 | `3fcc9c6b824` | `99d58d3d3c4` | Streamline the getting-started documentation. | | isaac-sim#7306 | `6aad90be0ae` | `9a786cc028a` | Optimize Newton test runtime. | | isaac-sim#7305 | `1c9ba908cf1` | `a2dc8ce948e` | Disable Warp autodiff in the test suite. | | isaac-sim#7303 | `393fc37d2b0` | `249a5cb97d8` | Remove post-Hydra preset resolution. | isaac-sim#7272 forwards the validated `uniform`, `log_uniform`, or `gaussian` distribution through both scene-wide backend paths. Newton behavior is unchanged. isaac-sim#7121 makes factory resolution fall back to Newton when no `SimulationContext` exists while retaining the visualizer contract of reporting no active backend before context creation. isaac-sim#7183 is documentation-only. isaac-sim#7306 and isaac-sim#7305 change test infrastructure only; they do not change runtime behavior. isaac-sim#7303 makes `resolve_task_config` and `parse_env_cfg` the task-composition boundary. Runtime consumers now require concrete physics, renderer, and camera configurations and no longer attempt late preset fallback after Hydra composition. The branch was synchronized with the current `release/3.0.0` tip containing isaac-sim#7301 before isaac-sim#7303 was applied. All six source cherry-picks applied without conflicts. A file-by-file existence, mode, and blob audit confirmed that every isaac-sim#7303 path matches its merged source commit exactly. ## Validation ### isaac-sim#7272 - Regression verification against the unpatched `release/3.0.0` tip — both PhysX and OvPhysX cases failed as expected. - `uv run --extra test --frozen python -m pytest -q source/isaaclab/test/envs/test_gravity_randomization.py source/isaaclab/test/envs/test_mdp_event_selectors.py` — 7 passed. - `uv run --extra test --extra ovphysx --frozen python -m pytest -q source/isaaclab_ov/test/physics/test_ovphysx_gravity.py` — 1 passed. ### isaac-sim#7121 - Regression verification before the isaac-sim#7121 cherry-pick reproduced the original `NoneType.physics_manager` failure. - `uv run --extra test --frozen python -m pytest -q source/isaaclab/test/utils/test_backend_utils.py source/isaaclab/test/visualizers/test_visualizer.py` — 18 passed. ### isaac-sim#7183 - `uv run --frozen --extra test python -m pytest --noconftest -q tools/test/test_environ_docs.py` — 26 passed. ### isaac-sim#7306 - All 9 affected paths match the merged source PR exactly. - The full simulator-backed Newton suite is left to backport CI because this local worktree does not include the full Isaac Sim runtime. ### isaac-sim#7305 - Loaded the root `conftest.py` successfully with Warp unavailable. - Loaded it with Warp installed and confirmed `wp.config.enable_backward is False`. ### isaac-sim#7303 - Hydra and Shadow Hand camera suites — 129 passed. - Benchmark capture and RL entrypoint suites — 31 passed. - Experimental frontend and custom-coupling suites — 74 passed, 1 skipped. - Ruff and Ruff-format passed for every changed Python path. - Source/backport audit — 54 paths checked, 0 mismatches. - The Isaac Sim-backed integration case is left to CI because this local worktree is kitless. ### Repository gates - `git diff --check upstream/release/3.0.0...HEAD` — passed. --------- Signed-off-by: Sylvester Kaczmarek <16242628+sylvesterkaczmarek@users.noreply.github.com> Co-authored-by: Antoine RICHARD <antoiner@nvidia.com> Co-authored-by: Sylvester Kaczmarek <16242628+sylvesterkaczmarek@users.noreply.github.com> Co-authored-by: Mustafa H <34825877+StafaH@users.noreply.github.com>
# Description This follow-up closes the reopened documentation item from isaac-sim#7096 by using one command-scoped idiom for tetrahedralization dependencies everywhere they are needed. - Use `uv run --extra tetrahedralization` in every affected deformable and Newton example, including duplicated runnable commands. - Remove tetrahedralization setup guidance based on `uv sync --inexact` and the now-unneeded synchronization cross-references. - Update RSL-RL troubleshooting to retry with `uv run` without recommending plain `uv sync`, which could remove extras omitted from an exact synchronization. No additional dependencies are required. ## Validation - `uv run isaaclab -f` - Warning-free Sphinx build with `uv run --isolated --extra test -- python -m sphinx -W --keep-going -j auto docs <output-dir>` - Repository-wide audit of tetrahedralization-dependent `uv run` examples ## Type of change - Documentation update ## Release backport - [x] <!-- backport-active-release --> Backport this pull request to the active release branch after it merges into `develop` ## Screenshots Not applicable. ## 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 `uv run isaaclab -f` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there (cherry picked from commit b91abef)
This automated draft updates CI to the current Isaac Sim nightly image. | Field | Value | |---|---| | Image | `nvcr.io/0947644777160149/internal/isaac-sim` | | Moving tag | `latest-develop` | | Current pin | `latest-develop@sha256:e7cd73cd7a9a6621274bd3a1bacddfd4ac1a15f92893e6a10cfb6b8100762a0c` | | Candidate pin | `latest-develop@sha256:0944d66e9eb4b8f78574a70704d970ef4398fb7121b1fd865a27682b58f300bb` | Source: https://registry.ngc.nvidia.com/orgs/0947644777160149/teams/internal/containers/isaac-sim/tags New PRs are opened as drafts so maintainers can merge after the CI results are acceptable. ## Release backport - [x] <!-- backport-active-release --> Backport this pull request to the active release branch after it merges into `develop` Co-authored-by: isaaclab-bot[bot] <282401363+isaaclab-bot[bot]@users.noreply.github.com> (cherry picked from commit e31050c)
…isaac-sim#7321) ## Summary - Backport of isaac-sim#7287 (squash commit `d508d95`), cherry-picked with `-x`; applied with no conflicts and the diff is identical to develop. - Enable `enable-cache: true` for `astral-sh/setup-uv` in `docs.yaml` (both jobs), `kitless-docker.yml`, and `.github/actions/install-ci-run`. The composite action sets it explicitly rather than relying on the default `auto`, which enables the cache only on GitHub-hosted runners. - Enable `cache: pip` for `actions/setup-python` in `skills-check.yml`, `tools-tests.yml`, and `wheel.yml`, each keyed on its own workflow file so the jobs do not collide on one cache key. - Provision uv in the wheel job through `setup-uv` under a `wheel-extras` cache suffix, replacing the `pip install --user uv` bootstrap. - `resolve-ov-pins`, `nightly-changelog`, `changelog-check.yml`, and `test-multi-gpu.yaml` stay uncached; the inline comments explain why. CI-only change: no source package touched, so the changelog fragment is a `.skip`. ## Test plan - [x] `git diff` of this commit is byte-identical to the diff of `d508d95` on develop. - [x] Verified the `wheel.yml` context this depends on exists on `release/3.0.0` (`steps.changes.outputs.run_build`, and the `uv pip install` calls that now rely on `setup-uv` for `uv`). - [x] `uv run isaaclab -f` passes. `check-changelog-fragments` reports a pre-existing failure unrelated to this change (it defaults to `origin/develop`; with `ISAACLAB_CHANGELOG_BASE_REF=release/3.0.0` it reports all fragments valid). - [ ] Cache hit/save behavior confirmed by the CI runs on this PR. ## Follow-up (not in this backport) `install-ci-run`, both `docs.yaml` jobs, and the existing `license-check.yaml` all resolve to the same uv cache key (`setup-uv-1-x86_64-unknown-linux-gnu-3.12-pruned-<deps hash>`), since the hash covers the repo's dependency files rather than the job. Only one of them can save per ref; the others restore a mismatched payload and skip saving. That needs a `cache-suffix` fix on develop first, then a separate backport.
# Description Restore meaningful Franka cloth motion-vector regression coverage after isaac-sim#6998 changed the task to clamp the cloth between supports. - Raise the cloth by 1 cm for the Newton + OVRTX motion-vector case so it undergoes visible motion. - Preserve the OVRTX third-frame workaround tracked by NVBug 6565960. - Re-enable Newton + OVRTX cloth motion-vector coverage and refresh its golden. - Scope the controlled fall and extra frame strictly to Newton + OVRTX, leaving all other backend/renderer combinations unchanged. - Keep Newton + Isaac RTX quarantined under its existing nondeterminism policy. The third-frame workaround can be removed after the OVRTX fix is available in a post-GA release. ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Screenshots Updated Newton + OVRTX motion-vector golden:  ## 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 added a changelog fragment under `source/<pkg>/changelog.d/` for every touched package (do **not** edit `CHANGELOG.rst` or bump `extension.toml` — CI handles that) - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there ## Release backport - [x] <!-- backport-active-release --> Backport this pull request to the active release branch after it merges into `develop` (cherry picked from commit 553efa6)
## Summary - sync the automated active-release backport workflow and validation scripts from isaac-sim#7304 into `develop` - add the active-release opt-in checkbox to `develop`'s pull-request template - keep the automation files byte-for-byte aligned with the trusted default-branch copies This PR is itself opted in so that, after it merges into `develop`, the existing default-branch workflow will automatically replay the same change onto the active `release/3.0.0` branch. ## Type of change - New feature (non-breaking change which adds functionality) ## Validation - `uv run --frozen isaaclab -f` with the changelog hook skipped as in CI - `uv run --frozen python tools/changelog/cli.py check <develop-base> --include-worktree` - workflow YAML parsing and embedded Bash syntax validation - active-release checkbox marker parsing - byte-for-byte comparison of the automation scripts and workflow against merged isaac-sim#7304 Unit tests were intentionally not added because this replays the already tested repository-automation change from isaac-sim#7304. ## Release backport - [x] <!-- backport-active-release --> Backport this pull request to the active release branch after it merges into `develop` ## Checklist - [x] I have read and understood the contribution guidelines - [x] I have run the pre-commit checks - [x] My changes generate no new warnings - [ ] I have added tests that prove my change works (intentionally omitted; this syncs the tested isaac-sim#7304 implementation) - [x] Changelog fragment not applicable because no source package is touched - [x] My name already exists in `CONTRIBUTORS.md` (cherry picked from commit c985ea3)
# Description Removes the `flaky(max_runs=3, min_passes=1)` marker from the `Isaac-Reorient-Cube-Shadow-Camera-Direct` rendering-correctness parameter, along with its stale comment referencing a 3% diff threshold that no longer exists. The marker was added in isaac-sim#5401 as a stopgap while OVRTX render instability was outstanding. Across eight recent PR runs of the `rendering-correctness` job, this parameter passed on the first attempt every time without consuming a retry, so the marker now only serves to hide future regressions. ## Type of change - Test cleanup ## Release backport - [x] <!-- backport-active-release --> Backport this pull request to the active release branch after it merges into `develop` ## 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` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have added a changelog fragment under `source/<pkg>/changelog.d/` for every touched package (do **not** edit `CHANGELOG.rst` or bump `extension.toml` — CI handles that) - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there (cherry picked from commit 39d8fba)
## Summary - raise the pixel-difference tolerance only for Shadow Hand with Newton physics and Isaac RTX RGB/RGBA from 5% to 7%, while retaining the strict 0.985 SSIM gate - add targeted Cartpole default PhysX/RTX RGB/RGBA overrides: pixel difference 1.5% to 5% and SSIM 0.985 to 0.95 - leave every unrelated task, backend, renderer, and AOV threshold unchanged ## Rationale A cold CI capture reached 6.10% pixel difference for Shadow Hand while retaining 0.9933 or higher SSIM; its retry settled to 1.08% and 0.9994 or higher SSIM. The 7% limit leaves narrow headroom over the observed outlier instead of the previous 12% proposal. The same cold run reached 4.20% pixel difference and a minimum 0.9542 SSIM for Cartpole; its retry settled to 0.24% and 0.9999 SSIM. The 5% / 0.95 override is therefore close to the observed cold-frame boundary. The measurements are recorded in [the comparison run](https://github.com/isaac-sim/IsaacLab/actions/runs/32448029852/job/96682296368). ## Release backport - [x] <!-- backport-active-release --> Backport this pull request to the active release branch after it merges into `develop` ## Validation - `test_rendering_registered_tasks[Isaac-Cartpole-Camera-Direct-None-cartpole]`: passed with retries disabled - `test_rendering_shadow_hand[newton-isaacsim_rtx-rgb]`: passed with retries disabled; validates both RGB and RGBA - `source/isaaclab_tasks/test/test_parametrization_helpers.py`: 13 passed - pre-commit hooks: passed - changelog fragment check: passed (cherry picked from commit 5c84e99)
The desktop icon fix installed by icon_utils.py hardcoded StartupWMClass=IsaacSim, but Isaac Lab launches Kit with its own branded experience file (apps/isaaclab.python.kit), whose [package] title/version become the running window's WM_CLASS at runtime (e.g. "Isaac Lab 3.0.0"). Since GNOME matches a running window to its .desktop entry via StartupWMClass, the mismatch caused it to fall back to a generic icon. Derive the WM_CLASS from the experience file instead of hardcoding it. Also add matching desktop entries for the Newton GL and RTX viewer windows, which are separate applications with their own WM_CLASS (Newton, Newton RTX Viewer) and had no desktop entry at all, so they always showed a generic icon despite Newton GL already embedding a real icon via pyglet.
|
Too many files changed for review (542 files, 100 file limit). |
There was a problem hiding this comment.
Isaac Lab Review Bot
The host-side desktop-icon approach is appropriate, but the current integration misses first-start image creation and kitless Newton icon paths. Additional inconsistencies break the quickstart media generator, misdocument the Isaac Sim source-build workflow, and unnecessarily disable OVPhysX gravity behavior.
- Design and architecture: The icon installer correctly runs on the host and derives Kit's WM_CLASS from the container experience file. However, it is invoked before
ci.start()materializes the image, and its Newton lookup assumes an Isaac Sim filesystem even for kitless images. The Franka-soft OVPhysX preset also suppresses gravity events despite this patch adding live OVPhysX gravity updates. - API: The
install_desktop_iconsignature and container utility import pattern are consistent with existing code. The source-build skill is incompatible with the added--isaacsim_sourcecontract: it references anisaacsim-localextra and project-file edits that the implementation neither creates nor performs. - Implementation: Move icon extraction until after the image is available and add Newton icon candidates under the kitless
${ISAACLAB_PATH}/.venvlayout. Remove the obsolete Franka-soft OVPhysX gravity suppression. Correct the quickstart capture entry points from the nonexistentcapturemodule tocapture_quickstart, and align the installation skill with the live_isaac_simlink workflow.
Minor fixes needed. Posted 5 actionable findings inline.
The full PR diff was reviewed; some supplemental surrounding file context was omitted.
Automated review; human maintainers own approval decisions.
| ci.environ.update(x11_envar) | ||
| # install the Isaac Sim desktop icon on the host so that GNOME shows the | ||
| # correct icon for the running container window (not the generic Omniverse one) | ||
| icon_utils.install_desktop_icon( |
There was a problem hiding this comment.
🟡 Warning · Implementation — Icon install runs before the image exists
install_desktop_icon runs before ci.start(), which is what materializes/builds the image. On a first start the tag is not present locally, so docker create fails, cid is empty, and the function returns after printing a warning — the icons this PR adds are silently never installed on the run that most needs them. Move the call after ci.start().
| # i.e. the one whose window would actually show a taskbar icon. | ||
| _EXPERIENCE_FILE_IN_IMAGE = "{isaaclab_path}/apps/isaaclab.python.kit" | ||
|
|
||
| # The Newton GL/RTX viewers (newton.viewer.ViewerGL / ViewerRTX, both pyglet windows) are |
There was a problem hiding this comment.
🟡 Warning · Implementation — Newton icon lookup misses kitless images
Every Newton icon candidate is rooted at isaacsim_root (/isaac-sim). Dockerfile.kitless installs Newton into ${ISAACLAB_PATH}/.venv/lib/python3.12/site-packages, and that image has no /isaac-sim, so container.py start kitless always fails extraction and writes no Newton entries. Add candidates derived from isaaclab_path and pass it into _install_newton_desktop_icons.
| uv run python scripts/tutorials/00_sim/create_empty.py --viz kit | ||
| ``` | ||
|
|
||
| - Isaac Sim source build (`installation-method-source`) runs the same script against the locally built Isaac Sim wheels: |
There was a problem hiding this comment.
🟡 Warning · Implementation — Source-build skill describes a wheel workflow
This guidance tells agents to run --extra isaacsim-local and says --isaacsim_source writes find-links and that extra into pyproject.toml. The command added here builds incrementally, links _isaac_sim, and explicitly leaves pyproject.toml/uv.lock unchanged, so the extra does not exist and verification fails. Match the live-link workflow documented in the installation guide.
| @@ -660,6 +667,25 @@ def __post_init__(self) -> None: | |||
| self.sim.render_interval = self.decimation | |||
| self.sim.physics = PhysicsCfg() | |||
|
|
|||
| # OVPhysX does not expose a runtime gravity setter. | |||
There was a problem hiding this comment.
🟡 Warning · Design Architecture — OVPhysX gravity suppression contradicts new setter
The comment states OVPhysX has no runtime gravity setter, but this PR adds OvPhysxManager.set_gravity and an ovphysx branch in randomize_physics_scene_gravity, and removes exactly this suppression from the Kuka-Allegro configs. The new OVPhysX Franka-soft preset therefore silently loses gravity randomization and curriculum. Drop the OVPhysX-specific events/curriculum overrides.
| from isaaclab_tasks.utils import resolve_task_config, setup_preset_cli | ||
|
|
||
| _TASK_CONFIGS = { | ||
| "Isaac-Cartpole": "capture:CartpoleCaptureCfg", |
There was a problem hiding this comment.
🟡 Warning · Implementation — Capture entry points name a missing module
_TASK_CONFIGS registers "capture:<Cfg>" entry points, but the file is capture_quickstart.py and generate_quickstart.sh imports it as capture_quickstart. No capture module is added, so resolve_task_config cannot import the replacement config and every record_policy invocation fails. Use capture_quickstart:<Cfg> or register the classes directly.
Description
Important
Confirm the pull request base before submitting. Target
developfor allcontributions. The
release/3.0.0-beta2branch is a frozen stable landingsnapshot and is not used for ongoing maintenance.
Fix desktop icon to Kit, Newton GL, and Newton RTX Visualizers
Type of change
Release backport
developScreenshots
Please attach before and after screenshots of the change if applicable.
Checklist
Docker and GPU tests run on demand. Push the commits you want tested, then
comment
run-cion the pull request.pre-commitchecks with./isaaclab.sh --formatsource/<pkg>/changelog.d/for every touched package (do not editCHANGELOG.rstor bumpextension.toml— CI handles that)CONTRIBUTORS.mdor my name already exists there