diff --git a/.planning/ROADMAP.md b/.planning/ROADMAP.md index 213fe24..2637785 100644 --- a/.planning/ROADMAP.md +++ b/.planning/ROADMAP.md @@ -181,7 +181,7 @@ Plans: 3. 移动端(窄屏)布局下,同一场景正常显示且可操作 4. 数据端与渲染端保持双端分离——数据端无 DOM,仍可在 Node 环境跑回放验证 -**Plans**: 3 plans(第一步·只读对账已完成;第二步·勇士移动接口探索(只读)已完成;第三步·勇士本体适配(渲染端被动重接)已规划,待执行 — 04-CONTEXT D-01/D-02/D-13/D-17/D-18/D-19/D-20/D-21/D-22;其余渲染适配与移动端/桌面端双布局待后续增量另行规划) +**Plans**: 3/3 plans executed(第一步·只读对账已完成;第二步·勇士移动接口探索(只读)已完成;第三步·勇士本体适配(渲染端被动重接)已规划,待执行 — 04-CONTEXT D-01/D-02/D-13/D-17/D-18/D-19/D-20/D-21/D-22;其余渲染适配与移动端/桌面端双布局待后续增量另行规划) Plans: **Wave 1** @@ -194,7 +194,7 @@ Plans: **Wave 3** *(blocked on Wave 2 completion)* -- [ ] 04-03-PLAN.md — 勇士本体适配(渲染端被动重接):`render/map/extension/{hero,types,manager}.ts` 绑定 `IHeroLocation` / `IHeroMover`,改接现有钩子 `IHeroLocationHooks` / `IObjectMoverHooks`(D-21),按 D-20 裁剪 `IMapHeroRenderer` 的外部驱动成员;排除贴图/不透明度(D-18)、跟随者(D-22)、移动控制(D-19)、`core.*`(D-12)与裸函数(D-11),不新增数据端接口 +- [x] 04-03-PLAN.md — 勇士本体适配(渲染端被动重接):`render/map/extension/{hero,types,manager}.ts` 绑定 `IHeroLocation` / `IHeroMover`,改接现有钩子 `IHeroLocationHooks` / `IObjectMoverHooks`(D-21),按 D-20 裁剪 `IMapHeroRenderer` 的外部驱动成员;排除贴图/不透明度(D-18)、跟随者(D-22)、移动控制(D-19)、`core.*`(D-12)与裸函数(D-11),不新增数据端接口 **UI hint**: yes @@ -389,7 +389,7 @@ Phases execute in numeric order: 1 → 2 → 3 → 4 → 5 → 6 → 7 | 1. 事件系统 | 13/13 | In Progress| | | 2. 寻路系统 | 5/5 | In Progress| | | 3. 数据端完成 | 19/19 | Complete | 2026-09-12 | -| 4. 渲染适配与双布局 | 2/2 | In Progress| | +| 4. 渲染适配与双布局 | 3/3 | In Progress| | | 5. Legacy 移植 | 0/TBD | Not started | - | | 6. 单元测试 | 18/18 | In Progress| | | 7. 数据端缺陷修复 | 15/16 | 暂缓 (Deferred) | - | diff --git a/.planning/STATE.md b/.planning/STATE.md index 6ab029b..712ada5 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -4,16 +4,16 @@ milestone: v1.0 current_phase: 04 current_phase_name: 渲染适配与双布局 status: executing -stopped_at: Completed 04-02-PLAN.md(勇士移动只读接口探索账本已交付;缺失候选待用户裁决) -last_updated: "2026-09-18T06:54:26.243Z" +stopped_at: Completed 04-03-PLAN.md(勇士本体被动适配:绑定 IHeroLocation + 订阅现有钩子,三文件机器门禁全绿) +last_updated: "2026-09-18T08:00:56.234Z" last_activity: 2026-09-18 last_activity_desc: Phase 04 execution started -state_head: 3d2d6dd0b19409d61ad798e7c039e0e1a73f0f4b +state_head: 85637b06f61dcdddab27028641a11b08faee17ca progress: total_phases: 7 completed_phases: 0 total_plans: 74 - completed_plans: 72 + completed_plans: 73 milestone_name: milestone --- @@ -28,8 +28,8 @@ See: .planning/PROJECT.md (updated 2026-09-17) ## Current Position -Phase: 04 (渲染适配与双布局) — READY TO EXECUTE -Plan: 2 of 2 +Phase: 04 (渲染适配与双布局) — EXECUTING +Plan: 3 of 3 Status: Ready to execute Last activity: 2026-09-18 — Phase 04 execution started @@ -98,6 +98,7 @@ Progress: [█████░░░░░] 50% | Phase 07 P14 | 3min | 3 tasks | 1 files | | Phase 04 P01 | 11min | 3 tasks | 1 files | | Phase 04 P2 | 23min | 4 tasks | 1 files | +| Phase 04 P3 | 40min | 4 tasks | 3 files | ## Accumulated Context @@ -221,6 +222,9 @@ Recent decisions affecting current work: - [Phase 04]: 04-02:勇士移动只读接口探索交付 04-HERO-MOVER-INTERFACE.md(8 段骨架 + 12 条三态对账 #04-02-R-01..12 + 2 条缺失候选 + 7 条未确定),被查两包相对基线零变化、零生产代码改动。 - [Phase 04]: 04-02:缺失接口候选 2 条——移动语义钩子族(#04-02-G-01)与 HeroKeyMover 依赖的 oneStep/控制器 queue(#04-02-G-02)——只记录不设计不修复,待用户裁决(D-13)。 - [Phase 04]: 04-02:HeroRendering 渲染状态(D-18)与 legacy core.*(D-12)为显式排除项;REND-01/REND-02 保持 Pending(本 run 只探索未实施)。 +- [Phase 04]: [Phase 04]: 04-03:渲染端勇士本体绑定 IHeroLocation,经 hero.addHook / hero.mover.addHook 订阅数据端现有钩子(D-21),不新增数据端接口、不改数据端文件 +- [Phase 04]: [Phase 04]: 04-03:IMapHeroRenderer 按 D-20 删除 8 个外部驱动成员声明,勇士渲染改为完全被动;对应类内实现方法保留并只由钩子回调调用 +- [Phase 04]: [Phase 04]: 04-03:D-18 贴图别名 hero.image 只做最小编译桥接(读取收敛为一处 + 既有 // @ts-expect-error 惯用法标注),不重设贴图来源;D-18 / D-22 成员逐字保留 ### Roadmap Evolution @@ -258,6 +262,6 @@ None yet. ## Session Continuity -Last session: 2026-09-18T04:50:15.723Z -Stopped at: Completed 04-02-PLAN.md(勇士移动只读接口探索账本已交付;缺失候选待用户裁决) +Last session: 2026-09-18T08:00:17.538Z +Stopped at: Completed 04-03-PLAN.md(勇士本体被动适配:绑定 IHeroLocation + 订阅现有钩子,三文件机器门禁全绿) Resume file: None