docs: 迭代27定义已入库
This commit is contained in:
1 parent
1e5df2fd64
commit
009a63c4a8
3 files changed
+201
-3
No files matched your search
@@ -593,3 +593,13 @@
|
|||||||
|
|
||||||
**状态**:备忘(不阻塞,不排期)
|
**状态**:备忘(不阻塞,不排期)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
#### 代码架构技术债修复批——需求卡片已写(2026-10-14 登记)
|
||||||
|
|
||||||
|
**现状**:[代码架构与实现质量审计报告-2026-10-14](../research/代码架构与实现质量审计报告-2026-10-14.md)(双席审计,基线 97de02c;同日第三方逐条复核:主体结论全部成立,五处计数级瑕疵已修正落文)确诊 2 条 P0(全产品单场景/局态手工复位清单)+ 6 条 P1(_settle 巨函数 259 行/刷新双账/GP 影子账/共享可变字典跨三层/组合根不可测/类型闸缺位)+ 7 组 P2 卫生件。用户已裁:全部技术债修复允许放行单一大迭代(12-14 个工作日,2026-10-14 裁决记录)。需求卡片=[需求卡片-代码架构技术债修复批-2026-10-14](../research/需求卡片-代码架构技术债修复批-2026-10-14.md)(**v1.2**,五波:场景拆分+局生命周期 → _settle 拆段 → 账本收口 → 组合根抽取+模态内聚 → 类型闸+卫生件;核心验收=重构前后同种子完整局输出逐位一致)。
|
||||||
|
|
||||||
|
**归属**:工程债/重构批(core/presentation 结构面;零行为变更契约)
|
||||||
|
|
||||||
|
**状态**:**🔄 U0 已开工(2026-10-14 用户令编入迭代 27 卡①+同日 /goal+iter 27 发令)**——卡片 v1.2 三点已裁全按推荐案(①SaveManager/MetaProgression=第三个 autoload/②Ledger=单类持四账/③_settle=审计五段),零待裁点;批入库后本条销号
|
||||||
|
|
||||||
@@ -0,0 +1,187 @@
|
|||||||
|
# 需求卡片:代码架构技术债修复批(场景拆分 · 局生命周期 · 战斗结算拆段 · 账本收口 · 类型闸 · 卫生件)
|
||||||
|
|
||||||
|
- 版本:v1.2(2026-10-14 成文 v1.0;同日用户令**编入迭代 27 卡①**——roadmap 迭代行已更新,M4 数值批顺延 28+。v1.1→v1.2:**§10 三点待裁全裁**(2026-10-14 用户三裁,全按推荐案:①第三个 autoload/②单类持四账/③审计五段)——零待裁点,卡片成立)
|
||||||
|
- 来源:[代码架构与实现质量审计报告-2026-10-14](代码架构与实现质量审计报告-2026-10-14.md)(双席审计,基线 master 97de02c;**同日已经第三方逐条复核:主体结论全部成立,五处计数级瑕疵已随批修正落文**)
|
||||||
|
- 归属:工程债/重构批(凭审计证据直接写卡,无设计定稿前置——2026-10-10 立规:缺陷修复/工程债/重构类工程需求无设计前置要求)
|
||||||
|
- 排期:**已编入迭代 27 卡①**(2026-10-14 用户令;用户裁决记录:全部技术债修复允许放行单一大迭代,12-14 个工作日在允许时间范围内;**开工门=U0 已满足**——三点已裁(见版本行)+用户 /goal+iter 27 发令,U0=2026-10-14 开工;M4 数值批顺延 28+)
|
||||||
|
|
||||||
|
## 1. 目标与完成定义
|
||||||
|
|
||||||
|
把审计报告 2 条 P0 + 6 条 P1 + 7 组 P2 一次性收口,按审计裁定的批内顺序五波推进:
|
||||||
|
|
||||||
|
1. **场景拆分 + 局生命周期物化**(P0-1/P0-2):按「屏」切场景壳(开始菜单根场景 + 营地场景 + 冒险场景内含关卡/战斗两容器),「一局」物化为可整体 `queue_free()` 的节点,手工复位清单消亡;13 个 smoke 探针挂载假设同批迁移;
|
||||||
|
2. **战斗域重构**(P1-1/P1-4):`_settle()` 五段拆 Segment 类(grant/aura/combat/decay/verdict),编排器退为段序编排 + 行发射;共享可变字典四本账收拢为显式 Ledger 类;
|
||||||
|
3. **账本收口**(P1-2/P1-3):刷新次数删 main 副本、HUD 只读快照;summary 增 `gp_final` 键、删 GP 影子账本;
|
||||||
|
4. **组合根可测化抽取 + 模态协议内聚**(P1-5/P2-7):main 的「模式状态机 + 输入锁 + 模态编排」抽无 UI 纯逻辑类;ModalStack 内聚「互斥域/排除组」;
|
||||||
|
5. **类型闸收尾 + 卫生件包**(P1-6/P2-1~6):project.godot 拉起 gdscript warning 闸 + 存量 73 处收口;死代码 16 处删除、绝对路径 autoload ×4、字符串 Callable 8 位、裸字符串状态机 enum 化、ConfigDB 越权退出归根、resolver 类型软环解耦。
|
||||||
|
|
||||||
|
**完成定义**:五波全落码;**重构前后同种子完整局输出逐位一致**(核心验收,见 §7);批末四闸(冒烟+单元测试+场景探针+改前改后读数对拍)全绿;10 个迁移探针 + run_all 套件全绿;render_gate golden 对基线零漂移;06 登记销号、active.md 快照、反哺点列明待裁。
|
||||||
|
|
||||||
|
## 2. 现状事实(2026-10-14 复核修正版审计证据,行号=当前树 master 1e5df2c〔迭代 26 已入库〕,与基线 97de02c 差异处另注;开工自行复核)
|
||||||
|
|
||||||
|
### 2.1 P0 面(单场景 + 手工复位)
|
||||||
|
|
||||||
|
- `game/project.godot`:`run/main_scene` 唯一(:14),autoload 仅 ConfigDB/RngService 两个(:19-20);全文无 gdscript warning 配置。
|
||||||
|
- `presentation/main.tscn`:仅 1 个 Control 节点挂 main.gd(全文件 13 行);产品代码 `.instantiate()` 调用 **0 处**;全项目 14 个 .tscn 中 13 个在 smoke/ 下为测试探针。
|
||||||
|
- `presentation/main.gd` 1385 行:`_build_ui()` :204-361(基线口径 160 行)程序化构建四区 + 12 个模态层(:358-360 登记清单);`_on_battle_end_continue` :647-657 手工置空 runner/settlement/adventure/_adventure_mode + `debug_overlay.reset_sliders()`;`_reset_run_scope` :555-559 只清 3 项;局态旗 ≥7 个散布类顶(:53-56,76-78,129-131);前科注释 :789-792(续玩分支 runner 未就绪实机崩值,2026-10-06 定位)。
|
||||||
|
- smoke 探针 10/13 挂载整个 main.tscn 才能测任何 UI(ui_probe.gd:15 等;fx_shot/shot/t17_defer/ui_audit/ui_click/ui_input/ui_layout/ui_struct/ui_tune 同形态)。
|
||||||
|
|
||||||
|
### 2.2 P1 面
|
||||||
|
|
||||||
|
- **结算巨函数**(battle_orchestrator.gd,全文件 1725 行、类级状态 40 个 var :62-98 为主、≥5 层缩进行 80 行全项目最高):`_settle()` :632 起 259 行;嵌套 7 层 :562;`counter_add` 兑付三行组 ×5(:681-683,740-742,775-777,837-839,1191-1193);`grant_material` 兑付块 ×3(:690,782,1217);`reveal_tiles` 检查 ×3;效果 kind 字符串分派全文件 24 处(_settle 本体内 14 处)。姊妹病灶:`damage_controller.gd:272` `_resolve_hero_attack()` 148 行。fan-out 引用 core 类约 13 个。
|
||||||
|
- **刷新双账**:权威计数 `battle_orchestrator.gd:73`(受理门槛 :1522 `can_refresh()`);呈现另计 `main.gd:129`,HUD 余量 = 表上限 − main 自计(:1240)。快照 :1487 已携带 `refresh_used`(修复通道现成)。
|
||||||
|
- **GP 影子账**:`presentation/gp_shadow_ledger.gd` 全件(表现侧镜像,头注自认手工镜像);根因链:`adventure_runner.gd:1022-1035` summary 11 键无 final GP + :1046 `close_wallet()` 清零先于 :1052 `adventure_finished.emit(summary)`。
|
||||||
|
- **共享可变字典**:`level_runner.gd:501-521` begin_battle 载荷携带 attune_charges/vision_counter/bonus_ref/adventure_counters 四共享 dict 引用;`battle_orchestrator.gd:79,86-88` 持引用直写(:79 注释自认「use_treasure 消费直改」);`level_runner.gd:50` `_ledger` 同为字典引用共享。
|
||||||
|
- **组合根不可独立测试**:`curio_interact_controller.gd:35-37` 构造 16 参(11 个组合根 Callable);`camp_shop_presenter.gd:25-40` 13 参;`tests/unit/presentation/pacing_queue_test.gd:17` 必须 load 整个 main.tscn 挂整树驱动(tests 全库唯一直接 load main.tscn 的套件)。
|
||||||
|
- **类型闸缺位**:无类型 Array/Dictionary 游戏代码 73 处(core 53 / data 9 / presentation 11,如 `adventure_runner.gd:78,95`、`effect_engine.gd:94-95`、`main.gd:69`);core 无返回类型函数 12 处(`reward_economy.gd:109,124,136,151` 等);无类型参数(`attunement.gd:12`、`board_generator.gd:18,83`)。`code-conventions.md` 第 4 章「语言纪律」第 2 条有明文(Dictionary 取值参与算术前显式声明类型),无机器闸。
|
||||||
|
|
||||||
|
### 2.3 P2 面(卫生件)
|
||||||
|
|
||||||
|
- 死代码 16 处(复核抽查 10 处全部零调用确认):`_attune_row`(battle_orchestrator:216)、`_fx_dispatch`(damage_controller:102)、`clear_variants`(board_data:61)、`combo_of`(effect_engine:417)、`treasure_active_rows`/`treasure_live_ids`(config_db:253,273)、`attunement_counters`(save_manager:419)、`has_board`(minesweeper_rules:41)、`holding_count`/`discard_item`(treasure_items:68,83)、`has_pending`(curio_interact_controller:58)、`font_probe`(stage_world:17)、`selected_id`(curio_pick_overlay:170)等;**FeatsEngine 整文件零调用**(仅注释提及,class_name 仍全局注册)。
|
||||||
|
- 绝对路径取 autoload ×4:`main.gd:174,190,481,1351`(Godot 4 有编译期注入全局名,字符串路径零防护)。
|
||||||
|
- 字符串式 Callable ×8 个调用位(10 个字面实例):battle_orchestrator:105,390,391 / damage_controller:98 / adventure_runner:940,951(:951 一位 3 实例)/ level_runner:166 / main:191。
|
||||||
|
- 裸字符串状态机:adventure_runner 12 行(:120,159,176,263,269,277,402,894,974,1049,1051,1071)+ standee_body 4 行(:334,373,380,387);正解示范在役 = `action_economy.gd:12-23`(内部 enum + match + 外部 String 契约 getter)。
|
||||||
|
- 长函数 17 个:`main.gd:204` 160 行(基线口径)、`level_map_screen.gd:72` 155 行、`camp_overlay_view.gd:55` 152 行(基线 142,迭代 26 增长)、`debug_overlay.gd:159` 114 行(基线口径)、`treasure_item_table.gd:87` 149 行。
|
||||||
|
- ConfigDB 越权退出 + resolver 类型软环:`config_db.gd:75-82` `_fatal` 直接 quit(1)/OS.crash(`main.gd:176-179` 已有同通道 fatal 屏);`config_db.gd:57` 持 ConfigDbResolver,`config_db_resolver.gd:14` 反向持 ConfigDb——双向类型耦合。
|
||||||
|
- 模态「开态=可见性」:`modal_stack.gd:39-43` has_open() 遍历 visible 位;`main.gd:404-409` 输入锁 = 栈查询 + 三例外 + 排除式(:407-408 注释记录过棋盘永久锁死事故)。
|
||||||
|
- lambda 连接 76 处(presentation 6 / smoke 62 / tests 8,复核修正值)——实读无泄漏,本批不动、仅登记防回归。
|
||||||
|
|
||||||
|
### 2.4 冒烟基线与验收设施
|
||||||
|
|
||||||
|
- 冒烟 1055/0、run_all 25 套(active.md 快照,2026-10-14 迭代 26 出口;开工日复核)。
|
||||||
|
- 确定性 RNG:`core/rng_service.gd:95-108` 单盐派生 + 全事件日志,同种子逐位复现能力在役——**本批全部重构的验收手段基础**。
|
||||||
|
- MC 对拍设施在役(迭代 24 先例:同种子配对 40 局×both 位移在带);render_gate golden 逐像素比对(容差灰度差 ≤16 且 changed ≤2%)。
|
||||||
|
|
||||||
|
## 3. 设计契约(红线,违反=L3 停机呈报)
|
||||||
|
|
||||||
|
- 🔴 **零行为变更**:重构前后同种子完整局输出逐位一致为硬验收;任何输出漂移(含信号时序、结算行序、日志行)= L3。数值/表值/效果词表/难度零调整,纯结构重构。
|
||||||
|
- 🔴 **只拆不重写**:场景拆分只拆屏容器 .tscn 壳,视图继续代码构建;**40+ 个 views/*.gd 不转 .tscn**(审计裁断④明确反对——破坏全部探针契约且收益为零);战斗屏视图代码原样搬。
|
||||||
|
- 🔴 **探针契约零破坏**:13 个 smoke 探针挂载假设同批迁移(它们就是切分作业的回归保障);`board_view.gd:8-14` 探针零改造契约不破。
|
||||||
|
- 🔴 **信号纪律不变**:信号连接唯一归组合根(ADR-0001);core 零 presentation 反向依赖维持;runner 转发族命名方法 Callable 纪律(禁 lambda 捕获 self 成环)不破。
|
||||||
|
- 🔴 **执行顺序锁**:①场景拆分与局生命周期先行 → ②战斗域重构 → ③组合根抽取(场景拆分后重估再动)→ ④类型闸收尾(其他重构全部落地后才拉得起 Error 级)→ ⑤卫生件随批顺手带。最大两件(场景拆分 / _settle 拆段)各自全量冒烟回归,分波提交、逐波全绿。
|
||||||
|
- 🔴 **渲染零漂移**:render_gate golden 对基线零新增(观感零变化;场景拆分后节点树变更不得改变任何一帧输出)。
|
||||||
|
|
||||||
|
## 4. 范围边界
|
||||||
|
|
||||||
|
**做**(五波,见 §1):P0×2 + P1×6 + P2 七组全部。
|
||||||
|
|
||||||
|
**不做**(去向):
|
||||||
|
- views 全面 .tscn 化 → 审计明确反对,永不进批(除非用户另裁)。
|
||||||
|
- 任何玩法/数值/内容/观感变更 → 不属本批;数值欠账归 M4 数值批(迭代 27+ 未排期)。
|
||||||
|
- 长函数 17 个中非结算段的装配/校验函数(`_build_ui` 随场景拆分自然解体;schema 校验器群)→ 不单独修,登记 06 观察。
|
||||||
|
- 关卡节点图重构、键盘/手柄输入等 06 在册项 → 各归其批。
|
||||||
|
- 审计报告「用户场景预想评估」外的进一步架构演进(如 ECS 化、全面事件总线)→ 无此需求,禁越权发挥。
|
||||||
|
|
||||||
|
## 5. 关联文档同步面
|
||||||
|
|
||||||
|
| 文档 | 关联点 | 同步义务 |
|
||||||
|
|---|---|---|
|
||||||
|
| [06-待办清单](../gdd/06-待办清单.md) | 本卡登记条(「文档与结构」节);批入库后销号 | **机械面,随批** |
|
||||||
|
| active.md | 批收口快照惯例(五波分波记录) | **机械面,随批** |
|
||||||
|
| roadmap | 迭代 27 行=本批(2026-10-14 用户令编入,M4 顺延 28+) | **机械面**,已随编入更新 |
|
||||||
|
| [07-体验验证清单](../gdd/07-体验验证清单.md) | 新增目检节:全流程操作观感零变化走查 | **机械面,随批**登记(不阻塞) |
|
||||||
|
| design/dev/architecture/architecture.md + ADR 系列 | 场景分层/局生命周期物化/Ledger 类化/组合根抽取均改变其陈述 | **反哺点**(实现报告列明待用户裁决,另批落文;不随批更新) |
|
||||||
|
| design/dev/code-conventions.md | 类型闸拉起后 §4 语言纪律有了机器闸;模态「互斥域」新纪律 | **反哺点**(同上) |
|
||||||
|
| 审计报告本体 | 中间文档「吸收即死」——批入库后结论迁现行事实源,报告按退役规则处理 | **机械面,收口时** |
|
||||||
|
| 08-Alpha版本标准 | 无对应条目(技术债非内容项) | 无关联文档 |
|
||||||
|
|
||||||
|
## 6. 任务卡
|
||||||
|
|
||||||
|
### T0 基线与复核(≈0.5d)
|
||||||
|
|
||||||
|
1. §2 全部 file:line 开工复核(基线 97de02c 与当前树差异点重核)。
|
||||||
|
2. 逐位一致对拍基线建立:同种子完整局输出落 sim-data 对拍锚(重构前锚),对拍脚本入 tools/。
|
||||||
|
3. 探针挂载假设清单:10 个探针逐一列「挂 main.tscn 得到什么」迁移对照表。
|
||||||
|
4. 冒烟/run_all/render_gate 三基线冻结登记。
|
||||||
|
|
||||||
|
### T1 场景拆分 + 局生命周期物化(≈4-5d,第一波)
|
||||||
|
|
||||||
|
1. 屏容器 .tscn 切分:开始菜单根场景 + 营地场景 + 冒险场景(内含 level_map/battle 两容器);视图代码原样搬,零 .tscn 化改造。
|
||||||
|
2. SaveManager/MetaProgression 升格跨场景持有者(形态见 §10 裁点①)。
|
||||||
|
3. 「一局」物化:run-scope 节点持全部局态(7+ 局态旗收编),终局 `queue_free()` 即复位;`_on_battle_end_continue`/:647-657 与 `_reset_run_scope`/:555-559 手工清单删除。
|
||||||
|
4. 10 个 smoke 探针挂载假设同批迁移。
|
||||||
|
5. 每步对拍 + 全量冒烟回归(本波最大件,独立成提交波)。
|
||||||
|
|
||||||
|
### T2 _settle 拆段(≈1.5d,第二波)
|
||||||
|
|
||||||
|
1. 五段各抽 Segment 类(grant/aura/combat/decay/verdict,段边界见 §10 裁点③);编排器退为段序编排 + 行发射。
|
||||||
|
2. 24 处 kind 字符串分派随段归位;counter_add/grant_material 重复块随段单点化。
|
||||||
|
3. `_resolve_hero_attack()` 148 行同批拆段(姊妹病灶)。
|
||||||
|
4. 逐位一致 + 全量冒烟回归(独立提交波)。
|
||||||
|
|
||||||
|
### T3 账本收口(≈1.5d)
|
||||||
|
|
||||||
|
1. 共享四本账收拢显式 Ledger 类(接口口径见 §10 裁点②);战斗侧只拿 read+append 原语;战末 export/开局 seed 时点语义不变。
|
||||||
|
2. 刷新双账:删 `main.gd:129` 副本,HUD 只读快照(:1487 通道现成)。
|
||||||
|
3. GP 影子账:summary 增 `gp_final` 键(清账前快照),删 `gp_shadow_ledger.gd` 全件;ui_probe 影子账断言换代为 summary 键断言。
|
||||||
|
|
||||||
|
### T4 组合根可测化抽取 + 模态协议内聚(≈1.5-2d)
|
||||||
|
|
||||||
|
1. main 的「模式状态机 + 输入锁 + 模态编排」抽无 UI 纯逻辑类(依赖仅 ModalStack + 查询 Callable)——**场景拆分落地后重估抽取面再动**(审计原注)。
|
||||||
|
2. 控制器构造参数收拢为 context 对象(curio 16 参/camp 13 参)。
|
||||||
|
3. ModalStack 内聚「互斥域/排除组」概念,开态谓词随层登记;`main.gd:404-409` 排除式拼装消亡。
|
||||||
|
|
||||||
|
### T5 类型闸收尾(≈1.5d,**必须在 T1-T4 全部落地后**)
|
||||||
|
|
||||||
|
1. project.godot 拉起 gdscript warning 级别让存量显形(untyped_declaration 等)。
|
||||||
|
2. 存量 73 处无类型容器 + 12 处无返回类型 + 无类型参数随批收口;新码一律收口。
|
||||||
|
|
||||||
|
### T6 卫生件包(≈1.5d,随批顺手带)
|
||||||
|
|
||||||
|
1. 死代码 16 处删除(FeatsEngine 整文件退役含 class_name 注销)。
|
||||||
|
2. 绝对路径 autoload ×4 改编译期全局名引用。
|
||||||
|
3. 字符串 Callable 8 位改 `self._method` 引用形式。
|
||||||
|
4. 裸字符串状态机 enum 化(action_economy.gd:12-23 同款:内部 enum + match + 外部 String 契约 getter 零变化)。
|
||||||
|
5. ConfigDB `_fatal` 退出归根(main.gd fatal 屏通道);resolver 对门面改持 Callable 诊断通道(validator 已成形先例)。
|
||||||
|
|
||||||
|
### T7 文档同步闸与全闸(≈0.5d)
|
||||||
|
|
||||||
|
1. §5 机械面更新完毕+反哺点列明待裁。
|
||||||
|
2. 07 登记目检节。
|
||||||
|
3. 批末四闸全绿合并;审计报告退役处置。
|
||||||
|
|
||||||
|
**估时合计 ≈12-14d**(审计口径,T0 含对拍基建)。**切分预案**:天然切分点 = T1 出口(场景拆分单独可成批);若全批超软盒,T4 组合根抽取 + T5 类型闸 + T6 卫生件可拆出为后续批(审计原注:T4 场景拆分后重估、T5 必须在其他重构落地后)。T2/T3 不拆(战斗域重构半落比不落更危险)。
|
||||||
|
|
||||||
|
## 7. 验证闸(逐需求点验收清单)
|
||||||
|
|
||||||
|
**能力验证(自动化;谁验=批末四闸闸机,全绿才合并)**:
|
||||||
|
|
||||||
|
- V1 逐位一致对拍(**核心验收**):每波出口跑同种子完整局对拍(T0 冻结锚),输出逐位一致;任一波漂移 = 该波回炉。
|
||||||
|
- V2 场景拆分:10 个迁移探针全绿 + run_all 全套;新增断言——各新屏场景可独立实例化(headless 挂屏壳断言关键节点在位);menu→camp→adventure 路径探针绿。
|
||||||
|
- V3 局生命周期:新增 headless 连开局复位断言(终局→新开局两连局,局态旗/账本/模态栈全复位、无脏状态残留);续玩断点恢复路径回归(既有测试全绿 + :789-792 前科分支专项)。
|
||||||
|
- V4 结算拆段:既有结算单测全绿 + 逐位一致;新增 Segment 类直接 new() 单测(进 run_all)。
|
||||||
|
- V5 Ledger/双账/GP:既有 counters 回灌/导出断言全绿;新增冒烟断言——HUD 刷新余量 = 快照 `refresh_used` 推导值(与 `can_refresh()` 一致);summary 带 `gp_final` 键断言;gp_shadow_ledger.gd 删除后 grep 零命中。
|
||||||
|
- V6 组合根/模态:新纯逻辑类直接 new() 单测进 run_all(25→26+ 套);既有模态探针全绿 + 互斥域断言(调试浮窗对局中可开不锁棋盘——:407-408 事故回归断言)。
|
||||||
|
- V7 类型闸:`auditor_audit_type_hints.py` 产品码 untyped 归零(或显式白名单内);project.godot warning 配置在位(源码断言)。
|
||||||
|
- V8 卫生件:死代码/绝对路径 get_node/字符串 Callable grep 零命中断言;裸字符串 state enum 化后外部 String 契约逐位一致(对拍兜底)。
|
||||||
|
- V9 渲染零漂移:render_gate golden 对基线 0.00%(任何热区 = L3);冒烟全绿(基线 1055/0,开工日复核)。
|
||||||
|
|
||||||
|
**测试方式两分法**:V1-V9 归能力验证(自动化闸;对拍跑批沿用现役 sim-data/MC 设施,**跑批发起前须用户批准**——M4 同纪律);「全流程操作观感零变化」(菜单/营地/冒险/战斗逐屏走查)归正常流程体验=用户目检,登记 07 不阻塞。
|
||||||
|
|
||||||
|
**闸口径**:轻闸/重闸按 CLAUDE.md 分级周期口径;五波各自出口全绿才并下一波;批末四闸全绿才合并;测试执行两入口铁规不破。
|
||||||
|
|
||||||
|
## 8. 异常分级
|
||||||
|
|
||||||
|
- L1(自救):迁移漏接线、断言拼写错、对拍锚取错——立红即修。
|
||||||
|
- L2(记录继续):探针迁移方式取舍、Segment/Ledger 内部命名微调、类型标注写法——登记随批内消化。
|
||||||
|
- L3(停机呈报):触碰 §3 任一红线;**逐位一致对拍任何一波漂移且半小时内定位不到根因**;render_gate golden 出现热区;场景拆分中发现某视图与 main 耦合到「原样搬」不成立(超审计预判);T4 重估后抽取面仍大到须改行为。
|
||||||
|
|
||||||
|
## 9. 代拍板白名单(超清单必呈报)
|
||||||
|
|
||||||
|
1. 新场景文件命名与目录落点(menu/camp/adventure 等屏壳名、presentation/scenes/ 之类落位)。
|
||||||
|
2. 屏容器内部节点分层命名。
|
||||||
|
3. Segment 五段类命名与文件落点(不违背 §10③ 段边界前提下)。
|
||||||
|
4. Ledger 类方法命名与 read+append 原语集形状(不违背 §10② 口径前提下)。
|
||||||
|
5. run-scope 物化形态细节(场景节点 vs 子节点挂接方式,在裁点①落定框架内)。
|
||||||
|
6. 探针迁移的最小改动方式(逐探针挂载面调整)。
|
||||||
|
7. 类型标注具体写法(Array[X] 参数化元素型选择)。
|
||||||
|
8. 死代码删除的随批位置与提交切分。
|
||||||
|
9. enum 命名(承 action_economy 先例)。
|
||||||
|
|
||||||
|
## 10. 裁决记录(三点已裁,2026-10-14 用户令,全按推荐案)
|
||||||
|
|
||||||
|
1. **SaveManager/MetaProgression 升格形态 → ✅ 甲:第三个 autoload**(RngService 先例现成,审计原话「模式现成」;跨场景天然存活,换场景零传参。乙案根场景常驻节点淘汰:换场景需手工传递引用,组合根传参链复杂化,与「场景壳薄」目标相悖)。
|
||||||
|
2. **共享账本 Ledger 类接口口径 → ✅ 甲:单 Ledger 类持四本账**(bonus_ref/adventure_counters/attune_charges/vision_counter),战斗侧只拿 read+append 原语,战末 export/开局 seed 时点语义不变。乙案每账一小型对象淘汰:粒度细但类膨胀 ×4,注入签名更长,与「收拢」目标相悖。
|
||||||
|
3. **`_settle` 段边界切法 → ✅ 甲:审计五段**(grant/aura/combat/decay/verdict),编排器退段序编排 + 行发射,24 处 kind 分支随段归位。乙案按效果词表域切三段淘汰:扫雷域/战斗域/奖励域与结算五段的时序语义不正交,aura/decay 跨域会被劈开。
|
||||||
|
|
||||||
|
**开工门=U0 已满足**(三点已裁 2026-10-14 + 用户 /goal+iter 27 发令)。卡片验收清单 §7 V1-V9 已过「测什么/怎么测/谁验」三问核验(谁验=批末四闸闸机,全绿才合并;目检项登记 07 不阻塞)。
|
||||||
+4
-3
@@ -24,8 +24,8 @@
|
|||||||
## 当前位置(2026-10-14 刷新)
|
## 当前位置(2026-10-14 刷新)
|
||||||
|
|
||||||
- **里程碑语义(2026-10-09 立规换代,详见下方里程碑表的换代注)**:现行里程碑 = **M3「Alpha 版本的完整实现」**——用户未明令宣布完成前停留 M3,迭代只排 M3 需求;M4=Beta 版本的完整实现,一律不排期。下文里程碑表的旧编号(M-3/M-4)保留作历史序列,语义以本节为准。
|
- **里程碑语义(2026-10-09 立规换代,详见下方里程碑表的换代注)**:现行里程碑 = **M3「Alpha 版本的完整实现」**——用户未明令宣布完成前停留 M3,迭代只排 M3 需求;M4=Beta 版本的完整实现,一律不排期。下文里程碑表的旧编号(M-3/M-4)保留作历史序列,语义以本节为准。
|
||||||
- **迭代进度**:迭代 19 五卡全部已入库(2026-10-08);**迭代 20=专长实装批 ✅ 已入库**(2026-10-11,出口闸全绿;残留人闸=实机目检五件+V20/V21/V22 人工核对半,07 在册);**迭代 21=天赋树实装批 ✅ 已入库(2026-10-12 U0 开工单会话交付,T0-T7 全绿;残留人闸=实机目检四柜台)**;**迭代 22=秘宝体系实现重构落地批 ✅ 已入库(2026-10-12 单会话交付,T1-T7 全绿;残留人闸=实机目检秘宝解锁-装配流程)**;**迭代 23=锻造工坊实装批 ✅ 已入库(2026-10-12 单会话交付,T0-T7 全绿;残留人闸=实机目检工作间形态与购买交互)**;**迭代 24=敌人表内容修批(三关)✅ 已入库(2026-10-13 /goal+iter U0 开工单会话交付——N1 (1,2) 降档 hp22/ac2·N2 毒吐盾击两行六池·N3 敌方 attack_type 轴全填 normal+敌方结算克制消费点;冒烟 949/0+run_all 25 套+重闸全绿+MC 同种子配对 40 局×both 位移在带;实现报告=design/qa/iter24-实现报告-2026-10-13.md;残留人闸=实机目检三观测〔07 ㉓〕;代拍板追认单+GDD 反哺点五条待用户;**本迭代位仍预留后续追加卡——用户将把其他需求陆续编入本迭代**);;**迭代 25=UI 全局主题批 ✅ 已入库**(2026-10-13 用户令编入,/goal+iter U0 单会话交付:全局主题资源 main_theme.tres 挂载+两处局部做法退役+冒烟 V1-V6 断言 38 条,冒烟 987/0+重闸全绿;实现报告=design/qa/iter25-实现报告-2026-10-13.md;残留人闸=实机目检全屏巡检〔07 ㉔〕);**迭代 26=UI 交互与观感批已编入待开工**(2026-10-14 用户令;需求卡片 v1.2 零待裁点;开工门=U0——用户新会话 /iter 26 发令;本迭代位预留后续追加卡,同迭代 24 先例);**迭代 27+**=M4 数值批(Beta 位·未排期——用户令 2026-10-07:后续新迭代一律不先做 M4;迭代 24/25/26 占位后本批顺延)。
|
- **迭代进度**:迭代 19 五卡全部已入库(2026-10-08);**迭代 20=专长实装批 ✅ 已入库**(2026-10-11,出口闸全绿;残留人闸=实机目检五件+V20/V21/V22 人工核对半,07 在册);**迭代 21=天赋树实装批 ✅ 已入库(2026-10-12 U0 开工单会话交付,T0-T7 全绿;残留人闸=实机目检四柜台)**;**迭代 22=秘宝体系实现重构落地批 ✅ 已入库(2026-10-12 单会话交付,T1-T7 全绿;残留人闸=实机目检秘宝解锁-装配流程)**;**迭代 23=锻造工坊实装批 ✅ 已入库(2026-10-12 单会话交付,T0-T7 全绿;残留人闸=实机目检工作间形态与购买交互)**;**迭代 24=敌人表内容修批(三关)✅ 已入库(2026-10-13 /goal+iter U0 开工单会话交付——N1 (1,2) 降档 hp22/ac2·N2 毒吐盾击两行六池·N3 敌方 attack_type 轴全填 normal+敌方结算克制消费点;冒烟 949/0+run_all 25 套+重闸全绿+MC 同种子配对 40 局×both 位移在带;实现报告=design/qa/iter24-实现报告-2026-10-13.md;残留人闸=实机目检三观测〔07 ㉓〕;代拍板追认单+GDD 反哺点五条待用户;**本迭代位仍预留后续追加卡——用户将把其他需求陆续编入本迭代**);;**迭代 25=UI 全局主题批 ✅ 已入库**(2026-10-13 用户令编入,/goal+iter U0 单会话交付:全局主题资源 main_theme.tres 挂载+两处局部做法退役+冒烟 V1-V6 断言 38 条,冒烟 987/0+重闸全绿;实现报告=design/qa/iter25-实现报告-2026-10-13.md;残留人闸=实机目检全屏巡检〔07 ㉔〕);**迭代 26=UI 交互与观感批已编入待开工**(2026-10-14 用户令;需求卡片 v1.2 零待裁点;开工门=U0——用户新会话 /iter 26 发令;本迭代位预留后续追加卡,同迭代 24 先例);**迭代 27=代码架构技术债修复批 🔄 U0 已开工**(2026-10-14 用户令编入+同日 /goal+iter 27 发令;需求卡片 v1.2 三点全裁零待裁——①第三个 autoload/②单类持四账/③审计五段);**迭代 28+**=M4 数值批(Beta 位·未排期——用户令 2026-10-07:后续新迭代一律不先做 M4;迭代 24/25/26/27 占位后本批顺延)。
|
||||||
- **近期主战场**:迭代 20/21/22/23 残留人闸(实机目检四批:专长五件+营地四柜台+秘宝解锁装配+锻造工作间,07 在册);**下一前沿=迭代 26 UI 交互与观感批,待 U0 发令**(需求卡片 v1.2 已成立;M4 数值批殿后顺延 27+,各批 provisional 终值归其统一标定)。
|
- **近期主战场**:迭代 20/21/22/23/24/25/26 残留人闸(实机目检六批,07 在册);**在飞=迭代 27 代码架构技术债修复批**(需求卡片 v1.2 零待裁,U0=2026-10-14 发令开工;M4 数值批殿后顺延 28+,各批 provisional 终值归其统一标定)。
|
||||||
- **实时状态**:以根目录 [active.md](active.md) 顶部「当前状态快照」节为准(`stage.txt` 已定性为旧阶段开关,仅存档)。
|
- **实时状态**:以根目录 [active.md](active.md) 顶部「当前状态快照」节为准(`stage.txt` 已定性为旧阶段开关,仅存档)。
|
||||||
|
|
||||||
## 主线路线(里程碑 × 迭代序列)
|
## 主线路线(里程碑 × 迭代序列)
|
||||||
@@ -83,7 +83,8 @@
|
|||||||
| 迭代 24 | **①敌人表内容修批(三关)(2026-10-13 用户令编入;**本迭代位预留后续追加卡**——用户将把其他需求陆续编入本迭代)**:需求卡片=`design/research/需求卡片-敌人表内容修批-2026-10-13.md`(**v1.1**——grilling 复核九问 Q1-Q9 已全裁、零待裁点、开工门=U0)。三件事合一:**N1** 第一关 (1,2) 降档(`enemy.tres:48` 改两值:`hp` 50→22、`armor_class` 3→2;**敌种 `bugbear` 不动**——`enemy.tres:594-600` 注释载明该行 50 血系 2026-09-24 用户裁决的设计而非填错,且 `hobgoblin` 无立绘,故「改敌种」案已否决;本批定性=阶名化解方案实机未达预期按 2026-10-13 体验反馈重裁)· **N2** 第二/三关普通敌技能投放(`skills.tres` 12→14 行:新增 `venom_spit` 毒吐 damage 1.6/CD2 挂 (2,5)/(2,6)/(2,7) 巨蜘蛛族、`shield_bash` 盾击 damage 1.7/CD3 挂 (3,0)/(3,5)/(3,7) 灰矮人族;**首遇教学位 (2,4) 池不动**,venom_spit 自 (2,5) 起投;两新行均不带 `rider_mult`——低 atk 下恒被 `damage_floor` 兜成 1 与 0.75 档等效)· **N3** 敌方 `attack_type` 加列并全填 `normal`(挂**敌种行**、20 行同值,不做差异化;`enemy_table.gd` 加枚举校验 + `unit_container.gd:119` 加单位快照 + `battle_orchestrator.gd:1406` 第 9 参由 `""` 改传值;全局平移=穿重甲受伤 −1 / 魔法护甲 +1 / 轻甲 0,使锻造甲路线首次具备战斗意义)。**契约要点**:池与敌种键属**契约级**,改必同步 `smoke_all.gd:3211` `expect_pools`(N1 因键值不变零改动、N2 同步 6 键);节点图拓扑零触碰(A1 关卡节点图重构的地盘);(1,1) 地精一伙不在本批范围(「第二个节点」字面偏差已登记 06)。**收口去向**:06「第一关遭遇表数值异常」「第二关技能池与投放」与锻造工坊条迁移面⑥ 三条一并销号;08「二·内容量」敌种池行注摘除 | ✅ 已入库(2026-10-13 单会话交付,出口闸全绿:冒烟 949/0+run_all 25 套〔485 批基线漂移 24→25 在案〕+探针 click/full+render_gate golden 0.00%+doc 三闸/熵增对基线零新增+MC 配对三组读数;实现报告=design/qa/iter24-实现报告-2026-10-13.md;残留人闸=实机目检三观测 07 ㉓) |
|
| 迭代 24 | **①敌人表内容修批(三关)(2026-10-13 用户令编入;**本迭代位预留后续追加卡**——用户将把其他需求陆续编入本迭代)**:需求卡片=`design/research/需求卡片-敌人表内容修批-2026-10-13.md`(**v1.1**——grilling 复核九问 Q1-Q9 已全裁、零待裁点、开工门=U0)。三件事合一:**N1** 第一关 (1,2) 降档(`enemy.tres:48` 改两值:`hp` 50→22、`armor_class` 3→2;**敌种 `bugbear` 不动**——`enemy.tres:594-600` 注释载明该行 50 血系 2026-09-24 用户裁决的设计而非填错,且 `hobgoblin` 无立绘,故「改敌种」案已否决;本批定性=阶名化解方案实机未达预期按 2026-10-13 体验反馈重裁)· **N2** 第二/三关普通敌技能投放(`skills.tres` 12→14 行:新增 `venom_spit` 毒吐 damage 1.6/CD2 挂 (2,5)/(2,6)/(2,7) 巨蜘蛛族、`shield_bash` 盾击 damage 1.7/CD3 挂 (3,0)/(3,5)/(3,7) 灰矮人族;**首遇教学位 (2,4) 池不动**,venom_spit 自 (2,5) 起投;两新行均不带 `rider_mult`——低 atk 下恒被 `damage_floor` 兜成 1 与 0.75 档等效)· **N3** 敌方 `attack_type` 加列并全填 `normal`(挂**敌种行**、20 行同值,不做差异化;`enemy_table.gd` 加枚举校验 + `unit_container.gd:119` 加单位快照 + `battle_orchestrator.gd:1406` 第 9 参由 `""` 改传值;全局平移=穿重甲受伤 −1 / 魔法护甲 +1 / 轻甲 0,使锻造甲路线首次具备战斗意义)。**契约要点**:池与敌种键属**契约级**,改必同步 `smoke_all.gd:3211` `expect_pools`(N1 因键值不变零改动、N2 同步 6 键);节点图拓扑零触碰(A1 关卡节点图重构的地盘);(1,1) 地精一伙不在本批范围(「第二个节点」字面偏差已登记 06)。**收口去向**:06「第一关遭遇表数值异常」「第二关技能池与投放」与锻造工坊条迁移面⑥ 三条一并销号;08「二·内容量」敌种池行注摘除 | ✅ 已入库(2026-10-13 单会话交付,出口闸全绿:冒烟 949/0+run_all 25 套〔485 批基线漂移 24→25 在案〕+探针 click/full+render_gate golden 0.00%+doc 三闸/熵增对基线零新增+MC 配对三组读数;实现报告=design/qa/iter24-实现报告-2026-10-13.md;残留人闸=实机目检三观测 07 ㉓) |
|
||||||
| 迭代 25 | **①UI 全局主题批(引擎原生控件接管皮肤)(2026-10-13 用户令编入;UI 美化三层诊断 · 第一层第一条)**:**✅ 已全批入库(2026-10-13 /goal+iter U0 开工单会话交付,worktree g-plan2-iter25-theme 分支 iter25-theme-20261013)**——**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` 一次性生成落 `game/assets/art/ui/gen/`,色值溯源表落 `game/assets/theme/README.md`)· **T1 换代退役**:`ui_kit.gd` 的 `tooltip_theme()`/`_tip_theme` 与 `styled_slider()` 样式段、`ui_assembler.gd` 挂载行同批删除(禁新旧并存),settings_overlay 几何内联+debug_overlay `_slider_row` 双轨消隐· **T2 断言与文档同步闸**:冒烟新增 V1-V6 主题词条断言 38 条。**顺手销号**=06 第三层「UI 元素细节修」之①(音量滑轨两段对比度重配=已填充段 BG_ROOT #3A2E22 对暖石 #B8A582 实测 5.49:1)。**契约遵守**:🔴 Button 类型词条零接触(冒烟断言在闸)· 🔴 focus 族词条零定义(全主题扫描断言)· 🔴 零新增美术素材(位图=脚本生成纯色/几何)· 🔴 全局纹理过滤未动。**引擎事实订正(呈报追认)**:Godot 4.7.2 源码+默认主题链双查实证——①CheckButton 图标词条名与 CheckBox 同套 `checked`/`unchecked`(卡片 v1.2 注③「CheckButton 用 on/off」不成立,按引擎事实落位)②Slider 无 `grabber_pressed` 图标槽(冻结表「柄·按」值 GOLD_DEEP 留档未落位)③ScrollBar 柄是 StyleBox 非 Icon(无需位图)④4.7 导入参数已无逐贴图 filter 标志(位图原生尺寸消费无滤波伪影)。**闸**:冒烟 987/0(基线 949+本批 38 断言)+run_all 25 套+probe click/full+render_gate golden 0.00%+doc 三闸/熵增对基线零新增;MC 零跑(零数值零行为=纯呈现)。**收口去向**:06「UI 全局主题资源缺失」条移除+「UI 元素细节修」①销号;08 升 v1.3(三·界面主题行→在役、五·表现细节修行注①销号);07 ㉔ 全屏巡检登记;实现报告=design/qa/iter25-实现报告-2026-10-13.md。**待用户**:实机目检全屏巡检+专项观察点二(07 ㉔,登记不阻塞)+代拍板追认单(位图不入 git 政策口径/CheckButton 词条名订正等)+GDD 反哺点(组件规格是否立条款入 art-bible §7 等)。↓ 原任务登记:三件事合一——**T0** 新建 `game/assets/theme/main_theme.tres` 并挂 `project.godot` 的 `gui/theme/custom`,覆盖滚动条 / 滑轨 / 悬停气泡 / 输入件 / 分隔线等引擎原生控件,并预盖 CheckBox / CheckButton / OptionButton 及其弹层 PopupMenu(须在新主题内显式设 `default_font`=现役同一字体文件;新增小位图落 `game/assets/art/ui/gen/`,色值溯源表落 `game/assets/theme/README.md`)· **T1** 退役 `ui_kit.gd` 的 `tooltip_theme()` 与 `styled_slider()` 两处局部做法、消 `debug_overlay._slider_row` 双轨(🔴 旧实现同批删除)· **T2** 断言与文档同步闸。契约要点:🔴 Button 类型词条零接触 · 🔴 focus 族词条零定义 · 🔴 不新增美术素材、不改美术圣经 §7 · 🔴 全局纹理过滤不动 | ✅ 已入库(出口闸全绿+实机目检归用户 07 ㉔ 在册) | T0-T2≈0.5–1d(实际单会话) |
|
| 迭代 25 | **①UI 全局主题批(引擎原生控件接管皮肤)(2026-10-13 用户令编入;UI 美化三层诊断 · 第一层第一条)**:**✅ 已全批入库(2026-10-13 /goal+iter U0 开工单会话交付,worktree g-plan2-iter25-theme 分支 iter25-theme-20261013)**——**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` 一次性生成落 `game/assets/art/ui/gen/`,色值溯源表落 `game/assets/theme/README.md`)· **T1 换代退役**:`ui_kit.gd` 的 `tooltip_theme()`/`_tip_theme` 与 `styled_slider()` 样式段、`ui_assembler.gd` 挂载行同批删除(禁新旧并存),settings_overlay 几何内联+debug_overlay `_slider_row` 双轨消隐· **T2 断言与文档同步闸**:冒烟新增 V1-V6 主题词条断言 38 条。**顺手销号**=06 第三层「UI 元素细节修」之①(音量滑轨两段对比度重配=已填充段 BG_ROOT #3A2E22 对暖石 #B8A582 实测 5.49:1)。**契约遵守**:🔴 Button 类型词条零接触(冒烟断言在闸)· 🔴 focus 族词条零定义(全主题扫描断言)· 🔴 零新增美术素材(位图=脚本生成纯色/几何)· 🔴 全局纹理过滤未动。**引擎事实订正(呈报追认)**:Godot 4.7.2 源码+默认主题链双查实证——①CheckButton 图标词条名与 CheckBox 同套 `checked`/`unchecked`(卡片 v1.2 注③「CheckButton 用 on/off」不成立,按引擎事实落位)②Slider 无 `grabber_pressed` 图标槽(冻结表「柄·按」值 GOLD_DEEP 留档未落位)③ScrollBar 柄是 StyleBox 非 Icon(无需位图)④4.7 导入参数已无逐贴图 filter 标志(位图原生尺寸消费无滤波伪影)。**闸**:冒烟 987/0(基线 949+本批 38 断言)+run_all 25 套+probe click/full+render_gate golden 0.00%+doc 三闸/熵增对基线零新增;MC 零跑(零数值零行为=纯呈现)。**收口去向**:06「UI 全局主题资源缺失」条移除+「UI 元素细节修」①销号;08 升 v1.3(三·界面主题行→在役、五·表现细节修行注①销号);07 ㉔ 全屏巡检登记;实现报告=design/qa/iter25-实现报告-2026-10-13.md。**待用户**:实机目检全屏巡检+专项观察点二(07 ㉔,登记不阻塞)+代拍板追认单(位图不入 git 政策口径/CheckButton 词条名订正等)+GDD 反哺点(组件规格是否立条款入 art-bible §7 等)。↓ 原任务登记:三件事合一——**T0** 新建 `game/assets/theme/main_theme.tres` 并挂 `project.godot` 的 `gui/theme/custom`,覆盖滚动条 / 滑轨 / 悬停气泡 / 输入件 / 分隔线等引擎原生控件,并预盖 CheckBox / CheckButton / OptionButton 及其弹层 PopupMenu(须在新主题内显式设 `default_font`=现役同一字体文件;新增小位图落 `game/assets/art/ui/gen/`,色值溯源表落 `game/assets/theme/README.md`)· **T1** 退役 `ui_kit.gd` 的 `tooltip_theme()` 与 `styled_slider()` 两处局部做法、消 `debug_overlay._slider_row` 双轨(🔴 旧实现同批删除)· **T2** 断言与文档同步闸。契约要点:🔴 Button 类型词条零接触 · 🔴 focus 族词条零定义 · 🔴 不新增美术素材、不改美术圣经 §7 · 🔴 全局纹理过滤不动 | ✅ 已入库(出口闸全绿+实机目检归用户 07 ㉔ 在册) | T0-T2≈0.5–1d(实际单会话) |
|
||||||
| 迭代 26 | **①UI 交互与观感批(2026-10-14 用户令编入;UI 美化三层诊断 · 第一层第二/三条+第三层四件;本迭代位预留后续追加卡,同迭代 24 先例)**:需求卡片=`design/research/需求卡片-UI交互与观感批-2026-10-13.md`(**v1.2**——grilling 两轮八裁全落、零待裁点、卡片成立)。六项:**T1 按钮五态矩阵**(悬停=乙案 modulate 提亮〔与 primary_button 现行 `CANDLE.lightened(0.06)` 同纪律〕/禁用=本族底+α0.45 幽灵化/焦点=INK 2px 内缩 1px/危险钮补本族 pressed;走逐实例 override,迭代 25 两条主题红线断言维持不换代)· **T2 全局纹理过滤**(`project.godot` `default_texture_filter=0`+vignette/gradient_base/beams 显式 LINEAR 白名单+翻转面全枚举)· **T3 <4.5:1 换墨**(站桩顺位/护甲徽标换同族亮档+RAP 行 STONE_DEEP,机检断言锚定)· **T4 光柱连续 alpha 渐变**(0→0.05→0 横向+纵向衰减)· **T5 元素细节余②③**(BCard 图标槽明度差降档/商店卡片区垂直居中/营地四栏等高)· **T5b 诊断转储钮移调试浮窗**(`dump_diagnosis` 功能保留)。🔴 契约 5 条(主题层零新增词条/零新美术素材/棋盘零触碰/对比度 ≥4.5:1/旧实现同批清理);验证闸 V1-V7;代拍板白名单八项;反哺点四条;**渲染闸 golden 面处置**=T6 第 4 步(徽标换墨落 board golden 裁剪区:闸红→核热区限预期面→显式重制基线+呈报→复闸,超预期=L3)。**范围订正**(grilling 实查,iter25 滑轨条同款先例):②垫块仅三选一 BCard(商店卡实为纯文字行卡)/③仅商店+营地(三选一已居中)/危险钮「无按下态」订正为「在但皮肤错配」。估时 T0-T6≈2–2.5d | **✅ 已全批入库(2026-10-14 /goal+iter U0 开工单会话交付,worktree g-plan2-iter26-ui 分支 iter26-ui-20261014 七提交)**——T0 基线+枚举(含卡片 §2.2 枚举漏项勘误)/T1 按钮五态(悬停 modulate 提亮/禁用 α0.45 幽灵化/焦点 INK 2px 内缩 1px/危险钮本族按压态)/T2 全局 Nearest+平滑渐变件 LINEAR 白名单/T3 三处换墨(GOLD_BRIGHT/HERO_BLUE_BRIGHT/STONE_DEEP,6.47/5.88/5.98:1)/T4 光柱连续 alpha/T5 图标槽柔和档+商店居中+营地四栏等高/T5b 诊断钮迁调试浮窗;冒烟 987→1055/0(+68 断言)+run_all 25 套+probe click/full+render_gate golden 0.00%(登记即结未重制)+doc 三闸/熵增对基线零新增;MC 零跑(零数值零行为=纯呈现);实现报告=design/qa/iter26-实现报告-2026-10-14.md;残留人闸=实机目检五项(07 ㉕);待用户=代拍板追认单十三项+GDD 反哺点四条 | T0-T6≈2–2.5d(实际单会话) |
|
| 迭代 26 | **①UI 交互与观感批(2026-10-14 用户令编入;UI 美化三层诊断 · 第一层第二/三条+第三层四件;本迭代位预留后续追加卡,同迭代 24 先例)**:需求卡片=`design/research/需求卡片-UI交互与观感批-2026-10-13.md`(**v1.2**——grilling 两轮八裁全落、零待裁点、卡片成立)。六项:**T1 按钮五态矩阵**(悬停=乙案 modulate 提亮〔与 primary_button 现行 `CANDLE.lightened(0.06)` 同纪律〕/禁用=本族底+α0.45 幽灵化/焦点=INK 2px 内缩 1px/危险钮补本族 pressed;走逐实例 override,迭代 25 两条主题红线断言维持不换代)· **T2 全局纹理过滤**(`project.godot` `default_texture_filter=0`+vignette/gradient_base/beams 显式 LINEAR 白名单+翻转面全枚举)· **T3 <4.5:1 换墨**(站桩顺位/护甲徽标换同族亮档+RAP 行 STONE_DEEP,机检断言锚定)· **T4 光柱连续 alpha 渐变**(0→0.05→0 横向+纵向衰减)· **T5 元素细节余②③**(BCard 图标槽明度差降档/商店卡片区垂直居中/营地四栏等高)· **T5b 诊断转储钮移调试浮窗**(`dump_diagnosis` 功能保留)。🔴 契约 5 条(主题层零新增词条/零新美术素材/棋盘零触碰/对比度 ≥4.5:1/旧实现同批清理);验证闸 V1-V7;代拍板白名单八项;反哺点四条;**渲染闸 golden 面处置**=T6 第 4 步(徽标换墨落 board golden 裁剪区:闸红→核热区限预期面→显式重制基线+呈报→复闸,超预期=L3)。**范围订正**(grilling 实查,iter25 滑轨条同款先例):②垫块仅三选一 BCard(商店卡实为纯文字行卡)/③仅商店+营地(三选一已居中)/危险钮「无按下态」订正为「在但皮肤错配」。估时 T0-T6≈2–2.5d | **✅ 已全批入库(2026-10-14 /goal+iter U0 开工单会话交付,worktree g-plan2-iter26-ui 分支 iter26-ui-20261014 七提交)**——T0 基线+枚举(含卡片 §2.2 枚举漏项勘误)/T1 按钮五态(悬停 modulate 提亮/禁用 α0.45 幽灵化/焦点 INK 2px 内缩 1px/危险钮本族按压态)/T2 全局 Nearest+平滑渐变件 LINEAR 白名单/T3 三处换墨(GOLD_BRIGHT/HERO_BLUE_BRIGHT/STONE_DEEP,6.47/5.88/5.98:1)/T4 光柱连续 alpha/T5 图标槽柔和档+商店居中+营地四栏等高/T5b 诊断钮迁调试浮窗;冒烟 987→1055/0(+68 断言)+run_all 25 套+probe click/full+render_gate golden 0.00%(登记即结未重制)+doc 三闸/熵增对基线零新增;MC 零跑(零数值零行为=纯呈现);实现报告=design/qa/iter26-实现报告-2026-10-14.md;残留人闸=实机目检五项(07 ㉕);待用户=代拍板追认单十三项+GDD 反哺点四条 | T0-T6≈2–2.5d(实际单会话) |
|
||||||
| 迭代 27+ | **M4 数值批(**原 22+;迭代 21 已编入天赋树实装批、迭代 22 已编入秘宝实装批(均 2026-10-11 用户令)、迭代 23 已编入锻造工坊实装批(2026-10-12 用户令)**;迭代 24 已由用户令编入敌人表内容修批、迭代 25 已由用户令编入 UI 全局主题批(2026-10-13)、迭代 26 已由用户令编入 UI 交互与观感批(2026-10-14),本批顺延 27+**——**Alpha 收官位·未排期**〔2026-10-09 语义换代:M4=Beta 阶段、非 Alpha 收官位,M3 未由用户明令关闭前不排期维持〕——2026-10-05 用户令编入迭代 17 卡②;2026-10-06 用户令移出独立成批并定序「Alpha 阶段最后——内容补全先行、统一数值调整殿后」〔当日曾被编入迭代 18 为收官卡,2026-10-07 用户令撤回〕;**2026-10-07 用户令二次后移:后续新迭代(迭代 20 起)一律不先做 M4,除非用户明确要求启动 M4 批次**)**:四件数值欠账合一批——①削弱档位终值(weaken 现值 −65/duration 2/refresh 考证在册;叠层改续时语义已定案,差 duration 终值+当量锚复算)②调参批数值点评(06 条目现行登记五条——任务口径「八条」与条目五条不符,需求卡片 §2.2 已呈报差异以条目为准)③迭代 10 奖励重构联动欠账①②(钥石产出重标 boss_keystone 首杀 3/3/3·复杀 2/2/3 provisional + 通关率带重扫〔通关回血 20%+AP 件首轮 +1〕)④元进度定价剩余面(forge base 20/比 150 考证在册——06 条目文本「base 10」滞后于 2026-09-22 对齿批已呈报;Boss 两档终值)。读数义务随批=迭代 14 两件后置复算(T6 MC 四带复算+T7 技能池节奏重测,均挂 07);顺路修复 damage_probe A1 改前既有红灯(判式换代批出口报告 §四.7 在册)。**硬约束:一切 MC/verifier 跑批发起前须用户批准;调参联动禁独立调参网络(β 带 [1.2,2.5] 逐 u 检算)**。需求卡片=`design/research/需求卡片-M4数值批-2026-10-05.md`(**v1.2 2026-10-06 案C 增补+联审修订**:v1.1 三事实与第五推算件照旧;联审=P3 转正顺延至重扫读数后/检算工具 WEAKEN_PCT 入同步面/F11 两句死文本全刷/T3·T5 四带复算并账一次跑批双认账/R5 改前锚=本批新立案C 锚/估时段一勘误 4.25d;案C 增补内容照旧=§2.6 三事实〔行为换代/锚全作废/难度预判〕+T0 推算稿第五件=对拍锚按新序重推导+T6 四带复算按案C 新行为首采;T0-T8≈6.25d,天然切分点 T4 末;🔴 契约 5 条含跑批批准制;**✅ 裁点全裁(2026-10-06 用户令:P1甲=维持 2 场·magnitude [60,85] 带内当量锚复算、具体值随出口 provisional 追认/P2甲 不对称有意/P3甲 3-3-3·2-2-3 维持、转正顺延至重扫读数到账且带内(Q4 二裁)/P4甲 不立直购价);开工=U0**) | 迭代 18 全部内容卡(③④⑤⑦)出口+全部内容批行为变更落定+**用户发令(未排期)**——重锚窗口须收尽全部内容批行为变更 | T0-T8≈6.25d(超软盒预挂,段一 T0-T4≈4.25d〔v1.2 勘误,原 4.5 系加总错误〕/段二 T5-T8≈2.0d) |
|
| 迭代 27 | **①代码架构技术债修复批(2026-10-14 用户令编入;来源=[代码架构与实现质量审计报告-2026-10-14](design/research/代码架构与实现质量审计报告-2026-10-14.md),双席审计基线 97de02c,已逐条复核)**:需求卡片=`design/research/需求卡片-代码架构技术债修复批-2026-10-14.md`(**v1.2——三点全裁零待裁〔2026-10-14 用户三裁全按推荐案:①第三个 autoload/②单类持四账/③审计五段〕,卡片成立**)。五波:· **波一 场景拆分+局生命周期物化(≈4-5d)**〔P0-1/P0-2:屏容器 .tscn 切分=开始菜单根场景+营地场景+冒险场景〔内含 level_map/battle 两容器〕,视图代码原样搬、**40+ views 不转 .tscn**;SaveManager/MetaProgression 升格跨场景持有者;「一局」物化为可整体 `queue_free()` 的节点,`main.gd:647-657`/`:555-559` 手工清单消亡;13 个 smoke 探针挂载假设同批迁移〕· **波二 `_settle` 拆段(≈1.5d)**〔P1-1:五段 Segment 类 grant/aura/combat/decay/verdict,24 处 kind 分派随段归位,姊妹病灶 `damage_controller.gd:272` 148 行同批拆〕· **波三 账本收口(≈1.5d)**〔P1-4 共享四账 Ledger 类化+P1-2 刷新双账删 main 副本+P1-3 summary 增 `gp_final` 键、删 `gp_shadow_ledger.gd`〕· **波四 组合根可测化抽取+模态协议内聚(≈1.5-2d)**〔P1-5/P2-7;**须在波一落地后重估抽取面再动**〕· **波五 类型闸收尾+卫生件包(≈3d)**〔P1-6 拉闸+存量 73 处收口,**须在其他重构全部落地后**;P2 七组顺手带〕。🔴 契约 6 条(**零行为变更·重构前后同种子完整局输出逐位一致**/只拆不重写/views 不转 .tscn/探针契约零破坏/信号纪律不变/执行顺序锁+渲染零漂移);**核心验收=逐位一致对拍**(RngService 单盐流在役);验证闸 V1-V9;代拍板白名单九项;反哺点两条(architecture+ADR 系列/code-conventions)。 | **🔄 U0 已开工**(2026-10-14 用户令编入+同日 /goal+iter 27 发令,单会话交付进行中;卡片 v1.2 三点已裁;本迭代位预留后续追加卡,同迭代 24/26 先例) | T0-T7≈12-14d |
|
||||||
|
| 迭代 28+ | **M4 数值批(**原 22+;迭代 21 已编入天赋树实装批、迭代 22 已编入秘宝实装批(均 2026-10-11 用户令)、迭代 23 已编入锻造工坊实装批(2026-10-12 用户令)**;迭代 24 已由用户令编入敌人表内容修批、迭代 25 已由用户令编入 UI 全局主题批(2026-10-13)、迭代 26 已由用户令编入 UI 交互与观感批(2026-10-14)、**迭代 27 已由用户令编入代码架构技术债修复批(2026-10-14)**,本批顺延 28+**——**Alpha 收官位·未排期**〔2026-10-09 语义换代:M4=Beta 阶段、非 Alpha 收官位,M3 未由用户明令关闭前不排期维持〕——2026-10-05 用户令编入迭代 17 卡②;2026-10-06 用户令移出独立成批并定序「Alpha 阶段最后——内容补全先行、统一数值调整殿后」〔当日曾被编入迭代 18 为收官卡,2026-10-07 用户令撤回〕;**2026-10-07 用户令二次后移:后续新迭代(迭代 20 起)一律不先做 M4,除非用户明确要求启动 M4 批次**)**:四件数值欠账合一批——①削弱档位终值(weaken 现值 −65/duration 2/refresh 考证在册;叠层改续时语义已定案,差 duration 终值+当量锚复算)②调参批数值点评(06 条目现行登记五条——任务口径「八条」与条目五条不符,需求卡片 §2.2 已呈报差异以条目为准)③迭代 10 奖励重构联动欠账①②(钥石产出重标 boss_keystone 首杀 3/3/3·复杀 2/2/3 provisional + 通关率带重扫〔通关回血 20%+AP 件首轮 +1〕)④元进度定价剩余面(forge base 20/比 150 考证在册——06 条目文本「base 10」滞后于 2026-09-22 对齿批已呈报;Boss 两档终值)。读数义务随批=迭代 14 两件后置复算(T6 MC 四带复算+T7 技能池节奏重测,均挂 07);顺路修复 damage_probe A1 改前既有红灯(判式换代批出口报告 §四.7 在册)。**硬约束:一切 MC/verifier 跑批发起前须用户批准;调参联动禁独立调参网络(β 带 [1.2,2.5] 逐 u 检算)**。需求卡片=`design/research/需求卡片-M4数值批-2026-10-05.md`(**v1.2 2026-10-06 案C 增补+联审修订**:v1.1 三事实与第五推算件照旧;联审=P3 转正顺延至重扫读数后/检算工具 WEAKEN_PCT 入同步面/F11 两句死文本全刷/T3·T5 四带复算并账一次跑批双认账/R5 改前锚=本批新立案C 锚/估时段一勘误 4.25d;案C 增补内容照旧=§2.6 三事实〔行为换代/锚全作废/难度预判〕+T0 推算稿第五件=对拍锚按新序重推导+T6 四带复算按案C 新行为首采;T0-T8≈6.25d,天然切分点 T4 末;🔴 契约 5 条含跑批批准制;**✅ 裁点全裁(2026-10-06 用户令:P1甲=维持 2 场·magnitude [60,85] 带内当量锚复算、具体值随出口 provisional 追认/P2甲 不对称有意/P3甲 3-3-3·2-2-3 维持、转正顺延至重扫读数到账且带内(Q4 二裁)/P4甲 不立直购价);开工=U0**) | 迭代 18 全部内容卡(③④⑤⑦)出口+全部内容批行为变更落定+**用户发令(未排期)**——重锚窗口须收尽全部内容批行为变更 | T0-T8≈6.25d(超软盒预挂,段一 T0-T4≈4.25d〔v1.2 勘误,原 4.5 系加总错误〕/段二 T5-T8≈2.0d) |
|
||||||
|
|
||||||
## 执行纪律(2026-09-27 用户立规)
|
## 执行纪律(2026-09-27 用户立规)
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user