@galacean/engine-spine 0.0.0-experimental-6d3110b4d9-20240531

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 (121) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +79 -0
  3. package/dist/browser.js +1 -0
  4. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Animation.js +2 -0
  5. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Animation.js.map +1 -0
  6. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/AnimationState.js +2 -0
  7. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/AnimationState.js.map +1 -0
  8. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/AnimationStateData.js +2 -0
  9. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/AnimationStateData.js.map +1 -0
  10. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/AssetManagerBase.js +2 -0
  11. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/AssetManagerBase.js.map +1 -0
  12. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/AtlasAttachmentLoader.js +2 -0
  13. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/AtlasAttachmentLoader.js.map +1 -0
  14. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Bone.js +2 -0
  15. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Bone.js.map +1 -0
  16. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/BoneData.js +2 -0
  17. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/BoneData.js.map +1 -0
  18. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/ConstraintData.js +2 -0
  19. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/ConstraintData.js.map +1 -0
  20. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Event.js +2 -0
  21. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Event.js.map +1 -0
  22. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/EventData.js +2 -0
  23. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/EventData.js.map +1 -0
  24. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/IkConstraint.js +2 -0
  25. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/IkConstraint.js.map +1 -0
  26. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/IkConstraintData.js +2 -0
  27. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/IkConstraintData.js.map +1 -0
  28. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/PathConstraint.js +2 -0
  29. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/PathConstraint.js.map +1 -0
  30. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/PathConstraintData.js +2 -0
  31. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/PathConstraintData.js.map +1 -0
  32. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/PhysicsConstraint.js +2 -0
  33. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/PhysicsConstraint.js.map +1 -0
  34. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/PhysicsConstraintData.js +2 -0
  35. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/PhysicsConstraintData.js.map +1 -0
  36. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Skeleton.js +2 -0
  37. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Skeleton.js.map +1 -0
  38. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SkeletonBinary.js +2 -0
  39. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SkeletonBinary.js.map +1 -0
  40. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SkeletonBounds.js +2 -0
  41. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SkeletonBounds.js.map +1 -0
  42. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SkeletonClipping.js +2 -0
  43. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SkeletonClipping.js.map +1 -0
  44. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SkeletonData.js +2 -0
  45. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SkeletonData.js.map +1 -0
  46. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SkeletonJson.js +2 -0
  47. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SkeletonJson.js.map +1 -0
  48. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Skin.js +2 -0
  49. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Skin.js.map +1 -0
  50. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Slot.js +2 -0
  51. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Slot.js.map +1 -0
  52. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SlotData.js +2 -0
  53. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SlotData.js.map +1 -0
  54. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Texture.js +2 -0
  55. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Texture.js.map +1 -0
  56. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/TextureAtlas.js +2 -0
  57. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/TextureAtlas.js.map +1 -0
  58. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/TransformConstraint.js +2 -0
  59. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/TransformConstraint.js.map +1 -0
  60. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/TransformConstraintData.js +2 -0
  61. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/TransformConstraintData.js.map +1 -0
  62. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Triangulator.js +2 -0
  63. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Triangulator.js.map +1 -0
  64. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Utils.js +2 -0
  65. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Utils.js.map +1 -0
  66. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/Attachment.js +2 -0
  67. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/Attachment.js.map +1 -0
  68. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/BoundingBoxAttachment.js +2 -0
  69. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/BoundingBoxAttachment.js.map +1 -0
  70. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/ClippingAttachment.js +2 -0
  71. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/ClippingAttachment.js.map +1 -0
  72. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/MeshAttachment.js +2 -0
  73. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/MeshAttachment.js.map +1 -0
  74. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/PathAttachment.js +2 -0
  75. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/PathAttachment.js.map +1 -0
  76. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/PointAttachment.js +2 -0
  77. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/PointAttachment.js.map +1 -0
  78. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/RegionAttachment.js +2 -0
  79. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/RegionAttachment.js.map +1 -0
  80. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/Sequence.js +2 -0
  81. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/Sequence.js.map +1 -0
  82. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/polyfills.js +2 -0
  83. package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/polyfills.js.map +1 -0
  84. package/dist/esm/node_modules/tslib/tslib.es6.js +2 -0
  85. package/dist/esm/node_modules/tslib/tslib.es6.js.map +1 -0
  86. package/dist/esm/src/SpineAnimation.js +2 -0
  87. package/dist/esm/src/SpineAnimation.js.map +1 -0
  88. package/dist/esm/src/SpineMaterial.js +2 -0
  89. package/dist/esm/src/SpineMaterial.js.map +1 -0
  90. package/dist/esm/src/core/SpineGenerator.js +2 -0
  91. package/dist/esm/src/core/SpineGenerator.js.map +1 -0
  92. package/dist/esm/src/core/SpinePrimitive.js +2 -0
  93. package/dist/esm/src/core/SpinePrimitive.js.map +1 -0
  94. package/dist/esm/src/index.js +2 -0
  95. package/dist/esm/src/index.js.map +1 -0
  96. package/dist/esm/src/loader/EditorSkeletonDataLoader.js +2 -0
  97. package/dist/esm/src/loader/EditorSkeletonDataLoader.js.map +1 -0
  98. package/dist/esm/src/loader/EditorSpineAtlasLoader.js +2 -0
  99. package/dist/esm/src/loader/EditorSpineAtlasLoader.js.map +1 -0
  100. package/dist/esm/src/loader/LoaderUtils.js +2 -0
  101. package/dist/esm/src/loader/LoaderUtils.js.map +1 -0
  102. package/dist/esm/src/loader/SpineLoader.js +2 -0
  103. package/dist/esm/src/loader/SpineLoader.js.map +1 -0
  104. package/dist/main.js +2 -0
  105. package/dist/main.js.map +1 -0
  106. package/dist/module.js +2 -0
  107. package/dist/module.js.map +1 -0
  108. package/package.json +67 -0
  109. package/types/SpineAnimation.d.ts +64 -0
  110. package/types/SpineMaterial.d.ts +6 -0
  111. package/types/core/MeshGenerator.d.ts +43 -0
  112. package/types/core/SpineGenerator.d.ts +43 -0
  113. package/types/core/SpineMesh.d.ts +11 -0
  114. package/types/core/SpinePrimitive.d.ts +23 -0
  115. package/types/index.d.ts +7 -0
  116. package/types/loader/BufferReader.d.ts +9 -0
  117. package/types/loader/EditorSkeletonDataLoader.d.ts +6 -0
  118. package/types/loader/EditorSpineAtlasLoader.d.ts +6 -0
  119. package/types/loader/LoaderUtils.d.ts +16 -0
  120. package/types/loader/SpineLoader.d.ts +21 -0
  121. package/types/types.d.ts +4 -0
