diff --git a/design/gdd/systems/冒险循环/冒险结构.md b/design/gdd/systems/冒险循环/冒险结构.md index 56251691..6ac674eb 100644 --- a/design/gdd/systems/冒险循环/冒险结构.md +++ b/design/gdd/systems/冒险循环/冒险结构.md @@ -193,7 +193,7 @@ GP(显示名「GP」)是冒险内的一次性属性提升货币:战斗胜 - **停点粒度**:快照只挂选路停点(入口呈现/战斗胜利后/兑付确认后的选路态)——这是唯一可恢复停点形态。战斗进行中不写快照:中断恢复后**当场战斗从头打**,棋盘中局不入档。 - **七字段拍板面**:关卡序号 / 节点位 / 生命 / 本关加成区 / GP 钱包 / 商店已购档 / 已抽模板。附随件(续玩正确性必需):主种子 + 取数计数器(rng 快照契约回填——续玩从断点号位精确续接原随机时间线,已抽模板零重抽)、钥石累计(Boss 掉落逐杀入账的中途值,终局摘要不失真)、已到节点序(关卡画面图条重建)、秘宝库存(奖励节点已选件防静默丢失)、**奖励选择态**(三选一停点中断:已选件 / 同调位替换在途——续玩已选不丢失;候选一致性=快照现状非强求 feature,2026-10-01 用户裁决)、**件获取次数计数**(kind 维度派生账本——断点附随件与读数承载)、**令牌池余库**(bonus_deck 逐枚还原——TP0 扩列,池消耗即上限的续玩正确性承载;旧版断点缺键=满库重建防御口径,单版本周期)、**商店货架态**(当前货架三件 + 本次进店已购次数;离开店=空架合法态,货架续玩由确定性重放承载:重进店同种子同货架逐位)、**Y 刷新池余量**(attune_refresh_y——冒险周期池消耗余量随断点:续玩优先读断点、不自参数面整额重注入,堵「用完 Y 退菜单再续玩满血复活」可利用漏洞;旧断点缺键回退参数面=旧档行为零变化)。 - **中断与退出两口径分离**(2026-09-29 用户裁决):中断(关游戏)= 留断点可续;**退出冒险**(放弃流程)= 失败同型结算 + **清除断点**——退出后「继续上局」不再出现。 -- **获得日记键**(gain_journal,断点 28 键):获得记录明细(三层结构归架构文档「冒险域拆分」节主角账条目——本域只登记断点面口径)随断点保存,回退策略 plain;旧档回退两态——旧断点缺日记键=汇总键直载并跳过比对(零迁移损失),日记在档=由日记推导汇总值与留存值比对,不符即报错中止(迁移正确性自检)。 +- **获得日记键**(gain_journal,断点 28 键):获得记录明细(三层结构归架构文档「模块归属·核心层」GainJournal 行——本域只登记断点面口径)随断点保存,回退策略 plain;旧档回退两态——旧断点缺日记键=汇总键直载并跳过比对(零迁移损失),日记在档=由日记推导汇总值与留存值比对,不符即报错中止(迁移正确性自检)。 - **续玩**:自断点重建到最近停点(逐字段回填 + 随机流回填),停点处玩家重新选路。三结局(冒险成功/失败/放弃)一律清断点——断点只活在一个进行中的冒险上。 - 与测量面的关系:断点面只在注入存档承载的正式冒险路径生效;模拟/冒烟不注入 = 整面静默,MC 逐项比对零扰动。 diff --git a/design/gdd/systems/战斗循环/战斗结算.md b/design/gdd/systems/战斗循环/战斗结算.md index 3e0e9d6f..da3c6602 100644 --- a/design/gdd/systems/战斗循环/战斗结算.md +++ b/design/gdd/systems/战斗循环/战斗结算.md @@ -100,7 +100,7 @@ 基础 9 类写的是裸机制的账:玩家没有任何专长时,结算流水的每一行都出得了这九类。有了专长之后,效果引擎会在段内挂点插入额外的结算效果,这类效果写**扩展行**。扩展行是**一个**行型,不是每种专长效果各占一个行型——具体插的是哪种效果,由行携带的效果身份(effect_id 载荷)说明,呈现层按身份取各自的行文案。专长会不断增加、效果种类不可穷举,行型词表因此对扩展类封口:新增专长效果只新增载荷身份,不再新增行型。 -扩展行与基础行共用同一套行协议:公共字段、来源归因、两层豁免、无来源即炸,全部照常生效。发射时点由段序骨架的挂点决定(时序与挂点施加面归架构文档「战斗域装配现状」节),本节只管这行是什么、带什么字段。扩展行携带效果身份(effect_id 载荷);效果身份清单与各发射点归架构文档「战斗域装配现状」与「战斗编排域拆件定稿」节登记。 +扩展行与基础行共用同一套行协议:公共字段、来源归因、两层豁免、无来源即炸,全部照常生效。发射时点由段序骨架的挂点决定(时序与挂点施加面、效果身份清单与各发射点归代码文件头注承载——模块归属见架构文档「模块归属·功能层」battle_orchestrator 行),本节只管这行是什么、带什么字段。扩展行携带效果身份(effect_id 载荷)。 举证:本节为行协议约定,无计算。 diff --git a/design/gdd/systems/表现与支撑/存档序列化.md b/design/gdd/systems/表现与支撑/存档序列化.md index e21a7a2f..7ef528be 100644 --- a/design/gdd/systems/表现与支撑/存档序列化.md +++ b/design/gdd/systems/表现与支撑/存档序列化.md @@ -56,7 +56,7 @@ 第二条边界是反面清单:局内资源不入存档。行动点、储备行动点、道具库存、生命、GP 全部单局清零——各归各的系统管,没有局内数值需要持久化。若未来某局内资源要开放跨局携带(如储备行动点跨战斗携带),须修订其池规则并向本系统登记持久化归属,禁止静默超域。 -**唯一豁免 = `breakpoint` 断点域**:断点是冒险进行中的瞬态快照,不是跨局携带——里面的生命/GP/道具库存只在「续玩上局」时还原进局内,冒险收束(冒险成功/失败/放弃)即整域清除,永远不会渗进永久进度。反面清单的管辖对象因此收窄为 `meta` 永久进度域(冒烟域界扫描收窄到 meta 域);断点域自身的字段口径归[冒险结构](../冒险循环/冒险结构.md)登记。断点顶层键(28 键)的登记单源=冒险应用层的断点键表(键→回退策略;现行契约见架构文档「冒险域拆分」节);写读已换代为各件自交片段——主角账/停点件/关卡件各自写读自己的键(缺键回退策略随领域知识归各件),冒险应用层是唯一拼盘落盘口(收齐各件片段拼成顶层快照后写盘,写触发点不变)。**关卡完成停点的同调未用行留存**:`aux_items` 键在此停点形态含同调未用行(「同调行始终留在 treasure_inventory」与「键值形态逐位不变」在关卡完成停点互斥,采行留存;玩家可见 C 区投影零变化,24 停点充能读数逐位一致)。 +**唯一豁免 = `breakpoint` 断点域**:断点是冒险进行中的瞬态快照,不是跨局携带——里面的生命/GP/道具库存只在「续玩上局」时还原进局内,冒险收束(冒险成功/失败/放弃)即整域清除,永远不会渗进永久进度。反面清单的管辖对象因此收窄为 `meta` 永久进度域(冒烟域界扫描收窄到 meta 域);断点域自身的字段口径归[冒险结构](../冒险循环/冒险结构.md)登记。断点顶层键(28 键)的登记单源=冒险应用层的断点键表(键→回退策略;现行契约见架构文档「模块归属·核心层」breakpoint_store 行);写读已换代为各件自交片段——主角账/停点件/关卡件各自写读自己的键(缺键回退策略随领域知识归各件),冒险应用层是唯一拼盘落盘口(收齐各件片段拼成顶层快照后写盘,写触发点不变)。**关卡完成停点的同调未用行留存**:`aux_items` 键在此停点形态含同调未用行(「同调行始终留在 treasure_inventory」与「键值形态逐位不变」在关卡完成停点互斥,采行留存;玩家可见 C 区投影零变化,24 停点充能读数逐位一致)。 **三存档位**:存档是 3 个独立的 JSON 文件(三个独立存档文件,槽文件名只经存档系统单点派生,槽 1 禁复用旧单档名),字典键一律字符串。写盘目标=当前激活槽的文件;启动(boot)不读任何槽文件——启动态=无激活态,不读写;激活态由选档界面的「新档」或「进档」建立。数据模型(现行 = v7;示例值全为零值默认态): diff --git a/design/gdd/术语表.md b/design/gdd/术语表.md index e58d186f..be371f10 100644 --- a/design/gdd/术语表.md +++ b/design/gdd/术语表.md @@ -94,7 +94,7 @@ | 术语 | 定义 | |---|---| -| 效果端口件 | 战斗业务类(伤害管线/行动经济)唯一的效果发射出口:收事件与载荷、交效果引擎结算、取回命中批——业务类零引擎直连(机制归属见架构文档「战斗编排域拆件定稿」节轴戊;实现类 EffectPort) | +| 效果端口件 | 战斗业务类(伤害管线/行动经济)唯一的效果发射出口:收事件与载荷、交效果引擎结算、取回命中批——业务类零引擎直连(机制归属见架构文档「模块归属·功能层」battle_orchestrator 行;实现类 EffectPort) | | 掷格件 | 装配期格面资源摇号的承载件:池行装配、区间行 roll、权重合成(订阅加权/board_skew 两路投影);受理账面留守地图战斗资源件(机制归属同上;实现类 RewardRoller) | | `seal_missed` | 封印落空事件(旧名已换代):封印动作落在安全格上时发出,订阅面据此做限次与豁免判定 | | `forgive_seal_miss` | 本场首次封印落空豁免——专长「完美保险」的效果类型,`domain=battle` 首例;有效误标=误标总数 − 豁免数,豁免不改写误标账 | diff --git a/待办清单.md b/待办清单.md index 0c5ca214..46f30a97 100644 --- a/待办清单.md +++ b/待办清单.md @@ -2,6 +2,69 @@ 本清单是流水线的唯一登记处:以后才做的事在此登记一条,随流水线段推进改状态,做完整条删除(条目记进度,不是各段的开工前置);各系统文档的「待办」节只留一行指路存根,不再自建条目。条目格式(标题=登记元数据含可选优先级,正文=实况/缺口/改动面/状态四属性)与状态机以 [doc-conventions §12.1](design/engineering/doc-conventions.md) 为权威。 +#### 未决问题迁移——轮内刷新数值连锁重算(2026-11-07 登记,来源=批次移交) + +**实况**:原 architecture.md「未决问题」QQ-04(git 历史可考,架构收窄批迁出)。清图支配性条款⑤的轮内刷新数值连锁重算,判据=真人刷图行为获取期望。 +**缺口**:还差 playtest 实测数据支撑重算;属数值标定窗口域,未设计不启动。 +**改动面**:文档 +**状态**:待文档设计 + +#### 未决问题迁移——战斗末可选类 j==0 补发 1 件兜底是否采纳(2026-11-07 登记,来源=批次移交) + +**实况**:原 architecture.md「未决问题」QQ-05(git 历史可考,架构收窄批迁出)。切片遗留待办的兜底条款采纳与否。 +**缺口**:还差 playtest 数据+[地图战斗资源](design/gdd/systems/战斗循环/地图战斗资源.md) GDD 修订批裁决。 +**改动面**:文档 +**状态**:待文档设计 + +#### 未决问题迁移——可选类退出格子池后 buff 频率被动上升的难度对冲杠杆(2026-11-07 登记,来源=批次移交) + +**实况**:原 architecture.md「未决问题」QQ-06(git 历史可考,架构收窄批迁出)。buff 频率 44%→59% 的对冲杠杆(敌 HP/权重/幅度三选)。 +**缺口**:还差 C3 调参裁决+切片数据复测。 +**改动面**:文档+游戏代码 +**状态**:待文档设计 + +#### 未决问题迁移——标错惩罚不对称裁决(2026-11-07 登记,来源=批次移交) + +**实况**:原 architecture.md「未决问题」QQ-07(git 历史可考,架构收窄批迁出)。A2 OQ1:候选敌方伏击+1;hit=false 无去重的不对称裁决。 +**缺口**:还差原型小补丁实测会话裁决。 +**改动面**:文档 +**状态**:待文档设计 + +#### 未决问题迁移——B5 双舞台陷阱(2026-11-07 登记,来源=批次移交) + +**实况**:原 architecture.md「未决问题」QQ-08(git 历史可考,架构收窄批迁出)。战斗发生在棋盘上还是独立场景,B5 立项前置。 +**缺口**:还差战斗表现美术测试后裁决。 +**改动面**:文档 +**状态**:待文档设计 + +#### 未决问题迁移——C3 消费 B1 对账输出的事实依赖回写系统清单(2026-11-07 登记,来源=批次移交) + +**实况**:原 architecture.md「未决问题」QQ-09(git 历史可考,架构收窄批迁出)。C3 消费 B1 对账输出的事实依赖回写 `design/gdd/02-系统清单.md`。 +**缺口**:C3 GDD 定稿时回写核对。 +**改动面**:文档 +**状态**:待文档设计 + +#### 未决问题迁移——A1 生成性能姿态 F2c 常数定稿(2026-11-07 登记,来源=批次移交) + +**实况**:原 architecture.md「未决问题」QQ-11(git 历史可考,架构收窄批迁出)。切片实证 10×10/12×12 同步生成可接受,WorkerThread 留扩展。 +**缺口**:还差 [棋盘生成](design/gdd/systems/排雷循环/棋盘生成.md) GDD 修订批定稿 F2c 常数。 +**改动面**:文档 +**状态**:待文档设计 + +#### 未决问题迁移——零伤害死局跨字段跨表护栏落点(2026-11-07 登记,来源=批次移交) + +**实况**:原 architecture.md「未决问题」QQ-12(git 历史可考,架构收窄批迁出)。B2 OQ9;推荐 D2 跨表校验(切片 LevelTable 校验先例)。 +**缺口**:还差 D2 校验设计批裁决落点。 +**改动面**:文档 +**状态**:待文档设计 + +#### 未决问题迁移——A1 EC5 运行期熔断(2026-11-07 登记,来源=批次移交) + +**实况**:原 architecture.md「未决问题」QQ-13(git 历史可考,架构收窄批迁出)。连续降级确定性回退已知好种子。 +**缺口**:还差棋盘生成 GDD 修订批裁决。 +**改动面**:文档 +**状态**:待文档设计 + #### 架构文档收窄批——实现事实迁出与写权限收为用户专属(2026-11-07 登记,来源=会话提及) **实况**:调研与四项决策定案在案(模块表瘦形态留架构文档/不另立登记文档/两图 JSON 同批更新/只重锚 32 处 architecture oracle 锚),方案经用户批准;规约根因=doc-conventions「禁实现内容」条款曾把实现事实指定给架构文档,本批同步修订。证据=design/engineering/doc-conventions.md:70(实现事实归处条款)。调研依据=会话对照 arc42/C4/Fowler/ADR+架构文档构成统计(449 行中约束面约 150 行)。