{
  "version": "0.2.0-halo-draft",
  "track": "halo_morphology_synthetic",
  "coordinate_system": "equivalent viewing-angle tangent plane; +x right, +y up; arrays use +y in increasing row and gallery flips vertically",
  "base_config": {
    "pupil_mm": 3.2,
    "eye_power_d": 8.0,
    "icl_power_d": -8.0,
    "optic_mm": 6.0,
    "port_mm": 0.0,
    "decenter_x_mm": 0.0,
    "decenter_y_mm": 0.0,
    "cylinder_d": 0.0,
    "cylinder_axis_deg": 0.0,
    "wavelengths_nm": [
      550.0
    ],
    "spectral_weights": [
      1.0
    ],
    "material_amplitude": 1.0,
    "grid_n": 512,
    "padding": 4,
    "extent_mm": 10.24,
    "output_n": 512,
    "angular_pixel_arcsec": 4.0
  },
  "runnable_cases": [
    {
      "id": "H01",
      "title": "光源平移：光圈跟着谁移动",
      "family": "position",
      "truth_level": "analytic_calibration",
      "status": "runnable",
      "question": "将点光源从注视中心移到右上/右下指定角坐标，预测光圈绝对位置和相对光源偏移。",
      "checks": [
        "用角坐标报告中心，不用截图像素代替",
        "在此等晕模型中光圈与光源平移相同",
        "无自动对齐或重新居中"
      ],
      "arms": [
        {
          "name": "center",
          "config_overrides": {},
          "sources": [
            {
              "x_arcmin": 0.0,
              "y_arcmin": 0.0,
              "flux": 1.0,
              "diameter_arcmin": 0.0
            }
          ],
          "analytic_first_diffraction_ring": true
        },
        {
          "name": "translated",
          "config_overrides": {},
          "sources": [
            {
              "x_arcmin": 3.0,
              "y_arcmin": -2.0,
              "flux": 1.0,
              "diameter_arcmin": 0.0
            }
          ],
          "analytic_first_diffraction_ring": true
        }
      ]
    },
    {
      "id": "H02",
      "title": "两个光源：重叠不等于一个大光圈",
      "family": "multi_source",
      "truth_level": "synthetic_thin_phase",
      "status": "runnable",
      "question": "两盏等强灯从相距 2 arcmin 移到相距 8 arcmin，预测各自贡献和叠加场。",
      "checks": [
        "分别交两个光源的线性贡献图",
        "叠加结果等于非相干贡献之和",
        "不能把叠加图的亮区中心当作唯一环中心"
      ],
      "arms": [
        {
          "name": "close",
          "config_overrides": {
            "port_mm": 0.36
          },
          "sources": [
            {
              "x_arcmin": -1.0,
              "y_arcmin": 0.0,
              "flux": 1.0,
              "diameter_arcmin": 0.0
            },
            {
              "x_arcmin": 1.0,
              "y_arcmin": 0.0,
              "flux": 1.0,
              "diameter_arcmin": 0.0
            }
          ],
          "analytic_first_diffraction_ring": false
        },
        {
          "name": "separated",
          "config_overrides": {
            "port_mm": 0.36
          },
          "sources": [
            {
              "x_arcmin": -4.0,
              "y_arcmin": 0.0,
              "flux": 1.0,
              "diameter_arcmin": 0.0
            },
            {
              "x_arcmin": 4.0,
              "y_arcmin": 0.0,
              "flux": 1.0,
              "diameter_arcmin": 0.0
            }
          ],
          "analytic_first_diffraction_ring": false
        }
      ]
    },
    {
      "id": "H03",
      "title": "波长：红蓝环尺度",
      "family": "spectral",
      "truth_level": "analytic_calibration",
      "status": "runnable",
      "question": "在无像差圆孔校准模型中，把 450 nm 改成 650 nm，预测首个衍射亮环半径。",
      "checks": [
        "半径按波长变化，不能使用固定素材",
        "在共同角坐标上比较",
        "此规律只针对给定的衍射校准环"
      ],
      "arms": [
        {
          "name": "blue",
          "config_overrides": {
            "wavelengths_nm": [
              450.0
            ]
          },
          "sources": [
            {
              "x_arcmin": 0.0,
              "y_arcmin": 0.0,
              "flux": 1.0,
              "diameter_arcmin": 0.0
            }
          ],
          "analytic_first_diffraction_ring": true
        },
        {
          "name": "red",
          "config_overrides": {
            "wavelengths_nm": [
              650.0
            ]
          },
          "sources": [
            {
              "x_arcmin": 0.0,
              "y_arcmin": 0.0,
              "flux": 1.0,
              "diameter_arcmin": 0.0
            }
          ],
          "analytic_first_diffraction_ring": true
        }
      ]
    },
    {
      "id": "H04",
      "title": "瞳孔：衍射校准中的反比规律",
      "family": "pupil",
      "truth_level": "analytic_calibration",
      "status": "runnable",
      "question": "保持无像差补偿，把瞳孔直径从 2.8 mm 改为 4.8 mm，预测亮环半径与宽度。",
      "checks": [
        "首亮环半径与直径成反比",
        "输入总通光能量保持归一约定一致",
        "不将结果推广为所有术后光晕随瞳孔的规律"
      ],
      "arms": [
        {
          "name": "small",
          "config_overrides": {
            "pupil_mm": 2.8
          },
          "sources": [
            {
              "x_arcmin": 0.0,
              "y_arcmin": 0.0,
              "flux": 1.0,
              "diameter_arcmin": 0.0
            }
          ],
          "analytic_first_diffraction_ring": true
        },
        {
          "name": "large",
          "config_overrides": {
            "pupil_mm": 4.8
          },
          "sources": [
            {
              "x_arcmin": 0.0,
              "y_arcmin": 0.0,
              "flux": 1.0,
              "diameter_arcmin": 0.0
            }
          ],
          "analytic_first_diffraction_ring": true
        }
      ]
    },
    {
      "id": "H05",
      "title": "亮度：几何和可见性分开",
      "family": "radiometry",
      "truth_level": "analytic_calibration",
      "status": "runnable",
      "question": "光源入射总能量从 0.25 改为 1，预测线性光强和环几何；另讨论显示阈值。",
      "checks": [
        "每个线性像素乘 4",
        "解析校准环半径不因曝光改变",
        "可见性结论必须声明阈值，不能直接等于临床感知"
      ],
      "arms": [
        {
          "name": "dim",
          "config_overrides": {},
          "sources": [
            {
              "x_arcmin": 0.0,
              "y_arcmin": 0.0,
              "flux": 0.25,
              "diameter_arcmin": 0.0
            }
          ],
          "analytic_first_diffraction_ring": true
        },
        {
          "name": "bright",
          "config_overrides": {},
          "sources": [
            {
              "x_arcmin": 0.0,
              "y_arcmin": 0.0,
              "flux": 1.0,
              "diameter_arcmin": 0.0
            }
          ],
          "analytic_first_diffraction_ring": true
        }
      ]
    },
    {
      "id": "H06",
      "title": "有限光源：点变成小圆盘",
      "family": "source_extent",
      "truth_level": "synthetic_thin_phase",
      "status": "runnable",
      "question": "保持总能量相同，把点光源改成直径 1.5 arcmin 的均匀非相干圆盘，预测环的模糊和融合。",
      "checks": [
        "积分扩展光源贡献而非只改后期 bloom",
        "保留光源总能量约定",
        "允许环峰消失或融合，不强报圆环数"
      ],
      "arms": [
        {
          "name": "point",
          "config_overrides": {},
          "sources": [
            {
              "x_arcmin": 0.0,
              "y_arcmin": 0.0,
              "flux": 1.0,
              "diameter_arcmin": 0.0
            }
          ],
          "analytic_first_diffraction_ring": false
        },
        {
          "name": "disc",
          "config_overrides": {},
          "sources": [
            {
              "x_arcmin": 0.0,
              "y_arcmin": 0.0,
              "flux": 1.0,
              "diameter_arcmin": 1.5
            }
          ],
          "analytic_first_diffraction_ring": false
        }
      ]
    },
    {
      "id": "H07",
      "title": "残余离焦：多环与宽光晕",
      "family": "defocus",
      "truth_level": "synthetic_thin_phase",
      "status": "runnable",
      "question": "给定等效薄相位模型，矫正功率从 -8 D 改为 -7.5 D，预测二维形态和径向峰。",
      "checks": [
        "从波前生成变化",
        "报告整个径向曲线而非只报一个半径",
        "不将合成残差等同实际患者处方"
      ],
      "arms": [
        {
          "name": "compensated",
          "config_overrides": {},
          "sources": [
            {
              "x_arcmin": 0.0,
              "y_arcmin": 0.0,
              "flux": 1.0,
              "diameter_arcmin": 0.0
            }
          ],
          "analytic_first_diffraction_ring": false
        },
        {
          "name": "residual",
          "config_overrides": {
            "icl_power_d": -7.5
          },
          "sources": [
            {
              "x_arcmin": 0.0,
              "y_arcmin": 0.0,
              "flux": 1.0,
              "diameter_arcmin": 0.0
            }
          ],
          "analytic_first_diffraction_ring": false
        }
      ]
    },
    {
      "id": "H08",
      "title": "散光：圆环假设失效",
      "family": "astigmatism",
      "truth_level": "synthetic_thin_phase",
      "status": "runnable",
      "question": "额外柱镜 0.75 D 的轴从 0° 旋转到 45°，预测方向亮度、不圆形轮廓和多峰。",
      "checks": [
        "保留二维形态和方向信息",
        "轴向变化进入相位求解",
        "不把所有图形强制拟合成圆或单椭圆"
      ],
      "arms": [
        {
          "name": "axis_0",
          "config_overrides": {
            "cylinder_d": 0.75,
            "cylinder_axis_deg": 0.0
          },
          "sources": [
            {
              "x_arcmin": 0.0,
              "y_arcmin": 0.0,
              "flux": 1.0,
              "diameter_arcmin": 0.0
            }
          ],
          "analytic_first_diffraction_ring": false
        },
        {
          "name": "axis_45",
          "config_overrides": {
            "cylinder_d": 0.75,
            "cylinder_axis_deg": 45.0
          },
          "sources": [
            {
              "x_arcmin": 0.0,
              "y_arcmin": 0.0,
              "flux": 1.0,
              "diameter_arcmin": 0.0
            }
          ],
          "analytic_first_diffraction_ring": false
        }
      ]
    },
    {
      "id": "H09",
      "title": "棱镜对照：整体位移不等于环偏离灯芯",
      "family": "position",
      "truth_level": "analytic_calibration",
      "status": "runnable",
      "question": "无孔共平面理想矫正中，将 ICL 向 +x 偏心 0.2 mm，预测绝对位移和环相对灯芯偏移。",
      "checks": [
        "等效相位梯度给出整体方向与角位移",
        "区分光源输入、灯芯成像与环中心三个坐标",
        "纯棱镜对照中不编造环与灯芯的相对偏心"
      ],
      "arms": [
        {
          "name": "centered",
          "config_overrides": {},
          "sources": [
            {
              "x_arcmin": 0.0,
              "y_arcmin": 0.0,
              "flux": 1.0,
              "diameter_arcmin": 0.0
            }
          ],
          "analytic_first_diffraction_ring": true
        },
        {
          "name": "prism",
          "config_overrides": {
            "decenter_x_mm": 0.2
          },
          "sources": [
            {
              "x_arcmin": 0.0,
              "y_arcmin": 0.0,
              "flux": 1.0,
              "diameter_arcmin": 0.0
            }
          ],
          "analytic_first_diffraction_ring": true
        }
      ]
    },
    {
      "id": "H10",
      "title": "透明孔：光程变化而非黑盘",
      "family": "port",
      "truth_level": "synthetic_thin_phase",
      "status": "runnable",
      "question": "在明确的薄相位模型内将透明孔由 0 改为 0.36 mm，预测弱光晕差分和径向结构。",
      "checks": [
        "孔内透光但没有该区域的晶体矫正相位",
        "瞳面透过率保持 1",
        "结果只属于合成模型，不命名为真实 ICL 孔相关环真值"
      ],
      "arms": [
        {
          "name": "no_port",
          "config_overrides": {},
          "sources": [
            {
              "x_arcmin": 0.0,
              "y_arcmin": 0.0,
              "flux": 1.0,
              "diameter_arcmin": 0.0
            }
          ],
          "analytic_first_diffraction_ring": false
        },
        {
          "name": "transparent_port",
          "config_overrides": {
            "port_mm": 0.36
          },
          "sources": [
            {
              "x_arcmin": 0.0,
              "y_arcmin": 0.0,
              "flux": 1.0,
              "diameter_arcmin": 0.0
            }
          ],
          "analytic_first_diffraction_ring": false
        }
      ]
    },
    {
      "id": "H11",
      "title": "孔与偏心：复杂非对称场",
      "family": "decentration",
      "truth_level": "synthetic_thin_phase",
      "status": "runnable",
      "question": "含 0.36 mm 透明孔和 0.35 D 柱镜时，将晶体平移 (0.15,0.10) mm，预测位置和方位亮度。",
      "checks": [
        "分别保留相位棱镜及局部孔结构影响",
        "报告环/光晕的角向亮度与不对称性",
        "允许多峰和不唯一的几何描述"
      ],
      "arms": [
        {
          "name": "centered",
          "config_overrides": {
            "port_mm": 0.36,
            "cylinder_d": 0.35,
            "cylinder_axis_deg": 20.0
          },
          "sources": [
            {
              "x_arcmin": 0.0,
              "y_arcmin": 0.0,
              "flux": 1.0,
              "diameter_arcmin": 0.0
            }
          ],
          "analytic_first_diffraction_ring": false
        },
        {
          "name": "offset",
          "config_overrides": {
            "port_mm": 0.36,
            "cylinder_d": 0.35,
            "cylinder_axis_deg": 20.0,
            "decenter_x_mm": 0.15,
            "decenter_y_mm": 0.1
          },
          "sources": [
            {
              "x_arcmin": 0.0,
              "y_arcmin": 0.0,
              "flux": 1.0,
              "diameter_arcmin": 0.0
            }
          ],
          "analytic_first_diffraction_ring": false
        }
      ]
    },
    {
      "id": "H12",
      "title": "宽带：不同尺度的非相干重叠",
      "family": "spectral",
      "truth_level": "synthetic_thin_phase",
      "status": "runnable",
      "question": "将 550 nm 单色替换为 450/550/650 nm、权重 0.2/0.5/0.3 的光谱，预测环对比度和径向曲线。",
      "checks": [
        "各波长先映射到共同探测坐标",
        "叠加强度，不叠加不同波长复振幅",
        "本例不含色散或人眼颜色模型，不能直接声称患者见到某种颜色"
      ],
      "arms": [
        {
          "name": "mono",
          "config_overrides": {},
          "sources": [
            {
              "x_arcmin": 0.0,
              "y_arcmin": 0.0,
              "flux": 1.0,
              "diameter_arcmin": 0.0
            }
          ],
          "analytic_first_diffraction_ring": false
        },
        {
          "name": "broadband",
          "config_overrides": {
            "wavelengths_nm": [
              450.0,
              550.0,
              650.0
            ],
            "spectral_weights": [
              0.2,
              0.5,
              0.3
            ]
          },
          "sources": [
            {
              "x_arcmin": 0.0,
              "y_arcmin": 0.0,
              "flux": 1.0,
              "diameter_arcmin": 0.0
            }
          ],
          "analytic_first_diffraction_ring": false
        }
      ]
    },
    {
      "id": "H13",
      "title": "无光源：不能凭空出现光圈",
      "family": "absence",
      "truth_level": "synthetic_thin_phase",
      "status": "runnable",
      "question": "完全相同的光学模型，在无入射光源和有点光源时分别预测光场。",
      "checks": [
        "无源时线性输出为零",
        "不能默认每个病例必须有可见环",
        "分析光学信号与主观视觉体验的范围区别"
      ],
      "arms": [
        {
          "name": "dark",
          "config_overrides": {},
          "sources": [
            {
              "x_arcmin": 0.0,
              "y_arcmin": 0.0,
              "flux": 0.0,
              "diameter_arcmin": 0.0
            }
          ],
          "analytic_first_diffraction_ring": false
        },
        {
          "name": "light",
          "config_overrides": {},
          "sources": [
            {
              "x_arcmin": 0.0,
              "y_arcmin": 0.0,
              "flux": 1.0,
              "diameter_arcmin": 0.0
            }
          ],
          "analytic_first_diffraction_ring": true
        }
      ]
    },
    {
      "id": "H14",
      "title": "边界裁切：完整圆环只显示一段弧",
      "family": "partial_visibility",
      "truth_level": "analytic_calibration",
      "status": "runnable",
      "question": "在 ±约 17 arcmin 的探测视场中，将点光源移到 (16.5,0.5) arcmin，预测可记录弧段。",
      "checks": [
        "超出窗口的能量作为裁切损失",
        "不使用周期卷积让光圈出现在另一侧",
        "区分探测视场缺失与真实光学遮挡"
      ],
      "arms": [
        {
          "name": "interior",
          "config_overrides": {},
          "sources": [
            {
              "x_arcmin": 0.0,
              "y_arcmin": 0.0,
              "flux": 1.0,
              "diameter_arcmin": 0.0
            }
          ],
          "analytic_first_diffraction_ring": true
        },
        {
          "name": "cropped",
          "config_overrides": {},
          "sources": [
            {
              "x_arcmin": 16.5,
              "y_arcmin": 0.5,
              "flux": 1.0,
              "diameter_arcmin": 0.0
            }
          ],
          "analytic_first_diffraction_ring": true
        }
      ]
    }
  ],
  "research_cases": [
    {
      "id": "R15",
      "title": "真实厚 ICL 中央孔相关环",
      "status": "pending_reference",
      "truth_level": "requires_independent_solver_and_optical_bench",
      "inputs": [
        "ICL 前后曲面、厚度、孔壁几何和折射率色散",
        "全眼表面/介质/位置与入瞳",
        "单色及宽带点光源角度和标定探测坐标"
      ],
      "intervention": "保持其余几何固定，比较通孔、等介质填充及无孔合成对照；追踪孔壁及前后界面路径。",
      "prediction": "环相对灯芯的中心、半径、宽度、路径族能量及随光源角变化的轨迹。",
      "oracle": "独立非顺序光线追踪/局部波动传播和模型眼实测；不预设孔必然产生固定亮环。"
    },
    {
      "id": "R16",
      "title": "离轴灯光与凝视改变",
      "status": "pending_reference",
      "truth_level": "requires_thick_eye",
      "inputs": [
        "完整厚眼与晶体几何",
        "固定世界光源位置、眼球旋转中心与每次凝视方向",
        "视网膜/外界视角映射和坐标校准"
      ],
      "intervention": "世界光源不动，改变凝视方向及相对视场角，和移动光源的情况对比。",
      "prediction": "环中心相对注视点和灯芯的二维轨迹、环/弧变化；不得用等晕平移代替真实离轴传播。",
      "oracle": "多视场独立厚眼求解及模型眼扫描；明确视网膜倒像到视觉坐标的符号。"
    },
    {
      "id": "R17",
      "title": "瞳孔超过光学区与实际边缘",
      "status": "pending_reference",
      "truth_level": "requires_product_geometry_or_synthetic_thick_design",
      "inputs": [
        "光学区与周边/支撑结构真实或明确合成几何",
        "不同明暗状态的瞳孔直径及中心",
        "已知离轴点光源与光谱"
      ],
      "intervention": "改变瞳孔及相对晶体中心的位置，分别移除边缘、孔壁或反射路径。",
      "prediction": "光晕、弧段和不均匀方位亮度；哪些变化来自几何路径，哪些来自孔径衍射。",
      "oracle": "独立模型和光学台；不能把周边无条件当作黑色遮挡或自由透光。"
    },
    {
      "id": "R18",
      "title": "角膜/晶体反射鬼像环",
      "status": "pending_reference",
      "truth_level": "requires_nonsequential_paths",
      "inputs": [
        "所有相关界面曲率、材料、镀膜/反射率",
        "光源带宽、偏振或无偏振假设",
        "路径截止准则及能量账本"
      ],
      "intervention": "逐个将界面反射设为零，比较仍存在及消失的图样。",
      "prediction": "反射分支的中心、焦散形态、亮度和与主光源的相对运动。",
      "oracle": "带 Fresnel 功率权重的独立非顺序追踪和实验消融；不能额外叠加无来源亮环。"
    },
    {
      "id": "R19",
      "title": "泪膜/散射与结构光圈鉴别",
      "status": "pending_reference",
      "truth_level": "requires_measured_scatter_or_declared_kernel",
      "inputs": [
        "固定全眼几何",
        "实测或明确合成的泪膜像差/散射参数",
        "同一眼重复测量和标定曝光"
      ],
      "intervention": "在几何不变时改变散射/泪膜，再改变几何但保持散射，比较多条件观测。",
      "prediction": "有无窄环峰、宽光晕、峰宽及不确定度；单张图的机制可辨识性。",
      "oracle": "机制独立的前向模型与重复实测；不以任意 bloom 拟合全部残差。"
    },
    {
      "id": "R20",
      "title": "患者感知与术后时间变化",
      "status": "pending_clinical_data",
      "truth_level": "requires_psychophysics_and_clinical_review",
      "inputs": [
        "脱敏且获准研究的结构/像差测量",
        "校准亮度、角尺寸、暗适应与单眼/双眼条件",
        "光晕绘图/匹配或心理物理测量及重复记录"
      ],
      "intervention": "光学条件尽量相同，比较术后时点与感知；估计个体差异和报告偏差。",
      "prediction": "感知环的中心、形态、大小和可见性概率及区间，不以光学 PSF 唯一决定主观结果。",
      "oracle": "预注册心理物理协议、专家审核及患者分组留出；当前没有此数据，不输出临床分。"
    }
  ],
  "notes": [
    "All dimensions/powers are synthetic; none are asserted manufacturer or patient measurements.",
    "First Airy bright ring is a calibration feature, not a clinical ICL-port ring.",
    "Source translations use a shift-invariant tangent-plane model, not thick-eye off-axis propagation."
  ]
}
