{
  "status": "generated",
  "units": "mm",
  "engineeringApproved": false,
  "engine": {
    "cad": "CadQuery / OpenCascade",
    "cadquery_version": "2.7.0",
    "cadquery_ocp_version": "7.8.1.1.post1",
    "clipper2_binding": "pyclipr",
    "pyclipr_version": "0.1.8"
  },
  "requirements": {
    "minimum_web_mm": 8.0,
    "minimum_floor_mm": 10.0
  },
  "geometry": {
    "size_mm": [
      240.0,
      160.0,
      45.0
    ],
    "volume_mm3": 1423115.0,
    "removed_volume_mm3": 304885.0,
    "minimum_wall_mm": 18.5,
    "minimum_web_mm": 22.5,
    "minimum_floor_mm": 10.0,
    "cavities": [
      {
        "id": "instrument-envelope",
        "position_mm": [
          20.0,
          20.0
        ],
        "size_mm": [
          100.0,
          60.0,
          30.0
        ],
        "clearance_mm": 1.5,
        "pocket_size_mm": [
          103.0,
          63.0,
          30.0
        ],
        "bounds_xy_mm": [
          18.5,
          18.5,
          121.5,
          81.5
        ],
        "wall_mm": 18.5,
        "floor_mm": 15.0,
        "footprint_mm": [
          [
            121.5,
            81.5
          ],
          [
            18.5,
            81.5
          ],
          [
            18.5,
            18.5
          ],
          [
            121.5,
            18.5
          ]
        ]
      },
      {
        "id": "accessory-envelope",
        "position_mm": [
          145.0,
          30.0
        ],
        "size_mm": [
          65.0,
          45.0,
          35.0
        ],
        "clearance_mm": 1.0,
        "pocket_size_mm": [
          67.0,
          47.0,
          35.0
        ],
        "bounds_xy_mm": [
          144.0,
          29.0,
          211.0,
          76.0
        ],
        "wall_mm": 29.0,
        "floor_mm": 10.0,
        "footprint_mm": [
          [
            211.0,
            76.0
          ],
          [
            144.0,
            76.0
          ],
          [
            144.0,
            29.0
          ],
          [
            211.0,
            29.0
          ]
        ]
      }
    ]
  },
  "checks": [
    {
      "id": "minimum_wall",
      "passed": true,
      "measured_mm": 18.5,
      "required_mm": 8.0
    },
    {
      "id": "minimum_web",
      "passed": true,
      "measured_mm": 22.5,
      "required_mm": 8.0
    },
    {
      "id": "minimum_floor",
      "passed": true,
      "measured_mm": 10.0,
      "required_mm": 10.0
    },
    {
      "id": "clipper2_offsets_containment_and_intersections",
      "passed": true
    },
    {
      "id": "one_valid_solid",
      "passed": true
    },
    {
      "id": "dimensions_and_removed_volume",
      "passed": true
    }
  ],
  "numerical_tolerance_mm": 1e-06,
  "warnings": [
    "Rectangular-envelope pilot: cavities are not a fit to arbitrary customer CAD or scanned surfaces.",
    "Clearance is lateral per side; cavity depth is the supplied depth, with no added vertical clearance.",
    "Static dimensions are checked. Material behaviour, shock, ESD and insertion/removal performance are not approved.",
    "DXF contains top contours only. Machining strategy, tool radius and pocket depths require manufacturing review."
  ],
  "artifacts": [
    {
      "filename": "insert.step",
      "media_type": "model/step",
      "description": "Exact solid in millimetres; rectangular cavities with measured depths.",
      "size_bytes": 44210,
      "sha256": "be52fa6132b81f51faac804862099067c89e11db208d6b4e480f9d8f10da1c00"
    },
    {
      "filename": "insert.dxf",
      "media_type": "image/vnd.dxf",
      "description": "Top-face contours in millimetres; cavity depths are supplied in the result JSON, not a machine toolpath.",
      "size_bytes": 16697,
      "sha256": "9753cf296b9c4cfae97882efdc728c7df6db48d22cda1dd31ecd516bde32635d"
    },
    {
      "filename": "insert.glb",
      "media_type": "model/gltf-binary",
      "description": "Tessellation of the same solid; glTF metres and +Y up.",
      "size_bytes": 8684,
      "sha256": "a9ff91bdb30f2bf9f5a94113c3d2261d88bd275f381b67a605373c6cc4444eb5"
    }
  ]
}