docs: 系统更名批 + 可选类删除后 UI 文档收口

更名批(用户拍板 2026-09-16):奖励道具经济→地图战斗资源(定义已双向化——格面承载、
战斗结算生效)、辅助道具→魔法道具(已非纯数值道具,信息/妙用向);两 GDD 文件 git mv,
GDD 全树 + registry + UX/美术/研究/文档全仓口径同步;英文代号 REWARD_ITEM_ECONOMY /
AUXILIARY_ITEMS 暂沿用;版本历史旧行按约定保留旧名。
UI 收口批:battle.md / HUD框架.md 按代码现实收口——四区布局、五段结算、10 类明细行,
删 E 区道具面板、道具窗口态、query_inventory 登记与旧空态/囤刀措辞;魔法道具预留义务行
保留(库存条/指向交互/叠加层随其 P0 批设计);02-系统清单 地图战斗资源概要行与
architecture.md B4 行改现行口径。
验证:残留 grep 现行条款零命中;全量 smoke 211 项 0 失败 + 四 UI 探针通过。
This commit is contained in:
DKChan committed 2026-09-16 01:20:38 +08:00
1 parent 3540fdbd31
commit 4e004cd832
31 files changed
+413 -363

No files matched your search

+62 -91
View File
@@ -2,26 +2,26 @@
> **Status**: Complete — /ux-review 修订落稿(2026-09-12,blocking 7 项已修,待复检)
> **Author**: user + ux-designer
> **Last Updated**: 2026-09-15(雾格残留清理:格态两态化、图例/首遇/纹带雾条目与遥测提示枚举同步,见文末修订说明)
> **Last Updated**: 2026-09-16(格面资源批 UI 欠账收口:可选类道具及其右下面板、轮末窗口 UI 已随代码删除下线,四区口径、结算五段、明细行 10 类协议同步——见文末修订记录)
> **Platform Target**: PC (Steam)——Keyboard/Mouse 主(全部操作纯鼠标可完成)、Gamepad Partial 非 MVP、Touch None(同 technical-preferences)
> **上游修订依赖**: 弃图刷新挖掘期受理已随布局决策 4 落稿上游(2026-09-12:行动经济 Active 受理 + 每轮上限 2 次、排雷玩法 Active·仅刷新路径装板、战斗结算 `refresh_board` 编排 + 恒 same_board、registry `rap_rules` 同步——见 OQ12)
> **上游修订依赖**: 弃图刷新挖掘期受理已随布局决策 4 落稿上游(2026-09-12:行动经济 Active 受理 + 每轮上限 2 次、排雷玩法 Active·仅刷新路径装板、战斗结算 `refresh_board` 编排 + 恒 same_board、registry `rap_rules` 同步——见 OQ11)
> **Template**: UX Spec
> **覆盖子屏**: 挖掘阶段主界面 · 轮末自动战斗结算(战斗结算明细屏) · 道具使用窗口(奖励道具经济/战斗结算域屏) · 胜利/失败终局 · 结算明细回看
> **输入义务**: 排雷玩法×6 + 行动经济 + 战斗结算×3 + 敌人系统×4 + 增益状态×4 + 奖励道具经济×5(旧版 systems-index 门禁增补记录,缺项即 blocking——承接落点见 §13 义务对照表)
> **覆盖子屏**: 挖掘阶段主界面 · 轮末自动战斗结算(战斗结算明细屏) · 胜利/失败终局 · 结算明细回看
> **输入义务**: 排雷玩法×6 + 行动经济 + 战斗结算×3 + 敌人系统×4 + 增益状态×4 + 地图战斗资源×5(旧版 systems-index 门禁增补记录,缺项即 blocking——承接落点见 §13 义务对照表)
---
## Purpose & Player Need
战斗屏是 Dungeon Sweeper 的核心玩法屏——游戏的全部 agency(排雷规划 + 轮末资源决策)都发生在这里。玩家在此屏完成完整轮次循环:**用本轮 AP 在扫雷图上挖掘/标旗 → 主动停手或 AP 耗尽 → 观看轮末自动战斗结算逐行兑现 → 下一轮**。
战斗屏是 Dungeon Sweeper 的核心玩法屏——游戏的全部 agency(排雷规划)都发生在这里。玩家在此屏完成完整轮次循环:**用本轮 AP 在扫雷图上挖掘/标旗 → 主动停手或 AP 耗尽 → 观看轮末自动战斗结算逐行兑现 → 下一轮**。
一句话目的:**让"我算对了"的推理过程与它的战果兑现同屏可见、互为因果。**
- 扫雷图区承载 P1(推理掌控感):数字是主角,一切服务信息可读
- 战斗画面区承载 P2(规划的延迟兑现):扫雷之因逐行兑现为战果,全程可见可归因
- 角色信息/道具区承载规划面:状态、资源、库存常读,支撑"往未开区推进/囤刀待机"类决策(奖励道具经济可证伪信号的 MVP 观测面)
- 角色信息区承载规划面:状态与资源常读,支撑"往未开区推进"类规划决策
若此屏缺失或难用:推理与兑现分裂(自动战斗沦为无聊过场——已登记创意风险)、逐行归因不可见(P2 失败)、AP/RAP/库存不可读(规划失去原料)。
若此屏缺失或难用:推理与兑现分裂(自动战斗沦为无聊过场——已登记创意风险)、逐行归因不可见(P2 失败)、AP/RAP 不可读(规划失去原料)。
---
@@ -41,7 +41,7 @@
```
存档 → 冒险 → 关卡(节点链,关卡节点地图 lite) → 【战斗屏】
├─ 胜利 → 节点奖励/恢复覆盖层 → 下一节点(下一场战斗屏)
├─ 胜利(末节点 Boss)→ 关卡结算(level_clear,库存清空反馈)→ 下关
├─ 胜利(末节点 Boss)→ 关卡结算(level_clear,清库反馈义务载体 = 魔法道具背包,随魔法道具 P0 落地)→ 下关
└─ 失败 → 冒险终结 → 返回存档/营地
```
@@ -59,7 +59,7 @@
| Entry Source | Trigger | Player carries this context |
|---|---|---|
| 关卡战斗节点 | 点击节点(LevelRunner 推进 encounter) | 携带 HP(跨战斗延续)、库存(关卡域延续)、RAP=0(战斗域新开) |
| 关卡战斗节点 | 点击节点(LevelRunner 推进 encounter) | 携带 HP(跨战斗延续)、RAP=0(战斗域新开) |
| 上一场战斗胜利 → 下一节点 | 同上 | 同上 |
**离开**:
@@ -67,7 +67,7 @@
| Exit Destination | Trigger | Notes |
|---|---|---|
| 节点奖励/恢复覆盖层 | 敌方全灭(战斗结算判定段 verdict=win)且非末节点 | 不可逆:battle_over 已发生,RAP 清零 |
| 关卡结算 | Boss 战胜利 → level_clear | 不可逆:库存清空(须可见反馈,奖励道具经济×⑤) |
| 关卡结算 | Boss 战胜利 → level_clear | 不可逆:关卡收束清库义务载体 = 魔法道具背包(随魔法道具 P0 落地,届时须可见反馈;现行切片无库存容器) |
| 冒险终结 | 主角 HP=0(verdict=lose) | 不可逆:Roguelike 死亡重开(art-bible §2.5 温柔惋惜调性) |
| 无中途退出 | — | MVP 不设战斗内放弃/暂停菜单(回合制无时间压力;如需暂停留 Playtest 诊断按钮,调试用) |
@@ -82,7 +82,7 @@
1. **扫雷图本体**(第一注视点,挖掘期占视觉预算大头):两格态(已开格 / 未开格——排雷玩法×6② 一眼可辨)、数字、旗、小人、可挖域(8 向相邻常驻指示)、变异纹理
2. **本轮行动资源**:AP 余量(决定还能挖几格)、停手/弃图刷新按钮——紧贴棋盘上缘(动作发生地)
3. **战果兑现面**(结算期为第一注视点):敌人血条变化、逐行结算明细、高光(完美排雷/标中旗)
4. **规划面**(边缘注视,常读):HP、攻击、RAP 池、状态效果(己方/敌方)、库存列表、敌人意图徽标与顺位
4. **规划面**(边缘注视,常读):HP、攻击、RAP 池、状态效果(己方/敌方)、敌人意图徽标与顺位
5. **进度语境**:轮次/阶段指示、关卡节点进度、图例入口
依据:挖掘期玩家视线锚定棋盘(art-bible §2.1"视线始终被数字牵引");结算期视线转向战斗画面区(§2.2"兑现光带逐行横扫")。规划信息必须常读但不得抢焦——这正是用户布局图三分下栏的合理性:**动作区居中,规划区两翼**。
@@ -93,11 +93,10 @@
| 区 | 位置与尺寸 | 内容 |
|---|---|---|
| **A 关卡进度条** | 全宽 × 28px 顶栏 | 节点链步进(⚔战 ◆道具 ⚔战 ⚔战 ♥恢复 👑Boss),当前节点高亮 |
| **A 关卡进度条** | 全宽 × 28px 顶栏 | 节点链步进(战 → 战 → 赏 → 战 → 战 → 疗 → 王——文字签槽,对应 battle/reward/rest/boss 四型节点),当前节点奖励金高亮、已过暗金、Boss 旗朱描边 |
| **B 战斗画面** | 全宽 × 252px | 英雄卡(左)+ 兑现演出区(中)+ 敌人卡 ×1–3(右);底部结算明细带(24px 摘要 / 结算期 84px 实时流);顶部中央轮次·阶段指示 |
| **C 角色信息** | 左下 240px × 520px | HP 条、攻击值(含修正显示)、RAP 池、状态效果槽(固定 4 槽)、小人立绘占位 |
| **D 扫雷图** | 中下 ~760px × 520px | 顶部 AP 条(44px:左——AP 点阵 + 停手按钮;右——图例按钮 + 弃图刷新按钮〔雷图右上角,2026-09-12 拍板〕);棋盘主体(居中,格 36–45px 见方);toast 槽(上缘内侧) |
| **E 道具** | 右下 280px × 520px | 库存常读列表(固定槽高 + clip_contents——缺陷①教训);窗口期原位激活为道具使用窗口 |
| **D 扫雷图** | 中下 ~1036px × 520px(原右下面板删除后横向加宽,吸收其宽度) | 顶部 AP 条(44px:左——AP 点阵 + 停手按钮;右——图例按钮 + 弃图刷新按钮〔雷图右上角,2026-09-12 拍板〕);棋盘主体(居中,格 36–45px 见方);toast 槽(上缘内侧) |
**布局决策 1(本 spec 最大决策,用户拍板)**:**常驻双舞台分屏**——战斗画面与扫雷图同屏常驻,挖掘期敌人待机可见,结算期不切场景。
- 备选(已否决):Peglin 式"结算时才切入独立战斗场景"——切换打断推理心流,且资产管线成本翻倍
@@ -113,9 +112,9 @@
| A | LevelStripView | 步进条 | 节点链 + 当前位置 | 只读(点击节点不可跳) | ✅ level_strip_view.gd 迁移 |
| B | 英雄卡 | 卡片 | 小人像、HP 条、攻击值、状态效果槽 ×4 | 只读 | HUDView 拆分 |
| B | 敌人卡 ×1–3 | 卡片 | 敌像、血条、顺位徽标、意图徽标、行为环点、状态槽(含敌方 side 池口径:伏击层数为全体敌人共享单值、各卡同值呈现——数据源 = 战斗结算流水经增益状态投影,敌人系统×4④) | 只读 | 新建 |
| B | 轮次·阶段指示 | 标签 | "第 N 轮 · 挖掘中/结算中/道具窗口" | 只读 | 新建 |
| B | 结算明细带 | 滚动列表 | 结算期逐行流水([战斗结算](../gdd/systems/战斗循环/战斗结算.md#明细流水每一行都能指回你刚才的哪一步棋) 15 类行协议);挖掘期收起为上轮摘要 1 行 | 点击展开明细回看 overlay | battle_log_view.gd 改造 |
| B | 结算明细回看 | 模态 overlay | 完整流水逐行(四类行呈现,奖励道具经济×③) | 关闭 | battle_log_view.gd 改造 |
| B | 轮次·阶段指示 | 标签 | "第 N 轮 · 挖掘中/结算中"(终局定格「战斗结束」;Boss 变体附 Boss 名) | 只读 | 新建 |
| B | 结算明细带 | 滚动列表 | 结算期逐行流水([战斗结算](../gdd/systems/战斗循环/战斗结算.md#明细流水每一行都能指回你刚才的哪一步棋) 10 类行协议);挖掘期收起为上轮摘要 1 行 | 点击展开明细回看 overlay | battle_log_view.gd 改造 |
| B | 结算明细回看 | 模态 overlay | 完整流水逐行(现行 10 类行协议;未生效类行聚合计数) | 关闭 | battle_log_view.gd 改造 |
| C | HP/攻击/RAP 显示 | 直角细线数据框 | 当前值/上限、修正来源角标 | 只读;RAP 清零有可见反馈 | HUDView 拆分 |
| C | 状态效果槽 ×4 | 图标槽 | effect_id→icon(形状+色相双通道)、层数角标、剩余结算次数点 | 悬停 tooltip(来源+语义) | 新建(增益状态×①) |
| D | AP 条 | 点阵 + 按钮组 | 本轮 AP 点阵、停手按钮(左)、弃图刷新按钮(右端·雷图右上角;RAP−8 · 本轮剩 N 次——上限 2 次已随行动经济 2026-09-12 修订生效) | 点击提交意图 | HUDView 拆分 |
@@ -125,20 +124,16 @@
| D | 移动路径预览 | 路径高亮 | 悬停已开格显示 BFS 路径(合法性指示) | 自动 | 新建(排雷玩法×6⑤,裁决见下) |
| D | toast 槽 | 非模态提示 | 拒绝原因(双源)、voided、满层溢出、chord 提示、零合法板告知 | 自动消退 2.5s | 新建 |
| D | 图例按钮 + 面板 | 按钮+模态 overlay | 格态/变异语义图例 | 开/关 | 新建 |
| E | 库存列表 | 固定槽高列表 | 逐件:icon+名称+属性简述+状态;枚举序 = stock 受理序(旧版台账 E21) | 悬停 tooltip(完整描述+触发注记);窗口期点选 | item_window_overlay.gd 改造 |
| E | 道具使用窗口态 | 面板原位激活态 | "轮末道具窗口 · 至多选 1 件"+ 时机指示 + usable_now 禁选态 + 跳过按钮 + 触发政策注记 | 点选/跳过 | ✅ item_window_overlay.gd 改造(形态裁决见下) |
| 全屏 | 胜利/失败 overlay | 模态 | 金蜡封/暮蓝收旗 + 判定行 + 明细回看入口 | 继续/下一节点 | node_overlay.gd 扩展 |
| 调试 | TunePanel | 调试面板 | atk%/hp% 滑条 + 批量模拟(正式侧归元进度,切片调试入口保留) | 调试 | ✅ tune_panel.gd 保留 |
**布局决策 2 — 道具窗口形态 = 右栏原位激活**:窗口触发时 E 区面板点亮描边、标题切换为窗口态,棋盘侧去饱和 + 金橙色相偏移锁输入(明度不变——art-bible §2 明度恒定合规化,2026-09-12)。
- 备选(已否决):中央模态弹窗——遮挡结算演出首屏(授予段刚完成的视觉记忆),且库存常读位置与窗口位置分离造成空间记忆断裂
- 依据:窗口期棋盘输入本就不竞争(结算期棋盘不可交互,排雷玩法单意图帧先例),无模态必要性;战斗结算窗口锚点 = 授予段后、增益/减益段前——玩家需同时看库存与刚到手的奖励
**布局决策 2 —(已删除,编号留空)**:原「窗口形态 = 右栏原位激活」决策随可选类道具整体下线(2026-09-15 格面资源批)。编号留空,免布局决策 3/4 的既有交叉引用失锚。
**布局决策 3 — 移动路径预览 = 合法性指示**(排雷玩法×6⑤ 悬案裁决):悬停已开格时高亮 BFS 路径(小人蓝细线点迹),移动执行为 ≤150ms 短滑。
- 备选(登记不采纳):穿行动画轨道——移动免费高频,动画时间税违反 P4 点击摩擦护栏(每轮输入动作:AP ≤2 的观测假设);正式版若 playtest 反馈"移动太瞬"再议(留痕)
**布局决策 4 — 弃图刷新 = 挖掘期当场换图(2026-09-12 用户拍板,同日落稿上游)**:按钮置 AP 条右端(雷图右上角)。点击即当轮就地换新图继续挖——AP 不重置、剩余 AP 保留,RAP−8,本轮上限 2 次。
- **上游修订(2026-09-12 已落稿,OQ12)**:① 行动经济 `request_refresh` Active 相位受理 + 每轮上限 2 次(Waiting 代理退役)② 排雷玩法装板受理域增 Active·仅刷新路径 ③ 编排 owner = **战斗结算 `refresh_board`**(行动经济扣费 → 排雷玩法 retire → 棋盘生成 generate → 排雷玩法 install → 奖励道具经济 roll_board 恰一次;无结算段、无 round_end——战斗结算编排唯一性原则保持)④ 旧板旗随旧板**作废**(零兑付、旗 AP 不返还——排雷玩法 EC11 全量重置承载;确认微交互须显式提示)。**经济预警**:当场刷新无结算发生,原「敌方时间税」自惩失效——行动经济 OQ3 弃图率/刷新率预警阈值联动复核。
- **上游修订(2026-09-12 已落稿,OQ11)**:① 行动经济 `request_refresh` Active 相位受理 + 每轮上限 2 次(Waiting 代理退役)② 排雷玩法装板受理域增 Active·仅刷新路径 ③ 编排 owner = **战斗结算 `refresh_board`**(行动经济扣费 → 排雷玩法 retire → 棋盘生成 generate → 排雷玩法 install → 地图战斗资源 roll_board 恰一次;无结算段、无 round_end——战斗结算编排唯一性原则保持)④ 旧板旗随旧板**作废**(零兑付、旗 AP 不返还——排雷玩法 EC11 全量重置承载;确认微交互须显式提示)。**经济预警**:当场刷新无结算发生,原「敌方时间税」自惩失效——行动经济 OQ3 弃图率/刷新率预警阈值联动复核。
- 备选(已否决):结算期决策提示(Waiting 内联)——结算期不做刷新决策(用户拍板);挖掘期预承诺 stop+reroll 复合——决策即终轮,不符「换图继续挖」语义。
**敌人意图线索映射目录(敌人系统×4① 成文占位,2026-09-12)**:
@@ -157,7 +152,7 @@
```
1280 × 800 ────────────────────────────────────────────────────────────────────
┌─[A] 关卡进度条 28px ─────────────────────────────────────────────────────────┐
│ ⚔──⚔──◆──⚔──⚔──♥──👑 (当前节点高亮,已过节点暗金) │
│ 战→战→赏→战→战→疗→王 (当前节点奖励金高亮,已过节点暗金) │
├─[B] 战斗画面 252px ──────────────────────────────────────────────────────────┤
│ ┌────────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 英雄卡 │ 第 3 轮 · 挖掘中 │ ①蛆虫 │ │ ②蛆虫 │ │
@@ -169,36 +164,21 @@
│ ├─ 结算明细带 ────────────────────────────────────────────────────────────┤ │
│ │ ▸上轮: 主角攻击9→蛆虫-9 | 攻击+50%(1结算) | 伏击+3×2 … [展开明细▾] │ │
│ └────────────────────────────────────────────────────────────────────────┘ │
├─[C] 角色信息 240px ───┬─[D] 扫雷图 ~760px ────────────┬─[E] 道具 280px ─────┤
│ 520px │ 520px │ 520px │
│ ┌──────────────────┐ │ ┌───────────────────────────┐ │ ┌─────────────────┐ │
│ │ HP 42/50 ▓▓▓░ │ │ │ AP ●●●●●○○○ 5/8 │ │ │ 道包 · 关卡域 │ │
│ │ 攻击 6 (+50%) │ │ │ [⏹停手] │ │ │ (窗口态标题位) │ │
│ │ RAP ▓▓▓░ 3/8 │ │ │ [?图例] [↻刷新 8|剩2] │ │ ├─────────────────┤ │
│ ├──────────────────┤ │ │ ┌─toast────────────┐ │ │ │ 🗡 小刀 │ │
│ │ 状态效果 │ │ │ │AP不足·剩0点 │ │ │ │ 伤害 · 一次性 │ │
│ │ ⬆攻击+50% ○1 │ │ │ └──────────────────┘ │ │ ├─────────────────┤ │
│ │ 🛑减攻−65% ○1 │ │ │ 12 12 1 ░ 2 ▓▓ ▓▓ │ │ │ 🗡 精工短刀 │ │
│ │ (槽×4 固定) │ │ │ 12 █ 1 1 2 ▓▓ ▓▓ │ │ │ 高伤 · 一次性 │ │
│ ├──────────────────┤ │ │ 1 2 2 🚩 █ 2 1 │ │ ├─────────────────┤ │
│ │ [小人立绘占位] │ │ │ ░ 1 ▓▓ 👫 1 1 ░ │ │ │ ❤ 治疗包 ×1 │ │
│ │ │ │ │ ▓▓ 1 1 ░ ░ 2 ▓▓ │ │ │ 回复 12 · 可用 │ │
│ └──────────────────┘ │ │ ( █=可挖域微光 👫=小人) │ │ └─────────────────┘ │
│ │ └───────────────────────────┘ │ │
└───────────────────────┴───────────────────────────────┴─────────────────────┘
窗口态(E 区原位激活,轮末道具窗口):
│ ┌─────────────────┐ 面板描边点亮(金),D 区去饱和锁输入
│ │ ⏳ 轮末道具窗口 │ 时机指示:位于授予段后、增益段前
│ │ 至多选用 1 件 │
│ ├─────────────────┤ 可用件高亮可点;满血治疗包灰置+禁选原因
│ │ 🗡 小刀 [选用] │ 选中即承诺(照常消耗拍板)
│ │ 🗡 精工短刀[选用] │
│ │ ❤ 治疗包(满血) │ 灰置 + tooltip「HP 已满 · 禁选」
│ ├─────────────────┤
│ │ [跳过] 注记*:未 │ *「未选用件随关卡结束清空」政策注记常驻
│ │ 选用件关卡末清空 │
│ └─────────────────┘
├─[C] 角色信息 240px ───┬─[D] 扫雷图 ~1036px ──────────────────────────────────┤
│ 520px │ 520px │
│ ┌──────────────────┐ │ ┌─────────────────────────────────────────────────┐ │
│ │ HP 42/50 ▓▓▓░ │ │ │ AP ●●●●●○○○ 5/8 │ │
│ │ 攻击 6 (+50%) │ │ │ [⏹停手] [?图例] [↻刷新 8|剩2] │ │
│ │ RAP ▓▓▓░ 3/8 │ │ │ ┌─toast────────────┐ │ │
│ ├──────────────────┤ │ │ │AP不足·剩0点 │ 12 12 1 ░ 2 ▓▓ ▓▓ │ │
│ │ 状态效果 │ │ │ └──────────────────┘ 12 █ 1 1 2 ▓▓ ▓▓ │ │
│ │ ⬆攻击+50% ○1 │ │ │ 1 2 2 🚩 █ 2 1 1 ▓▓ 👫 1 1 ░ │ │
│ │ 🛑减攻−65% ○1 │ │ │ ░ 1 ▓▓ 👫 1 1 ░ ▓▓ 1 1 ░ ░ 2 │ │
│ │ (槽×4 固定) │ │ │ ▓▓ 1 1 ░ ░ 2 ▓▓ │ │
│ ├──────────────────┤ │ │ ( █=可挖域微光 👫=小人) │ │
│ │ [小人立绘占位] │ │ │ │ │
│ └──────────────────┘ │ └─────────────────────────────────────────────────┘ │
└───────────────────────┴──────────────────────────────────────────────────────┘
```
---
@@ -208,9 +188,8 @@
| State / Variant | Trigger | What Changes |
|---|---|---|
| **挖掘阶段(默认态)** | 轮次开始 / 结算完毕回 Active 相位 | B 区敌人待机(意图徽标全程可见——敌人系统 Rule 8⑤),D 区棋盘可交互,AP 条点亮;能量 2/10,唯悬停呼吸微光在动(§2.1) |
| **结算阶段** | round_end 触发(AP 尽/停手/清图) | D 区锁输入(棋盘去饱和 + 金橙色相偏移,明度不变,数字保持全对比);B 区播放七段编排演出;明细带展开 84px 逐行滚动;阶段指示→"结算中";能量 7/10 |
| **道具窗口态** | 结算授予段完成后(窗口锚点) | E 区原位激活(布局决策 2);空库存不弹窗直接跳过(奖励道具经济×②);usable_now=false 禁选+原因 |
| **清图瞬间** | 全部安全格开完 | 金粒喷泉 + 彩纸 3–5s 即收(§2.3);清图奖励行强调呈现(H2,奖励道具经济×④——金框高亮行);随后换新图 install |
| **结算阶段** | round_end 触发(AP 尽/停手/清图) | D 区锁输入(棋盘去饱和 + 金橙色相偏移,明度不变,数字保持全对比);B 区播放五段编排演出(授予段 → 增益/减益段 → 战斗段 → 衰减段 → 判定段,战斗结算 段序冻结);明细带展开 84px 逐行滚动;阶段指示→"结算中";能量 7/10 |
| **清图瞬间** | 全部安全格开完 | 金粒喷泉 + 彩纸 3–5s 即收(§2.3);清图奖励行强调呈现(H2,地图战斗资源×④——金框高亮行);随后换新图 install |
| **完美排雷高光** | 战斗结算高光判定(全图标中/零误标类) | 全屏喝彩级反馈(§2.2 最高档):金光带加倍扫射 + 「完美排雷 ×2」横幅——P2 爆发兑现节点(创意风险 #2 落点) |
| **标中旗高光** | flag_judged{hit=true} | 该旗化暴击弹道加重 + 明细行金框——chord 缺席的即时兑现补偿(创意风险 #3 落点) |
| **敌人死亡呈现** | 敌 hp=0(流水行击杀标记) | 该敌人卡血条归零 → 卡体灰化 + 碎裂退场(**禁瞬消**——敌人系统资产下限「死亡瞬间须可辨识、不得直接消失」,同等 blocking);战斗段短路的重击被掐灭不产行动明细行,由行序可推断(战斗结算);动画密度归战斗表现,呈现语义在本 spec |
@@ -218,7 +197,6 @@
| **失败终局** | verdict=lose(hero hp=0,战斗段短路) | 明度不变的暮蓝 #5A6C8C 氛围 overlay(全作唯一暮蓝档);小人坐砖掸灰、插过的旗逐面化光点收回(§2.5);判定行 + 明细回看(学习用途)+「返回」;状态槽全清可见反馈(增益状态×4④,同胜利) |
| **Boss 遭遇变体** | encounter=boss(遗迹守卫) | 战斗开始一次性演出:紫赤 #8F2F6A 影子爬过棋盘(§2.6);敌人卡体量最大+锐角剪影;阶段指示附 Boss 名 |
| **空态:无状态效果** | 增益状态 EC12 | 状态槽隐藏 or 空槽占位——**裁决:槽位隐藏,HP/攻击/RAP 上移补位**(角色信息区纵向空间紧张,空槽占位浪费);图例面板载空态说明(增益状态×① 成文项) |
| **空态:零库存** | 关卡初/清空后 | E 区显示「道包空空——安全格里藏着补给」(指引性空态,非报错) |
| **调试变体** | 测试模式 | TunePanel 入口(demo 保留,正式侧元进度退役);Playtest 诊断按钮(卡死转储) |
**拒绝/作废子态**(排雷玩法×6⑥、行动经济双源——每次拒绝玩家可感知):
@@ -238,13 +216,10 @@
| 已开格 | 移动 | 左键 | 悬停时路径预览高亮(布局决策 3);执行 ≤150ms 短滑 | 意图入批(BFS 移动,免费) |
| 未开格 | 插旗 / 已旗格拔旗 | 右键 | 旗落下/移除(旗朱) | 意图入批(1 AP / 免费) |
| 停手按钮 | 主动结束轮次 | 左键 | 按钮下压 + AP→RAP 飞行数字 | `settle_batch([stop])`(**经排雷玩法批次,不直调行动经济**——单意图帧批次契约) |
| 弃图刷新按钮(雷图右上角) | 当轮就地换图继续挖 | 左键 | 确认微交互(RAP−8 代价显式 + 旧板弃置提示);RAP<8 → 资源面拒绝可见(行动经济 EC13) | `request_refresh`(**Active 相位当场换图继续挖**——AP 不重置、本轮剩 N 次扣减;**上游已修订受理——见布局决策 4/OQ12**) |
| 弃图刷新按钮(雷图右上角) | 当轮就地换图继续挖 | 左键 | 确认微交互(RAP−8 代价显式 + 旧板弃置提示);RAP<8 → 资源面拒绝可见(行动经济 EC13) | `request_refresh`(**Active 相位当场换图继续挖**——AP 不重置、本轮剩 N 次扣减;**上游已修订受理——见布局决策 4/OQ11**) |
| 图例按钮 | 开图例 | 左键 | 模态 overlay | 恒可开(图例条目恒在) |
| 结算明细带 | 展开回看 | 左键 | 明细 overlay | 只读 |
| 状态/道具 tooltip | 悬停 | hover | 状态 tooltip(来源+语义+剩余);道具 tooltip(完整描述+触发注记——不含来源) | 只读 |
| 道具(窗口态可用件) | 选用 | 左键 | 选中态高亮 → 窗口关闭回结算流 | `submit_window_selection(窗口位置)`——**传窗口条目位置,非库存句柄**(缺陷④契约) |
| 道具(窗口态禁选件) | — | 左键无效 | 禁选原因 toast(满血治疗包) | 无 |
| 跳过按钮 | 跳过窗口 | 左键 | 窗口关闭 | 空选择序 |
| 状态效果槽 | 悬停 | hover | 状态 tooltip(来源+语义+剩余结算次数) | 只读 |
| 胜利 overlay | 下一节点 | 左键 | → NodeOverlay / 关卡结算 | LevelRunner 推进 |
| 失败 overlay | 返回 | 左键 | → 存档/营地 | 冒险终结 |
@@ -267,12 +242,11 @@
| 每轮结束 | `ux_round_input_ratio` | 原始输入动作数∶AP 消耗(行动经济 P4 ≤2 护栏观测,排雷玩法遥测义务) |
| 停手/清图 | `ux_round_exit` | path_tag {stopped, ap_exhausted, cleared}(对齐上游封闭枚举)——弃图率(难度曲线与Boss OQ4)观测 |
| 弃图刷新(挖掘期,非轮出口) | `ux_refresh_attempt` | {result: accepted/rejected_rap/rejected_cap, round_refresh_index: 1..2}——刷新使用(难度曲线与Boss OQ6)与行动经济 OQ3 预警阈值观测;每轮 0–2 次(布局决策 4 cap=2) |
| 窗口选用/跳过 | `ux_window_choice` | {selected_item_id, usable_now, skip} |
| 拒绝/voided | `ux_reject` | {source: board/resource/phase, sub_reason} |
| 提示触发/关闭 | `ux_hint_shown` | {hint_id: chord/no_adjacent} |
| 呈现订阅(不改核心) | 排雷玩法三事件 / [战斗结算](../gdd/systems/战斗循环/战斗结算.md#明细流水每一行都能指回你刚才的哪一步棋)步骤流(15 类行协议,含终局判定行) / battle_over / level_clear | 载荷 schema 成文义务见 §Data Requirements——旧版台账 entry 17①(HUD框架硬性要求) |
| 呈现订阅(不改核心) | 排雷玩法三事件 / [战斗结算](../gdd/systems/战斗循环/战斗结算.md#明细流水每一行都能指回你刚才的哪一步棋)步骤流(10 类行协议,含终局判定行) / battle_over / level_clear | 载荷 schema 成文义务见 §Data Requirements——旧版台账 entry 17①(HUD框架硬性要求) |
**持久状态写入**全部经组合根唯一路径(settle_batch / submit_window_selection / request_refresh / runner 推进)——UI 层禁直调核心写(架构七原则"依赖单向组合根")。
**持久状态写入**全部经组合根唯一路径(settle_batch / request_refresh / runner 推进)——UI 层禁直调核心写(架构七原则"依赖单向组合根")。
---
@@ -283,12 +257,11 @@
| 进入战斗屏 | 棋盘 install 淡入(200ms)+ 初始 3×3 展开涟漪 + Boss 战先播紫赤影子爬棋盘(§2.6) | 棋盘生成 install / §2.6 |
| 挖掘→结算 | 明细带自底展开(150ms)+ 棋盘去饱和 + 金橙色相偏移 + 阶段指示翻转 | §2.2 色彩转金橙主导、饱和拉高、明度不变(状态区分经饱和/色相——art-bible §2 合规化 2026-09-12) |
| 结算逐行兑现 | 光带自棋盘行起点横扫 → 开格化箭雨/旗化暴击弹道飞向敌人卡 → 受击闪白 + 血条直角递减 | §2.2 承载元素;因果全程可见可归因(P2) |
| 道具窗口 | E 区描边金光点亮(非弹窗,无缩放突兀) | 布局决策 2 |
| 清图换新图 | 金粒喷泉 3–5s → 旧图碎裂淡出 → 新图 install 淡入 | §2.3 短促丰收不拖节奏 |
| RAP 清零(battle_over) | RAP 数字滚动归零 + 「随战斗结束消散」微文案 | 行动经济可见反馈义务 |
| 敌人死亡 | 血条直角递减至零 → 卡体灰化 + 碎裂退场(禁瞬消) | 敌人系统资产下限(同等 blocking);动画密度归战斗表现 |
| 状态槽全清(battle_over) | 状态逐槽化光收回 + 「状态随战斗结束消散」微文案 | 增益状态×4④;RAP 清零同款先例 |
| 库存清空(level_clear) | 道包逐件化光点飞出 + 「剩余道具 ×N 随关卡结束清空」 | 奖励道具经济×⑤ |
| 关卡收束清库(预留) | 清空反馈义务保留——载体为魔法道具背包,随魔法道具 P0 落地;本批不设计具体呈现 | 魔法道具 下游呈现义务(关卡末清空反馈) |
| 胜利 | 蜡封自上落下弹跳定格 → 碎砖拼纹章 → overlay 暖金渐显 | §2.4 克制不狂欢 |
| 失败 | 全屏明度不变转暮蓝色相 → 旗化光点 800ms 逐面收回 → overlay | §2.5 最静一拍 |
| 减动效选项 | 上述全部动画提供时长减半/直接跳终态开关(项目未建 accessibility 文档前,本项为 spec 内建承诺) | 动议:结算逐行兑现为信息载体不可整体跳过,可加速 |
@@ -303,21 +276,20 @@
| BFS 移动路径 | 排雷玩法 `compute_move_path` | Read | 布局决策 3 合法性指示消费 |
| 拒绝原因 | 排雷玩法 `sub_reason` 封闭枚举 + 行动经济 资源面 | Read | 三源(board/resource/phase)映射文案——呈现层契约成文;资源面原因无上游载荷(行动经济 仅 bool + debug 诊断),客户端按动作上下文推断 |
| AP / RAP / 本轮刷新计数 | 行动经济 | Read | 常显;刷新入口可用性 = RAP 读数客户端预判(RAP≥8)+ `request_refresh` 返回值(行动经济 无 `can_request_refresh` API——仅 bool 返回 + 只读观测量;行动经济 EC13 拒绝合法可见) |
| 结算流水行(15 类)+ 四类行 | [战斗结算](../gdd/systems/战斗循环/战斗结算.md#明细流水每一行都能指回你刚才的哪一步棋) 流水协议 | Read | 逐行来源标注(P2);聚合计数行呈现 |
| 结算流水行(10 类封闭协议) | [战斗结算](../gdd/systems/战斗循环/战斗结算.md#明细流水每一行都能指回你刚才的哪一步棋) 流水协议 | Read | 逐行来源标注(P2);未生效类行(溢出未生效/奖励未生效)聚合计数呈现 |
| 判定 verdict | 战斗结算 判定段 | Read | 终局画面数据锚 |
| 敌单位 hp/顺位/意图环下一拍/enemy_id/存活 | 敌人系统 只读面 | Read | 意图线索映射全局恒定(敌人系统×4②);**despawn 前捕获**(旧版台账 entry 17③——缺陷②教训) |
| 状态效果投影(含空态/极性/溢出) | 增益状态 投影口径 | Read | 极性映射数据源 = 战斗结算 SettlementTable 效果语义,非 magnitude 符号(增益状态×③) |
| 库存(item_id/状态/枚举序/行值投影)+ 奖励身份 | 奖励道具经济 `query_inventory` / 快照 | Read | reward_id 全局恒定;**属性简述由行值快照投影派生**(伤害/回复/增益一句话);载荷含来源 {cell, round} 但**不呈现于库存列表与 tooltip**(2026-09-12 用户拍板——来源归因职责由结算明细行承载,P2 不受影响);窗口载荷 usable_now 由战斗结算组装(奖励道具经济 零跨系统读) |
| 已开格奖励身份(奖励徽章) | 地图战斗资源 `query_identity`(经 board_view 身份解析只读回调,组合根注入) | Read | 已开格身份常读——挖掘期 Active 相位内有效;reward_id 全局恒定、禁止重掷;徽章绘制优先级见 §Component Inventory BoardView 行 |
| 节点链/当前节点/HP 携带 | 关卡节点地图 lite · LevelRunner | Read | A 区进度条 |
| 意图提交 | 排雷玩法 | **Write** | `settle_batch`(stop 亦经此——不直调行动经济) |
| 窗口选择 | 战斗结算 | **Write** | `submit_window_selection(窗口位置序)` |
| 弃图刷新 | 行动经济 | **Write** | `request_refresh`(挖掘期 Active 当场受理——布局决策 4 2026-09-12 上游已落稿;战斗结算 `refresh_board` 编排承载) |
| 节点推进 | LevelRunner | **Write** | 胜利 overlay「下一节点」 |
| 终局画面数据锚 | 战斗结算 判定行(流水行协议) | Read | 「终局判定行 = 胜负画面的数据锚」(战斗结算 UI Requirements);despawn 前状态可见性纪律 = 旧版台账 entry 17③(销毁前捕获、**载荷数据自包含**、禁呈现层回读核心生命周期状态);若需独立终局快照信号,须回战斗结算/实现期 ADR 补登记(战斗结算 现无 `settlement_snapshot` 契约——2026-09-12 评审修正) |
**架构注记**:UI 不拥有任何游戏状态——全部读经核心只读面,全部写经组合根(ADR-0001/0003)。呈现层信号载荷 schema 须在《HUD框架》成文(旧版台账 entry 17①,缺项即 blocking);场景级 headless 测试进 AC(entry 17②);覆盖层层级断言(缺陷⑤——任何模态覆盖层必须有"打开时遮挡物隐藏"断言)。
**更新触发注记(2026-09-12 评审增补——防实现层等待不存在的信号,旧版台账 entry 17 教训同类)**:旗插/拔与移动成功反馈**零事件外发**(排雷玩法发射面封闭)——经意图调用 `ActionOutcome` 返回值命令式驱动;AP/RAP 读数:行动经济无推送信号——组合根每次调用返回后重查;状态效果:增益状态纯被动容器零信号——状态栏刷新绑战斗结算的编排完成时点;库存:奖励道具经济 `query_inventory` 查询面——写路径回执后重查。
**更新触发注记(2026-09-12 评审增补——防实现层等待不存在的信号,旧版台账 entry 17 教训同类)**:旗插/拔与移动成功反馈**零事件外发**(排雷玩法发射面封闭)——经意图调用 `ActionOutcome` 返回值命令式驱动;AP/RAP 读数:行动经济无推送信号——组合根每次调用返回后重查;状态效果:增益状态纯被动容器零信号——状态栏刷新绑战斗结算的编排完成时点;奖励徽章:地图战斗资源 身份解析经 `query_identity` 只读回调(组合根注入 board_view),已开格揭显时查询——写路径回执后重查。
---
@@ -338,8 +310,8 @@
## Localization Considerations
- **源语言中文(CJK)**:运行时默认字体无 CJK 字形——**CJK 字体随包为硬性前置**(ADR-0003 已锁),实现 AC 覆盖
- **按钮文案单行约束**:「停手」「弃图刷新」「跳过」「选用」——按钮宽度按 4 汉字上限设计;译为英文("Hold"/"Reroll"/"Skip")不超 1.6× 不破版;德语长词("Aufgeben+Neu"类复合词)风险 HIGH——弃图刷新按钮允许两行或图标+缩写
- **明细带行文案**:来源标注格式「{行为} {值} → {目标}(来源)」为模板插值,最长 token = 道具名(4 汉字);行模板预留 40% 膨胀宽度(固定槽高 + clip 兜底)
- **按钮文案单行约束**:「停手」「弃图刷新」——按钮宽度按 4 汉字上限设计;译为英文("Hold"/"Reroll")不超 1.6× 不破版;德语长词("Aufgeben+Neu"类复合词)风险 HIGH——弃图刷新按钮允许两行或图标+缩写
- **明细带行文案**:来源标注格式「{行为} {值} → {目标}(来源)」为模板插值,最长 token = 来源标签(4 汉字,如「清图奖励」「标旗未中」——settlement source_label_map 封闭枚举);行模板预留 40% 膨胀宽度(固定槽高 + clip 兜底)
- **数字格式**:全部整数,无本地化格式需求;AP 点阵为图形载体不依赖文本
- **术语表锚定**:旗/雷/停手/弃图刷新/轮次/结算 已在 GDD 体系内定名,译文须同步 registry terminology(五词条先例)
@@ -349,7 +321,7 @@
**布局与可读**
- [ ] 1280×800 与 16:9 全屏(canvas_items/expand)下五区无遮挡、无重叠、无内容裁切(棋盘 12×12 全部格子 + 数字完整可见)
- [ ] 1280×800 与 16:9 全屏(canvas_items/expand)下四区无遮挡、无重叠、无内容裁切(棋盘 12×12 全部格子 + 数字完整可见)
- [ ] 进入战斗屏 ≤500ms 内可交互(棋盘 install 淡入完成后首格可点);同屏 draw calls < 200(technical-preferences 预算)
- [ ] 两种格态(已开格 / 未开格)灰度截图下一眼可辨(排雷玩法×6②)
- [ ] 悬停光标区分移动/挖/旗三语义;可挖域(8 向相邻)常驻指示;非相邻格悬停显禁止反馈(排雷玩法×6③)
@@ -360,27 +332,26 @@
- [ ] 挖/移/旗/停手/刷新全部操作纯鼠标可完成;stop 意图经 `settle_batch` 提交(代码走查 + 探针断言)
- [ ] 每次拒绝(棋盘面/资源面/相位)玩家可感知且两源可区分;voided(至少 stop 作废)可感知(排雷玩法×6⑥、行动经济双源)
- [ ] 道具窗口:usable_now=false 禁选+原因可见;至多选用 1 件;空库存不弹窗;选择传窗口位置非库存句柄(选中件库存态必变 Used——行为探针断言,缺陷④回归)
- [ ] 弃图刷新消耗 RAP 8 点、本轮上限 2 次可见(按钮文案实时「剩 N 次」;上限已随行动经济 2026-09-12 修订生效);RAP<8 资源面拒绝可见(行动经济 EC13);确认交互与常规确认不同位;换图后 AP 不重置、剩余次数扣减可见(**上游已修订受理——2026-09-12 布局决策 4 落稿**)
- [ ] battle_over 时 RAP 清零有可见反馈;level_clear 时库存清空有可见反馈(行动经济/奖励道具经济×⑤)
- [ ] battle_over 时 RAP 清零有可见反馈(行动经济);关卡收束清库反馈义务载体 = 魔法道具背包,随魔法道具 P0 落地补验收(现行切片无库存容器)
- [ ] battle_over 时状态槽全清有可见反馈(逐槽化光 + 微文案)(增益状态×④)
- [ ] 敌人死亡瞬间可辨识(卡体灰化 + 碎裂退场,禁瞬消);战斗段短路被掐灭的重击由行序可推断(敌人系统资产下限)
**信息与归因**
- [ ] 结算逐行明细实时可见、战斗后可回看完整流水(P2 逐行归因);四类行(道具语境/奖励未生效/已消耗未生效/使用被拒)按 奖励道具经济×③ 呈现
- [ ] 结算逐行明细实时可见、战斗后可回看完整流水(P2 逐行归因);未生效类行(溢出未生效/奖励未生效)聚合计数呈现(战斗结算 现行 10 类行协议)
- [ ] 敌人意图徽标挖掘期全程可见、映射全局恒定、含顺位与环长直觉编码(敌人系统×4①②③)
- [ ] 状态效果:极性呈现映射成文且非 magnitude 符号;空态渲染成文(裁决:槽隐藏);满层溢出经明细行可见(增益状态×①③④)
- [ ] 图例面板条目恒在可随时回看、非模态提示不劫持输入
- [ ] 零合法板(棋盘生成 EC5 降级)出现时玩家侧诚实提示(toast,非静默)
- [ ] 效果行 value 为单次贡献值,不得与 pool_value(池合成值)相加呈现;零值伤害行可见不被吞;衰减行按聚合计数呈现(战斗结算 呈现细则)
- [ ] 未生效类行(奖励未生效/已消耗未生效/使用被拒/溢出未生效)携带形状冗余(icon/划线),非色相独载
- [ ] 奖励徽章绘制优先级:旗之下、变异纹带之上、不进数字区;拾取瞬间 tier 档位可读(奖励道具经济 H1)
- [ ] 未生效类行(溢出未生效/奖励未生效)携带形状冗余(icon/划线),非色相独载
- [ ] 奖励徽章绘制优先级:旗之下、变异纹带之上、不进数字区;拾取瞬间 tier 档位可读(地图战斗资源 H1)
**场景级测试**(旧版台账 entry 17②③,缺项即 blocking)
- [ ] 场景级 headless 测试:真实实例化战斗屏场景 + 驱动完整对局 + 断言零脚本错误(ui_click_probe 模式扩展)
- [ ] 任何模态覆盖层(图例/明细回看/胜利/失败/窗口态)有「打开时遮挡物隐藏/输入锁定」场景级断言(缺陷⑤对照)
- [ ] 任何模态覆盖层(图例/明细回看/胜利/失败)有「打开时遮挡物隐藏/输入锁定」场景级断言(缺陷⑤对照)
- [ ] 动态区全部固定槽高 + clip_contents——悬停文案换行不推挤布局(缺陷①回归)
- [ ] CJK 字体随包,全部中文文案渲染非豆腐块(ADR-0003)
- [ ] 敌人 despawn 后呈现层不回读核心生命周期状态(快照纪律,缺陷②回归)
@@ -391,17 +362,16 @@
1. **Player journey map 未建**——建议实现前补建(`design/player-journey.md`),校准挖掘→结算→终局情绪曲线与 art-bible §2 能量档的匹配
2. **`design/accessibility-requirements.md` 未建**(gate-check Pre-Production 缺口)——本 spec 内建 WCAG AA 基线承诺,正式分层(文本缩放/色盲模式/按键重映射)待该文档定稿
3. **`design/ux/interaction-patterns.md` 未建**——本 spec 新引入待入库 pattern:toast 双源拒绝、原位窗口激活、逐行兑现明细带、悬停预承诺光标、点阵资源显示(/ux-design patterns 批次入库)
3. **`design/ux/interaction-patterns.md` 未建**——本 spec 新引入待入库 pattern:toast 双源拒绝、逐行兑现明细带、悬停预承诺光标、点阵资源显示(/ux-design patterns 批次入库)
4. **战斗表现美术测试**(game-concept 已登记,战斗表现批次前强制):本 spec 的常驻双舞台分屏(布局决策 1)是测试的布局输入——敌人卡卡片式 vs 场景站桩式(无框立绘+底座)待样张定稿;本 spec 按"卡片式"起草(信息分层最稳),站桩式不改变分区结构
5. **移动动画形态**(布局决策 3):≤150ms 短滑为推荐值,playtest 观测「移动太瞬/太拖」反馈后调
6. **明细带挖掘期是否常驻上轮摘要**:常驻(现方案)vs 结算后即收起——playtest 观测回看频率
7. **道具窗口原位激活**(布局决策 2):若 playtest 反馈窗口存在感不足(漏选),升级为 E 区放大 + 全屏微暗(仍非中央弹窗)
8. **Gamepad 导航序**:Partial 支持(非 MVP 门禁)——焦点环顺序待 gamepad 批次定
9. **NodeOverlay / 关卡结算屏**:相邻域屏,建议后续 spec `design/ux/node-reward.md` + `design/ux/level-clear.md`(本 spec 只锁出口锚点)
10. **TunePanel 退役计划**:正式侧归元进度(天赋树),切片调试入口在《HUD框架》标注退役时点
11. **提示文案定稿**:chord 提示/空态文案归实现期文案 pass,本 spec 只锁必含要点与形态约束
12. **弃图刷新上游修订(已落稿 2026-09-12,布局决策 4)**:行动经济(Active 相位受理 + 每轮上限 2 次 + Waiting 代理退役 + 旧旗作废裁决 + 时间税失效预警)、排雷玩法(Active·仅刷新路径装板受理)、战斗结算(stopped/ap_exhausted 恒 same_board + `refresh_board` 挖掘期刷新编排;AC-29 改写/AC-30 恒 same_board)、registry `rap_rules` 同步、旧版 systems-index 修订块登记。遗留观察项:当场刷新的节奏健康由行动经济 OQ3 弃图率/刷新率预警承载,playtest 复核
13. **教学引导缺口挂靠(成文时教学引导 GDD 尚未建,留痕)**:挖到雷 = 敌方优势而非死亡(排雷玩法登记「经典扫雷玩家最大预期违背」)、旗挡链(连锁止于旗属正常)、首次蓄力姿态一次性提示(敌人系统)、窗口拾取→囤刀→选用闭环教学(奖励道具经济)——本屏 toast 体系为落点候选,随教学引导批次定
7. **Gamepad 导航序**:Partial 支持(非 MVP 门禁)——焦点环顺序待 gamepad 批次定
8. **NodeOverlay / 关卡结算屏**:相邻域屏,建议后续 spec `design/ux/node-reward.md` + `design/ux/level-clear.md`(本 spec 只锁出口锚点)
9. **TunePanel 退役计划**:正式侧归元进度(天赋树),切片调试入口在《HUD框架》标注退役时点
10. **提示文案定稿**:chord 提示/空态文案归实现期文案 pass,本 spec 只锁必含要点与形态约束
11. **弃图刷新上游修订(已落稿 2026-09-12,布局决策 4)**:行动经济(Active 相位受理 + 每轮上限 2 次 + Waiting 代理退役 + 旧旗作废裁决 + 时间税失效预警)、排雷玩法(Active·仅刷新路径装板受理)、战斗结算(stopped/ap_exhausted 恒 same_board + `refresh_board` 挖掘期刷新编排;AC-29 改写/AC-30 恒 same_board)、registry `rap_rules` 同步、旧版 systems-index 修订块登记。遗留观察项:当场刷新的节奏健康由行动经济 OQ3 弃图率/刷新率预警承载,playtest 复核
12. **教学引导缺口挂靠(成文时教学引导 GDD 尚未建,留痕)**:挖到雷 = 敌方优势而非死亡(排雷玩法登记「经典扫雷玩家最大预期违背」)、旗挡链(连锁止于旗属正常)、首次蓄力姿态一次性提示(敌人系统)——本屏 toast 体系为落点候选,随教学引导批次定
---
@@ -418,10 +388,10 @@
| 排雷玩法×6 | ⑤ 路径预览裁决 | 布局决策 3 |
| 排雷玩法×6 | ⑥ 单意图帧+voided+拒绝可感知 | §Interaction Map + §States 拒绝子态 + AC |
| 行动经济 | AP/RAP 常显+刷新入口+清零反馈+双源 | §Layout C/D 区 + §Transitions + AC |
| 战斗结算×3 | ①高光行强调呈现(标中旗金框行/清图 H2 金框行)②完美排雷呈现形态 ③棋盘生成 EC5 零合法板提示/补偿/回退形态(toast 提示;补偿/回退不提供——三形态选型留痕 2026-09-12) | §States 高光/清图 + §States 拒绝子态 + §AC;注:结算明细屏+道具窗口 = 战斗结算 UX Flag 事项(本 spec 即其 /ux-design 产物),非 战斗结算×3 台账 |
| 战斗结算×3 | ①高光行强调呈现(标中旗金框行/清图 H2 金框行)②完美排雷呈现形态 ③棋盘生成 EC5 零合法板提示/补偿/回退形态(toast 提示;补偿/回退不提供——三形态选型留痕 2026-09-12) | §States 高光/清图 + §States 拒绝子态 + §AC;注:结算明细屏 = 战斗结算 UX Flag 事项(本 spec 即其 /ux-design 产物),非 战斗结算×3 台账 |
| 敌人系统×4 | 意图映射/恒定/顺位/敌方池 | §Component Inventory 敌人卡 + **意图线索映射目录(敌人系统×4① 成文占位,资产定稿归战斗表现)** + AC |
| 增益状态×4 | 常显+空态/来源标注/溢出/去留 | §States 空态 + §AC |
| 奖励道具经济×5 | 身份恒读/窗口/四类行/清图强调/清空反馈 | §Component Inventory E 区 + §States 清图/高光 + AC |
| 地图战斗资源×5 | 身份恒读/明细行/清图强调(旧版台账五条中「窗口」「清空反馈」随格面资源批下线——清空反馈义务现载体 = 魔法道具背包,随魔法道具 P0 落地) | §Component Inventory BoardView 奖励徽章 + §States 清图/高光 + §Data Requirements query_identity + AC |
| 棋盘生成 | EC5 零合法板诚实呈现(数据面经 战斗结算×3③ 上抛) | §States 拒绝子态(toast)+ AC |
| 敌人系统资产下限 | 受击反馈/死亡表现/顺位标记 | §Transitions 受击 + §States 敌人死亡呈现(禁瞬消)+ §Component 顺位徽标;呈现语义在本 spec(同等 blocking),动画密度归战斗表现 |
@@ -432,3 +402,4 @@
| 日期 | 改动 |
|---|---|
| 2026-09-15 | 雾格残留清理:格态收窄为已开 / 未开两态(删除雾图变体状态行、四格态 AC 与已开雾格 tint / 雾区全开信号两条 AC);图例面板与 toast 槽去掉雾条目与雾首遇提示;BoardView 纹带、绘制优先级与色弱冗余改按通用变异纹带表述;`ux_hint_shown` 的 hint_id 枚举去掉 fog_first;输入义务与 §13 义务对照表去掉 地形变异×3 一项;目标感知示例与提示文案 OQ 措辞同步。本 spec 不装载被移除机制的呈现义务 |
| 2026-09-16 | 格面资源批 UI 欠账收口(随 2026-09-15 可选类道具删除的代码收口同步文档):① 布局四区化——删 E 区道具面板行、布局决策 2(道具窗口形态=右栏原位激活)整段删除(编号留空防交叉引用失锚)、ASCII 线框图重绘为 A/B/C/D 四区(D 区横向加宽 ~1036px)、A 区节点链示例改文字签槽实际渲染(战/赏/疗/王);② States 删道具窗口态与零库存空态(「道包空空」);③ 结算口径五段化(授予→增益/减益→战斗→衰减→判定)与明细行 10 类封闭协议(删 15 类行、四类行旧口径;「奖励未生效」行保留);④ 交互/动效/事件表删道具窗口行、跳过按钮、`ux_window_choice`、`submit_window_selection`;⑤ 数据源登记删 `query_inventory` 与窗口载荷,奖励身份按现行 `query_identity` 只读回调口径校正;⑥ 验收清单删窗口断言、五区改四区、未生效类行改现行两型(溢出未生效/奖励未生效);⑦ 关卡末清库反馈义务改载魔法道具背包(随魔法道具 P0 落地,本批不设计具体呈现);⑧ OQ7(道具窗口原位激活)删除、OQ 重编号,「囤刀待机」等旧可选类措辞清理。本 spec 不装载被删除机制的呈现义务 |
+2 -2
View File
@@ -203,12 +203,12 @@ MVP 未使用标准控件(不入库):toggle / dropdown / input field / tab
**Specification**:
- 形态:灰置 + tooltip「HP 已满 · 禁选」;点击无效 + 原因 toast 兜底
- 语义区分:满血 = 零收益守卫(禁选、不烧包)≠ 缺血不足(超量 clamp 部分回复,**不**禁选)
- usable_now 由战斗结算组装进窗口载荷(奖励道具经济零跨系统读)——呈现层只消费不推断
- usable_now 由战斗结算组装进窗口载荷(地图战斗资源零跨系统读)——呈现层只消费不推断
**When to Use**: 任何可见但不可交互的元素
**When NOT to Use**: 完全隐藏的不可用功能(不存在的东西无需解释)
**Reference**: battle.md §States 道具窗口态、§Interaction Map;奖励道具经济 Rule 7 / AC-14
**Reference**: battle.md §States 道具窗口态、§Interaction Map;地图战斗资源 Rule 7 / AC-14
---