Commit Graph
111 Commits
Author SHA1 Message Date
DKChan d1b2e519ce feat(调试): DS_DEBUG 环境变量门控写死=true——用户令「直接写死,不读环境变量」(2026-10-16)
- main.gd:219 原 OS.get_environment("DS_DEBUG")=="1" 读取退役,_debug_entry 恒 true
  (启动即开浮窗+两屏角标;var 注释与 6 处会话门控注释同步换代)
- 闸断言换代:smoke V2f 由「态==环境变量」改「恒开」断言;ui_click_probe 原
  「未设时浮窗不得默认开」反转为「未恒开即失守」;ui_tune_probe 删自设环境变量
  死代码(OS.set_environment 行)+三处消息/注释换代
- 其余 6 文件 10 处注释/文案清扫(ui_assembler/debug_overlay 含浮窗内用户可见
  工具提示/modal_stack/board_zone_view/level_map_screen/README)——全库 DS_DEBUG
  引用清零,无新旧并存
- 发布前删除事项:main.gd:219 一行(用户知悉;无 CI,两道恒开断言会红兜底)
2026-10-16 03:08:31 +08:00
DKChan 9723c1524b feat(屏蔽): 贫矿脉地形变异删行——用户令「特异关卡后续重新设计,先屏蔽」(2026-10-16)
- variation.tres 删 skewed_veins 行(scope=global/resource_face/effect_value=30):
  Boss/精英图全局池空 → _resolve_global_variant 空行回落 → region 布置原路兜底,
  玩家面零横幅零角标零资源偏斜;删行依据与首发批裁决记录改写为屏蔽注记(git 历史可溯)
- smoke_all.gd 7 处断言换代为「全局池空→region 兜底回落」路径:
  行数 7→6 / boss 池去 skewed_veins / L2 boss+elite 全局决议改断言空行 /
  Boss 图改断言恰一行 region 变异+格子级布置恢复+取号恢复 / 快照投影与板载一致 /
  同种子确定性(region 路径);节头与 print 同步换代
- resource_face 机制代码(RewardEconomy 偏斜投影/schema 互锁/负样本)零触碰,
  重建设计直接加行即可
2026-10-16 03:05:26 +08:00
DKChan 6c2dbc37c1 docs: ADR 体系废除 + architecture.md 确立为架构唯一事实源(2026-10-15 用户令:决策记录归 git commit log,不另存决策文档)
- 删除 design/dev/architecture/adr-0001~0007 共 7 份文件(内容留 git 历史可查)
- architecture.md:删「ADR 审计」「ADR 立项清单」两节;清除全文 ADR-000X 注记、QQ 表/S 表 ADR 引用;未决表关闭已落定项(QQ-01/02/03),立项清单在途事项转登记 QQ-11~14;补 A1 生成姿态事实、autoload 四件清单、board_generator 性能姿态;文档状态立「事实源地位」条
- CLAUDE.md:恢复 RNG 单点硬性红线(去 ADR-0007 引用);新增「架构事实唯一源」红线;规范导航架构行标注唯一事实源
- doc-conventions:§5 增「架构事实唯一源」行;§11 活文档清单补架构文档
- registry:architecture.yaml 删 18 处 adr 字段、autoload_set 补 SaveManager/MetaProgression、board_rending 更新为 Node2D 已落地事实;entities.yaml 12 处引用清除
- game/ 代码注释约 60 处清 ADR-000X 引用(事实与日期保留);豁免标记 ADR-0007-exempt → rng-seed-exempt(main.gd/static_scan.sh/architecture.md/06/iter27 五处同步)
- GDD/qa 实现报告/research 卡片/roadmap/tests README 引用全清;死链校验 1206 链接 0 死链、gdd_lint 0 不通过
- 代码中 adr/adr5 等为 adventure_runner 既有局部变量名(非 ADR 引用),未动
2026-10-15 23:52:30 +08:00
DKChan 77075e6e7a feat(迭代28 T3): 生命周期存活性矩阵冒烟段(_smoke_lifecycle_matrix 九阶段×五引用面)
驱动复用:V3 debug seed 开局路径+_auto_play_round 活战斗模式(phase/round 守卫+choose_dig)+ui_struct resume 夹具模式,不另起点击链。阶段=闲时/开局停点(地图选路停点态合并)/战斗中/结算后(胜利停点)/选路页/终局面/回菜单收束/各模态开合后(菜单域四模态)/两连局/续玩断点。五引用面=_treasure_ui 2/_bonus 6/_camp_pres 3/_modal_flow 4/_row_pacer 5 句柄+2 Callable+run_scope 13 成员;判据=恒活面有效+会话三面阶段存活态(alive/null/both)+现值回调与 run_scope 成员同源(回调链无悬挂)+收束/续玩换会话无真空窗+旧局 queue_free 消亡。三处判据订正实录:隔离后刷新续玩钮定基/战斗收场判 is_battle_live(胜利停点 settlement 陈旧有效非 null)/调试浮窗开不隐菜单。冒烟 1097→1125/0
2026-10-15 07:18:54 +08:00
DKChan a35581e441 feat(迭代28 T2): boot 链路时序后置条件冒烟段(_smoke_boot_chain 六断言)
挂 _split_tail(协程纪律 await):V2a ConfigDB 就绪+表载/V2b 设置已应用(Master 总线 mute/volume_db+UiKit.motion_scale=settings_store 现值,一致性判据与真实设置文件内容无关)/V2c 启动态菜单可见/V2d 续玩钮态==断点在档态(boot 路径关系判据+隔离新档双向:无断点隐/合成断点显/清断点回隐)/V2e 闲时会话在树/V2f 调试浮窗态==DS_DEBUG 门控(两侧同判据)。存档隔离 attach_path 禁碰真实档。冒烟 1087→1097/0
2026-10-15 07:07:44 +08:00
DKChan 6f71509421 feat(迭代28 T1): 装配语义合同单点化+装配序修复+V2 断言重写
合同常量 LAYER_CONTRACT(16 层全视觉层序唯一事实源:屏壳/两全屏态/12 模态,level_screen 宿主/camp_screen 同槽/curio 对位三特例数据化);_apply_layer_contract 统一落位单口(add_child 后排序+登记同源派生,两处散落 move_child 删除);装配序修复=冒险屏先挂菜单屏后挂(F5 见战斗界面坏事实);V2 断言重写=V1a 启动态顶层可见层=start_overlay(内容层遍历,屏壳容器不当候选——camp 壳透明实证)/V1b 菜单壳在冒险壳之上/V1c 合同树序链逐对保序/V1d 落位单口源码断言;ui_struct_probe career 专属登记序契约推广为全模态 _modal_registry_contract(旧件同批退役)。红→绿记录:修复前 1086 项 3 失败(V1a/b/c),修复后 1087/0。代拍板=合同数据形态(有序数组+host/shell/tags 特例字段)
2026-10-15 07:04:02 +08:00
DKChan 9a9fa7e8be fix(迭代27收口补遗): 卡片核对缺口三项+resolver 幽灵通道断根
- V8 卫生 grep 断言落地 smoke(字符串 Callable 产品码零命中/FeatsEngine 退役/死代码抽查/GP 影子账零残留)
- 06 补登卡片两条义务(长函数余量 14 件+lambda 连接 76 处防回归)
- 漏网字符串 Callable×2 补装+validator 头注/main 死注记清理
- resolver 幽灵通道断根: reset_warn_dedup 门面参从未存在(字符串 Callable 零校验藏死引用,
  方法引用换装编译期暴露)——删参,注册表清空归 resolver 本类方法(门面 :115 直呼即正道)
- 实现报告补核对结案段

闸: 冒烟 1086/0(+V8×5)+类型闸归零
2026-10-15 03:03:29 +08:00
DKChan b605022001 feat(迭代27 T5): 波五a 类型闸拉起+存量收口——审计器 0 存量+warning 配置在位
P1-6 类型闸(须 T1-T4 全落后——本波按执行顺序锁殿后):
- tools/audit_type_hints.py 新机器闸(V7): R1 无类型容器注解/R2 有值返回缺返回类型/
  R3 参数缺类型三规则+行级 # type-hint: ignore 显式白名单通道;产品码 core/data/presentation
- 存量收口: 368 处显式 Array/Dictionary 非参数化注解→机械参数化(Array[Variant]/
  Dictionary[Variant, Variant] 零行为面);13 处参数真类型(SaveManagerCore/ConfigDb/
  BattleOrchestrator/MinesweeperRules/LevelRunner/SettingsStore 等)
- 白名单豁免四处: board_generator generate/_attempt/legality/_finalize 的 db 参——
  测量面 _BoardRowStub 冒烟夹具鸭子型注入(typed 参拒 stub)
- project.godot 拉起 gdscript/warnings/untyped_declaration=1(V7 源码断言在 smoke _smoke_type_gate)
- static_scan 新 S9 类型闸规则;顺修历史 cd 错位(9-24 布局迁移后 /.. 落 game/ 致守卫
  恒跳过静默空转——修复后 S1-S4/S9 首次实跑全绿)+S1/S2 增 ADR-0007-exempt 标记豁免通道
  (main _seed_value 引擎熵源=文档化豁免面)

验收: 冒烟 1081/0(+V7×2)+run_all 27 套+static_scan 全绿+probe click+render golden+对拍三变体全同
2026-10-15 01:05:17 +08:00
DKChan 6fd7d782cc refactor(迭代27 T3): 波三 账本收口——RunLedger 单类持四账+刷新双账删副本+gp_final 键删影子账——逐位一致对拍全同
P1-4 共享账本 Ledger 类化(裁点②甲 单类持四账):
- game/core/run_ledger.gd: attune_charges/vision_counter/adventure_counters/bonus 四账
  单类承载;战斗侧只拿 read/append 原语(attune_charge_has/set/consume、vision_count_add、
  counters_seed_snapshot/merge_export、bonus_add_axis)——战末 export/开局 seed 时点语义不变
- AdventureRunner 持账(run_ledger)→ LevelRunner set_run_ledger+sync_attune_inventory
  (原四散 setter 收口)→ enc 单键 ledger 下传;编排器三裸引用成员退役为 _ledger 原语调用
- 调试/单场缺省新账=零扰动面(vision_counter 缺省空=不计,原 enc 缺键守卫语义保留)

P1-2 刷新双账收口:
- main 刷新计数副本(run_scope.refresh_used_round)删除;单一事实源=编排器受理计数
- presentation_snapshot 成文面升键 refresh_used(can_refresh 邻位)——HUD 余量/遥测
  round_refresh_index 单源读快照;V5 快照一致性断言×3(smoke+ui_click HUD 文本比对)

P1-3 GP 影子账收口:
- adventure_runner summary 增 gp_final 键(close_wallet 清账前快照)
- gp_shadow_ledger.gd 全件退役删除;main 委托缝/会话账本成员删除;终局面板 GP 行
  取数=summary 键;ui_probe 影子账断言换代为 summary 键断言

验收: 逐位一致对拍三变体全同;冒烟 1079/0+run_all 26 套+probe click+render golden 0.00%
2026-10-14 23:25:45 +08:00
DKChan 26301baa9c refactor(迭代27 T2): 波二 _settle 五段拆 Segment+_resolve_hero_attack 拆步——逐位一致对拍全同
P1-1 结算巨函数拆段(裁点③甲 审计五段):
- game/core/settlement/ 五段类: GrantSegment(授予段体+旗判随段迁入+counter_add 五位/
  grant_material 三位分支单点化)/AuraSegment/CombatSegment(原 _combat_segment 体)/
  DecaySegment/VerdictSegment(返回裁定,终局早退语义留宿主)
- 编排器 1725→1325 行退为段序编排+行发射/开单原语单点;_judge_flag/_combat_segment
  旧实现同批删除;smoke 白盒 rig 随段迁址(orch._grant_seg._judge_flag)

姊妹病灶(同批):
- damage_controller _resolve_hero_attack 148 行拆四步: _hero_attack_ctx(命中面/按序改写
  族四拍)→_hero_attack_base_value(加法族/计数器施加/倍乘)→_hero_attack_redeem(掷点/池乘/
  rider/落地/击杀)→_hero_attack_deliver(状态/交付行);ctx/redemption 字典穿线算序逐字保留

验收:
- V4 settle_segments_test 16 断言进 run_all(25→26 套)
- 逐位一致对拍三变体全同(RUNSUM+JSONL 双面零漂移);冒烟 1077/0+run_all 26 套
  +probe click+render golden 0.00%
2026-10-14 22:09:29 +08:00
DKChan 7a0d57ddb0 feat(迭代27 T1): 波一 场景拆分+局生命周期物化——逐位一致对拍全同
P0-1 三屏场景化(契约2 只拆不重写):
- menu_screen/camp_screen/adventure_screen 三 .tscn 屏壳+壳脚本(视图代码原样构建,
  40+ views 零 .tscn 化);adventure 屏壳内含 level_map/battle 两容器
- main.gd _build_ui 解体=三屏实例化+模态装配+接线;组合根句柄全部保留(探针挂载
  假设 main.X 一级路径零迁移);树序=屏壳在前全模态之下(视觉共存对逐对验算)
- 屏壳根 mouse_filter=IGNORE(ui_input 实证:全屏 STOP 壳吃下层模态鼠标输入)

P0-2 会话物化(裁点①甲 autoload+手工清单消亡):
- run_scope.gd 节点持全部局态(adventure/runner/settlement/7+ 局态旗/账本);
  _begin_session 建会话、终局整节点 queue_free()——_reset_run_scope 三项+
  _on_battle_end_continue 置空四件手工清单删除
- SaveManager/MetaProgression 升格 autoload 3/4 号位(类名加 Core 后缀沿 RngService
  先例;--script 模式编译器不解析裸 autoload 标识符——组合根留读视图属性 get_node 形态)
- 探针隔离改 attach_path 原地重置(set_master_seed 先例);10 探针+pacing 测试迁移

验收(V1 核心=逐位一致对拍):
- parity_anchor 三变体 base/attune/shop×40 局 RUNSUM+JSONL 双面逐位全同(零行为漂移)
- 冒烟 1055→1077/0(+V2 屏壳独立实例化 11 断言+V3 两连局复位 11 断言)
- run_all 25 套+probe click 全绿+render_gate golden 0.00%×3
2026-10-14 20:28:53 +08:00
DKChan 260c9bbd9e feat(迭代26 T5b): 诊断转储钮退出玩家画面——入口迁调试浮窗(grilling Q8 裁甲)
- main.gd 卸载点删除(build_diag_button 挂载+连接);build_diag_button 工厂退役(ui_assembler);
  连接随迁=debug_overlay.diagnose_requested→_on_diagnose_pressed(dump_diagnosis 卡死取证保留,
  删除案否/门控隐藏案否——浮窗本就可全局可开,双轨无意义)
- debug_overlay 新增 diagnose_requested 信号+区块⑤转储钮(_emit_diagnose_requested 外发,纯视图边界)
- 探针同批入册:ui_tune_probe 只读巡检白名单+_emit_diagnose_requested、连接数 10→11(七钮),
  confirm_dialog/main 树序注释订正(诊断钮引用清除)
- 冒烟新增 _smoke_diag_button_retired() 7 断言(V6:主区零残留+工厂退役+连接随迁+浮窗可达);
  冒烟 1048→1055/0;probe --click/--full 全绿残留 0
