This release introduces the capability to export a scene plus a complete trajectory as a standalone archive that can be loaded on any machine while ensuring bit-exact replay using gs replay. The objective is making bug report much easier in the future. Only the rigid solver is supported for now. Beyond that, the static description of entities is now clearly separated from runtime getters to avoid confusion. Finally, a large number of minor bugs have been fixed, most of them related to asset parsing.
New Features
- [BREAKING] Support applying an external wrench at any local point on a link. (@Milotrince) (#3143)
- [BREAKING] Apply morph pose offset to velocity/acceleration getters. (@Milotrince) (#3250)
- [BREAKING] Share a scene as a file that opens without its assets. (@duburcqa) (#3281, #3288, #3294)
- Save and restore a built scene in memory. (@duburcqa) (#3309, #3303)
- Record and replay a trajectory to a file that opens without its assets. (@duburcqa) (#3309)
Bug Fixes
- Always give recorded videos a valid default filename. (@duburcqa) (#3228)
- Make successive trajectories bit-identical from the reset onwards. (@duburcqa) (#3230)
- Support FEM vertex constraints and topology queries in multi-entity scenes. (@jeetrex17) (#3239)
- Support envs_idx mask in FEM vertex constraints. (@jeetrex17) (#3241)
- Support broadcasting inverse kinematics targets in batched scenes. (@jeetrex17) (#3247)
- Fix moving debug objects in batched scenes. (@duburcqa) (#3255)
- Fix parsing URDF for partially specified dynamics attributes. (@catplotlib) (#3262)
- Fix multidimensional tensor recording as CSV file. (@CoffeeDrivenCoder) (#3266)
- Fix 'RigidEntity.plan_path' ignoring runtime joint limits. (@duburcqa) (#3278)
- Preserve URDF mimic joint relations when scaling robots. (@ktyang512) (#3271)
- Fix buggy hibernation on GPU and correctly report resting force. (@duburcqa) (#3297)
- Report a zero velocity for a body that fell asleep. (@duburcqa) (#3300)
- Fix COM frames of fixed links on aligned bodies breaking thrust points. (@jeetrex17) (#3283)
- Support offscreen rendering with OSMesa. (@duburcqa) (#3302)
- Apply MeshSet member poses to sampled particles. (@jeetrex17) (#3305)
- Keep the authored mass and inertia of fixed links on aligned free bodies. (@duburcqa) (#3304)
- Recover a usable inertia for URDF links stating a zero mass or inertia. (@Milotrince) (#3261)
- Leave links fixed to the world out of the potential energy. (@duburcqa) (#3311)
- Fix dynamics of attached entities and resolve assets identically in every precision. (@duburcqa) (#3311)
- Fix scaling wrongly applied for in-memory URDF file morph. (@jeetrex17) (#3313)
- Correct a rigid-PBD attachment over the substep interval rather than the whole step. (@duburcqa) (#3237)
- Honor the textures of URDF materials. (@duburcqa) (#3319)
- Fix convex collision detection on geom pairs of very different sizes. (@duburcqa) (#3321)
Miscellaneous
- [BREAKING] Stop offering a checkpoint that restores a fraction of the state. (@duburcqa) (#3228)
- [BREAKING] Separate the static description of a rigid entity from its runtime state. (@duburcqa) (#3281)
- [BREAKING] Read gravity, time and mass from the solver that owns them. (@duburcqa) (#3237)
- [BREAKING] Register a recorder with 'Scene.add_recorder'. (@duburcqa) (#3309)
- [BREAKING] Drop the rotation of a recorder's file on reset.(@duburcqa) (#3309)
- Average the joint-space inertia over every degree of freedom of the scene. (@duburcqa) (#3237)
- Solve the mass matrix for the active trees of a partly hibernated entity. (@duburcqa) (#3237)
- Support instantiating solver options before Genesis is initialized. (@duburcqa) (#3281)
- Let a kinematic entity be attached onto another kinematic one. (@duburcqa) (#3228)
- Remove dockerfiles. (@duburcqa) (#3227)
- Support negative indices for env and entity index args. (@jeetrex17) (#3165)
- Support Inverse Kinematics and Jacobians for any entity unconditionally. (@duburcqa) (#3233)
- Enable cross-platform window-less offscreen rendering. (@duburcqa) (#3238, #3242)
- More representative rigid benchmarks suite. (@hughperkins) (#3249, #3260)
- Add sync-free padded layout to get_contacts. (@hughperkins) (#3253)
- Speed up raycast BVH rebuild by removing atomic contention in the scene-extent reduction. (@Kashu7100) (#3162)
- Report baking USD materials failures traceback. (@duburcqa) (#3298)