2026-07-06 ~ 2026-07-10 5 日开发计划 v1.2
整理时间:2026-07-02 15:22 +08:00(v1.2 修订) 整理人:Mavis(PM / 制作人视角) 本版本关键变更:v1.1 → v1.2 共 5 处应用修订(对应 R6 文档结论):
- G1:新增 R6 lane「剧情追踪 UI 字段净化」(P0,3-4h,Day 4 主任务挪用半天)
- G2:Day 4 P2P 收口延后到 Day 5 上午(原计划已写"Day 4 可不收口,留作下周继续")
- G3:§ 5.1 增 4 条不算收口情形(17-20,字段净化收口判定)
- G4:§ 6 风险表增 R6 回退方案(JSX 改动打回归 → 拆数据层/UI 层两段)
- G5:§ 8 参考入口增 R6 truth source
剧情追踪-字段净化与输出规则-v1.mdv1.1 → v1.2 关键变更(对应 R6 文档结论):
- G0:用户拍板 Q1=a(Q2=a,Q3/Q4 按推荐 a 走)—— 字段净化落地,
5日反需求清单-v1.md§ 1.4 4.2 从漂移移入 R6 正式 lane★ v1.2 R6 编号歧义说明(阅读必读): v1.1 文档中"R6"出现 2 处含义,本 v1.2 同时保留两处,本文档显式区分:
R6 lane(= 新增第 6 条 lane,剧情追踪 UI 字段净化):v1.2 引入,3-4h,Day 4 主任务挪用半天R6 truth source(= 真理源文件胜利终局v1.1待办-第二三年锚点与多周目-v1.md):v1.1 已用,留 W28+ 拍跨周目相关 引用处分别用R6 lane和R6 truth source后缀区分,避免读者混淆- F1:
gameData.ts根目录不存在,数据实际在src/data/items/equipment.ts(779 行,16 件)- F2:"30 件历史装备" → 16 件(Phase 1 切片估算过时,实际 16)
- F3:T3 数据迁移实质工作量 = 13 件
baseStats数值补完;qualityTier16/16、buildTag16/16 已填,affixes16/16 空数组待 T7 生成- F4:T7 单元测试 45 组合中增补 1 组"旧存档 fallback 路径"(模拟
qualityTier未填,从rarity映射)- R1 互斥:D3 胜利/失败二选一由"留 v1.1"升格为 v1.0 已拍(跨 lane 互斥规则 § 1)
truth source 对齐:
- v1.0 既有:
docs/design/active/产品需求总览-v1.md(2026-07-01) /Phase1实施切片-v1.md(2026-06-29) /week-plan-2026-07-01-tools-entry-and-year1-mainline.md(2026-06-29) /docs/daily-plans/2026-06-29.md/docs/handoff/index.md(2026-07-01 00:28:00)- v1.1 新增(本 4 日 7.1-7.2 期间落盘):
docs/design/active/跨lane互斥规则-v1.md(R1,2026-07-01)docs/design/active/Year1道具投放映射表-v1.md(R2,2026-07-01)docs/design/active/旧存档兼容边界-v1.md(R3,2026-07-01)docs/design/active/5日lane依赖图-v1.md(R5,2026-07-01)docs/design/active/胜利终局-truth-source-v1.md(R2 草案,2026-07-02)docs/design/active/联机P2P房间骨架-v1.md(R3 草案,2026-07-01)docs/design/active/剧情线3+预研大纲-v1.md(R4 草案,2026-07-02)docs/design/active/新内容引导-v1.md(R4,2026-07-01)docs/design/active/5日反需求清单-v1.md(R8,2026-07-01)docs/design/active/玩家故事UseCase集-v1.md(R7,2026-07-01)docs/design/active/胜利终局v1.1待办-第二三年锚点与多周目-v1.md(R6,2026-07-01)docs/design/active/内容池扩展5日内能起什么头-v1.md(R9,2026-07-01)适用前提:
- 2026-07-01 周三 deadline 的"工具入口统一 + 第一年主线闭环"双轴按计划收口(本计划不重复该双轴)
- 上一轮 D1-D6 决策点中 D3(胜利终局 truth source)在本周内拍板 本文档作用:把 5 日(7.6-7.10)可派发的开发任务按"日"颗粒度拆清楚,每条 lane 含文件边界 / 验收 / 不做什么,供 PM 直接派生短工。
0. 制作人 TL;DR(60 秒版)
- 5 日目标:把 Phase 1 道具系统切片的 T3-T8 全部收口,拍板胜利终局 truth source,启动 Phase 5 联机 P2P 房间骨架,给剧情线 3+ 预研打底,剧情追踪 UI 字段净化(P0,v1.2 新增)。
- 每日 1 主 + 1 辅:主任务 6-8h,辅任务 2-3h(Day 4 例外:2 主 + 1 辅,R3 P2P 半天 + R6 字段净化半天 + R4 剧情预研)
- 关键路径:Day 1(D3 拍板)→ Day 2(T3 数据迁移 13 件
baseStats)→ Day 3(T5-T6 装备卡)→ Day 4(R6 字段净化半天)→ Day 5(T8 回归 + R6 视觉对照 + P2P 收口)→ 5 日收口 - v1.1 关键调整:
- T3 数据迁移:30 件 → 16 件;接受字段 =
baseStats13/16(不是qualityTier+baseStats+rollValue全补) - 数据路径:
gameData.ts→src/data/items/equipment.ts - T7 单元测试:45 组合 + 1 组"旧存档 fallback 路径"
- 胜利/失败二选一逻辑:v1.0 已拍(
跨lane互斥规则-v1.md§ 1),Day 1 拍板时不再讨论
- T3 数据迁移:30 件 → 16 件;接受字段 =
- 周工时预算:5 个工作日 × (6-8h 主 + 2-3h 辅)= 40-55 工时
- 不做的事:不动
src/App.tsx壳层 / 不动docs/handoff/index.md当前 in-flight / 不动 UI 重构漂移 / 不动胜利规则具体设计数值(只拍板 truth source 边界,v1.1 拍数值) / 不实现 P2P 实时竞价(只房间骨架)/ 不实现剧情线内容(只预研大纲)/ 不动types.ts:137旧rarity字段重命名
1. 5 日目标拆解(What & Why)
1.1 接续关系
[本周 7.1 双轴] [5 日 7.6-7.10] [下一波 7.13+]
工具入口统一 + Year 1 主线 → Phase 1 收口 + 胜利拍板 → Phase 5 P2P 实现 + Phase 6 内容
+ 联机 P2P 起步
+ 剧情预研
- 本周双轴(7.1 周三 deadline)收口后,本 5 日接续启动。
- 本 5 日收口后,下一波自然衔接 Phase 5 P2P 实时竞价 + Phase 6 内容池翻倍。
1.2 5 条核心需求(Why 这 5 条)
| # | 需求 | 来源决策点 | 为什么选 |
| :--: | :--- | :--- | :--- |
| R1 | Phase 1 道具 T3-T8 收口 | D2 | T1/T2 已完 8 天,关键路径断点;后面 T4-T8 全部等 T3 |
| R2 | 胜利终局 truth source 拍板 | D3 | 卡住 Year 1 收束 + 第二年解锁立项;本 5 日内必须先拍边界(具体数值留 v1.1) |
| R3 | Phase 5 联机 P2P 房间骨架 | D4 | 设计已就位(2026-06-26 联机版玩法设计);只起房间状态机,不动实时竞价 |
| R4 | 剧情线 3+ 预研 | D5 | Phase 6 内容池翻倍的前置;只列大纲,不实现 |
| R5 | 5 日整体回归 + 收口 | 自带 | 防止"做了一堆但 build 不通" |
| R6(v1.2 新增) | 剧情追踪 UI 字段净化 | D6(本提案) | 玩家在主界面顶部直接看到开发者 ID(tax_reported、brief=risk-tax_reported)和 tag 拼接,体验问题不是"好看不好看"是"读不懂 + 误导";P0 |
1.3 不在本 5 日的事(明确划走)
- ❌ 实时竞价毫秒同步 / 5 秒流拍 / 作弊防范(P2P 第二阶段)
- ❌ 三角线修正(郭吕祝)实现(Phase 5 关系线,不在本 5 日)
- ❌ 内容池翻倍(剧情 / 事件 / 终局 / 成就 / Buff)实现
- ❌ 角色深度 UI 补完 / 账号传承 UI 补完(数据/逻辑已就位,UI 留 W30)
- ❌ 胜利规则具体设计数值(v1.1 拍,本 5 日只拍 4 件事边界)
- ❌ 胜利/失败互斥具体规则(已拍 =
跨lane互斥规则-v1.md§ 1,Day 1 不再讨论) - ❌
src/App.tsx编排层重构 - ❌ 4 个漂移 lane 正式吸收(继续按漂移信号处理)
- ❌ serverless-web-architecture 长尾储备
- ❌ 改
types.ts:137旧rarity字段重命名 / 删除(AGENTS.md 守则 + R3 不变量 N2) - ❌ 改
src/data/items/equipment.ts16 件装备 id/name 列表(本 5 日不动数据条目) - ❌ 跨周目旧存档迁移(留 R6 v1.1)
2. 5 日明细(逐日拆)
每日结构:目标 / 主任务 / 辅任务 / 文件边界 / 验收 / 不做什么 工时假设:主任务 6-8h,辅任务 2-3h v1.1 调整标 ★:跟 v1.0 比有差异的条款会用 ★ 标记
Day 1 — 2026-07-06(周一)
🎯 目标
- 用户拍板 D3 胜利终局 truth source(主)
- Phase 1 切片 T3 装备模型 type 定义补齐开工(辅,Day 1 只起 type 头)
主任务 R2:D3 胜利终局 truth source 拍板
| 项 | 内容 |
| :--- | :--- |
| 产出物 | docs/design/active/胜利终局-truth-source-v1.md(已落盘,Day 1 用户签字) |
| 文件边界 | 只对已落盘文件做签字;不动 src/endgame/** 任何代码 |
| 内容 | 拍板 4 件事的边界(不实现,只拍口径):
1. 胜利触发条件(经营 / 关系 / 名声 / 时间的复合判定,具体数值留 v1.1)
2. 收束页结构(结算页 / 关系快照 / 名声定格)
3. 快照 / 新周目 / 继承关系(GlobalProfile 折算规则,具体折算率留 v1.1)
4. 跟 Year 1 第 360 天跨年夜的对接 |
| 胜利/失败互斥(已 v1.0 拍) | ★ 跨 lane 互斥规则 § 1:同一存档不可同时存在 victory-snapshot 和 failure-snapshot;第 360 天若已触发失败链,胜利不触发;互斥只承认第一锚点。Day 1 不再讨论此条 |
| 验收 | 主会话(P1 用户)明确签字 + PM 同步到 docs/handoff/index.md 收口 |
| 不做 | 不写具体规则数值(留 v1.1) / 不实现 UI / 不动失败终局现有规则 / 不动 endgame-save-load-design.md |
辅任务 R1.0:T3 装备模型 type 定义补齐开工
| 项 | 内容 |
| :--- | :--- |
| 产出物 | src/types.ts + src/data/items/types.ts type 增补(只类型,不实装,不填数据) |
| 文件边界 | src/types.ts、src/data/items/types.ts(只动 type 定义,不动 src/data/items/equipment.ts 数据) |
| 内容 | ① EquippableItem v2 type 设计:qualityTier: QualityTier、baseStats、affixes、buildTag
② ★ 旧 rarity 字段保留 + 加 /** @deprecated since v1.1, use qualityTier */ 注释(不改 types.ts:137 的 type 名)
③ ★ SAVE_SCHEMA_VERSION 提升 +1(type 端常量更新) |
| 验收 | tsc 类型通过;QualityTier 已 import 可用;旧 rarity type 仍可用(向后兼容) |
| 不做 | ★ 不动 src/data/items/equipment.ts 16 件数据(Day 2 短工才做 baseStats 补完)/ 不改 UI / 不动 utils / 不删旧 rarity 字段 |
Day 1 收口
- D3 truth source 文件落盘 + 用户签字(胜利/失败互斥已 v1.0 拍,不重复讨论)
- T3 type 定义落盘 + tsc 通过 +
SAVE_SCHEMA_VERSION+1 - 派生 Day 2 短工(如果 R1.0 已完,Day 2 直接派 T3 数据迁移 13 件 baseStats)
Day 2 — 2026-07-07(周二)
🎯 目标
- ★ T3 数据迁移:16 件装备补完
baseStats数值(主,主轴 1)— 不是"补 4 字段",只补baseStats - T4 9 档色板落地(辅,并行)
主任务 R1.1:T3 数据迁移 + 旧存档兼容 fallback 路径
| 项 | 内容 |
| :--- | :--- |
| 产出物 | src/data/items/equipment.ts v2 16 件 baseStats 补完 + src/utils/save/saveVersion.ts 升级路径 + src/utils/items/legacyAdapter.ts(新)旧 4 档→9 档映射 |
| 文件边界 | src/data/items/**(只补 baseStats 数值,不改 id/name/qualityTier/buildTag/affixes);src/utils/save/**;src/utils/items/**(新工具) |
| 内容 | ① ★ 13 件 baseStats 数值补完(已填 3 件:珍珠耳环/玄铁菜刀/金算盘,余 13 件 Day 2 短工补)
② ★ 旧 rarity 字段保留 + 加 @deprecated 注释(不重命名)
③ ★ SAVE_SCHEMA_VERSION 提升 +1 + 旧存档可读(saveVersion.ts 升 v)
④ ★ 旧 4 档 → 新 9 档 自动映射(玩家不感知):legendary → legendary、epic → epic、rare → rare、common → common,legacyAdapter 实现
⑤ ★ 升级失败自动回退 backup slot 机制(3 个回退机制中至少实现 #1)
⑥ 1-2 件装备验证 rollEquipment 输出(占位,Day 5 T7 才正式实装) |
| 验收 | ★ npm run lint 无新增错误;npm run build 通过;16 件装备都有 baseStats 数值;旧 4 档存档打开后不报错且装备色板仍可显示(走 fallback 路径);升级失败时 backup slot 自动恢复 |
| 不做 | 不动 UI 渲染(等 Day 3)/ 不动 src/utils/items/ 现有 affixLogic qualityLogic / 不动 baggage-sack 入口 / 不删旧存档 / 不重命名旧字段 / 不实现 T7 rollEquipment(Day 5 才做) |
辅任务 R1.2:T4 9 档色板落地
| 项 | 内容 |
| :--- | :--- |
| 产出物 | src/index.css + @theme 变量(9 档品质色板) |
| 文件边界 | src/index.css、src/data/quality.ts(只新增元数据) |
| 内容 | ① 9 档色板 CSS 变量(--quality-waste 到 --quality-celestial)
② Tailwind v4 @theme 接入
③ 删除旧 .rarity-common / .rarity-rare / .rarity-epic / .rarity-mystic |
| 验收 | 视觉对照 9 档渐变清晰;npm run build 通过;16 件装备在背包页能渲染 9 档色板(走新 qualityTier 路径) |
| 不做 | 不改组件内 className(等 Day 3 T5 一起改)/ 不动暗色 / 亮色主题 |
Day 2 收口
- ★ T3 数据迁移完成:16 件装备全部带
baseStats数值(13 件新补 + 3 件已填) - T4 色板 CSS 变量落盘
- 旧存档兼容 fallback 路径 + backup slot 实现落盘
- 派生 Day 3 短工(T5 基础组件 + T6 UI 升级)
Day 3 — 2026-07-08(周三)
🎯 目标
- T5 装备卡基础组件 QualityFrame + AffixChip(主)
- T6 装备卡 UI 升级,沿用 BaggageTab 改造(辅,接 T5)
主任务 R1.3:T5 装备卡基础组件
| 项 | 内容 |
| :--- | :--- |
| 产出物 | src/components/item/QualityFrame.tsx + src/components/item/AffixChip.tsx |
| 文件边界 | 只新增这 2 个文件;不动 src/components/BaggageTab.tsx |
| 内容 | ① QualityFrame:qualityTier → 渲染对应色板 + 徽章 + 边框(走 9 档 qualityTier 路径,不走旧 rarity)
② AffixChip:词条类型(N/P/S/K/T)→ 颜色 + 数值 roll 范围 + 标签
③ 复用既有拟物化类名:.tongfu-parchment .tongfu-seal .tongfu-crest
④ ★ 旧 rarity fallback 路径:QualityFrame 接受 qualityTier 时若为空,从 rarity 映射(走 legacyAdapter.ts) |
| 验收 | Storybook 或 quick demo 页可见 9 档 + 5 类词条;npm run build 通过;旧存档装备也能正常渲染(走 fallback 路径) |
| 不做 | 不接 T6 的真实数据流 / 不做悬停动效 / 不做详情弹窗(Day 4+ 再说) |
辅任务 R1.4:T6 装备卡 UI 升级(沿用 BaggageTab)
| 项 | 内容 |
| :--- | :--- |
| 产出物 | src/components/BaggageTab.tsx 改造(最小侵入) |
| 文件边界 | src/components/BaggageTab.tsx + 导入 T5 两个组件 |
| 内容 | ① 装备卡入口位替换为 <QualityFrame>
② 词条展示位替换为 <AffixChip> 列表
③ 旧 4 档 rarity 显示逻辑保留 + fallback(玩家不感知) |
| 验收 | 背包页可见 9 档色板 + 词条 chip;鼠标悬停可见数值区间;npm run build 通过;16 件装备全部走新渲染路径 |
| 不做 | 不重做 BaggageTab 整体布局 / 不做拖拽 / 不做批量操作 |
Day 3 收口
- T5 两个基础组件落盘(含 fallback 路径)
- BaggageTab 装备卡升级可见 9 档 + 词条
- 视觉对照(对照
docs/design/active/道具系统新核心UI视觉规范-v1.md) - 派生 Day 4 短工
Day 4 — 2026-07-09(周四)
🎯 目标
- Phase 5 联机 P2P 房间骨架启动(主,半天,v1.2 缩为半天)
- 剧情追踪 UI 字段净化(主,半天,v1.2 新增)
- 剧情线 3+ 预研(辅,只列大纲)
主任务 R3:Phase 5 联机 P2P 房间骨架(半天,v1.2 缩)
| 项 | 内容 |
| :--- | :--- |
| 产出物 | src/components/multiplayer-lobby/ 下新增房间组件 + 状态机;src/data/multiplayer/room.ts(新,只 type) |
| 文件边界 | 新增组件文件 + src/data/multiplayer/room.ts(只新增 type,不动 auction/participants.ts / boxTables / contentTables) |
| 内容 | ① 房间状态机:idle → waiting → bidding → settled → closed(5 态)
② 房主 / 客机 / 席位 / AI 补位接口(RoomHost / RoomGuest / Seat / AI,type only,Day 5+ 再实装)
③ 最小房间卡片 UI(占位即可,用于 Day 5 联调)
④ ★ MultiplayerRoomState 新 type,跟 AuctionState 平级不联通
⑤ ★ 跟现有 components/auction/console/ 不冲突,新目录 multiplayer-lobby/(不碰 auctionRules.ts) |
| 验收 | type 通过 tsc;房间状态机能 idle → waiting 单步推进;npm run build 通过;MultiplayerRoomState 跟 AuctionState 类型平级但无字段交叉引用 |
| 不做 | ❌ 实时竞价毫秒同步
❌ 5 秒流拍
❌ 恶意抬价 / 表情包
❌ 断线重连
❌ 跟 auctionRules.ts 现有规则的实际联通(Day 5+ 再说) |
辅任务 R4:剧情线 3+ 预研
| 项 | 内容 |
| :--- | :--- |
| 产出物 | docs/design/active/剧情线3+预研大纲-v1.md(已落盘,Day 4 用户对 1 条优先线拍板) |
| 文件边界 | 只对已落盘文件做拍板确认;不动 story/主角故事/** 已有脚本 |
| 内容 | 拍 3 条剧情线候选 + 各自大纲 + 跟 Year 1 主线节点的对接 + 跟已有 story/characters/** 角色分支的复用关系:
1. 旧账风波线(已有基础,可加深,推荐 Day 4 优先)
2. 小米 / 丐帮线(待写)
3. 角色线扩写(可挑 1-2 条深耕) |
| 跨年夜对接(已 v1.0 拍) | ★ 跨 lane 互斥规则 § 2:① 旧账风波为跨年夜收束线(与胜利终局收束页直接对接);② 小米/丐帮 + 角色分支扩写 仅留伏笔 / 彩蛋(不接跨年夜主线) |
| 验收 | 主会话对 3 条线候选拍板,定出 1 条优先深耕(PM 建议旧账风波,因复用度最高 + 跨年夜直接对接) |
| 不做 | 不写实际剧情内容 / 不动事件表 / 不动 quest-editor 工具 |
主任务 R6(v1.2 新增):剧情追踪 UI 字段净化(半天)
| 项 | 内容 |
| :--- | :--- |
| 产出物 | (a) src/components/StoryTrackingCard.tsx JSX 清理
(b) src/data/year1Plan.ts getYear1PlanSnapshot() 简化
(c) src/App.tsx storyTrackingSnapshot 构造加 nextHint 长度截断
(d) AGENTS.md 第 4 节新增「玩家文案 vs 开发者字段」段落 |
| truth source | docs/design/active/剧情追踪-字段净化与输出规则-v1.md(2026-07-02 落盘) |
| 文件边界 | 只动这 4 个文件;不动 src/utils/failureEndgame.ts 既有规则;不动 src/utils/jianghuBriefing.ts mainchainLine 构造逻辑(UI 层不用即可,逻辑保留);不动 16 件装备数据 |
| 内容 | ① 删除 StoryTrackingCard.tsx:501-505 bridge?.mainchainLine 渲染块
② 删除 StoryTrackingCard.tsx:516 属性:{attributeLine} 行
③ 改写 StoryTrackingCard.tsx:519-521 验收区:只显示 checklistStage.label + passSignal + mustNodes 进度(✓/○,如果数据支持)
④ 简化 year1Plan.ts:357 itemLine 只保留 focus,丢掉 storyItems 切片
⑤ App.tsx:3044-3050 nextHint 加长度截断(≤24 字)+ 叙事化过滤(去掉 :xxx 后超 20 字的列表段)
⑥ AGENTS.md 第 4 节按 剧情追踪-字段净化与输出规则-v1.md § 4 落两段(玩家文案 vs 开发者字段 / 阶段平铺规则) |
| 验收 | (a) npm run build 通过 + npm run lint 无新增错误
(b) 截图对照:剧情追踪面板不再有 tax_reported、brief=risk-tax_reported、主语:...・压 ...、属性:服务 / 厨艺...、验收:xxx -> xxx -> 等开发者字段
(c) bridge 跨模块跳转(tasklineFailureJump)功能未受影响(测试一次终局解释层跳转 + 一次江湖简报跳转)
(d) AGENTS.md 新段落落盘
(e) Day 5 辅任务 R1.6 视觉对照 checklist 加 1 条「剧情追踪面板字段净化对照」 |
| 不做 | ❌ 不实现 ?dev=1 调试入口(留 v1.1)
❌ 不重做 StoryTrackingCard 整体组件架构(留 W28+)
❌ 不动 failureEndgame.ts 任何既有 ID/规则
❌ 不动 jianghuBriefing.ts mainchainLine 构造逻辑
❌ 不动 16 件装备数据
❌ 不动 5 日计划核心路径(R2 → R1.0 → R1.1 → R1.3 → R1.4 → R1.5 → R1.6) |
| 工作量 | 3-4h(代码 ~50 行 + 文档 1 段 + build + 截图对照) |
| 角色 | [短工]#剧情追踪-字段净化@v1.2 |
Day 4 收口
- P2P 房间状态机 type + 最小 UI 落盘(半天,P2P 收口延后到 Day 5 上午)
- 剧情追踪 UI 字段净化落盘:
StoryTrackingCard.tsxJSX 清理 +year1Plan.ts简化 +App.tsxnextHint 截断 +AGENTS.md新段落 - 剧情线 3+ 预研大纲确认 + 用户对 1 条优先线拍板
- 派生 Day 5 短工(R6 短工已并入 Day 4 主任务,Day 5 派生仅包含 R1.5 + R1.6/R5 回归收口)
Day 5 — 2026-07-10(周五)
🎯 目标
- T7 rollEquipment 工具函数(主)
- T8 回归测试 + 视觉对照 checklist(辅,5 日整体收口)
主任务 R1.5:T7 rollEquipment 工具函数
| 项 | 内容 |
| :--- | :--- |
| 产出物 | src/utils/items/rollEquipment.ts(或扩 src/utils/itemGenerator.ts) |
| 文件边界 | src/utils/items/**(rollEquipment 新增)+ src/data/items/affixes.ts(只读)+ src/data/items/equipment.ts(只在 roll 时只写 qualityTier + affixes,不清 rarity) |
| 内容 | ① 按 qualityTier 抽 1 件装备 + roll 1-3 个词条
② 词条权重:N 1.0 / P 1.5 / S 2.0 / K 2.5 / T 1.0
③ 数值区间:rollValue 0.0~1.0 → 插值到 [min, max]
④ ★ 单元测试覆盖 9 档 × 5 类词条 = 45 组合 + 1 组"旧存档 fallback 路径" = 共 46 组
⑤ ★ "旧存档 fallback 路径"测试组:模拟 qualityTier 未填的旧存档,验证 rollEquipment / legacyAdapter 正确从 rarity 映射到 qualityTier |
| 验收 | 单元测试 46 组全过;rollEquipment({ tier: 'epic', category: 'weapon' }) 输出稳定;npm run build 通过;affixes 16/16 从空数组 → 非空(roll 后) |
| 不做 | 不实现批量生成 / 不实现装备强化 / 不实现遗物 / 套装效果 / 不清旧 rarity 字段 |
辅任务 R1.6 + R5:T8 回归测试 + 5 日整体收口
| 项 | 内容 |
| :--- | :--- |
| 产出物 | docs/design/active/Phase1回归测试-v1.md + docs/plans/active/2026-07-06-5日开发计划-v1-收口.md |
| 文件边界 | 只新增这 2 个文档 |
| 内容 | ① 9 档品质视觉对照 checklist(对照 道具系统新核心UI视觉规范-v1.md)
② 词条 chip 5 类颜色 + roll 区间对照表
③ cmd /c npm run build 通过证明
④ 5 日已收口 lane 列表(全 6 条)+ 残余风险 + 下周排程建议
⑤ ★ 旧存档兼容验证:开 1 份旧 4 档存档 + 1 份新 9 档存档,各跑 1 个完整周期,确认不报错 + 装备色板/数值正常 |
| 验收 | checklist 全勾;5 日所有产出物落盘;docs/handoff/index.md 更新收口;46 组单元测试全过(45 + 1) |
| 不做 | 不动已收口 lane / 不动 handoff 历史闭环 / 不顺手做新需求 |
3. 跨日依赖图(关键路径)
Day 1: R2(D3 拍板) + R1.0(T3 type,带 @deprecated + SAVE_SCHEMA_VERSION+1)
↓ ↓
Day 2: R1.1(13 件 baseStats + legacyAdapter + backup slot) + R1.2(T4 色板,并行)
↓
Day 3: R1.3(T5 组件,带 fallback) + R1.4(T6 UI 升级,接 T5)
↓
Day 5: R1.5(T7 roll + 46 组测试) + R1.6 + R5(回归 + 5 日收口)
↑
Day 4: R3(P2P 房间,半天) + R4(剧情预研) + **R6(剧情追踪字段净化,半天,v1.2 新增)** ────┘ (P2P 收口延后 Day 5 上午,R6 落盘)
★ v1.1 新增边(对比 v1.0):
- R1.0 → R1.1:
@deprecated注释 +SAVE_SCHEMA_VERSION+1 是 Day 2 fallback 路径的前置 - R1.1 → R1.3:
legacyAdapter.ts是 QualityFrame fallback 渲染的前置 - R1.1 → R1.5:旧存档 fallback 路径测试组的前置
- R2 → R1.4:胜利/失败互斥已拍(跨 lane 互斥规则 § 1),Day 1 不再讨论
- R4 → R2:跨年夜 ① 旧账风波为胜利终局收束页对接线
★ v1.2 新增边(对比 v1.1):
-
剧情追踪-字段净化与输出规则-v1.md(R6 truth source,2026-07-02 落盘)→ R6 lane 落地 -
R6 ↔ R5:R6 收口纳入 Day 5 辅任务 R1.6 视觉对照 checklist(剧情追踪面板字段净化对照)
-
关键路径(必走):R2 → R1.0 → R1.1 → R1.3 → R1.4 → R1.5 → R1.6
-
并行轨道:R3(联机 P2P 房间)+ R4(剧情预研)Day 4 启动,Day 5 可不收口(留作下周继续)
-
缓冲日:Day 4 是相对独立日,如果 R1.1-R1.4 进度滞后,可挪用 Day 4 半天补 R1.4
4. 派发顺序与角色建议
4.1 派发顺序(PM 执行顺序)
| Day | 主短工 | 辅短工 | 角色 |
| :---: | :--- | :--- | :--- |
| 7.6 | R2 拍板(D3 truth source 文件确认) | R1.0 T3 type + @deprecated + SAVE_SCHEMA_VERSION+1 | [短工]#胜利终局拍板@v1.1 + [短工]#道具-T3类型@v1.1 |
| 7.7 | R1.1 T3 数据迁移(13 件 baseStats) | R1.2 T4 色板 | [短工]#道具-T3数据迁移@v1.1 + [短工]#道具-T4色板@v1.1 |
| 7.8 | R1.3 T5 组件(含 fallback) | R1.4 T6 UI 升级 | [短工]#道具-T5组件@v1.1 + [短工]#道具-T6UI@v1.1 |
| 7.9 | R3 P2P 房间(新 MultiplayerRoomState) | R4 剧情预研(拍 1 条优先线) | [短工]#联机-P2P房间@v1.1 + [短工]#剧情-3线预研@v1.1 |
| 7.10 | R1.5 T7 roll + 46 组测试 | R1.6 + R5 回归 | [短工]#道具-T7roll@v1.1 + [短工]#5日回归收口@v1.1 |
4.2 默认角色
- 主短工 6 个,辅短工 6 个,共 12 个短工
- 默认
[短工]#模块@版本模式(版本号同步升 v1.1) - 不派生新长工
- 不触动
docs/handoff/index.md当前 in-flight(本周双轴 7 个 session 保持 verified/summarized)
4.3 用户拍板点(本 5 日内需要 P1 用户介入的 3 个时点)
| 时点 | 需要拍板什么 | 拍板形式 | v1.1 变化 | | :---: | :--- | :--- | :--- | | Day 1 上午 | D3 胜利终局 4 件事的边界(胜利/失败互斥已 v1.0 拍,不再讨论) | 文字 / 简表 / 现场口述 | ★ 拍板范围缩小 | | Day 3 下午 | 装备卡视觉对照(对照视觉规范 v1.0) | 视觉 OK / 调 1-2 处 / 重做 | 无变化 | | Day 4 下午 | 3 条剧情线候选挑 1 条优先深耕(跨年夜 ① 旧账风波为推荐项) | 文字 / 简表 | ★ 跨年夜对接已 v1.0 拍,推荐项更明确 |
5. 验收总览(周五 Day 5 收口口径)
5 日收口 = 同时满足以下 6 条:
- Phase 1 道具 T3-T8 全部收口(R1.0-R1.6,含旧存档兼容)
- D3 胜利终局 truth source 文件确认签字(R2;胜利/失败互斥已 v1.0 拍,不再讨论)
- Phase 5 联机 P2P 房间状态机 + 最小 UI 落盘(R3,不要求实装同步;
MultiplayerRoomState跟AuctionState平级不联通) - 剧情线 3+ 预研大纲确认 + 用户对 1 条优先线拍板(R4;跨年夜 ① 旧账风波对接已 v1.0 拍)
cmd /c npm run build通过 + 9 档品质 + 5 类词条在背包可见 + 单元测试 46 组全过(45 组合 + 1 旧存档 fallback)- 5 日整体收口文档 + 残余风险 + 下周排程建议落盘
5.1 5 日内不算收口的情形
- ❌ ★ T3 数据迁移只完成 16 件装备的 < 80%(v1.0 写"30 件"已过时)
- ❌ 旧存档打开时报错(fallback 路径未实现)
- ❌ 升级失败时没有 backup slot 自动恢复
- ❌ 删了旧
rarity字段 / 重命名(types.ts:137不能动) - ❌ T5 组件 type 不通过 tsc
- ❌ T6 升级后 build 报错
- ❌ ★ T7 单元测试 46 组没全过(45 组合 + 1 旧存档 fallback 缺一不可)
- ❌ D3 truth source 4 件事拍板不全
- ❌ 胜利/失败互斥未遵循(跨 lane 互斥规则 § 1)
- ❌ 跨年夜 ① 旧账风波对接未拍(跨 lane 互斥规则 § 2)
- ❌ P2P 房间状态机跑不通 idle → waiting
- ❌
MultiplayerRoomState跟AuctionState字段交叉引用(违反"平级不联通") - ❌ ★ v1.2 R6:StoryTrackingCard 主链紫色小条仍渲染
mainchainLine(开发者桥接日志泄漏) - ❌ ★ v1.2 R6:YEAR1 规划区仍平铺 4 个属性(
属性:服务 / 厨艺 / 账房 / 巡防) - ❌ ★ v1.2 R6:YEAR1 规划验收区仍平铺 6 段验收阶段(
验收:xxx -> xxx -> xxx -> xxx -> xxx -> xxx) - ❌ ★ v1.2 R6:
AGENTS.md第 4 节没新增「玩家文案 vs 开发者字段」段落(本 R6 配套规则)
5.2 5 日内可保留的 residual risk
- ✅ P2P 实时竞价 / 5 秒流拍 / 断线重连(本 5 日不做)
- ✅ 装备强化 / 精造 8 小系统(Phase 3+)
- ✅ 角色深度 UI / 账号传承 UI 补完(留 W30)
- ✅ 剧情线 3+ 实际内容(本 5 日只预研)
- ✅ 胜利规则具体数值(v1.1 拍)
- ✅ 玩家手动回退按钮(留 v1.1)
- ✅ 跨设备同步(留 Phase 7)
- ✅ 跨周目旧存档迁移(留 R6 v1.1)
- ✅ waste / fine / mythic / divine / celestial 5 档装备(留 Phase 2+)
6. 风险与回退(Per Day)
| Day | 主要风险 | 触发条件 | 回退方案 |
| :---: | :--- | :--- | :--- |
| 1 | D3 拍板拖延,卡 Day 2-5 | 用户未在 Day 1 18:00 前签字 truth source | 拆分:Day 1 只拍触发条件 + 收束页,Day 3 拍快照 + 继承 |
| 2 | ★ 13 件 baseStats 迁移出错,build 红(不是 30 件) | 13 件新补数值跟现有 3 件(珍珠耳环/玄铁菜刀/金算盘)schema 不一致 | 软迁移:保留旧字段 + 加 @deprecated,Phase 2 删 |
| 2 | ★ 旧存档兼容 fallback 路径实现不完整 | 旧 4 档存档打开时报错 / 升级失败无 backup | 紧急 hotfix:legacyAdapter.ts 增补 + saveVersion.ts 加 backup slot |
| 3 | T5 组件跟视觉规范 v1.0 对不上 | 9 档色板渐变不够明显 / 词条颜色撞色 | 调 CSS 变量 + 重新对齐视觉规范,不动组件 type |
| 3 | ★ T5 fallback 路径未生效 | 旧存档装备渲染走新 9 档失败 | 紧急补 legacyAdapter.ts 单元测试 + 修 QualityFrame 接受 rarity 参数 |
| 4 | P2P 房间 type 跟 auctionRules.ts 现有规则冲突 | 命名空间撞 / 接口重复 / 字段交叉引用 | 新目录 multiplayer-lobby/ + MultiplayerRoomState 平级 type,不碰 auctionRules.ts |
| 4 | 剧情线 3+ 选 1 条卡 | 3 条都想要 / 都不想深耕 | 走 PM 推荐:旧账风波(复用度最高,跨年夜直接对接) |
| 4.5 | ★ v1.2 R6:R6 字段净化改动打回归,撞 R3 P2P 或 R1.3/R1.4 UI | StoryTrackingCard 改 JSX 影响 tasklineFailureJump 跳转按钮 / year1Plan.ts 改动影响 16 件装备渲染 | 回退 StoryTrackingCard JSX 改动 + 保留 bridge 数据层重构;R6 拆成两段:Day 4 只改数据层(归一化 bridge),Day 5 改 UI 层;如连 P2P 都受影响则 P2P 收口顺延 W28+ |
| 5 | ★ 单元测试 46 组有 < 5% 失败(含 1 组旧存档 fallback) | 词条 roll 区间边界 bug / 权重计算 bug / 旧存档映射 bug | 修 affix 区间表 + 修 legacyAdapter.ts,不改 roll 逻辑 |
7. 与本周(7.1)双轴的关系
| 本周(7.1 双轴) | 本 5 日(7.6-7.10) | 关系 | | :--- | :--- | :--- | | 工具入口统一(规范 + 入口页 + 3 类) | — | 独立,本 5 日不重复 | | Year 1 主线闭环(骨架 + 属性 + 道具 + 验收) | R1 Phase 1 道具 T3-T8 收口 | 接续:Year 1 道具映射 → Phase 1 道具系统升级,共同服务于第一年 4 段投放节奏(16 件装备按 R2 投放表段 A/B/C/D 落位) | | — | R2 D3 胜利终局拍板 | 关键衔接:D3 是 Year 1 闭环的终结点(第 360 天 / 跨年夜)的 truth source;胜利/失败互斥已 v1.0 拍(跨 lane 互斥规则 § 1) | | — | R3 P2P 房间 + R4 剧情预研 | 前瞻:为 W30+ Phase 5-6 铺路;R4 跨年夜 ① 旧账风波 = 胜利终局收束页对接线 |
接续点(本 5 日末):
- 7.10 当天,PM 应同步更新:
docs/handoff/index.md(5 日收口 + 残余风险)docs/daily-plans/2026-07-10.md(5 日总结)docs/plans/active/week-plan-2026-07-13-xxx.md(下周双轴规划,从 P2P 实时竞价 + Phase 6 内容池起步 + 胜利规则具体数值 v1.1 拍板起步)
8. 参考入口
| 想看什么 | 去这里 |
| :--- | :--- |
| 5 日上游(产品总览) | docs/design/active/产品需求总览-v1.md |
| Phase 1 切片 | docs/design/active/Phase1实施切片-v1.md |
| 道具词条 v3 | docs/design/active/道具词条与玩法扩展-v3.md |
| 道具视觉规范 | docs/design/active/道具系统新核心UI视觉规范-v1.md |
| 视觉稿 | docs/design/active/道具系统新核心UI视觉稿-v1.html |
| Year 1 主线骨架 | docs/plans/active/week-plan-2026-07-01-tools-entry-and-year1-mainline.md § Lane 1 |
| 联机竞标设计 | docs/design/completed/gameplay/官府抄缴库房竞标会-联机版玩法设计.md |
| 联机玩法手册 | docs/design/backlog/gameplay/p2p-multiplayer-playbook.md |
| 项目级 AI 守则 | AGENTS.md |
| 当前 PM 状态 | docs/handoff/index.md |
| 角色铁律(PM / 监督) | docs/handoff/roles/pm.md docs/handoff/roles/pm-ctrl.md |
| ★ v1.1 新增 | |
| 跨 lane 互斥规则(R1) | docs/design/active/跨lane互斥规则-v1.md |
| Year 1 道具投放映射表(R2) | docs/design/active/Year1道具投放映射表-v1.md |
| 旧存档兼容边界(R3) | docs/design/active/旧存档兼容边界-v1.md |
| 5 日 lane 依赖图(R5) | docs/design/active/5日lane依赖图-v1.md |
| 新内容引导(R4) | docs/design/active/新内容引导-v1.md |
| 5 日反需求清单(R8) | docs/design/active/5日反需求清单-v1.md |
| 玩家故事 UseCase 集(R7) | docs/design/active/玩家故事UseCase集-v1.md |
| 胜利终局 v1.1 待办(R6) | docs/design/active/胜利终局v1.1待办-第二三年锚点与多周目-v1.md |
| 内容池扩展(R9) | docs/design/active/内容池扩展5日内能起什么头-v1.md |
| 胜利终局 truth source(R2 草案) | docs/design/active/胜利终局-truth-source-v1.md |
| 联机 P2P 房间骨架(R3 草案) | docs/design/active/联机P2P房间骨架-v1.md |
| 剧情线 3+ 预研大纲(R4 草案) | docs/design/active/剧情线3+预研大纲-v1.md |
| ★ v1.2 新增 | |
| 剧情追踪字段净化与输出规则(R6 truth source) | docs/design/active/剧情追踪-字段净化与输出规则-v1.md |
| 5 日计划字段净化修改意见稿(R6 提案底稿) | docs/plans/active/2026-07-06-5日开发计划-字段净化修改意见稿-v1.md |
| ★ v1.1 关键数据源 | |
| 16 件装备实际数据 | src/data/items/equipment.ts(779 行,16 件,非 gameData.ts) |
| 旧 rarity 字段位置 | src/types.ts:137(不动) |
| SAVE_SCHEMA_VERSION 常量 | src/utils/save/saveVersion.ts |
9. 版本与变更记录
| 版本 | 时间 | 整理人 | 关键变更 |
| :---: | :---: | :--- | :--- |
| v1.0 | 2026-07-01 17:22 | Mavis(PM 视角) | 首版:接续 7.1 双轴,5 工作日(7.6-7.10)按日切 6 条 R lane + 12 个短工 + 3 个用户拍板时点 + 6 条收口判定 + 5 条回退方案 |
| v1.1 | 2026-07-02 14:05 | Mavis(PM 视角) | 应用 F1-F4 + R1/R2/R3 文档结论,共 13 处实质修订:
① 头部新增 v1.1 修订说明 + 12 份新 truth source 引用
② § 0 TL;DR 修正:30 件 → 16 件 / gameData.ts → equipment.ts
③ § 1.2 R2 描述补"具体数值留 v1.1"
④ § 1.3 不在本 5 日的事:拆胜利规则(边界已拍 / 数值留 v1.1)+ 互斥已 v1.0 拍 + types.ts:137 不动 + 16 件装备 id/name 不动
⑤ § 2 Day 1 R1.0:rarity 加 @deprecated + SAVE_SCHEMA_VERSION +1
⑥ § 2 Day 2 R1.1 重大修订:30 件 → 16 件 / 仅补 baseStats / 新增 legacyAdapter.ts + saveVersion.ts 升级 + backup slot
⑦ § 2 Day 3 R1.3 / R1.4:QualityFrame / BaggageTab fallback 路径
⑧ § 2 Day 4 R3:MultiplayerRoomState 平级不联通
⑨ § 2 Day 5 R1.5:45 组 → 46 组测试(45 组合 + 1 旧存档 fallback)
⑩ § 3 跨日依赖图:5 条新增边(R1.0 → R1.1 → R1.3 → R1.5 + R2 → R1.4 + R4 → R2)
⑪ § 4.1 派发角色版本号升 v1.1 / § 4.3 拍板点范围缩小
⑫ § 5 / § 5.1 验收口径:30 → 16 / + 5 条新不算收口情形
⑬ § 6 风险表:Day 2 旧存档 fallback 风险 / Day 3 T5 fallback 风险 / Day 5 46 组测试风险 / Day 4 剧情选线风险
⑭ § 8 参考入口:新增 12 份 v1.1 配套文档 + 2 条关键数据源位置 |
| (待定) | — | — | 待 D3 拍板后,更新 § 1.2 R2 边界;待 Phase 1 切片的 Phase 2 spec 落地后,更新 R1 范围;待 R6 v1.1 待办落地后,补第二/三年胜利锚点 + 多周目循环 |
| v1.2 | 2026-07-02 15:22 | Mavis(PM 视角) | 应用 G1-G5(R6 字段净化),共 8 处实质修订:
① 头部 v1.1 → v1.2 元数据 + 新增 G0/G1-G5 变更说明
② § 0 TL;DR:加 R6 + Day 4 工作量变 2 主 + 1 辅
③ § 1.2 5 条核心需求 → 6 条(+R6)
④ § 2 Day 4 主任务拆分:R3 P2P 全天 → R3 P2P 半天 + R6 字段净化半天(新增 R6 主任务完整规格)
⑤ § 3 跨日依赖图:加 R6 边 + 新增"★ v1.2 新增边"小节
⑥ § 5.1 增 4 条不算收口情形(17-20,R6 字段净化收口判定)
⑦ § 6 风险表:Day 4 增 R6 回退方案行
⑧ § 8 参考入口:增 R6 truth source + 5 日计划字段净化修改意见稿 |
(End of file - total file size ~28KB,371 lines)