Copybara-Service
910fbbb111
Merge pull request #3141 from ocadotechnology:recompile-release-gil
...
PiperOrigin-RevId: 883109831
Change-Id: I75c22ec071aae8f78b8354de40d8f58e8e952a50
2026-03-13 05:25:45 -07:00
Matija Kecman
86aae0f5a5
Use user::ThreadPool for actuator lengthrange calculation in addition to mesh and texture compilation
...
PiperOrigin-RevId: 883099169
Change-Id: Id6832c2ca0b8f45e2f428615ae54df4b8bb6f434
2026-03-13 04:54:57 -07:00
Copybara-Service
1704f51df6
Merge pull request #3174 from MatiasManevi:fix-wasm-package
...
PiperOrigin-RevId: 882626629
Change-Id: Iecb61e39f3e994d7b64cec9492ae35e6a1194f9c
2026-03-12 09:14:51 -07:00
Haroon Qureshi
7f437810fd
Move MjrRect pybind11 definition to structs.cc.
...
mjrRect is a common type that will be re-used across different
rendering APIs, not just mjr_ APIs.
PiperOrigin-RevId: 882620060
Change-Id: I7f77ac9298c52c454d94c46379ff5270fd833f26
2026-03-12 09:00:39 -07:00
MatiasManevi
a07763f13b
Restore npm pack
2026-03-12 11:42:29 -03:00
MatiasManevi
8c3e70998d
Fix npm publish command to work with OIDC
2026-03-12 11:39:59 -03:00
Google DeepMind
b294d15558
Add from_xml_string to MuJoCo WASM bindings.
...
This change introduces new functions to load an `mjModel` from an XML string. Two overloads are provided: one that creates a temporary VFS and one that uses a MjVFS arg.
Also updated other places where `from_xml_string` should be used: demos, readme, etc.
PiperOrigin-RevId: 882581762
Change-Id: I8428196f8f56ae9630fcd4f0bb6763cdc1c43da0
2026-03-12 07:35:47 -07:00
Google DeepMind
df0bc58578
Add aliases for MjModel loading functions and expose string constants as properties.
...
Introduces `from_xml_path` and `from_binary_path` as more idiomatic aliases for `mj_loadXML` and `mj_loadModel` respectively. Refactors the binding of `mj*STRING` constants. Instead of exposing `get_mj*STRING` functions, these constants are now available as properties on the `Module` object. Runtime getters are added via EM_ASM to lazily call the underlying C++ functions.
PiperOrigin-RevId: 882566011
Change-Id: Id3bd5c23704fd122af30a50aed089bd3143fbc96
2026-03-12 06:58:50 -07:00
Copybara-Service
a62501f305
Merge pull request #3168 from MatiasManevi:npm-workflow-dispatch
...
PiperOrigin-RevId: 882559989
Change-Id: Ia02f38e632dcd3064433b44f6e14427aa3b36735
2026-03-12 06:43:37 -07:00
Haroon Qureshi
b62aed86f9
Recreate swap chain when the window size changes.
...
PiperOrigin-RevId: 882521107
Change-Id: I0d29d2e323e7830256c24eead439b3f2eb55de40
2026-03-12 04:56:50 -07:00
Copybara-Service
4d0c4666db
Merge pull request #3169 from MatiasManevi:npm-pkg-name
...
PiperOrigin-RevId: 882503732
Change-Id: I20494c3258ba39f382483e82934964472603aa17
2026-03-12 04:07:12 -07:00
Haroon Qureshi
16d618e7b9
Ensure we have a valid vfs when loading a spec.
...
PiperOrigin-RevId: 882503274
Change-Id: Iddbd6f00c0344bb34d68bb72a640c0a8e81076a2
2026-03-12 04:06:05 -07:00
Copybara-Service
99af6fb9a5
Merge pull request #3167 from MatiasManevi:npm-auth-mechanism
...
PiperOrigin-RevId: 882500557
Change-Id: Iaa81896c82bac7bf332eefce950ed38c6d4f489d
2026-03-12 03:59:43 -07:00
Sam Haves
3601b063dc
Modify mjCMesh vert_ field to be vector<float> instead of vector<double>.
...
PiperOrigin-RevId: 882162404
Change-Id: Ia97439420f284d594f5cb1a91cd0fb640ac8dff0
2026-03-11 13:15:32 -07:00
MatiasManevi
c1586cc86f
Change package name to scoped
2026-03-11 15:22:36 -03:00
MatiasManevi
bf51c3389a
Configure publish npm manual dispatch
2026-03-11 15:17:02 -03:00
Copybara-Service
de3b9d3426
Merge pull request #3166 from MatiasManevi:npm-package-repo
...
PiperOrigin-RevId: 882092397
Change-Id: Ib4eba5a31816d35469415e8a90b4fd9f6562f363
2026-03-11 10:43:13 -07:00
MatiasManevi
eda9bbbbd4
Remove workflow dispatch
2026-03-11 14:29:12 -03:00
Haroon Qureshi
ad57721e2c
Add missing state.
...
PiperOrigin-RevId: 882072832
Change-Id: I6ad75af67edc7672350c775c1a560e3db6d16969
2026-03-11 10:06:43 -07:00
MatiasManevi
f6434110bb
Add the required OIDC permissions for trusted published
2026-03-11 13:36:09 -03:00
Sam Haves
ecc22667fa
Correct polygon winding order for all meshes not only when loaded from a file.
...
PiperOrigin-RevId: 882053060
Change-Id: I94ee81838fa4074a1a890de4f282eca45ee9e820
2026-03-11 09:25:27 -07:00
MatiasManevi
44848de05b
chore: run npm pkg fix to normalize repository URL
2026-03-11 13:24:06 -03:00
Haroon Qureshi
db9ab94555
Refactor parts of the toolbar GUI into the GUI library.
...
PiperOrigin-RevId: 882024591
Change-Id: I3ac73247973666f4d60e9d8d028d20d3ef709bcc
2026-03-11 08:23:12 -07:00
Michael Moss
6d70e66810
Update MuJoCo version from 3.6.0 to 3.7.0 following the 3.6.0 release
...
PiperOrigin-RevId: 881995135
Change-Id: I0c1a3b4a22c4c7cfada580b49a2cacde64cc84f3
2026-03-11 07:09:24 -07:00
Haroon Qureshi
ed2f34baa0
Fix logic for looking up root model within an archive.
...
PiperOrigin-RevId: 881976329
Change-Id: I7771b84ff0aed83d55ee830deb2f92357355eb88
2026-03-11 06:18:14 -07:00
Haroon Qureshi
df02fe4bc0
BodyAddChild PopupContext needs to happen immediately upon triggering it.
...
PiperOrigin-RevId: 881955422
Change-Id: I03675431d78c93550ff2ad6d562daf1a0e3d0d08
2026-03-11 05:20:39 -07:00
Kyle Bayes
acf7f030a6
Remove const qualifier from mjData in mj_geomDistance. The function mj_geomDistance will require data stack space as nativeccd memory is determined from opt.ccd_iterations.
...
PiperOrigin-RevId: 881946592
Change-Id: I524b9fa41018a581e58647d44de6ca3db4c6608b
2026-03-11 04:55:44 -07:00
Copybara-Service
64ee2d041f
Merge pull request #3105 from NandiniDhanrale:fix/vfs-move-3098
...
PiperOrigin-RevId: 881946056
Change-Id: Ide041ff1dcdae00133251d928936920b47cf6c0d
2026-03-11 04:53:57 -07:00
Taylor Howell
6d1c3343af
Update MJX documentation reference to MJWarp viewer
...
PiperOrigin-RevId: 881941624
Change-Id: Ieafb85f5b543a3d9212b33191579c1f7a7c09d16
2026-03-11 04:42:45 -07:00
Michael Moss
3cada28be7
Update changelog for 3.6.0 release.
...
PiperOrigin-RevId: 881671049
Change-Id: I28a1a3341e6f01d916b35ee9fb3a6c12c627fe89
2026-03-10 16:21:14 -07:00
Sam Haves
6890e133c0
Add mjs_getCompiler C API and compiler property to Python spec elements.
...
PiperOrigin-RevId: 881488083
Change-Id: I3aa1c0562bf2fd27057b8056048e3156fc1b067c
2026-03-10 09:57:36 -07:00
robin.moss
0c9083723c
fix: release the gil when calling compile in spec.recompile
...
The pybind for recompile was not releasing the GIL when it called mj_recompile, this can caused deadlocks with the
asset loading threads. For example if a resource provider was trying to call Python.
To resolve this the GIL is release just for the mj_recompile.
Addresses: https://github.com/google-deepmind/mujoco/issues/3118
2026-03-10 15:44:01 +00:00
Haroon Qureshi
d6aac2041e
Make filament-opengl the default graphics mode for studio.
...
PiperOrigin-RevId: 881362074
Change-Id: Iaa42ddf915b8b146775b2cf0263152b94c586c49
2026-03-10 04:59:03 -07:00
Alessio Quaglino
f1b305632c
Allow mesh with octrees in mjc_distance.
...
PiperOrigin-RevId: 881355677
Change-Id: I8da9f7c92d6e76f16a5d82e7d16488211a8a65b7
2026-03-10 04:41:34 -07:00
Michael Moss
955d6c0b02
Update MuJoCo version from 3.5.1 to 3.6.0 prior to next release.
...
The next release will include breaking changes, so this bumps the major
version to reflect that.
PiperOrigin-RevId: 881351265
Change-Id: I970c68a0211651c07fcb8109ebd0b138196cf50a
2026-03-10 04:30:07 -07:00
Alessio Quaglino
713b5524bc
Introduces a new "strain" equality mode (flex_edgeequality = 3) for flexcomps with trilinear interpolation. This mode enforces constraints on the three invariants of the Green-Lagrange strain tensor at 8 Gauss quadrature points within each flex element, resulting in 24 equality constraints per flexcomp.
...
Also fixes a bug when attaching a flex with constraints.
PiperOrigin-RevId: 881349765
Change-Id: I8e6df8239488bfdc87d7e5b473568975e38c737e
2026-03-10 04:26:07 -07:00
Haroon Qureshi
fe6c81ed93
Internal changes.
...
PiperOrigin-RevId: 881291880
Change-Id: I9b43470802651b823507ee2691ba5216126d72ab
2026-03-10 01:56:10 -07:00
Sam Haves
dade2d8c3e
MJX: Use content-hash for np.ndarray pytree metadata fields
...
Previously mjx dataclasses would return np.ndarray as bytes for jax tracing to hash since they are not inherently hashable. This meant that any tracing that was cached would hold on to a copy of the numpy arrays in the dataclass. Children such as mjx.Model that store large numpy arrays would end up duplicating that data 3+ times in some cases.
This eliminates O(N * array_size) memory duplication across N cached
pytree traces, saving a lot of memory on models with heavy mesh/texture data.
PiperOrigin-RevId: 880985898
Change-Id: I58d4e91fda4112e4c633818f92907d20138e962a
2026-03-09 12:35:16 -07:00
Alessio Quaglino
84f09f3fa6
Add mesh_normalnum to MJX API.
...
PiperOrigin-RevId: 880957335
Change-Id: Ib3c37afa593c888ec109f520947958a5d47b0be2
2026-03-09 11:34:10 -07:00
Copybara-Service
3a99f6110e
Merge pull request #3084 from Ashutosh0x:fix/mingw-stat-localtime
...
PiperOrigin-RevId: 880906196
Change-Id: I98027e80e9882620cb184766c14110478178ce53
2026-03-09 09:54:10 -07:00
Yuval Tassa
1e1eb48261
No-op refactor of flex interpolation factorization and solve in mj_implicitSkip.
...
PiperOrigin-RevId: 880867833
Change-Id: I2ab8ce5a027742af07ef0256bc4cdee62289282e
2026-03-09 08:20:24 -07:00
Copybara-Service
79d14035f9
Merge pull request #3158 from mar-yan24:mark-flexcompFix
...
PiperOrigin-RevId: 880857702
Change-Id: Ic1ad4068312c9a02728ce7f49abb38dea3b97a46
2026-03-09 07:57:21 -07:00
Copybara-Service
3510537bcb
Merge pull request #3027 from Adityakk9031:#2982
...
PiperOrigin-RevId: 880846172
Change-Id: I5b0ccda4b481c079a6bb640ab19756c3fd4b4b26
2026-03-09 07:26:58 -07:00
Copybara-Service
9362031644
Merge pull request #3112 from LouRohanNV:fixUsdEqualities
...
PiperOrigin-RevId: 880843178
Change-Id: I23e817364772abab6cea9a0b92f7681b1372c2db
2026-03-09 07:19:09 -07:00
Copybara-Service
cc9a474ed8
Merge pull request #3148 from LouRohanNV:usd-visual-prim-mesh-inertia
...
PiperOrigin-RevId: 880822823
Change-Id: Ib1fe2e4b500f64f44e306eb6adacf8b1c5e39ceb
2026-03-09 06:22:17 -07:00
Sam Haves
ed0d7ba29f
Move STL handling to a mjpDecoder.
...
PiperOrigin-RevId: 880820344
Change-Id: Ib3a714dd9698335433e518ed6af17d7b8407a8fb
2026-03-09 06:15:04 -07:00
Kyle Bayes
330c36c99b
Fix issue in GJK where the tolerance for x_norm was set too low.
...
PiperOrigin-RevId: 880735671
Change-Id: I324e37e8677d3c7feeb4b8bcf065a2a0122326b6
2026-03-09 02:14:52 -07:00
Taylor Howell
1370a54007
Update changelog with tendon Jacobian changes and memory improvements for tendon Jacobian and actuator moment fields
...
PiperOrigin-RevId: 880378857
Change-Id: I761bd209c66f41fc39c9aeaf9832dcb95d7d624c
2026-03-08 03:05:48 -07:00
Taylor Howell
32ace6d303
MuJoCo Warp documentation: box-box collisions
...
PiperOrigin-RevId: 880376073
Change-Id: Ia7f285ff7bfaf5472790a559294e905749575402
2026-03-08 01:55:32 -08:00
Mark Yang
95724d1ec2
Fix vfs load for mesh gmeshs type
2026-03-07 21:45:12 -05:00