Skip to content

[Backport release/3.0.0] Complete September 20–23 backports and cloning docs - #7957

Merged
ooctipus merged 5 commits into
isaac-sim:release/3.0.0from
ooctipus:backport/cloning-guide-7129-release-3.0
Sep 24, 2026
Merged

ooctipus merged 5 commits into
isaac-sim:release/3.0.0from
ooctipus:backport/cloning-guide-7129-release-3.0

Conversation

@ooctipus

@ooctipus ooctipus commented Sep 22, 2026 •

Copy link
Copy Markdown
Collaborator

Backports the three changes from the September 20–23 develop audit that are missing from release/3.0.0, alongside the existing cloning-guide backport:

Compatibility: repeated SimulationContext(...) calls now raise. Retrieve the live context with SimulationContext.instance(), or call clear_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 develop from 2026-09-20 16:43:18 UTC through cff81e8473 (September 23), against release head 5d3e0b695e. 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

  • 276 tests passed: SimulationContext (51, including CPU/CUDA), headless context construction (15), nine schema/fragment suites (165), four manager suites (38), and DelayBuffer (7).
  • Both backported regressions reproduce with the original release implementations.
  • Docs redirect recipe: local/deployment EA defaults, explicit override, and missing-target rejection passed with a stubbed Sphinx builder.
  • All 22 changed files match the intended backport scope; uv run isaaclab -f and git diff --check passed.
  • Fresh Sphinx validation (-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.

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)
@ooctipus
ooctipus requested a review from a team September 22, 2026 22:58
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Sep 22, 2026

@isaaclab-review-bot isaaclab-review-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@greptile-apps

greptile-apps Bot commented Sep 22, 2026

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 5/5

The PR appears safe to merge because the new documentation matches the replication dispatcher and tested scene behavior.

Summary

This documentation-only backport clarifies replication behavior when physics replication is disabled:

  • The active physics replication context is skipped.
  • Other declared contexts, including configured USD replication, continue running.
  • The physics backend can parse the resulting per-environment prims independently.

Reviews (1) · Last reviewed commit: "Clarify cloning without physics replicat..."

@ooctipus

Copy link
Copy Markdown
Collaborator Author

run-ci

@isaaclab-bot isaaclab-bot Bot added ci:run-docker Trigger the on-demand Docker and GPU CI workflow and removed ci:run-docker Trigger the on-demand Docker and GPU CI workflow labels Sep 23, 2026
ooctipus and others added 4 commits September 23, 2026 09:49
…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)
@ooctipus ooctipus changed the title [Backport release/3.0.0] Clarify physics replication (#7129) [Backport release/3.0.0] Complete September 20–23 backports and cloning docs Sep 23, 2026
@github-actions github-actions Bot added isaac-lab Related to Isaac Lab team infrastructure labels Sep 23, 2026
@ooctipus

Copy link
Copy Markdown
Collaborator Author

run-ci

@isaaclab-bot isaaclab-bot Bot added ci:run-docker Trigger the on-demand Docker and GPU CI workflow and removed ci:run-docker Trigger the on-demand Docker and GPU CI workflow labels Sep 23, 2026
@ooctipus
ooctipus merged commit 94b9091 into isaac-sim:release/3.0.0 Sep 24, 2026
83 of 84 checks passed
@ooctipus ooctipus self-assigned this Sep 25, 2026
@ooctipus ooctipus added this to the Isaac Lab 3.0 GA milestone Sep 25, 2026
@ooctipus
ooctipus deleted the backport/cloning-guide-7129-release-3.0 branch October 14, 2026 14:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation infrastructure isaac-lab Related to Isaac Lab team

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants