Commit Graph
98 Commits
Author SHA1 Message Date
DKChan 6b1e447d27 feat(调试入口): 全局浮层角标——UI 最顶层、任何 UI 不遮挡(2026-10-16 用户令)
用户定稿:调试入口不做置顶钮式按需出现,要的是「UI 最顶层浮层、不被任何 UI 遮挡」。
实现=三枚屏内角标(菜单右下/战斗 HUD 右下/地图顶栏)合并为一枚全局浮层角标:

- LAYER_CONTRACT 末位新增 {"key": "debug_badge", "kind": "float"}——只落树序(最顶绘制序)、
  不注册 ModalStack:open() 遮挡记账只隐藏登记层,故任何模态/覆盖层开都不遮它(用户需求
  的机制根因);_layer_node 补映射;main 直接子层、构建走 ui_assembler.build_debug_badge
- 位置:右下角 16px 惯例位;地图屏底栏 85px 常驻→_sync_status_entry 按 map_on 抬 offset
  至底栏上方 16px;战斗屏状态角标经 MarginContainer 让位(right 16/bottom 52)不再被压
- 屏内角标全退役:menu_screen/board_zone_view/level_map_screen 三处 debug_badge 删除,
  main 两处接线与 _sync_status_entry 四条可见性/置灰行清除(浮层常显不置灰——点它就是开浮窗)
- 浮窗 desc 文案改「UI 最顶层「调试」浮层角标随时可开——任何界面不遮挡」
- 断言/探针换代:smoke V2f 查 main.debug_badge boot 可见;click_probe 遮挡判据移至设置面
  开中段(浮层角标此时仍应可见=直接验「不遮挡」);tune_probe ①点击路径与⑨对局中角标
  全改 main.debug_badge(T2 防线断言不动——浮窗 non_locking×遮挡复活×has_open 组合回归)

冒烟 1127/0 过;全量闸待跑。
2026-10-16 23:53:57 +08:00
DKChan 9a72394652 chore(代码卫生): 头注存量清偿批——82 文件按两类白名单改写为 ## 文档注释载体
按 code-conventions §1.4.1 第三轮定稿执行:core 22+schemas 18+presentation 根 14+views 28,全部头注 #→##、删日期/变更叙事/GDD 与架构反向链接/字段与域清单/机制描述,保留职责摘要+真实使用约束(防事故禁令/单一入口/信号契约每信号一行)。main.gd 31→5 行、save_manager 45→5 行、adventure_runner 37→5 行为最大单件。子代理分模块执行(波一 core+schemas、波二 presentation+views,并发≤2)。验收=tools/verify_comment_only_change.py 逐字节校验(82 文件头注区外逐行一致=零行为变更)+audit_file_headers 全绿;纯注释批免冒烟(先例 5843270)
2026-10-16 23:28:07 +08:00
DKChan bf65b49331 fix(调试入口): boot 菜单优先+开始屏右下角调试角标恢复——用户实测否决「启动即开」
用户 F5 实测:浮窗 boot 自动开把开始屏盖成调试面板(640×约700 居中面板盖掉大半个屏),
且菜单层没有任何浮窗入口(iter18 迁宿主两屏的理由=启动即开,已不成立)——关掉浮窗后
菜单上无法再开。用户令查三问(入口在哪/何时触发/触发后效果)后修正:

- main.gd:_ready 删 boot 自动开浮窗(_debug_entry 门控保留);恢复菜单角标接线
  (pressed→_on_debug_badge_pressed);可见性赋值挪到门控落定之后(原在 _build_ui
  读到初始 false——首跑冒烟抓出)
- ui_assembler:恢复右下角「调试」角标(git 历史 40fb4a5c^ 原实现:PRESET_BOTTOM_RIGHT
  16px 角距+FS_HINT+豁免宽度基准)+ 返回键补 dbgbtn(首跑漏了返回键致 menu_screen
  句柄 null、_build_ui 中断、V1c 层序红——冒烟抓出)
- scenes/menu_screen.gd:暴露 dbgbtn 句柄
- debug_overlay.gd:desc 文案改三处入口说明(开始屏右下角/战斗屏 HUD/地图屏角标)
- 探针/断言四处换代:smoke V2f 改「boot 不开浮窗+菜单角标可见」、V1a 收回严格判据;
  click_probe boot 检查反转+角标检查翻转为缺失才红+删浮窗恢复断言;tune_probe ① 改
  角标真实点击开窗路径;shot_probe 删浮窗归一段(已成死代码)
