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
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
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
Matias Manevi
3e167e0f0b
Correctly format constructor initializer lists in struct wrappers.
...
PiperOrigin-RevId: 830887996
Change-Id: Ibe663fcc17571ad1fd62d70249687c917653618e
2025-11-11 06:38:19 -08:00
Matias Manevi
75774b2a35
Simplify struct header generation by merging the internal _build_struct_header_internal function into build_struct_header
...
PiperOrigin-RevId: 830878041
Change-Id: I6867984ac6ec091daaf2172fbde0e6ac6f38d1f3
2025-11-11 06:03:13 -08:00
Matija Kecman
4e46db8903
Refactor WASM binding directory structure
...
* All tests moved into wasm/codegen/tests folder
* Merged wasm/codegen/helpers/ into wasm/codegen/generators/
PiperOrigin-RevId: 829471173
Change-Id: I2dbc5d9351771817ec260c7ddf87c31e66a9eabe
2025-11-07 09:37:26 -08:00
Matija Kecman
44220fcc51
Refactor WASM bindings in preparation for codegen directory structure update
...
PiperOrigin-RevId: 829459535
Change-Id: I4045e163a6e7fcee9d9585131d1e5e30f0b50b89
2025-11-07 09:02:43 -08:00
Matias Manevi
06ecdd6ba1
Refactor: Generate all struct bindings within the codegen.
...
PiperOrigin-RevId: 828973537
Change-Id: I3f371d2f88e1cd9b1bb5c0a9c6a5ace7a21673fb
2025-11-06 08:49:48 -08:00
Google DeepMind
3577c98f82
Refactor Emscripten bindings generation for MuJoCo structs.
...
PiperOrigin-RevId: 828550215
Change-Id: Iab0bf3a9fbaca4d7774f89a4d8977e762aa57629
2025-11-05 11:14:29 -08:00
Google DeepMind
8104235f8e
Generate wrappers for anonymous structs within mjVisual.
...
PiperOrigin-RevId: 828548681
Change-Id: I07f8b407157b91ac24b38604b20826541e20e23e
2025-11-05 11:10:52 -08:00
Google DeepMind
fe1b6b7c80
Refactor: Group autogenerated structs source in bindings.cc
...
This change modifies the code generation for structs in `bindings.cc`. Instead of placing each struct's constructor and member functions under individual markers, all autogenerated struct source code is now grouped together under a single `// {{ AUTOGENNED_STRUCTS_SOURCE }}` marker. This improves the organization of the generated file and simplifies the template.
Future work would move the rest of the structs into this pattern
PiperOrigin-RevId: 828390272
Change-Id: Iee9d0e8766db86b2c1d4296a37ac7a8e6e05428b
2025-11-05 03:26:09 -08:00
Google DeepMind
5b00b033af
Refactor struct dependency sorting to use wrapped field data.
...
The `sort_structs_by_dependency` function now takes a dictionary of `WrappedStructData` and uses the pre-computed `typename` within `WrappedFieldData` for dependency analysis, instead of re-introspecting the AST. This change also includes populating the `typename` in various `WrappedFieldData` generation methods.
PiperOrigin-RevId: 828389481
Change-Id: Ie97c1a66e5e69bd148a928fda26afdaa09f56687
2025-11-05 03:23:35 -08:00
Matija Kecman
29c1a3a0a5
Cleanup WASM bindings generators so they all have a similar interface
...
PiperOrigin-RevId: 827965451
Change-Id: I657fc4d3a480fbc62124c84fe9ddc0900a91183f
2025-11-04 07:32:32 -08:00
Matija Kecman
f808632cf8
Rename WASM bindings function helper file
...
PiperOrigin-RevId: 827897836
Change-Id: Ifb13ebaf54dacabc2a3ed8a8ea4244ecea2a8f41
2025-11-04 03:57:03 -08:00
Matija Kecman
12a31674a3
Consolidate WASM bindings struct generator helper files into helpers/structs.py
...
PiperOrigin-RevId: 827889180
Change-Id: I5f8bf0e25d1af7b21b554672bd438bbcd04e62be
2025-11-04 03:23:24 -08:00
Matija Kecman
9b71fc728d
Consolidate WASM bindings test files
...
PiperOrigin-RevId: 827888382
Change-Id: I4ded54cd49182de0b4243770e2507038ad6fac7a
2025-11-04 03:19:35 -08:00
Matija Kecman
3d59b20b65
Simplified struct code generation for WASM bindings
...
PiperOrigin-RevId: 827878780
Change-Id: I97ab732eb11c63a6aaf7fa95add0b51bc0a56525
2025-11-04 02:51:11 -08:00
Matija Kecman
c22d94e470
Various minor cleanups to WASM code generation
...
* Add newline function to code_builder
* Remove type aliases which made jump to definition less ergonomic
* Add types to constants
PiperOrigin-RevId: 827863199
Change-Id: Ib4390d398926466ecce491a3d0ebe308ed5e0cbe
2025-11-04 02:07:27 -08:00
Matias Manevi
4086261714
Add JavaScript bindings and WASM support
...
Co-authored-by: Matija Kecman <matijak@google.com >
Co-authored-by: Sebastian Noreña Rendón <sebas.norena@creativa77.com.ar >
Co-authored-by: Kyle Bayes <kylebayes@google.com >
PiperOrigin-RevId: 826479070
Change-Id: I25acf36e6c20b091d8492e10798d028ae66f6733
2025-10-31 07:21:18 -07:00
Matija Kecman
f2badc05ac
Add JavaScript bindings and WASM support
...
Co-authored-by: Matija Kecman <matijak@google.com >
Co-authored-by: Sebastian Noreña Rendón <sebas.norena@creativa77.com.ar >
Co-authored-by: Kyle Bayes <kylebayes@google.com >
PiperOrigin-RevId: 826109484
Change-Id: I327fd54122762bd2e239cc31c602a3eb73051c26
2025-10-30 11:11:52 -07:00
Matias Manevi
76e64d96bb
Add JavaScript bindings and WASM support
...
Co-authored-by: Matija Kecman <matijak@google.com >
Co-authored-by: Sebastian Noreña Rendón <sebas.norena@creativa77.com.ar >
Co-authored-by: Kyle Bayes <kylebayes@google.com >
PiperOrigin-RevId: 826094938
Change-Id: Id2658a187bc078056f4410c71202696753319e64
2025-10-30 10:38:16 -07:00