[
    {
        "id": "1-1",
        "chapter": 1,
        "displayName": "初始森林",
        "sceneTheme": "forest",
        "scrollDirection": "horizontal",
        "timeLimitSec": 75,
        "objective": { "kind": "kill_count", "enemy": "yao_fang", "count": 3 },
        "levelLengthPx": 3840,
        "bgm": "bgm_forest",
        "enemySpawns": [
            { "type": "yao_fang", "atPx": 900 },
            { "type": "qing_ren", "atPx": 1400, "count": 2 },
            { "type": "yao_fang", "atPx": 2100 },
            { "type": "chi_ren", "atPx": 2600, "count": 2 },
            { "type": "yao_fang", "atPx": 3200 }
        ],
        "reinforcements": [
            { "type": "qing_ren", "intervalSec": 8, "count": 1, "maxTotal": 4, "edge": "right", "delaySec": 10 },
            { "type": "chi_ren", "intervalSec": 12, "count": 1, "maxTotal": 2, "edge": "both", "delaySec": 20 }
        ]
    },
    {
        "id": "1-2",
        "chapter": 1,
        "displayName": "森林深处",
        "sceneTheme": "forest",
        "scrollDirection": "horizontal",
        "timeLimitSec": 85,
        "objective": { "kind": "kill_count", "enemy": "yao_fang", "count": 1 },
        "levelLengthPx": 4200,
        "bgm": "bgm_forest",
        "enemySpawns": [
            { "type": "qing_ren", "atPx": 800, "count": 2 },
            { "type": "chi_ren", "atPx": 1600, "count": 3 },
            { "type": "qing_ren", "atPx": 2400, "count": 2 },
            { "type": "yao_fang", "atPx": 3600 }
        ],
        "reinforcements": [
            { "type": "qing_ren", "intervalSec": 7, "count": 2, "maxTotal": 6, "edge": "both", "delaySec": 8 },
            { "type": "chi_ren", "intervalSec": 10, "count": 1, "maxTotal": 3, "edge": "right", "delaySec": 15 }
        ]
    },
    {
        "id": "1-3",
        "chapter": 1,
        "displayName": "洞穴水路",
        "sceneTheme": "cave",
        "scrollDirection": "horizontal_bi",
        "timeLimitSec": 100,
        "objective": { "kind": "kill_count", "enemy": "qing_ren", "count": 10 },
        "levelLengthPx": 4800,
        "bgm": "bgm_forest",
        "enemySpawns": [
            { "type": "qing_ren", "atPx": 600, "count": 2 },
            { "type": "qing_ren", "atPx": 1400, "count": 3 },
            { "type": "chi_ren", "atPx": 2200, "count": 1 },
            { "type": "qing_ren", "atPx": 3000, "count": 3 },
            { "type": "qing_ren", "atPx": 4000, "count": 2 }
        ],
        "reinforcements": [
            { "type": "qing_ren", "intervalSec": 6, "count": 2, "maxTotal": 8, "edge": "both", "delaySec": 5 },
            { "type": "chi_ren", "intervalSec": 10, "count": 1, "maxTotal": 3, "edge": "right", "delaySec": 20 }
        ]
    },
    {
        "id": "1-4",
        "chapter": 1,
        "displayName": "城壁",
        "sceneTheme": "castle_wall",
        "scrollDirection": "vertical",
        "timeLimitSec": 95,
        "objective": { "kind": "reach_top" },
        "levelLengthPx": 3240,
        "bgm": "bgm_castle",
        "enemySpawns": [
            { "type": "hei_ren", "atPx": 800 },
            { "type": "qing_ren", "atPx": 1400, "count": 2 },
            { "type": "hei_ren", "atPx": 2000 },
            { "type": "chi_ren", "atPx": 2600, "count": 2 }
        ],
        "reinforcements": [
            { "type": "hei_ren", "intervalSec": 15, "count": 1, "maxTotal": 2, "edge": "both", "delaySec": 25 },
            { "type": "qing_ren", "intervalSec": 8, "count": 1, "maxTotal": 4, "edge": "both", "delaySec": 10 }
        ]
    },
    {
        "id": "1-5",
        "chapter": 1,
        "displayName": "魔城天守阁",
        "sceneTheme": "demon_castle",
        "scrollDirection": "horizontal",
        "timeLimitSec": 120,
        "objective": { "kind": "defeat_boss", "bossId": "shuang_huan_fang" },
        "levelLengthPx": 1920,
        "bgm": "bgm_boss",
        "enemySpawns": [],
        "reinforcements": [
            { "type": "qing_ren", "intervalSec": 10, "count": 1, "maxTotal": 3, "edge": "both", "delaySec": 15 }
        ]
    }
]
