Establish the local, user-owned animation-clip library and the testable compatibility contract needed by retargeting. This slice deliberately ships no third-party animation assets.
Scope:
- Decide and document the storage placement against docs/STORAGE.md; provide an empty, documented drop-your-own-clips directory and CC0 guidance.
- Add the clip-library registry for user-provided sources.
- Add declared cc3, mixamo, and unknown skeleton-hint mapping tables using the existing avatar vocabulary.
- Add strict mapping reduction that refuses partial matches and reports every unmapped source bone.
- Add a clip-coverage capability descriptor that reports available state/clip coverage without claiming unsupported states.
Acceptance criteria:
- A clip source can be enumerated from the documented local library without bundling unlicensed assets.
- Recognized mappings resolve deterministically; unknown and partial mappings fail with unmapped bones.
- Capability output distinguishes absent coverage from a complete set.
- Focused tests cover recognized, unknown, and partial skeleton mappings plus coverage reporting.
Files/areas: server/services/rigging/, data.reference/rigging/, relevant server tests.
Part of #5754
When this is merged, check its box in #5754. If it is the last open child, close #5754 with a summarizing comment.
Establish the local, user-owned animation-clip library and the testable compatibility contract needed by retargeting. This slice deliberately ships no third-party animation assets.
Scope:
Acceptance criteria:
Files/areas: server/services/rigging/, data.reference/rigging/, relevant server tests.
Part of #5754
When this is merged, check its box in #5754. If it is the last open child, close #5754 with a summarizing comment.