docs(04): record design rulings D-19..D-23

This commit is contained in:
unanmed 2026-09-18 20:37:55 +08:00
parent ed0b95b1c4
commit 7d5f5d90c7

View File

@ -54,6 +54,7 @@
- **D-20:** 勇士渲染为**完全被动渲染**:不得提供允许渲染状态被外部修改的公共接口;旧版 `startMove` 等接口应**删除**,渲染端只需**绑定对应的勇士位置对象**即可。只有渲染端自身有需要的内容(如不透明度、贴图等),才允许在渲染端修改(与 D-10「`HeroRendering` 删除、渲染状态存储放渲染端」一致)。
- **D-21:** 探索文档 `#04-02-G-01`(移动语义钩子)裁决:**按用户新增的 `IObjectMoverHooks.onStepStart` / `onStepEnd` 等现有数据端钩子走**,渲染端改为接入这些已有钩子,**不新增数据端公共接口**(与 D-20 被动渲染一致)。
- **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 不主动清除、不据此阻塞当前工作。
### the agent's Discretion
- D-07 的「影响」字段具体写法、「多余旧路径」是否需要进一步细分,交由 AI 在对账执行时按实际情况把握,但不得据此扩大范围。