写卡(意图徽标类型级收敛批·文档闭合+卡成立): 敌方意图徽标收敛回类型级三态落文与卡片重立——敌人系统.md v2.0→v2.1(「目标顺位与意图线索」补规则句: 攻击系内部不分档预告,重击与普通伤害技预告呈现完全相同,强度感知归本体准备动画)+character-design v1.0 状态行/§5.2 强度先验改由意图准备动画承担/§5.6 占位符号三族口径+资产清单 v1.0 状态行与意图徽标现状行换代; 需求卡片重立(2026-11-09, 原2026-11-01卡作废不落盘——master已前行号漂移+行号锚废止): 拆CHARGE_SKILL_IDS/_intent_charge与缓推动画分支、GOLD_INK转标签岗注记、验证面换代(旧〔wd2〕两处退役+新V1-V8断言)、样张镜像与S1b自检段同批三墨、估时0.75日、验收档中、零待裁点; 对抗复核1轮4发现(3补写1自判)全落卡内复核记录节; 待办清单条目推进文档设计已闭合+已写卡; README能力表增行「敌方意图徽标类型级预告」+覆盖域表战斗表现行补名. 区内凭据: 流水线闸 PASS(35条目/57行/2链/7卡全过)+文档域闸【验收通过】八闸全绿(gdd_lint/变更记录节/doc_link/doc_term/流水线闸/引用可核/能力审计/熵增闸)
This commit is contained in:
1 parent
cf80732903
commit
8dfb4514bb
6 files changed
+216
-6
No files matched your search
@@ -0,0 +1,196 @@
|
||||
# 需求卡片:意图徽标类型级收敛批(2026-11-09)
|
||||
|
||||
> 来源:待办清单「意图徽标类型级收敛批」条目(2026-11-01 登记;2026-11-09 按现行 master 重写,原 2026-11-01 卡作废)。
|
||||
> 验收档:中(呈现数据面——玩家可见、不损持久状态)。
|
||||
> 来源:设计事实源见下节(唯一事实源声明)。
|
||||
|
||||
## 1. 目标与完成定义
|
||||
|
||||
敌方意图徽标收敛回类型级三态(⚔ 攻击系红/✦ 增益系蓝/☠ 妨害系紫)。拆除实现里超出规格的攻击系内部「重击档」:重击(`heavy`)徽标换金墨 `GOLD_INK`、徽标动画多一段「缓推+定格」。拆后重击与其他伤害技徽标完全相同;强度差异交给敌人本体准备动画(本批不动)。
|
||||
|
||||
完成定义(全部满足才算完):
|
||||
|
||||
1. `CHARGE_SKILL_IDS` 常量与 `_intent_charge` 成员退役;`set_pending` 选墨唯一判据=pending_type 三态;`play_intent_motion` 去参、缓推分支删除。
|
||||
2. `GOLD_INK` 常量保留(标签岗在役),徽标层金墨清零;对比度探针、样张工具、分档字样注记同步。
|
||||
3. 验证闸对照表 B1–B8 在当轮真实跑批执行并通过;代码域闸全绿;独立验收审计通过。
|
||||
|
||||
## 2. 设计事实源
|
||||
|
||||
`design/gdd/systems/战斗循环/敌人系统.md` v2.1「目标顺位与意图线索」节——规则句:「攻击系内部不分档预告——重击与普通伤害技的预告呈现完全相同,强度差异的感知通道是敌人本体的准备动画」;同节三档信息面表:特殊技=纯类型级提醒。美术侧=`design/art/character-design.md` v1.0 §5.6 意图准备动画三档(占位符号行已同步为三族、攻击系内部不分档)。与待办清单条目闭合凭据一致。
|
||||
|
||||
用户裁决(2026-11-01,卡内不再开裁):①收敛不拆分;②验证面改动与表现面改动同卡。
|
||||
|
||||
## 3. 现状事实(2026-11-09 master `cf807329` 实读;开工 T0 复核)
|
||||
|
||||
- **分档判据**:`game/presentation/views/standee_body.gd` 文件头常量区 `const CHARGE_SKILL_IDS := ["heavy"]`;成员 `var _intent_charge := false`(行尾注「蓄力档……源码锚承载成员住宿主」)。
|
||||
- **分档写点**:同文件 `set_pending()` 内四处——死亡残位分支与普攻分支各一处 `_intent_charge = false`;三态选墨之后 `_intent_charge = pid in CHARGE_SKILL_IDS` 与 `if _intent_charge: col = UiKit.GOLD_INK`;末行 `mo.play_intent_motion(_intent_charge)`。`mark_dead()` 内一处 `_intent_charge = false`。
|
||||
- **头注**:同文件 `##` 头注第 7–8 行「源码锚承载成员(_intent_charge——theme 源锚句所在行逐字保留)」——成员删除后失实。
|
||||
- **徽标注记**:同文件 `_draw_intent_badge()` 内注记「atk 5.3/buf 4.8/debuff 4.7/charge 4.9」「charge 换 GOLD_INK」——四墨旧口径。
|
||||
- **读出口**:同文件 `intent_probe()` 返回 `{visible, text}`,无墨色字段——本批不动。
|
||||
- **动画**:`game/presentation/views/standee_motion.gd` `play_intent_motion(charge: bool)`——`if charge:` 分支为缩放到 1.22 的缓推+0.40 定格+回落;`else` 分支为 1.26 二次弹跳。函数上方四行注记为「三档运动签名」口径,末行「(charge = 宿主 _intent_charge 分档布尔参判传入)」。全仓唯一调用者=`standee_body.gd` `set_pending()`。
|
||||
- **金墨常量**:`game/presentation/views/ui_kit.gd` `const GOLD_INK := Color8(116, 80, 11)`,注记「深金墨(意图蓄力徽标墨——PANEL_DATA 垫牌上 4.9:1)」。标签岗消费在役:`battle_end_overlay.gd`(结算 GP 行)、`ui_kit.gd`(货架价签)、`forge_view.gd`(锻造区头)、`tree_view.gd`(天赋树分组头)、`treasure_view.gd`(状态字)。
|
||||
- **旧断言①**:`game/tests/unit/presentation/theme_projection_test.gd` `_smoke_contrast_inks()` 内「V4 意图蓄力档判据=分档布尔……〔wd2〕」源码锚——判据 `sb_src.contains("_intent_charge = pid in CHARGE_SKILL_IDS")`。
|
||||
- **旧断言②**:`game/tests/unit/presentation/standee_fx_sweep_test.gd` `_init()` 内「① 意图蓄力档可达(d2)」段——`charge_cases` 四行表,逐行直读内部字段 `s1._intent_charge`(尾缀〔wd2〕);文件头注第 3 行「① 意图蓄力档可达」。
|
||||
- **探针测点**:`game/probe/ui_contrast_probe.gd` `_pairs()` 内「意图charge·垫牌」行(`GOLD_INK` 对 `PANEL_DATA`);文件头注「意图徽标四墨」。
|
||||
- **样张工具**:`tools/render_sample_sheet_v3.py` `draw_standee()` 内意图字典含 `"charge": ("⚔", (116, 80, 11))` 键,上方注记「四色墨对牌 4.7–5.8:1」;熊地精调用 `intent="charge"`(删键不改调用=KeyError);明细带摘要行文案「熊地精 蓄力(重击预告)」;文件尾部 S1b 自检段为「意图徽标四色墨对 PANEL_DATA 垫牌 ≥4.5:1」断言(墨表四行含「蓄力墨」,注记「四墨=意图色表 damage/buff/debuff/charge 四值」)。
|
||||
- **退役旧版样张工具**:`tools/render_sample_sheet.py`(v2)同样含 `"charge"` 键(旧墨值)与 `intent="charge"` 调用——已退役复现件(art-pipeline-tools.md:已被 v3 取代、只用于复现 v2 旧口径),**本批不动**;T0 按 "charge" 全仓检索命中它不判 L3。
|
||||
- **分档字样注记**:`game/probe/fx_probe.gd` 头注「意图三档动画(damage/buff/debuff/charge ……)」与 `_ready()` 内「与蓄力档(heavy)摇定」;`game/tests/run_all.gd` 套件清单 `standee_fx_sweep_test.gd` 行尾「d2 蓄力档」。`game/probe/ui_probe.gd` 的「意图三档动作动画占位」指 GDD 三档信息面(普攻/特殊技/暴击),不失实,不在触面。
|
||||
- **对比度基线**(`theme_projection_test.gd` `_theme_contrast` 同式 WCAG 复算,对 `PANEL_DATA`):RED_MINE 5.62/HERO_BLUE_DEEP 5.10/DEBUFF_PURPLE 4.97,全 ≥4.5。
|
||||
- **技能 id**:`game/data/tables/skills.tres` 含 `heavy` 与 `lunge` 两行(均为伤害技)。
|
||||
- **渲染基线**:`game/tests/golden/` 在库基线不含站桩意图徽标——本批零渲染闸换代面。
|
||||
|
||||
## 4. 设计契约(违反即返工)
|
||||
|
||||
- 🔴 **类型级三态、零分档**:徽标选墨唯一判据=pending_type(damage→RED_MINE/buff→HERO_BLUE_DEEP/debuff→DEBUFF_PURPLE);任何按 skill_id 的徽标分档=规格外分档复发。
|
||||
- 🔴 **强度感知归本体动画**:character-design §5.6 本体准备动画零触碰;徽标动画收敛为单形态(弹入+二次弹跳),禁重造徽标层强度动画。
|
||||
- 🔴 **墨岗守恒**:`GOLD_INK` 常量与取值保留(标签岗在役);RED_MINE/HERO_BLUE_DEEP/DEBUFF_PURPLE 语义岗不动。
|
||||
- 🔴 **拆除不新增、禁无效成员**:零新增文件/函数/常量;`CHARGE_SKILL_IDS`/`_intent_charge`/`play_intent_motion` 的参数禁以别名、注释句或死代码残留;禁为迎合机检消息文本保留无效成员——机检键与本卡契约互斥时停卡呈报,禁自造第三条路(code-conventions §1.1)。本批是拆除收敛,无拆出单元。
|
||||
- 🔴 **验证面同生死**(test-conventions §5.5):两处旧分档断言随实现同批摘除,由新断言替代;新断言从真实入口进入、当轮真实跑批通过。
|
||||
|
||||
## 5. 范围边界
|
||||
|
||||
做:§3 触面——徽标收敛、验证面换代、探针与样张镜像、分档字样注记改写。
|
||||
|
||||
不做(去向):
|
||||
- 敌人本体准备动画、战斗表现摇定动画位——不动,无去向;
|
||||
- `skills.tres` 表值——不动(技能数据零改);
|
||||
- 半血解锁 toast、结算明细行——不动;
|
||||
- 待办清单条目删除——归批后收尾段(实现批禁写待办清单)。
|
||||
|
||||
## 6. 关联文档同步面
|
||||
|
||||
| 文档 | 关联点(本批实现会改变它的哪条陈述) | 同步义务 |
|
||||
|---|---|---|
|
||||
| `design/gdd/systems/战斗循环/敌人系统.md` | 「目标顺位与意图线索」规则句=本批实现依据(v2.1 已落文) | 设计权威文档——实现批禁直改;实现与条款失配→列 `reports/iter<N>-反哺点-<日期>.md` 由用户裁决后归文档批 |
|
||||
| `design/art/character-design.md` | §5.6 占位符号行(已同步三族、攻击系不分档) | 同上 |
|
||||
| `game/tests/README.md` | 能力表行「敌方意图徽标类型级预告」+覆盖域表战斗表现行 | 本写卡批已随卡增行;实现批禁写,批末只核对表上名字与实际落地一致 |
|
||||
| `待办清单.md` | 本条目状态 | 流水线面——实现批禁写;入库后整条删除归收尾段 |
|
||||
|
||||
## 7. 卡前·文件结构图(全部既有件,零新增文件)
|
||||
|
||||
| 文件 | 职责 | 改动性质 |
|
||||
|---|---|---|
|
||||
| `game/presentation/views/standee_body.gd` | 徽标三态选墨收敛;分档常量/成员/复位句退役;头注与徽标注记改写 | 行为改动(B1、B2) |
|
||||
| `game/presentation/views/standee_motion.gd` | 徽标动画单形态(去参+删缓推分支+注记) | 行为改动(B3) |
|
||||
| `game/presentation/views/ui_kit.gd` | `GOLD_INK` 注记改标签岗口径(常量零动) | 非行为改动(B6) |
|
||||
| `game/tests/unit/presentation/theme_projection_test.gd` | 旧蓄力锚退役+新源码锚+三墨对比锚 | 非行为改动(验证面换代,B2/B3/B4) |
|
||||
| `game/tests/unit/presentation/standee_fx_sweep_test.gd` | 蓄力判据表退役+`intent_probe()` 真实入口断言 | 非行为改动(验证面换代,B1) |
|
||||
| `game/probe/ui_contrast_probe.gd` | charge 测点行退役+头注三墨 | 非行为改动(验证面换代,B5) |
|
||||
| `tools/render_sample_sheet_v3.py` | 样张镜像同步 | 非行为改动(工具镜像,B7) |
|
||||
| `game/probe/fx_probe.gd` | 分档字样注记两处改写;heavy 摇定用例保留 | 非行为改动(B8) |
|
||||
| `game/tests/run_all.gd` | 套件清单行尾注记改写 | 非行为改动(B8) |
|
||||
|
||||
## 8. 任务卡
|
||||
|
||||
估时总计 ≈0.75 个工作日(区间 0.5–1.0);单轮无切分,超盒停卡呈报。
|
||||
|
||||
### T0 事实坐实(0.25d)
|
||||
|
||||
- 取用:§3 全部事实。
|
||||
- [ ] 全仓检索 `CHARGE_SKILL_IDS`/`_intent_charge`/`play_intent_motion`/`GOLD_INK`,列消费面清单。判据:前三者消费面=§3 在册位;`GOLD_INK` 徽标岗仅 `standee_body.gd` 一处、标签岗 ≥1。清单外代码消费者=L3。
|
||||
- [ ] 跑 `bash game/tests/static_scan.sh`,记录 `standee_body.gd`/`standee_motion.gd`/`ui_kit.gd` 三件 S13 现值。
|
||||
- [ ] 直跑 `ui_contrast_probe.tscn`,记录现测点总数 N。
|
||||
- 产出:消费面清单、S13 现值、测点数 N(写进实现报告)。
|
||||
|
||||
### T1 拆除收敛与验证面换代(0.5d)
|
||||
|
||||
- 取用:T0 消费面清单。
|
||||
- [ ] `standee_body.gd`:删 `CHARGE_SKILL_IDS` 常量与 `_intent_charge` 成员;删 `set_pending()` 与 `mark_dead()` 内全部 `_intent_charge` 写句及 `if _intent_charge:` 金墨分支;末行改 `mo.play_intent_motion()`。三态选墨原样保留。
|
||||
- [ ] `standee_body.gd` 头注:删「与源码锚承载成员(_intent_charge——……)」半句,只写现行模块事实(措辞避开 audit_file_headers 变更叙事黑名单与日期形态)。
|
||||
- [ ] `standee_body.gd` `_draw_intent_badge()` 注记改三墨口径:atk 5.62/buf 5.10/debuff 4.97;删「charge 换 GOLD_INK」。
|
||||
- [ ] `standee_motion.gd`:签名改 `func play_intent_motion() -> void`;删 `if charge:` 分支,二次弹跳两行升为无条件;上方注记改两形态口径(①普攻零表示=`set_pending` 早退;②特殊技=弹入+二次弹跳;强度档归本体准备动画)。
|
||||
- [ ] `ui_kit.gd`:`GOLD_INK` 行尾注记改标签岗口径(结算 GP 行/价签/分组头/状态字;PANEL_DATA 上 5.21:1);常量值零动。
|
||||
- [ ] `theme_projection_test.gd` `_smoke_contrast_inks()`:删旧「V4 意图蓄力档判据=分档布尔」断言;同位置加四条——
|
||||
- 「V2 攻击系徽标墨=RED_MINE 原位」:`sb_src.contains("var col: Color = UiKit.RED_MINE")`;
|
||||
- 「V2 standee_body 源码零 GOLD_INK 零 CHARGE_SKILL_IDS」:`not sb_src.contains("GOLD_INK") and not sb_src.contains("CHARGE_SKILL_IDS")`;
|
||||
- 「V3 standee_motion 缓推分支清零」:读 `res://presentation/views/standee_motion.gd` 为 `motion_src`,判据 `not motion_src.contains("1.22") and motion_src.contains("func play_intent_motion() -> void")`;
|
||||
- 「V4 意图徽标三墨对垫牌 ≥4.5」三条:`_theme_contrast(uikit_s.RED_MINE, uikit_s.PANEL_DATA) >= 4.5`,HERO_BLUE_DEEP、DEBUFF_PURPLE 同式;消息带 `%.2f` 读数。
|
||||
- [ ] `standee_fx_sweep_test.gd` `_init()`:删「① 意图蓄力档可达」段与头注第 3 行;同位置加断言两条——`s1.set_pending("damage", "heavy")` 后「重击(heavy)徽标=攻击系 ⚔ 且可见〔徽标收敛 V1〕」:`s1.intent_probe().visible and s1.intent_probe().text == "⚔"`;`s1.set_pending("damage", "lunge")` 后「突刺(lunge)徽标=攻击系 ⚔ 且可见〔徽标收敛 V1〕」同判据。头注 ① 改为「① 意图徽标攻击系不分档(heavy 与 lunge 同呈现)」。
|
||||
- [ ] `ui_contrast_probe.gd`:删「意图charge·垫牌」行;头注「意图徽标四墨」→「意图徽标三墨」。
|
||||
- [ ] `tools/render_sample_sheet_v3.py`:删 `"charge"` 键;熊地精调用 `intent="charge"`→`intent="damage"`;摘要行「熊地精 蓄力(重击预告)」→「熊地精 攻击系预告」;注记「四色墨对牌 4.7–5.8:1」→「三色墨对牌 4.97–5.62:1」;尾部 S1b 自检段改三墨——墨表删「蓄力墨」行、断言名「四色墨」→「三色墨」、注记改「三墨=意图色表 damage/buff/debuff 三值」。
|
||||
- [ ] 分档字样注记:`fx_probe.gd` 头注 `damage/buff/debuff/charge` → `damage/buff/debuff`,`_ready()` 内「与蓄力档(heavy)摇定」→「含重击(heavy)同属攻击系」;`run_all.gd` 行尾「d2 蓄力档」→「d2 意图徽标攻击系不分档」。
|
||||
- [ ] 孤立验证:
|
||||
- `godot --headless --path game --script res://tests/unit/presentation/theme_projection_test.gd`,期望 exit 0;
|
||||
- `godot --headless --path game --script res://tests/unit/presentation/standee_fx_sweep_test.gd`,期望 exit 0;
|
||||
- 工作目录 `game/` 下 `…console.exe --headless --path . res://probe/ui_contrast_probe.tscn`,期望 PASS 且测点数=N−1;
|
||||
- 工作目录 `game/` 下直跑 `res://probe/fx_probe.tscn`,期望 PASS;
|
||||
- `python tools/render_sample_sheet_v3.py` 全路径试车,期望零异常退出、产物落盘。
|
||||
- [ ] 复跑 `static_scan.sh`,核对三件 S13 只降不升。
|
||||
- 产出:收敛落地+验证面换代+孤立验证读数(写进本步提交信息)。
|
||||
|
||||
### T2 产出物落位(末卡,0.25d 内含于总估时)
|
||||
|
||||
- [ ] 里程碑步出口跑一次改动域全套闸:`bash tools/run_all_gates.sh --code`,期望回执 all_green;波内修复只做出红最小单元的最窄确认。
|
||||
- [ ] 独立验收审计(未参与实现的会话或子代理),报告落 `reports/iter<N>-验收审计-<日期>.md`;未过不得合并。
|
||||
- [ ] 合并前写齐 `reports/iter<N>-实现报告-<日期>.md`(卡状态+实机目检总清单〔徽标弹入单形态观感一项,登记不阻塞〕+实现决定记录)与 `reports/iter<N>-反哺点-<日期>.md`(同步面四行逐条交代落点:两份设计文档已落文无需同步、README 已增行、待办清单归收尾段删除)。
|
||||
|
||||
## 9. 验证闸(改动—验收对照表)
|
||||
|
||||
| # | 需求点(含判据出处锚) | 改动(文件/行为) | 验收测试(名称+落点+尾缀) | 层级 | 真实入口 | 判据绑定面 | 能力行 |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
| B1 | 重击与其他伤害技徽标呈现相同——`design/gdd/systems/战斗循环/敌人系统.md「目标顺位与意图线索」攻击系内部不分档预告 | `standee_body.gd` `set_pending()` 分档退役 | 「重击(heavy)徽标=攻击系 ⚔ 且可见」「突刺(lunge)徽标=攻击系 ⚔ 且可见」`standee_fx_sweep_test.gd:_init`〔徽标收敛 V1〕 | 单元 | `StandeeBody.set_pending()` → `intent_probe()` | `intent_probe()` 返回 visible/text;观测面局限申报:墨色无运行期读出口,墨收敛由 B2 源码锚承载 | 新增:敌方意图徽标类型级预告 |
|
||||
| B2 | 徽标墨只按三态选、金墨退出徽标——`design/gdd/systems/战斗循环/敌人系统.md「目标顺位与意图线索」攻击系内部不分档预告 | `standee_body.gd` 常量/成员退役+头注改写 | 「攻击系徽标墨=RED_MINE 原位」「standee_body 源码零 GOLD_INK 零 CHARGE_SKILL_IDS」`theme_projection_test.gd:_smoke_contrast_inks`〔徽标收敛 V2〕 | 单元 | theme_projection 套件(FileAccess 读源码) | 源码 contains/not contains;观测面局限申报:墨值进 draw 调用、无运行期读出面,库内源码锚先例同型 | 新增:敌方意图徽标类型级预告 |
|
||||
| B3 | 徽标动画单形态、强度归本体——`design/gdd/systems/战斗循环/敌人系统.md「目标顺位与意图线索」强度差异的感知通道是敌人本体的准备动画 | `standee_motion.gd` 去参+删缓推分支 | 「standee_motion 缓推分支清零」`theme_projection_test.gd:_smoke_contrast_inks`〔徽标收敛 V3〕+`standee_fx_sweep_test.gd` 套件复跑(签名失配即红);弹入观感归实机目检(登记不阻塞) | 单元+目检登记 | theme_projection 套件;standee_fx_sweep 真实站桩实例链 | 源码 not contains "1.22" 且含无参签名;观测面局限申报:tween 时序无 headless 读出面 | 新增:敌方意图徽标类型级预告 |
|
||||
| B4 | 三墨对垫牌达标——`design/art/art-bible.md「7.2 UI 色板细则」全局文字可读性硬指标 | `theme_projection_test.gd` 增三条常量对比断言 | 「意图徽标三墨对垫牌 ≥4.5」三条 `theme_projection_test.gd:_smoke_contrast_inks`〔徽标收敛 V4〕 | 单元 | UiKit 常量实时求值(`_theme_contrast`) | 对比度 ≥4.5(基线 5.62/5.10/4.97) | 既有:UI 全局主题与按钮五态(含对比度锚) |
|
||||
| B5 | 探针测点随呈现面退役——`design/art/art-bible.md「7.2 UI 色板细则」全局文字可读性硬指标 | `ui_contrast_probe.gd` 删 charge 行+头注 | 探针直跑 PASS、测点数=N−1、`GOLD_INK` 标签岗行全绿〔徽标收敛 V5〕 | 探针 | `res://probe/ui_contrast_probe.tscn` headless 直跑 | 退出码 0+PASS 行测点计数 | 既有:UI 全局主题与按钮五态(含对比度锚) |
|
||||
| B6 | `GOLD_INK` 转标签岗注记——`design/art/art-bible.md「7.2 UI 色板细则」全局文字可读性硬指标 | `ui_kit.gd` 注记改写(常量零动) | **非行为改动**(纯注释)——B5 同轮标签岗行复跑绿〔徽标收敛 V6〕 | 探针 | `res://probe/ui_contrast_probe.tscn` | 标签岗测点全绿 | 既有:UI 全局主题与按钮五态(含对比度锚) |
|
||||
| B7 | 样张镜像同步——`design/art/character-design.md「意图准备动画三档」攻击系内部分档不作预告 | `render_sample_sheet_v3.py` 删键+改调用+改文案 | **非行为改动**(工具不入闸不入包)——全路径试车零异常+产物落盘〔徽标收敛 V7〕 | 工具试车 | `python tools/render_sample_sheet_v3.py` | 进程零异常退出(删键漏改调用即 KeyError) | 既有:站桩呈现定值与素材绑定 |
|
||||
| B8 | 分档字样注记清零——`design/gdd/systems/战斗循环/敌人系统.md「目标顺位与意图线索」攻击系内部不分档预告 | `fx_probe.gd` 两处、`run_all.gd` 一处注释改写 | **非行为改动**(纯注释)——`fx_probe.tscn` 直跑 PASS(heavy 摇定徽标可见用例保留)+两单元套件选跑〔徽标收敛 V8〕 | 探针+套件 | `res://probe/fx_probe.tscn`;`run_all.gd -- --only=theme_projection,standee_fx_sweep` | 退出码 0;选跑命中两套件 | 新增:敌方意图徽标类型级预告 |
|
||||
|
||||
测试方式两分法:无调试接口注入面,全部机检自动化;目检仅「徽标弹入单形态观感」一项,登记实现报告目检总清单即完成义务(登记不阻塞)。
|
||||
|
||||
**测试削弱申报**(允许改动的旧断言全集,超出由独立审计判红):
|
||||
1. `theme_projection_test.gd` 旧「V4 意图蓄力档判据=分档布尔」源码锚〔wd2〕退役——所绑成员随批删除,由 B2 双锚替代。
|
||||
2. `standee_fx_sweep_test.gd` 蓄力判据表四条〔wd2〕退役——内部字段直读随成员退役,由 B1 `intent_probe()` 真实入口断言替代(test-conventions §8.2 触碰即换代款)。
|
||||
3. `ui_contrast_probe.gd` charge 测点行删除——所绑呈现面退役,其余测点判据零动。
|
||||
显式禁止:删其他旧断言、放宽 4.5 阈值、把 `intent_probe()` 断言换回内部字段直读。
|
||||
|
||||
**独立验收审计**:入口=未参与实现的会话或子代理;逐行核对照表两端、抽查判据绑定面、核削弱申报、确认全文无变异/撤销类取证;报告落 `reports/iter<N>-验收审计-<日期>.md`;未过不得合并。验收档=中(审计深度按 test-conventions §8.7 中档)。
|
||||
|
||||
**回归措辞**:里程碑步(T 段)出口跑一次全套闸;波内修复只做出红最小单元的最窄确认;新增断言先行孤立验证再并入全套。
|
||||
|
||||
## 10. 异常分级
|
||||
|
||||
- **L1 自救一次**:注记与断言消息措辞、检索形态、单件直跑命令拼装、读数插值格式。
|
||||
- **L2 记录继续**(同一红连续三次升 L3):§3 位置描述与实读有出入但触面不变;S13 读数与预期不一致但键不升。
|
||||
- **L3 停机呈报**:①拆除面发现 §3 清单外代码消费者;②`GOLD_INK` 标签岗零消费(常量去留变化);③为凑机检保留无效成员/别名,或 S13 键被迫升=机检预算互斥,上游缺陷停卡退回写卡段;④换代后窄测红且非本批触面成因。禁变异类测试与撤销类取证。
|
||||
|
||||
## 11. 代拍板白名单
|
||||
|
||||
1. 注记、头注与断言消息措辞(判据取值与断言内容卡内已定)。
|
||||
2. 断言消息读数插值格式。
|
||||
3. 检索形态(grep/编辑器全局搜索,判据等价)。
|
||||
|
||||
超出必呈报:判据取值、成员与常量去留、触面增减、能力行名字、测试函数落点。
|
||||
|
||||
## 12. 待裁点
|
||||
|
||||
零待裁点,开工门=U0(用户发令,经迭代编排段编入迭代)。
|
||||
|
||||
## 13. 落位与可复用性预检
|
||||
|
||||
- **新增面清点**:零新增文件、零新增函数/方法、零新增常量与数据件;新增断言 8 条落在两个既有测试函数内。
|
||||
- **复用面**:徽标读出复用既有 `StandeeBody.intent_probe()`(全仓唯一徽标读出面,禁另造);对比度公式复用 `theme_projection_test.gd` `_theme_contrast`(禁复制公式);三墨锚落 `_smoke_contrast_inks()` 既有对比度锚段(能力清单在册代表用例);样张字典键集收敛,禁新增键。
|
||||
- **唯一面**:徽标选墨只在 `set_pending()` 一处;徽标动画只在 `play_intent_motion()` 一处;三墨对比锚只落单元套件一处,样张工具 S1b 同批改三墨(镜像读数面,不另立第二锚——S1b 现状即在重复该判据,随批同口径换代)。新增断言 8 条(theme_projection 6+standee_fx_sweep 2)落在两个既有测试函数内。
|
||||
- **分层与交互面**:只动 `standee_body` → `standee_motion` 的既有调用边(去参,调用关系不变);Core/RNG/数值表零触碰。
|
||||
|
||||
## 14. 实现规范预算
|
||||
|
||||
零新增文件,新件三查不适用。存量触面 S13 预期(较 T0 现值只降不升):
|
||||
|
||||
| 触面 | 预期 |
|
||||
|---|---|
|
||||
| `standee_body.gd` | 类变量 −1(`_intent_charge`);`set_pending()` 分支 −1 |
|
||||
| `standee_motion.gd` | `play_intent_motion()` 分支 −1 |
|
||||
| `ui_kit.gd` | 零变化(纯注释) |
|
||||
|
||||
S13 键被迫升=L3;禁手改 `tools/gdstyle_baseline.txt`。
|
||||
|
||||
## 15. 复核记录
|
||||
|
||||
| 轮次 | 复核者 | 发现 | 去向 | 处置结果 |
|
||||
|---|---|---|---|---|
|
||||
| 1 | 只读子代理(未参与撰写) | 核实为真合并记录:§3 现状 16 条逐条实读全对(file:line 与字面判据串逐字一致);对比度五比值独立复算吻合(5.62/5.10/4.97/5.21/5.84);无 §3 清单外代码消费者;T1 断言判据改动后均成立(RED_MINE 原位、GOLD_INK 仅两处均在拆除面、"1.22" 仅缓推一行);B1–B8 内容锚逐行实读在位且语义匹配(敌人系统 v2.1:206、art-bible「7.2 UI 色板细则」:458、character-design v1.0:81);能力行三行在场;削弱申报完备;预算/落位/结构图自洽;引擎面 Tween 用法无 NEVER/Gotcha 触碰;无旧卡残留、无行号锚 | 自判 | 核实为真,零改 |
|
||||
| 1 | 同上 | 样张工具 S1b 自检段漏列——`render_sample_sheet_v3.py:1212-1223` 现有「意图徽标四色墨对 PANEL_DATA 垫牌 ≥4.5:1」断言(墨表含蓄力墨行、注记「四墨=…charge 四值」),删 charge 键后 S1b 原样保留=四墨分档字样在工具存活,完成定义 2 不闭合 | 补写 | §3 补 S1b 现状行;T1 render 步补「S1b 墨表删蓄力墨行、断言名与注记改三墨」;§13 唯一面改「S1b 同批改三墨,不另立第二锚」 |
|
||||
| 1 | 同上 | 退役 v2 样张工具 `render_sample_sheet.py:638,663` 同含 `"charge"` 键与 `intent="charge"`——T0 四词检索不命中它,但实现期按白名单搜 "charge" 会撞见并误触 L3① | 补写 | §3 补退役旧版工具现状行(已被 v3 取代、本批不动、命中不判 L3),T0 判据同口径 |
|
||||
| 1 | 同上 | §13「新增断言 7 条」计数不符——theme_projection 6(V2 两+V3 一+V4 三)+standee_fx_sweep 2=8 | 自判 | 改 8 条(theme_projection 6+standee_fx_sweep 2 口径) |
|
||||
Reference in new issue
Block a user