Haroon Qureshi
116cfe9c70
Remove initial width/height arguments.
...
The ValidateSwapChains function will correctly set up swap chains
before any render calls, negating the need to have something done
in the constructor.
PiperOrigin-RevId: 928529339
Change-Id: Ie584d57f649730adc092f8683f18697892a5a14f
2026-06-08 06:34:40 -07:00
Kyle Bayes
318880126f
Provide better dedupe logic in multiccd in edge collision case.
...
PiperOrigin-RevId: 928519426
Change-Id: I67531d1c346b1b38c098eaf32c3b13fa7d0c8eaf
2026-06-08 06:07:31 -07:00
Yuval Tassa
6c33e16bf1
Canonicalize mjVisual macros to include type and dimension.
...
PiperOrigin-RevId: 928506110
Change-Id: If5d031f9d87892f13486ae9ccde23c16131212de
2026-06-08 05:30:57 -07:00
Haroon Qureshi
da5500c202
Implement additional draw modes:
...
- Default rendering but without textures.
- Island coloring based on sleep state.
- Selected object highlighting.
PiperOrigin-RevId: 928482603
Change-Id: I5eda1307bc6e71a4b0b2933b5b941e945cb9de75
2026-06-08 04:29:27 -07:00
Haroon Qureshi
543165a6cc
Expose hsv2rgb as internally public function.
...
PiperOrigin-RevId: 928464175
Change-Id: I57ef75f28663b0da89b9af7bf730d82b965093bf
2026-06-08 03:44:50 -07:00
Copybara-Service
a36758c26b
Merge pull request #3322 from mhasek:mhasek/add_light_and_mat_prop_to_mjx_model
...
PiperOrigin-RevId: 928464101
Change-Id: I066caa1b0d45700160909d7452138e557af6b365
2026-06-08 03:42:53 -07:00
Haroon Qureshi
b17b5f7918
Expose mjv_flexBodyIdAndPoint as a helper function.
...
Use the above in studio rather than a custom implementation.
PiperOrigin-RevId: 928432476
Change-Id: I99d772c4baf7260abbf9ac8f6d8032704f1ba769
2026-06-08 02:28:39 -07:00
Yuval Tassa
ea2d785e0a
Improve quality of maxhullvert coarse convex hulls using Qhull's Q9 option.
...
PiperOrigin-RevId: 928417339
Change-Id: I59ecd454f063f2e32e1c3ce08eb4a18506ddf8c8
2026-06-08 01:56:24 -07:00
Haroon Qureshi
0093210173
Remove hard-coded render target formats.
...
The formats are defined in the config.
PiperOrigin-RevId: 928412818
Change-Id: I20ea72214d8e1484723793d8a3f89cdcb4b617b1
2026-06-08 01:45:24 -07:00
Copybara-Service
d79520dc87
Merge pull request #3299 from tkelestemur:tarik/mjx-warp-nested-dataclass-methods
...
PiperOrigin-RevId: 928341876
Change-Id: I0c89bcbbd95a14fadbf33d7785bf212c2c074c99
2026-06-07 22:50:49 -07:00
Mustafa Hasekioglu
994cfa0e4a
update mjx model and shims
2026-06-06 14:39:01 -04:00
Taylor Howell
2e43279ac3
MuJoCo Warp documentation: remove parallel linesearch
...
PiperOrigin-RevId: 927417172
Change-Id: I43f72ec0be89e9370b6e7699a8080d8ecf02b4ab
2026-06-05 12:05:58 -07:00
Kevin Zakka
5fe916045c
Replace strncpy with memcpy for gridlayout initialization.
...
memcpy is more appropriate here as the source and destination buffers have the same size, ensuring the entire buffer is copied.
PiperOrigin-RevId: 927395770
Change-Id: Idbe9dade3160f593060fae5783743b28c0452695
2026-06-05 11:25:49 -07:00
Haroon Qureshi
511cf27ff8
Move segmentation coloring logic into renderer.
...
PiperOrigin-RevId: 927300828
Change-Id: I994c5742ec30993d2245df167042e72820f91ac7
2026-06-05 07:57:59 -07:00
Copybara-Service
fdd82ac420
Merge pull request #3287 from kevinzakka:sysid-issue-3284-fixes
...
PiperOrigin-RevId: 927249817
Change-Id: I63db037d24238dd0ce82ffe157a2e1bb33c9314a
2026-06-05 05:56:46 -07:00
Taylor Howell
2a4af3246e
Import google-deepmind/mujoco_warp from GitHub.
...
PiperOrigin-RevId: 927227210
Change-Id: Ic72c58524c8e91e6fff44b4cab7f4a0f7de2bb33
2026-06-05 04:56:58 -07:00
Yuval Tassa
d80a847bae
Move CompareModel to a separate library.
...
PiperOrigin-RevId: 927174846
Change-Id: Ia8b8b2c8593133d8910399be755e614282bf3252
2026-06-05 02:44:53 -07:00
Yuval Tassa
5ce9a0ad0b
Split large parameterized tests into dedicated files.
...
PiperOrigin-RevId: 927159897
Change-Id: Ib0e11727c49195bc03d190b736c01b14c10268fe
2026-06-05 02:07:47 -07:00
Haroon Qureshi
8fbacf2883
Introduce MaterialManager to allow sharing of material instances.
...
PiperOrigin-RevId: 927139826
Change-Id: I923a24f28ab7af3a8c854286f064e851b9fd494e
2026-06-05 01:17:37 -07:00
btaba
7078f38163
Update generate_warp_types.py
2026-06-04 12:28:38 -07:00
Kevin Zakka
2b9960a617
Address reviewer feedback.
2026-06-04 09:53:17 -07:00
Kevin Zakka
ab4102ea42
Add opt-in cond(J^T J) check to sysid optimize().
...
Pass check_conditioning=True to FD the Jacobian at the starting point
and warn if cond(J^T J) suggests numerical ill-conditioning.
2026-06-04 09:53:17 -07:00
Kevin Zakka
d75b709892
Forward x_scale through the sysid mujoco backend.
...
mujoco.minimize.least_squares now supports x_scale natively, so the
sysid wrapper becomes a thin pass-through. 'jac' is adaptive per
iteration (was static at x0).
2026-06-04 09:53:17 -07:00
Kevin Zakka
5ae677f026
Warn and rescue sysid parameters that start at a box bound.
...
ParameterDict.move_off_bounds() shifts at-bound values into the interior;
optimize() warns when any non-frozen component starts at a bound.
2026-06-04 09:53:17 -07:00
Kyle Bayes
66156c7d9a
Update tolerances on engine_collision_gjk_test.cc to run with single precision.
...
PiperOrigin-RevId: 926681633
Change-Id: I14f7b756fd3cf7b8f797b5f7b917efba00006b88
2026-06-04 07:37:15 -07:00
Copybara-Service
dadd624255
Merge pull request #3244 from google-deepmind:dependabot/npm_and_yarn/wasm/postcss-8.5.10
...
PiperOrigin-RevId: 926661082
Change-Id: Ic0d56385914f82aca61268a0372a6163388378f3
2026-06-04 06:48:02 -07:00
Michael Moss
a2f08767cf
Workaround for CMake "subproject language bug" triggered by recent Filament change.
...
PiperOrigin-RevId: 926623512
Change-Id: I4aefd6b13bc55881a7013a0f2b7d48ce0b78bd7c
2026-06-04 05:06:09 -07:00
Haroon Qureshi
53ac994759
Add missing files.
...
PiperOrigin-RevId: 926123240
Change-Id: I59b9baaa106ef12a9bf3c7a6399558753c2c5415
2026-06-03 10:27:41 -07:00
Google DeepMind
36f5c4899c
Remove the usage of Texture::setImage that uses FaceOffsets
...
PiperOrigin-RevId: 926092842
Change-Id: I8010804c6dda89d41ebaf650af776505e5c5ed34
2026-06-03 09:47:37 -07:00
Tarik Kelestemur
b4dd8e2d9c
Emit TileSet methods in MJX Warp codegen
2026-06-03 12:31:23 -04:00
Haroon Qureshi
4d70b18048
Manage reflections at the scene level.
...
Renderables may be created/destroyed frequently causing issues with
the underlying RenderTargets used for reflections. Instead, use a
ReflectionManager (associated with a Scene) to manage the RenderTargets.
PiperOrigin-RevId: 926072766
Change-Id: I56c70000183417a92ab9297bc6fec5779f484cbd
2026-06-03 09:18:32 -07:00
Kevin Zakka
25afa6b732
Fix wasm OOM on large models: 32mb stack, raise MAXIMUM_MEMORY to 4gb.
...
PiperOrigin-RevId: 926060014
Change-Id: I8c4e152321737b1f4cc963f3c6c424af2fe951b4
2026-06-03 08:59:05 -07:00
Tarik Kelestemur
319b3975a0
Merge remote-tracking branch 'origin/main' into tarik/mjx-warp-nested-dataclass-methods
...
# Conflicts:
# mjx/mujoco/mjx/warp/types.py
2026-06-03 11:36:53 -04:00
Kevin Zakka
0897e3aec1
Skip the prefetcher when the URL scheme isn't fetchable.
...
Drag-and-drop uploads go through Module.loadFile and never reached the prefetcher. This is a guard for future provider schemes (e.g., vfs) that shouldn't be passed to fetch().
PiperOrigin-RevId: 926042158
Change-Id: I119d5b1a7512f8e84bb4c752414797593a1e98cd
2026-06-03 08:23:19 -07:00
Yuval Tassa
45d5f2ed5f
Improve link in light/directional docs
...
PiperOrigin-RevId: 926006386
Change-Id: Idfd3eae6c127f29919587ae88aa4291c290e2944
2026-06-03 07:12:04 -07:00
Kyle Bayes
558366f364
Always normalize in planeNormal to reduce rounding errors in single precision.
...
PiperOrigin-RevId: 926002329
Change-Id: I682f3b90249e60838c2432231b3181e57c565c28
2026-06-03 07:04:12 -07:00
Taylor Howell
5d231c64cd
Import google-deepmind/mujoco_warp from GitHub.
...
PiperOrigin-RevId: 925939529
Change-Id: Idb92c2d50d5be9df7b6e91113b576e9c706847ca
2026-06-03 04:41:10 -07:00
Haroon Qureshi
4cfdf5f34b
Bind materials before rendering reflection passes.
...
PiperOrigin-RevId: 925911124
Change-Id: I134d29424233ccbf57f56e7379e8830662a57836
2026-06-03 03:31:03 -07:00
Haroon Qureshi
0fe2064847
Cleanup Renderable API.
...
Add function for getting the material. Remove unused/unneeded functions.
PiperOrigin-RevId: 925847769
Change-Id: Iefaf9112b7419830eb2dc4d1323e9c27725c4b16
2026-06-03 01:06:21 -07:00
Yuval Tassa
7b9b88060e
Refactor mj_fullM. This change is part of the deprecation of mjData.qM.
...
PiperOrigin-RevId: 925669464
Change-Id: I4889c66591bc1df4c31135a13776052aad491f7a
2026-06-02 17:22:55 -07:00
Matija Kecman
49211a05c5
Add support for custom physics step functions in StudioApp.
...
This change allows users to provide an optional `step_fn` callable to `StudioApp.update` and `StudioApp.update_from_viewer`. When provided, this function is called to advance the physics simulation instead of the default `step_control.advance`.
PiperOrigin-RevId: 925439890
Change-Id: Ia833503f6dd0c22fb8d75af6c5f06757496853e5
2026-06-02 10:27:52 -07:00
Matija Kecman
0e4749501c
Allow custom step function in StepControl::Advance.
...
The StepControl::Advance method now accepts an optional std::function to be used instead of mj_step. This allows for custom simulation logic to be executed within the stepping loop. The Python bindings for StepControl::advance have been updated to support passing a Python callable as the custom step function.
PiperOrigin-RevId: 925393132
Change-Id: Id2820c4b55cbdfee6b01adc2395e99a990d4e7a3
2026-06-02 09:20:06 -07:00
Kyle Bayes
3a5626bc27
Align GJK internal memory to avoid misalignment segfaults when compiled as single precision. This is effectively a no-op under double precision.
...
PiperOrigin-RevId: 925389982
Change-Id: I7117779669965ebf72cb77ccbece419acf9b1b96
2026-06-02 09:15:26 -07:00
Copybara-Service
15cbc8fb55
Merge pull request #3156 from andrewkaufman:newton-schemas
...
PiperOrigin-RevId: 925328794
Change-Id: If45b8659ea9b88785660331bca5ee837ac172f67
2026-06-02 07:06:59 -07:00
Matija Kecman
4cf4a5665d
Configure Copybara export for Dear ImGui and ImPlot Python bindings
...
Following the export declarations in Dear ImGui and ImPlot METADATA, this change updates MuJoCo's Copybara configuration (copy.bara.sky) to export and transform the Python bindings. `//third_party/dear_imgui/google/py` exports to `python/mujoco/experimental/dear_imgui` and `//third_party/implot/google/py` exports to `python/mujoco/experimental/implot`.
PiperOrigin-RevId: 925293624
Change-Id: Ie6e32d247a6f7fc24bb36ae7060f2075d8efeb26
2026-06-02 05:32:22 -07:00
Yuval Tassa
062b0f1ea6
Remove deprecated mju_{error,warning}_{i,s} functions.
...
PiperOrigin-RevId: 925204136
Change-Id: Ia877d08a135092db8037d04e6a237e81325a1d7c
2026-06-02 01:59:05 -07:00
Kyle Bayes
ad23db5942
Guard againsts NaNs in engine_collision_gjk_test.cc.
...
PiperOrigin-RevId: 924844839
Change-Id: I98d5acd8ee97881ebd17f7ba7a40fb378ca1fb2d
2026-06-01 12:17:42 -07:00
Tarik Kelestemur
c80d8fb35d
Stabilize MJX Warp types codegen
2026-06-01 10:45:22 -04:00
Tarik Kelestemur
f97b9f6e3b
TileSet MJX codegen fix
2026-06-01 10:22:54 -04:00
Copybara-Service
e7ed648cac
Merge pull request #3278 from tkelestemur:tarik/mjx-light-active-public-api
...
PiperOrigin-RevId: 924570592
Change-Id: I86d506e9f03d3230eaaca7061f6794ecdbfe164f
2026-06-01 02:15:20 -07:00