八件受版文件 git mv 进 reports/(一律先迁不删,删除归后续批或用户点名):提案三件(冒险前资源配比预设/效果引擎无状态化/武器锻造系统)、审计两件(代码术语审计/单测与验收门禁标准测试审计)、美术审计两件(cursor 会话存档 md + canvas 转 HTML 渲染件)、需求澄清-营地交互重做;未入库的 UI预览demo 三路对照件只搬盘不入库。 GDD 落文:锻造工坊.md「满级特效扩展位」节收下七条候选池(长剑破甲/长剑暴击面扩大/长枪先手连击/法杖开局魔法矢/轻甲灵巧/重甲反震/魔法护甲护盾),按现役 EFFECT_KINDS 与 settlement.tres:51/52 逐条复核实现代价分档,效果类型闭集口径取正文现行 31 种、不抄过程稿旧记 24 种;候选池定性为备用清单非承诺清单。 引用面换代 08(playnote 之外两处 ../research/ 改 ../../reports/)、待办清单四处、reports 八张卡片(跨目录前缀改同目录)、art-assets-checklist 与 sim-data/README 两处既存死指改「沿革查 git 提交史」、content-archive 出处句标注该目录已退役。迁入件内部相对链接随迁移重基准(../gdd/ → ../design/gdd/,playnote 与待办清单改回仓库根),并订正上一批遗留错误:两张迭代 30 卡片的 playnote 链接原写 ../../playnote.md(从 reports/ 出发指到仓库外),现改 ../playnote.md。 规则与机检:doc-conventions §11「暂存地非档案库」行改为单暂存地+禁在 design/ 下设过程件目录+图像载体与报告渲染件口径分列(禁图留 artwork/ 沿用 2026-09-27 用户裁;.html/.json 允许作为报告的一种=2026-10-21 用户裁,原「只放 .md」句系 10-17 建目录时顺带照搬、无单独点头记录);AGENTS Project Layout 两行同步;reports/README 补「设计讨论段过程稿」命名行。repo_structure_audit:DESIGN_SUBDIRS 去 research、RETIRED 加 design/research;doc_ref_audit 排除面清空(design 全树入扫描面);doc_term/doc_link 扫描域注释换代;三件样张脚本 OUT_REPORT 改落 reports/ 并补 os.makedirs(改前只对 OUT_PNG 建目录,目录缺失即 FileNotFoundError)。 变异验证:重建 design/research 并放文件 → 结构闸退出码 1、同时报「退役路径再现」与「子目录越界」两条;design/ 内放两条指向不存在文件的引用 → 引用可核机检报「路径不存在」红项 2(该闸暂未注册进闸壳,无基线记录必判变化);清场后结构闸 PASS。
7.3 KiB
代码术语审计报告
日期:2026-10-18 触发:用户裁定——GP 是唯一正式命名(「金币」系 AI 噪音);「插旗」全库禁用(正式名=封印);「旗」概念不存在;「雷格」「惩罚格」已退役(正式名=危险格)
1. 裁定摘要
| 禁用词 | 正式替代 | 裁定依据 |
|---|---|---|
| 金币 | GP | GP 是唯一正式命名,「金币」系 AI 产出噪音,不应存在于任何位置 |
| 插旗 | 封印 | 游戏中不存在「旗」概念,右键动作=封印 |
| 旗(作为游戏概念) | 封印印记 | 同上——「不存在任何旗相关的东西」 |
| 封印(作为比喻解释) | 封印(作为正式术语) | 封印是正式动作名,不是比喻;禁止以「比喻」框架描述 |
| 雷格 | 危险格 | 2026-10-11 已裁退役 |
| 惩罚格 | 危险格 | 2026-10-11 已裁退役 |
| flag_*(代码键名) | seal_* | 用户裁定全换 |
2. 命中统计
| 禁用词 | 命中次数 | 涉及文件数 |
|---|---|---|
| 金币 | 116 | 44 |
| 插旗 | 210 | 61 |
| 雷格 | 109 | 31 |
| 惩罚格 | 8 | 4 |
| flag_(.gd) | 270 | 29 |
| flag(.tres) | 22 | 4 |
| flag(独立词 .gd) | 22 | 10 |
| 合计 | ~757 | ~100+(有重叠) |
注:「封印」现有 170 处命中(46 文件),其中大部分是正确用法(封印=正式术语),但部分语境把它当「比喻」或「对外表达」描述,需修正措辞。
读数订正(2026-10-18 需求卡片 v1.4 实测,本表数字保留作历史读数不作施工依据):上表的 game/ 侧数字用现行代码复现不出。同一命令口径实测(game/ 内、区分大小写逐处计数):含 flag 的 .gd 53 个文件 595 处 + .tres 4 个文件 22 处,剔除 size_flags_*(70 处/19 文件)与 _fatal_flag(4 处)后净 543 处/42 个文件;「金币」39 处、「插旗」62 处、「雷格」75 处、「惩罚格」1 处、「旗」含复合词 376 处。两处口径错误:①中文三词用的是全库读数(全库实测 金币 381/插旗 600/雷格 394 处),被记进了 game/ 范围行;②flag 侧低估约一倍(原记 270+22+22=314)。施工判据见需求卡片 §2 的复现命令(卡片已随迭代 31 实现批退役,git 历史可考;合回 4f953ce8)。
3. 分域明细
3.1 玩家可见文本(P0 最高优先级)
UI 字符串、toast、tooltip、display_name、desc 字段中出现的禁用词:
| 文件 | 行 | 内容 | 问题 |
|---|---|---|---|
| game/presentation/views/shop_overlay_view.gd | 51,101,109,174,191 | "金币 0" / "金币 %d" / "现价 %d 金币" / "刷新 %d 金币" |
金币→GP |
| game/presentation/camp_shop_presenter.gd | 180,190,202 | "金币不足——买不起这件商品" / "金币不足——刷新失败" |
金币→GP |
| game/presentation/curio_interact_controller.gd | 192 | "金币不足——刷新失败" |
金币→GP |
| game/presentation/battle_narrator.gd | 24,114 | "商店房:金币 %d" / "金币袋%s\n金币 +%d" |
金币→GP |
| game/presentation/views/curio_pick_overlay.gd | 122,124 | "刷新 %d 金币" / tooltip 含「金币」 |
金币→GP |
| game/presentation/views/legend_overlay.gd | 14 | "金=金币" |
金币→GP |
| game/presentation/hud_presenter.gd | 169 | "不能插旗:此格已有旗" |
插旗→封印,旗→封印印记 |
| game/presentation/main.gd | 967 | "插旗后轮末自动判定标中" |
插旗→封印 |
| game/presentation/views/legend_overlay.gd | 9,11 | "右键插旗(1AP)" / "封印印记(呈现名·不能拔)" |
插旗→封印 |
| game/data/tables/treasure_items.tres | 212 | "插旗不限相邻" |
插旗→封印 |
| game/data/tables/reward.tres | 188 | "display_name": "金币袋" |
金币袋→GP 袋(或用户定名) |
| game/data/tables/feats.tres | 多处 | desc 含「封印」 | 需逐条核验语境(非比喻即合法) |
| game/tests/unit/presentation/reward_overlay_test.gd | 31,49 | "金币袋\n金币 +20" / "刷新 20 金币" |
测试断言里的 UI 文本 |
3.2 代码注释与内部文档(P1)
约 500+ 处分布在 .gd 注释、game/README.md、design/registry/entities.yaml、design/gdd/ 各系统文档中。主要模式:
# 挖雷格/标错旗→# 挖危险格/标错封印# 插旗不可逆→# 封印不可逆# 雷格恒无变异→# 危险格恒无变异# 金币袋兑付→# GP 袋兑付flag_place/flag_hit/flag_cell/has_flag/tex_flag→seal_place/seal_hit/seal_cell/has_seal/tex_seal
3.3 代码标识符(P1,影响面最大)
flag_* 族标识符 270 处(29 个 .gd 文件)+ 22 处(.tres),涉及:
- 核心逻辑:minesweeper_rules.gd(18)、battle_orchestrator.gd(17)、grant_segment.gd(23)、effect_engine.gd(9)
- 数据表:action_economy.tres(2)、feats.tres(15)、settlement.tres(3)、treasure_items.tres(2)
- Schema:settlement_table.gd(3)、treasure_item_table.gd(3)、action_economy_table.gd(4)
- 呈现层:board_view.gd(7)、battle_end_overlay.gd(9)、ui_input_probe.gd(23)
- 冒烟/测试:smoke_all.gd(105)、level_autoplay.gd(16)、各 test 文件
3.4 设计文档(P1)
design/gdd/ 和 design/registry/ 中约 200+ 处,需随术语表修正同步更新。
3.5 历史文档(P2)
reports/(提案、需求卡片)、design/qa/(审查报告)、design/art/(美术文档)中的命中:
- 历史提案和已结案需求卡片:留档不改(记录当时语境)
- 美术文档中的「封印旗」「封印特效」:需逐条核验(封印合法,旗不合法)
- roadmap.md:历史条目留档
4. 术语表自身修正清单
术语表(design/gdd/术语表.md)需按新裁定修正的条目:
| 行 | 现行内容 | 问题 | 修正方向 |
|---|---|---|---|
| 14 | 旗 / 控制 条目 |
「旗」概念不存在 | 改为「封印 / 控制」,删除「旗插在危险格上」措辞 |
| 28 | GP(局内金币) |
「金币」是噪音 | 改为 GP,删除「金币」别名 |
| 126 | 雷格 / 惩罚格 → 危险格 |
对照行,合法 | 保留 |
| 138 | 禁用字面:「雷」「插旗」…禁止进入对外命名 |
范围不够——插旗应全库禁用,不只是对外命名 | 扩大为全库禁用 |
| 139 | 插旗的对外表达 = 封印 |
封印不是「对外表达」,是唯一正式名 | 改为「封印=正式术语(全库统一)」 |
| 154 | v1.6 修订记录「插旗对外=封印…机制文档内部用语不受限」 | 内部用语也禁用 | 修正 |
5. 风险评估
- flag_ → seal_ 重命名**是最高风险项:涉及核心游戏逻辑(排雷规则、战斗编排、结算授予段),改错会破坏游戏行为。必须全量冒烟通过。
- .tres 数据文件中的 flag 键名改动需与 schema 同步,否则数据加载失败。
- smoke_all.gd 单文件 105 处 flag_,是改动密度最高的文件。
- 中文文本替换风险较低,但量大面广,需防漏改和误改(如「旗」字在非游戏语境出现)。
6. 建议拆批
拆批已由迭代 31 执行(卡① 代码术语刷新+卡② 凭证件裁削,合回 4f953ce8/3e076e22);对应需求卡片已随实现批退役,git 历史可考。