结构搬移批(用户裁 2026-11-07): design/gdd/ux 上提为 design/ux——三目录同级(gdd/系统概念·ux/呈现实现规格·art/美术), git mv 八件 ux spec; 出向链接改写 23 链(../systems/→../gdd/systems/ ×17、../../art/→../art/ ×5、体验验证清单 ×1), 入向改写 systems 六件 15 链+art 两件 4 链+08-Alpha 九链, game 侧 20 件 71 行 oracle 注引与头注改路径(纯注释,diff 非注释行=0), reports 两件 14 处锚路径同步(需求卡片-营地交互修复批 13 处+评估-美术资产清单 1 处); 声明面: 02-系统清单 ux 节头注同级化+AGENTS.md 导航行两支改三支+doc-conventions 数值纪律句+test-conventions 先例句+待办清单两处; 熵增闸白名单: RETIRED 摘 design/ux+DESIGN_SUBDIRS 增 ux。凭据: 全仓 gdd/ux 零残留+熵增闸直跑 PASS(design 子目录五支含 ux)+--docs 域闸【验收通过】exit=0 无新增红+触碰八单元套件单跑 all green(8 suites, filtered, exit=0)

This commit is contained in:
DKChan committed 2026-11-07 04:12:49 +08:00
1 parent 5b5e629706
commit 77c1d360f6
49 files changed
+162 -161

No files matched your search

