|
3 | 3 |
|
4 | 4 | * Added golden image correctness tests for :class:`~isaaclab_visualizers.kit.KitVisualizer` and |
5 | 5 | :class:`~isaaclab_visualizers.newton.NewtonVisualizer` in both viewport and tiled-camera capture |
6 | | - modes, covering PhysX and Newton MJWarp physics backends. Each combination is compared against |
7 | | - a committed reference image using a dual-gate (per-pixel L2 norm + SSIM) system adapted from the |
8 | | - renderer correctness tests, with per-visualizer pixel-diff and SSIM thresholds tuned to each |
9 | | - backend's rendering determinism. |
| 6 | + modes, covering PhysX and Newton MJWarp physics backends across four scenes (cartpole, shadow |
| 7 | + hand, AnymalD, and franka cloth). Each combination is compared against a committed reference |
| 8 | + image using a dual-gate (per-pixel L2 norm + SSIM) system adapted from the renderer correctness |
| 9 | + tests, with per-visualizer pixel-diff and SSIM thresholds tuned to each backend's rendering |
| 10 | + determinism. |
| 11 | + |
| 12 | +Fixed |
| 13 | +^^^^^ |
| 14 | + |
| 15 | +* Fixed incomplete tiled camera renders for the PhysX physics backend in golden-image and |
| 16 | + tiled-camera integration tests. :class:`~isaaclab_visualizers.newton.NewtonVisualizer` skipped |
| 17 | + ``_log_camera_sensor_image()`` when the Newton physics state was unavailable (PhysX backend), |
| 18 | + leaving all owned tiled cameras with zero renderer updates during physics warmup; only env 0 |
| 19 | + rendered correctly. The capture helper now pumps ``camera_sensor.update()`` for |
| 20 | + ``_TILED_CAMERA_SENSOR_WARMUP_UPDATES`` iterations before sampling, matching the warmup already |
| 21 | + applied to Kit viewport and Newton viewer paths. |
| 22 | + |
| 23 | +* Fixed :class:`~isaaclab_visualizers.kit.KitVisualizer` silently skipping tiled camera sensor |
| 24 | + creation in headless mode even when ``--enable_cameras`` is active. The camera sensor is now |
| 25 | + always created when camera rendering is available; only the interactive UI image window is |
| 26 | + suppressed in headless mode. |
| 27 | + |
| 28 | +* Fixed cross-test contamination in golden image tests when tiled-camera and viewport captures |
| 29 | + run sequentially in the same process. Three sources were addressed: (1) the stale |
| 30 | + :class:`~isaaclab_newton.physics.NewtonManager` shadow model from the tiled stage persisting |
| 31 | + into the viewport test on the PhysX backend (cleared in the between-test prepare step); |
| 32 | + (2) CUDA RNG state drift causing the initial cartpole pole angle to differ between isolated |
| 33 | + and suite runs (seed is now applied immediately before ``env.reset()``); and (3) test ordering |
| 34 | + in both golden test files reordered to run tiled captures before viewport captures to prevent |
| 35 | + RTX render-product state from contaminating tiled camera output. |
| 36 | + |
| 37 | +* Fixed false-passing golden image tests caused by ``np.frombuffer`` returning a read-only view |
| 38 | + of the annotator's internal buffer rather than an independent snapshot. When Replicator reuses |
| 39 | + the same buffer in place, both the start-frame and end-frame captures reflected the same |
| 40 | + (current) buffer contents, producing zero pixel differences. The frame capture helper now calls |
| 41 | + ``.copy()`` to take an independent snapshot at capture time. |
0 commit comments