index.js 1.14 KB
// @drama/core —— 平台无关纯逻辑引擎公共面。
//
// 唯一公共入口(架构「禁止深导入」红线)。只导出 T-core §3 声明的符号:
//   工厂:createEvaluator / createCamera / createScheduler
//   类:  AnimationState
//   原语:matrix({fromTRS, mul, decompose}),以及单独导出的 fromTRS / mul / decompose
//   类型:见 types.js 的 JSDoc @typedef(Mat2D / CameraCommand / ScriptLine /
//         Renderer / AudioPort / TtsPort / SlotTransform / CameraRenderState 等)
//
// 三接口(Renderer / AudioPort / TtsPort)只在 types.js 以 typedef 形式存在,
// 词汇停在「角色 / slot / 变换 / 音频 / 文本」抽象,零 Pixi 概念——这是「换 Skia
// core 不动」的命门。

export { createEvaluator } from './evaluator.js'
export { AnimationState } from './anim-state.js'
export { createCamera } from './camera.js'
export { createScheduler } from './scheduler.js'

export { matrix, fromTRS, mul, decompose, lerp } from './matrix.js'

// 重新导出 types.js 以便消费方 `import('@drama/core').Renderer` 拿到 typedef(无运行时副作用)。
export * from './types.js'