package/package.json ADDED
@@ -0,0 +1,67 @@
1
+ {
2
+ "version": "0.0.0-experimental-6d3110b4d9-20240531",
3
+ "description": "galacean spine runtime",
4
+ "name": "@galacean/engine-spine",
5
+ "main": "dist/main.js",
6
+ "browser": "dist/browser.js",
7
+ "module": "dist/module.js",
8
+ "dependencies": {
9
+ "@esotericsoftware/spine-core": "~4.2.1"
10
+ },
11
+ "peerDependencies": {
12
+ "@galacean/engine": ">=1.3.0-alpha.0"
13
+ },
14
+ "devDependencies": {
15
+ "@babel/core": "^7.22.5",
16
+ "@babel/plugin-proposal-class-properties": "^7.12.1",
17
+ "@babel/plugin-proposal-decorators": "^7.12.1",
18
+ "@babel/plugin-proposal-optional-chaining": "^7.12.1",
19
+ "@babel/plugin-transform-object-assign": "^7.12.1",
20
+ "@babel/preset-env": "^7.12.1",
21
+ "@babel/preset-typescript": "^7.12.1",
22
+ "@galacean/engine": "1.3.0-alpha.0",
23
+ "@galacean/engine-toolkit": "beta",
24
+ "@rollup/plugin-babel": "^5.2.1",
25
+ "@rollup/plugin-commonjs": "^16.0.0",
26
+ "@rollup/plugin-inject": "^4.0.2",
27
+ "@rollup/plugin-node-resolve": "^10.0.0",
28
+ "@rollup/plugin-replace": "^2.3.4",
29
+ "@rollup/plugin-terser": "^0.4.3",
30
+ "@swc/core": "^1.3.32",
31
+ "@swc/helpers": "^0.5",
32
+ "cross-env": "^5.2.0",
33
+ "dat.gui": "^0.7.9",
34
+ "react": "^16.14.0",
35
+ "react-dom": "^16.14.0",
36
+ "rollup": "^2.32.0",
37
+ "rollup-plugin-glslify": "^1.2.0",
38
+ "rollup-plugin-modify": "^3.0.0",
39
+ "rollup-plugin-serve": "^1.1.0",
40
+ "rollup-plugin-swc3": "^0.8.0",
41
+ "rollup-plugin-terser": "^7.0.2",
42
+ "rollup-plugin-version-injector": "^1.3.3",
43
+ "typescript": "^4.8.4",
44
+ "vite": "^4.3.9"
45
+ },
46
+ "ci": {
47
+ "type": "aci",
48
+ "versions": "12"
49
+ },
50
+ "files": [
51
+ "types",
52
+ "dist"
53
+ ],
54
+ "scripts": {
55
+ "example": "vite",
56
+ "test": "jest",
57
+ "test-cov": "jest --coverage",
58
+ "dev": "rollup -cw",
59
+ "build": "npm run b:types && cross-env BUILD_TYPE=ALL rollup -c",
60
+ "build:watch": "npm run b:types && cross-env BUILD_TYPE=ALL rollup -c --watch",
61
+ "ci": "npm run lint && npm run test-cov",
62
+ "lint": "eslint src --fix --ext .ts,.tsx",
63
+ "b:types": "tsc --emitDeclarationOnly"
64
+ },
65
+ "types": "types/index.d.ts",
66
+ "repository": "https://github.com/johanzhu/engine-spine.git"
67
+ }
@@ -0,0 +1,64 @@
1
+ import { Skeleton, SkeletonData, AnimationState } from "@esotericsoftware/spine-core";
2
+ import { SpineGenerator } from "./core/SpineGenerator";
3
+ import { SpineRenderSetting } from "./types";
4
+ import { Renderer, Entity, Material, Engine, BoundingBox, Primitive } from "@galacean/engine";
5
+ import { SubPrimitive } from "./core/SpinePrimitive";
6
+ interface InitialState {
7
+ animationName: string;
8
+ skinName: string;
9
+ loop: boolean;
10
+ scale: number;
11
+ }
12
+ export declare class SpineAnimation extends Renderer {
13
+ private static _defaultMaterial;
14
+ private static _uvMacro;
15
+ private static _enableVertexColorMacro;
16
+ private static _tempOffset;
17
+ private static _tempSize;
18
+ private static _tempArray;
19
+ static getDefaultMaterial(engine: Engine): Material;
20
+ setting: SpineRenderSetting;
21
+ initialState: InitialState;
22
+ _primitive: Primitive;
23
+ _subPrimitives: SubPrimitive[];
24
+ protected _skeleton: Skeleton;
25
+ protected _state: AnimationState;
26
+ protected _spineGenerator: SpineGenerator;
27
+ set skeletonData(value: SkeletonData);
28
+ get state(): AnimationState;
29
+ get skeleton(): Skeleton;
30
+ constructor(entity: Entity);
31
+ /**
32
+ * @internal
33
+ */
34
+ _onAwake(): void;
35
+ /**
36
+ * Separate slot by slot name. This will add a new sub primitive, and new materials.
37
+ */
38
+ addSeparateSlot(slotName: string): void;
39
+ /**
40
+ * @internal
41
+ */
42
+ update(delta: number): void;
43
+ /**
44
+ * @internal
45
+ */
46
+ _updateRendererShaderData(context: any): void;
47
+ /**
48
+ * @internal
49
+ */
50
+ protected _render(context: any): void;
51
+ /**
52
+ * @internal
53
+ */
54
+ protected _updateBounds(worldBounds: BoundingBox): void;
55
+ /**
56
+ * @internal
57
+ */
58
+ _cloneTo(target: SpineAnimation, srcRoot: Entity, targetRoot: Entity): void;
59
+ /**
60
+ * @internal
61
+ */
62
+ protected _onDestroy(): void;
63
+ }
64
+ export {};
@@ -0,0 +1,6 @@
1
+ import { Engine, Material } from "@galacean/engine";
2
+ export declare class SpineMaterial extends Material {
3
+ private static _spineVS;
4
+ private static _spineFS;
5
+ constructor(engine: Engine);
6
+ }
@@ -0,0 +1,43 @@
1
+ import { Engine, SubMesh, Texture2D } from "@galacean/engine";
2
+ import { Skeleton, SkeletonData, Color, BlendMode } from "@esotericsoftware/spine-core";
3
+ import { SpineRenderSetting } from "../types";
4
+ import { AdaptiveTexture } from "../loader/LoaderUtils";
5
+ import { SpineAnimation } from "../SpineAnimation";
6
+ type SubMeshItem = {
7
+ subMesh: SubMesh;
8
+ blendMode: BlendMode;
9
+ texture: any;
10
+ slotName?: string;
11
+ };
12
+ export declare class MeshGenerator {
13
+ static QUAD_TRIANGLES: number[];
14
+ static VERTEX_SIZE: number;
15
+ static VERTEX_STRIDE: number;
16
+ static tempColor: Color;
17
+ static tempDark: Color;
18
+ static tempBlendMode: BlendMode | null;
19
+ static tempTexture: AdaptiveTexture | null;
20
+ private _setting;
21
+ private _engine;
22
+ private _clipper;
23
+ private _spineMesh;
24
+ private _renderer;
25
+ private _vertexCount;
26
+ private _vertices;
27
+ private _verticesWithZ;
28
+ private _indices;
29
+ private _needResize;
30
+ private _subMeshItems;
31
+ readonly separateSlots: string[];
32
+ readonly separateSlotTextureMap: Map<string, Texture2D>;
33
+ get mesh(): import("@galacean/engine").BufferMesh;
34
+ get subMeshItems(): SubMeshItem[];
35
+ constructor(engine: Engine, renderer: SpineAnimation);
36
+ initialize(skeletonData: SkeletonData, setting?: SpineRenderSetting): void;
37
+ buildMesh(skeleton: Skeleton): void;
38
+ addSeparateSlot(slotName: string): void;
39
+ addSeparateSlotTexture(slotName: string, texture: Texture2D): void;
40
+ private _prepareBufferData;
41
+ private setBlendMode;
42
+ }
43
+ export {};
@@ -0,0 +1,43 @@
1
+ import { Engine, Texture2D } from "@galacean/engine";
2
+ import { Skeleton, SkeletonData, Color, BlendMode } from "@esotericsoftware/spine-core";
3
+ import { SubPrimitive } from "./SpinePrimitive";
4
+ import { SpineRenderSetting } from "../types";
5
+ import { AdaptiveTexture } from "../loader/LoaderUtils";
6
+ import { SpineAnimation } from "../SpineAnimation";
7
+ type subRenderItems = {
8
+ subPrimitive: SubPrimitive;
9
+ blendMode: BlendMode;
10
+ texture: any;
11
+ slotName?: string;
12
+ };
13
+ export declare class SpineGenerator {
14
+ static QUAD_TRIANGLES: number[];
15
+ static VERTEX_SIZE: number;
16
+ static VERTEX_STRIDE: number;
17
+ static tempColor: Color;
18
+ static tempDark: Color;
19
+ static tempBlendMode: BlendMode | null;
20
+ static tempTexture: AdaptiveTexture | null;
21
+ private _setting;
22
+ private _engine;
23
+ private _clipper;
24
+ private _spinePrimitive;
25
+ private _renderer;
26
+ private _vertexCount;
27
+ private _vertices;
28
+ private _verticesWithZ;
29
+ private _indices;
30
+ private _needResize;
31
+ private _subRenderItems;
32
+ readonly separateSlots: string[];
33
+ readonly separateSlotTextureMap: Map<string, Texture2D>;
34
+ get subRenderItems(): subRenderItems[];
35
+ constructor(engine: Engine, renderer: SpineAnimation);
36
+ initialize(skeletonData: SkeletonData, setting?: SpineRenderSetting): void;
37
+ buildPrimitive(skeleton: Skeleton): void;
38
+ addSeparateSlot(slotName: string): void;
39
+ addSeparateSlotTexture(slotName: string, texture: Texture2D): void;
40
+ private _prepareBufferData;
41
+ private setBlendMode;
42
+ }
43
+ export {};
@@ -0,0 +1,11 @@
1
+ import { BufferMesh, Engine, Buffer } from '@galacean/engine';
2
+ export declare class SpineMesh {
3
+ private _mesh;
4
+ private _indexBuffer;
5
+ private _vertexBuffer;
6
+ get mesh(): BufferMesh;
7
+ get indexBuffer(): Buffer;
8
+ get vertexBuffer(): Buffer;
9
+ initialize(engine: Engine, vertexCount: number): void;
10
+ changeBuffer(engine: Engine, vertexCount: number): void;
11
+ }
@@ -0,0 +1,23 @@
1
+ import { Engine, Buffer, MeshTopology } from '@galacean/engine';
2
+ export declare class SubPrimitive {
3
+ /** Start drawing offset. */
4
+ start: number;
5
+ /** Drawing count. */
6
+ count: number;
7
+ /** Drawing topology. */
8
+ topology?: MeshTopology;
9
+ }
10
+ export declare class SpinePrimitive {
11
+ private _primitive;
12
+ private _subPrimitive;
13
+ private _indexBuffer;
14
+ private _vertexBuffer;
15
+ get primitive(): Primitive;
16
+ get subPrimitive(): SubPrimitive[];
17
+ get indexBuffer(): Buffer;
18
+ get vertexBuffer(): Buffer;
19
+ initialize(engine: Engine, vertexCount: number): void;
20
+ addSubPrimitive(subPrimitive: SubPrimitive): void;
21
+ clearSubPrimitive(): void;
22
+ changeBuffer(engine: Engine, vertexCount: number): void;
23
+ }
@@ -0,0 +1,7 @@
1
+ import "./loader/SpineLoader";
2
+ import "./loader/EditorSkeletonDataLoader";
3
+ import "./loader/EditorSpineAtlasLoader";
4
+ export { SpineAnimation } from "./SpineAnimation";
5
+ export * from "@esotericsoftware/spine-core";
6
+ export { generateTextureAtlas } from "./loader/LoaderUtils";
7
+ export declare const version = "__buildVersion";
@@ -0,0 +1,9 @@
1
+ export declare class BufferReader {
2
+ data: Uint8Array;
3
+ private _dataView;
4
+ private _position;
5
+ constructor(data: Uint8Array, byteOffset?: number, byteLength?: number);
6
+ nextUint16(): number;
7
+ nextStr(): string;
8
+ nextImageData(): Uint8Array;
9
+ }
@@ -0,0 +1,6 @@
1
+ import { AssetPromise, Loader, LoadItem, ResourceManager } from "@galacean/engine";
2
+ import { SkeletonData } from "@esotericsoftware/spine-core";
3
+ declare class EditorSkeletonDataLoader extends Loader<SkeletonData> {
4
+ load(item: LoadItem, resourceManager: ResourceManager): AssetPromise<SkeletonData>;
5
+ }
6
+ export { EditorSkeletonDataLoader };
@@ -0,0 +1,6 @@
1
+ import { AssetPromise, Loader, ResourceManager, LoadItem } from "@galacean/engine";
2
+ import { TextureAtlas } from "@esotericsoftware/spine-core";
3
+ declare class EditorSpineAtlasLoader extends Loader<TextureAtlas> {
4
+ load(item: LoadItem, resourceManager: ResourceManager): AssetPromise<TextureAtlas>;
5
+ }
6
+ export { EditorSpineAtlasLoader };
@@ -0,0 +1,16 @@
1
+ import { Engine, Texture2D } from "@galacean/engine";
2
+ import { TextureAtlas, SkeletonData, Texture, TextureFilter, TextureWrap } from "@esotericsoftware/spine-core";
3
+ import { SpineAssetBundle } from "./SpineLoader";
4
+ export declare function loadAndCreateSpineSkeletonData(bundle: SpineAssetBundle, engine: Engine): Promise<SkeletonData>;
5
+ export declare function generateTextureAtlas(atlasText: string, textureMap: Record<string, Texture2D>): TextureAtlas;
6
+ export declare function getBaseUrl(url: string): string;
7
+ export declare class AdaptiveTexture extends Texture {
8
+ texture: Texture2D;
9
+ constructor(image: HTMLImageElement | ImageBitmap, texture: Texture2D);
10
+ getImage(): any;
11
+ setFilters(minFilter: TextureFilter, magFilter: TextureFilter): void;
12
+ setWraps(uWrap: TextureWrap, vWrap: TextureWrap): void;
13
+ dispose(): void;
14
+ private _convertWrapMode;
15
+ }
16
+ export declare function getUrlExtension(url: string, fileExtension: string): string | null;
@@ -0,0 +1,21 @@
1
+ import { AssetPromise, Loader, LoadItem, ResourceManager } from "@galacean/engine";
2
+ import { SkeletonData } from "@esotericsoftware/spine-core";
3
+ export type SpineAssetBundle = {
4
+ skeletonPath: string;
5
+ skeletonExtension: string;
6
+ atlasPath: string;
7
+ imagePaths: string[];
8
+ imageExtensions: string[];
9
+ };
10
+ type SpineLoaderParams = {
11
+ fileExtensions?: string | string[];
12
+ };
13
+ type SpineLoadItem = LoadItem & {
14
+ params?: SpineLoaderParams;
15
+ };
16
+ declare class SpineLoader extends Loader<SkeletonData> {
17
+ static imageExtensions: string[];
18
+ static skeletonExtensions: string[];
19
+ load(item: SpineLoadItem, resourceManager: ResourceManager): AssetPromise<SkeletonData>;
20
+ }
21
+ export { SpineLoader };
@@ -0,0 +1,4 @@
1
+ export type SpineRenderSetting = {
2
+ useClipping: boolean;
3
+ zSpacing: number;
4
+ };