Skip to content

Migrate Spine extension to @esotericsoftware/spine-pixi-v7#8595

Draft
malec-palec wants to merge 1 commit into
4ian:masterfrom
PlaytikaOSS:feat/spine-pixi-v7
Draft

Migrate Spine extension to @esotericsoftware/spine-pixi-v7#8595
malec-palec wants to merge 1 commit into
4ian:masterfrom
PlaytikaOSS:feat/spine-pixi-v7

Conversation

@malec-palec
Copy link
Copy Markdown
Contributor

Replace a third-party pixi-spine@4.0.4 with the official Esoteric Software runtime for PixiJS v7 (@esotericsoftware/spine-pixi-v7@4.2.116).

Changes

  • Dependencies: Swapped pixi-spine@esotericsoftware/spine-pixi-v7 in GDJS and newIDE/app. Added @pixi/* version overrides to prevent duplicate packages.
  • Vendor bundle: Removed pixi-spine/pixi-spine.js. Added the official unmodified IIFE bundle at spine-pixi-v7/spine-pixi-v7.js with a separate spine-pixi-v7-pre.js shim that maps @pixi/* requires to the global PIXI object in browser context.
  • Managers: Rewrote atlas and skeleton managers to use PIXI.Assets for loading/caching. Skeleton and atlas are registered as named aliases consumed by Spine.from().
  • Renderer: Replaced new PIXI.Spine() with spine.Spine.from(). Adapted type references to the new API (Bone, Slot, AnimationStateListener, etc.).
  • IDE: Updated PixiResourcesLoader to load spine data through PIXI.Assets and expose a createSpine() helper. Updated SpineEditor and ObjectSkinNameField accordingly.
  • Version warning: Console warning (runtime) and UI banner (editor) when a Spine resource was exported with a version older than 4.2.

Breaking change

The new runtime only fully supports skeletons exported from Spine 4.2. Older exports (e.g. 4.0) may partially render but mesh deformations won't work due to a JSON schema change (deformattachments).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant