import type { SpineSourceBundle } from './spineSourceBundle' import type { SupportedSpineVersion } from './spineVersion' export interface SpineAnimationInfo { name: string duration: number } export interface SpineBoneInfo { name: string parent: string | null depth: number } /** 插槽信息;order 为 setup 姿态下的绘制顺序(Spine drawOrder 可能被动画改变)。 */ export interface SpineSlotInfo { name: string order: number bone: string attachment: string } export interface SpineSceneObject { id: number name: string enabled: boolean visible: boolean x: number y: number rotation: number scaleX: number scaleY: number timeOffset: number skeletonFileName: string atlasFileName: string textureFileNames: string[] /** 当前已加载资源的 Spine 主版本。 */ dataVersion: SupportedSpineVersion | '' /** 保存配置时使用的可移植原始 Spine 文件。 */ sourceBundle: SpineSourceBundle | null selectedAnimation: string selectedBone: string selectedSlot: string animations: SpineAnimationInfo[] bones: SpineBoneInfo[] slots: SpineSlotInfo[] assetVersion: number status: 'empty' | 'loading' | 'ready' | 'error' error: string }