Matija Kecman
ee8dbd4347
Simplify enum WASM bindings generator
...
PiperOrigin-RevId: 834725472
Change-Id: I278447145cd8dcdd145f0d50bc3bae649ea2b440
2025-11-20 05:52:02 -08:00
Matija Kecman
a0d49ade1b
More simplification to functions.py in WASM bindings
...
PiperOrigin-RevId: 834643175
Change-Id: Iff873f6f0916e0039ff6a44468afd9b4d8f98f37
2025-11-20 01:06:29 -08:00
Matija Kecman
102f382c9d
Rename uppercase_first_letter to capitalize
...
Also rename `lowercase_first_letter` to `decapitalize`
PiperOrigin-RevId: 834622292
Change-Id: I1cfbda1be782ff40dd3fc0726601cc6b1f427345
2025-11-19 23:54:02 -08:00
Matija Kecman
48ecddbe3b
Simplify functions.py in WASM bindings generation
...
PiperOrigin-RevId: 834470193
Change-Id: I3c26d65ea8812fd6a4c78264fbce8353bac6fb2f
2025-11-19 15:35:45 -08:00
Alessio Quaglino
a0cb97eb4d
Improve attach docs.
...
PiperOrigin-RevId: 834366494
Change-Id: I9086097990f09e848d0b76d9c22f4fd2bbd70718
2025-11-19 11:08:36 -08:00
Yuval Tassa
d1317fd1a5
Add ray normal computation for primitives (currently private)
...
PiperOrigin-RevId: 834294539
Change-Id: I176f13a8f91dede589338fc44e099a16bac0b580
2025-11-19 08:01:02 -08:00
Yuval Tassa
86a77ff8eb
Change mjtSize from uint64_t to int64_t.
...
This change makes `mjtSize` a signed, rather than unsigned 64-bit integer. While sizes are non-negative, the type promotion rules for unsigned integers can lead to unituitive downstream bugs, and 8 billion terabytes are enough bytes.
PiperOrigin-RevId: 834292964
Change-Id: Iea9c47c2a5d80fde63851a543d59ed0549db0f01
2025-11-19 07:55:54 -08:00
Google DeepMind
49394d57d9
Rename WASM binding wrapper functions and reorder generated code.
...
PiperOrigin-RevId: 834265965
Change-Id: I58e7d572dcae4f1ca262ae5d876fcd8353af183c
2025-11-19 06:26:03 -08:00
Google DeepMind
10fe5ff07f
Generate MjVisual, MjModel, MjData and MjSpec structs declaration
...
PiperOrigin-RevId: 834264723
Change-Id: Id33d7568a1f9f0cfb1271cf9dd2d8713c00eee34
2025-11-19 06:22:28 -08:00
Taylor Howell
07d8bd5b80
MuJoCo Warp documentation: Add note about nconmax and njmax not being parsed from XML.
...
PiperOrigin-RevId: 834247810
Change-Id: Iadee0f1713c9322cab781aabfe86954c145932ba
2025-11-19 05:23:12 -08:00
Alessio Quaglino
3aa973894c
Fast flex: Interpolate contact points directly.
...
For each contact point, we used to first compute the vertex weights on a triangle and then add a contact point per vertex using the flex interpolation (trilinear or quadratic), obtaining the total weight by multiplying the vertex weight and the basis function value at that vertex. After this change, each contact point is added directly by evaluating the basis function directly a the point.
PiperOrigin-RevId: 834218909
Change-Id: Ic0fdb03fc0ef5478798c293df99204fd33116fd1
2025-11-19 03:40:17 -08:00
Haroon Qureshi
a2fd5fdd4a
Move profiler logic into a separate class.
...
PiperOrigin-RevId: 834200782
Change-Id: Ida050a5c055237c4e0a0c725a1277c9239a89538
2025-11-19 02:35:35 -08:00
Yuval Tassa
e18e35f967
Fix normal only for libccd during hfield collisions.
...
PiperOrigin-RevId: 833933161
Change-Id: I3a4ff044276d9c7305154da09b440168f0f22305
2025-11-18 12:55:56 -08:00
Haroon Qureshi
7569ac960d
Create material instances for each draw call rather than for each clip rect.
...
This fixes a bug where the wrong instance was being used in some cases.
PiperOrigin-RevId: 833818151
Change-Id: If8b0cb90017ee0b89cde98a5ae64c36704c7338c
2025-11-18 08:16:55 -08:00
Alessio Quaglino
62872fecd1
Reduce size of mjsTexture.gridlayout (was 13, should be 12)
...
PiperOrigin-RevId: 833764817
Change-Id: I2655a729d38a8871be2024492ce2a971fc8a0372
2025-11-18 04:49:05 -08:00
Alessio Quaglino
971e73ab04
Remove unused argument from mj_vertBodyWeight.
...
PiperOrigin-RevId: 833744032
Change-Id: I26049003b1f45f8cac60c7ebc0b5abca5526177f
2025-11-18 03:28:25 -08:00
Haroon Qureshi
8077a6819c
Add support for OpenSans and font-awesome fonts.
...
PiperOrigin-RevId: 833666932
Change-Id: I5f0207c3331705b9078a1297b3e7b2a8d363ad60
2025-11-17 23:14:47 -08:00
Taylor Howell
695e4c4038
MuJoCo Warp documentation: Command line scripts.
...
PiperOrigin-RevId: 833405216
Change-Id: I8c1850ea59e2640f14c5be7e09c90aea29622831
2025-11-17 10:46:43 -08:00
Taylor Howell
bc169d82c1
Fix MJX plane_cylinder docstring.
...
PiperOrigin-RevId: 833394724
Change-Id: I80df8bf35bceb97a18a0c4c2f37fab71e31011c2
2025-11-17 10:21:09 -08:00
Haroon Qureshi
e882399eb0
Use mjTHREADLOCAL macro instead of intrinsic.
...
Fixes #2927 .
PiperOrigin-RevId: 833336768
Change-Id: I62bfdc7018853fc8459e03ba079fc6a15e97c7d0
2025-11-17 07:50:02 -08:00
Matija Kecman
85b6194f91
Add a README with instructions for how to build and run MuJoCo Studio externally
...
PiperOrigin-RevId: 833336577
Change-Id: Ib5f5ef33abe820796559a9da352360f57ea64bc8
2025-11-17 07:49:00 -08:00
Matija Kecman
12e24d66f6
Add steps to build MuJoCo Studio to Github actions
...
PiperOrigin-RevId: 833325371
Change-Id: I8c7253f3dfabe3e7b6538b602af220310d5aea89
2025-11-17 07:11:07 -08:00
Matija Kecman
8eca9926dc
Fix various MuJoCo Studio build issues on Windows, MacOS and Linux
...
PiperOrigin-RevId: 833313973
Change-Id: I7ec181374e0bb49c32420d025044c31f6fc3c657
2025-11-17 06:35:43 -08:00
Yuval Tassa
a66cf303f8
Clean up ray functions
...
PiperOrigin-RevId: 833299985
Change-Id: I30aabe889ccc5900ff0e50a578e98e176d3effa4
2025-11-17 05:47:44 -08:00
Matias Manevi
53e254b715
Generate using declarations for anonymous structs in WASM bindings.
...
PiperOrigin-RevId: 832359379
Change-Id: Ie5913c584c5605f512dbe423524a829043179b6f
2025-11-14 10:03:12 -08:00
Haroon Qureshi
999344c998
Use the path of the loaded model as the base path for all further load/save operations.
...
PiperOrigin-RevId: 832358035
Change-Id: I44fdf8cd31d755087ebd5ec9f84f5faabe5d0702
2025-11-14 10:00:43 -08:00
Matias Manevi
a36f452250
Refactor MuJoCo WASM bindings functions code generation and auto-generate functions requiring argument boundchecks.
...
PiperOrigin-RevId: 832333773
Change-Id: Id2e1a59e8d366baa2ee044d693f76aadcd1dfd32
2025-11-14 08:51:18 -08:00
Haroon Qureshi
3f69deb328
Correctly initialize mjrContext before creation.
...
PiperOrigin-RevId: 832233427
Change-Id: I5e7301637e73a739f141d4a3207b27ae1676f6b6
2025-11-14 02:41:56 -08:00
Haroon Qureshi
83363f41ee
Fix arrow positioning.
...
PiperOrigin-RevId: 832233204
Change-Id: I10b780c261bf5c0b4891309559fa7aab4d47d32c
2025-11-14 02:40:31 -08:00
Haroon Qureshi
6c15c711ee
Make mjv_cameraFrame and mjv_cameraFrustum public.
...
PiperOrigin-RevId: 832187804
Change-Id: I74d05d7fe03bc81bd05a823c7c9791bca12e3079
2025-11-14 00:03:18 -08:00
Matija Kecman
86ac3a5e28
Update the WASM bindings README
...
* Removed the caution callout since some internal CI has been implemented.
* Added to clarify the state of bindings build process on Windows.
* Fixed the formatting of a note callout in the Testing section.
PiperOrigin-RevId: 831899135
Change-Id: I9f105b91e924368c8e84da7114e1b1d3e48c185a
2025-11-13 09:47:31 -08:00
Matija Kecman
b0e75b7103
Refactor Github actions so that all build steps are implemented as functions in a separate build_steps.sh file.
...
This reduces the amount to yaml we need to know/write and makes the steps reusable in a clearer way than yaml anchors. Also Made sure that bash commands are executed with -xe set to log the command before executing and to fail the script on the first failing command.
PiperOrigin-RevId: 831823786
Change-Id: I7410c13decb914ef079ac4dd19a49481c452f3ec
2025-11-13 05:56:53 -08:00
Kyle Bayes
8b9fa2674c
Use std::vector instead of array in MJCF schema.
...
PiperOrigin-RevId: 831787681
Change-Id: I8093b8b10260daecb830e49319eda798e2dd2da5
2025-11-13 03:41:54 -08:00
Matija Kecman
26c1622ac8
Internal change
...
PiperOrigin-RevId: 831782555
Change-Id: I1dda7700e1c1def21c0b0879a5452ddf96d45aa8
2025-11-13 03:22:47 -08:00
Yuval Tassa
042c5223a6
Change mj_sizeModel return type to mjtSize.
...
PiperOrigin-RevId: 831768095
Change-Id: I079fbadc403b32a3ce8a73fe21b2cd66391401c3
2025-11-13 02:32:18 -08:00
Kyle Bayes
a168b3ef7f
Refactor hill climbing support function.
...
PiperOrigin-RevId: 831754211
Change-Id: I77c89c52fde86183b8e2e61a1fc71764119f208e
2025-11-13 01:47:27 -08:00
Silvia Cruciani
727347813f
Import google-deepmind/mujoco_warp from GitHub.
...
PiperOrigin-RevId: 831416862
Change-Id: I9ffe9698a3cd4a173189a804998ce8afc16b91f2
2025-11-12 09:18:32 -08:00
Matija Kecman
4722925ff4
Add a github actions job which quickly determines if the WASM build is broken by only testing on one platform
...
PiperOrigin-RevId: 831395855
Change-Id: I1128ae39b50e0d9d4338b8ea768b2850699aef22
2025-11-12 08:17:22 -08:00
Yuval Tassa
b8512b9d1f
Fix bug related to sleeping static children of mocap bodies.
...
PiperOrigin-RevId: 831376685
Change-Id: I8891a1d7dc6efc037e9ade5c7e8dd5c35c7e455e
2025-11-12 07:20:03 -08:00
Haroon Qureshi
7b52d3034e
Fix crash if Renderer is destroyed without having been Init'ed.
...
PiperOrigin-RevId: 831375559
Change-Id: Ia1d0334e32dbbd0582d4f75723867d6ea47bf9da
2025-11-12 07:15:39 -08:00
Haroon Qureshi
28c536bd93
Remove support for custom fonts for OSS project for now.
...
PiperOrigin-RevId: 831294808
Change-Id: I3f366ceafc1181e0624d1b26ef09fd64ed6275b4
2025-11-12 02:30:23 -08:00
Tom Power
52478e15c3
Fix issue where contact pairs supported by C back-end are unsupported by MJX:C
...
PiperOrigin-RevId: 831288268
Change-Id: Ied69be2d69a4cf0c8190bfaf8b6428e1dd8c8a70
2025-11-12 02:09:21 -08:00
Yuval Tassa
414d6d80ac
Update model memory footprint reporting in mj_printModel.
...
PiperOrigin-RevId: 831015711
Change-Id: I7cb5aba019ed99e239b6fadbaf162cbd6fd9d9fb
2025-11-11 12:08:22 -08:00
Yuval Tassa
bc83bfb076
Restructure AAMM storage for improved cache locality in broadphase, ~35% speedup (of broadphase).
...
PiperOrigin-RevId: 831007564
Change-Id: I1a72ca02f5a50194bb7770d5765c6140adde1852
2025-11-11 11:46:08 -08:00
Matias Manevi
fa79276290
Remove destructors from Mjs wrapper structs.
...
PiperOrigin-RevId: 831001833
Change-Id: I54550737a4c1cb504bf62b9bfed12d7a70434233
2025-11-11 11:31:21 -08:00
Google DeepMind
6d261528e0
Enhance error reporting in WASM codegen generators.
...
In `structs.py`, a `RuntimeError` is now raised when an anonymous struct is encountered but is not present in `STRUCTS_TO_BIND`.
PiperOrigin-RevId: 830978376
Change-Id: Id64720a12c3cce313bd513a40a74ddf57718a7d1
2025-11-11 10:38:39 -08:00
Google DeepMind
8e4a5901c3
Rename internal lists of skipped functions in constants.py.
...
PiperOrigin-RevId: 830976939
Change-Id: I833ef4c98107e19822f5e96c7541d294e129ac6c
2025-11-11 10:35:22 -08:00
Matias Manevi
54661ab140
Fully generate Emscripten bindings for MuJoCo functions.
...
PiperOrigin-RevId: 830975595
Change-Id: Ie4d0d16c80f490abaa5ae8218628ac1b3d32c0ef
2025-11-11 10:32:04 -08:00
Google DeepMind
ff037f2e78
Make Emscripten binding module names consistent
...
PiperOrigin-RevId: 830902834
Change-Id: I64e004559cbfdb14fb84bc548f05b1ab49e94d4d
2025-11-11 07:20:45 -08:00
Google DeepMind
5b859327cc
Remove unused manually added structs from WASM bindings.
...
PiperOrigin-RevId: 830901766
Change-Id: If0104a59f7e06a96733feb31f1ce9a93ba3fde42
2025-11-11 07:17:37 -08:00