docs: 任务书-内容数据驱动扩展批v1.0(迭代17卡0头卡——用户盘问八裁决全落R1-R8/事件词汇定稿17实施+3登记/效果类型16/组合规则5/23挂点逐行移植映射表/T0-T7≈4.5d零待裁点/契约5红线含MC对拍逐位等价)+roadmap插队行(四卡顺延原样保留)+06提案条目换代已立项(四拍板点全裁实录)

This commit is contained in:
DKChan committed 2026-10-06 16:17:18 +08:00
1 parent ac61b3445e
commit 6f9e01080e
3 files changed
+172 -5

No files matched your search

+5 -5
View File
@@ -10,15 +10,15 @@
**状态**:待数值批触发时重采;重锚前一切 MC 旧读数只作历史存档,不得与新行为对拍。
#### 内容数据驱动扩展架构提案——四拍板点待裁(2026-10-06 登记)
#### 内容数据驱动扩展批——已立项迭代 17 头卡(2026-10-06 登记,同日全裁)
**现状**:调研报告落籍 master(=[研究-内容数据驱动扩展架构-2026-10-06](../research/研究-内容数据驱动扩展架构-2026-10-06.md))——用户两问结论:①改已有物品数值/名字/稀有度/投放渠道=**纯配置成立**(全内容族 `.tres` 数据表+schema 加载校验+悬空引用致命);②换全新效果行为/加带新效果的新物品/加机制类新专长=**现状必改代码**(专长 23 挂点封闭枚举 `feat_table.gd:36-67`+求值段逐个 match 展开 `battle_orchestrator.gd:101-179`+消费点约 24 处散布;秘宝被动件按 id 硬编码六件;效果文案硬编码三处)。项目内已有完全数据驱动范本=技能池(`skills.tres` 加行+`enemy.tres` pool 引用零代码)。mod 成熟游戏四共性(Minecraft 数据包/Factorio 原型/RimWorld Defs,前两者官方文档核对):内容=数据+机制=通用解释器、语义事件时机+内容订阅、条件通用词汇复用、加载期注册校验闸。备选案三列:案甲=只清秘宝 id 硬编码+文案入表(≈1 天);**案乙=专长/秘宝/令牌统一「触发时机+条件+效果类型+参数」数据形态+结算段语义事件埋点(≈3-4 天分期①专长②秘宝③令牌,MC 模拟器零改动自动受益;推荐)**;案丙=外挂 GDScript 效果脚本层真 mod 支持(≈5 天+,Alpha 前挂账)。
**现状**:调研报告落籍 master(=[研究-内容数据驱动扩展架构-2026-10-06](../research/研究-内容数据驱动扩展架构-2026-10-06.md))——用户两问结论:①改已有物品数值/名字/稀有度/投放渠道=**纯配置成立**(全内容族 `.tres` 数据表+schema 加载校验+悬空引用致命);②换全新效果行为/加带新效果的新物品/加机制类新专长=**现状必改代码**(专长 23 挂点封闭枚举 `feat_table.gd:36-67`+求值段逐个 match 展开 `battle_orchestrator.gd:101-179`+消费点约 24 处散布;秘宝被动件按 id 硬编码六件;效果文案硬编码三处)。项目内已有完全数据驱动范本=技能池(`skills.tres` 加行+`enemy.tres` pool 引用零代码)。mod 成熟游戏四共性(Minecraft 数据包/Factorio 原型/RimWorld Defs,前两者官方文档核对):内容=数据+机制=通用解释器、语义事件时机+内容订阅、条件通用词汇复用、加载期注册校验闸。
**拍板点(全归用户)**:①立项选择(甲/乙/丙)②排期位置(迭代 17 候选序列或插队)③案乙首批词汇表范围(23 hook+12 kind 全收敛 vs 专长族先行试点)④物品效果文案表值化是否随批(牵 battle_narrator/curio_interact_controller 两处)。
**裁决实录(2026-10-06 用户盘问轮逐条裁定,全落任务书 §二)**:案乙当选;架构=发布订阅同步 emit(事件=`.on("xxx")` 的 topic;订阅后逻辑=效果类型;叠加=组合规则,禁自造词);仅一个改写窗口不做拦截器链;一事件多订阅常态、冲突由 5 条组合规则封死;旧 23 挂点枚举删除(2 个退化条件行);**范围判据=现有实现全改造(含 luck_coin 经 reward_roll 迁移+文案表值化),06 在册待办只登记不实施**(curio_roll/shop_purchase/gp_settle 三事件登记暂不做);框架先行发射点全埋;一个迭代四模块垂直切一次合并;词汇表定稿=实施 17 事件+效果类型 16+组合规则 5。
**归属**:内容管线架构专项;开工 = 用户发令
**归属**:迭代 17 卡⓪(头卡,用户令插队——①-④卡顺延);任务书=[任务书-内容数据驱动扩展批-2026-10-06](../research/任务书-内容数据驱动扩展批-2026-10-06.md)(T0-T7≈4.5d,零待裁点)
**状态**:待办(四拍板点未裁;报告零代码修改)
**状态**:已立项(任务书已成文待 U0 用户发令开工)
#### 菜单开局未传同调装配与局外树规则——疑似缺陷待复验(2026-10-06 登记)
@@ -0,0 +1,166 @@
# 任务书-内容数据驱动扩展批(迭代 17 卡⓪)-2026-10-06
状态:任务书 v1.0(**全部裁决已落、零待裁点**,开工门=U0 用户发令)。设计权威=调研报告 [研究-内容数据驱动扩展架构-2026-10-06](研究-内容数据驱动扩展架构-2026-10-06.md)+本会话盘问裁决实录(台账 370)。
排期:**迭代 17 头卡(2026-10-06 用户令插队)**,迭代 17 原①-④卡顺延(任务书与裁点状态原样保留)。
---
## 一、迭代目标与完成定义
把「内容的效果行为」从散布在结算代码里的硬编码分支,搬进内容数据行的三个字段——**订阅哪个事件(on)/ 什么条件(when)/ 什么效果(do)**——由一个通用解释器(EffectEngine)统一执行。完成后:加一件「已有效果类型」的新专长/新秘宝=只改 `.tres` 数据行,零代码。
**完成定义**:①旧 23 挂点枚举删除,27 行专长数据全部迁为事件订阅形态且行为等价(MC 对拍锚逐位一致);②六件按 id 硬编码的被动秘宝迁毕、按 id 特判清零;③文案表值化(效果说明进数据行);④一个迭代内完成、一次合并登记。
## 二、裁决实录(2026-10-06 用户逐条裁定,全数有效)
| # | 裁决 | 内容 |
|---|---|---|
| R1 | 架构模型 | 发布订阅:结算管线同步 emit 事件(无队列无异步,确定性优先)→ EffectEngine 遍历持有集匹配订阅 → 执行数据行里声明的效果。**不是**代码级插件/监听器类——订阅关系本身是配置 |
| R2 | 拦截能力 | 不做通用拦截器链;只保留**一个改写窗口**(伤害单据 open_ticket 后、submit 前,modify 类效果收集后单点按声明序施加)。断链/否决能力不建,将来需要时加 veto 位 |
| R3 | 多订阅与冲突 | 一事件多订阅=常态(持有集即订阅集);冲突在**效果类型层用组合规则封死**(见 §四),内容行只能选类型不能自定义合并行为。遍历顺序=数据表声明序,写死保种子复放 |
| R4 | 旧挂点处置 | 23 个 hook 枚举**删除**(概念消亡:事件名+效果类型取代);其中 first_dig_spell、terrain_dig_double 退化为纯条件行;dig_count_segments 与 round_dig_bonus 保留为**两件独立内容**(效果类型不同:攻击分段 vs 攻击加值),订阅同事件 |
| R5 | 范围判据 | **现有实现全部改造**(含 luck_coin 偏运硬币→reward_roll 事件、文案硬编码、令牌 match、树规则键);**06 在册待办只登记不实施**(curio_roll/shop_purchase/gp_settle/level_clear 四事件只登记事件名与发射点设计,哪个 06 内容开工时随批加) |
| R6 | 框架先行 | round_start / boss_hp_threshold / treasure_used 等发射点一律埋进本批,不论当前有无订阅者 |
| R7 | 交付形态 | **一个迭代完成**,按模块垂直切需求卡(框架/专长/秘宝/令牌树),不分批不分迭代、批末一次合并 |
| R8 | 术语纪律 | 事件=`.on("xxx")` 的 "xxx";订阅后逻辑=效果类型;多订阅叠加规则=组合规则。禁用「挂点/hook/合并律/挂账」等自造词(存量文档随 T7 换代) |
## 三、事件词汇表(定稿:实施 17,登记暂不做 4)
### 3.1 本批实施(17 个发射点)
| 事件名 | 发布时机(发射点,现有代码位置) | 载荷要点 |
|---|---|---|
| `dig_reveal` | 安全开格结算完成(battle_orchestrator 挖格段) | cell、round、is_first_dig_of_level、terrain_kind |
| `dig_paid` | 付费开掘发起、动作经济闸收对价前 | cell、ap_cost |
| `flag_hit` | 标中雷兑付时 | cell、round、adjacent_terrain |
| `mine_hit` | 踩雷时(含计数清零语义面) | cell、round、damage |
| `level_clear` | 一张图清空兑付时 | round |
| `attack_commit` | 我方伤害单据开立(damage_controller.open_ticket 入口) | atk、target、matchup、feats_ctx |
| `clamp_check` | 克制关系判定修正点 | matchup(magic_vs_magic/magic_vs_heavy/pierce_vs_light/…) |
| `armor_roll` | 敌护甲掷骰判定 | target_ac、roll |
| `kill` | 敌人死亡确认 | target、overflow余量 |
| `damage_taken` | 我方受到伤害(kind ∈ {enemy_skill, terrain};雷伤走 mine_hit 不重复发) | kind、amount、source |
| `boss_hp_threshold` | Boss 血量跌破阈值(unit_container.check_skill_unlocks 同点) | unit、pct |
| `round_start` | 每轮开始 | round |
| `flag_settle` | 轮末旗伤结算(轮末序:旗伤开单→AP结转→积层反打,顺序显式在发射代码) | flags_hit_all、flags_count |
| `round_end` | 每轮结算收口 | round |
| `reward_roll` | 格面资源掷定(摇号前权重合成层,luck_coin 迁移落点) | cell、polarity、weights |
| `treasure_used` | 使用主动秘宝(use_treasure 受理面) | item_id、target |
| (`curio_roll` 邻位)三选一候选生成现有钩位仅供**对拍观测**,不改发布面 | —— | —— |
### 3.2 登记暂不做(3 个,发射点设计一行,随对应 06 内容批实施;R5 裁决)
`curio_roll`(三选一候选生成时发布→服务「战利品鉴定」)/ `shop_purchase`(商店成交时发布→服务「符文重铸」)/ `gp_settle`(金币结算入账时发布→服务「贪婪契约」)。三者均系 06 在册二期件的前置,本批只在本文登记,不写发射代码。
### 3.3 效果类型词汇表(16 个,解释器 switch 闭集)
| 效果类型 | 语义 | 收编的现状 |
|---|---|---|
| `add_ticket_rider` | 单据追加固定伤 | hero_attack_rider、venom_edge |
| `modify_ticket` | 改写单据数值(改写窗口,按序施加) | clamp_modifier×3、roll_discount、nest_aura、hit_trade、armor_roll_rewrite |
| `attack_bonus` | 攻击力加值 | round_dig_bonus |
| `attack_segments` | 攻击拆多段 | dig_count_segments(连珠矢) |
| `yield_mult` | 开格产出乘区(正负分桶) | dig_yield_mult×3、terrain_dig_double(条件行) |
| `spawn_spell` | 生成一次必中魔法矢 | first_dig_spell(条件行) |
| `overflow` | 击杀溢出弹射 | kill_overflow |
| `grant_material` | 掉落格面资源 | flag_resource、terrain_refund |
| `grant_ap` | 给行动点 | ap_carry |
| `grant_gp` / `bias_wallet` | 金币面 | luck_coin(经 reward_roll) |
| `shield` | 减伤层 | charge_shield |
| `spike` | 满层反打 | charge_spike |
| `apply_status` | 授予状态(复用 status_effects.tres 词汇) | heavy_debuff |
| `counter_add` / `counter_spend` | 计数器增减(重置点数据声明:round_start/round_end/level) | round_dig 计数、variant_counter、dig_charge 积点、nest_counter |
| `rewrite_board` | 改写棋盘格状态 | flag_neutralize |
| `reveal_tiles` / `remove_mines` | 显影/移除(主动件既有通道合流) | mine_reveal、cell_removal |
| `bias_rewards` / `refresh_pick` / `preview` | 抽取面 | reward_weight_bias、bonus_refresh、pick_refresh |
### 3.4 组合规则(5 条,效果类型的必填属性,解释器内置)
| 规则 | 语义 | 适用 |
|---|---|---|
| 加法族 | 数值相加(可交换,顺序无关) | add_ticket_rider、attack_bonus、grant_*、counter_add、shield |
| 乘法族 | 收集后一次施加(正负分桶) | yield_mult |
| 任意真族 | 任一命中即生效 | spawn_spell、overflow、spike |
| 按序改写族 | 收集→单点按声明序施加 | modify_ticket 及一切改写窗口效果 |
| 按序消耗族 | 按订阅序消耗共享资源,耗尽即止、拒绝走 reason 通道 | counter_spend |
## 四、数据行目标形态与 schema
```
# feats.tres 一行(示例:奥术余烬 + 魔网织者)
{feat_id:"arcane_ember", rarity:"common", archetype:"magic",
desc:"普攻命中后追加 1 点必中魔法伤",
triggers:[
{on:"attack_commit", do:{kind:"add_ticket_rider", value:1, dtype:"magic"}} ]}
{feat_id:"mana_weaver", rarity:"rare", archetype:"magic",
triggers:[
{on:"clamp_check", when:[{fact:"matchup", op:"eq", value:"magic_vs_magic"}],
do:{kind:"modify_ticket", delta:-1}} ]}
```
- schema 校验照旧封闭且保留全部现有护栏:`on` ∈ 事件词汇、`do.kind` ∈ 效果词汇、`when.fact` ∈ fact 表、行键白名单、悬空引用加载致命、零裸 flat 禁令、流派扫雷触发点铁律(MINE_HOOKS 改为「每流派 ≥1 行订阅扫雷侧事件」同义校验)。
- **存档零改动**:持有集/装备存 id 不变,换的只是解释方式——纯重构可对拍的前提。
- fact 表(条件词汇,闭集 ~15):matchup、is_first_dig_of_level、terrain_kind、target_armor_class、flags_count、charge_layers、nest_count、round_index、counter 值等只读查询。
## 五、23 挂点逐行移植映射表(等价性对拍底单)
| 旧 hook | 持有内容(feats.tres 实据) | 新形态 |
|---|---|---|
| hero_attack_rider | arcane_ember | on:attack_commit → add_ticket_rider |
| clamp_modifier | mana_weaver / azure_oath / hunter_rapier(穿刺) | on:clamp_check + when(matchup) → modify_ticket |
| first_dig_spell | mana_resonance | on:dig_reveal + when(is_first_dig_of_level) → spawn_spell |
| kill_overflow | pierce_shot | on:kill → overflow |
| dig_count_segments | chain_arrows | on:dig_reveal→counter_add;on:attack_commit→attack_segments |
| roll_discount | weak_instinct | on:clamp_check → modify_ticket(档位移) |
| round_dig_bonus | miner_stubborn | on:dig_reveal→counter_add;on:mine_hit→counter 清零;on:attack_commit→attack_bonus |
| hit_trade | miner_hammer | on:attack_commit → modify_ticket(攻受交换) |
| armor_roll_rewrite | focus_mind | on:armor_roll → modify_ticket(免掷恒折扣) |
| heavy_debuff | armor_crack | on:attack_commit + when(重甲) → apply_status |
| dig_yield_mult | greedy_lantern / vein_intuition / gambler_pact | on:dig_reveal → yield_mult(乘法族) |
| deep_dig | deep_drill | on:dig_paid → counter_spend(ap 对价) |
| flag_resource | mine_atlas | on:flag_hit → grant_material |
| nest_aura | nest_hunter | on:attack_commit + fact(nest_count) → modify_ticket |
| flag_all_hit | perfect_defense | on:flag_settle + when(全中) → yield_mult(旗伤乘区) |
| flag_strike | war_banner | on:flag_settle → 开单(attack 通道) |
| ap_carry | armory_prep | on:round_end → grant_ap |
| charge_shield | iron_wall | on:damage_taken + fact(charge_layers) → shield |
| charge_spike | patient_burst | on:charge 满层沿 → spike |
| terrain_refund | ley_harvest | on:damage_taken(kind=terrain) → grant_material |
| terrain_dig_double | thorn_weaver | on:dig_reveal + when(伤害型地形) → yield_mult(×2) |
| flag_neutralize | purge_sapper | on:flag_hit + when(邻伤害地形) → rewrite_board |
| variant_counter | magma_body | on:damage_taken→counter_add;on:round_end→counter_spend 反打 |
秘宝侧六件:venom_edge(attack_commit→add_ticket_rider)、luck_coin(reward_roll→bias_wallet)、dawn_order(round_start→grant_ap 队列)、dig_charge(dig_reveal→counter_add + dig_paid→counter_spend)、nest_counter(damage_taken→counter_add + 反打)、flag_burst(flag_hit→burst);pick_refresh(curio_pick 面→refresh_pick)。
## 六、任务卡(T0-T7 ≈4.5d,软时间盒超限 L3 呈报切点)
| 卡 | 内容 | 估时 |
|---|---|---|
| T0 | 开工三查:worktree+基线复读(冒烟/探针/run_all/MC 对拍锚)+git status 归属核对(在飞 mapdmg/standee/uialign 只标旗不碰) | 0.25d |
| T1 | EffectEngine 框架:事件枚举+发射点 17 处埋点+订阅装载(开局从持有集/装备集构建 trigger 列表)+组合规则+改写窗口+计数器账本+确定性声明序 | 1.0d |
| T2 | 词汇表落码:schema 换代(feats/treasure 两表 trigger 形态+校验规则换代+fact 表)+护栏迁移(MINE_HOOKS 同义校验等) | 0.5d |
| T3 | 专长迁移:27 行数据改写(§五映射表逐行)+旧枚举删除+_feat_flags_for 退役+消费点 24 处拆除+文案入表(battle_narrator 两处) | 1.25d |
| T4 | 秘宝迁移:六件被动+dig_charge 特判+主动件 kind 分发合流+luck_coin 经 reward_roll+curio_interact_controller 文案入表 | 0.75d |
| T5 | 令牌/树收尾:_apply_curio_pick match 收敛进效果类型+meta_tree 规则键走同面 | 0.5d |
| T6 | 回归闸:MC 对拍现行锚逐位一致+七流派成型画像重锚同带+冒烟+run_all+探针+确定性复放 | 0.5d |
| T7 | 文档正主换代+出口报告:奇物.md/秘宝.md/敌人系统.md 词汇换代+registry 条目+06 状态收口+退出人闸材料包 | 0.25d |
## 七、契约红线(🔴 违反即停机呈报)
1. **存档零破坏**:存档键/存档格式/断点结构一字不改;换的只是运行时解释方式。
2. **数值等价**:迁移前后行为逐位等价——MC 对拍锚逐位一致是硬闸;发现必要偏差(如旧实现 bug 被顺带修正)必须停机呈报,禁静默吸收。
3. **确定性**:全同步调用、无队列无异步无 signal 时序依赖;遍历序=数据声明序。
4. **护栏保留**:封闭枚举校验/键白名单/悬空引用致命/零裸 flat 禁令/流派扫雷触发铁律全部以新形态延续,禁以「数据驱动」名义放开任何护栏。
5. **battle_orchestrator 历史脏件**:全程 worktree 批、主区禁直改;并行在飞三线(mapdmg/standee/uialign)只标旗不碰,T0 重取基线。
## 八、停机点与验证闸
- **S1**(T3 段末):首个流派(魔法流)迁移完跑 MC 对拍——若逐位不一致且定位超出映射表误差,停机呈报。
- **S2**(T6):对拍锚不一致/成型画像越带/冒烟红——任一命中停机,禁带病合并。
- 验证闸:冒烟全量+run_all 全套+五探针+MC 对拍+确定性复放(同种子两次逐位一致)。
- 代拍板白名单:事件载荷字段命名、fact 表个别查询面落法、smoke 断言数漂移追认、发射点微调(±1 处)。
- 呈报不停机级:文案措辞、注释层、台账撞号顺延。
## 九、范围边界(明确不做)
- 4 个登记事件不实施(§3.2);外挂脚本层(调研案丙)不做;luck_coin 之外的数值重调不做(归 M4 数值批);relic/feat 存档键更名不做(06 在册命名统一条,存档键铁律);main.gd:475 疑似缺陷不随批(06 在册独立 mini-loop 待令)。
+1
View File
@@ -64,6 +64,7 @@
| 迭代 15 | **②奇物概念收口与词族对齐批(2026-10-05 用户令编入本迭代)**:概念层已由用户逐轮裁定定稿(《奇物》v1.0→v2.7,7 轮),本批只做**落地对齐**、不做二次设计。三批内容:**①三套旧词族全面对齐**(顶层已改名「奇物」而代码仍叫旧名=用户最初抱怨的"文档与代码分开"):`feature_*`→`curio_*`(103 处/7 文件)、`relic_*`→`feat_*`(162 处/12 文件)、运行层 `bonus_*`→`curio_*`(160 处/8 文件)。**硬约束:`reward_*` 已被 `reward_pick`/`reward_node`/`reward_preview` 占用,统一词族不得使用**;`relic_table.gd` 与两个控制器类改名须同步 Godot `.uid`/`.tscn`(非文本层无法自证)。**②三条渠道按分类分离**(现行三渠道共用同一个 98 张池、三类混编):关底 Boss 击败=通过这一关→只出专长;奖励节点/商店→属性值提升+资源、专长在此**只以门票形式**出现。**兑付频率红线**:奇物不是打一场战斗给一份,关内普通战斗节点打完不给任何奇物,一关之内只兑付一次(用户 2026-10-05 纠错)。**③两个新种类入池**=刷新次数(须先与"商店独立刷新机制"划清边界)+ 专长获取门票(拿到即开不可囤积/罕见只在概率/一局限购一次/计步保底:连续 5 次三选一展示未出→第 6 次必出,刷新重展计入、奖励节点与商店共享计数);附带 `shop.tres` 补回复(默认原则要求分类内成员都在该出现的渠道池里)与 charge 标签补至 ≥4 件(现仅 3 件,档二永远达不到——数据缺陷)。设计事实源=`design/gdd/systems/冒险循环/奇物.md` v2.7,任务书=`design/research/任务书-奇物词族对齐与渠道分离批-2026-10-05.md`(T0-T8≈4.5d,两段切分预案在册〔段一词族 T0-T3≈2d/段二渠道+入表 T4-T8≈2.5d〕,切分点=T3 出口;11 条设计契约含 6 条 🔴 停机级;12 条批末验收断言;代拍板白名单 5 项;待用户裁点 4 项〔玩家可见面违规/第四关档二复裁/门票四参数终值/存档键正式迁移〕)。**开工门**:与在途 M-4 各批(判式换代/全局变异/配比预设)撞同一批文件(`adventure_table.gd`/`level_runner.gd`/`adventure.tres`),须确认不并行或用户明示插队 | 卡②门:迭代 14 出口 | 卡①已落籍(原估 0.5d);卡② ✅ **已全批落籍(2026-10-05,worktree curio-wordfamily 七提交 d4cde73..049aa62+master 同步 23547b5,主区 merge 见台账;出口报告=[iter15-2-curio-exit-report](design/qa/iter15-2-curio-exit-report-2026-10-05.md))**:三套词族代码层全换(feature_→curio_ 93 处/bonus_ 运行层→curio_/relic_→feat_——feat_table.gd/feats.tres/feats_engine.gd 改名);渠道白名单分离(总池-渠道子集多级缓存形=用户裁);门票入表(四参数 provisional 20%/2/1/5+拿到即开+计步保底+限购 1+节点商店共享计数);refresh 入池(B 案 heal 5→3 挤占)+shop.tres 补 heal 行+门票行;T2 裁点甲案=六存档键禁改(含任务书漏登记的 "relics" 键);charge 缺陷登记不硬补;autoplay 门票分支缺陷批内实测修复(MC timeout 形态);闸=冒烟 782/0(+10)+run_all 16 套历史首次全绿(reward_overlay 红转绿=M7 bcard 成因修复)+五探针绿+doc 三闸零新增+MC n200 只测不判(normal 0.5%/perfect 77.5%);遗留=07⑰ 目检归用户+C1 呈现批/C2 第四关批/C3 调参批/C4 存档批四移交。原估 T0-T8≈4.5d(实际一次会话);迭代 15 三卡全落籍(①352/②本批/③8944dca 前身③批+本批) |
| 迭代 15 | **③秘宝代码词族对齐批(2026-10-05 用户令编入本迭代)**:设计侧已完成(消歧更名批 `430419c`+`06e94b7`,26 个设计文档「魔法道具」→「**秘宝**」,同调位机制名保留不变),本批只做**代码侧对齐**、不做二次设计。内容:`aux_*`/`AuxItem*` 词族全族换词 **358 处 / 36 文件**(重灾 `adventure_runner.gd`79 / `level_runner.gd`27 / `bonus_interact_controller.gd`19 / `battle_orchestrator.gd`18 / `config_db.gd`14 / `main.gd`13),分五组落:**A 玩家可见文案(P0,5 处)**=`battle_narrator.gd:117-118` + `bonus_interact_controller.gd:76` + `hero_info_panel_view.gd:56`(槽位标题 `UiKit.label`)+ `:178`(tooltip)· B schema 与数据表(`aux_item_table.gd`/`aux_items.tres`/`aux_items.gd` 文件名+类名+`ConfigDB` 持有变量与访问器全链跟改,**须同步 Godot `.uid`/`.tscn` + `--import` 重刷类名缓存**——迭代 14.5 实证在册坑)· C 文档链接修复(含 `architecture.md` 两处既有断债顺带清偿)· D 中文注释层(**须分色**:`魔法矢`/`魔法反噬`/`魔法族`/`魔法护甲` 属敌方伤害护甲语汇🔴不动)· E 测试文件名+内部变量。**用户三项拍板**:全族彻底改(含数据表)· **断点存档键一律保留**(`bonus_aux_carry`/`aux_detail`/`aux_cleared`/`aux_cleared_last`/`aux_items` 断点数组/`attunement_charges` 共 34 处引用一字不改,破档即进度丢失)· registry 条目键 `aux_items` 不改(数据契约键)。设计事实源=`design/gdd/systems/排雷循环/秘宝.md` v0.9,任务书=`design/research/任务书-秘宝代码词族对齐批-2026-10-05.md`(T0-T9≈5.0d,**超软盒 3 日上限·知情预挂**:T7 段末闸后 L3 呈报切点不擅切;**三档降级面 G1/G2/G3 在册**〔G3 下限=仅组 A 完成〕;5 条设计契约含 5 条 🔴 停机级〔存档兼容零破坏/数值零漂移/schema 契约面零变更/零字段更名/核心层零 await〕;代拍板白名单 5 项;**C1/C2 已裁关闭·全改保一致·待裁点 0 项**)。**撞批已消解**:② 奇物批 2026-10-05 收口落库(合并 `c571af2`),并行风险解除,本批为迭代 15 唯一在途需求;**T0 须重取基线**(判式换代批 T5 读数 750/0、② 又动数据层,§1.2 的 747 为②前旧数禁沿用)并复核事实表。**✅ 裁决(用户 2026-10-05「全改保一致」)**:C1 `"aux_item"` 域串**照改**(实测连锁面收窄——`reward.tres` 已零 aux_item 数据行,池种随迭代 11 T7 退役;16 处字面量全在代码内闭合无存档依赖;唯一连锁项=`smoke_all.gd:3932` 断言须同步)· C2 `aux_items` 一名两义**拆分**(ConfigDB 持有变量+表注册键✅改 / 断点存档键+冒烟夹具🔴禁改——**「键名禁改」与「变量名禁改」是两回事**,禁改的只是落盘字面量)。新增**组 F**(分派语汇与域串 16 处),任务卡扩为 T0-T10≈5.5d。**开工门**:✅ 已无待裁点,可直接发 T0 | 卡③门:迭代 14 出口(**裁点已全决·可开工**) | 卡①已落籍(原估 0.5d);卡② ✅ 已全批落籍(2026-10-05 merge 3c6f2c9,台账 362——c571af2 文档+数据层之上的实施段全量补完);**卡③ ✅ 已全批落籍(2026-10-05,worktree m4iter15-mibao 九提交 b4b8bb3..收口笔,主区 merge --no-ff 哈希见台账/active.md 快照行;出口报告=[iter15-3-mibao-exit-report](design/qa/iter15-3-mibao-exit-report-2026-10-05.md))**:词族实数 364 处/36 文件全换尽(例外 43+2 处=存档键引号字面量+夹具,穷举在报告 §五);闸=冒烟 755/0+run_all 14/15(唯一红=②批遗留基线红 reward_overlay,对照零新增)+行为探针四件全绿+doc 三闸/熵增闸零新增+存档键六键普查零差异+MC 按 goal 令豁免(静态零漂移证明代);渲染像素五闸屏蔽挂账 07⑮;遗留=实机目检归用户(07⑮)+reward_overlay 基线红归②批处置 |
| 迭代 16 | **UI 设计对齐批(2026-10-05 用户令:迭代 16 改编为 UI 优化需求实现,原四卡全数顺延迭代 17;美术线用户自理立规的例外面=本批只改 UI 设计代码、零美术资源改动)**:三路改进整合轴的代码侧落地——事实源=`design/research/UI预览demo三路改进整合对照-2026-10-04.md`(A 落码差异对照+OPT-A 机检+WB 变体三路整合,基线原型 v2.1)。**红线=不修改美术资源**:game/assets/art 与 artwork/ 均不动、不生新素材不重烘,只改 UI 设计代码(ui_kit 色板 token/字号档/布局纪律/对比度垫底/抖动呈现/panel_skinned 接线等)。无分歧可直接收项=对比度 7 处 FAIL 修法(血数 2.09→12.29 垫底等已复算)/站桩溢出 3.2px/4 处裸色收 ui_kit/status 图标 preload 违规/tg-* 类型色接线。**前置待裁=六分歧点**(①底色冷暖 ②棋盘格边长 32/44/45 ③字号档位 ④九宫格切片 ⑤圆角去留 ⑥图标尺寸解法,对照表 §三)+开放项(抖动范围/色板唯一来源,§五)。任务书=`design/research/任务书-UI设计对齐批-2026-10-05.md`(T0-T11≈7.25d,**超软盒 3d 预挂**,三段切分=段一 2.0d 无阻断〔T0-T4a〕/ 段二 4.0d 待裁〔T4b-T8〕/ 段三 1.0d 收口〔T9-T11〕;🔴 契约 7 条 R1-R7;无分歧收项 N1-N6 已逐处 file:line 考证;**待用户裁点 11 项**=六分歧 P1 底色冷暖/P2 棋盘格边长/P3 字号档位/P4 九宫格切片/P5 圆角去留/P6 图标尺寸解法 + 开放项 P7 色板唯一来源/P8 抖动范围/P9 §五 已决注销清单/P10 记忆态口径/P11 装饰 caption 豁免;**六分歧与开放项一律呈全备选案含淘汰依据**)。**事实校正(实查,2026-10-05)**:9 处色板漂移实测 4 已收 5 未收;`tg-*` 五族在 ui_kit 并不存在(以裸 Color8 内联于 bonus_pick_overlay/shop_overlay_view,缺第五族);panel_skinned 消费面实测 8 处+工厂 1 处;棋盘格边长=动态公式 clamp[26,46] 与 §8.1 锚点 45/36 三方互不等;手绘图标十枚 20×20 已入库,真问题转为 64×64 柜台四枚显示倍率;站桩溢出实机存在 1px 余量同型写法(standee_body.gd:476);demo 基线 md5 已再次漂移(实测 78ebbee0…)。状态=**任务书已起草(2026-10-05)+ 取向已定(2026-10-06)**:✅ P1=甲(维持暖化零改动)/ P2=丁(棋盘格边长零改动,46/45/44 不一致登记为已知偏差);✅ **其余八项取向已定**(用户采纳推荐)——**跟 demo**:P4 九宫格切片 8→16 / P7 五处色板向 demo / P10 记忆态纹理灰罩;**按条款解**:P3 字号立 FS_* 档(demo 34 处<14、54 处<16 不可跟)/ P6 图标显示档(demo 自身 0.3125× 违规)/ P8 抖动只做卡顶色带(demo 渐变+blur 违反像素纪律)/ P11 装饰 caption 12px 豁免;P5 两路同结论。**「以 demo 为准」三层优先级栈=任务书 §8.3**(①用户终裁>②冻结条款>③demo);三条结构级差异(卡片 232×352 / 商店全屏化 / 地图底栏合并)**不入本批、已登记 06 待立项**。估时 T0-T11≈**6.9d**(段一 2.15d 无阻断可发令 / 段二 3.75d / 段三 1.0d;三段同属一迭代、**只在段三末合并一次**);**拷打轮一 9 问已全部落地**(Q1 `panel_skinned` content margin clamp / Q2 不走独立样张闸改并进 T10 目检 / Q3 柜台图标统一 32px / Q4 商店补类型分族 / Q5 血数 11px 与装饰 caption 合并写一条豁免 / Q6 槽两态不新增通道 / Q7 一次合并 / Q8 已知偏差已登记 06 / Q9 demo 取值抄录表为唯一引用源)。**✅ 已全批落籍(2026-10-06 单会话,worktree g-plan2-iter16ui 分支 iter16-ui-20261005 十二提交 85ea024..T11 收口笔,主区 merge --no-ff 哈希见 active.md 快照行;出口报告=[iter16-ui-exit-report](design/qa/iter16-ui-exit-report-2026-10-06.md))**:T0-T10 全落(T10 人闸材料包=[iter16-ui-human-gate-checklist](design/qa/iter16-ui-human-gate-checklist-2026-10-06.md)——实机目检+代拍板追认八项归用户);闸=冒烟 782/0(断言数持平基线)+run_all 16 套全绿+探针五件全绿(新增 ui_contrast_probe 11 对测点+ui_struct⑥standee 断言族入默认段)+doc 三闸/熵增零新增+MC 零跑(纯呈现批——核心/数据层 diff=0 实证)+素材零触碰;T0 实机复算三处修法改向(意图徽标垫牌/槽位字深化/RAP 零改动——demo 口径在实机反向)+N4a 裸色实数 25 处/10 文件全收 ui_kit(任务书 5 处系漏记)+字号 107 位点归档 FS_* 六档;偏差八条在出口报告§汇总;遗留=06 新登记「呈现层残余 <4.5:1 文字位」一条(名行四墨/顺位徽标/RAP 反馈——批外邻接发现) | 迭代 15 出口 | 预算 T0-T11≈6.9d(三段切分)——**实际单会话一次跑完(2026-10-06)** |
| 迭代 17 | **⓪内容数据驱动扩展批(2026-10-06 用户令插队为头卡——①-④卡顺延,其任务书与裁点状态原样保留)**:把内容效果行为从结算代码硬编码搬进数据行「订阅事件(on)+条件(when)+效果类型(do)」,通用解释器 EffectEngine 统一执行——完成后加「已有效果类型」的新专长/秘宝=纯改 `.tres` 零代码。裁决八条全落(R1 发布订阅同步 emit 确定性优先/R2 仅一个改写窗口不做拦截器链/R3 一事件多订阅+组合规则封冲突面/R4 旧 23 挂点枚举删除·2 个退化条件行/R5 现有实现全改造+06 在册只登记〔curio_roll/shop_purchase/gp_settle 三事件登记不实施〕/R6 框架先行发射点不论有无订阅者全埋/R7 一个迭代四模块垂直切一次合并/R8 术语纪律:事件=发布订阅 topic、效果类型=订阅后逻辑、组合规则=叠加规则,禁 hook/合并律等自造词)。词汇表定稿=**实施 17 事件**+效果类型 16+组合规则 5;存档零改动;文案表值化随批(现有实现判据);luck_coin 经 reward_roll 迁移随批。任务书=`design/research/任务书-内容数据驱动扩展批-2026-10-06.md`(T0-T7≈4.5d,零待裁点,🔴 契约 5 条含 MC 对拍逐位等价+护栏保留+确定性;停机点 S1 首流派对拍/S2 批末闸;开工门=U0) | 迭代 15 出口(已解) | T0-T7≈4.5d |
| 迭代 17 | **①敌人表行集多行批(2026-10-05 用户令编入本迭代,纯功能与数值轴四卡之一)**:放开敌人表「同一(关卡序号 × 节点深度)行集恰一敌种」加载期校验(enemy_table.gd:108-112 考证在册),允许同场遭遇混编多种敌人——生成(unit_container spawn 行集受理)/编排(battle_orchestrator/narrator)/断言面全链接通 + GDD 结构冻结面修订先行(敌人系统.md:75/:263)。事实源=06「同深度第二敌种与精英/Boss 编码位」条剩余面(前半已由关卡节点地图 v1.0 消解);前置=技能池实施批已落籍(d3fa887)开工门已解。任务书=`design/research/任务书-敌人表行集多行批-2026-10-05.md`(T0-T8≈4.25d 含条件卡 T5 首行投放/3.75d 不含;🔴 契约 5 条含零内容期逐位零漂移;代拍板白名单 3 项;**待用户裁点 4 项**〔P1 混编数量语义三案/P2 行集解析双算法处置〔工作日志 312 既有待裁随批〕/P3 本批是否投首个混编行/P4 Boss 行是否放开〕——裁点裁决后 U0 开工) | 迭代 15 出口 | T0-T8≈4.25d(超软盒预挂,T4 末切分点) |
| 迭代 17 | **②M4 数值批(2026-10-05 用户令编入本迭代)**:四件数值欠账合一批——①削弱档位终值(weaken 现值 −65/duration 2/refresh 考证在册;叠层改续时语义已定案,差 duration 终值+当量锚复算)②调参批数值点评(06 条目现行登记五条——任务口径「八条」与条目五条不符,任务书 §2.2 已呈报差异以条目为准)③迭代 10 奖励重构联动欠账①②(钥石产出重标 boss_keystone 首杀 3/3/3·复杀 2/2/3 provisional + 通关率带重扫〔通关回血 20%+AP 件首轮 +1〕)④元进度定价剩余面(forge base 20/比 150 考证在册——06 条目文本「base 10」滞后于 2026-09-22 对齿批已呈报;Boss 两档终值)。读数义务随批=迭代 14 两件后置复算(T6 MC 四带复算+T7 技能池节奏重测,均挂 07);顺路修复 damage_probe A1 改前既有红灯(判式换代批出口报告 §四.7 在册)。**硬约束:一切 MC/verifier 跑批发起前须用户批准;调参联动禁独立调参网络(β 带 [1.2,2.5] 逐 u 检算)**。任务书=`design/research/任务书-M4数值批-2026-10-05.md`(T0-T8≈6.0d,天然切分点 T4 末;🔴 契约 5 条含跑批批准制;**待用户裁点 4 项**〔P1 削弱终值三案推算后裁/P2 点评不对称裁决方向/P3 钥石产出终值/P4 工坊直购价立否〕) | 迭代 15 出口 | T0-T8≈6.0d(超软盒预挂,段一 T0-T4≈4.25d/段二 T5-T8≈2.0d) |
| 迭代 17 | **③暂停层只读入口批(2026-10-05 用户令编入本迭代)**:新增局内暂停层,承载钥石余额与解锁态(营地三柜台进度)只读查看——事实源=06「解锁界面与钥石呈现的交互形态(残余:暂停层只读入口)」条。考证在册:现行无暂停层;模态栈/设置面/调试浮窗三先例齐;UiKit 公共件(modal_shell/bcard/verb_button/徽章形制)与色板 token 单点现成;MetaProgression 只读访问器面齐全;战斗屏 GP/钥石已迁出=局内零查看入口正是本批由来。**美术红线:复用现行公共件与色板,零新素材零新色值(2026-10-05 用户立规)**。任务书=`design/research/任务书-暂停层只读入口批-2026-10-05.md`(T0-T5≈3.0d;🔴 契约 5 条含公共件单点/模态登记纪律;**待用户裁点 4 项**〔P1 入口位置四案荐丁/P2 与既有弹窗层关系三案荐甲/P3 展示范围三案荐甲/P4 减动效联动两案荐甲〕) | 迭代 15 出口 | T0-T5≈3.0d(贴软盒,T2 末切分点) |