# Design · Echo Trace

## 为什么这套 input/action/loop

- **input：连续位置追随**——降低操作门槛，让玩家专注规划而非按键节奏
- **action：录制 + 多 ghost 对抗**——核心创新点，把"过去的自己"变成新挑战源
- **loop：录制→回放→录制 累计**——513 系列前 61 个原型全是「单阶段实时」，本作首次「双阶段录制循环」（与 01-slope-rig 的「编辑+模拟」是不同的两阶段范式）

## 数值设计

- 录制 5s + 回放 5s = 单关 10s（紧凑）
- 水晶 3 颗约束玩家必须**有目的地**移动（避免乱跑）
- 关卡 10 进入「通关」，达成感强烈
- 每关 ghost +1，第 10 关 = 9 ghost，碰撞密度合理

## 视觉/性能

- 单 Canvas，每帧约 50-300 ghost path 顶点重绘
- 性能预算 60fps @ 桌面 / 30-45fps @ 中低端移动
- 调色：青色（玩家） + 粉色（ghost）+ 黄水晶 + 深蓝背景

## 数据结构

```js
ghosts: Array<{
  path: [{x,y,t}, ...],  // 录制采样 ~300 点
  i: number,             // play 时的当前回放指针
  color: hsl string
}>
```

## 已知边界

- ghost 数 >12 时画面会非常拥挤，但 10 关止步设计上规避
- 回放定位用线性扫描（O(n) 但 n 小够用），不优化 binary search
- 触屏端拖动时 pointermove 频率取决于设备
