From e3880fb7568053625f0d5e2395097e8da7ee92a9 Mon Sep 17 00:00:00 2001 From: unanmed <1319491857@qq.com> Date: Sat, 19 Sep 2026 13:13:02 +0800 Subject: [PATCH] docs(04): plan hero render correction (04-04) --- .planning/STATE.md | 8 ++++---- .planning/phases/04-render-adaptation/04-CONTEXT.md | 7 +++++++ .planning/state.json | 2 +- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/.planning/STATE.md b/.planning/STATE.md index 712ada5..1c22a8e 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -5,14 +5,14 @@ current_phase: 04 current_phase_name: 渲染适配与双布局 status: executing stopped_at: Completed 04-03-PLAN.md(勇士本体被动适配:绑定 IHeroLocation + 订阅现有钩子,三文件机器门禁全绿) -last_updated: "2026-09-18T08:00:56.234Z" +last_updated: "2026-09-19T05:12:50.217Z" last_activity: 2026-09-18 last_activity_desc: Phase 04 execution started -state_head: 85637b06f61dcdddab27028641a11b08faee17ca +state_head: bac3e46fba57ea42fa39460810e8dc8c4c8a406c progress: total_phases: 7 completed_phases: 0 - total_plans: 74 + total_plans: 75 completed_plans: 73 milestone_name: milestone --- @@ -28,7 +28,7 @@ See: .planning/PROJECT.md (updated 2026-09-17) ## Current Position -Phase: 04 (渲染适配与双布局) — EXECUTING +Phase: 04 (渲染适配与双布局) — READY TO EXECUTE Plan: 3 of 3 Status: Ready to execute Last activity: 2026-09-18 — Phase 04 execution started diff --git a/.planning/phases/04-render-adaptation/04-CONTEXT.md b/.planning/phases/04-render-adaptation/04-CONTEXT.md index fd12158..0c68a96 100644 --- a/.planning/phases/04-render-adaptation/04-CONTEXT.md +++ b/.planning/phases/04-render-adaptation/04-CONTEXT.md @@ -56,6 +56,13 @@ - **D-22:** **跟随者暂缓**(`IHeroFollower` / `IHeroFollowersController` 及其 hooks):用户尚未确定「跟随者的位置/动画由数据端驱动还是渲染端计算」以及 `onRemoveAllFollowers` 的处置,需再考虑。本次**不纳入** 04-03,也**不单列**计划;待用户想清楚后再规划。 - **D-23:** **不使用 `client` / `state` 全局单例**(`client-modules/src/core.ts` 的 `client`、`data-state/src/ins.ts` 的 `state`)。若有必须调用它们的地方,**停止执行并告知用户**,由用户决定解决方案;不得自行选择绕过方案。**适用范围:新增/后续改动**;存量单例使用由用户**自己逐步整改**,AI 不主动清除、不据此阻塞当前工作。 +### 04-03 人工审查修改要求(用户裁定,2026-09-18;仅记录,待规划) +- **D-24:** 勇士渲染中仍在用的已弃用工具(`@user/data-common` 的 `getFaceMovement` / `degradeFace` / `nextFaceDirection`,见 `data-common/src/common/utils.ts`)**全部改为 `IFaceHandler` 对应接口**(`packages/common/src/utils/types.ts:152`:`degrade` / `movement` / `move` / `opposite` / `next` / `mapDirection` / `mapMovement`)。因不得使用 `state`,**直接在 `MapHeroRenderer` 构造器参数中要求传入 `IFaceHandler`**(`IFaceHandler`);后续用户会按实际情况再调整。 +- **D-25:** `IHeroLocationHooks` 与 `IObjectMoverHooks` 的钩子实现**拆成两个类**(两个接口存在重复钩子,合在一个类会重复调用)。且 **`onSetPos` 直接设置,不再判断是否移动中**——渲染必须完全客观地描述数据端正在发生的事情,否则渲染与数据会偏差。 +- **D-26:** 补上 **`AnimDir` 的设置**(`ObjectMoveType.AnimDir` 分支不再跳过)。 +- **D-27:** **不使用 `mutate-animate`**,改用功能更全的 `@motajs/animate`(前者能实现的后者都能实现)。**本次范围仅限删除勇士(`render/map/extension/hero.ts`)对 `mutate-animate` 的调用并改用 `@motajs/animate`**;其余存量使用由用户自己逐步处理。 +- **D-28:** **存量 `state` 使用暂不处理**(含 `hero.ts` 的 `state.roleFace.getFaceOf`):这涉及引擎整体的底层架构,由用户后续统一整改。本阶段**不因「不得使用单例」而清除存量**;改动只约束新增/后续代码。 + ### the agent's Discretion - D-07 的「影响」字段具体写法、「多余旧路径」是否需要进一步细分,交由 AI 在对账执行时按实际情况把握,但不得据此扩大范围。 diff --git a/.planning/state.json b/.planning/state.json index b4283bb..548cafb 100644 --- a/.planning/state.json +++ b/.planning/state.json @@ -44,5 +44,5 @@ "label": "Advance to the next step", "reason": "Phase 04 of 7 · executing" }, - "updated_at": "2026-09-18T08:00:56.330Z" + "updated_at": "2026-09-19T05:12:50.312Z" }