{
  "schema": "NEXT11_V338_MEDIAPIPE_RECEIVER_ZONE_OPENGL_QA",
  "generatedAt": "2026-08-20T17:28:10.768Z",
  "pass": true,
  "rows": [
    {
      "side": "L",
      "caseId": "v94_left_full",
      "phase": 0.25,
      "runtimeVersion": "V338_MEDIAPIPE_RECEIVER_ZONE",
      "gripPass": true,
      "palmPass": true,
      "fingerPass": true,
      "fingerBlocked": false,
      "status": "PALM_PLUS_FOUR_FINGERS_READY_FOR_VISUAL_QA",
      "firstSnapErrorM": 0.001687,
      "lineAngleDeg": 0,
      "closeDirectionDot": 0.999809,
      "receiver": {
        "schema": "NEXPROD01_V338_MEDIAPIPE_RECEIVING_ZONE",
        "ok": true,
        "source": "normalized_mediaPipe_ik_palm_projection",
        "palmSeed": {
          "x": 0.09667,
          "y": 0.78528,
          "z": -0.28973
        },
        "palmSeedKeys": [
          "L_PalmBase",
          "L_PalmIndexBase",
          "L_PalmPinkyBase"
        ],
        "axisA": "L_Foot",
        "axisB": "L_Calf",
        "sourceAxisLengthM": 0.39526,
        "sourceT": 0.185729,
        "centerT": 0.185729,
        "minT": 0.035729,
        "maxT": 0.335729,
        "halfWidthT": 0.15,
        "radialFrame": {
          "lateralWeight": 0.450654,
          "forwardWeight": -0.892699,
          "sourceRadialM": 0.098952,
          "fallbackUsed": false
        },
        "ignoredLegacyRuleFields": [
          "snapOffsetWorldYM",
          "snapRadialSide"
        ],
        "policy": "The exercise description/source rule declares grip intent and target limb. Normalized MediaPipe/IK places a broad receiving band along the limb and supplies the circumferential approach direction. The collision cylinder supplies the exact surface only at solve time.",
        "selection": {
          "selectedT": 0.185729,
          "candidateCount": 11,
          "candidates": [
            {
              "t": 0.185729,
              "indexDistanceM": 0.109869,
              "pinkyDistanceM": 0.071344,
              "movementM": 0.071344,
              "centerPenaltyM": 0,
              "score": 0.071344
            },
            {
              "t": 0.215729,
              "indexDistanceM": 0.106227,
              "pinkyDistanceM": 0.070395,
              "movementM": 0.070395,
              "centerPenaltyM": 0.002372,
              "score": 0.072766
            },
            {
              "t": 0.245729,
              "indexDistanceM": 0.103819,
              "pinkyDistanceM": 0.071429,
              "movementM": 0.071429,
              "centerPenaltyM": 0.004743,
              "score": 0.076172
            },
            {
              "t": 0.155729,
              "indexDistanceM": 0.114627,
              "pinkyDistanceM": 0.074201,
              "movementM": 0.074201,
              "centerPenaltyM": 0.002372,
              "score": 0.076573
            },
            {
              "t": 0.275729,
              "indexDistanceM": 0.102732,
              "pinkyDistanceM": 0.074363,
              "movementM": 0.074363,
              "centerPenaltyM": 0.007115,
              "score": 0.081478
            },
            {
              "t": 0.125729,
              "indexDistanceM": 0.120369,
              "pinkyDistanceM": 0.078758,
              "movementM": 0.078758,
              "centerPenaltyM": 0.004743,
              "score": 0.083501
            },
            {
              "t": 0.305729,
              "indexDistanceM": 0.103007,
              "pinkyDistanceM": 0.078987,
              "movementM": 0.078987,
              "centerPenaltyM": 0.009486,
              "score": 0.088473
            },
            {
              "t": 0.095729,
              "indexDistanceM": 0.126962,
              "pinkyDistanceM": 0.084741,
              "movementM": 0.084741,
              "centerPenaltyM": 0.007115,
              "score": 0.091856
            },
            {
              "t": 0.335729,
              "indexDistanceM": 0.104635,
              "pinkyDistanceM": 0.085025,
              "movementM": 0.085025,
              "centerPenaltyM": 0.011858,
              "score": 0.096882
            },
            {
              "t": 0.065729,
              "indexDistanceM": 0.13428,
              "pinkyDistanceM": 0.091872,
              "movementM": 0.091872,
              "centerPenaltyM": 0.009486,
              "score": 0.101359
            },
            {
              "t": 0.035729,
              "indexDistanceM": 0.142212,
              "pinkyDistanceM": 0.099906,
              "movementM": 0.099906,
              "centerPenaltyM": 0.011858,
              "score": 0.111764
            }
          ]
        }
      },
      "selectedT": 0.185729,
      "snapPoint": {
        "x": 0.11441,
        "y": 0.7667,
        "z": -0.32873
      },
      "outward": {
        "x": -0.37756,
        "y": 0.39585,
        "z": 0.8371
      },
      "digitResults": [
        {
          "finger": "index",
          "contactOk": true,
          "worstPenetrationM": 0,
          "distanceToSurfaceM": 0.00451
        },
        {
          "finger": "middle",
          "contactOk": true,
          "worstPenetrationM": 0,
          "distanceToSurfaceM": 0.00543
        },
        {
          "finger": "ring",
          "contactOk": true,
          "worstPenetrationM": 0,
          "distanceToSurfaceM": 0.00239
        },
        {
          "finger": "pinky",
          "contactOk": true,
          "worstPenetrationM": 0,
          "distanceToSurfaceM": 0.00531
        }
      ],
      "thumbBlocked": true,
      "parentDriftPass": true,
      "webglVersion": "WebGL 2.0 (OpenGL ES 3.0 Chromium)",
      "webglVendor": "Google Inc. (Google)",
      "webglRenderer": "ANGLE (Google, Vulkan 1.3.0 (SwiftShader Device (Subzero) (0x0000C0DE)), SwiftShader driver)",
      "full": "/workspace/scratch/7cba6a8d47ee/deliverables/NEXT11_V338_MEDIAPIPE_RECEIVER_ZONE_ROOT/diagnostics/v338/opengl/V338_MEDIAPIPE_RECEIVER_ZONE_L_OPENGL_FULL.png",
      "close": "/workspace/scratch/7cba6a8d47ee/deliverables/NEXT11_V338_MEDIAPIPE_RECEIVER_ZONE_ROOT/diagnostics/v338/opengl/V338_MEDIAPIPE_RECEIVER_ZONE_L_OPENGL_CLOSEUP.png"
    },
    {
      "side": "R",
      "caseId": "v94_right_full",
      "phase": 0.75,
      "runtimeVersion": "V338_MEDIAPIPE_RECEIVER_ZONE",
      "gripPass": true,
      "palmPass": true,
      "fingerPass": true,
      "fingerBlocked": false,
      "status": "PALM_PLUS_FOUR_FINGERS_READY_FOR_VISUAL_QA",
      "firstSnapErrorM": 0.000706,
      "lineAngleDeg": 0,
      "closeDirectionDot": 0.999612,
      "receiver": {
        "schema": "NEXPROD01_V338_MEDIAPIPE_RECEIVING_ZONE",
        "ok": true,
        "source": "normalized_mediaPipe_ik_palm_projection",
        "palmSeed": {
          "x": -0.13519,
          "y": 0.75051,
          "z": -0.29936
        },
        "palmSeedKeys": [
          "R_PalmBase",
          "R_PalmIndexBase",
          "R_PalmPinkyBase"
        ],
        "axisA": "R_Foot",
        "axisB": "R_Calf",
        "sourceAxisLengthM": 0.395374,
        "sourceT": 0.250484,
        "centerT": 0.250484,
        "minT": 0.100484,
        "maxT": 0.400484,
        "halfWidthT": 0.15,
        "radialFrame": {
          "lateralWeight": -0.10406,
          "forwardWeight": -0.994571,
          "sourceRadialM": 0.068817,
          "fallbackUsed": false
        },
        "ignoredLegacyRuleFields": [
          "snapOffsetWorldYM",
          "snapRadialSide"
        ],
        "policy": "The exercise description/source rule declares grip intent and target limb. Normalized MediaPipe/IK places a broad receiving band along the limb and supplies the circumferential approach direction. The collision cylinder supplies the exact surface only at solve time.",
        "selection": {
          "selectedT": 0.250484,
          "candidateCount": 11,
          "candidates": [
            {
              "t": 0.250484,
              "indexDistanceM": 0.09453,
              "pinkyDistanceM": 0.055014,
              "movementM": 0.055014,
              "centerPenaltyM": 0,
              "score": 0.055014
            },
            {
              "t": 0.280484,
              "indexDistanceM": 0.088143,
              "pinkyDistanceM": 0.052916,
              "movementM": 0.052916,
              "centerPenaltyM": 0.002372,
              "score": 0.055288
            },
            {
              "t": 0.310484,
              "indexDistanceM": 0.082968,
              "pinkyDistanceM": 0.053433,
              "movementM": 0.053433,
              "centerPenaltyM": 0.004744,
              "score": 0.058177
            },
            {
              "t": 0.220484,
              "indexDistanceM": 0.101902,
              "pinkyDistanceM": 0.05945,
              "movementM": 0.05945,
              "centerPenaltyM": 0.002372,
              "score": 0.061822
            },
            {
              "t": 0.340484,
              "indexDistanceM": 0.079244,
              "pinkyDistanceM": 0.056492,
              "movementM": 0.056492,
              "centerPenaltyM": 0.007117,
              "score": 0.063609
            },
            {
              "t": 0.190484,
              "indexDistanceM": 0.110062,
              "pinkyDistanceM": 0.065753,
              "movementM": 0.065753,
              "centerPenaltyM": 0.004744,
              "score": 0.070498
            },
            {
              "t": 0.370484,
              "indexDistanceM": 0.077182,
              "pinkyDistanceM": 0.061718,
              "movementM": 0.061718,
              "centerPenaltyM": 0.009489,
              "score": 0.071207
            },
            {
              "t": 0.400484,
              "indexDistanceM": 0.076914,
              "pinkyDistanceM": 0.068616,
              "movementM": 0.068616,
              "centerPenaltyM": 0.011861,
              "score": 0.080477
            },
            {
              "t": 0.160484,
              "indexDistanceM": 0.118847,
              "pinkyDistanceM": 0.073444,
              "movementM": 0.073444,
              "centerPenaltyM": 0.007117,
              "score": 0.080561
            },
            {
              "t": 0.130484,
              "indexDistanceM": 0.128128,
              "pinkyDistanceM": 0.082134,
              "movementM": 0.082134,
              "centerPenaltyM": 0.009489,
              "score": 0.091623
            },
            {
              "t": 0.100484,
              "indexDistanceM": 0.137806,
              "pinkyDistanceM": 0.091539,
              "movementM": 0.091539,
              "centerPenaltyM": 0.011861,
              "score": 0.1034
            }
          ]
        }
      },
      "selectedT": 0.250484,
      "snapPoint": {
        "x": -0.13562,
        "y": 0.74374,
        "z": -0.31444
      },
      "outward": {
        "x": 0.02484,
        "y": 0.40312,
        "z": 0.91481
      },
      "digitResults": [
        {
          "finger": "index",
          "contactOk": true,
          "worstPenetrationM": 0,
          "distanceToSurfaceM": 0.00362
        },
        {
          "finger": "middle",
          "contactOk": true,
          "worstPenetrationM": 0,
          "distanceToSurfaceM": 0.00454
        },
        {
          "finger": "ring",
          "contactOk": true,
          "worstPenetrationM": 0,
          "distanceToSurfaceM": 0.00535
        },
        {
          "finger": "pinky",
          "contactOk": true,
          "worstPenetrationM": 0,
          "distanceToSurfaceM": 0.00198
        }
      ],
      "thumbBlocked": true,
      "parentDriftPass": true,
      "webglVersion": "WebGL 2.0 (OpenGL ES 3.0 Chromium)",
      "webglVendor": "Google Inc. (Google)",
      "webglRenderer": "ANGLE (Google, Vulkan 1.3.0 (SwiftShader Device (Subzero) (0x0000C0DE)), SwiftShader driver)",
      "full": "/workspace/scratch/7cba6a8d47ee/deliverables/NEXT11_V338_MEDIAPIPE_RECEIVER_ZONE_ROOT/diagnostics/v338/opengl/V338_MEDIAPIPE_RECEIVER_ZONE_R_OPENGL_FULL.png",
      "close": "/workspace/scratch/7cba6a8d47ee/deliverables/NEXT11_V338_MEDIAPIPE_RECEIVER_ZONE_ROOT/diagnostics/v338/opengl/V338_MEDIAPIPE_RECEIVER_ZONE_R_OPENGL_CLOSEUP.png"
    }
  ]
}
