Matija Kecman
4be4a539c4
Fix "Selected backend not supported in this build" error when running using WASM
...
PiperOrigin-RevId: 884908229
Change-Id: I5515d1ffe8e7a4fd1f3c1eeee11a7f24196be780
2026-03-17 02:57:45 -07:00
Haroon Qureshi
9a0dd7d32d
Make planes semi-transparent from behind.
...
PiperOrigin-RevId: 884896612
Change-Id: I00cc53e539fd1abccb43c7c6b89a7e063cb4848c
2026-03-17 02:27:34 -07:00
Yuval Tassa
efae9157a7
Polynomial stiffness and damping https://youtu.be/aKa3ZlEF9_Y
...
PiperOrigin-RevId: 884607673
Change-Id: If8088dbf37fed1055304778a7eb84dec52cba920
2026-03-16 13:25:25 -07:00
Haroon Qureshi
28def7d25d
Internal changes.
...
PiperOrigin-RevId: 883932254
Change-Id: Ic93097dde6425e7de00001b8d74ecc61adcde321
2026-03-15 03:38:34 -07:00
Haroon Qureshi
b18657acde
Remove unused flag.
...
PiperOrigin-RevId: 883113888
Change-Id: I098669f8a873694903159649567bc2f68397f955
2026-03-13 05:37:47 -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
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
Haroon Qureshi
ad57721e2c
Add missing state.
...
PiperOrigin-RevId: 882072832
Change-Id: I6ad75af67edc7672350c775c1a560e3db6d16969
2026-03-11 10:06:43 -07: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
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
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
Haroon Qureshi
45c7376ab4
Set actuator limits correctly.
...
PiperOrigin-RevId: 879012913
Change-Id: I3f03d09a98236ae9a4dc069564d14437ff5d0a2b
2026-03-05 05:35:14 -08:00
Haroon Qureshi
5506fbf506
Rename member history_ to sim_history_.
...
PiperOrigin-RevId: 878906079
Change-Id: I1327f0216bc5042e62c598f2b7f15f6a26c192dc
2026-03-05 01:23:39 -08:00
Haroon Qureshi
64597f45d3
Move function that parses the graphics mode from a string into graphics_mode.cc.
...
PiperOrigin-RevId: 878482669
Change-Id: I8b713bc740c5711b9c7cc9ea63c21bad42cd2943
2026-03-04 07:30:23 -08:00
Haroon Qureshi
c70b05e037
Make Renderer more self-contained.
...
The Renderer should configure the context and flip the image when
in classic mode and not rely on the Window to do so.
PiperOrigin-RevId: 878480986
Change-Id: I1af899107647469659662abd85527cdf66f507f4
2026-03-04 07:26:34 -08:00
Haroon Qureshi
20efb8ee8d
Add missing files.
...
PiperOrigin-RevId: 878445886
Change-Id: Ied34a5517c3aefc0985bef100431081a4cbfb640
2026-03-04 05:51:36 -08:00
Haroon Qureshi
13d164063c
Remove separate targets for classic and filament renderer.
...
The platform::Renderer now supports both implementations at
runtime.
PiperOrigin-RevId: 878427862
Change-Id: I2997c197c6eddbe177c77b435cc5848fd80f1839
2026-03-04 04:56:15 -08:00
Haroon Qureshi
84682a46b0
Refactor spec editing logic into its own class.
...
The SpecEditor improves spec editing by keeping
track of what's being edited and how it changes
over time.
PiperOrigin-RevId: 878410011
Change-Id: I7c323eeb30178dad31946095a727a21b3955f19a
2026-03-04 04:01:56 -08:00
Haroon Qureshi
73f73d94f7
Merge renderer+offscreen mode into unified graphics mode.
...
Allow Studio app to switch between graphics modes dynamically.
PiperOrigin-RevId: 878396966
Change-Id: I666fe3d2452de5404b9be2bd1d017eabec789aef
2026-03-04 03:19:58 -08:00
Haroon Qureshi
07d7bc95e3
Expose vsm blur width parameter.
...
PiperOrigin-RevId: 875733943
Change-Id: Ic8cb423104d2e62ce295f6a2ab6fd67d548910a6
2026-02-26 08:23:30 -08:00
Haroon Qureshi
55d7226b06
Improve error handling of spec editor compilation.
...
PiperOrigin-RevId: 875703124
Change-Id: Idf4a90a48d75185ad03e4469cee9098104751d67
2026-02-26 06:59:31 -08:00
Haroon Qureshi
137a504625
Add imgui stdlib target.
...
PiperOrigin-RevId: 875686702
Change-Id: Ie8ba8349c70da3313a1896b14a30d076f2068368
2026-02-26 06:13:38 -08:00
Haroon Qureshi
a9675fbaa6
Add an Editor panel.
...
The editor panel allows you to add, remove, and modify spec elements
as well as recompiling and loading the spec.
Also includes utilities for handling vertically split panels.
PiperOrigin-RevId: 875658785
Change-Id: I18b10971d587db5eb1e65a033e1dc042faac7f1d
2026-02-26 04:51:02 -08:00
Haroon Qureshi
b7e192e514
Expose VSM EL options.
...
PiperOrigin-RevId: 875368470
Change-Id: Ic6e05c82b57ffa3b1ff49baf4e3cd2c9480c9ba2
2026-02-25 15:36:55 -08:00
Haroon Qureshi
42d843a0fd
Separate mjModel/mjData ImGui table helper from mjSpec ImGui table helper.
...
There are enough differences between how the two are structured that
having separate implementations makes things easier to implement
despite some minor code duplication.
PiperOrigin-RevId: 875287973
Change-Id: Id49e089e5e1944291ce79e79f8cb71d048a942cc
2026-02-25 12:37:31 -08:00
Haroon Qureshi
abdea379af
Allow the shadow type and map size to be configured in data.
...
PiperOrigin-RevId: 875179785
Change-Id: I638c8c8c9e45dd58f393684a09f2ab4871911f7a
2026-02-25 08:35:01 -08:00
Haroon Qureshi
757758dd2e
Rename all filament mjr_ functions to mjrf_.
...
Rename stubs.cc to mjr_compat.cc. This library acts like a
"compatibility layer" that allows the filament renderer to
be implemented behind the mjr API.
PiperOrigin-RevId: 875114054
Change-Id: I5c47581cacbcadff4c78d2ad15728cc1c3a394ad
2026-02-25 05:43:50 -08:00
Matija Kecman
253494739a
Read the clear color from the model if available
...
PiperOrigin-RevId: 875079722
Change-Id: Id5a9c359d19f46d1c0bb5fbf5043db0ee4b1b9b6
2026-02-25 04:09:27 -08:00
Haroon Qureshi
ae7efead09
Show MuJoCo version in the help menu.
...
PiperOrigin-RevId: 875061430
Change-Id: I4d4ce32eebd8ca4af4622e9b4d1cd50d180d0b96
2026-02-25 03:11:13 -08:00
Haroon Qureshi
1d6ff2cece
Display Bodies as a tree in Spec Explorer.
...
Display all other elements under "Elements" or "Assets" group.
Show properties for mjSpec, mjModel, and mjData for selected
elements.
PiperOrigin-RevId: 874614195
Change-Id: I128c2bec844983ac5d35a3a0b1e58b8a5b0109cb
2026-02-24 07:57:44 -08:00
Haroon Qureshi
7d4b615edb
Use correct WIN32 define, not WINDOWS.
...
PiperOrigin-RevId: 872866601
Change-Id: I35bb5cc0fdef80cf816a63bb7fc1619ef424c0d0
2026-02-20 06:10:00 -08:00
Haroon Qureshi
8c9ba9bcf5
Disable plugin on windows.
...
PiperOrigin-RevId: 872845569
Change-Id: I4d80c80a47358a2882b2c63c2d655fe374afe65d
2026-02-20 05:00:04 -08:00
Haroon Qureshi
f71e215c9a
Include missing header.
...
PiperOrigin-RevId: 872835150
Change-Id: I670bddb907b594788bda143c5175bbcb4b427903
2026-02-20 04:23:59 -08:00
Haroon Qureshi
0083cf7fa8
Refactor the projectile launcher into a plugin.
...
Add a simple GUI for it that allows users to enable/disable
the key binding as well as control some parameters.
PiperOrigin-RevId: 872816645
Change-Id: I8abb2803e17b4f6195d447220c436d4701b24db8
2026-02-20 03:19:53 -08:00
Haroon Qureshi
28ad603f6b
Use templates and macros to reduce boilerplate.
...
PiperOrigin-RevId: 872805912
Change-Id: I6fc1abe283bc809a95d660abc072906b0810aaeb
2026-02-20 02:42:52 -08:00
Haroon Qureshi
f0bf403254
Add a delete button to the highlighted element.
...
PiperOrigin-RevId: 872795277
Change-Id: I63afa9c87b425ebed5d20126e9909ad95532d559
2026-02-20 02:09:36 -08:00
Haroon Qureshi
82694b520b
Re-apply changes that were accidentally deleted.
...
PiperOrigin-RevId: 872782055
Change-Id: If2f403835cd2d90c88abe9ed82380dfca5b3d9c8
2026-02-20 01:27:57 -08:00
Matija Kecman
ca0552c83b
Cleanup Studio toolbar
...
PiperOrigin-RevId: 872618794
Change-Id: I2e8f99dc47937416c8516ed1df7821369211b12f
2026-02-19 16:34:38 -08:00
Haroon Qureshi
10524c28dd
Track and restore viscous pause state every frame.
...
PiperOrigin-RevId: 872382150
Change-Id: I96bddcfb2a0a204c6505e9795dfff97f09834855
2026-02-19 07:06:38 -08:00
Haroon Qureshi
ab80bd0916
Allow model holder to release ownership of mujoco structs.
...
PiperOrigin-RevId: 872242489
Change-Id: I055f54f4e111cc78c489c12d9ae5c02cfb57169d
2026-02-19 00:06:07 -08:00
Haroon Qureshi
fdf6f1017c
Remove enable_keyboard flag.
...
PiperOrigin-RevId: 871823567
Change-Id: I1e307f366106aa542a66b68b8e057b35c25134c9
2026-02-18 05:43:33 -08:00
Haroon Qureshi
6b197e198a
Reset free camera when loading a new model.
...
PiperOrigin-RevId: 871622663
Change-Id: I1f1a4681752f7436c7bc7adbe64dcea286c5620c
2026-02-17 20:08:02 -08:00
Haroon Qureshi
767e52fb5b
Fire projectiles when hitting "Ctrl+Shift+Enter".
...
PiperOrigin-RevId: 871215312
Change-Id: Ie22699d5446a49ea6997594b2800cf72840554c1
2026-02-17 02:53:31 -08:00
Haroon Qureshi
4ce9fb53ee
Re-enable MJZ support.
...
Disabled on Windows until we can make plugins work correctly.
PiperOrigin-RevId: 871214280
Change-Id: I831238704c2807e70f4347989d642a189764e53c
2026-02-17 02:51:14 -08:00
Haroon Qureshi
989b6e63c7
Add ability to delete bodies.
...
PiperOrigin-RevId: 871200603
Change-Id: I08bc786ca8106ef13cfcbe89e8cc42e9ad2c99d5
2026-02-17 02:14:54 -08:00
Matija Kecman
1808079c62
Implement viscous pause in Studio
...
Viscous pause is like pause but the simulation continues with zero gravity, high viscosity and passive springs disabled. It is useful to move things like cabinets with shelves---just move the shelf and the drawers come along as well.
* Updated the simulation control widgets
* Added Ctrl-space shortcut to toggle play/viscous pause
PiperOrigin-RevId: 869810053
Change-Id: Icf649e1f2631c2a64a5d2f25af9537b6a12bdf2c
2026-02-13 11:11:15 -08:00
Haroon Qureshi
6d8b6028e2
Tweak default lighting and specularity for non-PBR scenes.
...
Most "classic" objects looked washed out. To "revert" to the old look, you can add the following to your XML files:
```
<custom>
<numeric name="filament.phong.specular_multiplier" data="0.1"/>
<numeric name="filament.fallback.scene_light_intensity" data="100000.0"/>
<numeric name="filament.fallback.environment_light_intensity" data="10000.0"/>
</custom>
```
PiperOrigin-RevId: 869725829
Change-Id: Icab0cedaa27915400497745db886c393709c14b1
2026-02-13 07:37:36 -08:00
Taylor Howell
5903d4826f
Sparse ten_J and ten_J_colind
...
PiperOrigin-RevId: 869712136
Change-Id: Id2979684aa0c39552cb8453852483cbac55f0ea3
2026-02-13 06:57:22 -08:00
Haroon Qureshi
8e5436c335
Make phong-shading multipliers configurable.
...
PiperOrigin-RevId: 869080920
Change-Id: I4eb7311b54270d596c09a01d6725c1efb931de4b
2026-02-12 01:09:30 -08:00