Files
gplan-2/roadmap.md
T

84 lines
17 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 工程路线图(批次执行制:里程碑 + 批次序列 + loop 规范)
> 一句话:项目级进度视图——走到哪了、接下来按什么顺序走、每个批怎么跑。**实时状态以仓库根 [active.md](active.md) 顶部「当前状态快照」节为准**(会话级、高频更新);待办事项明细以 [06-待办清单](design/gdd/06-待办清单.md) 为唯一登记处(条目级);本文件只管批级序列与门,里程碑移动才更新。
> 成文 2026-09-17;**2026-09-27 重整为批次执行制**(用户立规:任务一律按本路线图批次统一执行、零散并行会话退场——冲突源与介入成本;同日二次修订:粒度对齐敏捷流程——里程碑=发布级目标、迭代=多任务增量交付单元,详见「执行纪律」与「迭代粒度界定」);**2026-09-28 里程碑重排**(M-1 初步验收通过精简收档;**关卡画面独立化立项 M-2 高优先级**——用户裁决独立屏为最终形态;原数值/内容里程碑顺延为 M-3/M-4,迭代号随里程碑重排:原迭代 3/4 → 迭代 5/6);**2026-09-29 迭代重排**(用户裁决:Alpha 验收=对「大部分游戏内容逻辑闭环」版本的验收,内容闭环前验收无意义——战斗演出前移迭代 6、魔法道具+元进度标定编入迭代 7、Alpha 验收后移迭代 8;M-3 更名「数值标定与 Alpha 创建」,M-4 转 Alpha 后深化);**同日二批**(全流程闭环审计+四裁:审计六件归属落表——四件入迭代 6/两件原裁迭代 7;**冒险续玩断点立项**(用户裁「中断可续玩、退出即结算」两口径分离)→迭代 7 超 3-8 卡上限,拆出新迭代 8「续玩断点+设置面+打磨包」,设置面/打磨包随移,Alpha 验收顺延迭代 9;美术素材**不入 git 维持**(生产资产目录 game/assets/art 同样豁免,补 .gitignore 归迭代 6 T0);营地 2D 画面缓 M-4 再议)。
## 里程碑时间线
| 时间 | 里程碑 |
|---|---|
| 2026-09-07 ~ 09-14 | Systems Design 阶段:玩法系统 GDD 全树收口;概念原型 v3 终验 PROCEED(09-12,垂直切片承接);GDD 体系重构(09-14,旧树封存) |
| 2026-09-15 ~ 09-16 | 切片数值语言定型:格面资源批、加法核数值语言拍板、护甲等级掷点批落地(smoke 233)、AP6+AC 验收判读口径 v1.0、06-待办清单建账改版 |
| 2026-09-17 ~ 09-19 | 切片机制完备:敌人技能池批落地(smoke 263)、关卡节点地图 v1.0 定稿+分支图批、加法核 80 遍试玩基线、无伤通关根因批(AP 压速)、验收读数重测批、掷点流种子偏置修复 A+B、插旗不可逆批、worktree 铁律立规 |
| 2026-09-20 ~ 09-21 | **一局完整冒险闭合**:冒险结构实现批(三关正式序列,smoke 482)、GP+商店房批(smoke 437)、存档序列化批(smoke 518)、元进度实现批(跨局循环闭合,smoke 549)、第三关内容批、八型批 |
| 2026-09-22 | Package B 七轮数值批+成长对齿落籍(用户拍板接受 B 曲线);美术圣经 §6–9 全章成文(v2.0);balance-verifier 数值验证工具批;美术文档过期账清偿批 |
| 2026-09-23 | 换算率标定批(6/9/1+护甲断链修复);停点前移批实施(关卡开局即出图+三区化+LevelStripView 退役);UI 复用候选批 |
| 2026-09-24 | **垂直切片转正(prototypes/ → game/)**;棋盘 Node2D 迁移 Phase A(BoardView 五层叠序);伤害管线单据化(DamageController 唯一管线);棋盘立体中档定稿冻结;状态图标接入 |
| 2026-09-25 | 棋盘小人贴图系列五批(1.5× 档+脚锚自底边+椭圆影);AI 生图退出角色资产管线(定位=上游草稿引擎);生图直出像素网格调研双报告 |
| 2026-09-26 | **战斗舞台 Node2D 迁移 Phase B(循环 1 收口,MC 逐位对拍零漂移)**;高墙瓦片 v9.3 定稿+换肤批(格面瓦片/敌像槽/接触带微光接线);封印紫批;UX 文档欠账处置(level-clear 建档);GP 归属拍板对齐;目录三层收敛大重构(design/artwork/game+熵增闸前身) |
| 2026-09-27 | 熵增闸落籍(repo_structure_audit 四查);单元测试与契约层补建登记 P0;UX 文档面三 spec 齐(battle 欠账处置 / level-clear / level-map 三拍板收口);关卡节点图生成 v0.1→v0.4 立项落文+ADR-0007 评估→用户裁丙→**统一随机流批落地(七流并一+全事件日志,329c7a2,台账 210)**;**roadmap 重整为批次执行制(本批,台账 208)** |
| 2026-09-28 | **M-1 切片表现收口完成(迭代 1+2 落籍,初步验收通过)**:样张 v2 机检 16/16 四冻结(art-bible v2.13)/框材组 8 件换皮/演出密度终稿/棋盘数字终稿/关卡画面三拍板实装/单元九套件/瓦片换色两套;同日**关卡画面独立化立项 M-2 高优先级**(用户裁决独立屏为最终形态,本批) |
| 2026-09-28 | **M-2 关卡画面独立化完成(迭代 3+4 落籍,出口闸目检通过)**:独立屏 LevelMapScreen+独立性断言(台账 224)/关卡画面样张 v1 机检 11/11 冻结+节点图标组接线+终稿落码+换层挂点(art-bible v2.14,台账 225);出口检查单 `design/qa/m2-exit-gate-checklist-2026-09-28.md` 用户八项目检通过(台账 227) |
| 2026-09-29 | **迭代重排(用户裁决「内容逻辑闭环先于验收」)**:M-3 更名「数值标定与 Alpha 创建」——战斗演出完善前移迭代 6、魔法道具+元进度标定编入迭代 7、Alpha 验收后移迭代 8;M-4 转 Alpha 后深化与内容扩展(本批,台账 242) |
## 当前位置(2026-09-29)
- **阶段**:Vertical Slice Implementation(`stage.txt`)
- **已达成**:一局完整三关冒险+存档+元进度+营地闭合(数值 provisional,归 M-3 调参批标定);**M-1 切片表现收口关闭**(初步验收 2026-09-28,出口检查单 `design/qa/m1-exit-gate-checklist-2026-09-28.md`);**M-2 关卡画面独立化关闭**(出口闸 2026-09-28 通过,出口检查单 `design/qa/m2-exit-gate-checklist-2026-09-28.md`);UX 文档面四 spec 齐(battle / level-map / level-clear / interaction-patterns)
- **挂起待用户输入(批次解锁点)**:① 真人试玩批次(并入 M-3 迭代 5 读数)——已解闸存档:M-1 出口闸目检(2026-09-28 通过);**M-2 出口闸目检(2026-09-28 通过,八项全过)**;ADR-0007 裁决(裁丙,台账 210);高墙档=D 投影+字体=Fusion Pixel OFL;样张 v1 否决原因四条(已断言化,样张 v2 冻结);关卡画面独立形态(2026-09-28 用户裁决——M-2 立项依据)
- **已知挂账**:魔法道具内容批(迭代 7 承接,node-reward spec 随批出生);元进度柜台定价标定(迭代 7);反制批 Alpha(M-4);迭代 5 读数挂账〔完美 L1 丙·普通 L2 17.1% AC〕+U2 人闸三件待交付(代拍板追认/读数汇报/15 骨架目检)
## 主线路线(里程碑 × 迭代序列)
> **提案序,开工逐迭代点名**;每个迭代 = 一个 loop(规范与粒度界定见下节)。迭代内任务卡的事实源 = 06-待办清单对应条目 + 各 UX spec 的 AC。
### M-1 切片表现收口(Release 1)
**✅ 完成(2026-09-28 初步验收通过)**——迭代 1「测试兜底与表现先行」(六卡)+ 迭代 2「样张冻结与表现定稿」(五批次)落籍,出口检查真人目检过。明细归 git 历史 + 出口检查单 `design/qa/m1-exit-gate-checklist-2026-09-28.md` + active.md 台账 215-222。
### M-2 关卡画面独立化(Release 2)
**✅ 完成(2026-09-28 出口闸通过)**——迭代 3「独立屏架构」(四批次)+ 迭代 4「关卡画面视觉终稿」(五批次)落籍,出口检查真人目检八项全过。明细归 git 历史 + 出口检查单 `design/qa/m2-exit-gate-checklist-2026-09-28.md` + active.md 台账 224-225。
### M-3 数值标定与 Alpha 创建(Release 3,现行里程碑)
> **2026-09-29 用户重裁**:Alpha=大部分游戏内容逻辑闭环的可玩版本,验收只对该状态有意义——原迭代 6「Alpha 验收」排在战斗演出/魔法道具之前属倒置,后移为迭代 8;战斗演出完善前移迭代 6(原 M-4 迭代 7),魔法道具+元进度标定编入迭代 7。原「读数不被呈现改动扰动」的顾虑只约束模拟读数(走逻辑层,呈现改动本就不触),真人读数(目检/通关率/07 对账)必须等内容闭环后采集才有效。**同日二批补充**:审计追加卡落表后,续玩断点(新需求)使迭代 7 超 3-8 卡上限——拆出新迭代 8「冒险续玩断点+设置面+打磨包」(代排待追认),Alpha 验收顺延迭代 9。
| # | 迭代 | 门(进入条件) | 更改任务 |
|---|---|---|---|
| 迭代 5 | 读数重测与调参(原迭代 3) | M-2 出口闸;⑤号卡另需 ADR-0007 裁决(已裁丙落地) | ——**✅ 完成(2026-09-28 五卡落籍)**:基线重测〔三越带初判〕+杠杆扫描〔C3 组合锁值:岩浆1/plb0/percent4/卓尔100〕+AC 投值〔Boss-only 台阶 8/9/12〕+节点图生成特性批〔15 骨架+node_map 扩签+首次冒险脚本,冒烟 557→576〕;读数挂账〔完美 L1 丙·普通 L2 17.1% AC〕归出口人闸追认;明细=迭代 5 台账 230-241+design/qa 三报告 |
| 迭代 6 | 战斗演出完善(原 M-4 迭代 7,2026-09-29 前移;2026-09-28 用户立项,收编历史登记「战斗表现批」——台账 106「真实立绘/动画密度终稿归战斗表现批」,前置 P0 样张已随 M-1 解除) | 迭代 5 出口(已解) | ①资产管线正式化:pixelfixer 网格段+封闭灰袋清除并入 `tools/pixelize_candidates.py`(--fixer)+九张 48px 站桩槽位档生成(8 敌种+主角 normal,底中锚/NEAREST)②敌种立绘落位:按 `ui_kit.gd` TEX_ENEMY_* 常量名入 `game/assets/art/character/`,字形「敌」回退退役,目检 ③主角 portrait 替换(新 normal 态)+attack/hit 两态素材入包(命名/路径随计划书定)④主角三态切换挂事件:攻击演出→attack 态/受击→hit 态/回 idle,槽位 2× 整数放大适配 ⑤命中特效密度终稿:命中瞬间打击特效(台账 106 动画密度欠账清偿)⑥受击白光/演出链复核:弹道→闪白→血条→灰化全链+flash_hit 强度时长 ⑦fx_probe 断言扩充+轻闸接线 ⑧用户实机目检清单(战斗演出专项,本迭代人闸);**2026-09-29 全流程审计追加四件(用户裁定归本迭代,台账 243)**:⑨终局面板「明细回看」z 序修复(main.gd:361 绕模态栈直开,回看层登记序在终局层下、被全屏遮罩压死——改走 _open_modal+ui_click_probe 补终局入口断言)⑩GP 冒险收束呈现(adventure_runner.gd:231 清零前,冒险终局面板补「本局 GP 入账」行,兑现 ui_assembler.gd:52 双展示位承诺)⑪主角受击反馈+死亡演出(敌→主角伤害弹道 main.gd:505 直接 return、无白光——补弹道+flash_hit,死亡补专属演出,与敌方演出密度对等)⑫flat_damage 变异格视觉标记(tex_mutation 槽恒空、数字照常显示——接变异纹理或角标,可归因)。**T0 注(2026-09-29 裁定)**:美术素材不入 git 维持,`game/assets/art/` 目录补 .gitignore(现行素材在盘不入库,缺位走字形回退;素材移交方式=用户放盘,打包发布方案随 Alpha 前另议) |
| 迭代 7 | 魔法道具内容+元进度数值标定(原迭代 8+ 前两项编入) | 迭代 6 出口 | node-reward spec 随批出生+C 区道具槽接线+魔法道具内容(奖励节点空占位 node_overlay.gd:36 由本迭代兑现,营地工坊六件死解锁同批接局内效果);换算率复核/柜台定价标定;批末复跑 verifier 关键带(新力量源入局读数漂移属预期,破带才回调) |
| 迭代 8 | 冒险续玩断点+设置面+打磨包(2026-09-29 立项:用户裁「中断可续玩/退出即结算」两口径分离+审计 #5#6 随移——代排待追认) | 迭代 7 出口 | ①run 快照序列化:停点粒度断点(关卡序号/节点位/生命/本关加成区/GP 钱包/商店已购档/已抽模板),入 save.json 新域+schema 版本迁移;战斗中中断不存棋盘中局,续玩恢复至最近停点、当场战斗从头打 ②开始菜单「继续上局」按钮(存在断点才亮起;续玩与新冒险互斥确认)③中断/退出口径分离:中断=关游戏留断点可续;退出冒险=现行放弃流程(失败结算+清除断点)④最小设置面(音量/全屏/退出按钮/减动效开关从测试调整板转正+调试入口门控)⑤打磨包(RAP 与九徽章图例解码入 legend、封印旗纹理落位退役文字占位、放弃按钮文案收敛至 level-map 4 字上限、判定文案两处措辞统一)⑥冒烟/探针断言:断点写读往返、续玩幂等、退出清断点、无断点时按钮隐藏 ⑦实机目检人闸(中断重开续玩全流程) |
| 迭代 9 | Alpha 验收(原迭代 6;2026-09-29 一批后移迭代 8、二批因新立迭代 8 顺延至此——内容闭环后验收) | 迭代 8 出口 | ①draw calls 真机测量(270→<200)②真人目检清单总清 ③07-体验验证清单总对账 ④真人通关率标定(真人 k 补跑并入) |
### M-4 Alpha 后深化与内容扩展(Release 4;2026-09-29 起内容闭环迭代(战斗演出/魔法道具/元进度标定)上移 M-3,本里程碑=Alpha 验收通过后的深化批)
| # | 迭代 | 门(进入条件) | 更改任务 |
|---|---|---|---|
| 迭代 10+ | 反制批 Alpha · 关卡内容扩展 · Beta 方向立项(顺序按 Alpha 读数定;含营地 2D 画面议题——2026-09-29 裁缓至此再议) | M-3 出口闸(迭代 9 Alpha 验收通过) | 立项时按「迭代粒度界定」拆任务卡 |
## 执行纪律(2026-09-27 用户立规)
1. **一迭代一 loop**:所有更改任务(功能/文档/数值/素材接线)一律进本路线图的迭代,每迭代先立计划书再开工,一个迭代一次合并登记——**零散并行会话退场**(多会话并行 = 冲突源+介入成本;2026-09-27 起单迭代串行执行)。台账记「批」= 本文件记「迭代」,同物异名。
2. **例外 = 零碎 bug**:单独会话 mini-loop 修复(修→轻闸→台账登记),不立计划书、不占迭代位;同屏同类 bug 攒够一笔可并入下一个迭代当任务卡。
3. **用户输入闸显式化**:迭代门里所有需要用户表态的点(否决原因/裁决/试玩)在「当前位置」挂起清单可见,解一个开一个。
## 批次 loop 规范(loop engineering)
> 模板先例 = 循环 1 计划书(`.zcode/plans/battle-stage-node2d-loop-plan-2026-09-26.md`,已完整跑通收口)。每迭代照此八件成文,缺件不开工。
>
> **迭代粒度界定(对齐敏捷迭代/Sprint)**:一个迭代 = 一句迭代目标 + **3–8 个更改任务** + 一份计划书 loop + 一次合并登记,交付一个可验证增量(≈一次迭代交付)。单交付物不成迭代——并入相邻迭代当任务卡;用户输入闸未解的任务不进迭代(留 06 当 backlog,解闸后编入下一个迭代);软时间盒 ≤3 个工作日,超限即切迭代(L3 汇报)。**里程碑 = 2–4 个迭代的发布级目标 + 出口验收闸(≈Release)**。
>
1. **计划书**(`.zcode/plans/<迭代名>-loop-plan-<日期>.md`):迭代目标与完成定义 / 现状事实(代码级,开工自行复核)/ 设计契约(违反即返工,标 🔴 触碰=L3 停机)/ 范围边界 / 任务卡 T0..Tn(逐卡估时)/ 验证闸 / 异常分级 / 代拍板白名单。
2. **T0 开工**:建 worktree + 基线复读记档(冒烟/探针/三闸/MC 对拍基准)+ `git status` 归属核对(并行遗留只标旗不碰)。
3. **循环骨架**:一轮 = 一个任务卡——读卡 → 对事实源 → 实装 → 轻闸全绿 → 提交(代拍板随 commit 记录)→ 台账追加(查撞号)→ 下一轮。单 worktree 多点提交一次合并;轮内禁开第二个 worktree;基线每轮开工时点重测;断点续跑 = `git log` 对任务卡定轮次 + 重跑当轮轻闸。
4. **轻闸**(每轮必跑,headless):run_smoke 全量 + ui_input_probe(十一断言);触碰 presentation 加跑 ui_click_probe + ui_layout_probe。
5. **重闸**(批末 Tn):全量轻闸 + doc 三闸(doc_link / gdd_lint / doc_term,对基线零新增)+ 熵增闸 + MC 逐位对拍(涉核心)+ 素材批加机检断言。
6. **人闸**(停机交付):真人目检清单 + 代拍板追认清单 + 异步终审触点(样张类)——本循环内唯一必经人审。
7. **异常分级**:L1 自救(一次重试)→ L2 记录继续(连续 3 次同红灯升级)→ L3 停机写报告等用户。
8. **收口五步**:①active.md 快照 ②台账条目 ③里程碑移动更新本文件 ④阶段变更改 stage.txt ⑤批末闸序列全绿留痕(loop_dashboard 已随目录收敛退役,透视职责由 06+台账承接)。
## 维护纪律
同「批次 loop 规范」第 8 条收口五步;本文件由里程碑移动触发更新(批次开工/收口不强制改本文件,改的是 active.md 与 06)。快照节 ≤10 行,装不下的细节进台账。