DKChan
|
7beb9bfdd5
|
iter41-卡2:呈现层结构收敛批:67清+2豁免+2展平改善——拆私有族+六状态件+ui_kit收敛+束收拢+print删;含u14补做、并master并案与收尾产出物
|
2026-10-29 00:14:52 +08:00 |
|
DKChan
|
0529e1691c
|
fix(iter37①): T2 呈现/组合根缺陷修——蓄力档分档·庆祝句柄·互斥四口·模态 fail-fast·站桩按 id 解析
- d2 蓄力档 `_intent_charge` 布尔分档(颜色相等判据退役,深浅金同值不再误判);d4 庆祝浮动 tween 句柄 kill 纪律(close 必杀)
- d5/d6/d7/d8 互斥四口:调试钮判据并入 `_sync_sim_button` 单点、组合根两守卫补模拟态/冒险态、`is_running()` 运行态查询面
- d9 ModalStack open/close fail-fast+遮挡账合并非覆盖(重复 open 不再吞旧账);d12 target_id 产发(damage_controller 四处)+站桩两口 id 先名兜底;d17 await 后实例守卫;d18 参数类型注解
- 断言:standee_fx_sweep_test(新增,18 项)/modal_flow_test V6-5(5 项 wd9,V6-1~4 原样同绿)/damage_controller_test target_id/pacing_queue_test 排播 target_id/system_test wd6+wd7
- 代拍板:d18 卡片字面 `lumas_out: Array[Variant] = null` 在 Godot 4.7 解析报错(typed array 不可默认 null),改用 `Variant = null`——唯一合法注法,零行为变化,随代拍板追认单留痕
|
2026-10-25 03:49:05 +08:00 |
|
DKChan
|
1b9736f065
|
fix(iter37①): T1 core 域缺陷修——单据归属判定/数值入表/公式单点/信号契约载体统一
- d1 伤害控制器来源敌作废判定 `==`→`is_same`(同内容异实例不再误废;夹具双敌两断言〔wd1〕)
- d11 shop 表新增 relic_base_price/spend_discount 两 knob+域检+ConfigDB 访问器+level_runner 读表;
level_shop_economy_test 三表值断言+relic 现价读表与迁移前字面量逐位等价〔wd11〕
- d16a HeroTable.display_name+域检+访问器+unit_container 读表;spawn 真实链断言〔wd16〕
- d14 board_generator 目标雷数公式单点 target_mine_count(两调用点改引)+legality 去 db 参数(两调用点同批改)〔wd14〕
- d15 蓄力层上限 CHARGE_LAYER_CAP 常量(两处字面量+注释随动)
- d16b unit_container/status_container 六处 Dictionary 取值显式 int() 包裹(读侧包)
- d10 minesweeper 两信号按 §2.1 三要素补契约(载荷键集按发射位并集实查)+全库 28 处信号注释载体 #→##
撤销证明:回退 d1 hunk → 同容异实例断言红(A 单据被 B 死亡误废),还原复绿;
回退 d10 契约 → 契约在位扫描 undocumented=2 红,还原归零。等价类申报(d11/d14/d15/d16)见实现报告。
代拍板:#1 target_mine_count 签名(照接口块)、#2 契约措辞与载荷键并集(实查发射位)、#4 int() 读侧包写法。
|
2026-10-25 03:35:55 +08:00 |
|
DKChan
|
6d601d23dc
|
chore(禁写变更记录批): 版本历史节/日期批注全面废除——gdd_lint R4 反转禁设+三工具去豁免+48 文档删节+game/README 流水段删+代码注释 900 余行轨迹标签清偿(约束句保留)+规约/skills 五层指令面同批改指 git 沿革
|
2026-10-20 00:22:18 +08:00 |
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
48c0b343a6
|
迭代14.5调试整合批:主菜单三散件(随机种子/数值调整板/两层调试)收一张调试浮窗DebugOverlay——入口=开始覆盖层右下角「调试」角标(与主按钮组非平级,DS_DEBUG=1门控保留迭代8卡④口径),浮窗=可扩展滚动列表页(种子/数值调整/批量模拟/两层调试四区块,后续项往下追加)悬浮于菜单之上不隐藏开始层(Dialog形态同确认弹窗先例,TunePanel互斥形态退役),仅开始菜单可开(_show_debug_overlay门禁护栏——用户裁对局中不可达),两层调试入口随开随收;TunePanel整体吸收退役(git rm含.uid);探针ui_tune_probe改接+缺陷⑤断言语义翻转(浮窗树序必须在开始层之后)+ui_click_probe两处改接;四拍板P1甲/P2乙/P3仅菜单/P4可扩展列表全落(2026-10-04用户裁);核心/呈现注释TunePanel口径同步调试浮窗(零行为);冒烟747/0+探针tune/click/ui三绿(worktree首跑先--import建类名缓存+主区art资产补拷)
|
2026-10-05 00:50:13 +08:00 |
|