Repository navigation
[Backport release/3.0.0] Complete September 20–23 backports and cloning docs - #7957
Conversation
Adapt isaac-sim#7129 to the release clone-context API. The retired template cloning and copy_from_source guidance is already absent on this branch. Preserve its current examples and PhysX collision-filtering guidance. (cherry picked from commit 3541685)
There was a problem hiding this comment.
Isaac Lab Review Bot
This documentation-only backport clarifies the effect of replicate_physics=False in the cloning workflow. The addition is narrowly scoped and fits the existing global-only plan example and replication-order discussion.
- Design and architecture: The paragraph preserves the documented multi-context replication model: the active physics context is skipped while other declared contexts, including configured USD replication, may still execute. Its placement directly after the relevant example makes the distinction clear.
- API: No public API, configuration default, export, or type contract is changed. The text documents the existing
cloner.replicate(plan, replicate_physics=False)usage already shown in the surrounding example. - Implementation: Only prose was added. Existing code blocks, section structure, collision-filtering guidance, and references remain intact. The included change contains no source implementation to independently retrace beyond the documented context-dispatch flow.
No blocking issues. No inline issue met the actionable-evidence threshold; the assessment above records the review feedback.
Automated review; human maintainers own approval decisions.
|
|
run-ci |
…7722) Separate `SimulationContext` construction from lookup. A second construction previously returned the live singleton and silently discarded its configuration, including a requested device change (NVBug 6677911). - `SimulationContext(cfg)` constructs a context and raises if one already exists, including no-argument construction or re-passing the same cfg. - `SimulationContext.instance()` retrieves the live context. - `SimulationContext.clear_instance()` releases it before constructing a replacement. Removed the singleton-reusing `__new__`, configuration/device comparison helper, and warn-and-ignore path. Native-backend sharing remains the registry's responsibility; this change does not alter it or introduce concurrent simulation contexts. The follow-up removes 49 production lines compared with the previous PR revision. Thirteen existing test suites now release the contexts they construct instead of accidentally borrowing a previous test's context. No production caller migration was needed. **Breaking:** callers using repeated `SimulationContext(...)` as lookup must switch to `SimulationContext.instance()`. To apply a new configuration, tear down with `clear_instance()` before constructing again. The class documentation and major changelog fragment include this migration. - Verified the revised singleton regression test fails on the previous implementation and passes with the fix. - GPU 0 / CPU: `test_simulation_context.py`: **51 passed**; `test_build_simulation_context_headless.py`: **15 passed**, run in separate processes because each launches Kit. - Nine schema/fragment suites: **165 passed**. - Four manager suites: **38 passed**. Total: **269 passed**. - `uv run --no-sync isaaclab -f`: passed, including changelog validation against the PR merge base. - Bug fix - Breaking change with migration guidance - [ ] <!-- backport-active-release --> Backport this pull request to the active release branch after it merges into `develop` - [x] Read the contribution guidelines - [x] Ran formatting and lint checks - [x] Updated public API documentation and migration guidance - [x] Added no new runtime warnings - [x] Verified the regression test fails before the fix and passes afterward - [x] Added a changelog fragment for the changed package - [x] Contributor already listed in `CONTRIBUTORS.md` --------- Co-authored-by: Octi Zhang <zhengyuz@nvidia.com> (cherry picked from commit 4cf439d)
Fixes isaac-sim#7793 DelayBuffer.set_time_lag currently writes the requested lag into the live tensor before validating the resulting range. If validation raises, the invalid value remains in the buffer and later compute() calls use it. This validates the requested scalar or tensor delays before assigning them to the live tensor. Invalid inputs raise immediately without changing the lag tensor or its cached bounds. Valid updates retain the existing tensor identity, without cloning the full buffer state. - [x] Bug fix (non-breaking change which fixes an existing issue) - [x] I have run the pre-commit checks - [x] I have added regression coverage for the rejected scalar and tensor updates - [x] I have added a changelog fragment Validation: all 7 tests in test_delay_buffer.py passed. The added early-validation regression failed against the previous clone-based implementation and passed with this change. Additional CPU and CUDA checks covered valid full/subset updates, empty selections, rejected inputs, tensor identity, cached bounds, and subsequent delayed output. Full pre-commit checks and git diff --check passed. --------- Signed-off-by: Xu Zihan <2024010904024@std.uestc.edu.cn> Co-authored-by: Octi Zhang <zhengyuz@nvidia.com> (cherry picked from commit 22fcd71)
Adapt the release redirect recipe so local multi-version builds and the deployment workflow share the EA default and reject missing target pages. (cherry picked from commit 6e9ef17)
|
run-ci |
Backports the three changes from the September 20–23
developaudit that are missing fromrelease/3.0.0, alongside the existing cloning-guide backport:4cf439dfeb): reject a secondSimulationContextconstruction instead of silently discarding its configuration. Includes the original fixture cleanup and regression coverage.22fcd71bc4): validate DelayBuffer lag values before mutating its live configuration.6e9ef17f59): makev3.0.0-EAthe default documentation version in deployment and local multi-version builds.354168560f): clarify thatreplicate_physics=Falseskips the active physics context while other declared replication contexts still run.Compatibility: repeated
SimulationContext(...)calls now raise. Retrieve the live context withSimulationContext.instance(), or callclear_instance()before constructing a replacement. The original major changelog fragment includes this migration.The runtime and test files match current
develop. The docs-default backport adapts the release branch's existing redirect template, validates the target page, and preserves explicit overrides. The cloning-guide backport preserves the current release APIs; its obsolete sections were already removed.Release audit
Checked all 35 PRs merged into
developfrom 2026-09-20 16:43:18 UTC throughcff81e8473(September 23), against release head5d3e0b695e. 32 are already covered; the remaining three are included here. Git history, patch equivalence, GitHub's merged PR list, and remaining file differences were checked. Branch-specific version/changelog compilation and existing release-only changes are preserved.Already covered PRs
26 have an equivalent patch in release: #7919, #7922, #7923, #7924, #7925, #6758, #7928, #7902, #7927, #7891, #7931, #7691, #7861, #7929, #7916, #7939, #4609, #7942, #7940, #7948, #7937, #7955, #7960, #7961, #7970, #7958.
Six were squash-merged or adapted: #7530 and #7899 in #7926; #7637 in #7933; #7860 in #7936; #7954 and #7950 in #7964. Their implementation differences were checked against the current release tree.
Validation
uv run isaaclab -fandgit diff --checkpassed.-b dummy -W --keep-going): passed without warnings, excluding static assets as the HTML builder does. Full HTML documentation CI is running.Local runtime validation used PyTorch 2.12.0, CUDA 13.0, Isaac Sim 6.0.1.0, and an RTX 5090. Existing runtime/deprecation warnings occurred; the CI jobs validate the pinned environments.
The previous docs CI failure was an external connection reset fetching the Omniverse intersphinx inventory, producing one warning under
-W. That URL returned HTTP 200 when rechecked. This update starts a fresh docs build.