2026-10-14 05:57:16 +08:00
DKChan 02c87fc281 feat(迭代26 T5): 元素细节余②③——BCard 图标槽明度差降档+商店居中+营地四栏等高
- ②立 SLOT_BACKDROP_SOFT #806A4E 柔和档(代拍板6:对米色卡面 3.69:1〔旧 8.53:1 过硬〕,
  白图标 5.14:1 ≥3:1 硬约束在役);仅 BCard 图标槽换档,B 区状态槽仍用深档(诊断订正③范围)
- ③商店 _cards_box ALIGNMENT_CENTER 垂直居中(三选一同款形制);营地四栏等高=三 holder 统一
  min 高 336(与树/秘宝匣 scroll 对齐,锁定态仅锁文也撑栏高)+四面板纵向 SIZE_FILL 同步拉伸
  +三处锁文 SHRINK_CENTER(代拍板7 两选项组合落)
- 冒烟新增 _smoke_element_details() 8 断言(②白图标硬约束+降档方向+两消费点档位;③三处布局锚);
  冒烟 1040→1048/0;probe --click 全绿残留 0
2026-10-14 05:47:50 +08:00
DKChan 86e9aea176 feat(迭代26 T4): 光柱连续 alpha 修边(带内渐变+纵向衰减)
- beams_rect 重写:带内 alpha 0→0.05→0 三角过渡(旧匀净零过渡硬边梯形退役)+纵向衰减上亮下暗;
  连续 alpha 方案(grilling Q7 裁,与暗角/地图渐变保平滑同血统);filter=LINEAR 白名单随 T2 已落
- 冒烟 T4 结构断言 3 条(带心峰值≈0.05 按 8bit 截断量化校验/连续过渡像素 41373 个/纵向衰减
  上半>下半 2 倍);冒烟 1037→1040/0;probe --click 全绿残留 0
- 引擎事实备忘:Godot Image 8bit 量化为截断(非四舍五入)——0.04977×255=12.69 存 12
2026-10-14 05:39:56 +08:00
DKChan 7cac0dc1ab feat(迭代26 T3): 三处 <4.5:1 文字位换墨+机检锚定
- 立新 token 两枚(代拍板4·Q6 裁后落值,语义岗冲撞走反哺点③):GOLD_BRIGHT #E0B860(金族亮档,
  敌顺位徽标①②③+重甲徽标,对舞台底 6.47:1);HERO_BLUE_BRIGHT #7EBAF0(小人蓝亮档,
  魔法护甲徽标,5.88:1);GOLD_DEEP/HERO_BLUE 常量本尊不动(standee:199 意图判据等在役)
- ap_bar_view.gd:77 RAP 反馈行 STONE_FAINT→STONE_DEEP(对 PANEL_DATA 5.98:1,旧 2.9:1 越带)
- 冒烟新增 _smoke_contrast_inks() 9 断言(V4:三处对比≥4.5:1+消费点原位锚+语义岗不动+旧墨清零);
  冒烟 1031→1037/0;probe --click 全绿残留 0
2026-10-14 05:31:26 +08:00
DKChan 9ddb571d87 feat(迭代26 T2): 全局纹理过滤设邻近采样+平滑渐变件 LINEAR 白名单
- project.godot [rendering] 增 textures/canvas_textures/default_texture_filter=0(Nearest——
  翻转面=立绘/瓦片/格面/图标/九宫格 UI 皮 crisp,即本批意图;T0 枚举闭合无漏枚举面)
- ui_kit.gd 白名单三件显式 LINEAR:vignette_rect 暗角/beams_rect 光柱(Q7 裁,连续 alpha 同血统)/
  gradient_base 地图渐变;既有脚影/状态图标 LINEAR 不动
- 冒烟新增 _smoke_texture_filter() 6 断言(V3:工程设置=0+白名单三件在位+既有两处不丢);
  冒烟 1022→1028/0;probe --click 全绿残留 0
2026-10-14 05:15:32 +08:00
DKChan b6f0c66183 feat(迭代26 T1): 按钮五态矩阵——悬停乙案/禁用甲案/焦点甲案+危险钮本族按压态
- ui_kit.gd _apply_button_skin 五态统一管线:hover=常态图+modulate 1.06 提亮(乙案·代拍板1·零新素材);
  disabled=本族底+α0.45 幽灵化(甲案·代拍板2,取代旧「disabled=按压图」错配);
  focus=INK 2px 内缩 1px 环(甲案·代拍板3,负 expand margin 实现,叠加绘制不遮钮底,主题层零新增)
- primary_button 补 disabled(烛光黄族 α0.45)+focus 环+font_disabled_color(本族墨 α0.45)
- danger_button 补本族 pressed(深红 darkened(0.18) 深档)+disabled 幽灵化+focus 环+font_focus/disabled 色
- 冒烟新增 _smoke_button_five_states() 35 断言(V1 五态非空/hover≠normal/disabled≠pressed/危险钮非石纹/
  焦点环参数锚定+V2 双红线维持);冒烟 987→1022/0;probe --click 全绿残留 0
2026-10-14 05:08:42 +08:00
DKChan af2d834e78 feat(迭代25): UI 全局主题批 T0-T2——全局主题资源挂载+两处局部做法退役+冒烟 V1-V6 断言
- T0: game/assets/theme/main_theme.tres 挂 project.godot gui/theme/custom——
  15 类型全覆盖(V/HScrollBar·ScrollContainer·H/VSlider·TooltipPanel/Label·
  LineEdit·SpinBox·H/VSeparator)+预盖 CheckBox/CheckButton/OptionButton/
  PopupMenu 弹层;default_font 显式指现役同字体(V6 中文字形防御);
  位图生成脚本 tools/gen_theme_icons.py(9 张纯色/几何小位图→assets/art/ui/gen/,
  按 .gitignore 政策本地生成不入库);色值溯源表 game/assets/theme/README.md
- T1: ui_kit.gd 删 tooltip_theme()/_tip_theme 与 styled_slider()、ui_assembler.gd
  删挂载行(旧实现同批删除);settings_overlay 几何内联、debug_overlay 双轨消隐
- T2: 冒烟 _smoke_global_theme() 38 断言(V1 类型覆盖+Button/focus 双红线+
  V2 冻结值 5.49:1+V3 预盖证词+V4 退役零残留+V6 字体防御)
- 引擎事实(4.7.2 源码+默认主题链双查):CheckButton 与 CheckBox 同套
  checked/unchecked 图标名;Slider 无 grabber_pressed 槽;ScrollBar 柄=StyleBox
