Skip to content

Commit 589a2da

Browse files
committed
Fix the list of models whose assets() raises in python/DOC.md
1 parent 8161bba commit 589a2da

4 files changed

Lines changed: 20 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
All notable changes to this repository will be documented here.
44

5+
## [2026-09-12]
6+
7+
- Corrected the list of models whose `assets()` raises in `python/DOC.md`: `pal_talos` collides on `base_link.stl`, `sharpa_wave` does not collide on any entry point. Added a test that derives the list from the checkout.
8+
59
## [2026-09-01]
610

711
- Added the `mujoco-menagerie` Python package under `python/`: models download on first use into a content-addressed cache, pinned by package version. `build_registry.py` derives the registry from the checkout; `release.yml` publishes archives and the wheel on a `vYYYY.M.N` tag. Extracted the gallery's catalog tables into `catalog.py`, shared by both tools, and registered seven model directories that were missing from the README gallery.

CONTRIBUTORS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ Built by the Google DeepMind team with contributions from the open-source commun
4040
- [Nan Wang](https://github.com/Nan-Tetheria)
4141
- [Nikita Cherniadev](https://github.com/chernyadev)
4242
- [Omar Rayyan](https://github.com/omarrayyann)
43+
- [Rishabh Sai](https://github.com/rishabhsai)
4344
- [Sai Kishor Kothakota](https://github.com/saikishor)
4445
- [Taylor Howell](https://github.com/thowell)
4546
- [Thomas Lips](https://github.com/tlpss)

python/DOC.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ r.files('scene') # every file scene.xml depends on; copy these to vendor, and n
7272
r.assets('scene') # the same as {relative path: bytes}, for MjModel.from_xml_string
7373
```
7474

75-
`assets()` raises for `robotis_op3`, `ufactory_lite6` and `sharpa_wave`, whose meshes share basenames MuJoCo cannot tell apart in memory.
75+
`assets()` raises for `pal_talos`, `robotis_op3` and `ufactory_lite6`, whose meshes share basenames MuJoCo cannot tell apart in memory.
7676

7777
**Cache**
7878

python/tests/test_closure.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,3 +104,17 @@ def test_real_assets_dict(repo_root):
104104
a = mujoco.MjModel.from_xml_path(str(src / 'scene.xml'))
105105
b = mujoco.MjModel.from_xml_string(assets['scene.xml'].decode(), assets)
106106
np.testing.assert_array_equal(a.mesh_vert, b.mesh_vert)
107+
108+
109+
def test_real_assets_dict_collisions(repo_root):
110+
colliding = set()
111+
for d in sorted(repo_root.iterdir()):
112+
if d.name in {'assets', 'test', 'python'} or not any(d.glob('*.xml')):
113+
continue
114+
for entry in sorted(d.glob('*.xml')):
115+
try:
116+
assets_dict(closure(entry, d), d)
117+
except AssetCollisionError:
118+
colliding.add(d.name)
119+
# python/DOC.md names these; keep the two in sync.
120+
assert colliding == {'pal_talos', 'robotis_op3', 'ufactory_lite6'}

0 commit comments

Comments
 (0)