diff --git a/design/gdd/06-待办清单.md b/design/gdd/06-待办清单.md index 2c03abed..141c3469 100644 --- a/design/gdd/06-待办清单.md +++ b/design/gdd/06-待办清单.md @@ -122,15 +122,15 @@ **状态**:待办(冻结——2026-10-09 迭代 20/21/22 规划冻结令覆盖,重启=用户直接发令) -#### 天赋树实装批 — 待办(冻结:迭代规划冻结中,重启=用户发令)(原「已建未接面两件」+「结构重构批」两条合并;2026-10-11 天赋树设计会话终裁扩充) +#### 天赋树实装批 — 待办(开工门=用户发令;2026-10-11 用户令整卡编入迭代 21)(原「已建未接面两件」+「结构重构批」两条合并;2026-10-11 天赋树设计会话终裁扩充+同日攻防所有权切分换代) -**背景**:天赋树随迭代 12 实装在役(33 节点,2026-10-04 合并 e780063);2026-10-10/11 天赋树设计会话完成全部裁决(结构换代+分叉效果定案+营地统一案甲),设计权威文档 = [天赋树](systems/跨局循环/天赋树.md) v0.2(2026-10-11 落文)。本条合并原「天赋树已建未接面两件」(2026-10-09)与「天赋树结构重构批」(2026-10-10)两专条,承载换代实装全量。 +**背景**:天赋树随迭代 12 实装在役(33 节点,2026-10-04 合并 e780063);2026-10-10/11 天赋树设计会话完成全部裁决(结构换代+分叉效果定案+营地统一案甲),2026-10-11 锻造工坊裁决会话攻防所有权切分定案树侧连带换代,设计权威文档 = [天赋树](systems/跨局循环/天赋树.md) v0.6(2026-10-11 落文)。本条合并原「天赋树已建未接面两件」(2026-10-09)与「天赋树结构重构批」(2026-10-10)两专条,承载换代实装全量。 -**内容**:① 结构换代——`meta_tree.tres` 33→29 节点:锻造枝三属性节点(武器锻造/护身锻造/甲胄锻造)删除,换单个免费解锁节点「锻造工坊」(前置 = 攻击淬炼累计 ≥2 级 且 护甲淬炼累计 ≥2 级,等级阈值前置属新机制);克制专精 Fork 对删除(Fork 词表 4→3 组);地脉共鸣解锁条件改四条淬炼线全部买满;同调位 1 改无前置根节点(串行 1→2→3 保留)。② 营地统一(案甲)——树=营地本体:属性升级唯一入口=树淬炼节点,旧属性锻造柜台退役吸收进脊柱(落地前柜台维持现役);工作间钥匙模型(锻造工坊/秘宝匣=钥匙节点展开面板,图鉴常开无钥匙);营地 UI 重做(树=主界面,树面板从图鉴柜台下段程序占位位升出)。③ 叠加公式换代——开局属性 = 角色基础值 + 树四线淬炼 flat + 锻造路线加值 + 局内加算区(旧「柜台三档 flat」项随退役移除)。④ 迁移重做——forge_levels 不再映射锻造枝(旧映射作废),改映射脊柱对应线等级(零亏损,cap 差额补偿口径随批定);秘宝匣点亮映射与同调位谓词映射沿用。⑤ schema 面——等级阈值前置新形态;Fork 组词表 4→3 组;RULE_KEYS 2→6 键扩表(三组 Fork 效果定案:开局姿态=每关首轮窗〔先手压制=每关首轮 AP+1 / 稳健拓荒=每关首轮内受击减伤〕、危险直觉=锋陷阱伤害减半 / 守误标返 AP·均每关限次、财富之道=聚 GP 获取增益 / 散消费折价;现役两键占位态随批终结);「道具工坊」改名「秘宝匣」代码连带面(文档正文已随 2026-10-10 跨文档同步批扫改,代码标识符 workshop_items 与界面文案归本批)。⑥ 刷新升级节点接线缺陷修复——树上购买写 attune_refresh_level 同一账本(定性=缺陷修复:树上购买现无消费面=白花钱;两入口并存收敛口径随批)。⑦ 同调位 2/3 槽位收编——槽位判定源从谓词表切换/合并到树节点(与秘宝实装批的槽位定序点见其进展注记)。⑧ 命中线 flat 注入——**归数值批**(先定值域再接线),随本批接线。⑨ T0 实查一项:危险直觉守侧「误标返 AP」前提 = 标错机制存在性,查无则守侧换安全网向等价效果经用户裁。**关联**:与「锻造工坊实装批」共用 meta_tree/forge_levels 与营地柜台面,排期两批合并评估;与「秘宝体系实现重构落地批」存在槽位定序点(见其进展注记)。 +**内容**:① 结构换代——`meta_tree.tres` 33→21 节点:脊柱砍攻击淬炼×4 层+护甲淬炼×4 层(攻防所有权切分 2026-10-11 用户裁——攻/AC 唯一入口=锻造工坊路线,树零攻防来源=红线,脊柱=生命/命中两线×4 层;行门槛 SPINE_ROW_GATE=4 规则保留、达成节奏重算归数值批);锻造枝三属性节点(武器锻造/护身锻造/甲胄锻造)删除,换单个免费解锁节点「锻造工坊」(前置=无,free 直接可点亮——2026-10-11 裁,原等级阈值前置作废);克制专精 Fork 对删除(Fork 词表 4→3 组);地脉共鸣解锁条件改「生命/命中两线全部买满(8 节点全上限)且 同调位 1/2/3 全部解锁」、效果改生命/命中两线 flat(攻/护分量摘除,上限 3 枚不变);同调位 1 改无前置根节点(串行 1→2→3 保留)。② 营地统一(案甲机制+四柜台呈现)——树=营地本体:生命/命中淬炼唯一入口=树脊柱淬炼节点,攻/AC 唯一入口=锻造工坊路线(所有权切分);旧属性锻造柜台退役(生命档吸收进脊柱、攻/护档归「锻造工坊实装批」路线化改造;落地前柜台维持现役);营地界面呈现=四柜台并排(树淬炼/锻造工坊/秘宝匣/奖励格图鉴——锻造工坊柜台钥匙点亮前=锁定态,宽度不足横向滚动条兜底,2026-10-11 A② 裁;程序占位先行,视觉终稿归 HUD 营地批)。③ 叠加公式换代——开局属性 = 角色基础值 + 树生命/命中淬炼 flat + 锻造路线加值 + 局内加算区(旧「柜台三档 flat」项随退役移除;命中线在账未注入披露不变)。④ 迁移重做——**已整体删除(2026-10-11 用户裁 Q3:开发阶段无迁移,旧档破坏性废弃重置,禁迁移/折算;`migrate_tree` 与 `forge_levels` 旧域随批清退删除;原「forge_levels 映射脊柱对应线」需求随脊柱换代一并作废)**。⑤ schema 面——「等级阈值前置」新形态去留=R1 开放待裁点(2026-10-11 呈报:钥匙改无前置后现无消费者,推荐裁撤);Fork 组词表 4→3 组;RULE_KEYS 2→6 键扩表(三组 Fork 效果定案:开局姿态=每关首轮窗〔先手压制=每关首轮 AP+1 / 稳健拓荒=每关首轮内受击减伤〕、危险直觉=锋踩中危险格伤害减半 / 守危险格标记错误返还行动点·均每关限次、财富之道=聚 GP 获取增益 / 散消费折价;现役两键占位态随批终结);「道具工坊」改名「秘宝匣」代码连带面(文档正文已随 2026-10-10 跨文档同步批扫改,代码标识符 workshop_items 与界面文案归本批)。⑥ 刷新升级节点接线缺陷修复——树上购买写 attune_refresh_level 同一账本(定性=缺陷修复:树上购买现无消费面=白花钱;两入口并存收敛口径随批)。⑦ 同调位 2/3 槽位收编——槽位判定源从谓词表切换/合并到树节点(与秘宝实装批的槽位定序点见其进展注记)。⑧ 命中线 flat 注入——**归数值批**(先定值域再接线),随本批接线。⑨ T0 实查一项:危险直觉守侧「误标返 AP」前提 = 标错机制存在性,查无则守侧换安全网向等价效果经用户裁。**关联**:与「锻造工坊实装批」共用 meta_tree/forge_levels 与营地柜台面,排期两批合并评估;与「秘宝体系实现重构落地批」存在槽位定序点(见其进展注记)。 -**归属**:[天赋树](systems/跨局循环/天赋树.md) v0.2 实装(树结构换代+营地统一;跨 [锻造工坊](systems/跨局循环/锻造工坊.md)(工作间=其柜台改造对象)/ [元进度](systems/跨局循环/元进度.md)(注入通道与柜台退役面)/ [秘宝](systems/跨局循环/秘宝.md)(同调位求值与秘宝匣工作间)/ 数值批(命中值域与全部 provisional 数值)) +**归属**:[天赋树](systems/跨局循环/天赋树.md) v0.6 实装(树结构换代+营地统一;跨 [锻造工坊](systems/跨局循环/锻造工坊.md)(工作间=其柜台改造对象,攻防数值唯一实装面在彼批)/ [元进度](systems/跨局循环/元进度.md)(注入通道与柜台退役面)/ [秘宝](systems/跨局循环/秘宝.md)(同调位求值与秘宝匣工作间)/ 数值批(命中值域与全部 provisional 数值)) -**状态**:待办(**2026-10-11 用户澄清:2026-10-09「先不要动」系暂缓口径、非全面冻结令——设计完成的批次即可做,本批不再以冻结为前置**;开工门=用户发令)。**需求卡片 v1.1 裁决落卡(2026-10-11)**:design/research/需求卡片-天赋树实装批-2026-10-11.md——T0-T7≈7.0-8.5d;grilling 五裁全落(Q1 刷新升级双入口并存·秘宝侧重复后续审查轮用户自办/Q2 槽位数量树说了算+旧条件作废删除随批清扫/Q3 开发阶段无迁移·旧存档废弃重置·迁移需求整体删除/Q4 本批程序占位重排/Q5 转排期规则默认先行)——**零开放待裁点;2026-10-11 用户令整卡编入迭代 21(不切分)**;歧义扫描六裁(/grilling)已落 GDD v0.4:术语回归「危险格/安全格」/彩蛋三线/行门槛含全部节点/聚仅战斗掉落+散全消费面/限次生命周期/三处旧裁决换代,卡片 T3 措辞随行对齐;架构面结论=现有分层承载得住零重构,三处小扩〔schema 阈值前置形态/效果引擎关卡域状态/营地呈现重排〕随批 +**状态**:待办(**2026-10-11 用户澄清:2026-10-09「先不要动」系暂缓口径、非全面冻结令——设计完成的批次即可做,本批不再以冻结为前置**;开工门=用户发令)。**需求卡片 v1.4 连带换代(2026-10-11 攻防所有权切分落文批)**:design/research/需求卡片-天赋树实装批-2026-10-11.md——结构目标 33→21 全卡换代、锻造工坊钥匙前置改无、地脉共鸣条件效果换代、注入公式换代、营地呈现措辞对齐四柜台;T 估时复核 ≈7.0-8.0d(T1 下修,其余不动);**新增开放待裁点 R1=schema「等级阈值前置」新形态去留(钥匙改无前置后现无消费者,推荐裁撤)**——裁决前不阻开工门(默认按裁撤案排程,用户推翻即先改文档);2026-10-11 用户令整卡编入迭代 21(不切分)不变。**历史落卡记录(v1.1→v1.3)**:grilling 五裁全落(Q1 刷新升级双入口并存·秘宝侧重复后续审查轮用户自办/Q2 槽位数量树说了算+旧条件作废删除随批清扫/Q3 开发阶段无迁移·旧存档废弃重置·迁移需求整体删除/Q4 本批程序占位重排/Q5 转排期规则默认先行);歧义扫描六裁(/grilling)已落 GDD v0.4:术语回归「危险格/安全格」/彩蛋三线/行门槛含全部节点/聚仅战斗掉落+散全消费面/限次生命周期/三处旧裁决换代(彩蛋三线后随 v0.6 攻防所有权切分换代为两线);架构面结论=现有分层承载得住零重构,三处小扩〔schema 阈值前置形态(去留=R1 待裁)/效果引擎关卡域状态/营地呈现重排〕随批 #### 秘宝体系实现重构落地批 — 已编入迭代 22(2026-10-11 用户令)(2026-10-10 用户令「文档层已改完,记录新设计的实现重构落地」登记) diff --git a/design/gdd/systems/跨局循环/天赋树.md b/design/gdd/systems/跨局循环/天赋树.md index 817771b4..86c3a7ef 100644 --- a/design/gdd/systems/跨局循环/天赋树.md +++ b/design/gdd/systems/跨局循环/天赋树.md @@ -1,13 +1,13 @@ # 天赋树 > 一句话:营地本身——跨局成长的结构承载:钥石逐节点点亮一棵树,属性淬炼、工作间解锁、规则抉择与同调挂载全部组织在树上 -> 状态:v0.4 歧义扫描清零(2026-10-11 /grilling 六裁落文——术语回归正主词/彩蛋三线/行门槛口径/聚散范围/限次生命周期/三处旧裁决换代;实装未落,现役代码仍为 33 节点迭代 12 实态,换代实装归 06「天赋树实装批」) +> 状态:v0.6 攻防所有权切分落文(2026-10-11 锻造工坊裁决会话 A 组定案交接——脊柱 16→8/全树 29→21、钥匙无前置、彩蛋条件效果换代、注入公式换代、四柜台呈现对齐;开放待裁点 R1=schema「等级阈值前置」形态去留;实装未落,现役代码仍为 33 节点迭代 12 实态,换代实装归 06「天赋树实装批」) -> **📖 节点台账指引(读这份文档先看这里)**:本树全部 29 个节点=下方「核心规则 → 节点总表」,逐节点列名称/脉/类型/前置/效果方向;**全部数值行(价格 / 等级上限 / 每级效果取值 / 限次值)不在本文**,事实源 = 配置文件 `game/data/tables/meta_tree.tres`(provisional 归数值批)。要查"有哪些节点、怎么连"看本文总表,要查"多少钱、加多少"开配置文件。 +> **📖 节点台账指引(读这份文档先看这里)**:本树全部 21 个节点=下方「核心规则 → 节点总表」,逐节点列名称/脉/类型/前置/效果方向;**全部数值行(价格 / 等级上限 / 每级效果取值 / 限次值)不在本文**,事实源 = 配置文件 `game/data/tables/meta_tree.tres`(provisional 归数值批)。要查"有哪些节点、怎么连"看本文总表,要查"多少钱、加多少"开配置文件。 ## 设计目的 -元进度管「钥石与永久强化」的跨局账,天赋树回答这本账里「永久强化长什么样」——并且它就是营地的本体(2026-10-11 用户裁案甲):玩家进营地看到的就是这棵树,营地升级就是天赋树升级。主干脊柱管属性强化的积累节奏(属性升级的唯一入口);锻造脉与钥石脉是两把工作间钥匙——点亮后展开锻造工坊(武器/护甲路线升级)与秘宝匣(秘宝解锁与同调装配)两个工作间面板;同调脉管同调位挂载与规则抉择。玩家在两场冒险之间回到营地,用钥石逐节点点亮这棵树,点亮的属性与规则在下一局开局注入。 +元进度管「钥石与永久强化」的跨局账,天赋树回答这本账里「永久强化长什么样」——并且它是营地的机制本体(2026-10-11 用户裁案甲),营地升级就是天赋树升级。主干脊柱管生命/命中的积累节奏(两线唯一入口——2026-10-11 攻防所有权切分:攻击唯一入口=锻造工坊武器路线、AC 唯一入口=锻造工坊甲路线,树零攻防来源=红线,每根数值轴全游戏单一来源);锻造脉与钥石脉是两把工作间钥匙——点亮后展开锻造工坊(武器/护甲路线升级)与秘宝匣(秘宝解锁与同调装配)两个工作间;同调脉管同调位挂载与规则抉择。营地界面呈现=四柜台并排(2026-10-11 锻造工坊裁决会话 A② 裁):树淬炼柜台是树脊柱的界面形态,锻造工坊柜台在钥匙点亮前呈锁定态。玩家在两场冒险之间回到营地,用钥石逐节点点亮这棵树,点亮的属性与规则在下一局开局注入。 树同时是账号姿态的承载:买了哪些节点、A/B 面激活哪侧,构成这个存档的跨局姿态——「我的账号玩成了什么样」。 @@ -19,11 +19,11 @@ | 负责 | 说明 | |---|---| -| 节点结构与解锁规则 | 29 节点的一脊三脉构成、脊柱行门槛、前置两形态(点亮前置 / 等级阈值前置)、Fork 互斥对与免费切换、彩蛋觉醒——换代后结构事实源 = `data/tables/meta_tree.tres` + schema MetaTreeTable(实装随 06) | +| 节点结构与解锁规则 | 21 节点的一脊三脉构成、脊柱行门槛、点亮前置(「等级阈值前置」形态去留=R1 待裁)、Fork 互斥对与免费切换、彩蛋觉醒——换代后结构事实源 = `data/tables/meta_tree.tres` + schema MetaTreeTable(实装随 06) | | 树的购买与货币规则 | 全树钥石单币;free 节点零币;购买校验四件套(等级上限 / 行门槛 / 前置 / 互斥) | -| 营地统一模型 | 树=营地本体:属性升级唯一入口=树淬炼节点;工作间钥匙模型(锻造工坊 / 秘宝匣);图鉴常开;旧属性锻造柜台退役吸收进脊柱 | +| 营地统一模型 | 树=营地本体(呈现=四柜台并排):生命/命中淬炼唯一入口=树脊柱淬炼节点,攻/AC 唯一入口=锻造工坊路线(所有权切分,2026-10-11 裁);工作间钥匙模型(锻造工坊 / 秘宝匣);图鉴常开;旧属性锻造柜台退役(生命归脊柱、攻防归锻造工坊) | | 树域存档的内容语义 | tree_nodes(node_id→已购等级)与 fork_sides(fork_group→激活侧)两域语义;旧档废弃规则(开发阶段无迁移——2026-10-11 用户裁) | -| 树效果的跨局注入投影 | 四线淬炼 flat 入覆盖值通道、Fork 规则键集入冒险开始参数面 | +| 树效果的跨局注入投影 | 生命/命中淬炼 flat 入覆盖值通道、Fork 规则键集入冒险开始参数面 | 不负责: @@ -31,11 +31,11 @@ |---|---| | 节点数值行(价格 / 等级上限 / effects 取值 / 限次值) | [数据配置](../表现与支撑/数据配置.md)——行值读 `meta_tree.tres`,全 provisional 归数值批;本文只定规则与键结构 | | 钥石账本 | [元进度](元进度.md)——树是永久强化的承载结构,钥石余额是消费来源;旧柜台框架与退役面亦在对方登记 | -| 锻造工坊工作间内的路线升级设计 | [锻造工坊](锻造工坊.md)——武器三路线+护甲三路线的等级、定价、满级特效现行事实源在彼 | +| 锻造工坊工作间内的路线升级设计 | [锻造工坊](锻造工坊.md)——武器三路线+护甲三路线的等级、定价、满级特效现行事实源在彼;攻/AC 数值唯一来源在彼(所有权切分) | | 秘宝目录、同调装配与同调位求值 | [秘宝](../跨局循环/秘宝.md)——树只持同调位节点挂载位与秘宝匣钥匙 | | 奇物(局内流派件) | [奇物](../冒险循环/奇物.md)——规则改写型特性只走局内随机渠道,永不入树(层级纪律,见核心规则) | | 存档读写与版本迁移机制 | [存档序列化](../表现与支撑/存档序列化.md)——树域是存进去的内容之一 | -| 营地界面呈现 | [HUD 框架](../表现与支撑/HUD框架.md)——树=营地主界面(案甲),呈现终稿归对方 | +| 营地界面呈现 | [HUD 框架](../表现与支撑/HUD框架.md)——四柜台并排呈现(案甲机制+四柜台措辞),呈现终稿归对方 | ## 在核心循环中的位置 @@ -49,38 +49,36 @@ ### 营地=树:统一模型 -营地不再是一组并列柜台,而是这一棵树(2026-10-11 用户裁案甲,取代旧「三柜台→一树」界面重构议题): +营地机制本体=这一棵树(2026-10-11 用户裁案甲,取代旧「三柜台→一树」界面重构议题);营地界面呈现=四柜台并排(2026-10-11 锻造工坊裁决会话 A② 裁):①树淬炼柜台(树脊柱的界面形态,生命/命中淬炼唯一入口)②锻造工坊柜台(武器+护甲攻防两区)③秘宝匣柜台(秘宝解锁与同调装配)④奖励格图鉴(常开无门槛)。攻防独立柜台;宽度不足时横向滚动条兜底;程序占位先行,视觉与布局终稿归 HUD 营地批(后续 UI 优化另批)。机制语义不随呈现措辞变: -- **属性升级唯一入口**——生命 / 攻击 / 命中 / 护甲的永久强化只在树脊柱淬炼节点购买;旧属性锻造柜台(forge_levels 三档直购)退役,功能吸收进脊柱,`forge_levels` 旧存档域随实装批清退(开发阶段无迁移——旧档破坏性废弃,见存档域节)。 -- **工作间钥匙模型**——锻造工坊、秘宝匣是树上两枚免费解锁节点(钥匙):点亮后展开对应工作间面板,工作间内的升级操作(武器/护甲路线升级、秘宝解锁与同调装配)不在树上重复成节点。钥匙节点本身零币、不可跳过——没点亮就进不去工作间。 +- **生命/命中淬炼唯一入口**——生命/命中的永久强化只在树脊柱淬炼节点购买;攻/AC 的永久强化唯一入口=锻造工坊武器/护甲路线(所有权切分,2026-10-11 裁——树零攻防来源=红线)。旧属性锻造柜台(forge_levels 三档直购)退役:生命档吸收进脊柱、攻/护档由[锻造工坊](锻造工坊.md)实装批路线化改造承接,`forge_levels` 旧存档域随实装批清退(开发阶段无迁移——旧档破坏性废弃,见存档域节)。 +- **工作间钥匙模型**——锻造工坊、秘宝匣是树上两枚免费解锁节点(钥匙):点亮后展开对应工作间柜台面板,工作间内的升级操作(武器/护甲路线升级、秘宝解锁与同调装配)不在树上重复成节点。钥匙节点本身零币、不可跳过——锻造工坊钥匙无前置、直接可点亮(2026-10-11 裁),秘宝匣钥匙前置=脊柱生命第 1 层;钥匙未点亮时对应柜台锁定态,没点亮就进不去工作间。 - **图鉴常开**——奖励格图鉴是查看类功能,不设钥匙、不设门槛。 -- 实装前过渡态:旧柜台三档直购维持现役(与树四线在注入面叠加),退役动作随 06「天赋树实装批」执行。 +- 实装前过渡态:旧柜台三档直购维持现役(与树淬炼在注入面叠加),退役动作随 06「天赋树实装批」执行。 ### 一脊三脉:节点构成 -天赋树(玩家可见名;代码面 `meta_tree`)换代后 29 节点,按脉(vein)分四族: +天赋树(玩家可见名;代码面 `meta_tree`)换代后 21 节点,按脉(vein)分四族: | 脉 | 节点数 | 内容 | 结构要点 | |---|---|---|---| -| 主干脊柱(spine) | 16 | 生命 / 攻击 / 命中 / 护甲四线 × 4 层,kind=stat | 行门槛:层 N 可购需全树已购总等级 ≥ 4×(N−1);每节点可重复升级(上限读表) | -| 锻造脉(forge) | 2 | 锻造工坊(kind=unlock,free,工作间钥匙)+ 彩蛋节点地脉共鸣(kind=easter) | 锻造工坊前置 = 攻击淬炼累计 ≥2 级 **且** 护甲淬炼累计 ≥2 级(等级阈值前置,新形态);彩蛋挂本脉 | +| 主干脊柱(spine) | 8 | 生命 / 命中两线 × 4 层,kind=stat | 行门槛:层 N 可购需全树已购总等级 ≥ 4×(N−1);每节点可重复升级(上限读表)。2026-10-11 攻防所有权切分砍攻/护两线——SPINE_ROW_GATE=4 规则不变,两线换代后全树总等级供给结构变化,行门槛达成节奏重算=注记在册、值归数值批 | +| 锻造脉(forge) | 2 | 锻造工坊(kind=unlock,free,工作间钥匙)+ 彩蛋节点地脉共鸣(kind=easter) | 锻造工坊前置 = **无**(free,直接可点亮——2026-10-11 攻防所有权切分裁,原「攻击淬炼累计 ≥2 且 护甲淬炼累计 ≥2」等级阈值前置随两线砍除作废);彩蛋挂本脉 | | 钥石脉(keystone) | 2 | 秘宝匣(kind=unlock,free,工作间钥匙)/ 刷新升级(kind=rule) | 前置链:秘宝匣 ← 脊柱生命第 1 层;刷新升级 ← 秘宝匣 | | 同调脉(attune) | 9 | 同调位 1/2/3 三节点(kind=socket)+ Fork 3 对 6 节点(kind=fork) | **同调位 1 为根节点、无前置**,其后逐级前置(1→2→3);全部 Fork 前置 = 同调位 1 | -节点类型是封闭枚举六类:stat(四线数值)/ rule(全局规则)/ unlock(内容解锁)/ socket(同调位)/ fork(A/B 互斥对)/ easter(彩蛋觉醒)。字段、词表与跨字段约束由 schema 校验(MetaTreeTable.validate:脉 / 类型 / 币出域即拒、effects 键封闭、Fork 每组恰 a/b 各一、彩蛋 ≤3、禁 archetype 键——加载期校验)。换代连带 schema 变化随实装批:Fork 组词表 4→3 组、前置机制扩等级阈值形态、规则键词表 2→6 键(见 Fork 节)。 +节点类型是封闭枚举六类:stat(生命/命中两线数值)/ rule(全局规则)/ unlock(内容解锁)/ socket(同调位)/ fork(A/B 互斥对)/ easter(彩蛋觉醒)。字段、词表与跨字段约束由 schema 校验(MetaTreeTable.validate:脉 / 类型 / 币出域即拒、effects 键封闭、Fork 每组恰 a/b 各一、彩蛋 ≤3、禁 archetype 键——加载期校验)。换代连带 schema 变化随实装批:Fork 组词表 4→3 组、规则键词表 2→6 键(见 Fork 节);「等级阈值前置」新形态去留=R1 待裁(见「购买与货币」节)。 -### 节点总表(29 节点) +### 节点总表(21 节点) -换代后全名单(2026-10-11 设计会话终裁)。数值行(价格/上限/效果取值)不在此表,读配置文件 `game/data/tables/meta_tree.tres`(现役仍 33 行旧结构,换代实装随 06「天赋树实装批」): +换代后全名单(2026-10-11 攻防所有权切分批换代:29→21)。数值行(价格/上限/效果取值)不在此表,读配置文件 `game/data/tables/meta_tree.tres`(现役仍 33 行旧结构,换代实装随 06「天赋树实装批」): | 节点 | 脉 | 类型 | 前置 | 效果方向 | |---|---|---|---|---| | 生命淬炼·1~4 层 | 脊柱 | stat | 第 1 层无前置;第 2~4 层=行门槛(全树总投入 ≥4/8/12) | 每级生命上限 +5 量级(层内可购 3 次) | -| 攻击淬炼·1~4 层 | 脊柱 | stat | 同上行门槛 | 每级攻击 +1 量级 | | 命中淬炼·1~4 层 | 脊柱 | stat | 同上行门槛 | 每级命中 +1 量级(暂不注入——消费面归数值批) | -| 护甲淬炼·1~4 层 | 脊柱 | stat | 同上行门槛 | 每级护甲 +1 量级 | -| 锻造工坊 | 锻造 | unlock | 攻击淬炼累计 ≥2 级 **且** 护甲淬炼累计 ≥2 级(等级阈值前置) | 免费点亮→展开锻造工坊工作间(武器/护甲路线升级,内容现行事实源=[锻造工坊](锻造工坊.md)) | -| 地脉共鸣 | 锻造 | easter | 四条淬炼线全部买满(16 节点全上限) | 免费自动觉醒;生命/攻击/护甲三线 flat 各一份(命中分量待命中线注入时随批加回) | +| 锻造工坊 | 锻造 | unlock | 无(free,直接可点亮——2026-10-11 裁,原等级阈值前置作废) | 免费点亮→展开锻造工坊工作间(武器/护甲路线升级=攻/AC 数值唯一入口,内容现行事实源=[锻造工坊](锻造工坊.md)) | +| 地脉共鸣 | 锻造 | easter | 生命/命中两线全部买满(8 节点全上限)**且** 同调位 1/2/3 全部解锁 | 免费自动觉醒;生命/命中两线 flat 各一份(命中分量随命中线注入面落位生效) | | 秘宝匣 | 钥石 | unlock | 脊柱生命第 1 层 | 免费点亮→展开秘宝匣工作间(秘宝解锁+同调装配,现行事实源=[秘宝](../跨局循环/秘宝.md)) | | 刷新升级 | 钥石 | rule | 秘宝匣 | 每级提升同调刷新能力(现役生效走同调段账本;树上接线=缺陷修复归实装批) | | 同调位 1 | 同调 | socket | 无(根节点) | 解锁同调挂载位 1(槽位收编归实装批) | @@ -99,7 +97,7 @@ 所有付费节点只收钥石(2026-10-07 用户裁甲落定;行内 currency 字段保留为呈现元数据)。free 节点零币:两枚工作间钥匙(锻造工坊 / 秘宝匣)与彩蛋(觉醒)不经购买消费。 -购买校验四件套,全部通过才受理:①当前等级未满上限;②行门槛——脊柱层 N 需全树已购总等级 ≥ 4×(N−1)(总等级口径 = tree_nodes 全部节点等级之和,免费点亮与分叉激活均计入——2026-10-11 歧义扫描裁甲沿现役实态;常量 SPINE_ROW_GATE=4,即「投入点数累计解锁新行」);③requires 前置满足——两形态:点亮前置(前置节点全部已点亮,现行)与等级阈值前置(指定线的累计等级达标,锻造工坊专用);④Fork 节点所在组未激活任何一侧。执行购买时另查钥石余额:余额不足则购买失败,存档零副作用(等级、余额、激活侧均不动)。 +购买校验四件套,全部通过才受理:①当前等级未满上限;②行门槛——脊柱层 N 需全树已购总等级 ≥ 4×(N−1)(总等级口径 = tree_nodes 全部节点等级之和,免费点亮与分叉激活均计入——2026-10-11 歧义扫描裁甲沿现役实态;常量 SPINE_ROW_GATE=4,即「投入点数累计解锁新行」;脊柱 16→8 换代后达成节奏重算归数值批);③requires 前置满足——点亮前置(前置节点全部已点亮,现行);「等级阈值前置」新形态(指定线的累计等级达标,v0.2 为锻造工坊钥匙而设)随钥匙改无前置失去唯一消费者,去留=开放待裁点 R1(2026-10-11 呈报,推荐裁撤——无消费者不加机制位,需要时随批重立);④Fork 节点所在组未激活任何一侧。执行购买时另查钥石余额:余额不足则购买失败,存档零副作用(等级、余额、激活侧均不动)。 写口唯一:营地界面只发购买意图信号(tree_buy_requested),扣币、升级、写盘全部经 MetaProgression.tree_buy;Fork 节点购买走 tree_buy_fork(购即激活该侧)。 @@ -123,7 +121,7 @@ A/B 面只放规则面:节点 effects 取封闭规则键词表(RULE_KEYS) ### 彩蛋节点:满排觉醒 -彩蛋节点全树上限 3 枚(schema 校验),在役 1 枚 = 地脉共鸣:**四条淬炼线全部买满**(16 节点全上限)时自动觉醒点亮(2026-10-11 裁,原条件「锻造脉三节点全满」随锻造枝撤除作废),零币、不经购买;效果 = **生命/攻击/护甲三线属性 flat**(取值读表;命中分量待命中线注入时随批加回——2026-10-11 歧义扫描裁甲,不留永久无效分量),经注入面进下一局。彩蛋不进主路径,是深度玩家的挖掘位。 +彩蛋节点全树上限 3 枚(schema 校验),在役 1 枚 = 地脉共鸣:**生命/命中两线全部买满(8 节点全上限)且 同调位 1/2/3 全部解锁**时自动觉醒点亮(2026-10-11 攻防所有权切分裁:原条件「四条淬炼线全部买满」随脊柱砍攻/护两线换代),零币、不经购买;效果 = **生命/命中两线属性 flat**(取值读表;攻/护分量随所有权切分摘除——攻防归锻造工坊路线;命中分量随命中线注入面落位生效——命中线在账未注入纪律不变),经注入面进下一局。彩蛋不进主路径,是深度玩家的挖掘位。 ### 存档域与旧档废弃 @@ -135,7 +133,7 @@ A/B 面只放规则面:节点 effects 取封闭规则键词表(RULE_KEYS) 树的效果经两条通道随冒险开始参数面下传(通道现行事实源 = [元进度](元进度.md)「跨局注入」节): -① 属性通道——开局属性 = **角色基础值 + 树四线淬炼 flat(Σ 节点 effects × 等级)+ 锻造路线加值(当前武器 / 当前甲,现行事实源 = [锻造工坊](锻造工坊.md))+ 局内加算区 flat**(2026-10-11 叠加公式换代:旧「柜台三档 flat」项随柜台退役移除,树脊柱成账号全局基础层、锻造路线成专精层,两层相加)。写入覆盖值通道(atk / max_hp / armor_class),开局显式传入战斗初始化。命中线已购等级在账但未入注入面——消费面(命中折扣档)归数值批(代码批注在册披露)。 +① 属性通道——开局属性 = **角色基础值 + 树生命/命中淬炼 flat(Σ 节点 effects × 等级)+ 锻造路线加值(当前武器攻击加值 + 当前甲 AC 加值,只按当前选中生效,正主 = [锻造工坊](锻造工坊.md))+ 局内加算区 flat**(2026-10-11 攻防所有权切分叠加公式换代:树脊柱只持生命/命中,攻/AC 唯一来源=锻造路线——每根数值轴全游戏单一来源;旧「柜台三档 flat」项随柜台退役移除,树淬炼成账号全局基础层、锻造路线成专精层,两层相加)。写入覆盖值通道(atk / max_hp / armor_class),开局显式传入战斗初始化。命中线已购等级在账但未入注入面——消费面(命中折扣档)归数值批(代码批注在册披露)。 ② 规则通道——tree_rule_keys = 各 Fork 组激活侧节点 effects 键集,经冒险开始参数面 tree_rules 下传;每场战斗 begin_battle 时由效果引擎 rebuild 合成订阅行生效。开新冒险与继续上局两入口同参同值。 @@ -155,16 +153,16 @@ A/B 面只放规则面:节点 effects 取封闭规则键词表(RULE_KEYS) | 上游 | [数据配置](../表现与支撑/数据配置.md) | meta_tree.tres 承载与 schema 校验机制——本系统为结构 owner、数值回填归数值批 | | 上游 | [存档序列化](../表现与支撑/存档序列化.md) | tree_nodes / fork_sides 持久化与旧档废弃承载 | | 上游 | [秘宝](../跨局循环/秘宝.md) | 同调位槽位判定源切换(换代后=树点亮数,随实装批);秘宝匣工作间内目录与装配现行事实源在彼 | -| 上游 | [锻造工坊](锻造工坊.md) | 锻造工坊工作间内武器/护甲路线升级现行事实源在彼——树持钥匙节点,工作间=其柜台改造对象 | -| 下游 | [冒险结构](../冒险循环/冒险结构.md) | 冒险开始参数面——树四线淬炼 flat(叠加进覆盖值通道)与 tree_rules 键集的注入通道 | -| 下游 | [HUD 框架](../表现与支撑/HUD框架.md) | 树=营地主界面呈现(案甲);信号 = tree_buy_requested / tree_fork_toggled | +| 上游 | [锻造工坊](锻造工坊.md) | 武器/护甲路线升级现行事实源在彼——树持钥匙节点(无前置),工作间柜台=钥匙展开面板;攻/AC 数值唯一来源在彼(所有权切分红线) | +| 下游 | [冒险结构](../冒险循环/冒险结构.md) | 冒险开始参数面——树生命/命中淬炼 flat(叠加进覆盖值通道)与 tree_rules 键集的注入通道 | +| 下游 | [HUD 框架](../表现与支撑/HUD框架.md) | 营地四柜台并排呈现——树淬炼柜台=树脊柱界面形态(案甲);信号 = tree_buy_requested / tree_fork_toggled | | 下游 | 战斗侧效果引擎 | 规则键消费面——begin_battle rebuild 合成订阅(机制硬编码,无表行) | ## P0 最小闭环 已实装在役(迭代 12 批次二,合并 e780063,2026-10-04):33 节点结构 + 购买与切换面 + 存档 v5 树域 + 营地树面板 + 注入双通道。最小闭环语义 = 玩家能在营地用钥石点亮节点,属性与规则在下一局开局生效。 -v0.2 换代定案后,P0 语义升级为:29 节点结构 + 营地统一(树=营地本体、属性唯一入口、工作间钥匙)+ 三组 Fork 真效果——实装归 06「天赋树实装批」,落地前现役 33 节点态维持。 +v0.6 换代定案后,P0 语义升级为:21 节点结构 + 营地统一(树=营地本体、生命/命中唯一入口、攻防归锻造工坊、工作间钥匙、四柜台呈现)+ 三组 Fork 真效果——实装归 06「天赋树实装批」,落地前现役 33 节点态维持。 ## P1 / P2 后置 @@ -181,21 +179,21 @@ v0.2 换代定案后,P0 语义升级为:29 节点结构 + 营地统一(树 | 表 / 常量 | 键结构归属 | 数值行 | |---|---|---| -| 节点表 `data/tables/meta_tree.tres`(换代后 29 行:价格 / 等级上限 / row / requires〔含等级阈值形态〕/ effects 取值 / 限次值) | schema MetaTreeTable,本文 owner | 全 provisional,归数值批投值 | +| 节点表 `data/tables/meta_tree.tres`(换代后 21 行:价格 / 等级上限 / row / requires(点亮前置;等级阈值形态去留=R1 待裁)/ effects 取值 / 限次值) | schema MetaTreeTable,本文 owner | 全 provisional,归数值批投值 | | 脊柱行门槛常量 SPINE_ROW_GATE = 4 | `meta_tree_table.gd` 常量,本文 owner | 常量即规则(层 N 需全树总等级 ≥ 4×(N−1)) | | Fork 组词表 FORK_GROUPS(三组)/ 规则键词表 RULE_KEYS(换代后六键,扩表随实装批) | `meta_tree_table.gd` 封闭词表 | 词表即规则;规则键效果值硬编码于效果引擎 rebuild | | 钥石产出、刷新升级行族 | 现行事实源 = [元进度](元进度.md)调参表 | `data/tables/meta.tres` | ## 验收标准 -- 结构封闭:meta_tree.tres 通过 schema 校验零违例——29 节点、脉 / 类型 / 币词表出域即拒、Fork 三组每组恰 a/b 各一、彩蛋 ≤3、effects 键封闭、零 archetype 键。 +- 结构封闭:meta_tree.tres 通过 schema 校验零违例——21 节点、脉 / 类型 / 币词表出域即拒、Fork 三组每组恰 a/b 各一、彩蛋 ≤3、effects 键封闭、零 archetype 键。 - 行门槛可判:全树已购总等级 < 4×(N−1) 时脊柱层 N 全部节点不可购;总等级达标当刻层 N 开放购买。 -- 前置可判(两形态):点亮前置——requires 任一未点亮则节点不可购,逐一点亮后可购;等级阈值前置——锻造工坊在攻击淬炼累计 ≥2 且护甲淬炼累计 ≥2 前不可购,达标当刻可购。 -- 工作间可判:钥匙节点(锻造工坊 / 秘宝匣)未点亮时对应工作间不可进入;点亮后可进;图鉴无门槛常开。 +- 前置可判(点亮前置):requires 任一未点亮则节点不可购,逐一点亮后可购;锻造工坊钥匙无前置——初始即可点亮(free 零币)。(「等级阈值前置」形态去留=R1 待裁,裁撤则本行即前置全量。) +- 工作间可判:钥匙节点(锻造工坊 / 秘宝匣)未点亮时对应柜台锁定态、工作间不可进入;点亮后展开;图鉴无门槛常开。 - 单币可判:任一付费节点购买只扣钥石;余额不足购买失败,且存档零变化(等级、余额、激活侧均不动)。 - 互斥可判:Fork 组激活一侧后他侧不可购;已激活组切换零消费,切换后规则键集等于新激活侧节点 effects 键集;同侧重复切换为零操作。 -- 彩蛋可判:四条淬炼线全部买满时彩蛋节点自动点亮且零消费;任一未满则不亮。 -- 注入可判:开局覆盖值 = 角色基础值 + 树四线淬炼 flat + 锻造路线加值 + 局内加算区(各层语义清晰可加);tree_rules = 全部 Fork 组激活侧 effects 键集;开新冒险与继续上局两入口参数同值;全新存档(树全零)开局与零树状态完全一致。 +- 彩蛋可判:生命/命中两线全部买满(8 节点全上限)且同调位 1/2/3 全部解锁时彩蛋节点自动点亮且零消费;任一条件不满足则不亮。 +- 注入可判:开局覆盖值 = 角色基础值 + 树生命/命中淬炼 flat(命中在账未注入)+ 锻造路线加值 + 局内加算区(各层语义清晰可加);tree_rules = 全部 Fork 组激活侧 effects 键集;开新冒险与继续上局两入口参数同值;全新存档(树全零)开局与零树状态完全一致。 - 旧档废弃可判:加载换代前结构存档 → 树域废弃重置 → 后续游玩正常且无残留脏节点(开发阶段纪律,禁迁移);全新存档(树全零)开局与零树状态完全一致。 ## 待办 @@ -206,6 +204,7 @@ v0.2 换代定案后,P0 语义升级为:29 节点结构 + 营地统一(树 | 版本 | 日期 | 改动 | |---|---|---| +| v0.6 | 2026-10-11 | **攻防所有权切分落文批(锻造工坊裁决会话 A 组定案,天赋树会话交接落文)**:①脊柱换代 16→8——攻击淬炼×4 层与护甲淬炼×4 层删除,脊柱=生命/命中两线×4 层,全树 29→21 节点(每根数值轴全游戏单一来源:生命/命中→树脊柱、攻击→锻造工坊武器路线、AC→甲路线,树零攻防来源=红线);②锻造工坊钥匙节点前置改「无」(free、直接可点亮,原「攻击淬炼累计 ≥2 且 护甲淬炼累计 ≥2」等级阈值前置随两线砍除作废)——连带开放待裁点 R1:schema「等级阈值前置」新形态现无消费者,裁撤(推荐)/留作机制位待用户裁;③地脉共鸣换代——条件改「生命/命中两线全部买满(8 节点全上限)且 同调位 1/2/3 全部解锁」、效果改生命/命中两线 flat(攻/护分量摘除),上限 3 枚不变;④行门槛 SPINE_ROW_GATE=4 规则保留(层 N 需全树总等级 ≥4×(N−1)),两线换代后总等级供给结构变化=达成节奏重算注记在册、值归数值批;⑤叠加公式换代——开局属性=角色基础值+树生命/命中淬炼 flat+锻造路线加值(只按当前选中生效)+局内加算区 flat(命中在账未注入披露不变);⑥营地呈现措辞对齐四柜台并排(树淬炼柜台=树脊柱界面形态、锻造工坊柜台钥匙点亮前=锁定态,机制语义=树营地本体/钥匙模型/图鉴常开不变,A② 裁);⑦节点总表/一脊三脉/验收标准/调参表/依赖表连带换代。实装归 06「天赋树实装批」(结构目标 33→21 连带换代,需求卡片 v1.4 同批) | | v0.5 | 2026-10-11 | 锻造工坊更名批随迁(机械扫):五处 [武器锻造](武器锻造.md) 链接随系统更名「锻造工坊」换代为 [锻造工坊](锻造工坊.md)(v0.2 历史行内旧名按历史记载保留)。结构零改动 | | v0.4 | 2026-10-11 | **歧义扫描清零批(/grilling 六裁落文)**:①Q1 术语回归正主——分叉效果废「陷阱/危险标记」自造词,改「踩中危险格伤害减半」「危险格标记错误返还行动点」,玩家文案沿「危险格/安全格」;②Q2 地脉共鸣效果改生命/攻击/护甲三线(命中分量待命中线注入随批加回,不留永久无效分量);③Q3 行门槛总等级口径写明=tree_nodes 全部节点等级之和(免费点亮与分叉激活计入,沿现役实态);④Q4 财富之道范围定界——聚=仅战斗掉落渠道、散=全部 GP 消费面(用户裁);⑤Q5 限次计数生命周期落句(随冒险持久/按关重置/新冒险清零/断点保留);⑥Q6 三处旧裁决换代——已建未接面槽位判定源句换 Q2 裁决(树点亮数+旧条件作废删除)、刷新升级条补 Q1 双入口并存、存档域节「迁移重做」整节换代为「旧档废弃」(Q3 裁决落文,禁迁移红线);顺带清「Y 升级行族」黑话为「刷新升级行族」。结构零改动 | | v0.3 | 2026-10-11 | **节点台账补全批(用户令:台账指引升格文首+29 节点总表落文)**:文档最前新增「节点台账指引」块(节点结构查本文总表 / 数值查配置文件 `game/data/tables/meta_tree.tres` 双源分工声明);核心规则节补「节点总表(29 节点)」——17 行折叠式全名单(脊柱四线按层折叠),逐节点名称/脉/类型/前置/效果方向,数值不进正文沿配置纪律。结构零改动(纯台账补全) | diff --git a/design/research/需求卡片-天赋树实装批-2026-10-11.md b/design/research/需求卡片-天赋树实装批-2026-10-11.md index a6feee20..78be7427 100644 --- a/design/research/需求卡片-天赋树实装批-2026-10-11.md +++ b/design/research/需求卡片-天赋树实装批-2026-10-11.md @@ -1,18 +1,18 @@ # 需求卡片:天赋树实装批 -> 日期:2026-10-11 | 状态:v1.3 已编入迭代 21(2026-10-11 用户令整卡编入——Q1-Q4 已裁,Q5 转排期规则默认先行,零开放待裁点)|v1.3 回补逐需求点验收清单(逻辑验收方法论批,用户令——§7 升格两段式,其余节零改动) -> 设计权威文档:[天赋树](../gdd/systems/跨局循环/天赋树.md) v0.2(2026-10-11 设计会话终裁,零设计待裁点) +> 日期:2026-10-11 | 状态:v1.4 已编入迭代 21(2026-10-11 用户令整卡编入;grilling Q1-Q5 已裁、歧义扫描六裁已落 GDD v0.4——**v1.4 攻防所有权切分连带换代:结构目标 29→21、锻造工坊钥匙改无前置、新增开放待裁点 R1〔schema「等级阈值前置」形态去留,推荐裁撤〕**)|v1.3 回补逐需求点验收清单(逻辑验收方法论批,用户令——§7 升格两段式) +> 设计权威文档:[天赋树](../gdd/systems/跨局循环/天赋树.md) v0.6(2026-10-11 设计会话终裁+同日攻防所有权切分落文批;开放待裁点 R1 在册) > 在册条目:[06-待办清单](../gdd/06-待办清单.md)「天赋树实装批」(原「已建未接面两件」+「结构重构批」合并条) > 关联批:「锻造工坊实装批」(共用面,时序见 Q5;2026-10-11 系统更名,时名「武器锻造系统实装批」)|「秘宝体系实现重构落地批」(槽位定序点) ## 1. 目标与完成定义 -把天赋树 v0.2 定案落进代码与数据表:**29 节点结构换代 + 营地统一(树=营地本体)+ 三组 Fork 真效果 + 迁移重做**。完成定义: +把天赋树 v0.6 定案落进代码与数据表:**21 节点结构换代(攻防所有权切分——脊柱=生命/命中两线)+ 营地统一(树=营地本体,四柜台呈现)+ 三组 Fork 真效果 + 旧档破坏性废弃**。完成定义: -- `meta_tree.tres` 29 节点过 schema 零违例;树上购买面(四件套+等级阈值前置)可玩。 -- 营地打开即树:属性唯一入口=树淬炼;锻造工坊/秘宝匣两把钥匙展开工作间;图鉴常开;旧属性锻造柜台购买面退役。 +- `meta_tree.tres` 21 节点过 schema 零违例;树上购买面(四件套+点亮前置;阈值前置形态视 R1)可玩。 +- 营地四柜台并排:树淬炼柜台=树脊柱界面形态(生命/命中淬炼唯一入口;攻/AC 唯一入口=锻造工坊路线——所有权切分红线);锻造工坊/秘宝匣柜台钥匙点亮前=锁定态、点亮=展开工作间;图鉴常开;旧属性锻造柜台购买面退役。 - 三组 Fork 两侧各挂真效果(六规则键),开局窗/限次语义按设计权威文档生效。 -- 注入公式换代(基础值+树淬炼+锻造路线加值+局内加算);旧柜台 flat 项退役移除。 +- 注入公式换代(基础值+树生命/命中淬炼 flat+锻造路线加值+局内加算);旧柜台 flat 项退役移除。 - 旧存档破坏性废弃(开发阶段无迁移,2026-10-11 用户裁);同调位槽位数量判定源切树节点+旧条件(按击杀 Boss 次数自动涨)整体删除;树上刷新升级写同账(双入口并存,2026-10-11 用户裁)。 - 验证闸全绿(§7)。 @@ -47,6 +47,7 @@ 6. 🔴 命中线维持不注入(归数值批,本批不动其消费面)。 7. 🔴 数值全 provisional:行值沿旧表或量纲锚投值,终值归 M4 数值批;禁自行定终值。 8. 🔴 冒险开局参数面两入口(开新/续玩)同参同值——任何新参数(关卡域状态初值等)两入口必同传。 +9. 🔴 攻防所有权切分:树零攻防来源——树脊柱只持生命/命中淬炼;攻击唯一入口=锻造工坊武器路线、AC 唯一入口=锻造工坊甲路线(2026-10-11 用户裁)。树上任何数值项再带攻/护分量=违规。 ## 4. 范围边界 @@ -56,7 +57,7 @@ - 武器/护甲三路线的等级、定价、满级特效实装 → 「锻造工坊实装批」(本批只预留注入项位,见 Q5)。 - 秘宝匣工作间内的目录重设计实装(15 件/解锁混合制/代价轴)→ 「秘宝体系实现重构落地批」;本批秘宝匣柜台**仅改挂载位置与钥匙门**,段内功能原样保留。 -- 视觉终稿(树主界面美术/工作间面板视觉)→ HUD 营地视觉批;本批程序占位重排。 +- 视觉终稿(营地四柜台美术/工作间面板视觉)→ HUD 营地视觉批;本批程序占位重排。 - 命中线消费面、全部数值终值 → M4 数值批。 - 奖励格图鉴内容 → Alpha(现结构位不动,仅移出柜台宿主位)。 @@ -64,30 +65,30 @@ | 文档 | 关联点(本批改变它的哪条陈述) | 同步义务 | |---|---|---| -| design/dev/architecture/architecture.md | 模块图三处:MetaTreeTable schema 词表换代;效果引擎扩关卡域状态(battle_index 事实+跨战斗计数承载);营地呈现层树=主界面重排 | **机械面**随批更新 | +| design/dev/architecture/architecture.md | 模块图三处:MetaTreeTable schema 词表换代;效果引擎扩关卡域状态(battle_index 事实+跨战斗计数承载);营地呈现层四柜台重排 | **机械面**随批更新 | | design/registry/entities.yaml | 术语登记:危险直觉/财富之道/开局姿态窗/锻造工坊(工作间) | **机械面**随批更新 | | roadmap.md | 迭代行待编入(当前冻结,编入随解冻令) | **机械面**编入时更新 | | active.md | 状态记录随批记账 | **机械面**随批更新 | | design/gdd/06-待办清单.md | 本批条目状态随批推进 | **机械面**随批更新 | | game/README.md | 营地/柜台描述句(如有)随实态换 | **机械面**随批核对 | -| design/gdd/systems/跨局循环/天赋树.md | 「已建未接面」三条清账;P0 段 33→29 落地态;验收实态 | **设计权威文档**=反哺点(收口呈报,用户裁决后另批落文) | +| design/gdd/systems/跨局循环/天赋树.md | 「已建未接面」三条清账;P0 段 33→21 落地态;验收实态 | **设计权威文档**=反哺点(收口呈报,用户裁决后另批落文) | | design/gdd/systems/跨局循环/元进度.md | 注入公式终态句;属性柜台退役终态(v1.14 已预登记过渡态) | **设计权威文档**=反哺点 | | design/gdd/systems/排雷循环/秘宝.md | 同调位判定源终态(条件表→树节点,Q2 已裁:旧条件删除) | **设计权威文档**=反哺点(旧条件句删除经本批 T5 用户明令豁免随批扫改) | -| design/gdd/systems/跨局循环/锻造工坊.md | 「树侧解锁门」接线落地态;注入公式「锻造路线加值」项落地态 | **设计权威文档**=反哺点 | +| design/gdd/systems/跨局循环/锻造工坊.md | 「树侧解锁门」接线落地态(钥匙无前置,v0.4 已落);注入公式「锻造路线加值」项落地态 | **设计权威文档**=反哺点 | | design/gdd/systems/表现与支撑/存档序列化.md | 旧档废弃规则终态(旧结构检测=废弃重置)+旧域清理(forge_levels/迁移函数删除) | **设计权威文档**=反哺点 | -| design/gdd/systems/表现与支撑/HUD框架.md | 树=营地主界面结构终态 | **设计权威文档**=反哺点(视觉终稿另批) | +| design/gdd/systems/表现与支撑/HUD框架.md | 营地四柜台并排结构终态 | **设计权威文档**=反哺点(视觉终稿另批) | ## 6. 任务卡 -> 估时合计 ≈ 7.0-8.5d。**2026-10-11 用户令:整卡编入迭代 21、不切分(迭代容量放宽容纳全卡)**;原切分预案(子批 A=结构与接线≈5.0d/子批 B=营地 UI≈1.5d)降为应急备案,仅在批内遇不可抗停机时启用。 +> 估时合计 ≈ 7.0-8.0d(2026-10-11 攻防所有权切分连带复核:T1 随 21 行重排与 R1 去留下修,其余 T 项复核不动;原 ≈7.0-8.5d)。**2026-10-11 用户令:整卡编入迭代 21、不切分(迭代容量放宽容纳全卡)**;原切分预案(子批 A=结构与接线≈5.0d/子批 B=营地 UI≈1.5d)降为应急备案,仅在批内遇不可抗停机时启用。 - **T0 前置实查与冻结核对(≈0.5d)**:①标错机制存在性——flag_hit/flag_settle 语义实查(旗钉非危险格的可判定性、现行有无代价),产出守侧 contingency 呈报(设计会话已裁流程:查无标错→守侧换安全网向等价效果经用户裁);②GP 获取结算点乘算位实查(聚侧);③踩雷伤害结算乘算位实查(锋侧——地图伤害账兑付点);④锻造工坊 17 裁点裁决状态核对(Q5 前置);⑤冒烟基线实查记录;⑥`boss_kill_count` 计数除旧槽位条件外有无其他消费面核查(决定该计数域去留)。 -- **T1 schema 换代(≈1.0d)**:meta_tree_table.gd——FORK_GROUPS 4→3(删 fg_mastery);RULE_KEYS 2→6(新增 sense_sharp/sense_guard/economy_hoard/economy_spend,键名 T0 后可调);requires 扩等级阈值形态(新字段 requires_level: {node_id: n},validate 加载校验+悬空/出域即拒);meta_tree.tres 重排 29 行(节点 id/前置/价格沿 v0.2 结构,价格 provisional 沿旧量纲)。 -- **T2 购买与彩蛋面(≈0.5d)**:tree_can_buy 加阈值分支;锻造工坊节点接入;_check_easter_egg 判定改「四线全满」(16 节点全 cap 特化判定);树 UI 行板随表换代(含阈值前置呈现「攻击淬炼累计 ≥2 且护甲累计 ≥2」)。 +- **T1 schema 换代(≈0.75-1.0d)**:meta_tree_table.gd——FORK_GROUPS 4→3(删 fg_mastery);RULE_KEYS 2→6(新增 sense_sharp/sense_guard/economy_hoard/economy_spend,键名 T0 后可调);requires 等级阈值形态——**视 R1 裁决:裁撤(推荐)则本项删除、schema 只保留点亮前置**,留任则新字段 requires_level: {node_id: n}+validate 加载校验(悬空/出域即拒);meta_tree.tres 重排 21 行(节点 id/前置/价格沿 v0.6 结构——脊柱 8 行〔生命/命中两线×4 层〕、锻造工坊无前置,价格 provisional 沿旧量纲)。 +- **T2 购买与彩蛋面(≈0.5d)**:锻造工坊节点接入(无前置=初始即可点亮;阈值分支视 R1);_check_easter_egg 判定改「生命/命中两线 8 节点全 cap 且 同调位 1/2/3 全解锁」特化判定;树 UI 行板随表换代(21 行;阈值前置呈现视 R1)。 - **T3 Fork 六键效果接线(≈1.5d)**:rebuild 扩四合成订阅行——姿态组两键改「每关首轮窗」语义(关卡首战判定:battle_index==1 事实或等效参数位);危险直觉两键(锋=踩中危险格伤害减半·每关限次 / 守=危险格标记错误返还行动点·每关限次——限次承载=关卡域计数〔effect engine 扩 run-scoped counter 或战斗开场参数传余量〕按 T0 实查结论选型;限次计数生命周期=随冒险持久/按关重置/新冒险清零/断点保留,GDD v0.4);财富之道两键(聚=战斗掉落 GP 乘算,范围仅此渠道 / 散=GP 消费折价 cost_mult 位,范围全部 GP 消费面——GDD v0.4);tree_rule_keys 随新词表自然扩。**若需扩 EVENTS/FACTS/效果类型闭集→按契约 5 L2 呈报。** -- **T4 注入换代与退役(≈1.0d)**:hero_override 换公式(树淬炼+锻造路线加值位〔预留 0,随武器批填充〕);旧属性柜台退役(buy_forge 购买面下线+营地属性锻造柜台列移除+forge_flat 注入项移除);同调位槽位收编(槽位数量=树点亮节点数,Q2 裁甲——旧条件链删除);树上刷新升级购买写同账(Q1 裁乙——双入口并存,树上+秘宝匣装配段按钮都能买)。 +- **T4 注入换代与退役(≈1.0d)**:hero_override 换公式(树生命/命中淬炼 flat〔命中在账未注入〕+锻造路线加值位〔预留 0,随锻造工坊批填充〕);旧属性柜台退役(buy_forge 购买面下线+营地属性锻造柜台列移除+forge_flat 注入项移除);同调位槽位收编(槽位数量=树点亮节点数,Q2 裁甲——旧条件链删除);树上刷新升级购买写同账(Q1 裁乙——双入口并存,树上+秘宝匣装配段按钮都能买)。 - **T5 旧档废弃与旧逻辑删除(≈0.5d)**:①旧结构存档处理——加载检测到换代前结构(已删节点 id 残留)即废弃树域重置(开发阶段破坏性变更,Q3 用户裁),三体系迁移函数 `migrate_tree` 删除;②旧逻辑删除——forge_levels 旧柜台域清退、同调槽位旧条件链(条件表判定)退役;③旧条件文档清扫(用户明令豁免随批)——现行权威文档文本中「按击杀 Boss 次数自动涨槽位」类表述删除换代(版本历史行不动)。 -- **T6 营地统一 UI 重排(≈1.5d,程序占位)**:树=营地主界面(主列);锻造工坊/秘宝匣两钥匙未点亮=入口锁定态、点亮=展开工作间面板(锻造工坊面板暂显「随锻造工坊批开放」占位;秘宝匣面板=现工坊柜台内容整体迁入);图鉴常开独立位;刷新升级按钮双入口并存(Q1 裁乙——秘宝匣装配段按钮保留)。**占位面板硬要求(2026-10-11 用户令)**:打开/关闭零副作用——零写档、零报错、面板内无任何可交互购买路径。 +- **T6 营地统一 UI 重排(≈1.5d,程序占位)**:营地四柜台并排(2026-10-11 A② 裁)——树淬炼柜台=树脊柱的界面形态(主界面);锻造工坊柜台钥匙点亮前=锁定态、点亮=展开工作间面板(面板暂显「随锻造工坊批开放」占位);秘宝匣柜台=现工坊柜台内容整体迁入+钥匙门;图鉴常开独立位;宽度不足横向滚动条;刷新升级按钮双入口并存(Q1 裁乙——秘宝匣装配段按钮保留)。**占位面板硬要求(2026-10-11 用户令)**:打开/关闭零副作用——零写档、零报错、面板内无任何可交互购买路径。 - **T7 文档同步闸+回归收口(≈1.0d)**:冒烟 run_all 全绿+行为探针逐条(§7);§5 机械面文档更新完毕;反哺点逐条列进迭代实现报告;06 状态推进。 ## 7. 验证闸 @@ -95,7 +96,7 @@ ### 7.1 闸口径 - **测试方式两分法**(仓库口径,code-conventions.md §3.5 第 4 条):能力验证=调试接口直改游戏数据——经现役调试门控(DebugOverlay/DS_DEBUG)或在测试代码内直改数据表行、置节点等级/激活侧/钥石余额、直调核心写口构造状态,不经 UI、不走正常资源积累流程;体验验证=用户目检,观测项登记 07-体验验证清单(机械面随批)。本批以能力验证为主,用户目检面=营地统一形态与树购买交互(见 V22)。 -- **轻闸(随卡)**:冒烟 run_all 全绿(基线=T0 实查值,断言随换代增减但 0 失败);schema 校验零违例单测(29 行+阈值前置+词表出域即拒)。 +- **轻闸(随卡)**:冒烟 run_all 全绿(基线=T0 实查值,断言随换代增减但 0 失败);schema 校验零违例单测(21 行+词表出域即拒;阈值前置形态视 R1)。 - **重闸件**:原「行为探针」8 条已升格为 7.2 逐需求点验收清单 V2/V9/V8/V6/V12/V16/V10/V18(对应原①-⑧),随清单由任务卡执行,不再单列。 - **MC 配对锚**:三组两侧通关率差 <~3pp——六键落位后重跑一轮呈报(随 T7,读数归验证记录)。 - **人闸**:实机目检营地统一形态(用户)。 @@ -107,35 +108,35 @@ | 编号 | 需求点/契约指针 | 测什么(具体断言或行为) | 怎么测(载体+注入粒度) | 谁验 | 任务卡 | |---|---|---|---|---|---| -| V1 | §1①(29 节点 schema 零违例) | meta_tree.tres 行数=29 且 MetaTreeTable.validate 零违例(脉/类型/币词表出域即拒、Fork 三组每组恰 a/b 各一、彩蛋 ≤3、effects 键封闭、零 archetype);出域行逐类构造各一行(vein/kind/currency/effects 键/fork_side/悬空 requires)全部被拒 | 单元测试。注入=直读表行调 validate();反例=测试复制 rows 副本塞出域行逐类断言报错 | 自动闸 | T1 | -| V2 | §1①(购买面可玩,原探针①升格) | 购买校验四件套逐条:cap 满拦截;行门槛(层 N 需全树总等级 ≥4×(N−1),总等级口径=tree_nodes 全部节点等级之和、免费点亮与分叉激活计入);点亮前置任一未亮即拒;等级阈值前置——锻造工坊在攻击淬炼累计 <2 或护甲累计 <2 时不可购、双双达标当刻可购(呈现「攻击淬炼累计 ≥2 且护甲累计 ≥2」);余额不足购买失败且存档零副作用。反例:阈值不满足可购=红、门槛恰达不开放=红 | 冒烟+单元。注入=save.set_tree_level 逐节点置等级+add_keystone 置余额→tree_can_buy 逐节点判定→tree_buy 受理写账读回 | 自动闸 | T2 | +| V1 | §1①(21 节点 schema 零违例) | meta_tree.tres 行数=21(脊柱 8〔生命/命中两线×4 层〕+锻造 2+钥石 2+同调 9)且 MetaTreeTable.validate 零违例(脉/类型/币词表出域即拒、Fork 三组每组恰 a/b 各一、彩蛋 ≤3、effects 键封闭、零 archetype);出域行逐类构造各一行(vein/kind/currency/effects 键/fork_side/悬空 requires)全部被拒 | 单元测试。注入=直读表行调 validate();反例=测试复制 rows 副本塞出域行逐类断言报错 | 自动闸 | T1 | +| V2 | §1①(购买面可玩,原探针①升格) | 购买校验四件套逐条:cap 满拦截;行门槛(层 N 需全树总等级 ≥4×(N−1),总等级口径=tree_nodes 全部节点等级之和、免费点亮与分叉激活计入);点亮前置任一未亮即拒;锻造工坊钥匙无前置=初始(零余额、零已购)即可点亮;余额不足购买失败且存档零副作用。反例:前置未亮可购=红、门槛恰达不开放=红。(若 R1 留任阈值形态→恢复「攻击淬炼累计 <2 或护甲累计 <2 时不可购、双双达标当刻可购」断言。) | 冒烟+单元。注入=save.set_tree_level 逐节点置等级+add_keystone 置余额→tree_can_buy 逐节点判定→tree_buy 受理写账读回 | 自动闸 | T2 | | V3 | 契约 1(两币分工) | 任一付费节点购买只扣钥石(GP 侧零购买入口);余额不足时 tree_buy 返回 false 且 tree_nodes/fork_sides/keystone_balance 读回逐位不变 | 冒烟。注入=add_keystone(0) 后直调 tree_buy 断拒绝三域零变化;购买成功断余额 −price 且 GP 账零触碰 | 自动闸 | T2 | -| V4 | 契约 2(层级纪律) | effects 含 archetype 键=加载致命(validate 报 load_bearing);29 行现役表零 archetype 键 | 单元测试。注入=复制 rows 副本塞一行 effects.archetype 断 validate 报错(meta_tree_table.gd:80-82 护栏面) | 自动闸 | T1 | +| V4 | 契约 2(层级纪律) | effects 含 archetype 键=加载致命(validate 报 load_bearing);21 行换代表零 archetype 键 | 单元测试。注入=复制 rows 副本塞一行 effects.archetype 断 validate 报错(meta_tree_table.gd:80-82 护栏面) | 自动闸 | T1 | | V5 | 契约 3(写口唯一) | 扣币/升级/激活/写盘只经 MetaProgression 写口(tree_buy 族/toggle 族/buy_attune_refresh),UI 只发意图信号 | 人工核对——静态 grep 呈现层(presentation/)对 save.set_tree_level/spend_keystone/set_fork_side 的直调清单,逐条注明属组合根转发或违例 | 用户(人工核对) | T2/T4/T6 | | V6 | §1②(营地统一,原探针④升格) | 工作间钥匙门:锻造工坊/秘宝匣未点亮=入口锁定态、点亮=展开工作间面板;图鉴常开无门槛;占位面板开/关零副作用——零写盘(存档文件内容快照比对不变)、零报错输出、面板内无可交互购买路径;旧属性锻造柜台列自营地移除 | 场景探针。注入=隔离存档+save.set_tree_level 置两钥匙节点点亮态→实例化营地→断锁定/展开/图鉴三态与开闭前后存档快照一致 | 自动闸 | T6 | -| V7 | §1②(属性唯一入口+旧柜台退役) | 营地属性强化购买面=树脊柱淬炼节点唯一;buy_forge 旧柜台购买面下线后全仓零调用残留(meta_progression.gd:56-63、camp_shop_presenter.gd:101、camp_overlay_view.gd:86-126 柜台列随之清退) | 静态核查+探针。注入=静态 grep buy_forge/forge_price 调用面;探针断营地无属性锻造柜台行 | 自动闸 | T4/T6 | -| V8 | §1②(彩蛋觉醒,原探针③升格) | 四条淬炼线 16 节点全 cap→地脉共鸣自动点亮且零消费(钥石余额不动、不经购买);任一线未满不亮。反例:未满可手动购亮=红、觉醒扣币=红 | 冒烟。注入=save.set_tree_level 逐节点置 cap→tree_buy 任一节点触发 _check_easter_egg(meta_progression.gd:304-312 换代判定)→断 tree_level("easter_ley")==1 且余额不变 | 自动闸 | T2 | +| V7 | §1②(属性唯一入口+旧柜台退役) | 营地生命/命中强化购买面=树脊柱淬炼节点唯一(攻/AC 购买面不在本批——归锻造工坊实装批路线实装);buy_forge 旧柜台购买面下线后全仓零调用残留(meta_progression.gd:56-63、camp_shop_presenter.gd:101、camp_overlay_view.gd:86-126 柜台列随之清退) | 静态核查+探针。注入=静态 grep buy_forge/forge_price 调用面;探针断营地无属性锻造柜台行 | 自动闸 | T4/T6 | +| V8 | §1②(彩蛋觉醒,原探针③升格) | 生命/命中两线 8 节点全 cap 且 同调位 1/2/3 全解锁→地脉共鸣自动点亮且零消费(钥石余额不动、不经购买);任一条件不满足不亮(两线任一未满=红、任一同调位未点亮=红)。反例:未满可手动购亮=红、觉醒扣币=红 | 冒烟。注入=save.set_tree_level 逐节点置 cap/点亮同调位→tree_buy 任一节点触发 _check_easter_egg(meta_progression.gd:304-312 换代判定)→断 tree_level("easter_ley")==1 且余额不变 | 自动闸 | T2 | | V9 | §1③(Fork 互斥与切换,原探针②升格) | 购 A 侧即激活该组(fork_sides 入档);同组 B 侧不可购;免费切换零币换侧、切换后 tree_rule_keys==新激活侧节点 effects 键集;同侧重复切换零操作(存档零变化) | 冒烟。注入=add_keystone→tree_buy_fork 购一侧→tree_toggle_fork 换侧→逐断激活侧/键集/余额 | 自动闸 | T2 | | V10 | §1③(Fork 六键真效果,原探针⑦升格) | 六键各一条正例+反例:先手压制=每关首轮 AP+1、第二轮不触发、第二关首轮窗口刷新再触发;稳健拓荒=首轮窗内受击出盾、窗外不出;锋=踩中危险格伤害减半·每关限次、限次耗尽全额、安全格不减;守=危险格标记错误返还行动点·每关限次(守侧断言主语随 T0 标错机制实查结论对齐——查无则随守侧 contingency 换代);聚=战斗掉落 GP 乘算、商店等非战斗掉落渠道不乘(范围仅此渠道);散=GP 消费折价 cost_mult、覆盖全部 GP 消费面。限次计数生命周期四态各一断言(随冒险持久/按关重置/新冒险清零/断点保留) | 冒烟+单元。注入=直构 tree_rules 键集数组直调 EffectEngine.rebuild(effect_engine.gd:73-101 合成订阅面)+dispatch 发射事件;限次=直调 counter_add/counter_spend(effect_engine.gd:167-181)置关卡域计数后走事件路径断计数值与清零点 | 自动闸 | T3 | | V11 | 契约 5(效果类型闭集不加新词) | 六键效果全部走现有 24 效果类型+既有事实/参数词表组合:合成订阅行的 on/when/do 键全部落在 EVENTS/FACTS/OPS/EFFECT_KINDS/DO_KEYS 在册词表内(validate_trigger_row 零违例);若实现需扩闭集=L2 呈报留痕,本条断言以在册词表为准转红 | 单元测试。注入=直构六键合成订阅行调 EffectEngine.validate_trigger_row(effect_engine.gd:272-314)断零违例 | 自动闸 | T3 | -| V12 | §1①(注入公式换代,原探针⑤升格) | hero_override 逐字段对拍=树淬炼 flat(Σ 节点 effects×等级)+锻造路线加值位(本批预留 0)+局内加算区;forge_flat 旧项退役后不再出现在公式(旧「买 atk 1 级→override==行 flat」断言摘除,见 V20);开局 runner effective_atk/max_hp/ac==表值+override 各轴逐位;全新存档(树全零)override 全零=白板 | 冒烟+单元。注入=save.set_tree_level 置脊柱节点等级→直读 hero_override 手算对拍→start_adventure 带 override 断首战读数 | 自动闸 | T4 | +| V12 | §1①(注入公式换代,原探针⑤升格) | hero_override 逐字段对拍=树淬炼 flat(生命线注入——Σ 节点 effects×等级;命中线在账未注入)+锻造路线加值位(本批预留 0)+局内加算区;forge_flat 旧项退役后不再出现在公式(旧「买 atk 1 级→override==行 flat」断言摘除,见 V20);开局 runner effective_atk/max_hp/ac==表值+override 各轴逐位;全新存档(树全零)override 全零=白板 | 冒烟+单元。注入=save.set_tree_level 置脊柱节点等级→直读 hero_override 手算对拍→start_adventure 带 override 断首战读数 | 自动闸 | T4 | | V13 | 契约 6(命中线不注入) | 命中淬炼节点购若干级→hero_override 无 hit 字段位移、effective 面零命中变化(命中等级在账不入注入面——消费面归数值批) | 冒烟。注入=save.set_tree_level 置命中线等级→断 override 与首战读数与零购基线逐位一致 | 自动闸 | T4 | | V14 | §1①(同调位槽位收编,Q2 裁甲) | 槽位数量=树上同调位节点点亮数:点亮 n 个→Attunement.slots 读数==n、未点亮=0;旧条件(按击杀 Boss 次数/通关次数自动涨)判定链删除后 clear_count/boss_kill_count 计数不再进槽位判定(attunement_growth 表与访问器的去留随 T0⑥ boss_kill_count 消费面核查结论,本条断言主语=槽位判定源只剩树点亮态) | 冒烟。注入=save.set_tree_level 逐个点亮 att_socket1..3→Attunement.slots 读数阶梯断言 | 自动闸 | T4 | | V15 | §1①(刷新双入口同账,Q1 裁乙) | 树上刷新升级节点购买写 attune_refresh_level 同账:树上买一级→账本+1→attune_refresh_charges 涨;秘宝匣装配段按钮买一级→同一账本;两入口交替购买累计不串账、断账本读回一致 | 冒烟。注入=add_keystone→分别走 tree_buy(树上节点)与 buy_attune_refresh(装配段口)→逐断 save.attune_refresh_level 累计 | 自动闸 | T4 | -| V16 | §1①(旧档破坏性废弃,契约 4;原探针⑥升格) | 构造换代前结构存档(tree_nodes 含已删节点 id、forge_levels 非零)→load_from_disk→断:树域废弃重置(tree_nodes/fork_sides 回默认空)、禁迁移(migrate_tree 已删、无任何折算——钥石余额不因加载变动)、后续 tree_buy 正常受理、无残留脏节点(tree_nodes 键集 ⊆ 换代后 29 节点 id 集) | 冒烟+单元。注入=测试直写换代前结构 JSON 夹具到隔离存档路径→load_from_disk→断重置态与后续购买 | 自动闸 | T5 | -| V17 | 契约 7(数值全 provisional) | 29 行价格/cap/effects 取值/限次值全 provisional:行值沿旧表或量纲锚投值(生命 +5 量级/攻甲 +1 量级),本批不定终值、无终值口径文案 | 人工核对——表值逐项对照 meta_tree.tres 旧行值量纲与天赋树.md 节点总表效果方向列 | 用户(人工核对) | T1 | +| V16 | §1①(旧档破坏性废弃,契约 4;原探针⑥升格) | 构造换代前结构存档(tree_nodes 含已删节点 id、forge_levels 非零)→load_from_disk→断:树域废弃重置(tree_nodes/fork_sides 回默认空)、禁迁移(migrate_tree 已删、无任何折算——钥石余额不因加载变动)、后续 tree_buy 正常受理、无残留脏节点(tree_nodes 键集 ⊆ 换代后 21 节点 id 集) | 冒烟+单元。注入=测试直写换代前结构 JSON 夹具到隔离存档路径→load_from_disk→断重置态与后续购买 | 自动闸 | T5 | +| V17 | 契约 7(数值全 provisional) | 21 行价格/cap/effects 取值/限次值全 provisional:行值沿旧表或量纲锚投值(生命 +5 量级/命中 +1 量级),本批不定终值、无终值口径文案 | 人工核对——表值逐项对照 meta_tree.tres 旧行值量纲与天赋树.md 节点总表效果方向列 | 用户(人工核对) | T1 | | V18 | 契约 8(两入口同参,原探针⑧升格) | build_adventure_params 开新/续玩两入口:tree_rules/attunement/attune_refresh_y/hero_override(含新公式字段)同源同值;断点续玩受理面 runner._tree_rules 与传入一致(现役断言段 smoke_all.gd:4700-4727 主语随批次延续) | 冒烟。注入=隔离档 set_fork_side/set_tree_level→两入口直呼 build_adventure_params 逐键对拍+resume_adventure 受理读回 | 自动闸 | T7 | | V19 | §7.1 MC 配对锚 | 三组 Fork 两侧通关率差 <~3pp(六键落位后同种子配对重跑;「不同强非强弱」设计判据) | MC 同种子对拍(adventure_monte_carlo.gd 画像面,slots 主语随 V14 换代) | 自动闸 | T7 | -| V20 | §1④(旧验证约束同生死,code-conventions.md §3.5 第 5 条) | 只验证旧树结构/旧迁移/旧柜台/旧槽位条件的断言同批摘除或换代,摘除后冒烟仍全绿且新断言接管。本卡实查在案的摘除/换代清单:smoke_all.gd:4735-4736(33 节点断言→换代 29)、:4761-4772(迁移幂等三断言→随 migrate_tree 删除整段摘除)、:4773-4775(树 flat 并入 override——迁移夹具主语→随 V12 换代)、:230-232(attunement_growth 谓词表读数源断言→随 V14 摘除/换代)、:4652-4655(通关 1 关→Slots=1 且 boss_kill_count==1——旧槽位条件主断言→换代为树点亮断言)、:4665-4671(AttunementGrowthTable 白盒 clamp 断言→随谓词表退役摘除)、:4488-4517(几何定价+buy_forge 购买段→随柜台退役整段摘除)、:4525-4527(buy_forge+override==行 flat→摘除;:4532-4551 白板断言保留主语换代)、:4400-4401/:4418-4419(生涯页 forge_levels_total 投影→随 forge_levels 域清退摘除/换代)、ui_probe.gd:41-42(_forge_rows.size()==3→随柜台退役摘除/换代)、ui_click_probe.gd:63-88(营地柜台购买点击路径→换代为树购买点击路径)、verifier_batch.gd:178-185/:200-201(forge_levels 读数+buy_forge 购买模拟→换代)、adventure_monte_carlo.gd:72(attunement_growth.slots 硬编码计数源→随 V14 换代)、tests/unit/data_config/config_db_test.gd:158-164(forge_products 行族断言→随 forge_products 表清退摘除/换代) | 冒烟全绿出口+静态 grep(被删标识符清单在冒烟与单元段零残留) | 自动闸 | T4/T5/T7 | -| V21 | §1④(旧实现删除全仓残留核查) | 被删面全仓(game/ 内 .gd/.tres/.tscn)grep 零残留:migrate_tree(meta_progression.gd:318-344)、buy_forge(:56-63)、forge_flat(:39-40)、fg_mastery 组(meta_tree_table.gd:38 词表+meta_tree.tres fork_mastery_a/b 行)、旧槽位条件链(attunement.gd:24-27 判定源+attunement_growth_table.gd+attunement_growth.tres+config_db.gd:29/:52/:144/:282-286,表体去留随 T0⑥)、forge_atk/forge_hp/forge_ac 旧锻造枝节点、save_manager forge_levels 域(FORGE_ATTRS :45/默认档 :119/访问器 :232-241/_normalize 补齐 :416-420) | 静态核查(grep 清单逐项过目+删除后表加载与冒烟零违例) | 自动闸 | T5 | -| V22 | §7.1 人闸(营地统一形态) | 实机目检:营地打开即树(树=主界面)、两工作间钥匙锁定/展开态、图鉴常开位、刷新升级双入口按钮并存、树购买交互顺手、占位面板观感 | 用户目检,观测项登记 07-体验验证清单(机械面随批) | 用户(目检) | T7 | +| V20 | §1④(旧验证约束同生死,code-conventions.md §3.5 第 5 条) | 只验证旧树结构/旧迁移/旧柜台/旧槽位条件的断言同批摘除或换代,摘除后冒烟仍全绿且新断言接管。本卡实查在案的摘除/换代清单:smoke_all.gd:4735-4736(33 节点断言→换代 21)、:4761-4772(迁移幂等三断言→随 migrate_tree 删除整段摘除)、:4773-4775(树 flat 并入 override——迁移夹具主语→随 V12 换代)、:230-232(attunement_growth 谓词表读数源断言→随 V14 摘除/换代)、:4652-4655(通关 1 关→Slots=1 且 boss_kill_count==1——旧槽位条件主断言→换代为树点亮断言)、:4665-4671(AttunementGrowthTable 白盒 clamp 断言→随谓词表退役摘除)、:4488-4517(几何定价+buy_forge 购买段→随柜台退役整段摘除)、:4525-4527(buy_forge+override==行 flat→摘除;:4532-4551 白板断言保留主语换代)、:4400-4401/:4418-4419(生涯页 forge_levels_total 投影→随 forge_levels 域清退摘除/换代)、ui_probe.gd:41-42(_forge_rows.size()==3→随柜台退役摘除/换代)、ui_click_probe.gd:63-88(营地柜台购买点击路径→换代为树购买点击路径)、verifier_batch.gd:178-185/:200-201(forge_levels 读数+buy_forge 购买模拟→换代)、adventure_monte_carlo.gd:72(attunement_growth.slots 硬编码计数源→随 V14 换代)、tests/unit/data_config/config_db_test.gd:158-164(forge_products 行族断言→随 forge_products 表清退摘除/换代) | 冒烟全绿出口+静态 grep(被删标识符清单在冒烟与单元段零残留) | 自动闸 | T4/T5/T7 | +| V21 | §1④(旧实现删除全仓残留核查) | 被删面全仓(game/ 内 .gd/.tres/.tscn)grep 零残留:migrate_tree(meta_progression.gd:318-344)、buy_forge(:56-63)、forge_flat(:39-40)、fg_mastery 组(meta_tree_table.gd:38 词表+meta_tree.tres fork_mastery_a/b 行)、旧槽位条件链(attunement.gd:24-27 判定源+attunement_growth_table.gd+attunement_growth.tres+config_db.gd:29/:52/:144/:282-286,表体去留随 T0⑥)、forge_atk/forge_hp/forge_ac 旧锻造枝节点、脊柱攻/护淬炼线 8 节点(29→21 换代删除件)、save_manager forge_levels 域(FORGE_ATTRS :45/默认档 :119/访问器 :232-241/_normalize 补齐 :416-420) | 静态核查(grep 清单逐项过目+删除后表加载与冒烟零违例) | 自动闸 | T5 | +| V22 | §7.1 人闸(营地统一形态) | 实机目检:营地四柜台并排(树淬炼柜台=树脊柱界面形态=主界面)、锻造工坊柜台锁定/展开态、秘宝匣柜台迁入+钥匙门、图鉴常开位、刷新升级双入口按钮并存、树购买交互顺手、占位面板观感 | 用户目检,观测项登记 07-体验验证清单(机械面随批) | 用户(目检) | T7 | | V23 | §1⑤(验证闸全绿出口) | 批末四闸全绿:冒烟 run_all 全绿(基线=T0 实查值、0 失败)+单元测试全绿+场景探针全绿+MC 配对锚读数在带(V19 呈报);全仓旧件残留核查(V21)零残留为合并前置 | 批末统一执行(T7 回归收口) | 自动闸+用户(呈报过目) | T7 | ## 8. 异常分级 - **L1 自救**:行值/文案/信号命名/程序占位布局微调;探针夹具修正。 -- **L2 记录继续**:需扩效果类型/EVENTS/FACTS/参数位闭集(契约 5);T0 实查结论与预期不符但不触设计红线(含 boss_kill_count 另有消费面的处置选型)。 -- **L3 停机**:触碰 §3 任一红线;标错机制查无且守侧 contingency 需用户裁(按设计会话已裁流程呈报);发现 v0.2 设计与代码实态冲突无解。 +- **L2 记录继续**:需扩效果类型/EVENTS/FACTS/参数位闭集(契约 5);T0 实查结论与预期不符但不触设计红线(含 boss_kill_count 另有消费面的处置选型);R1 留任案下 requires_level 字段校验细节选型。 +- **L3 停机**:触碰 §3 任一红线;标错机制查无且守侧 contingency 需用户裁(按设计会话已裁流程呈报);发现 v0.6 设计与代码实态冲突无解。 ## 9. 代拍板白名单 @@ -151,8 +152,10 @@ | Q4 | 营地 UI 重排归属 | **甲 本批程序占位重排**——树主列+两工作间入口+图鉴常开,视觉终稿归 HUD 营地视觉批 | | Q5 | 与锻造工坊实装批时序 | **转排期规则(默认已定)**——默认本批先行(旧柜台 flat 项随 T4 移除——Q3 废弃旧档后无过渡保留价值,原「过渡保留」表述作废;锻造路线加值位预留 0 待锻造工坊批填充);若锻造会话(17 裁点裁决)先完成,排期时合并评估同场填充。发令时可一句话推翻 | -**遗留设计债(非本批阻塞项)**:锻造工坊 17 裁点(另会话进行中);标错机制查无时的守侧 contingency(T0 实查后触发,经用户裁)。 +**遗留设计债(非本批阻塞项)**:锻造工坊 17 裁点(另会话进行中,A 组已定案落文 v0.4、B 组 15 点挂起);标错机制查无时的守侧 contingency(T0 实查后触发,经用户裁)。 **回补待裁点(2026-10-11 v1.3 逐需求点验收清单回补时登记)**:零硬编不可测条目;两条目的断言终稿内容随 T0 实查结论对齐,先行按在册待裁流程承接——①V10 守侧(标记错误返还行动点):标记错误机制存在性 T0 实查未决,查无则该键断言随守侧 contingency 换安全网向等价效果重写(本卡 §8 L3 既有流程);②V14/V21(attunement_growth 谓词表与 boss_kill_count 计数域去留):T0⑥ 消费面核查未决,表体保留他用的断言主语已写明(槽位判定源只剩树点亮态),表体退役则 grep 清单随行扩列。 -**歧义扫描六裁(2026-10-11 /grilling,用户逐裁)**:①分叉文案回归「危险格/安全格」正主词(废「陷阱/危险标记」自造词);②地脉共鸣效果改生命/攻击/护甲三线(命中分量待命中线注入随批加回);③行门槛总等级口径=tree_nodes 全部节点等级之和(免费点亮与分叉激活计入);④聚=仅战斗掉落渠道、散=全部 GP 消费面;⑤限次计数生命周期=随冒险持久/按关重置/新冒险清零/断点保留;⑥GDD 三处旧裁决换代落 v0.4——已全部落 [天赋树](../gdd/systems/跨局循环/天赋树.md) v0.4,T3 措辞随行对齐。 +**歧义扫描六裁(2026-10-11 /grilling,用户逐裁)**:①分叉文案回归「危险格/安全格」正主词(废「陷阱/危险标记」自造词);②地脉共鸣效果改生命/攻击/护甲三线(命中分量待命中线注入随批加回)——**后随 v0.6 攻防所有权切分换代为生命/命中两线**;③行门槛总等级口径=tree_nodes 全部节点等级之和(免费点亮与分叉激活计入);④聚=仅战斗掉落渠道、散=全部 GP 消费面;⑤限次计数生命周期=随冒险持久/按关重置/新冒险清零/断点保留;⑥GDD 三处旧裁决换代落 v0.4——已全部落 [天赋树](../gdd/systems/跨局循环/天赋树.md) v0.4,T3 措辞随行对齐。 + +**攻防所有权切分连带换代(2026-10-11 锻造工坊裁决会话定案,卡 v1.4 落卡)**:来源=A 组三裁(生命归树脊柱/营地四柜台并排+攻防独立柜台/工作间两区并列)+攻防所有权切分(攻击唯一入口=武器路线、AC 唯一入口=甲路线,树零攻防来源=红线,树 29→21)+锻造工坊钥匙改无前置直接可点亮——树侧落文归天赋树会话交接批(GDD v0.6+本卡 v1.4+06 条同批换代)。**新开放待裁点 R1:schema「等级阈值前置」新形态去留**——钥匙改无前置后该形态现无消费者:**裁撤(推荐)**=T1 删 requires_level 设计项、schema 只保留点亮前置、V2 阈值断言取消,将来需要时随批重立;**留作机制位**=保留字段与校验(零消费者的机制容量,随批零消费落地)。裁决前 T1/T2 按「视 R1」双态执行,默认按裁撤案排程,用户推翻即先改文档。grilling 五裁+歧义扫描六裁(除②随 v0.6 换代为两线外)全部不动。