From bd82229559e0320cb1d5000a5691bcd678160d54 Mon Sep 17 00:00:00 2001 From: DKChan <524912269@qq.com> Date: Wed, 30 Sep 2026 15:21:56 +0800 Subject: [PATCH] =?UTF-8?q?ux-spec:=20=E6=8B=8D=E6=9D=BF=E7=82=B92?= =?UTF-8?q?=E6=94=B6=E5=8F=A3=E6=89=B9=E2=80=94=E2=80=94=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E8=A3=81=E4=B8=99=EF=BC=88=E4=B8=A4=E9=9D=A2=E5=88=86=E8=8A=82?= =?UTF-8?q?+=E7=BA=AF=E5=91=88=E7=8E=B0=E8=BD=BB=E9=87=8F=EF=BC=89?= =?UTF-8?q?=EF=BC=9A=E6=96=B0=E5=BB=BA=20ux/settlement-summary.md=20v1.0?= =?UTF-8?q?=EF=BC=88=E6=88=98=E6=96=97=E6=80=BB=E7=BB=93=E7=BB=93=E7=AE=97?= =?UTF-8?q?/=E5=86=92=E9=99=A9=E6=80=BB=E7=BB=93=E7=BB=93=E7=AE=97?= =?UTF-8?q?=E4=B8=A4=E8=8A=82+=E5=91=BD=E5=90=8D=E6=94=B6=E5=8F=A3+GP?= =?UTF-8?q?=E9=92=A5=E7=9F=B3=E5=88=86=E5=B7=A5+=E7=A6=81=E9=87=8D?= =?UTF-8?q?=E5=A4=8D=E5=B1=95=E7=A4=BA=EF=BC=8C=E9=9B=B6=E6=96=B0=E6=A6=82?= =?UTF-8?q?=E5=BF=B5=EF=BC=89+02=E7=B4=A2=E5=BC=95=E8=A1=A5=E4=B8=A4?= =?UTF-8?q?=E8=A1=8C(settlement-summary/node-reward=E8=A1=A5=E7=99=BB)+bat?= =?UTF-8?q?tle.md=20OQ14=E4=B8=8Elevel-clear=20OQ1/OQ3=E6=94=B9=E6=8C=87?= =?UTF-8?q?=E8=B7=AF=E5=B9=B6=E9=80=80=E5=BD=B9=E7=BB=93=E7=AE=97=E7=94=BB?= =?UTF-8?q?=E9=9D=A2=E6=97=A7=E6=8E=AA=E8=BE=9E=EF=BC=9B=E6=8A=A5=E5=91=8A?= =?UTF-8?q?=E6=8B=8D=E6=9D=BF=E7=82=B92=E6=94=B9=E5=B7=B2=E8=A3=81?= =?UTF-8?q?=E8=AE=B0=E5=BD=95(=E7=94=B2=E4=B9=99=E5=BE=AA=E7=8E=AF?= =?UTF-8?q?=E9=94=99=E4=BD=8D=E5=90=A6=E5=86=B3+=E5=91=88=E6=8A=A5?= =?UTF-8?q?=E5=8F=8D=E6=80=9D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- design/gdd/02-系统清单.md | 2 + design/gdd/ux/battle.md | 2 +- design/gdd/ux/level-clear.md | 4 +- design/gdd/ux/settlement-summary.md | 42 +++++++++++++++++++ .../gdd-concept-coverage-audit-2026-09-30.md | 18 ++++---- 5 files changed, 57 insertions(+), 11 deletions(-) create mode 100644 design/gdd/ux/settlement-summary.md diff --git a/design/gdd/02-系统清单.md b/design/gdd/02-系统清单.md index a9b87863..41596f15 100644 --- a/design/gdd/02-系统清单.md +++ b/design/gdd/02-系统清单.md @@ -66,6 +66,8 @@ | `interaction-patterns.md` | 交互 pattern 库:核心 8 成文 + 目录 20 条 | Complete | | `level-clear.md` | 关卡结算屏 UX spec:大奖励三件套兑付与钥石/GP 结算呈现 | 义务锁定版·视觉终稿后置 | | `level-map.md` | 关卡画面 UX spec:选路枢纽三停点布局、GP 常驻徽章、交互映射与拍板点 | 占位升格版·视觉终稿后置 | +| `node-reward.md` | 节点奖励屏 UX spec:奖励节点三选一构筑点、可用池与池空直通(切片期过渡形态,随同调实施批退役改写) | v1.0(2026-09-29 本行 2026-09-30 补登) | +| `settlement-summary.md` | 结算总结 UX spec:战斗总结结算(战斗胜利面)与冒险总结结算(冒险终结面)——两面分节的纯呈现轻量 spec | v1.0·纯呈现已实装面成文 | ## 子系统命名对照表(中文规范名 ↔ 英文代号) diff --git a/design/gdd/ux/battle.md b/design/gdd/ux/battle.md index 265e4285..db7ca887 100644 --- a/design/gdd/ux/battle.md +++ b/design/gdd/ux/battle.md @@ -403,7 +403,7 @@ 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 体系为落点候选,随教学引导批次定 13. **敌方 AC 展示——已终裁收口(2026-09-26)**:用户终裁——敌方 AC 数值**全屏不展示**(任何区均不直接写上);护甲类型改**图标方式**展示(形状+色相双通道,终稿图标资产归美术批);敌人站桩底座下名字行退回**纯名字 + 护甲类型图标**。与旧「克制对策可读性义务」(敌人技能池批)的关系 = **义务降级承载**:类型保留(图标可读,对策判断仍可做)、数值退役(不再直接展示);敌人技能池批相关义务措辞由并行代码批同步。我方 AC 仍按 2026-09-26 二轮拍板保留于 C 区攻击数据框(唯一展示面) -14. **GP/钥石迁出战斗屏后的展示面归属——已拍板收口(2026-09-26 二轮)**:GP = 关卡画面常驻总量 + 战斗结算画面总量+增量;钥石 = 结算画面 + 营地。具体呈现形态归关卡画面/营地/结算 UX spec 批次(本 spec 只锁战斗屏迁出与去向) +14. **GP/钥石迁出战斗屏后的展示面归属——已拍板收口(2026-09-26 二轮)**:GP = 关卡画面常驻总量 + 战斗总结结算(总量+增量);钥石 = 冒险总结结算 + 营地。呈现 spec 已出生:[settlement-summary.md](settlement-summary.md) v1.0(2026-09-30——两面分节轻量 spec,本 OQ 为其命名与分工依据;「战斗结算画面」「结算画面」旧措辞随 spec 命名收口退役) --- diff --git a/design/gdd/ux/level-clear.md b/design/gdd/ux/level-clear.md index b03505a9..e3d960b2 100644 --- a/design/gdd/ux/level-clear.md +++ b/design/gdd/ux/level-clear.md @@ -102,9 +102,9 @@ ## Open Questions -1. **GP 增量展示面归属——已收口(2026-09-27 用户拍板)**:战斗胜利出现战斗总结结算、展示获得的资源(目前只有 GP);战斗失败出现冒险总结结算、确认后回存档首页——GP 总量+增量归战斗胜利总结结算(battle.md OQ14 口径为准);06 归属行「结算画面批 GP 增量」系登记偏差已同批修正。本屏不承载 GP,无遗留 +1. **GP 增量展示面归属——已收口(2026-09-27 用户拍板)**:战斗胜利出现战斗总结结算、展示获得的资源(目前只有 GP);战斗失败出现冒险总结结算、确认后回存档首页——GP 总量+增量归战斗胜利总结结算(battle.md OQ14 口径为准);06 归属行「结算画面批 GP 增量」系登记偏差已同批修正。本屏不承载 GP,无遗留。两面呈现 spec 已出生:[settlement-summary.md](settlement-summary.md) v1.0(2026-09-30) 2. **末关分支形态**:末关通关时本屏收缩为过场确认 vs 直通冒险结算(现行 = 直通)——随完整屏形态实装批一并定 -3. **「结算画面」口径——已收口(2026-09-27,随 GP 拍板一并落定)**:「钥石 = 结算画面 + 营地」中「结算画面」= 冒险总结结算(冒险摘要 + 钥石入账明细);大奖励屏的钥石增量+累计 = Boss 层进账呈现——两处并存系「进账时刻 vs 收束明细」不同义,不构成重复展示,维持现状 +3. **「结算画面」口径——已收口(2026-09-27,随 GP 拍板一并落定)**:「钥石 = 结算画面 + 营地」中「结算画面」= 冒险总结结算(冒险摘要 + 钥石入账明细);大奖励屏的钥石增量+累计 = Boss 层进账呈现——两处并存系「进账时刻 vs 收束明细」不同义,不构成重复展示,维持现状。「结算画面」单用为两义词(battle.md 旧语境指战斗面),已随 [settlement-summary.md](settlement-summary.md) 命名收口退役,叙述用全称 4. **视觉终稿**:以表现层样张过审为前置(06 待办登记);本 spec 的 AC 为功能性判据,不含视觉终稿判据 5. **清库反馈呈现**:载体 = 魔法道具背包,随魔法道具 P0 落地设计(义务挂账,本批不设计) diff --git a/design/gdd/ux/settlement-summary.md b/design/gdd/ux/settlement-summary.md new file mode 100644 index 00000000..c77c01c9 --- /dev/null +++ b/design/gdd/ux/settlement-summary.md @@ -0,0 +1,42 @@ +# 结算总结 UX spec(settlement-summary) + +> 状态:v1.0(2026-09-30 审计拍板点 2 用户裁决落文——两面分节、纯呈现轻量 spec;无新概念,只成文已实装的显示规则) +> 事实源:`game/presentation/views/battle_end_overlay.gd`(胜利金蜡封 / 失败暮蓝双形态载体)+ `main.gd`(胜利接线 main.gd:398 调试与迭代 8 卡⑥冒险主路径 / 冒险终局接线 main.gd:339-346) +> 相邻:[battle.md](battle.md)(战斗屏出口锚与信息归属两原则)/ [level-clear.md](level-clear.md)(关卡结算屏——Boss 胜利走大奖励面,非本 spec)/ [level-map.md](level-map.md)(GP 常驻徽章) + +## 定位 + +本 spec 承载两个**已实装**的结算总结呈现面(2026-09-27 用户拍板定名,接线登记 06 台账): + +- **战斗总结结算**——冒险模式普通战斗胜利时的总结覆盖层(战斗小循环的出口呈现); +- **冒险总结结算**——冒险终结(倒下 / 末关通关 / 放弃)时的终局覆盖层(冒险大循环的收束呈现)。 + +两面是两个循环层级的事,各成一节互不混写。本 spec 纯呈现:不定义任何机制,数据锚与归属全部指路上游文档。 + +## 战斗总结结算(战斗胜利面) + +- 触发:冒险模式非 Boss 战斗胜利(verdict=win,`level_runner._on_battle_finished` 非 Boss 分支挂停点,2026-09-29 迭代 8 卡⑥接线)。Boss 胜利走[关卡结算屏](level-clear.md)大奖励面,不经本面。 +- 载体:battle_end_overlay 胜利形态(金蜡封)。 +- 呈现内容(2026-09-27 拍板面):金蜡封 + 判定行 + 战利品行(GP 增量 + 总量)+「下一节点」钮 + 明细回看入口。 +- 数据锚:增量 = `battle_finished` 载荷 `gp_dropped`;总量 = runner.gp 现值(LevelRunner 入账先于呈现连接——次序依赖在案,M-1 迭代 2 T5 接线)。 +- 出口:「下一节点」→ 关卡画面选路(零自动推进)。 + +## 冒险总结结算(冒险终结面) + +- 触发:主角倒下(verdict=lose)/ 末关通关 / 玩家放弃——三结局同面(`adventure_finished` 收束)。 +- 载体:battle_end_overlay 暮蓝形态 + 冒险终局面板(2026-09-29 迭代 6 T7 补「本局 GP 入账 · 合计 N」行——GP 收束清零前的呈现侧影子账)。 +- 呈现内容:冒险摘要五件事(定义归[冒险结构](../systems/冒险循环/冒险结构.md))+ 钥石入账明细(消费归[元进度](../systems/冒险循环/元进度.md) settle_adventure)+ GP 合计行。 +- 出口:确认 → 回存档首页。 + +## 口径 + +- **命名(2026-09-27 拍板文本口径)**:战斗总结结算 / 冒险总结结算。「战斗结算画面」系旧口径(06 归属行已判登记偏差);「结算画面」单用禁用——该词在 level-clear.md 语境指冒险总结结算、在 battle.md 旧语境指战斗总结结算,两义故弃。 +- **GP / 钥石呈现分工**(battle.md OQ14 收口口径):GP = 本 spec 战斗面(增量+总量)+ 关卡画面常驻总量;钥石 = 本 spec 冒险面 + 营地存量。钥石多处并存系「进账时刻 / 收束明细 / 存量可用」不同义,不构成重复展示(level-clear.md OQ3 收口维持)。 +- **失败面不呈战利品**:冒险总结结算不呈现 GP 增量(倒下即终语义,失败侧恒不呈现)。 +- **禁重复展示**:本面不呈状态效果、不呈结算明细正文(明细走回看 overlay)——[battle.md](battle.md) 信息归属两原则(循环限定 + 单一展示面)对面级呈现同样适用。 + +## 版本历史 + +| 版本 | 日期 | 改动 | +|---|---|---| +| v1.0 | 2026-09-30 | 首版落文(审计拍板点 2 用户裁决:丙案两面分节 + 纯呈现轻量 spec——成文已实装显示规则,无新概念;命名三名并存收口为拍板文本口径) | diff --git a/design/research/gdd-concept-coverage-audit-2026-09-30.md b/design/research/gdd-concept-coverage-audit-2026-09-30.md index eac87f45..04c1f2da 100644 --- a/design/research/gdd-concept-coverage-audit-2026-09-30.md +++ b/design/research/gdd-concept-coverage-audit-2026-09-30.md @@ -392,18 +392,20 @@ --- -### 拍板点 2|战斗总结结算/冒险总结结算的 spec 落点与命名(对应建议①) +### 拍板点 2|战斗总结结算/冒险总结结算的 spec 落点与命名(**已裁收口 2026-09-30**) -**现状与证据**:两个结算框均已实装(`battle_end_overlay.gd` 胜利金蜡封/失败暮蓝双形态;冒险终局面板迭代 6 T7 已接 GP 合计行)。归属拍板已存在(2026-09-27,06-待办清单:410):「战斗胜利出现战斗总结结算、展示获得的资源(目前 = GP);战斗失败出现冒险总结结算、确认后回存档首页」——**归属已锁,本点只裁 spec 正文落在哪份文档+叫什么名**。现状三处散写:battle.md:406(OQ14)/level-clear.md:105(OQ1)各记一遍拍板;06 两条登记接线;spec 正文(布局/数据锚/验收)不存在。命名三名并存:battle.md:113 用「战斗结算画面」、level-clear.md:58 用「战斗总结结算」、level-clear.md:107 把「结算画面」定义为冒险总结结算——同一个词在两份文档指两个面。 +> **裁决记录(2026-09-30 用户)**:用户指出甲乙两案的根本缺陷——战斗总结结算是**战斗的**、冒险总结结算是**冒险的**,是两件事;甲乙都把两面捆进对方循环的既有文档(battle.md=战斗屏文档塞冒险终结面、level-clear=关卡收束文档塞战斗胜利面),自带循环错位,不合理。**裁决=丙案**:新建 ux/ 结算总结文档,两面各成一节;且确认轻量化——结算框无新机制概念、纯呈现,只写显示说明即可(node-reward.md 轻量先例),不铺全套 spec 模板。审计呈报反思:甲乙的循环错位本应列为否决级缺点,原呈报却把甲写成「只做收口则最省」的首选——列全备选案纪律下的呈报质量缺陷,已记。 +> +> **收口执行(本批落籍)**:新建 [design/gdd/ux/settlement-summary.md](../gdd/ux/settlement-summary.md) v1.0(战斗总结结算/冒险总结结算两节+命名口径+GP/钥石分工+禁重复展示,零新概念);02-系统清单 ux 表补两行(本 spec+node-reward 补登);battle.md OQ14 与 level-clear OQ1/OQ3 改指路并退役「战斗结算画面/结算画面」旧措辞(统一为拍板文本口径「战斗总结结算/冒险总结结算」)。本点关闭,不再开放。 -**备选案**: +**原现状与证据**:两个结算框均已实装(`battle_end_overlay.gd` 胜利金蜡封/失败暮蓝双形态;冒险终局面板迭代 6 T7 已接 GP 合计行)。归属拍板已存在(2026-09-27,06-待办清单:410):「战斗胜利出现战斗总结结算、展示获得的资源(目前 = GP);战斗失败出现冒险总结结算、确认后回存档首页」——**归属已锁,本点只裁 spec 正文落在哪份文档+叫什么名**。原状三处散写:battle.md:406(OQ14)/level-clear.md:105(OQ1)各记一遍拍板;06 两条登记接线;spec 正文不存在。命名三名并存:「战斗结算画面」(battle.md 旧口径)、「战斗总结结算」(level-clear)、「结算画面」一词在两份文档指两个面。 -- **甲·battle.md 扩节**:把胜利终局 overlay 节扩写为「战斗总结结算」正主节,并补「冒险总结结算」节(数据锚/出口/确认交互/禁止重复展示项)。优点:胜利面的全部语境(出口表、终局 overlay 组件、数据要求)已在 battle.md,扩写最省。代价:battle.md 已 447 行是 UX 树最长文;冒险总结结算的语境(回存档首页、与 level-clear 的相邻域边界)在 battle 之外。 -- **乙·level-clear.md 扩节**:该文定位就是关卡收束清算面,且已声明冒险结算=相邻域、复用 BattleEndOverlay(:30)。代价:胜利总结结算的进入语境在战斗屏出口,放 level-clear 是「下游文档写上游面」,阅读动线反了。 -- **丙·新建 ux/ 结算文档一文承载两面**:命名、两面边界、与 level-clear/battle 的互指一次写清。优点:最干净,且给将来「结算框加本战统计行」(现拍板面无此项、用户点名才加的开放面)留了家。代价:文档树多一叶,须同步 02-系统清单 索引与链接检查清单;两面已实装,spec 属补写而非先行。 -- **命名分项裁决**(可与落点分开拍):候选一「战斗总结结算/冒险总结结算」——06 归属拍板记录原文用此名(06:410),有拍板文本背书,改口成本=battle.md OQ14 一处;候选二「战斗结算画面/冒险结算画面」——battle.md OQ14 旧口径,且 06 已把旧归属行判为「登记偏差」(06:410 原文),等于已被半否;候选三按载体名「胜利终局覆盖层/冒险终局覆盖层」——与代码锚一致但丢掉「总结结算」的拍板用语。三案里只有候选一与已锁拍板零冲突。 +**原备选案(存档,甲乙已裁否——循环错位)**: -**判定要点**:后续结算框还会不会扩内容(本战统计行等)——会则丙的一次性成本回本最快;只做收口则甲最省。命名按「与已锁拍板文本零冲突」默认对齐候选一,除非用户点名改口。 +- **甲·battle.md 扩节(已否)**:把两面塞进战斗屏文档。缺陷=冒险总结结算是冒险大循环收束面,塞进战斗小循环的屏 spec 违反循环分层;且 battle.md 已 447 行。 +- **乙·level-clear.md 扩节(已否)**:把两面塞进关卡结算文档。缺陷=战斗胜利面是战斗小循环出口面,「下游文档写上游面」阅读动线反了。 +- **丙·新建 ux/ 结算文档(已裁采纳)**:两面各成一节的中立文档,无循环错位;轻量化后代价仅=文档树多一叶+02 索引同步(已随批做)。 +- **命名裁决(随丙落定)**:候选一「战斗总结结算/冒险总结结算」胜出——06 归属拍板记录原文用此名,唯一与已锁拍板零冲突;候选二「战斗结算画面/冒险结算画面」系旧口径已退役;候选三按载体名弃(丢拍板用语)。 ---