2026-10-13 21:39:01 +08:00
DKChan ab3ba4f4a0 feat(迭代24): N3 敌方attack_type轴开列——20行全填normal+schema枚举校验+单位快照+开单传值+敌方结算克制消费点(卡片§2漏项,V5矩阵证词强制)+V5四断言(冒烟949/0) 2026-10-13 07:14:58 +08:00
DKChan 26d669f83d feat(迭代24): N1 (1,2)降档hp22/ac2 + N2 毒吐盾击两行六池投放——expect_pools六键同步+V1/V3/V4断言随批(冒烟945/0) 2026-10-13 07:03:37 +08:00
DKChan c5a09fd90c refactor(改名批): 暂停层/暂停角标→状态面板/状态角标——用户令全量改名(文案4处+标识符全套PauseOverlay→StatusPanel/pause_overlay.gd→status_panel.gd/成员方法族+探针快照键+注释与探针消息86处清零;行为契约四件零动——只读R4/模态遮罩P2甲/输入锁R3/零动效P4甲)+render_gate截图键shot_pause→shot_status同步+文档六面(元进度v1.19/07/生涯/06条/architecture json+html;camp零命中;08-Alpha版本标准untracked禁碰留置)——冒烟938/0+run_all24套+probe --click/--full+render_gate全绿;rg 暂停|pause game/归零 2026-10-13 05:41:59 +08:00
DKChan ed0629236a feat(迭代23-T4): 注入接线——hero_override 公式换代(FORGE_ROUTE_BONUS 退役)+两轴参数面全链+入战 AC 三层
- meta_progression.hero_override:atk=forge_weapon_atk_bonus+树 flat / armor_class=forge_armor_ac_bonus+树 flat / max_hp=树 flat;FORGE_ROUTE_BONUS 预留常量退役(公式不再出现,注释留痕)
- main.build_adventure_params:+attack_type/armor_type 两键(meta.hero_attack_type/hero_armor_type——存档选中路线类型轴,异常回退锻造配置默认值)
- adventure_runner:params 两键快照入公有 hero_attack_type/hero_armor_type(契约 8 锁死可断言面;start/resume 双路同),_start_current_level 经 set_hero_axes 下传
- level_runner:set_hero_axes 注入+effective_ac 换代=甲型基础 AC(forge_armor_route_by_type.base_ac)+路线加值(base_override)+局内加算区(bonus)三层;enc 携带两键
- battle_orchestrator:spawn 传 enc 两轴(空串=锻造配置默认值回退——行为连续)
- 冒烟 V5 后半/V6 锁死/V7 公式对拍+V10 树零攻防复核共 15 断言(含 enc 末端 hero_attack 行 pierce 键+spawn 显式注入)
- 轻闸:冒烟 938/0(923 基线 +15)+run_all 23 套全绿;删除标识符 live 引用零残留(FORGE_ROUTE_BONUS/hero 两轴仅存退役注记与 README 文档面=归 T7)
2026-10-13 00:09:17 +08:00
DKChan a6270bac54 feat(迭代23-T3): 锻造写口族——路线购买(几何价)+并联双通道解锁+选中切换(免费)+类型轴读数(MetaProgression 单点)
契约 9 写口唯一(UI 只发意图——意图信号接线随 T6 UI 同批落):
- forge_route_unlocked:解锁态派生单点(初始持有∨直购清单∨练满前一档 levels[prereq]≥cap——不落档)
- forge_buy_level:几何价=ForgeTable.level_price(20/30/45/67/101),扣钥石+等级+1+即时写盘;未解锁/满级/余额不足=拒绝零副作用
- forge_buy_unlock:一次性解锁价 200 直购;已解锁(含派生)=拒绝零收费——两通道互不影响、不设串联
- forge_select_weapon/armor:免费切换只受理已解锁路线(冒险锁死归参数面快照,契约 8)
- forge_weapon_atk_bonus/forge_armor_ac_bonus/hero_attack_type/hero_armor_type:T4 注入面取数单点(异常选中态防御回退 0/默认值)
- 冒烟 V2/V3/V4/V6 共 15 断言(隔离档 forge/forge2/forge3——add_keystone 置余额+直写存档域注入口径)
- 轻闸:冒烟 923/0(908 基线 +15)
2026-10-12 23:50:55 +08:00
DKChan 6def3544a0 feat(迭代23-T5): 存档域 forge_routes v7——六路线等级+直购解锁清单+选中标记(无特效域)+旧档缺键补齐=初始持有态
〔执行序调整:T5 先行于 T3——写口族硬依赖存档域,台账记录〕

