iter56-收尾

This commit is contained in:
DKChan committed 2026-11-08 03:47:33 +08:00
1 parent 5ec4a311bb
commit cedc2e0b5d
21 files changed
+1065 -529

No files matched your search

+135 -39
View File
@@ -81,7 +81,7 @@
本屏必须传达的全部信息,按注视优先级分五层:
1. **扫雷图本体**(第一注视点,挖掘期占视觉预算大头):两格态(已开格 / 未开格——排雷玩法×6② 一眼可辨)、数字、封印印记、小人、可挖域(8 向相邻常驻指示)、变异纹理
2. **本轮行动资源**:AP 余量(决定还能挖几格)、RAP 池(弃图刷新货币)、停手/弃图刷新按钮——紧贴棋盘上缘(动作发生地)
2. **本轮行动资源**:AP 余量(决定还能挖几格)、RAP 池(弃图刷新货币)、停手/弃图刷新按钮——紧贴棋盘左右两侧(动作发生地;2026-11-07 顶栏搬两侧后由侧栏承载)
3. **战果兑现面**(结算期为第一注视点):敌人血条变化、逐行结算明细、高光(完美封印/封印标中)
4. **规划面**(边缘注视,常读):攻击值与修正来源(C 区数据框)、敌人意图徽标与顺位(B 区站桩);HP 与状态效果由单位本体(B 区站桩)唯一承载——数据框不重复展示
5. **进度语境**:轮次/阶段指示、图例入口(关卡节点进度常驻关卡画面,战斗屏不承载——见 Navigation Position)
@@ -106,22 +106,22 @@
- 护甲 AC(2026-09-26 二轮拍板补入——我方 AC 的唯一展示面;掷点判定轴,受击侧可读性)
- 秘宝槽(四槽壳在役、空槽占位——局内两步使用与关卡域库存随秘宝过渡形态退役;现行秘宝 = 营地同调装配件,本区展示内容归装配面重接)
- 奇物列表(**已实装**——现行标题「特性」;锻造/大奖励/关卡奖励节点获得的属性提升,逐件行「件名 ×N」呈现、零内部分类字样上屏;与战斗内状态效果分区呈现,防「战斗结束被清」误读)
- **D 区扫雷图 · AP 条**
- AP 点阵 + 停手按钮(现行)
- **RAP 读数(点阵+数字)**——置于弃图刷新按钮旁(2026-09-26 拍板:RAP 唯一消费口 = 弃图刷新,资源数字贴消费按钮)
- **D 区扫雷图 · 行动资源侧栏(原 AP 条,2026-11-07 顶栏搬两侧)**
- 左栏:AP 点阵 + 停手按钮
- 右栏:**RAP 读数(点阵+数字)** + 图例按钮 + 弃图刷新按钮——RAP 贴弃图刷新(2026-09-26 拍板:RAP 唯一消费口 = 弃图刷新,资源数字贴消费按钮)
- **战斗屏不承载(2026-09-26 二轮拍板)**
- GP(中循环资源——商店房消费):**关卡画面常驻总量** + **战斗总结结算(总量+增量)**(呈现 spec:[settlement-summary.md](settlement-summary.md))
- 钥石(大循环永久资源):**战斗总结结算(Boss/精英击杀增量行)+ 冒险总结结算(收束明细)+ 营地**(呈现 spec:[settlement-summary.md](settlement-summary.md))
### Layout Zones
采用用户拍板的布局图(2026-09-12),按 1280×800 基座落尺寸。**分区几何的唯一事实源 = `game/data/tables/battle_layout.tres`**(经 `ConfigDb.presentation.battle_layout` 读取;字段 `stage_h` / `ground_h`(B 区连续地面层高)/ `info_panel_w` / `ap_bar_h` / `log_band_h_dig` / `log_band_h_settle`)。本节只写结构关系与内容职责,不复写数值;任何文档与代码不另立第二份布局值。
采用用户拍板的布局图(2026-09-12),按 1280×800 基座落尺寸。**分区几何的唯一事实源 = `game/data/tables/battle_layout.tres`**(经 `ConfigDb.presentation.battle_layout` 读取;字段 `stage_h` / `ground_h`(B 区连续地面层高)/ `info_panel_w` / `side_rail_w`(D 区行动资源侧栏宽,2026-11-07 顶栏搬两侧后新增)/ `log_band_h_dig` / `log_band_h_settle`;游戏视图不再读 `ap_bar_h`;布局表字段暂留供样张渲染工具,删除归工具批)。本节只写结构关系与内容职责,不复写数值;任何文档与代码不另立第二份布局值。
| 区 | 位置与几何 | 内容 |
|---|---|---|
| **B 战斗画面** | 全宽,高读 `stage_h`(2026-10-06 方案二拍板:演出 ≈1/3 屏) | 主角站桩立绘(左)+ 兑现演出区(中)+ 敌人站桩立绘 ×1–3(右)——**全站桩形态(2026-09-20 用户拍板):主角与敌人均为无框立绘+底座,零卡片**;主角与敌人站桩 = **HP 与状态效果的唯一展示面(2026-09-26 信息归属拍板)**;底部结算明细带(挖掘期收起高读 `log_band_h_dig`,结算期展开高读 `log_band_h_settle`);顶部中央轮次·阶段指示 |
| **C 角色信息** | 左下,宽读 `info_panel_w`,高 = 基准屏高 − B 区高 | 攻击值(含修正显示)、护甲 AC;秘宝槽、奇物列表(现行标题「特性」)——HP 条/RAP 池/状态效果槽/立绘占位/钱包行退役(2026-09-26 信息归属拍板:HP 与状态唯一展示面 = B 区站桩;RAP 迁 D 区 AP 条;GP/钥石迁出战斗屏) |
| **D 扫雷图** | 中下,宽 = 基准屏宽 − C 区宽 − 列间距,高同 C 区(2026-10-06 方案二:底行压缩全部由面板空档吸收,**棋盘原尺寸不缩、格子不变**) | 顶部 AP 条(高读 `ap_bar_h`:左——AP 点阵 + 停手按钮;中——RAP 点阵+数字〔贴弃图刷新按钮,2026-09-26 拍板〕;右——图例按钮 + 弃图刷新按钮〔雷图右上角,2026-09-12 拍板〕);棋盘主体(居中,格边长见下方「棋盘格尺寸公式」);toast 槽(上缘内侧) |
| **C 角色信息** | 左下,宽读 `info_panel_w`,高 = 基准屏高 − B 区高 | 攻击值(含修正显示)、护甲 AC;秘宝槽、奇物列表(现行标题「特性」)——HP 条/RAP 池/状态效果槽/立绘占位/钱包行退役(2026-09-26 信息归属拍板:HP 与状态唯一展示面 = B 区站桩;RAP 迁 D 区右栏;GP/钥石迁出战斗屏) |
| **D 扫雷图** | 中下,宽 = 基准屏宽 − C 区宽 − 列间距,高同 C 区(2026-11-07 顶栏搬两侧:**D 区全高归棋盘**,不再让出 AP 条高度;棋盘不缩,格边按公式现算) | 左栏(宽读 `side_rail_w`,贴棋盘左缘):AP 点阵 + 停手按钮;右栏(同宽,贴棋盘右缘):RAP 点阵+数字 + 图例按钮 + 弃图刷新按钮(RAP 贴唯一消费口,2026-09-26 拍板);棋盘主体居中(格边长见下方「棋盘格尺寸公式」;上方留 44px 给浮空数字越出棋盘,下方 12px+悬崖 8px);toast 槽(D 区上缘内侧左栏顶部,不覆盖棋盘与浮空数字);棋盘底常驻操作提示条退役(2026-11-07 用户裁,不占棋盘高度) |
> 布局为 B/C/D 三区——关卡进度条不在战斗屏(节点链进度常驻关卡画面,见 Navigation Position;字母不重编沿用 B/C/D)。
@@ -129,7 +129,7 @@
### 封印格呈现预览(2026-11-07 用户裁「封印受理即揭示」的呈现规格;2026-11-07 用户人审通过——按此先落实现,观感细化后置,不阻塞基线冻结)
封印受理后格子进入**已揭示+封印**态:墙瓦片换地板瓦片(裸土),封印法阵(环+十字)叠在其上,格下身份字形(危险格「危」朱字/安全格数字)按既有绘制优先级(数字 > 小人 > 封印印记)叠于法阵之上、垫既有色牌机制保可读。轮末判定后印记不撤,随图存续。
封印受理后格子进入**已揭示+封印**态:墙格换已揭示连续地面,封印法阵(环+十字)叠在其上,格下身份字形(危险格「危」朱字/安全格数字)按既有绘制优先级(数字 > 小人 > 封印印记)叠于法阵之上、垫既有色牌机制保可读。棋盘重做批后承载面取本关受光棱色封印石(新连续地面 `#695038` 系对封印黑仅 2.35–2.98:1,不达 ≥4.5:1;受光棱系 6.45–9.94:1,零新增色,见 art-bible §3.2/§4.1)。轮末判定后印记不撤,随图存续。
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 560 128" width="560" height="128">
<defs>
@@ -167,7 +167,7 @@
</g>
</svg>
像素级判据句(实现批验收锚):①印记参数沿用现行五常量单点(环外径 0.82 格边、环壁 0.11 环径、十字臂宽 0.156 环径、光圈 alpha 0.50/γ1.6),零新增美术件、零参数改动;②封印格承载 = 地板瓦片(裸土),印记居格心、环外留 9% 格宽光圈、光圈不外溢邻格;③身份字形(危/数字)垫既有色牌件叠于法阵之上——色牌取现行色板素色小牌件,墨字对色牌对比 ≥4.5:1;④封印黑对裸土底对比 ≈7.8:1(≥4.5:1);⑤未开格与已开普通格观感与现行逐像素一致(对照列)。
像素级判据句(实现批验收锚):①印记参数沿用现行五常量单点(环外径 0.82 格边、环壁 0.11 环径、十字臂宽 0.156 环径、光圈 alpha 0.50/γ1.6),零新增美术件、零参数改动;②封印格承载 = 已揭示地面(棋盘重做批后为本关受光棱色封印石),印记居格心、环外留 9% 格宽光圈、光圈不外溢邻格;③身份字形(危/数字)垫既有色牌件叠于法阵之上——色牌取现行色板素色小牌件,墨字对色牌对比 ≥4.5:1;④封印黑对承载面对比:旧裸土 ≈7.8:1,棋盘重做批后受光棱 6.45–9.94:1(均 ≥4.5:1);⑤未开格与已开普通格观感按棋盘重做批新地形规格(对照列)。
> 可挖域微光画法定稿(2026-09-25 用户拍板):**接触带·空间侧 + 蓝族**——光画英雄格周界接触面(正交邻墙=整边,斜向邻墙=角点+两半边),详见 art-bible §3.2;现行墙格整框绿相呼吸为待退役占位,切换待表现侧实现(含探针断言)。
@@ -179,13 +179,14 @@
**棋盘格尺寸公式**(本节是格边长口径的唯一出处;其他文档只写规则与指针,不复制算例):
```
格边长 = clampi( floor((min(棋盘区宽 − 12 − 悬崖厚度, 棋盘区高 − 24 − 悬崖厚度) − (N−1) × 格间距) / N), 26, 46 )
格边长 = clampi( floor((min(棋盘区宽 − 2 × 侧栏宽 − 12 − 悬崖厚度, 棋盘区高 − 44 − 12 − 悬崖厚度) − (N−1) × 格间距) / N), 26, 46 )
```
- N = 棋盘长宽两边的较大者;格间距 2px;垂直预留 24px(上 12 / 下 12);悬崖厚度 8px;结构钳制区间 [26, 46]px。
- 格边长可读性以用户验收的现行画面为锚点(2026-11-01 用户裁——现行渲染值即基准,基座档 14×14=28px 达标);全域不设人造的格边长可读阈值。结构钳制 [26, 46] 只管算式结果不越界;格边长接线守卫=生产写入值与上式单点算式的返回值严格相等,最大板型的推定读数仅留痕观察、不作判红依据。
- **棋盘区** = D 区矩形(宽 = 基准屏宽 − C 区宽 − 列间距,高 = 基准屏高 − B 区高);2026-11-07 顶栏搬两侧后,D 区全高归棋盘,AP 条高度不再参与算式。
- N = 棋盘长宽两边的较大者;格间距 2px;侧栏宽读布局表 `side_rail_w`(基座档 200);水平预留 12px(左右各 6);垂直预留 56px(**上 44 / 下 12**——上方 44px 给浮空数字越出棋盘上缘,推导 = 字高 21+字底距格顶 15+描边 2+余量 6);悬崖厚度 8px;结构钳制区间 [26, 46]px。
- 格边长可读性以用户验收的现行画面为锚点(2026-11-01 用户裁——现行渲染值即基准;2026-11-07 顶栏搬两侧后基座档 12×12=38px、14×14=32px);全域不设人造的格边长可读阈值。结构钳制 [26, 46] 只管算式结果不越界;格边长接线守卫=生产写入值与上式单点算式的返回值严格相等,最大板型的推定读数仅留痕观察、不作判红依据。
- N 的取值与每关板型的对应关系读[棋盘生成](../gdd/systems/排雷循环/棋盘生成.md),现行值的事实源是 `data/tables/board_gen.tres`。
- 数字字号 = max(18, ceil(格边长 × 0.5)),像素字体整数倍缩放(canvas_items stretch 保证清晰)。
- 浮空数字字高 = 21px(7px 像素字 ×3,固定,不随格边缩放)+2px 深墨描边;引导线 2px、字底距格顶 15px;旧「数字字号 = max(18, ceil(格边长 × 0.5))」随格内数字退役。
算例不入文档:棋盘区可用面积随布局表与板型变化,不是契约值——现算并绘在整屏样张上,本文件不复写。
@@ -198,11 +199,13 @@
| B | 轮次·阶段指示 | 标签 | "第 N 轮 · 挖掘中/结算中"(终局定格「战斗结束」;Boss 变体附 Boss 名) | 只读 | 新建 |
| B | 结算明细带 | 滚动列表 | 结算期逐行流水([战斗结算](../gdd/systems/战斗循环/战斗结算.md#明细流水每一行都能指回你刚才的哪一步棋) 9 类行协议);挖掘期收起为上轮摘要 1 行 | 无明细回看——带保留单行摘要,冒险中回看归「生涯」 | 改造 |
| B | 结算明细回看(已退役) | —— | 冒险中回看归「生涯」;回看覆盖层为未接线遗留件(待办清单登记) | —— | 未接线 |
| C | 攻击数据框 | 直角细线数据框 | 攻击值 + 修正来源角标 + 护甲 AC(AC 二轮拍板 2026-09-26 补入——我方 AC 唯一展示面;HP 与状态归 B 区站桩、RAP 归 D 区 AP 条,不在本组件) | 只读 | HUD 视图拆分 |
| C | 攻击数据框 | 直角细线数据框 | 攻击值 + 修正来源角标 + 护甲 AC(AC 二轮拍板 2026-09-26 补入——我方 AC 唯一展示面;HP 与状态归 B 区站桩、RAP 归 D 区右栏,不在本组件) | 只读 | HUD 视图拆分 |
| C | 秘宝槽 | 图标槽 ×4 | 四槽壳在役、空槽占位(标题「秘宝」,悬停「秘宝槽(空)」);局内两步使用与关卡域库存随秘宝过渡形态退役——现行秘宝 = 营地同调装配件(秘宝.md),本区展示重接归装配面 | 悬停 tooltip | 已实装 |
| C | 奇物列表(现行标题「特性」) | 列表/图标行 | 已实装——逐件行「件名 ×N」呈现、零内部分类字样;锻造/大奖励/关卡奖励节点获得的属性提升——中循环数据,因改变战斗数学且无其他展示面准入战斗屏;与战斗内状态效果(B 区站桩)分区,防「战斗结束被清」误读 | 只读 | 已实装 |
| D | AP 条 | 点阵 + 按钮组 | 本轮 AP 点阵、停手按钮(左)、**RAP 点阵+数字(RAP 唯一消费口 = 弃图刷新,资源数字贴消费按钮——2026-09-26 拍板;RAP 清零可见反馈〔行动经济〕)**、弃图刷新按钮(右端·雷图右上角;RAP−8 · 本轮剩 N 次,上限 2 次为行动经济口径) | 点击提交意图 | HUD 视图拆分 |
| D | 棋盘视图 | 网格 | 棋盘全部格态 + 小人 + 封印印记 + 变异纹带 + 奖励身份 icon(已开格;绘制优先级 数字>小人>封印印记>奖励徽章>变异纹带>底色——徽章不进数字区,样张验收项) | 左/右键意图提交 | ✅ 已实装 |
| D | 行动资源侧栏(原 AP 条) | 两侧点阵 + 按钮组 | 左栏:本轮 AP 点阵、停手按钮;右栏:**RAP 点阵+数字(RAP 唯一消费口 = 弃图刷新,资源数字贴消费按钮——2026-09-26 拍板;RAP 清零可见反馈〔行动经济〕)**、图例按钮、弃图刷新按钮(RAP−8 · 本轮剩 N 次,上限 2 次为行动经济口径)。2026-11-07 顶栏搬两侧——原顶部整条 AP 条退役,数据按左/右栏分置,D 区全高归棋盘 | 点击提交意图 | HUD 视图拆分改造 |
| D | 棋盘地形层 | 合并岩体/连续地面 | 地面连续无缝;连通未开格(四邻)合并为抬升岩体(岩顶大板+南/东崖面+四段投影+整板悬崖);岩顶向北偏西抬升(LIFT/ESHIFT 比例见 art-bible §3.2);三关八色见 art-bible §4.1「三关棋盘环境八色」;不铺逐格瓦片;深度对象按脚底 y 排序,南侧岩体可遮住小人脚底(2026-11-07 用户裁) | 只读 | 新建(替换 cell_base_layer/tile_palette) |
| D | 棋盘浮空数字层 | 最顶层文字层 | 数字与格面字形(危/?)浮在格上方:字高 21px、2px 深墨描边、1px 浮空投影、暖白字芯、2px 双色引导线;字底阴影圆 10×6 画在开启格地面(格顶+7,位于小人之下,小人站该格时遮住圆);顶行数字越出棋盘上缘(D 区上方预留 44px);数字与引导线 z 最高,任何地形/小人/特效不遮数字与引导线;封印格身份字形走色牌、不进浮空层;普通数字色牌退役 | 只读 | 新建 |
| D | 棋盘视图 | 网格 | 棋盘全部格态 + 小人 + 封印印记 + 变异纹带 + 奖励身份 icon(已开格;信息层叠放序 浮空数字>小人>封印印记>奖励徽章/类型微光>交互反馈>变异纹带>地形底色——浮空数字永不被遮,徽章不进数字区;屏幕层序按脚底行分档:北侧贴花低于小人、南侧随岩体在前;封印印记与封印格身份色牌固定低于小人,样张验收项) | 左/右键意图提交 | 改造 |
| D | 悬停预承诺光标 | 光标态 | 移动/挖/封印三语义光标 + 目标格边框高亮 | 自动 | 新建(排雷玩法×6③) |
| D | 可挖域指示 | 常驻微高亮 | 小人 8 向相邻可操作格 | 自动 | 新建(排雷玩法×6③) |
| D | 移动路径预览 | 路径高亮 | 悬停已开格显示 BFS 路径(合法性指示) | 自动 | 新建(排雷玩法×6⑤,裁决见下) |
@@ -216,7 +219,7 @@
**布局决策 3 — 移动路径预览 = 合法性指示**(排雷玩法×6⑤ 悬案裁决):悬停已开格时高亮 BFS 路径(小人蓝细线点迹),移动执行为 ≤150ms 短滑。
- 备选(不采纳):穿行动画轨道——移动免费高频,动画时间税违反 P4 点击摩擦护栏(每轮输入动作:AP ≤2 的观测假设);正式版若 playtest 反馈"移动太瞬"再议
**布局决策 4 — 弃图刷新 = 挖掘期当场换图(2026-09-12 用户拍板)**:按钮置 AP 条右端(雷图右上角)。点击即当轮就地换新图继续挖——AP 不重置、剩余 AP 保留,RAP−8,本轮上限 2 次。
**布局决策 4 — 弃图刷新 = 挖掘期当场换图(2026-09-12 用户拍板;2026-11-07 按钮位随顶栏搬两侧改到 D 区右栏)**:按钮置 D 区右栏(贴棋盘右缘)。点击即当轮就地换新图继续挖——AP 不重置、剩余 AP 保留,RAP−8,本轮上限 2 次。
- **上游修订(OQ11)**:① 行动经济 Active 相位受理刷新意图 + 每轮上限 2 次(Waiting 代理退役)② 排雷玩法装板受理域增 Active·仅刷新路径 ③ 编排 owner = **战斗结算的挖掘期刷新编排**(行动经济扣费 → 排雷玩法退役旧板 → 棋盘生成出新图 → 排雷玩法装板 → 地图战斗资源摇奖励恰一次;无结算段、无轮次结束——战斗结算编排唯一性原则保持)④ 旧板封印印记随旧板**作废**(零兑付、封印 AP 不返还——排雷玩法 EC11 全量重置承载;确认微交互须显式提示)。**经济预警**:当场刷新无结算发生,原「敌方时间税」自惩失效——行动经济 OQ3 弃图率/刷新率预警阈值联动复核。
- 备选(已否决):结算期决策提示(Waiting 内联)——结算期不做刷新决策(用户拍板);挖掘期预承诺 stop+reroll 复合——决策即终轮,不符「换图继续挖」语义。
@@ -247,20 +250,109 @@
│ ├─ 结算明细带 ────────────────────────────────────────────────────────────┤ │
│ │ ▸上轮: 主角攻击3→蛆虫-3 | 攻击+50%(1结算) | 警觉+1×2 … │ │
│ └────────────────────────────────────────────────────────────────────────┘ │
├─[C] 角色信息 ─────────┬─[D] 扫雷图 ───────────────────────────────────────────┤
│ ┌──────────────────┐ │ ┌─────────────────────────────────────────────────┐ │
│ │ 攻击 6 (+50%) │ │ │ AP ●●●●●○○○ 5/8 RAP ▓▓▓░ 3/8 │ │
│ │ 护甲 AC 12 │ │ │ [⏹停手] [?图例] [↻刷新 8|剩2] │ │
│ ├──────────────────┤ │ │ ┌─toast────────────┐ │ │
│ │ 秘宝槽 │ │ │ │AP不足·剩0点 │ 12 12 1 ░ 2 ▓▓ ▓▓ │ │
│ │ ◇ ◇ ◇ ◇ │ │ │ └──────────────────┘ 12 █ 1 1 2 ▓▓ ▓▓ │ │
│ ├──────────────────┤ │ │ 1 2 2 🚩 █ 2 1 1 ▓▓ 👫 1 1 ░ │ │
│ │ 特性(奇物) │ │ │ ░ 1 ▓▓ 👫 1 1 ░ ▓▓ 1 1 ░ ░ 2 │ │
│ │ 锻造+2攻 │ │ │ ▓▓ 1 1 ░ ░ 2 ▓▓ │ │
│ │ (空态=隐藏) │ │ │ ( █=可挖域微光 👫=小人) │ │
│ └──────────────────┘ │ └─────────────────────────────────────────────────┘ │
├─[C] 角色信息 ─────────┬─[D] 扫雷图(顶栏已搬两侧) ───────────────────────────┤
│ ┌──────────────────┐ │ ┌──────┐ ┌───────────────────────────┐ ┌──────┐ │
│ │ 攻击 6 (+50%) │ │ │ AP │ │ (上方 44px 留白) │ │ RAP │ │
│ │ 护甲 AC 12 │ │ │ ●●●● │ │ 1 2 ░ 3 ... │ │ ▓▓▓░ │ │
│ ├──────────────────┤ │ │ ●○○○ │ │ ╱│ ╱│ ... │ │ 3/8 │ │
│ │ 秘宝槽 │ │ │ 5/8 │ │ ┌───────────────────────┐ │ │[?图例]│ │
│ │ ◇ ◇ ◇ ◇ │ │ │ │ │ │ 岩体顶面(合并岩体) │ │ │[↻刷新]│ │
│ ├──────────────────┤ │ │[⏹停手]│ │ │ 南/东崖面+四段投影 │ │ │ 8|剩2 │ │
│ │ 特性(奇物) │ │ │ │ │ │ 1 2 👫 1 1 ░ 2 │ │ └──────┘ │
│ │ 锻造+2攻 │ │ │ │ │ │ ▓▓ 1 1 ░ ░ 2 ▓▓ │ │ │
│ │ (空态=隐藏) │ │ └──────┘ └───────────────────────────┘ │ │
│ └──────────────────┘ │ 左栏 AP 棋盘居中·浮空数字最顶 右栏 RAP │
└───────────────────────┴──────────────────────────────────────────────────────┘
```
> **D 区结构注记(2026-11-07 用户裁)**:原顶部 AP 条整条退役,AP 在左栏、RAP/图例/弃图刷新在右栏;棋盘占 D 区全高,上方 44px 留白给顶行浮空数字越出棋盘;棋盘地形为合并岩体+南/东崖面,浮空数字+引导线为最顶层。
### D 区布局与棋盘画法预览(2026-11-07 用户人审通过,内嵌备查)
> 预览依据 = art-bible §3.2/§4.1(v3.51)+本节布局表与格边公式。效果图是目标画面;像素判据以 1280×800 基座档钉死,实现批按此冻结基线(test-conventions §8.2)。
<svg viewBox="0 0 1036 548" width="100%" style="min-width:760px" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="battle-d-title battle-d-desc">
<title id="battle-d-title">D 区布局——顶栏搬两侧、棋盘全高、上方 44px 浮空数字预留</title>
<desc id="battle-d-desc">D 区 1036×548:左栏 200px 放 AP 与停手,右栏 200px 放 RAP、图例、弃图刷新;棋盘 12×12 格 38px 居中,上方留白 44px,下方 12px+悬崖 8px。</desc>
<rect width="1036" height="548" fill="#221C15"/>
<rect x="0" y="0" width="200" height="548" fill="#1F1A14"/>
<rect x="836" y="0" width="200" height="548" fill="#1F1A14"/>
<text x="16" y="28" font-size="14" fill="#E8DCC8">左栏 · AP</text>
<text x="852" y="28" font-size="14" fill="#E8DCC8">右栏 · RAP</text>
<g fill="#E8C878">
<circle cx="24" cy="70" r="7"/><circle cx="50" cy="70" r="7"/><circle cx="76" cy="70" r="7"/><circle cx="102" cy="70" r="7"/><circle cx="128" cy="70" r="7"/>
<circle cx="24" cy="96" r="7"/><circle cx="50" cy="96" r="7"/><circle cx="76" cy="96" r="7" opacity="0.35"/><circle cx="102" cy="96" r="7" opacity="0.35"/><circle cx="128" cy="96" r="7" opacity="0.35"/>
</g>
<rect x="16" y="126" width="120" height="34" rx="5" fill="#342B20" stroke="#60503A"/>
<text x="76" y="148" font-size="14" fill="#E8DCC8" text-anchor="middle">停手</text>
<g fill="#7EBAF0"><circle cx="856" cy="70" r="6"/><circle cx="880" cy="70" r="6"/><circle cx="904" cy="70" r="6"/><circle cx="928" cy="70" r="6" opacity="0.35"/></g>
<text x="944" y="76" font-size="15" fill="#CBE4FA">3</text>
<rect x="852" y="100" width="100" height="34" rx="5" fill="#342B20" stroke="#60503A"/><text x="902" y="122" font-size="14" fill="#E8DCC8" text-anchor="middle">图例</text>
<rect x="852" y="144" width="150" height="34" rx="5" fill="#342B20" stroke="#60503A"/><text x="927" y="166" font-size="14" fill="#E8DCC8" text-anchor="middle">弃图刷新</text>
<text x="852" y="198" font-size="12" fill="#9C8A6C">RAP−8 · 剩 2 次</text>
<rect x="200" y="0" width="636" height="548" fill="#221C15"/>
<line x1="279" y1="44" x2="757" y2="44" stroke="#F2C14E" stroke-width="2" stroke-dasharray="6 4"/>
<text x="518" y="30" font-size="14" fill="#F2C14E" text-anchor="middle">上方 44px · 浮空数字越出棋盘</text>
<rect x="279" y="44" width="478" height="478" fill="#695038"/>
<!-- 合并岩体示意:顶面上移 17、左移 4;南/东崖面沉在格内 -->
<g>
<rect x="275" y="27" width="120" height="38" fill="#9C8462"/>
<rect x="275" y="65" width="120" height="17" fill="#403325"/>
<rect x="275" y="65" width="120" height="2" fill="#C9AF83"/>
<rect x="275" y="82" width="120" height="16" fill="#000" opacity="0.18"/>
<rect x="355" y="27" width="38" height="38" fill="#9C8462"/>
<rect x="389" y="27" width="4" height="38" fill="#403325"/>
<rect x="393" y="27" width="16" height="38" fill="#000" opacity="0.16"/>
</g>
<g>
<rect x="435" y="27" width="38" height="38" fill="#9C8462"/>
<rect x="435" y="65" width="38" height="17" fill="#403325"/>
<rect x="435" y="65" width="38" height="2" fill="#C9AF83"/>
<rect x="435" y="82" width="38" height="16" fill="#000" opacity="0.18"/>
<rect x="555" y="27" width="80" height="38" fill="#9C8462"/>
<rect x="555" y="65" width="80" height="17" fill="#403325"/>
<rect x="555" y="65" width="80" height="2" fill="#C9AF83"/>
</g>
<g>
<rect x="275" y="107" width="78" height="38" fill="#9C8462"/>
<rect x="275" y="145" width="78" height="17" fill="#403325"/>
<rect x="275" y="145" width="78" height="2" fill="#C9AF83"/>
<rect x="353" y="107" width="4" height="38" fill="#403325"/>
</g>
<!-- 浮空数字示意:暖白字芯 + 2px 深墨描边(八向偏移)+ 双色引导线 + 阴影圆 -->
<g>
<circle cx="434" cy="51" r="5" fill="#100C08" opacity="0.55"/>
<line x1="433" y1="32" x2="433" y2="48" stroke="#1A140E" stroke-width="2"/>
<line x1="434" y1="32" x2="434" y2="48" stroke="#E8D3AB" stroke-width="1"/>
<g font-family="monospace" font-size="21" text-anchor="middle" fill="#1A140E">
<text x="426" y="27">2</text><text x="430" y="27">2</text>
<text x="426" y="31">2</text><text x="430" y="31">2</text>
<text x="424" y="29">2</text><text x="432" y="29">2</text>
<text x="428" y="25">2</text><text x="428" y="33">2</text>
</g>
<text x="428" y="29" font-family="monospace" font-size="21" text-anchor="middle" fill="#F0E2C8">2</text>
</g>
<text x="279" y="540" font-size="12" fill="#9C8A6C">棋盘 478×478(12×12 · 格 38 · 间距 2)</text>
<text x="757" y="540" font-size="12" fill="#9C8A6C" text-anchor="end">悬崖 8 · 下方 12</text>
</svg>
**像素判据(1280×800 基座档;实现批按此冻结基线)**
| 判据 | 读数 |
|---|---|
| D 区 | x 244–1280、y 252–800,1036×548 |
| 侧栏 | 左栏 x 244–444、右栏 x 1080–1280,各宽 200(布局表 `side_rail_w`) |
| 棋盘 12×12 | 格边 38、格间距 2、外框 478×478;原点 x=523、y=296;棋盘底 774、悬崖到 782、屏底余 18 |
| 棋盘 14×14 | 格边 32、外框 474×474;原点 x=525、y=296;棋盘底 770、悬崖到 778、屏底余 22 |
| 上方预留 | y 252–296 共 44;顶行字视觉顶 y=258(含 2px 描边),距 D 区上缘 6 |
| 浮空字 | 字高 21、字底距格顶 15、视觉顶距格顶 38;2px 深墨描边+1px 浮空投影;引导线 2px(左深右浅),自格顶−12 到格顶+4;字底阴影圆 10×6、圆心格顶+7,画在开启格地面、位于小人之下 |
| 岩体投影 | LIFT=round(38×0.435)=17;ESHIFT=round(38×0.109)=4;相邻岩顶搭接 2;板边岩顶外延 ESHIFT;南崖高 17、宽 42(38+4)、顶缘 2px 口沿高光取本关受光棱(dungeon #C9AF83)+1px 深墨线;东崖宽 4、高 55(38+17);北/西临空缘 2px 主亮棱+2px 次亮棱+外 2px 深墨边;南/东临空缘 2px 深墨内缘+3 段×2px 内阴影(自缘内 0.217×格边起,α0.27/0.16/0.08);南/东投影 4 段×4px 渐隐(α0.44/0.30/0.16/0.07);整板悬崖 8 |
| 深度遮挡 | 深度键 = 脚底格底 y;岩体取最南格格底;升序绘制;南侧岩体(键更大)画在小人之后、遮住小人脚底 |
| 层序 | 地面(封印格地面铺受光棱色封印石)→投影→开启格地面阴影圆(小人之下)→深度对象(岩体+小人;格件顶面贴花〔微光/变异〕与交互反馈随脚底行同序——北侧低于小人、南侧随岩体在前;封印印记与封印格身份色牌固定低于小人)→浮空数字+引导线(z 最高) |
| 顶面/视觉 rect | 墙格顶面 rect = 格矩形左上偏移 (−ESHIFT,−LIFT)、边长=格边;整格视觉 rect = 顶面向右补 ESHIFT、向下补 LIFT;微光/变异锚顶面 rect;封印锚逻辑格心;迷雾黑罩覆盖顶面+南面+东面三块 |
| 悬停/路径 rect | 墙格悬停金框按顶面 rect;已开地面格悬停/路径点迹按逻辑 rect(不偏移) |
| 禁裁切 | 顶行数字、引导线、阴影圆全部落在 D 区内;任何地形/小人/特效不遮浮空数字与引导线 |
---
@@ -268,7 +360,7 @@
| State / Variant | Trigger | What Changes |
|---|---|---|
| **挖掘阶段(默认态)** | 轮次开始 / 结算完毕回 Active 相位 | B 区敌人待机(意图徽标全程可见——敌人系统 Rule 8⑤),D 区棋盘可交互,AP 条点亮;能量 2/10,唯悬停呼吸微光在动(§2.1) |
| **挖掘阶段(默认态)** | 轮次开始 / 结算完毕回 Active 相位 | B 区敌人待机(意图徽标全程可见——敌人系统 Rule 8⑤),D 区棋盘可交互,左右行动资源侧栏点亮;能量 2/10,唯悬停呼吸微光在动(§2.1) |
| **结算阶段** | round_end 触发(AP 尽/停手/清图) | D 区锁输入(棋盘去饱和 + 金橙色相偏移,明度不变,数字保持全对比);B 区播放五段编排演出(授予段 → 增益/减益段 → 战斗段 → 衰减段 → 判定段,战斗结算 段序冻结);明细带按结算期档展开(高读 `log_band_h_settle`)逐行滚动;阶段指示→"结算中";能量 7/10 |
| **清图瞬间** | 全部安全格开完 | 金粒喷泉 + 彩纸 3–5s 即收(§2.3);清图奖励行强调呈现(H2,地图战斗资源×④——金框高亮行);随后换新图 install |
| **完美封印高光** | 战斗结算高光判定(全图标中/零误标类) | 全屏喝彩级反馈(§2.2 最高档):金光带加倍扫射 + 「完美封印 ×2」横幅——P2 爆发兑现节点(创意风险 #2 落点) |
@@ -295,10 +387,10 @@
|---|---|---|---|---|
| 未开相邻格 | 挖掘 | 左键 | 格碎裂 + 连锁展开(免费)+ 奖励身份揭显 | 意图入当帧批次 → 排雷玩法的意图批次提交 |
| 已开格 | 移动 | 左键 | 悬停时路径预览高亮(布局决策 3);执行 ≤150ms 短滑 | 意图入批(BFS 移动,免费) |
| 未开格 | 封印 | 右键 | **受理即揭示**:墙瓦片换地板 + 封印印记落下(封印黑)+ 格下身份揭显(危/数字) | 意图入批(1 AP / 免费;受理当场零兑付——兑付在轮末判定批) |
| 未开格 | 封印 | 右键 | **受理即揭示**:墙格换已揭示地面 + 封印印记落下(封印黑)+ 格下身份揭显(危/数字,垫色牌) | 意图入批(1 AP / 免费;受理当场零兑付——兑付在轮末判定批) |
| 已封印格(已揭示) | 无 | 左键/右键 | 禁止光标 + 悬停说明(封印格无可用动作) | 零意图(不入批——封印格拒绝挖掘、不可通行、不可再封印;封印印记无移除手段,封印不可逆) |
| 停手按钮 | 主动结束轮次 | 左键 | 按钮下压 + AP→RAP 飞行数字 | 停手随当帧意图批次提交(**经排雷玩法批次,不直调行动经济**——单意图帧批次契约) |
| 弃图刷新按钮(雷图右上角) | 当轮就地换图继续挖 | 左键 | 确认微交互(RAP−8 代价显式 + 旧板弃置提示);RAP<8 → 资源面拒绝可见(行动经济 EC13) | 刷新意图提交(**Active 相位当场换图继续挖**——AP 不重置、本轮剩 N 次扣减;受理口径见布局决策 4/OQ11) |
| 弃图刷新按钮(D 区右栏) | 当轮就地换图继续挖 | 左键 | 确认微交互(RAP−8 代价显式 + 旧板弃置提示);RAP<8 → 资源面拒绝可见(行动经济 EC13) | 刷新意图提交(**Active 相位当场换图继续挖**——AP 不重置、本轮剩 N 次扣减;受理口径见布局决策 4/OQ11) |
| 图例按钮 | 开图例 | 左键 | 模态 overlay | 恒可开(图例条目恒在) |
| 状态小图标(B 区站桩) | 悬停 | hover | 状态 tooltip(来源+语义+剩余结算次数) | 只读 |
| 胜利 overlay | 下一节点 | 左键 | → 关卡画面(选路枢纽)/ 关卡结算(末节点) | 关卡推进方推进 |
@@ -339,7 +431,7 @@
| 挖掘→结算 | 明细带自底展开(150ms)+ 棋盘去饱和 + 金橙色相偏移 + 阶段指示翻转 | §2.2 色彩转金橙主导、饱和拉高、明度不变(状态区分经饱和/色相——art-bible §2) |
| 结算逐行兑现 | 光带自棋盘行起点横扫 → 开格化箭雨/印记化暴击弹道飞向敌人立绘 → 受击闪白 + 血条直角递减 | §2.2 承载元素;因果全程可见可归因(P2) |
| 清图换新图 | 金粒喷泉 3–5s → 旧图碎裂淡出 → 新图 install 淡入 | §2.3 短促丰收不拖节奏 |
| RAP 清零(战斗结束) | RAP 数字滚动归零(D 区 AP 条)+ 「随战斗结束消散」微文案 | 行动经济可见反馈义务 |
| RAP 清零(战斗结束) | RAP 数字滚动归零(D 区右栏)+ 「随战斗结束消散」微文案 | 行动经济可见反馈义务 |
| 敌人死亡 | 血条直角递减至零 → 卡体灰化 + 碎裂退场(禁瞬消) | 敌人系统资产下限(同等 blocking);动画密度归战斗表现 |
| 状态图标行全清(战斗结束) | 状态逐枚化光收回(B 区站桩图标行)+ 「状态随战斗结束消散」微文案 | 增益状态×4④;RAP 清零同款先例 |
| 胜利 | 蜡封自上落下弹跳定格 → 碎砖拼纹章 → overlay 暖金渐显 | §2.4 克制不狂欢 |
@@ -377,11 +469,11 @@
无障碍基线权威 = [HUD框架](../gdd/systems/表现与支撑/HUD框架.md)「可访问性基线」节;不再另立专项文档(2026-09-27 拍板,见 OQ2)。本 spec 内建基线承诺(呈现侧落地):
- **对比**:全部格底/面板底对数字墨 ≥4.5:1(WCAG AA)——art-bible §4.1 硬指标已可测(#33261B/#C9AF83 = 6.9:1 实测);UI 数据一律墨族素面
- **对比**:浮空数字按 art-bible §1.4 第一验收项的复合判据过门(四类底上 max(字芯对底,描边对底) ≥4.5 且字芯对描边 ≥4.5;最亮底岩顶实测描边对底 5.1:1);UI 数据一律墨族素面对面板底 ≥4.5:1
- **色弱冗余**:无任何信息仅靠色相承载——格态靠完整/碎裂形;奖励金 vs 危险红靠剪影+运动;UI 红/金强调对加图标+文案冗余;Boss 靠形状独占(art-bible §4.5 清单逐项成立)
- **灰度可辨**:变异格纹带、格态在灰度截图下可分类(art-bible §3.2 验收标准)
- **非色彩破坏性确认**:弃图刷新(消耗 RAP 8 点)的确认交互与常规确认**不同位**(位置通道,色弱清单 #7)
- **字号下限**:棋盘数字 ≥18px、明细带正文 ≥14px、tooltip ≥13px(1280×800 基座)
- **字号下限**:浮空数字字高 21px(固定,含描边视觉 25px)、明细带正文 ≥14px、tooltip ≥13px(1280×800 基座)
- **运动**:无闪烁 >3次/秒;结算光带为方向性扫动非频闪;提供减动效选项(§Transitions)
- **键盘/Gamepad**:MVP 纯鼠标可完成全部操作(technical-preferences 平台注记);**MVP 纯键盘导航/焦点序不做**(2026-09-12 拍板——回合制点击驱动,平台仅承诺纯鼠标);gamepad 导航序延后(Open Questions)
@@ -401,12 +493,16 @@
**布局与可读**
- [ ] 1280×800 与 16:9 全屏(canvas_items/expand)下三区(B/C/D)无遮挡、无重叠、无内容裁切(棋盘 12×12 全部格子 + 数字完整可见)
- [ ] 1280×800 与 16:9 全屏(canvas_items/expand)下三区(B/C/D)无遮挡、无重叠、无内容裁切(棋盘 12×12 全部格子 + 浮空数字与引导线完整可见)
- [ ] D 区基座档读数落预览判据:左/右栏各 200、棋盘 12×12 格 38(原点 x=523、y=296)、14×14 格 32;上方 44px 预留内顶行字完整、无裁切
- [ ] 棋盘地形为合并岩体+连续地面:连通未开格共享岩顶/崖面无逐格拼缝;北/西受光棱、南/东崖面与四段投影在位;旧 16+5 瓦片路径零引用、零在库
- [ ] 浮空数字+引导线 z 最高:任何地形/小人/特效不遮数字与引导线;格顶阴影圆标出数字所属格
- [ ] 深度排序:南侧岩体画在小人之后并自然遮住小人脚底;小人所在格数字仍完整可见
- [ ] 进入战斗屏 ≤500ms 内可交互(棋盘 install 淡入完成后首格可点);同屏 draw calls < 200(technical-preferences 预算)
- [ ] 两种格态(已开格 / 未开格)灰度截图下一眼可辨(排雷玩法×6②)
- [ ] 悬停光标区分移动/挖/封印三语义;可挖域(8 向相邻)常驻指示;非相邻格悬停显禁止反馈(排雷玩法×6③)
- [ ] 已引爆危险格呈"可通行可读"(排雷玩法×6④)
- [ ] 全部数字对所在格底对比 ≥4.5:1;明度分层规则无违例(art-bible §2/§4.1——格底功能分档合法,格态语义由形与色相承载)
- [ ] 浮空数字按 art-bible §1.4 第一验收项的复合对比判据过门(四类底上 max(字芯对底,描边对底) ≥4.5 且字芯对描边 ≥4.5);明度分层规则无违例(art-bible §2/§4.1——岩顶/地面功能分档合法,格态语义由形与色相承载);棋盘普通数字绘制路径零色牌调用(封印格身份字形色牌为唯一例外)
**交互与反馈**
@@ -426,7 +522,7 @@
- [ ] 零合法板(棋盘生成 EC5 降级)出现时玩家侧诚实提示(toast,非静默)
- [ ] 效果行数值为单次贡献值,禁止与池合成值相加呈现;零值伤害行可见不被吞;衰减行按聚合计数呈现(战斗结算 呈现细则)
- [ ] 未生效类行(奖励未生效)携带形状冗余(icon/划线),非色相独载
- [ ] 奖励徽章绘制优先级:封印印记之下、变异纹带之上、不进数字区;拾取瞬间 tier 档位可读(地图战斗资源 H1)
- [ ] 奖励徽章绘制优先级:封印印记之下、变异纹带之上、不遮浮空数字与引导线;拾取瞬间 tier 档位可读(地图战斗资源 H1)
**场景级测试**(缺项即 blocking)
@@ -469,7 +565,7 @@
| 排雷玩法×6 | ④ 引爆危险格可通行可读 | §AC |
| 排雷玩法×6 | ⑤ 路径预览裁决 | 布局决策 3 |
| 排雷玩法×6 | ⑥ 单意图帧+voided+拒绝可感知 | §Interaction Map + §States 拒绝子态 + AC |
| 行动经济 | AP/RAP 常显+刷新入口+清零反馈+双源 | §Layout D 区 AP 条(RAP 贴弃图刷新按钮——2026-09-26 信息归属拍板)+ §Transitions + AC |
| 行动经济 | AP/RAP 常显+刷新入口+清零反馈+双源 | §Layout D 区行动资源侧栏(RAP 贴弃图刷新按钮——2026-09-26 信息归属拍板;2026-11-07 顶栏搬两侧)+ §Transitions + AC |
| 战斗结算×3 | ①高光行强调呈现(封印标中金框行/清图 H2 金框行)②完美封印呈现形态 ③棋盘生成 EC5 零合法板提示/补偿/回退形态(toast 提示;补偿/回退不提供——2026-09-12 选型) | §States 高光/清图 + §States 拒绝子态 + §AC;注:结算明细屏 = 战斗结算 UX Flag 事项,由本 spec 承载 |
| 敌人系统×4 | 意图映射/恒定/顺位/敌方池 | §Component Inventory 敌人站桩立绘 + **意图线索映射目录(敌人系统×4① 成文占位,资产定稿归战斗表现)** + AC |
| 增益状态×4 | 常显+空态/来源标注/溢出/去留 | §States 空态 + §AC |