simple-pixi-spine 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +200 -0
  3. package/dist/simple-pixi-spine.js +37 -0
  4. package/dist/simple-pixi-spine.js.map +7 -0
  5. package/dist/simple-pixi-spine.mjs +37 -0
  6. package/dist/simple-pixi-spine.mjs.map +7 -0
  7. package/dist/types/build.d.mts +1 -0
  8. package/dist/types/bundles/pixi-spine/rollup.config.d.mts +2 -0
  9. package/dist/types/bundles/pixi-spine/src/index.d.ts +5 -0
  10. package/dist/types/packages/base/src/SpineBase.d.ts +167 -0
  11. package/dist/types/packages/base/src/SpineDebugRenderer.d.ts +60 -0
  12. package/dist/types/packages/base/src/core/AttachmentType.d.ts +12 -0
  13. package/dist/types/packages/base/src/core/BinaryInput.d.ts +18 -0
  14. package/dist/types/packages/base/src/core/IAnimation.d.ts +131 -0
  15. package/dist/types/packages/base/src/core/IConstraint.d.ts +93 -0
  16. package/dist/types/packages/base/src/core/ISkeleton.d.ts +237 -0
  17. package/dist/types/packages/base/src/core/SkeletonBoundsBase.d.ts +51 -0
  18. package/dist/types/packages/base/src/core/TextureAtlas.d.ts +41 -0
  19. package/dist/types/packages/base/src/core/TextureRegion.d.ts +55 -0
  20. package/dist/types/packages/base/src/core/Utils.d.ts +198 -0
  21. package/dist/types/packages/base/src/core/versions.d.ts +15 -0
  22. package/dist/types/packages/base/src/index.d.ts +14 -0
  23. package/dist/types/packages/base/src/settings.d.ts +19 -0
  24. package/dist/types/packages/loader-3.8/src/index.d.ts +2 -0
  25. package/dist/types/packages/loader-4.0/src/index.d.ts +2 -0
  26. package/dist/types/packages/loader-4.1/src/index.d.ts +2 -0
  27. package/dist/types/packages/loader-4.2/src/index.d.ts +2 -0
  28. package/dist/types/packages/loader-base/src/SpineLoaderAbstract.d.ts +36 -0
  29. package/dist/types/packages/loader-base/src/atlasLoader.d.ts +5 -0
  30. package/dist/types/packages/loader-base/src/index.d.ts +4 -0
  31. package/dist/types/packages/loader-uni/src/Spine.d.ts +15 -0
  32. package/dist/types/packages/loader-uni/src/SpineLoader.d.ts +10 -0
  33. package/dist/types/packages/loader-uni/src/index.d.ts +3 -0
  34. package/dist/types/packages/runtime-3.7/src/Spine.d.ts +11 -0
  35. package/dist/types/packages/runtime-3.7/src/core/Animation.d.ts +307 -0
  36. package/dist/types/packages/runtime-3.7/src/core/AnimationState.d.ts +175 -0
  37. package/dist/types/packages/runtime-3.7/src/core/AnimationStateData.d.ts +17 -0
  38. package/dist/types/packages/runtime-3.7/src/core/AtlasAttachmentLoader.d.ts +20 -0
  39. package/dist/types/packages/runtime-3.7/src/core/Bone.d.ts +58 -0
  40. package/dist/types/packages/runtime-3.7/src/core/BoneData.d.ts +19 -0
  41. package/dist/types/packages/runtime-3.7/src/core/Constraint.d.ts +7 -0
  42. package/dist/types/packages/runtime-3.7/src/core/Event.d.ts +15 -0
  43. package/dist/types/packages/runtime-3.7/src/core/EventData.d.ts +14 -0
  44. package/dist/types/packages/runtime-3.7/src/core/IkConstraint.d.ts +27 -0
  45. package/dist/types/packages/runtime-3.7/src/core/IkConstraintData.d.ts +16 -0
  46. package/dist/types/packages/runtime-3.7/src/core/PathConstraint.d.ts +36 -0
  47. package/dist/types/packages/runtime-3.7/src/core/PathConstraintData.d.ts +29 -0
  48. package/dist/types/packages/runtime-3.7/src/core/Skeleton.d.ts +88 -0
  49. package/dist/types/packages/runtime-3.7/src/core/SkeletonBounds.d.ts +8 -0
  50. package/dist/types/packages/runtime-3.7/src/core/SkeletonData.d.ts +41 -0
  51. package/dist/types/packages/runtime-3.7/src/core/SkeletonJson.d.ts +27 -0
  52. package/dist/types/packages/runtime-3.7/src/core/Skin.d.ts +16 -0
  53. package/dist/types/packages/runtime-3.7/src/core/Slot.d.ts +27 -0
  54. package/dist/types/packages/runtime-3.7/src/core/SlotData.d.ts +17 -0
  55. package/dist/types/packages/runtime-3.7/src/core/TransformConstraint.d.ts +26 -0
  56. package/dist/types/packages/runtime-3.7/src/core/TransformConstraintData.d.ts +23 -0
  57. package/dist/types/packages/runtime-3.7/src/core/Updatable.d.ts +6 -0
  58. package/dist/types/packages/runtime-3.7/src/core/VertexEffect.d.ts +10 -0
  59. package/dist/types/packages/runtime-3.7/src/core/attachments/Attachment.d.ts +30 -0
  60. package/dist/types/packages/runtime-3.7/src/core/attachments/AttachmentLoader.d.ts +24 -0
  61. package/dist/types/packages/runtime-3.7/src/core/attachments/BoundingBoxAttachment.d.ts +10 -0
  62. package/dist/types/packages/runtime-3.7/src/core/attachments/ClippingAttachment.d.ts +12 -0
  63. package/dist/types/packages/runtime-3.7/src/core/attachments/MeshAttachment.d.ts +23 -0
  64. package/dist/types/packages/runtime-3.7/src/core/attachments/PathAttachment.d.ts +13 -0
  65. package/dist/types/packages/runtime-3.7/src/core/attachments/PointAttachment.d.ts +16 -0
  66. package/dist/types/packages/runtime-3.7/src/core/attachments/RegionAttachment.d.ts +68 -0
  67. package/dist/types/packages/runtime-3.7/src/core/attachments/index.d.ts +8 -0
  68. package/dist/types/packages/runtime-3.7/src/core/vertexeffects/JitterEffect.d.ts +14 -0
  69. package/dist/types/packages/runtime-3.7/src/core/vertexeffects/SwirlEffect.d.ts +19 -0
  70. package/dist/types/packages/runtime-3.7/src/index.d.ts +28 -0
  71. package/dist/types/packages/runtime-3.8/src/Spine.d.ts +11 -0
  72. package/dist/types/packages/runtime-3.8/src/core/Animation.d.ts +400 -0
  73. package/dist/types/packages/runtime-3.8/src/core/AnimationState.d.ts +401 -0
  74. package/dist/types/packages/runtime-3.8/src/core/AnimationStateData.d.ts +17 -0
  75. package/dist/types/packages/runtime-3.8/src/core/AtlasAttachmentLoader.d.ts +20 -0
  76. package/dist/types/packages/runtime-3.8/src/core/Bone.d.ts +58 -0
  77. package/dist/types/packages/runtime-3.8/src/core/BoneData.d.ts +21 -0
  78. package/dist/types/packages/runtime-3.8/src/core/Constraint.d.ts +9 -0
  79. package/dist/types/packages/runtime-3.8/src/core/Event.d.ts +15 -0
  80. package/dist/types/packages/runtime-3.8/src/core/EventData.d.ts +14 -0
  81. package/dist/types/packages/runtime-3.8/src/core/IkConstraint.d.ts +30 -0
  82. package/dist/types/packages/runtime-3.8/src/core/IkConstraintData.d.ts +17 -0
  83. package/dist/types/packages/runtime-3.8/src/core/PathConstraint.d.ts +37 -0
  84. package/dist/types/packages/runtime-3.8/src/core/PathConstraintData.d.ts +28 -0
  85. package/dist/types/packages/runtime-3.8/src/core/Skeleton.d.ts +88 -0
  86. package/dist/types/packages/runtime-3.8/src/core/SkeletonBinary.d.ts +43 -0
  87. package/dist/types/packages/runtime-3.8/src/core/SkeletonBounds.d.ts +8 -0
  88. package/dist/types/packages/runtime-3.8/src/core/SkeletonData.d.ts +44 -0
  89. package/dist/types/packages/runtime-3.8/src/core/SkeletonJson.d.ts +27 -0
  90. package/dist/types/packages/runtime-3.8/src/core/Skin.d.ts +35 -0
  91. package/dist/types/packages/runtime-3.8/src/core/Slot.d.ts +28 -0
  92. package/dist/types/packages/runtime-3.8/src/core/SlotData.d.ts +17 -0
  93. package/dist/types/packages/runtime-3.8/src/core/TransformConstraint.d.ts +27 -0
  94. package/dist/types/packages/runtime-3.8/src/core/TransformConstraintData.d.ts +22 -0
  95. package/dist/types/packages/runtime-3.8/src/core/Updatable.d.ts +7 -0
  96. package/dist/types/packages/runtime-3.8/src/core/VertexEffect.d.ts +10 -0
  97. package/dist/types/packages/runtime-3.8/src/core/attachments/Attachment.d.ts +32 -0
  98. package/dist/types/packages/runtime-3.8/src/core/attachments/AttachmentLoader.d.ts +24 -0
  99. package/dist/types/packages/runtime-3.8/src/core/attachments/BoundingBoxAttachment.d.ts +11 -0
  100. package/dist/types/packages/runtime-3.8/src/core/attachments/ClippingAttachment.d.ts +13 -0
  101. package/dist/types/packages/runtime-3.8/src/core/attachments/MeshAttachment.d.ts +25 -0
  102. package/dist/types/packages/runtime-3.8/src/core/attachments/PathAttachment.d.ts +14 -0
  103. package/dist/types/packages/runtime-3.8/src/core/attachments/PointAttachment.d.ts +17 -0
  104. package/dist/types/packages/runtime-3.8/src/core/attachments/RegionAttachment.d.ts +69 -0
  105. package/dist/types/packages/runtime-3.8/src/core/attachments/index.d.ts +8 -0
  106. package/dist/types/packages/runtime-3.8/src/core/vertexeffects/JitterEffect.d.ts +14 -0
  107. package/dist/types/packages/runtime-3.8/src/core/vertexeffects/SwirlEffect.d.ts +19 -0
  108. package/dist/types/packages/runtime-3.8/src/index.d.ts +29 -0
  109. package/dist/types/packages/runtime-4.0/src/Spine.d.ts +11 -0
  110. package/dist/types/packages/runtime-4.0/src/core/Animation.d.ts +366 -0
  111. package/dist/types/packages/runtime-4.0/src/core/AnimationState.d.ts +369 -0
  112. package/dist/types/packages/runtime-4.0/src/core/AnimationStateData.d.ts +25 -0
  113. package/dist/types/packages/runtime-4.0/src/core/AtlasAttachmentLoader.d.ts +20 -0
  114. package/dist/types/packages/runtime-4.0/src/core/Bone.d.ts +104 -0
  115. package/dist/types/packages/runtime-4.0/src/core/BoneData.d.ts +38 -0
  116. package/dist/types/packages/runtime-4.0/src/core/ConstraintData.d.ts +9 -0
  117. package/dist/types/packages/runtime-4.0/src/core/Event.d.ts +19 -0
  118. package/dist/types/packages/runtime-4.0/src/core/EventData.d.ts +16 -0
  119. package/dist/types/packages/runtime-4.0/src/core/IkConstraint.d.ts +38 -0
  120. package/dist/types/packages/runtime-4.0/src/core/IkConstraintData.d.ts +28 -0
  121. package/dist/types/packages/runtime-4.0/src/core/PathConstraint.d.ts +45 -0
  122. package/dist/types/packages/runtime-4.0/src/core/PathConstraintData.d.ts +42 -0
  123. package/dist/types/packages/runtime-4.0/src/core/Skeleton.d.ts +149 -0
  124. package/dist/types/packages/runtime-4.0/src/core/SkeletonBinary.d.ts +28 -0
  125. package/dist/types/packages/runtime-4.0/src/core/SkeletonBounds.d.ts +8 -0
  126. package/dist/types/packages/runtime-4.0/src/core/SkeletonData.d.ts +94 -0
  127. package/dist/types/packages/runtime-4.0/src/core/SkeletonJson.d.ts +26 -0
  128. package/dist/types/packages/runtime-4.0/src/core/Skin.d.ts +47 -0
  129. package/dist/types/packages/runtime-4.0/src/core/Slot.d.ts +45 -0
  130. package/dist/types/packages/runtime-4.0/src/core/SlotData.d.ts +26 -0
  131. package/dist/types/packages/runtime-4.0/src/core/TransformConstraint.d.ts +34 -0
  132. package/dist/types/packages/runtime-4.0/src/core/TransformConstraintData.d.ts +34 -0
  133. package/dist/types/packages/runtime-4.0/src/core/Updatable.d.ts +11 -0
  134. package/dist/types/packages/runtime-4.0/src/core/VertexEffect.d.ts +10 -0
  135. package/dist/types/packages/runtime-4.0/src/core/attachments/Attachment.d.ts +52 -0
  136. package/dist/types/packages/runtime-4.0/src/core/attachments/AttachmentLoader.d.ts +24 -0
  137. package/dist/types/packages/runtime-4.0/src/core/attachments/BoundingBoxAttachment.d.ts +11 -0
  138. package/dist/types/packages/runtime-4.0/src/core/attachments/ClippingAttachment.d.ts +15 -0
  139. package/dist/types/packages/runtime-4.0/src/core/attachments/MeshAttachment.d.ts +38 -0
  140. package/dist/types/packages/runtime-4.0/src/core/attachments/PathAttachment.d.ts +20 -0
  141. package/dist/types/packages/runtime-4.0/src/core/attachments/PointAttachment.d.ts +19 -0
  142. package/dist/types/packages/runtime-4.0/src/core/attachments/RegionAttachment.d.ts +89 -0
  143. package/dist/types/packages/runtime-4.0/src/core/attachments/index.d.ts +8 -0
  144. package/dist/types/packages/runtime-4.0/src/core/vertexeffects/JitterEffect.d.ts +14 -0
  145. package/dist/types/packages/runtime-4.0/src/core/vertexeffects/SwirlEffect.d.ts +19 -0
  146. package/dist/types/packages/runtime-4.0/src/index.d.ts +29 -0
  147. package/dist/types/packages/runtime-4.1/src/Spine.d.ts +11 -0
  148. package/dist/types/packages/runtime-4.1/src/core/Animation.d.ts +386 -0
  149. package/dist/types/packages/runtime-4.1/src/core/AnimationState.d.ts +371 -0
  150. package/dist/types/packages/runtime-4.1/src/core/AnimationStateData.d.ts +25 -0
  151. package/dist/types/packages/runtime-4.1/src/core/AtlasAttachmentLoader.d.ts +17 -0
  152. package/dist/types/packages/runtime-4.1/src/core/Bone.d.ts +104 -0
  153. package/dist/types/packages/runtime-4.1/src/core/BoneData.d.ts +38 -0
  154. package/dist/types/packages/runtime-4.1/src/core/ConstraintData.d.ts +9 -0
  155. package/dist/types/packages/runtime-4.1/src/core/Event.d.ts +19 -0
  156. package/dist/types/packages/runtime-4.1/src/core/EventData.d.ts +16 -0
  157. package/dist/types/packages/runtime-4.1/src/core/IkConstraint.d.ts +38 -0
  158. package/dist/types/packages/runtime-4.1/src/core/IkConstraintData.d.ts +30 -0
  159. package/dist/types/packages/runtime-4.1/src/core/PathConstraint.d.ts +45 -0
  160. package/dist/types/packages/runtime-4.1/src/core/PathConstraintData.d.ts +44 -0
  161. package/dist/types/packages/runtime-4.1/src/core/Skeleton.d.ts +143 -0
  162. package/dist/types/packages/runtime-4.1/src/core/SkeletonBinary.d.ts +31 -0
  163. package/dist/types/packages/runtime-4.1/src/core/SkeletonBounds.d.ts +8 -0
  164. package/dist/types/packages/runtime-4.1/src/core/SkeletonData.d.ts +94 -0
  165. package/dist/types/packages/runtime-4.1/src/core/SkeletonJson.d.ts +28 -0
  166. package/dist/types/packages/runtime-4.1/src/core/Skin.d.ts +47 -0
  167. package/dist/types/packages/runtime-4.1/src/core/Slot.d.ts +44 -0
  168. package/dist/types/packages/runtime-4.1/src/core/SlotData.d.ts +26 -0
  169. package/dist/types/packages/runtime-4.1/src/core/TransformConstraint.d.ts +34 -0
  170. package/dist/types/packages/runtime-4.1/src/core/TransformConstraintData.d.ts +36 -0
  171. package/dist/types/packages/runtime-4.1/src/core/Updatable.d.ts +11 -0
  172. package/dist/types/packages/runtime-4.1/src/core/attachments/Attachment.d.ts +53 -0
  173. package/dist/types/packages/runtime-4.1/src/core/attachments/AttachmentLoader.d.ts +25 -0
  174. package/dist/types/packages/runtime-4.1/src/core/attachments/BoundingBoxAttachment.d.ts +11 -0
  175. package/dist/types/packages/runtime-4.1/src/core/attachments/ClippingAttachment.d.ts +17 -0
  176. package/dist/types/packages/runtime-4.1/src/core/attachments/MeshAttachment.d.ts +42 -0
  177. package/dist/types/packages/runtime-4.1/src/core/attachments/PathAttachment.d.ts +20 -0
  178. package/dist/types/packages/runtime-4.1/src/core/attachments/PointAttachment.d.ts +19 -0
  179. package/dist/types/packages/runtime-4.1/src/core/attachments/RegionAttachment.d.ts +82 -0
  180. package/dist/types/packages/runtime-4.1/src/core/attachments/Sequence.d.ts +35 -0
  181. package/dist/types/packages/runtime-4.1/src/core/attachments/index.d.ts +9 -0
  182. package/dist/types/packages/runtime-4.1/src/index.d.ts +26 -0
  183. package/dist/types/packages/runtime-4.2/src/Spine.d.ts +11 -0
  184. package/dist/types/packages/runtime-4.2/src/core/Animation.d.ts +544 -0
  185. package/dist/types/packages/runtime-4.2/src/core/AnimationState.d.ts +405 -0
  186. package/dist/types/packages/runtime-4.2/src/core/AnimationStateData.d.ts +25 -0
  187. package/dist/types/packages/runtime-4.2/src/core/AtlasAttachmentLoader.d.ts +20 -0
  188. package/dist/types/packages/runtime-4.2/src/core/Bone.d.ts +117 -0
  189. package/dist/types/packages/runtime-4.2/src/core/BoneData.d.ts +42 -0
  190. package/dist/types/packages/runtime-4.2/src/core/ConstraintData.d.ts +9 -0
  191. package/dist/types/packages/runtime-4.2/src/core/Event.d.ts +18 -0
  192. package/dist/types/packages/runtime-4.2/src/core/EventData.d.ts +15 -0
  193. package/dist/types/packages/runtime-4.2/src/core/IkConstraint.d.ts +40 -0
  194. package/dist/types/packages/runtime-4.2/src/core/IkConstraintData.d.ts +30 -0
  195. package/dist/types/packages/runtime-4.2/src/core/PathConstraint.d.ts +47 -0
  196. package/dist/types/packages/runtime-4.2/src/core/PathConstraintData.d.ts +62 -0
  197. package/dist/types/packages/runtime-4.2/src/core/PhysicsConstraint.d.ts +54 -0
  198. package/dist/types/packages/runtime-4.2/src/core/PhysicsConstraintData.d.ts +35 -0
  199. package/dist/types/packages/runtime-4.2/src/core/Skeleton.d.ts +160 -0
  200. package/dist/types/packages/runtime-4.2/src/core/SkeletonBinary.d.ts +43 -0
  201. package/dist/types/packages/runtime-4.2/src/core/SkeletonBounds.d.ts +51 -0
  202. package/dist/types/packages/runtime-4.2/src/core/SkeletonClipping.d.ts +38 -0
  203. package/dist/types/packages/runtime-4.2/src/core/SkeletonData.d.ts +101 -0
  204. package/dist/types/packages/runtime-4.2/src/core/SkeletonJson.d.ts +23 -0
  205. package/dist/types/packages/runtime-4.2/src/core/Skin.d.ts +49 -0
  206. package/dist/types/packages/runtime-4.2/src/core/Slot.d.ts +44 -0
  207. package/dist/types/packages/runtime-4.2/src/core/SlotData.d.ts +28 -0
  208. package/dist/types/packages/runtime-4.2/src/core/TransformConstraint.d.ts +33 -0
  209. package/dist/types/packages/runtime-4.2/src/core/TransformConstraintData.d.ts +34 -0
  210. package/dist/types/packages/runtime-4.2/src/core/Triangulator.d.ts +18 -0
  211. package/dist/types/packages/runtime-4.2/src/core/Updatable.d.ts +16 -0
  212. package/dist/types/packages/runtime-4.2/src/core/attachments/Attachment.d.ts +49 -0
  213. package/dist/types/packages/runtime-4.2/src/core/attachments/AttachmentLoader.d.ts +27 -0
  214. package/dist/types/packages/runtime-4.2/src/core/attachments/BoundingBoxAttachment.d.ts +12 -0
  215. package/dist/types/packages/runtime-4.2/src/core/attachments/ClippingAttachment.d.ts +16 -0
  216. package/dist/types/packages/runtime-4.2/src/core/attachments/MeshAttachment.d.ts +46 -0
  217. package/dist/types/packages/runtime-4.2/src/core/attachments/PathAttachment.d.ts +19 -0
  218. package/dist/types/packages/runtime-4.2/src/core/attachments/PointAttachment.d.ts +20 -0
  219. package/dist/types/packages/runtime-4.2/src/core/attachments/RegionAttachment.d.ts +80 -0
  220. package/dist/types/packages/runtime-4.2/src/core/attachments/Sequence.d.ts +35 -0
  221. package/dist/types/packages/runtime-4.2/src/core/attachments/index.d.ts +9 -0
  222. package/dist/types/packages/runtime-4.2/src/core/index.d.ts +29 -0
  223. package/dist/types/packages/runtime-4.2/src/core/polyfills.d.ts +1 -0
  224. package/dist/types/packages/runtime-4.2/src/index.d.ts +3 -0
  225. package/dist/types/src/BinaryInput.d.ts +84 -0
  226. package/dist/types/src/SkelToJson.d.ts +15 -0
  227. package/dist/types/src/SkelToJson21.d.ts +10 -0
  228. package/dist/types/src/SkelToJson34And35.d.ts +10 -0
  229. package/dist/types/src/SkelToJson36And37.d.ts +10 -0
  230. package/dist/types/src/SkelToJsonCommon.d.ts +24 -0
  231. package/dist/types/src/TextureHelper.d.ts +29 -0
  232. package/dist/types/src/VersionDetector.d.ts +28 -0
  233. package/dist/types/src/index.d.ts +80 -0
  234. package/dist/types/src/types.d.ts +161 -0
  235. package/package.json +29 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 bainiao404
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,200 @@
1
+ # simple-pixi-spine
2
+
3
+ <p align="center">
4
+ <img src="https://img.shields.io/badge/Release-v1.0.0-blue.svg?style=flat-square" alt="Release">
5
+ <img src="https://img.shields.io/badge/License-MIT-green.svg?style=flat-square" alt="License">
6
+ <img src="https://img.shields.io/badge/PixiJS-v8.x-orange.svg?style=flat-square" alt="PixiJS">
7
+ <img src="https://img.shields.io/badge/TypeScript-Strict-blue.svg?style=flat-square" alt="TypeScript">
8
+ </p>
9
+
10
+ > 当前分支为 **PixiJS v8** 环境分支。若使用的是 **PixiJS v7**,请跳转使用 **[main](https://github.com/bainiao404/simple-pixi-spine/tree/main)** 分支。
11
+
12
+ **simple-pixi-spine** 是面向 PixiJS v8 的多版本 Spine 动画兼容适配与加载封装库。
13
+
14
+ 该项目旨在解决多版本 Spine 骨骼资源在前端加载时的版本冲突与 API 兼容问题。支持对 **Spine v2.1 至 v4.2** 导出的骨骼数据(包括 `.skel` 二进制及 `.json` 文本格式)进行**自动版本识别**与**向下兼容性转换**,为上层应用提供统一的调用接口。
15
+
16
+ ---
17
+
18
+ ## 主要功能
19
+
20
+ - **版本自动识别 (Autodetect)**:解析骨骼数据的二进制魔数或 JSON 字段头部,自动识别源文件的 Spine 软件导出版本。
21
+ - **向下兼容性数据适配**:内置 legacy-to-v3.8 数据规范化逻辑(包括 `skins` 对象转换为数组结构、斜切剪切角与动画曲线拟合转换、遗留 `skinnedmesh` 到新版 `mesh` 类型的适配转换),无需重新导出历史骨骼资源。
22
+ - **支持非网络流式数据源 (Memory Load)**:支持直接加载内存中的 `ArrayBuffer`、`string` 或已解析的 `object`,满足本地拖拽预览、自定义资源加载管理及解密二进制流数据加载等使用场景。
23
+ - **无全局 window 依赖**:解耦代码中对全局 `window.PIXI` 的直接依赖,提供 `registerPIXI(pixi)` 注册接口,支持在 Node.js 测试环境、服务端渲染 (SSR) 等无全局 `window` 对象的环境运行。
24
+ - **TypeScript 类型支持**:使用 TypeScript 重构全部核心逻辑,提供完整的类型定义,保证强类型推导和代码补全。
25
+ - **多端产物编译**:基于 Esbuild 构建工具输出 ESM 规范文件 (`.mjs`) 与浏览器直接引用的 IIFE 文件 (`.js`)。针对浏览器全局环境,通过打包期 Proxy 映射插件解决了多组件环境下 `@pixi/*` 原生引用与全局 `PIXI` 实例的命名空间隔离与同步问题。
26
+
27
+ ---
28
+
29
+ ## 构建与集成
30
+
31
+ ### 1. 编译打包
32
+
33
+ 克隆本项目,安装依赖并执行构建脚本:
34
+
35
+ ```bash
36
+ # 安装依赖
37
+ npm install
38
+
39
+ # 编译项目(输出至 dist 目录)
40
+ npm run build
41
+ ```
42
+
43
+ 编译产物包括:
44
+
45
+ - `dist/simple-pixi-spine.js`:适合在浏览器中使用 `<script>` 标签直接引入的 IIFE 格式文件(全局暴露 `SimplePixiSpine` 命名空间)。
46
+ - `dist/simple-pixi-spine.mjs`:适合 Vite / Webpack / ESM 模块化打包工具链的现代 ESM 包。
47
+
48
+ ---
49
+
50
+ ## 使用示例
51
+
52
+ ### 1. 默认网络资源加载
53
+
54
+ 通过指定骨骼资源的路径,加载器将并发自动拉取同名 `.atlas` 和 `.png` 纹理集。
55
+
56
+ ```javascript
57
+ import SimplePixiSpine, { registerPIXI } from "simple-pixi-spine";
58
+
59
+ // 1. 显式注册 PIXI 实例 (若在全局 window 环境下则已自动挂载)
60
+ registerPIXI(PIXI);
61
+
62
+ async function initSpine() {
63
+ try {
64
+ // 2. 外部路径加载 (支持自动侦测版本并映射为 3.8 标准渲染实例)
65
+ const spineData = await SimplePixiSpine.load("assets/spineboy-pro.skel");
66
+
67
+ // 3. 构建 PIXI.spine 渲染对象与调试辅助实例
68
+ const { spine: spineCharacter, debug: spineDebug } = SimplePixiSpine.spine(spineData);
69
+
70
+ // 4. 调整位置并添加至舞台
71
+ spineCharacter.x = 400;
72
+ spineCharacter.y = 600;
73
+ spineCharacter.scale.set(0.5);
74
+ app.stage.addChild(spineCharacter);
75
+
76
+ // 5. 播放指定动画
77
+ spineCharacter.state.setAnimation(0, "walk", true);
78
+ } catch (error) {
79
+ console.error("Spine 加载失败:", error);
80
+ }
81
+ }
82
+ ```
83
+
84
+ ### 2. 异构网络路径配置加载
85
+
86
+ 如果资源的 `.skel`/`.json`、`.atlas` 以及图片存放在不同的 CDN 目录或使用不同的后缀,可以通过配置对象进行显式覆盖:
87
+
88
+ ```javascript
89
+ const spineData = await SimplePixiSpine.load({
90
+ path: [
91
+ "https://cdn.example.com/skeletons/hero_anim.skel", // 骨骼二进制数据路径
92
+ "https://cdn.example.com/atlases/hero.atlas", // 图集配置路径
93
+ "https://cdn.example.com/textures/", // 图片纹理基础 CDN 目录
94
+ ],
95
+ });
96
+ ```
97
+
98
+ 或者使用 `options` 选项进行单项覆盖:
99
+
100
+ ```javascript
101
+ const spineData = await SimplePixiSpine.load("assets/hero.json", {
102
+ atlasPath: "custom/hero.atlas",
103
+ texturePath: "custom/images/",
104
+ });
105
+ ```
106
+
107
+ ### 3. 纯内存数据加载
108
+
109
+ 对于已在运行期下载或解密到内存中的资源,可直接传入 `MemorySpineSource` 结构实现零网络 IO 渲染。
110
+
111
+ ```javascript
112
+ const mySkelBuffer = new Uint8Array([...]).buffer; // 骨骼二进制数据
113
+ const myAtlasText = "hero.png\nsize: 1024,256..."; // 图集配置文本
114
+
115
+ const spineData = await SimplePixiSpine.load({
116
+ skeletonData: mySkelBuffer,
117
+ atlasData: myAtlasText,
118
+ // 此时图集内定义的贴图 hero.png 会自动向 assets/ 目录下请求拉取
119
+ texturePath: 'assets/'
120
+ });
121
+ ```
122
+
123
+ ### 4. 本地文件拖拽离线加载 (Blob URL 模式)
124
+
125
+ 在 Web 资源预览编辑器等离线应用中,可以通过拖拽读取本地 `File` 转化为 Blob URL,完全不需要服务器网络请求。
126
+
127
+ ```javascript
128
+ // 假设通过 <input type="file" multiple> 获取到了本地文件对象
129
+ const skelFile = files.find((f) => f.name.endsWith(".skel"));
130
+ const atlasFile = files.find((f) => f.name.endsWith(".atlas"));
131
+ const pngFile = files.find((f) => f.name.endsWith(".png"));
132
+
133
+ // 读取骨骼和图集数据
134
+ const skelBuffer = await skelFile.arrayBuffer();
135
+ const atlasText = await atlasFile.text();
136
+
137
+ // 创建图片的本地临时 Blob 链接
138
+ const pngBlobUrl = URL.createObjectURL(pngFile);
139
+
140
+ const spineData = await SimplePixiSpine.load({
141
+ skeletonData: skelBuffer,
142
+ atlasData: atlasText,
143
+ // 显式传入本地图集图片的映射信息
144
+ textureData: [
145
+ {
146
+ name: pngFile.name, // 对应图集文本第二行定义的图片名称 (如 'hero.png')
147
+ src: pngBlobUrl, // 本地 Blob URL
148
+ },
149
+ ],
150
+ });
151
+ ```
152
+
153
+ ### 5. 显式指定版本解析 (覆写自检测)
154
+
155
+ 在少数老旧骨骼资源版本信息损坏或无法被加载器自动检测出来时,可以通过 `options.version` 显式指定解析的版本(如强制作为 `38` 或 `41` 版本解析):
156
+
157
+ ```javascript
158
+ const spineData = await SimplePixiSpine.load("assets/legacy_data.skel", {
159
+ version: "38", // 覆写自动检测,强制按 Spine v3.8 规范解析
160
+ });
161
+ ```
162
+
163
+ ### 6. 骨骼调试线绘制
164
+
165
+ ```javascript
166
+ const { spine, debug } = SimplePixiSpine.spine(spineData);
167
+
168
+ // 开启骨骼调试线和包围盒渲染
169
+ spine.debug = debug;
170
+
171
+ // 关闭调试线
172
+ spine.debug = null;
173
+ ```
174
+
175
+ ---
176
+
177
+ ## 项目结构
178
+
179
+ ```text
180
+ ├── bundles/ # pixi-spine 官方包底层封装汇总层
181
+ ├── dist/ # 编译生成的前端分发包 (ESM & IIFE)
182
+ ├── example/ # 演示工程 (Spineboy v3.8 skel 交互演示)
183
+ ├── packages/ # vendored 官方各版本核心解析运行时 (v3.7 ~ v4.2)
184
+ ├── src/ # 核心重构 TypeScript 源码
185
+ │ ├── BinaryInput.ts # 二进制数据流读取器
186
+ │ ├── SkelToJson.ts # 旧版本适配器与数据格式规范化模块
187
+ │ ├── SkelToJsonCommon.ts # 通用解析方法
188
+ │ ├── TextureHelper.ts # 纹理贴图辅助处理逻辑
189
+ │ ├── VersionDetector.ts # 骨骼二进制/JSON版本侦测模块
190
+ │ ├── index.ts # 统一外部加载与适配主入口
191
+ │ └── types.ts # TypeScript 类型声明与接口
192
+ ├── build.mjs # 基于 Esbuild 的多模块打包构建脚本
193
+ └── tsconfig.json # TypeScript 编译器配置文件
194
+ ```
195
+
196
+ ---
197
+
198
+ ## 开源许可
199
+
200
+ 本项目遵循 [MIT License](LICENSE) 开源许可协议。内部集成的不同版本 Spine Runtime 源码版权分属 Esoteric Software 所有,仅限在拥有合法 Spine 授权的项目中使用。