- SAVE_FORMAT_VERSION 6→7 + _migrate_v6_v7 空迁移(缺键补齐模式,v3→v4 先例;幂等零漂移)
- _default_data 新域 forge_routes={levels 六键/unlocked 直购清单/weapon+armor 选中};_normalize 经默认模型自动补齐(旧档=初始持有态 sword/light 在档余四锁)+退役键白名单自动收口
- 访问器组:forge_route_level/set_forge_route_level/forge_unlocked_purchases/add_forge_unlock/forge_weapon/set_forge_weapon/forge_armor/set_forge_armor/forge_routes_snapshot(值拷贝出户)
- 解锁态派生不落档:初始持有(表 initial_owned)∨直购(unlocked)∨练满前一档(levels[prereq]≥cap)——派生单点归 T3 MetaProgression
- 冒烟 V8:往返逐域相等+v6 旧档既有域零折算/缺键补齐初始态+域键集恰四项(无特效域)+levels 六键恰全+快照值拷贝;迁移链版本断言 6→7 三处换代
- 轻闸:冒烟 908/0(902 基线 +6)+run_all 23 套全绿
2026-10-12 23:44:03 +08:00
DKChan 00d98b6f74 feat(迭代23-T2): 两根类型轴所有权移交——hero.tres 两字段删除+ForgeTable 默认值常驻持有+单位快照改读注入面
- hero.tres:armor_type/attack_type 两字段删除(含 2026-09-18 前置批登记注记退役);armor_class=10 保留为甲路线缺失兜底基准
- hero_table.gd schema:两 @export 字段与枚举校验同步删除(三数值轴 max_hp/atk/armor_class)
- unit_container.gd:spawn 签名 +2(hero_attack_type/hero_armor_type,空串=db.forge_default_* 回退)——三参旧调用方零适配,行为逐位连续(normal/light)
- smoke_all.gd::1901 hero_attack 行类型键主语换代为 forge_default_attack_type();新增 _smoke_forge_axes 段(V5 前半:字段不在位+默认值+零注入回退快照)4 断言
- 轻闸:冒烟 902/0(898 基线 +4)+run_all 23 套全绿
2026-10-12 23:31:50 +08:00
DKChan 9f20ca236a T6(迭代22秘宝批): 验收闸断言——V9静态词表(新12行do.kind/effect_kinds零棋盘改写类词)+V10覆盖检查(三方向dimension_tags投影)+V18装配面空目录合法态(白板档12件全未解锁mode分派,独立档[12])+V6装配不可变运行断言(单测⑭战斗运行态与冒险装配集三面同源快照)。冒烟898/0+单测全绿〔秘宝批 V6/V9/V10/V18〕 2026-10-12 19:36:31 +08:00
DKChan 73db171cb4 T5(迭代22秘宝批): 存档面+死通道拆除——treasure_inventory保留注记(主动件骑库存承载在役:线香/天眼handle+断点aux_items快照+set_attune_charges差额注入全链保留); 替换子交互整体拆除(CURIO_KINDS除名后不可达死通道=装配不可变契约1实现面保证): adventure_runner六函数删(_pick_treasure_item/resolve_treasure_replace/_resolve_node_replace/_replace_in_transit/_draw_pending_treasure/resolve_curio_replace)+_bonus_treasure_carry跨关携带/_last_draw_treasure掷定链/_roll_from/_bonus_treasure_pool/bonus_aux_carry断点键; level_runner.grant_treasure_item/treasure_items.holding_records删; 呈现面=controller替换子态三函数+aux_detail卡片直显链/curio_pick_overlay replace状态机(信号+面板+open_replace)/main两接线/level_autoplay替换策略; smoke与ui_click_probe替换分支摘除+reward_overlay_test替换段摘除; 修正则贪吃误删=apply_node_curio普通兑付主体补回。冒烟895/0+run_all 22套+探针全绿〔秘宝批 V15/V16拆除路线/V13〕 2026-10-12 19:32:29 +08:00
DKChan b7a2eadd2c T4(迭代22秘宝批): 呈现换代——秘宝匣柜台购买钮(buy_requested信号链→presenter buy_treasure_unlock分支,禁用态=余额不足)+分档呈现(名后缀·档位/装配行档位标签/悬停desc)+装配段未解锁禁装; 呈现桥换代(旧提灯布尔桥set_fog_lantern/FOG_LANTERN_BONUS随行退役→set_fog_glow_bonus参数面,main._sync_treasure_glow消费attune_param_sum,off态写0复原契约保持); 巢穴预告toast(nest_preview_count读数口消费); 试炼镐HUD入口(ap_bar兑换钮+convert_pressed转发链+attune_convert_state读数口,未装配隐藏); ui_input_probe case⑮换代主语wide_scout_band+4; V13功能残留换代(breakpoint_resume/ smoke剔牌库/reward_overlay夹具换新件id)+过时注释清理; 修呈现组装断裂=BoardZoneView补convert_pressed转发(挂死根因=main直连不存在的板区信号致_build_ui中断)。冒烟895/0+run_all 22套+探针含click全绿〔秘宝批 V12/V13/V19〕 2026-10-12 19:11:11 +08:00
DKChan a7bd4e4132 T2(迭代22秘宝批): 核心层解锁服务换代+槽位档位约束——工坊渠道面退役(_workshop_progress/workshop_status/refresh_workshop_unlocks/meta_workshop_items/WORKSHOP_ITEM_IDS/workshop_items行族全删)换解锁混合制(buy_treasure_unlock钥石购买=余额闸+重复购拒+条件件误购拒/refresh_treasure_unlocks条件刷新=AND谓词+幂等/treasure_shop_status柜台投影); 计数读数单点_treasure_unlock_progress(adventure_cleared/boss_kill_count/vision_used); save_manager新增vision_used生涯计数域(add_vision_used收束入账+缺键补零不升版本); toggle_attunement三重校验(未解锁拒+满位禁选+件档rank≤装入位序档位格——卸下恒可效果面只读装配集); pause/camp两视图秘宝匣呈现换代+UiKit计数键与档位标签单点; smoke工坊段换V3/V4/V5断言(独立档[11]防路径污染)+meta表段行族规模换代3/3/2。冒烟895/0+单元21套+探针全绿〔秘宝批 V3/V4/V5/V14/V19数据源〕 2026-10-12 15:52:04 +08:00
DKChan 48b0696158 T1(迭代22秘宝批): 新目录12行全量换代+schema扩签——treasure_items.tres 旧12行删除新12行落表(晨操令/阔视野带/试炼镐/刷新练习/储备罐/巢穴预告/线香/双管装填/远程镐/刷新执照/天眼/信标网络; 三档7/3/2; 契约8逐件解锁分配=钥石8+条件4); schema扩 tier/charge_reset/unlock_keystone_cost 三键+TIERS/CHARGE_RESETS 词表+TARGETS扩cell+参数面kind六型+REVEAL_KINDS护栏扩面+charges=0积点制合法态+解锁互斥校验+UNLOCK_COUNTER_KEYS换代(adventure_cleared对齐C6通关口径/vision_used新增); 引擎EVENTS+board_installed/ACTIVE_KINDS+safe_dig/EFFECT_KINDS+mine_count_preview; V13旧断言摘除换代(fog_lantern_wiring_test全文件退役+run_all注册摘除/violation护栏主语换sky_eye/feat_vouchers电池主语换incense_stick/smoke提灯段换V1V2新目录断言段+装配充能刷新段换主语)。冒烟887/0+单元21套+探针全绿〔秘宝批 V1/V2/V12/V13/V14部分〕 2026-10-12 15:21:22 +08:00
DKChan 5d254f7e11 merge: master 并入分支(并行十八笔——active 清理批/改名批/奇物呈现批;冲突=active 快照与记录块手工融合,469 弃用上游清档口径、收口条顺延 476) 2026-10-12 14:28:50 +08:00
DKChan 96fc61c701 feat(tree): 迭代21天赋树实装批 T1-T6 主体——12节点换代+六键接线+营地四柜台(2026-10-12 U0)
T1 schema 换代:MetaTreeTable FORK_GROUPS 4→3(fg_mastery 退役)/RULE_KEYS 2→6(sense/economy 四键扩签)/
  fork 单行双态(effects_a/b+name_a/b、每组恰一校验)/row 字段退役(行门槛主语=节点等级 level_gate)/
  requires 只留点亮前置(R1 裁撤案执行);meta_tree.tres 33→12 行重排(脊柱2/锻造2含彩蛋/钥石2/同调6,
  att_socket1 改根节点无前置,easter_ley 摘 atk/armor_class 分量=契约9)
T2 购买与彩蛋面:tree_can_buy easter 拒购+行门槛换轴;tree_buy_fork=解锁默认A;tree_toggle_fork 零币切态;
  tree_rule_keys 按激活态 effects_a/b 投影;_check_easter_egg 特化判定(两线拉满+socket全解锁);营地树行板双态钮
T3 六键接线:EVENTS+flag_missed/FACTS+battle_index(L2 扩签两处);rebuild 六键合成订阅
  (posture 窗=battle_index&&round_index 双闸/sense 两组=counter 闸+记账双行 domain:adventure 限次2次 provisional);
  level_runner battle_index 注入(visited battle 型计数);_judge_flag 去重闸后 flag_missed 发射(契约12);
  聚=_roll_gp_drop 入账前×1.5 provisional(escrow 不乘);散=_spend_discounted ×80%(current_price/pool_price
  双计价点,刷新价不折=§11②定义边界);_start_current_level 限次按关清零(_reset_tree_limited_counters 可测口)
T4 注入换代:hero_override=树淬炼flat+FORGE_ROUTE_BONUS预留0(命中不注入=契约6);Attunement.slots 判定源切
  树点亮数(谓词表退役);tree_buy(ks_refresh) 同账路由 buy_attune_refresh(V15 双入口)
T5 旧档废弃与删除:save_manager tree_struct=2 结构版本标记+_normalize 白名单重建+树域废弃重置(禁迁移折算);
  migrate_tree/buy_forge/forge_flat/forge_level/forge_price/meta_forge_row/forge_products 行族/
  attunement_growth 表+访问器/生涯页三投影/career forge_total 全删;treasure_item_table UNLOCK_COUNTER_KEYS 内联;
  verifier_batch 花费策略换代树节点;MC slots 画像常量3
T6 营地统一:四柜台并排横滚(树淬炼主界面/锻造工坊钥匙门+零交互占位面板/秘宝匣钥匙门+内容迁入/图鉴常开);
  暂停层锻造段连带删;camp data forge 投影删
存量红修复:_flush_pending_reveals 三处空 source_class 补 fx_reveal+类级豁免(a57489e9 落地件,冒烟51行)
测试随批:smoke 树段全重写(V1/V2/V3/V8/V9/V16)+_smoke_tree_rules V10 行为段(窗/限次/守侧五场景编排rig/聚散
  同种子对拍)+单元 tree_rules_v11_test(六键合成行闭集校验)+run_all 22 套;ui_probe/ui_click_probe 换代树点击路径
轻闸全绿:冒烟886/0+run_all 22套+probe --click 全绿
2026-10-12 07:54:38 +08:00
DKChan ae96a2b043 chore(tables/smoke): 玩家向显示名改名批——货架三行「锻升」→「祝福」+ 临时 AC 状态「护甲强化」→「盾牌加护」(C/D 裁点执行)
- shop.tres: pool_shelf 现役 70/74/78 + products 遗留 38/45/52
  攻击锻升/生命锻升/护甲锻升 → 攻击祝福/生命祝福/护甲祝福
  (奇物属性值提升三轴的货架前台标签,与锻造工坊路线行「XX锻造」解耦)
- reward.tres / status_effects.tres: display_name「护甲强化」→「盾牌加护」
  (地图战斗资源获取的临时 AC 状态,避免与锻造工坊护甲锻造混淆)
- smoke_all.gd:1199 断言同步改名(授权范围内修改)

