{
  "version": 2,
  "status": "signed_mcp_led_eight_finger_candidate",
  "calibrations": {
    "high": {
      "version": 1,
      "status": "approximate_3d_calibrated_painted_landmark_retarget",
      "source": "../pixel-hand-3d-review-20260918/hand-spec.mjs HIGH_HAND_SPEC and main.js fixed target camera",
      "camera": {
        "position": [
          10,
          -20,
          14
        ],
        "target": [
          -0.45,
          0.1,
          0.6
        ],
        "zoom": 1
      },
      "hand": {
        "origin": [
          5,
          1,
          0.2
        ],
        "palmNormal": [
          -0.38,
          -0.91,
          0.15
        ],
        "longAxisHint": [
          0,
          0,
          1
        ]
      },
      "flexAxisLocal": [
        0,
        -1,
        0
      ],
      "fingers": {
        "index": {
          "joints": [
            [
              0.78,
              0.97,
              0.12
            ],
            [
              1.9568077193954534,
              0.985,
              0.24368747540180388
            ],
            [
              2.7551294912049333,
              1,
              0.457597149458337
            ],
            [
              3.2833162479491746,
              1.015,
              0.76254591564702
            ]
          ],
          "jointNames": [
            "MCP",
            "PIP",
            "DIP",
            "指尖"
          ]
        },
        "middle": {
          "joints": [
            [
              1.07,
              0.31,
              0.12
            ],
            [
              2.417337860371076,
              0.325,
              0.3093559875226851
            ],
            [
              3.2846975649995223,
              0.34,
              0.6250491024093647
            ],
            [
              3.8201467487413017,
              0.35500000000000004,
              0.9999746571935946
            ]
          ],
          "jointNames": [
            "MCP",
            "PIP",
            "DIP",
            "指尖"
          ]
        },
        "ring": {
          "joints": [
            [
              0.97,
              -0.37,
              0.08
            ],
            [
              2.1207967811689445,
              -0.42,
              0.6166253520392009
            ],
            [
              2.687435114294682,
              -0.47,
              1.291918621243393
            ],
            [
              2.800626557054432,
              -0.52,
              1.9338591927030622
            ]
          ],
          "jointNames": [
            "MCP",
            "PIP",
            "DIP",
            "指尖"
          ]
        },
        "little": {
          "joints": [
            [
              0.66,
              -0.99,
              0.03
            ],
            [
              1.2880268503810761,
              -1.09,
              0.7784532551872736
            ],
            [
              1.4101991727601144,
              -1.1900000000000002,
              1.4713269259559874
            ],
            [
              1.3628294051852479,
              -1.2900000000000003,
              2.0127658469063596
            ]
          ],
          "jointNames": [
            "MCP",
            "PIP",
            "DIP",
            "指尖"
          ]
        }
      }
    },
    "low": {
      "version": 1,
      "status": "approximate_3d_calibrated_painted_landmark_retarget",
      "source": "../pixel-hand-3d-review-20260918/hand-spec.mjs HAND_SPEC, low-hand Rx(25deg) and fixed target camera",
      "camera": {
        "position": [
          10,
          -20,
          14
        ],
        "target": [
          -0.45,
          0.1,
          0.6
        ],
        "zoom": 1
      },
      "hand": {
        "origin": [
          -3,
          0,
          -1
        ],
        "palmNormal": [
          0,
          -0.42261826174069944,
          0.9063077870366499
        ],
        "longAxisHint": [
          1,
          0,
          0
        ]
      },
      "flexAxisLocal": [
        0,
        -1,
        0
      ],
      "fingers": {
        "index": {
          "joints": [
            [
              0.78,
              -0.97,
              0.12
            ],
            [
              1.96,
              -1.05,
              0.16
            ],
            [
              2.76,
              -1.17,
              0.33
            ],
            [
              3.31,
              -1.28,
              0.57
            ]
          ],
          "jointNames": [
            "MCP",
            "PIP",
            "DIP",
            "指尖"
          ]
        },
        "middle": {
          "joints": [
            [
              1.07,
              -0.31,
              0.12
            ],
            [
              2.43,
              -0.28,
              0.15
            ],
            [
              3.34,
              -0.24,
              0.3
            ],
            [
              3.95,
              -0.19,
              0.53
            ]
          ],
          "jointNames": [
            "MCP",
            "PIP",
            "DIP",
            "指尖"
          ]
        },
        "ring": {
          "joints": [
            [
              0.97,
              0.37,
              0.08
            ],
            [
              2.23,
              0.53,
              0.12
            ],
            [
              3.07,
              0.75,
              0.28
            ],
            [
              3.64,
              0.95,
              0.53
            ]
          ],
          "jointNames": [
            "MCP",
            "PIP",
            "DIP",
            "指尖"
          ]
        },
        "little": {
          "joints": [
            [
              0.66,
              0.99,
              0.03
            ],
            [
              1.59,
              1.3,
              0.09
            ],
            [
              2.23,
              1.57,
              0.24
            ],
            [
              2.7,
              1.79,
              0.43
            ]
          ],
          "jointNames": [
            "MCP",
            "PIP",
            "DIP",
            "指尖"
          ]
        }
      }
    }
  },
  "rigs": {
    "high-index": {
      "label": "高位 · 食指",
      "layer": "high-index",
      "hand": "high",
      "finger": "index",
      "anchorsSourcePx": [
        [
          1110,
          360
        ],
        [
          1082.0397951005332,
          260.92661253789595
        ],
        [
          1039.405547618218,
          211.37470815764718
        ],
        [
          977.9999999999999,
          135.00000000000003
        ]
      ],
      "flexDegrees": {
        "MCP": 8,
        "PIP": 0.8,
        "DIP": 0.3
      },
      "blendHalfWidthPx": 10,
      "skinRadii": [
        55,
        40,
        47
      ],
      "anchorEvidence": "Painted joint-center estimates, not anatomical measurements. MCP pivot is fixed in the palm; the whole finger rotates about it. Rings follow the proximal segment. A short material cuff blends to the static palm.",
      "reverseFlexDegrees": {
        "MCP": 3.5,
        "PIP": 0.4,
        "DIP": 0.15
      },
      "rootBlendPx": 24
    },
    "high-middle": {
      "label": "高位 · 中指",
      "layer": "high-middle",
      "hand": "high",
      "finger": "middle",
      "anchorsSourcePx": [
        [
          1158,
          347
        ],
        [
          1104,
          176
        ],
        [
          1044,
          102
        ],
        [
          983,
          25
        ]
      ],
      "flexDegrees": {
        "MCP": 9,
        "PIP": 1,
        "DIP": 0.35
      },
      "blendHalfWidthPx": 10,
      "skinRadii": [
        55,
        40,
        47
      ],
      "anchorEvidence": "Painted joint-center estimates, not anatomical measurements. MCP pivot is fixed in the palm; the whole finger rotates about it. Rings follow the proximal segment. A short material cuff blends to the static palm.",
      "reverseFlexDegrees": {
        "MCP": 4,
        "PIP": 0.5,
        "DIP": 0.175
      },
      "rootBlendPx": 16
    },
    "high-ring": {
      "label": "高位 · 无名指",
      "layer": "high-base",
      "hand": "high",
      "finger": "ring",
      "anchorsSourcePx": [
        [
          1235.5387055374827,
          387.0902575075767
        ],
        [
          1184.5064663803362,
          294.4341824290837
        ],
        [
          1078.2938940166696,
          272.29612968897175
        ],
        [
          1011.4423760418974,
          272.71053627148086
        ]
      ],
      "flexDegrees": {
        "MCP": 6,
        "PIP": 0.6,
        "DIP": 0.25
      },
      "blendHalfWidthPx": 10,
      "skinRadii": [
        55,
        40,
        47
      ],
      "anchorEvidence": "Painted joint-center estimates, not anatomical measurements. MCP pivot is fixed in the palm; the whole finger rotates about it. Rings follow the proximal segment. A short material cuff blends to the static palm.",
      "reverseFlexDegrees": {
        "MCP": 3,
        "PIP": 0.3,
        "DIP": 0.125
      },
      "rootBlendPx": 14
    },
    "high-little": {
      "label": "高位 · 小指",
      "layer": "high-base",
      "hand": "high",
      "finger": "little",
      "anchorsSourcePx": [
        [
          1233.1295816200134,
          451.94905670858367
        ],
        [
          1189.3489419569557,
          393.8858995423883
        ],
        [
          1112.02297444003,
          408.81037757899315
        ],
        [
          1073.2283826986227,
          432.49824834585536
        ]
      ],
      "flexDegrees": {
        "MCP": 6,
        "PIP": 0.5,
        "DIP": 0.2
      },
      "blendHalfWidthPx": 10,
      "skinRadii": [
        55,
        40,
        47
      ],
      "anchorEvidence": "Painted joint-center estimates, not anatomical measurements. MCP pivot is fixed in the palm; the whole finger rotates about it. Rings follow the proximal segment. A short material cuff blends to the static palm.",
      "reverseFlexDegrees": {
        "MCP": 3,
        "PIP": 0.25,
        "DIP": 0.1
      },
      "rootBlendPx": 12
    },
    "low-index": {
      "label": "低位 · 食指",
      "layer": "lower",
      "hand": "low",
      "finger": "index",
      "anchorsSourcePx": [
        [
          489,
          749
        ],
        [
          601,
          832
        ],
        [
          683,
          887
        ],
        [
          780,
          935
        ]
      ],
      "flexDegrees": {
        "MCP": 8,
        "PIP": 0.8,
        "DIP": 0.3
      },
      "blendHalfWidthPx": 14,
      "skinRadii": [
        55,
        40,
        43
      ],
      "anchorEvidence": "Painted joint-center estimates, not anatomical measurements. MCP pivot is fixed in the palm; the whole finger rotates about it. Rings follow the proximal segment. A short material cuff blends to the static palm.",
      "flexAxisLocal": [
        -0.0676413357367917,
        -0.9977097021176766,
        0
      ],
      "reverseFlexDegrees": {
        "MCP": 3.5,
        "PIP": 0.4,
        "DIP": 0.15
      },
      "rootBlendPx": 16
    },
    "low-middle": {
      "label": "低位 · 中指",
      "layer": "lower",
      "hand": "low",
      "finger": "middle",
      "anchorsSourcePx": [
        [
          568,
          733
        ],
        [
          716,
          849
        ],
        [
          838,
          846
        ],
        [
          944,
          846
        ]
      ],
      "flexDegrees": {
        "MCP": 8,
        "PIP": 0.8,
        "DIP": 0.3
      },
      "blendHalfWidthPx": 14,
      "skinRadii": [
        55,
        40,
        43
      ],
      "anchorEvidence": "Painted joint-center estimates, not anatomical measurements. MCP pivot is fixed in the palm; the whole finger rotates about it. Rings follow the proximal segment. A short material cuff blends to the static palm.",
      "flexAxisLocal": [
        0.02205345866703451,
        -0.9997567929055654,
        0
      ],
      "reverseFlexDegrees": {
        "MCP": 3.5,
        "PIP": 0.4,
        "DIP": 0.15
      },
      "rootBlendPx": 16
    },
    "low-ring": {
      "label": "低位 · 无名指",
      "layer": "lower",
      "hand": "low",
      "finger": "ring",
      "anchorsSourcePx": [
        [
          606,
          716
        ],
        [
          750,
          780
        ],
        [
          830,
          761
        ],
        [
          923,
          718
        ]
      ],
      "flexDegrees": {
        "MCP": 7,
        "PIP": 0.6,
        "DIP": 0.25
      },
      "blendHalfWidthPx": 14,
      "skinRadii": [
        55,
        40,
        43
      ],
      "anchorEvidence": "Painted joint-center estimates, not anatomical measurements. MCP pivot is fixed in the palm; the whole finger rotates about it. Rings follow the proximal segment. A short material cuff blends to the static palm.",
      "flexAxisLocal": [
        0.12597253704384773,
        -0.9920337292203006,
        0
      ],
      "reverseFlexDegrees": {
        "MCP": 3,
        "PIP": 0.3,
        "DIP": 0.125
      },
      "rootBlendPx": 14
    },
    "low-little": {
      "label": "低位 · 小指",
      "layer": "lower",
      "hand": "low",
      "finger": "little",
      "anchorsSourcePx": [
        [
          629,
          680
        ],
        [
          716,
          706
        ],
        [
          767,
          682
        ],
        [
          840,
          647
        ]
      ],
      "flexDegrees": {
        "MCP": 6,
        "PIP": 0.5,
        "DIP": 0.2
      },
      "blendHalfWidthPx": 14,
      "skinRadii": [
        55,
        40,
        43
      ],
      "anchorEvidence": "Painted joint-center estimates, not anatomical measurements. MCP pivot is fixed in the palm; the whole finger rotates about it. Rings follow the proximal segment. A short material cuff blends to the static palm.",
      "flexAxisLocal": [
        0.31622776601683794,
        -0.9486832980505138,
        0
      ],
      "reverseFlexDegrees": {
        "MCP": 3,
        "PIP": 0.25,
        "DIP": 0.1
      },
      "rootBlendPx": 8
    }
  },
  "provenance": "web_candidate: hand-painted landmark retarget and flex ranges for this inspector, not extracted game motion parameters",
  "signedAmountMapping": "For s in [-1,1], angle=((positive+negative)/2)*s+((positive-negative)/2)*s*s. reverseFlexDegrees stores positive magnitudes. This smooth asymmetric map preserves neutral and angular-velocity continuity across s=0."
}
