{
  "analytic_cases": [
    {
      "analytic_focus_rms_um": 4.485233315491014e-12,
      "case": "paraboloid_f5_tip0_tilt0_rings",
      "corrected_detector_rms_um": 3.3778428159634384e-12,
      "corrected_focus_error_mm": 2.8422333683899683e-14,
      "defocus_checks": [
        {
          "analytic_rms_um": 167.8218395504089,
          "plane_offset_mm": -2.0,
          "recovered_offset_mm": 1.9999999999999596,
          "traced_rms_um": 167.82183955040588
        },
        {
          "analytic_rms_um": 4.788405692825978e-13,
          "plane_offset_mm": 0.0,
          "recovered_offset_mm": -3.6350165048331683e-14,
          "traced_rms_um": 4.485233315491014e-12
        },
        {
          "analytic_rms_um": 167.82183955040938,
          "plane_offset_mm": 2.0,
          "recovered_offset_mm": -2.00000000000004,
          "traced_rms_um": 167.82183955041265
        }
      ],
      "existing_offset_metric_mm": -0.01639895259839469,
      "f_number": 5.0,
      "focal_length_mm": 100.0,
      "legacy_detector_rms_um": 1.3760511958812807,
      "legacy_plane_error_mm": 0.016398952598351002,
      "max_direction_error": 1.1775693440128312e-16,
      "max_hit_error_mm": 5.4567461660326444e-14,
      "rays": 17,
      "valid_rays": 17
    },
    {
      "analytic_focus_rms_um": 7.534994903504415e-12,
      "case": "paraboloid_f1.8_tip0_tilt0_rings",
      "corrected_detector_rms_um": 4.724128875991764e-12,
      "corrected_focus_error_mm": 1.42112388702258e-14,
      "defocus_checks": [
        {
          "analytic_rms_um": 472.80772948651673,
          "plane_offset_mm": -2.0,
          "recovered_offset_mm": 1.999999999999969,
          "traced_rms_um": 472.8077294865102
        },
        {
          "analytic_rms_um": 1.8218729295560004e-12,
          "plane_offset_mm": 0.0,
          "recovered_offset_mm": -2.7919999009520487e-14,
          "traced_rms_um": 7.534994903504415e-12
        },
        {
          "analytic_rms_um": 472.8077294865188,
          "plane_offset_mm": 2.0,
          "recovered_offset_mm": -2.000000000000028,
          "traced_rms_um": 472.8077294865242
        }
      ],
      "existing_offset_metric_mm": -0.12708913001676772,
      "f_number": 1.8,
      "focal_length_mm": 100.0,
      "legacy_detector_rms_um": 30.04436150282239,
      "legacy_plane_error_mm": 0.12708913001674205,
      "max_direction_error": 1.2719202621569003e-16,
      "max_hit_error_mm": 3.6637359812630166e-14,
      "rays": 17,
      "valid_rays": 17
    },
    {
      "analytic_focus_rms_um": 7.571836300595628e-12,
      "case": "paraboloid_f1.8_tip27_tilt-13_rings",
      "corrected_detector_rms_um": 7.32215246736013e-12,
      "corrected_focus_error_mm": 2.1316282072803006e-14,
      "defocus_checks": [
        {
          "analytic_rms_um": 472.80772948651673,
          "plane_offset_mm": -2.0,
          "recovered_offset_mm": 1.9999999999999856,
          "traced_rms_um": 472.80772948651395
        },
        {
          "analytic_rms_um": 1.8218729295560004e-12,
          "plane_offset_mm": 0.0,
          "recovered_offset_mm": -1.239818493306027e-14,
          "traced_rms_um": 7.571836300595628e-12
        },
        {
          "analytic_rms_um": 472.8077294865188,
          "plane_offset_mm": 2.0,
          "recovered_offset_mm": -2.000000000000024,
          "traced_rms_um": 472.80772948652293
        }
      ],
      "existing_offset_metric_mm": -0.12708913001680466,
      "f_number": 1.8,
      "focal_length_mm": 100.0,
      "legacy_detector_rms_um": 30.044361502831293,
      "legacy_plane_error_mm": 0.12708913001679448,
      "max_direction_error": 5.79553433516819e-16,
      "max_hit_error_mm": 7.759243796045309e-14,
      "rays": 17,
      "valid_rays": 17
    },
    {
      "analytic_focus_rms_um": 7.711070457037846e-12,
      "case": "paraboloid_f1.8_tip0_tilt0_dense",
      "corrected_detector_rms_um": 8.06493294684052e-12,
      "corrected_focus_error_mm": 1.421240635081875e-14,
      "defocus_checks": [
        {
          "analytic_rms_um": 400.0559467732466,
          "plane_offset_mm": -2.0,
          "recovered_offset_mm": 1.9999999999999964,
          "traced_rms_um": 400.0559467732462
        },
        {
          "analytic_rms_um": 7.46611362146848e-13,
          "plane_offset_mm": 0.0,
          "recovered_offset_mm": -3.3900002310712875e-15,
          "traced_rms_um": 7.711070457037846e-12
        },
        {
          "analytic_rms_um": 400.0559467732473,
          "plane_offset_mm": 2.0,
          "recovered_offset_mm": -2.000000000000004,
          "traced_rms_um": 400.0559467732478
        }
      ],
      "existing_offset_metric_mm": -0.16367417293249198,
      "f_number": 1.8,
      "focal_length_mm": 100.0,
      "legacy_detector_rms_um": 32.7394131074181,
      "legacy_plane_error_mm": 0.1636741729324882,
      "max_direction_error": 2.254873622441467e-16,
      "max_hit_error_mm": 5.3512749786932545e-14,
      "rays": 317,
      "valid_rays": 317
    }
  ],
  "chief_ray_construction": {
    "final_direction_error": 4.982493048981751e-16,
    "max_chief_hit_error_mm": 4.501759284449558e-14,
    "max_vertex_position_error_mm": 1.467511591522657e-14,
    "mirrors": 3,
    "source": "RFS-104 zero-freeform nonplanar construction",
    "valid_chief_ray": true
  },
  "finding": "Reflection, physical detector-plane interception, parallel-plane focus-offset metric and nonplanar chief-ray construction pass these analytic checks. The historical equal-distance focus initializer is biased. An explicit physical-plane solver removes the known-case bias; substituting it alone does not resolve the current prescription failures.",
  "limits": [
    "Analytic cases are ideal on-axis paraboloids, including a rigid transform; not a wide-field freeform or independent commercial-tracer validation.",
    "No window, baffle, package, thermal, tolerance or diffraction acceptance is established.",
    "Historical prescriptions retain their original initializer for reproducibility. New optical searches must explicitly adopt physical-plane focus and record fresh acceptance evidence.",
    "This diagnostic does not add a shortlist candidate. The existing 34 measured runs remain at zero passes."
  ],
  "prescription_comparison": {
    "axial_sensor_shift_mm": 0.16079940642491203,
    "corrected": {
      "detector_footprint_contained_fraction": 0.4751131221719457,
      "detector_footprint_contained_intercepts": 105.0,
      "detector_footprint_score": 4.303344936552802,
      "detector_footprint_x_span_mm": 16.30654502326934,
      "detector_footprint_y_span_mm": 21.686519523802325,
      "focus_spread_mm": 10.14334361426524,
      "maximum_detector_rms_um": 3661.850817391102,
      "maximum_sampled_freeform_sag_um": 77.24151903619607,
      "measured_efl_mm": 99.43098325564631,
      "minimum_throughput": 1.0,
      "package_span_mm": 116.81484465170047,
      "rms_root_mean_square_um": 3405.276826914237
    },
    "corrected_sensor_center_mm": [
      -6.205916556963016,
      25.832392288025,
      -60.55642643942921
    ],
    "initialization_grid_n": 18,
    "initialization_rays": 216,
    "lateral_sensor_shift_mm": 0.19884859803483268,
    "metric_sampling": "13 fields x 17 reserved rays. EFL uses the pose-search diagnostic fit, not the separately sampled acceptance-artifact fit.",
    "original": {
      "detector_footprint_contained_fraction": 0.4751131221719457,
      "detector_footprint_contained_intercepts": 105.0,
      "detector_footprint_score": 4.345810512551475,
      "detector_footprint_x_span_mm": 16.25287114114493,
      "detector_footprint_y_span_mm": 21.782840181820205,
      "focus_spread_mm": 10.143343614265243,
      "maximum_detector_rms_um": 3667.29389426796,
      "maximum_sampled_freeform_sag_um": 77.24151903619607,
      "measured_efl_mm": 99.60611138945659,
      "minimum_throughput": 1.0,
      "package_span_mm": 116.81484465170047,
      "rms_root_mean_square_um": 3399.5350396575714
    },
    "original_sensor_center_mm": [
      -6.205483043568428,
      26.049296068404697,
      -60.42096509376132
    ],
    "preserved_focus_offset_mm": 2.675667722,
    "scope": "Initializer replacement only; fixed mirrors, normal, detector size and intentional focus offset. Each initializer centres the sensor on its own focus estimate. No optimization or acceptance promotion.",
    "source": "RFS-106 prescription retained by RFS-107"
  },
  "reference": {
    "accessed": "2026-09-07",
    "url": "https://lipa.physics.oregonstate.edu/sec_curved-mirrors.html",
    "use": "Exact on-axis focusing of an ideal paraboloid; equations and numerical checks derived here."
  },
  "run_date": "2026-09-07",
  "source_sha256": {
    "projects/rural-fire-service-camera/designs/emberscope-three-mirror-nonplanar-freeform-corrected-fine-gsd-100.v1.json": "a9289be224c00e120505775b567337209d383a3b25f4032f46e5283c355d6b4b",
    "projects/rural-fire-service-camera/scripts/rfs_four_mirror_prescription_optimizer.py": "f9b388668fba0977d06c59796da50ad0787607652cabb095eb04416b36492e41",
    "projects/rural-fire-service-camera/scripts/rfs_imaging_known_case_check.py": "8b64d44ca7bb93515583eda052d3cfaa51bb1ed8bf8e573f3d47b107087858e3",
    "projects/rural-fire-service-camera/scripts/rfs_mirror_shape_poc.py": "a3e0d88e2b36d7f5b7156db6b3bd4dc9b0ab5e5c3222b0d8a05e927ff787f5b5",
    "projects/rural-fire-service-camera/scripts/rfs_three_mirror_nonplanar_detector_pose_correction.py": "90229e34bf014c514f8b0e4ee9d0e5280162aa5498a6ae0f631364db0b86fb1f",
    "projects/rural-fire-service-camera/scripts/rfs_three_mirror_nonplanar_start.py": "e935088b853a5c4089baefea12c3ed9a076f26702652f3c003e5345f825b0c14",
    "site/assets/rfs/three_mirror_nonplanar_freeform_corrected_fine_gsd_100_trace_acceptance_2026-09-05.json": "0fa9eb495bc746d8fc62cdad153d5b27cef377a9302299202a0c9475725543ce",
    "telescope_explorer/src/focus.py": "776fd559517116e444adfb3feadc625181a6ac2739acc2c7d10d453761f545da",
    "telescope_explorer/src/raytrace.py": "c9ce673013fa142510cecc018846c83bdea189e3b93d881cbe2aabd8dd0a2533",
    "telescope_explorer/src/surfaces.py": "0d1bf495b49bc516d40edc9f22222ed4e42fd3f4491291584cbb94c9723509ce"
  },
  "status": "preliminary model diagnostic",
  "task": "RFS-108"
}
