docs(04-02): 数据端现行接口与渲染端现状两侧清单(只读,D-17)

- 数据端成员级清单:data-common 移动器族 + data-base/hero 位置移动族 + barrel 实际导出核对
- 渲染端使用点清单:hero/types/manager/move/client + 移动器契约参考
- @ts-expect-error 需要重构 全量清单位置;全文 CRLF
This commit is contained in:
unanmed 2026-09-18 12:44:10 +08:00
parent 5f2743624a
commit 77e2ad5d45

View File

@ -43,19 +43,111 @@ Phase 4 第二步D-1704-01 的只读对账把主要失配点定位在**
## 数据端现行接口
Task 2 横向补齐成员级清单)
**`data-common` 移动器族(`packages-user/data-common/src/common/mover.ts`**
- **`ObjectMoveType`**(步骤类型枚举:`Dir` / `DirFace` / `Speed` / `Face` / `Special` / `AnimDir` / `Teleport` / `Jump``packages-user/data-common/src/common/mover.ts:14`
- **`ObjectSpecialStep`**`Forward` / `Backward``packages-user/data-common/src/common/mover.ts:33`
- **`ObjectAnimDirection`**`Forward` / `Backward`;替代渲染端 `HeroAnimateDirection``packages-user/data-common/src/common/mover.ts:40`
- **`IObjectMovable`**`x` / `y` / `setPos` / `getCurrentFaceDirection``packages-user/data-common/src/common/mover.ts:47`
- **`IObjectMoveStepDir` / `IObjectMoveStepDirFace` / `IObjectMoveStepSpeed` / `IObjectMoveStepFace` / `IObjectMoveStepSpecial` / `IObjectMoveAnimDir` / `IObjectMoveTP` / `IObjectMoveJump`**`packages-user/data-common/src/common/mover.ts:66` 起
- **`ObjectMoveStep`**(上述各步骤的联合类型):`packages-user/data-common/src/common/mover.ts:132`
- **`IMoverController`**`done` / `onEnd` / `push(...steps)` / `insert(...steps)` / `stop()``packages-user/data-common/src/common/mover.ts:142`
- **`IObjectMoverHooks<T>`**`onMoveStart` / `onMoveEnd` / `onStepStart` / `onStepEnd` / `onSetPos` / `onSetFaceDir` / `onSetMoveDir``packages-user/data-common/src/common/mover.ts:166`
- **`IObjectMover<T>`**`moving` / `tile` / `faceDirection` / `moveDirection` / `currAnimDir` / `currentSpeed` / `faceHandler` / `setPos` / `setFaceDir` / `setMoveDir` / `tp` / `jump` / `step` / `stepFace` / `forward` / `backward` / `speed` / `face` / `animDir` / `push` / `clear` / `start`extends `IHookable<IObjectMoverHooks<T>>``packages-user/data-common/src/common/mover.ts:235`
- **`ObjectMover<T>` 基类**`moveQueue` / `start()` 实现):`packages-user/data-common/src/common/mover.ts:357`(队列 `:364`、`start` `:689`
**`data-base/hero` 位置移动族:**
- **`IHeroLocationHooks`**`onSetPos` / `onSetFloor``packages-user/data-base/src/hero/types.ts:277`
- **`IHeroLocation`**`floorId` / `map` / `mover`extends `IObjectMovable``packages-user/data-base/src/hero/types.ts:303`
- **`HeroMoveCode`** / **`IHeroMoveTopHandler`** / **`IHeroMoveTopImpl`** / **`IHeroMoverConfig`**`packages-user/data-base/src/hero/types.ts:327` / `:338` / `:351` / `:390`
- **`IHeroMover<T>`**`config` / `getConfig` / `useTopImplementation`extends `IObjectMover<T>``packages-user/data-base/src/hero/types.ts:399`
- **barrel 实际导出核对**`packages-user/data-common/src/index.ts:1` → `packages-user/data-common/src/common/index.ts:4``packages-user/data-base/src/index.ts:3` → `packages-user/data-base/src/hero/index.ts:8`
- **`IHeroFollower`**`packages-user/data-base/src/hero/types.ts:464`
- **`IHeroFollowersControllerHooks`**`onAddFollower` / `onRemoveFollower` / `onGatherFollowers``packages-user/data-base/src/hero/types.ts:486`
- **`IHeroFollowersController`**`addFollower` / `getFollower` / `getFollowersById` / `getAllFollowers` / `removeFollower` / `removeAllFollowers` / `gatherFollowers` / `gatherFollowersSync``packages-user/data-base/src/hero/types.ts:508`
- **`IHeroStateHooks`**`onBeforeChangeFloor` / `onAfterChangeFloor``packages-user/data-base/src/hero/types.ts:858`
- **`IHeroState`**`location` → `IHeroLocation`、`followers` → `IHeroFollowersController``packages-user/data-base/src/hero/types.ts:889`
- **`HeroMover<T>`**`config` / `getConfig` / `useTopImplementation`extends `ObjectMover<T>``packages-user/data-base/src/hero/mover.ts:22`(配置 `:46` / `:59` / `:67`
**barrel 实际导出核对D-05**
- **`@user/data-common`**`packages-user/data-common/src/index.ts:1` 转发 `./common``packages-user/data-common/src/common/index.ts:4` 转发 `./mover`;故 `IObjectMover` / `IMoverController` / `IObjectMoverHooks` / `IObjectMovable` / `ObjectAnimDirection` 可经 `@user/data-common` 取得。
- **`@user/data-base`**`packages-user/data-base/src/index.ts:3` 转发 `./hero``packages-user/data-base/src/hero/index.ts:8` 转发 `./mover`、`:10` 转发 `./types`;故 `HeroMover` / `IHeroMover` / `IHeroLocation` / `IHeroState` 可经 `@user/data-base` 取得。
- **`@user/data-state`**`packages-user/data-state/src/index.ts:1` 转发 `./hero`,但 `packages-user/data-state/src/hero/index.ts:1` 仅转发 `./moverImpl` / `:2` `./predicate` / `:3` `./types`**未导出** `HeroMover` / `IMoveController`;渲染端 `packages-user/client-modules/src/action/move.ts:4``@user/data-state` import 二者因此失配(见 `#04-02-R-02`)。
- **`@motajs/common`**`IHookable.addHook` / `IHookController.load/unload` 契约位于 `packages/common/src/types.ts:81` / `:52`,由 `packages/common/src/hook.ts:24``Hookable.addHook` 实现(`hero.addHook` 的落点)。
## 渲染端现状
Task 2 横向补齐使用点清单)
**`render/map/extension/hero.ts``MapHeroRenderer` / `MapHeroHook`**
- **`MapHeroRenderer` 构造器**`hero.addHook` / `hero.x` / `hero.y` / `hero.direction``packages-user/client-modules/src/render/map/extension/hero.ts:76`
- **`hero.addHook(new MapHeroHook(this))`**`packages-user/client-modules/src/render/map/extension/hero.ts:81`
- **`HeroKeyMover`**(移动器使用面):`packages-user/client-modules/src/action/move.ts:11`
- 构造器(`hero.addHook(new MapHeroHook(this))` / `hero.x` / `hero.y` / `hero.direction``packages-user/client-modules/src/render/map/extension/hero.ts:76-102`
- `addHeroMoving``hero.image` 贴图别名读取 `:115` / `:119` / `:121` —— 属贴图子系统,按 D-18 排除,不进入对账与候选):`packages-user/client-modules/src/render/map/extension/hero.ts:110`
- `updateHeroTexture`(贴图,按 D-18 排除):`packages-user/client-modules/src/render/map/extension/hero.ts:138`
- `tick``HeroAnimateDirection.Forward` 使用点 `:170``packages-user/client-modules/src/render/map/extension/hero.ts:165`
- `setImage`(贴图,按 D-18 排除):`packages-user/client-modules/src/render/map/extension/hero.ts:191`
- `setAlpha`alpha按 D-18 排除):`packages-user/client-modules/src/render/map/extension/hero.ts:198`
- `setPosition``packages-user/client-modules/src/render/map/extension/hero.ts:202`
- `moveEntity``packages-user/client-modules/src/render/map/extension/hero.ts:215`
- `jumpEntity``packages-user/client-modules/src/render/map/extension/hero.ts:264`
- `startMove``packages-user/client-modules/src/render/map/extension/hero.ts:282`
- `waitMoveEnd``packages-user/client-modules/src/render/map/extension/hero.ts:295`
- `stopMove``packages-user/client-modules/src/render/map/extension/hero.ts:300`
- `move``packages-user/client-modules/src/render/map/extension/hero.ts:307`
- `jumpTo``packages-user/client-modules/src/render/map/extension/hero.ts:316`
- `addFollower``packages-user/client-modules/src/render/map/extension/hero.ts:341`
- `removeFollower``packages-user/client-modules/src/render/map/extension/hero.ts:378`
- `removeAllFollowers``packages-user/client-modules/src/render/map/extension/hero.ts:424`
- `setFollowerAlpha`alpha按 D-18 排除):`packages-user/client-modules/src/render/map/extension/hero.ts:431`
- `setHeroAnimateDirection``packages-user/client-modules/src/render/map/extension/hero.ts:437`
- `turn``packages-user/client-modules/src/render/map/extension/hero.ts:441`
- `MapHeroHook``Partial<IHeroMoveControllerHooks>``onSetImage` / `onSetAlpha` / `onSetFollowerAlpha` 属贴图 / alpha 子系统按 D-18 排除;移动 / 位置 / 跟随者钩子 `onSetPosition` / `onTurnHero` / `onStartMove` / `onMoveHero` / `onEndMove` / `onJumpHero` / `onAddFollower` / `onRemoveFollower` / `onRemoveAllFollowers``:469-512``packages-user/client-modules/src/render/map/extension/hero.ts:457`
**`render/map/extension/types.ts`**
- `IMapExtensionManager.heroMap`(键类型 `IHeroMoveController``packages-user/client-modules/src/render/map/extension/types.ts:15`
- `addHero` / `removeHero`(参数 `IHeroMoveController``packages-user/client-modules/src/render/map/extension/types.ts:26` / `:35`
- `IMapHeroRenderer` 契约(`setImage` / `addFollower` / `removeFollower` / `removeAllFollowers` / `setPosition` / `startMove` / `waitMoveEnd` / `stopMove` / `move` / `jumpTo` / `setAlpha` / `setFollowerAlpha` / `setHeroAnimateDirection` / `turn``packages-user/client-modules/src/render/map/extension/types.ts:63`
- `setHeroAnimateDirection(direction: HeroAnimateDirection)``packages-user/client-modules/src/render/map/extension/types.ts:147`
**`render/map/extension/manager.ts`**
- `// @ts-expect-error 需要重构` + `import { IHeroMoveController } from '@user/data-base'``packages-user/client-modules/src/render/map/extension/manager.ts:1-2`
- `heroMap` / `addHero` / `removeHero``packages-user/client-modules/src/render/map/extension/manager.ts:18` / `:26` / `:39`
**`action/move.ts``HeroKeyMover` 全类):**
- `// @ts-expect-error 需要重构` + `import { HeroMover, IMoveController } from '@user/data-state'``packages-user/client-modules/src/action/move.ts:3-4`
- `class HeroKeyMover` / `controller?: IMoveController` / `mover: HeroMover``packages-user/client-modules/src/action/move.ts:11` / `:19` / `:29`
- legacy 门控 `core.isReplaying()` / `core.isPlaying()` / `core.waitHeroToStop()` / `core.status.lockControl``packages-user/client-modules/src/action/move.ts:66` / `:97` / `:123` / `:156`
- `this.mover.oneStep(this.moveDir)` / `this.mover.startMove(false, false, false, true)``packages-user/client-modules/src/action/move.ts:125`
- `controller.onEnd.then(...)``packages-user/client-modules/src/action/move.ts:130`
- `this.mover.on('stepEnd', this.onStepEnd)``packages-user/client-modules/src/action/move.ts:137`
- `con.queue.length` / `con.push({ type: 'dir', value: this.moveDir })``packages-user/client-modules/src/action/move.ts:169`
- `this.controller?.stop()` / `this.mover.off('stepEnd', this.onStepEnd)``packages-user/client-modules/src/action/move.ts:145` / `:180`
**`client.ts` 接线点:**
- 被注释的 `this.mainMapExtension.addHero(this.hero.mover, layer)``packages-user/client-modules/src/client.ts:148`
**`render/map/{moving,status,renderer}.ts`(仅移动器契约参考,不登记为独立对账对象):**
- `IMovingBlock` / `addMovingBlock` / `getMovingBlock` / `updateMoving``packages-user/client-modules/src/render/map/types.ts:194` / `:534` / `:544` / `:1101`
- `IMovingRenderer` / `MovingBlock``packages-user/client-modules/src/render/map/moving.ts:8` / `:26`
- `MapRenderer.addMovingBlock` / `requestTicker``packages-user/client-modules/src/render/map/renderer.ts:1616` / `:1698`
- `StaticBlockStatus` / `DynamicBlockStatus``packages-user/client-modules/src/render/map/status.ts:4` / `:39`
**`// @ts-expect-error 需要重构` 清单位置(被查两包全部出现点):**
- `packages-user/client-modules/src/action/move.ts:3`
- `packages-user/client-modules/src/render/map/extension/hero.ts:5`
- `packages-user/client-modules/src/render/map/extension/hero.ts:7`
- `packages-user/client-modules/src/render/map/extension/hero.ts:9`
- `packages-user/client-modules/src/render/map/extension/manager.ts:1`
- `packages-user/client-modules/src/render/map/extension/types.ts:4`
- `packages-user/client-modules/src/render/map/extension/types.ts:6`
- `packages-user/client-modules/src/render/ui/main.tsx:28`(非勇士移动,属 D-11 属性读取)
- `packages-user/client-modules/src/render/ui/main.tsx:247`(非勇士移动,属 `state.maps` 类型错配)
- `packages-user/client-modules/src/render/ui/statistics.tsx:10`(非勇士移动,属 D-11
## 逐成员对账(匹配 / 渲染端需改 / 数据端缺失)