Taylor Howell
bdaec5758b
Generate MuJoCo Warp documentation with modified types.py.
...
PiperOrigin-RevId: 836617034
Change-Id: Ia925b88679744267b34504b146fa712d4195eda4
2025-11-25 04:54:01 -08:00
Kyle Bayes
b98379372e
Refactor epaWitness.
...
PiperOrigin-RevId: 836597852
Change-Id: Ib75dae07bda47764f937f32a9476ef3266f02056
2025-11-25 03:44:57 -08:00
Haroon Qureshi
9b0f8dd963
Update CMakeLists.txt to add/remove files.
...
PiperOrigin-RevId: 836591285
Change-Id: I17745ad5055b861721c10daec33adc1f6f11ea32
2025-11-25 03:18:57 -08:00
Yuval Tassa
888d3a7b07
Add mj_copyState
...
PiperOrigin-RevId: 836588419
Change-Id: I7609e121dc0ac697d4d015d4244bdd5962650def
2025-11-25 03:10:30 -08:00
Haroon Qureshi
eac8e60037
Merge Physics functionality into App.
...
The Physics class is no longer needed. This makes Studio similar to
other toolbox-based apps (like web demo and python viewer) which
manage their own mjModel and mjData instances.
PiperOrigin-RevId: 836588076
Change-Id: I3f695b49bf6a7bba1a2b639d3d75d0c996582f06
2025-11-25 03:09:21 -08:00
Haroon Qureshi
67b09f9afb
Refactor simulation state history tracking into a SimHistory class.
...
PiperOrigin-RevId: 836578736
Change-Id: I94a852b2d2a36cdd081371f25385dbb466dd8d4b
2025-11-25 02:38:09 -08:00
Haroon Qureshi
6d9d59cb98
Move pause handling into StepControl.
...
Also moves perturbation handling up to the App.
Combined, this makes Physics::Update only about advancing the StepControl and resonding to its Status.
PiperOrigin-RevId: 836569506
Change-Id: I148c787f0e1c18baac3e3038ee6ad0e337eb92a8
2025-11-25 02:08:08 -08:00
Google DeepMind
711a388b3d
Sort and generate optional struct bindings in WASM.
...
PiperOrigin-RevId: 836273537
Change-Id: I2af2401969a4780f593df86dc9336adcc285fd1b
2025-11-24 10:18:09 -08:00
Google DeepMind
217317ccba
Change WASM generators from classes to functions.
...
PiperOrigin-RevId: 836257289
Change-Id: I7a3c1d7bb545353a3d278330582e33c0551792cb
2025-11-24 09:36:36 -08:00
Taylor Howell
1c910875d2
MuJoCo Warp documentation: Differentiability.
...
PiperOrigin-RevId: 836250165
Change-Id: I40c21674c896ed4108f17192f16aaaf2664f03be
2025-11-24 09:13:28 -08:00
Taylor Howell
2ca56179a7
Add Frequently Asked Questions: Learning frameworks to MuJoCo Warp documentation.
...
PiperOrigin-RevId: 836231961
Change-Id: If3d00e7dfb9ebe49a034ea8936d2ac1dd33d0979
2025-11-24 08:14:53 -08:00
Taylor Howell
cb391962ca
MuJoCo Warp documentation: Orientation representation.
...
PiperOrigin-RevId: 836127570
Change-Id: I0f381e57cfb53e1cb623f9c4178d258dfc1f75b6
2025-11-24 02:03:41 -08:00
Kyle Bayes
a105042734
Tidy up primitive support functions.
...
PiperOrigin-RevId: 835329730
Change-Id: I5ad5e85b5e8284bf5e3769ab504686b7859a6ea4
2025-11-21 13:00:49 -08:00
Taylor Howell
a359780ca1
Import google-deepmind/mujoco_warp from GitHub.
...
PiperOrigin-RevId: 835230315
Change-Id: Ifa4f8f66c4e3de1a3074f0897daf93f88e469f06
2025-11-21 08:17:49 -08:00
Kyle Bayes
bb488fec29
Remove MPR from comment.
...
PiperOrigin-RevId: 835224192
Change-Id: I659231b30d4c00d9bf586f0efdac138331862df7
2025-11-21 07:58:26 -08:00
Yuval Tassa
f8b92410d4
Add test explaining body_rootid and body_weldid semantics
...
PiperOrigin-RevId: 835197910
Change-Id: If85ca80d3b576e2469cf0d9900441ddb9fd64462
2025-11-21 06:25:22 -08:00
Matija Kecman
7e6cb642a3
Improve formatting of percent real time selection
...
PiperOrigin-RevId: 835192366
Change-Id: I17057f61b96d6380dea6156dcef867b1845e6abf
2025-11-21 06:05:53 -08:00
Haroon Qureshi
a2002eb3d7
Various UX improvements including:
...
- Add Toolbar and StatusBar.
- Reconfigure sections into Settings and Inspector groupings.
- Use docking for Settings/Inspector panels.
- Rename "Free" camera to "Tumble"; add WASD-based free camera.
- More dynamic layout of table-based elements.
- Remove "non-classic" UX mode.
- Switch to light mode by default.
PiperOrigin-RevId: 835174573
Change-Id: I1855caa79f00002e44ed2516631675727bdcb9f6
2025-11-21 04:58:20 -08:00
Yuval Tassa
ae8272787f
Rollback of 7cb2e31f4b
...
PiperOrigin-RevId: 834865905
Change-Id: Iade490754ca30a97f696bcb09525f9b4c37dbeff
2025-11-20 12:30:48 -08:00
Yuval Tassa
c2e9bfa3e8
Clarify semantic of body_rootid and body_weldid
...
PiperOrigin-RevId: 834827589
Change-Id: I562e0aa374ce59d8b769e8d003e4c63ee434a1fc
2025-11-20 10:54:59 -08:00
Yuval Tassa
7cb2e31f4b
Annotate GlobalModel for LSAN
...
PiperOrigin-RevId: 834784936
Change-Id: I9381a062956df6cd7724402b72c2d2a2d8c49998
2025-11-20 09:03:48 -08:00
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