术语口径:C=「属性+祝福」(D&D Blessing 神赐永久赠礼)、D=「盾牌加护」(Charm 精魂所予、有时限、用完消失,与临时 AC 状态语义一致)。

冒烟:864 项检查 / 0 项失败;FAIL 仅存量 SCRIPT ERROR(_flush_pending_reveals fx_reveal 空来源类别,迭代20 T1 a57489e9 遗留,iter21 在册,与本批无关)。
2026-10-12 07:44:25 +08:00
DKChan 710d8e038d refactor(t9): 迭代20 V13 静态核查收口——四处旧件名 source_class 中性名换代(fx_overflow/fx_apply_status/fx_blast_counter/fx_streak_segments;泛用通道保留+旧件名随退役件摘除,对照注释留痕) 2026-10-12 00:44:51 +08:00
DKChan 3333187351 feat(close): 迭代20 T5+T8+T9+T10 C段收尾(专长实装批)
T5 Boss 兑付面换代:通关渠道三选一改按档配比加权抽取(无放回加权抽 boss_feat_weight
100/45/15/5 provisional 归调参批——奇物.md v3.1 rarity 语义约束兑付面);信号注释换代
「提升三选一」→「专长三选一」(V11 正名);V12 频带断言(300 停点档位频率出带±15pp)。

T8 MC 对账适配:formed 画像 14 旧件→五事件族 14 新件(开格 4/插旗 3/踩雷 4/节奏 2/战斗 1);
新基线取证:normal/off 100 局 71000 档 通关 0%(master 对照同为 0%=零配基线本相),
止步分布 90/10→93/7 可归因曝光槽候选构成;同种子重放 30 局逐位复现 ✓(V15)。

T9 迁出收尾:treasure_items 删 venom_edge/flag_burst 两行(同调目录收窄);schema 词面
venom_rider/flag_burst 摘除(EFFECT_KINDS/MAGNITUDE_KINDS);rewrite_board 效果类型除名
(净化工兵退役——V14 连带清理闭环);V13 断言入 smoke。

T10 空配置验收闸:三选一池空 skip_empty_curio 消化+非空拒绝反例+商店空货架合法态断言。

测试:pool_case_d 17 checks(+V12/T10)/feat_vouchers 23 checks(+V16 断点往返);
冒烟 864/0+run_all 21 套全绿。
2026-10-12 00:28:22 +08:00
DKChan 1387aedc94 feat(vouchers): 迭代20 T4 凭证件五件实装+F-1 刷新写错账修复(专长实装批 B段二)
五件路由(_apply_curio_pick 通道面):刷新券→刷新存量账 _refresh_stock(**F-1 修复**:
退役 _attune_refresh_x 写口——X 每停点重置吞存量=写错账缺陷正主;消耗序 X→Y→存量,
attune_refresh_left 扩第三源;旧早退路径零摘牌缺陷同批修正=选中即消尽)/储备金袋→
_pending_rap 战首 RAP 注入(action_economy.grant_reserve_ap 新口)/同调电池→
_battery_pending+choose_battery_target 玩家点选跨层写 attune_charges(禁自动替选——
装配集/主动充能件双校验拒绝)/时沙→_time_sand_queue 战首首轮 AP 队列(池增量不改上限,
hero_ap_bonus 同通道)/完美保险→_pending_insurance 战首豁免次数(flag_miss 首见判定
_perfect_hit_false 回退=完美谓词无痕,节点级未用即过期)。

注入链:runner set_voucher_grants 三账→enc voucher_*→编排器消费,节点级一次性注入即清零。
配额投放:凭证四件入稀有档(rap 2/battery 1/时沙 2/保险 1)→结构锚 rare 9/总量 104
(已裁换代授权内 provisional——偏离 GDD 占位记录随代拍板追认单)。
断点扩列(T7 前置):refresh_stock/battery_pending 随档+resume 回填(旧档缺键缺省 0)。

测试:feat_vouchers_test 新套 20 checks(V9 逐件路由+F-1 反例钉面/V10 留任路由+AP 属性轴)
入 run_all 21 套全绿;冒烟 863/0;smoke 牌库数 98→104 系换代。
2026-10-12 00:08:00 +08:00
DKChan 54ab330beb feat(feats): 迭代20 T3 专长 27+2 件换代(专长实装批 B段一)
feats.tres 整表换代:旧 27 件删除(素材库表二退役面),重设计 29 行重建(基础 27+迁入
淬毒刃纹/封印爆裂——卡文 §10.4 推荐案件数口径);订阅行 on/when/do=效果引擎封闭词表;
rarity 四级直映射令牌档(普通 12/优秀 9/稀有 8/传说 0);cap 已拿上限字段(案②解耦);
desc 禁「雷/插旗」字面(契约 6——封印/陷阱风味系);dispatch 预评估口径「每第 N 次」按
N-1 落值(mod_eq ref/eq 阈值-1——effect_words_t1_test 钉住)。

feat_table schema 换代:RARITIES 四级;ROW_KEYS 摘 archetype 增 cap;流派扫雷铁律校验
随流派框架退役摘除(奇物.md v1「不设流派标签、不设档位机制」)。

battle_orchestrator:FeatsEngine 档位求值与 rider_tier 注入摘除(V14 旧实现删除覆盖——
散件单体效果=唯一形态);FACTS 补 pct(处刑台血量阈值沿)。

smoke 特性段整段换代:牌库构成 29 件四级断言(V2)/契约静态钉扎(V18 牌库 kind 全集/
V19 零棋盘改写订阅/V21 禁字初筛/V22 结构锚形态机检半)/临时表新 schema 注入/门票与
relic 兑付断点主语换代/V3 附表 A 逐件三列断言 29 件(命中面 dispatch 直测+counter 落账
施加面同构 helper);同调测试两处主语 venom_edge/flag_burst→nest_counter/dawn_order
(V14 换桩——T9 迁出 treasure_items 前置)。冒烟 863/0+run_all 20 套全绿。
2026-10-11 23:58:48 +08:00
DKChan 0640b0c06d feat(pool): 迭代20 T2 池结构案D 换代(专长实装批 A段二)
四级档位:TIERS common/excellent/rare/legendary(跨层框架档名映射承袭)——TIER_QUOTAS
70/25/3/0=98 直映射零偏离已裁结构锚(传说=头奖位留空);配额/件值字段物理改名
(旧 rare→excellent、旧 rarest→rare)+凭证四 kind 占位(rap/attune_battery/time_sand/
perfect_insurance,配额暂 0=T4 落路由同批投放)。

概率与上限解耦(案②令牌池+提前退役):curio_cap_* 每 kind 独立字段(99=无上限占位,
实数归调参批)+专长 cap 行字段面;taken 身份维计数(relic:<feat_id>)拿了才计刷出不计;
cap 满在候选视图剔除(牌库本体不动=概率位独立存活);断点 bonus_taken 身份维键随档还原。

曝光槽:三选一=2 格全池+1 格优秀档以上子池(子池独立洗牌同 stream 续消费;子池空回退
全池;池空直通同族兜底);凭证(feat_ticket)不进抽签池只经保底注入;商店货架同 cap 过滤。

潜伏缺陷修正:效果引擎 has 算子 null 安全(敌技伤害载荷无 terrain_kind 事实回落 null 时
判「不在场」而非 String(null) 抛错——候选流变化后 devour 件首次被持有而暴露)。

