Skip to content

fix(vitals): load Soma URDF mesh assets - #11

Merged
enkerewpo merged 1 commit into
syswonder:mainfrom
LittleRookie1115:feat/vitals-next-20260804
Aug 9, 2026
Merged

fix(vitals): load Soma URDF mesh assets#11
enkerewpo merged 1 commit into
syswonder:mainfrom
LittleRookie1115:feat/vitals-next-20260804

Conversation

@LittleRookie1115

Copy link
Copy Markdown
Contributor

Problem

The Vitals client could receive URDF text from Soma, but its local wire schema
did not include attached URDF assets. Relative mesh references therefore had no
browser-accessible base URL, causing mesh-based robot models to render without
their visual geometry.

Changes

  • Add the additive UrdfAsset, include_assets, and assets wire fields.
  • Request referenced assets when loading the Soma URDF.
  • Store assets in the existing content-addressed in-memory cache.
  • Expose the generated immutable asset base URL to the Vitals renderer.
  • Preserve compatibility with Soma responses that do not include assets.
  • Add wire compatibility, asset staging, and fallback tests.

Validation

  • .venv/bin/python -m unittest discover -s tests -v — 41 passed.
  • .venv/bin/python -m unittest tests.test_vitals_transport tests.test_urdf_assets -v — 21 passed.
  • .venv/bin/python -m pip check — passed.
  • npm ci — passed with no vulnerabilities.
  • npm run build — passed; committed bundle remained unchanged.
  • npm run test:visual — 16 passed.
  • python3 scripts/check_commit_authorship.py --base upstream/main --head HEAD — passed.

Compatibility

The protobuf changes are additive. Older Soma deployments that return no
assets continue to load the URDF with an empty asset base URL. No database or
configuration migration is required.

Related change

@enkerewpo
enkerewpo self-requested a review August 6, 2026 07:10
@enkerewpo
enkerewpo merged commit 30056a9 into syswonder:main Aug 9, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants