№ · 活跃计划 CH.07.02
主页 · 📅 活跃计划 · 2026-07-06 ~ 2026-07-10 5 日开发计划 v1.2

2026-07-06 ~ 2026-07-10 5 日开发计划 v1.2

📅 2026-07-02 · 📦 36.4 KB · 📅 活跃计划 · 📝 MD 文档 🏷️ 真值🏷️ 剧情🏷️ 计划🏷️ 联机🏷️ 时间🏷️ 回归

整理时间: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.md

v1.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 laneR6 truth source 后缀区分,避免读者混淆
  • F1:gameData.ts 根目录不存在,数据实际在 src/data/items/equipment.ts(779 行,16 件)
  • F2:"30 件历史装备" → 16 件(Phase 1 切片估算过时,实际 16)
  • F3:T3 数据迁移实质工作量 = 13 件 baseStats 数值补完;qualityTier 16/16、buildTag 16/16 已填,affixes 16/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 件;接受字段 = baseStats 13/16(不是 qualityTier + baseStats + rollValue 全补)
    • 数据路径:gameData.tssrc/data/items/equipment.ts
    • T7 单元测试:45 组合 + 1 组"旧存档 fallback 路径"
    • 胜利/失败二选一逻辑:v1.0 已拍(跨lane互斥规则-v1.md § 1),Day 1 拍板时再讨论
  • 周工时预算:5 个工作日 × (6-8h 主 + 2-3h 辅)= 40-55 工时
  • 不做的事:不动 src/App.tsx 壳层 / 不动 docs/handoff/index.md 当前 in-flight / 不动 UI 重构漂移 / 不动胜利规则具体设计数值(只拍板 truth source 边界,v1.1 拍数值) / 不实现 P2P 实时竞价(只房间骨架)/ 不实现剧情线内容(只预研大纲)/ 不动 types.ts:137rarity 字段重命名

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_reportedbrief=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:137rarity 字段重命名 / 删除(AGENTS.md 守则 + R3 不变量 N2)
  • ❌ 改 src/data/items/equipment.ts 16 件装备 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-snapshotfailure-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.tssrc/data/items/types.ts(只动 type 定义,不动 src/data/items/equipment.ts 数据) | | 内容 | ① EquippableItem v2 type 设计:qualityTier: QualityTierbaseStatsaffixesbuildTag
② ★ 旧 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 → legendaryepic → epicrare → rarecommon → 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.csssrc/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 通过;MultiplayerRoomStateAuctionState 类型平级但字段交叉引用 | | 不做 | ❌ 实时竞价毫秒同步
❌ 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_reportedbrief=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.tsx JSX 清理 + year1Plan.ts 简化 + App.tsx nextHint 截断 + 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 条:

  1. Phase 1 道具 T3-T8 全部收口(R1.0-R1.6,含旧存档兼容)
  2. D3 胜利终局 truth source 文件确认签字(R2;胜利/失败互斥已 v1.0 拍,不再讨论)
  3. Phase 5 联机 P2P 房间状态机 + 最小 UI 落盘(R3,不要求实装同步;MultiplayerRoomStateAuctionState 平级不联通)
  4. 剧情线 3+ 预研大纲确认 + 用户对 1 条优先线拍板(R4;跨年夜 ① 旧账风波对接已 v1.0 拍)
  5. cmd /c npm run build 通过 + 9 档品质 + 5 类词条在背包可见 + 单元测试 46 组全过(45 组合 + 1 旧存档 fallback)
  6. 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
  • MultiplayerRoomStateAuctionState 字段交叉引用(违反"平级不联通")
  • ❌ ★ 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.tsequipment.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)