{
  "schema": "NEXT11_V364_DUAL_HAND_PALM_MCP_CONTACT_IK_AUDIT",
  "sourceImage": "/mnt/data/E1B75D25-0276-4DD4-AC0F-4154B493C9FF.jpeg",
  "baselineZip": "NEXT11_V346_COLLISION_RECEIVER_AXIS_CANONICALIZATION_REBUILT.zip",
  "hardLocks": {
    "bodyLegFootReceivers": true,
    "contactRulesChanged": false,
    "runtimeChanged": false,
    "gripSolverChanged": false,
    "mediaPipeWorldMetersUsed": false,
    "imageOrRenderingGenerated": false
  },
  "correctionFromV362": "V362 measured reach to L_Hand/R_Hand wrist controllers. V364 measures to actual FBX Index/Pinky/Mid MCP palm frame offsets from each Hand bone.",
  "projectionFit": {
    "anchors": [
      "Pelvis",
      "Spine02",
      "L_Upperarm",
      "R_Upperarm",
      "L_Thigh",
      "R_Thigh",
      "L_Calf",
      "R_Calf",
      "L_Foot",
      "R_Foot",
      "R_ToeBase"
    ],
    "rmsImageNorm": 0.06740471
  },
  "palmMcpOffsetsMeters": {
    "L_center": 0.080344,
    "L_index": 0.087477,
    "L_pinky": 0.082578,
    "R_center": 0.081585,
    "R_index": 0.088788,
    "R_pinky": 0.083549
  },
  "armSolveRows": [
    {
      "side": "L",
      "contactSource": "left_thumb_visual_heel_sole_contact_solved_as_L_Index/Pinky_MCP_palm_center",
      "mpVisibility": {
        "shoulder": 1.0,
        "elbow": 0.9993,
        "wrist": 0.9986,
        "thumb": 0.9942,
        "index": 0.996,
        "pinky": 0.9958
      },
      "oldWristHandImage": [
        0.453708,
        0.804844
      ],
      "newWristHandImage": [
        0.416767,
        0.782438
      ],
      "targetPalmContactImage": [
        0.395748,
        0.823721
      ],
      "newPalmCenterImage": [
        0.395748,
        0.823721
      ],
      "newPalmContactErrorImage": 0.0,
      "oldWristToContactImageError": 0.06095706,
      "newWristToContactImageError": 0.04632604,
      "newElbowSourceErrorImage": 0.0391842,
      "upperarmLengthOldM": 0.328428,
      "upperarmLengthNewM": 0.328428,
      "forearmLengthOldM": 0.318754,
      "forearmLengthNewM": 0.318754,
      "handMove3DM": 0.096209,
      "elbowMove3DM": 0.072228,
      "palmCenterOffsetM": 0.080344,
      "handSolve": {
        "mode": "fixed_shoulder_exact_palm_mcp_contact",
        "armReachM": 0.64718231,
        "palmCenterOffsetM": 0.08034429,
        "shoulderToPalmM": 0.70739153,
        "shoulderToHandM": 0.62704725,
        "lineParam": 1.08589276
      },
      "elbowSolve": {
        "mode": "two_sphere_elbow_after_palm_endpoint",
        "projectionErrorImageNorm": 0.03918420203138361,
        "oldStabilizerM": 0.07222784904516329,
        "theta": 5.859942963570962
      }
    },
    {
      "side": "R",
      "contactSource": "right_wrist_thumb_index_centroid_shin_contact_solved_as_R_Index/Pinky_MCP_palm_center",
      "mpVisibility": {
        "shoulder": 0.9999,
        "elbow": 0.7701,
        "wrist": 0.8637,
        "thumb": 0.827,
        "index": 0.8407,
        "pinky": 0.8335
      },
      "oldWristHandImage": [
        0.267736,
        0.619958
      ],
      "newWristHandImage": [
        0.348774,
        0.633937
      ],
      "targetPalmContactImage": [
        0.334774,
        0.680409
      ],
      "newPalmCenterImage": [
        0.334774,
        0.680409
      ],
      "newPalmContactErrorImage": 0.0,
      "oldWristToContactImageError": 0.09026878,
      "newWristToContactImageError": 0.04853498,
      "newElbowSourceErrorImage": 0.02512096,
      "upperarmLengthOldM": 0.322494,
      "upperarmLengthNewM": 0.322494,
      "forearmLengthOldM": 0.344487,
      "forearmLengthNewM": 0.344487,
      "handMove3DM": 0.197944,
      "elbowMove3DM": 0.37174,
      "palmCenterOffsetM": 0.081585,
      "handSolve": {
        "mode": "fixed_shoulder_exact_palm_mcp_contact",
        "armReachM": 0.66698108,
        "palmCenterOffsetM": 0.08158454,
        "shoulderToPalmM": 0.61494635,
        "shoulderToHandM": 0.5333618,
        "lineParam": 0.90316614
      },
      "elbowSolve": {
        "mode": "two_sphere_elbow_after_palm_endpoint",
        "projectionErrorImageNorm": 0.025120959132658636,
        "oldStabilizerM": 0.37174021989835165,
        "theta": 2.6790804018112957
      }
    }
  ],
  "passCriteria": {
    "bothPalmCentersProjectToContact": true,
    "segmentLengthsPreserved": true,
    "bodyLegFootTargetsUnchanged": true,
    "usesPalmMcpNotWrist": true
  },
  "changedTargetsOnly": {
    "profileId": "warmup_figure_four_walk_ik_v1",
    "right_figure_four_peak": {
      "L_Upperarm": [
        -0.25976,
        1.632297,
        0.078383
      ],
      "L_Forearm": [
        -0.310122,
        1.348289,
        0.235444
      ],
      "L_Hand": [
        -0.214056,
        1.116598,
        0.432154
      ],
      "L_PalmBase": [
        -0.207941,
        1.052302,
        0.486943
      ],
      "L_PalmIndexBase": [
        -0.221607,
        1.061286,
        0.499503
      ],
      "L_PalmPinkyBase": [
        -0.194794,
        1.039755,
        0.455463
      ],
      "R_Upperarm": [
        0.194161,
        1.622326,
        0.082245
      ],
      "R_Forearm": [
        0.055824,
        1.492782,
        0.343173
      ],
      "R_Hand": [
        0.123597,
        1.155285,
        0.329972
      ],
      "R_PalmBase": [
        0.111514,
        1.084397,
        0.37723
      ],
      "R_PalmIndexBase": [
        0.123683,
        1.091946,
        0.392193
      ],
      "R_PalmPinkyBase": [
        0.101923,
        1.075745,
        0.343536
      ]
    },
    "left_figure_four_peak": {
      "L_Upperarm": [
        -0.194161,
        1.622326,
        0.082245
      ],
      "L_Forearm": [
        -0.055824,
        1.492782,
        0.343173
      ],
      "L_Hand": [
        -0.123597,
        1.155285,
        0.329972
      ],
      "L_PalmBase": [
        -0.111514,
        1.084397,
        0.37723
      ],
      "L_PalmIndexBase": [
        -0.123683,
        1.091946,
        0.392193
      ],
      "L_PalmPinkyBase": [
        -0.101923,
        1.075745,
        0.343536
      ],
      "R_Upperarm": [
        0.25976,
        1.632297,
        0.078383
      ],
      "R_Forearm": [
        0.310122,
        1.348289,
        0.235444
      ],
      "R_Hand": [
        0.214056,
        1.116598,
        0.432154
      ],
      "R_PalmBase": [
        0.207941,
        1.052302,
        0.486943
      ],
      "R_PalmIndexBase": [
        0.221607,
        1.061286,
        0.499503
      ],
      "R_PalmPinkyBase": [
        0.194794,
        1.039755,
        0.455463
      ]
    },
    "unchanged": "All non-arm/non-palm IK targets, body/legs/feet, contact rules, receiver structure, runtime and grip solver are inherited unchanged from V346."
  },
  "protocolReads": {
    "AGENTS.md": {
      "exists": false,
      "bytes": 0
    },
    "START_HERE.md": {
      "exists": false,
      "bytes": 0
    },
    "CURRENT_STATE.json": {
      "exists": false,
      "bytes": 0
    },
    "CHECKPOINT_PROTOCOL.md": {
      "exists": false,
      "bytes": 0
    }
  }
}