测试:pool_case_d_test 新套(V6 令牌三态/V7 曝光槽回退/V8 解耦提前退役)入 run_all 20 套;
smoke 三档锚/数值对/池构成/上限带四处断言换代(V14),冒烟 848/0+probe_gate --click 全绿。
2026-10-11 23:18:35 +08:00
DKChan 510cdab506 修复: 卡④T3——测试三形态落位(契约 9):①probe=ui_input_probe case⑮ 内载体级段不开新 case——装配 fog_lantern→开局参数面(build_adventure_params=卡⓪①修复面回归)+settlement.attunement 注入→呈现桥 _sync_fog_lantern→lantern=2 且 dist==R+1 格转可见+卸装显式重算复原 0;case⑮ 既有断言零删减(实查 17 断言面原样)②smoke=现有套件 _smoke_adventure_table 加断言不新开套件——行字段逐键裁值+同调目录投影 display_name(九件→十件)+装配→战斗贯通 enc 注入→attune_has=true+空装配基线 false③存档回归=breakpoint_resume_test 新增 Part 6——装配(params.attunement)→停点→续玩受理→回局首战 attune_has 仍 true④呈现桥判定 stub 单测+行加载单测=新件 fog_lantern_wiring_test.gd(run_all manifest 17→18 套)。闸:冒烟 840→844/0+ui_input_probe PASS+breakpoint PASS+新套件 PASS 2026-10-08 17:01:55 +08:00
DKChan 768e3665df 修复: 尾裁微批b——卡⓪resume tree_rules受理闭环(2026-10-08 用户裁甲:resume_adventure 参数面按 start_adventure :135 同式补收 tree_rules〔类型防御同款 is Array 三元〕,消费面 :938 set_tree_rules 下传现成零改;main.gd build_adventure_params「tree_rules 暂不消费」在册披露句同步退役改写;冒烟断言段追加续玩受理两查——resume_adventure 受理三键参数面+runner._tree_rules 与传入一致〔v2 旧断点夹具同式最小断点〕)——冒烟 840→842/0、run_all 17套全绿、probe_gate --click 全绿 2026-10-08 16:36:07 +08:00
DKChan fb845b78dc 修复: 卡⓪③——冒烟补主菜单两入口传参断言(直呼 build_adventure_params 单测统一构造面:开新/续玩×attunement/attune_refresh_y/tree_rules 与来源一致 +840 总量+6) 2026-10-08 05:05:51 +08:00
DKChan d7a640650f 修复: 天赋树货币甲案——树全钥石单币落定(2026-10-07 用户裁甲)
- meta_tree.tres: 脊柱 16 行 currency gp→keystone(价格 10/20/30/40 不动,provisional 归 M4);
  表尾 T8 注释改钥石口径+裁甲销账行注
- meta_progression.gd tree_buy: 删 currency 分叉直走 spend_keystone(前后同消费口=零行为变更;
  free 行 price=0 零额消费无副作用),T8 双币骨架披露注释销账
- meta_tree_table.gd: CURRENCIES 枚举 {gp,keystone,free}→{keystone,free}(currency 字段保留为呈现
  元数据),头注补单币口径
- camp_overlay_view.gd: 树购买钮文案「购买 N」→「购买 N 钥石」(行板紧凑钮豁免)
- smoke_all.gd: 4670/4677 断言消息文字随批换代(逻辑零改)
- meta.tres: 表尾陈旧注释订正(「GP 商店同族…base 10」→同族指数值档位非货币+base_price 现值 20
  系 2026-09-22 对齿批投值)

闸: 基线 834/0;改后 smoke 834/0+probe_gate --click 全绿+ui_layout/ui_tune 过;
run_all 17 套件全绿;MC 零跑(静态论证:改动前后同走 spend_keystone,currency 无残余消费方)
2026-10-07 22:39:30 +08:00
DKChan e5cd9bd5d4 ④T3: 生涯页实装——career_overlay.gd 新视图(page_shell 暖亮全屏页·商店同壳:56px 通栏顶条标题「生 涯」+紧凑返回钮;汇总段六类九项逐行〔组一·冒险战绩=总局数/通关局数/各关通关次数/Boss 首杀/Boss 总击杀,组二·资源与成长=钥石余额徽/属性锻造合计/道具工坊解锁计数/天赋树已购聚合〕;只读契约=快照随开随建零核心访问零写通路唯一信号 closed;零跳转〔页内零「前往他处」入口〕零动效〔无 tween 无 AnimationPlayer〕;全部构成件经 UiKit 工厂零新色值)+主菜单入口钮(ui_assembler 营地与系统组营地钮后·普通钮同设置行形制+tooltip·返回句柄 careerbtn)+组合根接线(main.gd:成员声明+暂停层后 addChild〔树序同步=P3 甲登记序营地同档、确认弹窗之前〕+登记册插位 career_overlay+登记序注释换代+start.careerbtn→_open_career+开合仿设置面先例〔开层互斥开始层/关闭恢复+继续钮重刷〕+_career_data 快照投影〔SaveManager 计数访问器+MetaProgression 访问器同源·display_name 表取数〕)+冒烟投影断言族 11 件(_career_overlay_projection:六类九项逐行==访问器读数+开层可见+v5 现役档升 v6 载入后页正常显示〔完成定义 6〕;类型显式 int 修正两处 Variant 推断)——冒烟 834/0(T2 后 823+11)+编辑器扫描 class_name 缓存与 .uid 边车随批 2026-10-07 08:51:35 +08:00
DKChan 62d433c15b ④T2: 收束链入账断言——真实收束挂点全链恰一夹具两件(⑭段:主流程 adventure_finished → MetaProgression.settle_adventure → apply_adventure_summary 单口;中止局 failed=总局数+1 通关局数不动/通关局 completed 三关全通=两域各+1;接线零新增代码——apply_adventure_summary 即三结局唯一收束口〔adventure_runner._settle 三出口同经此〕,写入单口已在 T1 落位)——冒烟 823/0(T1 后 821+2) 2026-10-07 08:38:58 +08:00
DKChan 669c1c7d01 ④T1: 存档 v6 生涯终身计数域——SAVE_FORMAT_VERSION 5→6(版本史注释随批换代)+meta 两新域 adventure_total〔总局数,开局即计含放弃与失败〕/adventure_cleared〔通关局数,三关全通才计 1——判定字段 summary.cleared 现成直用〕+迁移函数 _migrate_v5_v6(沿现役迁移链 _init 自注册;旧档缺键 _normalize 按默认补零、只增不改=幂等,v3→v4 先例)+只读访问器 adventure_total()/adventure_cleared()+写入单口=apply_adventure_summary 收束口头部自增(三结局同经本口恰计一次,禁第二写入点——契约 2;迁移链陈旧注释 v1→v3/v1→v6 顺手校正)+域清单 owner 注记(生涯.md)+registry save_file 条目 v4→v6 换代(v5 批漏账补齐)+冒烟随批:硬断言「写盘 version==5」两处改 6(迁移链段+v1 旧档段)+①往返段收束自增恰一/往返相等两断言+②新档段缺省全零断言+⑬新增段(v5 旧档升 v6 缺省补零且既有余额原样/升档幂等写盘再载零漂移/通关局 cleared+1 夹具)——冒烟 821/0(基线 814+7) 2026-10-07 08:35:47 +08:00
DKChan 43b1306c1c ⑤T4: 断言面随迁首批混编投放——expect_pools 增 (2,5,giant_spider) 池模板条目(键=卡① (L,D,enemy_id) 三元口径)+池文案十九行→二十行并注首批投放 (2,5) 双行+混编断言段还原断言 19→20 行;⑦b 新增三断言:(2,5) 双行行序 [bugbear→giant_spider](R6 运行面)/静态最坏骰和 Σ≤4(守卫同口径)/新行行值=复制 (2,6) 巢群行(P4 甲零数值新增);首遇位断言 (2,4) 恰一行语义零触碰复核绿;轻闸 814/0 三闸全过(基线 811/0+3 新断言) 2026-10-07 06:35:44 +08:00
DKChan c583940400 T4组D·断言与探针换代(敌人表行集多行批): smoke_all expect_pools断言换(L,D,enemy_id)三元键逐行精确比对[十九行九种池模板文案随F7换代];L2/L3定点行集断言改行集构成口径({敌种集}恰一行集+首行甲型);双表精确行契约断言改精确行集口径(294-311主段+3518/3555两复述段);新增混编运行面正反断言六条(注入(1,5)/(1,6)避开全部扫描面·断言后还原零污染):混编spawn受理正向+各行数量求和+生成序=文件行序+各行行值独立投影+总数守卫>4拒绝fail-fast+表还原19行复核;config_db_test新增行集纪律套五条(EnemyTable资源直构validate正反:混编相邻合法+Boss坐标混编合法P4乙+同坐标行隔断rowset_rule定位到坐标R6+同敌种第二行dup_key拦+单行数量域[1,3]不回归);skill_rhythm_probe/damage_probe取数面T2已适配本轮直跑验证(rhythm正常输出;damage 7项1失败=A1攻击链健康·stash对照实证基线既有与本批零相关·探针非闸门工具如实登记);L2记录=池模板键值换代连续3轮红(坐标敌种映射臆断错4键+3_7池值手抄错·第4轮以离线tres对账法收敛)——教训=三元键换代先离线全量对账再落码;断言数805→811净增6随批追认;轻闸=冒烟811/0三闸全过+run_all 17套全绿 2026-10-07 02:36:23 +08:00
DKChan 8690230573 T2组B·schema与解析换代(敌人表行集多行批——P1甲/P2甲落码): enemy_table.gd 恰一敌种校验退役改行集构成纪律②行序相邻校验(同坐标行不相邻即rowset_rule报错,类别沿用定位面不变;同敌种第二行仍dup_key拦)+UNIT_COUNT_MAX语义注释改单种数(单行域[1,3]不变,行集总数≤4归spawn守卫·骰后值加载期不可判)+floor版resolve_rowset退役(双算法销号,工作日志312);config_db_resolver.gd resolve_enemy_rowset改返回行集数组Array[Dictionary](ceil命中坐标全部行,文件序=契约序,空集=空数组;_resolve_progress加return_all参数board_gen单行通道不动);config_db.gd门面签名同步;全仓消费点机械适配取首行(T2行为零变化:spawn/orchestrator/narrator/smoke七处/config_db_test/skill_rhythm_probe/damage_probe两处;floor四调用点迁ceil坐标全精确命中零行为差);轻闸=冒烟805/0三闸全过+run_all 17套全绿——零内容期断言逐位零漂移 2026-10-07 02:05:30 +08:00
DKChan e535436695 merge: 迭代17卡⓪内容数据驱动扩展批落籍(EffectEngine事件发布订阅解释器+16发射点+19行23效果类型+组合规则6条+改写窗口;专长27行迁移+旧23挂点枚举消亡+伤害控制器13处消费点拆除+秘宝六件按id特判清零+令牌树收敛+文案表值化+断言面随迁净增17;闸=冒烟800/0+run_all 17套+probe_gate含click全绿+MC二档对拍40局逐位一致[seed0=83000 off/formed配对,判据两套全过]+doc三闸/熵增存量红零新增;active.md与并行迭代18两批union解+台账预配号381撞号改登383〔381/382系并行会话先占〕;台账383;遗留=掘进蓄能积点模判定归词汇表扩展批裁决+主动件kind词族改名不随批+实机目检归用户) 2026-10-07 00:45:05 +08:00
DKChan a33ddaf542 秘宝六件迁移+掘进蓄能受理闸数据化+令牌兑付 match 收敛进效果类型(T4+T5——内容数据驱动扩展批)
T4 秘宝侧(六件按 id 硬编码全部拆除,行为与迁移前逐位一致):
- 淬毒刃纹:begin_battle attune_venom 注入+伤害控制器特判分支拆除——行 triggers clamp_check
  modify(mode:clamp_bonus) 双订阅(pierce_vs_ward / magic_vs_heavy eq 行=旧「pierce|magic × 矩阵>0」
  的精确集;mode 路由=主角攻击面专享,棋盘克制窗只消费无模式 delta——棋盘不吃毒面保持)。
