- Add core/compat.py: compatibility module with try/except imports
supporting both IS 4.x (omni.isaac.*) and IS 5.x+ (isaacsim.*)
- Migrate 152 imports across 47 files from direct omni.isaac.* to core.compat
- Handle class renames: RigidPrim→SingleRigidPrim, GeometryPrim→SingleGeometryPrim,
XFormPrim→SingleXFormPrim, Articulation→SingleArticulation (aliased for compatibility)
- Add migerate/migrate_imports.py: automated migration script for future use
- Leave debug_draw and env_loader try/except imports as-is
This eliminates ~100 deprecation warnings from our code on IS 5.0,
and future-proofs for IS 6.x when old APIs may be removed.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add scipy Rotation scalar_first monkey-patch for older scipy (<1.11)
- Fix SimulationApp import to support both IS 4.x and 5.x
- Reuse task object across reset() calls to prevent duplicate prims
- Add _scene_initialized guard in set_up_scene() for repeated resets
- Cache arena_file_path to survive task_cfg.pop()
- Clean up collision groups before re-creating
- Switch to PathTracing renderer for clean output on Blackwell GPU
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>