Author the 62-to-13 joint map and align the AGENTS.md contract with the Quaternius base
Full build / Import + headless tests (push) Successful in 50s
Full build / Full desktop build + optional release (push) Skipped

This commit is contained in:
zwitschi committed 2026-11-05 20:48:55 +01:00
1 parent 8c69f367b0
commit 1ed9e05d9b
3 files changed
+43 -6

No files matched your search

+34
View File
@@ -136,6 +136,40 @@ canonical base built from `Casual_Hoodie.glb` (the most detailed body) by
This is the §2 contract-bake input: the 62-joint rig is authoring-only and is mapped to the
13-core contract next, not shipped as-is.
## 62-joint → 13-core joint map (2026-11-05)
The Quaternius hierarchy (measured from `quaternius_base.glb`):
- `Root → Body → Hips → Abdomen → Torso → Chest → Neck → Head` (spine);
- `Chest → Shoulder.L/R → UpperArm.L/R → LowerArm.L/R → Wrist.L/R → fingers` (arms);
- `Body → UpperLeg.L/R → LowerLeg.L/R` and `Root → Foot.L/R` (legs — the foot is a separate
child of Root, not of LowerLeg);
- `Root → PT.L/R` (IK pole targets, no deforming weights).
The contract is 14 bones (13 core + `Hips` root): `Hips, Spine, Neck, Head, Shoulder.L/R,
Elbow.L/R, Hand.L/R, Hip.L/R, Knee.L/R`. The map:
| Contract bone | Quaternius source | Notes |
| --- | --- | --- |
| `Hips` | `Hips` | `Root` + `Body` collapse into `Hips` |
| `Spine` | `Abdomen`, `Torso`, `Chest` | three collapse into one |
| `Neck` | `Neck` | |
| `Head` | `Head` | |
| `Shoulder.L/R` | `UpperArm.L/R` | the collar `Shoulder.L/R` collapses into `Spine` |
| `Elbow.L/R` | `LowerArm.L/R` | |
| `Hand.L/R` | `Wrist.L/R` | |
| `Hip.L/R` | `UpperLeg.L/R` | |
| `Knee.L/R` | `LowerLeg.L/R` | |
Optional extras (allowed by the contract; kept if they survive within 24,000 vertices):
- the 30 finger bones (`Thumb×3, Index×4, Middle×4, Ring×4, Pinky×4` × L/R) → optional finger
bones;
- `Foot.L/R` → optional toe bones.
Dropped (never shipped): `PT.L/R` (pole targets carry no deforming weights), and the
`Root`/`Body`/collar-`Shoulder` collapse bones above.
## Contract mismatch
The expensive part is the rig and proportions, not the mesh. The source has a