Add scene acceptance workflow

This commit is contained in:
2026-06-09 16:11:37 +08:00
parent 61249e2a29
commit f5cbb5731c
4 changed files with 90 additions and 7 deletions
+76
View File
@@ -0,0 +1,76 @@
# Scene Acceptance
本文档记录第一关场景骨架的验收流程。每次改动场景、摄像机、关卡数据、输入或渲染层后,至少执行构建检查;涉及跑图手感时再执行手动跑图检查。
## 验收范围
- 场景入口:`WhiteboxScene`
- 关卡数据:`CreateWhiteboxLevel()`
- 世界尺寸:`3200 x 720`
- 玩家出生点:`(160, 380)`
- 关卡边界:`0 -> 3200`
- 视口:`1280 x 720`
- Battle zones`zone_01_intro``zone_02_platform``zone_03_exit`
- 资源槽位:`game/assets/stage/stage_01/`
## 构建检查
### Windows
```powershell
& 'C:\Program Files\xmake\xmake.exe' f -c -p windows -a x64 -m release -y
& 'C:\Program Files\xmake\xmake.exe' -b Frostbite2DGame
```
短启动检查:
```powershell
$exe = Join-Path (Get-Location) 'build\windows\x64\release\Frostbite2DGame.exe'
$p = Start-Process -FilePath $exe -WorkingDirectory (Get-Location) -PassThru -WindowStyle Hidden
Start-Sleep -Seconds 3
if (!$p.HasExited) { Stop-Process -Id $p.Id -Force }
```
### Switch
```powershell
& 'C:\Program Files\xmake\xmake.exe' f -c -p switch -a aarch64 -m release --toolchain=cross --sdk='C:\devkitPro\devkitA64' --bin='C:\devkitPro\devkitA64\bin' --cross='aarch64-none-elf-' -y
& 'C:\Program Files\xmake\xmake.exe' -b Frostbite2DGameSwitch
```
产物:
```text
build\switch\aarch64\release\switch_game\NSUnknownGame.nro
```
## 手动跑图检查
操作映射见 `controls.md`
1. 启动 Windows 版 `Frostbite2DGame.exe`
2. 从出生点向右移动,确认摄像机横向跟随且不露出世界外黑边。
3. 依次进入 3 个 battle zone,确认 camera bounds 平滑切换,没有硬切瞬移。
4. 通过 debug 清场或离开区域解除锁定,确认摄像机恢复全关卡跟随。
5. 使用 debug 分项开关检查:
- 碰撞矩形和场景网格。
- 玩家包围盒。
- battle zone 触发框和 camera bounds。
- 敌人出生点。
6. 从起点移动到终点附近,确认所有平台、props、前景遮挡和背景层没有闪烁或黑屏。
## 当前验收结果
日期:2026-06-09
- Windows release 构建:通过。
- Windows 3 秒短启动:通过。
- Switch `Frostbite2DGameSwitch` 构建:通过。
- Switch RomFS:已包含 character、shader 和 `stage_01` 资源槽位。
- 手动跑图:未在本轮执行,等待后续素材/战斗区域进一步接入时复测。
## 后续补充
- 增加输入状态 debug 显示后,把输入检查纳入本流程。
- 增加 `EnemyActor` 后,把 battle zone 自动清场纳入本流程。
- 增加 hitbox/hurtbox 后,把战斗 debug 绘制纳入本流程。