[gd_resource type="Resource" script_class="BoardGenTable" load_steps=2 format=3] [ext_resource type="Script" path="res://data/schemas/board_gen_table.gd" id="1"] [resource] script = ExtResource("1") rows = [{ "level_index": 1, "node_depth": 0, "board_width": 10, "board_height": 10, "mine_density": 0.25, "inferability_target": 0.88, "solver_rules": "single_subset", "min_safe_count": 50, "max_gen_attempts": 16, "board_type": "dungeon", "shave_ring_radius": 1, "r0_max_cap": 45 }, { "level_index": 1, "node_depth": 1, "board_width": 10, "board_height": 10, "mine_density": 0.25, "inferability_target": 0.88, "solver_rules": "single_subset", "min_safe_count": 50, "max_gen_attempts": 16, "board_type": "dungeon", "shave_ring_radius": 1, "r0_max_cap": 45 }, { "level_index": 1, "node_depth": 2, "board_width": 10, "board_height": 10, "mine_density": 0.25, "inferability_target": 0.88, "solver_rules": "single_subset", "min_safe_count": 50, "max_gen_attempts": 16, "board_type": "dungeon", "shave_ring_radius": 1, "r0_max_cap": 45 }, { "level_index": 1, "node_depth": 3, "board_width": 10, "board_height": 10, "mine_density": 0.25, "inferability_target": 0.88, "solver_rules": "single_subset", "min_safe_count": 50, "max_gen_attempts": 16, "board_type": "dungeon", "shave_ring_radius": 1, "r0_max_cap": 45 }, { "level_index": 1, "node_depth": 4, "board_width": 12, "board_height": 12, "mine_density": 0.25, "inferability_target": 0.88, "solver_rules": "single_subset", "min_safe_count": 60, "max_gen_attempts": 24, "board_type": "dungeon", "shave_ring_radius": 1, "r0_max_cap": 43 }, { "level_index": 2, "node_depth": 0, "board_width": 12, "board_height": 12, "mine_density": 0.25, "inferability_target": 0.88, "solver_rules": "single_subset", "min_safe_count": 60, "max_gen_attempts": 24, "board_type": "underdark", "shave_ring_radius": 1, "r0_max_cap": 43 }, { "level_index": 2, "node_depth": 1, "board_width": 12, "board_height": 12, "mine_density": 0.25, "inferability_target": 0.88, "solver_rules": "single_subset", "min_safe_count": 60, "max_gen_attempts": 24, "board_type": "underdark", "shave_ring_radius": 1, "r0_max_cap": 43 }, { "level_index": 2, "node_depth": 4, "board_width": 12, "board_height": 12, "mine_density": 0.25, "inferability_target": 0.88, "solver_rules": "single_subset", "min_safe_count": 60, "max_gen_attempts": 24, "board_type": "underdark", "shave_ring_radius": 1, "r0_max_cap": 43 }, { "level_index": 2, "node_depth": 5, "board_width": 12, "board_height": 12, "mine_density": 0.25, "inferability_target": 0.88, "solver_rules": "single_subset", "min_safe_count": 60, "max_gen_attempts": 24, "board_type": "underdark", "shave_ring_radius": 1, "r0_max_cap": 43 }, { "level_index": 2, "node_depth": 6, "board_width": 12, "board_height": 12, "mine_density": 0.25, "inferability_target": 0.88, "solver_rules": "single_subset", "min_safe_count": 60, "max_gen_attempts": 24, "board_type": "underdark", "shave_ring_radius": 1, "r0_max_cap": 43 }, { "level_index": 2, "node_depth": 7, "board_width": 12, "board_height": 12, "mine_density": 0.25, "inferability_target": 0.88, "solver_rules": "single_subset", "min_safe_count": 60, "max_gen_attempts": 24, "board_type": "underdark", "shave_ring_radius": 1, "r0_max_cap": 43 }, { "level_index": 2, "node_depth": 9, "board_width": 12, "board_height": 12, "mine_density": 0.25, "inferability_target": 0.88, "solver_rules": "single_subset", "min_safe_count": 60, "max_gen_attempts": 24, "board_type": "underdark", "shave_ring_radius": 1, "r0_max_cap": 43 }, { "level_index": 3, "node_depth": 0, "board_width": 13, "board_height": 13, "mine_density": 0.25, "inferability_target": 0.88, "solver_rules": "single_subset", "min_safe_count": 70, "max_gen_attempts": 32, "board_type": "deep_underdark", "shave_ring_radius": 1, "r0_max_cap": 51 }, { "level_index": 3, "node_depth": 1, "board_width": 13, "board_height": 13, "mine_density": 0.25, "inferability_target": 0.88, "solver_rules": "single_subset", "min_safe_count": 70, "max_gen_attempts": 32, "board_type": "deep_underdark", "shave_ring_radius": 1, "r0_max_cap": 51 }, { "level_index": 3, "node_depth": 4, "board_width": 13, "board_height": 13, "mine_density": 0.25, "inferability_target": 0.88, "solver_rules": "single_subset", "min_safe_count": 70, "max_gen_attempts": 32, "board_type": "deep_underdark", "shave_ring_radius": 1, "r0_max_cap": 51 }, { "level_index": 3, "node_depth": 5, "board_width": 13, "board_height": 13, "mine_density": 0.25, "inferability_target": 0.88, "solver_rules": "single_subset", "min_safe_count": 70, "max_gen_attempts": 32, "board_type": "deep_underdark", "shave_ring_radius": 1, "r0_max_cap": 51 }, { "level_index": 3, "node_depth": 6, "board_width": 13, "board_height": 13, "mine_density": 0.25, "inferability_target": 0.88, "solver_rules": "single_subset", "min_safe_count": 70, "max_gen_attempts": 32, "board_type": "deep_underdark", "shave_ring_radius": 1, "r0_max_cap": 51 }, { "level_index": 3, "node_depth": 7, "board_width": 13, "board_height": 13, "mine_density": 0.25, "inferability_target": 0.88, "solver_rules": "single_subset", "min_safe_count": 70, "max_gen_attempts": 32, "board_type": "deep_underdark", "shave_ring_radius": 1, "r0_max_cap": 51 }, { "level_index": 3, "node_depth": 9, "board_width": 14, "board_height": 14, "mine_density": 0.25, "inferability_target": 0.88, "solver_rules": "single_subset", "min_safe_count": 82, "max_gen_attempts": 32, "board_type": "deep_underdark", "shave_ring_radius": 1, "r0_max_cap": 59 }] ; 切片调参登记(SLICE-TUNED provisional,调参所有权仍归 C3): ; A1 GDD 参考行(d0.10/0.12)经"先布后删"环内移除后仅幸存 2-3 雷、R0/|S|约0.97、残余挖掘 2-4 格—— ; 掘近退化板(A2 反例 B 机制的低密度放大)。实验数据(8 种子均值,smoke/experiment_density.gd): ; d0.25 → L1 幸存雷 11/残余 13/inf 0.925/att 2.9 · L2 雷 19/残余 21/inf 0.908/att 7.9(seed42 实测 inf 0.889→target 定 0.88 首过),零降级告警。 ; target 收窄至 0.88/0.88(不低于 0.85 绝对锚)为密度上移的对价——B1 条款③⑤对账重跑义务随调参触发。 ; 2026-09-11 关卡扩展批:L1 增 D1–D4 行(Boss=Dmax=4)。 ; Boss 板以 12×12 区分(d0.28/t0.87 实测达不到推理率门槛——best≈0.81 降级告警,回退 0.25/0.88; ; 密度轴上调留给 C3 与求解器能力一起解)。 ; ; 分支节点图批(2026-09-17——L2 幽暗地域板行铺满,全值 provisional 归 难度曲线与Boss): ; L2 战斗/Boss 节点 (2, 0/1/4/5/6/7/8) 七行精确铺满(跨表校验强制——ConfigDB ④ level_node_dangling); ; 奖励点 (2,2)/恢复点 (2,3) 不开战斗、无板行(跨表校验只查 battle/boss 节点)。 ; 板面参数与 L1 高档同值(12×12 d0.25 t0.88)——密度/推理率轴差异化留给 难度曲线与Boss 调参批; ; board_type 词表 v1.0(2026-09-19 用户拍板):L1=dungeon 地牢基线 / L2=underdark 幽暗地域(玩家侧显示名「地图类型」);域校验在 board_gen_table.gd 词表常量。 ; ; 第三关内容批(2026-09-20):板面 13×13 / Boss 14×14 兑现「Boss 板 = 本关最大板形」纪律; ; 密度维持 0.25(0.28 破推理率门槛有失败先例——切片调参登记 best≈0.81 降级告警,加难主杠杆 = 板面 + 地形); ; 词表第三值 deep_underdark(灰矮人矿道方向——v1.1 2026-09-20 L3 内容批,显示名归呈现侧); ; min_safe_count 按既有 ~0.42 格占比外推(13×13 → 70 / 14×14 → 82)。 ; 降档登记:Boss max_gen_attempts 批内拟值 36 越 schema 域 [1,32](config_fatal 修行值纪律——不许放宽 schema), ; 按域上限取 32(批内降档梯子「Boss 回 13×13 时 attempts 32」同款值)。行值全 provisional 归 难度曲线与Boss。 ; ; 商店房批连带(2026-09-21——level.tres 商店房批 Boss 重编号 8→9):新增 (2,9)/(3,9) 精确行 ; (跨表校验强制——ConfigDB ④ level_node_dangling),行值照抄原 Boss (L,8) 行; ; 商店房 (L,8) 不开战斗、无板行(跨表校验只查 battle/boss 节点)。行值 provisional 归 难度曲线与Boss。 ; 陈旧行清理(GP+商店房实施批收尾 2026-09-21):并行表代理曾把 Boss 板行照抄到 (2,8)/(3,8)——节点 8 现为 ; 商店房、无板行需求,原 (2,8)/(3,8) 行成陈旧冗余已删(删前核 (·,9) 行在位且内容与被删行逐字段一致); ; 本行集迁移 = Boss 重编号 8→9 的商店房批连带。 ; ; Package B 迭代·第 6 轮·d3 改板试点(2026-09-22——用户提出并授权,破 §4.4 板面冻结的单行试点): ; (1,3) 第一关·节点3·熊地精双雄 板 12×12→10×10(min_safe_count 60→50、max_gen_attempts 24→16, ; 对齐 (1,0)/(1,1) 的 10×10 行)。依据:第 5 轮读数 d3 完成度 84% 中 83.2pp 系 R₀ 免费展开、实挖仅 ; ~18 格/3.7 轮——总血 28-42 撑不起 121 格精英板;缩板后同战斗量读数 (68.6+18)/87≈100% 回带, ; 清图率升(打完近全翻开,清图尖峰 24-40 伤可兑现),轮数/承伤/胜率预计不动(难度刀≠设计意图修复)。 ; 连带义务:board_calibration.csv 全量重跑 calibrate_boards(§4.4 预告)。provisional 未提交。 ; ; 板尺寸策略改判批(2026-09-24——用户拍板「小怪板统一 10×10」原则,取代第 6 轮「板随战斗时长」原则): ; 第 6 轮单行缩板在 L1 内造出 10→10→12→10→12 锯齿——弱怪长战配大板、强怪速战配小板,节奏倒挂 ; (用户实测定罪:第三场单只熊地精 50 血占 12×12、第四场三只强怪占 10×10)。本批 L1 小怪场统一 10×10: ; d2 12×12→10×10(min_safe_count 60→50、max_gen_attempts 24→16,对齐本关其余小怪行); ; **boss d4 维持 12×12 不动**(首次实施时误将 boss 板一并缩小,用户纠正后回滚——boss 场更大= ; 战斗逐渐变难的视觉收束,板序列 10/10/10/10/12 单调递增)。 ; 战斗轮数由怪血量与玩家输出决定、与板大小无关=难度中性;完成度分母/清图率变化连带 board_calibration ; 全量重跑。L2 全 12×12 / L3 全 13×13(boss 14×14 单调收尾)本原则下无需动。provisional 未提交。