# Anatomical interaction hands

Final files: `laser-grip.glb`, `petting-hand.glb`, `sock-grip.glb`. These replace the earlier procedural draft in this folder. The final authoring file is `three-anatomical-hands.blend`; regenerate with `build-anatomical-hands.py`, not the first draft script. The latter is retained only for local mesh/material helper functions used by the final builder.

Each asset contains one continuous right hand with four fingers and one thumb, a covered wrist and a short dark cuff/sleeve. The hand uses anatomical topology and embedded cropped skin colour/normal textures. Nails are part of the original hand surface, rather than extra fingertip objects. The poses are static; move/rotate the entire hand for stroking, pulling or aiming. No armature or finger animation is required.

## Integration

All GLBs use metres, wrist-centre origin, +Y dorsal/up and −Y toward the palm. Petting/pinch fingers point generally −Z. The laser pen points exactly −Z; its natural transverse fist means the sleeve exits toward +X, suitable for the bottom-right first-person view.

| File | Named contact node | Contact in GLB local coordinates | Triangles | Draw calls |
| --- | --- | --- | ---: | ---: |
| `laser-grip.glb` | `LaserAperture` | `[-0.111, -0.026, -0.145]` | 29,780 | 7 |
| `petting-hand.glb` | `PetContact` | `[0, -0.016, -0.061]` | 27,976 | 3 |
| `sock-grip.glb` | `GripAnchor` | `[-0.033563, -0.056530, -0.110672]` | 27,976 | 3 |

Prefer the named empty node and `getWorldPosition()` when placing an emitter or held object. For a contact-driven root position, transform the local contact by the intended hand rotation and scale, then subtract it from the desired world contact. `PetContact` is the lower palm surface, not the fingertips. `GripAnchor` is between index and thumb pads; the underlying distal endpoints are 14.1 mm apart, leaving a small fabric pinch after accounting for the fingertip surfaces. No sock is baked into the hand.

Do not reuse the old laser offset `(0,.049,-.263)`. Each file has two embedded images and requires no decoder extension. Sizes are approximately 1.5 MB each. `integration.json` contains machine-readable metadata; `validation.json` contains hashes and buffer checks.

## Review and verification

`hands-review-contact-sheet.png` shows all three poses from front and side under a shared warm garden key light, subdued cool sky fill and dark navy background. The six individual full-resolution PNGs are retained. These were rendered offline in Blender and visually inspected. Geometry checks confirm finite positions/normals, valid indices, all textures embedded and zero degenerate triangles. Browser/scene integration QA is left to the parent task.

The old `laser-hand.glb` source was also inspected. It contained four finger paths and a single thumb, not duplicated digits. Its oversized looped fingers exposed both sides of every curl, while the long arched thumb added another similar contour. The new hand avoids that construction.

## Source and licence

The anatomical mesh and skin assets are **CC0 1.0 Universal**. This is a derivative of licensed assets, not an entirely original sculpt.

- Base topology and joint/weight data: [MakeHuman Community hm08](https://github.com/makehumancommunity/makehuman/blob/master/makehuman/data/3dobjs/base.obj). The asset header explicitly records the CC0 release. The original authors named there are Data Collection AB, Joel Palmius and Jonas Hauquier.
- Skin colour and normal map: **Aksel Skin by Mindfront**, listed as CC0 in the official [natural male skins pack](https://static.makehumancommunity.org/assets/assetpacks/skins02.html). Only the hand UV region is embedded in these models.
- Anatomical correction targets: **hand fingers correction, hand hypothenar and hand thenar eminence by Mindfront**, plus a restrained **knobby knuckles by jujube**, all listed as CC0 in the official [hand details pack](https://static.makehumancommunity.org/assets/assetpacks/hands01.html).
- [MakeHuman asset licensing statement](https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md). The source code's separate AGPL licence is not applied to these assets; no MakeHuman program code was imported into the builder.

The pose design, extraction, texture crop, sleeve/cuff and laser pen were authored for this task. `source/LICENSE.md`, `source/LICENSE.ASSETS.md` and `sources.json` retain the source/licence evidence and download hashes. The large source archives are working material and need not be deployed.

No Site checkout edits, Site tools, browser tools or extra agents were used.
