Repository navigation
[Backport release/3.0.0] Complete September 19-20 develop backports (#7530, #7899) - #7926
Conversation
(cherry picked from commit 31d1c53)
|
| return | ||
| supported = {str(kind) for kind in supported_specs} | ||
| unsupported = sorted(set(self.data_types) - supported) |
There was a problem hiding this comment.
OVRTX combinations pass validation
This checks each requested output independently, so an OVRTX camera requesting both rgb and simple_shading_full_mdl passes validate() even though those outputs cannot share one render product. The same gap allows multiple simple-shading modes. These configurations then raise during renderer setup, defeating the new early compatibility check.
Knowledge Base Used:
|
run-ci |
There was a problem hiding this comment.
Isaac Lab Review Bot
The backport centralizes camera output capability contracts on renderer configs and uses recursive configclass validation to reject incompatible camera/renderer combinations before simulator startup. The shared validation path correctly replaces the removed Shadow Hand and Lift-specific Newton guards.
- Design and architecture: The backend-agnostic RendererCfg.supported_output_types() contract is coherent across Newton, OVRTX, and Isaac RTX. Post-order traversal reaches nested CameraCfg instances while excluding arbitrary non-configclass objects, preserving the intended ownership boundaries.
- API: RendererCfg.supported_output_types() is additive, and its None default preserves deferred validation for dynamically selected renderers. Concrete configs return fresh mappings with the established output names and layouts; runtime Isaac RTX filtering for Isaac Sim versions before 6 remains intact.
- Implementation: The validation traversal reports missing fields before invoking custom hooks, then runs nested hooks before their owners. Camera compatibility checks compare requested data types against the selected config contract, while runtime renderer checks remain available for dynamic or version-dependent capabilities. The main residual tradeoff is that pre-6 Isaac RTX limitations cannot be detected from the config-only contract and therefore remain deferred to renderer initialization.
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.
Include the complete ownership, cfg identity, lifecycle, tests, and migration documentation change. Preserve the release branch's OVRTX mapping API and its documentation and regression tests when resolving the two cherry-pick conflicts. (cherry picked from commit c90c3a1)
|
run-ci |
…ng docs (#7957) 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: - #7722 (`4cf439dfeb`): reject a second `SimulationContext` construction instead of silently discarding its configuration. Includes the original fixture cleanup and regression coverage. - #7893 (`22fcd71bc4`): validate DelayBuffer lag values before mutating its live configuration. - #7947 (`6e9ef17f59`): make `v3.0.0-EA` the default documentation version in deployment and local multi-version builds. - #7129 (`354168560f`): clarify that `replicate_physics=False` skips the active physics context while other declared replication contexts still run. **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. <details> <summary>Already covered PRs</summary> 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. </details> ## 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](https://github.com/isaac-sim/IsaacLab/actions/runs/35795116307/job/106972539281) 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. --------- Co-authored-by: hujc <jichuanh@nvidia.com> Co-authored-by: Zihan Xu <2024010904024@std.uestc.edu.cn>
Description
Backports the two changes merged into
developsince September 19 that are still missing fromrelease/3.0.0:31d1c53510490c76841e9c35a329574b357d9900c90c3a1097a0a669a823b880b1c8d0654d7fd267Includes the original regression tests, API documentation, and changelog fragments. #7530 applied without changes. #7899 required two conflict resolutions to retain the release branch's OVRTX mapping API, documentation, and tests. Of its 62 files, 59 match the merged source exactly; the other three retain those existing release additions. Release versions, lockfile entries, compiled changelogs, and documentation routing are preserved.
Audit
Checked all 33 PRs merged from September 19, 2026 00:00 America/Los_Angeles through
developcommitc90c3a1097(September 20, 21:29 Pacific), against release base75e9c8ce12. 31 are already backported; the remaining two are included here. Git first-parent history and GitHub's merged PR list agree. Automatic changelog/version compilation remains branch-specific.31 PRs already recorded in release
ff22c5289141bfaee5f0970d21ef48f0563d1f9edca7cfe9845dd2220243b8b93bb96ebaa025ad90f86b33e6b124f7b4842b9738e096c8be270ed88b80157aa22d01b59b5a22db7db61f60bca9dba8bbef1514c97c7d6979a19ea1dd560b98892e51dc1d75e9c8ce12Validation
745 tests passed on the combined backport:
The registry-identity and borrowed-config-field regressions both fail with the pre-backport implementations and pass with this change. Backport file-scope validation, source-file comparison,
git diff --check, anduv run isaaclab -fpassed.Local validation used PyTorch 2.12.0/CUDA 13.0, Isaac Sim 6.0.1.0, Newton 1.6.0rc1, and an RTX 5090. Existing deprecation/runtime warnings occurred. Full Docker CI is requested separately against the pinned environment; local checks do not claim a startup or runtime speedup.
Checklist