- `.gd`/`.py`/`.sh` 路径(含 data/schemas 脚本路径)、测试与探针名、代码行号、提交号全部清出 design/gdd/;唯一保留=game/data/tables/*.tres 表索引(用户裁:GDD 禁实现内容,仅配置索引例外) - 锻造工坊:删「现役代码事实」「实装边界」两节——实装已随迭代 23 收官、设计事实正文已有(默认值所有权/敌方攻击轴未开/存档域/满级不实装),无独有事实需迁 architecture;正文去指证并清交叉引用 - UX 三份 spec 的「> 事实源=代码路径」体例统一改指设计件;battle/level-map/interaction-patterns 三张组件表的「现有 demo 组件/现有实现锚/状态」列改「载体」,只留状态与设计载体名 - 术语表与 08-Alpha 的事实源列去闸件路径,改指 process-conventions 运行与验证节;08 v1.19→v1.20 与 02 根索引指针随动 - 事实订正三处:存档调参表版本 6→7、数据模型样本 version 6→7(v7 锻造域已落地);冒险结构调参表冒险表字段名按现行表结构对齐(value_segment/quota_segment);删除「存档版本=表结构版本常量同源」这一错误断言(实为两个独立常量) - 架构文档的未提交改动(迭代 41 反哺落文)非本批产物,未纳入本提交
2.4 KiB
2.4 KiB
商店覆盖层 UX spec(shop)
状态:v1.1(现行) 事实源:本 spec(呈现)+ 商店覆盖层(ShopOverlay,呈现件) 机制权威:关卡节点地图(商店房编排:每关恰 1/Boss 前一位必经/兑付触发);定价数值归难度曲线与Boss(shop.tres,provisional)
定位
商店覆盖层是商店房节点的兑付呈现面(冒险-关卡中循环节点功能):行进至商店房打开,玩家用 GP(显示名「GP」)在令牌级货架上购买,离开后兑付确认回选路。现行 = pool 模式(货架与三选一共享令牌池);legacy 三商品卡模式保留为 shop=off 对照形态。本 spec 只锁呈现;编排与定价归机制文档。
布局与交互
- 模态覆盖层(dim + 居中):标题「商店」/ GP 余额读数/ 令牌级货架卡(进店自共享池抽 3 张:显示名·效果·现价——六行池面含回复与专长凭证;买一件 = 池少一件、货架随即全架重抽)/ 购买按钮(余额不足禁用置灰——pattern 8 禁用态即理由)/ 刷新按钮(GP 付费刷新,价 = ceil(20×1.8^本次进店已付费刷) provisional,余额不足禁用)/ 离开按钮。
- 购买意图
buy_requested经组合根转发 runner(pool 模式载荷 = kind_id);成功后货架整架重建(买 1 全重抽反馈)。刷新意图refresh_requested经组合根转发 presenter。 - 离开 → 关卡画面兑付确认回选路(零自动推进)。
- 刷新与货架口径(2026-10-04 P-C2+Q2 裁决,SR-1 落码):基础免费 0 次 + GP 付费刷新 + 池源同源(与三选一同一令牌库本)——原「无独立刷新、全陈列」裁决随该批被推翻;天赋侧「刷新次数」增益预留 free_count 位(待办清单登记条在册)。
口径
- GP 余额读数 = runner 钱包投影(GP 归冒险结构 GP 节);本层不作计算。
- 与关卡画面 GP 常驻徽章的关系:进店语境余额与选路常驻总量不同义(本层带购买语境),不构成重复展示——钥石「写入/存量」拆名逻辑同款。
- 购买确认交互:现行直接购买(无二次确认步);是否需破坏性确认异位(pattern 7)未裁决,本 spec 只登记现状不立新裁。