Commit 4e6af98
# Description
Backport of #7233 (*Replace map transforms with pre-owned and reused
buffer*) to `release/3.0.0`.
This supersedes #7300, which was the original cherry-pick by @pbarejko.
That PR was approved on 2026-08-24 but has been unmergeable
(`mergeable=false`, `dirty`) ever since, so the fix never reached the
release branch. Authorship of the commit is preserved as @pbarejko.
## Why it conflicted
`ovrtx_renderer.py` diverged structurally between `develop` and
`release/3.0.0`. The backport of #7347 (landed as #7353) was not a
line-for-line cherry-pick — on `develop` #7347 changed 11 lines of that
file, while the release-side version changed 1348 (240+/1108−) and
restructured code that now only exists in that shape on the release
branch:
- `_close_legacy` was rewritten from explicit per-binding unbinds into a
`for attr, name in (...)` loop
- `except Exception as e` was renamed to `as exc`
- the close dispatch was restructured
The three-week-old cherry-pick was written against the pre-#7353 shape,
hence the conflicts.
## Conflict resolution
- The four renderer conflicts covering the buffer-write change itself
take the #7233 side.
- `_close_legacy` keeps **the release branch's** loop form and adds only
#7233's semantic contribution (`self._object_transform_buffer = None`).
Taking `develop`'s shape here would have silently reverted #7353.
- The test-file conflict was an add/add at the same line; all three
tests are kept.
- The follow-up `Reformat` commit was a single blank line already
covered by the resolution, so it drops out as a no-op.
## One deliberate change from the original PR
#7233 predates #7169, so it wrote
`cuda_stream=wp.get_stream(self._device).cuda_stream`. `release/3.0.0`
has since taken #7169 and standardized on
`self._warp_device.stream.cuda_stream` — that caching *is* #7169's fix.
Applying the original patch verbatim would have reintroduced a per-call
device lookup into the per-frame transform path, partially undoing a fix
already on the branch.
Both new call sites and the two new tests are aligned to the release
idiom instead. This is the one substantive delta from what was approved
on #7300 and is the part most worth a reviewer's attention.
## Type of change
- Bug fix (non-breaking change which fixes an issue)
## Release backport
This PR targets `release/3.0.0` directly; the change is already on
`develop` via #7233.
## Testing
- `source/isaaclab_ov/test/test_ovrtx_deformable_bindings.py` — 19
passed
- `source/isaaclab_ov/test/test_ovrtx_renderer_contract.py` — 37 passed
- Both new tests (`test_update_transforms_writes_caller_owned_buffer`,
`test_update_camera_writes_without_mapping`) were confirmed to **fail**
against the unpatched release renderer and pass with the change.
## 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
- [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
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
Co-authored-by: Piotr Barejko <pbarejko@nvidia.com>
1 parent 91b540d commit 4e6af98
4 files changed
Lines changed: 95 additions & 15 deletions
File tree
- source/isaaclab_ov
- changelog.d
- isaaclab_ov/renderers
- test
Lines changed: 4 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
Lines changed: 37 additions & 15 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
85 | 85 | | |
86 | 86 | | |
87 | 87 | | |
88 | | - | |
89 | 88 | | |
90 | 89 | | |
91 | 90 | | |
| |||
422 | 421 | | |
423 | 422 | | |
424 | 423 | | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
425 | 431 | | |
426 | 432 | | |
| 433 | + | |
427 | 434 | | |
428 | 435 | | |
429 | 436 | | |
| |||
563 | 570 | | |
564 | 571 | | |
565 | 572 | | |
| 573 | + | |
566 | 574 | | |
567 | 575 | | |
568 | 576 | | |
| |||
719 | 727 | | |
720 | 728 | | |
721 | 729 | | |
722 | | - | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
| 733 | + | |
| 734 | + | |
| 735 | + | |
| 736 | + | |
723 | 737 | | |
724 | 738 | | |
725 | 739 | | |
| |||
729 | 743 | | |
730 | 744 | | |
731 | 745 | | |
732 | | - | |
733 | | - | |
734 | | - | |
735 | | - | |
736 | | - | |
737 | | - | |
738 | | - | |
739 | | - | |
740 | | - | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
741 | 761 | | |
742 | 762 | | |
743 | 763 | | |
| |||
801 | 821 | | |
802 | 822 | | |
803 | 823 | | |
804 | | - | |
805 | | - | |
806 | | - | |
807 | | - | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
808 | 829 | | |
809 | 830 | | |
810 | 831 | | |
| |||
1063 | 1084 | | |
1064 | 1085 | | |
1065 | 1086 | | |
| 1087 | + | |
1066 | 1088 | | |
1067 | 1089 | | |
1068 | 1090 | | |
| |||
Lines changed: 53 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
590 | 590 | | |
591 | 591 | | |
592 | 592 | | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
682 | 682 | | |
683 | 683 | | |
684 | 684 | | |
| 685 | + | |
685 | 686 | | |
686 | 687 | | |
687 | 688 | | |
| |||
0 commit comments