两文件是流水线流程件而非游戏描述件,此前住在 design/gdd/ 造成三处不适配: gdd_lint 必须为它们逐条关掉体裁规则、格式权威却写在 doc-conventions §12、 与同族的 roadmap(在仓库根)分居两处。迁到根后按 roadmap.md 的无编号风格改名。 - 迁出:design/gdd/06-待办清单.md → 待办清单.md;07-体验验证清单.md → 体验验证清单.md - 指向改写 53 个文件:GDD 各系统文档指路存根、四份规约、02 根索引、README/roadmap/AGENTS - 两份清单自身 74 处出站链接按新基址重指(../art → design/art、systems → design/gdd/systems) - gdd_lint:待办/体验验证两文件的 R1/R3/R5/R7 豁免行随迁删除(已脱离扫描面),后门表清零 - pipeline_gate 默认路径、log_analysis/render_gate 称谓、repo_structure_audit 根文件白名单同步 - 保护面补写:两份清单列入实现批禁写清单(AGENTS 两类批条 / process-conventions §12 / 架构文档域表), 条目状态只由流水线各段推进 - 范围外未动(用户令「全不碰」):reports/ 与 design/research/ 的 22 处历史指向、game/ 两处注释
12 KiB
UX Spec: 关卡结算屏(Level Clear)——提升三选一选择面
Status: v2 义务锁定版(2026-10-01 迭代 10 奖励重构批重写——三件套快照展示退役,改三选一选择交互;呈现形态随实装批定,视觉终稿以表现层样张为前置,见 P1/OQ4;本批渲染层验证冻结——目检清单顺带交付、实机目检待用户批准) Author: user + ZCode(UX 文档欠账处置批;迭代 10 重写) Last Updated: 2026-10-15(简明技术中文用语规范批:词面修正 4 处;原标 2026-10-01 滞后于 2026-10-09 两条修订记录,本批一并对齐) Platform Target: PC (Steam)——Keyboard/Mouse 主,全部操作纯鼠标可完成(同 battle.md) Template: UX Spec 来源: battle.md OQ8 欠账处置(2026-09-27 用户拍板建档)+ 迭代 10 奖励重构批(2026-09-30 用户拍板案丙——三选一/部分回血/钥石挪转,计划书 m3-iter10-loop-plan-2026-09-30.md)
Purpose & Player Need
关卡结算屏是关卡收束时刻的清算与选择面:末节点 Boss 倒下、本关结束,玩家在这里看到这一关的账(部分回血的兑付反馈),然后从三个提升选项里挑一件带走——本作第一个选择型奖励面。
一句话目的:让「打穿了一关」的收束感落在一笔算得清的账上,并把「这关带我变强」变成玩家自己做的决定。
- 专长三选一承载局内成长的选择权:候选 = 纯专长(通关渠道只出专长——迭代 15② 渠道分离)、点选一件兑付、另两件丢弃不可反悔
- 部分回血承载收束反馈:通关不再自动回满,回血量一眼可读(满血回 0 合法)
- 钥石增量不在本屏(迭代 10 起):Boss 击杀进账时刻的钥石增量行已迁战斗总结结算(settlement-summary.md v1.1)——单一展示面原则,本屏不重复
若此屏缺失或难用:奖励选择沦为无声的自动发放(选择权缺失);三选一停点不可中断则续玩丢选择。
现行载体与目标形态(重要边界)
本屏没有独立新屏:现行与 MVP 目标载体都是关卡收束时刻的覆盖层反馈(HUD框架 P1 行「相邻域屏完整屏形态:MVP 以覆盖层反馈承载」)。本 spec 锁义务与数据锚,不锁视觉形态;完整屏形态归 P1 实装批。
| 时刻 | 载体(目标形态,迭代 10 实装) | 呈现内容 |
|---|---|---|
| Boss 战胜利(非末关) | 战斗总结结算(settlement-summary.md)→ 确认后进本屏 | 战利品行含钥石增量行 → 本屏:部分回血反馈 + 三选一三卡 |
| 非末关通关(本屏默认态) | 三选一覆盖层(curio_pick_overlay——与奖励节点共用面) | 部分回血兑付行 + 三张专长选项卡(点选+确认+兑付反馈) |
| 末关通关 / 失败 / 放弃 | 冒险结算(复用战斗终局 overlay) | 冒险摘要五件事 + 钥石入账明细——相邻域(冒险终结面,非本屏职责) |
Navigation Position
战斗屏 ──胜利(末节点 Boss)──▶ 战斗总结结算(GP/钥石增量行)──确认──▶ 【关卡结算(level_clear)】
├─ 非末关:回血反馈 + 三选一点选兑付 → 下一关开始(→ 关卡画面选路)
└─ 末关通关:直通冒险结算(相邻域)→ 返回存档/营地
失败不经本屏(战斗屏失败分支直达冒险终结)。
- 上游屏:战斗总结结算(Boss 胜利确认——settlement-summary.md v1.1)
- 下游屏:关卡画面(下一关开始,选路枢纽——屏级 spec:level-map.md);末关时改接冒险结算(相邻域屏)
Entry & Exit Points
| 方向 | 触发 | 携带语境 |
|---|---|---|
| 进入 | 战斗总结结算确认 → 关卡收束(先清库后宣布)→ 非末关兑付部分回血 → 三选一候选呈现(bonus_pick 信号) | 三候选(件 id + 名称 + 效果行值);部分回血前后生命读数;GP 账本余额(跨关延续) |
| 离开 | 三选一确认兑付 → 继续钮(唯一出口) | 兑付反馈载荷 → 下一关开始 |
零自动推进(冒险结构 契约 4):三选一呈现后必须玩家点选才兑付,确认前玩家不被推着走;重复兑付被拒。选择停点可中断:断点附随件扩「奖励选择态」,续玩回到本屏同一候选(不重抽)。
Information Hierarchy(义务锁定)
按 2026-09-26 信息归属两铁律(循环口径 + 单一展示面)过闸后的准入清单:
- 三张提升选项卡(第一注视点):件名称 + 一行效果读数(值读冒险表)——选择型奖励的本体;已达次数上限的件不出现(剔牌库在先);候选 = 纯专长(迭代 15② 渠道分离——原六种池抽三与秘宝件直显分别随迭代 12 TP0/迭代 11①退役)
- 部分回血兑付行:回血量(前后生命读数,如「生命 34 → 42」);满血回 0 时呈「生命已满」反馈而非 0 字样
- 兑付反馈(确认后):选中件效果一行(如「攻击 +1」)+ 另两件已丢弃提示
同调位替换子交互(已随渠道退役:秘宝件自迭代 11① 起不再入三选一池、通关候选 = 纯专长,本屏无道具件候选——替换子交互不于本屏触发;同调装配归营地)
禁入清单(两铁律推导):战斗小循环数据(结算明细、状态效果——留在战斗屏);GP(呈现位已拍板 = 战斗总结结算 + 关卡画面常驻);钥石增量与累计(迭代 10 起归战斗总结结算增量行 + 冒险总结结算收束明细——本屏零钥石元素);营地柜台全量;冒险摘要五件事(末关时由相邻域冒险结算屏承载);已达上限件(不出现在候选)。
States & Variants
| State | Trigger | What Changes |
|---|---|---|
| 三选一选择态(默认) | 非末关通关,候选已抽定 | 三卡呈现(零自动推进)→ 点选 → 确认 → 兑付反馈 → 继续 |
| 已随渠道退役(秘宝件出池、通关候选 = 纯专长——本屏无道具件候选) | ||
| 兑付反馈态 | 确认兑付后 | 选中件效果一行 + 丢弃提示 → 继续钮点亮 |
| 末关通关 | level_clear 且末关 | 直通冒险结算——不发三选一与回血(奖励只朝下一战生效);本屏不出现 |
| Boss 入口语境 | 击杀 Boss(恒为本屏入口前置) | 入口演出归战斗屏;钥石增量行归战斗总结结算——本屏不另设 |
Interaction Map
| 组件 | 动作 | 输入 | 即时反馈 | 结果(经组合根) |
|---|---|---|---|---|
| 提升选项卡 ×3 | 点选(单选高亮) | 左键 | 选中卡高亮、确认钮点亮 | 选中态暂存(未确认可改选) |
| 确认钮 | 兑付选中件 | 左键 | 兑付反馈(效果一行) | AdventureRunner 兑付恰一件(重复兑付被拒);另两件丢弃不可反悔 |
| 继续钮 | 接受结算、推进 | 左键 | 按钮下压 | 下一关开始(AdventureRunner.continue_to_next_level——兑付后受理) |
| —— | —— | —— | 已随渠道退役(本屏无道具件候选) |
复用既有交互范式,零新增原语:三卡点选 = 奖励节点 choice_box 按钮数组同族(node_overlay.show_reward_items 先例)+ 选路覆盖层点选确认两段式(level_map_screen 先例);覆盖层容器 = 中场确认覆盖层位置复用。
Data Requirements
| Data | Source System | Read / Write | Notes |
|---|---|---|---|
| 三候选(件 id/名称/效果行值) | 冒险结构 bonus_pick 信号(令牌池洗牌不放回抽 3〔同 kind 去重——v0.14 令牌池换代口径,原「加权洗牌」退役〕,reward_pick 封闭流) | Read | 载荷自包含、despawn 前捕获;同种子同三候选(可复放) |
| 部分回血读数(回血前后生命) | 冒险结构生命账本(clear_heal_pct 兑付) | Read | 满血回 0 合法态文案化 |
| 兑付反馈载荷 | 冒险结构 bonus_resolved 信号 | Read | 选中件 id + 生效值 |
| —— | —— | 替换子态随渠道退役;过渡键 transitional_sync_slots 已退役(迭代 11① T7——同调位现行事实源 = attunement_growth.tres 谓词表实时求值) | |
| 冒险摘要(五件事) | 冒险结构 adventure_finished 载荷 | Read | 末关分支数据锚(相邻域冒险结算屏消费) |
| GP 账本 | 冒险结构 GP 冒险账本 | — | 不进本屏(维持 2026-09-27 拍板) |
| 钥石入账 | 元进度 settle_adventure | Write(相邻域) | 唯一写档点不变;本屏零钥石元素(迭代 10 起,增量行迁战斗总结结算) |
Accessibility
沿用 HUD框架「可访问性基线」节全量(对比/色弱/字号/闪烁/减动效/纯鼠标/中文字体)——本屏无新增承诺。结算数字是本屏信息主载体,遵守同一字号下限与对比硬指标。
Acceptance Criteria
- 非末关通关必经本屏:三选一恰呈现一次(零自动推进)、点选后恰兑付一件(重复兑付被拒)、未选项零生效
- 三候选读数可见且与 bonus_pick 载荷一致(件名称 + 效果行值);同种子同三候选
- 部分回血兑付行可见且封顶上限;满血回 0 呈合法态文案
同调位替换子交互(已随渠道退役——本屏无道具件候选,见 Information Hierarchy 第 4 条注)- 末关通关分支正确直通冒险结算(不发三选一与回血),冒险摘要五件事完整
- 确认前冒险状态冻结(无后台推进、无战斗事件串扰);选择停点中断 → 续玩已选不丢失(候选一致性=停点快照承载的实现现状、非验收义务——2026-10-01 用户裁决)
- 呈现遵循 HUD框架 可访问性基线(对比 ≥4.5:1、字号下限、纯鼠标可完成;减动效 = 静态化)
- 本屏零钥石元素、零 GP 元素(禁入清单机检随冒烟断言)
Open Questions
- GP 增量展示面归属——已完成(2026-09-27 用户拍板):战斗胜利出现战斗总结结算、展示获得的资源(GP 增量+总量;迭代 10 起追加 Boss/精英钥石增量行);战斗失败出现冒险总结结算、确认后回存档首页。本屏不承载 GP 与钥石,无遗留。两面呈现 spec:settlement-summary.md v1.1
- 末关分支形态:末关通关时直通冒险结算(现行维持)——随完整屏形态实装批一并定
- 钥石呈现三面化——已完成(迭代 10 契约 6 推荐案):战斗总结结算(Boss/精英击杀增量行)+ 冒险总结结算(收束明细)+ 营地存量——「进账时刻 / 收束明细 / 存量可用」不同义不构成重复展示;本屏旧「钥石增量+累计」呈现随大奖励重构退役
- 视觉终稿:以表现层样张过审为前置(待办清单登记);本 spec 的 AC 为功能性判据,不含视觉终稿判据。本批渲染层验证冻结(用户 2026-10-01)——实装后目检清单顺带交付,实机目检待用户批准后补闸
- 替换子交互视觉形态——已随渠道退役:秘宝件出池后本屏无道具件候选,替换子交互不于本屏触发(原功能性判据留档)