From b7478cc77bfbf57381d2b61e3a708ad722091f2d Mon Sep 17 00:00:00 2001 From: unanmed <1319491857@qq.com> Date: Thu, 17 Sep 2026 18:50:39 +0800 Subject: [PATCH] =?UTF-8?q?docs(phase-07):=20transition=20=E2=80=94=20evol?= =?UTF-8?q?ve=20PROJECT.md=20and=20STATE.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .planning/PROJECT.md | 8 +++++--- .planning/STATE.md | 9 ++++----- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/.planning/PROJECT.md b/.planning/PROJECT.md index 9e610f0..57ed8f4 100644 --- a/.planning/PROJECT.md +++ b/.planning/PROJECT.md @@ -29,7 +29,7 @@ - [ ] 移动端 + 桌面端双布局:渲染端支持两种布局 - [ ] legacy 内容移植:删除被新接口覆盖的旧系统,迁移相关内容;无覆盖才新增接口 - [ ] 单元测试:为重构后的引擎补齐单测(由 AI 完成) -- [ ] 收尾工作:系统完成后随测试逐步发现的零碎项,不提前规划 +- [ ] 收尾工作:系统完成后随测试逐步发现的零碎项,不提前规划(Phase 7 已收口数据端由单测暴露的登记缺陷:07-01..07-13 修复,#06-17-7 经裁定不修复;渲染端/legacy 侧仍待处理) ### Out of Scope @@ -39,7 +39,7 @@ ## Context - **技术栈**:TypeScript 6 + Vue 3 + 自研 WebGL2 渲染器 + Vite 7 + pnpm 10 monorepo;数据端独立打包为 IIFE 供 Node 回放验证。 -- **重构背景**:从旧 mota-js 运行时(`public/`)逐步重构,通过 `Patch` 桥接 legacy 全局变量。渲染端先完成重构,数据端接口设计中。 +- **重构背景**:从旧 mota-js 运行时(`public/`)逐步重构,通过 `Patch` 桥接 legacy 全局变量。渲染端先完成重构;数据端 L0–L3 已落地,并通过 Phase 3 / Phase 6 / Phase 7 的独立 Node replay、单测与质量门禁验收。 - **双端约束**:数据端无 DOM;渲染相关代码必须用 `r()`/`rf()` 门控或走 `hook` 事件,渲染端被动、不向数据端推送更新。 - **协作模型**:接口/架构设计由用户主导;AI 负责接口实现与单元测试;AI 可在验证通过后自行创建 git commit,无需用户逐次审批。 @@ -61,6 +61,8 @@ | AI 可在验证通过后自行创建 git commit | 以自动化验证替代逐次审批,降低碎片化提交成本 | 已执行 | | Phase 3 数据端通过独立 Node replay 与四包质量门禁验收 | 保证数据端不依赖 DOM 且边界可重复验证 | Phase 3 验证通过 | +| Phase 7 数据端缺陷修复采用「同引用原则」:容器/属性存读档在自身实例上原地完成 | 长生命周期外部引用跨读档保持有效,避免静默写入孤儿实例 | Phase 7 验证通过(24/24 must-haves,737 passed / 0 failed) | +| Phase 7 `#06-17-7`(legacy hero 代理)判定不修复(WONTFIX) | 旧引擎兼容层 `data-fallback` 即将删除,改它没有收益 | Phase 7 关闭;该层随后已被删除 | ## Evolution @@ -80,4 +82,4 @@ This document evolves at phase transitions and milestone boundaries. 4. Update Context with current state --- -*Last updated: 2026-09-10 after Phase 3* +*Last updated: 2026-09-17 after Phase 7* diff --git a/.planning/STATE.md b/.planning/STATE.md index b899d75..94a5009 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -21,10 +21,10 @@ milestone_name: milestone ## Project Reference -See: .planning/PROJECT.md (updated 2026-09-10) +See: .planning/PROJECT.md (updated 2026-09-17) **Core value:** 引擎能完整跑通一部魔塔——开局到结局,存档、战斗、地图、事件、剧情全链路可玩。 -**Current focus:** Phase 07 — 数据端缺陷修复 +**Current focus:** Phase 1 — 事件系统 ## Current Position @@ -228,9 +228,8 @@ None yet. - eventStore circular paths are explicitly preserved as the Phase 01 baseline; the revised 01-08 regression does not require those paths to disappear. - Plan 01-12 leaves the repository-wide type gate blocked only by pre-existing diagnostics outside the plan-owned files; these are recorded in the phase deferred-items ledger. - Plan 01-13 records the same repository-wide type gate diagnostics outside its implementation and test files in the phase deferred-items ledger. -- 06-09 阻断项:`pnpm test:ci` 存在先于本计划的既有回归(commit `cee8439` 将录像记录接入 `data-base/src/hero/{equipment,items,mover}.ts`,4 个既有 data-base 测试与 2 个 data-state 文件共 6 文件 / 15 用例失败)。本计划硬约束禁止修改这些越界文件,故 D-44(c) 无法全绿;本计划未新增失败(新增 41 通过 / 6 跳过)。详见 `06-TEST-FINDINGS.md` `#06-09` 阻断项。 -- 06-15 待用户裁决:G-06-01-D 用例无法跑绿(`deleteAura` 后再次 `buildup` 不回到基础值),与既有 #06-01-4 同根因(`buildup()` 未在重建前 `reset()` 各视图),已按 D-05 写正确预期 `it.skip` 并登记 `#06-15-1`。D-27/D-30「每公开方法 ≥1 正常用例」判据仍差 `deleteAura` 一条可跑绿用例(现为受阻塞正确预期 skip)。处置需用户确认:① 后续修复批次修复 `buildup` 视图重置(同时解 #06-01-4 与 #06-15-1);② 经确认把 `deleteAura` 从 D-30 判据排除。详见 `06-TEST-FINDINGS.md` `#06-15-1` 与 `06-15-SUMMARY.md`。 +- 07-REVIEW-recheck.md(2026-09-17,增量复审)新增 8 条未经裁决的发现(1 Critical:`HeroEquipment.compareEquip` 对已装备项取差值错误;3 Warning:`normalizeParam` 字节长度 0、`checkBufferExpand` 倍数为 1 时无限递归、`HeroAttribute.clone` 丢修饰器名/绑定;4 Info)。**未纳入 Phase 7 登记范围,也未经用户确认为问题**;是否开修复计划待用户裁决。 ### Quick Tasks Completed @@ -247,6 +246,6 @@ None yet. ## Session Continuity -Last session: 2026-09-17T10:03:55.811Z +Last session: 2026-09-17T10:45:02.336Z Stopped at: Phase 07 complete, ready to plan Phase 1 Resume file: None