# Canonical stereo_imaging dataset construction for the finished benchmark.
#
# The generator uses a vendored subset of real CelesTrak Earth-resources TLEs,
# a vendored terrain/scene lookup table, and runtime-staged world-cities data.
# The snapshot epoch below is an exact supported label for the cached TLE set.

example_smoke_case: test/case_0001

source:
  celestrak:
    kind: vendored_subset
    url: https://celestrak.org/NORAD/elements/gp.php?GROUP=resource&FORMAT=tle
    snapshot_epoch_utc: "2026-04-24T00:00:00Z"  # Generator rejects any other epoch.
  world_cities:
    kind: kaggle_dataset
    dataset: juanmah/world-cities
    page_url: https://www.kaggle.com/datasets/juanmah/world-cities
  lookup_tables:
    kind: vendored_lookup_tables
    module: benchmarks/stereo_imaging/generator/lookup_tables.py

splits:
  test: &test_split
    seed: 20260406
    case_count: 5
    case_seed_stride: 10007

    mission:
      base_horizon_start: "2026-04-22T02:00:00Z"
      case_start_spacing_hours: 6
      horizon_duration_s: 172800
      allow_cross_satellite_stereo: true
      max_stereo_pair_separation_s: 3600.0
      validity_thresholds:
        min_overlap_fraction: 0.8
        min_convergence_deg: 5.0
        max_convergence_deg: 45.0
        max_pixel_scale_ratio: 1.5
        min_solar_elevation_deg: 10.0
        near_nadir_anchor_max_off_nadir_deg: 10.0
      quality_model:
        pair_weights:
          geometry: 0.5
          overlap: 0.35
          resolution: 0.15
        tri_stereo_bonus_by_scene:
          urban_structured: 0.12
          rugged: 0.10
          vegetated: 0.08
          open: 0.05

    feasibility_guard:
      max_generation_attempts_per_case: 8
      access_sample_step_s: 60.0
      max_candidate_observations_per_access: 8
      overlap_samples: 80

    targets:
      min_count: 120
      max_count: 144
      urban_target_divisor: 4
      min_urban_population: 100000
      max_abs_latitude_deg: 70.0
      non_urban_jitter_deg: 0.48
      aoi_radius_min_m: 2500.0
      aoi_radius_max_m: 7500.0

    satellites:
      min_per_case: 10
      max_per_case: 12

  train:
    <<: *test_split
    seed: 20270406
    case_count: 10
