{
  "schemaVersion": 2,
  "configVersion": 6,
  "balanceVersion": 5,
  "modeId": "adhd-game",
  "title": "Multitasking Game",
  "entryPath": "/adhd-game.html",
  "logicalViewport": {
    "width": 800,
    "height": 800,
    "fitMode": "contain"
  },
  "timeDisplay": {
    "placement": "outside-top",
    "height": 48,
    "format": "HH:MM:SS:mmm",
    "scoreStartsAt": "main-grid"
  },
  "scoring": {
    "policyVersion": 1,
    "startsAt": "main-grid",
    "points": {
      "pongWin": 1,
      "invaderKill": 3,
      "verticalKill": 1,
      "puzzleClear": 5
    }
  },
  "startGate": {
    "backgroundColor": "#000000",
    "message": "진행 방식을 선택하세요.",
    "defaultChoice": "tutorial",
    "choices": [
      {
        "id": "tutorial",
        "label": "튜토리얼 진행"
      },
      {
        "id": "main",
        "label": "본 게임 진행"
      }
    ],
    "countdownFrom": 3,
    "countdownStepSeconds": 1
  },
  "qualifier": {
    "freezeOnThreshold": true,
    "switchDurationSeconds": 0.15,
    "steps": [
      {
        "gameId": "pong",
        "metric": "player-score",
        "target": 1
      },
      {
        "gameId": "invader",
        "metric": "score",
        "target": 10
      },
      {
        "gameId": "vertical",
        "metric": "score",
        "target": 10
      },
      {
        "gameId": "puzzle",
        "metric": "cleared-puzzles",
        "target": 3
      }
    ]
  },
  "grid": {
    "revealDurationSeconds": 0.28,
    "initialFocus": null,
    "slowTimeScale": 0.1,
    "focusedTimeScale": 1,
    "focusedScale": 1.2,
    "focusMotionSeconds": 0.18,
    "motionEasing": "cubic-out",
    "overlapPolicy": "focused-on-top",
    "slots": [
      {
        "gameId": "pong",
        "slot": "top-left",
        "anchor": "top-left"
      },
      {
        "gameId": "invader",
        "slot": "top-right",
        "anchor": "top-right"
      },
      {
        "gameId": "vertical",
        "slot": "bottom-left",
        "anchor": "bottom-left"
      },
      {
        "gameId": "puzzle",
        "slot": "bottom-right",
        "anchor": "bottom-right"
      }
    ]
  },
  "games": {
    "pong": {
      "sourceStageId": "pong",
      "sourcePath": "stages/pong.json",
      "failureEvent": "opponent-score",
      "rules": {
        "endless": true
      }
    },
    "invader": {
      "sourceStageId": "invader-arrival",
      "sourcePath": "stages/invader-arrival.json",
      "failureEvent": "lives-depleted",
      "rules": {
        "endless": true,
        "formationDrop": false,
        "invasionFailure": false,
        "refillVacanciesEverySeconds": 10
      }
    },
    "vertical": {
      "sourceStageId": "vertical-shooter-arrival",
      "sourcePath": "stages/vertical-shooter-arrival.json",
      "failureEvent": "lives-depleted",
      "rules": {
        "endless": true,
        "bossEnabled": false,
        "railEnabled": false
      }
    },
    "puzzle": {
      "sourceStageId": "puzzle-arrival",
      "sourcePath": "stages/puzzle-arrival.json",
      "failureEvent": "round-timeout",
      "rules": {
        "endless": true,
        "timeLimitSeconds": 10,
        "order": "seeded-shuffle-bag",
        "avoidImmediateRepeat": true,
        "templateSource": "source-stage-only",
        "sourceDefinitionFailure": "abort-load",
        "flowClockVersion": 3
      },
      "presentation": {
        "region": "source-puzzle-window",
        "cropStage": "post-crt"
      }
    }
  },
  "balanceOverrides": {
    "pong": {},
    "invader": {},
    "vertical": {
      "enemySpawnRateMultiplier": 0.6
    },
    "puzzle": {}
  },
  "dangerAlarm": {
    "enabled": true,
    "presentationSource": "puzzle-mix",
    "minimumVisibleSeconds": 0.24,
    "releaseDelaySeconds": 0.12,
    "rearmCooldownSeconds": 0.08,
    "invader": {
      "projectileDistance": 180,
      "laneHalfWidth": 48,
      "releaseDistanceMultiplier": 1.15,
      "ignoreBunkerBlockedShots": true
    },
    "vertical": {
      "projectileDistance": 190,
      "craftDistance": 180,
      "projectileTrajectoryMargin": 16,
      "craftCollisionMargin": 20,
      "minimumClosingSpeed": 8,
      "releaseDistanceMultiplier": 1.15
    },
    "puzzle": {
      "timingSource": "effective-puzzle-timer"
    }
  },
  "pausePolicy": {
    "onDocumentHidden": "pause",
    "onWindowBlur": "pause",
    "resumeCountdownFrom": 3
  },
  "audioPolicy": {
    "qualifier": "visible-game-only",
    "gridBgm": "focused-only",
    "backgroundSfxGainDb": -18,
    "focusCrossfadeSeconds": 0.1
  },
  "storage": {
    "recordKey": "jigong.adhd-game.record.v1",
    "audioKey": "jigong.adhd-game.audio.v1"
  },
  "approval": {
    "status": "Draft",
    "note": "Multitasking Game 전용 모드 설정"
  }
}
