From 14a10e5e74d296f5ec74a19e7d7f0b4cd4345398 Mon Sep 17 00:00:00 2001 From: DKChan <524912269@qq.com> Date: Thu, 29 Oct 2026 06:32:28 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BC=96=E6=8E=92(=E8=BF=AD=E4=BB=A342):=20gds?= =?UTF-8?q?tyle=E5=B0=BE=E6=B3=A2=E6=B8=85=E5=81=BF=E6=89=B9=EF=BC=8Blevel?= =?UTF-8?q?=5Frunner=E5=95=86=E5=BA=97=E5=A7=94=E6=89=98=E5=B1=82=E6=8B=86?= =?UTF-8?q?=E9=99=A4=E4=B8=A4=E5=8D=A1=E7=BC=96=E5=85=A5=E2=80=94=E2=80=94?= =?UTF-8?q?=E4=B8=AD=E5=80=BC=E5=90=88=E8=AE=A1=E2=89=885.375=E4=B8=AA?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E6=97=A5(3.625+1.75)=E5=A4=845=E2=80=9310?= =?UTF-8?q?=E5=B8=B8=E8=A7=84=E5=8C=BA=E9=97=B4=EF=BC=8C=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E5=BE=85=E5=BC=80=E5=B7=A5=EF=BC=9B=E7=BC=96=E6=8E=92=E5=9B=9B?= =?UTF-8?q?=E6=9F=A5=E8=BF=87(=E5=8D=A1=E7=89=87=E5=9C=A8=E7=9B=98?= =?UTF-8?q?=EF=BC=8F=E5=87=AD=E6=8D=AE=E9=BD=90:gdstyle=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E6=AE=B5=E8=A3=81=E5=86=B3D1=E2=80=93D6=202026-10-29=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E8=A3=81=E9=97=AD=E5=90=88=EF=BC=8Barchitecture=20v1.?= =?UTF-8?q?24=E8=BD=B4=E4=B8=99BoardInstaller=E8=90=BD=E6=96=87=EF=BC=8Cle?= =?UTF-8?q?vel=5Frunner=E7=AC=AC=E3=80=87=E6=AD=A52026-10-29=E6=94=BE?= =?UTF-8?q?=E8=A1=8C=E9=9B=B6=E5=BE=85=E8=A3=81=E7=82=B9=EF=BC=9B=E4=BC=B0?= =?UTF-8?q?=E6=97=B6=E5=B8=B8=E8=A7=84=E6=A1=A3=EF=BC=9B=E6=B5=81=E6=B0=B4?= =?UTF-8?q?=E7=BA=BF=E9=97=B8PASS=E4=BA=A4=E5=8F=89=E6=A0=B82=E9=93=BE)?= =?UTF-8?q?=EF=BC=9B=E5=8D=A1=E5=BA=8F=3Dgdstyle=E5=85=88(T0=E5=8D=81?= =?UTF-8?q?=E4=B8=80=E9=94=AE=E5=AF=B9=E8=B4=A6=E6=8C=89=E5=9F=BA=E7=BA=BF?= =?UTF-8?q?=E5=8E=9F=E5=80=BC=E5=85=A8=E6=95=B0=E5=AF=B9=E4=B8=8A=EF=BC=8C?= =?UTF-8?q?=E9=94=AE7=E7=BB=88=E5=80=BC33=E7=94=B1=E5=90=8E=E6=AE=B5?= =?UTF-8?q?=E5=B9=B6=E6=8E=92=E5=8D=A1=E5=85=91=E7=8E=B0=E2=80=94=E2=80=94?= =?UTF-8?q?D6=E8=A3=81=E5=AE=9A=E4=B8=A4=E5=8D=A1=E5=90=8C=E8=BF=AD?= =?UTF-8?q?=E4=BB=A3=E5=B9=B6=E6=8E=92=E7=BC=96=E9=98=9F=E5=85=88=E5=90=8E?= =?UTF-8?q?=E7=9A=86=E5=8F=AF=E3=80=81=E4=BA=A4=E5=8F=A0=E5=8C=BA=E6=AE=B5?= =?UTF-8?q?=E4=B8=8D=E7=9B=B8=E9=82=BB=E9=9B=B6=E5=86=B2=E7=AA=81)?= =?UTF-8?q?=EF=BC=9B=E6=88=98=E6=96=97=E4=B8=80=E5=B1=8F=E6=A0=B7=E5=BC=A0?= =?UTF-8?q?=E6=89=B9(=E5=B7=B2=E5=86=99=E5=8D=A1=E5=9C=A8=E5=86=8C)?= =?UTF-8?q?=E7=BB=8F=E7=94=A8=E6=88=B72026-10-29=E8=A3=81=E4=B8=8D?= =?UTF-8?q?=E7=BC=96=E5=85=A5=E6=9C=AC=E8=BF=AD=E4=BB=A3=E7=95=99=E5=BE=85?= =?UTF-8?q?=E5=90=8E=E7=BB=AD=E7=BC=96=E6=8E=92=E3=80=82=E9=99=84=E8=AE=B0?= =?UTF-8?q?:=E6=8C=89=E6=96=87=E4=BB=B6=E5=90=8D=E6=9A=82=E5=AD=98?= =?UTF-8?q?=E8=BF=9E=E5=B8=A6=E5=B8=A6=E5=85=A5=E5=B9=B6=E8=A1=8C=E4=BC=9A?= =?UTF-8?q?=E8=AF=9D(=E6=9E=B6=E6=9E=84=E5=AE=A1=E6=9F=A5=E6=89=B9)?= =?UTF-8?q?=E5=BD=93=E6=97=B6=E6=9C=AA=E6=8F=90=E4=BA=A4=E7=9A=84=E5=BE=85?= =?UTF-8?q?=E5=8A=9E=E6=B8=85=E5=8D=95=E7=99=BB=E8=AE=B0=E6=9D=A1=E7=9B=AE?= =?UTF-8?q?=E3=80=8C=E6=9E=B6=E6=9E=84=E5=AE=A1=E6=9F=A5=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E8=AE=A8=E8=AE=BA=E2=80=94=E2=80=94=E5=85=A8=E5=BA=93=E6=9E=B6?= =?UTF-8?q?=E6=9E=84=E5=AE=A1=E8=AE=A1=E8=AF=BB=E6=95=B0=E7=9A=84=E9=80=90?= =?UTF-8?q?=E6=9D=A1=E8=A3=81=E5=86=B3=E4=B8=8E=E6=95=B4=E6=94=B9=E5=88=86?= =?UTF-8?q?=E6=89=B9=E3=80=8D(=E7=8A=B6=E6=80=81=E5=BE=85=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E8=AE=BE=E8=AE=A1)=E7=BA=A610=E8=A1=8C=E2=80=94?= =?UTF-8?q?=E2=80=94=E5=B1=9E=E7=99=BB=E8=AE=B0=E5=A4=84=E6=B4=BB=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E5=90=88=E6=B3=95=E5=86=85=E5=AE=B9=E3=80=81=E9=97=B8?= =?UTF-8?q?45=E6=9D=A1=E7=9B=AE=E5=85=A8=E8=BF=87=EF=BC=8C=E7=99=BB?= =?UTF-8?q?=E8=AE=B0=E6=B2=BF=E9=9D=A9=E8=87=AA=E6=9C=AC=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E8=B5=B7=E7=AE=97=EF=BC=8C=E5=85=B6=E5=AE=A1=E8=AE=A1=E6=8A=A5?= =?UTF-8?q?=E5=91=8A=E4=BB=B6=E4=BB=8D=E5=BD=92=E8=AF=A5=E4=BC=9A=E8=AF=9D?= =?UTF-8?q?=E8=87=AA=E6=8F=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roadmap.md | 1 + 待办清单.md | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/roadmap.md b/roadmap.md index 02866b6b..73745993 100644 --- a/roadmap.md +++ b/roadmap.md @@ -75,6 +75,7 @@ | 迭代 39 | 已完成(2026-10-27) | 已退役(git 历史可考) | 2026-10-26 | ≈10.15 个工作日〔用户特批 2026-10-26 超 10 个工作日〕 | 已退役(git 历史可考) | | 迭代 40 | 已完成(2026-10-28) | 已退役(git 历史可考) | 2026-10-27 | ≈6.375 个工作日 | 已退役(git 历史可考) | | 迭代 41 | 已完成(2026-10-29) | 已退役(git 历史可考) | 2026-10-27 | ≈13.15 个工作日〔用户特批 2026-10-27 超 10 个工作日〕 | 已退役(git 历史可考) | +| 迭代 42 | 待开工 | reports/需求卡片-gdstyle尾波清偿批-2026-10-29.md
reports/需求卡片-level_runner商店委托层拆除-2026-10-29.md | 2026-10-29 | ≈5.375 个工作日 | — | - 迭代 38 收口为带红合并〔用户特批 2026-10-26〕:09 静态扫描 S13 gdstyle 恶化 2 条经批准记入基线存量红(git 提交 c4c69701),卡② 停卡退上游,处方已于 2026-10-26 修订定稿 v1.3(git 提交 b3ea7532),随「gdstyle 存量债全量清偿」条目波 7 待编排。 - 迭代 39 收口为带红合并〔用户特批 2026-10-27〕:02 EV 锚 goblin 0.9148∉[1.00,1.20](触发器批有意行为改动,fp f74b9a48ef4a)已随 EV 锚重锚批换带归绿(git 提交 ba5105aa);08d 生涯.md:55 行号漂移已随 2026-10-28 批后收尾反哺落文修复归绿。三卡拆分后终局 gdstyle 恶化 2 条(battle_orchestrator max-file-length、level_map_screen max-class-variables)归迭代 40 卡①还债与迭代 41 存量债序列。 diff --git a/待办清单.md b/待办清单.md index df276484..373f2154 100644 --- a/待办清单.md +++ b/待办清单.md @@ -2,6 +2,16 @@ 本清单是流水线的唯一登记处:要做的事先在此登记一条,随流水线段推进改状态,做完整条删除;各系统文档的「待办」节只留一行指路存根,不再自建条目。条目格式(标题=登记元数据含可选优先级,正文=实况/缺口/改动面/状态四属性)与状态机以 [doc-conventions §12.1](design/engineering/doc-conventions.md) 为权威。 +#### 架构审查优化讨论——全库架构审计读数的逐条裁决与整改分批(2026-10-29 登记,来源=审计发现) + +**实况**:2026-10-29 全库架构静态审计完成,读数见 reports/审计-全库架构审查-2026-10-29.md(七节:总评/健康面/P0/P1/P2/待裁点/取证口径;零测试执行零引擎运行,全部结论带 文件:行号)。健康面已逐条核干净:Core 零 UI 八项判据全零命中、core 内 RNG 单点 100% 成立、字符串式信号连接全库 0 处、core 层零超长函数、19 表 ↔ 19 schema 一一对应、无循环 preload。问题集中在三条「写了没闸守」的纪律被实际破坏:①数值单一事实源被 18 处硬编码击穿,最危险两处是 `presentation/main.gd:787` 与 `:790` 把 `rap_refresh_cost=8` 与 `refresh_cap_per_round=2` 写死进提示文案(紧邻 783 行是正确读表的),表改文案不改、玩家直接受错误数字;另有 4 组代码自标「机制结构常量/产出约束」的字面量(`node_map_generator.gd:12` `MAX_WIDTH`、`action_economy.gd:14` `CHARGE_LAYER_CAP`、`board_data.gd:9` `SPAWN_AREA_CELLS`、`node_map_generator.gd:83-94` 域字面量)是否入表待裁。②`game/sim/` 与 `game/core/` 四组平行实现——扫雷推理引擎双份(`board_generator.gd` `measure_inferability` 族 vs `auto_player.gd` `_deduce` 族,输入集口径不同:前者含 safe_set oracle、后者 no-peek)、伤害掷点期望重算(`damage_probe.gd:196-201`)、档位排序与驱动循环双份(`level_autoplay.gd` vs `treasure_item_table.gd:44` 与 `battle_driver.gd:17`)、FakeDB 伪造表喂生成器——直接威胁「模拟读数 = 游戏真实数值」这一数值验证前提。③RNG 单点纪律在 core 外失守(sim 4 处/probe 1 处/tests 3 处自建 `RandomNumberGenerator`,均显式定种、确定性尚存),而 `static_scan.sh` 的 S1/S2 扫描面只含 `DIR_CORE` + `DIR_PRES`。守卫面另有三缺口:S8 是 9 文件显式清单(新增结算文件忘登记=静默不扫,缺位自检只防删改不防增)、S9 类型闸与 S13 质量闸扫描面止步于 core+data+presentation(sim/probe/tests 三层除 S11/S12 外零闸)、S13 三处豁免常态化到最大户文件(`battle_orchestrator`/`main.gd`/`tune_sim_controller`);另有四个 core 文件零测试点名(`attune_loadout`/`battle_fx_host`/`meta_state_store`/`slot_store`)。P2 级:`core/settlement/` 五段类直读写编排器私有成员 20+ 处(`oc._damage.*`/`oc._enemy_system.*`,GDScript 无编译期检查、改名静默断裂);架构文档三处漂移(`architecture.md:110` 登记的 `core/hero_ledger.gd` 盘上不存在且 `hero_ledger_test.gd:171` 显式断言它必须不存在、`:135` 行数过期、EC8 热重载门后 `ConfigDb.reload()` 零调用方且走 `load()` 拿不到磁盘新值);class_name 级双向依赖(`core/config_db` → `data/schemas/board_gen_table` → `core/board_data.SPAWN_AREA_CELLS`)与 `NODE_TYPES` 词表双份;`MetaProgression` 是唯一用 `get_node("/root/...")` 取依赖、唯一跨 Autoload 直调的单例。 + +**缺口**:审计只出读数不出方案,报告第六节 7 条待裁点全部未裁——①A 类硬编码 18 处的修复通道归属(core/presentation 侧属需求改动须写卡+编排,sim 侧属工程改动,两类不能混一批);②B 类结构常量是否入表(`SPAWN_AREA_CELLS` 已被 data 侧校验反向引用,边界需明确);③sim 四组平行实现收敛到 core 还是承认双口径并显式登记;④闸面缺口补不补(S1/S2/S9/S13 是否纳 sim 入扫描面、S8 是否改目录域);⑤S13 三处豁免收回还是登记长期例外;⑥零测试点名四件补测试还是登记豁免;⑦文档漂移三处是否先按 doc-design 落回 `architecture.md`。讨论段须逐条裁决并定整改分批(哪些进需求卡片、哪些走工程直改、哪些纯文档),产出=各条处置决定与批次归属;裁决落完本条方可转写卡或直改。 + +**改动面**:文档+游戏代码+工具代码 + +**状态**:待文档设计 + #### 三关色相 × 五组微光互辨抽测——三关图类型色板终值冻结的前置抽测(2026-10-28 登记,来源=会话提及) **实况**:三关图类型色板(`tile_closed` 与 `wall_ambient` 两槽)的终值冻结前,须先跑一次「三关色相 × 五组类型微光」互辨抽测——格底与类型微光同在未开格面上,邻近色相有吞没风险。`design/art/art-bible.md` §6.3 共同纪律已把该抽测立为终值取值程序的第一条:先抽测、再按 §4.3 现行规则重跑 §1.4 格子样张冻结,色值不代填。三关方向候选现行=暖石棕/灰白蓝/灰黑+矿脉金属色;五组微光色带=芥末黄/黄绿/青/紫罗兰/绯红(§4.2),抽测要把这两组逐一交叉比对。本条由 2026-10-28 战斗一屏样张目标规格设计轮的 A-3 定值派生——该轮裁定不沿用方向候选直接定终值,先跑抽测。 @@ -63,7 +73,7 @@ **改动面**:游戏代码 -**状态**:文档设计已闭合+已写卡 +**状态**:文档设计已闭合+已写卡+已编迭代 42 #### 数值标定窗口总挂账——原九条数值类条目合并(2026-10-28 登记,来源=会话提及) @@ -99,7 +109,7 @@ **改动面**:游戏代码 -**状态**:已写卡 +**状态**:已写卡+已编迭代 42 #### 超预算图策略升级路径——等比缩放与滚动视口两案待裁(2026-10-24 登记,来源=批次移交)