# V373 Collision Mesh + Grip Function Index

## Included collision authority

### Lower-leg collision mesh/proxy

Used by:
- `front_lower_shin_above_ankle`

Authority:
- existing mesh-derived tapered elliptic lower-leg proxy
- runtime label: `central_mesh_derived_lower_leg_proxy_v1`
- source model: `assets/nex/models/nex_fbx_clean_v001.fbx`
- runtime: `assets/nexprod/nexprod01-runtime-candidate.mjs`

V373 explicit snap:
- surface: `front_lower_shin_above_ankle`
- proxy: `LowerLeg`
- proxy axis: `Calf->Foot knee_to_ankle`
- t: `0.70`
- radial: `front_visible_separated_from_sole`
- separation requirement: `>= 0.10 m` from foot underside snap

### FootShoe collision mesh/proxy

Used by:
- `foot_underside_sole`

Authority:
- existing mesh-derived tapered elliptic FootShoe proxy
- runtime label: `central_mesh_derived_foot_shoe_proxy_v1`
- source model: `assets/nex/models/nex_fbx_clean_v001.fbx`
- runtime: `assets/nexprod/nexprod01-runtime-candidate.mjs`

V373 inherited foot snap:
- surface: `foot_underside_sole`
- proxy: `FootShoe`
- proxy axis: `Foot->ToeBase/MidToe`
- t: `0.18`
- radial: `positive_foot_canonical_vertical_underside_surface`

## Grip function

Runtime file:
- `assets/nexprod/nexprod01-runtime-candidate.mjs`

Generic grip flow remains:
1. read non-floor contact rule from IK bank,
2. build receiver from existing mesh proxy,
3. if `NEXPROD01_EXPLICIT_MESH_SNAP_POINT_V1`, use exact explicit marker instead of rediscovering a band,
4. place palm frame using actual palm/MCP snap points,
5. close fingers using generic finger chain guard.

No new exercise-specific grip solver was added.
