①tools/gdstyle_baseline.txt: 删48消解键(battle_orchestrator函数级20+damage_controller9+grant_segment8+adventure_runner3+combat_segment2+settlement_table schema2+treasure_interact_controller2+config_db_cross_validator1+level_runner1)+收紧14键(宿主类变量50→38/行数1302→1037按钉定版现值——iter40在案读数1036系合回前值,合并带入+1行按现值登记;adventure_runner类变量42→28;level_runner38→30与public-methods54→50;board_view45→32;unit_container81→68与局部17→16;reward_economy roll_board54→52;enemy_table三键;skill_table两键)+零新增;执行=用户令子Agent,refresh全量重生成被骤降守卫拦(168<216×0.9)且--force会连level_map_screen 21→22抬升违「只降不升」——转闸件write_baseline手工合并(当前扫描∩旧基线,带数值取min),写前后断言全过,文件头注随闸件现行序列化器同步 ②game/tests/.gates/baseline.json未动: 红行与在册指纹8467b4588a20逐字节一致(static_scan.log实算复核吻合),不失配无需换代 ③复核: 检查模式exit=1红集恰=level_map_screen max-class-variables一条,基线外新违规0(battle_fx_host/reward_grant/settlement拆段零新键) ④账面: 待办清单波0条目完成整删(执行时点=迭代40合回+批后收尾落地后用户发令)+深拆批条目宿主基线读数随重锚同步(50/1302→38/1037);roadmap当前位「开工前固定动作波0」句改已执行销号
18 KiB
工程路线图(批次执行制:里程碑 + 批次序列 + loop 规范)
一句话:项目级进度视图——走到哪了、接下来按什么顺序走、每个批怎么跑。待办与待裁事项以 待办清单 为唯一登记处(条目级);批次过程与结论查 git 提交信息与
reports/(2026-10-18 用户裁:根目录会话状态文件已废除,本节顶部「当前位」三行即其替代)。
当前位(只回答「现在该做什么」;三行内随批次换代,禁止在此扩写成状态快照)
- 阶段:M3——Alpha 版本的完整实现(2026-10-09 立规:未明令宣布完成前停留 M3,迭代只排 M3 需求,M4 不排期;根目录 stage.txt 为旧阶段开关仅存档)。
- 迭代位:迭代 1–40 全部已完成——迭代 40 两卡 2026-10-28 合回(合并提交 514457d1,用户特许免闸直合),同日完成批后收尾(反哺落文 13 条+产出物退役+账面换代)。
- 下一步:迭代 41 已编两卡(核心数据面结构收敛批+呈现层结构收敛批,≈13.15 个工作日〔用户特批 2026-10-27 超 10 个工作日〕)——待开工,实现段由用户以 /iter 41 发令(开工前固定动作波 0 gdstyle 基线刷新已于 2026-10-28 执行销号)。待编池:营地交互重做卡⑤(排卡④之后)、卡④(已退回美术设计段,美术设计闭合后重立卡)、冒险前资源配比预设(冻结备选)、迭代 30 原卡②③(2026-10-17 已剔出迭代 30 规划、退回待设计,待美术/设计定稿后重新立卡)。
里程碑时间线
| 时间 | 里程碑 |
|---|---|
| 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、待办清单建账改版 |
| 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 立项落文+统一流评估→用户裁丙→统一随机流批落地(七流并一+全事件日志,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-10-09 用户立规,现行口径):现行里程碑 = M3「Alpha 版本的完整实现」;M4 = Beta 版本的完整实现。用户未明令宣布 M3 完成前,项目停留在 M3 阶段——迭代规划只编排 M3(Alpha 完整实现)相关需求,M4 内容一律不排期、不进迭代,M4 的门 = 用户明令 M3 完成。2026-10-03「M-3 关闭、Alpha 到手」为验收史记录保留(旧口径 = Alpha 验收到手);上表旧编号 M-1~M-4 保留作历史序列(M-3 旧名「数值标定与 Alpha 创建」,M-4 旧义「Alpha 后深化与内容扩展」),语义以本注为准。
迭代总表
一行一个迭代,回答一个问题:这个迭代编入了哪些卡、做到哪一步。各列格式与判据见 doc-conventions §12.2,由流水线闸(tools/pipeline_gate.py)机检。
| 迭代代号 | 状态 | 需求卡片 | 编入时间 | 预计周期 | 实现报告 |
|---|---|---|---|---|---|
| 迭代 1 | 已完成(2026-09-28) | — | — | — | 已退役(git 历史可考) |
| 迭代 2 | 已完成(2026-09-28) | — | — | — | 已退役(git 历史可考) |
| 迭代 3 | 已完成(2026-09-28) | — | — | — | 已退役(git 历史可考) |
| 迭代 4 | 已完成(2026-09-28) | — | — | — | 已退役(git 历史可考) |
| 迭代 5 | 已完成(2026-09-30) | — | — | — | 已退役(git 历史可考) |
| 迭代 6 | 已完成(2026-09-29) | — | — | — | 已退役(git 历史可考) |
| 迭代 7 | 已完成(2026-09-29) | — | — | — | 已退役(git 历史可考) |
| 迭代 8 | 已完成(2026-09-29) | — | — | — | 已退役(git 历史可考) |
| 迭代 9 | 已完成(2026-10-03) | 已退役(git 历史可考) | 2026-09-30 | — | 已退役(git 历史可考) |
| 迭代 10 | 已完成(2026-10-01) | — | 2026-09-30 | — | 已退役(git 历史可考) |
| 迭代 11 | 已完成(2026-10-03) | 已退役(git 历史可考) | 2026-10-03 | — | 已退役(git 历史可考) |
| 迭代 12 | 已完成(2026-10-04) | 已退役(git 历史可考) | 2026-10-03 | — | 已退役(git 历史可考) |
| 迭代 13 | 已完成(2026-10-04) | 已退役(git 历史可考) | — | — | 已退役(git 历史可考) |
| 迭代 14 | 已完成(2026-10-05) | 已退役(git 历史可考) | 2026-10-04 | — | 已退役(git 历史可考) |
| 迭代 15 | 已完成(2026-10-05) | 已退役(git 历史可考) | 2026-10-05 | — | 已退役(git 历史可考) |
| 迭代 16 | 已完成(2026-10-06) | 已退役(git 历史可考) | 2026-10-05 | — | 已退役(git 历史可考) |
| 迭代 17 | 已完成(2026-10-07) | 已退役(git 历史可考) | 2026-10-06 | — | 已退役(git 历史可考) |
| 迭代 18 | 已完成(2026-10-07) | 已退役(git 历史可考) | 2026-10-07 | — | 已退役(git 历史可考) |
| 迭代 19 | 已完成(2026-10-08) | 已退役(git 历史可考) | 2026-10-08 | — | 已退役(git 历史可考) |
| 迭代 20 | 已完成(2026-10-11) | 已退役(git 历史可考) | 2026-10-11 | — | 已退役(git 历史可考) |
| 迭代 21 | 已完成(2026-10-12) | 已退役(git 历史可考) | 2026-10-11 | — | 已退役(git 历史可考) |
| 迭代 22 | 已完成(2026-10-12) | 已退役(git 历史可考) | 2026-10-11 | — | 已退役(git 历史可考) |
| 迭代 23 | 已完成(2026-10-12) | 已退役(git 历史可考) | 2026-10-12 | — | 已退役(git 历史可考) |
| 迭代 24 | 已完成(2026-10-13) | 已退役(git 历史可考) | 2026-10-13 | — | 已退役(git 历史可考) |
| 迭代 25 | 已完成(2026-10-13) | 已退役(git 历史可考) | 2026-10-13 | — | 已退役(git 历史可考) |
| 迭代 26 | 已完成(2026-10-14) | 已退役(git 历史可考) | 2026-10-14 | — | 已退役(git 历史可考) |
| 迭代 27 | 已完成(2026-10-14) | 已退役(git 历史可考) | 2026-10-14 | — | 已退役(git 历史可考) |
| 迭代 28 | 已完成(2026-10-15) | 已退役(git 历史可考) | 2026-10-15 | — | 已退役(git 历史可考) |
| 迭代 29 | 已完成(2026-10-16) | 已退役(git 历史可考) | 2026-10-16 | — | 已退役(git 历史可考) |
| 迭代 30 | 已完成(2026-10-17) | 已退役(git 历史可考) | 2026-10-16 | — | 已退役(git 历史可考) |
| 迭代 31 | 已完成(2026-10-19) | 已退役(git 历史可考) | 2026-10-18 | ≈7.5 个工作日 | 已退役(git 历史可考) |
| 迭代 32 | 已完成(2026-10-21) | 已退役(git 历史可考) | 2026-10-20 | ≈8.75 个工作日 | 已退役(git 历史可考) |
| 迭代 33 | 已完成(2026-10-22) | 已退役(git 历史可考) | 2026-10-21 | ≈13.25 个工作日〔用户特批 2026-10-21 超 10 个工作日〕 | 已退役(git 历史可考) |
| 迭代 34 | 已完成(2026-10-22) | 已退役(git 历史可考) | 2026-10-21 | ≈11 个工作日〔用户特批 2026-10-21 超 10 个工作日〕 | 已退役(git 历史可考) |
| 迭代 35 | 已完成(2026-10-25) | 已退役(git 历史可考) | 2026-10-21 | ≈15.25 个工作日〔用户特批 2026-10-21 超 10 个工作日〕 | 已退役(git 历史可考) |
| 迭代 36 | 已完成(2026-10-25) | 已退役(git 历史可考) | 2026-10-24 | ≈5.25 个工作日 | 已退役(git 历史可考) |
| 迭代 37 | 已完成(2026-10-25) | 已退役(git 历史可考) | 2026-10-25 | ≈8.25 个工作日 | 已退役(git 历史可考) |
| 迭代 38 | 已完成(2026-10-26) | 已退役(git 历史可考) | 2026-10-26 | ≈5.225 个工作日 | 已退役(git 历史可考) |
| 迭代 39 | 已完成(2026-10-27) | 已退役(git 历史可考) | 2026-10-26 | ≈10.15 个工作日〔用户特批 2026-10-26 超 10 个工作日〕 | 已退役(git 历史可考) |
| 迭代 40 | 已完成(2026-10-28) | 已退役(git 历史可考) | 2026-10-27 | ≈6.375 个工作日 | 已退役(git 历史可考) |
| 迭代 41 | 待开工 | reports/需求卡片-核心数据面结构收敛批-2026-10-27.md reports/需求卡片-呈现层结构收敛批-2026-10-27.md |
2026-10-27 | ≈13.15 个工作日〔用户特批 2026-10-27 超 10 个工作日〕 | — |
- 迭代 38 收口为带红合并〔用户特批 2026-10-26〕:09 静态扫描 S13 gdstyle 恶化 2 条经批准记入基线存量红(git 提交 c4c69701),卡② 停卡退上游,处方已于 2026-10-26 修订定稿 v1.3(git 提交 b3ea7532),随「gdstyle 存量债全量清偿」条目波 7 待编排。
- 迭代 39 收口为带红合并〔用户特批 2026-10-27〕:02 EV 锚 goblin 0.9148∉[1.00,1.20](触发器批有意行为改动,fp f74b9a48ef4a)已随 EV 锚重锚批换带归绿(git 提交 ba5105aa);08d 生涯.md:55 行号漂移已随 2026-10-28 批后收尾反哺落文修复归绿。三卡拆分后终局 gdstyle 恶化 2 条(battle_orchestrator max-file-length、level_map_screen max-class-variables)归迭代 40 卡①还债与迭代 41 存量债序列。
- 迭代 40 收口为用户特许免闸直合〔2026-10-28〕:全量域验收回执未取得(回执环节断于用户特许,验收审计报告如实记档不作绿报;独立审计结论=通过,F1 一行修 iter40
8a319369先行入库)。卡① 契约 2 宿主行数残余债(实测 1036 行,合并适配带入 36 行)经用户裁登记归后续批清偿(待办清单「战斗域结构深拆批」条目承载);09 存量红剩 level_map_screen 类变量一条归迭代 41 卡③。 - 历史行的「—」= 该列事实不可考:迭代 1~8 早于需求卡片制;编排时点与预计周期不再回溯,细节查 git 提交史。
- 「已退役(git 历史可考)」= 需求卡片或实现报告曾存在,已按「证据只留最新」退役;已完成迭代的实现报告列只填 reports/ 现存路径或本保留字,不填「—」。
- 新迭代行的编排与各列判据见 doc-conventions §12.2 与 iter-plan 技能,由流水线闸(
tools/pipeline_gate.py)机检。
执行纪律(2026-09-27 用户立规)
- 一迭代一 loop:所有更改任务(功能/文档/数值/素材接线)一律进本路线图的迭代,每迭代先立计划书再开工,一个迭代一次合并登记——零散并行会话退场(多会话并行 = 冲突源+介入成本;2026-09-27 起单迭代串行执行)。状态记录记「批」= 本文件记「迭代」,同物异名。
- 例外 = 零碎 bug:单独会话 mini-loop 修复(修→只测自己改的东西→状态记录登记),不立计划书、不占迭代位;同屏同类 bug 攒够一笔可并入下一个迭代当任务卡。
- 用户输入闸显式化:迭代门里所有需要用户表态的点(否决原因/裁决/试玩)登记在 待办清单 的状态列(待裁决/待美术设计/待写卡),解一个开一个。
批次 loop 规范(loop engineering)
模板先例 = 循环 1 计划书(
.zcode/plans/battle-stage-node2d-loop-plan-2026-09-26.md,已完整跑通收口)。每迭代照此八件成文,缺件不开工。迭代粒度界定(对齐敏捷迭代/Sprint):一个迭代 = 一句迭代目标 + 3–8 个更改任务 + 一份计划书 loop + 一次合并登记,交付一个可验证增量(≈一次迭代交付)。单交付物不成迭代——并入相邻迭代当任务卡;用户输入闸未解的任务不进迭代(留待办清单当 backlog,解闸后编入下一个迭代);迭代周期:常规 5–10 个工作日(1–2 周)、直接编;超过 10 个工作日(超过 2 周)须经用户确认;低于 5 或超过 20 个工作日不得编(硬下限/硬上限,2026-10-21 用户裁定;列形态与闸判据见 doc-conventions §12.2 与流水线闸)。里程碑 = 2–4 个迭代的发布级目标 + 出口验收闸(≈Release)。
- 计划书(
.zcode/plans/<迭代名>-loop-plan-<日期>.md):迭代目标与完成定义 / 现状事实(代码级,开工自行复核)/ 设计契约(违反即返工,标 🔴 触碰=L3 停机)/ 范围边界 / 任务卡 T0..Tn(逐卡估时)/ 验证闸 / 异常分级 / 代拍板白名单。 - T0 开工:建 worktree + 拷素材与导入缓存(冷检出三件套照坑速查)+
git status归属核对(并行遗留只登记不触碰)——检出工作区零测试,直接开工(2026-10-22 频率规则;master 经合回闸保证可用)。 - 循环骨架:一轮 = 一个任务卡——读卡 → 对事实源 → 实装(验收测试随对应 T 卡同轮落地;本卡新增/改动的验收测试自己跑绿即收口,没改的不测)→ 提交(代拍板随 commit 记录)→ 状态记录追加(查撞号)→ 下一轮。单 worktree 多点提交一次合并;轮内禁开第二个 worktree;轮内不跑闸;断点续跑 =
git log对任务卡定轮次。 - 全量闸时机(2026-10-22 频率规则,无例外):全量只有批末+合回两个时机,轮内零跑闸(含
--quick中段自检档)——卡内只测自己改的东西;既有「验收测试随卡落地」「调试期出红只重跑红件最小单元」两条保留(闸机轮次纪律见 process-conventions §6)。 - 全量域闸(批末 Tn):
tools/run_all_gates.sh按本批改动域跑(代码面=game/下非.md的行为载体 →--code,这是代码域唯一触发;只有文档件——game/内.md及game/外一切路径 →--docs;两类同批都有 → 不带参数全量),所选域全绿——闸件清单、顺序与域划分只在该脚本里定义,本文件与 AGENTS.md/规约均不另列;改闸件自身(tools/下机检脚本与闸壳)不占合回全量,质量义务=落批时人工确认闸可跑通且判据口径未变;涉核心的 MC 与基线逐位比对、素材批的机检断言另行。 - 人闸(停机交付):真人目检清单 + 代拍板追认清单 + 异步终审触点(样张类)——本循环内唯一必经人审。
- 异常分级:L1 自救(一次重试)→ L2 记录继续(连续 3 次同红灯升级)→ L3 停机写报告等用户。
- 批次完成后的五步登记:①待办清单条目状态按 doc-conventions §12.1 推进(做完整条删除)②本文件顶部「当前位」三行换代,涉及里程碑移动时同步里程碑表 ③实现批禁写本文件与
design/(代码实现批只准写reports/),该改哪一行写进reports/iter<N>-反哺点-<日期>.md,由文档批执行 ④阶段变更改 stage.txt ⑤批末闸序列按本批改动域全绿留痕(回执 commit 对齐分支尖)。
维护纪律
同「批次 loop 规范」第 8 条五步登记;本文件由里程碑移动与「当前位」换代触发更新(批次开工不强制改本文件,待办明细改待办清单)。「当前位」限三行,装不下的细节进待办清单条目与 git 提交信息。