Matija Kecman
3a623aaf33
Internal change.
...
PiperOrigin-RevId: 940601733
Change-Id: I83855569f85012173c3edf167eca78d236f6cdea
2026-06-30 12:38:11 -07:00
Taylor Howell
1810051d16
MuJoCo Warp documentation: Large scenes
...
PiperOrigin-RevId: 940590426
Change-Id: I006e245b54cd4165928927bee76f44d730bdd895
2026-06-30 12:14:48 -07:00
Google DeepMind
095608ef5f
Make a bindings.h header file with the declarations, so that other projects can reuse the declared structs.
...
Add parseXMLString overload that supports passing in an MjVFS.
PiperOrigin-RevId: 940579266
Change-Id: I8294988bc4279e80795fab21024f64562a9e6743
2026-06-30 11:57:50 -07:00
Haroon Qureshi
e2d7955437
Enable status bar by default for python studio.
...
PiperOrigin-RevId: 940557724
Change-Id: I0a4c96a53a0bcfcb5677515705c874d12bfd300d
2026-06-30 11:18:24 -07:00
Matija Kecman
7a84022092
Add ImGui bindings for Docking and window size constraints
...
PiperOrigin-RevId: 940470346
Change-Id: I731eedd0bd04afbd0c526ed8b27e6fb804596d20
2026-06-30 08:32:46 -07:00
Yuval Tassa
584ccd73d5
Improve error/warning display in studio.
...
PiperOrigin-RevId: 940299502
Change-Id: I8b13e2f984627a638a01b52f7dadca43f2c2ca80
2026-06-30 01:12:22 -07:00
Martin Schuck
407be2fc0b
Copybara import of the project:
...
--
83a17d2844770fc2bbff37eda73b82df56076414 by Martin Schuck <martin.schuck@tum.de >:
Fix overflow cast
--
d12211c6665e1d791f77338daf8c62fa2374e3c8 by Martin Schuck <martin.schuck@tum.de >:
Prevent skipping warnings from cached jax functions by clearning the cache before invokation
COPYBARA_INTEGRATE_REVIEW=https://github.com/google-deepmind/mujoco/pull/3369 from amacati:fix.overflow_cast d12211c6665e1d791f77338daf8c62fa2374e3c8
PiperOrigin-RevId: 939914544
Change-Id: I0ab6e9ad1e7c45f352d2f49642049ad930955f0b
2026-06-29 10:45:40 -07:00
Sam Haves
4e1795b9a4
Add special case support for MJB and TXT files to mj_encode.
...
PiperOrigin-RevId: 939875974
Change-Id: I57fc753871b348a7f6342aca0a892e74acb74173
2026-06-29 09:32:50 -07:00
Sam Haves
d83ef0b6b9
Change mj_encode return type to 64-bit (mjtSize)
...
This supports encoding files larger than 2GB.
PiperOrigin-RevId: 939828697
Change-Id: If60d36c61475ced20b4eb58408ffb37e25bf3db7
2026-06-29 07:41:52 -07:00
Taylor Howell
1e04c568e8
Studio launcher
...
PiperOrigin-RevId: 939814201
Change-Id: If3fb1a1a9f9114835452fce63f39931db7818db3
2026-06-29 07:07:54 -07:00
Yuval Tassa
7c706b273a
Report nnz(J) for CG solver.
...
PiperOrigin-RevId: 939806054
Change-Id: Icb2955511e33be046a4665fb39bce2546d6d4e3d
2026-06-29 06:49:23 -07:00
Matija Kecman
e0bb2b0665
Introduce message and endpoint abstractions for MuJoCo Studio communication.
...
- `messages.py`: Defines base classes for `Message`, `Snapshot`, and `Event`, along with `SnapshotChannel` and `EventChannel` protocols. It also includes concrete message types for state, reset, model, perturbation, pause state, and exit events.
- `endpoints.py`: Provides `ViewerEndpoint` and `SimEndpoint` classes to manage message routing between the simulation and the viewer via the defined channels. A `make_endpoints` function is included to create both endpoints.
PiperOrigin-RevId: 939659912
Change-Id: I61a52a7d25431bc4ed38a184813882145eb421d1
2026-06-29 00:24:15 -07:00
Matija Kecman
f594778813
Refactor viewer initialization and protocol.
...
Introduced a ViewerConfig dataclass to encapsulate common viewer window parameters. The NativeViewer now accepts a ViewerConfig and no longer requires a model at initialization. The Viewer protocol has been updated to include a close method (renamed from stop) and an upload_image method. Added checks for None models/data in studio event handling.
PiperOrigin-RevId: 939631378
Change-Id: Ibc07d0e775efa0d79ce5552ee52102e943a9b290
2026-06-28 23:07:02 -07:00
Haroon Qureshi
79f6deac99
Update bounds when updating the mesh.
...
PiperOrigin-RevId: 938628053
Change-Id: Ibd3d952d62614fc1eb049893937e6fb2d661da56
2026-06-26 09:25:06 -07:00
Yuval Tassa
c7b1171846
Improvements to studio profiler
...
PiperOrigin-RevId: 938503994
Change-Id: I3a12647feea4c761dd8f8ba239f92355ceccfba1
2026-06-26 03:49:08 -07:00
Taylor Howell
56a182e67c
Import Warp v1.14.0
...
PiperOrigin-RevId: 938464395
Change-Id: Iac99c53566e2e62f6e75f5e0904100919043b463
2026-06-26 02:03:42 -07:00
Haroon Qureshi
07e292bc6b
Make mjrf types opaque in header.
...
PiperOrigin-RevId: 938409081
Change-Id: I8b9680dcb04f56aadf9ffd601b08025fc624c656
2026-06-25 23:41:49 -07:00
Haroon Qureshi
2a5345ba8c
Add type attributes to help codegen.
...
PiperOrigin-RevId: 937935655
Change-Id: I14883a98b7b9b4bcc3dea8b60d839138c14ea444
2026-06-25 06:00:33 -07:00
Yuval Tassa
463b0fb27f
Add ImGui overlay utility and PAUSE/realtime overlays to Studio.
...
PiperOrigin-RevId: 937834952
Change-Id: I3f3a0500a89b34e2e03b2fe88344b928edeafe8f
2026-06-25 01:45:01 -07:00
Yuval Tassa
b6a0db7a17
Add Atkinson Hyperlegible Mono font support
...
PiperOrigin-RevId: 937799904
Change-Id: I89e4652cc45afdd9a55b3042395c4a56c70289fb
2026-06-25 00:16:39 -07:00
Haroon Qureshi
4b8a8fae92
Move code_builder.py to a common location.
...
PiperOrigin-RevId: 937332995
Change-Id: I2f03581cc47d96337bb637f30c678060207333fd
2026-06-24 07:44:40 -07:00
Yuval Tassa
0402bae176
Replicate the controls from the toolbar into the collapsible options sections and provides an option to hide the toolbar.
...
PiperOrigin-RevId: 937290592
Change-Id: I08f1f4880fd0b06123e817cb9ae7a3281daa8063
2026-06-24 06:09:24 -07:00
Haroon Qureshi
3d09a46d61
Use bulbradius as the vsm_blur_width as well.
...
PiperOrigin-RevId: 937286692
Change-Id: I03502da45951f90979b8f8d58915c80656a5eac7
2026-06-24 06:00:31 -07:00
Matija Kecman
38956ed95c
Handle None values for model and data in StepControl.advance.
...
The `StepControl.advance` method now checks if the provided `model` or `data` Python objects are `None` before attempting to cast them to `MjModelWrapper` or `MjDataWrapper`, passing `nullptr` to the underlying C++ function if they are `None`.
This fixes an oversight in the python bindings, C++ code already supported null models.
PiperOrigin-RevId: 937243996
Change-Id: Ie67b8603517e7390fb54bfefbfed79ccf7b2bc5e
2026-06-24 04:18:29 -07:00
Haroon Qureshi
a3039224ba
Add attributes for codegen assistance.
...
PiperOrigin-RevId: 937219243
Change-Id: If3a0830b7020d52ef346d97886a90950941f4908
2026-06-24 03:17:03 -07:00
Haroon Qureshi
3e33f93ddc
Remove unused material instances before rendering frame.
...
Also ensure material texture hashes are unique so that the material
cleanup works correctly.
PiperOrigin-RevId: 937206048
Change-Id: Ibed53457ee271f4faae3bcac5fb479b5ce9fc352
2026-06-24 02:46:33 -07:00
Haroon Qureshi
29b49991a2
Rename mjrf_getSamplerType to mjrf_getTextureSamplerType.
...
PiperOrigin-RevId: 937193469
Change-Id: I56f856e257fa1cf99b643f794139ef85817a0bb9
2026-06-24 02:18:07 -07:00
Yuval Tassa
080668df42
Add "(default)" to conflict warnings in user resolver.
...
When reporting conflicts between parent and child elements during attachment, the warning message now indicates if a value is derived from the default rather than being explicitly authored in the XML. This improves clarity in conflict resolution warnings.
PiperOrigin-RevId: 936724265
Change-Id: I68c677b19020c19bf0260f5b3b77fe6ca3661bb9
2026-06-23 09:44:29 -07:00
Haroon Qureshi
5637f74327
Add plugin for adding mjvGeoms to the scene.
...
PiperOrigin-RevId: 936709560
Change-Id: I69a01fc50e2d4b013d260d524515719c434bbf5f
2026-06-23 09:16:41 -07:00
Haroon Qureshi
557a2241f4
Add PreStep and PostStep plugin callbacks.
...
PiperOrigin-RevId: 936665884
Change-Id: Ie04562b02bfd61a62f9de77b3cef0fff534bf547
2026-06-23 07:49:29 -07:00
Haroon Qureshi
94a912d349
Allow plugins to request loading models by path.
...
PiperOrigin-RevId: 936638157
Change-Id: If594c6a9abac5eb0d62e7d6dce4dc2f558989969
2026-06-23 06:50:41 -07:00
Yuval Tassa
c499f7f2b0
Add Nesterov momentum with O'Donoghue-Candès restarts to PGS solver (~2x speedup)
...
Benchmark on `2humanoid100.xml` (nefc=1785, nv=654):
```
Convergence at fixed iteration count (mean relative error vs Newton):
20 iters: 2.98e-03 vs 1.54e-02 (5.2x better)
40 iters: 8.14e-05 vs 2.60e-03 (32x better)
80 iters: 1.17e-07 vs 1.77e-04 (1500x better)
Pipeline throughput (tolerance=1e-8, islands disabled):
Nesterov: 243 steps/s, 46 iters/step
Baseline: 151 steps/s, 95 iters/step
Solver speedup: 1.8x, overall step speedup: 1.6x
Pipeline throughput (tolerance=1e-8, islands enabled):
Nesterov: 306 steps/s, 442 iters/step
Baseline: 175 steps/s, 966 iters/step
Solver speedup: 2.1x, overall step speedup: 1.7x
```
PiperOrigin-RevId: 936610759
Change-Id: I2978e8bd545971d9151005623967e5cf0ad125cc
2026-06-23 05:52:14 -07:00
Haroon Qureshi
5cef2472d5
Remove custom step_fn for StepControl::Advance.
...
PiperOrigin-RevId: 936609234
Change-Id: I606cf4d71d856cbd260900d63b22c719974c977d
2026-06-23 05:49:20 -07:00
Taylor Howell
027cfd1201
simplify camera projection sensor
...
PiperOrigin-RevId: 936571266
Change-Id: I5647e61fcc81ba6eb482dd95d3c40438f478bb18
2026-06-23 04:17:38 -07:00
Haroon Qureshi
da2f0ebd7b
Add prestep/poststep callbacks to StepControl.
...
PiperOrigin-RevId: 936567801
Change-Id: I62d4d657791fe68101e63c2050adb63929128acf
2026-06-23 04:07:26 -07:00
Haroon Qureshi
7f66f42568
Make Renderer own the scenes.
...
PiperOrigin-RevId: 936547976
Change-Id: Iec87426a9ae255cdbd3efadc7b602d4183679c81
2026-06-23 03:15:48 -07:00
Haroon Qureshi
2800a682e4
Remove unused render_flags parameters.
...
PiperOrigin-RevId: 936528056
Change-Id: Iae8545ec1d71bc7d5a20c46394104fb1db369d5d
2026-06-23 02:29:25 -07:00
Haroon Qureshi
7a00c1f3e0
Factor out AstProcessor into its own library.
...
PiperOrigin-RevId: 936518263
Change-Id: I597ef4382e7ddc953f8daedd4f5123d71f0e8a42
2026-06-23 02:08:57 -07:00
Yuval Tassa
5d043d8f72
Minor tweaks to studio GUI style parameters.
...
PiperOrigin-RevId: 936508032
Change-Id: I93806ba3d0569b5ee01e95384f7f835a201b8253
2026-06-23 01:46:31 -07:00
Kyle Bayes
0fd7bea973
Modernize struct and enum style in MuJoCo headers.
...
PiperOrigin-RevId: 936485706
Change-Id: I31864acc4bd44573127d3d04c6b1a23f9d9c4cbc
2026-06-23 00:48:11 -07:00
Yuval Tassa
afccd36dd4
Add threading support to PGS
...
PiperOrigin-RevId: 936252614
Change-Id: I6762245cc2dbdb95568f0a927c26b575dc494b51
2026-06-22 14:29:17 -07:00
Michael Moss
5700829122
Update MuJoCo version to 3.10.1 following the 3.10.0 release
...
PiperOrigin-RevId: 936044969
Change-Id: If0ebcc192419302da01741ebabb2b7dd3d7f7baf
2026-06-22 07:25:02 -07:00
Michael Moss
28009f9105
Update changelog for the 3.10.0 release.
...
PiperOrigin-RevId: 936044016
Change-Id: I4b6e3205819b7bd0469415fe0b57990b68309d1b
2026-06-22 07:22:23 -07:00
Yuval Tassa
e2528cbd93
Rename "Stats" window to "Info" and remove "Stats" dock.
...
PiperOrigin-RevId: 936026479
Change-Id: I72e4f2cba6df255d5446faedc81727b39ef735bc
2026-06-22 06:38:03 -07:00
Michael Moss
4b1320a5f9
Patch Abseil to verify compiler support for std::source_location.
...
PiperOrigin-RevId: 936018935
Change-Id: I2cabbdf497dbb67452c27fc5ed02c56e6884f3d4
2026-06-22 06:16:36 -07:00
Kyle Bayes
1490336955
Change LoadModelFromString to return a smart pointer, add MakeData, and update tests to have C++ RAII clean up model and data.
...
PiperOrigin-RevId: 935980153
Change-Id: I41d25bfab4935494dc984168820cb7cad123cadf
2026-06-22 04:19:01 -07:00
Michael Moss
34d142ee50
Force Abseil's SourceLocation implementation for compatibility with clang 13/14.
...
PiperOrigin-RevId: 935926249
Change-Id: I063544e37eb735d0461a20c2ede7e23ea28d23bc
2026-06-22 02:02:00 -07:00
Yuval Tassa
bf59ca6a1b
Make the info overlay position fixed (bottom left)
...
PiperOrigin-RevId: 935868629
Change-Id: I26b8d50f276b05c9869ea0f6cc5c3033ab6ef2f9
2026-06-21 23:39:55 -07:00
Yuval Tassa
d5db39c762
Fix various bugs related to value bounds in studio UI.
...
PiperOrigin-RevId: 935855305
Change-Id: I14b41fc751dc04d35beada0dd5d1f0bfddf9af34
2026-06-21 23:01:57 -07:00
Yuval Tassa
916695e794
Fix step timing diagnostics and make compiler errors transient in simulate.
...
PiperOrigin-RevId: 935675994
Change-Id: I7bc26291fb061e712187e0a6205723fda65b5f46
2026-06-21 11:08:01 -07:00