Add pluggable resource writing to MuJoCo

Extend mjpResourceProvider with an optional write callback (write)
so that mj_encode, mj_saveXML, and mj_saveModel can write to any
registered provider.

PiperOrigin-RevId: 945202741
Change-Id: I37903425260932e555f4a8c2392c4ff8c2e6cc06
This commit is contained in:
Sam Haves
2026-07-09 10:47:01 -07:00
committed by Copybara-Service
parent bdeb7e7c4d
commit dc7581acfa
18 changed files with 324 additions and 83 deletions
+11
View File
@@ -1639,6 +1639,17 @@ Close a resource; no-op if resource is NULL.
Set buffer to bytes read from the resource and return number of bytes in buffer;
return negative value if error.
.. _mju_writeResource:
`mju_writeResource <#mju_writeResource>`__
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. mujoco-include:: mju_writeResource
Write resource data via its resource provider, return bytes written or -1 on error.
*Nullable:* ``vfs``, ``error``
.. _mju_getResourceDir:
`mju_getResourceDir <#mju_getResourceDir>`__