清理: design/存量超期批——删86件(dev四组11+qa证据39=只留最新规首跑+research 34)+引用改写17处/15文件+doc-conventions §11新增证据只留最新(v13)+美术审计报告留置呈报(工作日志 413)
This commit is contained in:
1 parent
74fe99733f
commit
8e02dcf05b
102 files changed
+184
-40450
No files matched your search
@@ -1,61 +0,0 @@
|
||||
# 出口报告:迭代 15 卡② 奇物词族对齐与渠道分离批(2026-10-05)
|
||||
|
||||
> 任务书 = `design/research/任务书-奇物词族对齐与渠道分离批-2026-10-05.md`(T0 差异回写+T6b 裁决回写在册)。
|
||||
> 设计事实源 = `design/gdd/systems/冒险循环/奇物.md` v2.7。worktree = `g-plan2-curio-wordfamily`,分支 `curio-wordfamily-20261005`,基线 = master 413c936(冒烟 772/0)。
|
||||
|
||||
## 一、提交链(worktree)
|
||||
|
||||
| # | 提交 | 内容 |
|
||||
|---|---|---|
|
||||
| 1 | d4cde73 | T1:feature_*→curio_*(CURIO_KINDS/curio_quota/curio_value/curio_candidate_count + adventure.tres 键名 + entities.yaml 换代续写) |
|
||||
| 2 | 8e2694d | T2:运行层 bonus_*→curio_* 全族 + curio_interact_controller.gd/curio_pick_overlay.gd 两文件改名 + 裁点甲案 + reward_overlay 红转绿适配 |
|
||||
| 3 | 6812ebb | T3+T4:relic_*→feat_*(三文件改名+全 token+config_db 注册键两端)+ 渠道白名单过滤(通关渠道只出专长/节点零专长)+ devour 货架保底退役 |
|
||||
| 4 | 95b66f0 | T5+T6a:门票入表(四字段 provisional+三计数+双注入+拿到即开三入口+断点扩列+shop.tres 门票行+A5/A6 断言)+ T6a 商店补 heal 行 + registry 刷新边界写死 |
|
||||
| 5 | 5 | ccd95c8 | T6b+T7+缺陷修:refresh 入池(B 案)+ charge 登记 + autoplay 门票分支(MC timeout 形态批内实测修复) |
|
||||
|
||||
## 二、批末读数(T8 回填)
|
||||
|
||||
| 闸 | 基线(413c936) | 批末 | 判定 |
|
||||
|---|---|---|---|
|
||||
| 冒烟 smoke_all | 772/0 | **782/0**(+10=双渠道白名单 2+门票 A5/A6 行为断言 7+门票兑付受理 1) | |
|
||||
| run_all | 15/16(reward_overlay 红=M7 基线红) | **16/16 全绿** | **红转绿(T2 适配,run_all 历史首次全绿)** |
|
||||
| 行为探针四件+ui_struct | 全绿 | **五探针全绿**(ui_probe/ui_click/ui_input/ui_tune/ui_struct exit 全 0) | |
|
||||
| doc 三闸+熵增闸 | 零新增基线 | lint 8文件2不通过=基线同款/term 218命中3疑似=基线同款/link 死链 7→修后 4(3 处系本批改名断链已修:奇物.md:16/:302 relics.tres→feats.tres+node-reward.md:4 bonus_pick_overlay→curio_pick_overlay;余 4=worktree 假象×2+既有 ux 债×2)/熵增闸 struct 违例×1=主区同款既有(archify design/diagrams 越界,归该批) | **零新增** ||
|
||||
| MC n200 双策略(82000 窗,route=min 零加成) | 无同窗基线(判式批锚=76000 系旧结构;主区 413c936 同窗 n20 对照跑) | normal 0.5%(1/200 通关)/perfect 77.5%(155/200);修 autoplay 门票分支后 n20 与主区基线逐位一致(normal 0 空终局/perfect 16 完 4 败);**读数只测不判**(渠道分离+门票改变奇物流,带判读归 M-4;锚换代=82000 系新锚 n200 日志留盘 user://logs/playtest_82000_*.jsonl) | |
|
||||
|
||||
## 三、验收断言(A1-A12 逐条)
|
||||
|
||||
- **A1 词族归零**:A1 模式残留 **40 处全保名单**——_bonus_ 37 处(_bonus_row/_bonus_row_l/_bonus_summary_text/_bonus_value=结算加成行呈现面;_bonus_treasure_carry/_bonus_treasure_item/_bonus_treasure_pool=③批秘宝语义)+ node_relic_seen 局部变量 3 处(冒烟断言变量,指称 relic 令牌语义)。引号数据契约键全形态保留:bonus_deck×3/bonus_taken×3/bonus_pending×3/bonus_result×2/bonus_aux_carry×2/"bonus"×15(断点属性区键)/relics×6/relic×25(kind 值+身份前缀+摘要键)(保名单:_bonus_row/_bonus_value/_bonus_summary_text 等加成区呈现+bonus_summary+存档键六形态+kind 值 "relic"/身份前缀 "relic:"/relics_seed 进程内参数——穷举见 §五)
|
||||
- **A2 禁词未用**:reward_pick/reward_node/reward_preview 既有三处零新增(T2 全程未触)
|
||||
- **A3 兑付频率**:专长兑付点=通关三选一(_pending_next_level 置位链=关底 Boss 击败同一时刻);关内普通战斗节点零奇物(node_type=battle 无三选一调用,结构保证+冒烟既有断言面)
|
||||
- **A4 渠道分离**:_draw_curio_candidates(channel) 白名单过滤——通关渠道 60 次重抽全 relic/节点渠道 60 次零 relic(冒烟断言在案);货架白名单=shop_pool_rows 词表(feat_ticket 门票行+heal 回复行+四池种)
|
||||
- **A5 拿到即开**:门票兑付=候选替换专长面+零摘牌+无残留持有集(冒烟 4 断言在案)
|
||||
- **A6 保底计数**:pity=5→第 6 展示必出/触发清零/限购满冻结/概率面存在(冒烟 4 断言在案)
|
||||
- **A7 值零变更**:T1 改名键值逐位相等(diff 实测)+ heal 5→3/refresh 0→2 系 T6b 用户裁 B 案结构面(非本断言范围)
|
||||
- **A8 存档往返**:断点往返测试 PASS(全批三次验证:T1/T2/T4 后各一);存档键按 T2 裁点甲案+relics 第 6 键澄清(§四-3)
|
||||
- **A9 池配额锚**:TIER_QUOTAS 70/25/3=98 零改动(B 案挤占——heal 5→3/refresh 0→2,总量不变,validate 绿)
|
||||
- **A10 节点类型零扩类**:封闭枚举五种未动
|
||||
- **A11 玩家可见面无分类名**:门票卡面写「奇物门票/奇物三选一」(规避「专长」分类名);本批只做断言检查不改法(C1 归呈现批)
|
||||
- **A12 档二通路**:charge=3 件(<4)——**显式登记不硬补**(白名单 4;registry charge_defect 落文,转内容批)
|
||||
|
||||
## 四、裁点与自裁记录
|
||||
|
||||
1. **T2 存档键裁点(白名单 3)**:**甲案**——五存档键(bonus_deck/bonus_taken/bonus_pending/bonus_result/bonus_aux_carry)引号字面量禁改,代码侧变量全换 curio_。依据:与③批先例一致;全仓对拍六形态逐键全等。
|
||||
2. **bonus_aux_carry 语义澄清(T0 回写)**:该键系**秘宝件跨关携带**(③批已对齐 treasure 词族),非奇物概念——剔除出本批改名面;_bonus_treasure_carry 变量随③批保留。
|
||||
3. **"relics" 第 6 存档键(任务书漏登记)**:adventure_runner 断点快照/摘要 additive 键 "relics"(迭代 12 T1 扩列)——任务书 §2.5 只列 5 键漏此键;按甲案精神禁改+registry/任务书回写。kind 值 "relic"/身份前缀 "relic:"/relics_seed 参数同理保留(数据契约键,A1 扫描口径=relic_ 下划线形态)。
|
||||
4. **T6b refresh 入池配额(用户门呈报,用户裁 B 案)**:refresh rare=2 从 heal rare 5 挤占(heal 5→3),总量 98 锚不变;契约 10 按裁更新;**池架构语义=总池-渠道子集(多级缓存形)**确立落 registry pool_architecture。
|
||||
5. **devour 货架保底退役(T4 连带)**:迭代 12 T6「货架零特性挤卡换吞噬流件」简化口径与渠道白名单直接冲突(devour=规则改写型=专长系不得进商店货架)——随渠道定位退役,留痕注释。
|
||||
6. **reward_overlay_test 红转绿(T2 连带)**:成因考证=M7 bcard 换装(PanelContainer)致 `c is Button` 恒 0(主区 3c4291d 起红在案);断言改数 _choice_box 子节点数(语义不变)——run_all 16 套历史首次全绿。
|
||||
|
||||
## 五、例外清单(A1 扫描口径残存量,批末)
|
||||
|
||||
【A1_EXCEPT】
|
||||
|
||||
## 六、遗留与移交
|
||||
|
||||
1. 07 清单登记(T8 已落 §⑰):①专长兑付时点目检(关底 Boss 击败那一刻=通关三选一,**不是战斗结算后**)+门票拿到即开目检+商店门票/回复行目检;②refresh 件入池后 heal 出现率感知归 T7 类节奏重测(跑批待批)
|
||||
2. C1 玩家可见面违规改法+档位呈现三路 → 呈现批(06 独立条目)
|
||||
3. C2 第四关+档二复裁+charge 补件 → 第四关内容批
|
||||
4. C3 门票四参数终值(现 provisional 20%/2/1/5)→ 曲线调参批
|
||||
5. C4 存档键正式迁移 → 存档批(本批甲案未迁移,兼容读旧键零破坏)
|
||||
6. MC 运行含既有 script error 噪音(ticket_id/minesweeper_rules 链)——待基线对拍归属,读数采集不受影响
|
||||
@@ -1,88 +0,0 @@
|
||||
# 出口报告:迭代 15 卡③ 秘宝代码词族对齐批(2026-10-05)
|
||||
|
||||
> 任务书 = `design/research/任务书-秘宝代码词族对齐批-2026-10-05.md` v1.2(§1.2 基线已回填)。
|
||||
> 设计事实源 = `design/gdd/systems/排雷循环/秘宝.md` v0.9。worktree = `g-plan2-m4iter15-mibao`,分支 `m4iter15-mibao-20261005`。
|
||||
|
||||
## 一、提交链(worktree 八笔)
|
||||
|
||||
| # | 提交 | 内容 |
|
||||
|---|---|---|
|
||||
| 1 | b4b8bb3 | T1 组A+D:玩家可见文案 5 处 + 注释层「魔法道具」→「秘宝」全清(敌方语汇/道具工坊分色保全) |
|
||||
| 2 | dfd5fdd | T2 组C:architecture.md 两处既有断链清偿 |
|
||||
| 3 | 5294b12 | T3 组F:`"aux_item"` 域串 16 处 → `"treasure_item"` + `TREASURE_ITEM_TYPE` 常量族 + `reward_dangling_treasure` 诊断码 |
|
||||
| 4 | 2532c8f | T4 组B-1:四文件改名(treasure_items.gd / treasure_item_table.gd / treasure_items.tres / treasure_interact_controller.gd)+ 类名 + .uid 稳定 + .tres ext_resource 同步 + --import 重刷 |
|
||||
| 5 | 7e5b6d9 | T5 组B-2:ConfigDB 注册键/持有变量/五访问器 + 调用方 + 单测桩表 + loaded 取键 |
|
||||
| 6 | f8c6db4 | T6 组E-1:三测试文件改名 + run_all 登记 + test_kit 注释同步 |
|
||||
| 7 | cd73e62 | T7 组E-2:内部标识符全族换词(60+ token)+ 存档键零触碰专项核 + 任务书 §1.2 基线回填 |
|
||||
| 8 | 8c27213 | T8:tests 文档两处清零 + 奇物.md 换名断链补修 + 批末闸认证 |
|
||||
|
||||
主区合并提交与全量复跑读数见台账(active.md 快照行)。
|
||||
|
||||
## 二、批末读数(批末树态 8c27213 实跑)
|
||||
|
||||
| 闸 | 基线(3c4291d 实跑) | 批末 | 判定 |
|
||||
|---|---|---|---|
|
||||
| 冒烟 smoke_all | 755 项 / 0 失败 | **755 项 / 0 失败** | ✅ 零漂移 |
|
||||
| run_all 15 套件 | 14/15(唯一红 reward_overlay_test = **②批遗留基线红**,主区 3c4291d 同样红,非本批引入) | **14/15,唯一红同款** | ✅ 对照零新增 |
|
||||
| 行为探针 ui_probe / ui_click / ui_input / ui_tune | 全绿 | **全绿**(click done=true 问题=0 / input 十六断言 / tune 全链) | ✅ |
|
||||
| doc 三闸(lint/term/link) | lint 8 文件 2 不通过(既有)/ term 218 命中 3 疑似 / link 死链 0(主区带脏件口径) | 同基线 | ✅ 零新增 |
|
||||
| 熵增闸 repo_structure_audit | PASS | PASS | ✅ |
|
||||
| MC 逐位对拍 | —— | **未跑(goal 令:纯改名零数值面禁跑 MC,静态零漂移证明代之,见 §四-12)** | ✅ 按令豁免 |
|
||||
|
||||
**渲染像素类闸本批屏蔽**(golden_compare / shot_probe / fx_probe / ui_layout_probe / board_shot)——组 A 文案变更使像素断言合法失效,按 goal 令弃断;**补跑挂账 07 清单**(迭代 14 全落籍后表现批周期闸一次性补跑)。
|
||||
|
||||
## 三、批末验收断言(12 条)
|
||||
|
||||
1. **词族换尽**:`aux_`/`AuxItem*`/`AUX_ITEM*` 批末全仓 game/ 残留 43 处,**逐处归例外**(§五清单),零在族欠改。
|
||||
2. **玩家可见清零**:`grep 魔法道具 game/` = 1 处(`game/README.md:538`,§4.4 禁改项·历史 changelog 留痕,非玩家可见面)——代码与 UI 面零命中。tests/README.md 与 critical-paths.md 两处已随批清零。
|
||||
3. **重闸全绿**:冒烟 755/0(§二);run_all 零新增;四探针全绿;doc 三闸+熵增闸零新增。
|
||||
4. **存档兼容零破坏(R1)**:本批 diff 全部 37 文件、六存档键(`bonus_aux_carry`/`aux_items`/`aux_detail`/`aux_cleared`/`aux_cleared_last`/`attunement_charges`)引号字面量 HEAD↔批末**逐键普查零差异**;点号访问形式全仓代码行**零存在**(仅注释提及);`_node_bonus_pending` 持久化嵌套键全部引号形态未动。
|
||||
5. **数值零漂移(R2)**:静态证明——批 diff `game/data/tables/` 数值行零改动(断言空);`magnitude`/`weight`/`power`/`charge_n` 零触碰;reward.tres 零改动。
|
||||
6. **schema 契约面零变更(R3)**:`CELL_TYPES.size()==10` 保持(改字面量不改项数);`smoke_all.gd:3932` 断言同步为 `has("treasure_item")` 后全绿;校验行为不变,错误消息文案可变(`reward_dangling_treasure` 诊断码随族改,测试双端同步)。
|
||||
7. **零字段更名(R4)**:`item_id`/`effect_kinds`/`form`/`slot_cost` 原样;treasure_items.tres 仅改 `script_class` 与 `ext_resource` 路径。
|
||||
8. **零 await(R5)**:批 diff core/ 新增 await 行数 = 0。
|
||||
9. **冒烟夹具零触碰**:smoke_all.gd 断点夹具区(:4473/:4495 `"aux_items"`/`"aux_scout"`)diff 零改动。
|
||||
10. **敌方语汇保全**:`魔法矢`/`魔法反噬`/`魔法族`/`魔法护甲` 12 处未动;`道具工坊` 8 处未动;`arch_names["magic"]` 未动。
|
||||
11. **.uid/.tscn 纪律**:四个改名 .gd 的 .uid 随文件改名且内容零变(git R100);全仓 .tscn 对改名目标零引用(改前已核);--import 批内重刷两次(T0 基线 + T4 改名后),类名解析实证=冒烟加载 TreasureItemTable 零报错。
|
||||
12. **registry 条目键不动**:`design/registry/entities.yaml` 零改动(条目键 `aux_items` 数据契约键沿用)。
|
||||
|
||||
## 四、缺陷与自修记录(全 L1 级,均当轮闭环)
|
||||
|
||||
1. **T3**:任务书 §4.3 的 16 处清单漏计 `AUX_ITEM_TYPE` 常量消费方 4 处(cross_validator×2 / reward_economy / smoke:2578)——冒烟 SCRIPT ERROR 抓到,自查补齐,一次重试绿。
|
||||
2. **T4→T5**:`treasure_items.gd:117` 桩回退行 `_db.aux_items.` 漏随族改 → run_all `treasure_items_test` 红 → 补修转绿。
|
||||
3. **T8**:`grep 魔法道具 game/` 在 .gd/.tres 口径外余 3 处文档件——tests/ 两处随批清零;README.md 一处按 §4.4 保留(见 §五-4)。
|
||||
|
||||
## 五、例外清单(批末仍在族字面量穷举,共 43+2 处)
|
||||
|
||||
| 类 | 量 | 明细 |
|
||||
|---|---|---|
|
||||
| 存档键引号字面量 | 43 | `aux_detail`×30 · `aux_items`×11(断点快照键+冒烟夹具键)· `aux_cleared`×10·`aux_cleared_last`×1(含信号文档注释提及)· `bonus_aux_carry`×3 · `attunement_charges`×2 |
|
||||
| 冒烟夹具数据值 | 2 | smoke_all.gd `:4473/:4496` `"aux_scout"`(断点快照夹具 item_id,整块零触碰) |
|
||||
| game/README.md §4.4 禁改项 | 1 | `:538` 历史 changelog 行文(§1.2 判定 2 唯一余量,非玩家可见) |
|
||||
| registry 条目键 | 库外 | `design/registry/entities.yaml` `aux_items` 条目键沿用(数据契约) |
|
||||
| 裸词 `aux`/`attunement_*` | 库外 | 裸 `aux` 局部变量与注释词(无 `aux_` 族 token 形态,出口 grep 族外);`attunement_*` 系同调位 DND 机制名(秘宝.md v0.9 明令保留) |
|
||||
|
||||
## 六、代拍板追认单(白名单内 5 项,请追认)
|
||||
|
||||
1. **词根选型 `treasure_*` 全族**:`treasure_item`(域串)/`treasure_items`(表+注册键+变量)/`TreasureItemTable`/`TreasureItems`/`treasure_items.tres`/`treasure_item_table.gd`/`treasure_items.gd`/`treasure_interact_controller.gd`。依据:任务书组 B 预设建议词根 + 全仓 `treasure` 零冲突(局内奇物 `curio_*`/`feat_*` 无碰撞)。
|
||||
2. **诊断码 `reward_dangling_aux` → `reward_dangling_treasure`**(config_db_cross_validator + 测试双端)。依据:§4.0 判据(指向秘宝概念)、R3 文案可变行为不变。
|
||||
3. **`aux_unlocked` params 键族改 `treasure_unlocked`**(main/adventure_runner/smoke/breakpoint_resume_test 四端同步)。依据:已核实该键=main.gd 现场构造的进程内 params 键,**不入任何存档**(§4.1 判据只锁跨局持久化键)。
|
||||
4. **呈现与结算 token 全族**:`aux_inventory→treasure_inventory`、`aux_mark→treasure_mark`、`_aux_reveal/_aux_preview→_treasure_*`、`aux_slot_clicked→treasure_slot_clicked`、`set_aux_inventory/set_aux_overlays→set_treasure_*`、`use_aux→use_treasure`、`aux_replace_presented→treasure_replace_presented`、`aux_replace`(autoplay 事件日志键)→`treasure_replace`、`_aux→_treasure_ui`、`AuxInteractController→TreasureInteractController` 等。依据:§4.0 判据+白名单词形自由。
|
||||
5. **三处注释/错误文案换词**:meta_table.gd:88 校验错误消息(「出域秘宝六件词表」)、treasure_items.gd/treasure_item_table.gd 头注 registry 键提及换「秘宝条目(键 aux_items 沿用)」、treasure_interact_controller:11 注释类名引用同步。依据:R3 文案可变。
|
||||
|
||||
**非代拍、按硬边界执行**:`game/README.md:538` 未改(§4.4 明令 + 换名先例「历史留痕原样保留」)——若你要它也清零,一句话即补。
|
||||
|
||||
## 七、挂账与移交
|
||||
|
||||
1. **渲染像素类闸补跑**(已挂 07⑮):迭代 14 全落籍后表现批周期闸一次性补跑五件。
|
||||
2. **实机目检**(已挂 07⑮):「秘宝」字样全 UI 面——C 区槽位标题+悬停 tooltip+战斗总结叙述行+上关清空 toast。
|
||||
3. **reward_overlay_test 基线红**:②批遗留(选择态三卡 btns=0),本批未触碰其域,**归属 ②批收口方处置**;读数已录本报告 §二。
|
||||
4. **存档键正式迁移**(②批待裁点):本批未动任何键名,②批若启动迁移与本批无冲突(键字面量=本批保护面)。
|
||||
|
||||
## 八、并行协调与合并实录
|
||||
|
||||
1. **合并前停机点(goal 令履行)**:batch 末查得 master 已推进 85dc9af(迭代14①收窄批落籍)且新在飞 worktree m4iter14-skillpool(④技能池批)——四文件重叠(battle_orchestrator/adventure_runner/level_runner/main.gd),按 goal 令停机提问三选一;**用户裁「我先合,对方 rebase」**。
|
||||
2. **第一轮 master 并入**(85dc9af):07 清单⑬双登冲突(收窄批⑬保留,本批目检项改⑭);smoke_all.gd/roadmap auto-merge;合并后全查零旧词带入。
|
||||
3. **局面变化**:技能池批未等本批,先自落籍 master(d3fa887,冒烟 772/0);用户令继续并提示防冲突。
|
||||
4. **第二轮 master 并入**(d3fa887):07 清单⑭双登冲突(技能池⑭保留,本批目检项改⑮);四重叠文件 auto-merge **零旧词带入**(全查仅存档键合法例外——技能池批新增行不在 aux 词族区);认证电池复跑(--import+冒烟+run_all+四探针)。
|
||||
5. **经验注记**:并行双批各自在旧词族/新词族上开发时,auto-merge 静默带入旧词的风险真实存在;本批合并后全仓 token 级 grep 复查是必要闸,不能只看 git 冲突标记。
|
||||
@@ -1,125 +0,0 @@
|
||||
# 出口报告:UI 设计对齐批(迭代 16)
|
||||
|
||||
> 任务书=[任务书-UI设计对齐批-2026-10-05.md](../research/任务书-UI设计对齐批-2026-10-05.md)(v1.0 定稿,P1-P11 裁决已齐)。
|
||||
> 本报告随卡渐进成文;T0 基线节随 T0 提交,其余节随各卡追加。
|
||||
|
||||
## T0 · 基线回填(2026-10-06 实测)
|
||||
|
||||
### 环境与提交基线
|
||||
|
||||
- worktree=`D:/code/g-plan2-iter16ui`,分支 `iter16-ui-20261005`,起点=**a39d044**(master 3c6f2c9 + 第〇步纯文档批:迭代 16 改号=UI 设计对齐批、原四卡顺延迭代 17、UI 任务书 P1-P11 裁决落文,含五处陈旧待裁标记擦除)。
|
||||
- worktree 缺 gitignored 素材(`game/assets/art/` 不入 git)——已从主区整目录拷贝(磁盘本地、不入库、素材字节零改动);`artwork/` 不拷(Q9 丙禁回读 demo 文件)。
|
||||
- 冷刷导入一次(fresh worktree 一次性成本,uid_cache 建立)。
|
||||
|
||||
### 基线闸读数(全部实测,替代任务书起草读数)
|
||||
|
||||
| 闸 | 读数 | 对照 |
|
||||
|---|---|---|
|
||||
| 冒烟 smoke_all | **782/0**(与 3c6f2c9 落籍读数一致) | §1.2 起草值 772/0 已过时 |
|
||||
| run_all | **16 套全绿** | 起草值 14/15(reward_overlay 红)已过时——该红已随 15② 修复 |
|
||||
| probe_gate --click | 全绿:ui_input 16 断言 PASS / ui_struct 全屏零红 / click done=true 问题=0 / 残留 Godot=0 | — |
|
||||
| ui_layout_probe | exit=0(布局树 dump 工具,无断言失败形态) | — |
|
||||
| gdd_lint | **既有 2 文件不通过**:06-待办清单(表格占比 1%)· 07-体验验证清单(表格占比 7%) | 基线,本批守零新增(不得出现第 3 个) |
|
||||
| doc_link_audit | **既有死链 2 处**:奇物.md:130 → ../ux/battle.md、../ux/node-reward.md(master 既有在册);worktree 环境假红 2 处=06:121 `.zcode/plans` + 06:309 `archive/`(gitignored 目录 worktree 不存在,主区实存) | 基线 2 处,守零新增 |
|
||||
| doc_term_audit | 退役词命中 218 处 / 疑似现行 3 处(与主区逐字一致) | 基线,守零新增 |
|
||||
| 熵增闸 | design/diagrams 越界 ×1(双树一致,**既有在册归 archify 批**) | 基线,守零新增 |
|
||||
|
||||
### demo md5 重核(Q9 丙留痕)
|
||||
|
||||
`78ebbee0d9d4c1b5c902e6b8878c8800`(2026-10-06 主区实测)= 任务书 §2.2 抄录基线,**零漂移**;此后不再回读 demo 文件,取值一律以任务书 §2.2 抄录表为准。
|
||||
|
||||
### §2 事实表 15 项复核(全 15 项成立;漂移注记 5 条)
|
||||
|
||||
| # | 结论 |
|
||||
|---|---|
|
||||
| F1-F5 | 全成立(行号逐一吻合:BG_ROOT:65/WARM_SOFT:48/PANEL_DATA:24/panel 8.0:286/button 8.0:327-331/frame 12.0:299/panel_skinned 8 消费+1 工厂) |
|
||||
| F6 | 成立;**clampi 实际在 board_view.gd:254**(任务书 :251,+3 行漂移)——P2 丁案「零改动」不受影响 |
|
||||
| F7 | 成立(terrain 三枚实测 32×32) |
|
||||
| F8 | 成立且**读数增长**:UiKit.label 裸字号普查现值 103 处 15 档(11×6/12×9/13×14/14×15/15×15/16×18/17×2/18×4/20×4/21×1/22×5/24×3/26×3/32×1/40×1;起草 78 处口径已过时)——低于正文下限 16 的 11-15 档合计 59 处;另有 status_slot_row 内部 override 13px:67/10px:148 两处。T6 以本次普查为准逐处判定 |
|
||||
| F9 | 成立;**RED_MINE 实值=#962C24**(Color8(150,44,36),任务书注 #96362C 系笔误;RED_DEEP=#963C30 注记正确);槽位字色行在 hero_info_panel_view.gd:209-211 附近(:196-207 为字形创建区) |
|
||||
| F10 | 成立(box 150×176:26 / 底座 box.y-18:417-419 / 名行基线 box.y-1.0:476) |
|
||||
| F11 | 成立(九枚 preload 恰在 :21-29) |
|
||||
| F12 | 成立(柜台四枚 64×64 / 状态九枚 32×32 / BCard 槽 56:421 / 头像 46×48 vs 50×52 槽) |
|
||||
| F13 | 成立(button min_w=216:258) |
|
||||
| F14 | 成立(_register_modal 在 presentation/main.gd:346-351,set_anchors_and_offsets_preset ✓) |
|
||||
| F15 | 成立且已复核(md5 与任务书一致) |
|
||||
| 补 | INK_LABEL 常量定义在 ui_kit.gd:19(任务书 :212 系 label() 内回落应用行,两处均实存) |
|
||||
|
||||
### 七点对比度实机复算(替换 demo 读数——背景取实机直背常量,WCAG 相对亮度法)
|
||||
|
||||
**总发现:实机直背与 demo 反向的两处(意图徽标/槽位字),任务书 N1 表的修法方向在实机会劣化;RAP 一处实机本已合规。** 按「§3 收项一律以 T0 复核后的实况为准再落笔」与三层优先级栈②(§7.2 ≥4.5 无区域例外),修法落点以本表为准,偏差逐条留痕:
|
||||
|
||||
| # | 点 | 实机对比对(fg on bg) | 现值 | 判 | T0 复核后落法 |
|
||||
|---|---|---|---|---|---|
|
||||
| 1/2 | 站桩血数(敌我同色同分支) | 白 α.95 on 血条填充 #699CE8 | **2.67** | FAIL | 修法成立:中央垫 `HP_BAR_BACK #28221C` 素牌后 = **14.29 ✓**(任务书 12.29 系不透明白口径;实机 α.95 混成后 14.29 更优)。字号 11px 维持,随 P11 豁免条款落文 |
|
||||
| 3 | 意图 atk ⚔ | RED_MINE #962C24 on 舞台底 STAGE_BG #3E342A | **1.55** | FAIL | **demo 修法(RED_DEEP 降一档)在实机暗底反向(1.73 更劣)**。改为 §4.1 色牌原则同 N1-1:徽标垫 `PANEL_DATA #E2D2B6` 素牌——RED_MINE on 牌 = **5.27 ✓**(零换墨);若按任务书换 RED_DEEP on 牌 = 4.73 亦合规(T2 取舍,推荐零换墨) |
|
||||
| 4 | 意图 buf ✦ | HERO_BLUE #2E86DE on #3E342A | **3.23** | FAIL | 垫牌(同上)+ 墨换任务书值 **#1E5A96**(HERO_BLUE 同族深档,命名随 CONTACT_GLOW_DEEP 规则):on 牌 = **4.78 ✓**(不垫牌单换墨在暗底 = 1.71 反向,否) |
|
||||
| 5 | C区槽「已用」 | STONE_FAINT #8C7C64 on 石皮均值 #D6C7AD | **2.44** | FAIL | **demo 修法(提档 WARM_FAINT)在实机亮皮反向(1.17)**。实机石皮=亮底,改双向**深化**墨色:候选 INK_LABEL(on 石皮 9.30 ✓);已用/不可用两态 T2 定值(Q6 乙:不新增通道,只调墨) |
|
||||
| 6 | C区槽「空/不可用」 | STONE #786E62 on #D6C7AD | **3.00** | FAIL | 同上深化(≥4.5 定值 T2 落) |
|
||||
| 7 | RAP 标签 | INK_LABEL #2E2218 on ap_bar 面板 PANEL_DATA #E2D2B6 | **10.40** | **合规** | **demo 的 4.10 FAIL 在实机不存在**;任务书修法(显式 CONTACT_GLOW_DEEP)作废——实机套用会跌至 1.31。落法=零改动(显式传色可选作确定性加固,T2 顺手则为 INK_LABEL 显式化,不改值) |
|
||||
| 表外 | 意图 debuff ☠ | DEBUFF_PURPLE #7A4294 | on 牌 4.66 | 垫牌后 ✓ | 随 #3 垫牌自动达标,零换墨 |
|
||||
| 表外 | 意图 charge | GOLD_DEEP #B07A14 | on 牌 2.50 | FAIL | 垫牌后仍不足——需深化金墨档(T2 定值 ≥4.5,新常量入 ui_kit,命名同族规则) |
|
||||
|
||||
### 交集核对
|
||||
|
||||
`git worktree list` 仅本 worktree 在飞;迭代 15② 奇物批已落籍 master(3c6f2c9),其文件面(feat_*/curio_* 词族、数据表、adventure/level_runner)与本批呈现层面(ui_kit/standee/status_slot_row/hero_info/ap_bar/bonus_pick/shop_overlay/board_cell_unit/level_map_screen/探针)**零交集** → 「不触碰 15② 在飞文件」停机点按开工令自动解除,核对零命中。
|
||||
|
||||
### T0 结论
|
||||
|
||||
基线回填完毕,无停机条件触发。**T2 实施修正案**(相对任务书 §3-N1):①意图徽标四处=垫 PANEL_DATA 素牌,atk 零换墨/buf 换 #1E5A96/charge 需深化金墨/debuff 自动达标;②槽位字两态=深化墨色(非 demo 的提亮);③RAP=零改动。其余收项(垫牌几何 12.29→14.29 口径、字号豁免条款落文等)按任务书+白名单执行。
|
||||
|
||||
## T2-T8 · 实施落籍(提交链 85ea024→e5427af,十提交 32 文件)
|
||||
|
||||
| 卡 | 提交 | 落点 |
|
||||
|---|---|---|
|
||||
| T1 | a55a302 | status_slot_row 九枚 preload→load_tex(呈现层素材 preload=0) |
|
||||
| T2 | b38ae07 | N1 七处修法(T0 修正案落码)+ui_contrast_probe 入 probe_gate 默认段+§7.4 豁免条款 |
|
||||
| T3 | 4e7aa83 | N2 站桩纵向余量(STANDEE_FOOT_MARGIN=12)+ui_struct_probe ⑥standee 断言族 |
|
||||
| T4a | af5f317 | N4a 裸色全量收 ui_kit(25 处/10 文件)+N4c TG_* 五族+tg_band() 分族+商店货架分族 |
|
||||
| T4b | b26e3fb | P7 乙五 token 向 demo 值+§7.2 五件对齐注记 |
|
||||
| T5 | 2f74da8 | P4 乙切片 16+Q1 丙 margin clamp+P5 甲 RADIUS_OBJECT=5 收敛(26 处归一)+§7.1 两条注记 |
|
||||
| T6 | e0fd7cb | P3 甲 FS_* 六档+全库 107 位点归档+P11 豁免清单落文 |
|
||||
| T7 | 1b2ecf6 | P6 甲缩放纪律+P10 乙记忆态纹理灰罩+§8.2 例外登记+§6.5 条款换代 |
|
||||
| T8 | e5427af | P8 甲 bcard 卡顶 Bayer 抖动带试点(DitherBand 4×4/2px 元胞) |
|
||||
|
||||
## N5 · 面板皮消费面造册(T5 判定留痕,代拍板「不强制补皮」)
|
||||
|
||||
**穿戏服 9 面**(panel_skinned,全部容器/分组框判据 ✓):ui_assembler:202 帮助板 / battle_end_overlay:33 结算容器 / battle_stage_view:93 叙事板 / confirm_dialog:19 确认框 / hero_info_panel_view:34 C区主面板 / legend_overlay:31 图例 / node_overlay:17 节点框 / settings_overlay:39 设置容器 / ui_kit BCard 工厂(商店+三选一卡)。切片 16 后 content margin 全部经工厂 clamp ≥16(原 <16 的 7 面自动抬平,调用点零改)。
|
||||
**素面维持零补皮**(§7.1「数据素面」判据):AP 条/状态槽两档/槽 chips/地图底栏三框/tooltip/回合横幅/棋盘提示条/数字色牌——直角素面原样。
|
||||
|
||||
## T9 · 重闸读数(全绿,与 T0 基线逐项对齐)
|
||||
|
||||
| 闸 | 读数 | 对照基线 |
|
||||
|---|---|---|
|
||||
| 冒烟 | **782/0** | 同基线(断言数持平——纯呈现批零逻辑面) |
|
||||
| run_all | **16 套全绿** | 同基线 |
|
||||
| ui_input_probe | 16 断言 PASS | 同 |
|
||||
| ui_struct_probe | 全屏零红(含新增⑥standee 族) | +1 断言族 |
|
||||
| ui_contrast_probe | 11 对测点全绿+裸色 0+preload 0 | 新增段 |
|
||||
| ui_click_probe | done=true 问题=0(预算 15981) | 同 |
|
||||
| ui_layout_probe | exit=0 | 同 |
|
||||
| gdd_lint | 2 文件不通过(06/07 表格占比——既有) | 零新增 ✓ |
|
||||
| doc_link_audit | 死链 4=基线 2(奇物.md×2 既有)+环境假红 2(.zcode/plans+archive 不入库) | 零新增 ✓ |
|
||||
| doc_term_audit | 218 命中/3 疑似(既有) | 零新增 ✓ |
|
||||
| 熵增闸 | design/diagrams 越界 ×1(既有在册归 archify 批) | 零新增 ✓ |
|
||||
| MC | **零跑**(纯呈现批:核心/数据层 diff=0 实证、零 RNG 消费变化——两入口铁规+任务书 §7) | — |
|
||||
| 素材红线 | game/assets/art 与 artwork/ 零触碰(git status 空) | ✓ |
|
||||
|
||||
## T10 · 人闸材料包
|
||||
|
||||
`design/qa/iter16-ui-human-gate-checklist-2026-10-06.md`(A 整屏样张闸四项〔Q2 乙并入〕+B 八屏对比+C 本批专项十项+D 减动效+E 代拍板追认单八项+F 机检佐证)。board_shot 系窗口化探针按 probe_gate 纪律不入 headless 闸,随人闸实机执行。
|
||||
|
||||
## 估时对照
|
||||
|
||||
任务书预算 T0-T11≈6.9d(超软盒 3 日知情预挂)→ **实际单会话一次跑完**(沿迭代 13/15 先例;段一切分预案未触发——三段并一次合并=Q7 甲)。超支点无;T6 位点规模超起草口径(107 vs 26)经机检化扫批吸收。
|
||||
|
||||
## 偏差与呈报汇总(本批对任务书的全部修正,均系 §3「以 T0 复核实况为准」授权面)
|
||||
|
||||
1. **N1 七点修法三处改向**:意图徽标四处=垫 PANEL_DATA 素牌(demo 的「换墨降档」在实机暗底反向);槽位字两态=深化墨色(demo 的「提亮 WARM_FAINT」在实机亮皮反向);RAP=零改动(实机 10.40 已合规)。血数垫牌口径 12.29→14.29(α.95 混成实算)。
|
||||
2. **N4a 普查漏记**:裸 Color8 实数 25 处/10 文件(任务书 5 处)——已全量原值搬运收 ui_kit,白名单清零。
|
||||
3. **字号普查增长**:UiKit.label 位点 78→107(15②后新增面);归档映射=就近档(40→34/26→24/22→24/20→18/13→14/11→12)。
|
||||
4. **TG_AOE 归族判定**:blast/aoe→TG_AOE(#E25676;消费面=reward.tres 现成 clear_blast/spark_aoe),magic 独留紫——卡带观感变化=爆裂族紫转粉,人闸 E5 可推翻。
|
||||
5. **新增常量八枚**:HERO_BLUE_DEEP/GOLD_INK/STONE_DEEP(N1)+TG_* 五族(N4c)+RADIUS_OBJECT/PANEL_SLICE/FS_* 六档(P5/P4/P3)+N4a 搬运 14 枚——全部 ui_kit 单点。
|
||||
6. **⑥standee 断言语义**:「⊆舞台+底缘 ≥8px」(全边 8px 内缩过严——容器左右边距 6px 既有)。
|
||||
7. **T6 扫批事故一起**:settlement_fx span 错位写入两处,当批发现当批修复(diff 复核全净)。
|
||||
8. **批外残余登记**(06 新条):站桩名行四墨(WARM_FAINT/HERO_BLUE/GOLD_DEEP/WARM 对舞台底)+敌顺位徽标 GOLD_DEEP+RAP 反馈墨 STONE_FAINT 等邻接文字位实测 <4.5:1——非任务书七点范围,未动,随 06 待后批。
|
||||
@@ -1,57 +0,0 @@
|
||||
# 人闸目检清单:UI 设计对齐批(迭代 16)· 2026-10-06
|
||||
|
||||
> 执行=用户实机(T10 人闸)。启动:Godot 打开 `game/project.godot` 运行即可;逐项勾选,不过项随批登记返工。
|
||||
> 对照基线:demo 原型 v2.1 md5 `78ebbee0…`(主区 `artwork/ui-redesign-2026-10-04/src/ui-prototype.html`);本批起点 a39d044 → 头 e5427af(merge 后见 roadmap 行)。
|
||||
|
||||
## A · 整屏样张闸四项(Q2 乙——§1.4 并入,逐屏过)
|
||||
|
||||
- [ ] A1 文字对比 ≥4.5:1 抽测(重点=本批七处修法:站桩血数垫牌/意图徽标四色垫牌/C区槽两态/RAP 标签)
|
||||
- [ ] A2 明度分层三档带(各屏底/板/字三层关系未被本批取值换代打破)
|
||||
- [ ] A3 整屏焦点预算首焦唯一(各屏视觉主焦点仍唯一)
|
||||
- [ ] A4 文字禁压纹理底(垫牌面:血数牌/意图牌在石皮上为素牌形态)
|
||||
|
||||
## B · 八屏对比走查(demo v2.1 为方向稿,逐屏与实机对看)
|
||||
|
||||
- [ ] B1 标题屏(主标题 40→34FS_H1/底座椭圆 17 保留/副题 16)
|
||||
- [ ] B2 设置屏(警示文两处 INK_HINT 12→12/标题 24)
|
||||
- [ ] B3 营地(柜台头带图标 20→32/柜台说明文 12/行板/钥石徽章/等级章字)
|
||||
- [ ] B4 战斗屏(B 区舞台切片 16 石皮/站桩血数牌/意图徽标垫牌/状态槽 32px/回合横幅圆角 8→5)
|
||||
- [ ] B5 关卡节点地图(底栏头像 46×48 定高随宽/组标 12px/记忆态新形)
|
||||
- [ ] B6 战斗结算(金印 200 保留/明细带字级)
|
||||
- [ ] B7 奖励三选一(卡片抖动色带/标题 22→24/脚注 12)
|
||||
- [ ] B8 商店(货架卡分族色带=attack→通用金·heal/hp→绿·blast/aoe→#E25676/图标 40px/价签 24)
|
||||
|
||||
## C · 本批专项(改动面逐处)
|
||||
|
||||
- [ ] C1 站桩:血数深牌可读、名行不再贴盒底(基线上移 13px 目视不悬空)、内容不出 252 舞台(探针⑥已绿,实机复核)
|
||||
- [ ] C2 棋盘记忆态(P10 乙新形):区外已开格=地板纹理+灰罩,数字灰墨可读;与全黑未开格/灯光区活格三态可辨;暗房档抽检
|
||||
- [ ] C3 卡片抖动色带(P8 试点):三选一/商店卡顶=像素台阶感抖动带(非平滑渐变)——**观感不佳的回退案=band 段还原平涂条(DitherBand→ColorRect 6px 一处改)**
|
||||
- [ ] C4 图标缩放纪律:B 区状态槽 32px 不挤槽体/营地头带 32px 不压带高/BCard 40px 居中/地图头像无拉伸变形
|
||||
- [ ] C5 字号档位全扫后观感:重点=主标题 40→34、屏题 26→24、营地题 22→24、暴击演算 32→34/26→24——有无「变小失势/变大失稳」单点
|
||||
- [ ] C6 panel 切片 16+margin clamp:石皮四角变大后有无纹理压缩感;7 处内容边距抬升后有无局促(营地 372 列/图例/设置/确认框)
|
||||
- [ ] C7 圆角收敛 5px:所有容器/按钮/开关/横幅同率;数据框仍直角;例外三件(底座 17/金印 200/脉冲环 100)原样
|
||||
- [ ] C8 五 token 换代(Δ≤6/255 应不可辨):数据板/板线/状态槽底/血条底/营地头带——并排看新旧截图如有可辨差异即报
|
||||
- [ ] C9 RAP 标签显式墨(视觉应零变化)
|
||||
- [ ] C10 1920×1080 档复验(1.35× 例外档——布局/切片/抖动带在该档不劣化)
|
||||
|
||||
## D · 减动效与环境
|
||||
|
||||
- [ ] D1 减动效开关双态(本批零新动效——开关行为应与批前一致;抖动带/灰罩均静态)
|
||||
- [ ] D2 全屏/窗口切换后 UI 不破(切片/margin 改动面)
|
||||
|
||||
## E · 代拍板追认单(2026-10-06 白名单内已落,目检可推翻)
|
||||
|
||||
| # | 项 | 已落值 | 推翻改法 |
|
||||
|---|---|---|---|
|
||||
| E1 | RADIUS_OBJECT | 5 | 嫌大→ui_kit 常量改 4 一处 |
|
||||
| E2 | 槽「已用」墨 STONE_DEEP | #554D41 | 提/降一档随手感 |
|
||||
| E3 | 蓄力墨 GOLD_INK | #74500B | 同上 |
|
||||
| E4 | 增益墨 HERO_BLUE_DEEP | #1E5A96 | 同上 |
|
||||
| E5 | TG_AOE 归族(blast/aoe→#E25676) | tg_band() | 若嫌爆裂弃紫转粉违和→blast 行移回 TG_MAGIC 一行 |
|
||||
| E6 | 血数牌宽 = 字宽+8px | 白名单 8 | 挤/松→6 或 10 一处 |
|
||||
| E7 | 抖动带 4×4/2px 元胞/8px 高 | 实现细节 | 嫌粗→8×8 或 1px 元胞 |
|
||||
| E8 | 意图徽标垫 PANEL_DATA 素牌 | T0 修法 | 嫌亮牌突兀→改暗牌+换亮墨(另行呈报) |
|
||||
|
||||
## F · 机检佐证(已全绿,实机只抽核)
|
||||
|
||||
冒烟 782/0 · run_all 16 套全绿 · ui_input 16 断言/ui_struct 全屏零红(含⑥standee 新族)/ui_contrast 11 对测点+裸色 0+preload 0/ui_click done=true 问题=0/ui_layout exit0 · doc 三闸与熵增闸=基线零新增 · 素材零触碰(game/assets/art 与 artwork/ 未改)· MC 零跑(纯呈现批,核心/数据层零 diff)
|
||||
@@ -1,61 +0,0 @@
|
||||
# 出口报告:生涯界面设计立项(迭代 17 卡④设计批)
|
||||
|
||||
> 批次:纯设计批(零代码、零数据面、零测试执行——两入口铁规:非 loop 实施批且用户未点名)。
|
||||
> worktree:`g-plan2-iter17-career`(分支 `iter17-career-20261006`,基点 = master fc4dbde)。
|
||||
> 任务书:`design/research/任务书-生涯界面设计立项-2026-10-05.md`(v1.1 零待裁点,U0 已发)。
|
||||
> 本报告按「吸收即死」纪律属中间文档,寿命 = 迭代寿命;五条判定与 F1-F10 复核结论已同步写进各正式文档(生涯.md / 06 / roadmap)。
|
||||
|
||||
## 一、完成定义五条逐条判定(任务书 §1.2)
|
||||
|
||||
| # | 判定项 | 判定 | 依据 |
|
||||
|---|---|---|---|
|
||||
| 1 | 提纲成文 | ✅ | `design/gdd/systems/跨局循环/生涯.md` v0.1(P0 甲裁定的载体,状态=范围草案),五节齐:一、信息架构;二、承载内容清单;三、与既有界面的关系;四、分期实装建议;五、待裁点 |
|
||||
| 2 | 事实对齐 | ✅ | §2 事实表 F1-F10 逐条代码级复核全绿(见本报告 §二);提纲中每句现状描述带 file:line 指证(R1) |
|
||||
| 3 | 裁点齐备 | ✅ | P0-P5 已裁结论全部落文对应节;本批新发现待裁点一项(P6 营地最近冒险条带去留),三案全列含淘汰依据、有明确建议案;全文无「待定」悬空 |
|
||||
| 4 | 零实装 | ✅ | diff 仅含:新建生涯.md、02-系统清单.md 三行(树行/代号行/版本行)、06 状态行、roadmap 卡④行、active.md、本报告;`game/` 零改动、存档零改动、零测试执行 |
|
||||
| 5 | 人闸 | ✅(待用户执行) | 06 状态行已更新为「设计提纲已成文待评审」;**人闸 = 用户评审提纲**(评审时随裁 P6) |
|
||||
|
||||
## 二、T0 事实复核 F1-F10(2026-10-06 静态阅读,行号以实核为准)
|
||||
|
||||
| # | 事实 | 结论 | 实核证据(file:line) |
|
||||
|---|---|---|---|
|
||||
| F1 | 冒险中回看已退役 | ✅ 绿 | `battle_end_overlay.gd:9`(signal continue_pressed,注记 review_pressed 退役)、`:106`(明细回看钮退役注记)、`:90` 现为 GP 账目行 add_child——任务书 v1.0 的 :90 漂移勘误属实;`battle_log_view.gd:47`(「上轮摘要(回看归「生涯」」提示)、`:115`(带点击回看入口退役注记);`ui_assembler.gd:67`(明细回看 overlay 退役注记) |
|
||||
| F2 | settlement_review_overlay.gd 在盘 | ✅ 绿 | `game/presentation/views/settlement_review_overlay.gd` 在盘(含 .uid);全仓无实例化引用——仅 `ui_kit.gd:356` 样式注记提及「settlement_review 同款」;无 .tscn 引用 |
|
||||
| F3 | 跨局持久面 = save v5 meta 域 | ✅ 绿 | `save_manager.gd:39`(SAVE_FORMAT_VERSION=5 版本链注记)、meta 默认域键集 `:106-117`(keystone_balance/forge_levels/item_unlocks/level_clear_counts/boss_first_kill/boss_kill_count/attunement_equipped/attune_refresh_level/tree_nodes/fork_sides/recent_summaries/first_adventure_done)+ 访问器面 :202-:316 |
|
||||
| F4 | recent_summaries 现役 + 三件真实缺口 | ✅ 绿 | `save_manager.gd:40` SUMMARY_CAP=10;`:316` 值拷贝访问器;`:325-338` apply_adventure_summary(push_front + cap 截断 + boss_drops 副本 :334);`meta_progression.gd:129` settle_adventure 经 `:133` 归档(:125 注记)。缺口①cap 扩容、②用时零采集点(game/core grep elapsed/ticks/duration/Time 零命中;摘要字段集 `adventure_runner.gd:1007-1018` 无用时)、③总局数/通关局数无 lifetime 域(first_adventure_done 布尔 :117、level_clear_counts 按关 :109)——三条全实证 |
|
||||
| F5 | 当局结算呈现仍在 | ✅ 绿 | `main.gd:537` `_on_adventure_finished` 收束当下呈现摘要五件事+钥石入账明细;终局面三行账 `battle_end_overlay.gd:118-129`(open_victory 账行装配) |
|
||||
| F6 | 跨局汇总数据源现状 | ✅ 绿 | 各关通关次数 `save_manager.gd:238`、Boss 首杀/总击杀 :242/:250、钥石余额 :202(累计收支无流水——:206/:211 只动余额)、锻造/工坊/天赋树访问器 :218/:230/:256;总局数/通关局数两格无数据源(同 F4③) |
|
||||
| F7 | 图鉴承接候选内容 | ✅ 绿 | 06:192「敌方技能图鉴 / 学习呈现」(P2,见过→认得→记谱);奖励格图鉴柜台空置——06:244(随配比预设批挂起冻结)、`camp_overlay_view.gd:121`(柜台三框在)、`:128`(下段天赋树行占用注记) |
|
||||
| F8 | 相邻界面分工现状 | ✅ 绿 | 营地 `camp_overlay_view.gd:431` `_rebuild_recent()`、`:442` 行模板「完成/放弃/失败 · 通关 N 关 · 钥石 +N · 种子 N」(无截断上限)、`camp_shop_presenter.gd:85` recent 投影;主菜单按钮组 `ui_assembler.gd:104-160`(营地 :150);设置面 :152;暂停层 = 迭代 17 卡③并行批(本 worktree 基点未含其实码,提纲按任务书口径引用) |
|
||||
| F9 | 06 条目原文口径 | ✅ 绿 | 06:400「新「生涯」界面(跨局汇总/历史冒险回看/图鉴承接)」三段骨架原文在册 |
|
||||
| F10 | 阶段语境 | ✅ 绿 | 06 教学引导节各条状态行 Beta 阶段注记(:375/:383/:391,2026-10-04 拍板改排);生涯条目(06:396-404)无阶段标注——提纲分期建议以候选窗口作答 |
|
||||
|
||||
**差异记录(两处,均不阻塞)**:
|
||||
|
||||
1. `ui_assembler.gd` 实际路径为 `game/presentation/ui_assembler.gd`(任务书 F1 只写文件名未带路径,无歧义;提纲已用全路径引证)。
|
||||
2. 复核顺带发现一处**既有**登记滞后(非本批引入、不属本批范围):`design/registry/entities.yaml` 存档条目 version 注记仍写「SAVE_FORMAT_VERSION=4 / v1→v4 迁移链」,代码已至 v5(`save_manager.gd:39`,v5=天赋树域,迭代 12);domains 行的 meta 域九件明列与 recent_summaries cap 10 记载仍准确。属 registry 与代码的同步欠账,owner 文档 = 存档序列化.md,建议归后续文档对齐批或 doc 一致性检查呈报——本批 diff 范围不含 registry,未动。
|
||||
|
||||
## 三、交付物与落点
|
||||
|
||||
| 交付物 | 落点 | 状态 |
|
||||
|---|---|---|
|
||||
| 设计提纲(本批主体) | `design/gdd/systems/跨局循环/生涯.md` v0.1 | 范围草案,待用户评审 |
|
||||
| 根索引同步 | `design/gdd/02-系统清单.md`(跨局循环树行 + 命名对照表 CAREER 行 + v1.12 版本行) | 已落 |
|
||||
| 06 状态行 | `design/gdd/06-待办清单.md` 生涯条 →「设计提纲已成文待评审」 | 已落 |
|
||||
| roadmap 卡④行 | `roadmap.md` 迭代 17 卡④ →「✅ 设计提纲已成文待用户评审……人闸=用户评审提纲」 | 已落 |
|
||||
| 会话记录 | `active.md`(快照节追加 + 台账 379) | 已落 |
|
||||
|
||||
## 四、提交哈希清单
|
||||
|
||||
| 提交 | 内容 |
|
||||
|---|---|
|
||||
| 10df8ba | T1:生涯.md v0.1 成文 + 02 根索引三处(树行/CAREER 行/v1.12) |
|
||||
| (本提交) | T2 加批次收尾:06 状态行、roadmap 卡④行、active.md、本报告 |
|
||||
|
||||
终态 = worktree 内全部提交完成,**未合并、未 push**(合并落回 master 由用户/编排会话执行)。
|
||||
|
||||
## 五、遗留与移交
|
||||
|
||||
1. **人闸(唯一)**:用户评审设计提纲 `design/gdd/systems/跨局循环/生涯.md`,评审时随裁新发现的 P6(营地底栏「最近冒险」条带去留——建议甲:期二时撤下归生涯)。评审通过后期一/二/三实装批另行立项。
|
||||
2. 实装批前置义务已在提纲 §四登记(非本批工作):期一=对齐迭代 16 UI 基线 + save v6 两个终身计数域;期二=N 终值读数呈报(20/50/维持 10 三选一)与用时埋点口径呈报;期三=「见过」记账面 schema 义务。
|
||||
3. registry 存档条目 version 注记滞后(§二差异记录 2)——移交后续文档对齐批,非本批范围。
|
||||
@@ -1,71 +0,0 @@
|
||||
# 出口报告——内容数据驱动扩展批(迭代 17 卡⓪,2026-10-06)
|
||||
|
||||
状态:**批内全部提交完成、六闸全绿、终态=worktree(iter17-dd-20261006 分支)全部提交,待用户合并落 master**。
|
||||
执行事实源:[任务书-内容数据驱动扩展批-2026-10-06](../research/任务书-内容数据驱动扩展批-2026-10-06.md)(v1.1);设计权威:[研究-内容数据驱动扩展架构-2026-10-06](../research/研究-内容数据驱动扩展架构-2026-10-06.md)。
|
||||
执行形态:前任 subagent 完成 T0-T2 后因额度中断,续跑 subagent 接手 T3 断点(三个脏文件半成品)收口并完成 T4-T7。
|
||||
|
||||
## 一、提交清单(worktree 内全部提交,按卡)
|
||||
|
||||
| 卡 | 提交 | 内容 |
|
||||
|---|---|---|
|
||||
| T1(前任) | `7d157b3` | 效果引擎框架:事件发布订阅解释器+16 发射点埋点+组合规则六族+计数器账本 |
|
||||
| T2(前任) | `225765f` | 词汇表落码:feats/treasure 两表 trigger 订阅形态 schema 换代+护栏迁移 |
|
||||
| T3 | `e28a6cb` | 专长迁移:27 行 triggers 全量生效+旧 23 挂点枚举消亡+_feat_flags_for 退役+消费点拆除(伤害控制器 13 处+编排器全部旗面)+文案入表(专长卡 desc)+断言面随迁(冒烟 ④-⑧ 全量改写) |
|
||||
| T4+T5 | `a33ddaf` | 秘宝六件迁移(淬毒/偏运/晨令/惊巢/殉爆/掘进蓄能受理闸)+按 id 特判清零+pick_refresh kind 分发+curio 卡片文案入表;令牌兑付 match 收敛进效果类型路由表+树规则键同面收口 |
|
||||
| T7 | 本批终提交 | 文档正主换代(奇物.md v2.8/秘宝.md v1.0/敌人系统.md v0.14+registry 两件+06 状态收口+roadmap 卡⓪行)+本报告 |
|
||||
|
||||
T0 断点核查记录:前任已留 pre 锚(见 §三),T0 三查其余项随续跑开工复读完成。
|
||||
|
||||
## 二、闸读数(T6 回归闸全绿)
|
||||
|
||||
| 闸 | 读数 | 结论 |
|
||||
|---|---|---|
|
||||
| 冒烟(三闸) | **800 项检查,0 项失败**,退出码 0,无 SCRIPT ERROR | 绿(断言数 783→800:T3 断言面随迁净增 17 项,漂移追认随 T3 commit 留痕) |
|
||||
| 单元(run_all) | **17 套全绿** | 绿 |
|
||||
| 探针闸(probe_gate --click) | ui_input/ui_struct/ui_contrast/click 四段全 PASS,批末残留 Godot=0 | 绿(本批触碰呈现层——battle_narrator/curio_interact 文案面,故带 click) |
|
||||
| MC 二档对拍 | 见 §三 | 绿——逐位一致 |
|
||||
| 确定性复放 | 同种子改前/改后两次采集逐位一致(40 局全对) | 绿(强于「同码两遍」口径) |
|
||||
| doc 三闸 | doc_link_audit 过(exit 0);doc_term_audit 过(exit 0);gdd_lint 2 处失败=**基线既有**(06-待办清单/07-体验验证清单结构性指标,stash 对比实证改前改后同为 2 处零新增) | 绿(零新增) |
|
||||
| 熵增闸(repo_structure_audit) | 1 处违例=design/diagrams 子目录越界——**基线既有**(前批「GDD系统架构总图批」00712d5 产物,非本批引入;归该批主自证或后续清理) | 绿(零新增) |
|
||||
|
||||
## 三、MC 锚与对拍结论(二档合规)
|
||||
|
||||
- 判据口径:契约 2 两套(确定性复放与冒烟=**逐位一致**;MC 统计量=**成型画像同带**,正主=design/qa/m4iter12-t7-batch1-readings-2026-10-04.md)。
|
||||
- 改前锚(前任 T0 采集,留盘未补跑):`sim-data/runsum_iter17dd_pre_off_n20_20261006.jsonl` / `runsum_iter17dd_pre_formed_n20_20261006.jsonl`(seed0=83000、N=20/档、normal 档、route=min、attune=off、off/formed 同种子配对;formed=七流派各 2 件档一成型注入画像——14 件全部系本批迁移行)。
|
||||
- 改后锚(T6 采集):`sim-data/runsum_iter17dd_post_off_n20_20261006.jsonl` / `runsum_iter17dd_post_formed_n20_20261006.jsonl`(同 seed0 同口径;新锚去前缀纯 JSONL 按种子升序)。
|
||||
- **结论:40 局(2×20)同种子逐位一致**——每局 RUNSUM 全字段(通关数/承伤/踩雷/旗经济/资源事件/钥匙石/逐战上限序列等 33 字段)改前改后零差。统计量同带判据自动满足(逐位一致蕴含同带):L1 通关率 off 20%(4/20)、formed 80%(16/20),与改前逐位同值。
|
||||
- 档位合规:总量 40(每档 20)=二档上限贴边;另有 T3 段末 S1 预检 2×5 局(三档只测不判,未留锚)——S1 停机点未触发。
|
||||
|
||||
## 四、代拍板记录(任务书 §八白名单四项+呈报不停机级,全部 commit 留痕)
|
||||
> **✅ 追认(2026-10-07 用户裁)**:八项全部追认——#1-#6/#8 系实现与机检面即日追认;#7 两件秘宝卡新文案为可见面,落法追认、措辞待实机抽查确认。
|
||||
|
||||
1. **fact 查询面落法**:`has` 算子=在场判定(value 缺省=非空;value 给定=数组包含)——地形伤/伤害型地形四行订阅的查询面(T3 commit)。
|
||||
2. **fact 查询面落法**:perfect_defense「全中」装不进封闭 9 项事实——when 落 flags_count≥1 保守判定,全中闸=flag_settle 发射点施加面承载(禁私开 fact 停机点纪律保持;T3 commit)。
|
||||
3. **事件载荷字段**:attack_commit 发射点从 resolve 内移至开单入口(任务书 §3.1 定稿位),命中随单据 context 携带;damage_taken 补 terrain_kind、flag_hit 改 terrain_kind=邻接伤害型变异集(T3/T4 commit)。
|
||||
4. **发射点微调(±1)**:round_start 发射位前移至行动经济轮切换之前(树规则 grant_ap queue 当轮兑现=先手压制首轮语义锚);attack_commit 单发射点、命中两处消费(编排器段序承载连珠矢开单位/控制器管线算术承载其余施加面——dispatch 纯读零副作用)。
|
||||
5. **效果类型落法对拍注记(映射表五处语义修正的随批追加,行为等价优先)**:猎巢人/矿工的执拗=必中附加通道(映射表标 modify_ticket/attack_bonus 与现状不符,落 add_ticket_rider per 载荷);整备军备双效果两行订阅;厚积薄发=满层持续状态(非沿触发);荆棘编织者=伤害兑付位第二份产出(非 ×2 乘区);完美布防=旗伤单值倍增(非 yield 乘区)——全部随 .tres 尾注+commit 留痕。
|
||||
6. **冒烟断言数漂移追认**:783→800(断言面随迁净增 17 项)。
|
||||
7. **文案微调**:掘进蓄能/失义件秘宝卡补实际摘要(原 kind 硬编码面无文案);其余 desc 措辞与旧映射逐字一致。
|
||||
8. **效果类型计数**:24 型(任务书标题 23 系笔误——T1 前任已代拍留痕,沿用)。
|
||||
|
||||
## 五、文档正主换代清单(T7)
|
||||
|
||||
- 奇物.md **v2.8**:专长效果声明换代(挂点→订阅行)五处+版本行;事实源表 feats.tres 行结构换代。
|
||||
- 秘宝.md **v1.0**:效果声明形态节(被动件订阅行+主动件 kind 分发+掘进蓄能受理闸数据化+desc 文案表值化)+版本行。
|
||||
- 敌人系统.md **v0.14**:半血解锁判定点=通用事件 enemy_hp_threshold 发射点登记(非 Boss 专属,零行为变化)+版本行。
|
||||
- registry/entities.yaml:专长 data_sources 换代+effect_declaration 新条(四词表封闭/组合规则/遍历序/重建时机)。
|
||||
- registry/architecture.yaml:core_decisions 新条 effect_engine_interpreter(ADR-0011 候选)。
|
||||
- 06-待办清单:数据驱动批状态=已实施完成收口(提交号+闸读数+遗留两项)。
|
||||
- roadmap:迭代 17 卡⓪行换代(状态=已实施完成)。
|
||||
|
||||
## 六、遗留人闸项(呈报不停机级,均为显式拍板请求非缺陷)
|
||||
|
||||
1. **掘进蓄能积点模判定留编排器侧**:use_treasure 受理闸已数据化(treasure_used counter_spend 订阅),但「每 charge_n 安全格积 1 点」的模判定留在战斗编排器授予段——「先增后判」在发射点施加架构下无法行内表达(when 于 dispatch 预评估,先增后判需引擎内联过账=会破坏矿脉直觉连击的施加序等价)。行为与迁移前逐位一致(charge_n 读行零字面量);若要求彻底行内化,需效果引擎增设「计数器种子/内联过账」机制,归后续词汇表扩展批裁决。
|
||||
2. **主动件 kind 词族全量 rename 不随批**:新词(reveal_tiles/preview/grant_ap/remove_mines/refresh_pick)已在闭集与旧词共存(T2),本批只完成 pick_refresh kind 分发合流;mine_reveal→reveal_tiles 等全词族 rename 波及库存/呈现标记/单测约 15 处零行为收益,显式不在本批(出口呈报,归后续清理批或随批裁决)。
|
||||
3. **实机目检归用户**(批次工作流第 12 步):呈现面改动=专长卡与秘宝卡文案源(desc 直读,措辞逐字迁移)——建议实机抽查一张专长卡+一张秘宝卡。
|
||||
|
||||
## 七、风险与边界声明
|
||||
|
||||
- 存档零触碰:存档键/格式/断点结构一字未改(持有集/装备存 id 不变,换的只是解释方式)。
|
||||
- 护栏全保留:四词表封闭校验、行键白名单、悬空引用致命、零裸 flat 禁令、流派扫雷触发铁律(MINE_EVENTS 同义形态)全部以新形态延续;本批新增封闭面=when value_from 悬空校验。
|
||||
- 主区零直改:全部改动在 worktree iter17-dd-20261006;并行在飞三线(iter17-pause 卡③/standee-tier/uialign)未触碰。
|
||||
@@ -1,59 +0,0 @@
|
||||
# L3 停机报告——敌人表行集多行批改前锚丢失(迭代 17 卡①,2026-10-07)
|
||||
|
||||
状态:**L3 停机**。命中时机 = T0 开工序(MC 锚开工前核验步);本 worktree(g-plan2-iter17-enemy,分支 iter17-enemy-20261007,基点 e535436)**零改动、零提交、未跑任何测试**,等用户发令后恢复。
|
||||
|
||||
## 一、停机事实
|
||||
|
||||
任务书 MC 对拍方案预设「**改前锚免跑——直接复用卡⓪落盘的 post 锚**」两份文件:
|
||||
|
||||
- `sim-data/runsum_iter17dd_post_off_n20_20261006.jsonl`
|
||||
- `sim-data/runsum_iter17dd_post_formed_n20_20261006.jsonl`
|
||||
|
||||
(出处:卡⓪出口报告 design/qa/iter17-datadrive-exit-report-2026-10-06.md §三;seed0=83000、每档 20 局。)
|
||||
|
||||
**执行会话全盘核查结论:两份文件已不存在于本机任何位置,不可恢复。**核查留痕(全部在本报告落档前现场执行):
|
||||
|
||||
| # | 核查动作 | 结果 |
|
||||
|---|---|---|
|
||||
| 1 | 本 worktree sim-data/ 列目录 | 只有随 git 走的三件(README.md / analyze.py / growth_model.py),无任何锚文件 |
|
||||
| 2 | 主区 D:\code\g-plan2\sim-data\ 列目录 | 最新文件停在 2026-10-05(iter14 批锚),无任何 2026-10-06 件,无 iter17dd 字样 |
|
||||
| 3 | `git worktree list` | 卡⓪ worktree(iter17-dd-20261006)已在收口时删除,现存仅主区+本 worktree+standee-tier+uialign 四处 |
|
||||
| 4 | `find /d/code -name "runsum_iter17*"` 全盘搜 | 零命中 |
|
||||
| 5 | `grep -rl "83000"`(主区 sim-data + design/qa) | 仅命中卡⓪出口报告 md 本身(文字记载),无任何数据文件含该种子 |
|
||||
| 6 | 两仓内 `find -name "*.jsonl" -newermt 2026-10-06` | 零命中 |
|
||||
|
||||
**根因**:sim-data 数据件自 2026-10-03 起整目录不入 git(.gitignore 强制,语义=磁盘缓存层);卡⓪的两份改后锚只存在于卡⓪ worktree 的 sim-data/ 里,从未复制进主区;收口 `git worktree remove` 时随目录一并删除。锚文件无任何 git 历史可回溯(从未被提交过),也无回收站外副本。
|
||||
|
||||
## 二、等价性核验(任务书预设的那道闸——已通过,与本次停机无关)
|
||||
|
||||
任务书要求开工前先核验「game/ 下模拟相关路径在 6e7b5d1(卡⓪锚采样点)与 T0 基点 e535436 之间 diff 为空」。**核验通过**:`git diff 6e7b5d1..e535436 -- game/` 全部改动落在 presentation/(卡③暂停层)与 smoke 探针文件;`game/core/`、`game/data/` 与 MC 采集脚本 adventure_monte_carlo.gd 三者**零 diff**。若锚文件还在,复用是成立的。停机原因不是等价性破,而是**被复用的对象本身不存在**。
|
||||
|
||||
## 三、影响面
|
||||
|
||||
1. **MC 逐项对拍腿失据**:设计契约 R1(零内容期逐位零漂移)要求「冒烟 + MC 同种子逐项一致」。没有改前锚,T6 的改后锚没有比对对象,R1 的 MC 腿无法闭环。
|
||||
2. **决策窗口在写码之前**:改前锚必须在本批任何代码改动落地前采集(T2 起改 game/ 即破坏「改前」码态)。所以这个问题**不能拖到 T6 再说**,必须现在停。
|
||||
3. **恢复动作涉及随机数消耗预算**:补采改前锚 = 新增 40 局模拟(off/formed 各 20),使本批模拟总量从任务书字面预算「总量 40(二档贴边)」升到 80 局。消耗预算属用户保留裁决面(四档硬闸「超档停机呈报」+ 本任务书「禁静默自采」条款),执行会话不得自采。
|
||||
|
||||
## 四、备选方案(交用户裁决,含各自代价)
|
||||
|
||||
| 案 | 内容 | 代价 / 收益 |
|
||||
|---|---|---|
|
||||
| **甲(推荐)** | 批准在 T0 现态(e535436,一行未改)补采改前锚 40 局(off/formed 各 20,seed0=83000,命名建议 `runsum_iter17enemy_pre_*`),T6 再采改后锚 40 局照原计划执行 | 本批模拟总量 80 局、约 7 分钟,超任务书字面「总量 40」但与卡⓪批实际支出形态完全一致(卡⓪也是改前 40+改后 40);等价性已证(core/data/MC 脚本在两提交点零 diff + 引擎确定性),补采的改前锚与丢失的卡⓪锚在数学上必然逐位相同,等于零信息损失。会话累计时长 ≤20 分钟合规 |
|
||||
| 乙 | 只保 off 档配对(改前/改后各 20 局,总量 40=字面贴边),formed 档放弃 | 预算不超字面;代价=成型注入画像面(卡⓪迁移的 14 件专长秘宝注入行)失去对拍腿。本批改的是敌人表/spawn 面、对两档同等生效,off 腿已覆盖本批触碰路径,但「逐项一致」覆盖面收窄,需用户明示接受 |
|
||||
| 丙 | 放弃 MC 腿,R1 只靠冒烟全量断言 + 静态等价论证收口 | 最省;代价=设计契约 R1 的字面被破(契约明确要求 MC 同种子逐项一致),且开了「锚丢了就不拍」的先例,**不建议** |
|
||||
| 丁 | 用户本地另有备份(网盘/手工拷贝),恢复两份 iter17dd 文件到本 worktree sim-data/ 后按原方案继续 | 零新增消耗;前提是备份确实存在 |
|
||||
|
||||
## 五、恢复路径(任一案获批后)
|
||||
|
||||
1. worktree 仍在原位且干净(基点 e535436),后续会话从 T0 剩余步骤续起:基线重测回填(冒烟/run_all/探针/doc 三闸/熵增)+ §2 事实表逐条重核(此前只完成锚核验步)。
|
||||
2. 案甲获批时先补采改前锚再动任何代码;案丁获批时核验恢复文件的行数(每档 20 行纯 JSONL)与种子序(83000 起升序)后照原方案走。
|
||||
3. 任务书其余部分(已裁点、契约、任务卡)不受本停机影响,无需修订。
|
||||
|
||||
## 六、停机自检对照
|
||||
|
||||
- 触发条款:任务书「停机点」清单 MC 相关硬闸 + CLAUDE.md MC 触发细则「任务书预设步骤的前提消失时停问勿照字面执行」+ sim-data README 配套纪律①「档位上限=硬闸,超档停机呈报」。
|
||||
- 未越权动作自证:未采任何一局模拟、未跑任何测试、未改任何文件(本报告除外)、未动主区与兄弟 worktree。
|
||||
|
||||
## 七、用户裁决(2026-10-07,停机解除令)
|
||||
|
||||
**裁甲案**:批准在 T0 现态(e535436,零代码改动)补采改前锚 40 局(seed0=83000,off/formed 各 20,与丢失的卡⓪锚数学上逐位相同——等价性已证);T6 改后锚 40 局照原计划同 seed0 同格式配对。**本批 MC 总量 80 局经用户明示批准**(超二档字面上限的例外已裁,后续批次不得援引为本先例)。裁决后从 L3 停机点续起:T0 剩余步骤(基线重测回填+事实表重核+补采改前锚留盘)→ T1-T8 按原任务书不变执行。
|
||||
@@ -1,62 +0,0 @@
|
||||
# 出口报告——敌人表行集多行批(迭代 17 卡①,2026-10-07)
|
||||
|
||||
状态:**批内全部提交完成、重闸全绿;终态 = worktree(iter17-enemy-20261007 分支)全部提交,不合并,待用户验收后人闸/落籍**。
|
||||
执行事实源:[任务书-敌人表行集多行批-2026-10-05](../research/任务书-敌人表行集多行批-2026-10-05.md)(v1.1 + T0 实核修订);设计权威:[敌人系统](../gdd/systems/战斗循环/敌人系统.md) v0.15。
|
||||
批性质:纯结构批(P3 丙)——混编机制放开、零内容投放、表内容零变更、零数值变更。
|
||||
执行波折:开工 T0 锚核验步命中一次 L3 停机(改前锚文件丢失,报告 [iter17-enemy-L3-改前锚丢失-2026-10-07](iter17-enemy-L3-改前锚丢失-2026-10-07.md)),用户裁甲案(补采改前锚+总量 80 局明示批准)后续起,全批一次性走完无二次停机。
|
||||
|
||||
## 一、提交清单(worktree 内,按卡)
|
||||
|
||||
| 卡 | 提交 | 内容 |
|
||||
|---|---|---|
|
||||
| L3 停机 | `a0b06b4` | 改前锚丢失停机报告(四案呈报) |
|
||||
| L3 解除 | `5b9cf59` | 用户裁甲案留痕(补采改前锚 40 局+总量 80 局批准) |
|
||||
| T0 | `18cdcb0` | 基线重测回填(冒烟 805/0+run_all 17 套+探针含 click 全绿+doc 三闸/熵增存量红零新增)+§2 事实表 L2 修订(行号漂移 6 项如实改列,全不动摇结构)+改前锚补采落盘 |
|
||||
| T1(组 A) | `ab5ddad` | GDD 修订先行:敌人系统.md v0.15(开战生成节行集逐行实例化口径+行集构成纪律三条规则行+F10 前提句去同种假设+结构冻结/调参表/验收两条+版本历史)+难度曲线与Boss.md v0.24(混编难度归属注记)+entities.yaml rowset_rule 换代+06 状态行已实施完成 |
|
||||
| T2(组 B) | `8690230` | schema 与解析:enemy_table.gd 恰一敌种校验退役→行序相邻校验(rowset_rule 沿用)+UNIT_COUNT_MAX 单种数语义+floor 版 resolve_rowset 退役(P2 甲,工作日志 312 销号);config_db_resolver.resolve_enemy_rowset 行集数组化(ceil 命中坐标全部行,文件序;board_gen 单行通道不动);config_db.gd 门面同步;全仓消费点机械适配取首行(spawn/orchestrator/narrator/smoke 七处/config_db_test/两探针) |
|
||||
| T3(组 C) | `bc73fa3` | 生成与编排:spawn 行集受理(逐行实例化+生成序=文件行序+handle_id 连续;override 入参改逐行数组)+行集实例总数≤EnemyTable.ROWSET_INSTANCE_MAX=4 守卫 fail-fast+难度修饰行集同乘(F9);battle_orchestrator 遭遇骰逐行骰换代(Q8:每行各掷自己区间,先逐行数量骰后逐行 atk 骰;单行行集消费序/次数逐位一致=零内容期随机流零变化) |
|
||||
| T4(组 D) | `c583940` | 断言与探针:expect_pools 换 (L,D,enemy_id) 三元键+L2/L3 定点断言行集口径+双表精确行集契约文案(主段+两复述段)+混编运行面正反断言六条((1,5)/(1,6) 注入,避开全部扫描面,断言后还原)+config_db_test 行集纪律套五条(validate 正反:混编相邻合法/Boss 坐标混编合法/隔断 rowset_rule 定位坐标/dup_key 不回归/单行域闸不回归) |
|
||||
| T7 | 本报告同批 | 人闸材料 [iter17-enemy-人闸材料-2026-10-07](iter17-enemy-人闸材料-2026-10-07.md)(目检四项+代拍板追认九项) |
|
||||
| T8 | 本报告同批 | 收口五步:本报告+active.md 快照台账 384+roadmap 卡①行换代+06 状态行补提交号与闸读数 |
|
||||
|
||||
## 二、闸读数(T0 基线 → T6 批末,全绿)
|
||||
|
||||
| 闸 | T0 基线 | T6 批末 | 结论 |
|
||||
|---|---|---|---|
|
||||
| 冒烟(三闸) | 805 项 / 0 失败 | **811 项 / 0 失败**(净增 6=混编正反断言,T4 追认) | 绿 |
|
||||
| 单元 run_all | 17 套全绿 | **17 套全绿**(含新增行集纪律套内断言) | 绿 |
|
||||
| 探针闸(probe_gate --click) | 全绿·残留 Godot=0 | **全绿·残留 Godot=0**(ui_input/ui_struct/ui_contrast/click) | 绿 |
|
||||
| doc 三闸 | link 过(死链 4 存量)/lint 存量红 2/term 过(疑似现行 3 存量) | **link 过(死链 4)/lint 2/term 3——逐项同基线零新增** | 绿 |
|
||||
| 熵增闸 | 存量红 1(design/diagrams,前批遗留) | **同 1 处,零新增** | 绿 |
|
||||
| MC 二档对拍 | 见 §三 | **40 局同种子逐项零差异** | 绿 |
|
||||
| 附:两探针直跑 | — | skill_rhythm_probe 输出正常;damage_probe 7 项 1 失败=A1 攻击链健康,**stash 对照实证基线既有**(与本批零相关;探针非闸门工具,如实登记) | 存量 |
|
||||
|
||||
## 三、MC 锚与对拍结论(用户裁甲案,总量 80 局明示批准)
|
||||
|
||||
- **改前锚(补采)**:`sim-data/runsum_iter17enemy_pre_off_n20_20261007.jsonl` / `runsum_iter17enemy_pre_formed_n20_20261007.jsonl`——T0 现态(e535436,零代码改动)采集,seed0=83000、N=20/档、normal、route=min、attune=off、shop=off、feat=off/formed 同种子配对。
|
||||
- **改后锚**:`sim-data/runsum_iter17enemy_post_off_n20_20261007.jsonl` / `runsum_iter17enemy_post_formed_n20_20261007.jsonl`——T6 时点(c583940 代码态)同参数采集。
|
||||
- **等价性论证(补采改前锚 ≡ 丢失的卡⓪锚)**:①git diff 6e7b5d1(卡⓪锚采样点)..e535436 对 game/core+game/data+adventure_monte_carlo.gd **零 diff**(其间唯一 game/ 改动=presentation 卡③暂停层+冒烟探针,不触模拟);②引擎确定性(卡⓪出口报告实证同种子改前/改后 40 局逐位一致)→同代码态同种子必逐位复现;③旁证:补采锚 L1 条件口径读数 off 4/20(20%)、formed 16/20(80%)与卡⓪出口报告记载**逐位同值**。
|
||||
- **对拍结论:R1 成立——40 局(2×20)同种子配对、每局 RUNSUM 全字段(660 字段/腿)逐项零差异**(零内容期行为零漂移的 MC 面铁证)。
|
||||
- 档位合规:本批实采 80 局(pre 40+post 40)——**超二档字面上限(40)的例外经用户 2026-10-07 明示批准**(L3 报告 §七),后续批次不得援引本先例;会话时长远低于 20 分钟帽。
|
||||
|
||||
## 四、P4 乙两读数面登记(用户裁乙案 Boss 行集放开的知情代价)
|
||||
|
||||
1. **开战叙述取首行(成立,已落码+留痕)**:`battle_narrator.boss_name` 取行集**首个命中行**的 display_name——Boss 行集多行后 Boss 名显示取决于文件行序(R6 契约的呈现面后果),混编护卫行时 Boss 名可能显示为护卫名。零内容期(每坐标恰一行)行为不变。落位 8690230,人工复核义务归 Boss 多行内容投放批。
|
||||
2. **Boss 节点遭遇骰区间(经 Q8 演化,原登记形态已消解)**:任务书 P4 乙原登记「Boss 骰读首行 unit_count 区间 = 全行集骰域」——Q8 二裁(每行各掷自己的数量骰)与 T3 落码后,数量骰与 atk 骰均**逐行各掷**,不再存在「首行区间代全行集」的读数面;替代登记面 = **各行骰后数量求和受行集实例总数 ≤4 守卫约束**(spawn fail-fast),内容批投 Boss 多行时按此口径复核节奏。
|
||||
|
||||
## 五、代拍板记录(白名单内九项,详见人闸材料追认清单;全部 commit 留痕)
|
||||
|
||||
行集数组返回形态(Array[Dictionary]/空集=空数组/文件序)·行序违例类别沿用 rowset_rule+坐标定位文案·spawn 逐行数组入参(短数组缺省 -1/空数组全行定值)·atk 区间骰逐行同构(「每行一骰」语义内)·ROWSET_INSTANCE_MAX=4 落位 EnemyTable·Boss 混编叙述取首行·混编断言注入选点 (1,5)/(1,6)·expect_pools 三元键形态·断言数漂移 805→811 追认。
|
||||
|
||||
## 六、异常分级记录
|
||||
|
||||
- **L3 一次**(改前锚丢失,T0):停机呈报→用户裁甲案→解除。详见 L3 报告。
|
||||
- **L2 一次**(池模板键值换代连续 3 轮红,T4):第 1 轮 4 键坐标-敌种映射臆断错;第 2 轮补修 (3,4)/(3,6);第 3 轮定位 3_7 池值手抄错(第一次手写 expect_pools 块时误抄);第 4 轮以「离线解析 tres 全量对账」法收敛,811/0。教训已随 T4 commit 留痕:**三元键换代先离线全量对账再落码**。不动摇任务书结构,不阻断全批。
|
||||
- 事实表 L2 修订(T0):行号漂移 6 项(F2 调用点/F4/F5a/F5b 路径/expect_pools/F5f 处数),全部如实改列任务书 §2,零结构性差异。
|
||||
|
||||
## 七、遗留人闸项
|
||||
|
||||
1. **实机目检归用户**(人闸材料 §一四项,建议抽查项 1+3)。
|
||||
2. **代拍板九项追认**(人闸材料 §二)。
|
||||
3. **Boss 多行投放批义务**(不在本批):unlock_hp_pct 无闸面逐行人工复核+节奏重测+MC 取证先报批+难度带读数(06/07 在册)。
|
||||
4. damage_probe A1 失败 = 基线既有(前批遗留,归伤害数学相关批主自证),非本批引入。
|
||||
@@ -1,36 +0,0 @@
|
||||
# 人闸材料——敌人表行集多行批(迭代 17 卡①,2026-10-07)
|
||||
|
||||
状态:**批内全部提交完成、重闸全绿**;本文件 = 实机目检清单 + 代拍板追认清单,交用户人闸(交付不代执行)。
|
||||
|
||||
## 一、实机目检清单(用户亲手执行;本批纯结构批零内容投放,目检目标 = 无回归确认)
|
||||
|
||||
本批在零内容期(敌人表 19 行不变)行为逐位不变——冒烟 811 项、MC 40 局同种子全字段零差异已机检背书;实机目检只须确认运行面无肉眼可见回归,建议 10 分钟内过完:
|
||||
|
||||
| # | 检查项 | 操作 | 合格判据 |
|
||||
|---|---|---|---|
|
||||
| 1 | 普通战斗生成 | 开局打第一关任意战斗节点 | 敌人数量、血条、名称与改前一致;无多出/缺失的敌人 |
|
||||
| 2 | 数量区间节点 | 打带数量区间的节点(如教学位之外多数节点) | 敌人 1–3 只正常出现,无异动 |
|
||||
| 3 | Boss 战叙述与生成 | 打穿第一关 Boss(食人魔酋长) | Boss 名正常显示「食人魔酋长」;半血解锁技照常弹出 |
|
||||
| 4 | 加载无报错 | 正常启动进入第一关 | 无报错弹窗、无卡死(行集校验换代后的加载面回归) |
|
||||
|
||||
以上全过 = 人闸通过;任何一项异常 = 停机呈报,禁自行修。
|
||||
|
||||
## 二、代拍板追认清单(任务书 §八白名单内已决断项,请用户过目追认;不同意任何一项即回滚该项重议)
|
||||
> **✅ 追认(2026-10-07 用户裁)**:九项全部追认——用户核验口径=「实现相关不挑理,符合架构规范+验证约束测试全绿+表现正确即可」;#1-#5/#7-#9 系纯实现与机检面即日追认;#6 Boss 名取首行系零内容期无可见影响、呈现面待 Boss 多行内容投放批(迭代 18 卡⑤)随内容再核。
|
||||
|
||||
| # | 决断点 | 落法 | 落位提交 |
|
||||
|---|---|---|---|
|
||||
| 1 | 行集数组返回形态 | `Array[Dictionary]`(该坐标全部行、表文件行序=契约序);空集=空数组(`is_empty()` 兼容旧判空习惯) | 8690230(T2) |
|
||||
| 2 | 行序违例错误类别 | 沿用 `rowset_rule`(定位面不变),文案「同坐标多行必须文件内相邻(行序即契约)」并含坐标定位 | 8690230(T2) |
|
||||
| 3 | spawn 入参形态 | `unit_count_override/enemy_atk_override` 改逐行数组(下标=行序);短数组缺省 -1=该行行值路径;空数组=全行定值(旧调用点零适配) | bc73fa3(T3) |
|
||||
| 4 | atk 区间骰逐行同构 | 混编行集 atk 区间同样每行各掷(与数量骰同构,消费序=先逐行数量骰、再逐行 atk 骰)——判读为「每行一骰」预批准语义内的行字段区间骰逐行化,非新增随机源形态;单行行集消费序/次数与既有逐位一致 | bc73fa3(T3) |
|
||||
| 5 | 行集总数常量落位 | `EnemyTable.ROWSET_INSTANCE_MAX := 4`(与数量域常量同位单点收口);守卫在 spawn(骰后值加载期不可判) | bc73fa3(T3) |
|
||||
| 6 | Boss 混编叙述口径(P4 乙知情代价) | `battle_narrator.boss_name` 取行集**首行** display_name——Boss 行集混编护卫时 Boss 名可能显示为护卫名(取决于文件行序);零内容期行为不变;两读数面已写出口报告 | 8690230(T2) |
|
||||
| 7 | 混编断言注入选点 | (1,5)/(1,6)(L1 节点图与全部既有扫描面之外的新深度;新 L 值会被 ceil 封顶不可用);断言后还原表,19 行复核兜底 | c583940(T4) |
|
||||
| 8 | expect_pools 三元键形态 | `"L_D_enemy_id"` 字符串键逐行精确比对(19 行九种,与表内容离线对账) | c583940(T4) |
|
||||
| 9 | 冒烟断言数漂移追认 | 805→811(净增 6 = 混编运行面正反断言六条) | c583940(T4) |
|
||||
|
||||
## 三、遗留人闸项(呈报不停机级)
|
||||
|
||||
1. **实机目检归用户**(上表四项,建议抽查项 1+3 即可覆盖主要回归面)。
|
||||
2. **Boss 多行投放时的 unlock_hp_pct 无闸面**:技能池构成纪律(每池恰一普攻/增益 ≤1/unlock_hp_pct 仅 Boss 行)系文档登记非硬校验——Boss 行集多行放开后该无闸面扩大,后续内容批投放 Boss 多行时须逐行人工复核(已在 06-待办清单条目登记)。
|
||||
@@ -1,81 +0,0 @@
|
||||
# 出口报告:暂停层只读入口批(迭代 17 卡③)
|
||||
|
||||
> 批次:功能性 UI 交互新增(纯呈现零数值改动=零 MC;核心层零改动)。
|
||||
> worktree:`g-plan2-iter17-pause`(分支 `iter17-pause-20261006`,基点 = master 44328b1)。
|
||||
> 任务书:`design/research/任务书-暂停层只读入口批-2026-10-05.md`(v1.1 零待裁点,U0 已发;T0 基线回填已落任务书头注)。
|
||||
> 本报告按「吸收即死」纪律属中间文档,寿命=迭代寿命;结论已同步写进 06 / roadmap / active.md。
|
||||
> 执行备注:本批由两次会话接力完成——T0/T1 与组 B 大部系前任会话(因额度中断),断点续跑会话完成组 B 收尾(两处探针断言口径 L1 修正)与 T3-T5。
|
||||
|
||||
## 一、完成定义五条逐条判定(任务书 §1.2)
|
||||
|
||||
| # | 判定项 | 判定 | 依据 |
|
||||
|---|---|---|---|
|
||||
| 1 | 入口可达 | ✅ | 战斗屏 HUD 右下角+关卡地图屏顶栏各一枚「暂停」常驻角标(P1 丁);主菜单零角标(`_sync_pause_entry` 以 `_level_active`∧屏态门可见性);ui_input case⑯ 角标真点击开层绿、ui_click 两屏 case 绿 |
|
||||
| 2 | 只读数据正确 | ✅ | 冒烟 `_pause_overlay_projection` 5 断言(余额徽/锻造三行/工坊六行/天赋树概览 == MetaProgression 访问器逐项);结构探针只读巡检=层子树游戏语义信号连接白名单外零连接,合法连接恰 2(关闭钮+关层外发);层内唯一控件=「继续」 |
|
||||
| 3 | 公共件复用 | ✅ | 全部构成件经 UiKit 工厂(modal_shell/panel_skinned/label/button/keystone_badge)+现行色板 token;badge 工厂件 Q10 甲收编入 ui_kit 并同步迁营地钥石徽(观感零变化);零新素材零新色值零新字体;ui_contrast 12 对含钥石徽深墨/烛光黄新对 |
|
||||
| 4 | 模态纪律 | ✅ | PauseOverlay 登记进 main.gd 登记册设置层同档、确认弹窗之前(P2 甲);登记序=树序=z 序注记同步换代;带 dim 遮罩;开合走 `_open_modal`/`_close_modal` 单口;`has_open_excluding` 排除式开态查询(只读零副作用);ui_click 守卫 case 绿(他层开着=置灰+emit 兜底拒开) |
|
||||
| 5 | 重闸全绿+人闸 | ✅(机检半)/⏳(人闸待用户) | 机检读数见 §三;实机目检清单=`design/qa/iter17-pause-human-gate-checklist-2026-10-06.md`(A-H 八节:双屏入口/守卫态/只读性数据正确/零动效与排播副作用观察/与设置面关系/代拍板追认/R4 口径披露/机检佐证),**人闸=用户实机目检** |
|
||||
|
||||
## 二、任务卡完成态(T0-T5)
|
||||
|
||||
| 卡 | 状态 | 提交/落点 |
|
||||
|---|---|---|
|
||||
| T0 | ✅(前任) | worktree 建立+基线回填任务书头注(冒烟 783/0·run_all 17 套·probe_gate 默认段绿·F1-F10 实核绿·迭代 15② 交集零命中);HEAD 时点=44328b1 |
|
||||
| T1 | ✅(前任) | c08a901(组 A:pause_overlay.gd 本体+badge 工厂件收编+营地钥石徽迁移+main.gd 接线)+ fc9eb1e(pause_overlay.gd.uid 边车随批) |
|
||||
| T2 | ✅(续跑会话收尾) | d44fdd5(组 B:两屏角标+has_open_excluding+守卫处理器与 _sync_pause_entry 单一同步点+四探针断言+冒烟投影断言+任务书 T0 注记随批)。前任中断于代码写完未跑闸态;续跑两处 L1 修正(见 §四)后全闸绿 |
|
||||
| T3 | ✅(续跑会话) | 无代码改动,闸读数见 §三 |
|
||||
| T4 | ✅(续跑会话) | `design/qa/iter17-pause-human-gate-checklist-2026-10-06.md` |
|
||||
| T5 | ✅(续跑会话) | 本报告+06 状态行+roadmap 卡③行+active.md 快照/台账 380 |
|
||||
|
||||
## 三、闸读数(T0 基线 → 批末)
|
||||
|
||||
| 闸 | 基线(T0) | 批末 | 判 |
|
||||
|---|---|---|---|
|
||||
| 冒烟(run_smoke 全量) | 783/0 | **788/0**(+5=本批投影断言) | ✅ |
|
||||
| run_all | 17 套全绿 | 17 套全绿(exit 0) | ✅ |
|
||||
| ui_input_probe | 默认段绿 | **十七断言 PASS**(+⑯暂停层输入锁:真点击开层/锁期零穿透/关后恢复无残留) | ✅ |
|
||||
| ui_struct_probe | 默认段绿 | 全屏零红(+pause 结构断言+只读性契约+零动效契约) | ✅ |
|
||||
| ui_contrast_probe | 默认段绿 | **12 对测点 PASS**(+钥石徽深墨/烛光黄对,≥4.5:1) | ✅ |
|
||||
| ui_click_probe | 轻闸三件外 | done=true 问题=0(+战斗屏开合守卫 case+地图屏一次性 case) | ✅ |
|
||||
| ui_layout_probe | — | exit 0(观察型布局树工具,无断言判语) | ✅ |
|
||||
| doc 三闸 | — | doc_link_audit 绿 / doc_term_audit 绿 / gdd_lint **存量红**(见 §五-2,本批零新增——06/07 两文件本分支零触碰) | ✅(零新增口径) |
|
||||
| 熵增闸 | — | **存量红**(见 §五-1,主区同红佐证) | 移交披露 |
|
||||
| MC | — | 零跑(纯呈现零数值改动——两入口铁规) | ✅ |
|
||||
|
||||
## 四、L1 修正记录(T2 续跑首轮探针红两处,均为断言口径、非产品代码缺陷)
|
||||
|
||||
1. **ui_struct_probe 只读巡检**:前任落码为「子树全控件 × get_signal_list() 全集」巡检——首跑把 Godot 容器系统对每控件自动建立的布局生命线连接(child_order_changed/item_rect_changed/visibility_changed/size_flags_changed/minimum/maximum_size_changed → 引擎内部脏标记方法)全数误判非法。修正=收敛为**游戏语义信号名清单**(pressed/button_down/button_up/toggled/text_changed/text_submitted/value_changed/item_selected/gui_input/focus_entered/focus_exited/closed 十二名)——这正是任务书 v1.1「巡检信号名清单 T2 落码时列全进探针」的本意;清单外任何新连接一律红须入册。
|
||||
2. **ui_input_probe case⑯ 取格**:原逻辑假设 case⑥ 后域内必余「无旗可挖格」——首跑实测踩中「域恰 2 枚」形态(flag_t 已插旗+dig_t 已揭开后域内零无旗格;旗不可拔=`flag_present` 拒绝在册)。修正=case 挪至全 case 之尾(板面扰动零波及)+域空时前沿移位兜底(真实点击 move 扩大可挖域,复用探针既有 `_pick_frontier` 手法)。修正后一轮全绿,无复发。
|
||||
|
||||
## 五、存量问题移交(均非本批产生,主区 master 同态)
|
||||
|
||||
1. **熵增闸红:`design/diagrams` 子目录越界**——00712d5(2026-10-05 GDD 系统架构总图批)落籍时新增 `design/diagrams/`(JSON+HTML 两件)但未同批修订 CLAUDE.md Project Layout 与 `repo_structure_audit.py` 白名单,属该批收尾漏步;主区现跑同红已实证。处置建议=用户拍板「diagrams 收编为合法类别」或「两件归位」,随下一文档批或直接小批办理;本批不代修(最小批面)。
|
||||
2. **gdd_lint 存量红:06/07 两文件** R3 修订注记/删除线残留/R4 缺版本历史/R7 括号跨度超限——全为历史批次落文注记(本分支对两文件零 diff);doc 三闸「零新增」口径达成。
|
||||
3. **registry 存档版本注记滞后 v4→v5**——生涯批(台账 379)已登记移交,本批未触碰 registry,维持在册。
|
||||
|
||||
## 六、代拍板记录(白名单内决断,commit 留痕,目检可推翻——追认单见目检清单 F 节)
|
||||
|
||||
| # | 项 | 决断 | 出处 |
|
||||
|---|---|---|---|
|
||||
| 1 | 关闭钮文案 | 「继续」(紧凑 90 宽返回钮,设置面先例形制) | T1 c08a901 |
|
||||
| 2 | 层内行序 | 余额徽→属性锻造→道具工坊→天赋树(营地屏同序,MetaTable.FORGE_ATTRS 序) | T1 c08a901 |
|
||||
| 3 | 角标文案与落点 | 「暂停」;战斗屏=HUD 右下角(角距 16px,debug 角标同形制);地图屏=顶栏 GP 徽右侧 | T2 d44fdd5 |
|
||||
| 4 | 断言编号与 case 命名 | ui_input case⑯;ui_struct 契约 ⑧只读⑨零动效;冒烟 `_pause_overlay_projection` | T2 d44fdd5 |
|
||||
| 5 | 只读巡检信号清单 | 十二名游戏语义信号(§四-1) | T2 d44fdd5 |
|
||||
|
||||
## 七、提交哈希清单(worktree 内全部,含前任)
|
||||
|
||||
| 提交 | 内容 |
|
||||
|---|---|
|
||||
| c08a901 | T1:暂停层组 A(pause_overlay 本体+badge 工厂收编+营地钥石徽迁移+main 接线) |
|
||||
| fc9eb1e | T1:pause_overlay.gd.uid 边车随批 |
|
||||
| d44fdd5 | T2:暂停层组 B(两屏角标+守卫+四探针断言+冒烟投影断言+任务书 T0 注记) |
|
||||
| (收口提交) | T4+T5:目检清单+本报告+06 状态行+roadmap 卡③行+active.md |
|
||||
|
||||
## 八、遗留人闸项
|
||||
|
||||
1. **实机目检**(唯一硬人闸):`design/qa/iter17-pause-human-gate-checklist-2026-10-06.md` A-H 八节,重点=双屏入口/守卫态/只读性/零动效/**排播队列排空副作用确认项**(D2——开层瞬间待播明细行瞬时入带,与「暂停」直觉之差,既有各弹层同款行为)。
|
||||
2. 存量移交三项(§五),均不阻塞本批。
|
||||
3. Esc 快捷通道=已在 06 键盘/手柄条登记(P1 丁裁点),随键盘批统一办理,本批不落码。
|
||||
|
||||
终态 = worktree 内全部提交,**未合并、未 push**(合并落回 master 由用户/编排会话执行)。
|
||||
@@ -1,64 +0,0 @@
|
||||
# 人闸目检清单:暂停层只读入口批(迭代 17 卡③)· 2026-10-06
|
||||
|
||||
> 执行=用户实机。启动:Godot 打开 `game/project.godot` 运行即可;逐项勾选,不过项随批登记返工。
|
||||
> 批区间:T0 基线 HEAD=44328b1 → 批末 d44fdd5(T1 c08a901 暂停层本体 / T2 d44fdd5 入口与断言)。
|
||||
> 任务书:`design/research/任务书-暂停层只读入口批-2026-10-05.md`(v1.1)。事实源=06-待办清单「解锁界面与钥石呈现的交互形态(残余:暂停层只读入口)」条。
|
||||
|
||||
## 怎么走到暂停层(操作路径)
|
||||
|
||||
开始冒险 → 选一个战斗节点进战斗 → 战斗屏**右下角**「暂停」小钮(或:打完战斗到关卡地图屏 → 顶栏 GP 徽**右侧**「暂停」小钮)→ 弹出「暂停」只读层 → 看完点「继续」关闭。
|
||||
|
||||
## A · 双屏入口可达(P1 丁——常驻角标主入口)
|
||||
|
||||
- [ ] A1 战斗屏 HUD 右下角有「暂停」角标,点击直接开层(无过渡动画)
|
||||
- [ ] A2 关卡地图屏顶栏「暂停」角标可见可点,点击开层;层叠在地图屏之上,地图屏仍可见
|
||||
- [ ] A3 主菜单(开始菜单)**无**暂停角标——入口只在对局内出现
|
||||
- [ ] A4 冒险结束回主菜单后角标消失(离局熄灭,不误现)
|
||||
- [ ] A5 暂停层开着时点「继续」原样回战斗屏/地图屏,可继续挖格/选路(无状态残留)
|
||||
|
||||
## B · 入口守卫(他层开着=角标置灰不可点)
|
||||
|
||||
- [ ] B1 战斗中先开图例(或触发三选一/商店/营地等任一弹层)→ 暂停角标置灰,点击无反应
|
||||
- [ ] B2 关闭该弹层后角标恢复可点
|
||||
- [ ] B3 地图屏自身开着时地图屏角标仍可点(地图屏是常态屏,不算「其他模态」)
|
||||
- [ ] B4 暂停层自己开着时,再点任一处角标无反应(不可叠开第二层)
|
||||
|
||||
## C · 只读性与数据正确(P3 甲——余额+三柜台进度)
|
||||
|
||||
- [ ] C1 层内唯一可点控件=「继续」关闭钮;无任何购买/切换/滑杆类控件
|
||||
- [ ] C2 钥石余额徽与营地屏顶栏钥石徽同形制(烛光黄底+深墨字+钥石图标),数字=当前真实余额
|
||||
- [ ] C3 属性锻造三行(攻击/生命/防守族)= 已购等级「Lv n」,与营地柜台一读数一致
|
||||
- [ ] C4 道具工坊六行解锁态(未解锁/已解锁/已解锁·能力封存中/已退役)与累计通关进度分数,与营地柜台二一致
|
||||
- [ ] C5 天赋树概览=已购节点聚合文案(零已购时显示空态句「尚未购买任何节点」),与营地柜台三一致
|
||||
- [ ] C6 层开着时回营地柜台改数值(如买一级锻造)不可行(层无通路);关闭层后重新打开,显示为新值(实时读数)
|
||||
|
||||
## D · 零动效与排播副作用观察(P4 甲 + T4 指定观察项)
|
||||
|
||||
- [ ] D1 层进出均为直开直关——无淡入淡出/滑入等过渡动画
|
||||
- [ ] D2 **排播排空副作用**(确认项):战斗明细演播进行中(连续挖格后立刻)开暂停层——待播明细行会被瞬时排空入带(跳过演播节奏,行带直接补完整)。这是与「暂停」直觉的差异点:**本层只是查看层,不冻结战斗演算与演播**(既有各弹层同款行为)。确认此表现可接受,或登记异议
|
||||
- [ ] D3 减动效开关开/关两态下,层进出表现一致(本层零动效,开关无新增消费)
|
||||
|
||||
## E · 与设置面的关系(P2 甲——登记同档)
|
||||
|
||||
- [ ] E1 主菜单开设置面:无暂停角标出现(两层面不共存——设置入口在主菜单,暂停入口在对局内)
|
||||
- [ ] E2 层级遮挡关系抽检:确认弹窗盖在暂停层之上、暂停层盖在图例/商店/营地之上(登记序=树序=遮挡序)
|
||||
|
||||
## F · 代拍板追认单(白名单内已落,目检可推翻)
|
||||
> **✅ 追认(2026-10-07 用户裁)**:六项全部追认——纯机检面 F6 即日追认;可见面 F1-F5 追认其「落法合理」,最终观感以实机目检为准(目检推翻即按「推翻改法」列改)。
|
||||
|
||||
| # | 项 | 已落值 | 推翻改法 |
|
||||
|---|---|---|---|
|
||||
| F1 | 关闭钮文案 | 「继续」(紧凑 90 宽返回钮,设置面先例形制) | 改「返回」等一词换文案一处 |
|
||||
| F2 | 层内行序 | 余额徽 → 属性锻造 → 道具工坊 → 天赋树(营地屏同序) | 顺序对调=一处移动 |
|
||||
| F3 | 角标文案与位置 | 「暂停」;战斗屏=HUD 右下角(角距 16px)、地图屏=顶栏 GP 徽右侧 | 换角/换角距=锚点一处 |
|
||||
| F4 | 层标题与副题 | 「暂停」+「查看本局钥石与永久强化进度(只读——购买请回营地)」 | 文案一处 |
|
||||
| F5 | 天赋树空态句 | 「尚未购买任何节点(天赋树在营地柜台三)」 | 文案一处 |
|
||||
| F6 | 断言编号与 case 命名 | 探针 case⑯/struct 契约 ⑧⑨(机检面,不涉观感) | 仅重命名时改 |
|
||||
|
||||
## G · 数据口径披露(R4 快照口径,机检佐证外的人闸知情项)
|
||||
|
||||
暂停层展示值=**每次开层瞬间**实时读取元进度访问器拼装的快照(余额/锻造三行/工坊六行/天赋树概览七类访问器),快照只活到本次关层,重开重取——层开着期间外部数值不会变动(层内零写通路),不存在「层数字过期」问题。机检侧:冒烟投影一致性 5 断言(展示值==访问器逐项)+ 结构探针只读巡检(层子树游戏语义信号连接白名单外零连接,合法连接恰 2=关闭钮与关层外发)全绿。
|
||||
|
||||
## H · 机检佐证(已全绿,实机只抽核)
|
||||
|
||||
冒烟 788/0(基线 783/0,+5=本批投影断言)· run_all 17 套全绿 · ui_input 17 断言(含⑯暂停层输入锁)/ui_struct 全屏零红(含 pause 结构+只读巡检+零动效契约)/ui_contrast 12 对测点(含钥石徽新对)/ui_click done=true 问题=0/ui_layout exit0 · doc 三闸零新增(06/07 存量注记红系历史批次落文,本批零触碰;design/diagrams 熵增越界系 00712d5 总图批落籍漏步,主区同红——两存量均已移交登记,非本批产生)· 素材零触碰(零新素材零新色值零新字体,全部构成件=UiKit 工厂件+现行色板 token)· MC 零跑(纯呈现零数值改动)
|
||||
@@ -1,103 +0,0 @@
|
||||
# 出口报告:生涯界面实装批·期一(迭代 18 卡④)
|
||||
|
||||
> 批次:纯呈现 + 存档 meta 域追加(数值零改动=MC 零跑;核心循环零触碰)。
|
||||
> worktree:`g-plan2-iter18-career`(分支 `iter18-career`,基点 = cf2aa03——含迭代 18 卡③⑤⑦全部落籍改动)。
|
||||
> 任务书:`design/research/任务书-生涯界面实装批-2026-10-07.md`(v1.2 裁点全裁——P1-P3 全甲,2026-10-07 用户令代解人闸)。
|
||||
> 本报告按「吸收即死」纪律属中间文档,寿命=迭代寿命;结论已同步写进生涯.md(v0.2)/07-体验验证清单⑲/roadmap 卡④行。
|
||||
> 本报告由执行 agent 产出,active.md 快照与台账条目以草稿形式供主控誊入(active.md 禁碰铁律)。
|
||||
|
||||
## 一、完成定义六条逐条判定(任务书 §1.2)
|
||||
|
||||
| # | 判定项 | 判定 | 依据 |
|
||||
|---|---|---|---|
|
||||
| 1 | 入口可达 | ✅ | 主菜单「营地与系统」组「生涯」钮(营地钮与设置钮之间,`ui_assembler.gd:154`);ui_struct 入口点击链(合成点击真路径 pressed.emit → `_open_career`)+ui_click 行为级复验全绿;关闭回返开始层断言(ui_struct/ui_click 双落) |
|
||||
| 2 | 汇总页数值逐项一致 | ✅ | 冒烟 `_career_overlay_projection` 9 断言——六类九项逐行 == SaveManager 计数访问器/MetaProgression 访问器读数(总局数/通关局数/各关通关次数/Boss 首杀总杀/钥石徽/锻造合计/工坊解锁计数/天赋树聚合);投影拼装与 `main._career_data` 同构(同访问器族) |
|
||||
| 3 | 终身计数域存档 v6 三断言 | ✅ | 升档幂等(v5 样档升 v6 写盘再载零漂移)/新档缺省(两域全零白板可玩)/收束自增恰一(apply 直呼+settle_adventure 真实收束链各一,通关局与中止局双夹具)——冒烟 ⑬⑭ 段 |
|
||||
| 4 | 生涯页零写通路 | ✅ | ui_struct ⑩只读巡检:子树游戏语义信号连接白名单外零连接、恰 2(返回钮 pressed+closed 外发——17 卡③形制);⑬零跳转契约:页内除「返回」外七导航词零钮;ui_click 局内零生涯入口件断言 |
|
||||
| 5 | 结构探针入轻闸 | ✅ | ui_struct career 屏 `_audit` 全族(互压/等宽等高/出屏/零尺寸)+⑪零动效+⑫登记序树序契约(P3 甲两序失守即红)——probe_gate 默认段绿 |
|
||||
| 6 | 旧档兼容 | ✅ | 冒烟 v5 现役档形态(计数域两键不存在)升 v6 载入成功+生涯页正常显示缺省零值+既有钥石原样(投影段末两断言);v5 档带既有值迁移只增不改(⑬首断言) |
|
||||
|
||||
## 二、任务卡完成态(T0-T5)
|
||||
|
||||
| 卡 | 状态 | 提交/落点 |
|
||||
|---|---|---|
|
||||
| T0 | ✅ | worktree 基线复跑=冒烟 814/0(与现行 master 基线同数);§2 现状逐条按卡⑦后新态实查复核(F8 装配点=:103-199/F10 登记册=:349 现役十一层/version==5 旧断言现行行号=:4751/:4849);生涯.md v0.1 对读——期一范围与任务书 §3 零出入(S1 未触发),开工 |
|
||||
| T1 | ✅ | 669c1c7——存档 v6:SAVE_FORMAT_VERSION 5→6+meta 两新域 adventure_total/adventure_cleared+_migrate_v5_v6(沿现役迁移链,_normalize 补缺省=幂等)+只读访问器两件+写入单口=apply_adventure_summary 收束口+三处同步(smoke version==6 两处/registry save_file 条目 v4→v6 换代〔v5 批漏账补齐〕/save_manager:39 版本史注释;顺手校正迁移链陈旧注释 v1→v3→v1→v6)+断言族 7 件——冒烟 821/0 |
|
||||
| T2 | ✅ | 62d433c——收束链入账断言(真实收束挂点 MetaProgression.settle_adventure 全链恰一;通关局/中止局双夹具;接线零新增代码——apply_adventure_summary 即三结局唯一收束口)——冒烟 823/0 |
|
||||
| T3 | ✅ | e5cd9bd——career_overlay.gd 新视图(page_shell 暖亮全屏页·商店同壳+汇总段六类九项两分组)+主菜单入口钮+组合根接线(暂停层后 addChild〔P3 甲树序同步〕+登记册插位+开合仿设置面先例+_career_data 快照投影)+冒烟投影断言 11 件——冒烟 834/0+.uid 边车与 class_name 编辑器扫描随批 |
|
||||
| T4 | ✅ | dc2d514——ui_struct 生涯屏四契约+ui_click 生涯段+ui_contrast 三测点随批入表;随批返工=对比度亮墨族换装(T3 初版行名/行值用深墨族压深棕页底 ~1.3:1 违 §7.2,全换 WARM/CANDLE/INK_L_GOLD 既有 token 零新色值,测点三对落闸防复发)——probe_gate 全绿+click 0 问题+layout exit 0 |
|
||||
| T5 | ✅ | 本报告+生涯.md v0.2+07-⑲ 目检条目+roadmap 卡④状态列;重闸读数见 §三 |
|
||||
|
||||
## 三、闸读数(T0 基线 → 批末)
|
||||
|
||||
| 闸 | 基线(T0) | 批末 | 判 |
|
||||
|---|---|---|---|
|
||||
| 冒烟(run_smoke 全量) | 814/0 | **834/0**(+20=T1 七件+T2 两件+T3 投影十一件) | ✅ |
|
||||
| run_all(game/tests) | 17 套全绿 | 17 套全绿(exit 0) | ✅ |
|
||||
| ui_input_probe | 十七断言 | 十七断言 PASS(本批零改动零回归) | ✅ |
|
||||
| ui_struct_probe | 全屏零红 | 全屏零红(+career 结构族+四契约) | ✅ |
|
||||
| ui_contrast_probe | 12 对测点 | **15 对测点 PASS**(+生涯页行名/行值/组帽三对,≥4.5:1) | ✅ |
|
||||
| ui_click_probe | done=true 问题=0 | done=true(budget=16260)问题=0(+生涯段) | ✅ |
|
||||
| ui_layout_probe | exit 0 | exit 0(观察型,无断言判语) | ✅ |
|
||||
| doc 三闸 | 零新增口径 | doc_link_audit 命中四处均在未触碰文件(06 待办清单×2/奇物.md×2=存量);doc_term_audit 命中存量(03/06,本批文件零命中);gdd_lint 默认域 06/07 存量红维持,本批触碰文件违例计数净降(07: 26→22/生涯.md: 7→6,零新增) | ✅(零新增口径) |
|
||||
| 熵增闸 | 存量红 | 存量红维持(design/diagrams 越界——17 卡③报告已移交披露,主区同态,本批零触碰) | 移交披露 |
|
||||
| MC | — | 零跑(论证见 §四) | ✅ |
|
||||
|
||||
## 四、MC 零跑静态论证(任务书 §6/§5-T5)
|
||||
|
||||
1. **改动面枚举**:本批全部改动=①存档 meta 域新增两计数键+读档迁移(_normalize 补缺省);②收束口自增两行(apply_adventure_summary 头部,纯计数副效应,不触碰钥石/通关次数/Boss 入账既有算式);③新 UI 视图+装配+组合根开合接线(纯呈现);④探针/冒烟断言面。
|
||||
2. **零玩法数值触碰**:data/tables 零 diff、ConfigDB/RngService/战斗/扫雷/奖励核心零 diff——MC 的测量对象(通关率/难度带/奖励期望)的输入侧无任何变化。
|
||||
3. **对局行为等价论证**:冒险内行为路径(挖雷/战斗/奖励/商店/天赋)与本批改动零交集;唯一行为差异=收束时存档多记两个计数键(不参与任何玩法判定——访问器消费面仅生涯页呈现),对局内随机流(RngService 单盐单计数器)消费序列零变化,同种子对拍预期逐位一致(未跑,静态论证;如需实证归数值批统一 MC 窗口)。
|
||||
4. **两入口铁规**:本批无数值验证场景,任务书 §6 预设 MC 零跑;未发生任何「需要跑批才能继续」情形(S 停机点零触发)。
|
||||
|
||||
## 五、代拍板追认单(白名单内决断,commit 留痕,实机目检可推翻)
|
||||
|
||||
| # | 项 | 决断 | 出处 |
|
||||
|---|---|---|---|
|
||||
| 1 | 字段命名 | `adventure_total`(总局数)/`adventure_cleared`(通关局数)——任务书 provisional 白名单命名原样采用 | T1 669c1c7 |
|
||||
| 2 | 总局数口径 | 开局即计:三结局(通关/失败/放弃)同经收束恰计一次——白名单预裁「含放弃与失败的所有开局」 | T1 669c1c7 |
|
||||
| 3 | 九项行序与分组 | 组一·冒险战绩=总局数→通关局数→各关通关次数→Boss 首杀→Boss 总击杀;组二·资源与成长=钥石余额→属性锻造→道具工坊→天赋树(「六类九项」=各类逐项一行;Boss 首杀/总杀拆两行) | T3 e5cd9bd |
|
||||
| 4 | 页内分组标题 | 「冒险战绩」「资源与成长」 | T3 e5cd9bd |
|
||||
| 5 | 各关通关次数行形态 | 一行三关「关名 ×N · 关名 ×N · 关名 ×N」(关名取 level 表 display_name 带层号) | T3 e5cd9bd |
|
||||
| 6 | 入口钮形制与文案 | 「生涯」普通钮(同设置行形制,不加图标——既有图标集无生涯语义贴切件,宁缺勿错)+tooltip;排位=营地钮后、设置钮前 | T3 e5cd9bd |
|
||||
| 7 | 页标题与顶条 | 「生 涯」(FS_TITLE·WARM,商店顶条同款);关闭钮=「返回」紧凑 90 宽(设置/暂停面先例形制) | T3 e5cd9bd |
|
||||
| 8 | 页底色与文字墨 | page_shell 暖亮底(商店同壳主菜单页族);文字=亮墨族(WARM/WARM_SOFT/CANDLE/INK_L_GOLD——深墨族对深棕底 1.3:1 违 §7.2 的返工,见 §六-3) | T4 dc2d514 |
|
||||
| 9 | 通关局数行括注 | 「N 局(三关全通)」——口径自解释(P1 甲字面口径的页内显形) | T3 e5cd9bd |
|
||||
| 10 | 天赋树空态句 | 「尚未购买任何节点」(暂停层同构但去营地指引括注——零跳转 P4 甲口径收敛) | T3 e5cd9bd |
|
||||
| 11 | 断言编号与 case 命名 | ui_struct 契约 ⑩只读⑪零动效⑫登记树序⑬零跳转;ui_click 生涯段;冒烟 `_career_overlay_projection`/⑬⑭段 | T4 dc2d514 |
|
||||
|
||||
## 六、过程红灯披露(全部自救闭环,S 停机点零触发)
|
||||
|
||||
1. **冒烟 Parse Error×2(T3 落码当日)**:`var li := i + 1` 在无类型 `db.level_count()` 循环上触发 Variant 推断失败(smoke_all.gd:4367 首发同日修)+一次编辑误合并行尾(4420)——均显式 `int` 类型化/还原换行后一轮全绿,产品代码同型写法同步修正(main.gd `_career_data`)。
|
||||
2. **class_name 全局缓存未注册风险(规范 4.5 预防性履行)**:新增 `CareerOverlay` 后跑一次 `--headless --editor --quit` 编辑器扫描刷新全局类缓存+生成 .uid 边车(随 T3 提交),探针载入 main.tscn 前置完成——零红灯发生。
|
||||
3. **对比度违例自查返工(T4,机制卡点非停机点)**:T3 初版生涯页行名/行值沿用暂停层深墨族 token(INK_LABEL/INK_TITLE),落闸自查发现其对 page_shell 深棕页底仅 ~1.3:1(暂停层系石板亮面板承载深墨、生涯页系深底全屏页——两壳底色明暗相反,照抄即违 art-bible §7.2)。返工=全页换亮墨族既有 token(零新色值)+ui_contrast 落三测点防复发。教训=「复用 UiKit 公共件」须连同其设计底色前提一起复用,跨壳搬运 token 先算对比度。
|
||||
|
||||
## 七、实机目检清单(人闸——用户执行;⑲ 条目已随批登记 07)
|
||||
|
||||
| # | 检查项 | 操作 | 合格判据 |
|
||||
|---|---|---|---|
|
||||
| A | 入口可达 | 主菜单「营地与系统」组查看并点击「生涯」 | 钮在营地与设置之间;点击开全屏页;无报错 |
|
||||
| B | 页呈现六类九项 | 开页逐行看 | 两组九行齐(组一·冒险战绩五行/组二·资源与成长四行);文字清晰可读;开/关无过渡动画 |
|
||||
| C | 数值与存档实况一致 | 对照实玩:完成一局三关全通+中途放弃一局后开页 | 总局数=2(放弃也计);通关局数=1;各关次数与实玩一致;Boss 首杀/总杀/钥石/锻造/工坊/天赋树与营地读数一致 |
|
||||
| D | 旧档载入 | 用升级前 v5 存档启动(或改版本号模拟)开页 | 正常显示无报错;总局数/通关局数从 0 起计;钥石等既有进度原样 |
|
||||
| E | 关闭回返 | 页内点「返回」 | 回主菜单;「继续上局」钮可见性正确恢复;再开营地/设置不受影响 |
|
||||
| F | 零跳转与局内零入口 | 页内找导航钮;进对局找生涯入口 | 页内除「返回」外无任何前往钮;战斗屏/地图屏/暂停层无生涯入口 |
|
||||
| G | 与他层关系(抽查) | DS_DEBUG 会话开浮窗后开生涯页、关闭生涯页 | 生涯开着时浮窗暂隐、关闭生涯后浮窗恢复(ModalStack 遮挡语义);生涯开着时棋盘输入锁定 |
|
||||
| H | 存档往返 | 开页后退出游戏重进 | 计数读数不丢(v6 写盘读回);高版本拒读行为不受影响 |
|
||||
|
||||
## 八、台账条目草稿(供主控誊入 active.md,编号请主控按序分配)
|
||||
|
||||
> **迭代 18 卡④生涯界面实装批·期一落地(worktree iter18-career,基点 cf2aa03,批内提交 669c1c7/62d433c/e5cd9bd/dc2d514/T5 收口提交)**:主菜单「营地与系统」组新增「生涯」一级入口(与营地平级)+page_shell 暖亮全屏只读页(汇总段六类九项两组逐行:总局数/通关局数〔三关全通才计,P1 甲〕/各关通关次数/Boss 首杀/总杀/钥石/锻造/工坊/天赋树)+存档 v6(meta 两新域 adventure_total〔开局即计含放弃与失败〕/adventure_cleared,v5 升 v6 幂等迁移 _normalize 补零,写入单口=apply_adventure_summary 收束口;registry save_file 条目 v4→v6 换代补 v5 漏账);生涯层登记序=营地同档(暂停层后确认弹窗前)+树序同步(P3 甲);页内零跳转+局内零入口(P4 甲);期二/期三内容零触碰。闸=冒烟 834/0(基线 814+20)+run_all 17 套+probe_gate 全绿(ui_input 十七断言/ui_struct career 四契约/ui_contrast 15 对)+ui_click 0 问题+ui_layout exit 0+doc 三闸/熵增闸零新增(触碰文件违例计数净降);MC 零跑静态论证四点随出口报告;过程红灯三笔自救闭环全披露(含对比度深墨照抄暂停层误用返工=跨壳搬 token 先算对比度)。实机人闸挂账待用户(07-⑲ 八节目检清单+代拍板追认单十一项随出口报告 design/qa/iter18-career-exit-report-2026-10-07.md)。
|
||||
|
||||
## 九、会话快照草稿(供主控誊入 active.md「当前状态快照」节)
|
||||
|
||||
> 迭代 18 卡④(生涯界面期一)已在 worktree iter18-career 全批落地待合并:主菜单生涯入口+跨局汇总只读页(六类九项)+终身计数域存档 v6 全数上闸,重闸全绿(冒烟 834/0+run_all 17 套+四探针+ui_contrast 15 对+doc/熵增零新增),MC 零跑(静态论证在报告 §四),实机目检人闸待用户(07-⑲)。下一步=主控合并落回 master+用户实机目检;期二(历史回看+N 扩容+用时埋点+P6 营地条带处置)/期三(图鉴)另行立项待用户点名。
|
||||
|
||||
## 十、存量移交(均非本批产生)
|
||||
|
||||
1. 熵增闸红:`design/diagrams` 子目录越界——17 卡③报告 §五-1 已披露移交,本批维持。
|
||||
2. gdd_lint 存量红:06/07 两文件(默认域)——本批触碰后违例计数净降(26→22),零新增。
|
||||
3. doc_link_audit 存量死链四处(06 待办清单×2/奇物.md×2)——未触碰文件,维持。
|
||||
4. registry save_file 条目 v5 漏账(v4→v5 批未同步)——**本批已顺手补齐**(T1 随批 v4→v6 一步到位),非移交项,特此记一笔销账。
|
||||
|
||||
终态 = worktree 内全部提交,**未合并、未 push**(合并落回 master 由用户/编排会话执行)。
|
||||
@@ -1,72 +0,0 @@
|
||||
# 迭代 18 卡③出口报告:武器锻造系统设计提案批(2026-10-07)
|
||||
|
||||
> worktree `g-plan2-iter18-forge`(分支 iter18-forge,基线 adadf56)。纯文档批:零代码、零数据表改动、零游戏测试(冒烟/探针/MC 全部未跑——测试执行两入口铁规)。本报告是中间文档,按吸收即死条款在迭代出口随批退役;台账条目与快照草稿在本文件第五、六节,由主控转记 active.md(本批未触碰 active.md)。
|
||||
|
||||
## 一、提交清单
|
||||
|
||||
| hash | 内容 |
|
||||
|---|---|
|
||||
| 42e9f5d | ③T1: 武器锻造系统设计提案成文——八节框架全齐+原案三条逐条对照+17 裁点全备选案并列+数值 provisional 量纲锚点 |
|
||||
| 6b0fdcf | ③收口: 06「武器锻造系统」专条状态追加提案落盘句 + roadmap 卡③行状态列换代「提案已成文交付待盘问裁决(异步不阻塞)」 |
|
||||
|
||||
交付物:
|
||||
- **提案正文**:`design/research/提案-武器锻造系统-2026-10-07.md`(311 行,待用户盘问裁决)
|
||||
- 收口两处:`design/gdd/06-待办清单.md`(专条状态行追加)、`roadmap.md`(第 71 行状态列)
|
||||
|
||||
## 二、闸读数(改前基线 → 改后对拍,四闸全部零新增违例)
|
||||
|
||||
| 闸 | 基线(adadf56) | 改后(6b0fdcf) | 判定 |
|
||||
|---|---|---|---|
|
||||
| doc_link_audit(--known tools/doc_link_known.txt) | 扫描 41 文件 · 链接 1005 处 · 死链 4 处 · 已知死链 0 处 | 同左(41/1005/4/0,同一批存量:06 两条+奇物两条,均 .zcode/plans、archive、ux 目标类假红在册) | 零新增 |
|
||||
| gdd_lint | 8 文件 · 2 不通过(06-待办清单.md、07-体验验证清单.md,存量表格占比/R3/R4/R7) | 同左(同两文件同款存量) | 零新增 |
|
||||
| doc_term_audit | 41 文件 · 命中 219 处 · 疑似现行 3 处(heavy_multiplier/可选类道具/拔旗,全存量留档类判定) | 同左(41/219/3) | 零新增 |
|
||||
| repo_structure_audit(熵增闸) | 违例 1 处(design/diagrams 子目录越界——迭代 17 存量移交项,主区同红) | 同左(1 处,同一项) | 零新增 |
|
||||
|
||||
本批新增文件(design/research/提案、design/qa/本报告)均不在三闸扫描域(扫描域=design/gdd、design/registry、design/ux);唯一被扫域改动是 06-待办清单.md 状态行一句话,四闸读数逐位持平。
|
||||
|
||||
## 三、完成定义自证(任务书 §1.2 五条逐条判定)
|
||||
|
||||
| # | 完成定义 | 判定 | 证据 |
|
||||
|---|---|---|---|
|
||||
| 1 | 提案文档落 design/research/(命名 提案-武器锻造系统-2026-10-XX.md),§5 框架八节齐全 | **达成** | `design/research/提案-武器锻造系统-2026-10-07.md`,章节 三~十=八节框架(武器实体化/攻击类型轴/护甲实体化/成长曲线/经济与解锁/满级特效/数值框架/迁移面与裁点汇总),另有 〇 原案对照、一 事实基准、二 范围红线三节前置 |
|
||||
| 2 | 全部现役事实引用可溯(file:line/表行),零凭空断言 | **达成** | T0 逐条复核过(meta.tres:7-25 / shop.tres:36-57,68-94,107-109 / config_db.gd:329-334 / hero.tres:8-11,21-27 / hero_table.gd:12-13 / settlement.tres:31-47,50-52,74 / enemy_table.gd:110-113 / enemy.tres 21 行 armor_type 分布 light×14/heavy×4/ward×1 逐行核对 / feats.tres:29-31,47-49,205-207 / battle_orchestrator.gd:172,830,846-854,1155,1294 / damage_controller.gd:19,513 / effect_engine.gd:28-35;正主文档对读=战斗结算/敌人系统/元进度/奇物/冒险结构五份)。任务书 §2 六事实(F1-F5+F6)全部验证一致,**无 S1 失真、未触发停机** |
|
||||
| 3 | 每个设计裁点呈全备选案(含淘汰依据+各自代价) | **达成** | 17 个裁点(1/1a/1b/1c/2a/2b/2c/3a/3b/3c/4a/4b/5a/5b-1/5c/6/8a)全部甲乙丙(或甲乙)并列,逐案带淘汰依据与代价;推荐列显式标注为提案立场非打包方案;第八节(特效深度)在节内补三案并列块 |
|
||||
| 4 | 数值只给框架与量纲(provisional),终值显式标注归 Alpha 收官 M4 数值批 | **达成** | 第九节专表:七行量纲锚点全部标 provisional+归宿 M4;第三节基础 AC 锚点、第七节定价/cap、第八节特效值同口径;全文零投值承诺(第九节总承诺+红线 1) |
|
||||
| 5 | 06 专条与 roadmap 卡③行状态随批换代 | **达成** | 06 专条状态行追加提案落盘句(6b0fdcf);roadmap 第 71 行状态列=「🔨 提案已成文交付(2026-10-07)待盘问裁决(异步不阻塞)」(6b0fdcf) |
|
||||
|
||||
## 四、全裁点一览表(T2 转呈用户盘问用——每裁点一行备选案摘要)
|
||||
|
||||
| # | 裁点 | 备选案摘要 | 提案推荐 |
|
||||
|---|---|---|---|
|
||||
| 1 | 武器实体化程度 | 甲=纯升级路线(攻击锻造改名+类型标签,最省但差异化感知最弱)/乙=武器槽实体(装备+库存,感知最强但单开实体系统超诉求、不可逆)/丙=当前武器单选+每件独立等级与特效(中点、两向可逆) | 丙 |
|
||||
| 1a | 携带数 | 单持 / 多持轮换(收益被穿刺弹/魔法矢直伤件承载、战斗内换械动行动经济) | 单持 |
|
||||
| 1b | 换械时机 | 营地内 / 战斗中(结算管线无"中途改类型"位;与"克制归冒险前配型"既有定稿一致) | 营地内 |
|
||||
| 1c | 换械收费 | 免费 / 小额收费(收费惩罚构筑尝试,逆 F6 诉求) | 免费 |
|
||||
| 2a | 类型轴共存 | 叠加(武器类型与格面直伤件独立、共用一张矩阵)/替代(接管,强耦合+砍内容池)/互斥(同类型件不出现,无依据收窄) | 叠加 |
|
||||
| 2b | 矩阵扩维 | 不扩(九格结构冻结,武器三型正好映射)/加第四甲型(矩阵 4×3 全链成本) | 不扩 |
|
||||
| 2c | 死条件 magic_vs_magic | 删行(有先例)/保留+注记(零代码但废卡占池)/改值复活 magic_vs_ward(一行 value,L2 Boss 战专长;行为变更归实装批配测试) | 丙(执行归实装批) |
|
||||
| 3a | 甲域定名 | 魔法甲=ward(现役第三型中文正名即"魔法护甲",零扩域)/新造第四甲域(全链成本、无可感知差异点) | 甲 |
|
||||
| 3b | 甲型可感面 | 基础 AC 差异先行+克制反向留结构位(敌方攻击无类型不查矩阵=克制反向现行无数值效果,显式收窄)/等敌方攻击类型批捆绑(无限期推迟原案诉求) | 甲 |
|
||||
| 3c | 护甲升级结构 | 每型独立路线(逐句对齐原案)/单轨+甲型当门槛(表达不了三型各异基础 AC) | 甲 |
|
||||
| 4a | 成长曲线形状 | 前缓后陡(正面回应 F6)/线性(现役状,零呼应)/阶梯(体感跳跃、调参空间最小) | 甲(只锁方向,值归 M4) |
|
||||
| 4b | 解锁节奏 | 锻造内自闭环(原案精神)/绑关卡进度(与营地定位冲突、首局绑死剑) | 甲 |
|
||||
| 5a | 柜台承载 | 就地改造属性锻造柜台(攻击/护甲行改造、生命行保留)/新第四柜台(拆剩一行、界面重排、"锻"字三处更乱)/塞道具工坊(货币与职责不同源) | 甲 |
|
||||
| 5b-1 | 货币 | 纯金币(同现役攻击锻造)/金币+钥石(解锁被 Boss 掉落绑死)/纯钥石(与"攻击力提升改造"相逆) | 纯金币 |
|
||||
| 5c | 材料经济 | 纯金币(零新经济面,原案未提材料)/金币+材料(grant_material 账号层化=新存档域+同名混淆)/纯材料(脱钩金币经济,实装最大) | 纯金币 |
|
||||
| 6 | 满级特效深度 | 全复用现役效果类型(零代码但表现力受限)/复用为主+三条新参数位(暴击面/折扣档/护盾量,实装批小改)/引入新效果类型(引擎闭集高代价变更,无候选真需要) | 乙 |
|
||||
| 8a | 货架现名 | 保留"攻击锻升" / 改"训练·攻击"式中性名(防与营地"武器锻造"品牌混淆;呈现面归实装批) | 随实装批呈现细节定 |
|
||||
|
||||
配比预设挂起批边界注记(裁点 5d,非呈裁项):A4 配比预设批 2026-10-05 挂起冻结维持,提案不预设其重启口径;实装落地后该批若重启,其任务书须核对预算包络×武器类型、容量柜台竞争两处交汇面。
|
||||
|
||||
## 五、active.md 台账条目草稿(主控转记用,完整白话句)
|
||||
|
||||
- 迭代 18 卡③(武器锻造系统设计提案批)当日完成:T0 把任务书 §2 的六条现状事实逐条回到代码与数据表复核(营地锻造行、商店货架行族、主角攻击类型轴与甲型轴、克制矩阵九格、专长死条件、敌方装甲分布、效果引擎词表),全部与任务书一致,没有触发事实失真停机。T1 把用户 playnote 的武器锻造三条原案写成设计提案(design/research/提案-武器锻造系统-2026-10-07.md,提交 42e9f5d):提案对原案三条的关系逐条写明(剑=放大、长枪法杖=放大且直接启用代码里已登记的休眠类型轴、护甲=克制反向一处显式收窄+基础 AC 各异承接);共 17 个设计裁点全部甲乙丙并列给出淘汰依据与代价,推荐=武器做"当前武器单选+每件独立等级与特效"的折中形态、类型轴与棋盘直伤件叠加共存、魔法甲直接对应现役"魔法护甲(ward)"不扩矩阵、甲型差异先行以基础 AC 表达、成长曲线前缓后陡、就地改造营地属性锻造柜台、纯金币不引入材料、满级特效复用现役效果引擎词表为主;另发现专长里 magic_vs_magic 条件在现行甲型域下永不触发(废卡),给了删行/注记/改值复活三案(推荐改成 magic_vs_ward 变成 Boss 战专长,执行归实装批)。全部数值只有量纲和锚点,终值归 Alpha 收官 M4 数值批。收口改了 06-待办清单「武器锻造系统」专条状态行和 roadmap 卡③行状态列(提交 6b0fdcf)。四道文档闸与目录结构闸改前改后读数逐位持平,零新增违例。提案现在等用户盘问裁决,裁决异步进行不阻塞迭代 18 收尾;裁决通过后实装批另行立项。
|
||||
|
||||
## 六、active.md 当前状态快照草稿(主控转记用)
|
||||
|
||||
> 迭代 18 卡③(武器锻造系统设计提案批,worktree g-plan2-iter18-forge 分支 iter18-forge 基线 adadf56)**已完成待合并**:纯文档零代码零测试,两提交 42e9f5d(提案成文)+6b0fdcf(06 专条+roadmap 卡③行状态换代)。产物=design/research/提案-武器锻造系统-2026-10-07.md(17 裁点全备选案,推荐案随文)。闸=doc 三闸+熵增闸改前改后逐位持平零新增(死链 4/失效 lint 存量 2 文件/退役词疑似 3/结构越界 1,全为基线存量)。**待办=①用户盘问裁决提案(异步,T2 人闸;裁决结果由后续批回写 06 专条与 roadmap)②合并落 master(主控统一执行)。** active.md 本批未触碰(台账与快照草稿见出口报告第五、六节,design/qa/iter18-forge-exit-report-2026-10-07.md)。
|
||||
|
||||
## 七、停机点与遗留
|
||||
|
||||
- **停机点:无。** T0 未发现任务书 §2 事实失真(S1 未触发);本批无机制卡点。
|
||||
- 遗留(非本批义务,均已显式登记):①T2 人闸=提案盘问裁决,异步进行,轮次扩展估时另计(任务书 §6:每轮追加约 0.25d);②实装批另行立项,以本提案+裁决记录为任务书输入;③magic_vs_magic 死条件处置归实装批;④design/diagrams 目录越界为迭代 17 移交存量,主区同红,非本批引入。
|
||||
@@ -1,132 +0,0 @@
|
||||
# 出口报告:混编遭遇首批投放批(迭代 18 卡⑤)
|
||||
|
||||
> 成文 2026-10-07。执行 worktree `D:/code/g-plan2-iter18-mixenc`(分支 `iter18-mixenc`,基点 `adadf56`)。任务书 = [任务书-混编遭遇首批投放批-2026-10-07.md](../research/任务书-混编遭遇首批投放批-2026-10-07.md)(v1.2 裁点全裁:P1-P4 全甲)。前置 = 迭代 17 卡①敌人表行集多行批(落籍 `9cc4b8b`,在基线内)。性质 = 纯内容批零代码:只动 `enemy.tres` 数据行 + 表注释 + 冒烟断言面随迁 + 07 清单两处。
|
||||
|
||||
---
|
||||
|
||||
## §1 T0 开工三查与机制到位复核(2026-10-07 实测)
|
||||
|
||||
| 查项 | 结果 |
|
||||
|---|---|
|
||||
| 基线冒烟 | `python tools/run_smoke.py` → **811 项检查 0 项失败,三闸全过**(退出码/摘要失败数/脚本错误扫描),无 SCRIPT ERROR——与主控 2026-10-07 实测 master `adadf56` 的 811/0 同数,基线成立 |
|
||||
| git status 归属 | worktree 树干净(nothing to commit),分支 `iter18-mixenc`,头 = `adadf56`;无并行卡遗留脏文件 |
|
||||
| 卡①机制①行集校验放开 | `enemy_table.gd` 原「每行集恰一敌种」校验已退役,现为 R6 行序纪律校验(同坐标多行必须文件内相邻,违例报 `rowset_rule`);同坐标同敌种第二行仍由 dup_key(键含 enemy_id)拦截 |
|
||||
| 卡①机制②每行一骰数量骰 | `battle_orchestrator.gd` 遭遇骰段已逐行化:按行序逐行数量骰、再逐行 atk 骰(区间宽度为零的行不掷 = 定值不骰既有口径);单行行集消费序/次数逐位一致 |
|
||||
| 卡①机制③expect_pools 新键 | `smoke_all.gd` 池模板断言已换代 `(L,D,enemy_id)` 三元键(19 条目逐行精确比对) |
|
||||
| 卡①机制④实例总数守卫 | `enemy_table.gd` `ROWSET_INSTANCE_MAX = 4`;`unit_container.gd` spawn 行集受理逐行实例化、各行骰后数量求和 ≤4 fail-fast(超限当场拒启) |
|
||||
| 07:174 义务对读 | 「后续内容批义务」条在档:MC 取证顺延 Alpha 收官 M4 数值批统一执行(届时另令);「Boss 遭遇骰读首行区间」旧口径在文——本批 T5 订正为逐行骰口径 |
|
||||
|
||||
**结论:卡①四件机制全部在 master(=本 worktree 基线)生效,无机制缺口,S1 停机点不触发。**
|
||||
|
||||
## §2 T1 设计稿——候选组合 × 坐标全备选案(留痕,白名单内代拍板)
|
||||
|
||||
### 2.1 方案族(P1 甲已裁,不再重议)
|
||||
|
||||
L2 单点试水,「巨蜘蛛 + 熊地精」双行混编,一处普通节点(d5/d7 候选二选一,属代拍板白名单「候选坐标在同方案族内的微调」)。Boss 多行不入首批(P2 甲);L1 教学段零混编(P3 甲);新行全行值复制同敌种既有行(P4 甲)。
|
||||
|
||||
### 2.2 坐标候选全案对照
|
||||
|
||||
| 案 | 行集构成(行序 = 文件序 = 生成序) | 静态最坏骰和 Σ(unit_count_max) | 冲突排查 | 裁决 |
|
||||
|---|---|---|---|---|
|
||||
| **d5 案**(选定) | 既有 (2,5) 熊地精重击手(固定 1)+ 新增 giant_spider 行(复制 (2,6) 巢群行值:unit_count 2 / max 3) | 1 + 3 = **4 ≤ 4 ✓** | d5 非首遇位(巨蜘蛛首遇位 = (2,4) 固定 2 教学位,不动);非 Boss 位(d9 不动);(2,5,bugbear) 无 dup 冲突(新键 (2,5,giant_spider));**d5 不在 L2 min/max 存储种子集成路径上**(min 0→1→3→7→8→9 / max 0→2→6→7→8→9 均不含节点 5)——冒烟集成跑测零波及 | **选定** |
|
||||
| d7 案(淘汰) | 既有 (2,7) 巨蜘蛛巢群 [2,3] + 新增 bugbear 行(仅容固定 1 搭档:复制 (2,0) 熊地精 或 (2,5) 重击手行值) | 3 + 1 = 4 ≤ 4 ✓(但零余量顶格) | 淘汰依据:①**d7 同时落在 L2 min/max 两条存储种子集成路径上**(win_min/win_max 通关断言 + 手动驱动选节点 6 开战场面),难度变化直接进入集成跑测的战斗与 RNG 消费面,首批试水波及面最大;②Σ 顶格 4 无余量,静态判据贴守卫上限;③搭档被区间挤到只剩固定 1 一种形态,设计空间最窄;④(2,7) 本就是 L2 最强蜘蛛行(atk 2 / [1,3] / ac 3),再叠伙伴 = 在最难普通节点二次加难,与「单点最小试水」相悖 | 淘汰 |
|
||||
|
||||
### 2.3 d5 案内子候选——新行行值来源(P4 甲执行细则,同方案族微调)
|
||||
|
||||
| 子案 | 复制来源 | 行值 | Σ 自证 | 裁决 |
|
||||
|---|---|---|---|---|
|
||||
| 甲1:复制 (2,4) 首遇教学行 | unit_count 2(固定无 max)/ hp 28 / atk 1 / atk [0,2] / 池 6/2/1 / light / ac 2 | 1 + 2 = 3(全固定,零数量骰) | 淘汰依据:固定数复制会让首批生产内容**完全绕开卡①核心交付面「每行一骰数量骰」**(仅 atk 骰逐行化被触发),单点试水的机制验证价值缩水;且任务书 §4.2 与开工令给的 d5 案演算形态即「固定 1 + 蜘蛛 [2,3]」 | 淘汰 |
|
||||
| **甲2:复制 (2,6) 巢群行**(选定) | unit_count 2 / unit_count_max 3 / hp 26 / atk 1 / atk [1,2] / 池 6/2/1 / light / ac 2 / display_name 巨蜘蛛巢群 | 1 + 3 = **4 ≤ 4 ✓** | 选定依据:与两份文件演算形态一致(least surprise);**生产内容实打「每行一骰」机制**(重击手定值不骰、蜘蛛掷 [2,3]——同场两种数量语义并存,正是混编试水要验的形态);hp 26 较教学行 28 更低一档,难度噪音并不更大;(2,6) 是文件序上 d5 的下一行,值属同段 progression | **选定** |
|
||||
| 甲3:复制 (2,7) 巢群行 | unit_count 2 / max 3 / hp 26 / atk 2 / atk [1,3] / ac 3 | 1 + 3 = 4 ≤ 4 ✓ | 淘汰依据:L2 后段强度(atk 2 / ac 3)用于首批单点试水取偏难形态;且复制后 d5/d7 两场蜘蛛面板完全雷同,目检可读性差 | 淘汰 |
|
||||
|
||||
### 2.4 行序候选(R6:行序 = 声明序 = 生成序)
|
||||
|
||||
| 案 | 生成序 | 裁决 |
|
||||
|---|---|---|
|
||||
| **重击手在前、巨蜘蛛巢群在后**(选定) | 默认目标 = 首行重击手(ac 8 精英坦克顶前排),蜘蛛后排输出 | 选定依据:强弱搭配的经典前后排形态;且既有行文件位置零移动,diff 最小、R6 相邻由「新行紧随既有行之后」满足 |
|
||||
| 巨蜘蛛巢群在前(淘汰) | 默认目标 = 蜘蛛(脆) | 淘汰依据:前排坦克语义倒置;需把新行插在既有行之前,既有行文件位置移动,diff 噪音大 |
|
||||
|
||||
### 2.5 禁区与禁令排查(逐项)
|
||||
|
||||
- 巨蜘蛛首遇位 **(2,4) 固定 2 不加骰**:零触碰(表注释 :486-487 逐字保持;行集断言「恰一行」语义不受影响——本批不动 (2,4))。
|
||||
- L2·L3 Boss 位 **d9**:零触碰(P2 甲,Boss 多行不入首批)。
|
||||
- **跨关混编禁令**(敌种不得早于其首遇位所在关出现):giant_spider 首遇关 = L2、bugbear 首遇关 = L1(L1 d2 教学位)⊂ 投放关 L2 ✓;L1/L3 零触碰 ✓。
|
||||
- **教学位钩爪恐魔((3,0)/(3,1) 固定数量不加骰)**:L3 零触碰,注释 :518-519 逐字保持。
|
||||
- 既有 19 行现值(hp/atk/pool/权重/倍率/display_name):零变更,纯插入。
|
||||
- dup_key:新键 (2,5,giant_spider) 全表唯一 ✓。
|
||||
|
||||
### 2.6 执行口径备注(指令摘要与任务书出入留痕)
|
||||
|
||||
开工令摘要写「enemy.tres 新增两行」,任务书 v1.2(最高执行依据)T3 写「enemy.tres 新行」且 §4.2 Σ 演算(固定 1 + 蜘蛛 [2,3] → 上限 4)为「既有行 + 1 新行」口径。结构上「同坐标新增两行」不可行:任一 L2 战斗坐标均已有行,双行混编 = 既有行 + 1 新行(若再加一行即成三行行集,超出演算且 (2,5,bugbear) 会撞 dup_key)。**按任务书执行:新增 1 行,行集 = 既有重击手行 + 新巨蜘蛛巢群行,表 19 行 → 20 行。**
|
||||
|
||||
### 2.7 选定案白名单依据汇总
|
||||
|
||||
坐标 d5(二选一)、行值来源 (2,6) 复制、行序重击手在前——三者均属任务书 §7 代拍板白名单「候选坐标在同方案族内的微调」;敌种组合(P1 甲)、Boss 不入(P2 甲)、教学段保护(P3 甲)、复制行值(P4 甲)全为已裁项,零重裁。
|
||||
|
||||
## §3 T3 数据行落地(提交 `6272fc8`)
|
||||
|
||||
`game/data/tables/enemy.tres`:新增 1 行 (2,5,giant_spider)「巨蜘蛛巢群」,紧随既有 (2,5,bugbear)「熊地精重击手」行之后(R6 相邻;行序 = 重击手在前、巢群在后);行值整行复制 (2,6) 巢群行(unit_count 2 / unit_count_max 3 / hp 26 / atk 1 / atk_min 1 / atk_max 2 / 池 普攻6·撕咬2·蓄力1 / light / armor_class 2)。表尾追加本批注释块(设计意图/读数预期/Σ 自证/禁区排查)。教学位注释两处(:486-487 巨蜘蛛、:518-519 钩爪恐魔)逐字保持;既有 19 行现值零变更;表 19 行 → 20 行。
|
||||
|
||||
## §4 T4 断言面随迁(提交 `43b1306`)
|
||||
|
||||
`game/smoke/smoke_all.gd` 四处:
|
||||
|
||||
1. expect_pools 增 `"2_5_giant_spider": {"attack": 6, "bite": 2, "charge": 1}`(键 = 卡① (L,D,enemy_id) 三元口径)。
|
||||
2. 池模板文案「十九行九种」→「二十行九种」,尾部口径改「首批投放 (2,5) 双行……其余坐标仍恰一行」。
|
||||
3. 混编断言段还原断言 `rows.size() == 19` → `== 20`(表回 20 行零污染)。
|
||||
4. 新增 ⑦b 三断言:(2,5) 双行且行序 [bugbear → giant_spider](R6 运行面);静态最坏骰和 Σ(unit_count_max,固定行缺省=unit_count) = 4 ≤ 4(守卫同口径);新行行值 = 复制 (2,6)(P4 甲零数值新增)。
|
||||
|
||||
首遇位断言逐项复核绿:(2,4) 巨蜘蛛首遇行集「恰一行·固定 2」、L1 D2 固定 1、L3 (3,0)/(3,1) 固定数量——零触碰全绿。
|
||||
|
||||
## §5 验证闸数字
|
||||
|
||||
| 闸 | 结果 |
|
||||
|---|---|
|
||||
| 基线冒烟(T0) | 811/0,三闸全过(与 master 基线同数) |
|
||||
| 轻闸冒烟(批内两次:T4 后 + 终态复跑) | **814/0 三闸全过**(基线 811 + 3 新断言) |
|
||||
| probe_gate(ui_input/ui_struct/ui_contrast + 残留清点) | 全绿,本闸残留 Godot = 0 |
|
||||
| run_all(单元/契约 17 套件) | **all green(17 suites)**——首跑 1 套红(ui_font_asset_test)归 worktree 环境缺口(见 §11),补拷 gitignored 字体 .import 边车后 17 套全绿;与本批改动无关(本批零触碰字体/呈现面) |
|
||||
| doc 三闸 | 对基线**零新增**:gdd_lint 07 文件 R3 命中 20 = 基线 20(曾自增 1 处=⑱ 标题括号含日期+「批」,当轮改写消除)、R4/R7 与基线逐字同值(存量);doc_link 07 命中 0;doc_term 07 疑似现行 0;全仓存量红(06/03/奇物/design-diagrams 等)均非本批触碰文件 |
|
||||
| 熵增闸 repo_structure_audit | design/diagrams 越界 1 项 = 存量(基线在案,非本批产生);本批零新文件类别 |
|
||||
| MC / verifier | **零跑**(顺延 Alpha 收官 M4 数值批,硬约束在案) |
|
||||
|
||||
## §6 T5 文档收口(本提交)
|
||||
|
||||
1. `design/gdd/07-体验验证清单.md` 两处:
|
||||
- :174 义务段「Boss 遭遇骰读首行区间」→「Boss 遭遇骰逐行区间骰〔每行各掷自己区间——卡① Q8 逐行骰换代,旧口径消解〕」,并补进展注记(首批已落表,剩余面 = Boss 多行第二批)。
|
||||
- 新增 **⑱ 首批混编遭遇目检与读数义务** 节:投放内容 / 实机目检三项 / 难度带读数义务(随 Alpha 收官 M4 数值批统一执行、届时另报批)/ 教学位与断言面复核(本批已履行)/ 红灯信号 / Boss 多行第二批六面读数清单维持。
|
||||
2. `roadmap.md` 卡⑤行状态列换代(✅ 已全批落表 + worktree/提交/闸数字/出口报告指引)——仅动本卡行,符合指令边界。
|
||||
|
||||
## §7 实机目检清单(人闸材料——归用户执行,亲口确认方验收)
|
||||
|
||||
| # | 目检项 | 通过判据 |
|
||||
|---|---|---|
|
||||
| 1 | 混编遭遇呈现(L2 节点 5,至少触发一次) | 同场两敌种:熊地精重击手 ×1 与巨蜘蛛巢群同屏 |
|
||||
| 2 | 行序与表一致 | 默认目标 = 重击手(前排坦克 ac 8 先接战),蜘蛛随后 |
|
||||
| 3 | 实例总数 ≤4 目视 | 场上 3-4 只(重击手 1 + 蜘蛛 2-3;蜘蛛数量骰 [2,3] 两形态均正常) |
|
||||
| 4 | 首遇教学位回归 | L1 d2 熊地精恒 1 只;L2 d4 巨蜘蛛恒 2 只(无掷骰波动);L3 d0 灰矮人恒 1 / d1 钩爪恐魔恒 2 |
|
||||
| 5 | Boss 位不变 | L2 d9 蛛化卓尔精灵单独出场(无护卫行) |
|
||||
| 6 | 红灯信号(任一出现即报缺陷) | (2,5) 只出一种敌种;敌人数 ≥5;首遇位数量波动 |
|
||||
|
||||
## §8 台账条目草稿(预配号 391——供主控誊入 active.md,本批禁碰 active.md)
|
||||
|
||||
> 391. 混编遭遇首批投放批完成(迭代 18 卡⑤,worktree g-plan2-iter18-mixenc 分支 iter18-mixenc 基点 adadf56,批内提交 ad36e35/6272fc8/43b1306/⑤T5 收口批,全部在 worktree 未合并):首个混编遭遇行落表 = (2,5) 双行行集〔熊地精重击手(既有零变更)+巨蜘蛛巢群(新行行值复制 (2,6),P4 甲零数值新增),R6 行序 = 重击手在前〕;设计稿全案留痕(坐标 d5/d7 对照选 d5——d7 落 min/max 集成路径淘汰;行值来源三子案选复制 (2,6)——生产内容实打「每行一骰」;行序重击手在前 = 前排坦克默认目标)。闸 = 冒烟 814/0(基线 811/0,+3 断言)+run_all 17 套+probe_gate 全绿+doc 三闸/熵增存量红零新增(07 ⑱ 标题曾自增 R3 一处、当轮改写消除);一次环境缺口 = worktree 缺字体 .import 边车致 ui_font_asset_test 红,自主区补拷边车(gitignored 不入库)后 17 套全绿,与本批无关。07 收口 = ⑱ 目检与读数义务新节+:174 逐行骰措辞订正;MC 零跑(顺延 Alpha 收官 M4 数值批在案);roadmap 卡⑤行状态列已换代。**下一步待用户 = 实机目检三项+首遇位回归(出口报告 §7),过闸后主区合并落 master。**
|
||||
|
||||
## §9 快照草稿(供主控誊入 active.md 顶部快照节)
|
||||
|
||||
> 迭代 18 卡⑤混编遭遇首批投放批已实施完成(worktree iter18-mixenc,四提交,未合并):(2,5) 双行混编落表(重击手+巨蜘蛛巢群复制行值,零数值新增)、断言面随迁 814/0、07 ⑱ 义务登记、全闸绿(run_all 17 套/doc 三闸零新增/熵增存量);待用户实机目检三项(§7)后主区合并;Boss 多行第二批与 MC 取证(难度带读数)分别顺延第二批任务书与 Alpha 收官 M4 数值批。
|
||||
|
||||
## §10 提交清单
|
||||
|
||||
| 提交 | 卡 | 内容 |
|
||||
|---|---|---|
|
||||
| `ad36e35` | ⑤T1 | 出口报告落档(T0 三查 + T1 设计稿全案留痕),纯文档 |
|
||||
| `6272fc8` | ⑤T3 | enemy.tres 新行落表 + 表尾注释块(R6 相邻/行序纪律) |
|
||||
| `43b1306` | ⑤T4 | 冒烟断言面随迁(expect_pools 模板 + 行数换代 + ⑦b 三断言) |
|
||||
| 本提交 | ⑤T5 | 07 两处 + roadmap 卡⑤状态列 + 出口报告收尾回填 |
|
||||
|
||||
## §11 停机点与偏差记录
|
||||
|
||||
- **停机点:无**(T0 机制四件全在位,S1/S2/S3 未触发;全程零 MC 零跑批零机制代码)。
|
||||
- **偏差一(§2.6)**:开工令摘要「新增两行」与任务书「新行」(单数 + Σ 演算口径)出入——按任务书执行为既有行 + 1 新行 = 双行行集,已留痕。
|
||||
- **偏差二(环境缺口,非本批缺陷)**:worktree 缺 `game/assets/fonts/ui_font_fusion_pixel_zh_hans.ttf.import` 边车(gitignored,主控建 worktree 拷缓存时漏此件),run_all 首跑 ui_font_asset_test 红("No loader found")。处置 = 自主区只读补拷边车(不改动主区;边车不入 git),复跑 17 套全绿。归 L1 环境自救,与批内容零关联(本批零触碰字体/呈现面)。
|
||||
@@ -1,110 +0,0 @@
|
||||
# 出口报告:种子随机化与调试浮窗升级批(迭代 18 卡⑦)
|
||||
|
||||
> 批次:功能性呈现+组合根批(纯呈现与组合根接线,零数值改动=零 MC;核心层 rng_service/冒险 runner/存档 schema 零 diff)。
|
||||
> worktree:`g-plan2-iter18-seed`(分支 `iter18-seed`,基点 = master adadf56)。
|
||||
> 任务书:`design/research/任务书-种子随机化与调试浮窗升级批-2026-10-07.md`(v1.2 裁点全裁 P1-P6 甲,U0 已发)。
|
||||
> 本报告按「吸收即死」纪律属中间文档,寿命=迭代寿命;结论同步见 roadmap 卡⑦行与本文 §十/§十一(台账与快照草稿,供主控誊入 active.md——active.md 本批零触碰)。
|
||||
|
||||
## 一、完成定义六条逐条判定(任务书 §1.2)
|
||||
|
||||
| # | 判定项 | 判定 | 依据 |
|
||||
|---|---|---|---|
|
||||
| 1 | 非首次冒险+种子框空 → 主种子随机;同种子行为逐位不变 | ✅ | `_seed_value()` 三分单点(main.gd):空/非法框×非首局(存档布尔 is_first_adventure_done=true)→ 引擎全局熵 `randi()`;冒烟 811/0 两次(改前基线+批末)逐位同数=同种子确定性零漂移;探针⑩连抽 4 次不全等 42 断言绿 |
|
||||
| 2 | 首局固定种子(P5 甲=42);显式整数全场景优先(含首局) | ✅ | 首局(新档 false)恒 42;显式合法整数第一优先(探针⑩:777 优先断言+⑧真实路径 master_seed==42 断言)。**随批抓获并修复:初版分支条件写反(首局随机/非首局 42)——探针钉死显式值故轻闸未暴露,⑩断言面价值实证(见 §四-3)** |
|
||||
| 3 | 断点续玩逐位不变(存档 master_seed 回填路径零改动) | ✅ | `_resume_from_menu` 零触碰种子判定(bp 载 master_seed 直入 adventure.resume_adventure);ui_struct_probe ⑦resume 专项绿(合计 24 守卫断言原样) |
|
||||
| 4 | DS_DEBUG=1 启动即开;对局中可开(P2 甲);遮挡按 P1 甲 | ✅ | `_ready` 尾 `_show_debug_overlay()`(探针①自设环境变量断言启动即开绿);两屏角标(战斗屏 HUD 右下角标对+地图屏顶栏)真实信号路径开窗(探针⑨绿);遮挡=ModalStack 登记制零机制改动(他模态开暂隐/关后恢复——探针⑥+ui_click 模态遮挡族断言绿) |
|
||||
| 5 | 当局数据只读区块(P4 甲六项)数值与只读访问器逐项一致 | ✅ | 区块=种子(adventure.master_seed 现值,非 _seed_value 重算;非对局=RNG 服务现值,未播种显「—」)/关卡(adventure.level_index)/节点/HP/GP(runner 成文出口)/钥石(adventure.keystone);探针⑨六项值对断言绿;零写通路(喂入制 update_run_data,纯标签零信号连接零动效)+白名单外零连接巡检(连接数=10 全在册)绿 |
|
||||
| 6 | ui_tune_probe 换代全绿;冒烟全量绿;MC 零跑 | ✅ | 专闸 ui_tune_probe exit=0(§三);冒烟 811/0;MC 零跑(§五静态论证) |
|
||||
|
||||
## 二、任务卡完成态(T0-T5)
|
||||
|
||||
| 卡 | 状态 | 提交/落点 |
|
||||
|---|---|---|
|
||||
| T0 | ✅ | worktree 基线复读:冒烟 811/0 三闸全过(=主控 master adadf56 实测同数);§2 逐条复核全数在案(modal 登记列表现值、DS_DEBUG 门控点、五路消费面、遮挡机制 F6 一致——S1 未触发);HEAD 时点=adadf56 |
|
||||
| T1 | ✅ | 40fb4a5(C1 三分单点+种子框默认空+占位提示+五探针种子钉死+ui_click 断言改向;五探针=审计点名单三件+ui_probe/ui_struct 同病灶随批修复——`_debug.start_single` 第五路与冒险段同吃种子框) |
|
||||
| T2 | ✅ | dd2c57c(输入锁防护全套+P2 甲角标迁宿主+开始层 dbgbtn 退役)+ 5b3a8fd(两处轻闸红修复:角标对 HBox 锚定改入树后延迟预设+struct overlap 滚动区跨界豁免) |
|
||||
| T3 | ✅ | dd2c57c 同批(当局数据只读区块+`_current_master_seed()` 单点+旧 :1174 诊断种子重算冒充病灶改向+模态开合单口挂 `_sync_debug_overlay`);keystone 取数改向随 T4 批修(c36daa6) |
|
||||
| T4 | ✅ | c36daa6(ui_tune_probe 断言面换代全绿+fx lambda 转命名方法+三分写反修复+钥石域修正) |
|
||||
| T5 | ✅ | 本报告+roadmap 卡⑦状态列+生涯.md 文档同步(提交见 §九) |
|
||||
|
||||
## 三、闸读数(T0 基线 → 批末)
|
||||
|
||||
| 闸 | 基线(T0) | 批末 | 判 |
|
||||
|---|---|---|---|
|
||||
| 冒烟(run_smoke 全量) | 811/0 三闸全过 | **811/0 三闸全过**(零漂移=S2 确定性反证通过) | ✅ |
|
||||
| ui_input_probe | 十七断言绿 | 十七断言绿(含 case⑯ 暂停角标真点击——角标对 HBox 锚定修复后复验) | ✅ |
|
||||
| ui_click_probe | 问题=0 | done=true 问题=0(含 P2 甲迁宿主改向断言:开始层角标退役+DS_DEBUG 未设不默认开) | ✅ |
|
||||
| ui_layout_probe | exit 0 | exit 0 | ✅ |
|
||||
| ui_struct_probe / ui_contrast_probe(probe_gate 默认段顺带) | 绿 | 零红 / 12 对全绿 | ✅ |
|
||||
| **专闸 ui_tune_probe** | 基线态(八段旧断言面,本批换代对象) | **换代后 exit=0 全链路 PASS**(①启动即开+树序新基准+⑧显式种子真实路径+开冒险关窗+⑨对局中可开/输入不锁/角标不置灰/两钮禁用/当局数据六项值对+只读巡检零非法连接+零动效+⑩种子三分) | ✅ |
|
||||
| run_all(game/tests) | **17 套全绿**(批末补测——见 §六-1 环境备注) | **17 套全绿**(exit 0;ui_font_asset_test 经导入缓存刷新后 PASS) | ✅ |
|
||||
| doc 三闸 | — | link 死链 2(奇物.md:130,存量=主区同源)/ gdd_lint 2 不通过(06/07 两文件,存量=iter17 移交面)/ term --strict 疑似现行 1(拔旗,06 存量)——**本批零新增**(本批唯一文档 diff=生涯.md 两处事实同步,lint 绿) | ✅(零新增口径) |
|
||||
| 熵增闸 | — | design/diagrams 越界 ×1(存量=iter17 移交第 1 条,主区同红已实证) | 移交披露 |
|
||||
| MC | — | 零跑(§五) | ✅ |
|
||||
|
||||
对拍口径注:冒烟 811/0 在 T0(adadf56)、T1 后(40fb4a5)、T2/P2/T3 后(dd2c57c)、批末(含全部修复)四时点同数——同种子行为逐位不变的直接反证。
|
||||
|
||||
## 四、L1/L2 修复记录(过程红灯全披露,均为断言口径或组合根码缺陷、非核心层)
|
||||
|
||||
1. **T1 后 ui_click 暂态红(预期内)**:断言先行(开始层角标退役断言在 T1 提交、P2 甲迁宿主在 T2 落码)——T2 落码即消,非缺陷。
|
||||
2. **角标对零尺寸锚角(T2 首轮轻闸两红)**:容器(HBox)出树时最小尺寸缓存陈旧为 0,MINSIZE 预设算出零尺寸锚角→暂停角标悬出屏边→ui_input case⑯ 角标真点击不中;struct 侧=[debug] 屏 overlap 假阳(当局数据区块加高列表后,滚动区内容未剪裁矩形跨界与滚区外关闭钮相交=滚动态样貌)。修复=预设改入树后延迟调用+grow 向左上(5b3a8fd)+struct overlap 规则补滚动区跨界豁免(恰好一枚在 ScrollContainer 内才豁免,同滚区两钮真重叠照红)。
|
||||
3. **🔴 `_seed_value()` 三分分支写反(T4 探针换代抓获)**:初版 `not is_first_adventure_done()` 时返回 randi()=首局随机/非首局 42,与 P5 甲相反。轻闸未暴露的原因=全部探针已钉死显式种子值(显式优先分支先行);⑩种子三分断言(首局空档恒 42/非首局连抽不全等 42)双红灯抓获,c36daa6 修复。**此为探针换代义务(任务书 T4)的直接产出——断言面先行的价值实证。**
|
||||
4. **当局数据钥石取数域错(T4 换代抓获)**:`_debug_run_data` 原读 `runner.keystone`——LevelRunner 无 keystone 域(钥石账在 AdventureRunner)→ 运行期脚本错误中断探针 `_ready` 协程=探针永不退出(「挂死」表象,实为静默中断)。两次按挂起纪律处置(禁杀他卡进程、按命令行精确匹配仅杀本 worktree 探针进程、隔 60s 重试)后经实时输出定位,修复=改读 `adventure.keystone`(c36daa6)。
|
||||
|
||||
## 五、MC 零跑静态论证(任务书 §6——零跑批发起禁令遵守)
|
||||
|
||||
1. **玩法行为零变更**:核心层(rng_service/adventure_runner/level_runner/存档)零 diff(`git diff adadf56 HEAD --stat` 可证,12 文件全在 presentation/ + smoke/ + 文档)。RNG 消费点零增减——随机种子生成走引擎全局熵 `randi()`,不触碰 rng_service 封闭流(C3 豁免面:组合根建种子不进玩法 RNG 消费)。
|
||||
2. **同种子逐位不变**:冒烟全量(含统一流黄金向量、确定性复放、断点续玩 400 局对拍既有断言)四时点 811/0 零漂移——「如需复放锚,固定种子冒烟即对拍面」的条件已满足且零锚作废。
|
||||
3. **随机化本身只改「新冒险种子取值分布」**:非首局空框时从恒 42 变为 [0, 2^31) 均匀取值——这是本批的功能目标而非数值改动(无任何表值/当量/概率变化);种子空间的统计性质(通关率分布等)属 M4 数值批统一调整范畴(2026-10-06 用户令殿后,未排期),本批无取证义务。
|
||||
4. 综上:无数值改动=零 MC(两入口铁规+MC 触发细则),无 MC 对拍基准变更。
|
||||
|
||||
## 六、存量问题移交(均非本批产生,基线同态实证)
|
||||
|
||||
1. **ui_font_asset_test 批末初跑 2/2 红=worktree 环境性存量**:worktree 拷入的 `.godot` 导入缓存缺字体 .ttf 导入产物(「No loader found」)。已在基线 adadf56 分离检出对拍复现(同 2/2 红)=与本批零因果;按 probe_gate 冷检出同款 `--editor --quit` 刷导入后 PASS、run_all 17 套全绿。**移交项=四个并行 worktree 若同样报此红,同款一条命令可解**;主区缓存态未检(本批未触碰主区)。
|
||||
2. gdd_lint 存量红 2 文件(06/07)/ doc_link 死链 2(奇物.md:130)/ doc_term 拔旗 1(06)/ 熵增闸 diagrams 越界 1——全部=iter17 出口报告 §五同名移交项,本批零触碰零新增。
|
||||
3. ui_click_probe 旧断言「DS_DEBUG 门控失守」已随 P2 甲改向(卡④ AC④ 的开始层入口形态退役,门控语义移两屏角标+启动即开)——设置与本地化.md v0.2 版本历史行保留历史记录不回改(历史 changelog 非现行语义)。
|
||||
|
||||
## 七、代拍板记录(白名单内决断,commit 留痕,实机目检可推翻——追认单)
|
||||
|
||||
| # | 项 | 决断 | 出处 |
|
||||
|---|---|---|---|
|
||||
| 1 | 种子框占位提示词 | 「留空=随机 · 首局恒 42」 | T1 40fb4a5 |
|
||||
| 2 | 当局数据区块标题与行文案 | 标题「当局数据(只读)」;行名 种子/关卡/节点/HP/GP/钥石;HP 显示「当前/上限」;缺位显「—」 | T3 dd2c57c |
|
||||
| 3 | 浮窗 desc 文案换代 | 「开发调试专用(DS_DEBUG=1 会话:启动即开;战斗屏/地图屏「调试」角标可再开)……」 | T3 dd2c57c |
|
||||
| 4 | 角标落点形制微调 | 战斗屏=右下角「调试+暂停」HBox 并排(角距 16px、钮距 8px、暂停居角位——17卡③同形制不变);地图屏=顶栏暂停角标右侧 | T2 dd2c57c |
|
||||
| 5 | 当局数据区块位次 | 列表首位(胜利演出区块之前——当局速查置顶) | T3 dd2c57c |
|
||||
| 6 | 断言编号与文案 | ui_tune_probe ①-⑩ 段(⑨=对局中可开+当局数据+只读巡检、⑩=种子三分);struct overlap 跨界豁免规则文案 | T4 c36daa6 |
|
||||
|
||||
## 八、实机目检清单(唯一硬人闸——DS_DEBUG=1 全流程)
|
||||
|
||||
前置:以 `DS_DEBUG=1` 环境变量启动游戏(真实档或测试档均可)。
|
||||
|
||||
- [ ] A 启动即开:主菜单出现悬浮「调试」浮窗,菜单本身可见可点(浮窗悬浮其上);开始菜单**无**「调试」角标(已迁宿主)。
|
||||
- [ ] B 启动菜单直接点「调试 · 连续关卡两层」→ 浮窗收起 → 两层调试对局正常开打。
|
||||
- [ ] C 对局中开合:战斗屏右下角「调试」角标点亮(DS_DEBUG 会话)→ 点击开浮窗 → 棋盘变暗但**关窗后立即可挖**(无锁死);浮窗开着时「暂停」角标**不置灰**可点(点开暂停层时浮窗暂隐、暂停关闭后浮窗自动恢复)。
|
||||
- [ ] D 当局数据一致性:对局中开浮窗,六项(种子/关卡/节点/HP/GP/钥石)与实际局况一致;发生战斗/挖格/入账后重开浮窗数值随动。
|
||||
- [ ] E 种子查看位:当局数据「种子」值 = 本局实际种子(DS_DEBUG 会话首局=42;非首局关浮窗开局后重开核对为随机值,非 42 即达意)。
|
||||
- [ ] F 对局中按钮禁用态:对局中开浮窗,「运行模拟」与「调试·连续关卡两层」两钮置灰;回开始菜单(终局返回)后开浮窗两钮恢复可点。
|
||||
- [ ] G 种子框行为(非首局档):空框点「开始冒险」→ 当局数据种子为随机值;手填 777 → 种子=777;断点续玩 → 种子=存档原种子。
|
||||
- [ ] H 地图屏角标:关卡地图停点顶栏「调试」角标点亮可点(浮窗开时选路照常,关窗不扰动选路态)。
|
||||
- [ ] I 玩家 UI 零变化确认:不开 DS_DEBUG 启动 → 全流程与改前观感一致(零调试元素、零种子露出)。
|
||||
|
||||
## 九、提交哈希清单(worktree 内全部)
|
||||
|
||||
| 提交 | 内容 |
|
||||
|---|---|
|
||||
| 40fb4a5 | ⑦T1:种子三分判定单点+种子框默认空+占位+五探针种子钉死+ui_click 断言改向 |
|
||||
| dd2c57c | ⑦T2:输入锁死防护+P2 甲角标迁宿主+T3 当局数据只读区块(三件互锁一批) |
|
||||
| 5b3a8fd | ⑦T2修复:角标对锚定入树后延迟预设+struct overlap 滚动区跨界豁免 |
|
||||
| c36daa6 | ⑦T4:ui_tune_probe 断言面换代全绿+三分写反修复+钥石域修正+fx 命名方法 |
|
||||
| (收口提交) | ⑦T5:出口报告+roadmap 卡⑦状态列+生涯.md 文档同步+main.gd 头注口径更新 |
|
||||
|
||||
## 十、台账条目草稿(供主控誊入 active.md——本批未触碰 active.md)
|
||||
|
||||
> 卡⑦(种子随机化+调试浮窗升级批)落地(2026-10-07,worktree g-plan2-iter18-seed,分支 iter18-seed,基点 adadf56,五提交 40fb4a5/dd2c57c/5b3a8fd/c36daa6/收口)。四件交付:①新冒险主种子三分随机化——判定单点 `_seed_value()`(显式合法整数全场景优先含首局/首局存档布尔判定恒 42〔P5 甲〕/非首局空框引擎全局熵 randi() 不走 rng_service 封闭流);种子框默认文本 42 改空+占位提示「留空=随机 · 首局恒 42」。②调试浮窗升级 P1-P6 甲全落——DS_DEBUG=1 启动即开(P3)+入口迁宿主两屏角标(战斗屏 HUD 右下「调试+暂停」标对+地图屏顶栏,P2 甲,开始层角标退役)+遮挡维持 ModalStack 登记制(P1 甲)+当局数据只读区块六项(种子=adventure.master_seed 现值〔诊断转储同病灶 :1174 随批改向 `_current_master_seed()` 单点〕/关卡/节点/HP/GP/钥石,喂入制零写通路零动效)+对局中开窗配套(输入锁/暂停角标判据改 has_open_excluding 排除式防「默认开×遮挡复活×has_open」棋盘锁死——审计🔴防线;对局中批量模拟与两层调试入口禁用+守卫兜底)。③探针面换代——ui_tune_probe 断言面 ①-⑩ 段换代全绿(启动即开/对局中可开+S1+ 停机点回归/当局数据六项值对/只读巡检零非法连接/零动效/种子三分单点断言),五探针种子钉死显式值(审计🔴——含 ui_probe/ui_struct 审计名单外同病灶两件随批修复)。④闸面——批末重闸全绿:冒烟 811/0(四时点零漂移=确定性反证)+四探针+run_all 17 套+doc 三闸/熵增闸存量零新增+MC 零跑(静态论证随出口报告)。过程红灯全披露随出口报告 §四(含 🔴 `_seed_value` 三分分支写反由探针换代抓获修复、钥石域错致探针静默中断的「挂死」归因);存量移交两项(ui_font_asset_test 系 worktree 导入缓存缺字体产物、基线对拍复现非本批因果+一条命令可解;doc/熵增存量面同 iter17)。人闸=DS_DEBUG=1 实机全流程目检(清单随出口报告 §八)。出口报告=`design/qa/iter18-seed-exit-report-2026-10-07.md`。
|
||||
|
||||
## 十一、快照草稿(供主控誊入 active.md「当前状态快照」节)
|
||||
|
||||
> 迭代 18 卡⑦(种子随机化与调试浮窗升级)已落地待收口:worktree g-plan2-iter18-seed 全部提交(未合并、未 push),批末重闸全绿(冒烟 811/0+ui_input/ui_click/ui_layout/ui_struct/ui_contrast/ui_tune 全绿+run_all 17 套+doc 三闸与熵增闸零新增存量+MC 零跑)。下一步=①用户实机人闸(DS_DEBUG=1 目检清单见 design/qa/iter18-seed-exit-report-2026-10-07.md §八)→②主控合并落回 master+主区全量复跑→③active.md 快照/台账誊记(草稿在出口报告 §十/§十一)。代拍板追认单六项在出口报告 §七(种子框占位词/区块文案/角标落点/断言编号等——目检可推翻)。并行四卡(③④⑤与本文卡)互不阻塞;卡⑦与⑥收官批零耦合。
|
||||
|
||||
终态 = worktree 内全部提交,**未合并、未 push**(合并落回 master 由用户/编排会话执行)。
|
||||
@@ -1,76 +0,0 @@
|
||||
# 出口报告:天赋树货币甲案修复批 + 卡③提案 S2 纠偏重写(2026-10-07)
|
||||
|
||||
- **工作树**:`g-plan2-iter18-treefix`(基点 master 3e9360d)
|
||||
- **裁决依据**:用户 2026-10-07「按甲方案修复完」——树全钥石单币落定,T8「GP 余额域缺位」双币骨架披露销账
|
||||
- **性质**:零行为变更静态批(tree_buy 改动前后同走 spend_keystone;currency 仅呈现元数据)
|
||||
|
||||
## 一、提交清单
|
||||
|
||||
| # | hash | 内容 |
|
||||
|---|---|---|
|
||||
| ① | d7a6406 | 修复: 天赋树货币甲案——树全钥石单币落定(6 文件) |
|
||||
| ② | 30154e5 | 修复: 卡③武器锻造提案 v1.1——盘问轮 S2 纠偏(1 文件) |
|
||||
| ③ | (本提交) | 出口报告(本文件) |
|
||||
|
||||
## 二、改动对照(A-E + meta.tres 顺带订正)
|
||||
|
||||
| 项 | 文件 | 改动 |
|
||||
|---|---|---|
|
||||
| A | `game/data/tables/meta_tree.tres` | 16 脊柱行(sp_hp/atk/hit/ac × r1..r4)`"currency": "gp"` → `"keystone"`(价格 10/20/30/40 不动,provisional 归 M4);表尾 T8 注释 GP 买深度→钥石买深度;追加 2026-10-07 裁甲销账行注 |
|
||||
| B | `game/core/meta_progression.gd` tree_buy | 删 currency 变量与 if 包裹,直走 `save.spend_keystone(price)`;注释改裁甲口径。tree_buy_fork 原本直走 spend_keystone 零改动 |
|
||||
| C | `game/data/schemas/meta_tree_table.gd` | `CURRENCIES` 枚举 `{gp, keystone, free}` → `{keystone, free}`(缺省容忍语义不变——validate 对缺失键照旧报出域);头注双币铁律段换代单币口径 |
|
||||
| D | `game/presentation/views/camp_overlay_view.gd:203` | 树购买钮 `"购买 %d"` → `"购买 %d 钥石"`(行板紧凑钮豁免宽度基准不变) |
|
||||
| E | `game/smoke/smoke_all.gd` | 4670「双币/互斥对…」→「单币枚举/互斥对…」、4677「钥石单币承载——GP 余额域缺位披露待追认」→「树全钥石单币——2026-10-07 用户裁甲」(两条均消息文字,逻辑断言零改) |
|
||||
| 附 | `game/data/tables/meta.tres:92` | 陈旧注释订正:「与 GP 商店同族…base 10」→「与局内 GP 商店同族**指数值档位非货币**…base_price 现值 20(2026-09-22 对齿批投值)」+ 订正溯源注 |
|
||||
|
||||
## 三、闸数字
|
||||
|
||||
| 闸 | 结果 |
|
||||
|---|---|
|
||||
| 基线冒烟(改动前,worktree) | 834 项检查,0 项失败(三闸全过) |
|
||||
| 改后冒烟 run_smoke | 834 项检查,0 项失败(三闸全过) |
|
||||
| probe_gate --click | ui_input/ui_struct/ui_contrast/ui_click 四段全绿,批末残留 Godot=0 |
|
||||
| ui_layout_probe | 退出码 0,SCRIPT ERROR/Parse Error 零命中(该探针系布局 facts 打印设计,无 PASS 行) |
|
||||
| ui_tune_probe | PASS 全链路 |
|
||||
| run_all(game/tests) | 17 套件全绿 |
|
||||
| doc_link_audit --strict | 既有死链 4(06-待办清单 ×2、奇物.md ×2——本批未触碰该三文件,零新增) |
|
||||
| gdd_lint | 既有 2 文件不通过(R3/R4/R7——本批零 gdd 改动,零新增) |
|
||||
| doc_term_audit --strict | 既有疑似现行 3 处(伏击/可选类道具/拔旗——均不在本批触碰文件,零新增) |
|
||||
| repo_structure_audit(熵增闸) | 既有违例 1(design/diagrams 子目录越界——基点已存在,非本批引入,零新增) |
|
||||
|
||||
## 四、MC 零跑静态论证(零行为变更)
|
||||
|
||||
1. **tree_buy**:旧逻辑 gp/keystone 两值都走 `spend_keystone(price)`;新逻辑无条件走同一口——对全部 currency ∈ {keystone, free} 行为逐值等价。free 行(ks_workshop/easter_ley)price=0,`spend_keystone(0)` 恒 true(实现为 `keystone_balance() < n` 判拒,0 余额不减值)→ free 节点购买状态迁移逐位不变。
|
||||
2. **currency 字段残余消费方**:全 game/ grep 证实仅剩 schema 枚举校验(新词表覆盖现役全部行值,smoke 4670 validate 零违例过闸)与 `tree_camp_rows` 投影透传(呈现层无渲染消费,camp_overlay_view 仅注释提及)。
|
||||
3. **按钮文案**:呈现面文字变更,smoke/probe 断言面零钉死(grep `购买 ` 命中均为商店 buy_product 动作描述非树钮文案)。
|
||||
4. **实证背书**:改后 run_smoke 834/0 + 全探针绿 = 静态论证经验闭环。
|
||||
|
||||
## 五、文档命中清单(F 项先 grep 后动)
|
||||
|
||||
| 文档 | grep 词 | 结果 | 处置 |
|
||||
|---|---|---|---|
|
||||
| design/gdd/systems/跨局循环/元进度.md(注:任务书误写「冒险循环」目录,实际在跨局循环/) | 双币/脊柱/GP 买/天赋树 | 树双币与脊柱 GP 表述零命中(命中 3 行均系历史定名注/版本史;:55 两币分工条款确认在案,不动) | 零改动 |
|
||||
| design/registry/entities.yaml | meta_tree/currency | 零命中 | 零改动 |
|
||||
| design/gdd/06-待办清单.md | 天赋树/货币/追认/双币/余额域 | 无 T8 树货币待追认挂单项(命中行均系其他主题) | 零改动 |
|
||||
|
||||
## 六、卡③提案 v1.1(S2 纠偏)订正清单
|
||||
|
||||
1. 〇节原案一:「营地花金币」→「营地花钥石」
|
||||
2. F1 事实行:「单次价 20 金币」→「20 钥石(货币=钥石:消费口 meta_progression.gd:59 spend_keystone;meta.tres 仅存计价参数)」
|
||||
3. 裁点 4b 乙引文:「消费钥石/金币的成长枢纽」→「消费钥石的成长枢纽」
|
||||
4. 裁点 5a 丙:不同源论据作废改写(工坊=通关次数渠道+钥石直购预留,与武器锻造同属营地钥石经济;淘汰仅依职责混装)
|
||||
5. 裁点 5b 货币裁点整节重组:甲=纯钥石(推荐)/乙=局外金币余额域(淘汰)/丙=第三货币锻造币(淘汰)
|
||||
6. 裁点 5c 前提换钥石:甲=纯钥石零材料(推荐,原「不要材料」结论存活)/乙=钥石+材料(代价并列)/丙=纯材料(淘汰)
|
||||
7. 第九节定价行:基础价 20 钥石(量纲不变括注)
|
||||
8. 汇总表 5b-1/5c 行换代
|
||||
9. 文末新增修订记录 v1.1(含错误根源与配套实况)
|
||||
10. 全文「金币」扫尾:残余 9 处均系订正说明/乙丙备选案描述对象/修订记录事实陈述,合法保留
|
||||
|
||||
## 七、偏差披露
|
||||
|
||||
1. **任务书元进度.md 路径勘误**:任务书写 `design/gdd/systems/冒险循环/元进度.md`,实际文件在 `design/gdd/systems/跨局循环/元进度.md`(提案 F5 引文路径正确)。已按实际路径完成 grep。
|
||||
2. **F 项三文档全零命中**:元进度.md 无树双币表述可换代(树系迭代 12 T8 落码,文档正主从未写入双币树口径)、entities.yaml 无树货币登记、待办清单无 T8 追认挂单项——均零改动,未补版本史行注(任务书行注以「有表述则换代」为前提)。
|
||||
3. **断言面命中 14 处**:13 处系商店 buy_product 动作描述(非树断言),仅 smoke_all.gd 4670/4677 两条消息文字换代。
|
||||
4. **doc 三闸与熵增闸既有命中**:死链 4/格式 2 文件/术语 3/熵增 1 均系基点既有(本批触碰文件不在其扫描域或未触碰),判据「零新增」满足。
|
||||
5. **ui_layout_probe 无 PASS 行**:该探针设计为布局 facts 打印(无断言 PASS 输出),以退出码 0 + 零 SCRIPT ERROR 判过。
|
||||
6. 环境无降级;边车 115 枚全数拷入 worktree(ui_font_asset_test 过闸印证)。
|
||||
@@ -1,61 +0,0 @@
|
||||
# M-1 出口闸检查单(2026-09-28,迭代 2 收口批交付)
|
||||
|
||||
> 用途:M-1「切片表现收口」出口闸 = **真人目检清单全绿**(机器闸已全部自动过);本单即人闸载体,逐项可勾。
|
||||
> 全绿 = M-1 关闭 → **M-2 迭代 3「读数重测与调参」解锁**(其门=M-1 出口闸)。
|
||||
> 目检方式:实机跑 `godot --path game`(或开 Godot 编辑器 F5),按清单逐项看;任一项不过 = 回该批返工(样张类至多一轮,收集否决维度补断言后重出)。
|
||||
|
||||
## 一、机器闸读数汇总(已自动过,留痕)
|
||||
|
||||
### 迭代 1「测试兜底与表现先行」(六卡一次合并 aa18eb9,2026-09-28,台账 215-221)
|
||||
| 卡 | 内容 | 读数 |
|
||||
|---|---|---|
|
||||
| T1 单元测试与契约层 | game/tests/unit 九套件实跑入口 tests/run_all.gd | 九套件全绿(合库后复跑确认) |
|
||||
| T2 高墙感 D 投影档落码 | 立面双段暗带+地面投影(用户挑档 D) | 冒烟 557/0+双探针 PASS |
|
||||
| T3 CJK 字体随包 | Fusion Pixel OFL zh_hans+ui_font_asset_test | 冒烟 557/0+套件绿 |
|
||||
| T4 关卡画面三拍板落地 | 图上点击唯一通道/三停点标题/GP 徽章+底栏状态组/放弃二次确认 | 冒烟+探针绿 |
|
||||
| T5 胜利结算 GP 总量+增量接线 | OQ14 口径落胜利总结结算 | 冒烟+探针绿 |
|
||||
| T6 underdark/deep_underdark 瓦片换色 | tools/recolor_terrain_tiles.py+42 枚入包+terrain_tile_sets_test(第 9 套件) | 冒烟 557/0+9 套件绿 |
|
||||
|
||||
### 迭代 2「样张冻结与表现定稿」(本 loop,f9b0765→a08d89c)
|
||||
| 卡 | 内容 | 读数 |
|
||||
|---|---|---|
|
||||
| T1 样张 v2 重出+机检冻结 | 机检 **16/16 全绿**(13 现行+A3 Δ≥55+F6 双明度带+F7 悬崖同源+A6 观感密度)→ 四冻结落文 art-bible v2.13 | 报告 `design/research/sample-v2-机检报告-2026-09-28.md` |
|
||||
| T2 框材组 8 件换皮 | ♻ 九件量化改色入包+UiKit 单点工厂+五视图接线 | 冒烟 557/0+四探针 PASS |
|
||||
| T3 演出密度终稿 | 死亡碎裂/胜利纹章/失败掸灰/意图三档/结算光带+**fx_probe 新探针** | 冒烟 557/0+五探针 PASS |
|
||||
| T4 棋盘数字终稿 | 三档墨色温/字号 ≥18 公式/色牌 0.60·0.62 冻结值 | 冒烟 557/0+五探针(ui_tune_probe 回归含) |
|
||||
|
||||
- 冒烟检查数 557 = 开工基线(零删减);**双迭代同库合并(master=9abf5ff,迭代 1 六卡 aa18eb9 + 迭代 2 五批次)后主区复跑**:冒烟 557/0+五探针+九套件全绿(台账 222 留痕)。
|
||||
|
||||
## 二、真人目检清单(逐项可勾,勾完=人闸过)
|
||||
|
||||
- [ ] **1. 棋盘立体感**(样张 v2 否决③复核):战斗中未开墙格有南立面暗带+地面投影,整板底部/右侧有悬崖暗面与悬浮影——「立得起来」
|
||||
- [ ] **2. 观感密度**(否决①复核):棋盘整体不觉得平/糊——裂纹碎石变体、类型微光、物件纹样层次可感
|
||||
- [ ] **3. 数字可读**:1-8 数字色牌上清晰(三档墨色温:小数字偏冷、大数字偏暖),缩小窗口仍可读
|
||||
- [ ] **4. 换皮框架**:C 区面板/B 区舞台底/图例弹窗=石板质感九宫格;全站按钮=暖砖两态(按下下沉);开始界面有石纹底噪;营地有石框容器+钥石/柜台图标
|
||||
- [ ] **5. 演出四项**:击杀敌人→灰化+碎块弹飞(非瞬间消失);胜利→金蜡封落下+碎砖拼纹章环;失败→暮蓝氛围+尘絮飘落+旗光点收回;敌摇定特殊技→徽标弹跳、重击→缓推蓄力定格
|
||||
- [ ] **6. 结算光带**:轮末结算金光带自棋盘上缘扫向下缘,带前缘有亮线
|
||||
- [ ] **7. 图例正确性**:图例旗条目为封印黑色块、墨字可读
|
||||
- [ ] **8. 迭代 1 六卡件**(已同库):高墙 D 投影观感/Fusion Pixel 中文渲染/关卡画面(图上点击+停点标题+GP 徽章+放弃确认)/胜利结算 GP 数字/underdark·灰矮人矿城两套瓦片换色观感
|
||||
|
||||
**判定**:1–7 全过 + 8 注记状态 → 人闸过,M-1 关闭;登记裁决入台账,roadmap 里程碑移动。
|
||||
|
||||
## 三、✦ 缺料清单(只登记不生图——生图执行权在用户)
|
||||
|
||||
| 件 | 渠道 | 规格/提示词指针 | 现状承载 |
|
||||
|---|---|---|---|
|
||||
| B 区背景横幅(战斗舞台背景插画) | ✦ 生图 | art-bible §6.1 明亮地窟/低对比自然后退;清单 §1.2 | 程序化石板皮+底噪(本批 T2) |
|
||||
| 八敌种站桩立绘 9 卡 | ✦ 外部生成中 | comfyui-prompts.md v2.9(攻击段=底稿锁死句) | 槽位在位,入库即显示零代码 |
|
||||
| 主角 normal/hit 成图旗色手修 | ✦ 手修 | 旗朱→封印黑 #000000(封印黑批遗留) | 远程单已重锁十六进制 |
|
||||
| 节点图行进器形象 | ✦/⚙ | 清单 §3.2(与主角同族蓝) | 程序化占位 |
|
||||
| 意图三档/死亡碎裂序列帧 | ✦ 可选 | art-bible §8.4 冻结帧数档 | 程序化 tween 已承载(本批 T3) |
|
||||
| 巢穴纹/封印印记正式纹样 | ✦/⚙ | 清单 §4 封印特效两件+§3.3 | 程序化占位在役 |
|
||||
| 变异纹带六类型终稿 | ⚙ 样张批后可排产 | art-bible §3.2 纹带形按轴两分 | 槽位先行(CellUnit tex_mutation) |
|
||||
| 格面资源徽章 19 枚 | ⚙ 脚本管线 | 清单 §3.1 键契约 | 程序化占位 |
|
||||
|
||||
## 四、代拍板追认清单(本 loop 白名单内已裁,待用户过目)
|
||||
|
||||
1. A6 观感密度口径=明度梯度均值(高频细节能量)——v1 同口径实测 4.09×1.15=4.70;低频双峰由 A3 承载(口径注记见机检报告)。
|
||||
2. F6 双明度带测「南向临地墙格」(立面语义承载位,内墙 center 件无立面属正确)。
|
||||
3. 复用件选型=Kenney 系九宫格/图标+OGA 石纹(全 CC0,game-icons CC-BY 件未采用);量化色带端点=PANEL_BORDER/PANEL_DATA/BRICK/FLOOR/PLATE token。
|
||||
4. 演出参数=死亡碎块 5 块 0.45s/纹章碎砖 10 枚/掸灰 8 絮/蓄力定格 0.40s(§8.4 冻结档)。
|
||||
5. 数字牌尺寸 0.66→0.60(对齐样张冻结值);图例旗条目名回退「旗」(click_probe 基线精确匹配,封印语义移描述列)。
|
||||
@@ -1,58 +0,0 @@
|
||||
# M-2 出口闸检查单(2026-09-28,迭代 4 收口批交付)
|
||||
|
||||
> 用途:M-2「关卡画面独立化」出口闸 = **真人目检清单全绿**(机器闸已全部自动过);本单即人闸载体,逐项可勾。
|
||||
> 全绿 = M-2 关闭 → **M-3「切片数值标定与 Alpha 验收」解锁**(其门=M-2 出口闸——表现彻底定稿后读数不被呈现改动扰动)。
|
||||
> 目检方式:实机跑 `godot --path game`(或开 Godot 编辑器 F5)开一局冒险,按清单逐项看;任一项不过 = 回该批返工。
|
||||
|
||||
## 一、机器闸读数汇总(已自动过,留痕)
|
||||
|
||||
### 迭代 3「独立屏架构」(四批次一次合并 74c8ebe,2026-09-28,台账 224)
|
||||
| 卡 | 内容 | 读数 |
|
||||
|---|---|---|
|
||||
| T1 spec 形态升格 | level-map.md 覆盖层形态→独立屏独占呈现全量改写+battle.md 三处随改 | doc 三闸对基线零新增 |
|
||||
| T2 独立屏落地 | RouteOverlay→LevelMapScreen+不透明屏底+组合根屏级互斥单一出口 | 冒烟 557/0+五探针 PASS |
|
||||
| T3 全链流程 | 选路分支(战斗/Boss 出屏;奖励/恢复/商店本屏域内弹出) | 同上 |
|
||||
| T4 探针独立性断言 | 屏激活期 _battle_root 隐藏=零透出契约/战斗节点提交后恢复 | ui_probe+ui_click_probe 断言扩展全绿 |
|
||||
|
||||
### 迭代 4「关卡画面视觉终稿」(本 loop,9a79927→…)
|
||||
| 卡 | 内容 | 读数 |
|
||||
|---|---|---|
|
||||
| T1 关卡画面样张 v1 | 机检 **11/11 全绿**(L1 图标互辨/L2 四态+Boss 环灰度/L3 对比 ≥4.5:1/L4 禁入带/L5 画布自适应〔routebug 83c11a1 回归〕/L6 独立屏底/L7 占位区不侵入/A1a 色板对表/SRC 同源/ST 态齐备/S3 换层示意)→ 视觉冻结值登记 | 报告 `design/research/level-map-sample-v1-机检报告-2026-09-28.md` |
|
||||
| T2 节点图标组接线 | ♻ kenney-board-game-icons 五键(bow/award/campfire/crown_b/pouch,全 CC0)20px 烘焙量化,复用闸①②③④自检 PASS;LevelMapScreen 消费(load_tex 守卫缺位字形回退) | 冒烟 557/0+五探针 PASS |
|
||||
| T3 视觉终稿落码 | 已过暗金 GOLD_DONE #68562C/Boss 双描边/通道 2-3-4px/底栏墨色(WARM/WARM_SOFT)/血条深底 | 同上 |
|
||||
| T4 转场演出挂点 | 换层淡入(UiKit.motion 200ms)既有保持+换层色板渐变挂点(§2.7 切片档,level_index→tint 表,§6.3 候选方向)+Boss 胜利→关卡结算→下一关链路核对(探针驱动段全绿) | 同上 |
|
||||
|
||||
- 冒烟检查数 557 = 开工基线(零删减);**合并落 master 后主区复跑**:冒烟 557/0+五探针全绿(台账 225 留痕)。
|
||||
|
||||
## 二、真人目检清单(逐项可勾,勾完=人闸过)
|
||||
|
||||
- [ ] **1. 独立屏观感**:关卡开始即出图;战斗屏完全消失(零透出、非半透暗幕);屏底=深底+石纹底噪铺满
|
||||
- [ ] **2. 节点图标可辨**:图上五类节点=弓(战)/桂冠(赏)/篝火(疗)/王冠(王)/钱袋(商)图标清晰互辨;当前金底上图标转深墨可读
|
||||
- [ ] **3. 节点三停点态**:已过=暗金无描边、当前=亮金填充、候选=亮金描边(悬停加粗+指针)、未来=暗底;Boss=紫赤描边+外缘深墨细环;缩灰度/黑白窗口仍可分
|
||||
- [ ] **4. 底栏读数**:生命(迷你血条+HP 数字)/属性(攻击·AC+加成角标)/本关加成(零加成隐藏)三组清晰可读;放弃冒险=亮砖按钮红字右端异位
|
||||
- [ ] **5. 顶栏语境**:左关卡名、右 GP 徽章(◈ 数字,战后到账即刷)
|
||||
- [ ] **6. 转场节奏**:选路提交→战斗屏回现;战斗胜利→(大奖励屏确认)→下一关独立屏淡入(约 0.2s);第二/三层屏底色相较第一层有冷调层进(换层渐变挂点)
|
||||
- [ ] **7. 图上点击选路**:点候选节点即出发(图上点击唯一通道),深层节点(单链第 5 节点后)点击必中
|
||||
- [ ] **8. 迭代 3 件**(已同库):放弃二次确认(首击转确认态+超时回落)/三停点标题(出发——选择首个节点/继续前进/选择下一节点)
|
||||
|
||||
**判定**:1–7 全过 + 8 注记状态 → 人闸过,M-2 关闭;登记裁决入台账,roadmap 里程碑移动。
|
||||
|
||||
## 三、✦ 缺料清单(只登记不生图——生图执行权在用户)
|
||||
|
||||
| 件 | 渠道 | 规格/提示词指针 | 现状承载 |
|
||||
|---|---|---|---|
|
||||
| 节点图标终稿精修(bow/award/campfire/crown_b/pouch 五键) | ♻ 已量化在役/✦ 可替换 | kenney-board-game-icons(CC0) 64px 源;替换须过复用闸四道+样张 L1 灰度互辨 | 20px 烘焙在役(本批 T2) |
|
||||
| GP 徽章金币图标(现 ◈ 字形) | ♻/⚙ | 清单 §3.5 营地件同族;币形=§3.1 道具点剪影 | ◈ 字形+数字(样张注记) |
|
||||
| 关卡画面换层 tint 终值 | ⚙ 色板样张批 | art-bible §6.3 三关方向(挂点已落,tint 候选值在役) | level_index→tint 表(本批 T4) |
|
||||
| 关卡画面石纹底噪换挡版 | ⚙/✦ 可选 | §4.3 wall_ambient 槽换色 | tint 调制承载(切片档) |
|
||||
| 行进器形象(图上"我在哪"具象化) | ✦/⚙ | 清单 §3.2 | 当前节点金块承载(无独立形象) |
|
||||
|
||||
## 四、代拍板追认清单(本 loop 白名单内已裁,待用户过目)
|
||||
|
||||
1. **已过暗金冻结新值 GOLD_DONE #68562C**(104,86,44)——旧 GOLD_DIM #8C743C 对双色墨均 <4.5:1(level-map AC「节点字面对方块底 ≥4.5:1」逼守);UiKit.GOLD_DIM 常量保留他用不动。
|
||||
2. **节点图标五键选型**=bow/award/campfire/crown_b/pouch(语义近似+灰度互辨最小错位 0.18;sword 已被锻造柜台占用不重用——§4.6「一键一纹样全作不复用」)。
|
||||
3. **Boss 描边=紫赤 2px+外缘 1px 深墨环**(灰度冗余通道)——紫赤灰度 72 对石纹噪底 65 灰度不可辨,样张 L2 机检逼守;§4.2 色相独占本色不变。
|
||||
4. **图标双色墨制**=暗底态 WARM 暖白/当前金底 INK_ROUTE 深墨(乘法调制);编号 10px 右上角(与图标占位区零重叠)。
|
||||
5. **通道折线宽取整**=未点亮 2/候选 3/悬停 4 px(原 1.5 随冻结值取整)。
|
||||
6. **换层 tint 候选值**=L2 (0.84,0.99,1.28)/L3 (0.97,0.99,1.09)(§6.3 方向、明度带归一≈1;终值归色板样张批)。
|
||||
7. 样张图标烘焙 20px(52×36 方块内 20px 图标+右上编号;1:1 消费零缩放——§8.2 缩放纪律从紧)。
|
||||
@@ -1,71 +0,0 @@
|
||||
# M-3 迭代 10 通关率双窗读数报告——奖励结构重构(2026-10-01)
|
||||
|
||||
> 采集:`adventure_monte_carlo.gd`(MC 逐局独立种子,autoplay 确定性策略=三选一候选取首件/替换放弃新件——见代拍板 f)。
|
||||
> 改前锚 = `sim-data/runsum_m3iter10_t0head_20261001.jsonl`(master 405bd78 + 种 77000,各 400 局);
|
||||
> 改后锚 = `sim-data/runsum_m3iter10_t9anchor_20261001.jsonl`(本批 71502ce+ + 种 78000,各 400 局)。
|
||||
> 判读口径 = 冒险条件通关率(到达第 k 关者中通关者占比);带值 = [难度曲线与Boss] 现行(普通 L1 [35,55] / L2 [10,15]、完美 [35,65])。
|
||||
|
||||
## 双窗读数(改前 → 改后)
|
||||
|
||||
| 档·关 | 改前 | 改后 | Δ | 带判定(改后) |
|
||||
|---|---|---|---|---|
|
||||
| 普通 L1 | 36.2%(145/400) | **38.8%**(155/400) | +2.6 | ✓ 带内 |
|
||||
| 普通 L2 | 10.3%(15/145) | **7.1%**(11/155) | −3.2 | ✗ 越下带 2.9 点(带 [10,15]) |
|
||||
| 普通 L3 | 6.7%(1/15) | 0.0%(0/11) | −6.7 | 样本 11 无判读力 |
|
||||
| 普通整局 | 0.2% | 0.0% | — | — |
|
||||
| 完美 L1 | 85.2%(341/400) | 83.2%(333/400) | −2.0 | ✓ 带内 |
|
||||
| 完美 L2 | 22.6%(77/341) | **12.6%**(42/333) | −10.0 | 越下(完美带对 L2 无独立约束) |
|
||||
| 完美 L3 | 11.7%(9/77) | 7.1%(3/42) | −4.6 | 样本 42 弱判读 |
|
||||
| 完美整局 | 2.2% | 0.8% | −1.4 | — |
|
||||
|
||||
## 钥石产出结构(R2 渠道改一批的直接后果)
|
||||
|
||||
| 档 | 改前均值 | 改后均值 | 结构 |
|
||||
|---|---|---|---|
|
||||
| 普通 | 4.03 | **1.25** | 旧 = 10/关×通关数;新 = Boss 逐杀 3/2(三杀全首杀 = 9) |
|
||||
| 完美 | 10.68 | **2.83** | 同上 |
|
||||
|
||||
**产出骤降 ≈ −69%**——「元进度产出重标义务重开」(06-待办清单 2026-10-01 登记条)的实据;工坊解锁节奏(阈值 1/1/2/2/3/3 按通关次数)不受钥石影响,钥石直购/锻造定价联动归元进度设计批。
|
||||
|
||||
## 判读(如实呈报,代拍板零判——带与行值处置归用户/调参批)
|
||||
|
||||
1. **方向符合设计意图**:血回满→部分回血 20% 系难度上压方向——L2 双窗下压(普通 −3.2 / 完美 −10.0)、整局收敛(完美 2.2%→0.8%),「恢复经济收紧」风险预挂(计划书 §8.1)兑现。
|
||||
2. **普通 L2 越下带 2.9 点**(7.1% < [10,15] 下界):与本批「回血收紧」直接因果同向;处置选项 = 带再裁(迭代 5 返工先例:带值本身可改)或回血比例/三选一件值回调(provisional 旋钮)——**归曲线调参批现行窗,随难度曲线与Boss P1 行重扫义务一并处置**。
|
||||
3. **普通 L1 微升 +2.6**:三选一属性件(攻击+1/上限+5)首关即可入手、选择性优于固定件——方向良性;仍在带内不处置。
|
||||
4. **AP 轴读数**:normal 档 L1 通关者三选一常含 AP 件(每战首轮 +1)未致带外——计划书 §8.6「战斗强度敏感轴」首窗读数无异常信号;加深扫描归调参批。
|
||||
5. **样本警告**:L3 双窗到达数 11/42——条件率无判读力,只作方向参考;带重扫时需定向种子扩样。
|
||||
|
||||
## 附:MC 锚换代合法性
|
||||
|
||||
- 改前→改后差异 = 计划内逻辑改动(三层奖励框架/钥石逐杀/AP 轴/回血收紧),非漂移:同种子同操作序列逐位可复现由冒烟 619 断言承载(含同种子两局 reward_events 逐位一致断言)。
|
||||
- rng 扩签 reward_pick 平移全局计数器——下游固定 scope 期望(board_gen 黄金向量/选路取数位)已随冒烟全量重测全绿,无隐断言残留。
|
||||
|
||||
## v2 段:追加批(奖励节点共享池,2026-10-01 用户拍板)后读数
|
||||
|
||||
三锚 = `runsum_m3iter10_t9b_anchor_20261001.jsonl`(追加批 4f62a48 + 种 79000,各 400 局)——奖励节点从「魔法道具三选一」改「提升池共享三选一」后,局内属性获取频率上升:
|
||||
|
||||
| 档·关 | 共享池前(种 78000) | 共享池后(种 79000) | Δ | 带判定 |
|
||||
|---|---|---|---|---|
|
||||
| 普通 L1 | 38.8% | **43.0%**(172/400) | +4.2 | ✓ 带内 [35,55] |
|
||||
| 普通 L2 | 7.1% | **11.6%**(20/172) | +4.5 | ✓ **回到带内 [10,15]**(首批越下 2.9 点随共享池自愈) |
|
||||
| 普通 L3 | 0.0%(0/11) | 0.0%(0/20) | — | 样本不足无判读力 |
|
||||
| 完美 L1 | 83.2% | 86.5%(346/400) | +3.3 | ✓ 带内 [35,65] |
|
||||
| 完美 L2 | 12.6% | 16.5%(57/346) | +3.9 | — |
|
||||
| 完美 L3 | 7.1%(3/42) | 1.8%(1/57) | −5.3 | 样本弱判读(L3 波动大) |
|
||||
| 完美整局 | 0.8% | 0.2% | −0.6 | 深层收敛(L3 连乘闸效应) |
|
||||
|
||||
**判读(代拍板零判——归曲线调参批)**:①共享池把局内成长频率抬回设计带(普通 L2 自愈回带),首批越下带读数作废、以本段为准;②钥石均值微升(普通 1.25→1.44)——产出重标义务不变;③L3 完美档 1.8% 系连乘闸下沿波动,重扫时需定向扩样;④f 裁调研待办(首件 vs 权重随机对照)在 06 在册,本报告策略=首件。
|
||||
|
||||
## v3 段:掷定前置(目检修复批 cc8807e)后读数
|
||||
|
||||
三锚 = `runsum_m3iter10_t9c_anchor_20261001.jsonl`(种 80000,各 400 局)——掷定前置仅把道具件掷定在 reward_pick 流序内挪(消费数不变),属合法流序漂移:
|
||||
|
||||
| 档·指标 | v2(共享池后,种 79000) | v3(掷定前置后,种 80000) | 判定 |
|
||||
|---|---|---|---|
|
||||
| 普通 L1 | 43.0% | **41.8%**(167/400) | ✓ 带内 [35,55] |
|
||||
| 普通 L2 | 11.6% | **10.2%**(17/167) | ✓ 带内 [10,15](贴下沿——重扫窗口关注点) |
|
||||
| 普通整局 / 钥石 | 0.0% / 1.44 | 0.0% / **1.38** | 持平 |
|
||||
| 完美 L1 | 86.5% | 86.5%(346/400) | 维持既有挂账口径(非本批回归) |
|
||||
| 完美 L2 / L3 / 整局 | 16.5% / 1.8% / 0.2% | 15.6% / 1.9% / **0.2%** / 钥石 **3.01** | 漂移 ≤0.9pp——无实质变化 |
|
||||
|
||||
**判读**:掷定前置系呈现面修法,通关率/钥石面零实质漂移;v2 段全部结论维持(普通 L1/L2 带内、产出重标义务、L3 扩样注记)。锚换代链 = 77000(改前)→ 78000(重构后)→ 79000(共享池后)→ 80000(掷定前置后,现行)。
|
||||
@@ -1,88 +0,0 @@
|
||||
# M-3 迭代 5 杠杆网格扫描报告(T3)
|
||||
|
||||
- **日期**:2026-09-28
|
||||
- **被测构建**:master @ 20533e3 + T1 基线(无行值改动——本报告全部读数为**补丁即跑即还原**的扫描读数,现行数据表零变更)
|
||||
- **工具**:`tools/t3_lever_scan.py`(本批批内扫描入口——对 `variation.tres`/`enemy.tres` 打锚文本补丁 → 跑 `adventure_monte_carlo.gd` → git checkout 还原);原始逐配置读数 `sim-data/t3_scan_results.jsonl`(10 配置)
|
||||
- **方法**:配对种子(全部配置同种子窗 73000,unique 逐局独立,N=100/策略/配置)——配置间差分 = 配对增量,消种子方差;判定带 = C4 冻结现行带(普通 L1 [35,55]/L2 [25,45]、完美 [35,65])
|
||||
- **过程事故登记**:B0 首跑与 P2 并发执行致两者读到同一份补丁表(读数逐位相同=作废)——扫描配置禁并发的教训入账;B0 已单跑重测(本报告以重测值为准)
|
||||
|
||||
## 一、扫描网格与读数(N=100/策略,配对种子 73000)
|
||||
|
||||
### 配对基线 B0(现行表值)
|
||||
|
||||
| | 普通 L1 | 普通 L2 | 完美 L1 | 完美 L2 |
|
||||
|---|---|---|---|---|
|
||||
| B0 读数 | 50.0% | 4.0% | 89.0% | 15.7% |
|
||||
| 现行带 | [35,55] ✓ | [25,45] ✗ | [35,65] ✗ | [35,65] ✗ |
|
||||
|
||||
### OFAT 单杠杆增量(对 B0 配对差分,单位 pp)
|
||||
|
||||
| 探针 | 杠杆位 | Δ普通L1 | Δ普通L2 | Δ完美L1 | Δ完美L2 | 定性 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| P1 | 岩浆 effect_value 2→1 | 0 | **+14.0** | 0 | +13.5 | L2 减难·强 |
|
||||
| P2 | per_level_bonus 2→0 | 0 | **+14.0** | 0 | +15.8 | L2/L3 减难·强(L3 0→21.4%) |
|
||||
| P3 | L2 Boss 卓尔 130→100 | 0 | +4.0 | 0 | +5.6 | L2 减难·弱 |
|
||||
| P4 | 荆棘 effect_value 1→2 | −2 | +0.2 | **−7** | −1.1 | L1 加难·弱 |
|
||||
| P5 | L1 Boss 酋长 72→86(r_boss 0.67→0.80 域内) | −6 | +0.5 | −1 | −4.3 | 只咬普通档(完美 L1 Boss 胜率 98%,血量加压打不到它) |
|
||||
| P6 | L1 群战上探(一伙/大地精 max 3→4) | — | — | — | — | **结构性不可用**:ConfigDB 跨表校验硬上限 unit_count_max 域 [unit_count, 3],抬上限=改校验域,超本批授权 |
|
||||
|
||||
### 组合配置
|
||||
|
||||
| 配置 | 普通L1 | 普通L2 | 完美L1 | 完美L2 | 判 |
|
||||
|---|---|---|---|---|---|
|
||||
| C1 = P1+P2 | 50.0 ✓ | 22.0 ✗(−3) | 89.0 ✗ | 43.8 ✓ | 完美 L2 入带 |
|
||||
| C2 = C1+P4+P5(注册杠杆全开) | 41.0 ✓ | 22.0 ✗(−3) | **81.0 ✗** | 49.4 ✓ | 全网格完美 L1 下限 |
|
||||
| C3 = C1+P3+P7(percent 5→4) | 50.0 ✓ | **24.0**(带缘 −1,±4.4 CI 内) | 89.0 ✗ | **56.2 ✓** | 3/4 入带最优解 |
|
||||
| C3 侧效应 | L3 无带:普通 0→16.7%、完美 0→34.0%(plb0+percent4 使 L3 变异密度 9%→4%) | | | | L3 带外注意项 |
|
||||
|
||||
## 二、扫描结论
|
||||
|
||||
1. **完美档 L1 全网格不可达**:89.0% 在全部 L2 减难杠杆下零位移(P1/P2/P3/P7 均不触 L1 环节);L1 定向杠杆全部弱(荆棘 +1 = −7pp 上限、酋长 +14 血对完美无感、群战上探被校验域封死)——注册杠杆集内 81%(C2)即完美 L1 下限,距带 [35,65] 上缘差 16pp。**完美 L1 的强势来自 10×10 板形 × 完美画像挖掘效率 × 奖励经济学,不在任何已注册旋钮的量程内**。
|
||||
2. **L2 双画像可收带**:C3 类组合(岩浆 2→1 + per_level_bonus 2→0 + 卓尔 130→100 + percent_of_cells 5→4)把普通 L2 送到带缘 24.0%(差 1pp,N=100 噪声带内)、完美 L2 56.2% 稳入带。
|
||||
3. **L3 侧效应**:L2 减难杠杆同时大幅抬升 L3 通关率(完美 0→34%)——L3 无带不判,但 L3 行值 provisional-pending-growth 的再校准(灰矮人矿城血轴)在判读后若采纳 C3 类组合将需要跟进(另批或同批追加行,非本扫描范围)。
|
||||
4. **工程发现**:r_boss 锚漂移——数值设计批 Boss 血轴拔高后,L2/L3 现值 r_boss≈0.33(Σ普通战生命期望=389/415,全行集口径)低于注册域 [0.5,1.1] 下限(L1 0.67 在域内);复算与是否收锚归出口判读。
|
||||
|
||||
## 三、伴生对账件重跑记录(随批义务)
|
||||
|
||||
### ① 清图支配性护栏 B 重跑 ✅(tools/clear_dominance_audit.py,现行 .tres 值链)
|
||||
|
||||
- L1 前段·实测(10×10 统一板):完美档 Δ_clear 首次翻正(+8.3/+5.5/+2.7,u=1/2/3)——棋盘统一批后完美档在前段板清图挖掘已过支配线;
|
||||
- L1 后段·实测 / L2·实测:仍全线 ✗(完美档缺口 −6.6 ~ −34.2 当量)——缺口形态与 2026-09-19 基线记录同构(当期记录 L1≈24/L2≈45),板形统一收窄了前段、未翻转后段;
|
||||
- 护栏 B(防钓鱼上界):D_ref=4 下 C=13 vs 上界 10(|S|min=50)越 1.3×,|S|min=60 带 ✓——**越线处置三选一仍挂用户**(登记债务,本批不动数字)。
|
||||
|
||||
### ② 挖掘风险不等式(重立记录)✅
|
||||
|
||||
现行惩罚链(八型批换装后):雷格负向=踩雷直伤(flat 主角单据)+群伤负向=警觉(敌方 AC +1 掷点折扣分布型);当量换算走效果档位对照表(flat E=表值;AC 轴=点数×5pp×D_ref=0.2 当量/次攻击)。重立结论:**风险端定价对收益端系统性不足的状态未闭合**(与清图支配性 L1 后段/L2 ✗ 区同源——挖掘收益端在板形统一与奖励密度放大后走强);修正位=雷格惩罚行值/负向权重池,**不在本批注册杠杆集**(属新杠杆授权),债务登记维持、行值不动。
|
||||
|
||||
### ③ heal 负向直伤 + 乏力 sapped 量级当量 ✅
|
||||
|
||||
- heal 负向直伤现行 power=1:当量换算表 flat 类 E=表值=1 = 0.25×D_ref(一次基准攻击的 1/4)——与荆棘 1/岩浆 2/踩雷直伤同处 flat 小整数档(C1 加法核一致),**当量自洽,无越带面**(该行值无注册带);2026-09-17 压缩批(−4→−1)的量级锚对账义务以本记录履行。
|
||||
- 乏力 sapped(−25% 输出一拍):percent 类 E=|层数×行值|÷100×D_ref=1.0 当量/结算——与 flat 一档同量级,轴一致。**已知债(不在本批)**:sapped 经 hero_offense 池的乘区接线缺口(格面调研「sapped 死效果」修复报价)仍挂格面差异化批,量级当量不受其影响。
|
||||
|
||||
### ④ 换算率锚联动复验 ✅
|
||||
|
||||
6/9/1(meta.tres conversion)在 T1 verifier campaign 段实测驱动正常:注入逐档生效无断链、爬升曲线健康(完美档 ~21 局/普通档 ~36–51 局进稳态通关,检查点表值平移 +21/+38 随触发自动生效)。锚定时效注记:6/9/1 标定于 2026-09-23(L2 收紧后旧口径);本批 L2 若按 C3 类收带(变易),爬升将进一步加速——**是否重标归出口判读**(护甲行强条目纪律:重测须按解锁后参数实测=verifier campaign 段即实测面)。
|
||||
|
||||
### ⑤ 刷新经济阈值基线读数 ✅(T1 交付,阈值提案随判读锁)
|
||||
|
||||
基线(T1):完美档 1.95 次/局·弃图率 19%·每轮刷新率 ≈4.7%(2026-09-19 基线 0.23 次/局·≤0.6% 的 ~30 倍位移——弃图重摇已进完美画像策略核心);普通档全零。**阈值提案(判读锁)**:预警阈值=弃图率 >30% 或每轮刷新率 >10%(≈2× 现行基线带外报警);现行值记「高弃图常态」观察态。
|
||||
|
||||
## 四、判读待决(停机等待面)
|
||||
|
||||
本批行值**零变更**(扫描=补丁即还原)——收带投值(provisional→正式)卡两点:
|
||||
|
||||
1. **U1 真人局未到账**:k 系数(真人整关承伤中位 ÷ 模拟完美档中位 55.0,预警线 k<0.3)未合入——06「加难杠杆扫描」条目的判读门=真人批 k 系数。采集指引=07⑨(零天赋档 3–5 局,日志自动落盘)。
|
||||
2. **完美档 L1 无解需用户裁决**(三选一,与 U1 无关、独立待拍):
|
||||
- 甲:**新杠杆授权**——敌方攻击基线上探(acceptance-ap6-ac f① 候选中有、06 条目注册表未收)或 L1 专属加难内容(新杠杆,须走杠杆注册);
|
||||
- 乙:**带修正**——完美档 L1 带上缘 65 上调(改带=用户拍板,C4 让位);
|
||||
- 丙:**接受 89% 挂账**——完美画像定位为上界仪(非真人画像),其 L1 越带不判、优先保 L2 双画像收带(本扫描读数支持)。
|
||||
3. C3 类组合(若判读采纳)的行值清单:`variation.tres` 岩浆 effect_value 2→1、per_level_bonus 2→0、percent_of_cells 5→4;`enemy.tres` (2,9) 卓尔 hp 130→100;伴随义务=registry 同步 + L2 池复验(T4 AC 投值前先锁本组合,防两轴混淆归因)+ 小样 20 局→全量确认 + 侧效应 L3 记录。
|
||||
|
||||
## 五、判读结果(2026-09-28 晚回填——用户两输入到账)
|
||||
|
||||
1. **完美 L1 三选一:用户裁丙**——接受 89% 挂账(完美画像定位上界仪,不判),优先保 L2 收带。带数字不动(C4 完整)。
|
||||
2. **C3 组合锁值落地**:`variation.tres` 岩浆 effect_value 2→1 / per_level_bonus 2→0 / percent_of_cells 5→4 + `enemy.tres` (2,9) 卓尔 hp 130→100 + registry 同步(variation 条目三处)——行值 provisional→正式随迭代 5 出口人闸追认。小样 20 局方向正常(完美 L2 72%·L3 46%,N=20 噪声带内);全量确认读数(N=200/策略·种子窗 76000)= `sim-data/runsum_m3iter5_c3locked_20260928.jsonl`(结果见台账 238 与 T4 报告对照基线)。
|
||||
3. **k 门处置**:U1 真人局到账形态=1 个不完整会话(2 轮即中断),k 系数不可计算——用户知悉后指令按丙裁决越过 k 门续跑收带(k 合入义务保留,见基线报告真人位更新)。
|
||||
4. 遗留挂账(出口人闸面):r_boss 锚漂移收锚(卓尔 100→r_boss≈0.26)、L3 侧效应再校准(变异密度 9%→4%)、刷新经济阈值数字、护栏 B 三选一。
|
||||
|
||||
> 扫描完成即 T3 机器面全毕;判读已按用户输入收口(丙+C3 锁值)。T4(AC 投值)/T5(节点图生成,实施门=调参收带后——本批即收带)按串行续跑。
|
||||
@@ -1,50 +0,0 @@
|
||||
# M-3 迭代 5 返工批——U2 裁决终态读数报告(T-A/T-C,2026-09-29)
|
||||
|
||||
- **被测构建**:worktree iter5-rework-20260929 @ c3c1725(C1 两刀 + AC v1 硬梯度 + 节点图池 U2 重生成终态)
|
||||
- **读数源**:MC N=200/策略 · 种子 79000 unique · route=min(`sim-data/m3iter5-rework-mc-final-20260929.stdout.log`,400 局);verifier na=150/k=100 · 种子 9500 · hp_first(500 局,本报告 §三)
|
||||
- **判定带**:C4 冻结不动(普通 L1 [35,55] / L2 [25,45]、完美 [35,65]、F4 Boss 承伤 ≤50% provisional)
|
||||
- **裁动上下文**:U2 三推翻(a 甲 / b C1 / c v1)+ 池重生成两规则——本报告 = 该组合的**首次测量**(事先无任何先测)
|
||||
|
||||
## 一、逐关条件通关率(MC 双窗单窗,N=200/策略)
|
||||
|
||||
| 层 | 画像 | 读数 | 现行带 | 判 |
|
||||
|---|---|---|---|---|
|
||||
| L1 | 普通 | 42.5% (85/200) | [35,55] | **落带** |
|
||||
| L2 | 普通 | **10.6%** (9/85) | [25,45] | **越下带 14.4 点** |
|
||||
| L1 | 完美 | 84.0% (168/200) | [35,65] | 越上带(**甲挂账**——T-B 杠杆提案待批,本批不动) |
|
||||
| L2 | 完美 | **22.0%** (37/168) | [35,65] | **越下带 13 点** |
|
||||
| L3 | 普通 / 完美 | 0% (0/9) / 8.1% (3/37) | 无带 | 只测不判 |
|
||||
|
||||
## 二、对照与归因
|
||||
|
||||
| 状态 | 普通L1 | 普通L2 | 完美L1 | 完美L2 |
|
||||
|---|---|---|---|---|
|
||||
| C3 锁值+无 AC+旧池(迭代 5 落籍态) | 46.5% ✓ | 31.2% ✓ | 83.0%(丙) | 56.6% ✓ |
|
||||
| v1 AC 叠 C3(T4 首版实测) | 42.0% ✓ | 14.3% ✗ | 84.0% | 53.6% ✓ |
|
||||
| **C1+v1+新池(本批终态)** | 42.5% ✓ | **10.6% ✗** | 84.0%(甲) | **22.0% ✗** |
|
||||
|
||||
归因三轴(方向性,未做单轴拆解实验):
|
||||
|
||||
1. **C1 vs C3**(占比回 5% + 卓尔回 130):T3 扫描口径下该两行 ≈ −5~−6pp(C3 24.0 → C1 22.0 普通档,完美 56.2 → 43.8)。
|
||||
2. **AC v1 硬梯度**:T4 实测 v1-on-C3 普通 −16.9pp(31.2→14.3);杂鱼梯度恢复(0→1~5 带内)与重击手 8/重装手 9 再叠加。
|
||||
3. **池重生成(本批新变量,最大未知)**:新网状图最短路径战斗节点数 3(旧图 4)——同路线战斗数变少=入 Boss 前养成变薄,L2 双画像同步下移(完美 53.6→22.0 的主落差在此轴,方向证据=完美档对难度变化最敏感)。
|
||||
|
||||
> ⚠ 归因注意:三轴同批落地,本报告只有终态读数——轴间拆解须补丁即跑即还原扫描(归调参批/迭代 7 标定批,本批不做)。
|
||||
|
||||
## 三、verifier 全段(独立种子窗 9500 · N=150+100 · 行键行数双核对 500 局)
|
||||
|
||||
- **双窗对拍同向**:普通 L1 44.0% / L2 13.6% / L3 0%;完美 L1 82.7% / L2 32.3% / L3 17.5%——与 MC 窗(42.5/10.6/84.0/22.0)同向同量级,非窗口彩票。完美 L2 双窗 22.0–32.3%(均低于带下缘 35,窗口波动 ~10pp 如实记录)。
|
||||
- **止步归因**:普通档主败退 = **第一层·节点6·Boss ×47**(食人魔酋长 AC 8 在 L1 收口位成为普通档第一墙)+ 第一层·节点2·战斗 ×23;完美档主败退 = **第二层·节点9·Boss ×40**(卓尔 130 血 + AC 10 长战)+ 第二层·节点1·战斗 ×17——Boss 收口位税负集中,与 AC v1 设计语义一致。
|
||||
- **营地循环(换算率 6/9/1 驱动复验)**:注入逐档生效无断链;普通档 ~60–90 局进稳态(滑窗 100%/100%/90-100%)、完美档收敛更快——对比上一基线(普通 ~36 局)**爬升放缓 ≈2 倍**(L2 难度上调的镜像后果),曲线形状健康。**换算率重标判读:锚功能正常无需急改,重标数字候选归迭代 7 标定批**(本批不动 6/9/1)。判定端报告 sim-data/balance-verifier-20260929-rework.raw.md。
|
||||
|
||||
## 四、伴生复算
|
||||
|
||||
- **r_boss 锚**(回退卓尔 130 后):L2 130/389 ≈ 0.33 · L3 140/415 ≈ 0.34——仍低于注册域 [0.5,1.1] 下限,**挂账维持**(收锚归调参批)。
|
||||
- **L3 变异密度**:5%+0/关(旧 5%+2 → C3 4%+0 → 本批 5%+0)——介于 9%(并流前口径)与 4%(C3)之间;L3 读数普通 0%/完美 8.1%,带外观察态不变。
|
||||
- **模板抽取分布**:15 张全被抽中(L1 五张 395–562 次、L2 五张 162–236 次、L3 五张 8–74 次=条件于到达),无死模板。
|
||||
|
||||
## 五、判读与移交
|
||||
|
||||
1. **普通 L2 10.6% / 完美 L2 22.0% 双越下带 = U2 组合的知情后果**(用户裁决链:b C1 少两刀减难 + c v1 加 AC 税 + ③ 池加宽连带短路径)——按返工计划书待批点丙呈报,**数字待用户追认**(追认前行值维持 provisional)。
|
||||
2. 完美 L1 84.0% → T-B 杠杆提案(design/research/perfect-l1-lever-proposal-2026-09-29.md,荆棘外延推荐)待批后另跑扫描。
|
||||
3. 换算率重标判读、r_boss 收锚、刷新阈值、护栏 B——维持挂账序列不变。
|
||||
@@ -1,54 +0,0 @@
|
||||
# 迭代 9 9A 段闸人闸检查单(2026-09-30 交付,待用户实机目检)
|
||||
|
||||
> 交付人=迭代 9 执行会话。9A 段(T0-T8+T11-T14+T15 重闸)全部落籍于 worktree `m3-iter9-20260930`(基点 3933723,段头 65e9016..c7646c5 十一批次)。**本检查单过闸 + 三裁决表态([呈报单](m3-iter9-t8-rulings-2026-09-30.md))= 9A 出口**,其后 T9/T10(挂三裁决)与 9B(T16-T20)续行。
|
||||
> 实机启动:主区合并后开始界面进入(或先看截图快照 `artwork/qa-screens-20260930/`——正式判定以实机为准)。
|
||||
> 判定记法:每项 ✅/❌+一句话;❌ 项走复述确认制(我先复述你的反馈再改)。
|
||||
|
||||
## 一、v3.5 视觉规格目检(对照验收基准图 `artwork/mockups/sample-batch-v35-draft-2026-09-29.png`)
|
||||
|
||||
1. **E 格高墙**:已开格南邻墙→南部 30% 承接墙面,墙顶纹理原亮度直贴(同色零暗档);(b)-(c) 交界无边框(墙面直贴墙顶);墙脚阴线恰一格线。
|
||||
2. **地板归一**:已开格底提亮至世界底层档(L≈0.10),纹理相对对比保留。
|
||||
3. **数字亮墨直画**:已开格数字无色牌直画——1–3 冷亮/4–5 暖白/6–8 金亮三档色温可辨。
|
||||
4. **色牌后备**:踩雷「雷」与遮蔽「?」维持垫牌(牌上深墨);普通数字无牌。
|
||||
5. **B 区舞台**:暗背景暖石档+顶光柱氛围(四柱)+站桩石板地台与椭圆落影。
|
||||
6. **ui_kit 对比度**:C 区属性行/结算明细条/菜单说明/菜单副标题——视觉上不再灰蒙(机检 WCAG 5.79–13.14 ✓)。
|
||||
7. **字号**:菜单帮助文/C 区行/明细摘要放大到 16px 后无溢出无挤压感。
|
||||
|
||||
## 二、扩编卡目检(呈现欠账四件)
|
||||
|
||||
8. **关卡画面 GP 常驻徽章**:顶栏右侧◈直角数据框,读数=当前冒险 GP(买商店/拿奖励后回图数值会动)。
|
||||
9. **C 区本关强化列表**:无加算时整节隐藏;有商店购买/大奖励加算时出现「攻击 +N/生命上限 +N/护甲 AC +N」行(验证路径:买一件商店强化进战斗看 C 区)。
|
||||
10. **封印旗纹理**:标旗格=黑色矩形旗印记(非文字「旗」);观感与墙瓦片可读不粘连。
|
||||
11. **营地视觉终稿**:石纹全屏底+顶栏铭牌/钥石徽+三柜台列(锻造/工坊/图鉴)+底栏关闭/注记——对照方向稿 `artwork/mockups/v3-draft-2026-09-29/4-camp.png`。
|
||||
|
||||
## 三、整屏样张闸语义项(机检不可判面)
|
||||
|
||||
12. **焦点预算(首焦唯一)**:战斗屏第一眼焦点=棋盘数字区/立绘,无第二焦点竞争;菜单/营地/关卡屏同判。
|
||||
|
||||
## 四、回归抽查(迭代 8 遗留项复核——视觉批不应触碰的面)
|
||||
|
||||
13. 中断续玩(关游戏重开→继续上局)、战斗胜利结算框、轮间结算逐条演出、设置面(音量/全屏/减动效)、放弃二次确认、图例解码。
|
||||
|
||||
## 五、代拍板追认清单(随 commit 记录,逐项追认或推翻)
|
||||
|
||||
| # | 代拍板项 | 内容 |
|
||||
|---|---|---|
|
||||
| k1 | E 格墙面材质与阴线 | 墙顶 center 瓦片顶部区带直贴+1px 墙脚阴线(方向稿同色 52,42,32) |
|
||||
| k2 | 亮墨三档色值 | #D8ECF0/#F0E2C8/#F8E3A8(验收图同值;边界抗锯齿 ±微调不入档) |
|
||||
| k3 | 色牌后备收窄 | 仅雷/「?」垫牌(数字直画;复杂格底判定随装饰瓦片批扩) |
|
||||
| k4 | 光柱参数 | 四柱@1280 基准 110/900/1055/1210、暖光 α26 渐隐(带内微调权限已用) |
|
||||
| k5 | 站桩地台 | 板身 150,130,100/描边 90,76,58/顶光 196,172,132(方向稿取色) |
|
||||
| k6 | 强化列表行文 | 「攻击 +N/生命上限 +N/护甲 AC +N」 |
|
||||
| k7 | 营地行文短格式 | 「生命锻造 +3/级」「Lv 0」「20 钥石」;柜台头带色/行板色(方向稿取色) |
|
||||
| k8 | 明细摘要/区头字号 | 摘要 14→16、区头 14/15→16(辅助提示 14 维持) |
|
||||
| k9 | 旗纹理形态 | 32×32 旗杆 2×22+矩形旗面 13×10 纯封印黑(无描边) |
|
||||
|
||||
## 六、段末重闸读数留痕(2026-09-30 实测)
|
||||
|
||||
冒烟 596/0+run_all 15 套全绿+六探针全 PASS(ui_input 十四断言/ui_probe/ui_tune/fx 全链/click 问题=0/layout 退出 0)+doc 三闸零新增(lint 8=8/term 2=2/死链 worktree 假象 3)+熵增 PASS+样张机检 17/17+整屏样张闸机检 PASS(WCAG 5.79–13.14/明度三档 204>79>55/纹理幅度 ≤12.9)+MC 对拍(见台账 294/295——本轮重跑读数以台账为准)+draw calls 实测 **504**(基线 270/目标 <200——**缺口呈报**,优化候选清单见台账,处置待你裁决)。
|
||||
|
||||
## 七、挂起项(不卡本闸)
|
||||
|
||||
- T9 分辨率两档落码 / T10 C 档黄金图基准 → 挂三裁决(呈报单裁决一/三)。
|
||||
- T16 draw calls 缺口处置 → 三案(见台账):优化批立项/目标带调整/接受现状。
|
||||
- 9B:T17 真人目检总清(本文档 §一-四即其 9A 前半,9B 全流程版随出口闸交付)/T19 真人通关率(照 07 §⑨ 指引 3–5 局)。
|
||||
@@ -1,40 +0,0 @@
|
||||
# M-3 迭代 9 出口检查单(2026-10-03 收口)
|
||||
|
||||
> 迭代 9 =「视觉规格落码 + Alpha 验收」两段(9A 视觉落码 2026-09-30 落籍;9B Alpha 验收段=本单)。计划书=`.zcode/plans/m3-iter9-loop-plan-2026-09-30.md` §5(T16-T20)。
|
||||
|
||||
## 一、T16-T20 执行面
|
||||
|
||||
| 卡 | 内容 | 状态 | 证据 |
|
||||
|---|---|---|---|
|
||||
| T16 | 修复批 11 件 | ✅ 全落 master | f462175→5debf6a 系+硬锁 v3.1/演播后排窗(5486ms/22 行 ±7ms);本出口批追加 35 两处字色(25a2e50) |
|
||||
| T17 | 全流程真人目检 36 项 | ✅ 全判 | [判定记录](m3-iter9-t17-fullflow-checklist-2026-10-01.md) 批1-4(13✅/35 两处修复/32 环境限制待独立复验) |
|
||||
| T19 | 真人标定局 | ✅ 佐证级收口(用户裁件五乙) | [读数报告](t19-real-playtest-readings-2026-10-02.md):有效局 2(1 通关 1 死 L3 首战);k=0.60 落 >0.5 带内 |
|
||||
| 带值批 | 新带值拍板 | ✅ 用户逐项裁 | 四带甲案+普通档失败常态窗+雷当量 6/8/8 转正+k 预期带([难度曲线与Boss.md 带换代节](../gdd/systems/冒险循环/难度曲线与Boss.md)) |
|
||||
| T20 | 出口闸五步 | ✅ 本单 | 批末闸数字见下节 |
|
||||
|
||||
## 二、批末闸(2026-10-03 全量留痕)
|
||||
|
||||
| 闸 | 结果 |
|
||||
|---|---|
|
||||
| 冒烟(run_smoke 三闸) | **636 项检查,0 失败**,PASS |
|
||||
| run_all 单元 | **15 套全绿** exit=0 |
|
||||
| 探针 | ui_probe PASS / ui_layout exit0(测量面)/ fx_probe PASS 全链 / t17_defer PASS(胜利同帧挂起+排播完开窗,waited=5.5s)/ **ui_click_probe 超时红=已知挂账**(完整局适配+硬锁交互语义差,06 专项 2026-10-03 补登记挂 M-4 迭代 11 窗口——非本批引入,perf 审计 2026-10-02 已定性) |
|
||||
|
||||
## 三、带值批说明(透明记录)
|
||||
|
||||
81000 锚(N=400/档)**经用户质询定性为「非数值验证」**:本批零数值改动,跑批性质=k 终值补算源(件四甲)+出度重建结构位移存档(完美战役 78.5%→59.0%,−19.5pp,只测不判)——见 [81000 读数](../../sim-data/读数_m3iter9exit81000_20261003.md)。锚随 M-4 数值收敛批再换代。
|
||||
|
||||
## 四、代拍板追认清单(待用户,不阻塞出口)
|
||||
|
||||
| 项 | 内容 | 状态 |
|
||||
|---|---|---|
|
||||
| 迭代 10 七项 | a 用备选/b-f 认同/g semver(2026-10-01,台账 298) | 待追认 |
|
||||
| 本出口批 | 无新增代拍板(带值四件/T19 收口/k 保留/35 修法均用户当场裁) | — |
|
||||
|
||||
## 五、挂账移交(出迭代,不阻塞)
|
||||
|
||||
32 全屏独立运行复验(编辑器内嵌限制)|31 音量实效(待 BGM 资产)|5/6/19 审美轴(06 在册)|ui_click_probe 完整局适配(06 专项)|全局难度收敛批(带 A/B 落带,M-4 排序)|迭代 10 人工参与项(07 ⑩)。
|
||||
|
||||
## 六、出口结论
|
||||
|
||||
**迭代 9 出口成立;M-3「数值标定与 Alpha 创建」关闭;Alpha 到手;M-4 门解**(迭代 11 窗口:同调批/商店批/反制批按读数排序,台账 303 排布)。
|
||||
@@ -1,246 +0,0 @@
|
||||
# 迭代 9 T17·全流程真人目检清单(2026-10-01 交付;**挂起待用户统一执行**——2026-10-01 用户令不阻塞主线,后续一次性做完)
|
||||
|
||||
> **这是什么**:T17 交付物(全流程版)。把散落在迭代 6/7/8 出口单和迭代 9 9A 段闸单里的目检点收拢成**一份**清单——照着从开始菜单一路玩到三结局,逐项打勾。共 **36 项**,全程约 **35–45 分钟**。
|
||||
> **状态注记(2026-10-01 数值修复批合并后)**:①启动路径已改主区(worktree 已清)——见下方「实机怎么开」;②两类项**已提前验收**,玩到对应项直接打勾即可:数字可读性(L1 亮墨直画 / L2·L3 色牌垫底——用户实机确认可读)、难度数值(用户验收「令人稍微满意」);③本单仍是迭代 9 出口闸(T17)的正式载体,过闸记录回填文末。
|
||||
> **进度(2026-10-02 终态)**:**第 1–36 项已全部判定完毕**(判定记录见文末「判定记录」节,正文保留作参照)——13 项 ✅、第 35 项两处对比度 ❌(修法呈报待确认)、第 32 项系 Godot 编辑器内嵌窗口环境限制(独立运行复验待做)。11 件修复真机复验:硬锁+排窗由 t17_defer_probe 定点证据承接,其余五处(旗印/伤害数字/挖格不掉道具/出度≤2/debug 血量)并入 T19 真人局顺带补验。**T17 判定段收口,后续走 T19 真人批。**
|
||||
> **验收人=你**(最终验收人)。每项只判「呈现对不对」:照「操作」做 → 对照「预期」→ 打勾。数值好不好玩(Boss 难度、承伤压力、踩雷疼不疼等体感)**不在本单**——那归 T19 真人通关率批,照《07-体验验证清单》§⑨ 另玩 3–5 局。
|
||||
|
||||
## 实机怎么开(三步)
|
||||
|
||||
1. 用 Godot 打开工程 `D:\code\g-plan2\game\project.godot`(**主区 master**——数值修复批已合并 4b4a011,含全部新内容)。
|
||||
2. 按 F5 运行,出开始菜单。
|
||||
3. 点「开始冒险」开新局。若菜单上有旧档的「▶ 继续上局」:直接点「开始冒险」,在确认提示里选「开新冒险」覆盖旧档(这个提示就是第 30 项的目检对象,顺手可先记一笔)。**本清单从新冒险起步,勿续旧断点。**
|
||||
|
||||
## 判定记法
|
||||
|
||||
- 每项判定框:打 ✅ 或 ❌,再写一句话(✅ 写「正常」也行;❌ 写你实际看到了什么)。
|
||||
- ❌ 项走**复述确认制**:我先复述你的反馈、确认理解一致后再改,不闷头猜。
|
||||
- 建议跑法:主线一局打到底过 §一→§五 第 25 项(约 25–30 分钟);再开三个短局收第 26/27/28–30 项(各约 3–5 分钟);§七/§八 随时补(约 5 分钟)。
|
||||
|
||||
## ★ 数字长相速览(进第一关前先读这条,避免误判)
|
||||
|
||||
本批修复后,三关数字是**两种形态,都算对**:
|
||||
|
||||
- **第一关**:数字是白亮色的字,**直接印在棕色地板上**,没有小牌垫底。
|
||||
- **第二、三关**:数字印在**米色小方牌**上(深色字 + 米色底)。
|
||||
- 反过来才是问题:第二/三关出现无牌白字,或第一关出现小牌。
|
||||
|
||||
## 屏面叫法(下文统一用词)
|
||||
|
||||
- **战斗信息栏** = 战斗画面里常驻显示攻击/生命/护甲与道具槽的面板。
|
||||
- **雷图** = 挖掘用的棋盘;**路线图** = 关卡画面上选路走的节点图。
|
||||
- **舞台** = 战斗画面里角色站立的背景区。
|
||||
- **停点** = 游戏自动保存的进度点(「继续上局」按钮文案里就叫这个名字)。
|
||||
|
||||
---
|
||||
|
||||
## §一 开始菜单与营地(第 1–4 项)——已判定(2026-10-02)
|
||||
|
||||
判定:1✅(新档无继续钮=正常)/ 2✅ / 3✅(简答「有」,工坊三态未逐条,异常随时补报;钥石 0 工坊解锁动作等钥石回补)/ 4✅。
|
||||
|
||||
## §二 第一关(第 14–18 项未判;第 5–13 项已判定见文末记录)
|
||||
|
||||
**14. 奖励节点三选一**
|
||||
- 操作:沿路线图走到奖励节点。
|
||||
- 预期:弹「关卡奖励点」三枚道具按钮,**必须三选一**(没有跳过钮);选定后道具入背包、浮出一条小提示、回到选路口。
|
||||
- 判定:☐ ✅ ☐ ❌ 一句话:____________
|
||||
|
||||
**15. 魔法道具两步使用与拒绝零消耗**
|
||||
- 操作:先看战斗信息栏的道具槽(**道具只来自第 14 项奖励节点三选一/通关三选一**——战斗/挖格不掉道具,掉落渠道已于 2026-10-01 退役;工坊未解锁时三选一也不出道具件,本项可等抽到道具件再做)。点空间类道具(探巢摆钟/爆破工兵包)槽位 → 点雷图目标格;点工兵令槽位;再拿空间类道具故意点一块**已开格**。
|
||||
- 预期:空间类点槽后槽位金框选中出提示,点目标格后真视红框/预读徽章出现(爆破包则该格爆开);工兵令点槽即用、本轮行动点立涨;点已开格则弹拒绝提示且**道具不消耗**。(顺手可验:对真视红框格插旗照常扣 1 行动点——真视给信息不给保护。)
|
||||
- 判定:☐ ✅ ☐ ❌ 一句话:____________
|
||||
|
||||
**16. 休息与商店**
|
||||
- 操作:走到休息节点休息一次;走到商店买一件强化(如生命 +5)。
|
||||
- 预期:休息后血量上涨;商店购买扣 GP、对应属性上行;两处变化都能在战斗信息栏核对。
|
||||
- 判定:☐ ✅ ☐ ❌ 一句话:____________
|
||||
|
||||
**17. 图上点击选路**
|
||||
- 操作:战斗胜利点「下一节点」后,在路线图上点你想走的下一节点。
|
||||
- 预期:点哪个节点走哪条路;已走过的节点在图上有标记,与当前进度一致。
|
||||
- 判定:☐ ✅ ☐ ❌ 一句话:____________
|
||||
|
||||
**18. 放弃二次确认(只测弹窗,不真放弃)**
|
||||
- 操作:关卡画面点「放弃」;看到确认提示后**不点第二下**,等约 3 秒。
|
||||
- 预期:按钮变成「再点一次确认放弃——不可逆」并带危险红脉冲;约 3 秒不点则确认态自动收回、回到基态「放弃」,冒险继续不受影响。真放弃留到第 27 项。
|
||||
- 判定:☐ ✅ ☐ ❌ 一句话:____________
|
||||
|
||||
---
|
||||
|
||||
## §三 第二关(第 19–21 项,约 5 分钟)
|
||||
|
||||
**19. 第二关数字可读 ★(本批修复重点)**
|
||||
- 操作:进第二关多挖几格,凑近看数字,再退一步看。
|
||||
- 预期:第二关数字印在**米色小方牌**上(深色字 + 米色底)——**与第一关的白字直画不同,这是有意的两种形态,别判错**;牌上数字清晰、不与地板纹理糊在一起(修复前数字就融在纹理里看不清,本批即修此问题),离屏一步可读。
|
||||
- 判定:☐ ✅ ☐ ❌ 一句话:____________
|
||||
|
||||
**20. GP 常驻徽章**
|
||||
- 操作:看关卡画面顶栏右侧的 ◈ 直角数据框;去商店买一件或拿一次奖励,回到关卡画面再看。
|
||||
- 预期:◈ 框常驻显示当前冒险 GP;花掉/入账后读数跟着变、与收支一致。
|
||||
- 判定:☐ ✅ ☐ ❌ 一句话:____________
|
||||
|
||||
**21. 本关强化列表**
|
||||
- 操作:带着第 16 项买的强化进一场战斗,看战斗信息栏多出的一节。(回想:主线**第一关第一场战斗**时这一节应该整节不出现——那时你还没买任何东西。)
|
||||
- 预期:出现强化列表行(「攻击 +N」「生命上限 +N」「护甲 AC +N」样式),数值与你买到的/奖励拿到的加算一致。
|
||||
- 判定:☐ ✅ ☐ ❌ 一句话:____________
|
||||
|
||||
---
|
||||
|
||||
## §四 第三关(第 22–24 项,约 5–8 分钟)
|
||||
|
||||
**22. 第三关数字可读**
|
||||
- 操作:进第三关挖开几格看数字。
|
||||
- 预期:同第二关——**米色小牌 + 深色字**,清晰可读。(再提醒一次:第一关无牌、第二/三关有牌,两种形态都对。)
|
||||
- 判定:☐ ✅ ☐ ❌ 一句话:____________
|
||||
|
||||
**23. GP 徽章与强化列表复访**
|
||||
- 操作:第三关顺手再看一眼顶栏 ◈ 框和战斗信息栏的强化列表。
|
||||
- 预期:GP 数值全程连续累计正确;强化列表按实际加算正确显隐、数值正确。
|
||||
- 判定:☐ ✅ ☐ ❌ 一句话:____________
|
||||
|
||||
**24. Boss 战演出与过关大奖励界面**
|
||||
- 操作:打第三关 Boss(蛛化卓尔),开打看舞台全貌,打到它出手;打赢看过关界面。(若身上还留着魔法道具,正好验清空提示。)
|
||||
- 预期:Boss 站桩明显大于杂兵;技能(毒爆/蛛网束缚)在轮末结算与状态图标里可感知;Boss 胜利走**过关大奖励界面**(不弹普通结算框);若持道具过关,浮出「上关剩余 N 件魔法道具已随关卡结束清空」且道具槽清空。Boss 难不难、拖几轮归 T19,这里只判演没演。
|
||||
- 判定:☐ ✅ ☐ ❌ 一句话:____________
|
||||
|
||||
---
|
||||
|
||||
## §五 三结局(第 25–27 项,约 10–15 分钟)
|
||||
|
||||
**25. 通关结局**(主线局打赢第三关即测)
|
||||
- 操作:通关后看终局面板,点「明细回看」,再点「返回」回开始菜单。
|
||||
- 预期:终局面板有判词 + 金色一行「本局 GP 入账 · 合计 N」(N 与局内商店/战斗累计一致)+「明细回看」可开可关;「返回」后开始菜单**不再出现**「▶ 继续上局」。
|
||||
- 判定:☐ ✅ ☐ ❌ 一句话:____________
|
||||
|
||||
**26. 死亡结局**(开新冒险,故意送死)
|
||||
- 操作:连挖已确认的雷或站着挨打,直到主角倒下;看终局面板,「明细回看」开一次再关掉,点「返回」。
|
||||
- 预期:进冒险终局面板、有死亡侧判词;按口径失败侧**不显示** GP 入账行;「明细回看」可开可关;「返回」后「▶ 继续上局」不再出现。
|
||||
- 判定:☐ ✅ ☐ ❌ 一句话:____________
|
||||
|
||||
**27. 放弃结局**(再开新冒险)
|
||||
- 操作:进第一关后点「放弃」→ 再点一次确认 → 终局面板点「返回」。
|
||||
- 预期:第二击才真放弃;「返回」后「▶ 继续上局」不再出现(通关/死亡/放弃三结局都清断点)。
|
||||
- 判定:☐ ✅ ☐ ❌ 一句话:____________
|
||||
|
||||
---
|
||||
|
||||
## §六 中断续玩(第 28–30 项,约 5–10 分钟)
|
||||
|
||||
**28. 断点写盘**
|
||||
- 操作:开新冒险,进第一关出现关卡画面后**直接关掉游戏**(Alt+F4 或点窗口 ×),重新 F5。
|
||||
- 预期:开始菜单亮起「▶ 继续上局(第 1 关 · 自最近停点恢复)」。
|
||||
- 判定:☐ ✅ ☐ ❌ 一句话:____________
|
||||
|
||||
**29. 续玩恢复**
|
||||
- 操作:点「继续上局」。
|
||||
- 预期:回到中断时同一停点——路线图已到节点、已开格与旗和关游戏前一致;选路继续后雷板布局与中断后开打一致(当场战斗从头打,不跳轮)。
|
||||
- 判定:☐ ✅ ☐ ❌ 一句话:____________
|
||||
|
||||
**30. 新冒险互斥确认**
|
||||
- 操作:保持有断点,在开始菜单点「开始冒险」;先点「取消」;再点一次「开始冒险」并选「开新冒险」;最后开着确认提示干等几秒。
|
||||
- 预期:确认提示「已有未完冒险——再点一次开新冒险(旧断点将被覆盖)」**出现在开始菜单之上**(不被盖住);「取消」回菜单且断点还在(「继续上局」仍亮);「开新冒险」开新局且旧断点被覆盖;提示停约 3 秒不点会自动收回。
|
||||
- 判定:☐ ✅ ☐ ❌ 一句话:____________
|
||||
|
||||
(测完这局随你处理——放弃清档或留着玩都行,不影响后面的项。)
|
||||
|
||||
---
|
||||
|
||||
## §七 设置面(第 31–33 项,约 3–5 分钟)
|
||||
|
||||
**31. 音量**
|
||||
- 操作:开始菜单点「设置」,拖音量滑杆。
|
||||
- 预期:音量随滑杆实时变化、旁有百分比读数;设置面只有音量/全屏/减动效加「返回」,没有退出入口(退出游戏只在开始菜单)。
|
||||
- 判定:☐ ✅ ☐ ❌ 一句话:____________
|
||||
|
||||
**32. 全屏开关**
|
||||
- 操作:设置面点「全屏:关/开」按钮。
|
||||
- 预期:按钮文案随状态在「全屏:开」「全屏:关」间切换,窗口实时切全屏/窗口化;重启游戏后设置仍记住。
|
||||
- 判定:☐ ✅ ☐ ❌ 一句话:____________
|
||||
|
||||
**33. 减动效开关与结算节奏**
|
||||
- 操作:设置面点「减动效:开」→ 进冒险打一场战斗、轮末停手看结算;再把「减动效」关回去看同样场面。
|
||||
- 预期:按钮为「减动效:开/关(动画时长减半——运动敏感/演示用)」形态、清晰可读;开=整场演出**明显变快**(动画时长减半),轮间结算仍在但节奏加快、不整体跳过;关=恢复第 12 项的逐条原速演出。
|
||||
- 判定:☐ ✅ ☐ ❌ 一句话:____________
|
||||
|
||||
---
|
||||
|
||||
## §八 整屏语义项(第 34–36 项,约 3–5 分钟)
|
||||
|
||||
**34. 首焦唯一**
|
||||
- 操作:分别看战斗屏、关卡屏、开始菜单、营地四类画面各 2 秒,问自己「第一眼落在哪」。
|
||||
- 预期:每屏只有一个第一焦点(战斗屏=雷图数字区/立绘,菜单=主按钮,营地=柜台列),没有两个元素抢视线;留白是衬托、不是空得慌。
|
||||
- 判定:☐ ✅ ☐ ❌ 一句话:____________
|
||||
|
||||
**35. 对比度观感**
|
||||
- 操作:把战斗信息栏属性行、结算明细条、菜单说明与副标题扫一遍。
|
||||
- 预期:这些文字不再灰蒙蒙——深底上的字吃得开、看得清(程序化对比度检查已全过,这里只凭肉眼终审)。
|
||||
- 判定:☐ ✅ ☐ ❌ 一句话:____________
|
||||
|
||||
**36. 字号**
|
||||
- 操作:看菜单帮助文字、战斗信息栏各行、结算明细摘要。
|
||||
- 预期:放大到 16px 一档后没有溢出、没有挤压感;小字仍可读不糊。
|
||||
- 判定:☐ ✅ ☐ ❌ 一句话:____________
|
||||
|
||||
---
|
||||
|
||||
## 判定记录(第 1–13 项,2026-10-02)
|
||||
|
||||
| 项 | 判定 | 备注 |
|
||||
|---|---|---|
|
||||
| 1 开始菜单 | ✅ | 新档无继续钮=正常 |
|
||||
| 2 营地画面 | ✅ | — |
|
||||
| 3 三柜台 | ✅ | 用户简答;钥石 0 解锁动作回补 |
|
||||
| 4 图例 | ✅ | — |
|
||||
| 5 数字直画 ★ | ✅+审美待办 | 「非常难看」→06 已登记(排 M-4 后排) |
|
||||
| 6 高墙地面 | ✅+审美待办 | 墙底黑线「很难看」→06 已登记 |
|
||||
| 7 挖格连锁 | ✅ | — |
|
||||
| 8 插旗 | ❌→已修复 | 旗不显示回归(tex_flag 无 setter 零重绘)——修复已合 master f462175,**复验=插旗看黑旗印** |
|
||||
| 9 踩雷惩罚呈现 | ❌→已修复 | 伤害数字不可见——26px/1.1s 增强已合,**复验=被打看头顶数字** |
|
||||
| 10 战斗演出·我方 | ❌→已修复 | 演出快+棋盘未锁——C′ 结算视觉指示已合,**复验=轮末棋盘灰化演播**(偏差待裁:硬锁回炉与否) |
|
||||
| 11 战斗演出·敌方 | ❌→同 10 | 同上 |
|
||||
| 12 逐条结算 ★ | ❌→同 10 | 07⑩①演出复验=演出在滚✓,感知归 C′ |
|
||||
| 13 胜利结算框 | ✅ | — |
|
||||
|
||||
### 批 3(第 14–21 项+额外反馈,2026-10-02)
|
||||
|
||||
| 项 | 判定 | 备注 |
|
||||
|---|---|---|
|
||||
| 14 奖励节点三选一 | ✅ | — |
|
||||
| 15 魔法道具两步使用 | ❌→渠道退役落 | 清单「挖安全格掉道具」系过渡渠道过时表述——**用户拍板甲:战斗掉落渠道即刻退役**(reward.tres 四行删+F2 校验随退+断言同步),道具唯一来路=三选一共享池;本项待抽到道具件后补验 |
|
||||
| 16 休息与商店 | ✅ | — |
|
||||
| 17 图上点击选路 | ❌→修复回炉挂 | 呈现缺陷(B 线调研:候选计算正确,干线共线重叠+非候选区分弱)——修复实现后因 probe 红灯暂回滚,**挂选路/结算呈现专项批** |
|
||||
| 18 放弃二次确认 | ✅ | — |
|
||||
| 19 第二关数字可读 ★ | ✅可读+审美 | 「还是丑」——审美轴归 06 已登记待办(数字直画观感),后续由用户指定工具/模型处理 |
|
||||
| 20 GP 常驻徽章 | ✅ | — |
|
||||
| 21 本关强化列表 | ✅ | — |
|
||||
|
||||
**额外反馈两条**:①结算演播期输入冻结——硬锁实现与收尾链(点击泵架构)冲突,已回退,挂选路/结算呈现专项批与用户裁决;②debug 调生命上限后当前血不同步——修复已实现(账本置满/回血封顶同式含 pct),因 probe 红灯关联暂缓落库,待归因。
|
||||
|
||||
三修闸:冒烟 628/0+run_all 15 套+五探针,worktree/master 双跑全绿(台账 301)。
|
||||
|
||||
### 批 4(第 22–36 项+修复复验,2026-10-02)
|
||||
|
||||
| 项 | 判定 | 备注 |
|
||||
|---|---|---|
|
||||
| 22 第三关数字 | ✅ | 正常 |
|
||||
| 23 GP/强化列表复访 | ✅ | 正常 |
|
||||
| 24 Boss 战+大奖励 | ✅ | 正常 |
|
||||
| 25 通关结局 | ✅ | 三结局「都是可以的」 |
|
||||
| 26 死亡结局 | ✅ | 同上 |
|
||||
| 27 放弃结局 | ✅ | 同上 |
|
||||
| 28 断点写盘 | ✅ | 续玩回到上一关卡结算阶段→点继续进选路,用户判正确 |
|
||||
| 29 续玩恢复 | ✅ | **停点语义记录(2026-10-02 用户认可合理)**:自动存档点=战斗结束结算阶段,其余时刻(含战斗中)不自动保存、中断战斗从头打——与《冒险结构》§冒险断点「停点粒度」成文一致(快照只挂选路停点),实机双确认 |
|
||||
| 30 新冒险互斥 | ✅ | 正常、符合逻辑 |
|
||||
| 31 音量 | ✅带保留 | 滑杆可拖实时生效;无 BGM 无从验音量大小实效——待音频资产接入后复验 |
|
||||
| 32 全屏 | ⚠环境限制 | 编辑器内嵌游戏窗口只支持窗口化(Godot 引擎限制「Embedded window only supports Windowed mode」;项目代码零此串,handler 逻辑正常)——**独立运行(取消嵌入或导出版)复验待做**,绿即销号 |
|
||||
| 33 减动效 | ✅ | 按钮生效;实际文案=「结算演出动画:快速(时长减半——运动敏感/演示用)·点击改回完整」语义化形态(清单旧预期文案「减动效:开/关」作废);快速档行同帧直落弹窗即现=现行语义(用户裁) |
|
||||
| 34 首焦唯一 | ✅ | 暂可接受 |
|
||||
| 35 对比度 | ❌两处 | ①设置面音量百分比读数浅底白字不可见(settings_overlay.gd:52);②战斗信息栏弃图刷新消耗行「RAP−8·剩 N 次」浅米底白字难辨(ap_bar_view.gd:102/128)——修法=两处字色改深墨,呈报待确认 |
|
||||
| 36 字号 | ✅ | 目前可接受 |
|
||||
|
||||
**11 件修复真机复验状态**:用户 22-36 局内未逐条回报;机侧证据在案(硬锁+排窗=t17_defer_probe 定点证据 5486ms/22 行 ±7ms;旗显示/伤害数字/掉落退役/出度≤2=批内断言);旗印、伤害数字、挖格不掉道具、出度≤2、debug 血量五处**并入 T19 真人局顺带补验**(不专门重跑)。
|
||||
|
||||
## 来源与回流
|
||||
|
||||
- 素材来源(回查用):迭代 6 出口单 `m3-iter6-exit-checklist-2026-09-29.md`(第 10–11 项战斗演出、第 25 项终局回看)/ 迭代 7 出口单 `m3-iter7-exit-checklist-2026-09-29.md`(第 3/14/15 项道具与工坊呈现)/ 迭代 8 出口单 `m3-iter8-exit-checklist-2026-09-29.md`(第 12/13/18/25–33 项结算·放弃·续玩·设置)/ 迭代 9 9A 段闸单 `m3-iter9-9a-checklist-2026-09-30.md`(第 1–3/5–6/19–23/34–36 项视觉规格与扩编卡)/《07-体验验证清单》(体感轴整体归 T19 真人批,本单不重复)。
|
||||
- **全过 = T17 履约**;❌ 项按复述确认制逐条收口,随迭代 9 出口闸销号。
|
||||
@@ -1,23 +0,0 @@
|
||||
# 迭代 9 卡⑨ 07-体验验证清单总对账(2026-09-30)
|
||||
|
||||
> 对账对象 = [07-体验验证清单](../gdd/07-体验验证清单.md)(2026-09-19 立档,验收重测批时代)。判读分两轴:**机器读数轴**(模拟/日志侧——已闭合与否)与**真人体感轴**(必须玩过——归集卡⑩真人批)。体验感受不满≠当场改数,回流位不变。
|
||||
|
||||
| 项 | 机器读数轴 | 真人体感轴 | 判定 |
|
||||
|---|---|---|---|
|
||||
| ① Boss 战节奏 | **闭合**——验收重测批(09-19)+ 迭代 5 基线/杠杆扫描 + 返工批终态双窗读数 + 带 [25,45]→[10,15] 改带与批点丙追认(2026-09-30 收口);硬化折半语义已按纠正后口径实测 | 归卡⑩(打不打得动的体感按 ⑨ 指引采集) | 机器闭合/真人待采 |
|
||||
| ② 削弱续时承伤 | **闭合**——承伤带读数体系在役(迭代 5/返工批报告链) | 归卡⑩ | 同上 |
|
||||
| ③ 增伤手感 | **闭合**——乘区全段覆盖随验收重测批实测;充能退役后单分量口径 | 归卡⑩ | 同上 |
|
||||
| ④ 乏力可感知性 | **部分**——量级当量对账履行(迭代 5 §三③ power=1 自洽);雷当量 4/5/5 provisional 投值(迭代 8)读数在案,**终值=用户自行探讨中(挂起态)** | 归卡⑩(踩雷体感按新当量采) | 机器在案/数值挂起/真人待采 |
|
||||
| ⑤ 失衡归因可读性 | **呈现面闭合**——状态图标九枚接入(M-1 前)+明细行文案体系(迭代 6/8 结算标出强化) | 归卡⑩(能否读懂归因) | 呈现闭合/真人待采 |
|
||||
| ⑥ 速杀退化监控 | **闭合**——弃图率/资格格读数入 analyze_playtest 迭代 5 基线(完美 1.95 次/局·弃图 19%·每轮 4.7%);阈值提案随迭代 5 出口(已闭 2026-09-30)锁定 | 无真人轴(日志侧) | 闭合 |
|
||||
| ⑦ 刷新经济监控 | **闭合**——同 ⑥(07 §⑦ 基线注记在案) | 无真人轴 | 闭合 |
|
||||
| ⑧ 旗行为基线监控 | 语义锚断言在案(四情况表 smoke 断言) | **归卡⑩**——「随真人试玩批次 2 起采」,卡⑩即该批次 | 真人待采 |
|
||||
| ⑨ 真人批试玩指引 | —— | **即卡⑩试玩规程**(照此单玩 3–5 局,体感对号入座) | 规程现成 |
|
||||
|
||||
## 本迭代(视觉规格)新增真人观测项
|
||||
|
||||
v3.5 视觉面的真人观感不入本表(07 管玩法体感)——**归段闸 9A 目检清单**([m3-iter9-9a-checklist](m3-iter9-9a-checklist-2026-09-30.md):对比度可读性/E 格高墙/亮墨数字/舞台/营地/旗纹理/焦点预算逐项)。
|
||||
|
||||
## 结论
|
||||
|
||||
07 清单九项**无一项失义**:⑥⑦ 机器轴全闭;①②③⑤ 机器轴闭合、真人轴归卡⑩;④ 机器轴在案(数值 provisional 用户自领);⑧⑨ 本就为真人批而设。**卡⑩(T19)=07 清单真人轴的唯一 remaining 承载**——照 §⑨ 指引试玩即同时履约 07 全部真人轴。
|
||||
@@ -1,40 +0,0 @@
|
||||
# 迭代 9 卡⑤ 随闸三裁决呈报单(2026-09-30)
|
||||
|
||||
> **【过闸记录 2026-09-30】用户表态「没有问题,都按你推荐的来」=三裁决全落+9A 目检过闸+k1-k9 随闸追认**:裁决一=**甲**(全局等比,T9 落码——**落码注记**:1280×800 为 16:10、1920×1080 为 16:9,等比实现=stretch keep 等比 1.35×+左右黑边各 ~96px〔非字面 1.5×,纵横比差使然〕;逻辑布局 1920/1280 逐键一致实测过)/裁决二=**追认关账**(帧数样张 v2 已冻,06 半条关闭)/裁决三=**乙**(Alpha 后再议,升档批留 M-4 候选);draw calls 缺口处置=**案 a**(瓦片纹理合流优化批立项,9B 承接)。
|
||||
|
||||
> 呈报人=迭代 9 执行会话;裁决权=用户。三案全部列全(含已淘汰+依据),每案附数据/代价/联动。**T9 分辨率落码与 T10 黄金图基准卡在裁决一/三上**——裁决前两卡挂起(其余卡不阻塞)。
|
||||
> 实测材料:`artwork/qa-screens-20260930/`(1280×800 四屏+shot_meta.json)/ `artwork/qa-screens-1920-20260930/`(1920×1080 四屏)。
|
||||
|
||||
## 裁决一:1920×1080 档缩放策略
|
||||
|
||||
**现状实测(1920 窗口实跑)**:当前无统一策略的**原生重排**——B 区高 252 与 C 区宽 240 纹丝不动、棋盘格公式重算(板区 1036→1178 宽)、**字号全部不放大**(像素字在 1920 屏视觉变小 ~33%)、舞台宽 1422 非全宽(布局只部分响应)。三区行为不一致=当前态的实测事实。
|
||||
|
||||
| 案 | 内容 | 代价 | 联动 |
|
||||
|---|---|---|---|
|
||||
| **甲·全局 1.5× 等比**(推荐) | Godot stretch=canvas_items:1920 窗口整屏放大 1.5×,构图与 1280 设计完全一致 | 像素 1.5 非整数缩放→甲类件(数字/瓦片/图标)轻微宽窄不均(3:2 交替纹);§8.2 分级下甲类「严格整数」条款需加 1920 档例外注记 | 一处 stretch 配置+§8.2 注记;格子公式/布局零改;HUD「两档定值 36/45px」条款按 1.5× 折算修订 |
|
||||
| 乙·1920 档独立 2× 基准 | 1920 档按 2× 像素基准重排 UI(字号/间距/资产出 2× 档) | 两套 UI 尺寸面全维护;字体现无 2× 资产档(升档批才有) | 工作量约一个独立迭代;像素绝对均匀 |
|
||||
| 丙·维持现状(原生重排) | 零改动 | 字号偏小+三区行为不一致(已实测)为常态 | 零 |
|
||||
|
||||
**推荐:甲**——成本近零、构图一致;1.5 非整数不均=像素游戏 shipped 常态,实机目检可感不适再升级乙。
|
||||
|
||||
## 裁决二:动画帧数规格——事实核对(非新裁决)
|
||||
|
||||
核对结果:**帧数已随样张 v2 冻结**(圣经 §8.4「帧数规格(样张 v2 冻结 2026-09-28)」:待机 4 帧/攻击·技能准备 6 帧单次/受击 2 帧/死亡=灰化+碎裂退场;切片实装=程序化 tween 已服役)。06「美术资产规格两项」之②系**过期登记**(登记早于样张 v2 冻结批)。
|
||||
|
||||
**待你表态仅一项**:追认「帧数已冻结、06 该半条关闭」即可(无需再裁数字)。
|
||||
|
||||
## 裁决三:资产升档与否(48×72→64×96 等)
|
||||
|
||||
**数据**:主角占屏高约 9%(Moonlighter 约 15%,v3.0 病根 6);本轮 B 区舞台(暗背景+落影+顶光柱)已显著改善角色存在感;fixer 像素化管线现成(八敌+主角三态重产成本可控);A4 尺寸基线已按现行实态冻结(立绘 46×48/小人源 32×32——升档=显式解冻重校)。
|
||||
|
||||
| 案 | 内容 | 代价 | 联动 |
|
||||
|---|---|---|---|
|
||||
| 甲·本迭代升档重产 | 主角三态+八敌出 64×96/64/96/128 档并换代 | +0.5–1 工作日+新稿相位/断线手修轮次风险 | T10 黄金图基准延后到升档后建;A4 断言解冻重校;B 区站桩槽 2× 放大参数随动 |
|
||||
| **乙·Alpha 后再议**(推荐) | 本迭代不升档,先收 Alpha 真人读数——B 区舞台已改善存在感,升档需求强度待真人验证 | 主角存在感维持现态 | T10 黄金图基准本迭代内可建(不被升档作废);升档批留 M-4 候选 |
|
||||
| 丙·不升(维持 46×48) | 永久维持现行档 | 存在感议题永久关闭 | A4 冻结永久有效 |
|
||||
|
||||
**推荐:乙**——视觉大变更应在 Alpha 验收读数之后再动;本轮舞台落影已吃掉病根 6 的一半。
|
||||
|
||||
## 附:卡⑤整屏样张闸机检读数(2026-09-30 实测)
|
||||
|
||||
四文字框 WCAG 5.79–13.14(≥4.5 ✓)/明度三档带 204>79>55 ✓/纹理幅度 0.0–12.9(≤18 ✓)/四屏骨架 std 18.6–64.9 ✓;焦点预算=目检项归段闸人闸。工具=`tools/shot_checker.py`(几何源=shot_probe 实测 meta,档位自适应)。
|
||||
@@ -1,100 +0,0 @@
|
||||
# 迭代 11 出口包(人闸材料包,2026-10-03)
|
||||
|
||||
> 迭代 11 三批全部落籍 master:①魔法道具同调实施批(bc17b66,台账 323)→ ②GP 商店房重构批(395b2ab,台账 324)→ ④视野迷雾实施批(e6260a5,台账 325)。依 2026-10-03 用户令,**出口人闸后移迭代 12 一并进行**——本包=三批出口检查单+全部代拍板追认清单+迷雾真人目检指引+读数报告的合并材料,供人闸时逐项过;工作树改动随批各自落籍,master 冒烟基线 **671/0**(每批合并后主区复跑均过)。
|
||||
|
||||
## 一、三批出口检查单
|
||||
|
||||
### 批① 魔法道具同调实施批(完成定义 ①-⑦,全过)
|
||||
|
||||
| # | 完成定义 | 证据 |
|
||||
|---|---|---|
|
||||
| ① | attunement_growth 谓词表上线+读数源切换 | 谓词表(m1 通关 1/m2 Boss 3/m3 组合 3+6)+过渡键退役三处(迭代 10 欠账③清偿) |
|
||||
| ② | 营地装配覆盖层+入档持久 | 工坊扩容同调装配段(装配/卸下/满位禁选+Y 升级行);装配持久断言 |
|
||||
| ③ | 九件效果接线 | 八活一 deferred(爆破工兵包=炸格拆后批留位,用户裁) |
|
||||
| ④ | 局内 aux 渠道退役+池收缩注记 | T7 五件退役面全落 |
|
||||
| ⑤ | attune off/on 分层读数出讫 | 锚两件+读数 md 落 sim-data;off 新锚=对拍正主 |
|
||||
| ⑥ | 连带修订九件 | 魔法道具定位重写/元进度 v1.6/地图战斗资源 v0.16/行动经济 v0.7/05 不做 v1.3/节点地图 v1.4/node-reward v2.2/registry/06 |
|
||||
| ⑦ | 重闸全绿 | 冒烟 645/0(当时基线)+熵增 PASS+doc 三闸零新增+MC off 逐位 PASS |
|
||||
|
||||
### 批② GP 商店房重构批(完成定义 ①-⑦,全过)
|
||||
|
||||
| # | 完成定义 | 证据 |
|
||||
|---|---|---|
|
||||
| ① | 进店从共享池抽 3(新用途标签 shop_draw) | E-S 加权洗牌恰一 scope;冒烟同种子同货架逐位 |
|
||||
| ② | 买 1→全重抽;池空硬闸+A 链软闸 | buy_pool_item 买后整架重抽;库存尽剔牌库/池空消费拒绝断言;空架合法态 |
|
||||
| ③ | 价格=ceil(基价×b^(关序−1)×A^进店已购) | ceil 单一取整;A=1.8/b=1.1 provisional(追认项 2) |
|
||||
| ④ | 共享池账本(跨渠道消耗,库存=上限) | _consume_pool_purchase→_apply_bonus_pick 同口真单点;共账双向断言 |
|
||||
| ⑤ | 断点兼容(P2 甲) | BP 扩键 shop_shelf/shop_visit_buys(save v4 域内);roundtrip+确定性重放断言 |
|
||||
| ⑥ | MC off/on 分层+读数出讫 | off 对拍 off_n60 120 行旧字段零差 PASS;on 新锚 N=60 双策略(读数见 §四) |
|
||||
| ⑦ | 连带修订+重闸全绿 | 六件落文(冒险结构 v0.13/节点地图 v1.5/难度曲线 v0.22/node-reward v2.3/registry/06);冒烟 671/0+三闸零新增 |
|
||||
|
||||
### 批④ 视野迷雾实施批(完成定义 ①-⑤,机检全过、目检待人闸)
|
||||
|
||||
| # | 完成定义 | 证据 |
|
||||
|---|---|---|
|
||||
| ① | 迷雾遮蔽+灯光区跟随上线(开关分层验证) | BoardView 三态呈态(区内/全黑/记忆态)随 refresh 实时跟随;set_fog_enabled 开关两态结算 digest 逐位一致(🔴 契约 1 断言在案) |
|
||||
| ② | 暗淡记忆态呈现 | 记忆板 #3A3A3A+记忆墨 #C4C4C4(§6.5 落文值);数字可读 ≥4.5:1;色牌格退牌归板;探针全板呈态逐格断言 |
|
||||
| ③ | art-bible 黑暗区域规格落文 | §6.5 新节(v3.4→v3.5):菱形几何/全黑照抄正主/记忆态明度/硬边过渡/结算去饱和叠加互斥/§2 允许域自查 |
|
||||
| ④ | 探针断言 | ui_input_probe case⑮:三态全板逐格+半径边界圈+开关两态零扰动+提灯插值位参数——十六断言全绿 |
|
||||
| ⑤ | 正主节验收线全过+实机目检人闸 | 验收线机检面全过(HUD框架 v0.14 转正式验收);**实机目检=本包 §三指引,人闸后移迭代 12** |
|
||||
|
||||
## 二、代拍板追认清单(人闸逐项过;全在任务书/计划书白名单内)
|
||||
|
||||
### 批①(附录 B 未审项,随出口人闸一并审)
|
||||
|
||||
1. provisional 表值全目:里程碑阈值(1/3/3+6)/效果 N=2(淬毒/殉爆/惊巢/硬币)/charges=2(蓄能/摆钟)/charge_n=3/effective_rounds=3/X=1/Y 升级行(L1·1·30 钥石、L2·2·60)/MC 凑整画像计数(3/6)——全归调参批复核。
|
||||
2. 冒烟断言期望演进(636→645:save 版本断言 3→4、渠道退役替换两路测试拆除、池收缩断言新增)。
|
||||
3. 装配面落位=工坊扩容+柜台内滚(P2 甲程序占位框架内)。
|
||||
4. 里程碑达成态=纯派生(save 只存计数源)。
|
||||
5. **维度词表收缩形态开放点待裁**(底稿 §1.1 明挂:收缩为 {风险/行动/反制} 具体形态——本批以现行五维投 provisional 标签)。
|
||||
6. 淬毒=主角攻击面限定(棋盘 typed 直伤不吃)与惊巢减半覆盖 GP-loss 一并=语义 provisional,试玩判读。
|
||||
|
||||
### 批②(本批新增)
|
||||
|
||||
7. 货架基价 provisional 四值:attack 4 / max_hp 4 / armor 4 / ap 5。
|
||||
8. **A=1.8 / b=1.1 provisional 投值**(goal 令:原 P5 甲「game-balancer 研究→用户拍板」改 provisional+后置追认;研究复核归调参批)。
|
||||
9. shop_mode 双模承载:缺省 legacy(off 对照承载),真实入口 main.gd 显式投 pool;products 行族+加法定价随 legacy 保留,退役归 off 锚换代批。
|
||||
10. 库存承载=既有 _bonus_taken 账本扩权(stock=cap−taken),奖励侧牌库代码零改动;商店购买经 _apply_bonus_pick 同口=真单点。
|
||||
11. 购血件不回血语义(池件=奖励件本体;legacy hp_up 同步回血随对照模式保留)。
|
||||
12. BP 货架键形态:写档+roundtrip 断言;当前停点拓扑无中途店停点,货架续玩=确定性重放承载。
|
||||
13. 终局池读数聚合推算口径(读数 md 注记 1;per-kind 商店拆分未记录,如需须修复后代码重锚归调参批)。
|
||||
|
||||
### 批④(本批新增)
|
||||
|
||||
14. 记忆态明度值 provisional:记忆板 #3A3A3A / 记忆墨 #C4C4C4(样张/实机自检锚)。
|
||||
15. 迷雾开关承载=BoardView 呈现态布尔(真实游戏恒 on;off=验证基线)。
|
||||
16. 遮罩实现=逐格三态制(区内正常/区外未开格全黑/区外已开格记忆态);结算期去饱和叠加互斥由记忆态中性灰恒等承载(去饱和对零饱和色零作用)。
|
||||
17. **全黑 vs 高遮蔽档非追认候选**——正主 HUD框架 :163 原文「区外未开格=全黑不渲染」已有定论,照抄正主(实机目检仅复核观感)。
|
||||
18. 提灯 +2=LIGHT_RADIUS_LANTERN_BONUS 常量在位不接效果(接线归 Alpha 信息件批)。
|
||||
|
||||
## 三、迷雾真人目检指引(人闸时实机执行,约 5-10 分钟)
|
||||
|
||||
前置:master e6260a5+ 工作区(迷雾默认开启,无需任何设置)。
|
||||
|
||||
1. **灯光区形态**:开一局冒险进入任意战斗——以主角为中心的菱形范围内棋盘正常显示;范围外**未挖格全黑**、**已挖格灰色记忆态**(数字灰显但清晰可读)。
|
||||
2. **移动跟随**:走动主角——灯光区实时跟随(边界整格切换、无渐变晕边;灯光半径=贴身微光环的 8 格同圈)。
|
||||
3. **记忆持久**:挖开若干格后走远——已开格保持灰显可读(数字在),未开格保持全黑。
|
||||
4. **旗印记**:插旗后走远——旗印记随格隐没(全黑);走回复显(旗数据不受影响)。
|
||||
5. **结算叠加**:打完一场战斗看结算期——灯光区内画面正常去饱和;区外记忆格无二次变化。
|
||||
6. **性能**:移动无卡顿(迷雾为逐格程序化遮罩,零新素材;draw calls 基线 196 量级)。
|
||||
7. **微光不受扰**:主角贴身 8 格的类型微光行为与迷雾前一致(微光语义零改动)。
|
||||
|
||||
任一条不符合=目检 FAIL,登记迭代 12 人闸清单修复。
|
||||
|
||||
## 四、读数报告(终局池新锚 vs off_n60 对照——只测不判)
|
||||
|
||||
锚件:`sim-data/runsum_m4iter11b_t5off_n60_20261003.jsonl`(off,120 行,与①批锚逐位一致)+ `runsum_m4iter11b_t5shopon_n60_20261003.jsonl`(on,120 行,pool_stock 推算重构口径)+ 详文 `sim-data/读数_m4iter11b_t5shopon_off_n60_20261003.md`。
|
||||
|
||||
| 指标 | off(legacy 对照) | on(共享池) |
|
||||
|---|---|---|
|
||||
| normal 全通 / L1 | 0.0% / 3.3% | 0.0% / 3.3%(死亡于 L1 商店前,零触达) |
|
||||
| perfect 全通 / L2 | 45.0% / 65.0% | **13.3% / 45.0%**(全通 −31.7pp) |
|
||||
| perfect 商店购买 | —(legacy 独立定价,不耗池) | 219 次(均值 3.65/局) |
|
||||
| perfect 奖励面领走 | 121 件 | 106 件 |
|
||||
| perfect 池消耗结构 | — | 购买:领走 ≈ 2:1(竞争同一 11 份库存) |
|
||||
|
||||
判读义务归 M-4 调参批(shop=on 带平移+换算率登记);−31.7pp 系经济效应与 RNG 时间线位移的混合效应,不可单归因。
|
||||
|
||||
## 五、迭代 11 门状态
|
||||
|
||||
三批落籍完毕,**迭代 11 门=待出口人闸关闭**(人闸内容=本包 §二追认清单+§三迷雾目检+①批 T17 残留复验项 32 全屏环境限制独立复验)。门关后迭代 12(双层 BD 实施批)开工——其前置「迭代 11 三批出口+M-4 令牌池+商店批共享池」中前两项已备(令牌池仍待 M-4 数值批)。
|
||||
@@ -1,34 +0,0 @@
|
||||
# 迭代 12 批次二 T10 出口包(2026-10-04)
|
||||
|
||||
- 锚件:`runsum_m4iter12_t10aba_n20_20261004.jsonl`(A 侧)/ `runsum_m4iter12_t10abb_n20_20261004.jsonl`(B 侧)——N=20/侧,seed0=90000 同种子配对,normal 档
|
||||
- 采集档位:**二档·数值修改验证**(本触发点总量 40=每侧 20×2 贴边合规;T7 批次一触发点 40 独立计)
|
||||
- A/B 口径:Fork posture 对两侧 rule 键集透传(A=先手压制 posture_first_strike=战斗首轮 AP+1 / B=稳健拓荒 posture_bulwark=受击减 1)——「两侧不同强非强弱」验收载体
|
||||
|
||||
## A/B 面两侧差读数(验收 <~3pp)
|
||||
|
||||
| 指标 | A 先手压制 | B 稳健拓荒 | Δ |
|
||||
|---|---|---|---|
|
||||
| 全通率 | 0.0% | 0.0% | **0.0pp** ✓ |
|
||||
| L1 通关率 | 5.0% | 5.0% | **0.0pp** ✓ |
|
||||
| L2 通关率 | 0.0% | 0.0% | **0.0pp** ✓ |
|
||||
| 局均承伤 | 25.0 | 22.9 | B 侧减伤方向兑现(rule 键真实生效佐证)|
|
||||
|
||||
**验收判定:过**(两侧差 0.0pp << ~3pp 阈——A-4 反例条件不触发)。
|
||||
|
||||
## 批末闸全量留痕
|
||||
|
||||
冒烟 **714/0** 三闸 PASS(批次一 696+树段 18 断言)+ run_all **15 套全绿** + 探针(ui_input/ui_probe/ui_layout/fx/t17_defer 五绿+click 存量红零新增)+ doc 三闸基线同款(gdd_lint 2 存量/doc_term 4 存量/doc_link 0)+ 熵增 PASS。迁移幂等断言在冒烟树段(重复迁移零变化)。MC 触发点全程:TP0 20+T7 40+T10 40=100 局(三触发点各自 ≤40 合规)。
|
||||
|
||||
## 完成定义对账(任务书 §一五条)
|
||||
|
||||
| # | 定义 | 证据 | 判定 |
|
||||
|---|---|---|---|
|
||||
| ① | 七流派各 ≥3 件入局内随机渠道+引擎判成型 | relics.tres 27 件(4/4/4/4/4/3/4);RelicTable.validate 扫雷端铁律;档位激活引擎冒烟断言(T1/T4) | ✅ |
|
||||
| ② | 七流派成型态 MC 读数可判+红线自检①全流派过 | T7 off/formed 配对锚(L1 5→75% 分岔方向);红线①方向判定过(T7 报告) | ✅ |
|
||||
| ③ | 天赋树可购可切可迁移+存档往返幂等 | tree_buy/tree_buy_fork/tree_toggle_fork/migrate_tree 冒烟断言(row-gating/互斥/免费切换/幂等);save v5 迁移链 v1→v5 全链 | ✅ |
|
||||
| ④ | 文档正主七处吸收落文 | 随落籍批提交(node-reward/冒险结构/registry/06 于 TP0+本批元进度/树新节——「吸收即死」退役面随批执行) | ✅*(正文七处=定稿 §文档面:元进度/node-reward/战斗结算/行动经济/地形变异/魔法道具/商店 spec——战斗结算/行动经济/地形变异/魔法道具四正主本批零语义变更(relic 挂点均为既有段槽消费),落文面=元进度树节+node-reward v2.4+冒险结构 v0.14+registry 三处+06 两条——披露差异待用户追认) |
|
||||
| ⑤ | 批末闸零新增 | 本报告上节 | ✅ |
|
||||
|
||||
## provisional 披露(批次二随批代拍板——人工检查清单母本)
|
||||
|
||||
存档 v4→v5(任务书「v3→v4」系同调批未落时行文顺延披露);树 GP 节点钥石单币承载(GP 局外余额域缺位);「三柜台→一树」字面重构延后(树面板=图鉴柜台下段程序占位,锻造柜台保留一版周期);Fork 首期两 rule 键真实接线(posture 对)余三组 stat 面 provisional;hit 线不入 override 三字段通道(命中折扣档消费归数值批);迁移差额补偿=原样映射零亏损(钥石付价不变,无亏损面故无补偿金)。
|
||||
@@ -1,35 +0,0 @@
|
||||
# 迭代 12 批次一 T7 MC 读数报告(2026-10-04)
|
||||
|
||||
- 锚件:`runsum_m4iter12_t7off_n20_20261004.jsonl`(基线)/ `runsum_m4iter12_t7formed_n20_20261004.jsonl`(成型画像)——N=20/锚,seed0=90000 同种子配对,route=min,normal 档,attune=off,shop=legacy
|
||||
- 采集档位:**二档·数值修改验证**(本触发点总量 40=每锚 20×2 贴边合规;会话累计 MC 分钟 ~6 ≤20)
|
||||
- 成型画像口径:开局注入七流派各 2 件(14 件=档一成型集,`params.relics_seed` 测量面专用注入——真实局流派件只走局内随机渠道,红线②层级纪律不破);基线=零注入。锚内 autoplay=316-f(最稀有/最左)+候选 relic 优先(on 面)
|
||||
|
||||
## 分岔读数(R3 乙单锚全量——一锚覆盖七流派)
|
||||
|
||||
| 指标 | 基线(off) | 成型(formed) | 判读 |
|
||||
|---|---|---|---|
|
||||
| normal 全通率 | 0.0% | **10.0%** | 分岔方向成立 ✓ |
|
||||
| L1 通关率 | 5.0% | **75.0%** | 流派成型显著变强(+70pp ≥40pp 可判阈值)✓ |
|
||||
| L2 通关率 | 0.0% | **20.0%** | 方向成立 ✓ |
|
||||
| 局均轮数 | 12.85 | 22.6 | 活得更久(battles 3.7→8.0)——非拖局 |
|
||||
| 局均踩雷 | 5.9 | 11.2 | 随局时长自然增长;**每轮踩雷率 0.459→0.496(+8%)**=开格流件代价兑现(贪婪矿灯负向 +25% 惊动在画像内),非推理边缘化 |
|
||||
| 局均承伤 | 23.4 | 45.5 | 同上随局时长 |
|
||||
|
||||
## 红线自检①(硬断言方向面——阈值 provisional 归数值批)
|
||||
|
||||
**「成型态场均安全开格数/旗占比不得塌陷」方向判定:过。**
|
||||
- 开格面:成型局轮均挖格上界(rounds×AP/轮)不降反升(活更久挖更多)——流派件未使挖格降格为次要变量;
|
||||
- 扫雷推理主因面:每轮踩雷率 +8% 系开格流派件设计内代价(正负双修兑现),非「按数字推理」被绕过;旗占比由 autoplay 固定策略承载,两态同构;
|
||||
- 档位激活确定性:同集合同档位断言在冒烟(T1 引擎断言+T4 四流派档二断言)——MC 逐位可复放由同种子配对承载 ✓。
|
||||
|
||||
## 自然局捕捞率佐证(候选面)
|
||||
|
||||
成型锚跑前曾跑自然局 on 面探针跑(20 局,**未留锚作废**):候选 relic 出现率 21.4% ≈ 池占比 27/125=21.6%(完美吻合——令牌级抽签等概率承载);normal 白板局死 L1 早期、三选一停点稀少(候选卡仅 28 张/20 局)——自然局到不了成型=成型态读数必须走注入画像(本锚口径)。
|
||||
|
||||
## 现行锚声明
|
||||
|
||||
本批两锚(off/formed 配对)=**批次一出口现行锚**。TP0 锚(runsum_m4iter12_tp0_n20)随池换代(98→125 张)作废只测不判。批次二 T10 树 A/B 面读数=下一触发点(树切面读数另跑)。
|
||||
|
||||
## provisional 披露(T2-T6 随批代拍板全目——人工检查清单母本)
|
||||
|
||||
「每关首次开格」→每战首次(魔能共鸣)/贯穿射击半额弹射(原溢出追踪单分量模型不可行)/猎巢人全体附加值(原对其中敌)/战旗军规 default_target(原旗所在巢穴敌)/连珠矢段值固定 2 不乘 atk/深挖钻头每 4 格深层产出对价 +1 AP/商店保底 devour 广义映射+基价 15 固定锚/整备军备停手侧转蓄力(cleared 分支维持作废)/矿脉直觉连击 +10%/格上限 5/greedy 族同 hook 累加/锚点件双效果承载(共鸣 rider 提升以奥术矢+档位承载)。
|
||||
@@ -1,86 +0,0 @@
|
||||
# 全局作用域变异首发批 出口报告(迭代 14 ③号卡,2026-10-04)
|
||||
|
||||
> 批任务书:design/research/任务书-全局作用域变异首发批-2026-10-04.md(台账 344,裁决 P1-P8+Q1-Q4 全按推荐案零待裁)
|
||||
> loop 计划书:.zcode/plans/m4iter14-gvar-loop-plan-2026-10-04.md(gitignored,U0=开工令 prompt 预批准)
|
||||
> worktree:g-plan2-m4iter14-gvar-20261004(基 9f64456)
|
||||
|
||||
## 一、基线与改动面
|
||||
|
||||
**基线(开工实测)**:主区 head 9f64456;冒烟 718/0;run_all 15 套件;现行 MC 锚 `runsum_m4iter12_t10abb_n20_20261004`;variation.tres 6 行。
|
||||
|
||||
**改动面(五提交)**:
|
||||
1. **T1-T4 核心面**:variation_table.gd(EFFECTS+`resource_face`/TRIGGERS+`always`/互锁三条+effect_value [0,50] 域)·variation.tres(+skewed_veins 行,7 行)·config_db.gd(variant_pool 第三参 node_type 缺省零扰动+global_variant_row 访问器)·board_data.gd(board_variants 板级字段+访问器)·battle_orchestrator.gd(装板序 `_resolve_global_variant` 前置于 roll_board+`_place_variants` 替换制早退)·reward_economy.gd(board_skew 旋钮+`_skewed_cell_rows` 整数最大余数投影+`_biased_cell_rows` 基座换源=合成序)。
|
||||
2. **T5 呈现三层**:settlement_fx_view.play_board_variant_banner(轮横幅先例+减动效静态双态)·hero_info_panel_view 地形变异常驻角标段(流派件段先例空态隐藏)·hud_presenter.board_variant_lines+快照投影接线·main.gd 开战横幅挂钩(首轮快照判空发射)·ui_assembler 手册行。
|
||||
3. **T6 文档七正主**:地形变异.md v0.7(类型清单+§全局作用域型+门控三维+布置段注记+调参/验收+P2 Alpha 行换代)·难度曲线与Boss.md(P2 投放计划行升级现行+调参表 resource_face 行)·registry=architecture.md(variation 行换代)·HUD框架.md v0.13(义务行+验收+v 史)·教学引导.md v0.4(条目+V 史)·行动经济.md(P2 价目钩子=案D 留位不启用注记)·06 条目解决移除。
|
||||
4. **T7 断言批**:smoke_all.gd 新段 29 断言(互锁负样本③-⑦/门控三维/L1 免疫/elite 前向位/替换制恰一行+零 region 格/variant_place 零取号(取号计数桩)/快照投影/守恒 77/白名单/v=30 构造例/合成序构造例/v=50 域上界/确定性)·config_db_test 换代(通配选择器限定 region+global 第三维三断言)。
|
||||
5. **出口**:本报告+roadmap ③卡落地注记。
|
||||
|
||||
**执行发现(实现位调和,随批呈报)**:任务书 T2 字面把全局分支写在 `_place_variants`,但装板序中 roll_board 先于布置段而 T3 偏斜旋钮须在摇号前定型——全局决议前移至装板序内(`_resolve_global_variant`),替换制/兜底回落/零取号/恒定制四语义不变,普通图路径零 diff。属数据依赖的机械位调和,非裁决重开。
|
||||
**既有行为登记(本批零触碰)**:`luck_bias` 注入时点在 begin_battle 首板 install 之后——首板 roll 恒 0、偏运硬币仅轮内刷新图生效;系迭代 11 对拍锚现行口径,合成序「图级先件级后」在单次 roll 内的权重代数不受影响。
|
||||
|
||||
## 二、值面静态推演(T3 义务——只测不判,精确判读归 T7b 读数批/M-4)
|
||||
|
||||
**权重面位移(v=30,整数最大余数实现,构造例已断言)**:
|
||||
|
||||
| 行 | 基线 | v=30 实现 | 精确目标 w×(1−v/100) |
|
||||
|---|---|---|---|
|
||||
| attack_up | 14 | 15 | 15.37 |
|
||||
| spark_aoe | 16 | 18 | 17.57 |
|
||||
| pierce_strike | 8 | 9 | 8.78 |
|
||||
| magic_bolt | 8 | 9 | 8.78 |
|
||||
| heal_minor | 4 | 3 | 2.8 |
|
||||
| ac_up | 11 | 7 | 7.7 |
|
||||
| weaken / ap_up / gp_coin | 8 / 6 / 2 | 8 / 6 / 2(逐位不动) | 同 |
|
||||
|
||||
- **合计守恒**:偏斜后 77 恒成立(整数域构造性保证——下调量按进攻族原权重比例最大余数重分配;任意 v∈[0,50] 均守恒,v=50 已断言)。
|
||||
- **份额位移**:生存族 15/77=19.5% → 10/77=13.0%(整数实现;精确目标 13.6%);进攻族 59.7% → 66.2%。
|
||||
- **EV 方向与幅度**:以「生存单位当量 : 进攻单位当量 = r」的静态参数化——EV 降幅 = [46+15r+16 − (51+10r+16)]/(46+15r+16)(整数实现)。r=1.5 → −2.96%;r=1.75 → −4.1%;r=2.0 → −5.4%。精确权重实现 r∈[1.5,2.0] → −2.7%~−4.9%。**结论**:方向=微降 ✓;3-5% provisional 目标带对应 r≈1.6–1.9,落在「生存族当量价值高于进攻族」前提的合理域内——方向与幅度的静态核对通过,精确读数归 T7b(MC 三态对账链)与带 A 判读(M-4,Q4 甲只测不判)。
|
||||
- **占比带 [15,40] 关联**:进攻族池份额上浮 6.5pp 间接推高奖励侧输出占比——越带与否只呈报不回调(S2),归 T7b 读数面。
|
||||
|
||||
## 三、Q3 知情代价登记(registry/调参日志随批登记义务)
|
||||
|
||||
**替换制+案A(无地形格)⇒ 迭代 12 四件地形应对件在 Boss 图无的放矢**:地脉采撷/荆棘编织者/净化工兵/熔火之躯的触发域=region 变异格(挖伤害格/中和相邻伤害格/受地形伤积层),替换制下 Boss 图零 region 格——四件在 Boss 图整件失效,仅普通图(每关 6/7 张主战场)有效。**登记为知情代价**(Q3 甲裁决,2026-10-04);registry variation 行与地形变异.md v0.7 版本史 ⑨ 同步注记;MC on 档读数观察其普通图侧平衡(T7b)。
|
||||
|
||||
## 四、闸结果(实施批闸=T7;MC 读数批=T7b 切独立后批)
|
||||
|
||||
| 闸 | 结果 |
|
||||
|---|---|
|
||||
| 冒烟全量 | **747/0**(基线 718+新段 29——断言总数只增不减 ✓) |
|
||||
| run_all | **15 套件全绿**(config_db_test 换代 +3) |
|
||||
| 普通图逐位回归(S1) | golden 对拍 **12/12 全等**(4 种子×3 关×布置+摇号+RNG 计数器,批前批后逐位一致——S1 零触发) |
|
||||
| 全探针 | 六探针结果见提交前终录(ui_input/ui_click 三种子/ui_probe/ui_layout/fx/t17_defer) |
|
||||
| doc 三闸+熵增 | 结果见提交前终录(预期零新增) |
|
||||
| MC | **未跑**(T7b 切独立后批——总量 120 局=一档·调研,须用户批准发起;现行锚只读) |
|
||||
|
||||
## 五、provisional 追认单(出口人闸,全部不阻塞实施)
|
||||
|
||||
| # | 项 | 现值 | 备注 |
|
||||
|---|---|---|---|
|
||||
| 1 | 偏斜幅度 effect_value | 30 | 域 [0,50];0=中性 off 锚;调参项走调参不走修订 |
|
||||
| 2 | 命名 | skewed_veins / 贫矿脉 | 文案归本地化批 |
|
||||
| 3 | 横幅文案 | 「地形变异 · 贫矿脉 · 回复与护甲资源减少 · 攻击资源增多」(2026-10-04 用户反馈常规化修订,原俚语表述退役) | 驻留 0.6s 同轮横幅 |
|
||||
| 4 | 角标文案与摆位 | C 区「地形变异」段(流派件段下方)·三行制=贫矿脉/回复与护甲资源减少/攻击资源增多(文案随 #3 同批修订) | 摆位 provisional 归 HUD 框架批 |
|
||||
| 5 | 手册行 | 玩法帮助块末行(地形变异一句,措辞随 #3 同批常规化) | 零交互教学 |
|
||||
| 6 | N=60 | T7b 双档配对局数 | **已追认(2026-10-04 用户)**——跑批发起仍待令 |
|
||||
| 7 | 兜底回落行为 | Boss 图全局池空回落 region 布置 | 保守向后兼容 |
|
||||
| 8 | 全局池多行取首行 | 防御口径(首发恒恰一行) | 越界态另批 |
|
||||
| 9 | 开战横幅发射位 | 首轮 round_started 快照判空(刷新图不重发,角标承担常驻) | 实现位调和连带 |
|
||||
|
||||
## 六、人闸实机目检清单(L2 Boss 开一局即可全查)
|
||||
|
||||
1. L2 Boss 开战:轮横幅下方叠「地形变异 · 贫矿脉 · 奶薄枪肥」横幅(减动效开=静态驻留)。
|
||||
2. 战斗全程 C 区常驻「地形变异」角标(轮内刷新图后仍在);普通图/L1 Boss 该段隐藏。
|
||||
3. 体感核对:回血/护甲格明显变少、攻击/爆裂/穿刺/奥术格变多(角标文案=回复与护甲资源减少、攻击资源增多)。
|
||||
4. 帮助面板(玩法帮助块)末行有整图变异说明。
|
||||
5. L1 Boss 无变异(无横幅无角标)。
|
||||
6. 普通图:region 变异格照旧、零角标零横幅。
|
||||
## 六′、追认结果(2026-10-04 用户人闸反馈)
|
||||
|
||||
- **文案**:俚语表述判定过界,改常规描述——横幅/角标/手册三处已随 copyfix 批修订(本报告 §五 #3/#4/#5 新值);机制与数值零改动。
|
||||
- **其余各项追认通过**:偏斜幅度 30 / 命名 skewed_veins·贫矿脉 / 角标摆位 C 区 / N=60 / 兜底回落行为 / 全局池多行取首行 / 开战横幅发射位——用户「其他暂时没有发现什么问题,可以这样做」。
|
||||
- 实机目检(§六清单)**用户裁改排**:随 UI 优化批之后统一验证(2026-10-04「先做完 UI 优化再一起验证」)——目检项已落 [07-体验验证清单 §⑪](../gdd/07-体验验证清单.md)(人闸闭合顺延至该次验证);T7b 跑批待用户发令。
|
||||
|
||||
## 七、③出口完成宣告与 T7b 移交
|
||||
|
||||
**③号卡实施批出口成立**(本报告+闸全绿+七正主落籍)。**⑥A4 配比批开工门=②③出口——本批出口即解⑥一半前置**(另半=②判式换代批出口)。
|
||||
**T7b MC 读数批移交**:三态对账链=现行锚(`runsum_m4iter12_t10abb_n20_20261004` 只读——旧 Boss 读数含台账 96 承伤 55.8% 换代作废只测不判)+off(effect_value=0:替换制生效+偏斜中性,语义=零变异 Boss 图,与现行锚语义不同须注明)+on(偏斜 30);N=60 同种子配对;读数面=战役通关率+Boss 场承伤+奖励占比带 [15,40] 复算+偏斜期望实测;**只测不判**(带 A 判读归 M-4);**跑批前须用户批准**(先推算后重跑)。
|
||||
@@ -1,75 +0,0 @@
|
||||
# 全局作用域变异首发批 T7b MC 读数报告(2026-10-05 采集/出数——**只测不判**)
|
||||
|
||||
> 批位:迭代 14 ③号卡 T7b(任务书 §四 T7——用户 2026-10-04 批准发起)
|
||||
> 三态对账链(任务书 §二):现行锚(只读)→ off(effect_value=0)→ on(effect_value=30)
|
||||
> 判读归属:带 A 收敛判读归 M-4 全局难度批(Q4 甲);本报告零回调零判读(S2 只呈报)
|
||||
|
||||
## 一、采集配置
|
||||
|
||||
| 项 | 值 |
|
||||
|---|---|
|
||||
| 代码态 | master `9e1a8be`(worktree m4iter14-gvar-t7b,off 档仅 variation.tres 贫矿脉 effect_value 30→0 一处表值翻转,跑后还原) |
|
||||
| 工具 | `adventure_monte_carlo.gd -- 60 71000 both`(零加成/route=min/attune off/shop off/relic off——现行锚族缺省面) |
|
||||
| 规模 | off/on 各 60 种子 × 双策略(normal/perfect)= 各 120 局;另有 census 确定性普查(40 种子 × L2 Boss〔d4〕+ L3 Boss〔d9〕,逐格资源身份计数) |
|
||||
| 产物 | sim-data/runsum_m4iter14_gvar_{off,on}_n60_20261004.jsonl(各 120 行)· gvar_census_{off,on}.txt · fulllog_gvar_{off,on}/(off 目录 38 个 2026-09 旧件系搬运期通配误收,已隔离 `_stale_pre_t7b/`,真身=20261005T0013xx/T0015xx 两件;on=T0037xx/T0039xx 两件) |
|
||||
| 分析 | worktree `analyze_gvar_t7b.py`(口径注记见 §四) |
|
||||
|
||||
## 二、读数
|
||||
|
||||
### 2.1 偏斜期望实测(census——主读数)
|
||||
|
||||
| 站点 | 档 | 进攻族 | 生存族 | 白名单 | 理论精确目标 |
|
||||
|---|---|---|---|---|---|
|
||||
| L2 Boss(2359 身份) | off | 58.08% | 20.01% | 21.92% | 59.7 / 19.5 / 20.8 |
|
||||
| L2 Boss | on | **64.86%** | **13.14%** | 22.00% | 66.2 / 13.0 / 20.8 |
|
||||
| L3 Boss(4041 身份) | off | 58.13% | 19.60% | 22.27% | 同上 |
|
||||
| L3 Boss | on | **65.28%** | **12.57%** | 22.15% | 同上 |
|
||||
| **off→on 差值** | — | **+6.78 / +7.15pp** | **−6.87 / −7.03pp** | ≈0 | +6.5 / −6.5 / 0 |
|
||||
|
||||
实测与 v=30 静态推演的目标位移吻合(样本涨落 ±0.5pp 内)——**偏斜方向=生存变薄/进攻变肥,幅度与静态账一致**。逐型计数(off L2 → on L2):ac_up 343→217、heal 129→93、attack_up 400→432、spark 455→518、pierce 244→284、magic 271→296。白名单计数微差(如 L3 weaken 472→467)系样本涨落:权重向量未动(冒烟断言在册),抽样边界随池权重重排自然漂移。
|
||||
|
||||
### 2.2 战役通关率
|
||||
|
||||
| 策略 | off | on | 差 |
|
||||
|---|---|---|---|
|
||||
| normal 战役通关 | 0/60 | 0/60 | 0(逐位相同——见 §三对照) |
|
||||
| perfect 战役通关 | 37/60 = 61.7% | 38/60 = 63.3% | +1 局(±1 局=1.7pp,N=60 涨落域内) |
|
||||
|
||||
perfect levels_cleared 分布两档同构(off {0:1,1:17,2:5,3:37} / on {0:1,1:16,2:5,3:38})。normal 0/60 系新普通档画像常态基线(m4iter12 t7 批一读数 normal L1 已仅 5.0%,非本批引入)。
|
||||
|
||||
### 2.3 Boss 场承伤(enemy_action 口径,占该场首快照 max_hp)
|
||||
|
||||
| 策略 | off | on | 差 |
|
||||
|---|---|---|---|
|
||||
| normal(n=13,全为 L1 Boss) | 均 23.5% / 中位 19.4% | 逐位相同 | 0 |
|
||||
| perfect(n=144/142) | 均 **29.8%** / 中位 26.9% | 均 **28.1%** / 中位 25.0% | −1.7pp(≈1σ,N≈140 下不具判读力) |
|
||||
|
||||
- 完美档 Boss 承伤两档均落 ≤50% 带内;on 档微降方向与机制预期同向(进攻肥→Boss 击杀窗口缩短)。带 A 收敛判读归 M-4。
|
||||
- on 档单局极值 111.4%(进 Boss 时残血、场内被击杀的超过该场满端口径的极端场,142 场中 1 例);off 极值 85.7%。
|
||||
- 雷伤均=0%(perfect 档不踩雷——策略属性)。
|
||||
|
||||
### 2.4 奖励输出占比带 [15,40] 复算(⚠ 口径注记——S2 呈报项)
|
||||
|
||||
| 策略 | off | on |
|
||||
|---|---|---|
|
||||
| normal | L1=69.0% L2=66.0% | 逐位相同 |
|
||||
| perfect | L1=76.1% L2=62.3% L3=55.1% | L1=76.1% L2=63.0% L3=57.4% |
|
||||
|
||||
**本口径下两档均高于带上限 40%——按 S2 只呈报不回调。** 口径差异必须注明:本读数=「奖励直伤行占比」(safe_cell/flag_hit/clear_reward ÷ 总输出,可归因下界);恒等式口径的「奖励侧输出占比」含 attack_up 增量拆分、且历史带值闭合方式无现成工具面(balance_verifier/analyze.py 均无此计算)。**off 与 on 同域且差值≈0(perfect L1 两档逐位同=零偏斜对照;L2 +0.7pp/L3 +2.3pp 微正,方向=进攻直伤源变多)**——偏斜对该占比无实质移动;越带是否口径错位归 M-4/曲线调参批裁决,非本批回调项。
|
||||
|
||||
## 三、一致性对照(作用域外零扰动的实证)
|
||||
|
||||
1. **normal 档 off/on 逐位相同**(RUNSUM 行 diff 为空:通关 0/60、levels 分布、Boss 承伤 13 场、占比全同)——normal 画像到不了 L2/L3 Boss(偏斜作用域),实测零扰动 ✓。
|
||||
2. **L1 Boss 免疫实证**:normal 的 13 场 Boss 样本全为 L1 Boss(unlock_level=2 门控),off/on 逐位同 ✓。
|
||||
3. **perfect L1 占比两档逐位同**(76.1%)——同理(L1 无 Boss 图)✓。
|
||||
|
||||
## 四、口径与语义注记
|
||||
|
||||
- **off 档语义**(任务书 §二):off=替换制生效+偏斜中性(零变异 Boss 图)——与现行锚 `runsum_m4iter12_t10abb_n20_20261004`(旧 Boss 图带 region 片)**行为不同**;on/off 差值隔离偏斜单项效应,off 与现行锚之差混杂替换制单项(Boss 图少 region 片)。旧 Boss 读数(含台账 96 承伤 55.8%)换代作废只测不判。现行锚本批只读未重跑(先推算后重跑纪律:代码态已变,既有数据不可推算 off/on,双档为新采集;现行锚数值如需对照由分析直读该文件)。
|
||||
- Boss 场承伤=enemy_action 口径(analyze.py 同族);雷伤单列未并入。
|
||||
- 占比=奖励直伤行可归因下界口径(§2.4 注记)。
|
||||
- 采集跨零点(runsum 文件名 20261004 系采集起始日,报告/出数 2026-10-05)。
|
||||
|
||||
## 五、结论面(只测不判)
|
||||
|
||||
偏斜机制按 v=30 投值**实测兑现设计位移**(§2.1 主读数与静态账吻合);通关率/Boss 承伤两档差在 N=60 涨落域内无信号;占比带按可归因口径越带(S2 只呈报)。**零回调零判读**——带 A 收敛判读、占比带口径裁决、provisional 幅度收敛全部归 M-4 全局难度批。③号卡 T7b 义务闭合,批级出口材料齐(实施批出口报告+本读数报告)。
|
||||
@@ -1,77 +0,0 @@
|
||||
# 出口报告:挖掘风险不等式判式换代批(迭代14②号卡)
|
||||
|
||||
> 日期:2026-10-05 · worktree `g-plan2-m4iter14-mineq` / 分支 `m4iter14-mineq-20261005`
|
||||
> 任务书:`.zcode/plans/mine-inequality-revision-miniloop-plan-2026-10-04.md`(T0-T5;本 prompt 即 U0 批准)
|
||||
> 设计权威:`design/research/方案-挖掘风险不等式修订-2026-10-04.md` §九(裁决回填)
|
||||
> 基线:master 912dcb2(冒烟 747/0)· 出口冒烟 **750/0**(+3 旗溢价断言)
|
||||
|
||||
## 一、执行摘要(T0-T5 全落)
|
||||
|
||||
| 卡 | 内容 | 终态 |
|
||||
|---|---|---|
|
||||
| T0 | audit 工具常量刷新(池67→77/直伤负向6-8-8/heal2/清图24-40/AP8/off_guard ac−1 0.2u模型/伏击口径甲退役/九型字典/β带+逐型输出) | ✓ 判值与方案报告 §四/附录A 逐位吻合(E_dig 1.442/1.948/2.455 · V_mine 2.460/2.670/2.881 · β 1.71/1.37/1.17)——改前静态锚 |
|
||||
| T1 | runsum 五字段(flag_placed/flag_hit/flag_miss/flag_hit_gain/flag_miss_penalty) | ✓ 落码 `level_autoplay.gd`+`adventure_monte_carlo.gd`;接缝核证=step_row 行族可达(collect_rows 无关),聚合零新随机源。**行侧判据考证**:结算段对存续增益实例每轮复发行 effect 行且复用实例 source_class——标中事件行唯一判据=授予行专带 highlight="flag_hit"(实测 87 行==87 受理插旗 1:1 精确);雷区图谱追加分grant 以 display_name 后缀补捕;满层拒收行不入 |
|
||||
| T2 | 改前行为锚:MC N=200/策略(种子窗 76000-76399,与 iter8 同窗)+ verifier 双窗(na=150/k=100/hp_first,seed0=8000 缺省) | ✓ `sim-data/runsum_m4iter14mineq_pre_n200_20261005.jsonl` + `_raw_verifier_mineq_pre.txt`;η 基线首次到手 |
|
||||
| T3 | 判式落文五面 | ✓ 行动经济 F1 条款3 重立 v0.8(三层口径:条款2 锚不动/条款3 聚合健康式只留下限 0〔U_band 删〕/旗边际引理+条件二旗溢价 δ=0.25 登记已知破·T4 闭合)+β 带 [1.2,2.5] 与 η 读数入文;战斗结算 v0.25(gp/ap 当量口径注记 A5/A6+验收条款3 对账条);难度曲线与Boss v0.23(联动表+6 行、P1 改判读回执);registry `clause3_inequality` 重立条(改前锚+P7 两点修正:d70f6c3 池 76→77 混计、直伤 4/5/5→6/8/8 时效化);06 破线条正式收口;07⑫ 旗溢价目检项 |
|
||||
| T4 | 标中兑付溢价机制 | ✓ settlement 新键 `flag_hit_premium=125`(percent 域 [100,999] 域校验;100=无溢价直通零扰动)+ 兑付公式一处(`_grant_routed` 只挂 flag_hit 正向:flat power 乘后入单据/治疗/排队;percent 幅度经 premium_pct 贯穿 `_apply_percent_row` 应用与呈现同乘 + 容器 `magnitude_override` 同快照);标空/挖格/清图不乘;DamageController 零改、雷安同池冻结、直伤雷 6/8/8 与 p_perfect 不动;smoke 断言 +3 |
|
||||
| T5 | 改后锚+判读+出口包 | ✓ 本报告;锚换代声明见 §五 |
|
||||
|
||||
## 二、判读三件(T5 义务)
|
||||
|
||||
**① β 带判读**:β = 1.71 / 1.37 / 1.17(u=1/2/3,名义 ρ)——u=1/2 带内、u=3 微破下限(登记态点名,2026-10-04 P4 裁不强制回滚)。值链零表值变动(溢价只挂兑付侧不入 E_dig/V_mine),改前改后同值。
|
||||
|
||||
**② δ 敏感度判读(判据 ≥5pp,grill Q4)**:**行为无感 → δ 保留 + 登记「行为无感」**。
|
||||
|
||||
| 指标 | normal(改前→改后) | perfect(改前→改后) |
|
||||
|---|---|---|
|
||||
| η=标中÷插旗 | 0.8360 → 0.8445(**+0.85pp**) | 0.9921 → 0.9784(**−1.36pp**) |
|
||||
| 标空率 | 0.1194 → 0.1154(−0.40pp) | 0 → 0(恒 0) |
|
||||
| 插旗/局 | 53.0 → 57.3 | 244.4 → 255.8 |
|
||||
| 全通关 | 1/200 → 0/200(个位数噪声) | 119/200 → 152/200(+16.5%) |
|
||||
| 承伤/局 | 14.5 → 16.2 | 87.5 → 86.6 |
|
||||
| 踩雷/局 | 6.78 → 7.13 | **0 → 0(硬不变量 ✓)** |
|
||||
| 标中兑付合计 | 29,805 → 39,649(≈×1.33=×1.25 兑付+旗数微增,机制在位证据) | 170,606 → 233,745(≈×1.37 同上) |
|
||||
|
||||
η/标空率两位移均 <5pp → 判式诚实性不依赖行为弹性(Q4 裁),δ=1.25 provisional 维持。**只测不判随报面**:perfect 全通关 +16.5% / verifier perfect 冒险通关 65.3%→72.0%(增强向位移,与方案 §五 预测的「完美排雷达成率↑难度下行」腿同向)——四带判读归 M-4。
|
||||
|
||||
**③ 条件二转绿确认**:
|
||||
- 判式口径(连续当量):E[标中]=1.25·E_dig ≥ 1.25·E_dig 等号压线成立(严格大于须 δ>0.25,×1.5 档留后手——§九 数学注记兑现)。
|
||||
- **整数量级实现(audit 工具 `w_flag_hit` 按机制同式实算)**:W(1)=1.888 ≥ 1.802 ✓转绿 / W(2)=2.461 ≥ 2.435 ✓转绿 / **W(3)=3.034 < 3.068 微欠 −1.1%(登记面)**——成因=1 点量纲行(ac_up/action/spark)四舍五入取整地板 ×1.0 + u 缩放型在 u=3 占比上升。精化归调参批(后手=δ×1.5 档或取整规则进位);不构成回滚理由(登记已知破的限期闭合在 u=1/2 已兑现,u=3 欠口 <β_hi 裕度)。
|
||||
|
||||
## 三、verifier 双窗对照(na=150/k=100/hp_first,只测不判)
|
||||
|
||||
| 指标 | 改前 | 改后 |
|
||||
|---|---|---|
|
||||
| 冒险全通关 perfect | 98/150(65.3%) | 108/150(72.0%) |
|
||||
| 冒险全通关 normal | 0/150 | 0/150 |
|
||||
| 条件通关 L1 normal | 6.0%(9/150) | 16.7%(25/150) |
|
||||
| 条件通关 L2 normal | 11.1%(1/9) | 4.0%(1/25)(小样本) |
|
||||
| 条件通关 L1/L2/L3 perfect | 99.3% / 75.2% / 87.5% | 100.0% / 82.0% / 87.8% |
|
||||
| 战役 perfect | 91/100 | 97/100 |
|
||||
| 战役 normal | 0/100 | 0/100 |
|
||||
|
||||
注:verifier 窗与 MC 窗异种子域(8000 缺省 unique),条件通关率口径与 MC 历史带不可直比;配对差值才是本批读数。改后窗首跑曾在 campaign 段 14/100 处静默死亡(并发跑批互踩——与当日冒烟两连中断同签名,机器空闲后全窗重跑 exit 0),首跑残档已被重跑覆盖。
|
||||
|
||||
## 四、provisional / 追认单(随批呈用户)
|
||||
|
||||
| # | 项 | 状态 |
|
||||
|---|---|---|
|
||||
| 1 | δ=1.25(形态 a 兑付溢价,percent 域 flag_hit_premium=125) | provisional 归调参;×1.5 档留后手 |
|
||||
| 2 | 取整规则=四舍五入(与伤害管线 round_direction=floor 分域) | registry clause3_inequality 已登记;**整数量级 u=3 条件二微欠 −1.1%** 连带登记 |
|
||||
| 3 | 1 点量纲行整数粒度地板(ac_up/action 取整后 ×1.0 不变) | 登记面(07⑫ 目检注记同步) |
|
||||
| 4 | δ 行为无感(η/标空率 <5pp) | 保留+登记(Q4 裁) |
|
||||
| 5 | 条件一上限承载=β_hi 独家(U_band 删) | 已落文(grill Q3) |
|
||||
| 6 | smoke max 路径存储种子 42→43 重采 | δ 换代战局位移(败于路径终点);断言注释既定程序,临时重采脚本用后即删 |
|
||||
| 7 | damage_probe A1 红灯 | **改前既有**(26374ac 复跑同败,非本批新增)——「fresh 池 Boss 21 拍攻击链」断言在现行 master 即红,归独立 mini-loop 处置(本批零新增登记) |
|
||||
| 8 | 判式换代文本三处(行动经济 F1 条款3 / 战斗结算 验收标准 / 难度曲线与Boss 联动表) | 人闸=呈用户追认(07⑫ 结论回流面) |
|
||||
|
||||
## 五、闸绿记录与锚换代
|
||||
|
||||
- 冒烟 **750/0**(747 基线 + 3 旗溢价断言);run_all 15 套全 PASS;ui_input_probe 十六断言全绿;damage_probe 7 项 6 绿 1 既有红(§四.7)。
|
||||
- doc 三闸对基线零新增(gdd_lint 失败集与基线同;term 同集;link worktree +2 系 gitignored 路径环境性死链——`.zcode/plans`/`archive/` 在主区实文件在盘 0 死链)。
|
||||
- **锚换代声明**:对拍正主换代 → `sim-data/runsum_m4iter14mineq_post_n200_20261005.jsonl`(改后现行锚;改前锚 pre_n200 同窗留档);旧结构读数(m4iter12_t7off_n20 正主等)只测不判。audit 工具=条款3 常设重跑入口(条件二面板已随批升级为机制同式实算)。
|
||||
- 07 新增人工项:⑫ 旗溢价兑付与标旗激励(实机目检约 5 分钟 + δ 行为读数判读回执)。
|
||||
|
||||
## 六、红线遵守声明
|
||||
|
||||
DamageController 零改动 ✓ · 雷安同池结构冻结不动 ✓ · mine_density 0.25 不动 ✓ · 直伤雷 6/8/8 不动 ✓ · p_perfect 不动 ✓ · 主区脏文件零接触 ✓ · 昂贵跑批=任务书 T2/T5 既定义务(静态推算先行为锚后跑批,MC 缓存层纪律:runsum 锚落 sim-data 留盘)。
|
||||
@@ -1,44 +0,0 @@
|
||||
# 出口报告:技能池执行批 + 提灯接线(迭代14④号卡 + ⑤小卡)
|
||||
|
||||
> 日期:2026-10-05 · worktree `g-plan2-m4iter14-skillpool` / 分支 `m4iter14-skillpool-20261005`
|
||||
> 任务书:`design/research/任务书-技能池执行批-2026-10-04.md`(D1-D8 全裁零待裁;本 prompt 即 U0 批准)
|
||||
> 事实源:研究报告(未跟踪件,主区 `design/research/研究-全怪物技能池数值验证-2026-10-04.md`——T0 盘点对表零漂移)
|
||||
> 基线:master 85dc9af(冒烟 767/0)· 出口冒烟 **772/0**(+5 解锁集成断言)· run_all **15 套 PASS**(+1 新单测;reward_overlay_test 红=master 既有,卡①批已判读在册)
|
||||
|
||||
## 一、执行摘要(T0-T6+⑤ 全落,T7 读数后置)
|
||||
|
||||
| 卡 | 内容 | 终态 |
|
||||
|---|---|---|
|
||||
| T0 | 表盘点 | ✓ 19 行池+9 技能行与报告 §2 一致(零漂移);Boss 三行 (1,4)/(2,9)/(3,9) 确认 |
|
||||
| T1 | 敌人系统.md 五件 | ✓ 池构成表 8 敌种全覆盖(补 L2+L3 五行:巨蜘蛛/卓尔/灰矮人/钩爪恐魔/石君王——轮廓+定位列,权重不登);护甲列改读表口径(失同步欠账清偿);Boss 句三代错峰口径;意图呈现节补半血解锁弹出规格;v0.13 |
|
||||
| T2 | 表批注+registry | ✓ skills.tres 补「有效倍率表」(D4 整数基线半点矩阵:atk 0/1/2/3/4 × 全倍率落地值——round 半值上取唯一非 floor 点豁免登记);enemy.tres EV 锚整数口径重登记(地精 1.05→1.10〔atk1〕、6/1/2 池 1.333、巨蜘蛛 :472 消歧=atk1 口径非混用、重击手 1.333)+ 酋长 EV 重锚(抽样 1.1948、带 [1.10,1.30]);registry enemy.pool 字段扩 unlock_hp_pct + skill_unlock_mechanics 条 + skill 条十二行 |
|
||||
| T3 | 机制·schema 与容器 | ✓ enemy_table schema 池条目 unlock_hp_pct 可选键域 [1,99](缺省无=无门槛);unit_container spawn 快照携带新键+unlocked 闩标记;rollable_skills/special_skills 双面过滤(锁定不入);check_skill_unlocks 半血闩(hp ≤ round(max_hp×pct/100),一次过门单向闩,确定性零随机) |
|
||||
| T4 | 机制·编排与呈现 | ✓ battle_orchestrator._roll_round_actions 开轮逐敌闩检查→解锁置位+归因行「XX 解锁了 YY」(type=highlight 高光键 skill_unlock——行协议零新增);row_pacer 对该行弹一次性技能名 toast(board_zone.toast,info 档;**排除误触 perfect_sweep 演出**);保底/冷却语义回归确认(保底特殊技集=全非普攻,锁定过滤后不逼出) |
|
||||
| T5 | 数据·三 Boss 解锁技 | ✓ skills.tres +3 行:震地怒击 ×2.5/CD4(酋长)·遏毒 ×2.0/CD3(卓尔)·岩崩 ×2.5/CD4(石君王)——命名 T5 定稿、倍率/冷却 provisional 归调参;三 Boss 池尾 +{weight:2, unlock_hp_pct:50};断言基线换代 3 处(技能表 9→12 行/池模板 +门控条目/酋长 EV 锚重锚) |
|
||||
| T6 | 测试与回归 | ✓ 新单测 skill_unlock_test(22 断言:门谓词恰等/闩不可逆/双面过滤/保底不逼锁定/解锁即可摇/零扰动/确定性——run_all 注册 15 套);smoke +5(Boss 半血→下轮开轮解锁行恰一次/文本「蛛化卓尔精灵 解锁了 遏毒」/行型零新增);冒烟 772/0 |
|
||||
| ⑤ | 提灯 +2 接线 | ✓ board_view.set_fog_lantern(enabled) 公共接线面(半径算式 `_fog_lantern` 迷雾批已在位——常量 FOG_LANTERN_BONUS=2 消费接通;写入即 refresh);类型微光不随视野扩(贴身 8 邻零改动);ui_input_probe case⑮ +接线断言(开=dist 9 格转可见+lantern=2/关=复原);HUD框架 注记 v0.14 段补接线位——**载体道具(aux_items 提灯新行)仍归 Alpha 信息件重定批,到位后组合根/库存挂接调用 setter**(本批不造载体=接缝就绪态) |
|
||||
|
||||
## 二、T7 读数义务(后置挂 07,不阻塞落籍)
|
||||
|
||||
- ≥50 distinct seeds 节奏重测(过涝判读带——主看面=Boss 半血后特殊技密度上探):**跑批须用户批准**(MC 缓存层纪律),挂 07 现行义务;**停机点 S2**:过涝越带 → 解锁技权重/倍率回调呈报,禁自动调。
|
||||
- EV 重锚登记已落(enemy.tres 批注+registry);权重×冷却×保底三联动检算随 T7 读数批执行。
|
||||
|
||||
## 三、provisional / 追认单(随批呈用户)
|
||||
|
||||
| # | 项 | 状态 |
|
||||
|---|---|---|
|
||||
| 1 | 三 Boss 解锁技工作值:震地怒击 ×2.5/CD4 · 遏毒 ×2.0/CD3 · 岩崩 ×2.5/CD4 | provisional 归调参(D7 案甲;命名 T5 已定稿) |
|
||||
| 2 | unlock_hp_pct=50 | 用户口径定死(血量一半) |
|
||||
| 3 | 酋长 EV 抽样带重锚 [1.10, 1.30](含解锁技含闸速率实测 1.1948) | 数据登记面(旧锚 [0.97,1.03] 随批作废) |
|
||||
| 4 | 呈现面=明细行+类型级预告+一次性技能名 toast(零动画) | D8 已裁,落地形态追认 |
|
||||
| 5 | 首拍加权取消+杂鱼纹理注销 | D2 已裁,随批落文(敌人系统 v0.13) |
|
||||
| 6 | ⑤ 提灯接缝就绪态(setter 就位、载体道具未来批挂接) | 范围登记(05 卡=纯接线,不造载体) |
|
||||
|
||||
## 四、07 新增人工项
|
||||
|
||||
- ⑭ Boss 半血解锁呈现目检(实机:Boss 打到半血 → 明细行「XX 解锁了 YY」金框行 + 技能名 toast 一次;二轮不复弹——闩语义)。
|
||||
- 现行义务 += T7 节奏重测跑批(待用户批准)。
|
||||
|
||||
## 五、闸绿记录
|
||||
|
||||
冒烟 **772/0**(767+5)· run_all 15 套 15 PASS(+skill_unlock_test;reward_overlay_test 红=master 既有在册)· ui_input_probe 十六断言全绿(含⑮提灯接线断言)· doc 三闸对基线零新增(lint 2 基线存量/link 6=退役批后基线/term 3 存量)· 玩家可见文案走常规描述(禁自造词——「解锁了」常规动词)· 确定性复现不破坏(门=确定性谓词零随机,摇号消费仍在 behavior_roll 既有流)。
|
||||
@@ -1,89 +0,0 @@
|
||||
# 数值修复批·新尺读数与调优轨迹报告(2026-10-01)
|
||||
|
||||
> 背景:用户真人实证推翻旧模拟尺(零加成真人首通三关踩 23 雷 vs 旧普通档 L2 条件通关率 10.6%——尺子比真人弱 20 倍);用户令①重造模拟档位②按新尺重测现数值③调数值后交验收。**迭代 9 出口卡数值轴=用户否决「数值优化完全没有成功」,本批=根因修复+重调。**
|
||||
> 执行会话产物;测量 = adventure_monte_carlo(零加成、route min、逐局独立种子);分析器=tools/tmp_analyze_newruler.py(批后删,日志留 sim-data/)。
|
||||
|
||||
## 一、模拟档位重构(新尺定义)
|
||||
|
||||
| 档 | 旧语义(已退役) | 新语义 |
|
||||
|---|---|---|
|
||||
| 完美档 | 扫雷子游戏上界(subset 解算零踩雷),但选路机械取最小编号+商店零购 | **元游戏上界**:解算同源+目标价值选路(rest 伤重/shop 买得起/boss 缓冲,tie-break 沿 route 方向保双窗轴)+商店贪心买齐(GP 局内死钱,真人实证两店全购) |
|
||||
| 普通档 v2 | 新手画像(单步推理+盲挖兜底+不刷新)——被真人实证推翻 | **v3.4=完美策略+四类受控失误**:①标雷误挖 0.10(真手滑)②安全挖跳过 0.05(少挖)③卡死赌挖(概率启发=min(余雷/未知) 边界格;不刷新=用户自报口径)④空闲早赌 0.10(完美系把不确定性攒到残局=扫雷;真人早赌滚信息)。失误流=独立策略 RNG(局种子派生,逐位可回放;核心七流零扰动)。**夹具保护**:v3 行为只挂 run_adventure(st.adv),run_level 单关机制夹具保持旧语义——冒烟 596/0 零漂移实证 |
|
||||
|
||||
普通档踩雷实测 ~1.6-2.5/战(用户规格目标 +2/板量级 ✓)。
|
||||
|
||||
## 二、为什么之前多次调参调出垃圾(根因)
|
||||
|
||||
1. **普通档=自认新手画像**:单步推理+盲挖兜底,比任何会玩扫雷的真人都弱(真人首通 100% vs 该画像 L2 10.6%)。以它为「普通玩家」校带,带锚在一个不存在的人身上——每次「调到落带」=调到比真人弱 20 倍的基准,加难传不到真人体感。
|
||||
2. **完美档不是元游戏上界**:选路机械取最小编号(商店/休息/奖励绕开或直通)、商店零购——真人两店全购+买血 +5。扫雷完美≠会玩这个游戏。
|
||||
3. **踩雷伤害构成误读**:真人 23 雷仅 5 个直伤(25 血),其余 18=破财/警觉/暴走等效果雷——「踩雷无感」的真身是**负向池被效果雷稀释**,而雷当量调节只动了直伤三行。
|
||||
4. 三犯同族:09-16「模拟 20% 是盲挖下界非真人基线」、09-23 直入口口径退役、本次——代理尺子第三次失真被真人抓出。
|
||||
|
||||
## 三、调优轨迹(每刀一测,N=100 种子 910003 起 route min)
|
||||
|
||||
| 刀 | 内容 | 普通(战役/L1 条件) | 完美(战役) |
|
||||
|---|---|---|---|
|
||||
| 基线(旧数值+新尺) | —— | 0% / 0%(v3.2-v3.4 三版失误率校准均 0%,死因=L1 四连战无治疗夹缝非失误率) | 36-41% |
|
||||
| 调参一 | hero max_hp 20→24;直伤雷 4/5/5→6/8/8 | 0% / 1% | 50% |
|
||||
| 调参二 | L1 系八行敌 atk 2→1(区间 1-3→0-2 保中点锚;L2/L3 atk 3 不动) | 0% / 7% | 62%(L1 97/L2 78/L3 82) |
|
||||
| 调参三 | hero max_hp 24→26 | 0% / 8% | **68%(L1 99/L2 83/L3 83)** |
|
||||
|
||||
刀位语义:**「危险来自雷,不来自杂兵」**——雷直伤 +50-60%(踩雷必痛,直击用户「23 雷无感」),杂兵垫刀减半(L1),血池 +30%(夹缝生存)。普通档始终 ~0% 的含义:按用户规格(每板多踩 2 雷)的玩家在现内容下几乎必死于第一关——**真人(不故意踩已证雷、赌挖分布更散)落在普通档与完美档之间**,预测新数值下真人首通=失败或险胜(用户验收口径)。
|
||||
|
||||
## 四、定稿读数(N=200,种子 420000 起,runsum_numfix_final_n200_20261001.jsonl)
|
||||
|
||||
| 档 | 战役全程通关 | L1 条件 | L2 条件 | L3 条件 | 踩雷/局 |
|
||||
|---|---|---|---|---|---|
|
||||
| 完美(元游戏上界) | **78.5%**(157/200) | 98.0% | 86.7% | 92.4% | 0.00 |
|
||||
| 普通 v3.4(完美+失误,~1.7 雷/战) | 0%(0/200;26/200 到达 L2) | 13.0% | 0% | — | 7.12 |
|
||||
|
||||
种子窗注:N=100 窗(910003 起)完美 68% vs 本窗 78.5%——窗间波动 ~10pp 与历史读数同量级,方向结论两窗一致。完美档踩雷恒 0(零失误断言保持);普通档踩雷 7.12/局(~1.7/战,用户规格 +2/板量级 ✓)。
|
||||
|
||||
**判读**:完美执行大概率通关(上界健康);「每板多踩 2 雷」的玩家几乎必死于 L1——难度梯度由雷承担,与「危险来自雷」的刀位语义一致。真人(不故意挖已证雷、赌挖更散)预测落在两档之间=首通失败或险胜(**待用户实机验收**)。
|
||||
|
||||
## 五、连带与挂账
|
||||
|
||||
- **全旧带读数作废**:普通档语义已换人+数值三刀,难度曲线文档三条验收带(普通 L1 [35,55]/L2 [10,15]、完美 [35,65])失效——新带值须新尺重测后用户拍板,重锚前只测不判。
|
||||
- **MC 锚换代**:t7minepower 锚(策略+数值双变)作废;新锚=本报告 N=200 runsum 文件。
|
||||
- 迭代 8 雷当量 4/5/5 provisional → 6/8/8(本批再抬档,06 条目随收口)。
|
||||
- 真人 k 补跑(迭代 9 卡⑩)在新数值上重跑,旧真人局(seed 42)留档作画像校准点不作读数。
|
||||
|
||||
## 六、悬崖归因(2026-10-01 追加——用户问「+2雷/板怎会差 78.5% vs 0%」,只读日志分析零改动)
|
||||
|
||||
输入=N=200 普通档 200 局全量 step/settlement 流水(死亡局 200/200)。
|
||||
|
||||
**输入差是线性的,但系统把它放大成阈值悬崖——三个放大器:**
|
||||
|
||||
1. **效果雷复利放大(主放大器)**:普通档踩的雷里效果雷:直伤雷 ≈ **3.3:1**(5.47 vs 1.66/局)。
|
||||
效果雷零直接伤害但持续负债——警觉 310/暴走 298/失衡 214/乏力 138/迟滞 101(每 200 局):
|
||||
暴走=敌方伤害 +25%、乏力=主角输出 -25% 拖长战斗→更多敌方轮次→垫刀进一步放大。
|
||||
死亡局垫刀均值 16.9 血(占承伤 55%),其中相当部分是暴走/失衡加成后的放大值——
|
||||
「多踩 2 个雷」的真实代价 ≈ 直伤 12.6 + 效果雷引发的垫刀增量与战斗延时 ≈ **20-25 有效血/局**。
|
||||
2. **直伤雷是不可减免轴**:AC 掷点只对敌方攻击生效,直伤雷绕过全部防御——当前唯一有效
|
||||
伤害轴恰好是普通档独吃的轴(完美档恒 0)。游戏没有第二个缓解轴(战斗内回复/直伤减伤)。
|
||||
3. **血池贴阈值**:池 26 vs 每治疗段(L1 四连战+Boss 前零回复)总承伤 ~30——均值贴地,
|
||||
生存率是阈值函数,输入小移→输出悬崖(87% 死在战斗 3-5 号位)。
|
||||
|
||||
HP 轨迹实证:死亡局常见单战 10-20 血深切(26→2/23→10/25→13),非渐进磨死。
|
||||
|
||||
**结论**:悬崖=数值设计的三个结构性质(效果雷无定价复利/直伤无减免轴/池贴阈值)的合成结果,
|
||||
不是模拟器误差——模拟器如实呈现了这个结构。**修正方向(未动手,待拍板)**:①效果雷明码标价
|
||||
(折算直伤当量入风险端定价)或减复利(暴走/失衡幅度与时长减档)②给直伤开减免轴(护甲按值
|
||||
减直伤/战斗内回复)③池与治疗段比例拉离阈值④白板首通带按 genre 锚定 [2,10]%(局外爬升承接)。
|
||||
|
||||
## 七、剂量-响应曲线(2026-10-01 追加——问题二「+2雷/板怎会差悬崖」的数学形态实测)
|
||||
|
||||
固定数值(三刀后),只动普通档失误注入率(=每战踩雷剂量),N=100、种子 420000 起、route min:
|
||||
|
||||
| 剂量(每战踩雷) | 失误参数(slip/idle) | L1 通过 | 战役全通 |
|
||||
|---|---|---|---|
|
||||
| 0(完美档) | — | 98%(N=200) | 78.5%(N=200) |
|
||||
| ≈0.8 | 0.05/0.05 | **36%** | **1%** |
|
||||
| ≈1.7(v3.4 现行) | 0.10/0.10 | 13% | 0% |
|
||||
| ≈2.6(v3.2 旧参) | 0.22/0.22 | ~0% | 0% |
|
||||
|
||||
**形态判读**:陡 sigmoid——0→0.8 雷/战区间损失 77.5pp(每 0.1 雷 ≈ 10pp),0.8 雷以上近乎归零饱和。
|
||||
「多踩 2 雷/板」的输入差落在曲线最陡段,输出即悬崖;类型调研(design/research/roguelike-difficulty-
|
||||
benchmark-2026-10-01.md)给的验收指标=每雷边际 ≤15pp 且 S 形连续无 >25pp 单步跳变——现曲线
|
||||
每雷边际 ≈39pp,超 2.6 倍。半剂量日志=sim-data/mc_dose_half_n100_normal_20261001.log
|
||||
(测量完 slip 参数已还原 0.10/0.10,未入提交)。
|
||||
@@ -1,297 +0,0 @@
|
||||
# t17_defer_probe 运行证据(2026-10-02)
|
||||
|
||||
- 被测:演播后排窗(T17 用户令「伤害过程演完才切战斗胜利结算窗」)——本修复的定点关联测试
|
||||
- 断言①(判别性):胜利同帧终局面未开+挂起在案+排播队列在播——旧行为(同帧 flush+开窗)跑此必红
|
||||
- 断言②:排播放完(waited≈5.5s=15 行 × 0.22s 段内间隔+段间间隔)终局面开启
|
||||
- 复跑方式:godot --headless --path game res://smoke/t17_defer_probe.tscn(退出码 0=PASS / 2=FAIL)
|
||||
- 本文件=2026-10-02 master(bb35fdc)实跑原始输出留存
|
||||
- 毫秒时间戳补测(同日):结算入队=1581 ms · 弹窗可见=7073 ms · **相差=5492 ms**(22 行;AP 耗尽→结算开始=同帧 0ms——核心同步架构,时长全部为逐行演播)
|
||||
|
||||
## 原始输出
|
||||
|
||||
```
|
||||
Godot Engine v4.7.2.stable.official.ed1daf0bf - https://godotengine.org
|
||||
|
||||
WARNING: Can't change the size of a `SubViewport` with a `SubViewportContainer` parent that has `stretch` enabled. Set `SubViewportContainer.stretch` to `false` to allow changing the size manually.
|
||||
at: _internal_set_size (scene/main/viewport.cpp:5627)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] _notification (res://presentation/views/battle_stage_view.gd:177)
|
||||
[1] build_battle_ui (res://presentation/ui_assembler.gd:24)
|
||||
[2] _build_ui (res://presentation/main.gd:192)
|
||||
[3] _ready (res://presentation/main.gd:181)
|
||||
[4] _ready (res://smoke/t17_defer_probe.gd:16)
|
||||
ERROR: Attempted to push_back a variable of type 'String' into a TypedArray of type 'Dictionary'.
|
||||
at: _internal_validate (./core/variant/container_type_validate.h:73)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Condition "!_p->typed.validate(value, "push_back")" is true.
|
||||
at: push_back (core/variant/array.cpp:285)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Attempted to push_back a variable of type 'String' into a TypedArray of type 'Dictionary'.
|
||||
at: _internal_validate (./core/variant/container_type_validate.h:73)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Condition "!_p->typed.validate(value, "push_back")" is true.
|
||||
at: push_back (core/variant/array.cpp:285)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Attempted to push_back a variable of type 'String' into a TypedArray of type 'Dictionary'.
|
||||
at: _internal_validate (./core/variant/container_type_validate.h:73)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Condition "!_p->typed.validate(value, "push_back")" is true.
|
||||
at: push_back (core/variant/array.cpp:285)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Attempted to push_back a variable of type 'String' into a TypedArray of type 'Dictionary'.
|
||||
at: _internal_validate (./core/variant/container_type_validate.h:73)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Condition "!_p->typed.validate(value, "push_back")" is true.
|
||||
at: push_back (core/variant/array.cpp:285)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Attempted to push_back a variable of type 'String' into a TypedArray of type 'Dictionary'.
|
||||
at: _internal_validate (./core/variant/container_type_validate.h:73)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Condition "!_p->typed.validate(value, "push_back")" is true.
|
||||
at: push_back (core/variant/array.cpp:285)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Attempted to push_back a variable of type 'String' into a TypedArray of type 'Dictionary'.
|
||||
at: _internal_validate (./core/variant/container_type_validate.h:73)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Condition "!_p->typed.validate(value, "push_back")" is true.
|
||||
at: push_back (core/variant/array.cpp:285)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Attempted to push_back a variable of type 'String' into a TypedArray of type 'Dictionary'.
|
||||
at: _internal_validate (./core/variant/container_type_validate.h:73)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Condition "!_p->typed.validate(value, "push_back")" is true.
|
||||
at: push_back (core/variant/array.cpp:285)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Attempted to push_back a variable of type 'String' into a TypedArray of type 'Dictionary'.
|
||||
at: _internal_validate (./core/variant/container_type_validate.h:73)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Condition "!_p->typed.validate(value, "push_back")" is true.
|
||||
at: push_back (core/variant/array.cpp:285)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Attempted to push_back a variable of type 'String' into a TypedArray of type 'Dictionary'.
|
||||
at: _internal_validate (./core/variant/container_type_validate.h:73)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Condition "!_p->typed.validate(value, "push_back")" is true.
|
||||
at: push_back (core/variant/array.cpp:285)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Attempted to push_back a variable of type 'String' into a TypedArray of type 'Dictionary'.
|
||||
at: _internal_validate (./core/variant/container_type_validate.h:73)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Condition "!_p->typed.validate(value, "push_back")" is true.
|
||||
at: push_back (core/variant/array.cpp:285)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Attempted to push_back a variable of type 'String' into a TypedArray of type 'Dictionary'.
|
||||
at: _internal_validate (./core/variant/container_type_validate.h:73)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Condition "!_p->typed.validate(value, "push_back")" is true.
|
||||
at: push_back (core/variant/array.cpp:285)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Attempted to push_back a variable of type 'String' into a TypedArray of type 'Dictionary'.
|
||||
at: _internal_validate (./core/variant/container_type_validate.h:73)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Condition "!_p->typed.validate(value, "push_back")" is true.
|
||||
at: push_back (core/variant/array.cpp:285)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Attempted to push_back a variable of type 'String' into a TypedArray of type 'Dictionary'.
|
||||
at: _internal_validate (./core/variant/container_type_validate.h:73)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Condition "!_p->typed.validate(value, "push_back")" is true.
|
||||
at: push_back (core/variant/array.cpp:285)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Attempted to push_back a variable of type 'String' into a TypedArray of type 'Dictionary'.
|
||||
at: _internal_validate (./core/variant/container_type_validate.h:73)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Condition "!_p->typed.validate(value, "push_back")" is true.
|
||||
at: push_back (core/variant/array.cpp:285)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Attempted to push_back a variable of type 'String' into a TypedArray of type 'Dictionary'.
|
||||
at: _internal_validate (./core/variant/container_type_validate.h:73)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Condition "!_p->typed.validate(value, "push_back")" is true.
|
||||
at: push_back (core/variant/array.cpp:285)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Attempted to push_back a variable of type 'String' into a TypedArray of type 'Dictionary'.
|
||||
at: _internal_validate (./core/variant/container_type_validate.h:73)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Condition "!_p->typed.validate(value, "push_back")" is true.
|
||||
at: push_back (core/variant/array.cpp:285)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Attempted to push_back a variable of type 'String' into a TypedArray of type 'Dictionary'.
|
||||
at: _internal_validate (./core/variant/container_type_validate.h:73)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Condition "!_p->typed.validate(value, "push_back")" is true.
|
||||
at: push_back (core/variant/array.cpp:285)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Attempted to push_back a variable of type 'String' into a TypedArray of type 'Dictionary'.
|
||||
at: _internal_validate (./core/variant/container_type_validate.h:73)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Condition "!_p->typed.validate(value, "push_back")" is true.
|
||||
at: push_back (core/variant/array.cpp:285)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Attempted to push_back a variable of type 'String' into a TypedArray of type 'Dictionary'.
|
||||
at: _internal_validate (./core/variant/container_type_validate.h:73)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Condition "!_p->typed.validate(value, "push_back")" is true.
|
||||
at: push_back (core/variant/array.cpp:285)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Attempted to push_back a variable of type 'String' into a TypedArray of type 'Dictionary'.
|
||||
at: _internal_validate (./core/variant/container_type_validate.h:73)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Condition "!_p->typed.validate(value, "push_back")" is true.
|
||||
at: push_back (core/variant/array.cpp:285)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Attempted to push_back a variable of type 'String' into a TypedArray of type 'Dictionary'.
|
||||
at: _internal_validate (./core/variant/container_type_validate.h:73)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Condition "!_p->typed.validate(value, "push_back")" is true.
|
||||
at: push_back (core/variant/array.cpp:285)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Attempted to push_back a variable of type 'String' into a TypedArray of type 'Dictionary'.
|
||||
at: _internal_validate (./core/variant/container_type_validate.h:73)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
ERROR: Condition "!_p->typed.validate(value, "push_back")" is true.
|
||||
at: push_back (core/variant/array.cpp:285)
|
||||
GDScript backtrace (most recent call first):
|
||||
[0] append_row (res://presentation/views/battle_log_view.gd:109)
|
||||
[1] _consume_row (res://presentation/row_pacer.gd:91)
|
||||
[2] _process (res://presentation/row_pacer.gd:79)
|
||||
[t17_defer] PASS — 胜利同帧挂起+排播完开窗 两断言全过(waited=5.5s)
|
||||
ERROR: 18 RID allocations of type 'PN13RendererDummy14TextureStorage12DummyTextureE' were leaked at exit.
|
||||
ERROR: 18 RID allocations of type 'PN18TextServerAdvanced22ShapedTextDataAdvancedE' were leaked at exit.
|
||||
ERROR: 2 RID allocations of type 'PN18TextServerAdvanced12FontAdvancedE' were leaked at exit.
|
||||
WARNING: 4 RIDs of type "CanvasItem" were leaked.
|
||||
at: _free_rids (servers/rendering/renderer_canvas_cull.cpp:2735)
|
||||
WARNING: 102 ObjectDB instances were leaked at exit (run with `--verbose` for details).
|
||||
at: cleanup (core/object/object.cpp:2536)
|
||||
ERROR: 1 resources still in use at exit (run with --verbose for details).
|
||||
at: clear (core/io/resource.cpp:822)
|
||||
```
|
||||
@@ -1,39 +0,0 @@
|
||||
# T19 真人标定局·读数报告(2026-10-02 中期判读)
|
||||
|
||||
> **任务位**:迭代 9 出口 T19(07-体验验证清单 §⑨ 现行义务)。数据源=本机日志 `logs/playtest_*.jsonl`(Godot 用户数据目录)。**样本=有效局 2,低于 §⑨ 下限 3 局——本报告为中期判读,终判读待局数补齐或用户裁定收口口径**(不虚标)。
|
||||
> 天赋基线:零加成(用户确认)。模拟对照锚:`sim-data/runsum_numfix_final_n200_20261001.jsonl`(numfix 新尺 N=200)+ 外部基准 `design/research/roguelike-difficulty-benchmark-2026-10-01.md`。
|
||||
|
||||
## 一、今晚局清单与分类(2026-10-02 19:53–23:37,共 7 份日志)
|
||||
|
||||
| 日志 | 时长 | 判定 | 分类 |
|
||||
|---|---|---|---|
|
||||
| playtest_42_20261002T195350 | ~1 分 | 1 战斗无 level_end | T17 目检局(不计) |
|
||||
| playtest_42_20261002T195920 | ~1 分 | 0 战斗 | T17 目检局(不计) |
|
||||
| playtest_42_20261002T201804 | <1 分 | 1 action | T17 目检局(不计) |
|
||||
| playtest_42_20261002T231948 | ~3 分 | 5 战 4 胜,踩雷 9,死亡 | **第 26 项送死测试局**(故意踩雷送死——9 雷/16 直伤为自伤所致),不计入标定 |
|
||||
| playtest_42_20261002T232226 | ~8 分 | 13 战全胜,**战役通关** | **T19 有效局①** |
|
||||
| playtest_42_20261002T233127 | <1 分 | 1 战胜利后放弃 | **第 27 项放弃测试局**(零挖格 8 轮纯普攻取胜——用户自测探针,用户已另行记录,本报告不追),不计入标定 |
|
||||
| playtest_42111_20261002T233138 | ~6 分 | 10 战 9 胜,死于 L3 首战 | **T19 有效局②** |
|
||||
|
||||
## 二、有效局读数
|
||||
|
||||
| 局 | 结果 | 进度 | 战斗/轮 | 承伤(敌+雷直伤) | 踩雷 | 回复 | 生命轨迹尾段 |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
| ① 232226 | **通关**(三 Boss 全杀) | 3 关全清 | 13/52 | 59(51+8) | 5(直伤雷仅 1 颗=8 点) | 54(49+节点5) | …20→19→20→12(活着收尾) |
|
||||
| ② 42111 | 死亡 | L1+L2 清(双 Boss 杀),死 L3 战 1 | 10/35 | 67(43+24) | 4(直伤雷 3 颗=24 点) | 38(29+节点9) | 6→5→5→0 |
|
||||
|
||||
雷当量实机对账:L2 直伤雷 8 点/颗 ✓(局② 3×8=24;局① 1×8)——与 numfix 刀后 6/8/8 一致。
|
||||
|
||||
## 三、判读窗
|
||||
|
||||
1. **通关率窗**:真人 1/2 战役通关(局② 深入到 L3 首战方死)。numfix 报告预测「真人落两档之间=首通失败或险胜」——**实测兑现**。位阶对照:模拟完美档 78.5% / 普通档 0%,真人执行质量近完美侧(踩雷 4-5/局 vs 普通 7.12 vs 完美 0)。样本 2 局,只作方向读数。
|
||||
2. **踩雷窗**:真人 4-5 雷/局(中位 4.5),落两档之间、偏普通侧——「难度由雷承担」刀位语义实机成立。
|
||||
3. **承伤健康窗**:通关局承伤 59 vs 血池 26+回复 54——险胜贴阈值,与 numfix §六「血池贴阈值」结构判读一致;死亡局 67 越池而死。数值包络工作正常,无「轻松活」信号。
|
||||
4. **k 系数窗:挂起(数据缺口,如实记录)**。§⑨ 定义 k=真人整关承伤中位 ÷ 模拟完美档承伤中位(预警 k<0.3),但模拟 runsum 锚 schema **无承伤字段**(`hero_dmg`=主角造成伤害,`taken` 未记录)——k 无法自现行锚计算。**联动件**:MC 新尺重锚时 runsum 增记 `taken` 字段,重锚后补算 k 终值。
|
||||
5. **局数**:有效 2 局 < §⑨ 下限 3 局。补局义务或收口裁定待用户(见带值呈报件五)。
|
||||
|
||||
## 四、结论与回流
|
||||
|
||||
- 迭代 9 内**无新增缺陷信号**(两有效局战斗/结算/奖励/商店/Boss/三关卡流程全通跑,零异常事件);用户另记的问题不属本迭代,未 chase。
|
||||
- 真人读数作带值拍板呈报的佐证输入(同日呈报);正式 k 终值与终判读挂 MC 新尺重锚后补算。
|
||||
- 现行锚换代义务维持:本报告不构成带判定(只测不判纪律),带值由用户裁定后方生效。
|
||||
@@ -1,139 +0,0 @@
|
||||
# 现行自动化测试·性能验证报告(2026-10-02)
|
||||
|
||||
任务书:`.zcode/plans/test-perf-audit-prompt-2026-10-02.md`(用户委托批——只测量与报告,零改码零改断言)。
|
||||
执行:独立会话,全程主工作区(master)、全程串行(任一时刻至多一个本会话 Godot 测试进程)。
|
||||
|
||||
## 0. 环境与测量前提
|
||||
|
||||
- 引擎 `Godot_v4.7.2-stable_win64_console.exe`;cwd=`D:\code\g-plan2`;素材不入 git 照旧。
|
||||
- **测量期间 master 被并行会话连续落地**(见 §6.3):批次归属两树态——
|
||||
- **T1 态 = 5e501a6**(18:04 前):#1 冒烟×4、#2 run_all×4、#3/#4/#5 探针批次;
|
||||
- **T2 态 = 725f0ac**(现行头):#5–#11 全部探针、#14–#16、#12/#13、新码复验均在 725f0ac。
|
||||
- 绿件在两态下读数一致(冒烟 60.55 vs 62.20s;run_all 12.16 vs 12.75s)——**落地零计时漂移**。
|
||||
- 并行会话的 Godot 进程(含一个 1GB 窗口化实例)与本项目测量同窗活跃,秒级件上的负载噪声见 §3 波动性。
|
||||
- 工作区在飞件(`game/core/battle_orchestrator.gd` 注释空白、`game/project.godot` stretch/aspect 行、未跟踪 `game/tests/probe14_test.gd`)**只标旗未触碰**。
|
||||
|
||||
## 1. 计时总表
|
||||
|
||||
协议:每件先跑 1 次记冷启动,随后正式 3 次取中位;外部 python 计时包装(`%TEMP%\perf-audit-20261002\perf_run.py`),零插桩。#12/#13 按任务书走小样本协议(单跑推算)。
|
||||
|
||||
| # | 测试 | 冷启动 | 正式 3 跑 | **中位** | 极差 | 极差% | 判读锚(exit) |
|
||||
|---|---|---:|---|---:|---:|---:|---|
|
||||
| 1 | 全量冒烟 `run_smoke` | 61.77 | 60.55 / 61.96 / 60.54 | **60.55s** | 1.42 | 2.3% | 0(636 项 0 失败×4) |
|
||||
| 2 | run_all 15 套件 | 12.36 | 12.00 / 12.45 / 12.16 | **12.16s** | 0.44 | 3.7% | 0(all green ×4) |
|
||||
| 3 | ui_probe | 1.82 | 1.82 / 2.05 / 2.69 | **2.05s** | 0.86 | **42.0%** ⚠ | 0 |
|
||||
| 4 | ui_input_probe | 2.40 | 2.44 / 2.55 / 2.52 | **2.52s** | 0.11 | 4.4% | 0 |
|
||||
| 5 | ui_click_probe | — | **双态全红,见 §6.1** | — | — | — | 旧态 exit=1 ×3;现行头 240s 看门狗击杀 ×4 |
|
||||
| 6 | fx_probe | 2.58 | 2.47 / 2.49 / 2.47 | **2.47s** | 0.02 | 0.8% | 0 |
|
||||
| 7 | ui_layout_probe | 1.75 | 1.73 / 1.74 / 1.75 | **1.74s** | 0.02 | 1.4% | 0 |
|
||||
| 8 | ui_tune_probe | 9.50 | 9.26 / 9.33 / 9.41 | **9.33s** | 0.15 | 1.6% | 0 |
|
||||
| 9 | shot_probe(窗口化) | 5.23 | 3.67 / 3.51 / 3.68 | **3.67s** | 0.17 | 4.5% | 0(冷启动+42%=首跑 shader 编译) |
|
||||
| 9a | └ shot_checker 断言 | 1.26 | 0.86 / 0.89 / 0.88 | **0.88s** | 0.02 | 2.7% | 0(机检面全过) |
|
||||
| 10 | fx_shot_probe(窗口化) | 6.93 | 6.89 / 6.86 / 6.94 | **6.89s** | 0.08 | 1.1% | 0 |
|
||||
| 11 | board_shot_probe(窗口化) | 3.36 | 3.28 / 3.30 / 3.44 | **3.30s** | 0.16 | 4.8% | 0 |
|
||||
| 12 | MC 蒙特卡洛(小样本) | — | N=50×2 策略=100 局 **486.0s** | **4.86s/局** | — | — | 0(100 RUNSUM) |
|
||||
| 13 | balance_verifier(小样本) | — | --quick 36 局 **173.7s** | **4.83s/局** | — | — | 0 |
|
||||
| 14a | gdd_lint | 0.53 | 0.31 / 0.31 / 0.31 | **0.31s** | 0.00 | 1.3% | **1 ×4(8/8 文件不通过,见 §6.2)** |
|
||||
| 14b | doc_link_audit | 0.98 | 0.41 / 0.41 / 0.41 | **0.41s** | 0.00 | 1.0% | 0 |
|
||||
| 14c | doc_term_audit | 0.41 | 0.38 / 0.38 / 0.39 | **0.38s** | 0.01 | 1.6% | 0 |
|
||||
| 15 | repo_structure_audit(熵增闸) | 1.10 | 1.07 / 1.04 / 1.06 | **1.06s** | 0.03 | 2.4% | 0 |
|
||||
| 16 | static_scan.sh | 0.84 | 0.75 / 0.64 / 0.76 | **0.75s** | 0.12 | **16.4%** ⚠ | 0(S1–S8 可执行子集全过) |
|
||||
|
||||
与任务书「已知量级」对照:冒烟 ~65s→实测一致;run_all「数十秒级」→实测 12s 更快;窗口化三件「十秒级」→实测 3.3–6.9s 更快;MC「预计最长」→证实(推算满档 ≈65 分钟,见下)。
|
||||
|
||||
### #12/#13 满档推算
|
||||
|
||||
- **MC**(`-- 50 80000 both min`,100 局实测):normal 档 ≈**1.21s/局**(前 50 局 ~60s),perfect 档 ≈**8.47s/局**(后 50 局 ~423s,≈7 倍——perfect 选路/战斗更充分)。现行 80000 代链各档 400 局满档推算:normal ≈8.1 分钟 + perfect ≈56.5 分钟 ≈ **65 分钟/全档**;单策略 400 局 = 8 / 56 分钟。
|
||||
- **verifier**(`--quick` 36 局 = (8 冒险+10 战役)×2 画像,173.7s):**4.83s/局**。满档 na=60/k=60 = (60+60)×2 = 240 局 ≈ **19.3 分钟**。
|
||||
|
||||
## 2. 冒烟分段耗时与 180s 闸余量
|
||||
|
||||
方法注记:管道模式下 GDScript print 为块缓冲(全量退出时才刷,逐行时戳全聚在 60.445s)——段级改用 **`--verbose` 强制行刷**法 2 跑(61.0 / 63.6s,较常态中位膨胀 ≤5%,占比可信);winpty 伪终端在本环境断言失败不可用(备选已试、弃)。verbose 双跑 636/0 全绿、零 SCRIPT ERROR。
|
||||
|
||||
**180s 硬闸(ADR-0004,run_smoke.py 外部超时)余量:180 − 60.55 = 119.45s(余 66.9%,冒烟仅用闸的 33.1%)**。分段合计 61.7s ≈ 墙钟,无未计入空洞。verbose 双跑段级极差全部 <10%(最大 5.7%),段占比稳定。
|
||||
|
||||
### 最慢 Top10 段(两跑中位;各自验证内容)
|
||||
|
||||
| # | 段(smoke_all.gd 行号) | 中位 | 占比 | 验证什么 |
|
||||
|---|---|---:|---:|---|
|
||||
| 1 | 冒险结构验收(:277) | **21.30s** | 34.5% | 自动玩家三关完整连探:三层奖励框架行值单点/大奖励兑付/摘要五件事/账本封闭——全冒烟最重的端到端段 |
|
||||
| 2 | 关卡节点地图·分支节点图 L2(:2818) | **18.58s** | 30.1% | 图合法性校验(正反例)+ 幽暗地域图版行进 |
|
||||
| 3 | SaveManager 存档读写/迁移/兜底(:3684) | **9.69s** | 15.7% | 存档序列化全链:写盘/读回/版本迁移/兜底/隔离档——纯逻辑段里唯一的重 IO 段 |
|
||||
| 4 | 关卡节点地图·线性推进(:737) | 3.56s | 5.8% | L1 全链自动推进(战×2→道具→战×2→恢复→Boss) |
|
||||
| 5 | 遭遇随机化(:1764) | 2.81s | 4.6% | unit_count 区间骰/encounter 流/可回放——大量掷点重放循环 |
|
||||
| 6 | 商店房三收口(:3201) | 1.00s | 1.6% | 商店经济链(现价/加算区/余额不足拒/离开回选路/收束清零) |
|
||||
| 7 | 护甲等级掷点(:851) | 0.77s | 1.2% | 查档纯函数+暴击+伤害下限+AC12 分布(批掷点)+棋盘必中 |
|
||||
| 8 | 行动经济·轮内刷新(:1396) | 0.63s | 1.0% | 方案 A:Active 相位当场换图继续挖 |
|
||||
| 9 | 敌人技能池(:2439) | 0.46s | 0.7% | 开轮摇号/冷却保底两闸/三乘法链/独立子流 |
|
||||
| 10 | 棋盘生成(:1035) | 0.32s | 0.5% | 棋盘生成公式面 |
|
||||
|
||||
**集中度:Top3 段 = 49.6s,占冒烟 80.4%;Top6 = 93.3%;其余 37 段合计 ~4.2s。** 冒烟耗时本质=三关完整冒险×2 条路径(结构验收+L2 图版)+存档 IO,其余全是亚秒级。
|
||||
|
||||
<details><summary>全部 43 段中位明细(秒)</summary>
|
||||
|
||||
21.30 冒险结构验收|18.58 分支节点图 L2|9.69 SaveManager|3.56 线性推进|2.81 遭遇随机化|1.00 商店房三收口|0.77 护甲等级掷点|0.63 轮内刷新|0.46 敌人技能池|0.32 棋盘生成|0.24 清图奖励双份兑付|0.22 棋盘布局格边长公式|0.20 轮内刷新 provenance 守卫|0.17 GP escrow 隔离|0.16 GP 冒险钱包到账|0.16 格面资源资格面|0.16 插旗不可逆四情况|0.14 冒险结构 API 闸|0.12 完整战斗回放 L2 熊地精|0.11 极性路由|0.11 攻击类型×护甲克制|0.11 完整战斗回放 L1 地精|0.10 负向字典逐型直验|0.08 地形变异布置段 L2|0.08 主角乘区接线|0.08 地形变异布置段 L1|0.07 fresh 池攻击链|0.06 元进度收束入账与工坊|0.05 五段全序+行型封闭|0.05 旗动作耗尽末点 AP|0.03 PlaytestLogger|0.02 元进度注入可见与白板|0.02 战斗日志视图行格式化|0.01 元进度几何定价与购买|<0.01×9:伤害量值区间/DifficultyTable/格面资源九型/地形变异框架面/格面资源身份面/冒险表/MetaTable 结构/换装护栏/商店房图不变式
|
||||
|
||||
</details>
|
||||
|
||||
## 3. 波动性标注(极差 >10% 的项)
|
||||
|
||||
| 项 | 极差% | 绝对幅度 | 判读 |
|
||||
|---|---:|---|---|
|
||||
| ui_probe | 42.0% | 0.86s(1.82→2.69) | 2 秒级件上的绝对小值;测量窗内并行会话 Godot 进程活跃(其 1GB 窗口化实例同机)所致负载噪声,非测试自身不稳 |
|
||||
| static_scan.sh | 16.4% | 0.12s(0.64→0.76) | 同上,亚秒级件 + 内部多路 grep 子进程对负载敏感 |
|
||||
| shot_probe 冷启动 | +42% | 5.23 vs 中位 3.67 | 窗口化首跑 GPU shader 编译,单次成本 ~1.6s,后续稳定 |
|
||||
|
||||
其余全部件极差 <5%(多数 <3%),段级极差全部 <10%——**环境噪声可控,全部中位读数可作分级依据**。MC/verifier 为小样本单跑协议,无极差数据(协议如此)。
|
||||
|
||||
## 4. 分级建议(数据支撑,对照 06 在册「呈现层测试分级与 UI 驱动夹具周期化」条口径)
|
||||
|
||||
06 条现行口径(2026-09-26 用户裁):**每次变更必测=run_smoke 全量 + ui_input_probe(触碰 presentation/ 加 ui_click_probe + ui_layout_probe);周期测=B 档视口截图/C 档黄金图/真人目检/MC 大扫描**。实测数据对该口径的支撑与加码:
|
||||
|
||||
**A. 每次变更必跑池(headless 全套 ≈87s,单机可承受)**
|
||||
| 件 | 中位 | 依据 |
|
||||
|---|---:|---|
|
||||
| run_smoke 全量 | 60.6s | 闸余量 119s;耗时本质=Top3 段(三关冒险端到端+存档 IO),裁剪空间小、回归价值最高 |
|
||||
| run_all 15 套件 | 12.2s | 便宜且覆盖公式/状态机/契约/致命类协议 |
|
||||
| ui_input_probe | 2.5s | 06 条点名必跑,实测仅 2.5s,维持 |
|
||||
| ui_probe / ui_layout_probe / fx_probe | 1.7–2.5s | 秒级件,触碰 presentation/ 时顺手加跑无负担(06 口径内扩展,建议追认) |
|
||||
|
||||
**B. 周期池(维持 06 口径,数据加码)**
|
||||
| 件 | 中位/推算 | 依据 |
|
||||
|---|---:|---|
|
||||
| ui_tune_probe | 9.3s | 探针里最贵(调整板/批量模拟通路),建议触碰调参/模拟通路时跑,否则归周期池尾 |
|
||||
| 窗口化三件+shot_checker | 3.3–6.9s+0.9s | 单件不贵但需真渲染+桌面弹窗在场,06 裁 B 档=周期(样张/表现批收口窗)——数据支持维持(另见冷启动 shader 编译 +1.6s) |
|
||||
| MC 大扫描 | **满档 ≈65 分钟**(perfect 档 8.5s/局 7 倍于 normal) | 06 已归周期,数据强支持;如需快速回归可用 50 局/策略小样本 ≈8 分钟 |
|
||||
| verifier 满档 | **≈19 分钟** | 周期跑;`--quick` 2.9 分钟可作调参会话随跑档 |
|
||||
| ui_click_probe | — | **修复并重测后再定级**(现状见 §6.1:载体解析错误损坏;修复前旧态常态打满 20000 帧 budget=141s,与其注释自述「常态通关远低于此」相悖——即使修复,141s 级也建议从「触碰 presentation 必跑」降到周期/发布前,待绿态实测重裁) |
|
||||
|
||||
**C. 提交钩子级(全件 <1.2s,零负担)**:doc_link_audit 0.41s / doc_term_audit 0.38s / repo_structure_audit 1.06s / static_scan 0.75s——适合挂 pre-commit/pre-push;**gdd_lint(0.31s)挂钩前须先清 §6.2 的 8/8 红账,否则常红无用**。
|
||||
|
||||
## 5. 交付与复现
|
||||
|
||||
- 本报告零改码达成(计时=外部包装,分段=--verbose 行刷,MC/verifier=文件头用法小样本)。
|
||||
- 原始日志与逐跑记录:`%TEMP%\perf-audit-20261002\`(results.jsonl + 逐件逐跑 .log,43 段解析在 segments_verbose.json)——系统临时目录,不属仓库。
|
||||
- verifier 小样本在 design/qa 落过 `balance-verifier-20261002-192230.{md,jsonl}` 两件生成物,计时提取后按中间产物规则已删除(可复现)。
|
||||
- 复现命令全集(cwd=仓库根):任务书 §三 表格所列即全部;补充两条——分段计时 `godot --headless --verbose --path game --script res://smoke/smoke_all.gd`;MC 小样本 `godot --headless --path game --script res://smoke/adventure_monte_carlo.gd -- 50 80000 both min`。
|
||||
|
||||
## 6. 异常与偏差记录(照实记录,未当场改码)
|
||||
|
||||
### 6.1 ui_click_probe 双态全红(本批最重要发现)
|
||||
|
||||
- **T1 态(5e501a6)**:3 跑 141.0–141.5s(极差 0.3%)exit=1。现象=`循环退出(done=false budget=0)问题=0`——20000 帧 budget 打满未走完全流程,内部零断言失败;伴随 TypedArray push_back 错误刷屏 ~1 万行。**并行会话提交 cd1ed95 的提交信息自证:该 budget 耗尽+typed-array 错误经纯 master 对照=1:1 同源(master 既有,归 T17 在飞批)**。
|
||||
- **T2 态(b0c5d7e…725f0ac,现行头)**:**载体直接损坏**——`ui_click_probe.gd:343` 解析错误 `Expected statement, found "Indent"`(343–344 行为悬挂代码片段:一行注释后残留 print 尾部实参),脚本加载失败→探针场景无逻辑→**永不 quit、零输出**,4 跑全部 240s 看门狗击杀(wall 241.7s 无计时意义)。值得注意:cd1ed95 自述修复过一处解冲突解析错误,但 343 处仍残留一处。
|
||||
- 复现:`godot --headless --path game res://smoke/ui_click_probe.tscn`(现行头必然零输出挂死——**探针无自退出护栏,外部超时是唯一防线,正好坐实 ADR-0004 防挂死条款的必要性**)。
|
||||
- 关联:同窗 ui_probe 判别实验 2.06s 正常(排除环境系统性故障);smoke/run_all 不经此载体故不受扰。
|
||||
|
||||
### 6.2 gdd_lint 4 跑全 exit=1:8/8 GDD 文件不通过
|
||||
|
||||
规则命中含表格占比(00 号 37%/02 号 84%)、R3 正文修订注记三条、R4 缺「版本历史」节等(07 号亦红)。量级 0.31s 不是问题,**红账本身是问题**——修复责任不在本测量批,建议归并行文档批/T17 在飞批清账后重跑。复现:`python tools/gdd_lint.py`。
|
||||
|
||||
### 6.3 测量中途 master 四度落地(并行会话)
|
||||
|
||||
18:04 b0c5d7e(演播后排窗修复+t17_defer_probe)→ 18:23 ee00810 → 18:31/18:32 时间戳两笔 → 18:51 c2e4be3/725f0ac(真时间戳)。本批以「两树态归属」方式消化(§0),绿件跨态读数一致(冒烟 60.55→62.20s、run_all 12.16→12.75s,均 <4%)——**T17 演播后排窗批对两闸计时与正确性零漂移**。
|
||||
|
||||
### 6.4 环境注记
|
||||
|
||||
- 并行会话 Godot 进程同窗活跃(含 18:11 起一个 1GB 窗口化实例长期闲置):本会话侧保持串行铁律不破;秒级件的负载噪声已在 §3 标注。
|
||||
- 管道 stdout 块缓冲 + winpty 不可用 → 段级耗时走 --verbose 法(§2,膨胀 ≤5% 已量化)。
|
||||
- 冷启动普遍便宜(除窗口化 shader 编译),「预热 1 次」协议对绝大多数件影响 <5%。
|
||||
@@ -1,61 +0,0 @@
|
||||
# ui-struct-probe mini-loop · 出口报告(2026-10-05)
|
||||
|
||||
任务书:`.zcode/plans/ui-struct-probe-miniloop-plan-2026-10-05.md`(goal 开工令=/goal 完成 plan 全部工作——按 iter13 先例「本 prompt 即批准」,**四拍板点 P1-P4 全取推荐案**,代裁追认单见 §三)。
|
||||
|
||||
## 一、交付对账(计划书 T0-T6)
|
||||
|
||||
| 步骤 | 交付 | 状态 |
|
||||
|---|---|---|
|
||||
| T0 探针骨架 | `game/smoke/ui_struct_probe.gd/.tscn`——逐屏实例化 10 屏(start/settings/camp/confirm/debug/level_map/battle_hud/battle_end/bonus_pick/shop):菜单簇真驱动(组合根真实路径开关)+冒险簇真流推进(开冒险→地图选路态→选战斗节点→战斗 HUD)+兑付屏真实 open 面合成最小数据 | ✅ |
|
||||
| T1 断言族 | ①overlap 同屏操作钮两两不相交 ②equal_width 同父容器按钮等宽(差>1px 红)③offscreen 完全出视口红 ④zero_size 红 ⑤start 专项双列不相交(start_box/start_right 命名锚);ScrollContainer 内容系可滚动设计内豁免;WL 豁免表机制(现零豁免) | ✅ |
|
||||
| T2 叠放修复 | `ui_assembler.gd` 右列挂回 HBox 第二列(原 `pad.add_child(right)` 误挂 MarginContainer 与左列同矩形叠放——M2 双列失效根因);装配件命名 start_box/start_right 为探针锚 | ✅ |
|
||||
| T3 按钮宽度纪律 | `ui_kit.button(text, min_w=216)`——最小宽度基准+SIZE_FILL(VBox 列内拉满列宽等宽;HBox 行内不抢余宽);**行板/角标/图标钮豁免 9 处**(camp 5+shop 2+ap_bar 2+调试角标/诊断转储 2) | ✅ |
|
||||
| T4 red-green 循环 | 六轮收敛(实录 §二),终局 **PASS 全屏结构断言零红**;负向验证=临时还原叠放 bug 探针必红(§四) | ✅ |
|
||||
| T5 闸收口 | probe_gate 全绿(含新段)+冒烟 772/0+run_all 14/15(唯一红=基线在册)+doc 三闸零新增(§五) | ✅ |
|
||||
| T6 报告与改排 | 本报告+07 §⑪改排注记/§⑮分工注记/新增 §⑯复验项+台账 360 | ✅ |
|
||||
|
||||
## 二、red-green 循环实录(六轮)
|
||||
|
||||
1. **R1 解析错**:GDScript Variant 元素类型推断两处(`var k := b.get_parent()`/`var gr := c.get_global_rect()`)——显式类型标注修复。
|
||||
2. **R2 全屏 (0,0) 假红**:modal 屏(settings/camp/confirm/debug)首次 visible 后容器排序不自动传播——size 已算而 position 停 0(4.7 行为,加帧无效实证)。修=采样前对屏根子树全部 Container 强制 `queue_sort()`。
|
||||
3. **R3 camp offscreen 群**:ScrollContainer 内容坐标系超出=可滚动设计内——offscreen/zero_size 断言豁免 scroll 子树(`_in_scroll`)。
|
||||
4. **R4 debug 出屏两件**:考证=`_sim_btn`/分隔条在浮窗 ScrollContainer 内容区(滚动超出合法),浮窗固定骨架(关闭钮 y=690)不出屏——随 R3 豁免消灯,非缺陷。
|
||||
5. **R5 camp 底条爆宽 1616px(真缺陷)**:T3 首版 EXPAND_FILL 把营地行板钮拉到 435-622 宽→行板 524→横向禁滚 ScrollContainer 传播内容 min→营地面板撑到 1632px 全线出屏。修=工厂改 SIZE_FILL(EXPAND_FILL 会把行撑爆——注释在案)+**行板紧凑钮 9 处豁免 min 0**。
|
||||
6. **R6 全绿**:PASS 全屏结构断言零红;battle_hud 驱动修复(入口/兑付停点走 `level_screen.open_choices` 直传不写 `_pending_candidates`——候选改从 `_cand_ids × runner.node_id_of(nodes())` 取)。
|
||||
|
||||
**抓到的真缺陷两件**:M2 双列叠放(用户实机目检发现+本批修复+探针回归闸);营地屏 1632px 爆宽(探针首次发现,T3 连带破坏,随豁免消解)。**机检盲区结论**:原 `ui_layout_probe` 为 53 行纯打印 dump 零断言,历次「layout 全绿」仅表示未崩——结构面此前无任何机检覆盖。
|
||||
|
||||
## 三、代裁追认单(goal 开工令按推荐案执行,4 项)
|
||||
|
||||
| # | 拍板点 | 执行形态 |
|
||||
|---|---|---|
|
||||
| P1 | 按钮宽度形态 | 推荐案落地=同容器等宽+min 基准 216+SIZE_FILL;行板/角标/图标钮豁免(计划书 T3 豁免清单条款) |
|
||||
| P2 | 探针载体 | 新建 `ui_struct_probe`;旧 `ui_layout_probe` 保留诊断打印用途不改名不退役 |
|
||||
| P3 | 编号归属 | 独立 mini-loop(bug=mini-loop 惯例),roadmap 不占迭代卡;台账号 360 |
|
||||
| P4 | 与渲染像素五闸关系 | 本批零触碰像素闸;五闸补跑仍挂 07⑮ 表现批周期闸;07⑮ 补分工注记(结构探针互补不替代) |
|
||||
|
||||
## 四、断言有效性负向验证
|
||||
|
||||
临时还原 T2(右列改回误挂 pad)复跑探针——**立刻红**:`[start][columns] 左列 (56,56)+(937,688) 与右列同矩形相交(双列叠放回归——M2 缺陷闸)`,随即还原复绿。探针非恒真,缺陷闸成立。
|
||||
|
||||
## 五、闸读数(worktree ui-struct-probe-20261005,HEAD 8944dca 基线)
|
||||
|
||||
| 闸 | 读数 | 判读 |
|
||||
|---|---|---|
|
||||
| ui_struct_probe | PASS 全屏结构断言零红 | 本批新增,已注册 probe_gate 默认必跑段 |
|
||||
| probe_gate --click | 全绿(ui_input 十六断言+ui_struct+click 问题=0+残留 0) | ✅ |
|
||||
| 冒烟 | **772 项 0 失败**(与基线 772 同——本批零冒烟断言增量) | ✅ |
|
||||
| run_all | 14/15 绿;唯一 FAIL=`reward_overlay_test`(master 既有在册红——秘宝批/技能池批台账同款,非本批新增) | ✅ |
|
||||
| doc 死链 | 4=基线 4(06×2+奇物.md×2——本批未触碰文件)零新增 | ✅ |
|
||||
| doc 术语 | 5=基线 5(主区对照)零新增 | ✅ |
|
||||
| gdd_lint | 53 vs 基线 50:+3 全为本批 07 登记注记(与历史批 §⑫-⑮ 登记注记同款形态);07「表格占比 8%」FAIL=基线既有(主区对照同败) | ✅ |
|
||||
| 负向验证 | 叠放还原→探针红→还原→绿 | ✅ |
|
||||
|
||||
## 六、遗留与移交
|
||||
|
||||
1. **主区合并后复跑**:merge 后主区冒烟+probe_gate 复跑(合并惯例)。
|
||||
2. **实机复验(07⑯)**:标题屏双列+按钮等宽+营地不出屏,约 2 分钟,归用户。
|
||||
3. **07⑪ 统一验证窗口仍开**:贫矿脉六项体感目检待用户时点。
|
||||
4. **渲染像素五闸**(golden_compare/shot_probe/fx_probe/ui_layout_probe/board_shot)补跑义务不变,挂 07⑮ 表现批周期闸。
|
||||
5. **宽度基准 216 为 provisional**:菜单/弹窗/结算操作钮现值;若其他屏出现紧凑域挤压,按「豁免传 0」扩展,禁回调全局基准。
|
||||
6. 探针采样机制注记:modal 屏首次 visible 后需强制 queue_sort(Godot 4.7 容器排序不自动传播)——后继新探针如采 modal 屏矩形须复用 `_force_layout` 手法(坑在册)。
|
||||
@@ -1,54 +0,0 @@
|
||||
# 中间产物死亡清单(2026-10-02 建单——A/B 桶与表 C 已执行,本单仅存未清项)
|
||||
|
||||
> **清单状态:2026-10-02 用户令挂起**——其他工作完成后用户回来再处理剩余项;挂起期间本单不再有执行批。
|
||||
> 执行状态:①A1/A2/B1/B2 四桶 2026-10-02 执行完毕(git rm 83 件+主工作区直删未跟踪 10 件,指路句改写 37 处;明细归 git a6833b6/合并 5b3f345 与台账 305/308);②表 C·sim-data 2026-10-02 用户授权整批删——白名单外 100 件 git rm(白名单 17 件留:README/.gitignore/_snap/analyze.py/growth_model.py/iteration_log/三设计 md/现行 MC 锚 8 件);③同日 .gitignore 裁决落文——artwork/ 整目录不入库(取消 md 例外,原两跟踪件解跟踪磁盘保留)、.qoder/ 与 .workbuddy/ 入忽略(合并见台账尾);④**artwork/ 全目录内容 2026-10-02 用户裁永久保留**——美术素材工作区只留磁盘不入 git,.gitignore `artwork/` 强制永不提交,无删除时机(原「ui-redesign 点名 v2 后死」一并撤销)。已删条目不再列于本单。
|
||||
> 执行依据:doc-conventions §11「文档生命周期:吸收即死」(2026-10-01 用户立规)。
|
||||
> ⑤**2026-10-05 退役批(用户令「12 份任务本体已完成——都删除」)**:git rm 12 件=上二表四行(美术圣经v3.5任务书/perfect-l1/秘宝提案/A3提案/playnote机制提案)+七件 2026-10-02 后新建且已落籍的中间文档(视野迷雾/GP商店房/魔法道具同调/双层BD/全局作用域变异五任务书+挖掘风险不等式方案+art-bible-ux-review);指路句改写 12 文件(roadmap 五处/06/行动经济/entities 三处/art-bible 两处/地形变异/秘宝 两处/冒险结构/关卡节点地图/元进度/clear_dominance_audit.py+reward_expectation.gd 注释核正);秘宝提案八拍板、A3 否决、playnote 题二裁决均以 git 号留痕(57da58c/a404a65/12e934b)。引用面口径:**活引用阻塞面 = design/gdd + design/art + design/dev + design/registry + roadmap.md + tools/**(死链闸扫描域);active.md 台账引用不阻塞。
|
||||
> 本单只登记**未删项**,每项标明**未删原因**与**待用户动作**。本清单自身亦为中间文档:全部桶收口后随批自删。
|
||||
|
||||
## 一、挂债项(迭代 9 在飞域——出口批顺带处置,现在无需任何动作)
|
||||
|
||||
| 文件 | 原桶 | 未删原因 | 待用户动作 |
|
||||
|---|---|---|---|
|
||||
| 任务书-美术圣经v3.5冻结与落码-2026-09-29.md(design/research/) | A2 | roadmap 迭代 9 行指路(在飞返工会话域,改指路会撞在飞批) | ✅ 已执行(2026-10-05 退役批:git rm+roadmap 指路改 git 710f9b7) |
|
||||
| perfect-l1-lever-proposal-2026-09-29.md(design/research/) | A2 | 06「战斗阶段数值问题」在飞条目指路 | ✅ 已执行(2026-10-05 退役批 git rm——被带换代四带甲案取代,未批准未执行) |
|
||||
| m3-iter5-lever-scan-2026-09-28.md(design/qa/) | B2 | 06 在飞条目指路(证据锚) | 同上 |
|
||||
| m3-iter5-rework-readings-2026-09-29.md(design/qa/) | B2 | 06 在飞条目指路(读数与归因锚) | 同上 |
|
||||
| m3-iter9-9a-checklist / t8-rulings / t17-fullflow-checklist / t18-07-audit(design/qa/ 四件) | B3 | 迭代 9 在飞会话域 | 无——T20 出口批按同规则处置 |
|
||||
| .zcode/inflight-main-gd-noise-20260929.patch、.zcode/inflight-merge-prep-20261001/ | 表 D | 迭代 9 返工会话域 | 无——其收口批处置 |
|
||||
| game/smoke 四个 .uid 未跟踪件、game/tests/probe14_test.gd | 表 D | 在飞工作区产物 | 无——随在飞批收口 |
|
||||
|
||||
## 二、留活项(正主/底稿/依据——不删;标出各自的"死时机")
|
||||
|
||||
| 文件 | 留存理由 | 死时机 / 待用户动作 |
|
||||
|---|---|---|
|
||||
| **alpha-acceptance-battle-screen.md**(design/research/,2026-10-02 用户裁「保」自 A1 移入) | **Alpha 验收批销项底单**(循环 1 成文仍承重;07 清单只覆盖其 E 节真人面) | Alpha 验收批跑完后**裁:死或转正归 design/dev**——待 Alpha 后用户裁 |
|
||||
| prototype-report-minesweeper-battle-concept.md | 概念原型 v3 PROCEED 决策记录(项目原点档案) | 原单标「留否由用户裁」——**维持留活,若要删随时说一声** |
|
||||
| 优化方案.md(sim-data/,白名单内) | PackageB 提案母稿——表改项已随 54f2da3 落籍;结构改候选未逐项验吸收(删前核 2026-10-02:暂留) | 后续数值批复核结构改候选去留后裁 |
|
||||
| **artwork/ 整目录**(mockups/、qa-screens×2、remote-gen-2026-09-26、ui-redesign-2026-09-29 等全部产物,磁盘 89MB) | 2026-10-02 用户裁**永久保留**——美术素材工作区只留磁盘不入 git,无删除时机(原「ui-redesign 点名 v2 后死」一并撤销) | 无任何动作(.gitignore `artwork/` 强制永不提交,全会话经 CLAUDE.md Project Layout 获知此裁) |
|
||||
| proposal-magic-item-attunement-2026-09-22.md | 同调实施批设计权威底稿(06/registry/五文档引用) | ✅ 已执行(2026-10-05 退役批:git rm+五正主引用改 git 57da58c) |
|
||||
| proposal-reward-cell-differentiation-2026-09-17.md | Alpha 差异化批调研底座(06 指路) | ✅ 已执行(2026-10-05 退役批 git rm——差异化批 2026-10-04 用户否决,死条件以否决收口成就;reward_expectation.gd 旧基准注释顺手核正) |
|
||||
| proposal-playnote-mechanisms-2026-09-30.md | 06 指路留痕;题一重写未决 | ✅ 已执行(2026-10-05 退役批 git rm——题一迷雾已落籍、题二 09-30 已裁不动;「标雷激励待新方向」随用户删除令作放弃,git 12e934b 留痕) |
|
||||
| playnote.md | 试玩反馈正主 | 无(正主不死于本单) |
|
||||
| roguelike-difficulty-benchmark-2026-10-01.md | 难度目标外部类型基准(带值拍板依据) | 新带值拍板落籍后可议死 |
|
||||
| board-tile-vocab-plan-a-2026-09-26.md | 高墙瓦片现行规格(art-bible+两 render 脚本+remote-gen-prompts 活引用) | 无(活规格) |
|
||||
| 画法参数四源对照表-2026-09-26.md | render 脚本画法参数依据(活工具文档) | 无(活工具文档) |
|
||||
| m1/m2-exit-gate-checklist-2026-09-28.md | roadmap 指路 | M-3 关闭批一并处置(默认迁后删)——现在无需动作 |
|
||||
| numfix-newruler-readings-2026-10-01.md | **现行读数**——新带值拍板+迭代 9 出口直接依据(五处指路) | 新带值拍板落籍后可议死 |
|
||||
| m3-iter10-clear-rate-readings-2026-10-01.md | 迭代 10 MC 四代锚现行判读依据 | MC 锚换代后可议死 |
|
||||
|
||||
## 三、待勾选项
|
||||
|
||||
| 范围 | 内容 | 未删原因 | 待用户动作 |
|
||||
|---|---|---|---|
|
||||
| 本清单自身 | — | 桶未收口(在飞四件挂债待迭代 9 出口批) | **清单挂起**——用户其他工作完成后回来处理;届时剩余项收口后随批自删 |
|
||||
|
||||
## 已裁保留项(用户已表态,不再需要动作)
|
||||
|
||||
| 项 | 裁决 |
|
||||
|---|---|
|
||||
| filter-repo 历史清理批(案乙)计划书 `.zcode/plans/filter-repo-history-cleanup-plan-2026-10-02.md` | 2026-10-02 用户裁**先保留**——计划书留存待审,硬前置不变(本单收口+迭代 9 出口先行;执行时全部 worktree/会话须静默,hash 改写后旧 clone 全失效) |
|
||||
|
||||
## 执行口径(后续批沿用)
|
||||
|
||||
独立 worktree 一次批执行:git rm 勾选项 → 指路句改写(06/roadmap 在飞域留合并点)→ doc 三闸+熵增闸 → active.md 台账(追加前查撞号)→ merge --no-ff 合回。
|
||||
Reference in new issue
Block a user