{
  "schema": "cowl-apron-validation-v1",
  "baseline_commit": "590aae4f",
  "scope": "Broader apron, rear-trimmed bonnet, connected reference wiper drive/arms and rigidly relocated hinge assemblies. No fitted dimensions, operating clearance or removal proof.",
  "reconstruction": {
    "owner_photos": [
      "IMG_6329",
      "IMG_6341",
      "IMG_6856",
      "IMG_6892"
    ],
    "owner_dimensions_applied": false,
    "old_bonnet_rear_z_units": 0.13,
    "estimated_bonnet_rear_z_units": 0.32,
    "old_wiper_row_z_units": 0.109,
    "estimated_wiper_row_z_units": 0.23,
    "estimated_wiper_plane_y_units": 1.025,
    "wiper_row_forward_change_mm": 102.44666666666669,
    "bonnet_rear_trim_and_rear_framework_forward_change_mm": 160.86666666666667,
    "evidence": "/cars/1975-mg-midget/cad/cowl-apron-validation.json",
    "basis": "IMG6329 three approximate wheelbox/bezel centers and bonnet rear-seam context support a broader apron ahead of the screen. Two conditional camera branches agree on the forward wiper-row correction; rounded row/seam stations are chosen without adopting fitted camera width/height solutions. Factory shroud, bonnet and NA multi-link hinge roles supply topology only.",
    "limits": "Every station, apron contour/gauge/return, bonnet seam, bracket/body attachment and parked arm/blade route remains estimated. Photo correspondences and rounded EXIF camera assumptions are uncertain; observations informed the revision and are not independent dimensional validation. No fitted section, receiver, welding/repair template, supported bonnet travel, wiper sweep/park setting, service sequence or verified removal path is established."
  },
  "native_sources": {
    "wiper-drive": {
      "mesh_groups": 28,
      "valid_positive_solids": 53,
      "unchanged_mesh_groups": [
        "scuttle_left_curved_A_post_corner_and_outer_return_reference",
        "scuttle_right_curved_A_post_corner_and_outer_return_reference",
        "scuttle_rear_dash_top_two_demister_slots_reference",
        "wiper_motor_can_comparison",
        "wiper_motor_gear_housing_comparison",
        "wiper_motor_gear_cover_comparison",
        "wiper_static_drive_disc_link_comparison",
        "wiper_motor_strap_packing_comparison",
        "wiper_motor_unassigned_lead_boundary"
      ]
    },
    "bonnet-structure": {
      "mesh_groups": 8,
      "valid_positive_solids": 15,
      "unchanged_mesh_groups": [
        "bonnet_front_formed_closure_rail_reference",
        "bonnet_carried_stay_attachment_with_open_pin_eye",
        "bonnet_carried_stay_pin_envelope"
      ]
    },
    "bonnet-hinge": {
      "mesh_groups": 8,
      "valid_positive_solids": 22,
      "unchanged_mesh_groups": []
    }
  },
  "contacts_mm3": {
    "apron__bonnet_skin": 0.0,
    "bonnet_skin__left_wiper_bezel": 0,
    "bonnet_skin__center_wiper_bezel": 0,
    "bonnet_skin__right_wiper_bezel": 0,
    "apron__windscreen_unloaded_perimeter_glazing_u_seal": 257.91523,
    "apron__windscreen_bottom_open_glazing_channel": 16368.42977,
    "apron__windscreen_unthreaded_center_rod_boundary": 33.38018,
    "apron__windscreen_center_rod_brackets_and_unselected_lower_nipple": 101.15295,
    "apron__heater_case_and_necks_reference": 0,
    "apron__heater_blower_motor_and_plate_reference": 0
  },
  "held_source_sha256": {
    "windscreen-reference.json": "ddcba4c067d62b035825c9ef5989ad34c0a5c4cfa5177045c5844b772b96e0c2",
    "windscreen-reference.step": "50ac74a9fe76adaf8311ad35c5f6cd7df92e346ac58933e58a5b88181f162603",
    "midget-1500-measured-core.json": "3e2577e1688663a6ea3a985091fc8a35bea6d5054514cafac4562973c741cc9e",
    "midget-1500-measured-core.step": "05849788af49defc430885ffedac66589fea076e2c7581197aff29780fed0a39",
    "front-footwell-reference.json": "9c392f41f7b9706c9f1f302a276a64837d43805ade367787c173b50c66e0e3e7",
    "front-footwell-reference.step": "f84bbdbb7ab418fc825bc04fbe0c862dcd9b2f80075e38c18efaf6ceeb4eb559",
    "front-wheelhouse-reference.json": "4349ceaaea65bed49be123e680bbfacbff8627302a0303cedd483fd8095cecb2",
    "front-wheelhouse-reference.step": "aec714cb069d6368e9e70ba574dc79af9076794261f3e3223ef3fb5817d337f2",
    "front-hub-reference.json": "a0c5ad9a1eff687e3e7a15147a1ece5fe7f28cf7330e17fc5adbba88df1a304f",
    "front-hub-reference.step": "62d94e86358693782eee980b1bb8873ba1a2e801db336284af33f1a967eeea6a",
    "wheel-profile-reference.json": "46512939f693c68c8f38c073fa2bce2367816bdf015dcbc9f7461de6085318ee",
    "wheel-profile-reference.step": "8842a7c18f0dd4cb906d050e5c660f33cb90b1f99e6dd9152e5188d57b6309c4"
  },
  "hinge_rigid_translation_yz_mm": {
    "left": [
      -18.54984931225738,
      160.86666666666667
    ],
    "right": [
      -18.54984931225738,
      160.86666666666667
    ]
  },
  "hinge_link_lengths_and_pivot_separations_held": true,
  "source_sha256": {
    "wiper-drive-reference.json": "9f245660a81989cbea242c282fd87bf1d37dfe9f8f4d6e00b26e5b01f7c886de",
    "wiper-drive-reference.step": "acee3ac3725e1819177fecee8d5fbad3a9b336e47cd390ca71e2651606fed3b3",
    "bonnet-structure-reference.json": "5c0ca98c9c77e3550d4690798149aa2e68e51d225b29250292749b0ad95ace34",
    "bonnet-structure-reference.step": "ad4adb158a1388f68d9b104dd2a2101ddb46202925a3c0b88ce099abfccb1e1a",
    "bonnet-hinge-reference.json": "70b4d76e96e37031ca52095b7c5b98fe4cc12b0f6a15ee59877c70af53dba8f9",
    "bonnet-hinge-reference.step": "9b5a5e1f2388f68b0d79765fe2fe8271965410c8c96f8493dc9e796f8cf2fc24"
  },
  "limits": "Static shared seams/bores and zero sampled contacts are source checks, not fitted support, seal compression, cold/hot clearance, collision-free opening, active wiper park/sweep or verified replacement paths. Lower screen/body seal, corner/leg receivers, hinge/body support and complete fitted casing route remain unresolved. No body receiver is created.",
  "photo_comparison": {
    "owner_photo": "IMG_6329",
    "image_size_pixels": [
      1800,
      1350
    ],
    "approximate_bezel_observations_pixels": [
      [
        1020.0,
        581.0
      ],
      [
        1055.0,
        535.0
      ],
      [
        1080.0,
        502.0
      ]
    ],
    "approximate_sampling_uncertainty_pixels": 8,
    "old_half_spacing_y_z_units": [
      0.4,
      1.025,
      0.109
    ],
    "selected_half_spacing_y_z_units": [
      0.4,
      1.025,
      0.23
    ],
    "camera_results": {
      "retained_wheel_camera": {
        "before_coordinate_rms_pixels": 31.913877144932066,
        "after_coordinate_rms_pixels": 3.64014264598537,
        "before_projected_bezels_pixels": [
          [
            968.5110046344482,
            580.1843217637961
          ],
          [
            1009.6798212287074,
            533.0619978578303
          ],
          [
            1043.307632727872,
            494.5711993165537
          ]
        ],
        "after_projected_bezels_pixels": [
          [
            1019.3123769300367,
            581.9338643194608
          ],
          [
            1055.7558195461472,
            534.1149844279104
          ],
          [
            1085.457194416808,
            495.14263781084884
          ]
        ],
        "unapplied_optimum_half_spacing_y_z_body_units": [
          0.36396982365316566,
          1.0175281329808927,
          0.22405565851285877
        ]
      },
      "rounded_exif_focal_camera": {
        "before_coordinate_rms_pixels": 34.78818321575243,
        "after_coordinate_rms_pixels": 3.9709038505750334,
        "before_projected_bezels_pixels": [
          [
            967.8726779292796,
            583.4306235474877
          ],
          [
            1005.0834606480735,
            539.5605346530986
          ],
          [
            1035.0478911898604,
            504.2336176819592
          ]
        ],
        "after_projected_bezels_pixels": [
          [
            1018.3777307643159,
            585.1935669264271
          ],
          [
            1050.486856145146,
            540.6527274717621
          ],
          [
            1076.2816200159557,
            504.87098559265587
          ]
        ],
        "unapplied_optimum_half_spacing_y_z_body_units": [
          0.4061321356777534,
          1.036917564436487,
          0.23872479539646138
        ]
      }
    },
    "bonnet_rear_basis": "Rounded Z.32 construction guided by visible seam context under both retained cameras; no seam/width optimisation, owner length reading or factory station applied.",
    "limits": "Two sensitivity cameras share the same photo/wheel assumptions. Observations informed the correction and are not independent validation. EXIF equivalent focal length is rounded; curved panels, crop/distortion and landmark correspondence remain uncalibrated. No fitted wiper spacing/height or bonnet length is inferred."
  },
  "browser_validation": {
    "nativeMeshes": 44,
    "finiteVertices": 91271,
    "heldSurroundingMeshSamples": 1526,
    "sourceMappingPickingAndMetricPlacement": true,
    "allNativeSourceStatusesReady": 74,
    "rigidHingePivotClosureChecks": 60,
    "illustrativeOpeningPoses": 5,
    "productionReloadWithoutHooks": true,
    "pageErrors": [],
    "three_study_images_loaded": true,
    "six_native_downloads": true,
    "mobile_study_overflow": false
  }
}
