{
  "status": "PROCESS REVIEW: nominal geometry plus explicit fabrication and acceptance stages",
  "manufacturing_released": false,
  "manufactured_parts": [
    "pcb-clamp-pad-1.stl",
    "pcb-clamp-pad-2.stl",
    "pcb-clamp-pad-3.stl",
    "pcb-clamp-pad-4.stl",
    "cable-grommet-1.stl",
    "cable-grommet-1-blanking-plug.stl",
    "cable-grommet-2.stl",
    "cable-grommet-2-blanking-plug.stl",
    "cable-grommet-3.stl",
    "cable-grommet-3-blanking-plug.stl",
    "cable-grommet-4.stl",
    "cable-grommet-4-blanking-plug.stl",
    "cable-grommet-5.stl",
    "cable-grommet-5-blanking-plug.stl",
    "cable-grommet-6.stl",
    "cable-grommet-6-blanking-plug.stl",
    "cable-grommet-7.stl",
    "cable-grommet-7-blanking-plug.stl",
    "usb-service-cap.stl",
    "sd-service-cap.stl",
    "battery-retaining-belt.stl",
    "battery-foam-pad-1.stl",
    "battery-foam-pad-2.stl",
    "button-plunger.stl",
    "button-plunger-cap.stl",
    "button-floating-tip.stl",
    "button-silicone-diaphragm.stl",
    "rgb-lightpipe.stl",
    "camera-tpu-cradle-liner.stl",
    "camera-front-shim-1.stl",
    "camera-front-shim-2.stl",
    "camera-front-shim-3.stl",
    "camera-front-shim-4.stl",
    "camera-rear-retainer.stl",
    "camera-window-clear-pc.stl",
    "camera-window-adhesive-ring.stl",
    "flat-tpu-textile-carrier.stl",
    "lid-perimeter-gasket.stl",
    "hand-tile-tpu-pocket.stl",
    "hand-tile-tpu-cover.stl",
    "rigid-base.stl",
    "rigid-lid.stl"
  ],
  "inspection_solids": [
    "camera-module-envelope.stl",
    "camera-flex-envelope.stl",
    "battery-envelope.stl",
    "battery-ntc-envelope.stl",
    "pcb-envelope.stl",
    "hand-tile-pcb-envelope.stl"
  ],
  "parts": [
    {
      "file": "pcb-clamp-pad-1.stl",
      "sha256": "ee94d418ac03a9157c48e7e1c12a02df4bd26898b6563fbb8326e75dd2cc7d11",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 9.199999999999957,
      "bounds_mm": [
        -1.5,
        20.5,
        30.6,
        0.7999999999999999,
        25.5,
        31.4
      ],
      "triangle_count": 12,
      "pieces": [
        {
          "volume_mm3": 9.199999999999957,
          "bounds_mm": [
            -1.5,
            20.5,
            30.6,
            0.7999999999999999,
            25.5,
            31.4
          ]
        }
      ]
    },
    {
      "file": "pcb-clamp-pad-2.stl",
      "sha256": "155ffad746dc474fc096c264f550d5d767fded0e0bc46c258bb76cc4ca897138",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 9.200000000000024,
      "bounds_mm": [
        15.5,
        79.19999999999999,
        30.6,
        20.5,
        81.5,
        31.4
      ],
      "triangle_count": 12,
      "pieces": [
        {
          "volume_mm3": 9.200000000000024,
          "bounds_mm": [
            15.5,
            79.19999999999999,
            30.6,
            20.5,
            81.5,
            31.4
          ]
        }
      ]
    },
    {
      "file": "pcb-clamp-pad-3.stl",
      "sha256": "e2d12e34a9d493a6f41d8db7f6771f8c22ba2e2dd1d136a3f9bef88c1b321336",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 9.200000000000035,
      "bounds_mm": [
        99.19999999999999,
        9.5,
        30.6,
        101.5,
        14.5,
        31.4
      ],
      "triangle_count": 12,
      "pieces": [
        {
          "volume_mm3": 9.200000000000035,
          "bounds_mm": [
            99.19999999999999,
            9.5,
            30.6,
            101.5,
            14.5,
            31.4
          ]
        }
      ]
    },
    {
      "file": "pcb-clamp-pad-4.stl",
      "sha256": "c7c4224e118194c1e9a1fb25022218e900ed54b258896fe7c2ac88ef9d8db048",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 9.200000000000042,
      "bounds_mm": [
        99.19999999999999,
        40.5,
        30.6,
        101.5,
        45.5,
        31.4
      ],
      "triangle_count": 12,
      "pieces": [
        {
          "volume_mm3": 9.200000000000042,
          "bounds_mm": [
            99.19999999999999,
            40.5,
            30.6,
            101.5,
            45.5,
            31.4
          ]
        }
      ]
    },
    {
      "file": "cable-grommet-1.stl",
      "sha256": "2404499e33de9381089dfe4dd23c91845827f8233772d706a08f502ebf03cf52",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 177.9695318880842,
      "bounds_mm": [
        5.0,
        -12.0,
        34.5,
        17.0,
        -9.799999999999999,
        43.5
      ],
      "triangle_count": 316,
      "pieces": [
        {
          "volume_mm3": 177.9695318880842,
          "bounds_mm": [
            5.0,
            -12.0,
            34.5,
            17.0,
            -9.799999999999999,
            43.5
          ]
        }
      ]
    },
    {
      "file": "cable-grommet-1-blanking-plug.stl",
      "sha256": "6a8423deca71a86b1961cfc29640cf1f46685f3c5a195dd81afa3024af88d2f8",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 44.582900244619985,
      "bounds_mm": [
        8.2,
        -12.0,
        36.7,
        13.8,
        -9.0,
        42.3
      ],
      "triangle_count": 508,
      "pieces": [
        {
          "volume_mm3": 44.582900244619985,
          "bounds_mm": [
            8.2,
            -12.0,
            36.7,
            13.8,
            -9.0,
            42.3
          ]
        }
      ]
    },
    {
      "file": "cable-grommet-2.stl",
      "sha256": "92c247f92d98d8acf56ccc81428b0aee79f21bd56b07030b5ca07231038e1c1f",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 177.96953188808422,
      "bounds_mm": [
        22.0,
        -12.0,
        34.5,
        34.0,
        -9.799999999999999,
        43.5
      ],
      "triangle_count": 316,
      "pieces": [
        {
          "volume_mm3": 177.96953188808422,
          "bounds_mm": [
            22.0,
            -12.0,
            34.5,
            34.0,
            -9.799999999999999,
            43.5
          ]
        }
      ]
    },
    {
      "file": "cable-grommet-2-blanking-plug.stl",
      "sha256": "8fdc8e0bb83a1a4297bb3534b24325f492bd48c8b55fa4e702b5f676f00e6e5f",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 44.58290024461999,
      "bounds_mm": [
        25.2,
        -12.0,
        36.7,
        30.8,
        -9.0,
        42.3
      ],
      "triangle_count": 508,
      "pieces": [
        {
          "volume_mm3": 44.58290024461999,
          "bounds_mm": [
            25.2,
            -12.0,
            36.7,
            30.8,
            -9.0,
            42.3
          ]
        }
      ]
    },
    {
      "file": "cable-grommet-3.stl",
      "sha256": "5b908d1c015a24730188b502467b807a3cf7f7d46850ae99892fb6f78c672661",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 177.96953188808428,
      "bounds_mm": [
        39.0,
        -12.0,
        34.5,
        51.0,
        -9.799999999999999,
        43.5
      ],
      "triangle_count": 316,
      "pieces": [
        {
          "volume_mm3": 177.96953188808428,
          "bounds_mm": [
            39.0,
            -12.0,
            34.5,
            51.0,
            -9.799999999999999,
            43.5
          ]
        }
      ]
    },
    {
      "file": "cable-grommet-3-blanking-plug.stl",
      "sha256": "19da037b0f4679a9887c333165a339b2ef4618d8ad377c15ec20d44954539329",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 44.582900244619985,
      "bounds_mm": [
        42.2,
        -12.0,
        36.7,
        47.8,
        -9.0,
        42.3
      ],
      "triangle_count": 508,
      "pieces": [
        {
          "volume_mm3": 44.582900244619985,
          "bounds_mm": [
            42.2,
            -12.0,
            36.7,
            47.8,
            -9.0,
            42.3
          ]
        }
      ]
    },
    {
      "file": "cable-grommet-4.stl",
      "sha256": "824361369e479b05094fdeb866b66306bd4852711dcb3f7de4736d17a288c5c7",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 177.96953188808428,
      "bounds_mm": [
        56.0,
        -12.0,
        34.5,
        68.0,
        -9.799999999999999,
        43.5
      ],
      "triangle_count": 316,
      "pieces": [
        {
          "volume_mm3": 177.96953188808428,
          "bounds_mm": [
            56.0,
            -12.0,
            34.5,
            68.0,
            -9.799999999999999,
            43.5
          ]
        }
      ]
    },
    {
      "file": "cable-grommet-4-blanking-plug.stl",
      "sha256": "e68ddd535aff4d730de2578f195ea1c05608ccaf58d775794807d577019610cd",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 44.582900244619985,
      "bounds_mm": [
        59.2,
        -12.0,
        36.7,
        64.8,
        -9.0,
        42.3
      ],
      "triangle_count": 508,
      "pieces": [
        {
          "volume_mm3": 44.582900244619985,
          "bounds_mm": [
            59.2,
            -12.0,
            36.7,
            64.8,
            -9.0,
            42.3
          ]
        }
      ]
    },
    {
      "file": "cable-grommet-5.stl",
      "sha256": "423a77996a55fd35b0101f2b7fe1f585f074bd65aab61cc03a1af4aee605bf84",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 177.96953188808425,
      "bounds_mm": [
        73.0,
        -12.0,
        34.5,
        85.0,
        -9.799999999999999,
        43.5
      ],
      "triangle_count": 316,
      "pieces": [
        {
          "volume_mm3": 177.96953188808425,
          "bounds_mm": [
            73.0,
            -12.0,
            34.5,
            85.0,
            -9.799999999999999,
            43.5
          ]
        }
      ]
    },
    {
      "file": "cable-grommet-5-blanking-plug.stl",
      "sha256": "9cf0895ef802b1c29f2bc1da53a1690376bf00e22b6fff830f8246327f1c5ce7",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 44.582900244619985,
      "bounds_mm": [
        76.2,
        -12.0,
        36.7,
        81.8,
        -9.0,
        42.3
      ],
      "triangle_count": 508,
      "pieces": [
        {
          "volume_mm3": 44.582900244619985,
          "bounds_mm": [
            76.2,
            -12.0,
            36.7,
            81.8,
            -9.0,
            42.3
          ]
        }
      ]
    },
    {
      "file": "cable-grommet-6.stl",
      "sha256": "879d1641ad3b4b7d17bbce161cd8788adcdd98bc05ae00be35ce415b277a461c",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 184.6895318880846,
      "bounds_mm": [
        103.8,
        -1.0,
        33.5,
        106.0,
        11.0,
        42.5
      ],
      "triangle_count": 304,
      "pieces": [
        {
          "volume_mm3": 184.6895318880846,
          "bounds_mm": [
            103.8,
            -1.0,
            33.5,
            106.0,
            11.0,
            42.5
          ]
        }
      ]
    },
    {
      "file": "cable-grommet-6-blanking-plug.stl",
      "sha256": "14a150f5c068c3f7854ff7a3ec56c3039cd1ea5fc35695ce1ab39289cee7bf7f",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 44.582900244619914,
      "bounds_mm": [
        103.0,
        2.2,
        35.7,
        106.0,
        7.8,
        41.3
      ],
      "triangle_count": 508,
      "pieces": [
        {
          "volume_mm3": 44.582900244619914,
          "bounds_mm": [
            103.0,
            2.2,
            35.7,
            106.0,
            7.8,
            41.3
          ]
        }
      ]
    },
    {
      "file": "cable-grommet-7.stl",
      "sha256": "92572b32e5ee1d1e8f1bd0c0d251bef19f40897490b668a94853775b387d0309",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 177.96953188808428,
      "bounds_mm": [
        -6.0,
        45.0,
        34.5,
        -3.799999999999999,
        57.0,
        43.5
      ],
      "triangle_count": 316,
      "pieces": [
        {
          "volume_mm3": 177.96953188808428,
          "bounds_mm": [
            -6.0,
            45.0,
            34.5,
            -3.799999999999999,
            57.0,
            43.5
          ]
        }
      ]
    },
    {
      "file": "cable-grommet-7-blanking-plug.stl",
      "sha256": "7fa80e71e4b2ba36645567205d51d0065547c7b9def06b67e63e630164af24ca",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 44.58290024461999,
      "bounds_mm": [
        -6.0,
        48.2,
        36.7,
        -3.0,
        53.8,
        42.3
      ],
      "triangle_count": 508,
      "pieces": [
        {
          "volume_mm3": 44.58290024461999,
          "bounds_mm": [
            -6.0,
            48.2,
            36.7,
            -3.0,
            53.8,
            42.3
          ]
        }
      ]
    },
    {
      "file": "usb-service-cap.stl",
      "sha256": "af91534cb8954ceaf4ec1ea37e5d9139aac34fe75306333012332a969c2243cc",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 348.8000000000006,
      "bounds_mm": [
        103.0,
        46.5,
        28.200000000000003,
        106.0,
        61.5,
        38.2
      ],
      "triangle_count": 28,
      "pieces": [
        {
          "volume_mm3": 348.8000000000006,
          "bounds_mm": [
            103.0,
            46.5,
            28.200000000000003,
            106.0,
            61.5,
            38.2
          ]
        }
      ]
    },
    {
      "file": "sd-service-cap.stl",
      "sha256": "21e3b7c407dadea98a055516024df948add43c3a72347c3a5b35c3bd28f0066f",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 777.6000000000007,
      "bounds_mm": [
        41.0,
        89.0,
        27.5,
        67.0,
        92.0,
        39.5
      ],
      "triangle_count": 28,
      "pieces": [
        {
          "volume_mm3": 777.6000000000007,
          "bounds_mm": [
            41.0,
            89.0,
            27.5,
            67.0,
            92.0,
            39.5
          ]
        }
      ]
    },
    {
      "file": "battery-retaining-belt.stl",
      "sha256": "988f698d2a91bf03450ba30c14eae4cdb0978087616220cde33ef84308be2340",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 992.0000000000001,
      "bounds_mm": [
        44.0,
        19.0,
        2.0,
        52.0,
        60.0,
        25.0
      ],
      "triangle_count": 32,
      "pieces": [
        {
          "volume_mm3": 992.0000000000001,
          "bounds_mm": [
            44.0,
            19.0,
            2.0,
            52.0,
            60.0,
            25.0
          ]
        }
      ]
    },
    {
      "file": "battery-foam-pad-1.stl",
      "sha256": "c4299b2ebe6cae3561b9660160d70c0654fea78651dd5c951c22a98bbafb1eca",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 2114.9700000000003,
      "bounds_mm": [
        12.0,
        20.0,
        1.2999999999999998,
        43.9,
        59.0,
        3.0
      ],
      "triangle_count": 12,
      "pieces": [
        {
          "volume_mm3": 2114.9700000000003,
          "bounds_mm": [
            12.0,
            20.0,
            1.2999999999999998,
            43.9,
            59.0,
            3.0
          ]
        }
      ]
    },
    {
      "file": "battery-foam-pad-2.stl",
      "sha256": "2967156331541730105f2a79890ba94a6f3c4b79fdd06d138c3f7cfc2bc753ed",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 2114.9700000000003,
      "bounds_mm": [
        52.1,
        20.0,
        1.2999999999999998,
        84.0,
        59.0,
        3.0
      ],
      "triangle_count": 12,
      "pieces": [
        {
          "volume_mm3": 2114.9700000000003,
          "bounds_mm": [
            52.1,
            20.0,
            1.2999999999999998,
            84.0,
            59.0,
            3.0
          ]
        }
      ]
    },
    {
      "file": "button-plunger.stl",
      "sha256": "0da5cd6d33ecfe32d2eb7608a2cb41cc80cd9abc48c875b731b502680c78fcc1",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 196.082897160725,
      "bounds_mm": [
        67.0,
        71.0,
        36.699999999999996,
        77.0,
        81.0,
        43.9
      ],
      "triangle_count": 1256,
      "pieces": [
        {
          "volume_mm3": 196.082897160725,
          "bounds_mm": [
            67.0,
            71.0,
            36.699999999999996,
            77.0,
            81.0,
            43.9
          ]
        }
      ]
    },
    {
      "file": "button-plunger-cap.stl",
      "sha256": "d46ea0a90d191cec5eac2d4a9b824a816648aa587ebbe5dd1bfc694a65c5b994",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 147.14962202809582,
      "bounds_mm": [
        67.0,
        69.0,
        39.9,
        77.0,
        83.0,
        44.9
      ],
      "triangle_count": 632,
      "pieces": [
        {
          "volume_mm3": 147.14962202809582,
          "bounds_mm": [
            67.0,
            69.0,
            39.9,
            77.0,
            83.0,
            44.9
          ]
        }
      ]
    },
    {
      "file": "button-floating-tip.stl",
      "sha256": "4ad0ece16cf69017356c5a4d6a5b314032f1ec521800c00f06d23ee8efb3e17b",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 25.53346505585058,
      "bounds_mm": [
        70.0,
        74.0,
        35.05,
        74.0,
        78.0,
        38.7
      ],
      "triangle_count": 508,
      "pieces": [
        {
          "volume_mm3": 25.53346505585058,
          "bounds_mm": [
            70.0,
            74.0,
            35.05,
            74.0,
            78.0,
            38.7
          ]
        }
      ]
    },
    {
      "file": "button-silicone-diaphragm.stl",
      "sha256": "23120544195e67498e13f3269427a4a6a2c0f81960153102379014eee2bb44fa",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 283.33736184894514,
      "bounds_mm": [
        62.0,
        64.0,
        44.900000000000006,
        82.0,
        88.0,
        45.5
      ],
      "triangle_count": 406,
      "pieces": [
        {
          "volume_mm3": 283.33736184894514,
          "bounds_mm": [
            62.0,
            64.0,
            44.900000000000006,
            82.0,
            88.0,
            45.5
          ]
        }
      ]
    },
    {
      "file": "rgb-lightpipe.stl",
      "sha256": "f98e04db1f6593083d0b22bd7823f2a8afccc6241fd60e458eca47163195bb64",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 66.84876113652976,
      "bounds_mm": [
        58.0,
        74.0,
        31.6,
        65.65,
        78.0,
        45.5
      ],
      "triangle_count": 946,
      "pieces": [
        {
          "volume_mm3": 66.84876113652976,
          "bounds_mm": [
            58.0,
            74.0,
            31.6,
            65.65,
            78.0,
            45.5
          ]
        }
      ]
    },
    {
      "file": "camera-tpu-cradle-liner.stl",
      "sha256": "cb16c758ed475f009f502d34f7343eee5a19b9dee7f794b4dba075a5b76ad713",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 53.545499999998924,
      "bounds_mm": [
        85.55,
        -10.515064692820415,
        18.6,
        94.45,
        -3.6650646928204154,
        27.3
      ],
      "triangle_count": 44,
      "pieces": [
        {
          "volume_mm3": 53.545499999998924,
          "bounds_mm": [
            85.55,
            -10.515064692820415,
            18.6,
            94.45,
            -3.6650646928204154,
            27.3
          ]
        }
      ]
    },
    {
      "file": "camera-front-shim-1.stl",
      "sha256": "3c56606a7500471840ee694dcb624d190a563a5755e26317eed68873464f17b9",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 0.25000000000000067,
      "bounds_mm": [
        85.8,
        -10.765064692820415,
        18.85,
        86.8,
        -10.515064692820415,
        19.85
      ],
      "triangle_count": 12,
      "pieces": [
        {
          "volume_mm3": 0.25000000000000067,
          "bounds_mm": [
            85.8,
            -10.765064692820415,
            18.85,
            86.8,
            -10.515064692820415,
            19.85
          ]
        }
      ]
    },
    {
      "file": "camera-front-shim-2.stl",
      "sha256": "bfd61921185fc3f6cf0341e212fe1076f6012afd93ec6e7665620ecb41a2650d",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 0.25000000000000133,
      "bounds_mm": [
        85.8,
        -10.765064692820415,
        26.25,
        86.8,
        -10.515064692820415,
        27.25
      ],
      "triangle_count": 12,
      "pieces": [
        {
          "volume_mm3": 0.25000000000000133,
          "bounds_mm": [
            85.8,
            -10.765064692820415,
            26.25,
            86.8,
            -10.515064692820415,
            27.25
          ]
        }
      ]
    },
    {
      "file": "camera-front-shim-3.stl",
      "sha256": "05ac4809fcdda926eb774774c94cb1eb5f7025bd1eb4e08202ba0db2e96afbec",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 0.25000000000000067,
      "bounds_mm": [
        93.2,
        -10.765064692820415,
        18.85,
        94.2,
        -10.515064692820415,
        19.85
      ],
      "triangle_count": 12,
      "pieces": [
        {
          "volume_mm3": 0.25000000000000067,
          "bounds_mm": [
            93.2,
            -10.765064692820415,
            18.85,
            94.2,
            -10.515064692820415,
            19.85
          ]
        }
      ]
    },
    {
      "file": "camera-front-shim-4.stl",
      "sha256": "b1bb098efd7f5bdca390260a70cbddb92646ee1fdc66c60ce8f41a001469e9db",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 0.2500000000000011,
      "bounds_mm": [
        93.2,
        -10.765064692820415,
        26.25,
        94.2,
        -10.515064692820415,
        27.25
      ],
      "triangle_count": 12,
      "pieces": [
        {
          "volume_mm3": 0.2500000000000011,
          "bounds_mm": [
            93.2,
            -10.765064692820415,
            26.25,
            94.2,
            -10.515064692820415,
            27.25
          ]
        }
      ]
    },
    {
      "file": "camera-rear-retainer.stl",
      "sha256": "d0e2dfdd0e0acd2fc312d62aa0afad5a7b5dc8d7cdfd5655a89dc4e98f98d1a7",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 411.4970487869692,
      "bounds_mm": [
        77.5,
        -3.8150646928204153,
        17.6,
        102.5,
        -0.1499999999999999,
        31.19262541270174
      ],
      "triangle_count": 840,
      "pieces": [
        {
          "volume_mm3": 411.4970487869692,
          "bounds_mm": [
            77.5,
            -3.8150646928204153,
            17.6,
            102.5,
            -0.1499999999999999,
            31.19262541270174
          ]
        }
      ]
    },
    {
      "file": "camera-window-clear-pc.stl",
      "sha256": "fec09441a2fb4d62a98d5879c6a9d2b497ffd357b0f1e4dc9c2c21284ec0998c",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 379.5223673560586,
      "bounds_mm": [
        79.0,
        -13.6,
        12.05,
        101.0,
        -12.6,
        34.05
      ],
      "triangle_count": 252,
      "pieces": [
        {
          "volume_mm3": 379.5223673560586,
          "bounds_mm": [
            79.0,
            -13.6,
            12.05,
            101.0,
            -12.6,
            34.05
          ]
        }
      ]
    },
    {
      "file": "camera-window-adhesive-ring.stl",
      "sha256": "02a7ac0243e9e978c163d3b492ad30400c14fcac090e992df1c96f7170a1fe40",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 91.74404334846886,
      "bounds_mm": [
        79.0,
        -12.600000000000001,
        12.05,
        101.0,
        -12.0,
        34.05
      ],
      "triangle_count": 512,
      "pieces": [
        {
          "volume_mm3": 91.74404334846886,
          "bounds_mm": [
            79.0,
            -12.600000000000001,
            12.05,
            101.0,
            -12.0,
            34.05
          ]
        }
      ]
    },
    {
      "file": "flat-tpu-textile-carrier.stl",
      "sha256": "8f3998861c2c000ba83eae4e970f5caed95ce998ffde275d396c218b04d168cd",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 3012.70106707096,
      "bounds_mm": [
        12.0,
        -12.0,
        -1.6,
        88.0,
        92.0,
        3.2
      ],
      "triangle_count": 3942,
      "pieces": [
        {
          "volume_mm3": 3012.70106707096,
          "bounds_mm": [
            12.0,
            -12.0,
            -1.6,
            88.0,
            92.0,
            3.2
          ]
        }
      ]
    },
    {
      "file": "lid-perimeter-gasket.stl",
      "sha256": "8c72cce4bb554bf63b30d45b9bdf2ca265130ef726747127caa894008b2d7b7b",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 359.166911823078,
      "bounds_mm": [
        -5.5,
        -11.5,
        42.9,
        105.5,
        91.5,
        43.699999999999996
      ],
      "triangle_count": 562,
      "pieces": [
        {
          "volume_mm3": 359.166911823078,
          "bounds_mm": [
            -5.5,
            -11.5,
            42.9,
            105.5,
            91.5,
            43.699999999999996
          ]
        }
      ]
    },
    {
      "file": "hand-tile-tpu-pocket.stl",
      "sha256": "47d66e2b989e1fc7244bb2a843cac6c5dd263afd4afc1fb771d9e9a28f3a855a",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 1374.3699570240256,
      "bounds_mm": [
        132.5,
        -2.0,
        0.0,
        163.5,
        20.0,
        6.0
      ],
      "triangle_count": 2806,
      "pieces": [
        {
          "volume_mm3": 1374.3699570240256,
          "bounds_mm": [
            132.5,
            -2.0,
            0.0,
            163.5,
            20.0,
            6.0
          ]
        }
      ]
    },
    {
      "file": "hand-tile-tpu-cover.stl",
      "sha256": "65cbecfe59d75de88f1abc8f2ed4a39523a9e1f48b2307664dbb60f6c8998eb4",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 455.9787892263753,
      "bounds_mm": [
        138.0,
        -2.0,
        5.3,
        158.0,
        18.0,
        7.4
      ],
      "triangle_count": 494,
      "pieces": [
        {
          "volume_mm3": 455.9787892263753,
          "bounds_mm": [
            138.0,
            -2.0,
            5.3,
            158.0,
            18.0,
            7.4
          ]
        }
      ]
    },
    {
      "file": "rigid-base.stl",
      "sha256": "0084189a3ab74cdde407a32a57e4fa9710b9e7c021a35f67c36a45fdb6007309",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 45535.153131520405,
      "bounds_mm": [
        -6.0,
        -12.0,
        0.0,
        106.0,
        92.0,
        43.5
      ],
      "triangle_count": 16200,
      "pieces": [
        {
          "volume_mm3": 45535.153131520405,
          "bounds_mm": [
            -6.0,
            -12.0,
            0.0,
            106.0,
            92.0,
            43.5
          ]
        }
      ]
    },
    {
      "file": "rigid-lid.stl",
      "sha256": "4b3afc9bd72dc4cde36906a8dba73945b33ba9177442886122e35e84b70224ca",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 16833.433867178945,
      "bounds_mm": [
        -6.0,
        -12.0,
        31.1,
        106.0,
        92.0,
        45.5
      ],
      "triangle_count": 6440,
      "pieces": [
        {
          "volume_mm3": 16833.433867178945,
          "bounds_mm": [
            -6.0,
            -12.0,
            31.1,
            106.0,
            92.0,
            45.5
          ]
        }
      ]
    },
    {
      "file": "camera-module-envelope.stl",
      "sha256": "66849ca3060c6f316e100ee89afed1f0232c0c72893a74f224e41240bafe45e6",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 476.8499999999999,
      "bounds_mm": [
        85.75,
        -10.515064692820415,
        18.8,
        94.25,
        -3.9150646928204154,
        27.3
      ],
      "triangle_count": 12,
      "pieces": [
        {
          "volume_mm3": 476.8499999999999,
          "bounds_mm": [
            85.75,
            -10.515064692820415,
            18.8,
            94.25,
            -3.9150646928204154,
            27.3
          ]
        }
      ]
    },
    {
      "file": "camera-flex-envelope.stl",
      "sha256": "886d55eaa720bfc0fd28608488d3618e2eb6a286834b79b4047612393e7fcdd1",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 51.39911687256051,
      "bounds_mm": [
        83.75,
        -4.015064692820415,
        27.3,
        96.25,
        23.80175,
        31.45
      ],
      "triangle_count": 540,
      "pieces": [
        {
          "volume_mm3": 51.39911687256051,
          "bounds_mm": [
            83.75,
            -4.015064692820415,
            27.3,
            96.25,
            23.80175,
            31.45
          ]
        }
      ]
    },
    {
      "file": "battery-envelope.stl",
      "sha256": "a25a4675d437ca50401a9fbf4f929b12fe115f1738f197038aa51ff66f571ec2",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 58968.0,
      "bounds_mm": [
        12.0,
        20.0,
        3.0,
        84.0,
        59.0,
        24.0
      ],
      "triangle_count": 12,
      "pieces": [
        {
          "volume_mm3": 58968.0,
          "bounds_mm": [
            12.0,
            20.0,
            3.0,
            84.0,
            59.0,
            24.0
          ]
        }
      ]
    },
    {
      "file": "battery-ntc-envelope.stl",
      "sha256": "ae1cf69b042307892c408663811554b86d87291b6b62e75a1e1a206d0bf0d80e",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 63.99999999999999,
      "bounds_mm": [
        24.0,
        21.0,
        24.0,
        32.0,
        25.0,
        26.0
      ],
      "triangle_count": 12,
      "pieces": [
        {
          "volume_mm3": 63.99999999999999,
          "bounds_mm": [
            24.0,
            21.0,
            24.0,
            32.0,
            25.0,
            26.0
          ]
        }
      ]
    },
    {
      "file": "pcb-envelope.stl",
      "sha256": "4ba9030b7b48e6a59e0c1855f7da22e69a1c58753b63bf57c00df9d4d914e7b8",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 12800.000000000013,
      "bounds_mm": [
        0.0,
        0.0,
        29.0,
        100.0,
        80.0,
        30.6
      ],
      "triangle_count": 12,
      "pieces": [
        {
          "volume_mm3": 12800.000000000013,
          "bounds_mm": [
            0.0,
            0.0,
            29.0,
            100.0,
            80.0,
            30.6
          ]
        }
      ]
    },
    {
      "file": "hand-tile-pcb-envelope.stl",
      "sha256": "2b6df50c3666d9069f10bd56926c10d2349c7ebb39a45ec757f1f5a61736d60f",
      "status": "Error.NoError",
      "connected_solids": 1,
      "volume_mm3": 204.79999999999995,
      "bounds_mm": [
        140.0,
        0.0,
        0.9999999999999999,
        156.0,
        16.0,
        1.7999999999999998
      ],
      "triangle_count": 12,
      "pieces": [
        {
          "volume_mm3": 204.79999999999995,
          "bounds_mm": [
            140.0,
            0.0,
            0.9999999999999999,
            156.0,
            16.0,
            1.7999999999999998
          ]
        }
      ]
    }
  ],
  "case_dimensions_mm": {
    "width": 112,
    "length": 104,
    "height": 45.5
  },
  "assembly_envelope_mm": {
    "width": 112,
    "length_with_window": 105.6,
    "height_with_flat_carrier": 47.1,
    "window_front_projection": 1.6
  },
  "mass_budget": {
    "method": "Exact solid mesh volume times material density; excludes any arbitrary infill factor",
    "density_source_PA12": "https://hp3dprint.eu/downloads/HPPA12Datasheet.pdf",
    "cuff_manufactured_parts_g": 74.17994563899745,
    "hand_tile_housing_g": 2.196418495500481,
    "battery_g": 100,
    "main_PCB_g": 24,
    "electronics_and_fasteners_allowance_g": [
      20,
      35
    ],
    "estimated_cuff_total_g": [
      218.17994563899745,
      233.17994563899745
    ],
    "excluded": "Textile, external wrist strap webbing, tactile sheets and external wire harness; measure completed unit",
    "parts": [
      {
        "file": "pcb-clamp-pad-1.stl",
        "material": "Closed-cell silicone foam (selected-density allowance)",
        "density_g_cm3": 0.3,
        "solid_volume_cm3": 0.009199999999999956,
        "mass_g": 0.002759999999999987
      },
      {
        "file": "pcb-clamp-pad-2.stl",
        "material": "Closed-cell silicone foam (selected-density allowance)",
        "density_g_cm3": 0.3,
        "solid_volume_cm3": 0.009200000000000024,
        "mass_g": 0.0027600000000000072
      },
      {
        "file": "pcb-clamp-pad-3.stl",
        "material": "Closed-cell silicone foam (selected-density allowance)",
        "density_g_cm3": 0.3,
        "solid_volume_cm3": 0.009200000000000035,
        "mass_g": 0.0027600000000000103
      },
      {
        "file": "pcb-clamp-pad-4.stl",
        "material": "Closed-cell silicone foam (selected-density allowance)",
        "density_g_cm3": 0.3,
        "solid_volume_cm3": 0.009200000000000041,
        "mass_g": 0.0027600000000000124
      },
      {
        "file": "cable-grommet-1.stl",
        "material": "TPU90A cast/precision (density allowance)",
        "density_g_cm3": 1.2,
        "solid_volume_cm3": 0.1779695318880842,
        "mass_g": 0.21356343826570104
      },
      {
        "file": "cable-grommet-1-blanking-plug.stl",
        "material": "TPU90A cast/precision (density allowance)",
        "density_g_cm3": 1.2,
        "solid_volume_cm3": 0.044582900244619986,
        "mass_g": 0.05349948029354398
      },
      {
        "file": "cable-grommet-2.stl",
        "material": "TPU90A cast/precision (density allowance)",
        "density_g_cm3": 1.2,
        "solid_volume_cm3": 0.17796953188808423,
        "mass_g": 0.21356343826570107
      },
      {
        "file": "cable-grommet-2-blanking-plug.stl",
        "material": "TPU90A cast/precision (density allowance)",
        "density_g_cm3": 1.2,
        "solid_volume_cm3": 0.04458290024461999,
        "mass_g": 0.05349948029354399
      },
      {
        "file": "cable-grommet-3.stl",
        "material": "TPU90A cast/precision (density allowance)",
        "density_g_cm3": 1.2,
        "solid_volume_cm3": 0.1779695318880843,
        "mass_g": 0.21356343826570115
      },
      {
        "file": "cable-grommet-3-blanking-plug.stl",
        "material": "TPU90A cast/precision (density allowance)",
        "density_g_cm3": 1.2,
        "solid_volume_cm3": 0.044582900244619986,
        "mass_g": 0.05349948029354398
      },
      {
        "file": "cable-grommet-4.stl",
        "material": "TPU90A cast/precision (density allowance)",
        "density_g_cm3": 1.2,
        "solid_volume_cm3": 0.1779695318880843,
        "mass_g": 0.21356343826570115
      },
      {
        "file": "cable-grommet-4-blanking-plug.stl",
        "material": "TPU90A cast/precision (density allowance)",
        "density_g_cm3": 1.2,
        "solid_volume_cm3": 0.044582900244619986,
        "mass_g": 0.05349948029354398
      },
      {
        "file": "cable-grommet-5.stl",
        "material": "TPU90A cast/precision (density allowance)",
        "density_g_cm3": 1.2,
        "solid_volume_cm3": 0.17796953188808426,
        "mass_g": 0.2135634382657011
      },
      {
        "file": "cable-grommet-5-blanking-plug.stl",
        "material": "TPU90A cast/precision (density allowance)",
        "density_g_cm3": 1.2,
        "solid_volume_cm3": 0.044582900244619986,
        "mass_g": 0.05349948029354398
      },
      {
        "file": "cable-grommet-6.stl",
        "material": "TPU90A cast/precision (density allowance)",
        "density_g_cm3": 1.2,
        "solid_volume_cm3": 0.1846895318880846,
        "mass_g": 0.2216274382657015
      },
      {
        "file": "cable-grommet-6-blanking-plug.stl",
        "material": "TPU90A cast/precision (density allowance)",
        "density_g_cm3": 1.2,
        "solid_volume_cm3": 0.044582900244619916,
        "mass_g": 0.0534994802935439
      },
      {
        "file": "cable-grommet-7.stl",
        "material": "TPU90A cast/precision (density allowance)",
        "density_g_cm3": 1.2,
        "solid_volume_cm3": 0.1779695318880843,
        "mass_g": 0.21356343826570115
      },
      {
        "file": "cable-grommet-7-blanking-plug.stl",
        "material": "TPU90A cast/precision (density allowance)",
        "density_g_cm3": 1.2,
        "solid_volume_cm3": 0.04458290024461999,
        "mass_g": 0.05349948029354399
      },
      {
        "file": "usb-service-cap.stl",
        "material": "TPU90A cast/precision (density allowance)",
        "density_g_cm3": 1.2,
        "solid_volume_cm3": 0.34880000000000055,
        "mass_g": 0.41856000000000065
      },
      {
        "file": "sd-service-cap.stl",
        "material": "TPU90A cast/precision (density allowance)",
        "density_g_cm3": 1.2,
        "solid_volume_cm3": 0.7776000000000007,
        "mass_g": 0.9331200000000008
      },
      {
        "file": "battery-retaining-belt.stl",
        "material": "TPU90A cast/precision (density allowance)",
        "density_g_cm3": 1.2,
        "solid_volume_cm3": 0.9920000000000001,
        "mass_g": 1.1904000000000001
      },
      {
        "file": "battery-foam-pad-1.stl",
        "material": "Closed-cell silicone foam (selected-density allowance)",
        "density_g_cm3": 0.3,
        "solid_volume_cm3": 2.1149700000000005,
        "mass_g": 0.6344910000000001
      },
      {
        "file": "battery-foam-pad-2.stl",
        "material": "Closed-cell silicone foam (selected-density allowance)",
        "density_g_cm3": 0.3,
        "solid_volume_cm3": 2.1149700000000005,
        "mass_g": 0.6344910000000001
      },
      {
        "file": "button-plunger.stl",
        "material": "HP MJF PA12",
        "density_g_cm3": 1.01,
        "solid_volume_cm3": 0.196082897160725,
        "mass_g": 0.19804372613233226
      },
      {
        "file": "button-plunger-cap.stl",
        "material": "HP MJF PA12",
        "density_g_cm3": 1.01,
        "solid_volume_cm3": 0.1471496220280958,
        "mass_g": 0.14862111824837676
      },
      {
        "file": "button-floating-tip.stl",
        "material": "HP MJF PA12",
        "density_g_cm3": 1.01,
        "solid_volume_cm3": 0.02553346505585058,
        "mass_g": 0.025788799706409085
      },
      {
        "file": "button-silicone-diaphragm.stl",
        "material": "Silicone40A sheet,0.6mm",
        "density_g_cm3": 1.1,
        "solid_volume_cm3": 0.28333736184894515,
        "mass_g": 0.3116710980338397
      },
      {
        "file": "rgb-lightpipe.stl",
        "material": "Optical polycarbonate",
        "density_g_cm3": 1.2,
        "solid_volume_cm3": 0.06684876113652977,
        "mass_g": 0.08021851336383572
      },
      {
        "file": "camera-tpu-cradle-liner.stl",
        "material": "TPU90A cast/precision (density allowance)",
        "density_g_cm3": 1.2,
        "solid_volume_cm3": 0.05354549999999893,
        "mass_g": 0.0642545999999987
      },
      {
        "file": "camera-front-shim-1.stl",
        "material": "Closed-cell silicone foam (selected-density allowance)",
        "density_g_cm3": 0.3,
        "solid_volume_cm3": 0.00025000000000000066,
        "mass_g": 7.50000000000002e-05
      },
      {
        "file": "camera-front-shim-2.stl",
        "material": "Closed-cell silicone foam (selected-density allowance)",
        "density_g_cm3": 0.3,
        "solid_volume_cm3": 0.0002500000000000013,
        "mass_g": 7.500000000000039e-05
      },
      {
        "file": "camera-front-shim-3.stl",
        "material": "Closed-cell silicone foam (selected-density allowance)",
        "density_g_cm3": 0.3,
        "solid_volume_cm3": 0.00025000000000000066,
        "mass_g": 7.50000000000002e-05
      },
      {
        "file": "camera-front-shim-4.stl",
        "material": "Closed-cell silicone foam (selected-density allowance)",
        "density_g_cm3": 0.3,
        "solid_volume_cm3": 0.0002500000000000011,
        "mass_g": 7.500000000000032e-05
      },
      {
        "file": "camera-rear-retainer.stl",
        "material": "HP MJF PA12",
        "density_g_cm3": 1.01,
        "solid_volume_cm3": 0.4114970487869692,
        "mass_g": 0.4156120192748389
      },
      {
        "file": "camera-window-clear-pc.stl",
        "material": "Optical polycarbonate",
        "density_g_cm3": 1.2,
        "solid_volume_cm3": 0.3795223673560586,
        "mass_g": 0.4554268408272703
      },
      {
        "file": "camera-window-adhesive-ring.stl",
        "material": "3M VHB LSE-060WF acrylic foam",
        "density_g_cm3": 0.71,
        "solid_volume_cm3": 0.09174404334846886,
        "mass_g": 0.06513827077741288
      },
      {
        "file": "flat-tpu-textile-carrier.stl",
        "material": "TPU95A (density allowance)",
        "density_g_cm3": 1.2,
        "solid_volume_cm3": 3.01270106707096,
        "mass_g": 3.615241280485152
      },
      {
        "file": "lid-perimeter-gasket.stl",
        "material": "Closed-cell silicone foam (selected-density allowance)",
        "density_g_cm3": 0.3,
        "solid_volume_cm3": 0.35916691182307803,
        "mass_g": 0.10775007354692341
      },
      {
        "file": "hand-tile-tpu-pocket.stl",
        "material": "TPU90A cast/precision (density allowance)",
        "density_g_cm3": 1.2,
        "solid_volume_cm3": 1.3743699570240255,
        "mass_g": 1.6492439484288306
      },
      {
        "file": "hand-tile-tpu-cover.stl",
        "material": "TPU90A cast/precision (density allowance)",
        "density_g_cm3": 1.2,
        "solid_volume_cm3": 0.4559787892263753,
        "mass_g": 0.5471745470716504
      },
      {
        "file": "rigid-base.stl",
        "material": "HP MJF PA12",
        "density_g_cm3": 1.01,
        "solid_volume_cm3": 45.5351531315204,
        "mass_g": 45.990504662835605
      },
      {
        "file": "rigid-lid.stl",
        "material": "HP MJF PA12",
        "density_g_cm3": 1.01,
        "solid_volume_cm3": 16.833433867178943,
        "mass_g": 17.001768205850734
      }
    ]
  },
  "fabrication": {
    "rigid_parts": "MJF HP PA12; solid-volume mass basis",
    "camera_window_and_lightpipe": "Window:cut\u00d822\u00b1.2mm from RS PRO7698720 stock1mm PCsheet; preserve supplied optical faces. Lightpipe:machined/bent optical PC, polished ends.",
    "button_diaphragm": "Die-cut0.6mm VMQ40A silicone; Permabond2050 plusPOP on silicone only",
    "camera_liner": "Heat-formed0.20mm TPUfilm with0.25mm rear patch; STL shows assembled liner",
    "gasket_and_pads": "Die-cut closed-cell silicone foam to specified free thickness",
    "TPU_parts": "Flat carrier:TPU95A FDM candidate at1.6mm wall; small glands/caps/tile parts:separate cast elastomer quote, not ordinary JLC FDM.",
    "window_bond": "Die-cut3M VHB LSE-060WF0.6mm ring,OD22/ID17\u00b1.2mm; prepared/primed flat PA12land;100kPa applicationpressure and72hourroomtemperaturedwell",
    "button_parts": "PA12 MJF near-net with measured finishing and supplier small-part/sprue acceptance; machined PA12 is an unquoted alternative, not released procurement.",
    "critical_fits": "Process acceptance required:window overlap landflatness<=0.2mm and disk/ring registration<=0.3mm; measured0.6+/-0.05mm gasket gap; matched/drilled M2 axes; switch gap0.05..0.25mm set from mounted switch."
  },
  "purchased_hardware": {
    "lid": "4\u00d7M2\u00d78 ISO14580 low-head screws,4\u00d7M2ISO4032 nuts",
    "camera": "2\u00d7M2\u00d76 low-head screws,2\u00d7M2 nuts",
    "button": "SDP/SI S78CSYM030035008 Type302 catalog compression spring,OD3/free8/solid2.8mm/nominalrate1.26Npermm; receiving load/rate checks in button-spring-specification.md",
    "diaphragm": "Platinum-cured VMQ silicone40\u00b15ShoreA,0.60\u00b10.05mm; Permabond2050 with POP on silicone surface only"
  },
  "placement_sha256": "78b9603bf98ec5d4b9b2554ce17f34cf36ccb01b675c7084fea13e05bc0ad20f",
  "generator_sha256": "49507e4b8a8e2f722cb9cace03ba59841baff28b222f04543b42f3df5cd0ad8e",
  "verifier_sha256": "ae52a09f1fc8230a971b959565a82bb12dfdbfc0649257726134f8cc15431f4e",
  "source_hashes": {
    "molex-header.pdf": "87ea82c5efee1d85f640cf18fe1ff8f859a2b7c5f9a72cedd32b95113cc0e925",
    "molex-housing.pdf": "a3f07ed38948507697b11f17dcad8802c6120c390c4a2eeb5c945b877e5320cb",
    "jauch-250480.pdf": "de28483b424c917c46d01596c925326568c85192829a3a9b1b49d88de1eaa1ef",
    "sdp-si-metric-hardware.pdf": "45264fc8630e7e3b711a434412e817f6b2617568a3d6c55de4124e87c349f78a",
    "rs-pro-7698720-polycarbonate.pdf": "3ac45e9e80693079ec43c69923d604efce6eba8b3b3386091bb7772d777043c8",
    "3m-window-bond-evidence.txt": "3f5896606c41c02315ad064789a2b10f089ae7211c8d3bbab3b502f2c809a0e7"
  },
  "first_article_fabrication_ready": false,
  "unresolved_design_or_process_items": [
    "Obtain an accepted PA12 print-and-finish quote (broad shell faces1.3mm; local1.10mm lug wall/guide features need process-specific acceptance): aligned M2 holes/nut slots, camera datums, window seat and gasket faces need the specified local final dimensions; nominal MJF tolerance alone is insufficient.",
    "Confirm the small button print/sprue and finishing route, or price machined PA12 alternative. Set tip length against measured switch; inspect0.8mm diametral sliding clearances and finish spring-guide pin to<=2.05mm.",
    "Confirm a cast elastomer supplier for small glands/caps/tile parts. JLC FDM95A minimum30x30x15 and1.2mm walls do not cover these small thin features. Knife-split glands after casting with zero material removal.",
    "Confirm selected wire OD and allowed static R2.5mm bends for the PH/GH routing volumes; qualify remaining lead dressing. Battery lead route is bounded across undimensioned exits; direct leads require measured reach after crimp, otherwise use the exactR4 factory extension routes,35mm addedAWG22 per lead/5mm overlap, with assembler-qualified insulated joints and<=2mOhm per splice.",
    "Approve silicone foam grade and a measured compression/flatness plan for lid and PCB pads. Rear screw positions avoid RF and SD; polymer ribs stiffen the rear/left span, but seal-load uniformity across the longest113.2mm screw chord requires fixture/deflection acceptance.0.2mm gasket compression cannot be guaranteed by two as-printed mating faces.",
    "Quote the optical polycarbonate lightpipe and cut stock1mm PC window; prepare the flat PA12 bond land and apply specified3M Primer94/LSE060WF tape process. Full geometry/materials span several fabrication processes."
  ],
  "physical_acceptance_tests": [
    "Switch return/force/overload/cycle test after measured gap setting",
    "Cable pull and gland/diaphragm/window dust-splash tests",
    "PCB pad compression, strap pull, panel/drop, temperature and completed-system mass/fit measurements"
  ],
  "jlc_process": {
    "PA12_tolerance_below_100mm_mm": 0.3,
    "PA12_tolerance_above_100mm_percent": 0.4,
    "case_112mm_span_tolerance_mm": 0.448,
    "case_104mm_span_tolerance_mm": 0.416,
    "minimum_wall_mm": 1.0,
    "quote_preflight_general_wall_mm_strictly_greater_than": 1.2,
    "broad_shell_wall_selected_mm": 1.3,
    "minimum_escape_hole_mm": 2.5,
    "source": "https://jlc3dp.com/help/article/pa12-hp-nylon"
  },
  "dfm_revision": {
    "previous_commit": "5542e9e",
    "rigid_case_dimension_change_mm": [
      0,
      0,
      0
    ],
    "carrier_below_case_mm": 1.6,
    "previous_saddle_below_case_mm": 8,
    "assembly_height_excluding_textile_mm": 47.1,
    "previous_assembly_height_excluding_textile_mm": 53.5,
    "button_retaining_ledges_mm": 1.0,
    "button_sliding_diametral_clearances_mm": 0.8,
    "camera_lug_OD_mm": 7.6,
    "camera_nut_pocket_radial_wall_min_mm": 1.1,
    "nut_insertion_slot_width_mm": 5.3,
    "powder_escape_holes_mm": 2.8,
    "gland_split": "Knife cut after casting, zero material removal; CAD is closed assembled condition"
  },
  "harness": {
    "file": "harness-envelopes.json",
    "service_volumes_checked": 12,
    "wired_variant_removed_plugs": {
      "J_INDEX_wire_bends": "cable-grommet-1-blanking-plug.stl",
      "J_MIDDLE_wire_bends": "cable-grommet-2-blanking-plug.stl",
      "J_RING_wire_bends": "cable-grommet-3-blanking-plug.stl",
      "J_LITTLE_wire_bends": "cable-grommet-4-blanking-plug.stl",
      "J_THUMB_wire_bends": "cable-grommet-5-blanking-plug.stl",
      "J_IMU_CUFF_wire_bends": "cable-grommet-6-blanking-plug.stl",
      "J_PALM_HEEL_wire_bends": "cable-grommet-7-blanking-plug.stl"
    },
    "PH_wire_OD_max_mm": 1.5,
    "battery_connector": {
      "header": "43045-0200",
      "housing": "43025-0200",
      "contact": "43030-0007",
      "pin1_xy_mm": [
        4.1,
        66.25
      ],
      "peg_xy_mm": [
        4.1,
        70.57
      ],
      "PCB_edge_distance_mm": 9.43,
      "manufacturer_edge_distance_max_mm": 10.16,
      "edge_tolerance_allowance_mm": 0.2,
      "bare_header_max_height_mm": 9.27,
      "assembly_allowance_mm": 0.2,
      "mated_profile_max_height_mm": 11.26,
      "rear_skirt_bound_mm": {
        "x": [
          1.795,
          6.405
        ],
        "y": [
          80.55,
          83.85
        ],
        "z": [
          28.6,
          30.6
        ],
        "basis": "Conservative rear skirt bound outside PCB from note7; verify supplied housing falls within audited envelope"
      },
      "wire_exit_y_nominal_mm": 82.82,
      "wire_exit_y_drawing_tolerance_mm": 0.83,
      "wire_exit_y_assembly_allowance_mm": 0.2,
      "wire_exit_z_family_mm": [
        31.525,
        40.935
      ],
      "underdetermined_datum": "Wire centerlineZ and pack exitY/Z are bounded service families, not manufacturer dimensions",
      "wire_OD_max_mm": 1.85,
      "routing_axis_allowance_mm": 0.2,
      "minimum_reserved_centerline_bend_R_mm": 4,
      "external_path_length_range_mm": [
        54.668180422481306,
        61.509179878066575
      ],
      "stock_lead_mm": [
        65,
        75
      ],
      "fallback_minimum_effective_lead_mm": 95,
      "fallback_added_conductor_per_lead_mm": 35,
      "fallback_overlap_per_lead_mm": 5,
      "fallback_effective_gain_per_lead_mm": 30,
      "fallback_total_added_conductor_mm": 70,
      "fallback_splice_count": 2,
      "fallback_max_resistance_per_splice_mOhm": 2,
      "conservative_terminal_consumption_upper_bound_mm": 14.25,
      "strain_relief_slack_mm": 3,
      "fallback_external_path_length_range_mm": [
        62.273903599393364,
        74.17444783869539
      ],
      "fallback_worst_reach_margin_mm": 3.575552161304614,
      "direct_termination_acceptance": "Measured usable lead length after selected contact crimp must exceed measured routed length plus3mm strain-relief slack. Otherwise factory extension variant required.",
      "fallback": "Factory35mm AWG22 added per lead minus5mm overlap gives30mm effective extension; total nominal100mm; same43030-0007 contacts. Exact crimp consumption and pack exit datum remain assembly measurements."
    },
    "battery_splice_envelopes": {
      "variant": "Factory extension fallback only",
      "insulated_max_OD_mm": 4,
      "insulated_max_length_mm": 16,
      "centers_mm": [
        [
          6.5,
          63,
          14
        ],
        [
          10.5,
          67,
          17
        ]
      ]
    },
    "GH_wire_OD_max_mm": 0.7,
    "reserved_bend_centerline_R_mm": 2.5,
    "lid_fasteners_xy_mm": [
      [
        -2,
        -6
      ],
      [
        102,
        -6
      ],
      [
        24,
        86
      ],
      [
        36,
        86
      ]
    ],
    "rear_left_lid_ribs_mm": [
      2.6,
      1.3
    ],
    "rear_left_clamp_span_nominal_mm": 95.60334722173695,
    "adjacent_lid_screw_chords_mm": {
      "front": 104.0,
      "left": 95.60334722173695,
      "rear": 12.0,
      "right": 113.22543883774529
    },
    "gasket_edge_acceptance": "Measure installed gap0.60\u00b10.05mm along entire perimeter after fasteners tightened; local lid ribs support rear-left seal, print flatness and first-article compression test required",
    "variant_groups": {
      "direct": [
        "J_BAT_wire_service_family"
      ],
      "factory_extended": [
        "J_BAT_factory_extension_wire_1",
        "J_BAT_factory_extension_wire_2",
        "J_BAT_extension_splices"
      ]
    },
    "scope": "Variants are mutually exclusive; worst-clearance service family covers undimensioned exit heights; measured reach and assembler splice process acceptance remain explicit"
  }
}
