{
  "side": "right",
  "value": {
    "hasModel": true,
    "runtimeVersion": "V325_MCP_PROXIMAL_PALM_POINTS",
    "side": "R",
    "solve": {
      "schema": "NEXPROD01_V322_ACTUAL_CALF_PALM_SEARCH_SOLVE",
      "active": true,
      "applied": true,
      "pass": false,
      "side": "R",
      "firstPalm": "pinky",
      "rollDeg": -10,
      "before": {
        "indexDistanceM": 0.055301,
        "pinkyDistanceM": 0.042358
      },
      "after": {
        "index": {
          "distanceM": 0.016713,
          "surface": {
            "x": -0.11071,
            "y": 0.71649,
            "z": -0.31177
          }
        },
        "pinky": {
          "distanceM": 0.002056,
          "surface": {
            "x": -0.1033,
            "y": 0.74207,
            "z": -0.32192
          }
        },
        "palmFacesCalf": 0.36923
      },
      "bestCandidate": {
        "deg": -10,
        "firstPalm": "pinky",
        "pass": false,
        "score": 277.149134,
        "indexDistanceM": 0.016713,
        "pinkyDistanceM": 0.002056,
        "firstErrM": 0.002056,
        "secondErrM": 0.016713,
        "palmFacesCalf": 0.36923,
        "firstTarget": {
          "x": -0.1033,
          "y": 0.74207,
          "z": -0.32192
        },
        "indexSurface": {
          "x": -0.11071,
          "y": 0.71649,
          "z": -0.31177
        },
        "pinkySurface": {
          "x": -0.1033,
          "y": 0.74207,
          "z": -0.32192
        },
        "arm1": {
          "ok": true,
          "finalError": 0.00359,
          "iterations": 14
        },
        "arm2": {
          "ok": true,
          "finalError": 0.00242,
          "iterations": 10
        }
      },
      "candidateCount": 39,
      "calfVertexCount": 483,
      "outsideCalfVertexCount": 259,
      "axis": {
        "x": -0.09696,
        "y": -0.94174,
        "z": 0.32205
      },
      "outside": {
        "x": -0.25846,
        "y": -0.28865,
        "z": -0.92189
      },
      "changedFingerLocals": [],
      "policy": "V322 contact search: actual Index1/Pinky1 MCP points shifted 20mm proximally toward the wrist in the palm plane are the only hand points; actual CalfTwist skinned outside vertices are the only object surface. For each first-palm candidate, search L/R_Hand roll around the forearm axis, re-lock first contact with arm IK, and score both palm points against actual calf. No finger local writes and no Foot/ToeBase/legacy palm-target authority."
    },
    "mesh": {
      "schema": "NEXPROD01_V318_ACTUAL_CALF_PALM_MESH_TRUTH",
      "active": true,
      "side": "R",
      "pass": false,
      "status": "ACTUAL_CALF_PALM_CONTACT_BLOCKED",
      "gapM": -0.03469,
      "gapOk": false,
      "nearestPalmCalfM": 0.000915,
      "nearestPalmFootM": 0.008715,
      "nearestOk": true,
      "footCloser": false,
      "counts": {
        "palm": 4763,
        "calf": 2001,
        "foot": 2085,
        "calfBand": 455,
        "palmBand": 3119
      },
      "axisPoint": {
        "x": -0.07883,
        "y": 0.74301,
        "z": -0.32287
      },
      "radial": {
        "x": -0.92224,
        "y": -0.03667,
        "z": -0.38488
      },
      "policy": "V318 actual visible-surface authority: outside-shin palm contact is measured against skinned CALF vertices only. Foot/ToeBase are diagnostics and cannot satisfy the palm gate."
    },
    "prefinger": {
      "schema": "NEXPROD01_V322_ACTUAL_CALF_MESH_PREFINGER_GATE",
      "pass": false,
      "status": "ACTUAL_CALF_PALM_CONTACT_BLOCKED",
      "orientationFail": false,
      "wrongWay": false
    },
    "finger": {
      "active": false,
      "blocked": true,
      "ready": false,
      "reason": "v306_actual_surface_or_entry_frame_gate_not_passed"
    },
    "boneCount": 165,
    "skinnedMeshCount": 12
  },
  "events": [
    "CONSOLE warning [.WebGL-0x1fcc00127200]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels",
    "CONSOLE warning [.WebGL-0x1fcc00127200]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels",
    "CONSOLE warning [.WebGL-0x1fcc00127200]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels",
    "CONSOLE warning [.WebGL-0x1fcc00127200]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels (this message will no longer repeat)",
    "CONSOLE error Failed to load resource: the server responded with a status of 404 (File not found)",
    "CONSOLE warning THREE.FBXLoader: Vertex has more than 4 skinning weights assigned to vertex. Deleting additional weights.",
    "CONSOLE warning THREE.FBXLoader: Vertex has more than 4 skinning weights assigned to vertex. Deleting additional weights.",
    "CONSOLE warning THREE.FBXLoader: Vertex has more than 4 skinning weights assigned to vertex. Deleting additional weights."
  ]
}