Skip to content

[codex] Fix SOMA prepared skinning weights#148

Merged
abcamiletto merged 2 commits into
mainfrom
codex/fix-soma-rest-pose
Jun 30, 2026
Merged

[codex] Fix SOMA prepared skinning weights#148
abcamiletto merged 2 commits into
mainfrom
codex/fix-soma-rest-pose

Conversation

@abcamiletto

Copy link
Copy Markdown
Owner

Summary

  • Fix SOMA prepare_skinning() so renderer payload weights match skinning_transforms.
  • Add a named SOMA internal skinning-weight helper used by forward skinning and prepared payloads.
  • Cover the public-vs-internal rig distinction with a regression test across NumPy, Torch, and JAX.

Root Cause

New SOMA assets expose a 77-joint public rig, while skinning uses a 121-joint internal rig. The inherited prepare_skinning() packed public model.skin_weights with internal skinning_transforms, producing incompatible renderer inputs.

Validation

  • uv run pytest: 110 passed, 2 skipped
  • uvx ruff check .
  • uvx ruff format --check .
  • uv run --group dev --extra torch --extra jax ty check
  • uv build
  • Manual SOMA checks against both local asset roots:
  • /Users/abcamiletto/body-models-assets/models_hub/soma
  • /Users/abcamiletto/body-models-assets/legacy_hub/soma

@abcamiletto
abcamiletto marked this pull request as ready for review June 30, 2026 15:08
@abcamiletto
abcamiletto merged commit 916badb into main Jun 30, 2026
3 checks passed
@abcamiletto
abcamiletto deleted the codex/fix-soma-rest-pose branch June 30, 2026 15:08
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.

1 participant