---
name: level_data_pack.aiconfig
description: 路径消除玩法关卡数据包。一组符合 RawLevelJson 格式的关卡 JSON 文件，定义棋盘尺寸、路径折线坐标和关卡时限。
triggers: 需要生成或定义路径消除玩法的关卡数据集时触发。
---

# 关卡数据包（Level Data Pack）

## 说明

`RawLevelJson` 格式的关卡数据集，由 `arrow_path_data_format.aicomponent` 的 `parseLevelJson()` 解析后供游戏使用。

每个关卡定义：
- `row × col`：棋盘尺寸（如 8×10）
- `arrows`：路径折线坐标数组（Cocos 坐标系，y 轴向上，第一个点可含颜色字符串）
- `levelTime`：关卡时限（秒，0 = 无时限）

## Recipe

```json
{
  "kind": "level-data",
  "format": "RawLevelJson",
  "params": {
    "levelCount": 10,
    "gridSize": "8x10",
    "difficulty": "easy-to-hard"
  }
}
```

## Result

`levels.json`（`RawLevelJson[]` 数组）

## Binding

挂载到 `src/theme/<variant>/` 下，被 `ThemeVariantConfig.levels` 引用。

## Skill Definition

```yaml
tools:
  - write_file
  - generate_level_data
inputs:
  - schema: RawLevelJson from arrow_path_data_format.aicomponent
outputs:
  - levelData: RawLevelJson[] JSON file
```

## RawLevelJson 格式

```typescript
type RawLevelJson = {
  name: number | string;          // 关卡序号
  row: number;                    // 棋盘行数
  col: number;                    // 棋盘列数
  arrows: (number | string)[][][]; // 路径点 [[x, y], [x, y], ...]
  levelTime: number;              // 时限秒数（0=无时限）
};
```

**坐标注意**：Cocos 坐标系 y 轴向上（0 在底部），`parseLevelJson()` 会自动翻转为 Phaser 坐标。
