Make constraint island discovery on by default.

Also fix latent bug in mjData serialization.

PiperOrigin-RevId: 799505349
Change-Id: I299e7cc8133fa2ec0b339a7ff3d02543e06778b1
This commit is contained in:
Yuval Tassa
2025-08-26 04:26:30 -07:00
committed by Copybara-Service
parent 4cf5c37211
commit ec94bb49aa
27 changed files with 147 additions and 81 deletions
+12
View File
@@ -7,9 +7,16 @@ Upcoming version (not yet released)
General
^^^^^^^
- Constraint island discovery and construction, previously an experimental feature, is now :ref:`documented<soIsland>`
and promoted to default; disable it with :ref:`option/flag/island <option-flag-island>`. We expect islanding to be
a strict improvement over the monolithic constraint solver, please let us know if you experience any issues.
.. admonition:: Breaking API changes
:class: attention
- The promotion of islanding to default involved removing the enable flag ``mjENBL_ISLAND`` and
converting it to a disable flag :ref:`mjDSBL_ISLAND <mjtDisableBit>`.
- The update of ``mjData.qacc_warmstart`` was moved from the end of the solver call (:ref:`mj_fwdConstraint`) to the
end of :ref:`mj_step`, and is now updated with all other state variables. This change makes :ref:`mj_forward`
fully idempotent.
@@ -43,6 +50,11 @@ MJX
- ``ten_length`` was moved from ``mjx.Data._impl.ten_length`` to a public field ``mjx.Data.ten_length``.
Bug fixes
^^^^^^^^^
- Fixed a latent bug where MjData objects were not serialized correctly by the Python bindings when islanding was
enabled.
Version 3.3.5 (August 8, 2025)
------------------------------