- 偏运硬币:reward_economy.luck_bias 注入拆除——行 triggers reward_roll bias_rewards 订阅,
  发射点命中合计经 _biased_cell_rows 入参(合成序「图级先件级后」不变);冒烟偏斜段断言面随迁。
- 工兵晨令:编排器两处直调入队拆除——行 triggers round_start grant_ap(mode:queue) 订阅,
  when round_index ≤ effective_rounds(when value_from 行字段定影——新查询面,悬空校验同面补齐)。
- 惊巢反制:_grant_routed 按 id 减半特判拆除——mine_hit damage_mult(50) 订阅命中经 halve_pct
  入参(ceil(power×50%) 与旧 ceil(power/2) 逐位一致)+ open_ticket(channel:reflect) 订阅施加。
- 标中殉爆:flag_hit 按 id 开单特判拆除——行 triggers open_ticket(channel:blast, value_from
  magnitude) 订阅施加(施加位=迁移前开单位:殉爆→净化→图谱)。
- 掘进蓄能:use_treasure 按 id 受理闸特判拆除——treasure_used counter_spend 订阅施加(消耗成功
  才受理、积点不足拒绝零消耗,进度文案逐字保留);积点账本迁效果引擎计数器 dig_charge_bank
  (模判定留编排器侧:「每 N 格积 1 点」在发射点施加架构下无法行内表达先增后判——when 于
  dispatch 预评估,逐位等价优先;词汇表边界注记留档,遗留观察项随出口报告呈报)。
- pick_refresh:adventure_runner 按 id 特判拆除——effect_kinds bonus_refresh kind 分发查询
  (装配集行 magnitude 合计;刷新件类加件零 id 分支)。
- 主动件 kind 词族换代(reveal_tiles/preview/grant_ap/remove_mines/refresh_pick)挂账保留:
  本批只要求 pick_refresh 合流;全词族 rename 波及库存/呈现/单测零行为收益,不随批(出口报告
  遗留人闸项呈报)。
- curio_interact_controller 秘宝卡片文案表值化:kind 硬编码映射拆除,读行 desc——13 件 desc
  补齐(措辞按现行卡片文本逐字迁移;掘进蓄能/失义件补实际摘要=文案微调呈报级)。
- schema 适配:triggers 与 effect_kinds 互斥校验收窄至 passive 行(active_charged 双形合法=
  effect_kinds 主动分发+triggers 受理闸);trigger 行豁免「非 N 值 kind magnitude 应 0」与
  「非 ap_rounds_front 行 effective_rounds 应 0」两面(行字段=value_from 取数源)。

T5 令牌/树收尾:
- _apply_curio_pick match 收敛进效果类型:属性值提升四类(attack/max_hp/armor/ap)改
  adventure_table.CURIO_APPLY_ROUTES 声明路由(加算落点键,与效果引擎加法族同构)——加新加算类
  令牌=表行+配额/件值键零代码;gp/heal/refresh/relic 副作用通道面显式分支保留。
- meta_tree 规则键同面:先手压制/稳健拓荒两键已在 T3/T4 随 round_start/damage_taken 订阅行
  走效果引擎同面(rebuild 合成订阅+发射点施加),旧直调零残留。

验证:冒烟 800 项 0 失败(三闸过)· 单元 17 套全绿。

设计权威:design/research/研究-内容数据驱动扩展架构-2026-10-06.md(案乙)。
任务书:design/research/任务书-内容数据驱动扩展批-2026-10-06.md §六 T4/T5、§五映射表秘宝侧。
2026-10-06 23:54:58 +08:00