Files
gplan-2/game
DKChan 8faf176378 merge(迭代37): 四卡合回——行为缺陷定点修+main/boardview/runner 三处判离拆件+断点字段登记单源
四卡:①d1–d19 缺陷定点修(单据归属 is_same/蓄力档分档/庆祝句柄 kill/互斥四口/模态 fail-fast/按 id 解析/数值入表/公式单点/信号契约成文)②main 组合根判离(投影/解析回调/文案三族出根+装配与流程承接四件,1506→946 行)③boardview 拆件(TilePalette/HeroSprite 出根,1219→937 行,棋盘 golden 逐像素 0.00%)④runner 拆件与断点 schema 单点(CurioDeck/ShopSession 两件出根+BREAKPOINT_FIELDS 27 键登记单源驱动写侧与两处读侧,续玩体 108 行拆六小函数)

验收凭据:全量档 15 闸全绿(回执 commit eb8d6073,domain=full,dirty_game=false,含 11 回放确定性对拍对新锚逐位全同);独立验收审计判定「可以合并」(reports/iter37-验收审计-四卡-2026-10-25.md,八项 F 处置见实现报告附录 D);卡④ 撤销证明三条 P-A/P-B/P-C 齐(含审计实跑复现 P-B);卡②③④ 等价性另有双树原始面实测(runsum 逐字节同、JSONL 行数全同、17222 行差异全为卡① d12 新增键 target_id、零值差)

