fix(slice): 战斗阶段七项修复 + 顺手修七项 + 文档口径收编(含全仓语义命名清理)
代码修复(垂直切片,冒烟 193/193 · 三探针全绿): - 遭遇流盐值修正(旧值超 int64 被截断,与 registry 黄金向量不符)+ 黄金向量断言入冒烟 - 完美排雷第二份按身份类型真实兑付;零兑付不发高光行;失败记"奖励未生效"行 - 轮内刷新图 provenance 守卫:刷新图清图不发清图奖励 - 可推理率求解器禁读雷位真值(no-peek)——L1/L2 实测 0.953/0.951、一次生成即达标 - 清图分类改传真实旗集(空旗集捷径会误判批次优先级) - 达标判定回归单一判据(可推理率 ≥ 及格线) - 等待期(Waiting)刷新通道整体拆除——非清图轮恒同图 顺手修:清图轮剩余 AP 当场清零 + 耗尽轮断言;degraded_product 降级标记;产物雷数 ≤N 断言; 明细流水"无来源即炸"及两层豁免成文;主角零值伤害行;窗口段三锚行(13→15 类行协议); 图标键 fail-fast + 补齐暴走/失衡两键。 文档:可选类注入递减基准改"按实际获取件数"、首件保证改"必注入"口径(+未挖到不补发待办); 教学位掷骰口径自洽;标错反噬三池收编(状态表四行→六行);行协议 13→15 与豁免清单回写 《战斗结算》与 registry,下游引用同步收敛。 另含:全仓旧代号→语义命名清理(注释/标识符,81 文件);CLAUDE.md 登记 Godot 路径与验证命令。
This commit is contained in:
1 parent
9cca04c9af
commit
cb548776e0
89 files changed
+2139
-2230
No files matched your search
@@ -36,9 +36,9 @@
|
||||
| 13 | 状态效果槽 | Data Display | **已实现**(status_slot_row.gd——规格全文待补) |
|
||||
| 14 | 步进进度条 | Navigation | **已实现**(level_strip_view.gd——规格全文待补) |
|
||||
| 15 | 移动路径预览 | Input | **已实现**(board_view.gd BFS 蓝点——规格全文待补) |
|
||||
| 16 | 清图/换图演出编排 | Feedback | **已实现·占位级**(board_fx_view.gd 金粒彩纸——规格随 B5 美术批补) |
|
||||
| 17 | 胜利/失败终局编排 | Feedback | **已实现·占位级**(battle_end_overlay.gd——规格随 B5 补) |
|
||||
| 18 | Boss 遭遇演出 | Feedback | **已实现·占位级**(紫赤影子——规格随 B5 补) |
|
||||
| 16 | 清图/换图演出编排 | Feedback | **已实现·占位级**(board_fx_view.gd 金粒彩纸——规格随战斗表现 美术批补) |
|
||||
| 17 | 胜利/失败终局编排 | Feedback | **已实现·占位级**(battle_end_overlay.gd——规格随战斗表现补) |
|
||||
| 18 | Boss 遭遇演出 | Feedback | **已实现·占位级**(紫赤影子——规格随战斗表现补) |
|
||||
| 19 | 库存常读列表 | Data Display | **已实现**(inventory_panel_view.gd——规格全文待补) |
|
||||
| 20 | 标准控件组(button/progress bar/list) | Control | **已实现**(ui_kit.gd 直角细线/凸圆角——规格全文待补) |
|
||||
|
||||
@@ -53,10 +53,10 @@ MVP 未使用标准控件(不入库):toggle / dropdown / input field / tab
|
||||
**Category**: Feedback
|
||||
**Used In**: 战斗屏(棋盘/资源全部意图动作)
|
||||
|
||||
**Description**: 玩家意图被核心拒绝时,反馈必须同时做到:(a) 每次拒绝玩家可感知(防静默拒绝读感欺骗);(b) 来源可区分——棋盘面(A2 判,携 sub_reason 封闭枚举)/资源面(A3 判,客户端推断)/相位(A2 ActionOutcome)三源各异;(c) 图标+文案双通道,非色相独载。
|
||||
**Description**: 玩家意图被核心拒绝时,反馈必须同时做到:(a) 每次拒绝玩家可感知(防静默拒绝读感欺骗);(b) 来源可区分——棋盘面(排雷玩法判,携 sub_reason 封闭枚举)/资源面(行动经济判,客户端推断)/相位(排雷玩法 ActionOutcome)三源各异;(c) 图标+文案双通道,非色相独载。
|
||||
|
||||
**Specification**:
|
||||
- 触发:`ActionOutcome{accepted=false, reject_reason, sub_reason}` **返回值驱动**(拒绝无事件外发——A2 发射面封闭,实现层不得等待拒绝信号)
|
||||
- 触发:`ActionOutcome{accepted=false, reject_reason, sub_reason}` **返回值驱动**(拒绝无事件外发——排雷玩法发射面封闭,实现层不得等待拒绝信号)
|
||||
- 反馈映射:board_face → 目标格旗朱 `#C63D22` 边框闪 + toast 具体原因(sub_reason→文案映射表:not_adjacent/target_revealed/target_concealed/flag_present/flag_absent/no_path/out_of_catalog);resource_face → 对应资源数字脉冲(AP/RAP)+「AP 不足 · 剩 0 点」式文案;phase → toast(结算中/非挖掘期)
|
||||
- 即时性:拒绝当帧呈现;toast 自动消退 2.5s
|
||||
- **voided 区分**:作废 ≠ 拒绝(零效果零扣费零事件)——须独立文案如「本轮已清图,停手未执行 · 剩余 AP 已作废」,至少 stop 作废可感知
|
||||
@@ -65,7 +65,7 @@ MVP 未使用标准控件(不入库):toggle / dropdown / input field / tab
|
||||
**When to Use**: 任何意图提交被拒绝时(唯一拒绝呈现通道)
|
||||
**When NOT to Use**: 成功反馈(走动作本身的直接视觉反馈通道);voided 语义场景(作废文案独立)
|
||||
|
||||
**Reference**: battle.md §States 拒绝/作废子态、§Interaction Map;A2 D1×6⑥、A3 双源契约
|
||||
**Reference**: battle.md §States 拒绝/作废子态、§Interaction Map;排雷玩法×6⑥、行动经济双源契约
|
||||
|
||||
---
|
||||
|
||||
@@ -77,7 +77,7 @@ MVP 未使用标准控件(不入库):toggle / dropdown / input field / tab
|
||||
**Description**: 窗口态切换不弹中央模态——既有面板**原位**点亮为窗口态(描边金光 + 标题切换),输入竞争区压暗锁输入。库存常读位置 = 窗口位置,空间记忆连续、不遮挡结算演出首屏。
|
||||
|
||||
**Specification**:
|
||||
- 触发:B1 结算编排窗口锚点(授予段完成后、增益/减益段前)
|
||||
- 触发:战斗结算编排窗口锚点(授予段完成后、增益/减益段前)
|
||||
- 行为:E 区面板描边金光点亮、标题切换「⏳ 轮末道具窗口 · 至多选 1 件」+ 时机指示常驻;D 区棋盘**去饱和 + 金橙色相偏移**锁输入(明度不变——art-bible §2)
|
||||
- 退出:选用 1 件 / 跳过按钮 → 关闭回结算流;空库存不弹窗直接跳过
|
||||
- 选中即承诺(照常消耗);窗口选择序列 = 结算回放输入事件
|
||||
@@ -86,7 +86,7 @@ MVP 未使用标准控件(不入库):toggle / dropdown / input field / tab
|
||||
**When to Use**: 窗口内容与常读面板同域(空间记忆连续优先)、输入竞争区明确无需遮断全屏时
|
||||
**When NOT to Use**: 全屏打断级信息(胜利/失败终局、图例回看——用 pattern 6 模态 overlay)
|
||||
|
||||
**Reference**: battle.md 布局决策 D2、§States 道具窗口态
|
||||
**Reference**: battle.md 布局决策 2、§States 道具窗口态
|
||||
|
||||
---
|
||||
|
||||
@@ -98,17 +98,17 @@ MVP 未使用标准控件(不入库):toggle / dropdown / input field / tab
|
||||
**Description**: 轮末结算逐行流水实时呈现 + 可回看——「扫雷之因逐行兑现为战果」(P2 归因)的承载面。挖掘期收起为 1 行上轮摘要;结算期展开 84px 实时流;点击开完整回看 overlay。
|
||||
|
||||
**Specification**:
|
||||
- 数据源:B1 步骤流(13 类行封闭协议;公共字段 `type/source_class/origin_cell/round_index/display_name/value/highlight?`);**无来源行 = 断言失败**
|
||||
- 数据源:[战斗结算](../gdd/systems/战斗循环/战斗结算.md#明细流水每一行都能指回你刚才的哪一步棋)步骤流(15 类行封闭协议;公共字段 `type/source_class/origin_cell/round_index/display_name/value/highlight?`);**无来源行 = 断言失败**
|
||||
- 行模板:「{行为} {值} → {目标}(来源)」——来源标注(第 N 轮 · 安全格式);行文案最长 token = 道具名(4 汉字),模板预留 40% 膨胀宽度
|
||||
- 聚合纪律:未生效类行(奖励未生效/已消耗未生效/使用被拒/溢出未生效)按聚合计数呈现(防逐行惩罚轰炸);衰减行聚合计数;效果行 value=单次贡献值、禁与 pool_value(池合成值)相加呈现;零值行可见不吞(免伤轮归因不断点)
|
||||
- 高亮:highlight 字段 {flag_hit, clear_reward_h2, perfect_broken} → 金框强调;完美排雷 = 独立高光行 + 全屏喝彩级反馈
|
||||
- 布局:固定槽高 + clip_contents;正文 ≥14px;数值暗底高对比;未生效类行带 icon/划线形状冗余
|
||||
- 击杀标记呈现(H3 数据源 = B1 流水击杀结果字段)
|
||||
- 击杀标记呈现(H3 数据源 = 战斗结算流水击杀结果字段)
|
||||
|
||||
**When to Use**: 任何「因果可归因」的逐行流水呈现
|
||||
**When NOT to Use**: 自造行类型/字段(13 类封闭枚举——增删 = 接口漂移,须走 B1 GDD 修订)
|
||||
**When NOT to Use**: 自造行类型/字段(15 类封闭枚举——增删 = 接口漂移,须走[《战斗结算》](../gdd/systems/战斗循环/战斗结算.md#明细流水每一行都能指回你刚才的哪一步棋)修订)
|
||||
|
||||
**Reference**: battle.md §Component Inventory 结算明细带、§AC 信息与归因;b1-settlement.md Core Rule 14 / Visual Req
|
||||
**Reference**: battle.md §Component Inventory 结算明细带、§AC 信息与归因;归档《战斗结算》(b1-settlement.md)Core Rule 14 / Visual Req
|
||||
|
||||
---
|
||||
|
||||
@@ -125,12 +125,12 @@ MVP 未使用标准控件(不入库):toggle / dropdown / input field / tab
|
||||
- 可挖域常驻指示:小人 8 向相邻未开格呼吸微光(挖掘期唯一在动元素——art-bible §2.1)
|
||||
- 非相邻格:禁止光标 + 首次 toast「需先走近(点击已开格移动,免费)」
|
||||
- 提交:悬停仅预承诺,**点击才提交意图**(单意图帧批次——目录 #12)
|
||||
- chord 首遇提示:怀旧玩家双击快开尝试时一次性 toast(含 A2 锚点「点数字格可移动小人」)
|
||||
- chord 首遇提示:怀旧玩家双击快开尝试时一次性 toast(含排雷玩法登记锚点「点数字格可移动小人」)
|
||||
|
||||
**When to Use**: 一键多义且后果不对称的操作面
|
||||
**When NOT to Use**: 单义控件(直接点击反馈即可,勿加光标层)
|
||||
|
||||
**Reference**: battle.md §Interaction Map;A2 D1×6②③
|
||||
**Reference**: battle.md §Interaction Map;排雷玩法×6②③
|
||||
|
||||
---
|
||||
|
||||
@@ -143,14 +143,14 @@ MVP 未使用标准控件(不入库):toggle / dropdown / input field / tab
|
||||
|
||||
**Specification**:
|
||||
- 形态:`●●●●●○○○` + 「5/8」;直角细线数据框(信息=直线直角,art-bible §3.3)
|
||||
- 更新触发:组合根每次调用返回后重查(**A3 无推送信号**——实现层不得等待资源变更事件)
|
||||
- 更新触发:组合根每次调用返回后重查(**行动经济无推送信号**——实现层不得等待资源变更事件)
|
||||
- 拒绝反馈:资源不足时数字脉冲(pattern 1 的 resource_face 腿)
|
||||
- Accessibility:点阵=形状通道、数字=文本通道;对比 ≥4.5:1
|
||||
|
||||
**When to Use**: 小整数离散资源(≤16 量级)
|
||||
**When NOT to Use**: 大数值/连续量(用直角细线进度条——目录 #20)
|
||||
|
||||
**Reference**: battle.md §Layout C/D 区;A3 UI Requirements
|
||||
**Reference**: battle.md §Layout C/D 区;行动经济 UI Requirements
|
||||
|
||||
---
|
||||
|
||||
@@ -203,18 +203,18 @@ MVP 未使用标准控件(不入库):toggle / dropdown / input field / tab
|
||||
**Specification**:
|
||||
- 形态:灰置 + tooltip「HP 已满 · 禁选」;点击无效 + 原因 toast 兜底
|
||||
- 语义区分:满血 = 零收益守卫(禁选、不烧包)≠ 缺血不足(超量 clamp 部分回复,**不**禁选)
|
||||
- usable_now 由 B1 组装进窗口载荷(B4 零跨系统读)——呈现层只消费不推断
|
||||
- usable_now 由战斗结算组装进窗口载荷(奖励道具经济零跨系统读)——呈现层只消费不推断
|
||||
|
||||
**When to Use**: 任何可见但不可交互的元素
|
||||
**When NOT to Use**: 完全隐藏的不可用功能(不存在的东西无需解释)
|
||||
|
||||
**Reference**: battle.md §States 道具窗口态、§Interaction Map;B4 Rule 7 / AC-14
|
||||
**Reference**: battle.md §States 道具窗口态、§Interaction Map;奖励道具经济 Rule 7 / AC-14
|
||||
|
||||
---
|
||||
|
||||
## Gaps & Patterns Needed
|
||||
|
||||
- **目录 #9–#20 已全部实现**(2026-09-12 战斗屏实现批,冒烟 149/149 + 三探针全绿);规格全文回写 = D1 正式化批义务
|
||||
- **目录 #9–#20 已全部实现**(2026-09-12 战斗屏实现批,冒烟 149/149 + 三探针全绿);规格全文回写 = HUD框架正式化批义务
|
||||
- 实现期新增技术件(不单独立 pattern,规格归并):去饱和+金橙状态切换 = 逐格共享 ShaderMaterial(明度不变,gl_compatibility 安全);敌人死亡残位 = 卡体灰化+碎裂禁瞬消(归入 #17 终局编排规格)
|
||||
- **MVP 未使用标准控件**:toggle / dropdown / input field / tab bar(无需求不设占位);TunePanel slider 为调试专用不入库
|
||||
- **实现偏差规则**:pattern 近似但不完全适配时,实现层不得静默变体——登记偏差交 ux-designer 复核后回写
|
||||
|
||||
Reference in new issue
Block a user