From 30002f85fd9e74e9cb74ca57ae480b41cd29b2f9 Mon Sep 17 00:00:00 2001 From: DKChan <524912269@qq.com> Date: Mon, 28 Sep 2026 06:20:23 +0800 Subject: [PATCH] =?UTF-8?q?docs(ux):=20T1=20level-map=20=E5=BD=A2=E6=80=81?= =?UTF-8?q?=E5=8D=87=E6=A0=BC=E7=8B=AC=E7=AB=8B=E5=B1=8F=E6=89=B9=E2=80=94?= =?UTF-8?q?=E2=80=94=E8=A7=84=E6=A0=BC=E5=85=88=E8=A1=8C=EF=BC=88M-2=20?= =?UTF-8?q?=E8=BF=AD=E4=BB=A3=203=20=E9=A6=96=E5=8D=A1=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 用户裁决落规格:独立屏=最终形态,覆盖层实现定性=测试阶段形态。level-map.md:Status/覆盖范围/到达方式/Navigation Position「模态覆盖层形态(暗幕 0.6 底层透出)」全量改写「独立屏独占呈现(战斗屏宿主整体隐藏零透出)」+Layout 屏底(BG_ROOT+石纹底噪=M-1 框材件)+Transitions 独立屏淡入 200ms(alpha 非明度——§2)+AC「模态纪律」改「独立性断言」(激活期战斗屏隐藏/战斗节点提交后恢复/兑付覆盖层关闭后本屏恢复)+节点商店覆盖层本屏域内弹出语义明确+实现锚改名 level_map_screen.gd+修订记录。interaction-patterns pattern 6 When-NOT-to-Use 补独立屏退出注记(node/shop 域内弹出仍属);battle.md 三处「选路覆盖层常驻形态」措辞随改;level-clear.md 核对零改(其覆盖层措辞指自身形态)。战后回图/零自动推进语义零改动——改的只是呈现形态。 --- design/gdd/ux/battle.md | 6 +++--- design/gdd/ux/interaction-patterns.md | 2 +- design/gdd/ux/level-map.md | 25 +++++++++++++------------ 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/design/gdd/ux/battle.md b/design/gdd/ux/battle.md index 5ea75ef5..424cefa1 100644 --- a/design/gdd/ux/battle.md +++ b/design/gdd/ux/battle.md @@ -28,7 +28,7 @@ ## Player Context on Arrival - **首次到达**:从关卡首节点(战×2 的第一战)进入。MVP 无引导流,chord 肌肉记忆提示等非模态提示承担首次教学(见 §States) -- **到达前刚在做**:关卡画面(选路覆盖层常驻形态)上点击战斗节点(LevelRunner 推进);或上一场战斗胜利后返回关卡画面再选下一节点 +- **到达前刚在做**:关卡画面(独立屏)上点击战斗节点(LevelRunner 推进);或上一场战斗胜利后返回关卡画面再选下一节点 - **情绪状态**:棋手式清明专注(art-bible §2.1,能量 2/10)——挖掘期画面必须无杂音;结算期转为清算爽感(7/10) - **到达方式**:游戏推进送入(非自愿导航),进入即处于挖掘阶段(棋盘已 install、初始 3×3 已展开、小人出生) @@ -45,7 +45,7 @@ └─ 失败 → 冒险终结 → 返回存档/营地 ``` -战斗屏是**上下文相关屏**(仅由战斗节点进入),非顶层常驻。关卡内节点进度常驻关卡画面(选路覆盖层的常驻形态,节点态即进度呈现:已过暗金、当前金、候选通道亮金、Boss 紫赤描边),战斗屏零进度承载——战斗结束返回关卡画面,玩家始终知道自己身处图中第几环。 +战斗屏是**上下文相关屏**(仅由战斗节点进入),非顶层常驻。关卡内节点进度常驻关卡画面(独立屏的常驻枢纽形态,节点态即进度呈现:已过暗金、当前金、候选通道亮金、Boss 紫赤描边),战斗屏零进度承载——战斗结束返回关卡画面,玩家始终知道自己身处图中第几环。 - 上游屏:关卡画面(选路枢纽,屏级 spec:[level-map.md](level-map.md)——2026-09-27 建档;分支节点图形态,切片第一关为单链特例) - 下游屏:关卡画面(选路枢纽,spec:[level-map.md](level-map.md))——战斗胜利后返回选路;落地奖励/恢复节点时由关卡画面域开节点覆盖层(NodeOverlay,恢复点全量服务、奖励点占位待内容定稿)确认兑付——节点奖励屏不立独立 spec,呈现义务随魔法道具内容重定批交付(2026-09-27 欠账处置拍板,06 待办挂该批名下) @@ -311,7 +311,7 @@ | 敌单位 hp/顺位/摇定动作(pending_skill/type/name)/敌方增益/enemy_id/存活 | 敌人系统 只读面(经战斗结算呈现快照) | Read | 意图线索映射全局恒定(敌人系统×4②,技能池批三档口径);**despawn 前捕获**(旧版台账 entry 17③——缺陷②教训) | | 状态效果投影(含空态/极性/溢出) | 增益状态 投影口径 | Read | 极性映射数据源 = 战斗结算 SettlementTable 效果语义,非 magnitude 符号(增益状态×③) | | 已开格奖励身份(奖励徽章) | 地图战斗资源 `query_identity`(经 board_view 身份解析只读回调,组合根注入) | Read | 已开格身份常读——挖掘期 Active 相位内有效;reward_id 全局恒定、禁止重掷;徽章绘制优先级见 §Component Inventory BoardView 行 | -| 节点图/当前节点/HP 携带 | 关卡节点地图 lite · LevelRunner | Read | 关卡画面选路覆盖层节点态呈现(战斗屏零进度承载) | +| 节点图/当前节点/HP 携带 | 关卡节点地图 lite · LevelRunner | Read | 关卡画面(独立屏)节点态呈现(战斗屏零进度承载) | | 意图提交 | 排雷玩法 | **Write** | `settle_batch`(stop 亦经此——不直调行动经济) | | 弃图刷新 | 行动经济 | **Write** | `request_refresh`(挖掘期 Active 当场受理——布局决策 4 2026-09-12 上游已落稿;战斗结算 `refresh_board` 编排承载) | | 节点推进 | LevelRunner | **Write** | 胜利 overlay「下一节点」 | diff --git a/design/gdd/ux/interaction-patterns.md b/design/gdd/ux/interaction-patterns.md index 764efb7c..bf4cca05 100644 --- a/design/gdd/ux/interaction-patterns.md +++ b/design/gdd/ux/interaction-patterns.md @@ -154,7 +154,7 @@ MVP 未使用标准控件(不入库):toggle / dropdown / input field / tab - 验收:**场景级断言「打开时遮挡物隐藏/输入锁定」为每个模态 overlay 的强制 AC**(battle.md 场景级测试节) **When to Use**: 全屏打断级信息、只读回看、仪式性终局 -**When NOT to Use**: 与常读面板同域的窗口态(原 pattern 2 原位激活已随道具窗口退役——此类场景当前无消费面) +**When NOT to Use**: 与常读面板同域的窗口态(原 pattern 2 原位激活已随道具窗口退役——此类场景当前无消费面);**独立屏**(2026-09-28 起:关卡画面形态升格为独立屏退出本 pattern 族——其屏级语义见 [level-map.md](level-map.md);节点/商店覆盖层在关卡画面激活域内弹出时仍属本 pattern,遮挡/恢复语义复用单一模态栈) **Reference**: battle.md §AC 场景级测试;缺陷①⑤(production/session-state entry 17) diff --git a/design/gdd/ux/level-map.md b/design/gdd/ux/level-map.md index 7f949e5a..c3921c1b 100644 --- a/design/gdd/ux/level-map.md +++ b/design/gdd/ux/level-map.md @@ -1,11 +1,11 @@ # UX Spec: 关卡画面(选路枢纽,Level Map) -> **Status**: 占位升格版——三项设计提案已拍板收口(2026-09-27:底栏状态展示 / 图上点击选路·候选按钮退役 / 放弃二次确认);视觉终稿以表现层样张为前置 +> **Status**: 占位升格版——三项设计提案已拍板收口(2026-09-27:底栏状态展示 / 图上点击选路·候选按钮退役 / 放弃二次确认);**形态已升格独立屏(2026-09-28 用户裁决:独立存在为最终形态,覆盖层实现定性=测试阶段形态)**;视觉终稿以关卡画面样张为前置(M-2 迭代 4) > **Author**: user + ZCode(关卡画面 UX 批) -> **Last Updated**: 2026-09-27 +> **Last Updated**: 2026-09-28 > **Platform Target**: PC (Steam)——Keyboard/Mouse 主,全部操作纯鼠标可完成(同 [battle.md](battle.md)) > **Template**: UX Spec -> **覆盖范围**: 选路覆盖层常驻形态(关卡停点全景)· 入口停点 · 岔路停点 · 单链停点 · 放弃冒险入口 +> **覆盖范围**: 独立屏形态(关卡停点全景)· 入口停点 · 岔路停点 · 单链停点 · 放弃冒险入口 > **不覆盖**: 节点覆盖层(NodeOverlay——奖励/恢复兑付反馈,呈现义务随魔法道具内容重定批交付)、商店覆盖层、关卡结算屏([level-clear.md](level-clear.md))、战斗屏([battle.md](battle.md)) > **机制权威**: [关卡节点地图](../systems/冒险循环/关卡节点地图.md)(选路、兑付、停点语义;节点图逐局随机的来源另见[关卡节点图生成](../systems/冒险循环/关卡节点图生成.md)——只换图的来源,不换本屏的呈现语义);**系统契约**: [HUD框架](../systems/表现与支撑/HUD框架.md)(订阅纪律、模态层级、可访问性基线) @@ -28,7 +28,7 @@ - **到达时机**:关卡开始即出图(停点前移——入口不自动进入,第一次选路就是「出发」);或每次兑付确认后返回(战后回图、奖励/恢复反馈确认后回图、商店覆盖层离开后回图) - **到达前刚在做**:上一场战斗的结算画面,或奖励/恢复/商店覆盖层的确认动作 - **情绪状态**:谋定后动——[art-bible](../../art/art-bible.md) §2.7 下探过渡的「纵深的期待」(能量 4/10);画面应安静可读,不给选路决策添噪 -- **到达方式**:游戏推进送入(模态覆盖层打开,底层内容锁定) +- **到达方式**:游戏推进送入(屏级切换——独立屏激活期战斗屏整体隐藏) ## Navigation Position @@ -43,7 +43,7 @@ - 上游屏:关卡结算确认(下一关开始)或冒险开始 - 下游屏:战斗屏 / 节点覆盖层 / 商店覆盖层(三者兑付确认后**一律回本屏**再选路——战后回图) -- 本屏是模态覆盖层形态:打开时底层内容锁定(pattern 6),关闭即进入所选节点的兑付流程 +- **本屏为独立屏**:激活期**独占呈现**——战斗屏宿主整体隐藏(非暗幕半透、零透出);选路提交即离开本屏进入所选节点的兑付流程(战斗/Boss 节点切回战斗屏;奖励/恢复/商店节点本屏保持激活,兑付覆盖层在本屏域内叠加弹出,确认后回本屏) ## Layout Specification @@ -60,7 +60,7 @@ ### Layout Zones -按 1280×800 基座(ADR-0002)。本屏为模态全屏接管:暗幕(现行 0.6 黑)铺满,内容居中三段。 +按 1280×800 基座(ADR-0002)。本屏为独立屏独占呈现:屏底(深底 `BG_ROOT` + 石纹底噪〔M-1 框材组冻结件,缺位纯色回退〕)铺满,内容居中三段。 | 区 | 位置与尺寸 | 内容 | |---|---|---| @@ -74,10 +74,10 @@ |---|---|---|---|---| | 关卡名标签 | 文本 | `level_row.display_name`(关卡表行读数) | 只读 | 新建(现行标题位升级) | | GP 常驻徽章 | 直角细线数据框 | 金币图标 + 数字(`runner.gp`,冒险钱包读数;刷新经 `wallet_changed` 信号投影〔gain/buy/clear 三事件〕或写路径回执后重查) | 只读 | 新建(GP 去向拍板落地面) | -| 节点图画布 | 自绘 Control | 节点方块(五类型字面 + 编号)、通道折线、节点态着色、Boss 紫赤描边(BOSS_PURPLE——2026-09-26 封印紫批语义:紫赤本色) | 悬停预承诺 / 点击提交选路(唯一通道) | ✅ route_overlay.gd `_draw_graph`(程序化占位) | +| 节点图画布 | 自绘 Control | 节点方块(五类型字面 + 编号)、通道折线、节点态着色、Boss 紫赤描边(BOSS_PURPLE——2026-09-26 封印紫批语义:紫赤本色) | 悬停预承诺 / 点击提交选路(唯一通道) | ✅ level_map_screen.gd `_draw_graph`(程序化占位;2026-09-28 形态升格随屏改名) | | 状态数据框组 | 直角细线数据框 ×3 | 生命(当前/上限 + 迷你血条)、属性(攻击 / 护甲 AC 有效值 + 加成角标)、本关加成(加算区增量列表,零加成隐藏) | 只读 | 新建(2026-09-27 拍板:底栏状态展示) | -| 放弃冒险按钮 | 按钮(危险红族) | 「放弃冒险(同失败结算——已获大奖励保留)」;二次确认态已拍板(见布局决策 3) | 点击(首击转确认态、二击提交) | ✅ route_overlay.gd(可见性归组合根,仅冒险模式开) | -| 标题行 | 文本 | 停点语境提示(见布局决策 1 三停点标题) | 只读 | ✅ route_overlay.gd `_title`(措辞待改) | +| 放弃冒险按钮 | 按钮(危险红族) | 「放弃冒险(同失败结算——已获大奖励保留)」;二次确认态已拍板(见布局决策 3) | 点击(首击转确认态、二击提交) | ✅ level_map_screen.gd(可见性归组合根,仅冒险模式开) | +| 标题行 | 文本 | 停点语境提示(见布局决策 1 三停点标题) | 只读 | ✅ level_map_screen.gd `_title`(措辞已按布局决策 1 改稿) | **布局决策 1 —— 停点标题措辞修正(清偿台账 143 遗留)**:现行入口停点标题沿用「继续前进(战斗房)」,与「尚未走出第一步」的语境矛盾。三停点标题定稿: @@ -97,7 +97,7 @@ ``` 1280 × 800 ──────────────────────────────────────────────────────────────────── -│ (暗幕 0.6——底层战斗屏锁定透出) │ +│ (独立屏底——战斗屏整体隐藏,零透出) │ │ 第二层 · 幽暗地域 [◈ 128](GP 常驻徽章) │ │ │ │ [战0]──┐ │ @@ -161,7 +161,7 @@ | 时刻 | 过渡 | 依据 | |---|---|---| -| 打开(进图 / 兑付确认后回图) | 暗幕 + 内容淡入(约 200ms,同装板淡入档) | pattern 6 模态纪律;底层锁定 | +| 打开(进图 / 兑付确认后回图) | 独立屏淡入(约 200ms,同装板淡入档;alpha 淡入非明度变化——§2) | 屏级切换;战斗屏整体隐藏 | | 选路提交 | 本屏关闭,直达所选节点兑付流程 | 到达即兑付(关卡节点地图) | | 放弃确认态(OQ3 提案) | 危险红边框脉冲约 3 秒(单段呼吸,非频闪) | pattern 7;闪烁基线(≤3 次/秒)内 | | 减动效 | 上述全部时长减半或跳终态 | HUD框架 可访问性基线 | @@ -209,7 +209,7 @@ **模态与测试** -- [ ] 模态纪律(pattern 6):打开时底层输入锁定;关闭逐层恢复——场景级断言 +- [ ] **独立性断言**:本屏激活期战斗屏宿主整体隐藏(`visible=false` 级互斥,零透出);选路提交至战斗节点后战斗屏恢复;兑付覆盖层(节点/商店)关闭后本屏恢复——场景级断言 - [ ] 场景级 headless 测试:真实实例化本屏 + 驱动选路全程 + 断言零脚本错误(ui_probe 家族扩展) - [ ] 中文渲染无豆腐块;像素字体整数倍缩放;全部操作纯鼠标可完成 @@ -241,5 +241,6 @@ | 日期 | 改动 | |---|---| +| 2026-09-28 | **形态升格独立屏批(M-2 迭代 3 T1,用户裁决:独立存在为最终形态,覆盖层实现定性=测试阶段形态)**:Status/覆盖范围/到达方式/Navigation Position——「模态覆盖层形态(暗幕 0.6 底层透出)」全量改写为「独立屏独占呈现(战斗屏宿主整体隐藏,零透出)」;Layout 屏底=深底+石纹底噪(M-1 框材件);Transitions=独立屏淡入 200ms(alpha 淡入非明度变化——art-bible §2);AC「模态纪律」条改「独立性断言」(激活期战斗屏隐藏/选路提交战斗节点后恢复/兑付覆盖层关闭后本屏恢复);节点/商店覆盖层「本屏域内弹出」语义随形态明确(本屏保持激活,模态栈遮挡恢复语义复用);实现锚改名 level_map_screen.gd(RouteOverlay 退役);battle.md 三处选路覆盖层措辞随改;视觉终稿前置改指 M-2 迭代 4 关卡画面样张 | | 2026-09-27 | 初稿(关卡画面 UX 批,用户拍板立项):占位升格版——信息层级五层/三分区布局/组件清单/三停点状态/交互与数据锚/AC 成文;停点标题措辞修正(清偿台账 143 遗留);GP 常驻徽章落地面(2026-09-26 二轮拍板去向,经 GP 归属拍板对齐批维持);三项提案挂 OQ(HP 常驻读数/图上直接点击选路/放弃二次确认)登记 06 待拍板;视觉终稿以表现层样张为前置。实现锚 = route_overlay.gd 程序化占位现行 | | 2026-09-27 | **三拍板收口批(用户逐项裁决)**:① 底栏 = 状态展示——生命/属性(攻击·AC 有效值)/本关已选加成三组常读(原提案顶栏 HP 扩为底栏状态栏,布局决策 4);② 图上直接点击选路定稿——候选按钮整列退役、图上点击为唯一提交通道(布局决策 2;press_candidate 探针面随实装批改造注记);③ 放弃冒险二次确认定稿(布局决策 3)。信息层级六层重排/组件清单/States/交互表/Data Requirements(属性与加成读数入口)/AC/线框图随改;06 拍板点条目解决移除(去向 = 本批台账 204) |