域判定依据(合回闸核):本批 diff 混触 game/ 与 design/·根流程清单·reports/,故按 AGENTS 红线取全量档两域全跑回执
留痕:两处越批性质禁写面经用户当场明示授权(待办清单.md P0 条目登记与更正;生涯.md 一处行号同步);11 号对拍锚按用户裁「批准本批重锚」重制(bd71917a);新增 P0 待办「AdventureRunner 职责真拆分」登记三宿主共 25 条 S13 计数迎合装置与五件待裁缺口
遗留(归文档批/用户发令,非本批缺陷):roadmap 迭代 37 行换代与「当前位」推进、反哺点十条落文、reports/ 七件退役、实机目检七条(清单在实现报告 §5)、P0 拆分卡写卡
2026-10-25 21:50:43 +08:00
..
refactor(迭代35卡②T2·二口+T3 S1/S2/S6/S8): 消费侧切源落定+断言面换代主体——① level_runner 图源换代(_generator 取代模板解析,_assign_generated_graph 读 level_gen_params 参数档产图并过 LevelTable.validate_graph,违规起关拒绝零兜底)+_entry_nodes 多入口首跳+_node_id 句柄单空间+enc node_depth 取节点 depth 值;② adventure_runner/main/save_manager 模板链路退役(first_script 参数与 template_pick 计算全删,断点 template_pick 键换生成图代差标记键 graph_gen_v2,缺键旧断点 resume 显式拒绝禁静默回放);③ level.tres 三行 templates 键清出(15 张模板数据出表,行级字段留,表尾注释改指参数档+生成器);④ sim/probe 随动(run_level/run_adventure 尾参退役、MC 出数字段 level_templates→level_maps 值=关卡#主种子、探针注释性质化、boss_depth 取节点 depth 键);⑤ 断言面换代:node_map_templates 宿主整段重写为生成图确定性套(纯函数复现/换种子变图/零计数器号位依赖/单一图源/种子 42 两开局同图/断点重生成同图/缺代差键拒绝/表无 templates/收束置位三条保留),breakpoint_resume 新增 P7 六断言(快照无已抽模板键、代差标记、停点句柄与已到序往返、续玩同图、旧断点拒绝、同种子重开局同图),S8 单测随动 first_script 键清退+断点夹具换代+meta 参数面 extra 键样换 treasure_unlocked(语义保持),S2 生成图取数面三宿主替换(level_active_nodes 走参数档+种子 42,消费点深度键换 depth,round_flow 死件 _boss_depth 随删),adventure_feats 覆盖义务段改真实解析链判据(敌侧落带≥请求深度+板侧命中+非空扫描面)、奖励节点段换「图侧含件+真实选路点选呈停兑付」双断言(旧单链必经形状前提随模板消亡,非放宽:经停即呈候选由真实 pick_next_node 入口证明)、商店余额段按每关恰一店投影改三关读数
2026-10-24 18:59:57 +08:00

Dungeon Sweeper · 垂直切片(v2:第一关完整关卡)

// VERTICAL SLICE - NOT FOR PRODUCTION // Validation Question(v2,2026-09-11):线性第一关(战×2→道具→战×2→恢复→Boss)能否承载 // "数值提升→通关期望改善"的 Roguelike 元进度验证——基线属性应该难到打不过、天赋数值提升把 // 通关期望拉回可玩带,且这条曲线能用数值调整板 + 批量模拟测量出来 // (通关攻击期望 / 败北血量数学期望);v1 的单战斗循环问题(逐行归因 P2 / Core headless 可跑) // 已于 2026-09-10 验证并保持回归(初版断言面 46 项,后并迁系统测试宿主,沿革查 git log)。 // Date: 2026-09-10(v1)· 2026-09-11(v2 关卡扩展)· 引擎 Godot 4.7.2 · 本目录仅作设计验证参考,禁止 import 进生产代码

运行

  1. 用 Godot 4.7.2 打开本目录(含 project.godot 的文件夹)
  2. 按 F5 运行(主场景 presentation/main.tscn)
  3. 主入口:▶ 开始冒险(三关连探:地精洞窟 → 幽暗地域 → 灰矮人矿城)——一条命走完三关(冒险结构实现批 2026-09-21:生命/GP/加算区跨关同账、非末关通关发大奖励〔上限提升+血回满+钥石〕、任意战斗倒下冒险终、结算屏出冒险摘要五件事;选路停点可「放弃冒险」(同失败结算,2026-09-21 用户拍板补入口));首关节点链:战→战→赏→战→战→疗→王。唯一试玩入口 = 完整冒险——单关测试直入口(L2/L3)已退役(2026-09-23 用户拍板)
  4. 调试 角标浮窗(恒开——2026-10-16 用户令 DS_DEBUG 写死,原环境变量门控退役;2026-10-04 迭代 14.5 调试整合批:原数值调整板/随机种子框/两层调试三散件收一):攻击/生命百分比加成(模拟天赋树解锁)+ 批量模拟(输出通关率/承伤期望/败北节点分布)+ 两层调试入口

headless 冒烟(752 项断言〔计数随批增长,现值以最新批末闸读数为准〕,含关卡线性推进/满配通关/裸装败北/回放确定性;2026-10-02 性能报告实测 60.55 秒,报告在 性能实测报告(已退役,git 历史可查)):

Godot_v4.7.2-stable_win64_console.exe --headless --path . --script res://probe/smoke_all.gd

场景级 UI 探针(项目运行模式实例化 main.tscn 驱动第一关,断言棋盘真实渲染——D1 教训"呈现层零测试承载"的原型兑现):

Godot_v4.7.2-stable_win64_console.exe --headless --path . res://probe/ui_probe.tscn

调试浮窗场景探针(缺陷⑤回归载体沿袭——2026-10-04 迭代 14.5 随批改接浮窗形态:打开可见性〔浮于菜单之上,开始层不隐藏〕/滑条联动/应用写表/重置/批量模拟全链路):

Godot_v4.7.2-stable_win64_console.exe --headless --path . res://probe/ui_tune_probe.tscn

其余八场景探针(ui_click_probe 行为链 / ui_input_probe 输入合成 / ui_struct_probe 全屏结构 / ui_contrast_probe 对比度 / ui_probe·ui_tune_probe 调参面板 / t17_defer_probe 结算演播延迟链回归 / shot_probe·fx_probe·fx_shot_probe·board_shot_probe 画面与特效采样;全部由 tools/probe_gate.sh 与 tools/render_gate.sh 调度,闸清单见 tools/run_all_gates.sh)+ 板图校准工具 sim/calibrate_boards.gd(board_calibration.csv 重跑入口,--script 运行):

全冒险期望扫描(零加成三关连探批量——通关率/止步分布/败退节点;调参期难度读数一律走全冒险口径):

Godot_v4.7.2-stable_win64_console.exe --headless --path . --script res://sim/adventure_monte_carlo.gd -- [N] [seed0]

(原关卡期望扫描 level_monte_carlo.gd 走单关直入口口径——满血零上下文进关与真实冒险脱节,随口径退役删除,2026-09-23 用户拍板。)

(原可选类供给跨种子扫描 supply_scan.gd 随可选类道具/库存/供给控制器整体删除而退役——2026-09-15 格面资源批,扫描对象已不存在。)

日志合规(2026-09-12 用户要求):任何模拟运行与真人试玩均落全量 JSONL(user://logs/)——逐操作(op/cell/accepted/round)、逐结算明细行、轮次状态快照、battle_end、level_end。模拟(verifier/adventure_monte_carlo / 调试浮窗批量模拟)一文件多局,run 行携带种子/档位切分局次。

试玩画像口径(2026-09-19 用户拍板固化——全项目试玩/扫描/面板模拟一律只用以下两档,随机策略口径退役):policy="normal" = 普通画像·基础定式(单数字满足规则——满足即标/满足即开,无处可推盲挖边界格、不刷新;教学后正常玩家的下限近似);policy="perfect" = 完美画像(single+subset 全推理零盲挖/卡死刷新——技能上界仪)。实现单一出口 = sim/auto_player.gd(novice_action / perfect_action)经 sim/level_autoplay.gd,调试浮窗批量模拟与各扫描工具自动同口径;战斗层冒烟夹具与调试转储的 choose_dig 直调是机制测试夹具、不承载画像语义。分级依据与新旧读数(乱点 0%/5% → 基础定式 65%/90%)见 auto_player.gd 普通策略档节与台账 77。

单关诊断工具(level_debug.gd)随单关直入口口径退役(2026-09-23)——败退归因走 balance_verifier 冒险段(层/节点/敌人人读归因)。 战斗级工具(v1 遗产):dump_battle.gd(结算流水)/ monte_carlo.gd(战斗期望)/ experiment_density.gd(密度调参)。

范围(v1 范围 + v2 追加,用户 2026-09-10/11 确认)

  • v1 在范围内:D2(10 表 + ConfigDB + RngService)· A1(single_subset 求解器 + 双判据验收)· A2 · A3(AP8/RAP)· A4(迷雾,L2)· B1(七段结算 + 13 类行协议 + 高光双落)· B2(grub/ambusher/伏击池 cap4)· B3(四行状态容器)· B4(install 预分配/F5 保底/道具窗口)· D1-lite 程序化呈现
  • v2 追加:LevelTable(线性节点链数据表)· C1-lite 关卡推进器 level_runner.gd(原 c1_level_runner,2026-09-11 领域命名批更名)(关卡域生命周期:共享 B4 关内延续 + HP 跨战斗携带 + 奖励/恢复节点兑付 + 关卡末清库)· Boss 遭遇行(Dmax=4)· 节点奖励 API(B4 grant_node_active)· 测试用角色数值调整板(atk%/hp% 覆盖 + 批量模拟,模拟天赋树——正式侧归 C4)
  • 裁剪不变:A5 / C1 路径分支选择(用户拍板线性)· C2–C4 / B5 战斗动画 / D3–D6 / A1 黄金向量与 F4 批量工具 / gdUnit · 注:标错惩罚(原 A2 OQ1)已于 2026-09-12 批上线(标空封印三选一确定性反噬:暴走 / 伏击 +2 层 / 失衡,坐标×板序号派生、不走随机流),本批(2026-09-15)已收编进现行文档,不再属裁剪项

历次批次的改动明细与决策过程见 git 提交史(git log -- game/README.md 及各批提交信息),本文只保留运行说明与范围。