From 843edf9d70d2c70b4d970b260b62d3b6f95f5349 Mon Sep 17 00:00:00 2001
From: DKChan <524912269@qq.com>
Date: Sat, 7 Nov 2026 17:40:18 +0800
Subject: [PATCH] =?UTF-8?q?=E5=86=99=E5=8D=A1(=E5=B0=81=E5=8D=B0=E5=8A=A8?=
=?UTF-8?q?=E4=BD=9C=E6=94=B9=E7=89=88=E6=89=B9=C2=B7=E5=8D=A1=E7=89=87?=
=?UTF-8?q?=E6=88=90=E7=AB=8B):=20=E8=AE=BE=E8=AE=A1=E6=AE=B5=E5=90=8C?=
=?UTF-8?q?=E5=8C=BA=E5=89=8D=E7=BD=AE=E9=97=AD=E5=90=88=E2=80=94=E2=80=94?=
=?UTF-8?q?=E5=8F=A3=E5=BE=84=3D=E5=B0=81=E5=8D=B0=E5=8F=97=E7=90=86?=
=?UTF-8?q?=E5=8D=B3=E6=8F=AD=E7=A4=BA/=E6=8C=96=E5=B0=81=E5=8D=B0?=
=?UTF-8?q?=E6=A0=BC=E8=A2=AB=E6=8B=92(=E6=96=B0=E6=8B=92=E7=BB=9D?=
=?UTF-8?q?=E6=83=85=E5=BD=A2=E3=80=8C=E5=B7=B2=E5=B0=81=E5=8D=B0=E3=80=8D?=
=?UTF-8?q?)/=E6=B8=85=E5=9B=BE=E5=8F=A3=E5=BE=84=3D=E5=B7=B2=E6=8C=96?=
=?UTF-8?q?=E2=88=AA=E5=B7=B2=E5=B0=81=E5=8D=B0(=E5=B0=81=E5=8D=B0?=
=?UTF-8?q?=E5=8F=AF=E5=AE=8C=E6=88=90=E6=B8=85=E5=9B=BE)/=E6=89=B9?=
=?UTF-8?q?=E6=AC=A1=E8=AF=AD=E4=B9=89=E5=BA=8F=E6=89=A9=E3=80=8C=E8=83=BD?=
=?UTF-8?q?=E6=B8=85=E5=9B=BE=E7=9A=84=E6=8C=96=E6=88=96=E5=B0=81=E3=80=8D?=
=?UTF-8?q?/=E6=A0=87=E7=A9=BA=E6=97=A0=E7=BA=A0=E9=94=99=E8=B7=AF?=
=?UTF-8?q?=E5=BE=84=E9=9A=8F=E5=9B=BE=E5=AD=98=E7=BB=AD;=20=E7=A0=B4?=
=?UTF-8?q?=E5=B0=81=E4=B8=80=E5=87=BB=E9=80=80=E5=BD=B9(=E7=B4=A0?=
=?UTF-8?q?=E6=9D=90=E5=BA=93=E6=96=B0=E7=AB=8B=E8=A1=A8=E4=BA=94=E7=95=99?=
=?UTF-8?q?=E5=BA=95,=20dug=5Funder=5Fseal=20=E4=BA=8B=E5=AE=9E=E8=AF=8D?=
=?UTF-8?q?=E9=9A=8F=E4=BB=B6=E9=99=A4=E5=90=8D);=20=E6=96=87=E6=A1=A3?=
=?UTF-8?q?=E5=8D=81=E4=BB=B6=E6=8D=A2=E4=BB=A3:=20=E6=8E=92=E9=9B=B7?=
=?UTF-8?q?=E7=8E=A9=E6=B3=95=20v2.0(owner)/=E6=88=98=E6=96=97=E7=BB=93?=
=?UTF-8?q?=E7=AE=97=20v1.9(=E5=88=A0=E5=9B=9B=E6=83=85=E5=86=B5=E2=91=A1?=
=?UTF-8?q?=E2=91=A3=E6=94=B9=E5=88=A4=E5=9D=97)/=E5=9C=B0=E5=9B=BE?=
=?UTF-8?q?=E6=88=98=E6=96=97=E8=B5=84=E6=BA=90=20v1.7/=E8=A1=8C=E5=8A=A8?=
=?UTF-8?q?=E7=BB=8F=E6=B5=8E=20v1.6/=E5=9C=B0=E5=BD=A2=E5=8F=98=E5=BC=82?=
=?UTF-8?q?=20v1.4/=E5=A5=87=E7=89=A9=20v1.7(26=E4=BB=B6)/=E6=9C=AF?=
=?UTF-8?q?=E8=AF=AD=E8=A1=A8=20v1.28/=E6=95=99=E5=AD=A6=E5=BC=95=E5=AF=BC?=
=?UTF-8?q?=E9=A6=96=E9=81=87=E6=8F=90=E7=A4=BA=E5=8F=A5/ux=20battle=20?=
=?UTF-8?q?=E6=96=B0=E7=AB=8B=E5=B0=81=E5=8D=B0=E6=A0=BC=E5=91=88=E7=8E=B0?=
=?UTF-8?q?=E9=A2=84=E8=A7=88=E8=8A=82(SVG=E5=9B=9B=E6=A0=BC,=20=E7=94=A8?=
=?UTF-8?q?=E6=88=B7=E4=BA=BA=E5=AE=A1=E8=BF=87=E5=AE=A1=E2=80=94=E2=80=94?=
=?UTF-8?q?=E8=A7=82=E6=84=9F=E7=BB=86=E5=8C=96=E5=90=8E=E7=BD=AE)/art-bib?=
=?UTF-8?q?le=20=C2=A73.2=C2=B7=C2=A74.1(=E5=B7=B2=E6=8F=AD=E7=A4=BA?=
=?UTF-8?q?=E6=A0=BC=E6=89=BF=E8=BD=BD)=E3=80=82=E7=94=A8=E6=88=B7?=
=?UTF-8?q?=E4=B8=89=E8=A3=81:=20=E2=91=A0=E5=8F=97=E7=90=86=E5=8D=B3?=
=?UTF-8?q?=E6=8F=AD=E7=A4=BA=E5=85=A8=E6=8F=AD=E7=A4=BA=E6=A1=88=20?=
=?UTF-8?q?=E2=91=A1=E7=A0=B4=E5=B0=81=E4=B8=80=E5=87=BB=E9=80=80=E5=BD=B9?=
=?UTF-8?q?=20=E2=91=A2MC=E5=90=8C=E6=89=B9=E9=87=8D=E9=94=9A=E3=80=82?=
=?UTF-8?q?=E5=8D=A1=E7=89=87:=2016=E8=8A=82+T0-T7(=E5=8C=BA=E9=97=B46-10.?=
=?UTF-8?q?25,=20=E4=B8=AD=E5=80=BC=E2=89=888.125=E5=B7=A5=E4=BD=9C?=
=?UTF-8?q?=E6=97=A5)+=E5=AF=B9=E7=85=A7=E8=A1=A8R1-R12(=E8=A1=8C=E9=94=9A?=
=?UTF-8?q?=E5=85=A8=E8=B7=AF=E5=BE=84=E9=92=89=E6=AD=BB,=20=E5=88=A4?=
=?UTF-8?q?=E6=8D=AE=E5=87=BA=E5=A4=84=3D=E4=BF=AE=E8=AE=A2=E5=90=8E?=
=?UTF-8?q?=E8=A1=8C=E5=8F=B7)+=E8=90=BD=E4=BD=8D=E9=A2=84=E6=A3=80(?=
=?UTF-8?q?=E6=96=B0=E5=A2=9Esealed=5Fidentity/notify=5Fcleared=E4=B8=A4?=
=?UTF-8?q?=E5=85=AC=E5=BC=80=E6=96=B9=E6=B3=95,=20=E9=9B=B6=E6=96=B0?=
=?UTF-8?q?=E6=96=87=E4=BB=B6)+=E5=A4=8D=E6=A0=B8=E8=AE=B0=E5=BD=95?=
=?UTF-8?q?=E4=B8=80=E8=BD=AE13=E5=8F=91=E7=8E=B0=E5=85=A8=E5=A4=84?=
=?UTF-8?q?=E7=BD=AE(=E9=80=80=E5=9B=9E=E4=B8=8A=E6=B8=B81=3D=E6=95=99?=
=?UTF-8?q?=E5=AD=A6=E5=BC=95=E5=AF=BC=E6=BC=8F=E6=94=B9=E9=9D=A2=E5=B7=B2?=
=?UTF-8?q?=E4=BF=AE/=E8=87=AA=E5=88=A45/=E8=A1=A5=E5=86=995/=E5=BE=85?=
=?UTF-8?q?=E8=A3=811=3D=E6=BB=91=E5=A4=B1=E6=B3=A8=E5=85=A5=E7=94=A8?=
=?UTF-8?q?=E6=88=B7=E8=A3=81=E2=91=A2=E9=80=80=E5=BD=B9+=E9=87=8D?=
=?UTF-8?q?=E6=A0=87=E5=AE=9A=E8=A1=A5=E5=81=BF);=20=E6=B5=8B=E8=AF=95?=
=?UTF-8?q?=E5=89=8A=E5=BC=B1=E7=94=B3=E6=8A=A5=E5=9B=9B=E5=A4=84;=20?=
=?UTF-8?q?=E9=AA=8C=E6=94=B6=E6=A1=A3=E9=AB=98=E3=80=82=E8=83=BD=E5=8A=9B?=
=?UTF-8?q?=E6=B8=85=E5=8D=95:=203=E8=A1=8C=E6=8D=A2=E4=BB=A3+1=E8=A1=8C?=
=?UTF-8?q?=E5=88=A0=E9=99=A4+2=E8=A1=8C=E6=96=B0=E5=A2=9E+=E8=A6=86?=
=?UTF-8?q?=E7=9B=96=E5=9F=9F=E8=A1=A82=E8=A1=8C=E6=8D=A2=E4=BB=A3(?=
=?UTF-8?q?=E8=AE=A1=E5=88=92=E6=B5=8B=E8=AF=955=E5=87=BD=E6=95=B0?=
=?UTF-8?q?=E5=8D=A1=E7=89=87=E9=94=9A=E5=AE=9A)=E3=80=82=E5=BE=85?=
=?UTF-8?q?=E5=8A=9E=E6=B8=85=E5=8D=95:=20=E6=9D=A1=E7=9B=AE=E6=8E=A8?=
=?UTF-8?q?=E8=BF=9B=E6=96=87=E6=A1=A3=E8=AE=BE=E8=AE=A1=E5=B7=B2=E9=97=AD?=
=?UTF-8?q?=E5=90=88+=E5=B7=B2=E5=86=99=E5=8D=A1,=20=E6=96=B0=E7=AB=8B?=
=?UTF-8?q?=E5=B0=81=E5=8D=B0=E6=A0=BC=E8=A7=82=E6=84=9F=E7=BB=86=E5=8C=96?=
=?UTF-8?q?=E6=9D=A1(=E5=A4=87=E9=80=89)=E3=80=82=E8=AF=BB=E6=95=B0:=20--d?=
=?UTF-8?q?ocs=E3=80=90=E9=AA=8C=E6=94=B6=E9=80=9A=E8=BF=87=E3=80=91?=
=?UTF-8?q?=E6=97=A0=E6=96=B0=E5=A2=9E=E7=BA=A2(=E6=B5=81=E6=B0=B4?=
=?UTF-8?q?=E7=BA=BF=E9=97=B8=E7=BA=A2=E9=A1=B90+gdd=5Flint=2019/19=20PASS?=
=?UTF-8?q?+=E8=83=BD=E5=8A=9B=E5=AE=A1=E8=AE=A1=E7=BA=A2=E9=A1=B90,=20?=
=?UTF-8?q?=E5=9B=9E=E6=89=A7receipt.json)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
design/art/art-bible.md | 4 +-
design/content-archive/道具退役素材库.md | 8 +
design/gdd/systems/冒险循环/奇物.md | 10 +-
design/gdd/systems/战斗循环/地图战斗资源.md | 7 +-
design/gdd/systems/战斗循环/战斗结算.md | 23 +-
design/gdd/systems/排雷循环/地形变异.md | 4 +-
design/gdd/systems/排雷循环/排雷玩法.md | 39 +--
design/gdd/systems/排雷循环/行动经济.md | 4 +-
design/gdd/systems/表现与支撑/教学引导.md | 2 +-
design/gdd/术语表.md | 4 +-
design/ux/battle.md | 51 +++-
game/tests/README.md | 9 +-
reports/需求卡片-封印动作改版批-2026-11-07.md | 249 ++++++++++++++++++
待办清单.md | 19 +-
14 files changed, 365 insertions(+), 68 deletions(-)
create mode 100644 reports/需求卡片-封印动作改版批-2026-11-07.md
diff --git a/design/art/art-bible.md b/design/art/art-bible.md
index 3de1fe18..d9edd19d 100644
--- a/design/art/art-bible.md
+++ b/design/art/art-bible.md
@@ -164,7 +164,7 @@
- **装饰变体(未开格氛围层)**:覆尘完整砖之上叠加裂纹/碎石斑/物件级点缀等装饰。物件级装饰(小石块/陶片/骨殖等)须走**专属装饰形状家族**(与信息元素形状语言隔离、灰度下不与任何逻辑元素同形),数量配额按图类型定(候选 3–5 种,样张已冻结,§1.4),一律残缺、内凹、低对比而自然后退(§3.4);零信息纪律(分布随机、与雷/安/类型零相关、灰度下禁止制造新分类特征、分布每板一次跨轮不复掷)以原则三为准,此处不赘。验收:目检〈物件级装饰不与任何逻辑元素同形;装饰残缺低对比后退〉 ←原三
- **结果整格表达(已开格)**:已开格按当格结果整格表达(结果清单见原则三);画法——产资源格的家族物件纹样用 §3.1 道具点剪影语言(直线几何体)角嵌于砖缘,砖心与数字字形占位区留白(已开格仍承载数字);危险格巢穴纹较已开格更凶一档,形状+颜色双通道。验收:目检〈产资源格嵌家族纹样且砖心留白;巢穴纹更凶一档〉 ←原三;P3
- **未开格预读通道(微光单通道)**:类型预读 = 类型微光单通道(色相+明度双码,色带 §4.2);色弱类型主通道 = 微光明度梯度(组粒度——组间互辨;§2 微光明度例外);格内零角嵌/箭头/加号类附加形(微光格只留微光)。验收:目检〈微光格内零角嵌/箭头/加号类附加形〉 ←原一;原三
-- **封印印记**:封印动作的叙事呈现 = **封印**(玩家可见专名,术语定义见 [术语表](../gdd/术语表.md)「封印」条;动作面见《排雷玩法》)——封印动作落在格上的印记称封印印记。**形 = 法阵**:一圈外环+环内一个十字,十字四端顶到环内沿、与环连成一体——两层构成取法阵通用骨架(外环=圈定范围,环内图形=力量图形,非指特定作品):环=封印圈定,十字=钉住此格。**画法 = 参数化绘制**(着色器按格边实时画环与十字,不出贴图):格边 26–46px 连续可变,任何贴图源都得非整数缩放(32px 源在 28 格缩到 0.875、在 46 格放到 1.44),像素必宽窄不均;参数化按比例画,任意格边清晰。**环外光圈**:印记外面一圈**压暗光**(纯黑只加透明度)——自环外缘起、向外衰减到格边为止、**不外溢邻格**,作用 =「此格被罩住」;禁中心亮、禁色相、禁呼吸。**尺寸定值**见 §8.2「封印印记参数表」(本处不复述数值)。**色** = 封印黑 `#000000`(§4.1),光圈只改 alpha、不新增色。**占位**:印记居格心,环外留 9% 格宽给光圈(见 §8.2);封印印记只出现在未开格,不与数字同格。格内栈位见 §1.2;层序纪律——印记层低于小人,且迷雾态(区外全黑/记忆态)隐藏(§6.5「封印随格隐没」)。封印特效两件:常显形态即本件,施印瞬间未实装。战末金蜡封徽记仍取贴图 `seal_mark.png`(与棋盘侧参数化绘制并存,两处互不依赖)。验收:目检〈环径占格宽 82%±1px;光圈只在环外且不出格;纯黑无色相〉 ←原一;P2
+- **封印印记**:封印动作的叙事呈现 = **封印**(玩家可见专名,术语定义见 [术语表](../gdd/术语表.md)「封印」条;动作面见《排雷玩法》)——封印动作落在格上的印记称封印印记。**形 = 法阵**:一圈外环+环内一个十字,十字四端顶到环内沿、与环连成一体——两层构成取法阵通用骨架(外环=圈定范围,环内图形=力量图形,非指特定作品):环=封印圈定,十字=钉住此格。**画法 = 参数化绘制**(着色器按格边实时画环与十字,不出贴图):格边 26–46px 连续可变,任何贴图源都得非整数缩放(32px 源在 28 格缩到 0.875、在 46 格放到 1.44),像素必宽窄不均;参数化按比例画,任意格边清晰。**环外光圈**:印记外面一圈**压暗光**(纯黑只加透明度)——自环外缘起、向外衰减到格边为止、**不外溢邻格**,作用 =「此格被罩住」;禁中心亮、禁色相、禁呼吸。**尺寸定值**见 §8.2「封印印记参数表」(本处不复述数值)。**色** = 封印黑 `#000000`(§4.1),光圈只改 alpha、不新增色。**占位**:印记居格心,环外留 9% 格宽给光圈(见 §8.2);封印印记出现在**已揭示格(地板瓦片)**上(封印受理即揭示——机制口径见《排雷玩法》动作合法性节,呈现规格与预览见《ux/battle》「封印格呈现预览」节)——格下身份字形(危/数字)按格内栈位(§1.2 数字 > 印记)垫色牌叠于法阵之上,印记与数字同格合法。格内栈位见 §1.2;层序纪律——印记层低于小人,且迷雾态(区外全黑/记忆态)隐藏(§6.5「封印随格隐没」)。封印特效两件:常显形态即本件,施印瞬间未实装。战末金蜡封徽记仍取贴图 `seal_mark.png`(与棋盘侧参数化绘制并存,两处互不依赖)。验收:目检〈环径占格宽 82%±1px;光圈只在环外且不出格;纯黑无色相〉 ←原一;P2
- **可挖域接触带微光(交互反馈层)**:挖掘期,英雄格周界与可挖域(概念见《排雷玩法》动作合法性节;呈现义务见《HUD框架》可挖域指示)的接触面画呼吸微光——正交邻墙 = 该侧整条边,斜向邻墙 = 共享角点 + 向两侧各延伸半条边;光只画英雄格(空间)一侧、不进墙格(与装饰变体零冲突,数字砖心不涉);微光 = 空间的灯光边界(画法规则)。色相 = 蓝族浅一档(§4.2 蓝条;与主角蓝框的分层由样张测试定,§1.4);呼吸 = §2.1 挖掘期唯一在动元素,减动效停格。角点为斜墙与正交墙共享、不逐格归因,逐格指认 = 悬停金框(呈现交互归《HUD框架》悬停指示域)。验收:目检〈微光只画英雄格一侧接触面:正交邻墙整条边、斜向邻墙角点 + 半边〉 ←§2.1;§4.2;P1
- **墙体**:圆角砌块堆叠,禁尖刺装饰——尖刺专属危险语义,装饰禁止伪装逻辑差异。验收:目检〈墙体无尖刺装饰〉 ←原三
- **高墙瓦片体系|术语与定义**:未挖格 = **一整块 32×32 自含凸起岩体**;素材语义名——未开格素材 = **墙瓦片**,已开格素材 = **地面瓦片**。瓦片以自含岩体为单位,Tiny Dungeon 拼块套不进自含岩体定义,不作瓦片参考。验收:目检〈未开格为整块凸起岩体,无拼块接缝感〉 ←原三
@@ -199,7 +199,7 @@
- **棋盘数字呈现 = 按板自适应三态**:暗纹理板(dungeon 系)= **亮族**三档 1–3 冷亮青白 #D8ECF0/4–5 暖白 #F0E2C8/6–8 金亮 #F8E3A8 直画(判据 = 族最弱成员对 p90 ≥4.5:1 且对均值 ≥2.5:1);双峰纹理板(underdark/deep_underdark 系)= **色牌垫底**(素牌 DIGIT_PLATE + 深墨 #33261B 12:1,纹理免疫——双峰纹理板上任何墨族直画都不可读,渲染帧取证;判据 = 亮深两族皆不过门,深族均值门 3.0);缺盘平色回退态(#B39A78 中明度底)默认深墨直画。选模式管线落码单点 `board_view._digit_ink_mode`(三态:亮直/深直/落牌),机检面 = `terrain_tile_sets_test` 三关呈现模式断言;目视验证面 = board_shot_probe 渲染帧取证(机检≠看得清)。验收:机检〈terrain_tile_sets_test 三关呈现模式断言全绿,board_shot_probe 渲染帧目视复核〉
- **垫牌与 UI 数据墨 = 深墨族 `#33261B` 系**(L≤0.027,§7.2)。验收:机检〈垫牌与 UI 数据墨取深墨族,L≤0.027〉
- **八色弃用**:八色必与红/金/蓝/紫赤语义冲突,故弃。验收:方向性
-- **封印黑 `#000000`**|封印宣告色,无色相:玩家的宣告"此格封印"。封印现行 = 无色相黑——紫色与微光蓝族(魔法微光 256° 等)色相冲突,黑色无色相天然避开 300°–345° 禁入带与全部微光色带;未开格墙顶明度 ≈113 对纯黑对比 ≥4.4:1,纯黑实心剪影单靠明度差即成立,不依赖任何浅色细件。封印紫不再用于棋盘(色史归 git 提交史);红族棋盘侧只剩危险红;主角随身背包件为朱红矩形件(人设侧见 character-design),与棋盘封印色脱钩。验收:机检〈封印宣告色 = #000000,未开格墙顶对其对比 ≥4.4:1〉 ←原一;P2
+- **封印黑 `#000000`**|封印宣告色,无色相:玩家的宣告"此格封印"。封印现行 = 无色相黑——紫色与微光蓝族(魔法微光 256° 等)色相冲突,黑色无色相天然避开 300°–345° 禁入带与全部微光色带;裸土底(`#B39A78`,印记现行承载面——封印格已揭示,见 §3.2 封印印记条)明度对纯黑对比 ≈7.8:1、未开格墙顶明度 ≈113 对纯黑对比 ≥4.4:1,纯黑实心剪影单靠明度差即成立,不依赖任何浅色细件。封印紫不再用于棋盘(色史归 git 提交史);红族棋盘侧只剩危险红;主角随身背包件为朱红矩形件(人设侧见 character-design),与棋盘封印色脱钩。验收:机检〈封印宣告色 = #000000,裸土底对其对比 ≥4.5:1〉 ←原一;P2
- **危险红 `#A8321F`**|危险色:雷 = 被惊动的巢穴,兑现档红,更深更沉。验收:机检〈危险语义色 = #A8321F〉 ←原三;P2
- **奖励金 `#F0A828`**|已兑现的收益:GP/宝箱/蜡封,全作唯一亮金。验收:机检〈收益语义色 = #F0A828〉 ←P2;§2.3/2.4
- **小人蓝 `#2E86DE`**|小人主色:棋盘唯一"己方",与光标准线同族。验收:机检〈己方语义色 = #2E86DE〉 ←P1;§2.1
diff --git a/design/content-archive/道具退役素材库.md b/design/content-archive/道具退役素材库.md
index 0afc4f6c..84ce46f7 100644
--- a/design/content-archive/道具退役素材库.md
+++ b/design/content-archive/道具退役素材库.md
@@ -72,6 +72,14 @@
| 换装券 | 冒险中可在节点处换装一次 | 终裁装配只在冒险开始前配置、冒险中零更换途径——无此件存在空间 | 2026-10-11 |
| 第四只手 | 同调位 +1(额外格=优秀格) | 净收益为零的自指件——占一槽换一槽(真实携带量 3=3)且自锁唯一稀有格 | 2026-10-11 |
+## 表五 重设计件退役(2026-11-07 起)
+
+已实装 `feats.tres` 后退役的重设计专长,留底供日后重新过准入(回收须过准入校验/分界尺/定义卡三关,与其他素材库件同规)。
+
+| 代号 | 效果 | 退役原因 | 退役日期 |
+|---|---|---|---|
+| 破封一击 | on 挖开有封印印记的危险格:额外 +1 层(疼痛记忆同账) | 触发路径删除——「封印受理即揭示、封印格拒绝挖掘」口径换代后「挖开封印格」不复存在,专长永远无法触发(2026-11-07 用户裁) | 2026-11-07 |
+
## 备选素材(未立项提名,2026-10-10 用户令增设)
> 本节收纳**曾被提名但从未立项、零设计细则**的备选概念——只记提名出处与当前结构前提,不做详细设计;是否立项、立项后怎么设计,待用户另议。与退役表不同:这些件从未落过数据表或正文设计,回收时无「原效果」可考,须从头过定义卡。
diff --git a/design/gdd/systems/冒险循环/奇物.md b/design/gdd/systems/冒险循环/奇物.md
index 91e395b3..90f5694e 100644
--- a/design/gdd/systems/冒险循环/奇物.md
+++ b/design/gdd/systems/冒险循环/奇物.md
@@ -11,7 +11,7 @@
>
> **兑付频率(先看这条,它是三条渠道的共同前提)**:奇物**不是打一场战斗给一份**。关内的普通战斗节点打完了什么也不给;一关之内奇物**只兑付一次**,触发点是**关底 Boss 被击败**——而按 [冒险结构](冒险结构.md) 的定义,打掉关底 Boss 恰好就等于"通过这一关",这两件事是同一个时刻,不是一条链上的两步。
>
-> 状态:**已实现**;现行为 v1.6。本文件是奇物的唯一定义文档。
+> 状态:**已实现**;现行为 v1.7。本文件是奇物的唯一定义文档。
>
> 数值纪律:本文件只写概念、取值域与指路;每件给多少、效果是什么一律不进正文,事实源是 `data/tables/feats.tres` 与 `data/tables/adventure.tres`。
@@ -31,7 +31,7 @@
> **落行注记**:「每第 N 次 / 积满触发」的数据行条件写 **N−1**——效果引擎分发时 when 先于 do 读计数器现值(预评估),故「满 N 触发」落行写 N−1(例:地质学家「满 4 种」写 eq 3、封印匠「每第 3 次」写 mod_eq ref 2、双管镐「每第 2 次」写 mod_eq ref 1)。行为仍为每第 N 次准点触发,单元测试钉住;新件落行照此口径。
-### 基础件表(27 件,五族 + 跨族桥 + 契约尖点)
+### 基础件表(26 件,五族 + 契约尖点)
**开格系(6)**
@@ -69,11 +69,7 @@
**踩雷转化对账锚(自爆流 kill-switch,2026-10-11 用户裁)**:踩雷的净血账期望必须为负——雷伤 > 血蜜回复 + 其余转化件的血当量;对账归调参批,两轮数值迭代压不住则砍血蜜。防「见雷就踩」退化(喂雷流教训同源);主动/误踩不判定(用户裁:不预判玩家意图,拿件自选收益最高的操作)。
-**跨族桥(封印系 × 踩雷系)(1)**
-
-| 代号 | on / when / do(声明要点) | 账 |
-|---|---|---|
-| 破封一击 | on 挖开有封印印记的危险格:额外 +1 层(疼痛记忆同账) | 印记=标定引信、挖=引爆——推理定位的显式回报;挂棋盘事实(挖开格当时有封印印记)非玩家意图判定(扩签:被挖格当时有封印印记) |
+**跨族桥退役(2026-11-07 用户裁)**:破封一击(on 挖开有封印印记的危险格:额外 +1 层)退役进[道具退役素材库](../../../content-archive/道具退役素材库.md)表五——「封印受理即揭示、封印格拒绝挖掘」口径换代后「挖开封印格」路径不存在,专长永远无法触发;其触发事实词「被挖格当时有封印印记」随件自引擎除名。跨族桥位现空缺。
**节奏系(3)**
diff --git a/design/gdd/systems/战斗循环/地图战斗资源.md b/design/gdd/systems/战斗循环/地图战斗资源.md
index 556376d7..81403ce3 100644
--- a/design/gdd/systems/战斗循环/地图战斗资源.md
+++ b/design/gdd/systems/战斗循环/地图战斗资源.md
@@ -1,7 +1,7 @@
# 地图战斗资源
> 一句话:格面资源的产出、极性字典与清图奖励封装
-> 状态:已定稿;现行为 v1.6
+> 状态:已定稿;现行为 v1.7
## 设计目的
@@ -108,8 +108,7 @@
| 玩家动作 | 安全格 | 危险格 |
|---|---|---|
| 开格 | **+类型**:该格资源的正向兑付(奖励) | **−类型**:该格资源的负向兑付(惩罚) |
-| 封印且留到轮末判定 | **−类型**:标错,该格资源的负向兑付(惩罚) | **+类型**:标中,该格资源的正向兑付(奖励) |
-| 封印格直接挖开 | 零兑付(四情况④:零惩罚零奖励——标空不判、正向作废) | **−类型**照常(四情况②:只受挖雷一层惩罚——标中不发) |
+| 封印(受理即揭示、留到轮末判定——封印格拒绝挖掘,挖开封印格路径不存在) | **−类型**:标错,该格资源的负向兑付(惩罚);该格资源正向不兑付 | **+类型**:标中,该格资源的正向兑付(奖励) |
矩阵的定义归本文;把矩阵跑起来的路由(结算队列、判定基线、逐行兑付)归[战斗结算](战斗结算.md)的授予段。blast 型负向 = 警觉。矩阵只描述现行规则;被本矩阵取代的旧体系与历次结构变更(撤旗退役、伏击换装等)只进 git 提交史,不在正文复述。
@@ -147,7 +146,7 @@
### 清图奖励对象:整图封装,可配置可替换
-清图奖励不属于任何一格的格面资源——它是作用域为整张板的独立奖励对象:把一张图的雷全部清完(全部安全格开完)时结算发的那一份。装板摇号时与格子资源同批判尾摇定身份;清图批兑付恰好一次;完美封印(零误标且至少一次封印标中)追加第二份同身份兑付。清图奖励只在清图批兑付:弃图刷新不触发清图事件,换来的新图不发清图奖励;刷新专长的固定 GP 收益走战斗内缓冲入账,不属清图奖励封装。
+清图奖励不属于任何一格的格面资源——它是作用域为整张板的独立奖励对象:把一张图的雷全部清完(全部安全格完成——挖开或封印,口径见[排雷玩法](../排雷循环/排雷玩法.md))时结算发的那一份。装板摇号时与格子资源同批判尾摇定身份;清图批兑付恰好一次;完美封印(零误标且至少一次封印标中)追加第二份同身份兑付。清图奖励只在清图批兑付:弃图刷新不触发清图事件,换来的新图不发清图奖励;刷新专长的固定 GP 收益走战斗内缓冲入账,不属清图奖励封装。
它是可配置可替换的封装:数据面上是清图池里的一行(现行默认槽 clear_default),换行即换内容,机制零改动。按图类型差异化已留结构位——`clear_<图类型>` 命名空间预留,不同地图类型可以配不同的清图奖励;词表现行 = {dungeon, underdark, deep_underdark}(玩家侧「地图类型」),差异化内容启用随内容批。
diff --git a/design/gdd/systems/战斗循环/战斗结算.md b/design/gdd/systems/战斗循环/战斗结算.md
index da3c6602..ddf743a3 100644
--- a/design/gdd/systems/战斗循环/战斗结算.md
+++ b/design/gdd/systems/战斗循环/战斗结算.md
@@ -1,7 +1,7 @@
# 战斗结算
> 一句话:轮末结算的编排与逐行兑现
-> 状态:已定稿;现行为 v1.8
+> 状态:已定稿;现行为 v1.9
## 设计目的
@@ -19,7 +19,7 @@
|---|---|
| 轮次编排 | 战斗开始序列、每轮五段结算、五种出口分发(继续 / 换图 / 挖掘期刷新 / 战斗结束 / 关卡结束) |
| 结算触发与段序 | 轮末自动触发一次整轮结算;五段顺序为冻结结构,改动走文档修订而非调参 |
-| 结算队列与判定基线 | 挖掘期动作(开格、封印)入结算队列;封印判定以轮末在场封印为基线,逐行兑付(撤旗动作退役) |
+| 结算队列与判定基线 | 挖掘期动作(开格、封印)入结算队列;封印判定以轮末在场封印为基线,逐行兑付(封印格拒绝挖掘,受理过的封印必然在基线) |
| 明细流水协议 | 结算中的每件事逐行留档并标注来源,是呈现、回放对账、数据导出共读的唯一数据源 |
| 收益对照表 | 一张效果档位对照表归一全部收益的折算口径(详见核心规则) |
| 伤害与治疗边界 | 修正池合成与封顶、溢杀丢弃、治疗封顶、死亡判定时机 |
@@ -127,22 +127,15 @@ percent 类(每结算、每层): E = |层数 × 行值| ÷ 100 ×
### 授予段兑付:极性路由,四类动作各归各系统资源
-授予段消费结算队列。**队列与判定基线**:挖掘期玩家对格子的动作——开格、封印——都进入结算队列;结算逐批兑付,不走逐动作出栈直算。封印判定以轮末在场封印位为基线:被直接挖开的封印已随挖掘消失、不在基线(零兑付——标中 / 标空让位于挖掘本体结局,见下文封印不可逆四情况);开格事实不可撤(已开格无法回退)。过滤后按触发源分三批兑换,每格受理、每封印判定恰好一次。
+授予段消费结算队列。**队列与判定基线**:挖掘期玩家对格子的动作——开格、封印——都进入结算队列;结算逐批兑付,不走逐动作出栈直算。封印判定以轮末在场封印位为基线:封印格拒绝挖掘,受理过的封印必然保留到轮末、全部在基线;开格事实不可撤(已开格无法回退)。过滤后按触发源分三批兑换,每格受理、每封印判定恰好一次。
兑付走**极性矩阵**(定义归[地图战斗资源](地图战斗资源.md)):开安全格 → 该格格面资源的正向;开危险格 → 负向;封印标中 → 该危险格资源的正向;标错封印 → 该安全格资源的负向。九型字典里每型各有一行正向、一行负向(gp 正负两向兑付 = 战斗内 GP 缓冲,见下方兑付形态表);伏击已退役,blast 型负向现况 = 警觉(敌方护甲等级 +1)。
-**封印不可逆四情况(2026-09-19 用户拍板)**:封印印记是一次性承诺、移除动作退役、挖封印格放行——兑付按四情况改判:
-
-| 情况 | 兑付 |
-|---|---|
-| ① 插危险格、留到轮末判定 | 标中照常(该危险格资源正向) |
-| ② 插危险格、再直接挖开 | 只受挖雷一层惩罚(该危险格资源负向照常兑付;挖雷惩罚因惊动触发);标中不发(封印已随挖掘消失、不入判定基线) |
-| ③ 插安全格、留到轮末判定 | 标空惩罚照常(该安全格资源负向) |
-| ④ 插安全格、再直接挖开 | 零惩罚零奖励——正向兑付作废,记「奖励作废(封印格直接挖开)」归因行;标空判定同②自然缺席 |
+**封印受理即揭示(2026-11-07 用户裁)**:封印受理只完成揭示与立印——墙瓦片换地板、格下身份当场可见(裁决见[排雷玩法](../排雷循环/排雷玩法.md)),兑付仍全部发生在轮末判定批,受理当场零兑付;封印格拒绝挖掘,「挖开封印格」的兑付改判路径随之不存在。
| 批 | 兑付 |
|---|---|
-| 挖格批 | 开到的安全格逐格兑该格资源的正向(封印格直挖除外——四情况④零奖励);开到的危险格逐格兑该格资源的负向(封印危险格照常——四情况②) |
+| 挖格批 | 开到的安全格逐格兑该格资源的正向;开到的危险格逐格兑该格资源的负向 |
| 封印判定批 | 标中则兑该危险格资源的正向,每颗雷的资格只兑一次;标空则记"封印未中"归因行,并兑该安全格资源的负向 |
| 清图批 | 清图奖励对象恰好发一次;完美封印追加第二份同身份兑付 |
@@ -162,7 +155,7 @@ percent 类(每结算、每层): E = |层数 × 行值| ÷ 100 ×
警觉(blast 负向)按个体归属:每个存活敌各发一条自己的实例(全体存活敌规则,见[增益状态](增益状态.md)〈目标规则与个体归属〉节),只活一轮、轮末随体清零;战斗段由防守方护甲等级读数消费(我打敌 = 该敌 armor_class + 它名下的 ac 型状态合计)。其余各型负向受池 clamp 与叠层上限承载。
-标中资格认雷不认封印:兑付资格以危险格实例为键——封印印记无任何移除手段(移除动作已退役,重复封印被"已有封印"拒绝)、同一颗雷跨轮不重复兑付;换图后新雷是新实例,资格自然重置。同一处封印一直落在雷上,每轮都会重新上报标中,去重是本系统的职责。
+标中资格认雷不认封印:兑付资格以危险格实例为键——封印印记无任何移除手段(封印格拒绝挖掘,重复封印被"已有封印"拒绝)、同一颗雷跨轮不重复兑付;换图后新雷是新实例,资格自然重置。同一处封印一直落在雷上,每轮都会重新上报标中,去重是本系统的职责。
标错的惩罚:标空封印(标了但格不是雷)= 该安全格格面资源的负向兑付(极性矩阵的"标错"分支),类型化、确定性、零额外派生。负向兑付与"封印未中"归因行同键去重,每危险格实例只触发一次;叠层已满授予被拒时记"奖励未生效"行,不静默吞掉。
@@ -325,7 +318,7 @@ EV 参考数不入正文(派生读数,需要时按判定式与现行表值
1. 战斗开始序列跑完(关闸门、初始化状态池、掷骰定敌数、生成敌人、装板并预分配资源、发开轮通知 + 开轮摇号),进入第一轮挖掘期。
2. 挖掘期本系统只缓冲事实流(开格、封印入结算队列),不做任何兑付。
3. 轮末自动触发五段结算,触发与事件到达序无关。
-4. 授予段按判定基线过滤(被挖开的封印不入判定),再按极性矩阵三批兑现:开安全格兑正向(封印安全格直挖 = 四情况④零奖励作废行)、开危险格 / 标错封印兑负向(封印危险格直挖照常——四情况②)、清图发清图奖励对象(完美乘数读 settlement.tres p_perfect)。
+4. 授予段按轮末在场封印基线兑付(封印格拒绝挖掘,在场封印必然全部在基线),再按极性矩阵三批兑现:开安全格兑正向、开危险格 / 标错封印兑负向、清图发清图奖励对象(完美乘数读 settlement.tres p_perfect)。
5. 增益合成、主角先手加逐敌按摇定技能兑付(伤害技三乘法链 / 增益技施放行)加地图伤害账殿后(暂存单随战斗段末统一结账)、衰减恰好一次。
6. 判定段先主角后敌人:继续通知同图、清图换图续轮、胜负走战斗结束清理(秘宝背包不清)。
7. 明细流水全程落行,供呈现、回放与导出。
@@ -361,7 +354,7 @@ EV 参考数不入正文(派生读数,需要时按判定式与现行表值
- 五段全序:任一轮结算的明细行按五段顺序排列。
- 触发与到达序无关:同一轮末的两条结束消息按任意先后驱动,结算步骤流逐行相同。
-- 挖封印格兑付改判:有封印格直接挖开被受理——封印安全格直挖零奖励(作废归因行恰一次)、封印危险格直挖只吃挖雷惩罚;被挖开的封印不入轮末判定(零标中 / 标空兑付);开格事实不可撤。
+- 封印受理即揭示零兑付:封印受理只完成揭示与立印,当场零资源兑付(无正向无负向);兑付只发生在轮末封印判定批——标中正向 / 标空负向,在场封印全部入判定基线;开格事实不可撤。
- 每事实恰一次:每格受理、每封印判定恰好一次;重复投递不改变结果。
- 极性路由正确:开安全格 / 封印标中只兑正向、开危险格 / 标错封印只兑负向;兑付效果与该格资源类型的字典行一一对应。
- 警觉按个体:每只敌各持自己的警觉实例、互不共享;blast 负向逐层直授无上限(个体化——2026-11-02 用户裁)。
diff --git a/design/gdd/systems/排雷循环/地形变异.md b/design/gdd/systems/排雷循环/地形变异.md
index 453fdfd2..4e24e12b 100644
--- a/design/gdd/systems/排雷循环/地形变异.md
+++ b/design/gdd/systems/排雷循环/地形变异.md
@@ -1,7 +1,7 @@
# 地形变异
> 一句话:格子的非雾变异(荆棘丛/藤蔓缠绕/岩浆/烬覆/落石/矿尘)与 Boss 图整图变异(贫矿脉),挖掘中可遭遇的地貌偏离
-> 状态:已定稿;现行为 v1.3
+> 状态:已定稿;现行为 v1.4
## 设计目的
@@ -64,7 +64,7 @@
机制口径:
-- 伤害型:挖开变异格(含连锁揭示,chain 通道同口径)在轮末结算逐行兑现扣生命——地形后果同挖雷口径,非奖励、封印格直挖不作废;危险格恒不吃变异(双层叠罚污染逐行归因,首版排除)。
+- 伤害型:挖开变异格(含连锁揭示,chain 通道同口径)在轮末结算逐行兑现扣生命——地形后果同挖雷口径,非奖励(封印受理只揭示不挖开,不触发变异伤害——挖开封印格路径已删,口径见[排雷玩法](排雷玩法.md));危险格恒不吃变异(双层叠罚污染逐行归因,首版排除)。
- 信息型:已开且显示数字时该格真实数字不呈现(呈现层读取遮蔽;挖掘规划被迫降级为盲区推理)。呈现层读取不回灌规则本体——模拟试玩走查询面、不经遮蔽,读数口径不受影响。
- 直伤量为加法核小整数(effect_value ∈ [1,9],行值 provisional 归难度曲线与Boss);每格携带单类型单 id。
- 变异格未开时无预告呈现(遭遇式;视觉标识归表现层升级批)。
diff --git a/design/gdd/systems/排雷循环/排雷玩法.md b/design/gdd/systems/排雷循环/排雷玩法.md
index f86e5f44..423df1d7 100644
--- a/design/gdd/systems/排雷循环/排雷玩法.md
+++ b/design/gdd/systems/排雷循环/排雷玩法.md
@@ -1,7 +1,7 @@
# 排雷玩法
> 一句话:挖格、封印、连锁展开等扫雷规则本体
-> 状态:已定稿
+> 状态:已定稿(v2.0)
## 设计目的
@@ -11,13 +11,13 @@
## 系统范围
-边界这样划:一个动作"碰棋盘"的部分全归这里——合不合法、执行后格子变成什么样、翻开了哪些格、封印印记立在哪;"花多少钱"归行动经济,"兑现成什么战斗效果"归战斗结算,"画成什么样"归 HUD 框架,"格子怎么生出来"归棋盘生成。本系统自己不含任何玩法数值、零随机、也不认界面:同一张板、同一份动作序列,必然得到逐位相同的结果。
+边界这样划:一个动作"碰棋盘"的部分全归这里——合不合法、执行后格子变成什么样、哪些格被揭示、封印印记立在哪;"花多少钱"归行动经济,"兑现成什么战斗效果"归战斗结算,"画成什么样"归 HUD 框架,"格子怎么生出来"归棋盘生成。本系统自己不含任何玩法数值、零随机、也不认界面:同一张板、同一份动作序列,必然得到逐位相同的结果。
负责:
| 负责 | 说明 |
|---|---|
-| 全部棋盘面规则 | 动作合法性(相邻、开未开、封印位)、连锁展开、数字提示、封印印记的棋盘状态、清图判定(安全格是否全部开完) |
+| 全部棋盘面规则 | 动作合法性(相邻、开未开、封印位)、连锁展开、数字提示、封印印记的棋盘状态、清图判定(安全格是否全部完成——挖开或封印) |
| 开局初始展开 | 装板事务:结构前提校验、免费展开出生开阔地、小人落位 |
| 单一结算入口 | 玩家意图只从批次结算入口进,按固定语义序仲裁 |
| 三种对外事件 | 挖开格、封印判定、轮次结束——全项目的事实流源头 |
@@ -49,15 +49,15 @@
移动不花行动点:点任何已开格,小人沿已探明区一次走到位,"已探明区"包括踩过的危险格残址。点击已开格的唯一含义就是移动——本作没有经典扫雷里"双击数字格一键翻开周围"的 chord(双击快开),每一格的兑现都必须花行动点。
-挖已封印的格是合法动作(2026-09-19 用户拍板):封印印记是一次性承诺、没有撤旗动作,直接挖开就是对承诺的兑现——封印印记随挖掘消失、该封印轮末不再判定;挖开封印格的兑付改判(标中不发 / 安全格零奖励等四情况)归[战斗结算](../战斗循环/战斗结算.md)。
+封印与挖开同样揭示格子(2026-11-07 用户裁):封印被受理的那一刻,墙瓦片换成地板瓦片、格下身份(危险格还是安全格、安全格的数字)当场可见,封印印记叠在其上——玩家不用等轮末判定就知道封中还是封空。兑付仍然全部发生在轮末判定批,受理当场零兑付、零事件。封印格从此拒绝挖掘:挖已封印的格被拒(拒绝原因独立可辨),"封印后再挖开"这条路径不存在。封印印记没有任何撤下手段——不能被挖开、不能被撤下,随图存续到换图或战斗结束。
| 动作 | 合法对象 | 棋盘面拒绝情形 |
|---|---|---|
-| 挖 | 8 向相邻、未开(有封印照挖) | 不相邻 / 已开过 |
+| 挖 | 8 向相邻、未开、无封印 | 不相邻 / 已开过 / 已封印 |
| 封印 | 8 向相邻、未开、无封印 | 不相邻 / 已开过 / 已有封印 |
| 移动 | 任意已开格,且能只经已开格连通到达 | 目标未开 / 无连通路径 |
-每个被拒动作都带一个可辨的拒绝原因;原因只能取自一份固定清单,清单外没有别的来源。三个来源互不混淆:棋盘面非法(上表各情形,细因彼此数据可分——"已有封印"和"不相邻"必须是两个可区分的原因)、资源不足(判定权在行动经济)、相位不对(本轮已收尾,不收动作)。玩家看到的文案归[HUD 框架](../表现与支撑/HUD框架.md)。
+每个被拒动作都带一个可辨的拒绝原因;原因只能取自一份固定清单,清单外没有别的来源。三个来源互不混淆:棋盘面非法(上表各情形,细因彼此数据可分——"已有封印"(封印动作)与"已封印"(挖动作)和"不相邻"必须互可区分)、资源不足(判定权在行动经济)、相位不对(本轮已收尾,不收动作)。玩家看到的文案归[HUD 框架](../表现与支撑/HUD框架.md)。
```
一个意图进来
@@ -73,16 +73,16 @@
每个已开安全格都亮着一个数字,恒等于它周围 8 格里的雷数。这条"数字恒真"是全部推理的地基:数据层从不说谎,呈现层怎么遮掩都不改真值——任何让数字失真的实现都在禁止之列。
-挖开一个数字为 0 的格(周围一圈没有雷)时,它周围未封印的安全格免费连锁全开,一路递推到没有新的 0 格为止——这就是连锁展开,玩家看到的是"坍塌显形":挖穿一层薄壳,整片松动的地面塌陷露出。连锁格只扣首格挖掘按价计的一笔,照常计入清图进度(清图 = 开完全部安全格),格面资源资格也照常——连锁开出的格与单挖的格同权,资源身份归[地图战斗资源](../战斗循环/地图战斗资源.md)、极性兑付归[战斗结算](../战斗循环/战斗结算.md),本系统不区分。
+挖开一个数字为 0 的格(周围一圈没有雷)时,它周围未封印的安全格免费连锁全开,一路递推到没有新的 0 格为止——这就是连锁展开,玩家看到的是"坍塌显形":挖穿一层薄壳,整片松动的地面塌陷露出。连锁格只扣首格挖掘按价计的一笔,照常计入清图进度(清图 = 全部安全格完成,完成 = 挖开或封印),格面资源资格也照常——连锁开出的格与单挖的格同权,资源身份归[地图战斗资源](../战斗循环/地图战斗资源.md)、极性兑付归[战斗结算](../战斗循环/战斗结算.md),本系统不区分。
连锁遇到封印就停:封印格不被链开,也不给更远的格当传播跳板。封印按价计费,正是玩家亲手买下的"链阻断器"——对一片不敢确定的地,提前落一枚封印印记,塌方到它为止。
-清图在每次挖完成后判定;封印、移动都不改已开格,永远不会触发清图。
+清图在每次挖或封印完成后判定;移动不改格子,永远不会触发清图。
| 连锁展开的性质 | 含义 |
|---|---|
| 免费 | 只扣首格按价计的一笔,连锁翻开的格不另收费 |
-| 计入清图进度 | 连锁开的格照常算进"全部安全格开完"的判定 |
+| 计入清图进度 | 连锁开的格照常算进"全部安全格完成"的判定 |
| 资源资格照常 | 连锁开出的安全格与单挖的安全格同权 |
| 遇封印即止 | 封印格不入链、不作传播跳板;封印印记留在原地,轮末照常判定 |
@@ -134,9 +134,9 @@
### 封印立得住、也带不走:封印印记的生命周期与换图重置
-封印印记是棋盘状态的一部分,不是背包里的实物:落下的封印印记跨轮保留、随图存续,没有数量上限,也没有任何移除手段(移除动作已退役——封印印记只能被挖开,不能被撤下)。每次轮次结束(行动点耗尽、玩家停手或清图时),本系统对当时在场的每一处封印如实上报一条判定——封印底下是雷记标中(玩家看到危险格被控制、化险为利),不是雷记标空;封印一直落在雷上,就每轮如实重复上报标中,去重是[战斗结算](../战斗循环/战斗结算.md)的事,本系统只报事实。被直接挖开的封印随挖掘消失、不在轮末在场基线里,自然不报判定;封印本身不发事件,界面反馈走调用返回值。
+封印印记是棋盘状态的一部分,不是背包里的实物:落下的封印印记跨轮保留、随图存续,没有数量上限,也没有任何撤下手段——封印格拒绝挖掘(见「挖、封印、移动」节),印记只能随图更替消失。每次轮次结束(行动点耗尽、玩家停手或清图时),本系统对当时在场的每一处封印如实上报一条判定——底下是雷记标中(玩家看到危险格被控制、化险为利),不是雷记标空;封印一直落在雷上,就每轮如实重复上报标中,去重是[战斗结算](../战斗循环/战斗结算.md)的事,本系统只报事实。封印本身不发事件,界面反馈走调用返回值。
-标空(封错格)的纠错路径只有一条:把它挖开(兑付改判四情况见[战斗结算](../战斗循环/战斗结算.md));不挖也可以留着它当链阻断器、当"别走这边"的地图注记。封印印记不参与清图判定,但带封印的格没挖开就照常挡着——全图封印一格不挖,永远清不了图。
+标空(封错格)没有纠错路径:印记不撤不消、随图存续——封错的格从此是一块标了价的地图注记:它算完成探索(计入清图进度),但格面资源不兑付,轮末标空的负向兑付(归[战斗结算](../战斗循环/战斗结算.md))就是封错的代价;它同时仍是链阻断器和不可通行的地形。清图判定口径(2026-11-07 用户裁):清图 = 全部安全格完成,完成 = 挖开或封印——封印可以完成清图,全图不可能被"封错一格"卡死。
标空就是标错,玩家读到的是控制失败——惩罚兑付为该安全格格面资源的负向(极性矩阵,归[地图战斗资源](../战斗循环/地图战斗资源.md)与[战斗结算](../战斗循环/战斗结算.md)),本系统只报"标空"事实。
@@ -150,7 +150,7 @@
| 随战斗结束消失 | 整板退役 | 与板一同清空 |
```
-封印(按价计费,界面即时反馈)→ 封印印记立在未开格上,跨轮保留
+封印(按价计费,界面即时反馈)→ 封印印记立在已揭示格(地板)上,跨轮保留
每次轮次结束 → 逐封印判定,如实上报(标中 / 标空)
换图(清图或刷新)或战斗结束 → 封印印记随旧图全量消失
```
@@ -159,11 +159,11 @@
### 一帧一个意图、对外只有三种事件:批次仲裁与事件面
-玩家每帧只提交一个意图,全部意图经同一个批次结算入口进入本系统——这是唯一的结算入口,保证任何情况下只有一种结算顺序。批次是整体事务:先按固定语义序重排(能清图的挖最优先、停手次之、其余殿后,同类内按提交顺序),再逐个执行;轮次结束条件第一次成立处定出赢家,其后的意图全部丢弃。丢弃不等于被拒:拒绝是本来就不合法,丢弃是来不及了——零棋盘效果、零扣费、零事件。单意图帧下正常玩不出批次竞争,这套仲裁是防御性兜底。
+玩家每帧只提交一个意图,全部意图经同一个批次结算入口进入本系统——这是唯一的结算入口,保证任何情况下只有一种结算顺序。批次是整体事务:先按固定语义序重排(能清图的挖或封最优先、停手次之、其余殿后,同类内按提交顺序),再逐个执行;轮次结束条件第一次成立处定出赢家,其后的意图全部丢弃。丢弃不等于被拒:拒绝是本来就不合法,丢弃是来不及了——零棋盘效果、零扣费、零事件。单意图帧下正常玩不出批次竞争,这套仲裁是防御性兜底。
| 批次语义序 | 类别 | 说明 |
|---|---|---|
-| 最先 | 能清图的挖 | 执行后图即全开的挖——防止"耗尽优先"把清图高光结算成最差结局 |
+| 最先 | 能清图的挖或封 | 执行后图即全开的挖或封——防止"耗尽优先"把清图高光结算成最差结局 |
| 次之 | 停手 | 玩家主动收轮 |
| 其余 | 普通挖、封印、移动 | 同类内按提交顺序 |
@@ -179,7 +179,7 @@
```
一批意图到达
- → 按语义序重排(能清图的挖 > 停手 > 其余,同类按提交序)
+ → 按语义序重排(能清图的挖或封 > 停手 > 其余,同类按提交序)
→ 逐个执行,轮次结束第一次成立处定赢家,其后意图丢弃
→ 收轮:先把封印判定逐条报完,再报轮次结束
```
@@ -193,7 +193,7 @@
| 方向 | 系统 | 接口要点 |
|---|---|---|
| 上游 | [棋盘生成](棋盘生成.md) | 棋盘产物的消费方;装板时校验结构前提(出生区无雷、数字恒真等),违例拒绝装板 |
-| 上游 | [行动经济](行动经济.md) | 唯一扣费入口:本系统判棋盘面后请行动经济扣费,绝不自行扣减;挖成后上报连锁规模与清图事实;停手意图经批次入口转交 |
+| 上游 | [行动经济](行动经济.md) | 唯一扣费入口:本系统判棋盘面后请行动经济扣费,绝不自行扣减;挖成或封成后上报连锁规模与清图事实;停手意图经批次入口转交 |
| 下游 | [战斗结算](../战斗循环/战斗结算.md) | 三事件的订阅方、轮末兑现方;换新图指令由它回发 |
| 下游 | [地图战斗资源](../战斗循环/地图战斗资源.md) | 本系统只上报"这格有无格面资源资格"的事实;资源内容与极性兑付不经本系统 |
| 下游 | [HUD 框架](../表现与支撑/HUD框架.md) | 呈现义务归 HUD 框架 |
@@ -203,7 +203,7 @@
最小闭环只保留跑通"装板—挖—收轮—兑现—换图"必需的规则:
1. 战斗开始装上新图:校验结构前提,违例拒绝;初始展开免费翻开出生开阔地,小人落位。
-2. 玩家每帧提交一个意图:挖(判棋盘面,请行动经济按价扣费,开格加连锁并逐格上报;有封印格照挖、封印印记随挖掘消失)、封印(按价计费,封印印记入棋盘,零事件)、移动(免费,已开区一次走到位)。
+2. 玩家每帧提交一个意图:挖(判棋盘面,请行动经济按价扣费,开格加连锁并逐格上报;封印格拒绝挖掘)、封印(按价计费,受理即揭示——墙变地板、身份可见,印记立其上;零事件)、移动(免费,已开区一次走到位)。
3. 被拒动作带可辨原因、状态不变;批次内轮次结束首次成立处定赢家,其后意图丢弃。
4. 收轮:先报完在场封印的逐条判定,再报轮次结束(停手路径由行动经济直发)。
5. 战斗结算订阅事件流逐行兑现;清图或刷新换图时按它回发的指令装新图,旧板封印印记全量失效,回到第 1 步。
@@ -219,7 +219,7 @@
## 调参表
-本系统无自有参数:价目与每轮点数见[行动经济](行动经济.md)的调参表,棋盘形态见[棋盘生成](棋盘生成.md)。连锁免费、移动免费、无 chord、批次语义序、三种事件封闭都是冻结设计而非参数——改动走本文修订流程,不走调参。
+本系统无自有参数:价目与每轮点数见[行动经济](行动经济.md)的调参表,棋盘形态见[棋盘生成](棋盘生成.md)。连锁免费、移动免费、无 chord、封印受理即揭示、清图口径(挖开或封印算完成)、批次语义序、三种事件封闭都是冻结设计而非参数——改动走本文修订流程,不走调参。
## 验收标准
@@ -228,7 +228,8 @@
- 数字恒真:任意已开安全格的数字恒等于其 8 向相邻雷数;出生区无雷、数字恒真、初始展开不吞全图三条结构前提任一不满足时,装板被拒绝。
- 初始展开恰等:装板后翻开的格集合恰为"出生 3×3 加连通开阔地"——不止 3×3,也不外扩一圈;全程免费、恒无格面资源(封锁格)、计入清图进度;跨轮不重放。
- 连锁免费且遇封印即止:一次触发连锁翻开任意多格,扣费恒为首格按价计的一笔;封印格不被链开、不作传播跳板;连锁格计入清图进度、资源资格照常。
-- 挖封印格放行:有封印格直接挖开被受理——封印印记随挖掘消失、该封印轮末不判;重复封印仍被"已有封印"拒绝;兑付改判四情况(标中不发 / 安全格零奖励)归战斗结算。
+- 封印受理即揭示、挖封印格被拒:封印被受理后该格进入已揭示态——身份(危险/安全与数字)当场可查、封印印记叠在其上、受理当场零兑付零事件;挖已封印的格被拒(拒绝原因独立可辨、零副作用);重复封印仍被"已有封印"拒绝。
+- 清图口径:清图 = 全部安全格完成——挖开或封印都算完成;封到安全格计入清图进度,封印可以完成清图。
- 已引爆危险格可通行:挖雷后轮次不结束,小人可站、可经已开区穿行续挖;危险格不计清图、不可再挖再封印。
- 移动合法且预览同源:目标未开或无已开区连通路径时拒绝;路径预览与实际执行逐格相同;移动免费、零事件。
- 批次仲裁与到达序无关:同一批意图按任意顺序提交,结束路径与结算结果一致;赢家定出后其余意图丢弃——零棋盘效果、零扣费、零事件,且丢弃区别于拒绝。
diff --git a/design/gdd/systems/排雷循环/行动经济.md b/design/gdd/systems/排雷循环/行动经济.md
index 4c693029..b1cea72b 100644
--- a/design/gdd/systems/排雷循环/行动经济.md
+++ b/design/gdd/systems/排雷循环/行动经济.md
@@ -1,7 +1,7 @@
# 行动经济
> 一句话:每轮行动点怎么花、停手与刷新的代价
-> 状态:已定稿;现行为 v1.5
+> 状态:已定稿;现行为 v1.6
## 设计目的
@@ -55,7 +55,7 @@
| 动作 | 花费 | 说明 |
|---|---|---|
| 挖开格 | 标准价(见 action_economy.tres) | 只能挖小人 8 向相邻的格子;若触发连锁展开(flood fill 式整片翻开),连锁翻开的部分免费,且计入清图进度 |
-| 封印 | 标准价(见 action_economy.tres) | 同样限相邻格。封印印记只是棋盘上的标记,不是背包里的实物,想用多少有多少——它的稀缺性完全由"要花一次标准价行动点"承载。封印印记是一次性承诺:落子就没有移除动作,纠错 = 直接挖开该格 |
+| 封印 | 标准价(见 action_economy.tres) | 同样限相邻格。封印印记只是棋盘上的标记,不是背包里的实物,想用多少有多少——它的稀缺性完全由"要花一次标准价行动点"承载。封印印记是一次性承诺:落子就没有移除动作;封印受理即揭示、封印格拒绝挖掘(口径见[排雷玩法](排雷玩法.md))——封错的代价 = 轮末标空负向兑付,纠错路径不存在 |
不花钱的有两件事:移动小人(点已翻开的格子走过去,仅限已探明区域)和连锁展开。这两项免费是冻结设计,服务"边缘探索不心疼"的氛围,不是经济杠杆。
diff --git a/design/gdd/systems/表现与支撑/教学引导.md b/design/gdd/systems/表现与支撑/教学引导.md
index 3b39df00..5016de1b 100644
--- a/design/gdd/systems/表现与支撑/教学引导.md
+++ b/design/gdd/systems/表现与支撑/教学引导.md
@@ -55,7 +55,7 @@ HUD 框架定稿时已为教学留好两个承载位,本系统的内容将来
|---|---|---|
| 行动点价目 | [行动经济](../排雷循环/行动经济.md) | 挖 / 封印各花多少、移动与连锁免费 |
| 储备池清零提示 | [行动经济](../排雷循环/行动经济.md) | 必须说清"储备行动点在战斗结束时清零",防止"攒的钱凭空没了"的误读 |
-| 封印是一次性承诺的首遇提示 | [排雷玩法](../排雷循环/排雷玩法.md)(封印不可逆批 2026-09-19) | 经典扫雷玩家会习惯性右键拔除标记——本作封印印记不能拔,落子就是承诺;想改主意就左键直接挖开(安全格零奖励、危险格受挖掘惩罚)。每场冒险提示一次,非模态 |
+| 封印是一次性承诺的首遇提示 | [排雷玩法](../排雷循环/排雷玩法.md)(封印受理即揭示口径 2026-11-07) | 经典扫雷玩家会习惯性右键拔除标记——本作封印印记不能拔,落子就是承诺:受理即揭示,封中还是封空当场可见,没有反悔路径(封错的代价=轮末标空负向兑付,印记随图存续)。每场冒险提示一次,非模态 |
| chord 不存在的首遇提示 | [HUD 框架](HUD框架.md)(承接排雷玩法的呈现义务) | 经典扫雷玩家会习惯性双击数字格——本作没有 chord,点数字格 = 移动小人。每场冒险提示一次,非模态 |
| 挖非相邻格的首次提示 | [HUD 框架](HUD框架.md) | 挖与封印都限小人 8 向相邻的格子,第一次越界操作时提示 |
| 增益叠层节奏 | [增益状态](../战斗循环/增益状态.md) | "同一轮拿满优于跨轮慢慢叠"——增益有结算次数衰减,教学要传达这个节奏 |
diff --git a/design/gdd/术语表.md b/design/gdd/术语表.md
index be371f10..f75da6f5 100644
--- a/design/gdd/术语表.md
+++ b/design/gdd/术语表.md
@@ -1,7 +1,7 @@
# 术语表
> 全库专用术语的唯一对照表(2026-10-11 用户令建立)。规矩:新术语先登记本表、再在文档使用;退役词见文末对照表,文档正文一律使用现行词。文档中遇到看不懂的词,查本表。用词纪律(禁用词、替换值、豁免范围)见「用语规范」节。
-> 状态:**现行 v1.27**——2026-10-11 建立;历次升版明细见 git 提交史。
+> 状态:**现行 v1.28**——2026-10-11 建立;历次升版明细见 git 提交史。
## 格与棋盘
@@ -12,7 +12,7 @@
| 安全格 | 没有惩罚的格子——挖开安全并获得其上信息与收益 |
| 整图 | 单张棋盘(的整个范围)——原「整图」退役(2026-10-11 用户裁)。例:整图叠加层、整图作用域 |
| 叠加层(整图叠加层) | 秘宝产生的信息的自持容器:按效果分类的格集,随图消亡、不回写棋盘(见[秘宝](systems/跨局循环/秘宝.md)) |
-| 封印 / 控制 | 封印动作的机制名/玩家名:封印印记落在危险格上为「标中」(危险格被控制、化险为利),封错为「标空」(原「旗 / 控制」,2026-10-18 用户裁:「旗」概念不存在——动作=封印、印记=封印印记),板面单字字形=「封」 |
+| 封印 / 控制 | 封印动作的机制名/玩家名:受理即揭示——墙瓦片换地板、格下身份当场可见(2026-11-07 用户裁),封印格拒绝挖掘、印记随图存续;封印印记落在危险格上为「标中」(危险格被控制、化险为利),封错为「标空」(原「旗 / 控制」,2026-10-18 用户裁:「旗」概念不存在——动作=封印、印记=封印印记),板面单字字形=「封」 |
| 真视 | 直接告诉玩家某范围内哪些格是危险格的效果(秘宝承重契约:一次最多 3×3,见[秘宝](systems/跨局循环/秘宝.md)核心规则) |
| 类型微光 | 棋盘上按格子类型显示的提示光效(视野参数控制其显示范围) |
| 换图 / 弃图刷新 | 清完一图进入下一图 / 花储备放弃当前图重开一张(代价见[行动经济](systems/排雷循环/行动经济.md)) |
diff --git a/design/ux/battle.md b/design/ux/battle.md
index 246251ef..f35ad071 100644
--- a/design/ux/battle.md
+++ b/design/ux/battle.md
@@ -2,7 +2,7 @@
> **Status**: Complete(现行)
> **Author**: user + ux-designer
-> **Last Updated**: 2026-11-02
+> **Last Updated**: 2026-11-07
> **Platform Target**: PC (Steam)——Keyboard/Mouse 主(全部操作纯鼠标可完成)、Gamepad Partial 非 MVP、Touch None(同 technical-preferences)
> **上游修订依赖**: 弃图刷新挖掘期受理依赖上游现行规则(行动经济 Active 受理 + 每轮上限 2 次、排雷玩法 Active·仅刷新路径装板、战斗结算的挖掘期刷新编排 + 恒同盘不变、系统索引的刷新规则同步——见布局决策 4 与 OQ11)
> **Template**: UX Spec
@@ -127,6 +127,48 @@
> 呈现术语注记(2026-09-25):封印 = 正式动作名(全库统一;登记册术语与术语表;印记 = 封印印记,art-bible §3.2)——机制与键名不变;印记贴图已落位(`seal_mark.png`,环+十字法阵,形与定值见 art-bible §3.2/§8.2),缺图时回落封印黑「封」字形(棋盘视图程序化回退);封印特效的施印瞬间一件未实装。封印色 = 封印黑(现行)。
+### 封印格呈现预览(2026-11-07 用户裁「封印受理即揭示」的呈现规格;2026-11-07 用户人审通过——按此先落实现,观感细化后置,不阻塞基线冻结)
+
+封印受理后格子进入**已揭示+封印**态:墙瓦片换地板瓦片(裸土),封印法阵(环+十字)叠在其上,格下身份字形(危险格「危」朱字/安全格数字)按既有绘制优先级(数字 > 小人 > 封印印记)叠于法阵之上、垫既有色牌机制保可读。轮末判定后印记不撤,随图存续。
+
+
+
+像素级判据句(实现批验收锚):①印记参数沿用现行五常量单点(环外径 0.82 格边、环壁 0.11 环径、十字臂宽 0.156 环径、光圈 alpha 0.50/γ1.6),零新增美术件、零参数改动;②封印格承载 = 地板瓦片(裸土),印记居格心、环外留 9% 格宽光圈、光圈不外溢邻格;③身份字形(危/数字)垫既有色牌件叠于法阵之上——色牌取现行色板素色小牌件,墨字对色牌对比 ≥4.5:1;④封印黑对裸土底对比 ≈7.8:1(≥4.5:1);⑤未开格与已开普通格观感与现行逐像素一致(对照列)。
+
> 可挖域微光画法定稿(2026-09-25 用户拍板):**接触带·空间侧 + 蓝族**——光画英雄格周界接触面(正交邻墙=整边,斜向邻墙=角点+两半边),详见 art-bible §3.2;现行墙格整框绿相呼吸为待退役占位,切换待表现侧实现(含探针断言)。
**布局决策 1(本 spec 最大决策,用户拍板)**:**常驻双舞台分屏**——战斗画面与扫雷图同屏常驻,挖掘期敌人待机可见,结算期不切场景。
@@ -239,7 +281,7 @@
| **调试变体** | 测试模式 | 调试浮窗入口发布态恒隐(无 UI 开启口;开发期临时启用=本地改该字段缺省、不提交——调参面板已退役);Playtest 诊断按钮(卡死转储) |
**拒绝/作废子态**(排雷玩法×6⑥、行动经济双源——每次拒绝玩家可感知):
-- 棋盘面拒绝(细分原因:非相邻/挖封印格等)→ 目标格 危险红 #A8321F 边框闪 + toast 文案(拒绝语义红族——现行封印黑)(图标+文案冗余,色弱清单 #7)
+- 棋盘面拒绝(细分原因:非相邻/挖已封印格等)→ 目标格 危险红 #A8321F 边框闪 + toast 文案(拒绝语义红族——现行封印黑)(图标+文案冗余,色弱清单 #7)
- 资源面拒绝(AP 不足/RAP 不足)→ AP/RAP 数字脉冲 + toast「AP 不足 · 剩 0 点」
- voided(stop 被作废等)→ toast「本轮已清图,停手未执行 · 剩余 AP 已作废」——防静默改判读感欺骗
@@ -253,7 +295,8 @@
|---|---|---|---|---|
| 未开相邻格 | 挖掘 | 左键 | 格碎裂 + 连锁展开(免费)+ 奖励身份揭显 | 意图入当帧批次 → 排雷玩法的意图批次提交 |
| 已开格 | 移动 | 左键 | 悬停时路径预览高亮(布局决策 3);执行 ≤150ms 短滑 | 意图入批(BFS 移动,免费) |
-| 未开格 | 封印 | 右键 | 封印印记落下(封印黑) | 意图入批(1 AP / 免费;已封印格右键无操作——封印印记无移除手段,封印不可逆) |
+| 未开格 | 封印 | 右键 | **受理即揭示**:墙瓦片换地板 + 封印印记落下(封印黑)+ 格下身份揭显(危/数字) | 意图入批(1 AP / 免费;受理当场零兑付——兑付在轮末判定批) |
+| 已封印格(已揭示) | 无 | 左键/右键 | 禁止光标 + 悬停说明(封印格无可用动作) | 零意图(不入批——封印格拒绝挖掘、不可通行、不可再封印;封印印记无移除手段,封印不可逆) |
| 停手按钮 | 主动结束轮次 | 左键 | 按钮下压 + AP→RAP 飞行数字 | 停手随当帧意图批次提交(**经排雷玩法批次,不直调行动经济**——单意图帧批次契约) |
| 弃图刷新按钮(雷图右上角) | 当轮就地换图继续挖 | 左键 | 确认微交互(RAP−8 代价显式 + 旧板弃置提示);RAP<8 → 资源面拒绝可见(行动经济 EC13) | 刷新意图提交(**Active 相位当场换图继续挖**——AP 不重置、本轮剩 N 次扣减;受理口径见布局决策 4/OQ11) |
| 图例按钮 | 开图例 | 左键 | 模态 overlay | 恒可开(图例条目恒在) |
@@ -265,7 +308,7 @@
**复合意图(排雷玩法评估项)**:点击远格 = 自动 move+dig 的两击摩擦消解——**MVP 不做**(免费移动高频,两击摩擦符合 P4 ≤2 观测假设;排雷玩法 L298 评估项在案)。
-**可挖域常驻指示**:小人 8 向相邻未开格呼吸微光(§2.1 唯一在动的元素);不可挖域(非相邻)悬停显示禁止光标 + 首次 toast 提示「需先走近(点击已开格移动,免费)」。
+**可挖域常驻指示**:小人 8 向相邻未开格呼吸微光(§2.1 唯一在动的元素);不可挖域(非相邻)悬停显示禁止光标 + 首次 toast 提示「需先走近(点击已开格移动,免费)」。已封印格(含相邻)悬停显示禁止光标——封印格拒绝挖掘、不可通行、不可再封印,无动作可发(封印格呈现规格见「封印格呈现预览」节)。
**chord 肌肉记忆首遇提示**(排雷玩法×6③):经典扫雷玩家首日尝试双击快开时,非模态 toast 每 run 一次:「本作无双击快开——封印后轮末自动判定标中;点数字格可移动小人」(含排雷玩法登记锚点「点击数字格 = 移动小人」)。文案定稿权归实现期文案 pass。
diff --git a/game/tests/README.md b/game/tests/README.md
index cce11cbd..2607d022 100644
--- a/game/tests/README.md
+++ b/game/tests/README.md
@@ -114,10 +114,11 @@ tests/
| 同参数同种子逐位复现、异种子不退化 | 棋盘生成 | `BoardGenerator.generate()` | `board_generator_test.gd:_test_same_seed_bit_identical`;`board_gen_reward_test.gd:_smoke_board_generator` |
| 可推理率与清图可达(合法性先于质量分)、重试有界、降级诚实 | 棋盘生成 | `BoardGenerator.measure_inferability()`/`BoardGenerator.is_clearable()` | `board_generator_test.gd:_test_clearable_and_inferability_selfconsistent`;`board_generator_test.gd:_test_target_mine_count_single_source`;`board_gen_reward_test.gd:_smoke_board_generator` |
| 装板与开局免费展开(封锁格无资源、计入清图) | 排雷玩法 | `MinesweeperRules.install_board()` | `minesweeper_rules_test.gd:_test_install_invariants`;`seal_polarity_test.gd:_smoke_resource_surface` |
-| 挖/封印合法性与可辨拒绝(拒绝零副作用) | 排雷玩法 | `MinesweeperRules.settle_batch()` | `minesweeper_rules_test.gd:_test_dig_face_rules`;`minesweeper_rules_test.gd:_test_seal_place`;`minesweeper_rules_test.gd:_test_reject_out_of_catalog` |
+| 挖/封印合法性与可辨拒绝(拒绝零副作用、挖封印格被拒) | 排雷玩法 | `MinesweeperRules.settle_batch()` | `minesweeper_rules_test.gd:_test_dig_face_rules`;`minesweeper_rules_test.gd:_test_seal_place`;`minesweeper_rules_test.gd:_test_reject_out_of_catalog`;`minesweeper_rules_test.gd:_test_dig_sealed_rejected`;`minesweeper_rules_test.gd:_test_classify_seal_clears`(计划——需求卡片「封印动作改版批」2026-11-07 锚定) |
| 棋盘揭示预览只读口(零状态写入/与实挖揭示集同口径) | 排雷玩法 | `MinesweeperRules.preview_reveal()` | `minesweeper_rules_test.gd:_test_preview_reveal_readonly` |
-| 封印不可逆与挖开封印格放行(兑付改判四情况) | 排雷玩法 | `MinesweeperRules.settle_batch()` | `seal_polarity_test.gd:_smoke_seal_irreversible_quadrants`;`minesweeper_rules_test.gd:_test_seal_place` |
-| 棋盘封印印记呈现 | 排雷玩法 | `BoardCellUnit.edge` → `SealMarkLayer.setup()` | `seal_mark_params_test.gd:_test_param_values`;`seal_mark_params_test.gd:_test_fog_gate` |
+| 封印受理即揭示(身份可查、受理零事件) | 排雷玩法 | `MinesweeperRules.settle_batch()` | `minesweeper_rules_test.gd:_test_seal_reveal_identity`(计划——需求卡片「封印动作改版批」2026-11-07 锚定) |
+| 清图口径换代(挖开∪封印、封印可完成清图) | 排雷玩法 | `MinesweeperRules.settle_batch()` | `minesweeper_rules_test.gd:_test_clear_by_seal`(计划——需求卡片「封印动作改版批」2026-11-07 锚定) |
+| 棋盘封印印记呈现(已揭示格承载+已封印格零动作) | 排雷玩法 | `BoardCellUnit.edge` → `SealMarkLayer.setup()`;`ui_input_probe` 真输入动线 | `seal_mark_params_test.gd:_test_param_values`;`seal_mark_params_test.gd:_test_fog_gate`;`seal_mark_params_test.gd:_test_seal_on_revealed_visible`(计划——需求卡片「封印动作改版批」2026-11-07 锚定) |
| AP 扣费、末点耗尽即收轮与战斗收束清零 | 行动经济 | `MinesweeperRules.settle_batch()`(→`ActionEconomy.try_spend()`/`ActionEconomy.notify_combat_end()`) | `seal_polarity_test.gd:_smoke_seal_ap_exhausted`;`round_flow_skill_pool_test.gd:_smoke_full_battle`;`round_flow_skill_pool_test.gd:_smoke_active_refresh` |
| 停手转存储备与轮内刷新(上限/AP 不重置/刷新图零清图奖励) | 行动经济 | `BattleOrchestrator.player_request_refresh()`/`MinesweeperRules.settle_batch()` | `round_flow_skill_pool_test.gd:_smoke_active_refresh`;`seal_polarity_test.gd:_smoke_refresh_provenance_guard`;`refresh_feats_test.gd:test_no_feats_baseline` |
| 换图系刷新链路与效果词表接线 | 行动经济×战斗结算×奇物 | `MinesweeperRules.settle_batch()`/`BattleOrchestrator.player_request_refresh()` | `effect_words_t1_test.gd:_init`;`forge_table_test.gd:_test_effect_kinds_closed`;`refresh_feats_test.gd:test_board_refresh_fact_only_on_success` |
@@ -213,7 +214,7 @@ tests/
| 战斗循环 | 战斗表现.md | 站桩敌人呈现与结算演出落点;站桩呈现定值与素材绑定;站桩显示档与素材分辨率绑定 | 已覆盖 | 死亡灰化与减动效演出档以探针+人工目检为终态(2026-11-02 用户裁除名,不再补自动断言) |
| 战斗循环 | 敌人系统.md | 技能池数据面与回放独立;Boss 半血解锁技门控;敌人技能池跨表链接校验;精英行:池继承合并、加载期校验与暂不接线 | 部分覆盖 | 精英行「开战快照拿到合并后池」随接线批验收;见待办清单「战斗节点遭遇编排方式」条 |
| 排雷循环 | 地形变异.md | 变异布置门控;表结构守卫:域校验/行序键/跨字段互锁/配额锚 | 已覆盖 | — |
-| 排雷循环 | 排雷玩法.md | 装板与开局免费展开(封锁格无资源、计入清图);挖/封印合法性与可辨拒绝(拒绝零副作用);封印不可逆与挖开封印格放行(兑付改判四情况) | 已覆盖 | — |
+| 排雷循环 | 排雷玩法.md | 装板与开局免费展开(封锁格无资源、计入清图);挖/封印合法性与可辨拒绝(拒绝零副作用、挖封印格被拒);封印受理即揭示(身份可查、受理零事件);清图口径换代(挖开∪封印、封印可完成清图) | 已覆盖 | — |
| 排雷循环 | 棋盘生成.md | 棋盘按参数行出图、数字恒真;同参数同种子逐位复现、异种子不退化;可推理率与清图可达(合法性先于质量分)、重试有界、降级诚实 | 已覆盖 | — |
| 排雷循环 | 行动经济.md | AP 扣费、末点耗尽即收轮与战斗收束清零;停手转存储备与轮内刷新(上限/AP 不重置/刷新图零清图奖励);下轮行动点修正排队与兑现 | 已覆盖 | — |
| 表现与支撑 | HUD框架.md | 拒绝反馈分面可辨与未知兜底文案;结算期零逐行文字与 FX 排播链保持;模态覆盖层编排与输入锁;未开格类型微光(8 邻作用集/五组色相/零玩法写入);UI 全局主题与按钮五态(含对比度锚);中文字体随包与字形覆盖;地形瓦片套与格面数字可读;战斗叙述与终局文案(数值带入/胜负互异);玩家面文案与危险格格面字形;战斗屏三区几何与棋盘格边长(分辨率两档×四档板型);B 区舞台背景三关变体与连续地面层(按 board_type 选图/地面层高度读布局表/四柱光柱退役);模态句柄分域寻址面 | 已覆盖 | — |
diff --git a/reports/需求卡片-封印动作改版批-2026-11-07.md b/reports/需求卡片-封印动作改版批-2026-11-07.md
new file mode 100644
index 00000000..e77d56cf
--- /dev/null
+++ b/reports/需求卡片-封印动作改版批-2026-11-07.md
@@ -0,0 +1,249 @@
+# 需求卡片:封印动作改版批
+
+> **批名**:封印动作改版批 **卡片日期**:2026-11-07 验收档:高
+> **来源**:待办清单「封印动作改版——挖开与封印都揭示格子(2026-11-07 登记,来源=会话提及)」条目;用户 2026-11-07 会话三裁(①封印受理即揭示〔全揭示案〕②专长破封一击退役 ③MC 同批重锚)+封印格呈现预览用户人审通过(观感细化后置,不阻塞基线冻结)。
+> **唯一事实源**:`design/gdd/systems/排雷循环/排雷玩法.md` v2.0(2026-11-07 用户裁「封印受理即揭示」);配套闭合凭据=战斗结算.md v1.9 · 地图战斗资源.md v1.7 · 行动经济.md v1.6 · 地形变异.md v1.4 · 奇物.md v1.7 · 术语表.md v1.28 · 教学引导.md(范围草案;封印首遇提示句 2026-11-07 换代)· 道具退役素材库.md 表五 · ux/battle.md「封印格呈现预览」节(Last Updated 2026-11-07)· art-bible §3.2 封印印记条与 §4.1 封印黑条(现行版)。
+> **估时**:8 张 T 卡合计区间 6–10.25 个工作日,中值合计 **≈8.125 个工作日**(逐卡区间见第 9 节);**切分预案=超 10 个工作日停卡呈报用户改排**——T4/T6 均不可拆(T6 拆出违反三裁③「MC 同批重锚」;T4 拆出=改动先行落库而无当轮验收断言,违反验收闭合红线),无第三种拆法。
+
+## 1. 目标与完成定义
+
+这批把封印动作从「不揭示的盲承诺+可挖开改判」改成「受理即揭示、不可再挖开」:封印被受理的那一刻墙瓦片换地板、格下身份(危险格「危」/安全格数字)当场可见、封印法阵叠在其上;挖已封印的格被拒(新可辨拒绝原因),「封印后再挖开」路径整体删除;清图口径换代为「全部安全格完成=挖开或封印」。四类改动随批交付:
+
+1. 排雷规则核心:合法性表换代(挖封印格拒绝)、封印受理揭示查询面、清图口径、批次语义序扩「能清图的挖或封」。
+2. 结算与效果面:挖封印格兑付改判(四情况②④)与 `dug_under_seal` 事实词退役;标中/标空轮末判定批与封印溢价**零改动**。
+3. 呈现层与探针:封印格地板+法阵+身份字形(垫色牌)渲染、悬停禁字、文案四处换代、三探针断言换代。
+4. 内容与测量:破封一击退役(feats.tres 删行)、sim 自动玩家策略对齐、MC 基线锚同批重锚、golden 棋盘三图重制。
+
+**完成定义**:本卡第 8 节对照表逐行有绿读数;改前改后 MC 配对读数落盘;golden 三图(windows)重制且渲染闸绿;批末「产出物落位卡」两件(实现报告+反哺点清单)写齐;合回后远端 CI 代码域全量绿。
+
+## 2. 设计事实源
+
+唯一事实源=`design/gdd/systems/排雷循环/排雷玩法.md` v2.0。本卡所有验收判据从下列闭合文档句子抄出(判据出处行锚在第 8 节逐行标注):
+
+| 文档 | 版本 | 本批消费的判据面 |
+|---|---|---|
+| 排雷玩法.md | v2.0 | 动作合法性表(挖:未开、无封印;拒绝情形「已封印」)、封印受理即揭示段、清图口径(挖开或封印)、批次语义序「能清图的挖或封」、封印生命周期(无纠错路径)、验收标准「封印受理即揭示、挖封印格被拒」与「清图口径」两条 |
+| 战斗结算.md | v1.9 | 授予段「封印受理即揭示」段、封印判定批兑付、验收标准「封印受理即揭示零兑付」条 |
+| 地图战斗资源.md | v1.7 | 极性矩阵封印行(标中正向/标空负向+正向不兑付)、清图奖励口径句 |
+| 行动经济.md | v1.6 | 价目表封印行(纠错路径不存在) |
+| 地形变异.md | v1.4 | 伤害型变异条(封印揭示不触发变异伤害) |
+| 奇物.md | v1.7 | 跨族桥退役段(破封一击退役、事实词除名) |
+| 术语表.md | v1.28 | 「封印 / 控制」定义行 |
+| ux/battle.md | 2026-11-07 | 「封印格呈现预览」节像素级判据五条+Interaction Map 封印行/已封印格行+拒绝细分 |
+| 道具退役素材库.md | 表五 | 破封一击留底行(退役原因) |
+| art-bible | 现行 | §3.2 封印印记占位句(已揭示格承载、数字同格合法)、§4.1 封印黑条(裸土承载对比 ≥4.5:1) |
+
+## 3. 现状事实(代码级,开工自行复核)
+
+核心(`game/core/minesweeper_rules.gd`,除非另注):
+
+- 封印受理:`_do_seal_place` :447-468——扣费后仅 `_seals[c] = true`,不揭示、零事件;重复封印拒 `seal_present` :455-456。
+- 挖封印格放行:`_board_face_dig` :362-372(:371 注释「封印不拦挖掘」);`_do_dig` :304-334——`was_sealed` :311/:313/:328、`_reveal_chain(c, order, was_sealed)` :331;`_reveal_chain` :341-359 载荷带 `"dug_under_seal"` :351/:358;:390 处 fx_reveal 载荷恒 false;`preview_reveal` :397-405 含封印隐式退役模拟;`_classify` :267-285 清图模拟含「本格封印视为已隐式退役」:271-275。
+- 清图口径:`_safe_remaining` :101-110 与 `_cleared_after` :438-442 只认 `_revealed`,不认封印。
+- 轮末判定:`_emit_seals_batch` 对在场封印逐格 `seal_judged`(标中=`_board.is_mine(c)`)——本批零改动。
+- 中立移除:`remove_mines_in` :116-126 排除已揭示/有封印/非雷格——本批零改动。
+
+结算与效果:
+
+- `game/core/settlement/grant_segment.gd`——`dug_under_seal` 作废行 :102-103、雷事件载荷携带 :153、注释「封印格直挖照吃变异伤害」:204;`_judge_seal` :343 / `_judge_seal_hit` :352 / `_judge_seal_miss` :422(本批零改动)。
+- `game/core/effect_engine.gd`——事实词表 `dug_under_seal` :55/:60。
+- `game/core/reward_grant.gd`——天眼 `_safe_dig_open` 跳过封印格 :174(逻辑保留、注释换代);封印溢价消费 :216-217(零改动)。
+
+呈现层:
+
+- `game/presentation/views/board_view.gd`——印记可见性 `u.seal_on = seal and not revealed` :541;瓦片切换 revealed?:floor:wall :597-623;`_diggable` :301-304(未开且未移除即入可挖域,含封印格);左键分派 revealed→move 否则 dig :471-485(:483-484 注释「相邻封印格直接挖」);悬停 `board_hover.gd` :96-121(相邻封印格=挖掘光标 :113-116);拒绝文案 `hud_presenter.gd` :169-191(`seal_present` :179 含「相邻时左键直接挖开」);图例 `legend_overlay.gd` :9-13;操作提示条 `board_zone_view.gd` :80(含 chord 退役后残留错句「同格双击 快开」)。
+
+测试、探针、sim、数据(第 7 节文件结构图逐件列):
+
+- 单元:`minesweeper_rules_test.gd`(`_test_dig_face_rules` :72-84 断言 `target_revealed`;`_test_seal_place` :101-111;preview 形态 B :122-161;判据锚 :73/:88/:102/:115);`seal_polarity_test.gd`(末点 AP 封印收轮 :46-82;封印不可逆四情况组 :579-651;资源资格面 :778-826);`settlement_wiring_snapshot_test.gd` 内嵌 golden(`"seals": 1`/`"revealed": 42` 等计数);`hud_presenter_test.gd` :29-30 与 `player_copy_sweep_test.gd` :69-82/:125-140(文案逐字);`adventure_feats_test.gd` :721-723(破封一击 `dug_under_seal`);`effect_words_t1_test.gd` :16-27/:37-71(词表在册断言)。
+- 探针:`ui_input_probe.gd`(case④ 右键封印 :273-281、case④b 印记落位断言 :282-286、目标选取排除封印格 :230-242/:522-540/:601-608);`board_shot_probe.gd`(封印取证选择器 `has_seal and not is_revealed` :78/:191);`ui_click_probe.gd`(行为②撤封印 :1063-1069 恒假死路;随机封印行为① :1055-1062;图例行断言 :899-908)。
+- sim:`auto_player.gd`(choose_dig 跳封印格 :20;已证雷先封后挖 :38-50/:86-97;`_constraints` 封印位计入已知雷约束 :162-185);`level_autoplay.gd`(「标雷误挖」滑失注入 :507-521——封印意图按概率转成同格挖意图)。
+- 数据:`game/data/tables/feats.tres` :624 起「破封一击」行;`game/data/tables/adventure.tres` feat_ticket_* 概率行(:46-49,本批不动);golden 基线 `game/tests/golden/`(board_L1/L2/L3 × windows/mac 六件+palette_baseline)。
+- 存档:`breakpoint_store.gd` 28 键(BREAKPOINT_FIELDS :16-45)无格子状态键、停点粒度=节点级——**本批存档零改动**(同种子重放重建棋盘态)。
+
+## 4. 设计契约(违反即返工;🔴 触碰=L3 停机呈报)
+
+- 🔴 **语义唯一裁决=排雷玩法.md v2.0**:封印受理即揭示、挖封印格被拒、清图口径(挖开∪封印)、标中/标空轮末判定、印记无撤下手段。实现不得自造第三条路;实现与文档冲突=上游缺陷,停卡退回。
+- 🔴 **事件集合封闭**:封印保持零事件——不新增事件、不发 `cell_revealed`;身份可见性走新增只读查询面,消费方=**呈现层+sim 策略域(测量侧镜像玩家可读信息)**,禁扩到战斗结算等兑付面。增删事件=接口修订,本批不做。
+- 🔴 **数值单一事实源**:`action_economy.tres`(ap_per_round/dig_ap_cost/seal_place_ap_cost)、`settlement.tres`(seal_hit_premium/p_perfect/甲效/掷点)零改动;本批数据表改动仅限 `feats.tres` 删破封一击行与池引用清零核对。
+- 🔴 **Core 零 UI 依赖、fail-fast、RNG 单点**:本批零新随机源;数据校验错误一律致命中止。
+- 🔴 **兑付面零漂移**:标中正向(含溢价 ×(1+δ))、标空负向、完美封印双份、清图批、挖格批的既有结算行为,除删除 `dug_under_seal` 改判路径外逐位不变——MC 改前改后配对读数兜底。
+- **拆分边界纪律**:本批零拆出单元(纯规则换代+删径),禁顺手重构;删径代码(`was_sealed` 一族、`dug_under_seal` 词与载荷键)必须删净,**禁为迎合机检消息文本保留无效成员/别名**(code-conventions §1.1 同款);机检键与卡片契约互斥时一律停卡呈报。
+
+## 5. 范围边界
+
+**做**:第 1 节四类改动面;`smoke/critical-paths.md` 人工 QA 清单第 4 条改写(原文「封印/撤封印/挪封印」随 seal_pull 退役早已过时——顺带修);`board_zone_view.gd` 提示条 chord 残留错句「同格双击 快开」顺带修(同文件触碰面)。
+
+**不做**(明示不收件,去向):封印格观感细化(用户 2026-11-07 裁后置——**已登记待办清单**「封印格观感细化(2026-11-07 登记)」条,实现批不做);「结算明细文案入表」批(待办清单在册,文案承载面换代不混批);键盘/手柄输入(Beta);存档 schema(零改动);MC 读数的数值调参(重锚只换代锚,不做数值裁决——数值标定窗口另批)。
+
+## 6. 关联文档同步面
+
+| 文档 | 关联点(本批实现改变它的哪条陈述) | 同步义务 |
+|---|---|---|
+| 排雷玩法.md v2.0/战斗结算.md v1.9/地图战斗资源.md v1.7/行动经济.md v1.6/地形变异.md v1.4/奇物.md v1.7/术语表.md v1.28/ux/battle.md/art-bible §3.2·§4.1/道具退役素材库.md 表五 | 本批实现的就是这些句子;设计面已随本卡同区前置修订 | 设计权威文档——实现批**禁改**;实现与文冲突=停卡退回,差异走反哺点 |
+| 教学引导.md(范围草案) | 「封印是一次性承诺的首遇提示」条 | **已随本批修订**(2026-11-07 提示句换代为新口径);实现批禁改 |
+| game/tests/README.md(能力清单) | 第 8 节能力行清单:3 行换代、1 行删除、2 行新增、覆盖域表 1 行换代 | **已由写卡批同区维护**(随本卡合入);实现批禁写该文件;批末只核对表上名字与实际落地一致(改名回表) |
+| smoke/critical-paths.md | 第 4 条人工 QA 清单句 | 随 T4 改写(game/tests/ 面文件,随批可改) |
+| 反哺点预期 | 设计面已前置闭合 | 预期**零反哺点**;实现期发现文档缺陷才列 `reports/iter-反哺点-<日期>.md` |
+
+## 7. 文件结构图(本批新建/修改的文件逐件列;行为改动行标注对照表行号)
+
+| 文件 | 职责与改动 | 行为改动 | 复用/新增 |
+|---|---|---|---|
+| game/core/minesweeper_rules.gd | 合法性换代(挖封印格拒 `target_sealed`)、删 `was_sealed` 一族与 `dug_under_seal` 载荷键、`_do_seal_place` 受理后清图判定接行动经济、`_safe_remaining`/`_cleared_after` 口径换代、`_classify` 语义序扩封印清图预判、`preview_reveal` 删封印形态、新增公开只读查询 `sealed_identity(c)` | R1 R2 R3 R4 R6 R7 | 全修改(新增 1 公开方法——落位预检见第 12 节) |
+| game/core/action_economy.gd | 新增公开方法 `notify_cleared()`(封印路径清图事实上报——轮末仲裁与 `request_dig` 的 cleared 语义同源) | R3 | 修改(新增 1 公开方法) |
+| game/core/settlement/grant_segment.gd | 删 :102-104 作废行、:153 载荷键、:204 注释句 | R6 | 修改 |
+| game/core/effect_engine.gd | 事实词表删 `dug_under_seal`(:55/:60)+提取面清零 | R7 | 修改 |
+| game/core/reward_grant.gd | :174 跳封印格注释换代(逻辑保留) | 非行为改动(注释) | 修改 |
+| game/presentation/views/board_view.gd | `seal_on = seal`、封印格地板瓦片+身份字形(垫色牌)、`_diggable` 排除封印格、左键封印格零动作 | R8 R9 | 修改 |
+| game/presentation/views/board_hover.gd | 封印格悬停=禁止光标+说明 | R9 | 修改 |
+| game/presentation/hud_presenter.gd | `seal_present` 文案换代+新增 `target_sealed` 文案 | R10 | 修改 |
+| game/presentation/views/legend_overlay.gd | 图例封印行重写(受理即揭示口径) | R10 | 修改 |
+| game/presentation/views/board_zone_view.gd | 提示条换代+chord 残留错句顺带修 | R10 | 修改 |
+| game/data/tables/feats.tres | 删「破封一击」行(:624 起)+全仓引用清零 | R7 | 修改 |
+| game/tests/unit/core/minesweeper_rules_test.gd | 挖已揭示拒绝保留;新增挖封印格被拒/受理揭示/清图口径断言;preview 形态 B 删;判据锚刷新 | R1 R2 R3 | 修改 |
+| game/tests/unit/battle_settlement/seal_polarity_test.gd | 四情况组重写(挖封印格两情况→被拒负面断言);末点 AP 收轮/seal_pull 出目录/标中标空判定/资源资格面保留 | R2 R5 R6 | 修改 |
+| game/tests/unit/battle_settlement/settlement_wiring_snapshot_test.gd | 内嵌 golden 重录(seals/revealed 计数漂移) | R6 | 修改 |
+| game/tests/unit/presentation/hud_presenter_test.gd、player_copy_sweep_test.gd | 文案断言换代 | R10 | 修改 |
+| game/tests/unit/battle_settlement/adventure_feats_test.gd、effect_words_t1_test.gd | 破封一击断言退役、词表断言换代 | R7 | 修改 |
+| game/tests/unit/presentation/seal_mark_params_test.gd | 迷雾门控断言前提换代(印记承载面) | R8 | 修改 |
+| game/probe/ui_input_probe.gd、board_shot_probe.gd、ui_click_probe.gd | case④b 印记落位断言换代、取证选择器换代、撤封印死路段清理 | R8 R9 | 修改 |
+| game/tests/smoke/critical-paths.md | 第 4 条改写 | 非行为改动(清单句) | 修改 |
+| game/sim/auto_player.gd、level_autoplay.gd | 约束集对齐、滑失注入退役 | R11 | 修改 |
+| game/tests/golden/(board_L1/L2/L3 ×2 平台) | 渲染基线重制 | R12 | 基线资产换代 |
+| sim-data/(MC 锚) | 改前锚留盘、新锚同 seed0 采集+现行锚指针换代 | R11 | 数据产物换代 |
+| sim-data/README.md | 「现行锚」指针节换代+旧锚迁历史锚节 | R11 | 修改(入库件,不在实现批禁写清单) |
+
+**对照表按行号引用第 8 节;表内 R 编号与第 8 节逐行对应。**
+
+## 8. 验证闸(改动—验收对照表)
+
+每行七格:需求点|改动|验收测试(名称+落点+尾缀〔封印改 Vn〕)|层级|真实入口|判据绑定面|能力行。判据出处行锚=需求点格内 `文档:行号`,已按本批修订后的 worktree 行号钉死(可 grep 核对)。
+
+| # | 需求点(判据出处行锚) | 改动 | 验收测试 | 层级 | 真实入口 | 判据绑定面 | 能力行 |
+|---|---|---|---|---|---|---|---|
+| R1 | 封印受理即揭示——身份当场可查、受理零兑付零事件(design/gdd/systems/排雷循环/排雷玩法.md:52) | `_do_seal_place`+`sealed_identity(c)` 新查询面 | `minesweeper_rules_test.gd:_test_seal_reveal_identity`〔封印改 V1〕:封印受理后 `sealed_identity(c)` 返回 `{kind, digit}` 与板事实逐位一致;`settle_batch` 事件流零 `cell_revealed`(受理零兑付的结算侧证据由 R6 行覆盖) | 单元 | `MinesweeperRules.settle_batch()` | `sealed_identity` 返回值+事件流计数+结算行数 | 新增:封印受理即揭示(身份可查、受理零事件) |
+| R2 | 挖已封印格被拒、原因可辨、零副作用(design/gdd/systems/排雷循环/排雷玩法.md:56) | `_board_face_dig` 增封印拒绝 | `minesweeper_rules_test.gd:_test_dig_sealed_rejected`〔封印改 V2〕:`sub_reason=="target_sealed"`、`has_seal`/`is_revealed`/AP 三态零变化;`seal_polarity_test.gd` 四情况组内原「直挖受理」断言改判为拒绝 | 单元 | `MinesweeperRules.settle_batch()` | 拒绝原因串+状态源取值 | 既有:挖/封印合法性与可辨拒绝(拒绝零副作用、挖封印格被拒) |
+| R3 | 清图口径=已挖∪已封印;封印可完成清图;封印后清图判定触发(design/gdd/systems/排雷循环/排雷玩法.md:139) | `_safe_remaining`/`_cleared_after` 换代+`_do_seal_place` 清图接 `ActionEconomy.notify_cleared()` | `minesweeper_rules_test.gd:_test_clear_by_seal`〔封印改 V3〕:封掉最后安全格→`clear_map_cleared()` 翻 true 且轮次以清图收束(轮末事件 carry 清图);封掉非末安全格→`clear_map_cleared()` 仍 false、再挖开其余安全格后清图照常触发 | 单元 | `MinesweeperRules.settle_batch()` | 公开读数 `clear_map_cleared()`+轮次结束事件载荷 | 新增:清图口径换代(挖开∪封印、封印可完成清图) |
+| R4 | 批次语义序「能清图的挖或封最优先」(design/gdd/systems/排雷循环/排雷玩法.md:166) | `_classify` 封印清图预判 | `minesweeper_rules_test.gd:_test_classify_seal_clears`〔封印改 V4〕:同批「耗尽前停手+能清图的封」提交,赢家=清图高光而非停手 | 单元 | `MinesweeperRules.settle_batch()` | 结算赢家类别 | 既有:挖/封印合法性与可辨拒绝(拒绝零副作用、挖封印格被拒) |
+| R5 | 标中/标空轮末判定批与溢价逐位不变(design/gdd/systems/战斗循环/战斗结算.md:139) | 判定批零改动(回归保护) | `seal_polarity_test.gd` 保留断言原样跑绿(末点 AP 收轮、标中兑付+溢价 125%、标空负向+归因行、完美封印双份);保留组各函数补判据出处注记行(`# 判据出处: design/gdd/systems/战斗循环/战斗结算.md:139 …〔封印改 V5〕`——尾缀 grep 载体)〔封印改 V5〕 | 单元 | `BattleOrchestrator.begin_battle()` 全轮驱动 | 结算行流逐项 | 既有:封印与极性路由/不可逆 |
+| R6 | 受理当场零兑付、改判路径死(design/gdd/systems/战斗循环/战斗结算.md:134) | grant_segment 删改判面 | `settlement_wiring_snapshot_test.gd` golden 重录〔封印改 V6〕:同种子驱动序内「挖+封+停」行流/快照逐位对拍新 golden;流水零「奖励作废(封印格直接挖开)」行 | 单元 | `BattleOrchestrator` 真实驱动序 | 内嵌 golden 逐位 | 既有:封印与极性路由/不可逆 |
+| R7 | 破封一击退役、`dug_under_seal` 事实词除名(design/gdd/systems/冒险循环/奇物.md:72) | feats.tres 删行+词表删+断言退役 | `adventure_feats_test.gd` 破封一击断言删;`effect_words_t1_test.gd` 词表断言换代〔封印改 V7〕;`grep dug_under_seal game/ 全域=0`;抽取池引用清零核对 | 单元+静态 | feats.tres 装载路径 | 表行缺席+词表缺席 | 既有:换图系刷新链路与效果词表接线 |
+| R8 | 封印格呈现:地板+法阵+身份字形垫色牌(design/ux/battle.md:170) | board_view 渲染换代 | `seal_mark_params_test.gd:_test_seal_on_revealed_visible` 新增断言〔封印改 V8〕:`seal_on` 与已揭示同真时印记子件仍可见(新组合态;直读 CellUnit 子件可见性=受控例外——该行为无公开可观测面可钉,随行申报)+`ui_input_probe.gd` case④b 换代:真输入右键封印后印记子件可见且身份字形可查 | 探针 | 真实实例化场景+`push_input` 右键 | `seal_on` 供数表达式+子件可见性 | 既有:棋盘封印印记呈现(已揭示格承载+已封印格零动作) |
+| R9 | 已封印格无动作:左/右键零意图、悬停禁止+说明可见(design/ux/battle.md:299) | board_view 输入分派+board_hover | `ui_input_probe.gd` 新增 case〔封印改 V9〕:真输入左/右键已封印格→`action_requested` 零发射、光标态=禁止、悬停说明在册可见(措辞按白名单 2 润,断言钉在册) | 探针 | 真实实例化场景+`push_input` | 信号发射面零计数+说明可见性 | 既有:棋盘封印印记呈现(已揭示格承载+已封印格零动作) |
+| R10 | 文案换代四件(design/ux/battle.md:284) | hud_presenter/legend/board_zone_view | `hud_presenter_test.gd`/`player_copy_sweep_test.gd` 断言换代〔封印改 V10〕+`ui_click_probe.gd` 图例行断言换代 | 单元+探针 | 文案装配函数+真实场景 | 逐字串断言 | 既有:挖/封印合法性与可辨拒绝(拒绝零副作用、挖封印格被拒) |
+| R11 | sim 策略对齐+MC 基线锚同批重锚(design/gdd/systems/排雷循环/排雷玩法.md:52——策略镜像玩家可用的揭示面;同批重锚授权=用户 2026-11-07 裁) | auto_player/level_autoplay 换代+「标雷误挖」注入退役+等价补偿注入重标定(用户 2026-11-07 裁③) | MC 重锚:改前锚留盘,新锚同 seed0 采集落盘,逐项对比读数写实现报告〔封印改 V11——载体=实现报告对照表行+重锚提交说明,独立审计按报告核对〕;补偿注入后普通档踩雷读数对齐改前锚量级 | 测量 | sim 采集链(master_seed 配对) | 改前改后读数差分(留盘) | 既有:挖/封印合法性与可辨拒绝(拒绝零副作用、挖封印格被拒) |
+| R12 | 渲染基线换代(design/ux/battle.md:170) | golden 三图重制 | 渲染闸绿+新基线采集前用户对照预览图确认一眼(test-conventions §8.2 口径);mac 三件缺则记遗留(闸 SKIP 不判红)〔封印改 V12——载体=实现报告对照表行+基线刷新提交说明,独立审计按报告核对〕 | 渲染闸 | 真实渲染截图 | 逐像素基线比对 | 既有:棋盘封印印记呈现(已揭示格承载+已封印格零动作) |
+
+**测试方式两分法**:R1-R7、R10 能力验证=调试接口直调核心写口构造局面(不走正常积累流程);R8、R9、R12 体验验证=用户目检项登记实现报告目检总清单(登记不阻塞):封印受理瞬间揭示的观感、封印格悬停禁字、图例新句、清图高光在封印完成时触发。
+**闸口径**:本批改动含 `game/` 非文档行为载体 → 批末跑代码域闸(域划分唯一出处=`tools/run_all_gates.sh`);批末四闸语义=「代码域闸全绿+改前改后 MC 读数对拍落盘」。回归措辞照模板:里程碑步出口跑一次全套闸;波内修复只做出红最小单元最窄确认;新增测试先行孤立验证再并入。
+**测试削弱申报**:允许改判的旧断言仅限本卡点名的四处——①`seal_polarity_test` 四情况组「直挖受理/隐式退役/零兑付」断言(语义被用户裁替换)②`minesweeper_rules_test` preview 形态 B 组(前提消失)③`hud_presenter_test`/`player_copy_sweep_test` 文案逐字断言(文案换代)④`settlement_wiring_snapshot` 内嵌 golden(计数漂移)。其余削弱=独立验收审计判红。
+**独立验收审计**:`reports/iter-验收审计-<日期>.md`,未参与实现的会话或子代理执行,验收档=高(全量:对照表逐行核对、判据绑定面抽查、削弱检查逐处、直查例外逐条、最窄测试抽查复跑)。
+
+## 9. 任务卡 T0..T7
+
+**T0 开工与基线读数**(0.25–0.5 日,中值 0.375)
+- [ ] 建 worktree+拷 `.godot/` 导入缓存与字体边车+**自主区拷现行 MC 锚 jsonl 入本区 sim-data/**(锚不入 git,worktree 冷检无此件)+`git status` 归属核对
+- [ ] S13 键读数:本批触碰的存量文件(minesweeper_rules/action_economy/grant_segment/effect_engine/board_view/board_hover 等)对照 `tools/gdstyle_baseline.txt` 登记——预期只降不升(删径只减成员),超预期即停
+- [ ] MC 改前读数确认:现行锚文件在盘、seed0 记录在案(只核对,禁补跑)
+
+**T1 排雷规则核心换代**(1.5–2.5 日,中值 2.0)|取用:无|产出:`sealed_identity(c) -> Dictionary`(minesweeper_rules.gd 公开只读)、`ActionEconomy.notify_cleared()`(action_economy.gd 公开)
+- [ ] `_board_face_dig` 增封印拒绝(`target_sealed`,置于已揭示检查之后、中立移除之前),删 :371 放行注释
+- [ ] `_do_dig`/`_reveal_chain`/`preview_reveal`/`_classify` 删 `was_sealed` 一族与 `dug_under_seal` 载荷键(`_reveal_chain` 去第三参)
+- [ ] `_do_seal_place` 受理后:`_seals[c]=true` 照旧+清图判定(`_cleared_after({})` 换代口径)成立→`action_economy.notify_cleared()` 走清图收轮;末点 AP 耗尽路径保持现行收轮序(先封印判定后轮次结束)
+- [ ] `_safe_remaining`/`_cleared_after` 换代:安全格完成=已揭示或已封印
+- [ ] `_classify` 增「能清图的封」归最先类(模拟封印受理后清图口径)
+- [ ] 新增 `sealed_identity(c)`:封印格返回 `{kind, digit}`(`reveal_record` 契约不动——未开仍 `{}`,已开格消费面零扰动)
+- [ ] 验收步骤:R1/R2/R3/R4 断言孤立跑绿(读数进本步提交信息)
+
+**T2 结算与效果面退役**(0.5–1 日,中值 0.75)|取用:T1 载荷换代|产出:结算载荷无 `dug_under_seal`
+- [ ] grant_segment.gd 删 :102-104 作废行块、:153 载荷键、:204 注释句
+- [ ] effect_engine.gd 事实词表删 `dug_under_seal`(:55/:60)+提取面清零
+- [ ] reward_grant.gd :174 注释换代(跳封印格逻辑保留——封印格不代开)
+- [ ] 验收步骤:R6/R7 断言绿+`grep -r dug_under_seal game/`=0
+
+**T3 呈现层换代**(0.75–1.25 日,中值 1.0)|取用:T1 `sealed_identity`|产出:封印格渲染与输入分派
+- [ ] board_view.gd:`u.seal_on = seal`;瓦片切换 sealed→地板;封印格身份字形=数字/「危」垫现行色牌件(读 `sealed_identity`);`_diggable` 排除封印格;左键封印格零发射
+- [ ] board_hover.gd:封印格悬停=禁止光标+说明(删「左键直接挖」分支)
+- [ ] hud_presenter.gd:`seal_present` 句换代+`target_sealed` 新句;legend_overlay.gd 图例封印行重写;board_zone_view.gd 提示条换代+chord 错句顺带修
+- [ ] 验收步骤:R8/R9/R10 单元侧断言绿(探针断言随 T4 全链跑)
+
+**T4 测试与探针换代**(1.5–2.5 日,中值 2.0)|取用:T1-T3 全部签名|产出:全套件换代绿
+- [ ] minesweeper_rules_test:新增 V1-V4 四函数、preview 形态 B 删、判据锚刷新
+- [ ] seal_polarity_test:四情况组重写(保留组原样)
+- [ ] settlement_wiring_snapshot_test:golden 重录
+- [ ] hud_presenter_test/player_copy_sweep_test/seal_mark_params_test/adventure_feats_test/effect_words_t1_test 换代
+- [ ] ui_input_probe(case④b+新 case V9)/board_shot_probe(选择器)/ui_click_probe(行为②清理+图例行)换代
+- [ ] smoke/critical-paths.md 第 4 条改写
+- [ ] 验收步骤:改过的套件与探针逐件孤立跑绿后并入全套(读数进提交信息)
+
+**T5 内容退役**(0.25–0.5 日,中值 0.375)|取用:无|产出:破封一击零引用
+- [ ] feats.tres 删「破封一击」行;grep 全仓 `破封`/其 feat_id 清零
+- [ ] 验收步骤:数据装载冒烟绿+R7 断言绿
+
+**T6 sim 域换代+MC 同批重锚**(0.75–1.25 日,中值 1.0)|取用:T1 查询面|产出:新 MC 锚落盘
+- [ ] auto_player:`_constraints` 用 `sealed_identity` 已知身份、choose_dig 跳封印格保持、注释换代
+- [ ] level_autoplay:「标雷误挖」注入退役(用户 2026-11-07 裁③);新增等价补偿注入——推荐形态「错触直挖」(普通档对已判雷格按新常量概率直接挖,新规则下合法路径),常量初值以改前锚普通档踩雷读数为标定目标,偏差记实现决定
+- [ ] MC 重锚:改前锚留盘禁补跑;新锚同 seed0 采集(档位与总量按 sim-data/README「MC 采集档位表」——用户 2026-11-07 已授权同批重锚=发起权在案);改前改后逐项对比写实现报告
+- [ ] 验收步骤:R11 读数落盘;重锚后旧锚退役入档
+
+**T7 golden 重制与批末收口**(0.5–0.75 日,中值 0.625)|取用:T1-T6 全绿|产出:新基线+两份产出物
+- [ ] 用户对照 ux/battle.md 预览图确认一眼后,`tools/golden_baseline_refresh.sh` 重制棋盘三图(windows);mac 三件随批尽力、缺则记遗留(渲染闸 SKIP 不判红)
+- [ ] MC 新锚携回主区:新锚 jsonl 拷入主区 `sim-data/`(数据件不入 git,合并不携带);`sim-data/README.md` 现行锚指针随批合回、旧锚迁历史锚节
+- [ ] 渲染闸绿;批末核对:改动面×改完即测读数逐面对账、能力行名字与落地一致(改名回表)
+- [ ] `reports/iter-实现报告-<日期>.md`+`reports/iter-反哺点-<日期>.md`(预期零条——设计面已前置闭合)
+
+## 10. 异常分级
+
+- **L1 自救**:闸红一次重试(导入缓存类在册坑按坑册处置)。
+- **L2 记录继续**:连续 3 次同红灯升级;golden 逐像素差异落棋盘裁剪区→按加严口径显式呈报、由用户定重制(不自行回退基线)。
+- **L3 停机写报告等用户**:①实现与排雷玩法.md v2.0 冲突(上游缺陷)②MC 重锚读数显示结算面非预期漂移(溢价/标空/完美封印任一逐位不齐)③机检预算与卡片契约互斥(禁自造第三条路)④feats.tres 删行引发装载期 fail-fast(池结构校验红)。
+
+## 11. 代拍板白名单(微决策逐条列;超清单记实现报告「实现决定记录」)
+
+1. 拒绝原因英文串定名(`target_sealed`;卡内已钉,拼写微调需同步 R2 断言——保持卡串优先)。
+2. 拒绝/悬停 toast 与图例的最终措辞(语义按 ux/battle.md 各句,字句可润)。
+3. 测试函数命名与断言组织细节(对照表点名函数名优先)。
+4. 色牌、装饰裂纹等渲染细节取现行 ui_kit/art-bible 现行值,零新常量。
+5. sim 补偿注入的形态与常量初值(「标雷误挖」退役后的重标定补偿——标定目标=改前锚普通档踩雷读数;只动 sim 常量、不动玩法数值),记录进实现决定。
+6. mac golden 三件缺件时记遗留的处理顺序。
+
+## 12. 落位与可复用性预检
+
+**新增件两件(仅此两件),其余全为修改既有件**:
+
+| 新增 | 为什么不能复用既有 | 落点唯一性核查 |
+|---|---|---|
+| `MinesweeperRules.sealed_identity(c)` | `reveal_record(c)` 契约=未开返回 `{}`(board_view 已开格渲染消费此语义,:494/:564 注释在案)——改它会扰动全部已开格渲染判定;身份揭示是封印态专用读数 | grep `sealed_identity` 全仓=0(新名);落 minesweeper_rules.gd 查询面区(`reveal_record`/`is_revealed` 同区),单一事实出处 |
+| `ActionEconomy.notify_cleared()` | `request_dig(chain_size, clears)` 的 cleared 语义绑定挖掘计费流程;封印不产挖掘计费,硬塞会引入假挖掘记账;清图事实需要独立上报口 | grep `notify_cleared` 全仓=0(新名);轮末仲裁 owner=action_economy(架构归属),落点唯一 |
+
+**复用面**:封印法阵渲染复用 `SealMarkLayer` 参数化绘制(零新美术);身份字形复用既有数字/「危」绘制与色牌件;轮末判定/溢价/完美封印/中立移除全复用既有实现。**唯一面**:清图口径只在 `_safe_remaining`/`_cleared_after` 两处同源换代(私有共享计数 helper),禁第三处重复实现;`target_sealed` 词串只在规则引擎定义一处、呈现文案映射一处。**分层与交互**:呈现读身份走既有 `_minesweeper` 引用通道(board_view 现行只读惯例),不经组合根新增接线;`notify_cleared` 只由 rules 在封印受理后调用(写调用经批次入口,Core 内部纵向调用,零 UI 依赖)。
+
+## 13. 禁为机检文本保留无效成员
+
+本批删径面(`was_sealed` 参数与分支、`dug_under_seal` 事实词/载荷键/提取面、`_reveal_chain` 第三参、作废行块、滑失注入段)必须删净;**禁止**为保 S 系扫描键、断言尾缀计数或任何机检消息文本而保留无效成员、空壳函数或别名。机检键与本卡契约互斥时一律停卡呈报,不自造第三条路。
+
+## 14. 实现规范预算
+
+**零新增文件**。新增公开方法 2 个(`sealed_identity`、`notify_cleared`)——两宿主现行公开方法数远低于 20 上限(T0 读数核对);新增类变量 0。**迁移函数**:无(删径不搬移)。**存量触面**:第 7 节全部修改文件在 T0 逐件读 S13 键,预期只降不升(删成员只减);`_reveal_chain` 签名变更属参数删除,分支数不升。**指标例外申报**:无。
+
+## 15. 复核记录
+
+| 轮次 | 复核者身份 | 发现 | 去向 | 处置结果 |
+|---|---|---|---|---|
+| 1 | 只读子代理(对抗复核,未参与本卡与文档撰写) | F1 教学引导.md:58 首遇提示句仍是「左键直接挖开」旧口径——本批 grep 词面(挖开封印/四情况等)扫不到「左键直接挖开」词形 | 退回上游 | 设计段(本批同区)已修:教学引导.md:58 提示句换代为受理即揭示口径;卡头闭合凭据与第 6 节同步面补列教学引导.md |
+| 1 | 同上 | F2 「标雷误挖」滑失注入退役前提失真——注入是封印意图提交前转同格挖意图,目标格当时未封未揭,新规则下该挖仍合法可执行;注入与被删路径无行为耦合 | 待裁 | **用户 2026-11-07 裁③退役+重标定补偿**:T6/R11/白名单 5 已改写——旧注入退役,新增等价补偿注入(推荐形态「错触直挖」),常量以改前锚普通档踩雷读数为标定目标 |
+| 1 | 同上 | F3 R5 行锚 :146 实为兑付形态表头行,不支撑判定批判据 | 自判 | R5 行锚改 战斗结算.md:139+:126(判定批行+溢价注记行) |
+| 1 | 同上 | F4 🔴 事件封闭条「消费方只有呈现层」与 T6 sim 消费 `sealed_identity` 自相矛盾 | 自判 | 🔴 句改为「消费方=呈现层+sim 策略域(测量侧镜像玩家可读信息),禁扩到兑付面」 |
+| 1 | 同上 | F5 估时上界实为 10.25 非 10(八卡上界合计);切分预案与三裁③及验收闭合红线打架 | 自判 | 头部估时上界改 10.25;切分预案改「超 10 停卡呈报用户改排」并写明 T4/T6 不可拆依据 |
+| 1 | 同上 | F6 能力行换代承诺未兑现(README 零改动,五锚点全旧文) | 自判 | 写卡段已实做:3 行换代(:88/:117/:120)、1 行删除(旧「封印不可逆与挖开封印格放行」行)、2 行新增(受理即揭示/清图口径)、覆盖域表排雷玩法行换代 |
+| 1 | 同上 | F7 「登记待办清单『封印格观感细化』」实际未登记,后置决定悬空 | 自判 | 已登记待办清单条目(封印格观感细化,2026-11-07,待美术设计〔备选〕);卡 §5 措辞改事实句 |
+| 1 | 同上 | F8 两处现状失准:board_view reveal_record 消费注释在 :494/:564 非 :80;断点键 28 个非 27 | 自判 | 卡 §12 与 §3 两处已改;「存档零改动」结论不变 |
+| 1 | 同上 | F9 V5/V11/V12 三尾缀无 grep 载体(保留断言旧尾缀/sim 不进扫描面/渲染闸无断言体) | 补写 | R5 补判据出处注记行载体;R11/R12 明写载体=实现报告对照表行+提交说明(独立审计按报告核对) |
+| 1 | 同上 | F10 R1「grant 批零新兑付行」与该行真实入口(rules 夹具无结算面)不匹配 | 补写 | R1 判据改注「受理零兑付的结算侧证据由 R6 行覆盖」 |
+| 1 | 同上 | F11 MC 锚数据件不入 git——worktree 冷检无锚、合并合回不携带、sim-data/README.md 指针换代面缺位 | 补写 | T0 加「自主区拷现行锚」步骤;T7 加「新锚携回主区+README 指针随批合回+旧锚迁历史节」;第 7 节补 sim-data/README.md 行 |
+| 1 | 同上 | F12 对照表注记缺口:board_view 行缺 R9 标注、rules 行缺 R6/R7 归属、R8 子件直查未申报受控例外 | 补写 | 三处已补(board_view 行标 R8 R9;rules 行标 R1-R4/R6/R7;R8 行随行申报受控例外理由) |
+| 1 | 同上 | F13 悬停说明文案(ux/battle.md:299)无断言载体 | 补写 | R9 收编「悬停说明在册可见」断言(措辞按白名单 2 润) |
+| 1 | 同上 | 核实通过面:九文档行锚逐一实核、15+ 处现状 file:line 全对、`sealed_identity`/`notify_cleared` 全仓零命中、引擎三查(NEVER list/Gotchas/性能预算)零触碰、MC 纪律与渲染闸 mac 缺件 SKIP 语义一致 | 自判 | 不改+依据:实核通过,记录在案供审计追溯 |
+
+复核结论:待裁类 1 条(F2)已经用户裁决(2026-11-07 裁③退役+重标定补偿)并落卡;自判 5、补写 5、退回上游 1 全部处置——**卡片成立**。
diff --git a/待办清单.md b/待办清单.md
index 775a46e7..9dbedee4 100644
--- a/待办清单.md
+++ b/待办清单.md
@@ -67,15 +67,22 @@
#### 封印动作改版——挖开与封印都揭示格子(2026-11-07 登记,来源=会话提及)
-**实况**:现行封印不揭示格子(格子保持未开、封印印记立在上面),封印后再挖开是合法动作;用户新方向=棋盘上仍是挖开与封印两个动作,两者都揭示格子,墙体消失、展示地板,封印后再挖开这条路径不再存在,用户口径=决策路径更直接。
-- 相关文档:[排雷玩法](design/gdd/systems/排雷循环/排雷玩法.md)(动作合法性与格子状态主责)+[术语表](design/gdd/术语表.md)(动作规范名)
-- 影响面未查:新口径与现行设计、实现、测试的冲突清单,用户 2026-11-07 明示留到处理本条时再做扫描与统计,本条不预列结论
-
-**缺口**:还差动作改版的设计讨论;讨论前须先做仓库内扫描与统计,逐条列出新口径与现行设计、代码、测试的冲突面并给出处置,扫描范围与结果本条不预写
+**实况**:设计讨论与全仓扫描统计已完成,三裁在案(受理即揭示全揭示案/破封一击退役/MC 同批重锚)+封印格呈现预览用户人审通过(观感细化后置另立条目)。关联文档清单(闭合凭据):[排雷玩法](design/gdd/systems/排雷循环/排雷玩法.md) v2.0+[战斗结算](design/gdd/systems/战斗循环/战斗结算.md) v1.9+[地图战斗资源](design/gdd/systems/战斗循环/地图战斗资源.md) v1.7+[行动经济](design/gdd/systems/排雷循环/行动经济.md) v1.6+[地形变异](design/gdd/systems/排雷循环/地形变异.md) v1.4+[奇物](design/gdd/systems/冒险循环/奇物.md) v1.7+[术语表](design/gdd/术语表.md) v1.28+[教学引导](design/gdd/systems/表现与支撑/教学引导.md)(首遇提示句 2026-11-07 换代)+[ux/battle](design/ux/battle.md)(封印格呈现预览节)+[道具退役素材库](design/content-archive/道具退役素材库.md) 表五。需求卡片:reports/需求卡片-封印动作改版批-2026-11-07.md(复核记录节在卡,对抗复核一轮 13 发现全处置)。
**改动面**:文档+游戏代码
-**状态**:待文档设计
+**状态**:文档设计已闭合+已写卡
+
+#### 封印格观感细化(2026-11-07 登记,来源=批次移交)
+
+**实况**:封印受理即揭示改版(需求卡片「封印动作改版批」2026-11-07)的呈现规格已随 [ux/battle](design/ux/battle.md)「封印格呈现预览」节定稿并过审——用户同日裁「观感细化后置」:色牌深浅、法阵与身份字形叠加的视觉密度、光圈强度等细化不阻塞实现批基线冻结。
+
+**缺口**:还差一次实机观感评审——改版落地后用户实机目检封印格叠加观感,判「太忙/太糊」再开细化设计讨论。
+- 相关文档:[排雷玩法](design/gdd/systems/排雷循环/排雷玩法.md) v2.0(口径主责)
+
+**改动面**:美术素材+游戏代码
+
+**状态**:待美术设计(备选)
#### 流水线闸认锚式不含中文名文档——判据出处行锚对半数现行文档失效(2026-11-05 登记,来源=批次移交)