2026-10-16 04:21:49 +08:00
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 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 140e440896 fix(迭代28 T1 补): 类型闸 S9 归零(main.gd 合同装配容器注解)
_apply_layer_contract 内 `var tags: Array` 未带元素类型,被 static_scan S9
(tools/audit_type_hints.py R1 无类型容器)判红——iter27 立的类型闸本批唯一
新增违规,随批修为 Array[Variant](与项目机械参数化口径一致)。

S9 由 FAIL(存量 1 处) 归零;冒烟复跑 1125/0 不变。S10 文件头闸存量 125 处
系 2026-10-15 新立规的清偿批在册项,非本批引入,不动。
2026-10-15 08:24:12 +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 5f9d8e7b77 chore(代码卫生): 文件头零工作日志红线落文+全仓头注变更叙事清偿(2026-10-15 用户令)
- CLAUDE.md 硬性红线新增「文件头零工作日志」;code-conventions.md 新增 §1.4.1(含反面案例)
- 全仓 .gd 文件头注清偿:删除全部带日期条目、批次叙事段与迁移退役叙述,保留并改写为
  现在时的职责、接口契约、GDD 锚内容(main.gd 头注 42→31 行、save_manager.gd 49→45 行)
- 纯注释改动零行为变更,按用户令免测试免冒烟
2026-10-15 04:08:38 +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 eea345882b feat(迭代27 T6+T7): 波五b 卫生件包+文档同步闸——对拍全同
T6 卫生件(P2 组收口):
- 死代码 13 函数删除(审计 16 处复核=ui_kit:486 实读现役不删,追认单#14)+FeatsEngine
  整文件退役(class_name 注销)
- 字符串 Callable×10 位→方法引用形态(编译期方法存在性校验;语法实证 METHOD_REF=true)
- 状态机 enum 化: adventure State(外部 String 契约 getter 词表逐位一致+外部纯读实证)/
  standee HeroState(register/set String 形参零变化+probe 面恒等)
- ConfigDB _fatal 退出归根(核心层去 quit/crash→_fatal_flag,决策归组合根 fail-fast 通道)
  +resolver 诊断/数据通道全面 Callable 化(ConfigDb↔Resolver 类型环断根)

T7 文档同步闸:
- 实现报告 design/qa/iter27-实现报告-2026-10-14.md(五波+闸表+追认单十五项+反哺点两条+目检五件)
- 06 迭代 27 条销号+GDD 反哺点两条新条;07 ㉖ 目检节+v1.0 版本行;roadmap ✅ 换代
- 审计报告本体按退役规则 git rm(吸收即死;修正计数由卡片承载);卡片来源行改指路

闸: 对拍三变体全同(第五跑)+冒烟 1081/0+run_all 27 套+probe click+render golden+static_scan 全绿
2026-10-15 01:41:37 +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 8b9e55673f refactor(迭代27 T4): 波四 ModalFlow 抽取+互斥域 tags 化+双 context——对拍全同
P1-5/P2-7 组合根可测化+模态协议内聚(场景拆分后重估结论=抽取面收敛为模态编排域):
- modal_flow.gd 新纯逻辑类: 依赖仅 ModalStack+查询 Callable(审计处方)——开合编排
  (挂起兜底/排播排空/遮挡记账/开合同步)/棋盘输入锁谓词(三例外注入)/双形制角标谓词;
  V6 modal_flow_test 19 断言直接 new() 进 run_all(26→27 套)——测试抓出并修正
  挂起兜底 divergent return 一处(原 main 语义=先结挂起后继续开本层不短路)
- ModalStack 互斥域随层登记: register(m, tags) + TAG_NON_LOCKING/TAG_SCREEN_STATE
  封闭词表 + has_open_excluding_tags 组查询;原 has_open_excluding/_any 调用点拼装退役
  (main 五处判据迁移);main._modals=flow.stack(ui_struct _list 登记序断言缝保留)
- P1-5 控制器构造收拢 context: curio 16 参→CurioFlowContext/camp 13 参→CampFlowContext
  (字段逐一同名迁移,控制器可独立实例化)

验收: 对拍三变体全同;冒烟 1079/0+run_all 27 套+probe click+render golden 全绿
2026-10-15 00:31:36 +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 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 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 3392ea7e2d Merge branch 'master' into iter23-forge-20261012
# Conflicts:
#	design/gdd/systems/表现与支撑/存档序列化.md
2026-10-13 01:34:15 +08:00
DKChan 2915f19c4b feat(迭代23-T6): 营地锻造工坊工作间——两区六路线行板实装(占位面板替换)+三意图信号接线
- MetaProgression.forge_shop_status():只读投影(等级/cap/解锁态/选中态/下级几何价/解锁价/前置通道进度——纯结构面,余额禁用归视图)
- CampOverlay:_forge_workbench 占位面板→武器锻造区/护甲锻造区两区六路线行板(件名+Lv+解锁态文案+锻造/解锁/选中钮);_rebuild_forge 随 open/refresh 重建;默认不可见+门控重建=锁定态零行板零购买路径(占位纪律延续);三信号 forge_buy/unlock/select_requested(契约 9 UI 只发意图)
- camp_shop_presenter:camp_data +forge 投影;on_camp_forge_buy/unlock/select 三处理器(写口唯一归 MetaProgression 锻造写口族;拒绝可见 pattern 1 toast)
- main.gd:三信号接 presenter
- 新单测 forge_workbench_test 12 断言(锁定态纪律/两区结构/钮态/余额禁用/满级/派生解锁出钮/三意图外发);run_all 23→24 套
- 轻闸:冒烟 938/0+run_all 24 套+probe --click 全绿(presentation 触碰加跑)
2026-10-13 00:21:41 +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 f22b2036a0 迭代22裁决落文批: A单十五条裁决收口+B单七条反哺全落文+⑤改自动兑付代码批——追认单(①②③⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮追认/④追认+积点账裁战斗级/⑤推翻改自动兑付)收口; ⑤代码=满charge_n=8自动当轮grant_ap无玩家入口(_on_cell_revealed揭示缓冲点兑付=cell_revealed批先于本格扣费故AP归零恰逢满点先兑再扣轮不结束/授予段积点段迁除/use_attune_convert受理口消解/attune_convert_state改造进度读数口+item_id键/use_treasure的ap_charge_safe死分支与_usable_now死条件删/tres试炼镐desc换代+counter_spend受理闸删)——HUD兑换钮整链退役(ap_bar convert信号+钮/board_zone转发/main接线与_sync_convert_button/_on_convert_pressed)+C区秘宝槽悬停浮窗进度(controller投影note字段/hero_info_panel tooltip拼接/main _refresh_presentations加refresh_slots重查); 单测④段重写自动兑付断言(7格零兑付/第8格AP+1/读数口/未装配反例); B落文=秘宝.md v3.0(目录三表实态三列+试炼镐自动兑付换代+代价轴转化获取行含战斗级重置与兑付时序+解锁条件实录钥石10/25四条件件三计数键+实装批落地前句全换代+退役指针补代码旧行已删)/元进度.md v1.17/camp.md v1.3(柜台呈现细则节+暂停层12行)/存档序列化.md v1.6(vision_used域+断点随件+bonus_aux_carry退役+v6扩列不升版)/行动经济.md v0.12(finish_round_stop转存率参数化)+术语表v1.2(自动兑付/真视使用计数两词条)+07㉑观测点随⑤换代; 报告修正=⑮提交号勘正(master实际T5=73db171,原记7095505系amend前被弃旧提交——merge-base实证)+十五条裁决标注+反哺七条已落文标注; 06收口=状态行换代+裁决小节。冒烟898/0+单测22套+probe_gate --click --full全绿(worktree拷.godot/字体与图标边车/art素材后) 2026-10-12 23:23:01 +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 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 fd6c208b2e 修复: 卡④T2——提灯视野呈现桥接线(生产路径贯通=完成度 0→1):①battle_orchestrator.gd 装配集公共只读访问器 attune_has(item_id)(_attune_has 契约化出口,save v6 只读访问器先例;private 面零改动)②main.gd 呈现桥 _sync_fog_lantern——settlement.attune_has(fog_lantern) 真值显式写给 board_view.set_fog_lantern(写入即 refresh 全板重算);挂点=_on_round_started ri==1 每战首轮装配链显式重算含否〔🔴 契约 7 Q8.1 复原语义=禁战斗结束隐式复原;时序依据:round_started 首轮发射位在 begin_battle 尾 attunement 注入后——board_changed 在 _install_new_board 内先发装配集后注入,同帧直挂 _on_board_changed 会读到上一战旧集,故不挂〕;未装配=false 写 0=缺省零扰动基线逐位不变;冒烟 840/0 回归零破 2026-10-08 17:01:49 +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 1d2894b555 修复: 卡⓪①②——主菜单开新/续玩两入口补传同调三键(build_adventure_params 统一构造,取值与营地投影同源)+关卡开场行改传 runner.effective_* 当前生效值、含面板加成后缀改认局外加成 2026-10-08 05:03:59 +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 746507e753 ⑦T5: 收口批——出口报告落籍 design/qa/iter18-seed-exit-report-2026-10-07.md(完成定义六条判定/闸读数八行/过程红灯全披露四条/MC 零跑静态论证四点/代拍板追认单六项/实机目检清单 A-I 九节/台账+快照草稿供主控誊入)+roadmap 卡⑦状态列换代已落地未合并+生涯.md 调试角标迁宿主事实同步(开始层零调试入口+浮窗启动即开两屏角标再开——本项修订迭代15卡①P3甲的文档面落账)+main.gd 头注输入锁口径随批更新;批末重闸终局=冒烟 811/0+四探针全绿+ui_tune 专闸绿+run_all 17 套全绿+doc 三闸/熵增闸零新增+MC 零跑 2026-10-07 07:52:15 +08:00
DKChan c36daa6cae ⑦T4: ui_tune_probe 断言面换代全绿——①段改向启动即开(OS.set_environment DS_DEBUG=1 探针自设+P3甲默认开断言+树序新基准=确认弹窗后登记册末位)/⑧段显式种子42钉死+开冒险显式关浮窗断言+master_seed==42 真实路径显式优先断言/⑨段新增对局中可开(战斗屏角标真实信号路径+S1+停机点回归:棋盘输入不锁+暂停角标不置灰)+对局中两钮禁用断言+当局数据六项值对(种子/关卡/节点/HP/GP/钥石逐项对只读访问器)+⑨b 只读巡检(17卡③白名单外零连接形制,信号清单12名+视图七方法+引擎滚动条豁免,连接数=10)+零动效契约/⑩段种子三分单点断言(显式777优先/首局空档恒42/非首局连抽4次不全等42);随批修复:_seed_value 三分分支写反(原实现首局随机/非首局42与P5甲相反——⑩断言抓获,探针钉死显式值故轻闸未暴露)+当局数据钥石取数改向 adventure.keystone(LevelRunner 无 keystone 域——原 r.keystone 脚本错误致探针 _ready 中断挂死表象,两次按纪律杀本 worktree 匹配进程重试后定位)+debug_overlay 胜利演出切换 lambda 转命名方法 _on_fx_toggle(只读巡检白名单方法名精确可判);专闸 ui_tune_probe exit=0 全链路 PASS 2026-10-07 07:33:49 +08:00
DKChan dd2c57c4cf ⑦T2: 输入锁死防护+P2甲角标迁宿主+T3当局数据只读区块(三件互锁一批落码)——modal_stack 增 has_open_excluding_any 多排除式查询(has_open_excluding 委托零语义变);main.gd 输入锁/暂停角标置灰/暂停守卫判据全改排除式排除调试浮窗(审计🔴S1+防线:DS_DEBUG默认开×遮挡复活×has_open=棋盘锁死破局)+开冒险/续玩路径显式关浮窗+_show_debug_overlay 门禁改向对局中可开(C6 单口保持)+_start_debug_levels/_on_tune_simulate 对局中守卫(长程异步模拟与活跃结算并存态不开放)+DS_DEBUG=1 启动即开(P3甲)+当局数据六项只读投影 _debug_run_data/_current_master_seed 单点(:1174 诊断种子重算冒充病灶同批改向)+模态开合单口挂 _sync_debug_overlay;P2甲:战斗屏 HUD 角标对(HBox 并排锚角距16px)+地图屏顶栏调试角标(17卡③同形制 DS_DEBUG 门控)+开始层 dbgbtn 退役(ui_assembler 返回键集换代);T3:debug_overlay 当局数据只读区块(种子/关卡/节点/HP/GP/钥石六项标签喂入制零信号连接零动效)+is_running 语义拆分(模拟在跑≠对局禁用)+set_context_locked 对局中两钮禁用+desc 文案换代;冒烟 811/0 2026-10-07 06:43:50 +08:00
DKChan 40fb4a5c1b ⑦T1: 种子三分判定单点落码——_seed_value() 改三分(显式合法整数全场景优先含首局/首局存档布尔判定恒42 P5甲/非首局空框引擎全局熵randi() 不走rng_service封闭流ADR-0007豁免面);调试浮窗种子框默认文本42改空框+占位提示「留空=随机 · 首局恒 42」(代拍板白名单);五探针种子钉死审计🔴(ui_input/ui_layout/ui_click/ui_probe/ui_struct 显式填42禁依赖默认分支——ui_probe系审计三件外同病灶随批修复);ui_click_probe 调试入口断言改向P2甲迁宿主(开始层角标退役断言+DS_DEBUG未设不默认开断言——暂态红待T2落码消);冒烟811/0三闸全过=S2确定性反证通过 2026-10-07 06:36:19 +08:00
DKChan d44fdd54c5 暂停层组B:两屏入口角标+has_open守卫+四探针断言+冒烟数据一致性(迭代17卡③T2)
- modal_stack.gd 新增 has_open_excluding(skip):排除式开态查询(地图屏系登记册模态成员=常态
  屏态,其上角标必须可点;只读查询零副作用,登记序/开合记账语义零改动)
- board_zone_view.gd 战斗屏 HUD 右下角+level_map_screen.gd 地图屏顶栏 GP 徽右——各一枚「暂停」
  角标(debug 角标同形制:UiKit.button 紧凑豁免宽度基准+FS_HINT 字号降档;可见性/置灰归组合根,
  信号连接归组合根 ADR-0001;非对局期显式不可见防菜单误现——P1 丁)
- main.gd 接线:两角标 pressed→_on_pause_badge_pressed(守卫兜底处理器:他层开着即拒开——
  常态防线=置灰,探针 emit 绕过 disabled 时由此兜住;地图屏开态经 has_open_excluding 不计自身)
  +_sync_pause_entry 单一同步点(可见性=_level_active∧屏态;置灰=has_open)挂模态开合单口与
  屏级互斥口/进局/离局/续玩五路径
- ui_struct_probe:pause 结构断言+只读性契约(游戏语义信号清单巡检——pressed/toggled/text/
  value/item/gui_input/focus/closed 十二名,白名单外零连接,合法连接恰 2=关闭钮+closed 外发)
  +零动效契约(子树零 AnimationPlayer+源码零 create_tween——R5/P4 甲)【首跑 L1 修正:全集
  巡检把 Godot 容器布局生命线连接(child_order_changed/item_rect_changed 等引擎自动脏标记)
  误判非法——收敛为信号名清单,任务书 v1.1「巡检信号名清单落码列全」本意】
- ui_input_probe case⑯:暂停层输入锁语义(角标真点击 press+release 开层→锁期挖掘零穿透→
  「继续」关层→同格挖掘重新到达;十七断言 PASS)【首跑 L1 修正:域恰 2 枚时 flag_t 带旗+dig_t
  揭开后零无旗格可取——case 挪全 case 之尾+前沿移位扩大可挖域兜底(板面扰动零波及)】
- ui_click_probe:战斗屏角标开合/守卫断言(图例开着=置灰+emit 兜底拒开)+地图屏角标一次性
  case(选路前开/关,地图屏选路态零扰动);ui_contrast_probe 增钥石徽深墨/烛光黄对(12 对全绿)
- smoke_all._pause_overlay_projection:暂停层投影==MetaProgression 访问器逐项(余额徽/锻造三行/
  工坊六行解锁态/天赋树概览——隔离档 smoke_meta 复用,+5 check)
- 任务书回填 T0 基线注记(冒烟 783/0·run_all 17 套·交集核对零命中,HEAD=44328b1 时点)
- T2 闸读数:冒烟 788/0(基线 783/0,+5 本批)· ui_input 十七断言 PASS · ui_struct 全绿 ·
  ui_contrast 12 对 PASS · ui_click 问题=0 · ui_layout_probe 退出码 0;纯呈现零数值=零 MC
2026-10-06 22:38:36 +08:00
DKChan c08a901d2d 暂停层组A:只读覆盖层本体+badge工厂件收编+营地钥石徽迁移(迭代17卡③T1)
- ui_kit.gd 新增 KeystoneBadge 徽章工厂件(Q10 甲裁决收编):钥石徽形制参数化
  (烛光黄底 CANDLE+木描边 CAMP_HEADER_BAND+icon_rect 守卫装载缺位纯文本回退+INK_ON_GOLD
  深墨字,value_label/set_text 面),消费方=营地覆盖层+暂停层——零新素材零新色值,值全取现行 token
- camp_overlay_view.gd 钥石徽本地拼装(原 :79-92 panel_flat+icon_rect+label 三段)迁
  UiKit.keystone_badge 工厂调用,形制参数逐项同原装配=观感零变化,消单点重复
- 新增 presentation/views/pause_overlay.gd:局内暂停层·只读——标题区+钥石余额行(badge 工厂件)
  +属性锻造三行已购等级/道具工坊六行解锁态(文案判据同营地柜台:退役>封存>已解锁>未解锁)
  /天赋树已购概览(已购节点等级+Fork 激活侧聚合文案,空态句)+「继续」关闭钮(代拍板:紧凑 90
  返回钮形制沿用设置面先例);全部经 UiKit 工厂拼装(modal_shell/panel_skinned/label/button/
  keystone_badge)零裸色值零自建样式(R1);零 tween 零 AnimationPlayer=零动效直开直关(R5/P4 甲)
- main.gd 接线:PauseOverlay 实例化+登记 modal_stack 登记册设置层同档(确认弹窗之前——P2 甲,
  登记序=树序=z 序纪律段同步换代)+closed 接 _on_pause_closed(模态栈单口收口)+
  _pause_data() 快照投影(R4:实时读 MetaProgression 访问器 keystone_balance/forge_level/
  workshop_status/tree_camp_rows/tree_fork_groups,行序复用营地屏同序〔MetaTable.FORGE_ATTRS〕,
  快照仅单次开层生命周期、每次开层重建)+_open_pause_layer() 开层口(_open_modal 单口)
- 纯呈现零数值改动=零 MC;核心层零改动(meta_progression/save_manager 未触碰)
- 轻闸:冒烟 783/0 + ui_struct_probe PASS(基线对拍 T0:783/0 零漂移)
2026-10-06 21:41:14 +08:00
DKChan 5e2fa8bb87 feat: 审计差距②③背景/形态三件(T5-T8)——T5 屏底氛围层单点(backdrop_tile 0.14/vignette/beams/地图渐变 #4A3B2A→#3A2E22@40%;start/map/camp 三面旧满铺石纹退役,地图换层 tint 保 0.14 档)+T6 商店全屏页壳(page_shell 56px 通栏顶条+爬价规则行 set_visit_info〔shop_bp_visit_buys×shop_price_a 投喂三口〕+底注池源;bcard D1=232×352+图标槽 76/60)+T7 三选一同壳全屏(GP 汇总行+底部确认钮+免费注记)+T8 设置两列对齐(label 定宽 140/why 内联/返回 90 紧凑;减动效行核证=reduced_motion 单设置同驱 motion_scale+结算演播,demo 两行系同一设置不拆)——冒烟782/0+probe_gate --click全绿 2026-10-06 07:15:49 +08:00
DKChan c32bb6ca08 fix: 续玩停点恢复 main.gd:717 崩值(用户实机 F5 定位)——resume_adventure 三选一停点分支在 level_started 之前同步 curio_choice_presented.emit〔resume 提前 return〕,GP 总结 lambda 求值时 runner 尚未赋值(null.gp 炸);修=_gp_summary_text runner 缺位守卫+断点快照 gp 兜底(合计语义=恢复面合计即存档合计,与 _bonus_summary_text 同款守卫式);回归=ui_struct_probe⑦resume 专项(先红后绿实证:Nil.gp 同栈复现→修后总结面开+快照合计 24 断言);轻闸冒烟782/0+run_all 16套+probe_gate --click 全绿 2026-10-06 05:09:50 +08:00
DKChan e0fd7cb8d7 iter16ui T6:P3甲FS_*六档字号档位表立项(CAPTION12/HINT14/BODY16/SUB18/TITLE24/H1=34)+全库裸字号归档107位点(就近映射;4动态位点除外;settlement_fx两处span错位写入当场修复)+11px六处提FS_CAPTION并入P11豁免清单+art-bible §7.4档位表与豁免清单落文(条带内读数=血数一处;caption档逐处清单);轻闸冒烟782/0+三探针+layout全绿 2026-10-06 03:38:51 +08:00
DKChan 6812ebbb73 奇物批T3+T4:relic_*→feat_*词族全换(feat_table.gd/feats.tres/feats_engine.gd三文件改名+.uid+feat_flags/feat_id/feat_row等全token+config_db注册键feats两端+entities.yaml换代注记——kind值relic/身份前缀relic:/relics存档键/摘要键按数据契约保留);T4渠道白名单过滤(_draw_curio_candidates(channel):通关渠道只出专长/节点渠道零专长——过滤式不拆池,TIER_QUOTAS锚零改动,devour货架保底随渠道定位退役,迁移保feat_id,pick_curio测试feat_id透传;冒烟773/0+run_all 16全绿+断点往返PASS) 2026-10-05 19:28:20 +08:00
DKChan 8e2694de49 奇物批T2:运行层bonus_*→curio_*全族换词(_curio_pending/deck/taken/result/candidates+pick_curio/apply_node_curio/curio_choice_presented/curio_resolved等+两文件改名curio_interact_controller/curio_pick_overlay含.uid+CurioPickOverlay/CurioInteractController类名);T2裁点甲案自裁=五存档键引号字面量禁改(全仓对拍六形态全等);_bonus_treasure_carry按T0澄清剔除(秘宝语义);非奇物bonus语义保全(加算区bonus/price_level_bonus/attack_bonus/bp_bonus等);reward_overlay_test红转绿适配(M7 bcard换PanelContainer致c is Button恒0——改数_choice_box子节点数断言语义不变,run_all 16套全绿历史首次) 2026-10-05 18:44:51 +08:00
DKChan cd73e62346 秘宝批T7组E-2:内部标识符全族换词(inventory/unlocked/replace/overlays/slot/settlement use_aux等60+token)+存档键零触碰专项核通过(37文件六键普查零差异,点号访问零存在)+行为探针四件全绿+任务书§1.2基线回填(755/0实测) 2026-10-05 08:46:51 +08:00
DKChan 2532c8fceb 秘宝批T4组B-1:aux_items.gd/aux_item_table.gd/aux_items.tres/aux_interact_controller.gd 四文件+类名→treasure词族(.uid稳定/.tres ext_resource同步/--import重刷,冒烟755/0) 2026-10-05 08:29:32 +08:00
DKChan b4b8bb37e0 秘宝批T1组A+D:玩家可见文案5处+注释层「魔法道具」→「秘宝」全清(敌方语汇/道具工坊分色保全,冒烟755/0) 2026-10-05 08:27:04 +08:00
DKChan ac3cee7daa MC-1 商店独立刷新机制(UI落码第三波收官核心批)——level_runner新增shop_refresh/free_left/cost三面(GP扣费+货架整架重抽shop_draw同签+付费计数进离清零)+adventure_table三旋钮(免费0/基价20/曲线1.8 provisional)+shop_overlay刷新钮转正(set_refresh_display投喂面)+presenter on_shop_refresh+main接线+冒烟5断言(752/0)+关卡节点地图v1.6换代+冒险结构v0.15回写。机制=P-C2+Q2裁(基础免费0/天赋增益位预留/GP ceil(20×1.8^n)/池源同源)。闸=冒烟752/0+probe_gate全绿+layout 0 2026-10-05 03:51:10 +08:00
DKChan 3d6078494b M9 结算屏双情绪+回看退役(UI落码第三波)——①印章52px嵌封印旗②三行账GP/钥石/本关加成(组合根投影_bonus_summary_text)③GP数字滚动0.8s守减动效④庆祝idle浮动占位⑤败徽记灰化+行维持隐藏(P-C4/OQ14)⑦粒子两套并存+调试浮窗风格开关(P-C5);P-C7明细回看退役=settlement_review_overlay删除+band点击撤+明细回看钮撤+main.gd四处接线清+click探针两段退役+battle.md换代。闸=冒烟747/0+probe_gate全绿+layout0+fx_probe全链路通过 2026-10-05 03:23:08 +08:00
DKChan 46dadbb45d 迭代14.5调试整合批·补遗:上次提交漏暂存的11个修改件收编——main.gd接线(角标入口/浮窗构建挂树序末/模态登记/处理器更名_show_debug_overlay/_close_debug_overlay+对局随开随收/门禁护栏)+ui_assembler(build_overlays撤TunePanel改签名+开始覆盖层三散件撤除+角落角标)+探针ui_tune_probe全量改接与ui_click_probe两处+核心/呈现/冒烟注释口径TunePanel→调试浮窗(零行为);与48c0b34同批同验证(冒烟747/0+三探针绿) 2026-10-05 00:51:15 +08:00
DKChan b3c38e0dbd 全局作用域变异批文案常规化修订(用户人闸反馈):横幅/角标/手册三处玩家可见文案改常规描述——hud_presenter.board_variant_lines 三行制(贫矿脉/回复与护甲资源减少/攻击资源增多,C区240px防裁切);main.gd 开战横幅三行 join;ui_assembler 手册句同步;地形变异.md v0.8(玩家体验句常规化+版本史);出口报告追认单换代+§六′追认结果(文案外九项 provisional 用户追认通过);机制与数值零改动;轻闸=冒烟747/0+ui_probe+ui_layout 2026-10-04 23:12:32 +08:00
DKChan f8517399a7 全局作用域变异首发批 T5 呈现三层(迭代14③号卡):settlement_fx_view +play_board_variant_banner(轮横幅先例同款——减动效=静态驻留双态;轮横幅下方叠行位);hero_info_panel_view +地形变异常驻角标段(流派件段先例——空态整节隐藏,摆位provisional归HUD框架批);hud_presenter +board_variant_lines 文案装配+refresh 接线(快照 board_variants 投影——核心→呈现唯一读取面;出战斗即隐);presentation_snapshot +board_variants 投影字段;main.gd _on_round_started 首轮快照判空发射开战横幅(普通图恒零发射);ui_assembler 玩法帮助块 +整图变异说明行(教学定稿批 P4丙「手册零再教」承载位,零交互教学) 2026-10-04 17:52:42 +08:00
DKChan 4c7931064e T4(D4): main.gd 二期瘦身——家族①三选一/替换子+家族③营地商店投影拆件(1378→1119)
新件两枚(RefCounted,仿 aux_interact_controller 房内范式):
- bonus_interact_controller.gd(241行):三选一停点编排 on_presented/present_node_bonus/
  show_pick/on_refresh/on_pick_confirmed/on_aux_replace_presented/on_replace_chosen/
  on_resolved/on_continue + TP0 复合键卡片装配 + 工坊名投影;_pending_bonus/_bonus_context
  随迁;兑付写调用唯一经 adventure.pick_bonus/apply_node_bonus/resolve_bonus_replace。
- camp_shop_presenter.gd(172行):营地开合/快照/锻造·同调·天赋树·Fork 四写口 + 商店
  pool/product 双面购买/离开;写调用唯一经 MetaProgression 原语与 LevelRunner.buy_*。
接线留组合根(ADR-0001):overlay/adventure 十三信号由组合根接至控制器 on_* 入口;
模态栈/演播后排窗/呈现刷新/fatal 经回调注入;meta/save_manager/adventure/runner 现值
回调注入——探针 isolate_save 换注 main.meta 实证 ctor 捕获会记错账(营地购买未出账),
现值回调为房内先例口径。
家族②debug 接线收口=契约3 组合根绑定面(settlement 写+_wire_battle+override/seed 取数
在组合根 UI 态)不迁移,节头注记记档——任务书族级估 ~50 行与 ADR-0001 相抵,处置在
代拍白名单「拆件归属」内。
探针缝保缝:main._on_camp_closed/_camp_data 保缝转发(click/ui_probe 直呼面);
bonus_overlay 主类公有字段维持。
行数对照:1378→1119(净减 259);对照任务书锚 ~900±50(净减 ~430)差 -160,归因=
三家族可迁清单实测上限 ~336 行(任务书自估 315),锚位与族级清单不自洽——差异进出口
报告呈用户。闸:三种子 click 绿(7/9117、11/10202、23/9156)+冒烟 718/0+run_all 15+ui_probe。
2026-10-04 07:38:48 +08:00
DKChan fec30644bd T3(D3): ArmedTimer helper——三处武装确认计时机制收口(P4乙:缝零动+视觉零变化)
新件 game/presentation/armed_timer.gd(RefCounted):武装/回落/超时/减动效档四能力
(motion_still 档判单点;elapsed 相位取数——1Hz 连续呼吸视觉零变化;窗口<=0=挂起语义)。
三处迁移:
①AP 条弃图刷新(ap_bar_view):tween 秒表(4.0s)→ArmedTimer;三探针缝
  press_refresh_for_probe/confirm_visible/press_confirm_for_probe 语义等价零动
  (click 探针 :513-515 弃图确认链断言全绿实证);字面量 4.0 升 REFRESH_CONFIRM_WINDOW_S。
②选路放弃钮(level_map_screen):_process 帧驱动倒计时+1Hz 呼吸→timer.tick+elapsed 相位;
  减动效静态半透变体语义零变化(档判据归 motion_still);真实二击路径零改。
③战斗总结结算框(main):_settlement_stop_pending 裸布尔→ArmedTimer 挂起态属性化
  (窗口 0;读=armed/写=arm/disarm——探针与冒烟直读写接缝语义零变化;main 无 _process
  无需 tick 线)。
闸:click 三种子绿(7/9191、11/7343、23/6026 帧)+冒烟 718/0+run_all 15+ui_probe 绿。
2026-10-04 07:10:00 +08:00
DKChan f1a351f3bc 流派件持有呈现v2(用户二连反馈「战斗界面/关卡选择页都看不到局内奖励」):①关卡选择页补齐——底部状态栏本关加成框内追加流派件持有行(set_relic_holdings 组合根投喂+与加成行并框任一非空整框显示);②战斗C区流派件段上移至本关强化前(构筑核心优先+防clip_contents下部裁切不可见——用户实测「战斗界面没看到」的主因候选);③投影逻辑抽 HudPresenter.relic_holdings_lines 静态共用(战斗C区/关卡页两处同源防漂移)+main 两处 open_choices 投喂;冒烟718/0三闸(基底6c20740——并行挖掘风险调研批纯文档无冲突) 2026-10-04 04:50:41 +08:00