{
  "version": 3,
  "default_engine": "lottie",
  "sfx": {
    "commit_tick": { "type": "tick", "gain": 0.08 },
    "success_chime": { "type": "chime", "gain": 0.12 },
    "beacon_pulse": { "type": "beacon", "gain": 0.1 },
    "whoosh_exit": { "type": "whoosh", "gain": 0.09 },
    "mission_complete": { "type": "fanfare", "gain": 0.14 }
  },
  "missions": {
    "moon_lost_tool_v1": {
      "animation_pack_version": "v2-hybrid",
      "prefetch_next_scene": true,
      "prefetch_art": [
        "student_game/art/moon_ship.svg",
        "student_game/art/beep.svg",
        "student_game/art/captain_nova.svg",
        "student_game/art/luna_beacon.svg"
      ],
      "prefetch_lottie": [
        "lottie/vfx_scene_sweep.json",
        "lottie/vfx_gap_motes.json",
        "lottie/vfx_outcome_burst.json",
        "lottie/moon_gap_enter.json",
        "lottie/moon_search_enter.json",
        "lottie/moon_crater_enter.json",
        "lottie/moon_return_enter.json",
        "lottie/commit_spark.json",
        "lottie/outcome_success.json",
        "lottie/beacon_flicker.json",
        "lottie/intro_rocket.json",
        "lottie/mission_complete.json"
      ],
      "intro": {
        "skippable": true,
        "phases": [
          {
            "id": "launch",
            "css_class": "director-intro-phase-launch",
            "lottie": "lottie/intro_rocket.json",
            "duration_ms": 4200,
            "caption": "Rocket launch"
          },
          {
            "id": "approach",
            "css_class": "director-intro-phase-approach",
            "duration_ms": 4200,
            "caption": "Lunar approach"
          },
          {
            "id": "beacon",
            "css_class": "director-intro-phase-beacon",
            "lottie": "lottie/beacon_flicker.json",
            "loop": true,
            "duration_ms": 3600,
            "caption": "Beacon flicker",
            "sfx": "beacon_pulse"
          }
        ]
      },
      "complete": {
        "beats": {
          "enter": {
            "engine": "lottie",
            "lottie": "lottie/mission_complete.json",
            "css_fallback": "director-complete-celebration",
            "duration_ms": 2400,
            "overlay": true,
            "sfx": "mission_complete",
            "character_mood": { "beep": "celebrate", "nova": "reassuring" }
          }
        }
      },
      "scenes": {
        "landing_check": {
          "stage_template": "moon_landing",
          "beats": {
            "enter": {
              "engine": "lottie",
              "lottie": "lottie/vfx_scene_sweep.json",
              "css_fallback": "director-enter-landing",
              "duration_ms": 1100,
              "overlay": true,
              "sfx": "beacon_pulse"
            },
            "idle": {
              "engine": "css",
              "css_class": "director-idle-landing"
            },
            "commit": {
              "engine": "lottie",
              "lottie": "lottie/commit_spark.json",
              "css_fallback": "director-commit-pulse",
              "duration_ms": 480,
              "overlay": true,
              "sfx": "commit_tick"
            },
            "exit": {
              "engine": "css",
              "css_class": "director-exit-slide-left",
              "duration_ms": 720,
              "sfx": "whoosh_exit"
            },
            "outcome": {
              "check_seat_belt": {
                "engine": "lottie",
                "lottie": "lottie/outcome_success.json",
                "css_fallback": "director-outcome-success",
                "duration_ms": 1400,
                "overlay": true,
                "sfx": "success_chime",
                "character_mood": { "beep": "happy", "nova": "reassuring" }
              },
              "jump_out_now": {
                "engine": "css",
                "css_class": "director-outcome-recoverable",
                "duration_ms": 1400,
                "character_mood": { "beep": "worried", "nova": "thoughtful" }
              },
              "spin_in_chair": {
                "engine": "css",
                "css_class": "director-outcome-recoverable",
                "duration_ms": 1400,
                "character_mood": { "beep": "curious", "nova": "thoughtful" }
              }
            }
          }
        },
        "low_gravity_gap": {
          "stage_template": "moon_gap",
          "beats": {
            "enter": {
              "engine": "lottie",
              "lottie": "lottie/vfx_scene_sweep.json",
              "css_fallback": "director-enter-gap",
              "duration_ms": 1000,
              "overlay": true
            },
            "idle": {
              "engine": "lottie",
              "lottie": "lottie/vfx_gap_motes.json",
              "loop": true,
              "overlay": true,
              "css_fallback": "director-idle-gap"
            },
            "commit": {
              "engine": "lottie",
              "lottie": "lottie/commit_spark.json",
              "css_fallback": "director-commit-pulse",
              "duration_ms": 480,
              "overlay": true,
              "sfx": "commit_tick"
            },
            "exit": {
              "engine": "css",
              "css_class": "director-exit-slide-left",
              "duration_ms": 720,
              "sfx": "whoosh_exit"
            },
            "outcome": {
              "big_careful_jump": {
                "engine": "lottie",
                "lottie": "lottie/outcome_success.json",
                "css_fallback": "director-outcome-success",
                "duration_ms": 1400,
                "overlay": true,
                "sfx": "success_chime",
                "character_mood": { "beep": "happy" }
              },
              "tiny_steps": {
                "engine": "css",
                "css_class": "director-outcome-recoverable",
                "duration_ms": 1400,
                "character_mood": { "beep": "worried" }
              },
              "sit_and_wait": {
                "engine": "css",
                "css_class": "director-outcome-partial",
                "duration_ms": 1400,
                "character_mood": { "beep": "curious", "nova": "thoughtful" }
              }
            }
          }
        },
        "lost_tool": {
          "stage_template": "moon_search",
          "beats": {
            "enter": {
              "engine": "lottie",
              "lottie": "lottie/vfx_scene_sweep.json",
              "css_fallback": "director-enter-search",
              "duration_ms": 1000,
              "overlay": true
            },
            "idle": { "engine": "css", "css_class": "director-idle-search" },
            "commit": {
              "engine": "lottie",
              "lottie": "lottie/commit_spark.json",
              "css_fallback": "director-commit-pulse",
              "duration_ms": 480,
              "overlay": true,
              "sfx": "commit_tick"
            },
            "exit": {
              "engine": "css",
              "css_class": "director-exit-slide-left",
              "duration_ms": 720,
              "sfx": "whoosh_exit"
            },
            "outcome": {
              "look_carefully": {
                "engine": "lottie",
                "lottie": "lottie/outcome_success.json",
                "css_fallback": "director-outcome-success",
                "duration_ms": 1400,
                "overlay": true,
                "sfx": "success_chime",
                "character_mood": { "beep": "happy", "nova": "reassuring" }
              },
              "keep_walking": {
                "engine": "css",
                "css_class": "director-outcome-recoverable",
                "duration_ms": 1400,
                "character_mood": { "beep": "worried" }
              },
              "give_up": {
                "engine": "css",
                "css_class": "director-outcome-recoverable",
                "duration_ms": 1400,
                "character_mood": { "beep": "worried", "nova": "thoughtful" }
              }
            }
          }
        },
        "dark_crater": {
          "stage_template": "moon_crater",
          "beats": {
            "enter": {
              "engine": "lottie",
              "lottie": "lottie/vfx_scene_sweep.json",
              "css_fallback": "director-enter-crater",
              "duration_ms": 1100,
              "overlay": true
            },
            "idle": { "engine": "css", "css_class": "director-idle-crater" },
            "commit": {
              "engine": "lottie",
              "lottie": "lottie/commit_spark.json",
              "css_fallback": "director-commit-pulse",
              "duration_ms": 480,
              "overlay": true,
              "sfx": "commit_tick"
            },
            "exit": {
              "engine": "css",
              "css_class": "director-exit-slide-left",
              "duration_ms": 720,
              "sfx": "whoosh_exit"
            },
            "outcome": {
              "flashlight": {
                "engine": "lottie",
                "lottie": "lottie/outcome_success.json",
                "css_fallback": "director-outcome-success",
                "duration_ms": 1500,
                "overlay": true,
                "sfx": "success_chime",
                "character_mood": { "beep": "happy", "nova": "reassuring" }
              },
              "close_eyes": {
                "engine": "css",
                "css_class": "director-outcome-recoverable",
                "duration_ms": 1400,
                "character_mood": { "beep": "worried" }
              },
              "throw_helmet": {
                "engine": "css",
                "css_class": "director-outcome-recoverable",
                "duration_ms": 1400,
                "character_mood": { "beep": "curious" }
              }
            }
          }
        },
        "return_to_ship": {
          "stage_template": "moon_return",
          "beats": {
            "enter": {
              "engine": "lottie",
              "lottie": "lottie/vfx_scene_sweep.json",
              "css_fallback": "director-enter-return",
              "duration_ms": 1000,
              "overlay": true,
              "sfx": "beacon_pulse"
            },
            "idle": { "engine": "css", "css_class": "director-idle-return" },
            "commit": {
              "engine": "lottie",
              "lottie": "lottie/commit_spark.json",
              "css_fallback": "director-commit-pulse",
              "duration_ms": 480,
              "overlay": true,
              "sfx": "commit_tick"
            },
            "exit": {
              "engine": "css",
              "css_class": "director-exit-slide-left",
              "duration_ms": 720,
              "sfx": "whoosh_exit"
            },
            "outcome": {
              "store_tool_safely": {
                "engine": "lottie",
                "lottie": "lottie/outcome_success.json",
                "css_fallback": "director-outcome-success",
                "duration_ms": 1600,
                "overlay": true,
                "sfx": "mission_complete",
                "character_mood": { "beep": "celebrate", "nova": "reassuring" }
              },
              "drop_and_run": {
                "engine": "css",
                "css_class": "director-outcome-recoverable",
                "duration_ms": 1400,
                "character_mood": { "beep": "worried" }
              },
              "leave_it": {
                "engine": "css",
                "css_class": "director-outcome-partial",
                "duration_ms": 1400,
                "character_mood": { "beep": "curious", "nova": "thoughtful" }
              }
            }
          }
        }
      }
    }
  }
}