+1 -1
View File
@@ -53,7 +53,7 @@
- **要什么**:按双舞台布局(战斗画面与扫雷图同屏常驻)出的整屏试验图。要锁的四件事:**角色剪影方向 / 动画方案 / 战斗空间 / 敌人层绘制优先级插入位置**;**敌种呈现形态已裁决:全站桩式(主角同站桩、状态小图标挂血条下),卡片式已弃,正式样张按站桩形态单版出样**。
- **风格/规格**:敌人剪影按 art-bible §5.1 四类原型出(见 2.2);战斗舞台背景=明亮地窟,紫赤仅 Boss;像素尺寸按已定案两档换算(见 §0 通用规格纪律)。
- **验收**:战斗表现「一屏样张的验收标准」(已成文)。
- **联动**:样张未过,**不启动任何终稿资产与动画设计**(文档明文的排期硬前置);格边长的计算口径不在本清单——现行唯一出处是 [battle.md](../gdd/ux/battle.md)「棋盘格尺寸公式」,HUD框架只判装板可行性(固定两档分辨率、窗口不可调、格子量增加则格边长相应变小;**档位值已定案 1280×800 + 1920×1080**)。
- **联动**:样张未过,**不启动任何终稿资产与动画设计**(文档明文的排期硬前置);格边长的计算口径不在本清单——现行唯一出处是 [battle.md](../ux/battle.md)「棋盘格尺寸公式」,HUD框架只判装板可行性(固定两档分辨率、窗口不可调、格子量增加则格边长相应变小;**档位值已定案 1280×800 + 1920×1080**)。
---
+3 -3
View File
@@ -395,7 +395,7 @@
- **交付形态**:**背景层 1 张(不透明全幅)+ 围墙层 1 张 + 八个物件层 = 10 张**,其中 9 张透明底、1 张不透明全幅 + 一份坐标表(贴图矩形/命中矩形/z 序)。背景层由**远景片 `bg_far`(2560×734)与地面片 `bg_floor`(2560×866)两片出图、按 y734 拼成一张**——整张一次出图时模型把远山挤到画面下半部,被围墙挡住后完全消失(实测三张里两张山体上缘落在墙顶以下)。接缝整条落在围墙背后,画面无接缝。**篝火例外**:命中矩形只取下半(火堆),上半(火焰)只作特效展示。围墙层落盘按细条裁,不做全幅(全幅约 3.9 MB 显存,细条约 0.35 MB);**实装落盘矩形 `(0, 203, 1280, 164)`、底锚 y367**(桩身 150px、门柱 164px 终稿锁定值,落带内〔围墙带 (0,203,1280,164)〕)。
- **色彩与氛围依据**:营地整体偏暖、安全温馨,与冒险中的地下城形成对比;现行口径 = 本文件 §2.8「全作最暖」与本节「情绪与色域」条,远景淡而退后、近景暖调为主。本节不复述色值;新增环境色按 §4.1 场景环境子板条款登记(每屏一套、≤32 色、过 §4.2 语义检查与 RGB 三通道差 ≥8/255 两道门)。
- **交互四态(零新素材,全部程序化)**:悬停=**轮廓亮边 + 浮动**(浮动须整像素吸附);按下=位移 1px;**禁用/未解锁=降明度 + 去饱和**(§2 已缩窄至情绪域,状态表达不受限),**仅锻炉(锻造工坊)与宝箱(秘宝匣)两件会有此态**;已解锁=常态。
- **钥石余额**:常驻画面顶部的一行小 HUD 栏(高 48px,**浮层覆盖,不挤压画面**)。栏体底=`CAMP_HEADER_BAND` `#6E4526`(§7.2 五 token 对齐表在册色)× 不透明度 0.80;栏内只钥石徽章一件、右位顶格,左位不放件。呈现定值的唯一事实源=[camp](../gdd/ux/camp.md) §顶栏,本节不复述判据。验收:目检〈顶栏成一条可辨窄带,徽章落在带内〉
- **钥石余额**:常驻画面顶部的一行小 HUD 栏(高 48px,**浮层覆盖,不挤压画面**)。栏体底=`CAMP_HEADER_BAND` `#6E4526`(§7.2 五 token 对齐表在册色)× 不透明度 0.80;栏内只钥石徽章一件、右位顶格,左位不放件。呈现定值的唯一事实源=[camp](../ux/camp.md) §顶栏,本节不复述判据。验收:目检〈顶栏成一条可辨窄带,徽章落在带内〉
- **事实源边界**:解锁条件/价格/存档写入归元进度 GDD 与 `MetaProgression`;素材命名与路径归 `asset-path-map`;清单登记归 `art-assets-checklist` §3.5。
- **已裁(2026-11-01 用户裁)**:① **营地环境子板色值**——不前置拍板:量化场景实际用色后按 §4.1 场景环境子板条款登记(每屏一套、≤32 色、过 §4.2 语义检查与 RGB 三通道差 ≥8/255 两道门);② **门扇与门洞的高宽比例**——门扇贴图 240×138(锁定 240×147),随门洞 y283–367 压扁重画,坐标按门洞 x520–760 对齐;③ **帐篷的落地尺寸**——251×170 落位 (982, 335),上端遮住围墙下部。
@@ -508,7 +508,7 @@
### 8.1 分辨率档位与格边长
- **两档定案**:1280×800(基座)+ 1920×1080,窗口不可调;后续调整走修订。验收:机检〈工程分辨率配置与两档一致〉
- **格边长取值**:按档位与板形计算——固定档位下格子量增加则格边长相应变小;公式、单位与现行算例的唯一出处 = [battle.md](../gdd/ux/battle.md)「棋盘格尺寸公式」,本节不复述数值。资产侧锁两条比例:**瓦片整格铺满**(32×32 源随格边长缩放,允许非整数倍——瓦片不适用 §8.2 甲类整数倍纪律)、**棋盘小人显示占位 ≤ 0.75× 格边长**。(1920 档已裁决全局等比缩放)验收:机检〈瓦片显示尺寸随格边长、小人占位 ≤0.75×〉
- **格边长取值**:按档位与板形计算——固定档位下格子量增加则格边长相应变小;公式、单位与现行算例的唯一出处 = [battle.md](../ux/battle.md)「棋盘格尺寸公式」,本节不复述数值。资产侧锁两条比例:**瓦片整格铺满**(32×32 源随格边长缩放,允许非整数倍——瓦片不适用 §8.2 甲类整数倍纪律)、**棋盘小人显示占位 ≤ 0.75× 格边长**。(1920 档已裁决全局等比缩放)验收:机检〈瓦片显示尺寸随格边长、小人占位 ≤0.75×〉
### 8.2 像素基准与画布
@@ -521,7 +521,7 @@
- **1920×1080 档策略**:全局等比(stretch=canvas_items+aspect **keep**)——16:10 设计在 16:9 窗口=等比 1.35×+左右黑边各 ~96px,构图与 1280×800 基准档完全一致;甲类 1.35 非整数缩放例外注记:轻度宽窄不均系本档位接受代价(像素游戏 shipped 常态),实机目检可感不适→回乙案(1920 独立 2× 基准)重议;乙类同前款。验收:目检〈1920 档构图与 1280 档一致〉
- **画布基准(暂定值)**:
- **主角人设原图 = 48×72**(1× 基准,暂定;与站姿降采样可读性验证一致);
- **棋盘小人 = 32×32 二头身派生版(暂定,允许更小)**——独立资产,自人设定稿压缩派生(character-design §5.4),不吞数字位、占位 ≤ 0.75× 格边长;板越小占比摩擦越大(13×13 / 14×14 更小,算例见 [battle.md](../gdd/ux/battle.md)「棋盘格尺寸公式」),32px 源档的去留已定终值 = **保留 32×32 源档**(沿「独立小源档」路线;N=12 板下显示占位上限 27px = 0.84 倍,正落本节乙类非整数缩放许可范围,**连豁免都不用再办**),待决标注注销;
- **棋盘小人 = 32×32 二头身派生版(暂定,允许更小)**——独立资产,自人设定稿压缩派生(character-design §5.4),不吞数字位、占位 ≤ 0.75× 格边长;板越小占比摩擦越大(13×13 / 14×14 更小,算例见 [battle.md](../ux/battle.md)「棋盘格尺寸公式」),32px 源档的去留已定终值 = **保留 32×32 源档**(沿「独立小源档」路线;N=12 板下显示占位上限 27px = 0.84 倍,正落本节乙类非整数缩放许可范围,**连豁免都不用再办**),待决标注注销;
- **封印印记参数表(绘制件,非贴图件)**:形与画法见 §3.2。定值——**环外径 = 0.82 × 格边**(26 格 21.3px/46 格 37.7px);**环壁厚 = 0.11 × 环径**(≈2.3/4.1px);**十字臂宽 = 0.156 × 环径**(≈3.3/5.9px);**环外光圈宽 = 0.09 × 格边**(≈2.3/4.1px),向外衰减指数 1.6、峰值 alpha 0.50;圆心 = 格心。色 = 封印黑单色(光圈只改 alpha)。本件随格边连续缩放,**不适用甲类整数倍纪律**(非贴图件,见上条清单)。参数单点 = `ui_kit.gd` 六枚常量 `SEAL_RING_FRAC`/`SEAL_WALL_FRAC`/`SEAL_ARM_FRAC`/`SEAL_HALO_ALPHA`/`SEAL_HALO_GAMMA`/`SEAL_HALO_FRAC`,本节为条款侧对照值。改值须本节与 §3.2 同批修订。验收:机检〈ui_kit 六常量与本表逐值一致〉+目检〈渲染帧量环径落 82%±1px、光圈不越格边〉
- **站桩立绘显示档 = 三档绝对高**:小型 96 / 中型 144 / 大型 188。逐件归档——小:地精、巨蜘蛛、灰矮人;中:主角、钩爪恐魔、熊地精;大:食人魔酋长、蛛化卓尔、灰矮人石君王。**源 = 原稿像素网格**(八敌 `pixel-1`、主角手修 2× 三态稿),紧裁后原样入包,**禁再降采样**;显示倍率 = 档高 ÷ 源高,NEAREST,宽度随源图比例(高定宽随不变,见上条)。定档依据 = 生物体型(体量=物种体型,非强度线性映射,见 character-design §5.2),**顺序由显示档承载、不由源高承载**。已接受项:中型三件与地精/巨蜘蛛的源高(92/94/123/90/81)低于档高,属放大显示;食人魔酋长显示宽 157 超桩盒 150。验收:机检〈standee_asset_check 逐件显示档高与归档一致、纵横倍率恒等〉+目检〈同屏体量顺序成立〉
- **站桩立绘排版**:① 区高 B 区 ≈1/3 屏 / C 区 ≈2/3 屏,**扫雷盘原尺寸不缩、格子不变**(区高事实源 = 布局表 `battle_layout.tres`;压缩由 C 区面板空档吸收);② 站桩内部重排——立绘双脚落石台上缘(弃盒内居中)、**血条+状态/名字行落底排**(立绘→血条→状态 顺序,全场血条对齐一线;血条嵌石板位、台缘线留作地面线、落影保留接地感),状态空时该行退化为名字行;③ 大体档(显示 >150px 级:食人魔酋长/蛛化卓尔/灰矮人石君王)**允许向上溢出盒顶 N px**(N 按实测尺寸算定,**与背景/光柱无关**——现行溢出区恰为临时光柱氛围层〔§6.1 方向稿四柱,x 基准 110/900/1055/1210@1280,`battle_stage_view.gd:47-56`〕,正式舞台背景插画(三关变体)到位后该层直接退役(背景不画光柱),**溢出判定不随之变更**;横向禁止压到顶部中央轮次·阶段指示,溢出上限用真图复算 x 区间定),血条仍落底(落底排的第二个收益=头部探顶不带出血条);意图徽标悬浮头顶上方(探顶档压胸);④ 「血条悬浮头顶+立绘盒内居中」排式已弃——盒顶固定 y 与盒内居中在高盒下拉开血条-立绘空洞。验收:目检〈血条一线对齐、大体档溢出不压轮次指示〉
+1 -1
View File
@@ -73,7 +73,7 @@
| 后置 ≠ 删除 | P1/P2 后置内容逐条列出;复活后置项 = 修订文档,禁静默加回 |
| 活体清单不冻结计数 | 对会生长的清单(文档树构成、UI 层项、RNG 流词表等)不写死计数与枚举——写指针到 owner(根索引/常量表/实现文件),现状值由 owner 承载;历史计数只进 git 提交信息 |
**数值纪律(概念/实现分界,2026-11-05 用户立)**:GDD 概念文档只定概念、机制与规则——是什么、有什么、为什么;数量面(多大、多少、多大概率)与呈现实现细节不进概念文档正文。分工三处:取值域与字段契约归 `game/data/schemas/*.gd`(表结构定义+域校验执法,provisional 随值标注);现行值归 `game/data/tables/*.tres`;呈现实现规格(冻结公式、像素值、动效参数)居 `design/gdd/ux/`=呈现实现设计规格层,豁免概念纯度约束。存量系统文档的旧调参表节由独立清扫批消化,消化期不作机检对象(现行闸无此项判据)。
**数值纪律(概念/实现分界,2026-11-05 用户立)**:GDD 概念文档只定概念、机制与规则——是什么、有什么、为什么;数量面(多大、多少、多大概率)与呈现实现细节不进概念文档正文。分工三处:取值域与字段契约归 `game/data/schemas/*.gd`(表结构定义+域校验执法,provisional 随值标注);现行值归 `game/data/tables/*.tres`;呈现实现规格(冻结公式、像素值、动效参数)居 `design/ux/`=呈现实现设计规格层,豁免概念纯度约束。存量系统文档的旧调参表节由独立清扫批消化,消化期不作机检对象(现行闸无此项判据)。
**登记处唯一性**:`design/registry/`(`entities.yaml`/`architecture.yaml`)已注销删除,禁再建第二处事实登记——术语进 术语表、数值进 `.tres`、架构进 架构文档、影响面靠全仓搜索概念规范名得出。强制收口条款:
+1 -1
View File
@@ -126,7 +126,7 @@
**新增 core 件的覆盖登记义务(2026-11-03 架构审查 P1 余项裁)**:拆件或重构产出的新 core 文件不触发 process-conventions §3 第 6 条「新功能必配新测试」(那条只管新增玩法/机制),因此单由本条承接——新 core 件要么被 `game/tests/` 某套件按文件名或 `class_name` 点名,要么在承接它的能力行「代表用例」里申报「经宿主链覆盖(宿主=<件>)」;两者都无=批末收尾核对时补登。本条**不是覆盖率要求**,与 §7「覆盖率不是目标」同轨:登记的是能力义务的归属,不做文件计数——「每个 core 件必须被点名一次」的机器闸已裁否(它逼出为点名而点名的空套件,且与 §7 正面冲突)。落笔面沿用现行分工:申报行由写卡段入能力清单(实现批禁写该文件),核对归批末收尾提交。
**退役对账义务(2026-11-05 立)**:需求卡片退役(吸收即死)时,其对照表每行的验收意图必须已被承接——承接形态=能力清单行(能力+真实入口+代表用例)或已落地的断言;退役后无承接=该能力的规格判据断链,收尾核对判红。机检=`tools/capability_audit.py`(套件→能力行反向覆盖+断言链核验)。先例教训:营地图批卡片退役后,大门判据(`design/gdd/ux/camp.md:16`)无任何活面承接,探针 emit 断言悬空假绿——规格在、链接断。
**退役对账义务(2026-11-05 立)**:需求卡片退役(吸收即死)时,其对照表每行的验收意图必须已被承接——承接形态=能力清单行(能力+真实入口+代表用例)或已落地的断言;退役后无承接=该能力的规格判据断链,收尾核对判红。机检=`tools/capability_audit.py`(套件→能力行反向覆盖+断言链核验)。先例教训:营地图批卡片退役后,大门判据(`design/ux/camp.md:16`)无任何活面承接,探针 emit 断言悬空假绿——规格在、链接断。
### 8.4 真实入口断言(验收闭合的主判据)
+1 -1
View File
@@ -69,7 +69,7 @@
| `教学引导.md` | 新手教学与提示 | 范围草案·待设计 |
| `设置与本地化.md` | 设置项与多语言 | 范围草案·待设计 |
## ux/(战斗画面与交互规格,`ux/`)
## ux/(战斗画面与交互规格,`design/ux/`——与 gdd/ 同级的呈现实现设计规格层)
| 文件 | 一句话概要 | 状态 |
|---|---|---|
+9 -9
View File
@@ -103,15 +103,15 @@ Alpha 内以玩法循环本身的内容与表现为主(棋盘、关卡、战
| 主菜单 | —— | 在役(三入口:进入存档/设置/退出游戏——入口拓扑=进入存档→选档界面→进档/新档→营地覆盖层→营地场景图与生涯笔记本) |
| 开始覆盖层 | —— | 在役 |
| 选档界面(3 存档位) | —— | 在役(空槽新档/有档进档/删档二次确认+摘要三项) |
| 营地(天赋树 / 锻造工坊 / 秘宝匣 / 图鉴) | [camp](ux/camp.md) | 在役(场景图+七物件点选+Esc 浮窗与顶栏;五功能页呈现=居中定尺寸功能窗口、场景根留底、窗内滚动) |
| 营地交互重做(五卡:存档制数据层/主菜单三入口/选档界面/营地场景图/Esc 浮窗与营地顶栏) | [camp](ux/camp.md) | 在役(五卡全部落地,2026-10-21 用户裁整体列入 Alpha;沿革查 git 提交史。出口=五卡各自验收标准通过+营地屏用户目检〔登记体验验证清单 ㊺〕) |
| 营地(天赋树 / 锻造工坊 / 秘宝匣 / 图鉴) | [camp](../ux/camp.md) | 在役(场景图+七物件点选+Esc 浮窗与顶栏;五功能页呈现=居中定尺寸功能窗口、场景根留底、窗内滚动) |
| 营地交互重做(五卡:存档制数据层/主菜单三入口/选档界面/营地场景图/Esc 浮窗与营地顶栏) | [camp](../ux/camp.md) | 在役(五卡全部落地,2026-10-21 用户裁整体列入 Alpha;沿革查 git 提交史。出口=五卡各自验收标准通过+营地屏用户目检〔登记体验验证清单 ㊺〕) |
| 生涯页 | [生涯](systems/跨局循环/生涯.md) | 在役(期一) |
| 关卡地图屏 | [level-map](ux/level-map.md) | 在役 |
| 战斗屏 | [battle](ux/battle.md) | 在役 |
| 战斗结算总结框 | [settlement-summary](ux/settlement-summary.md) | 在役 |
| 关卡结算屏 | [level-clear](ux/level-clear.md) | 在役 |
| 三选一(奖励节点 / 关卡完成) | [node-reward](ux/node-reward.md) | 在役(两渠道均三选一停点:关卡完成与奖励节点各停一次,奖励节点经兑付拉起开三选一) |
| 商店 | [shop](ux/shop.md) | 在役 |
| 关卡地图屏 | [level-map](../ux/level-map.md) | 在役 |
| 战斗屏 | [battle](../ux/battle.md) | 在役 |
| 战斗结算总结框 | [settlement-summary](../ux/settlement-summary.md) | 在役 |
| 关卡结算屏 | [level-clear](../ux/level-clear.md) | 在役 |
| 三选一(奖励节点 / 关卡完成) | [node-reward](../ux/node-reward.md) | 在役(两渠道均三选一停点:关卡完成与奖励节点各停一次,奖励节点经兑付拉起开三选一) |
| 商店 | [shop](../ux/shop.md) | 在役 |
| 状态面板(局内) | [元进度](systems/跨局循环/元进度.md)(「解锁界面:双入口框架」节) | 在役 |
| 冒险终局面板 | —— | 在役 |
| 图例面板 | —— | 在役 |
@@ -152,7 +152,7 @@ Alpha 内以玩法循环本身的内容与表现为主(棋盘、关卡、战
| 主角立绘三态 | [角色设计](../art/character-design.md) | 在役 |
| 状态图标 | [美术圣经](../art/art-bible.md) | 在役 |
| 战斗演出链(弹道 / 受击 / 血条 / 灰化) | [战斗表现](systems/战斗循环/战斗表现.md) | 在役 |
| 逐行结算排播 | [settlement-summary](ux/settlement-summary.md) | 在役 |
| 逐行结算排播 | [settlement-summary](../ux/settlement-summary.md) | 在役 |
| 减动效开关 | [设置与本地化](systems/表现与支撑/设置与本地化.md) | 在役 |
| 全局纹理过滤设为邻近采样 | [待办清单](../../待办清单.md) | 在役(default_texture_filter=0+平滑渐变件三处显式 LINEAR 白名单,翻转面全枚举闭合) |
| UI 字体(全局像素字,Fusion Pixel 单套单字重) | [美术圣经](../art/art-bible.md) §7.4 | 在役(现状即终稿——拉丁沿用自带字形不另接专件、不上第二字重;信息层级手段=字号档差+墨色深浅) |
@@ -74,7 +74,7 @@
每关一套参数档(L1/L2/L3),生成器只吃参数档、不认关卡号。生长曲线:层高、宽度、节点总数、路径长度逐关递增且增幅变大;决策点密度逐关递增;第一关即含岔口——第一关也要有选择。单链是分支密度取下限的合法退化形态,不作为三关参数档的取值。
图规模无呈现侧上限:关卡画面为卷轴视口呈现,画布随图生长、屏为窗口(呈现规格归 [level-map](../../ux/level-map.md));规模由参数档与生长曲线约束,参数档给不出合法图即致命中止。
图规模无呈现侧上限:关卡画面为卷轴视口呈现,画布随图生长、屏为窗口(呈现规格归 [level-map](../../../ux/level-map.md));规模由参数档与生长曲线约束,参数档给不出合法图即致命中止。
### 节点类型配比:类型分布怎么掷、内容归谁
@@ -64,9 +64,9 @@
每个节点在图上有**节点深度**(本文含义:自入口沿路走到该节点的最长路径步数;多入口时取距任一入口的最长路径),用来当战斗的定位地址——遭遇坐标=关卡序号+节点深度,敌人表按**深度带**(深度区间)配池,寻址语义见[敌人系统](../战斗循环/敌人系统.md)。不用最短路径:合流节点或多入口图上取最短,会让某些出边指向深度不增甚至更浅的节点,破坏「连线只朝前进方向」的无环判据。"最深处是关底"的直感由深度承载:终点恒在各路径最深处。单链(每步只有一条连线)是合法退化形态,节点深度等于它前面走过的战斗场数;三关参数档都含岔口,第一关不再是单链。图的来源见[关卡节点图生成](关卡节点图生成.md)。
呈现侧口径(2026-09-17 用户拍板):节点图的画面表达走**方块地牢观感**——节点画成地牢房间的方块、连线画成通道——但逻辑拓扑就是本文的节点图,不产生任何额外选路或探索语义。关卡画面本体即节点链进度的呈现载体(选路覆盖层的常驻形态,节点态直接读图:已过暗金 / 当前金 / 候选下一跳通道亮金 / Boss 紫赤描边(紫赤+深墨环,视觉定稿见 [level-map](../../ux/level-map.md))),不另设进度条组件;视觉规格归 [HUD 框架](../表现与支撑/HUD框架.md)。
呈现侧口径(2026-09-17 用户拍板):节点图的画面表达走**方块地牢观感**——节点画成地牢房间的方块、连线画成通道——但逻辑拓扑就是本文的节点图,不产生任何额外选路或探索语义。关卡画面本体即节点链进度的呈现载体(选路覆盖层的常驻形态,节点态直接读图:已过暗金 / 当前金 / 候选下一跳通道亮金 / Boss 紫赤描边(紫赤+深墨环,视觉定稿见 [level-map](../../../ux/level-map.md))),不另设进度条组件;视觉规格归 [HUD 框架](../表现与支撑/HUD框架.md)。
**商店覆盖层呈现**(呈现 spec:[design/gdd/ux/shop.md](../../ux/shop.md) v1.0;pool 模式货架面=共享池三选一同构卡〔进店抽 3/买 1 全重抽/空架售罄态〕,与三选一奖励同一交互语言;legacy 固定三件面随对照模式保留。**库存余量不呈现**(2026-10-04 用户裁)——货架卡不带「库存余 N/∞」字样,库存语义仍在共享池令牌库、只是不呈现):兑付 = 打开商店覆盖层(模态)——货架卡陈列、GP 余额读数、购买/离开;离开后兑付确认回选路。本节锁编排面(何时开/何时关/回选路),呈现细节归 spec;定价数值归[难度曲线与Boss](难度曲线与Boss.md)(shop.tres)。
**商店覆盖层呈现**(呈现 spec:[design/ux/shop.md](../../../ux/shop.md) v1.0;pool 模式货架面=共享池三选一同构卡〔进店抽 3/买 1 全重抽/空架售罄态〕,与三选一奖励同一交互语言;legacy 固定三件面随对照模式保留。**库存余量不呈现**(2026-10-04 用户裁)——货架卡不带「库存余 N/∞」字样,库存语义仍在共享池令牌库、只是不呈现):兑付 = 打开商店覆盖层(模态)——货架卡陈列、GP 余额读数、购买/离开;离开后兑付确认回选路。本节锁编排面(何时开/何时关/回选路),呈现细节归 spec;定价数值归[难度曲线与Boss](难度曲线与Boss.md)(shop.tres)。
### 行进与选路:兑付后确认,选路就是行进
@@ -85,7 +85,7 @@
| 纪律 | 内容 |
|---|---|
| 兑付后确认 | 到达节点立即兑付,不设"进入前确认"步;兑付反馈呈现完,玩家确认才回图。战斗节点的确认挂在战斗总结结算上(呈现 spec:design/gdd/ux/settlement-summary.md),奖励/恢复节点挂在兑付反馈覆盖层上,商店节点挂在商店覆盖层的离开动作上——复用既有呈现位,零新增交互范式 |
| 兑付后确认 | 到达节点立即兑付,不设"进入前确认"步;兑付反馈呈现完,玩家确认才回图。战斗节点的确认挂在战斗总结结算上(呈现 spec:design/ux/settlement-summary.md),奖励/恢复节点挂在兑付反馈覆盖层上,商店节点挂在商店覆盖层的离开动作上——复用既有呈现位,零新增交互范式 |
| 零自动推进 | 确认之后回到关卡画面的选路口:岔路口玩家选一条连线,单链路口确认"继续"。选了才走;不选就停在图上 |
Boss 兑付(胜利或英雄死亡)触发关卡收束点,此后不再有选路——关卡已定局,后续流程归冒险结构。
@@ -123,7 +123,7 @@ Boss 兑付(胜利或英雄死亡)触发关卡收束点,此后不再有选
第二关的"新内容 = 既有池新技能"(技能池构成已定稿入[敌人系统](../战斗循环/敌人系统.md)技能池节)投放时,改的是战斗侧行里引用的技能池内容——节点图结构原样不动,本文无需为投放留任何新结构位。
**节点奖励 = 提升三选一(用户 2026-10-01 拍板:与通关三选一共享同池)**:奖励节点到达即开三选一(呈现 = 提升三选一覆盖层共用面,spec:[node-reward.md](../../ux/node-reward.md) v2.0)——从提升池七种(攻击/生命上限/护甲/GP 袋/行动点件/恢复件/刷新件)按同一令牌库洗牌不放回抽 3(同 kind 去重、同一封闭随机流),玩家点选一件兑付(选中踢池、未选回池;秘宝件已出池,满位替换子交互随之不再触发)。件获取次数计数与令牌库为冒险级单例——两渠道同一令牌库合计消耗。「池空直通」为合法态——池耗即枯竭,空库 = 零候选合法态直通(见[冒险结构](冒险结构.md)令牌池节)。
**节点奖励 = 提升三选一(用户 2026-10-01 拍板:与通关三选一共享同池)**:奖励节点到达即开三选一(呈现 = 提升三选一覆盖层共用面,spec:[node-reward.md](../../../ux/node-reward.md) v2.0)——从提升池七种(攻击/生命上限/护甲/GP 袋/行动点件/恢复件/刷新件)按同一令牌库洗牌不放回抽 3(同 kind 去重、同一封闭随机流),玩家点选一件兑付(选中踢池、未选回池;秘宝件已出池,满位替换子交互随之不再触发)。件获取次数计数与令牌库为冒险级单例——两渠道同一令牌库合计消耗。「池空直通」为合法态——池耗即枯竭,空库 = 零候选合法态直通(见[冒险结构](冒险结构.md)令牌池节)。
### 关卡收束点:先清库、后宣布
@@ -35,7 +35,7 @@
| 节点奖励件的分类与凭证定义、池结构与抽取机制(案D——共享池库存仍归本文) | [奇物](奇物.md) |
| 关卡完成率带、敌我数值与 Boss 设计 | [难度曲线与Boss](难度曲线与Boss.md) |
| 钥石与跨局成长 | [元进度](../跨局循环/元进度.md) |
| 冒险总结结算(呈现摘要五件事;呈现 spec:design/gdd/ux/settlement-summary.md)与关卡推进指示 | [HUD框架](../表现与支撑/HUD框架.md) |
| 冒险总结结算(呈现摘要五件事;呈现 spec:design/ux/settlement-summary.md)与关卡推进指示 | [HUD框架](../表现与支撑/HUD框架.md) |
## 在核心循环中的位置
+1 -1
View File
@@ -281,7 +281,7 @@
**两层是两件事,别混**:
- **命名是本节的规矩**——三个分类各有一个专名,文档、代码词族、帮百科一律用它。指代某个分类时直接说「专长」,不说「机制类」「专长那一类」。
- **呈现是另一件事**(归 [battle](../../ux/battle.md) 与 [node-reward](../../ux/node-reward.md),本节不裁决):玩家看到某件奇物时,卡面只写**这件东西的名字与效果**,不附带它的分类。玩家可以从效果反推它属于哪一类,但界面不替他说破。
- **呈现是另一件事**(归 [battle](../../../ux/battle.md) 与 [node-reward](../../../ux/node-reward.md),本节不裁决):玩家看到某件奇物时,卡面只写**这件东西的名字与效果**,不附带它的分类。玩家可以从效果反推它属于哪一类,但界面不替他说破。
**为什么两层都要有**:分类名在卡面上不出现,不等于玩家对它没有概念——帮助手册、百科条目、成就名称三处一定会用到它(「首次集齐 4 件专长」「三件属性值提升」),效果描述里出现指代时也需要名字(如「本项属专长」类归类指代)。所以它必须是一个**玩家读得懂、读一遍就懂**的正式名词,不能是内部描述或自造词。
@@ -13,7 +13,7 @@
## 系统范围
边界这样划:战斗屏上"发生什么、摆在哪里、是什么意思"已经由两份现行文档定稿——屏级呈现形态归 [战斗屏 UX 规格 battle.md](../../ux/battle.md),视觉基调与剪影色彩归 [美术圣经 art-bible](../../../art/art-bible.md)。本文只负责"这些东西怎么动",而且是排期靠后的打磨项(见 [不做清单](../../05-不做清单.md):战斗动画演出是 MVP 内的打磨项,一律排后)。
边界这样划:战斗屏上"发生什么、摆在哪里、是什么意思"已经由两份现行文档定稿——屏级呈现形态归 [战斗屏 UX 规格 battle.md](../../../ux/battle.md),视觉基调与剪影色彩归 [美术圣经 art-bible](../../../art/art-bible.md)。本文只负责"这些东西怎么动",而且是排期靠后的打磨项(见 [不做清单](../../05-不做清单.md):战斗动画演出是 MVP 内的打磨项,一律排后)。
负责:
@@ -27,7 +27,7 @@
| 不负责 | 归谁 |
|---|---|
| 屏级呈现形态与呈现语义(四区布局、敌人呈现〔站桩形态〕、明细带、高光行) | [battle.md](../../ux/battle.md) 与 [HUD 框架](../表现与支撑/HUD框架.md),本文只引用 |
| 屏级呈现形态与呈现语义(四区布局、敌人呈现〔站桩形态〕、明细带、高光行) | [battle.md](../../../ux/battle.md) 与 [HUD 框架](../表现与支撑/HUD框架.md),本文只引用 |
| 视觉基调、剪影哲学、色彩与图标键契约 | [art-bible](../../../art/art-bible.md),本文只引用 |
| 结算逻辑与逐行流水本身 | [战斗结算](战斗结算.md) |
| 敌种视觉状态的数据面(哪个敌种有几态、什么姿态) | [敌人系统](敌人系统.md) |
@@ -48,7 +48,7 @@
### 不另起场景:在既有呈现上叠加动画密度
战斗屏是挖掘与结算两种形态共用的同一张屏:常驻双舞台(白话:战斗画面与扫雷图同屏常驻,像同一块屏上的两个舞台),结算期不切换场景,裁决与理由见 [battle.md 布局决策 1](../../ux/battle.md)。所以战斗表现的工作不是另做一个战斗场景,而是在既有呈现上叠加动画密度与演出——这是本系统范围边界的第一条。
战斗屏是挖掘与结算两种形态共用的同一张屏:常驻双舞台(白话:战斗画面与扫雷图同屏常驻,像同一块屏上的两个舞台),结算期不切换场景,裁决与理由见 [battle.md 布局决策 1](../../../ux/battle.md)。所以战斗表现的工作不是另做一个战斗场景,而是在既有呈现上叠加动画密度与演出——这是本系统范围边界的第一条。
"发生什么"与"怎么动"因此分了工:敌人死亡是血条归零后灰化加碎裂退场、禁止瞬间消失,结算明细带逐行滚动,完美封印与封印标中有高光行强调——这些呈现语义已由 battle.md 与 HUD 框架定稿,本文不复述。本文将来承接的只是其上的动画密度:受击反馈、弹道、退场动画等类别。
@@ -80,7 +80,7 @@
样张是前置美术测试的判定物;本节把"怎么算过"在测试组织前写成文,避免临场现定标准。成文做法参照 [art-bible](../../../art/art-bible.md) §1.4 格子样张测试(内容清单、按序验收项、判定与回退),判据全部落到已冻结的现行口径上——本节不定任何新的视觉参数。
样张内容清单(一组齐备,缺项即无效):按 [battle.md 布局决策 1](../../ux/battle.md) 的常驻双舞台四区布局整屏出样;角色剪影按棋盘格、结算明细带、战斗舞台三个语境同图摆放;~~敌人卡两候选形态对照(卡片式与站桩式各一版,其余内容不变)~~——**本项已完成(全站桩定稿、卡片式退役),正式样张按站桩形态单版出样即可**;受击、退场、高光兑现三组动画关键帧条(每组至少起、中、末三帧);敌人姿态精灵与数字、封印印记、小人同格叠放的遮挡对照组至少一组。
样张内容清单(一组齐备,缺项即无效):按 [battle.md 布局决策 1](../../../ux/battle.md) 的常驻双舞台四区布局整屏出样;角色剪影按棋盘格、结算明细带、战斗舞台三个语境同图摆放;~~敌人卡两候选形态对照(卡片式与站桩式各一版,其余内容不变)~~——**本项已完成(全站桩定稿、卡片式退役),正式样张按站桩形态单版出样即可**;受击、退场、高光兑现三组动画关键帧条(每组至少起、中、末三帧);敌人姿态精灵与数字、封印印记、小人同格叠放的遮挡对照组至少一组。
验收项按序判定,第一项不过 = 整张否决(继承格子样张"数字可读性定风格"的次序):
@@ -118,7 +118,7 @@
| 上游 | [HUD 框架](../表现与支撑/HUD框架.md) | 四区布局、战斗画面区(四区中的 B 区)演出区结构、敌人呈现(站桩形态)与明细带呈现语义——本文在其上叠加密度 |
| 上游 | [敌人系统](敌人系统.md) | 资产需求下限三类与敌种姿态数据面——数据已锁,本文出终稿;另登记一项随样张一并裁决的事项:敌人层绘制优先级的插入位置 |
| 上游 | [art-bible](../../../art/art-bible.md)(现行权威) | 剪影、色彩、图标键契约、各阶段氛围——表现侧约束 |
| 上游 | [battle.md](../../ux/battle.md)(现行权威) | 屏级呈现形态与呈现语义 |
| 上游 | [battle.md](../../../ux/battle.md)(现行权威) | 屏级呈现形态与呈现语义 |
| 协作 | [音频](../表现与支撑/音频.md) | 坍塌显形动画与音效方向配对登记,将来对位设计(挂点未定) |
## P0 最小闭环
@@ -11,7 +11,7 @@ HUD框架把各玩法系统产生的事实变成玩家看得见、点得动、
## 系统范围
边界这样划:本系统管"怎么呈现、怎么翻译输入、弹层怎么排队"。一个动作合不合法、结果算什么意思,归排雷玩法、行动经济、战斗结算等上游裁定;画面具体长什么样、组件落在哪一像素,屏级权威按屏分治——战斗屏是 [battle.md](../../ux/battle.md)、关卡画面是 [level-map.md](../../ux/level-map.md)——本文只锁系统级契约。
边界这样划:本系统管"怎么呈现、怎么翻译输入、弹层怎么排队"。一个动作合不合法、结果算什么意思,归排雷玩法、行动经济、战斗结算等上游裁定;画面具体长什么样、组件落在哪一像素,屏级权威按屏分治——战斗屏是 [battle.md](../../../ux/battle.md)、关卡画面是 [level-map.md](../../../ux/level-map.md)——本文只锁系统级契约。
负责:
@@ -32,7 +32,7 @@ HUD框架把各玩法系统产生的事实变成玩家看得见、点得动、
|---|---|
| 任何玩法状态与玩法数值 | 各玩法系统;数值表本体归[数据配置](数据配置.md) |
| 合法性判定与机制语义裁定 | [排雷玩法](../排雷循环/排雷玩法.md)、[行动经济](../排雷循环/行动经济.md)、[战斗结算](../战斗循环/战斗结算.md) |
| 屏级布局与动画时长的像素级裁决 | [battle.md](../../ux/battle.md)(战斗屏)与 [level-map.md](../../ux/level-map.md)(关卡画面) |
| 屏级布局与动画时长的像素级裁决 | [battle.md](../../../ux/battle.md)(战斗屏)与 [level-map.md](../../../ux/level-map.md)(关卡画面) |
| 美术终稿与动画密度 | [art-bible](../../../art/art-bible.md)与[战斗表现](../战斗循环/战斗表现.md) |
| 音频、教学内容、本地化文本生产 | [音频](音频.md)、[教学引导](教学引导.md)、[设置与本地化](设置与本地化.md) |
| 任何随机消费 | 无——呈现层零随机 |
@@ -61,9 +61,9 @@ HUD框架站在玩家与全部玩法系统之间:挖掘期它是输入的翻
| C 角色信息 | 左下,宽读 `info_panel_w`,高 = 基准屏高 − B 区高 | 生命 / 攻击 / 储备数据框、状态效果槽、小人立绘 |
| D 扫雷图 | 中下,宽 = 基准屏宽 − C 区宽 − 列间距,高同 C 区 | 行动点条与按钮组、棋盘本体、toast 槽 |
分区几何的唯一事实源 = `game/data/tables/battle_layout.tres`(经 `ConfigDb.presentation.battle_layout` 读取);分区尺寸与组件落位的像素级裁决归 [battle.md](../../ux/battle.md),两份文档只写结构关系、不复写数值。三区结构与双舞台常驻是结构冻结项,修订走文档修订而非调参。节点链进度不在战斗屏呈现——它由关卡画面(选路覆盖层常驻形态)的节点态承载,见[关卡节点地图](../冒险循环/关卡节点地图.md)。
分区几何的唯一事实源 = `game/data/tables/battle_layout.tres`(经 `ConfigDb.presentation.battle_layout` 读取);分区尺寸与组件落位的像素级裁决归 [battle.md](../../../ux/battle.md),两份文档只写结构关系、不复写数值。三区结构与双舞台常驻是结构冻结项,修订走文档修订而非调参。节点链进度不在战斗屏呈现——它由关卡画面(选路覆盖层常驻形态)的节点态承载,见[关卡节点地图](../冒险循环/关卡节点地图.md)。
**结论**:棋盘格边长由 [battle.md](../../ux/battle.md)「棋盘格尺寸公式」按棋盘区实测面积与板型算出;本文只判"塞不塞得进",不复制算式与算例。**分辨率档位**:两档=1280×800 基准档(本表全部定值的口径)+1920×1080 档=**全局等比**(stretch canvas_items+aspect keep——16:10 设计在 16:9 窗口为等比 1.35×+左右黑边各 ~96px);本节与各屏定值一律按 1280 基准档书写,1920 档由引擎等比承载、零重排。
**结论**:棋盘格边长由 [battle.md](../../../ux/battle.md)「棋盘格尺寸公式」按棋盘区实测面积与板型算出;本文只判"塞不塞得进",不复制算式与算例。**分辨率档位**:两档=1280×800 基准档(本表全部定值的口径)+1920×1080 档=**全局等比**(stretch canvas_items+aspect keep——16:10 设计在 16:9 窗口为等比 1.35×+左右黑边各 ~96px);本节与各屏定值一律按 1280 基准档书写,1920 档由引擎等比承载、零重排。
```
装板可行性(网格实高 ≤ 棋盘区可用高):
@@ -76,7 +76,7 @@ HUD框架站在玩家与全部玩法系统之间:挖掘期它是输入的翻
| N | 棋盘边长格数 | 读[棋盘生成](../排雷循环/棋盘生成.md)(现行四档;事实源 board_gen.tres) |
| 棋盘区宽 / 高 | 扫雷图区基准尺寸 | 由 D 区尺寸扣行动点条高(读 `ap_bar_h`)得出,本表不复制现算值 |
装板可行性由上面的不等式保证;格边长的可读下限见 [battle.md](../../ux/battle.md),算例由样张渲染脚本按布局表现算、不入文档。棋盘数字直接显示排雷玩法给的真值——呈现层禁止自己算数字,这是"数据层从不说谎"在呈现侧的镜像。
装板可行性由上面的不等式保证;格边长的可读下限见 [battle.md](../../../ux/battle.md),算例由样张渲染脚本按布局表现算、不入文档。棋盘数字直接显示排雷玩法给的真值——呈现层禁止自己算数字,这是"数据层从不说谎"在呈现侧的镜像。
### 提示与弹层:轻提示随起随消、重弹层排队进出
@@ -169,7 +169,7 @@ HUD框架站在玩家与全部玩法系统之间:挖掘期它是输入的翻
### 营地:可点击场景图
营地形态**已换代为一张可点击的场景图 + 七物件点选**(现行权威=[camp](../../ux/camp.md));全部程序占位视觉(占位纪律延续,2026-10-11 用户令),**视觉与布局终稿归 HUD 营地视觉批**(未立项)。结构现行事实源 = [天赋树](../跨局循环/天赋树.md)「营地=树:统一模型」节。
营地形态**已换代为一张可点击的场景图 + 七物件点选**(现行权威=[camp](../../../ux/camp.md));全部程序占位视觉(占位纪律延续,2026-10-11 用户令),**视觉与布局终稿归 HUD 营地视觉批**(未立项)。结构现行事实源 = [天赋树](../跨局循环/天赋树.md)「营地=树:统一模型」节。
### 可访问性基线:看得清、不闪、纯鼠标玩得通
@@ -212,7 +212,7 @@ HUD框架站在玩家与全部玩法系统之间:挖掘期它是输入的翻
| [排雷玩法](../排雷循环/排雷玩法.md) | 已开 / 未开格态一眼可辨;悬停预承诺与可挖域常驻指示;移动路径预览即合法性指示;每次拒绝可感知且棋盘面细因可区分;停手被改判可感知 |
| [行动经济](../排雷循环/行动经济.md) | 行动点与储备常显;储备清零反馈;棋盘面与资源面拒绝可区分;刷新入口与代价可读 |
| [战斗结算](../战斗循环/战斗结算.md) | 未生效类明细行(奖励未生效)的呈现;高光行强调 |
| [关卡节点地图](../冒险循环/关卡节点地图.md) | 节点链进度呈现(关卡画面选路覆盖层节点态承载:暗金已过、金当前、候选下一跳通道亮金、Boss 紫赤描边);选路覆盖层只读呈现(零自动推进停点语义)——屏级 spec:[level-map](../../ux/level-map.md) |
| [关卡节点地图](../冒险循环/关卡节点地图.md) | 节点链进度呈现(关卡画面选路覆盖层节点态承载:暗金已过、金当前、候选下一跳通道亮金、Boss 紫赤描边);选路覆盖层只读呈现(零自动推进停点语义)——屏级 spec:[level-map](../../../ux/level-map.md) |
| [敌人系统](../战斗循环/敌人系统.md) | 意图线索映射成文且全局恒定;单位顺位与血条可读;敌方共享层数各卡同值 |
| [增益状态](../战斗循环/增益状态.md) | 状态栏常显;无状态时整排槽隐藏;有利 / 有害极性呈现不看数值符号 |
| [地图战斗资源](../战斗循环/地图战斗资源.md) | 已开格的奖励身份常读;未开格类型微光(英雄周围 8 格内的未开格显示资源类型——概念定义见本篇「未开格类型微光」节) |
@@ -236,7 +236,7 @@ HUD框架站在玩家与全部玩法系统之间:挖掘期它是输入的翻
| P1 | 远格点击自动"先移动再挖"复合意图 | 移动免费高频,两击摩擦先经实测验证再裁 |
| P1 | Gamepad 焦点序 | 纯鼠标已覆盖 MVP 全部操作 |
| P1 | 可访问性正式分层(文本缩放 / 色盲模式 / 按键重映射) | 归[设置与本地化](设置与本地化.md)设置项全集裁决(2026-09-27 拍板不另立专项文档) |
| P1 | 相邻域屏(节点奖励 / 关卡结算)完整屏形态 | 归后续 UX 文档(关卡结算屏 spec 已建 [level-clear](../../ux/level-clear.md);节点奖励屏 spec 已在役:[node-reward](../../ux/node-reward.md) v2.5 令牌池口径);MVP 以覆盖层反馈承载 |
| P1 | 相邻域屏(节点奖励 / 关卡结算)完整屏形态 | 归后续 UX 文档(关卡结算屏 spec 已建 [level-clear](../../../ux/level-clear.md);节点奖励屏 spec 已在役:[node-reward](../../../ux/node-reward.md) v2.5 令牌池口径);MVP 以覆盖层反馈承载 |
| P2 | 提示一次性作用域升级为存档级"一生一次" | 归[存档序列化](存档序列化.md)与[元进度](../跨局循环/元进度.md)后重议 |
| P2 | 调试面板退役 | 正式侧归元进度;诊断按钮保留为调试设施 |
| P2 | 探测类秘宝的显影呈现面 | 接口归[秘宝](../跨局循环/秘宝.md)定稿批 |
@@ -70,7 +70,7 @@
| 关卡表 | 逐关节点图与层名 | [冒险结构](../冒险循环/冒险结构.md) |
| 冒险表 | 关卡大奖励与钥石入账(单行全局) | [冒险结构](../冒险循环/冒险结构.md) |
| 元进度表 | 元进度字段(现行五行族:属性锻造 / Boss 钥石 / 工坊阈值 / 换算率 / 同调刷新升级行族) | [元进度](../跨局循环/元进度.md) |
| 战斗屏布局表(`battle_layout.tres`) | 分区几何、B 区连续地面层高与明细带两态高(单行;呈现层布局配置,非玩法数值——供呈现层与样张工具同源读取) | [战斗屏规格](../../ux/battle.md)(结构)/[HUD框架](HUD框架.md)(呈现常量) |
| 战斗屏布局表(`battle_layout.tres`) | 分区几何、B 区连续地面层高与明细带两态高(单行;呈现层布局配置,非玩法数值——供呈现层与样张工具同源读取) | [战斗屏规格](../../../ux/battle.md)(结构)/[HUD框架](HUD框架.md)(呈现常量) |
举证:本节为数据纪律约定,无计算。违规检测 = 静态扫描加人工复核,随各表回填定稿与里程碑检查执行。
@@ -28,7 +28,7 @@
| 不负责 | 归谁 |
|---|---|
| 呈现语义与可访问性基线本体(字号下限、闪烁上限、纯鼠标可玩等) | [HUD 框架](HUD框架.md) |
| 逐行结算的呈现规则 | [battle.md](../../ux/battle.md) 与 [HUD 框架](HUD框架.md),本文只引用 |
| 逐行结算的呈现规则 | [battle.md](../../../ux/battle.md) 与 [HUD 框架](HUD框架.md),本文只引用 |
| 减动效开启后动画怎么演 | [战斗表现](../战斗循环/战斗表现.md)——本文提供开关,动画侧兑现归对方 |
| 音量调节对声音怎么生效 | [音频](音频.md)——生效侧归对方,口径已对齐 |
| 文案内容本体(教学条目、界面用语等写了什么) | 各系统文档——本文只做翻译生产,不改含义 |
@@ -60,7 +60,7 @@
| 输入 | 登记处 | 将来要做的 |
|---|---|---|
| 减动效开关 | [HUD 框架](HUD框架.md)的可访问性基线与 [battle.md](../../ux/battle.md)的呈现承诺;[战斗表现](../战斗循环/战斗表现.md)已登记承接其动画侧 | 提供开关:开启后全部动画有时长减半或直达终态的通路。呈现侧的约束以 battle.md 与 HUD 框架为权威,本文不复述 |
| 减动效开关 | [HUD 框架](HUD框架.md)的可访问性基线与 [battle.md](../../../ux/battle.md)的呈现承诺;[战斗表现](../战斗循环/战斗表现.md)已登记承接其动画侧 | 提供开关:开启后全部动画有时长减半或直达终态的通路。呈现侧的约束以 battle.md 与 HUD 框架为权威,本文不复述 |
| 音量控制入口 | 归档对本系统的常规分工登记;[音频](音频.md)已登记同款分工 | 在设置里提供音量入口;生效侧归音频(口径已对齐) |
| 键位映射表 | [HUD 框架](HUD框架.md)定稿登记的交付物输入(全键族) | 如何转化成设置项(比如是否允许改键)待设计 |
| 结算风味词 | 归档概念层增补批随巢穴隐喻换轴登记("封印 / 镇 / 反制"一类类型风味词),只登记了存在、各归各的时机 | 内容与形态未定,本文只登记这条输入在 |
+1 -1
View File
@@ -103,7 +103,7 @@
### 解锁界面:双入口框架
(2026-09-18 拍板;入口拓扑=三入口化)营地消费面(消费钥石、查看与管理永久强化)经主菜单「进入存档」→选档界面→进档/新档进入,主菜单不再设营地独立钮;局内状态面板(游戏非实时无暂停语义)也可查看钥石余额与本局冒险信息(只读)。钥石余额在 HUD 常驻展示。呈现 spec:[ux/camp.md](../../ux/camp.md) v1.0(退役/封存件「已退役/已解锁·能力封存中」呈现语义随 spec 落位);视觉终稿已落码。本节锁框架与需求,呈现细节归 spec;局内状态面板入口已实装(实机目检待用户,待办清单登记条在册)。
(2026-09-18 拍板;入口拓扑=三入口化)营地消费面(消费钥石、查看与管理永久强化)经主菜单「进入存档」→选档界面→进档/新档进入,主菜单不再设营地独立钮;局内状态面板(游戏非实时无暂停语义)也可查看钥石余额与本局冒险信息(只读)。钥石余额在 HUD 常驻展示。呈现 spec:[ux/camp.md](../../../ux/camp.md) v1.0(退役/封存件「已退役/已解锁·能力封存中」呈现语义随 spec 落位);视觉终稿已落码。本节锁框架与需求,呈现细节归 spec;局内状态面板入口已实装(实机目检待用户,待办清单登记条在册)。
### 单局循环零依赖:排期边界的推论
+2 -2
View File
@@ -69,9 +69,9 @@
| 界面 | 管什么(现状指证) | 与生涯的边界 |
|---|---|---|
| 营地([camp UX spec](../../ux/camp.md)) | 跨局成长**操作**面(花钥石买强化 / 装配 / 点树——营地场景图+五功能窗口形态);原底栏「最近冒险」条带已撤下(P6 甲),逐局历史回看唯一归生涯 | 营地不改生涯只读定位;生涯不做任何购买入口,也不放「去买」按钮。营地条带已撤(P6 甲) |
| 营地([camp UX spec](../../../ux/camp.md)) | 跨局成长**操作**面(花钥石买强化 / 装配 / 点树——营地场景图+五功能窗口形态);原底栏「最近冒险」条带已撤下(P6 甲),逐局历史回看唯一归生涯 | 营地不改生涯只读定位;生涯不做任何购买入口,也不放「去买」按钮。营地条带已撤(P6 甲) |
| 状态面板 | **局内**只读查看这一局进行中的钥石与本局冒险进度 | 状态面板看当局当前值,生涯看跨局累计与历史;局内无生涯入口(P4 甲) |
| 结算屏([settlement-summary UX spec](../../ux/settlement-summary.md)) | 冒险收束当下的入账明细——冒险收束时由结算屏呈现入账明细与钥石明细(复用终局面账行的呈现形态) | 收束当下的呈现保留不动;生涯承接的是收束之后的任意时刻回看 |
| 结算屏([settlement-summary UX spec](../../../ux/settlement-summary.md)) | 冒险收束当下的入账明细——冒险收束时由结算屏呈现入账明细与钥石明细(复用终局面账行的呈现形态) | 收束当下的呈现保留不动;生涯承接的是收束之后的任意时刻回看 |
| 帮助手册(Beta 批,未实装——教学内容归 Beta 帮助手册) | 讲「怎么玩」 | 生涯讲「我玩过什么」。图鉴条目文案与手册是否共用内容源,接口登记归 Beta 批一并裁 |
| 图例面板 | 局内符号/徽标即时解码 | 不合并——图例是局内解码面,图鉴是跨局收集面 |
@@ -142,7 +142,7 @@
- N = 棋盘长宽两边的较大者;格间距 2px;垂直预留 24px(上 12 / 下 12);悬崖厚度 8px;结构钳制区间 [26, 46]px。
- 格边长可读性以用户验收的现行画面为锚点(2026-11-01 用户裁——现行渲染值即基准,基座档 14×14=28px 达标);全域不设人造的格边长可读阈值。结构钳制 [26, 46] 只管算式结果不越界;格边长接线守卫=生产写入值与上式单点算式的返回值严格相等,最大板型的推定读数仅留痕观察、不作判红依据。
- N 的取值与每关板型的对应关系读[棋盘生成](../systems/排雷循环/棋盘生成.md),现行值的事实源是 `data/tables/board_gen.tres`。
- N 的取值与每关板型的对应关系读[棋盘生成](../gdd/systems/排雷循环/棋盘生成.md),现行值的事实源是 `data/tables/board_gen.tres`。
- 数字字号 = max(18, ceil(格边长 × 0.5)),像素字体整数倍缩放(canvas_items stretch 保证清晰)。
算例不入文档:棋盘区可用面积随布局表与板型变化,不是契约值——现算并绘在整屏样张上,本文件不复写。
@@ -154,7 +154,7 @@
| B | 主角站桩立绘 | 站桩(无框立绘+落影) | HP 条落底盘(2026-10-06 方案二拍板:站桩排式 = **立绘→血条→状态**,全场血条对齐一线;血条嵌石板位、台缘线留作地面线;不悬浮头顶——高盒下血条-立绘空洞,用户点名否决)、状态效果小图标一排挂血条正下方(形状+色相双通道、层数角标;空态不占位退化为空行)——**HP 与状态效果的唯一展示面(2026-09-26 信息归属拍板;悬停 tooltip〔来源+语义+剩余结算次数〕职责在本组件)**;攻击值等规划数据仍归 C 区数据框(2026-09-20 全站桩拍板,英雄卡退役) | 悬停状态小图标看 tooltip | HUD 视图拆分改造 |
| B | 敌人站桩立绘 ×1–3 | 站桩(无框立绘+落影) | 血条+顺位徽标落底盘(同主角排式,2026-10-06 方案二;**大体档〔显示 >150px 级:drider/duergar_king〕允许向上溢出盒顶 N px(N 由实装实算,溢出判定与背景无关),血条仍落底**)、状态小图标挂血条正下方(敌方增益按个体呈现——各立绘只显示它自己名下的状态实例〔蓄力/硬化/削弱/暴走/警觉,2026-11-02 个体化裁〕;数据源 = 战斗结算流水经增益状态投影,敌人系统×4④;无行为环点〔proposal §2.4〕,意图占位 = 本拍摇定结果的动画占位——普通攻击零表示 / 特殊技类型级提示,**意图徽标悬浮头顶上方,探顶档压胸**,敌方增益〔蓄力/硬化〕入状态图标行);死亡灰化加碎裂退场直接演在立绘上(2026-09-20 全站桩拍板,敌人卡退役);血条下名字行 = 纯名字 + 护甲类型图标(形状+色相双通道,与状态图标同行共存,状态空时为纯名字),AC 数值不展示——2026-09-26 终裁(用户口径:HP 信息已足够,攻防数值不直接写上;护甲类型图标保留克制对策可读性——类型可读、数值隐藏) | 只读 | 新建 |
| B | 轮次·阶段指示 | 标签 | "第 N 轮 · 挖掘中/结算中"(终局定格「战斗结束」;Boss 变体附 Boss 名) | 只读 | 新建 |
| B | 结算明细带 | 滚动列表 | 结算期逐行流水([战斗结算](../systems/战斗循环/战斗结算.md#明细流水每一行都能指回你刚才的哪一步棋) 9 类行协议);挖掘期收起为上轮摘要 1 行 | 无明细回看——带保留单行摘要,冒险中回看归「生涯」 | 改造 |
| B | 结算明细带 | 滚动列表 | 结算期逐行流水([战斗结算](../gdd/systems/战斗循环/战斗结算.md#明细流水每一行都能指回你刚才的哪一步棋) 9 类行协议);挖掘期收起为上轮摘要 1 行 | 无明细回看——带保留单行摘要,冒险中回看归「生涯」 | 改造 |
| B | 结算明细回看(已退役) | —— | 冒险中回看归「生涯」;回看覆盖层为未接线遗留件(待办清单登记) | —— | 未接线 |
| C | 攻击数据框 | 直角细线数据框 | 攻击值 + 修正来源角标 + 护甲 AC(AC 二轮拍板 2026-09-26 补入——我方 AC 唯一展示面;HP 与状态归 B 区站桩、RAP 归 D 区 AP 条,不在本组件) | 只读 | HUD 视图拆分 |
| C | 秘宝槽 | 图标槽 ×4 | 四槽壳在役、空槽占位(标题「秘宝」,悬停「秘宝槽(空)」);局内两步使用与关卡域库存随秘宝过渡形态退役——现行秘宝 = 营地同调装配件(秘宝.md),本区展示重接归装配面 | 悬停 tooltip | 已实装 |
@@ -282,7 +282,7 @@
| 弃图刷新(挖掘期,非轮出口) · 刷新尝试遥测 | 刷新使用(难度曲线与Boss OQ6)与行动经济 OQ3 预警阈值观测;每轮 0–2 次(布局决策 4 cap=2) | {受理结果: 受理 / 拒因 RAP 不足 / 拒因触上限, 本轮第几次刷新: 1..2} |
| 拒绝/voided · 拒绝遥测 | 拒绝来源(板面/资源/相位三源)与细分原因 | {拒绝来源: 板面/资源/相位, 细分原因} |
| 提示触发/关闭 · 提示展示遥测 | 提示类型 | {提示类型: chord 提示 / 无相邻可挖格} |
| 呈现订阅(不改核心) | 排雷玩法三事件 / [战斗结算](../systems/战斗循环/战斗结算.md#明细流水每一行都能指回你刚才的哪一步棋)步骤流(9 类行协议,含终局判定行) / 战斗结束 / 关卡完成 | 载荷 schema 成文义务见 §Data Requirements(HUD框架硬性要求) |
| 呈现订阅(不改核心) | 排雷玩法三事件 / [战斗结算](../gdd/systems/战斗循环/战斗结算.md#明细流水每一行都能指回你刚才的哪一步棋)步骤流(9 类行协议,含终局判定行) / 战斗结束 / 关卡完成 | 载荷 schema 成文义务见 §Data Requirements(HUD框架硬性要求) |
**持久状态写入**全部经组合根唯一路径(意图批次提交 / 刷新意图提交 / 关卡推进)——UI 层禁直调核心写(架构七原则"依赖单向组合根")。
@@ -313,7 +313,7 @@
| BFS 移动路径 | 排雷玩法 路径规划只读面 | Read | 布局决策 3 合法性指示消费 |
| 拒绝原因 | 排雷玩法 细分原因封闭枚举 + 行动经济 资源面 | Read | 三源(板面/资源/相位)映射文案——呈现层契约成文;资源面原因无上游载荷(行动经济仅回受理与否,细分原因仅调试诊断可见),客户端按动作上下文推断 |
| AP / RAP / 本轮刷新计数 | 行动经济 | Read | 常显;刷新入口可用性 = RAP 读数客户端预判(RAP≥8)+ 刷新意图提交的受理回执(行动经济 无刷新可用性预查询——仅受理与否的回执 + 只读观测量;行动经济 EC13 拒绝合法可见) |
| 结算流水行(9 类封闭协议) | [战斗结算](../systems/战斗循环/战斗结算.md#明细流水每一行都能指回你刚才的哪一步棋) 流水协议 | Read | 逐行来源标注(P2);未生效类行(奖励未生效)聚合计数呈现 |
| 结算流水行(9 类封闭协议) | [战斗结算](../gdd/systems/战斗循环/战斗结算.md#明细流水每一行都能指回你刚才的哪一步棋) 流水协议 | Read | 逐行来源标注(P2);未生效类行(奖励未生效)聚合计数呈现 |
| 判定胜负 | 战斗结算 判定段 | Read | 终局画面数据锚 |
| 敌单位 生命/顺位/摇定动作(技能标识·类型·名称)/敌方增益/敌单位标识/存活 | 敌人系统 只读面(经战斗结算呈现快照) | Read | 意图线索映射全局恒定(敌人系统×4②,技能池批三档口径);**销毁前捕获**(缺陷②教训) |
| 状态效果投影(含空态/极性/溢出) | 增益状态 投影口径 | Read | 极性映射数据源 = 战斗结算效果表语义,非幅度符号(增益状态×③) |
@@ -332,7 +332,7 @@
## Accessibility
无障碍基线权威 = [HUD框架](../systems/表现与支撑/HUD框架.md)「可访问性基线」节;不再另立专项文档(2026-09-27 拍板,见 OQ2)。本 spec 内建基线承诺(呈现侧落地):
无障碍基线权威 = [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 数据一律墨族素面
- **色弱冗余**:无任何信息仅靠色相承载——格态靠完整/碎裂形;奖励金 vs 危险红靠剪影+运动;UI 红/金强调对加图标+文案冗余;Boss 靠形状独占(art-bible §4.5 清单逐项成立)
@@ -397,8 +397,8 @@
## Open Questions
1. **Player journey map——已完成(2026-09-27 拍板:不建)**:实现前补建的前提随战斗屏实装失效;情绪曲线事实源 = art-bible §2 能量档,真人体验观测与结论回流 = [体验验证清单](../../../体验验证清单.md)
2. **无障碍专项文档——已完成(2026-09-27 拍板:不另立 design/accessibility-requirements.md)**:基线(对比/色弱/字号/闪烁/减动效/纯鼠标/中文字体)权威 = [HUD框架](../systems/表现与支撑/HUD框架.md)「可访问性基线」节;正式分层(文本缩放/色盲模式/按键重映射)归 [设置与本地化](../systems/表现与支撑/设置与本地化.md) 待设计问题清单 #1(设置项全集裁决时定);本 spec §Accessibility 为呈现侧落地承诺
1. **Player journey map——已完成(2026-09-27 拍板:不建)**:实现前补建的前提随战斗屏实装失效;情绪曲线事实源 = art-bible §2 能量档,真人体验观测与结论回流 = [体验验证清单](../../体验验证清单.md)
2. **无障碍专项文档——已完成(2026-09-27 拍板:不另立 design/accessibility-requirements.md)**:基线(对比/色弱/字号/闪烁/减动效/纯鼠标/中文字体)权威 = [HUD框架](../gdd/systems/表现与支撑/HUD框架.md)「可访问性基线」节;正式分层(文本缩放/色盲模式/按键重映射)归 [设置与本地化](../gdd/systems/表现与支撑/设置与本地化.md) 待设计问题清单 #1(设置项全集裁决时定);本 spec §Accessibility 为呈现侧落地承诺
3. **interaction-patterns.md——已建成**:本 spec 引入的四 pattern(双源拒绝反馈/逐行兑现明细带/悬停预承诺光标/点阵资源显示)均已入库成文(pattern 1/3/4/5)
4. **战斗表现美术测试**(game-concept 已登记,战斗表现前强制):本 spec 的常驻双舞台分屏(布局决策 1)是测试的布局输入——**敌人卡形态已裁决(2026-09-20 用户看对照样张拍板):全站桩式(无框立绘+底座),主角同样站桩、状态小图标挂血条下,卡片式整体退役**;站桩式不改变分区结构。对照样张已存档(敌人卡与站桩式对照样张)
5. **移动动画形态**(布局决策 3):≤150ms 短滑为推荐值,playtest 观测「移动太瞬/太拖」反馈后调
+5 -5
View File
@@ -1,8 +1,8 @@
# 营地场景 UX spec(camp)
> 状态:v2.8(现行)
> 事实源:本 spec(呈现)+ [元进度](../systems/跨局循环/元进度.md)(机制)
> 美术画法:[art-bible](../../art/art-bible.md) §6.2/§7.5;素材命名与路径:[asset-path-map](../../art/asset-path-map.md)
> 事实源:本 spec(呈现)+ [元进度](../gdd/systems/跨局循环/元进度.md)(机制)
> 美术画法:[art-bible](../art/art-bible.md) §6.2/§7.5;素材命名与路径:[asset-path-map](../art/asset-path-map.md)
> 相邻:[level-map.md](level-map.md)(主菜单语境)
## 定位
@@ -26,9 +26,9 @@
**场景按要素分层(10 张)**:远景天空/远山/整片地面/门洞内的小路合成 `scene_camp_bg` 背景层(z0,不透明全幅);中景木围墙独立成 `scene_camp_wall` 围墙层(z1,透明底,门洞处留透明缺口);其余八个物件层各一张、由上往下叠。门洞是围墙层的透明缺口,透出背景层画的**一条通向远处的小路**,不可填死。
**地平线在终稿 y367**(自画面底部往上约 46%),其上是天空与远山、其下整片地面;**中景围墙带 y203–367**,桩身 150、门柱 164;近景物件允许压住围墙(围墙不可点,z 序在近景物件之下),**唯一例外=中间门洞必须留空、不被任何物件遮挡**。围墙形态、门扇比例与帐篷尺寸的现行口径归 [art-bible](../../art/art-bible.md) §6.2,本 spec 不再复述。
**地平线在终稿 y367**(自画面底部往上约 46%),其上是天空与远山、其下整片地面;**中景围墙带 y203–367**,桩身 150、门柱 164;近景物件允许压住围墙(围墙不可点,z 序在近景物件之下),**唯一例外=中间门洞必须留空、不被任何物件遮挡**。围墙形态、门扇比例与帐篷尺寸的现行口径归 [art-bible](../art/art-bible.md) §6.2,本 spec 不再复述。
坐标草案与分层验收判据见 [camp-scene-prompts](../../art/camp-scene-prompts.md) §2.3/§4(10 张口径现行事实源);2026-10-22 美术方案讨论沿革查 git 提交史。
坐标草案与分层验收判据见 [camp-scene-prompts](../art/camp-scene-prompts.md) §2.3/§4(10 张口径现行事实源);2026-10-22 美术方案讨论沿革查 git 提交史。
## 点选反馈(根态)
@@ -38,7 +38,7 @@
## 顶栏
钥石余额常驻画面顶部一行小 HUD 栏:高 48px、全宽窄条、**浮层覆盖在场景图上层,不挤压画面**。栏体底=营地头带深棕 `#6E4526`(token `CAMP_HEADER_BAND`,色值出处 [art-bible](../../art/art-bible.md) §7.2 五 token 对齐表)× **不透明度 0.80**——半透明系定值,底下画面透出 20%。栏内**只放钥石徽章一件**,右位、顶格落座(徽章自高 48px=栏高,无顶距可言),左位不放件。验收:目检〈顶栏成一条可辨窄带、徽章落在带内〉+机检〈栏体呈色对其下方落位带底色对比 ≥3:1〉。刷新入口已实装=营地刷新单口(进档与营地内写口尾触发,现开界面与顶栏余额同步取现值)。
钥石余额常驻画面顶部一行小 HUD 栏:高 48px、全宽窄条、**浮层覆盖在场景图上层,不挤压画面**。栏体底=营地头带深棕 `#6E4526`(token `CAMP_HEADER_BAND`,色值出处 [art-bible](../art/art-bible.md) §7.2 五 token 对齐表)× **不透明度 0.80**——半透明系定值,底下画面透出 20%。栏内**只放钥石徽章一件**,右位、顶格落座(徽章自高 48px=栏高,无顶距可言),左位不放件。验收:目检〈顶栏成一条可辨窄带、徽章落在带内〉+机检〈栏体呈色对其下方落位带底色对比 ≥3:1〉。刷新入口已实装=营地刷新单口(进档与营地内写口尾触发,现开界面与顶栏余额同步取现值)。
## 叠层与开合
@@ -4,7 +4,7 @@
> **Author**: user + ux-designer
> **Last Updated**: 2026-10-29
> **Template**: Interaction Pattern Library
> **来源**: `design/gdd/ux/battle.md` 已拍板内容的成文固化——本库不引入新设计决策
> **来源**: `design/ux/battle.md` 已拍板内容的成文固化——本库不引入新设计决策
---
@@ -84,7 +84,7 @@ MVP 未使用标准控件(不入库):toggle / dropdown / input field / tab
**Description**: 轮末结算逐行流水实时呈现——「扫雷之因逐行兑现为战果」(P2 归因)的承载面。挖掘期收起为 1 行上轮摘要;结算期展开为实时流(带高读 `log_band_h_settle`)。
**Specification**:
- 数据源:[战斗结算](../systems/战斗循环/战斗结算.md#明细流水每一行都能指回你刚才的哪一步棋)步骤流(9 类行封闭协议(现行);公共字段:来源类别 / 来源格 / 轮次 / 显示名 / 数值 / 可空高光标记);**无来源行 = 断言失败**
- 数据源:[战斗结算](../gdd/systems/战斗循环/战斗结算.md#明细流水每一行都能指回你刚才的哪一步棋)步骤流(9 类行封闭协议(现行);公共字段:来源类别 / 来源格 / 轮次 / 显示名 / 数值 / 可空高光标记);**无来源行 = 断言失败**
- 行模板:「{行为} {值} → {目标}(来源)」——来源标注(第 N 轮 · 安全格式);行文案最长 token = 来源标签(4 汉字封闭枚举),模板预留 40% 膨胀宽度
- 聚合纪律:未生效类行(奖励未生效——现行 9 类行协议唯一未生效型)按聚合计数呈现(防逐行惩罚轰炸);衰减行聚合计数;效果行数值 = 单次贡献值、禁与池合成值相加呈现;零值行可见不吞(免伤轮归因不断点)
- 高亮:高亮标记(封印标中、清图奖励、完美破除) → 金框强调;完美封印 = 独立高光行 + 全屏喝彩级反馈。「完美破除」的判据句读作「本板首次标错受检」,不等于完美资格已失——专长「完美保险」可在本场首次标错时豁免,实际资格按有效误标(误标总数 − 豁免数)判定
@@ -92,7 +92,7 @@ MVP 未使用标准控件(不入库):toggle / dropdown / input field / tab
- 击杀标记呈现(H3 数据源 = 战斗结算流水击杀结果字段)
**When to Use**: 任何「因果可归因」的逐行流水呈现
**When NOT to Use**: 自造行类型/字段(9 类封闭枚举(现行)——增删 = 接口漂移,须走[《战斗结算》](../systems/战斗循环/战斗结算.md#明细流水每一行都能指回你刚才的哪一步棋)修订)
**When NOT to Use**: 自造行类型/字段(9 类封闭枚举(现行)——增删 = 接口漂移,须走[《战斗结算》](../gdd/systems/战斗循环/战斗结算.md#明细流水每一行都能指回你刚才的哪一步棋)修订)
**Reference**: battle.md §Component Inventory 结算明细带、§AC 信息与归因;归档《战斗结算》(b1-settlement.md)Core Rule 14 / Visual Req
@@ -22,7 +22,7 @@
## 现行载体与目标形态(重要边界)
本屏**没有独立新屏**:现行与 MVP 目标载体都是关卡收束时刻的覆盖层反馈([HUD框架](../systems/表现与支撑/HUD框架.md) P1 行「相邻域屏完整屏形态:MVP 以覆盖层反馈承载」)。本 spec 锁义务与数据锚,不锁视觉形态;完整屏形态待 P1 屏实装时定。
本屏**没有独立新屏**:现行与 MVP 目标载体都是关卡收束时刻的覆盖层反馈([HUD框架](../gdd/systems/表现与支撑/HUD框架.md) P1 行「相邻域屏完整屏形态:MVP 以覆盖层反馈承载」)。本 spec 锁义务与数据锚,不锁视觉形态;完整屏形态待 P1 屏实装时定。
| 时刻 | 载体(目标形态) | 呈现内容 |
|---|---|---|
@@ -93,7 +93,7 @@
## Accessibility
沿用 [HUD框架](../systems/表现与支撑/HUD框架.md)「可访问性基线」节全量(对比/色弱/字号/闪烁/减动效/纯鼠标/中文字体)——本屏无新增承诺。结算数字是本屏信息主载体,遵守同一字号下限与对比硬指标。
沿用 [HUD框架](../gdd/systems/表现与支撑/HUD框架.md)「可访问性基线」节全量(对比/色弱/字号/闪烁/减动效/纯鼠标/中文字体)——本屏无新增承诺。结算数字是本屏信息主载体,遵守同一字号下限与对比硬指标。
## Acceptance Criteria
@@ -7,7 +7,7 @@
> **Template**: UX Spec
> **覆盖范围**: 独立屏形态(关卡停点全景)· 入口停点 · 岔路停点 · 单链停点 · 放弃冒险入口
> **不覆盖**: 节点覆盖层(NodeOverlay——奖励/恢复兑付反馈,spec:[node-reward.md](node-reward.md))、商店覆盖层(spec:[shop.md](shop.md))、关卡结算屏([level-clear.md](level-clear.md))、战斗屏([battle.md](battle.md))
> **机制权威**: [关卡节点地图](../systems/冒险循环/关卡节点地图.md)(选路、兑付、停点语义);图的来源 = [关卡节点图生成](../systems/冒险循环/关卡节点图生成.md)(参数化长图——只换图的来源与形态,不换本屏的呈现语义;多终点时各终点均带 Boss 标记,标记语义不变、数量随图;图形态随参数变化,布局自适应,形态不进呈现代码);**系统契约**: [HUD框架](../systems/表现与支撑/HUD框架.md)(订阅纪律、模态层级、可访问性基线)
> **机制权威**: [关卡节点地图](../gdd/systems/冒险循环/关卡节点地图.md)(选路、兑付、停点语义);图的来源 = [关卡节点图生成](../gdd/systems/冒险循环/关卡节点图生成.md)(参数化长图——只换图的来源与形态,不换本屏的呈现语义;多终点时各终点均带 Boss 标记,标记语义不变、数量随图;图形态随参数变化,布局自适应,形态不进呈现代码);**系统契约**: [HUD框架](../gdd/systems/表现与支撑/HUD框架.md)(订阅纪律、模态层级、可访问性基线)
> **生成图随动登记**:入口停点候选数=入口个数(1 或多,多入口并列呈现,首跳即选从哪个入口进场);节点数字=图内句柄 id(非节点深度、非数组序);生成图深度域 L3 上探至 0–13——卷轴视口范式(布局决策 5)下画布随图生长、屏为窗口,深度不再受屏预算约束(2026-11-05 用户裁:滚动视口案落地、等比缩放案否决;原「超预算」挂账闭合)。
---
@@ -28,7 +28,7 @@
- **到达时机**:关卡开始即出图(停点前移——入口不自动进入,第一次选路就是「出发」);或每次兑付确认后返回(战后回图、奖励/恢复反馈确认后回图、商店覆盖层离开后回图)
- **到达前刚在做**:上一场战斗的结算画面,或奖励/恢复/商店覆盖层的确认动作
- **情绪状态**:谋定后动——[art-bible](../../art/art-bible.md) §2.7 下探过渡的「纵深的期待」(能量 4/10);画面应安静可读,不给选路决策添噪
- **情绪状态**:谋定后动——[art-bible](../art/art-bible.md) §2.7 下探过渡的「纵深的期待」(能量 4/10);画面应安静可读,不给选路决策添噪
- **到达方式**:游戏推进送入(屏级切换——独立屏激活期战斗屏整体隐藏)
## Navigation Position
@@ -52,7 +52,7 @@
本屏必须传达的全部信息,按注视优先级分六层:
1. **节点图本体**(第一注视点):节点方块(五类型字面:战/赏/疗/王/商)、通道连线、当前位置、可选去路;类型可见性=邻近 N 层内显示类型,范围外只见结构(机制见[关卡节点地图](../systems/冒险循环/关卡节点地图.md))
1. **节点图本体**(第一注视点):节点方块(五类型字面:战/赏/疗/王/商)、通道连线、当前位置、可选去路;类型可见性=邻近 N 层内显示类型,范围外只见结构(机制见[关卡节点地图](../gdd/systems/冒险循环/关卡节点地图.md))
2. **候选选路口**:亮金候选通道 + 候选节点亮金描边——「下一步能去哪」的图上双冗余(2026-09-27 拍板:候选按钮退役,图上点击为唯一提交通道)
3. **常驻语境**(顶栏):关卡名(第 N 层·名称)、GP 常驻总量(2026-09-26 二轮拍板:GP = 关卡画面常驻总量)
4. **状态展示**(底栏,2026-09-27 拍板):生命(当前/上限)、属性(攻击 / 护甲 AC 有效值)、本关已选加成(统一冒险加算区增量)——选路规划原料常读
@@ -233,7 +233,7 @@
## Accessibility
无障碍基线权威 = [HUD框架](../systems/表现与支撑/HUD框架.md)「可访问性基线」节,本屏无新增豁免。呈现侧内建承诺:
无障碍基线权威 = [HUD框架](../gdd/systems/表现与支撑/HUD框架.md)「可访问性基线」节,本屏无新增豁免。呈现侧内建承诺:
- **节点态形状冗余**(全局语义红线「无任何信息仅靠色相承载」的合规项):已过 = 暗金无描边、当前 = 金填充 + 唯一焦点方块、候选 = 亮金粗描边、未来 = 暗底无描边;Boss = 紫赤描边 + 外缘 1px 深墨环(**灰度冗余通道**——紫赤灰度对石纹噪底不可辨)+ 图标冗余。四态在灰度截图下可分类(AC,样张 L2 断言承载)
- **对比**:节点图标对方块底(双色墨制:暗底态暖白/当前金底深墨,各态 ≥4.5:1)、顶栏数字对底 ≥4.5:1(样张 L3 断言承载);色值取 art-bible §4.1 冻结色板(已过暗金 = GOLD_DONE #68562C 冻结新值)
@@ -295,12 +295,12 @@
| 义务源 | 义务 | 本 spec 承载落点 |
|---|---|---|
| [关卡节点地图](../systems/冒险循环/关卡节点地图.md) | 呈现侧口径:方块地牢观感、节点态四色、不另设进度条 | Information Hierarchy 第 5 层 + 图区组件行 |
| [关卡节点地图](../gdd/systems/冒险循环/关卡节点地图.md) | 呈现侧口径:方块地牢观感、节点态四色、不另设进度条 | Information Hierarchy 第 5 层 + 图区组件行 |
| 关卡节点地图 | 零自动推进、兑付后确认、选路只读 | Interaction Map + Data Requirements + AC |
| 关卡节点地图 | 呈现只读(节点图/当前位置/可选下一跳对呈现层只读可见) | Data Requirements 只读出口清单 |
| [HUD框架](../systems/表现与支撑/HUD框架.md) | 模态 overlay 层级纪律、订阅纪律(推进信号两线之一) | Navigation Position + Data Requirements 架构注记 |
| [HUD框架](../gdd/systems/表现与支撑/HUD框架.md) | 模态 overlay 层级纪律、订阅纪律(推进信号两线之一) | Navigation Position + Data Requirements 架构注记 |
| HUD框架 | 可访问性基线全量(对比/色弱/字号/闪烁/减动效/纯鼠标/中文字体) | Accessibility |
| [battle.md](battle.md) OQ14 二轮拍板 | GP = 关卡画面常驻总量 | 顶栏 GP 常驻徽章 |
| [art-bible](../../art/art-bible.md) | 方块地牢观感(§3.2 圆角方形世界侧)、色板冻结(§4.1)、半拟物(§7.1)、明度分层(§2) | 图区组件 + Accessibility 对比条 |
| [art-bible](../art/art-bible.md) | 方块地牢观感(§3.2 圆角方形世界侧)、色板冻结(§4.1)、半拟物(§7.1)、明度分层(§2) | 图区组件 + Accessibility 对比条 |
---
@@ -2,7 +2,7 @@
> 状态:v3.0(现行)
> 事实源:本 spec(呈现)+ 三选一覆盖层(共用呈现件)+ 头部行文案(旁白条目)
> 相邻:[level-clear](level-clear.md)(关卡完成三选一面——同一覆盖层的另一上下文)/ [level-map](level-map.md)(关卡画面)/ [秘宝](../systems/跨局循环/秘宝.md)(道具件内容权威——局外同调件,不再入三选一牌库)/ [冒险结构](../systems/冒险循环/冒险结构.md)(共享池令牌库账本)
> 相邻:[level-clear](level-clear.md)(关卡完成三选一面——同一覆盖层的另一上下文)/ [level-map](level-map.md)(关卡画面)/ [秘宝](../gdd/systems/跨局循环/秘宝.md)(道具件内容权威——局外同调件,不再入三选一牌库)/ [冒险结构](../gdd/systems/冒险循环/冒险结构.md)(共享池令牌库账本)
## 定位
@@ -13,8 +13,8 @@
- 载体 = 提升三选一覆盖层(与 [level-clear](level-clear.md) 共用组件——零新增交互原语)。
- 头部行:「关卡奖励点 / 从冒险牌库抽三选一(属性值提升与补给;与通关专长三选一同库分流):选择一件带走:」(旁白条目)。
- 三卡点选(✓ 高亮,确认前可改选)→「确认选择」→ 兑付反馈(选中件效果 + 丢弃提示)→「继续」→ 回图选路(零自动推进同款)。
- **三选一刷新**(X/Y 双源;机制现行事实源=[秘宝](../systems/跨局循环/秘宝.md)「三选一刷新双源」节,X 源承载件=现行目录「刷新练习」):装配「三选一刷新件」给 X 次(每次碰三选一重给、优先消耗、不结转)+ 营地「刷新升级」给 Y 次(每冒险开局注入冒险周期池、用完即无);刷新钮余量 >0 时现形,点按重抽三候选(奖励抽取既有洗牌流,池规则全保留:不放回/达上限剔牌/掷定前置直显/停点可中断)。自动演示默认不刷(钓鱼归玩家)。
- **三选一刷新**(X/Y 双源;机制现行事实源=[秘宝](../gdd/systems/跨局循环/秘宝.md)「三选一刷新双源」节,X 源承载件=现行目录「刷新练习」):装配「三选一刷新件」给 X 次(每次碰三选一重给、优先消耗、不结转)+ 营地「刷新升级」给 Y 次(每冒险开局注入冒险周期池、用完即无);刷新钮余量 >0 时现形,点按重抽三候选(奖励抽取既有洗牌流,池规则全保留:不放回/达上限剔牌/掷定前置直显/停点可中断)。自动演示默认不刷(钓鱼归玩家)。
## 口径
- **同库同池耗**:池=固定配额令牌库(档位=四级框架 普通/优秀/稀有/传说,传说=头奖位留空〔稀有档现投放为行动点件〕;各 kind 现行配额读 `game/data/tables/adventure.tres`);洗牌不放回抽 3(**同 kind 去重每 kind 至多一枚**——「三种不同选项」体验延续,kind 出现率∝剩余令牌数)、选中踢池未选回池、池耗即枯竭(余库不足出齐剩余,空库=零候选合法态直通);**种类次数上限退役**(池消耗即上限)。数值对:小GP 20/大GP 50、小增伤 +1/大 +2、小护甲 +1/大 +2、小生命 +5/大 +10、恢复 +6 当即回血(封顶生效上限)、AP +1。**MC 策略 316-f**:1 级优先度=最稀有(legendary>rare>excellent>common,头奖位现行留空)、2 级=最左(并列同档取最左)。配额结构锚与档位构成读冒险表(结构校验归实现侧)。商店货架=同库付费渠道(令牌级货架,买一件=奖励面少一件),库存=剩余令牌数,账本语义与切边注记归[冒险结构](../systems/冒险循环/冒险结构.md)共享池账本节。
- **同库同池耗**:池=固定配额令牌库(档位=四级框架 普通/优秀/稀有/传说,传说=头奖位留空〔稀有档现投放为行动点件〕;各 kind 现行配额读 `game/data/tables/adventure.tres`);洗牌不放回抽 3(**同 kind 去重每 kind 至多一枚**——「三种不同选项」体验延续,kind 出现率∝剩余令牌数)、选中踢池未选回池、池耗即枯竭(余库不足出齐剩余,空库=零候选合法态直通);**种类次数上限退役**(池消耗即上限)。数值对:小GP 20/大GP 50、小增伤 +1/大 +2、小护甲 +1/大 +2、小生命 +5/大 +10、恢复 +6 当即回血(封顶生效上限)、AP +1。**MC 策略 316-f**:1 级优先度=最稀有(legendary>rare>excellent>common,头奖位现行留空)、2 级=最左(并列同档取最左)。配额结构锚与档位构成读冒险表(结构校验归实现侧)。商店货架=同库付费渠道(令牌级货架,买一件=奖励面少一件),库存=剩余令牌数,账本语义与切边注记归[冒险结构](../gdd/systems/冒险循环/冒险结构.md)共享池账本节。
@@ -25,7 +25,7 @@
- 触发:主角倒下(判负)/ 末关完成 / 玩家放弃——三结局同面(由冒险收束信号统一触发)。
- 载体:与战斗面同一个战斗结束覆盖层——末关关卡完成走胜利态开屏(金蜡封 +「本局 GP 入账 · 合计 N」行,GP 收束清零前的呈现侧影子账);倒下 / 放弃走失败态开屏(暮蓝)。无独立「冒险终局面板」实体。
- 呈现内容:冒险摘要五件事(定义归[冒险结构](../systems/冒险循环/冒险结构.md))+ 钥石写入明细(= 本局逐杀 Boss 掉落合计;消费归[元进度](../systems/跨局循环/元进度.md) 的冒险结算入账——大奖励面不产钥石)+ GP 合计行。
- 呈现内容:冒险摘要五件事(定义归[冒险结构](../gdd/systems/冒险循环/冒险结构.md))+ 钥石写入明细(= 本局逐杀 Boss 掉落合计;消费归[元进度](../gdd/systems/跨局循环/元进度.md) 的冒险结算入账——大奖励面不产钥石)+ GP 合计行。
- 出口:确认 → 回存档首页。
## 口径
+2 -2
View File
@@ -2,7 +2,7 @@
> 状态:v1.2(现行)
> 事实源:本 spec(呈现)+ 商店覆盖层(呈现件)
> 机制权威:[关卡节点地图](../systems/冒险循环/关卡节点地图.md)(商店房编排:每关恰 1/Boss 前一位必经/兑付触发);定价数值归[难度曲线与Boss](../systems/冒险循环/难度曲线与Boss.md)(shop.tres,provisional)
> 机制权威:[关卡节点地图](../gdd/systems/冒险循环/关卡节点地图.md)(商店房编排:每关恰 1/Boss 前一位必经/兑付触发);定价数值归[难度曲线与Boss](../gdd/systems/冒险循环/难度曲线与Boss.md)(shop.tres,provisional)
## 定位
@@ -17,6 +17,6 @@
## 口径
- GP 余额读数 = runner 钱包投影(GP 归[冒险结构](../systems/冒险循环/冒险结构.md) GP 节);本层不作计算。
- GP 余额读数 = runner 钱包投影(GP 归[冒险结构](../gdd/systems/冒险循环/冒险结构.md) GP 节);本层不作计算。
- 与关卡画面 GP 常驻徽章的关系:进店语境余额与选路常驻总量不同义(本层带购买语境),不构成重复展示——钥石「写入/存量」拆名逻辑同款。
- 购买确认交互:现行直接购买(无二次确认步);是否需破坏性确认异位(pattern 7)未裁决,本 spec 只登记现状不立新裁。