{
  "_comment": "Worked example for frozen_camera.py — the proven beat sheet. Edit the paths.",
  "mesh": "./mesh.glb",
  "reference": {
    "image": "./source_frame.png",
    "width": 768,
    "height": 1376,
    "bbox": [
      95,
      280,
      672,
      1100
    ]
  },
  "output": "./guide.mp4",
  "fps": 24,
  "resolution": [
    1080,
    1920
  ],
  "lens_mm": 50.0,
  "decimate_ratio": 0.08,
  "beats": [
    {
      "name": "match",
      "fit": "match",
      "azimuth": 123.0,
      "elevation": 0.0,
      "radius_mult": 1.0,
      "aim_height_frac": 0.1,
      "hold_frames": 10,
      "whip_in_frames": 0
    },
    {
      "name": "profile_whip",
      "fit": "none",
      "azimuth": 0.0,
      "elevation": 26.0,
      "radius_mult": 0.579,
      "aim_height_frac": 0.22,
      "hold_frames": 22,
      "whip_in_frames": 26
    },
    {
      "name": "birdseye",
      "fit": "frustum",
      "azimuth": -165.0,
      "elevation": 82.0,
      "radius_mult": 0.901,
      "aim_height_frac": 0.0,
      "fit_target_height_frac": 0.72,
      "hold_frames": 60,
      "whip_in_frames": 26
    }
  ],
  "clip_guard": {
    "enabled": true,
    "margin_frac": 0.01,
    "scale": 0.35
  }
}
