Skip to content

动作模块注册表

系统概览

动作模块注册表。管理动作管线的可插拔模块(如脚部调整、手指姿态、身体姿势、摇摆等), 按优先级排序执行,支持动态注册/注销。是动作管线的扩展点。

核心职责

  • registry.ts — 动作模块注册、排序、生命周期管理。

对外 API(节选)

  • interface MotionModule — 动作模块接口(name、priority、apply 函数)。
  • class MotionModuleRegistry — 注册表实现。
  • registerModule(id, meta, priority) — 注册动作模块。
  • unregisterModule(id) — 注销动作模块。
  • getRegisteredModules() — 取已注册模块列表(按优先级排序)。
  • createModule(id, modelId) — 为模型创建模块实例。
  • getModuleState(modelId, moduleId) — 取模块运行时状态。

与其他子系统关系

  • motion-pipeline.ts 调用,逐帧执行各模块。
  • 下游模块:body-posturehand-modulesfoot-modulesriding-model 等。

不变量

  • 模块按 priority 升序执行,相同 priority 按注册顺序。
  • 模块 name 必须唯一,重复注册 console.warn 告警并覆盖(不静默覆盖;为兼容 vite HMR 热重载不 throw)。