Skip to content

SpineManager

Defined in: spine/SpineManager.ts:43

new SpineManager(coreModule, moduleFactories): SpineManager

Defined in: spine/SpineManager.ts:56

NonNullable<EngineApi>

Whichever engine core is present (see ecs/engineApi.ts).

Map<SpineVersion, SpineModuleFactory>

SpineManager

get observing(): boolean

Defined in: spine/SpineManager.ts:190

Whether anything is counting.

boolean

boneTree(entity): SkeletalBoneTree | null

Defined in: spine/SpineManager.ts:243

The posed bones of this entity’s skeleton and how it places them; null if not loaded.

number

SkeletalBoneTree | null


boundEntities(): Iterable<number>

Defined in: spine/SpineManager.ts:132

The entities that currently have a skeleton bound — what a per-frame pass over “everything spine draws” iterates, without asking the World.

Iterable<number>


clipBudget(entity): SpineClipBudget | null

Defined in: spine/SpineManager.ts:230

number

SpineClipBudget | null


collectAllEvents(isActive?): object[]

Defined in: spine/SpineManager.ts:332

(entity) => boolean

object[]


diagnostics(): SpineSceneDiagnostics

Defined in: spine/SpineManager.ts:199

Why this scene’s spine costs what it does — the frame’s numbers joined to the per-asset reason each of them was paid. Derived on the spot from what the runtimes already know; see spineSceneDiagnostics.

SpineSceneDiagnostics


dispose(): void

Defined in: spine/SpineManager.ts:147

Tear down every loaded runtime, freeing the native skeletons / atlases each holds. Idempotent — clearing the maps makes a second call a no-op. The ONE teardown door: shutdown() was a second name for this.

void


enableEvents(entity): void

Defined in: spine/SpineManager.ts:327

number

void


getAnimations(entity): string[]

Defined in: spine/SpineManager.ts:234

number

string[]


getBounds(entity): { height: number; width: number; x: number; y: number; } | null

Defined in: spine/SpineManager.ts:218

number

{ height: number; width: number; x: number; y: number; } | null


getEntityVersion(entity): SpineVersion | undefined

Defined in: spine/SpineManager.ts:157

number

SpineVersion | undefined


getPathConstraintMix(entity, name): PathMixData | null

Defined in: spine/SpineManager.ts:298

number

string

PathMixData | null


getSkins(entity): string[]

Defined in: spine/SpineManager.ts:238

number

string[]


getTransformConstraintMix(entity, name): TransformMixData | null

Defined in: spine/SpineManager.ts:286

number

string

TransformMixData | null


hasInstance(entity): boolean

Defined in: spine/SpineManager.ts:343

number

boolean


hasRuntime(version): boolean

Defined in: spine/SpineManager.ts:161

SpineVersion

boolean


listConstraints(entity): ConstraintList | null

Defined in: spine/SpineManager.ts:280

number

ConstraintList | null


loadEntity(entity, era, _registry): Promise<SpineVersion | null>

Defined in: spine/SpineManager.ts:76

number

SpineEraBinding

The prepared era and the right to keep it alive — indivisible, so a runtime can never be given one generation’s id with another’s claim.

CppRegistry

Promise<SpineVersion | null>


observe(on): void

Defined in: spine/SpineManager.ts:169

Start or stop reporting what frames cost, on every runtime this app has and every one it loads later. Off by default.

boolean

void


observedBounds(entity, sampleStep?): SpineCullingEnvelope | null

Defined in: spine/SpineManager.ts:226

What a scan of this entity’s skeleton saw — an OBSERVATION, for authoring to propose a culling contract from. Never an authority: see spineBounds.

number

number

SpineCullingEnvelope | null


openPreview(era): Promise<SpinePreviewInstance | null>

Defined in: spine/SpineManager.ts:179

Open a skeleton for an editor to pose itself, outside this manager’s bindings: it is never advanced by updateAnimations and never drawn by submitMeshes. Null when the era’s version has no runtime here.

SpineEraBinding

Promise<SpinePreviewInstance | null>


removeEntity(entity): void

Defined in: spine/SpineManager.ts:136

number

void


setAnimation(entity, animation, loop): void

Defined in: spine/SpineManager.ts:203

number

string

boolean

void


setAttachment(entity, slotName, attachmentName): boolean

Defined in: spine/SpineManager.ts:262

number

string

string

boolean


setDefaultMix(entity, duration): void

Defined in: spine/SpineManager.ts:247

number

number

void


setEnabled(entity, enabled): void

Defined in: spine/SpineManager.ts:319

Take an entity out of the frame, or put it back: a disabled entity keeps its instance but stops posing and drawing. Distinct from playing: false, which freezes the pose and keeps showing it.

Also driven by SpineAnimation.enabled — the plugin carries that field across on its edges (skeletal/enableSync), so writing the component wins at the moment it is written and this call holds between such writes.

number

boolean

void


setEntityProps(entity, props): void

Defined in: spine/SpineManager.ts:211

number

{ a: number; b: number; g: number; r: number; }

number

number

number

number

boolean

boolean

number

boolean

number

number

void


setIKTarget(entity, constraintName, targetX, targetY, mix): boolean

Defined in: spine/SpineManager.ts:268

number

string

number

number

number

boolean


setMixDuration(entity, fromAnim, toAnim, duration): void

Defined in: spine/SpineManager.ts:252

number

string

string

number

void


setPathConstraintMix(entity, name, mix): boolean

Defined in: spine/SpineManager.ts:304

number

string

PathMixData

boolean


setSkin(entity, skin): void

Defined in: spine/SpineManager.ts:207

number

string

void


setSlotColor(entity, slotName, r, g, b, a): boolean

Defined in: spine/SpineManager.ts:274

number

string

number

number

number

number

boolean


setTrackAlpha(entity, track, alpha): void

Defined in: spine/SpineManager.ts:257

number

number

number

void


setTransformConstraintMix(entity, name, mix): boolean

Defined in: spine/SpineManager.ts:292

number

string

TransformMixData

boolean


submitMeshes(registry, materialOf?, isActive?): void

Defined in: spine/SpineManager.ts:124

Skip extraction for entities the activity predicate excludes.

CppRegistry

SkeletalMaterialOf

(entity) => boolean

void


updateAnimations(dt, isActive?): void

Defined in: spine/SpineManager.ts:117

Freeze inactive entities without changing their manual enable state.

number

(entity) => boolean

void


static detectVersion(data): SpineVersion | null

Defined in: spine/SpineManager.ts:65

Uint8Array

SpineVersion | null


static detectVersionJson(json): SpineVersion | null

Defined in: spine/SpineManager.ts:71

string

SpineVersion | null