docs(迭代29 T7): 游离脚本台账 + golden 时效判定
台账:game/smoke/ 15 个不带 .tscn、不入任何闸的手动入口件逐个定性成表(用途 + 触发方式 + 结果由谁判),判据=头注自陈用途 + 有无外部引用(工具脚本/产品码/CLAUDE.md 在册入口)。 存疑一律按在役登记并标注(禁「没看见=死件」式清理):adventure_monte_carlo/verifier_batch/ reward_expectation 三项是 CLAUDE.md 在册入口,auto_player/battle_driver/level_autoplay 是被 preload 的库件,board_stat_probe/calibrate_boards 是工具脚本取数端,damage_probe/defense_scan/ skill_rhythm_probe/rhythm_batch/monte_carlo 是诊断与批量采集件,dump_battle/experiment_density 标注为一次性历史取数件。纪律写进表下:新增手动件必须同批登记,退役走 doc-conventions 第 10 节。 golden 时效判定:**先判再动**——跑渲染闸实测棋盘三图 changed 0.00%/0.00%/0.00%、菜单 0.15%, 均远低于 2% 阈值 ⇒ 判有效,基线留在位不重制(禁「重制一下就绿了」掩盖真实视觉回归)。 新建 game/tests/golden/README.md 记载判据纪律与本次判定记录,供后续换代面按同一把尺复核。
This commit is contained in:
1 parent
c5a433b1d3
commit
7daa92f61f
2 files changed
+47
No files matched your search
@@ -80,6 +80,33 @@ timeout 120s godot --headless --script tests/run_all.gd
|
||||
| UI | Manual walkthrough OR interaction test(场景探针为首选) | `tests/evidence/` |
|
||||
| Config/Data | Smoke check pass | `design/qa/` |
|
||||
|
||||
## game/smoke/ 游离脚本台账(迭代 29 T7 逐个定性)
|
||||
|
||||
`game/smoke/` 有 29 个 `.gd`,其中 14 个在闸(探针有 `.tscn` 宿主、被 `probe_gate.sh`/`run_smoke.py` 调用),
|
||||
其余 15 个**不带 `.tscn`、不入任何闸**——它们是手动入口的测量/诊断件。逐个定性如下,
|
||||
判据 = 头注自陈用途 + 有无外部引用(工具脚本/产品码/文档)。**存疑一律按在役登记并标注**(不退役)。
|
||||
|
||||
| 脚本 | 定性 | 用途与触发方式 | 结果由谁判 |
|
||||
|---|---|---|---|
|
||||
| `adventure_monte_carlo.gd` | **在役**(`CLAUDE.md` 在册入口) | 全冒险期望 MC;`tools/parity_anchor.py` 的对拍载体 | 工具脚本逐位比对 |
|
||||
| `verifier_batch.gd` | **在役**(`CLAUDE.md` 在册入口) | `tools/balance_verifier.py` 的采集端(数值验证) | 报告落 `design/qa/` |
|
||||
| `reward_expectation.gd` | **在役**(`CLAUDE.md` 在册入口) | 奖励期望测量(非封锁格分布/资源类型频次) | 人工读 stdout |
|
||||
| `monte_carlo.gd` | 在役 | 战斗期望 MC(胜轮数/承伤/清图/开格分布) | 人工读 stdout |
|
||||
| `auto_player.gd` | 在役(库件) | 自动玩家策略单一实现——被 `battle_driver` preload | 宿主脚本 |
|
||||
| `battle_driver.gd` | 在役(库件) | 战斗驱动;被 `damage_probe` preload | 宿主脚本 |
|
||||
| `level_autoplay.gd` | 在役(库件) | 被 `presentation/tune_sim_controller.gd` load | 宿主脚本 |
|
||||
| `board_stat_probe.gd` | 在役 | `tools/clear_dominance_audit.py` 的取数端 | 工具脚本 |
|
||||
| `calibrate_boards.gd` | 在役 | 生成器真值分母;`sim-data/analyze.py` 引用 | 工具脚本 |
|
||||
| `damage_probe.gd` | 在役(诊断件) | 零承伤根因分割探针(头注自陈:非验收件·不入闸) | 人工读 stdout |
|
||||
| `defense_scan.gd` | 在役(诊断件) | AC 叠层减伤读数分割(高 AC 轮 vs 基线轮) | 人工读 stdout |
|
||||
| `skill_rhythm_probe.gd` | 在役(分析工具) | 技能池节奏定位(表侧池快照 + 摇号份额) | 人工读 stdout |
|
||||
| `rhythm_batch.gd` | 在役(批量采集) | 技能池节奏批量读数(06 在册项的机器半边) | 人工/工具 |
|
||||
| `dump_battle.gd` | **在役·一次性** | 打印一场完整战斗的步骤流与棋盘摘要(肉眼验收归因质量) | 人工(用完即止) |
|
||||
| `experiment_density.gd` | **在役·一次性** | 不同 mine_density 下的推理率/残余挖掘量取数(历史调参用) | 人工(用完即止) |
|
||||
|
||||
> **纪律**:本表是这些件的唯一在册处。新增手动测量脚本必须同批登记(用途 + 触发方式 + 结果由谁判);
|
||||
> 退役走 `design/dev/doc-conventions.md` 第 10 节退役规则,禁止「没看见=死件」式清理。
|
||||
|
||||
## Static Scan(提交前本地跑)
|
||||
|
||||
`tests/static_scan.sh` 实现静态扫描域 S1–S8 的可执行子集;规则全集与动机见
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
# 视觉 golden 基线(渲染闸的比对基准)
|
||||
|
||||
四张基线:棋盘三图(`board_L1_dungeon` / `board_L2_underdark` / `board_L3_deep_underdark`,
|
||||
裁剪区 900×760)+ 启动态菜单(`menu_boot`,全屏)。比对判据与工具见 `tools/golden_compare.py`
|
||||
(逐像素灰度差 >16 的像素占比 ≤2%)。
|
||||
|
||||
## 时效判定纪律(迭代 29 T7 立)
|
||||
|
||||
基线冻结于 2026-09-30(v3.5 视觉落码后)。**判定先于动作**:每代换代面(视觉/素材/布局改动)
|
||||
跑批时先跑一次渲染闸看差异落不落在裁剪区与容差内——
|
||||
|
||||
- **判有效**(changed 远低于 2% 阈值):基线**留在位并在此加注一次判定记录**,不得顺手重制;
|
||||
- **判失效**(changed 超阈值或换代面落在裁剪区外):按迭代 26 T6 先例**显式重制 + 呈报 + 复闸**,
|
||||
禁止先动后判、禁止用「重制一下就绿了」掩盖真实视觉回归。
|
||||
|
||||
## 判定记录
|
||||
|
||||
- 2026-10-16(迭代 29 T7):**判有效**。三代换代面(棋盘三图 + 启动态菜单)实测
|
||||
changed = 0.00% / 0.00% / 0.00% / 0.15%,均远低于 2% 阈值 ⇒ 基线留在位,不重制。
|
||||
(本批零视觉改动,判定属常规复核。)
|
||||
Reference in new issue
Block a user