@galacean/engine-spine 1.1.0-test.1 → 2.0.0-alpha.52
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.
- package/LICENSE +2 -2
- package/README.md +158 -44
- package/dist/browser.js +2139 -1
- package/dist/browser.js.map +1 -0
- package/dist/browser.min.js +2 -0
- package/dist/browser.min.js.map +1 -0
- package/dist/main.js +2134 -1
- package/dist/main.js.map +1 -1
- package/dist/module.js +2117 -1
- package/dist/module.js.map +1 -1
- package/package.json +30 -55
- package/types/SpineAnimation.d.ts +4 -44
- package/types/SpineAnimationState.d.ts +32 -0
- package/types/SpineAnimationStateData.d.ts +10 -0
- package/types/SpineAnimationStateListener.d.ts +20 -0
- package/types/SpineBone.d.ts +28 -0
- package/types/SpineConstant.d.ts +12 -0
- package/types/SpinePhysics.d.ts +17 -0
- package/types/SpinePhysicsConstraint.d.ts +22 -0
- package/types/SpineSkeleton.d.ts +31 -0
- package/types/SpineSkeletonData.d.ts +18 -0
- package/types/SpineSkin.d.ts +7 -0
- package/types/SpineSlot.d.ts +13 -0
- package/types/SpineTrackEntry.d.ts +44 -0
- package/types/enums/SpineBlendMode.d.ts +14 -0
- package/types/index.d.ts +15 -9
- package/types/loader/LoaderUtils.d.ts +1 -0
- package/types/loader/SpineLoader.d.ts +21 -0
- package/types/loader/SpineResource.d.ts +37 -0
- package/types/loader/SpineVersion.d.ts +2 -0
- package/types/loader/index.d.ts +2 -0
- package/types/renderer/SpineAnimationRenderer.d.ts +142 -0
- package/types/renderer/SpineGeometry.d.ts +1 -0
- package/types/renderer/SpineMaterial.d.ts +10 -0
- package/types/renderer/index.d.ts +2 -0
- package/types/runtime/ISpineRuntime.d.ts +4 -0
- package/dist/miniprogram.js +0 -1
- package/types/SpineLoader.d.ts +0 -33
- package/types/SpineMaterial.d.ts +0 -6
- package/types/SpineRenderer.d.ts +0 -38
- package/types/core/MeshGenerator.d.ts +0 -42
- package/types/core/SpineMesh.d.ts +0 -11
- package/types/spine-core/Animation.d.ts +0 -378
- package/types/spine-core/AnimationState.d.ts +0 -365
- package/types/spine-core/AnimationStateData.d.ts +0 -23
- package/types/spine-core/AssetManager.d.ts +0 -36
- package/types/spine-core/AtlasAttachmentLoader.d.ts +0 -23
- package/types/spine-core/BlendMode.d.ts +0 -7
- package/types/spine-core/Bone.d.ts +0 -110
- package/types/spine-core/BoneData.d.ts +0 -44
- package/types/spine-core/ConstraintData.d.ts +0 -7
- package/types/spine-core/Event.d.ts +0 -16
- package/types/spine-core/EventData.d.ts +0 -13
- package/types/spine-core/IkConstraint.d.ts +0 -38
- package/types/spine-core/IkConstraintData.d.ts +0 -26
- package/types/spine-core/PathConstraint.d.ts +0 -46
- package/types/spine-core/PathConstraintData.d.ts +0 -52
- package/types/spine-core/SharedAssetManager.d.ts +0 -19
- package/types/spine-core/Skeleton.d.ts +0 -134
- package/types/spine-core/SkeletonBinary.d.ts +0 -49
- package/types/spine-core/SkeletonBounds.d.ts +0 -48
- package/types/spine-core/SkeletonClipping.d.ts +0 -22
- package/types/spine-core/SkeletonData.d.ts +0 -89
- package/types/spine-core/SkeletonJson.d.ts +0 -34
- package/types/spine-core/Skin.d.ts +0 -43
- package/types/spine-core/Slot.d.ts +0 -42
- package/types/spine-core/SlotData.d.ts +0 -23
- package/types/spine-core/Texture.d.ts +0 -46
- package/types/spine-core/TextureAtlas.d.ts +0 -30
- package/types/spine-core/TransformConstraint.d.ts +0 -36
- package/types/spine-core/TransformConstraintData.d.ts +0 -34
- package/types/spine-core/Triangulator.d.ts +0 -14
- package/types/spine-core/Updatable.d.ts +0 -9
- package/types/spine-core/Utils.d.ts +0 -124
- package/types/spine-core/VertexEffect.d.ts +0 -7
- package/types/spine-core/attachments/Attachment.d.ts +0 -43
- package/types/spine-core/attachments/AttachmentLoader.d.ts +0 -25
- package/types/spine-core/attachments/AttachmentType.d.ts +0 -9
- package/types/spine-core/attachments/BoundingBoxAttachment.d.ts +0 -12
- package/types/spine-core/attachments/ClippingAttachment.d.ts +0 -14
- package/types/spine-core/attachments/MeshAttachment.d.ts +0 -46
- package/types/spine-core/attachments/PathAttachment.d.ts +0 -19
- package/types/spine-core/attachments/PointAttachment.d.ts +0 -20
- package/types/spine-core/attachments/RegionAttachment.d.ts +0 -88
- package/types/spine-core/polyfills.d.ts +0 -3
- package/types/spine-core/vertexeffects/JitterEffect.d.ts +0 -11
- package/types/spine-core/vertexeffects/SwirlEffect.d.ts +0 -16
- package/types/types.d.ts +0 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.js","sources":["../../../node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/esm/_set_prototype_of.js","../../../node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/esm/_inherits.js","../../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs","../../../node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/esm/_async_to_generator.js","../../../node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/esm/_array_like_to_array.js","../../../node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/esm/_unsupported_iterable_to_array.js","../../../node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/esm/_create_for_of_iterator_helper_loose.js","../src/loader/LoaderUtils.ts","../src/loader/SpineVersion.ts","../../../node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/esm/_create_class.js","../src/SpineSkin.ts","../src/SpineSkeletonData.ts","../src/SpineAnimationStateData.ts","../../../node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/esm/_instanceof.js","../src/SpineBone.ts","../src/SpineSlot.ts","../src/SpineSkeleton.ts","../src/SpineTrackEntry.ts","../src/SpineAnimationState.ts","../src/SpinePhysicsConstraint.ts","../src/SpinePhysics.ts","../src/renderer/SpineMaterial.ts","../src/enums/SpineBlendMode.ts","../src/SpineConstant.ts","../src/renderer/SpineGeometry.ts","../src/renderer/SpineAnimationRenderer.ts","../src/loader/SpineResource.ts","../src/loader/SpineLoader.ts","../src/index.ts"],"sourcesContent":["function _set_prototype_of(o, p) {\n _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {\n o.__proto__ = p;\n\n return o;\n };\n\n return _set_prototype_of(o, p);\n}\nexport { _set_prototype_of as _ };\n","import { _ as _set_prototype_of } from \"./_set_prototype_of.js\";\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } });\n\n if (superClass) _set_prototype_of(subClass, superClass);\n}\nexport { _inherits as _ };\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) resolve(value);\n else Promise.resolve(value).then(_next, _throw);\n}\nfunction _async_to_generator(fn) {\n return function() {\n var self = this, args = arguments;\n\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\nexport { _async_to_generator as _ };\n","function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\nexport { _array_like_to_array as _ };\n","import { _ as _array_like_to_array } from \"./_array_like_to_array.js\";\n\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n\n var n = Object.prototype.toString.call(o).slice(8, -1);\n\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\nexport { _unsupported_iterable_to_array as _ };\n","import { _ as _unsupported_iterable_to_array } from \"./_unsupported_iterable_to_array.js\";\n\nfunction _create_for_of_iterator_helper_loose(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (it) return (it = it.call(o)).next.bind(it);\n // Fallback for engines without symbol support\n if (Array.isArray(o) || (it = _unsupported_iterable_to_array(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n\n var i = 0;\n\n return function() {\n if (i >= o.length) return { done: true };\n\n return { done: false, value: o[i++] };\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _create_for_of_iterator_helper_loose as _ };\n","import { AssetType, ResourceManager, Texture2D } from \"@galacean/engine\";\n\n/** @internal */\ntype SpineAtlasData = {\n text: string;\n textures: Texture2D[];\n};\n\n/** @internal */\nexport class LoaderUtils {\n static async loadAtlas(\n atlasPath: string,\n extraPaths: string[],\n resourceManager: ResourceManager\n ): Promise<SpineAtlasData> {\n const text = await resourceManager._request<string>(atlasPath, { type: \"text\" });\n const atlas = LoaderUtils._readAtlas(text);\n const virtualResources = resourceManager._virtualPathResourceMap;\n let imagePaths = extraPaths.filter((url) => /\\.(png|jpg|webp|jpeg|ktx|ktx2)$/.test(url.split(/[?#]/, 1)[0]));\n if (extraPaths.length === 0) {\n const dependencies = virtualResources[atlasPath]?.dependentAssetMap;\n if (dependencies) imagePaths = Object.values(dependencies);\n }\n if (imagePaths.length === 0) {\n const baseUrl = LoaderUtils.getBaseUrl(atlasPath);\n imagePaths = atlas.pages.map((page) => baseUrl + page.name);\n }\n const imageSources = imagePaths.map((url) => ({ url, path: url.split(/[?#]/, 1)[0] }));\n const pagePaths = atlas.pages.map((page, index) => {\n const source = imageSources.find(({ path }) => path === page.name || path.endsWith(\"/\" + page.name));\n // Renamed replacement images and exported dependencies can be supplied in atlas page order.\n const url = (source ?? imageSources[index])?.url;\n if (!url) throw new Error(`Spine atlas page \"${page.name}\" has no texture.`);\n return url;\n });\n for (const page of atlas.pages) {\n if (page.pma) {\n throw new Error(\n `Spine atlas page \"${page.name}\" uses premultiplied alpha, which is not supported by the linear rendering workflow. ` +\n 'Re-export with \"Premultiply alpha\" disabled and \"Bleed\" enabled.'\n );\n }\n }\n const textures = await Promise.all(\n pagePaths.map(async (url, index) => {\n const extension = /\\.(\\w+)$/.exec(url.split(/[?#]/, 1)[0])?.[1];\n const type =\n virtualResources[url]?.type ??\n (extension === \"ktx\" ? AssetType.KTX : extension === \"ktx2\" ? AssetType.KTX2 : AssetType.Texture);\n const texture = await resourceManager.load<Texture2D>({ url, type });\n if (!texture.isSRGBColorSpace) {\n throw new Error(\n `Spine atlas page \"${atlas.pages[index].name}\" requires an sRGB texture. ` +\n \"Set isSRGBColorSpace=true before its first load, or enable sRGB in the exported texture.\"\n );\n }\n return texture;\n })\n );\n return { text: atlas.text, textures };\n }\n\n /** Atlas pages begin a block; regions and their properties remain in the same block. */\n static readAtlasPageNames(text: string): string[] {\n return LoaderUtils._readAtlas(text).pages.map((page) => page.name);\n }\n\n private static _readAtlas(text: string) {\n const pages: { name: string; pma: boolean }[] = [];\n const lines: string[] = [];\n let pageStart = true;\n let pageHeader = false;\n for (const line of text.split(/\\r?\\n/)) {\n const value = line.trim();\n if (!value) {\n pageStart = true;\n pageHeader = false;\n } else if (pageStart) {\n if (!value.includes(\":\")) {\n pages.push({ name: value, pma: false });\n pageStart = false;\n pageHeader = true;\n }\n } else if (pageHeader) {\n const separator = value.indexOf(\":\");\n if (separator < 0) {\n pageHeader = false;\n } else if (value.substring(0, separator).trim() === \"pma\") {\n pages[pages.length - 1].pma = value.substring(separator + 1).trim() === \"true\";\n // Validate alpha encoding before loading textures; 3.8 cannot parse this newer page property.\n continue;\n }\n }\n lines.push(line);\n }\n return { pages, text: lines.join(\"\\n\") };\n }\n\n static getBaseUrl(url: string): string {\n const isLocalPath = !/^(http|https|ftp):\\/\\/.*/i.test(url);\n if (isLocalPath) {\n const lastSlashIndex = url.lastIndexOf(\"/\");\n if (lastSlashIndex === -1) {\n return \"\";\n }\n return url.substring(0, lastSlashIndex + 1);\n } else {\n const parsedUrl = new URL(url);\n const basePath = parsedUrl.origin + parsedUrl.pathname;\n return basePath.endsWith(\"/\") ? basePath : basePath.substring(0, basePath.lastIndexOf(\"/\") + 1);\n }\n }\n}\n","/** Read only the export header, before selecting or invoking a version-specific parser. */\nexport function readSpineVersion(data: string | ArrayBuffer): string {\n if (typeof data === \"string\") {\n const version = JSON.parse(data).skeleton?.spine;\n if (typeof version === \"string\" && /^\\d+\\.\\d+(?:\\.|$)/.test(version)) return version;\n throw new Error(\"Spine JSON is missing a valid skeleton.spine export version.\");\n }\n\n const bytes = new Uint8Array(data);\n function readString(offset: number): { value: string; end: number } | null {\n let count = 0;\n for (let shift = 0; shift < 35; shift += 7) {\n if (offset >= bytes.length) return null;\n const byte = bytes[offset++];\n count += (byte & 127) * 2 ** shift;\n if ((byte & 128) === 0) {\n const end = offset + Math.max(0, count - 1);\n if (end > bytes.length) return null;\n return { value: new TextDecoder().decode(bytes.subarray(offset, end)), end };\n }\n }\n return null;\n }\n\n // 3.x stores the hash as a length-prefixed string. 4.x stores an eight-byte hash.\n const hash = readString(0);\n const oldVersion = hash && readString(hash.end)?.value;\n const newVersion = readString(8)?.value;\n const candidates = [\n oldVersion && /^3\\.\\d+\\.\\d+$/.test(oldVersion) ? oldVersion : null,\n newVersion && /^4\\.\\d+\\.\\d+$/.test(newVersion) ? newVersion : null\n ].filter(Boolean);\n if (candidates.length !== 1) {\n throw new Error(\"Cannot determine Spine binary export version: invalid or ambiguous header.\");\n }\n return candidates[0];\n}\n","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n\n if (\"value\" in descriptor) descriptor.writable = true;\n\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n\n return Constructor;\n}\nexport { _create_class as _ };\n","import type { ISpineSkin } from \"@galacean/engine-design\";\nimport type { SpineSkeletonData } from \"./SpineSkeletonData\";\n\n/** A shared skin belonging to one Spine resource. Create composite skins with SpineResource.createSkin. */\nexport class SpineSkin {\n /** @internal */\n readonly _native: ISpineSkin;\n /** @internal */\n readonly _owner: SpineSkeletonData;\n\n private constructor(native: ISpineSkin, owner: SpineSkeletonData) {\n this._native = native;\n this._owner = owner;\n }\n\n /** @internal */\n static _create(native: ISpineSkin, owner: SpineSkeletonData): SpineSkin {\n return new SpineSkin(native, owner);\n }\n\n get name(): string {\n return this._native.name;\n }\n\n /** Add all attachments and required bones/constraints from another skin of this resource. */\n addSkin(skin: SpineSkin): void {\n if (skin._owner !== this._owner) throw new Error(\"Cannot combine skins from different Spine resources.\");\n this._native.addSkin(skin._native);\n }\n}\n","import type { ISpineSkeletonData, ISpineSkin } from \"@galacean/engine-design\";\nimport type { SpineAnimation } from \"./SpineAnimation\";\nimport { SpineSkin } from \"./SpineSkin\";\n\n/** Shared asset metadata, animations and skins. Instances retain the same data object. */\nexport class SpineSkeletonData {\n /** @internal */\n readonly _native: ISpineSkeletonData;\n private _skins = new WeakMap<ISpineSkin, SpineSkin>();\n readonly animations: readonly SpineAnimation[];\n readonly skins: readonly SpineSkin[];\n\n private constructor(native: ISpineSkeletonData) {\n this._native = native;\n this.animations = Object.freeze(native.animations.map(({ name, duration }) => Object.freeze({ name, duration })));\n this.skins = Object.freeze(native.skins.map((skin) => this._wrapSkin(skin)));\n }\n\n /** @internal */\n static _create(native: ISpineSkeletonData): SpineSkeletonData {\n return new SpineSkeletonData(native);\n }\n\n get name(): string | null {\n return this._native.name ?? null;\n }\n get version(): string | null {\n return this._native.version ?? null;\n }\n get x(): number {\n return this._native.x;\n }\n get y(): number {\n return this._native.y;\n }\n get width(): number {\n return this._native.width;\n }\n get height(): number {\n return this._native.height;\n }\n get defaultSkin(): SpineSkin | null {\n return this._wrapSkin(this._native.defaultSkin);\n }\n\n findSkin(name: string): SpineSkin | null {\n return this._wrapSkin(this._native.findSkin(name));\n }\n findAnimation(name: string): SpineAnimation | null {\n return this.animations.find((animation) => animation.name === name) ?? null;\n }\n\n /** @internal */\n _wrapSkin(native: ISpineSkin | null | undefined): SpineSkin | null {\n if (!native) return null;\n let skin = this._skins.get(native);\n if (!skin) {\n skin = SpineSkin._create(native, this);\n this._skins.set(native, skin);\n }\n return skin;\n }\n}\n","import type { ISpineAnimationStateData } from \"@galacean/engine-design\";\nimport type { SpineSkeletonData } from \"./SpineSkeletonData\";\n\n/** Mixing configuration shared by all instances of a resource. */\nexport class SpineAnimationStateData {\n /** @internal */\n readonly _native: ISpineAnimationStateData;\n readonly skeletonData: SpineSkeletonData;\n\n private constructor(native: ISpineAnimationStateData, data: SpineSkeletonData) {\n this._native = native;\n this.skeletonData = data;\n }\n /** @internal */\n static _create(native: ISpineAnimationStateData, data: SpineSkeletonData): SpineAnimationStateData {\n return new SpineAnimationStateData(native, data);\n }\n get defaultMix(): number {\n return this._native.defaultMix;\n }\n set defaultMix(value: number) {\n this._native.defaultMix = value;\n }\n /** Set the transition duration between two named animations. */\n setMix(from: string, to: string, duration: number): void {\n this._native.setMix(from, to, duration);\n }\n}\n","function _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else return left instanceof right;\n}\nexport { _instanceof as _ };\n","import type { ISpineBone } from \"@galacean/engine-design\";\n\n/** A bone's local pose and evaluated world transform, owned by one skeleton instance. */\nexport class SpineBone {\n private constructor(private _native: ISpineBone) {}\n /** @internal */\n static _create(native: ISpineBone): SpineBone {\n return new SpineBone(native);\n }\n get name(): string {\n return this._native.data.name;\n }\n get x(): number {\n return this._native.x;\n }\n set x(value: number) {\n this._native.x = value;\n }\n get y(): number {\n return this._native.y;\n }\n set y(value: number) {\n this._native.y = value;\n }\n get rotation(): number {\n return this._native.rotation;\n }\n set rotation(value: number) {\n this._native.rotation = value;\n }\n get scaleX(): number {\n return this._native.scaleX;\n }\n set scaleX(value: number) {\n this._native.scaleX = value;\n }\n get scaleY(): number {\n return this._native.scaleY;\n }\n set scaleY(value: number) {\n this._native.scaleY = value;\n }\n get shearX(): number {\n return this._native.shearX;\n }\n set shearX(value: number) {\n this._native.shearX = value;\n }\n get shearY(): number {\n return this._native.shearY;\n }\n set shearY(value: number) {\n this._native.shearY = value;\n }\n\n get a(): number {\n return this._native.a;\n }\n get b(): number {\n return this._native.b;\n }\n get c(): number {\n return this._native.c;\n }\n get d(): number {\n return this._native.d;\n }\n get worldX(): number {\n return this._native.worldX;\n }\n get worldY(): number {\n return this._native.worldY;\n }\n\n isActive(): boolean {\n return this._native.isActive();\n }\n setToSetupPose(): void {\n this._native.setToSetupPose();\n }\n}\n","import type { ISpineSkeleton, ISpineSlot } from \"@galacean/engine-design\";\nimport type { SpineBone } from \"./SpineBone\";\n\n/** An attachment slot owned by one skeleton instance. */\nexport class SpineSlot {\n private constructor(\n private _native: ISpineSlot,\n private _skeleton: ISpineSkeleton,\n readonly bone: SpineBone\n ) {}\n\n /** @internal */\n static _create(native: ISpineSlot, skeleton: ISpineSkeleton, bone: SpineBone): SpineSlot {\n return new SpineSlot(native, skeleton, bone);\n }\n\n get name(): string {\n return this._native.data.name;\n }\n\n /** Select an attachment by its skin entry name, or clear the slot with null. */\n setAttachment(name: string | null): void {\n this._skeleton.setAttachment(this.name, name);\n }\n\n /** Restore the setup color and attachment, using the current skin. */\n setToSetupPose(): void {\n this._native.setToSetupPose();\n }\n}\n","import type { ISpineSkeleton } from \"@galacean/engine-design\";\nimport { SpineBone } from \"./SpineBone\";\nimport { SpineSlot } from \"./SpineSlot\";\nimport type { SpineSkin } from \"./SpineSkin\";\nimport type { SpineSkeletonData } from \"./SpineSkeletonData\";\n\n/** The editable pose of one renderer. Bone and slot wrappers are created once and reused. */\nexport class SpineSkeleton {\n readonly data: SpineSkeletonData;\n readonly bones: readonly SpineBone[];\n /** Slots in setup order, independent of the animated draw order. */\n readonly slots: readonly SpineSlot[];\n\n private constructor(\n private _native: ISpineSkeleton,\n data: SpineSkeletonData\n ) {\n this.data = data;\n this.bones = Object.freeze(_native.bones.map((bone) => SpineBone._create(bone)));\n const bones = new Map(_native.bones.map((bone, index) => [bone, this.bones[index]]));\n this.slots = Object.freeze(_native.slots.map((slot) => SpineSlot._create(slot, _native, bones.get(slot.bone)!)));\n }\n /** @internal */\n static _create(native: ISpineSkeleton, data: SpineSkeletonData): SpineSkeleton {\n return new SpineSkeleton(native, data);\n }\n get x(): number {\n return this._native.x;\n }\n set x(value: number) {\n this._native.x = value;\n }\n get y(): number {\n return this._native.y;\n }\n set y(value: number) {\n this._native.y = value;\n }\n get scaleX(): number {\n return this._native.scaleX;\n }\n set scaleX(value: number) {\n this._native.scaleX = value;\n }\n get scaleY(): number {\n return this._native.scaleY;\n }\n set scaleY(value: number) {\n this._native.scaleY = value;\n }\n\n get skin(): SpineSkin | null {\n return this.data._wrapSkin(this._native.skin);\n }\n findBone(name: string): SpineBone | null {\n return this.bones.find((bone) => bone.name === name) ?? null;\n }\n findSlot(name: string): SpineSlot | null {\n return this.slots.find((slot) => slot.name === name) ?? null;\n }\n setSkinByName(name: string): void {\n this._native.setSkinByName(name);\n }\n /** Assign a skin from this resource, or clear the current skin. */\n setSkin(skin: SpineSkin | null): void {\n if (skin && skin._owner !== this.data) throw new Error(\"Cannot assign a skin from another Spine resource.\");\n this._native.setSkin(skin?._native ?? null);\n }\n setAttachment(slotName: string, attachmentName: string | null): void {\n this._native.setAttachment(slotName, attachmentName);\n }\n setToSetupPose(): void {\n this._native.setToSetupPose();\n }\n setBonesToSetupPose(): void {\n this._native.setBonesToSetupPose();\n }\n setSlotsToSetupPose(): void {\n this._native.setSlotsToSetupPose();\n }\n}\n","import type { ISpineTrackEntry } from \"@galacean/engine-design\";\nimport type { SpineAnimation } from \"./SpineAnimation\";\nimport type { SpineAnimationState } from \"./SpineAnimationState\";\nimport type { SpineAnimationStateListener } from \"./SpineAnimationStateListener\";\n\n/**\n * One playback entry. Valid through its dispose callbacks.\n * After disposal, accessing playback properties throws even if the backend reuses its pooled entry.\n */\nexport class SpineTrackEntry {\n private _listener: SpineAnimationStateListener | null = null;\n private _animation: SpineAnimation | null;\n\n private constructor(\n private _native: ISpineTrackEntry | null,\n private _state: SpineAnimationState\n ) {\n const animation = _native.animation;\n this._animation = animation\n ? (_state.data.skeletonData.findAnimation(animation.name) ??\n Object.freeze({ name: animation.name, duration: animation.duration }))\n : null;\n }\n /** @internal */\n static _create(native: ISpineTrackEntry, state: SpineAnimationState): SpineTrackEntry {\n return new SpineTrackEntry(native, state);\n }\n get disposed(): boolean {\n return this._native === null;\n }\n get animation(): SpineAnimation | null {\n this._requireNative();\n return this._animation;\n }\n get trackIndex(): number {\n return this._requireNative().trackIndex;\n }\n get next(): SpineTrackEntry | null {\n return this._state._wrap(this._requireNative().next);\n }\n get mixingFrom(): SpineTrackEntry | null {\n return this._state._wrap(this._requireNative().mixingFrom);\n }\n get mixingTo(): SpineTrackEntry | null {\n return this._state._wrap(this._requireNative().mixingTo);\n }\n get listener(): SpineAnimationStateListener | null {\n this._requireNative();\n return this._listener;\n }\n set listener(value: SpineAnimationStateListener | null) {\n this._requireNative().listener = value ? this._state._relay(value) : null;\n this._listener = value;\n }\n get loop(): boolean {\n return this._requireNative().loop;\n }\n set loop(value: boolean) {\n this._requireNative().loop = value;\n }\n get delay(): number {\n return this._requireNative().delay;\n }\n set delay(value: number) {\n this._requireNative().delay = value;\n }\n get trackTime(): number {\n return this._requireNative().trackTime;\n }\n set trackTime(value: number) {\n this._requireNative().trackTime = value;\n }\n get trackEnd(): number {\n return this._requireNative().trackEnd;\n }\n set trackEnd(value: number) {\n this._requireNative().trackEnd = value;\n }\n get timeScale(): number {\n return this._requireNative().timeScale;\n }\n set timeScale(value: number) {\n this._requireNative().timeScale = value;\n }\n get alpha(): number {\n return this._requireNative().alpha;\n }\n set alpha(value: number) {\n this._requireNative().alpha = value;\n }\n get animationStart(): number {\n return this._requireNative().animationStart;\n }\n set animationStart(value: number) {\n this._requireNative().animationStart = value;\n }\n get animationEnd(): number {\n return this._requireNative().animationEnd;\n }\n set animationEnd(value: number) {\n this._requireNative().animationEnd = value;\n }\n get mixTime(): number {\n return this._requireNative().mixTime;\n }\n set mixTime(value: number) {\n this._requireNative().mixTime = value;\n }\n get mixDuration(): number {\n return this._requireNative().mixDuration;\n }\n set mixDuration(value: number) {\n this._requireNative().mixDuration = value;\n }\n getAnimationTime(): number {\n return this._requireNative().getAnimationTime();\n }\n isComplete(): boolean {\n return this._requireNative().isComplete();\n }\n\n /** @internal */\n _invalidate(): void {\n this._native = null;\n this._state = null;\n this._listener = null;\n }\n private _requireNative(): ISpineTrackEntry {\n if (!this._native) throw new Error(\"This Spine track entry has been disposed.\");\n return this._native;\n }\n}\n","import type {\n ISpineAnimationState,\n ISpineAnimationStateListener,\n ISpineTrackEntry,\n ISpineSkeleton,\n ISpineEvent\n} from \"@galacean/engine-design\";\nimport type { ISpineRuntime } from \"./runtime/ISpineRuntime\";\nimport type { SpineAnimationStateData } from \"./SpineAnimationStateData\";\nimport type { SpineAnimationStateListener, SpineEvent } from \"./SpineAnimationStateListener\";\nimport { SpineTrackEntry } from \"./SpineTrackEntry\";\n\ntype PlaybackEvent = \"start\" | \"interrupt\" | \"end\" | \"dispose\" | \"complete\";\n\n/** Playback controls for one renderer. Entries and callback arguments have stable public identities. */\nexport class SpineAnimationState {\n readonly data: SpineAnimationStateData;\n private _entries = new WeakMap<ISpineTrackEntry, SpineTrackEntry>();\n private _listeners = new Set<SpineAnimationStateListener>();\n private _operationDepth = 0;\n private _disposed = false;\n\n private constructor(\n private _native: ISpineAnimationState,\n data: SpineAnimationStateData,\n private _runtime: ISpineRuntime\n ) {\n this.data = data;\n _native.addListener({\n start: (entry) => this._dispatch(\"start\", entry),\n interrupt: (entry) => this._dispatch(\"interrupt\", entry),\n end: (entry) => this._dispatch(\"end\", entry),\n complete: (entry) => this._dispatch(\"complete\", entry),\n dispose: (native) => {\n const entry = this._wrap(native);\n this._dispatch(\"dispose\", native);\n entry._invalidate();\n this._entries.delete(native);\n },\n event: (native, event) => {\n if (!this._listeners.size) return;\n const entry = this._wrap(native);\n const snapshot = this._event(event);\n for (const listener of Array.from(this._listeners)) listener.event?.(entry, snapshot);\n }\n });\n }\n /** @internal */\n static _create(\n native: ISpineAnimationState,\n data: SpineAnimationStateData,\n runtime: ISpineRuntime\n ): SpineAnimationState {\n return new SpineAnimationState(native, data, runtime);\n }\n\n get timeScale(): number {\n return this._native.timeScale;\n }\n set timeScale(value: number) {\n this._native.timeScale = value;\n }\n setAnimation(track: number, name: string, loop: boolean): SpineTrackEntry {\n this._validateTrack(track);\n if (!this.data.skeletonData.findAnimation(name)) throw new Error(`Animation not found: ${name}`);\n return this._command(() => this._wrap(this._native.setAnimation(track, name, loop)));\n }\n addAnimation(track: number, name: string, loop: boolean, delay: number): SpineTrackEntry {\n this._validateTrack(track);\n if (!this.data.skeletonData.findAnimation(name)) throw new Error(`Animation not found: ${name}`);\n return this._command(() => this._wrap(this._native.addAnimation(track, name, loop, delay)));\n }\n setEmptyAnimation(track: number, mixDuration: number): SpineTrackEntry {\n this._validateTrack(track);\n return this._command(() => this._wrap(this._native.setEmptyAnimation(track, mixDuration)));\n }\n addEmptyAnimation(track: number, mixDuration: number, delay: number): SpineTrackEntry {\n this._validateTrack(track);\n return this._command(() => this._wrap(this._native.addEmptyAnimation(track, mixDuration, delay)));\n }\n setEmptyAnimations(mixDuration: number): void {\n this._command(() => this._native.setEmptyAnimations(mixDuration));\n }\n getCurrent(track: number): SpineTrackEntry | null {\n this._validateTrack(track);\n return this._wrap(this._native.getCurrent(track));\n }\n clearTrack(track: number): void {\n this._validateTrack(track);\n this._command(() => this._native.clearTrack(track));\n }\n clearTracks(): void {\n this._command(() => this._native.clearTracks());\n }\n addListener(listener: SpineAnimationStateListener): void {\n this._listeners.add(listener);\n }\n removeListener(listener: SpineAnimationStateListener): void {\n this._listeners.delete(listener);\n }\n clearListeners(): void {\n this._listeners.clear();\n }\n\n /** @internal */\n _wrap(native: ISpineTrackEntry | null | undefined): SpineTrackEntry | null {\n if (!native) return null;\n let entry = this._entries.get(native);\n if (!entry) {\n entry = SpineTrackEntry._create(native, this);\n this._entries.set(native, entry);\n }\n return entry;\n }\n\n /** @internal */\n _relay(listener: SpineAnimationStateListener): ISpineAnimationStateListener {\n return {\n start: (entry) => listener.start?.(this._wrap(entry)),\n interrupt: (entry) => listener.interrupt?.(this._wrap(entry)),\n end: (entry) => listener.end?.(this._wrap(entry)),\n dispose: (entry) => listener.dispose?.(this._wrap(entry)),\n complete: (entry) => listener.complete?.(this._wrap(entry)),\n event: (entry, event) => listener.event?.(this._wrap(entry), this._event(event))\n };\n }\n\n /** @internal */\n _dispose(): void {\n if (this._disposed) return;\n this._disposed = true;\n this._operationDepth++;\n this._native.clearTracks();\n this._endOperation();\n }\n\n /** @internal */\n _advance(skeleton: ISpineSkeleton, delta: number): void {\n this._operationDepth++;\n this._runtime.advanceState(skeleton, this._native, delta);\n this._endOperation();\n }\n\n /** @internal */\n _apply(skeleton: ISpineSkeleton): void {\n this._operationDepth++;\n this._runtime.applyState(skeleton, this._native);\n this._endOperation();\n }\n\n private _validateTrack(track: number): void {\n if (!Number.isInteger(track) || track < 0) throw new Error(\"Spine track index must be a non-negative integer.\");\n }\n\n private _command<T>(command: () => T): T {\n if (this._disposed) throw new Error(\"This Spine animation state has been disposed.\");\n this._operationDepth++;\n // Bind returned entries before callbacks can release them or recycle their native objects.\n const result = this._runtime.batchAnimationStateEvents(this._native, command);\n this._endOperation();\n return result;\n }\n\n private _endOperation(): void {\n if (--this._operationDepth === 0 && this._disposed) {\n // A clearTracks called from a callback only queues disposal. Keep the bridge until dispatch finishes.\n this._native.clearListeners();\n this._listeners.clear();\n }\n }\n\n private _dispatch(event: PlaybackEvent, native: ISpineTrackEntry): void {\n if (!this._listeners.size) return;\n const entry = this._wrap(native);\n for (const listener of Array.from(this._listeners)) listener[event]?.(entry);\n }\n private _event(event: ISpineEvent): SpineEvent {\n return Object.freeze({\n data: Object.freeze({ name: event.data.name }),\n time: event.time,\n intValue: event.intValue,\n floatValue: event.floatValue,\n stringValue: event.stringValue\n });\n }\n}\n","import type { ISpinePhysicsConstraint } from \"@galacean/engine-design\";\n\n/** An instance's physics constraint. Changes affect only this skeleton. */\nexport class SpinePhysicsConstraint {\n private constructor(private _native: ISpinePhysicsConstraint) {}\n /** @internal */\n static _create(native: ISpinePhysicsConstraint): SpinePhysicsConstraint {\n return new SpinePhysicsConstraint(native);\n }\n get name(): string {\n return this._native.data.name;\n }\n get inertia(): number {\n return this._native.inertia;\n }\n set inertia(value: number) {\n this._native.inertia = value;\n }\n get strength(): number {\n return this._native.strength;\n }\n set strength(value: number) {\n this._native.strength = value;\n }\n get damping(): number {\n return this._native.damping;\n }\n set damping(value: number) {\n this._native.damping = value;\n }\n get massInverse(): number {\n return this._native.massInverse;\n }\n set massInverse(value: number) {\n this._native.massInverse = value;\n }\n get wind(): number {\n return this._native.wind;\n }\n set wind(value: number) {\n this._native.wind = value;\n }\n get gravity(): number {\n return this._native.gravity;\n }\n set gravity(value: number) {\n this._native.gravity = value;\n }\n get mix(): number {\n return this._native.mix;\n }\n set mix(value: number) {\n this._native.mix = value;\n }\n\n isActive(): boolean {\n return this._native.isActive();\n }\n reset(): void {\n this._native.reset();\n }\n}\n","import type { ISpinePhysics, SpineCapability } from \"@galacean/engine-design\";\nimport { SpinePhysicsConstraint } from \"./SpinePhysicsConstraint\";\n\n/** Physics availability for the bound asset. Narrow supported before accessing value. */\nexport type SpinePhysicsSupport =\n | { readonly supported: true; readonly value: SpinePhysics }\n | { readonly supported: false; readonly reason: string };\n\n/** Physics controls evaluated by the skeleton's backend. */\nexport class SpinePhysics {\n readonly physicsConstraints: readonly SpinePhysicsConstraint[];\n private constructor(private _native: ISpinePhysics) {\n this.physicsConstraints = Object.freeze(_native.physicsConstraints.map((c) => SpinePhysicsConstraint._create(c)));\n }\n /** @internal */\n static _create(capability: SpineCapability<ISpinePhysics>): SpinePhysicsSupport {\n return capability.supported === true\n ? Object.freeze({ supported: true, value: new SpinePhysics(capability.value) })\n : Object.freeze({ supported: false, reason: capability.reason });\n }\n physicsTranslate(x: number, y: number): void {\n this._native.physicsTranslate(x, y);\n }\n physicsRotate(x: number, y: number, degrees: number): void {\n this._native.physicsRotate(x, y, degrees);\n }\n}\n","import { Engine, Material, Shader } from \"@galacean/engine\";\n\n/**\n * Material for Spine rendering. Defaults to the built-in `2D/Spine` shader.\n * Texture and blend inputs are supplied per draw batch; tint is a renderer input.\n * Inputs use straight alpha; the shader premultiplies its final linear output for the supplied blend factors.\n */\nexport class SpineMaterial extends Material {\n constructor(engine: Engine, shader: Shader = Shader.find(\"2D/Spine\")) {\n super(engine, shader);\n }\n\n override clone(): SpineMaterial {\n const dest = new SpineMaterial(this.engine, this.shader);\n this._cloneToAndModifyName(dest);\n return dest;\n }\n}\n","/**\n * Blend mode of a spine slot.\n *\n * @remarks\n * Version-neutral mirror of spine-core's `BlendMode` enum. The values match spine-core across all\n * supported runtime versions (3.8 / 4.2), so a core package can pass its `BlendMode` straight through.\n * Owning it here keeps the shared package free of any runtime spine-core dependency.\n */\nexport enum SpineBlendMode {\n Normal = 0,\n Additive = 1,\n Multiply = 2,\n Screen = 3\n}\n","/**\n * Vertex stride (float count per vertex) of the spine vertex layout owned by `SpineAnimationRenderer`.\n *\n * - `withoutTint`: [x, y, z, r, g, b, a, u, v] = 9 floats\n * - `withTint`: [x, y, z, r, g, b, a, u, v, dr, dg, db] = 12 floats\n *\n * The renderer supplies the matching stride to backend generators through the geometry contract.\n */\nexport const SpineVertexStride = {\n withoutTint: 9,\n withTint: 12\n} as const;\n","import type { ISpineGeometry } from \"@galacean/engine-design\";\nimport { BoundingBox, Material, Texture2D } from \"@galacean/engine\";\nimport { SpineBlendMode } from \"../enums/SpineBlendMode\";\nimport { SpineVertexStride } from \"../SpineConstant\";\n\n/** @internal */\nexport class SpineGeometry implements ISpineGeometry<Texture2D> {\n vertices = new Float32Array();\n indices = new Uint16Array();\n vertexCount = 0;\n indexCount = 0;\n vertexStride: number = SpineVertexStride.withoutTint;\n zSpacing = 0;\n tintBlack = false;\n defaultMaterial: Material | null = null;\n readonly bounds = new BoundingBox();\n readonly batches: {\n start: number;\n count: number;\n texture: Texture2D;\n blendMode: SpineBlendMode;\n material: Material | null;\n }[] = [];\n batchCount = 0;\n\n constructor(private _slotMaterials: ReadonlyMap<number, Material>) {}\n\n reset(zSpacing: number, tintBlack: boolean, defaultMaterial: Material | null): void {\n this.zSpacing = zSpacing;\n this.tintBlack = tintBlack;\n this.defaultMaterial = defaultMaterial;\n this.vertexStride = tintBlack ? SpineVertexStride.withTint : SpineVertexStride.withoutTint;\n this.vertexCount = this.indexCount = this.batchCount = 0;\n // Release references from inactive batches without discarding reusable batch records.\n for (const batch of this.batches) {\n batch.texture = null;\n batch.material = null;\n }\n this.bounds.min.set(Infinity, Infinity, Infinity);\n this.bounds.max.set(-Infinity, -Infinity, -Infinity);\n }\n\n append(\n vertices: ArrayLike<number>,\n vertexCount: number,\n indices: ArrayLike<number>,\n indexCount: number,\n texture: Texture2D,\n blendMode: SpineBlendMode,\n drawOrder: number,\n slotIndex: number\n ): void {\n if (!vertexCount || !indexCount) return;\n\n const vertexStart = this.vertexCount;\n const indexStart = this.indexCount;\n this._ensureCapacity(vertexStart + vertexCount, indexStart + indexCount);\n const { vertices: targetVertices, indices: targetIndices, vertexStride, tintBlack } = this;\n const z = drawOrder * this.zSpacing;\n const { min, max } = this.bounds;\n let targetOffset = vertexStart * vertexStride;\n let sourceOffset = 0;\n for (let vertex = 0; vertex < vertexCount; vertex++) {\n const x = vertices[sourceOffset++];\n const y = vertices[sourceOffset++];\n targetVertices[targetOffset++] = x;\n targetVertices[targetOffset++] = y;\n targetVertices[targetOffset++] = z;\n targetVertices[targetOffset++] = vertices[sourceOffset++]; // r\n targetVertices[targetOffset++] = vertices[sourceOffset++]; // g\n targetVertices[targetOffset++] = vertices[sourceOffset++]; // b\n targetVertices[targetOffset++] = vertices[sourceOffset++]; // a\n targetVertices[targetOffset++] = vertices[sourceOffset++]; // u\n targetVertices[targetOffset++] = vertices[sourceOffset++]; // v\n if (tintBlack) {\n targetVertices[targetOffset++] = vertices[sourceOffset++]; // darkR\n targetVertices[targetOffset++] = vertices[sourceOffset++]; // darkG\n targetVertices[targetOffset++] = vertices[sourceOffset++]; // darkB\n sourceOffset++; // darkA is derived by the shader, not stored in the vertex buffer.\n }\n min.set(Math.min(min.x, x), Math.min(min.y, y), Math.min(min.z, z));\n max.set(Math.max(max.x, x), Math.max(max.y, y), Math.max(max.z, z));\n }\n for (let i = 0; i < indexCount; i++) targetIndices[indexStart + i] = indices[i] + vertexStart;\n this.vertexCount += vertexCount;\n this.indexCount += indexCount;\n\n const lastBatch = this.batches[this.batchCount - 1];\n const material = this._slotMaterials.get(slotIndex) ?? this.defaultMaterial;\n if (\n lastBatch &&\n lastBatch.texture === texture &&\n lastBatch.blendMode === blendMode &&\n lastBatch.material === material\n ) {\n lastBatch.count += indexCount;\n } else {\n const index = this.batchCount++;\n const batch = this.batches[index] ?? (this.batches[index] = { start: 0, count: 0, texture, blendMode, material });\n batch.start = indexStart;\n batch.count = indexCount;\n batch.texture = texture;\n batch.blendMode = blendMode;\n batch.material = material;\n }\n }\n\n private _ensureCapacity(vertexCount: number, indexCount: number): void {\n const length = vertexCount * this.vertexStride;\n if (length > this.vertices.length) {\n const vertices = new Float32Array(Math.max(length, this.vertices.length * 2, 64 * this.vertexStride));\n vertices.set(this.vertices);\n this.vertices = vertices;\n }\n if (indexCount > this.indices.length) {\n const indices = new Uint16Array(Math.max(indexCount, this.indices.length * 2, 64));\n indices.set(this.indices);\n this.indices = indices;\n }\n }\n}\n","import type { ISpineAnimationState, ISpineSkeleton } from \"@galacean/engine-design\";\nimport { SpineSkeleton } from \"../SpineSkeleton\";\nimport { SpineSlot } from \"../SpineSlot\";\nimport { SpineAnimationState } from \"../SpineAnimationState\";\nimport { SpinePhysics } from \"../SpinePhysics\";\nimport type { SpinePhysicsSupport } from \"../SpinePhysics\";\nimport type { SpineSkeletonData } from \"../SpineSkeletonData\";\nimport type { SpineAnimationStateData } from \"../SpineAnimationStateData\";\nimport type { ISpineRuntime } from \"../runtime/ISpineRuntime\";\nimport {\n assignmentClone,\n BlendFactor,\n BoundingBox,\n Buffer,\n BufferBindFlag,\n BufferUsage,\n deepClone,\n Entity,\n Engine,\n ignoreClone,\n IndexBufferBinding,\n IndexFormat,\n Material,\n Primitive,\n Renderer,\n RendererUpdateFlags,\n ShaderData,\n ShaderDataGroup,\n ShaderProperty,\n Signal,\n SubPrimitive,\n Vector3,\n VertexBufferBinding,\n VertexElement,\n VertexElementFormat\n} from \"@galacean/engine\";\nimport { SpineResource } from \"../loader/SpineResource\";\nimport { SpineMaterial } from \"./SpineMaterial\";\nimport { SpineBlendMode } from \"../enums/SpineBlendMode\";\nimport { SpineGeometry } from \"./SpineGeometry\";\n\n/**\n * Spine animation renderer, capable of rendering spine animations and providing functions for animation and skeleton manipulation.\n */\nexport class SpineAnimationRenderer extends Renderer {\n private static _defaultMaterials = new WeakMap<Engine, SpineMaterial>();\n private static _textureProperty = ShaderProperty.getByName(\"renderElement_SpineTexture\");\n private static _sourceColorProperty = ShaderProperty.getByName(\"renderElement_SpineSourceColorBlendFactor\");\n private static _destinationColorProperty = ShaderProperty.getByName(\"renderElement_SpineDestinationColorBlendFactor\");\n private static _sourceAlphaProperty = ShaderProperty.getByName(\"renderElement_SpineSourceAlphaBlendFactor\");\n private static _destinationAlphaProperty = ShaderProperty.getByName(\"renderElement_SpineDestinationAlphaBlendFactor\");\n private static _positionVertexElement = new VertexElement(\"POSITION\", 0, VertexElementFormat.Vector3, 0);\n private static _lightColorVertexElement = new VertexElement(\"LIGHT_COLOR\", 12, VertexElementFormat.Vector4, 0);\n private static _uvVertexElement = new VertexElement(\"TEXCOORD_0\", 28, VertexElementFormat.Vector2, 0);\n private static _darkColorVertexElement = new VertexElement(\"DARK_COLOR\", 36, VertexElementFormat.Vector3, 0);\n\n /** Called after time advances, before animations are applied. Use to prepare the base pose. */\n readonly onBeforeApply = new Signal<[SpineAnimationRenderer]>();\n\n /** Called after animations are applied, before world transforms are solved. Use to edit local bone values. */\n readonly onUpdateLocal = new Signal<[SpineAnimationRenderer]>();\n\n /**\n * Called with evaluated world transforms, before the final constraint and physics solve.\n * Use to edit local bone values based on world values. A listener enables an additional pose solve;\n * physics simulation still advances only once per update.\n */\n readonly onUpdateWorld = new Signal<[SpineAnimationRenderer]>();\n\n /** Called after the final bone transforms are solved, before geometry is built. Use to read the final pose. */\n readonly onUpdateComplete = new Signal<[SpineAnimationRenderer]>();\n\n /**\n * Time multiplier for both animation playback and skeleton physics. Defaults to 1.\n * Zero stops time advancement while still applying the pose and rendering.\n * AnimationState and TrackEntry time scales multiply animation time independently.\n */\n @assignmentClone\n timeScale = 1;\n\n /**\n * The spacing between z layers in world units.\n */\n @assignmentClone\n zSpacing = 0.001;\n\n @assignmentClone\n private _tintBlack = false;\n\n /**\n * Whether to enable tint black feature for dark color tinting.\n *\n * @remarks Should be enabled when using \"Tint Black\" feature in Spine editor.\n */\n get tintBlack(): boolean {\n return this._tintBlack;\n }\n\n set tintBlack(value: boolean) {\n if (this._tintBlack !== value) {\n this._tintBlack = value;\n this._needResizeBuffer = true;\n if (value) {\n this.shaderData.enableMacro(\"RENDERER_TINT_BLACK\");\n } else {\n this.shaderData.disableMacro(\"RENDERER_TINT_BLACK\");\n }\n }\n }\n\n /**\n * Default state for spine animation.\n * Contains the default animation name to be played, whether this animation should loop, the default skin name.\n */\n @deepClone\n readonly defaultConfig: SpineAnimationDefaultConfig = new SpineAnimationDefaultConfig();\n\n /** @internal */\n @ignoreClone\n _primitive: Primitive;\n /** @internal */\n @ignoreClone\n _subPrimitives: SubPrimitive[] = [];\n /** @internal */\n @ignoreClone\n _indexBuffer: Buffer;\n /** @internal */\n @ignoreClone\n _vertexBuffer: Buffer;\n /** @internal */\n @ignoreClone\n _needResizeBuffer = false;\n /** @internal */\n @ignoreClone\n _resource: SpineResource | null = null;\n /** @internal */\n @ignoreClone\n _localBounds = new BoundingBox(\n new Vector3(Infinity, Infinity, Infinity),\n new Vector3(-Infinity, -Infinity, -Infinity)\n );\n\n @ignoreClone\n private _slotMaterials = new Map<number, Material>();\n @ignoreClone\n private _slotMaterialsDirty = false;\n @ignoreClone\n private _geometry = new SpineGeometry(this._slotMaterials);\n @ignoreClone\n private _batchShaderData: ShaderData[] = [];\n @ignoreClone\n private _skeleton: ISpineSkeleton;\n @ignoreClone\n private _state: ISpineAnimationState;\n @ignoreClone\n private _runtime: ISpineRuntime;\n @ignoreClone\n private _physics: SpinePhysicsSupport | null = null;\n @ignoreClone\n private _publicSkeleton: SpineSkeleton | null = null;\n @ignoreClone\n private _publicState: SpineAnimationState | null = null;\n\n /** Physics support for the bound skeleton, or null before an asset is assigned. */\n get physics(): SpinePhysicsSupport | null {\n return this._physics;\n }\n\n /** @internal */\n _setRuntime(runtime: ISpineRuntime): void {\n this._runtime = runtime;\n }\n\n /**\n * The animation playback state of this renderer.\n * Manage, blend, and transition between multiple simultaneous animations effectively.\n */\n get state(): SpineAnimationState {\n if (!this._publicState) throw new Error(\"No Spine resource is bound to this renderer.\");\n return this._publicState;\n }\n\n /**\n * The skeleton pose of this renderer.\n * Manipulate bone positions, rotations, scaling\n * and change spine attachment to customize character appearances dynamically during runtime.\n */\n get skeleton(): SpineSkeleton {\n if (!this._publicSkeleton) throw new Error(\"No Spine resource is bound to this renderer.\");\n return this._publicSkeleton;\n }\n\n /**\n * @internal\n */\n constructor(entity: Entity) {\n super(entity);\n const defaults = SpineAnimationRenderer._defaultMaterials;\n let material = defaults.get(this.engine);\n if (!material || material.destroyed || material.pendingDestroy) {\n material = new SpineMaterial(this.engine);\n defaults.set(this.engine, material);\n }\n this.setMaterial(material);\n const primitive = new Primitive(this.engine);\n this._primitive = primitive;\n this._primitive._addReferCount(1);\n primitive.addVertexElement(SpineAnimationRenderer._positionVertexElement);\n primitive.addVertexElement(SpineAnimationRenderer._lightColorVertexElement);\n primitive.addVertexElement(SpineAnimationRenderer._uvVertexElement);\n primitive.addVertexElement(SpineAnimationRenderer._darkColorVertexElement);\n }\n\n /** Set the default material used by slots without an override. */\n override setMaterial(material: Material | null): void;\n /** Set a renderer material by index. Spine uses index 0 as its default material. */\n override setMaterial(index: number, material: Material | null): void;\n /** Override a slot's material, or pass null to restore the renderer's default material. */\n override setMaterial(slot: SpineSlot, material: Material | null): void;\n override setMaterial(\n indexOrSlotOrMaterial: number | SpineSlot | Material | null,\n material: Material | null = null\n ): void {\n if (indexOrSlotOrMaterial instanceof SpineSlot) {\n const index = this._getSlotIndex(indexOrSlotOrMaterial);\n const previous = this._slotMaterials.get(index);\n if (previous === material || (!previous && !material)) return;\n if (previous) this._addResourceReferCount(previous, -1);\n if (material) {\n this._slotMaterials.set(index, material);\n this._addResourceReferCount(material, 1);\n } else {\n this._slotMaterials.delete(index);\n }\n this._slotMaterialsDirty = true;\n } else if (typeof indexOrSlotOrMaterial === \"number\") {\n super.setMaterial(indexOrSlotOrMaterial, material);\n } else {\n super.setMaterial(indexOrSlotOrMaterial);\n }\n }\n\n override getMaterial(): Material | null;\n override getMaterial(index: number): Material | null;\n /** Get a slot's effective material, including the renderer's default when no override is set. */\n override getMaterial(slot: SpineSlot): Material | null;\n override getMaterial(indexOrSlot: number | SpineSlot = 0): Material | null {\n return indexOrSlot instanceof SpineSlot\n ? (this._slotMaterials.get(this._getSlotIndex(indexOrSlot)) ?? super.getMaterial())\n : super.getMaterial(indexOrSlot);\n }\n\n /**\n * @internal\n */\n override _onEnable(): void {\n this._applyDefaultConfig();\n }\n\n /**\n * @internal\n */\n override update(delta: number): void {\n const { _publicState: state, _skeleton: skeleton, _runtime: runtime } = this;\n if (!state || !skeleton) return;\n state._advance(skeleton, delta * this.timeScale);\n if (!this._isCurrentState(state)) return;\n this.onBeforeApply.invoke(this);\n if (!this._isCurrentState(state)) return;\n state._apply(skeleton);\n if (!this._isCurrentState(state)) return;\n this.onUpdateLocal.invoke(this);\n if (!this._isCurrentState(state)) return;\n if (this.onUpdateWorld.listenerCount > 0) {\n runtime.updateWorldTransform(skeleton, false);\n this.onUpdateWorld.invoke(this);\n if (!this._isCurrentState(state)) return;\n }\n runtime.updateWorldTransform(skeleton, true);\n this.onUpdateComplete.invoke(this);\n if (!this._isCurrentState(state)) return;\n this._buildGeometry();\n }\n\n private _isCurrentState(state: SpineAnimationState): boolean {\n // A playback or pose callback may end this binding by switching resources or destroying the renderer.\n return !this.destroyed && this._publicState === state;\n }\n\n /**\n * @internal\n */\n override _render(context: any): void {\n const { _primitive, _subPrimitives, _batchShaderData } = this;\n // Material selection may change after animation update, including through inherited material APIs.\n if (this._skeleton && (this._slotMaterialsDirty || this._geometry.defaultMaterial !== this.getMaterial())) {\n this._buildGeometry();\n }\n const engine = this.engine;\n const priority = this.priority;\n const distanceForSort = this._distanceForSort;\n const renderElementPool = engine._renderElementPool;\n const renderPipeline = context.camera._renderPipeline;\n for (let i = 0, n = _subPrimitives.length; i < n; i++) {\n let material = this._geometry.batches[i].material;\n if (!material) continue;\n if (material.destroyed || material.shader.destroyed) {\n material = engine._basicResources.meshMagentaMaterial;\n }\n const renderElement = renderElementPool.get();\n renderElement.set(this, material, _primitive, _subPrimitives[i], undefined, undefined, _batchShaderData[i]);\n renderElement.priority = priority;\n renderElement.distanceForSort = distanceForSort;\n renderElement.subDistancePriority = i;\n renderPipeline.pushRenderElement(context, renderElement);\n }\n }\n\n /**\n * @internal\n */\n override _updateBounds(worldBounds: BoundingBox): void {\n BoundingBox.transform(this._localBounds, this.entity.transform.worldMatrix, worldBounds);\n }\n\n /**\n * @internal\n */\n _setSkeleton(skeleton: ISpineSkeleton, data: SpineSkeletonData) {\n this._skeleton = skeleton;\n this._publicSkeleton = SpineSkeleton._create(skeleton, data);\n this._physics = SpinePhysics._create(this._runtime.getPhysics(skeleton));\n }\n\n /**\n * @internal\n */\n _setState(state: ISpineAnimationState, data: SpineAnimationStateData) {\n this._state = state;\n this._publicState = SpineAnimationState._create(state, data, this._runtime);\n }\n\n /**\n * @internal\n */\n override _onClone(target: SpineAnimationRenderer): void {\n target.setMaterials(this._materials);\n // Each instance binds fresh playback and pose objects to the shared resource data.\n target.resource = this._resource;\n for (const [index, material] of this._slotMaterials) {\n target.setMaterial(target.skeleton.slots[index], material);\n }\n }\n\n /**\n * @internal\n */\n override _onDestroy(): void {\n this.onBeforeApply.removeAll();\n this.onUpdateLocal.removeAll();\n this.onUpdateWorld.removeAll();\n this.onUpdateComplete.removeAll();\n this._publicState?._dispose();\n this._clearSlotMaterials();\n this._geometry = null;\n this._clearBatchTextures(0);\n this._batchShaderData.length = 0;\n this._subPrimitives.length = 0;\n const primitive = this._primitive;\n if (primitive) {\n primitive._addReferCount(-1);\n primitive.destroy();\n this._primitive = null;\n }\n // destroy() is refCount-guarded; the primitive released its buffer references above.\n this._vertexBuffer?.destroy();\n this._indexBuffer?.destroy();\n this._vertexBuffer = null;\n this._indexBuffer = null;\n if (this._resource) this._addResourceReferCount(this._resource, -1);\n this._resource = null;\n this._runtime = null;\n this._physics = null;\n this._skeleton = null;\n this._state = null;\n this._publicSkeleton = null;\n this._publicState = null;\n super._onDestroy();\n }\n\n private _uploadGeometry(): void {\n const geometry = this._geometry;\n const { vertices, indices, batches, batchCount, vertexCount, indexCount, bounds, vertexStride } = geometry;\n const subPrimitives = this._subPrimitives;\n for (let i = 0; i < batchCount; i++) {\n const batch = batches[i];\n const primitive = subPrimitives[i] ?? (subPrimitives[i] = new SubPrimitive());\n primitive.start = batch.start;\n primitive.count = batch.count;\n const data =\n this._batchShaderData[i] ?? (this._batchShaderData[i] = new ShaderData(ShaderDataGroup.RenderElement));\n data.setTexture(SpineAnimationRenderer._textureProperty, batch.texture);\n this._setBatchBlend(data, batch.blendMode);\n }\n this._clearBatchTextures(batchCount);\n subPrimitives.length = batchCount;\n if (!vertexCount) {\n this._localBounds.min.set(0, 0, 0);\n this._localBounds.max.set(0, 0, 0);\n return;\n }\n this._localBounds.copyFrom(bounds);\n if (\n this._needResizeBuffer ||\n this._vertexBuffer?.byteLength !== vertices.byteLength ||\n this._indexBuffer?.byteLength !== indices.byteLength\n ) {\n const oldVertexBuffer = this._vertexBuffer;\n const oldIndexBuffer = this._indexBuffer;\n this._vertexBuffer = new Buffer(this.engine, BufferBindFlag.VertexBuffer, vertices, BufferUsage.Dynamic);\n this._indexBuffer = new Buffer(this.engine, BufferBindFlag.IndexBuffer, indices, BufferUsage.Dynamic);\n this._primitive.setVertexBufferBinding(0, new VertexBufferBinding(this._vertexBuffer, vertexStride * 4));\n this._primitive.setIndexBufferBinding(new IndexBufferBinding(this._indexBuffer, IndexFormat.UInt16));\n oldVertexBuffer?.destroy();\n oldIndexBuffer?.destroy();\n this._needResizeBuffer = false;\n } else {\n this._vertexBuffer.setData(vertices, 0, 0, vertexCount * vertexStride);\n this._indexBuffer.setData(indices, 0, 0, indexCount);\n }\n }\n\n private _getSlotIndex(slot: SpineSlot): number {\n const index = this._publicSkeleton?.slots.indexOf(slot) ?? -1;\n if (index < 0) throw new Error(\"The Spine slot does not belong to this renderer's current skeleton.\");\n return index;\n }\n\n private _clearSlotMaterials(): void {\n for (const material of this._slotMaterials.values()) this._addResourceReferCount(material, -1);\n this._slotMaterials.clear();\n this._slotMaterialsDirty = false;\n }\n\n private _buildGeometry(): void {\n const geometry = this._geometry;\n geometry.reset(this.zSpacing, this.tintBlack, this.getMaterial());\n this._runtime.buildGeometry(this._skeleton, geometry);\n this._uploadGeometry();\n this._slotMaterialsDirty = false;\n this._dirtyUpdateFlag |= RendererUpdateFlags.WorldVolume;\n }\n\n private _clearBatchTextures(start: number): void {\n for (let i = start; i < this._batchShaderData.length; i++) {\n this._batchShaderData[i].setTexture(SpineAnimationRenderer._textureProperty, null);\n }\n }\n\n private _setBatchBlend(data: ShaderData, blendMode: SpineBlendMode): void {\n const { One, OneMinusSourceAlpha, DestinationColor, OneMinusSourceColor } = BlendFactor;\n let sourceColor = One;\n let destinationColor = OneMinusSourceAlpha;\n let destinationAlpha = OneMinusSourceAlpha;\n switch (blendMode) {\n case SpineBlendMode.Additive:\n destinationColor = destinationAlpha = One;\n break;\n case SpineBlendMode.Multiply:\n sourceColor = DestinationColor;\n break;\n case SpineBlendMode.Screen:\n sourceColor = One;\n destinationColor = OneMinusSourceColor;\n break;\n }\n data.setInt(SpineAnimationRenderer._sourceColorProperty, sourceColor);\n data.setInt(SpineAnimationRenderer._destinationColorProperty, destinationColor);\n data.setInt(SpineAnimationRenderer._sourceAlphaProperty, One);\n data.setInt(SpineAnimationRenderer._destinationAlphaProperty, destinationAlpha);\n }\n\n private _applyDefaultConfig(): void {\n const { _publicSkeleton: skeleton, _publicState: state } = this;\n if (skeleton && state) {\n const { animationName, skinName, loop } = this.defaultConfig;\n if (skinName !== \"default\") {\n skeleton.setSkinByName(skinName);\n skeleton.setToSetupPose();\n }\n if (animationName) {\n state.setAnimation(0, animationName, loop);\n }\n }\n }\n\n /**\n * Spine resource of this renderer, or null when unbound.\n */\n get resource(): SpineResource | null {\n return this._resource;\n }\n\n /**\n * Bind a Spine resource, or assign null to clear its pose and playback.\n *\n * @param value - The resource to use, or null to unbind\n */\n set resource(value: SpineResource | null) {\n if (this._resource === value) return;\n this._publicState?._dispose();\n this._clearSlotMaterials();\n if (this._resource) this._addResourceReferCount(this._resource, -1);\n this._resource = value;\n this._state = null;\n this._skeleton = null;\n this._runtime = null;\n this._physics = null;\n this._publicSkeleton = null;\n this._publicState = null;\n this._subPrimitives.length = 0;\n this._geometry.reset(this.zSpacing, this.tintBlack, this.getMaterial());\n this._clearBatchTextures(0);\n this._localBounds.min.set(0, 0, 0);\n this._localBounds.max.set(0, 0, 0);\n this._dirtyUpdateFlag |= RendererUpdateFlags.WorldVolume;\n if (!value) return;\n this._addResourceReferCount(value, 1);\n const { skeletonData, stateData, _runtime: runtime } = value;\n this._setRuntime(runtime);\n this._setSkeleton(runtime.createSkeleton(skeletonData._native), skeletonData);\n this._setState(runtime.createAnimationState(stateData._native), stateData);\n this._applyDefaultConfig();\n }\n}\n\n/**\n * Default state for spine animation.\n * Contains the default animation name to be played, whether this animation should loop,\n * the default skin name, and the default scale of the skeleton.\n */\nexport class SpineAnimationDefaultConfig {\n /**\n * Creates an instance of default config\n */\n constructor(\n /**\n * Whether the default animation should loop @defaultValue `true. The default animation should loop`\n */\n public loop: boolean = true,\n\n /**\n * The name of the default animation @defaultValue `null. Do not play any animation by default`\n */\n public animationName: string | null = null,\n\n /**\n * The name of the default skin @defaultValue `default`\n */\n public skinName: string = \"default\"\n ) {}\n}\n","import type { ISpineSkeletonData } from \"@galacean/engine-design\";\nimport { SpineSkeletonData } from \"../SpineSkeletonData\";\nimport { SpineAnimationStateData } from \"../SpineAnimationStateData\";\nimport type { SpineSkin } from \"../SpineSkin\";\nimport type { ISpineRuntime } from \"../runtime/ISpineRuntime\";\nimport { Engine, Entity, ReferResource, Texture2D } from \"@galacean/engine\";\nimport { SpineAnimationRenderer } from \"../renderer/SpineAnimationRenderer\";\n\n/**\n * Represents a resource that manages Spine animation data, textures, and entity templates for the Galacean engine.\n *\n */\nexport class SpineResource extends ReferResource {\n /** The url of spine resource. */\n readonly url: string;\n\n private _texturesInSpineAtlas: Texture2D[] = [];\n private _skeletonData: SpineSkeletonData;\n private _stateData: SpineAnimationStateData;\n\n private _template: Entity;\n\n /** @internal */\n readonly _runtime: ISpineRuntime;\n\n private constructor(engine: Engine, runtime: ISpineRuntime, skeletonData: ISpineSkeletonData, url?: string) {\n super(engine);\n this._runtime = runtime;\n this.url = url;\n this._skeletonData = SpineSkeletonData._create(skeletonData);\n this._stateData = SpineAnimationStateData._create(\n this._runtime.createAnimationStateData(skeletonData),\n this._skeletonData\n );\n this._associationTextureInSkeletonData(skeletonData);\n this._createTemplate();\n }\n\n /** @internal */\n static _create(\n engine: Engine,\n runtime: ISpineRuntime,\n skeletonData: ISpineSkeletonData,\n url?: string\n ): SpineResource {\n return new SpineResource(engine, runtime, skeletonData, url);\n }\n\n /**\n * The skeleton data associated with this Spine resource.\n */\n get skeletonData(): SpineSkeletonData {\n return this._skeletonData;\n }\n\n /**\n * The animation state data associated with this Spine resource.\n */\n get stateData(): SpineAnimationStateData {\n return this._stateData;\n }\n\n /**\n * Create an empty skin for composing skins/attachments from this resource.\n * The returned skin can be assigned to one or more instances of this resource.\n */\n createSkin(name: string): SpineSkin {\n return this._skeletonData._wrapSkin(this._runtime.createSkin(name));\n }\n\n /** Creates an independent pose and playback state using this resource's shared data. */\n instantiate(): Entity {\n return this._template.clone();\n }\n\n protected override _onDestroy(): void {\n super._onDestroy();\n if (this._template) {\n this._template.getComponent(SpineAnimationRenderer).getMaterial()?._disassociationSuperResource(this);\n this._template.destroy();\n }\n this._template = null;\n this._disassociateTextures();\n this._skeletonData = null;\n this._stateData = null;\n }\n\n private _createTemplate(): void {\n const name = this._extractFileName(this.url);\n const spineEntity = new Entity(this.engine, name);\n spineEntity._markAsTemplate(this);\n const spineAnimationRenderer = spineEntity.addComponent(SpineAnimationRenderer);\n spineAnimationRenderer.getMaterial()._associationSuperResource(this);\n spineAnimationRenderer.resource = this;\n this._template = spineEntity;\n }\n\n private _associationTextureInSkeletonData(skeletonData: ISpineSkeletonData): void {\n const textures = (this._texturesInSpineAtlas = this._runtime.getTextures(skeletonData));\n for (const texture of textures) {\n texture._associationSuperResource(this);\n }\n }\n\n private _disassociateTextures(): void {\n const textures = this._texturesInSpineAtlas;\n for (let i = 0, n = textures.length; i < n; i++) {\n textures[i]._disassociationSuperResource(this);\n }\n textures.length = 0;\n }\n\n private _extractFileName(url: string): string {\n if (!url) return \"Spine Entity\";\n const match = url.match(/\\/([^\\/]+?)(\\.[^\\/]*)?$/);\n return match ? match[1] : \"Spine Entity\";\n }\n}\n","import { LoaderUtils } from \"./LoaderUtils\";\nimport { readSpineVersion } from \"./SpineVersion\";\nimport type { ISpineRuntime } from \"../runtime/ISpineRuntime\";\nimport {\n AssetPromise,\n Engine,\n EngineConfiguration,\n Loader,\n LoadItem,\n resourceLoader,\n ResourceManager\n} from \"@galacean/engine\";\nimport { SpineResource } from \"./SpineResource\";\n\ntype SpineAssetPath = {\n atlasPath: string;\n skeletonPath: string;\n extraPaths: string[];\n};\n\ntype SpineLoadContext = {\n spineAssetPath: SpineAssetPath;\n skeletonRawData: string | ArrayBuffer;\n};\n\n// Specify type: \"Spine\" when loading Spine assets with .json or .bin extensions.\n@resourceLoader(\"Spine\", [\"skel\"])\nexport class SpineLoader extends Loader<SpineResource> {\n private static _decoder = new TextDecoder(\"utf-8\");\n\n private _runtimes = new WeakMap<Engine, Map<string, ISpineRuntime>>();\n\n static _getUrlExtension(url: string): string | null {\n const match = SpineLoader._getUrlPath(url).match(/\\.(\\w+)$/);\n return match ? match[1] : null;\n }\n\n private static _groupAssetsByExtension(url: string, assetPath: SpineAssetPath) {\n const ext = SpineLoader._getUrlExtension(url);\n if (!ext) return;\n\n if ([\"skel\", \"json\", \"bin\"].includes(ext)) {\n assetPath.skeletonPath = url;\n } else if (ext === \"atlas\") {\n assetPath.atlasPath = url;\n } else {\n assetPath.extraPaths.push(url);\n }\n }\n\n private static _assignAssetPathsFromUrl(url: string, assetPath: SpineAssetPath, resourceManager: ResourceManager) {\n const ext = SpineLoader._getUrlExtension(url);\n if (!ext) return;\n assetPath.skeletonPath = url;\n const skeletonDependency = resourceManager?._virtualPathResourceMap?.[url]?.dependentAssetMap;\n if (skeletonDependency) {\n assetPath.atlasPath = skeletonDependency.atlas;\n } else {\n const path = SpineLoader._getUrlPath(url);\n const extensionPattern: RegExp = /\\.(json|bin|skel)$/;\n if (extensionPattern.test(path)) {\n assetPath.atlasPath = path.replace(extensionPattern, \".atlas\");\n }\n }\n }\n\n private static _getUrlPath(url: string): string {\n return url.split(/[?#]/, 1)[0];\n }\n\n override initialize(engine: Engine, configuration: EngineConfiguration): void {\n if (configuration.spine) {\n this._registerRuntime(engine, configuration.spine);\n }\n }\n\n load(item: LoadItem, resourceManager: ResourceManager): AssetPromise<SpineResource> {\n return new AssetPromise((resolve, reject) => {\n const spineLoadContext: SpineLoadContext = {\n skeletonRawData: \"\",\n spineAssetPath: {\n atlasPath: null,\n skeletonPath: null,\n extraPaths: []\n }\n };\n const { spineAssetPath } = spineLoadContext;\n if (!item.urls) {\n SpineLoader._assignAssetPathsFromUrl(item.url, spineAssetPath, resourceManager);\n } else {\n const urls = item.urls;\n for (let i = 0, len = urls.length; i < len; i += 1) {\n const url = urls[i];\n SpineLoader._groupAssetsByExtension(url, spineAssetPath);\n }\n }\n\n const { skeletonPath, atlasPath } = spineAssetPath;\n if (!skeletonPath || !atlasPath) {\n reject(\n new Error(\n \"Failed to load spine assets. Please check the file path and ensure the file extension is included.\"\n )\n );\n return;\n }\n\n resourceManager\n ._request(skeletonPath, { type: \"arraybuffer\" })\n .then((skeletonRawData: ArrayBuffer) => {\n spineLoadContext.skeletonRawData = skeletonRawData;\n const skeletonString = SpineLoader._decoder.decode(skeletonRawData).trimStart();\n if (skeletonString.startsWith(\"{\")) {\n spineLoadContext.skeletonRawData = skeletonString;\n }\n return this._loadAndCreateSpineResource(spineLoadContext, resourceManager);\n })\n .then(resolve)\n .catch(reject);\n });\n }\n\n /** @internal */\n _registerRuntime(engine: Engine, runtime: ISpineRuntime): void {\n if (!/^\\d+\\.\\d+$/.test(runtime.version)) {\n throw new Error(`Invalid Spine runtime version: ${runtime.version}`);\n }\n let engineRuntimes = this._runtimes.get(engine);\n if (engineRuntimes?.has(runtime.version)) {\n return;\n }\n if (!engineRuntimes) {\n engineRuntimes = new Map();\n this._runtimes.set(engine, engineRuntimes);\n }\n engineRuntimes.set(runtime.version, runtime);\n }\n\n private _getRuntime(engine: Engine, version: string | null | undefined): ISpineRuntime {\n const majorMinor = /^(\\d+\\.\\d+)(?:\\.|$)/.exec(version ?? \"\")?.[1];\n const runtime = this._runtimes.get(engine)?.get(majorMinor);\n if (!runtime) {\n throw new Error(\n `No Spine runtime registered for asset version \"${version}\" on this engine. ` +\n \"Pass a matching backend through the spine option when creating the engine.\"\n );\n }\n return runtime;\n }\n\n private _loadAndCreateSpineResource(\n spineLoadContext: SpineLoadContext,\n resourceManager: ResourceManager\n ): Promise<SpineResource> {\n const { engine } = resourceManager;\n const { skeletonRawData, spineAssetPath } = spineLoadContext;\n const { skeletonPath, atlasPath, extraPaths } = spineAssetPath;\n\n const runtime = this._getRuntime(engine, readSpineVersion(skeletonRawData));\n return LoaderUtils.loadAtlas(atlasPath, extraPaths, resourceManager).then((atlas) => {\n const textureAtlas = runtime.createTextureAtlas(atlas.text, atlas.textures);\n const skeletonData = runtime.createSkeletonData(skeletonRawData, textureAtlas, 0.01);\n return SpineResource._create(engine, runtime, skeletonData, skeletonPath);\n });\n }\n}\n\ndeclare module \"@galacean/engine\" {\n interface EngineConfiguration {\n /** Initial Spine backend. Import engine-spine before creating the engine. */\n spine?: ISpineRuntime;\n }\n}\n","import * as LoaderObject from \"./loader\";\nimport * as RendererObject from \"./renderer\";\nimport { Loader } from \"@galacean/engine\";\n\nfor (const key in RendererObject) {\n Loader.registerClass(key, RendererObject[key]);\n}\nfor (const key in LoaderObject) {\n Loader.registerClass(key, LoaderObject[key]);\n}\n\nexport * from \"./loader/index\";\nexport * from \"./renderer/index\";\nexport { SpineSkeleton } from \"./SpineSkeleton\";\nexport { SpineBone } from \"./SpineBone\";\nexport { SpineSlot } from \"./SpineSlot\";\nexport { SpineSkin } from \"./SpineSkin\";\nexport { SpineSkeletonData } from \"./SpineSkeletonData\";\nexport { SpineAnimationStateData } from \"./SpineAnimationStateData\";\nexport { SpineAnimationState } from \"./SpineAnimationState\";\nexport { SpineTrackEntry } from \"./SpineTrackEntry\";\nexport { SpinePhysics } from \"./SpinePhysics\";\nexport { SpinePhysicsConstraint } from \"./SpinePhysicsConstraint\";\nexport type { SpineAnimation } from \"./SpineAnimation\";\nexport type { SpineAnimationStateListener, SpineEvent } from \"./SpineAnimationStateListener\";\nexport type { SpinePhysicsSupport } from \"./SpinePhysics\";\n\nexport const version = `__buildVersion`;\nconsole.log(`Galacean spine version: ${version}`);\n"],"names":["LoaderUtils","loadAtlas","atlasPath","extraPaths","resourceManager","text","atlas","virtualResources","imagePaths","dependencies","baseUrl","imageSources","pagePaths","page","textures","_request","type","_readAtlas","_virtualPathResourceMap","filter","url","test","split","length","dependentAssetMap","Object","values","getBaseUrl","pages","map","name","path","index","source","find","endsWith","Error","pma","Promise","all","extension","texture","exec","AssetType","KTX","KTX2","Texture","load","isSRGBColorSpace","readAtlasPageNames","lines","pageStart","pageHeader","line","value","trim","includes","push","separator","indexOf","substring","join","isLocalPath","lastSlashIndex","lastIndexOf","parsedUrl","URL","basePath","origin","pathname","readSpineVersion","data","readString","JSON","version","parse","skeleton","spine","bytes","Uint8Array","offset","count","shift","byte","end","Math","max","TextDecoder","decode","subarray","hash","oldVersion","newVersion","candidates","Boolean","SpineSkin","native","owner","_native","_owner","addSkin","skin","_create","SpineSkeletonData","_skins","WeakMap","animations","freeze","duration","skins","_wrapSkin","findSkin","findAnimation","animation","get","set","x","y","width","height","defaultSkin","SpineAnimationStateData","skeletonData","setMix","from","to","defaultMix","SpineBone","isActive","setToSetupPose","rotation","scaleX","scaleY","shearX","shearY","a","b","c","d","worldX","worldY","SpineSlot","_skeleton","bone","setAttachment","SpineSkeleton","bones","Map","slots","slot","findBone","findSlot","setSkinByName","setSkin","slotName","attachmentName","setBonesToSetupPose","setSlotsToSetupPose","SpineTrackEntry","_state","_listener","_animation","getAnimationTime","_requireNative","isComplete","_invalidate","state","disposed","trackIndex","next","_wrap","mixingFrom","mixingTo","listener","_relay","loop","delay","trackTime","trackEnd","timeScale","alpha","animationStart","animationEnd","mixTime","mixDuration","SpineAnimationState","_runtime","_entries","_listeners","Set","_operationDepth","_disposed","addListener","start","entry","_dispatch","interrupt","complete","dispose","delete","event","size","snapshot","_event","Array","setAnimation","track","_validateTrack","_command","addAnimation","setEmptyAnimation","addEmptyAnimation","setEmptyAnimations","getCurrent","clearTrack","clearTracks","add","removeListener","clearListeners","clear","_dispose","_endOperation","_advance","delta","advanceState","_apply","applyState","Number","isInteger","command","result","batchAnimationStateEvents","time","intValue","floatValue","stringValue","runtime","SpinePhysicsConstraint","reset","inertia","strength","damping","massInverse","wind","gravity","mix","SpinePhysics","physicsConstraints","physicsTranslate","physicsRotate","degrees","capability","supported","reason","SpineMaterial","engine","shader","Shader","clone","dest","_cloneToAndModifyName","Material","SpineBlendMode","SpineVertexStride","withoutTint","withTint","SpineGeometry","_slotMaterials","vertices","Float32Array","indices","Uint16Array","vertexCount","indexCount","vertexStride","zSpacing","tintBlack","defaultMaterial","bounds","BoundingBox","batches","batchCount","batch","material","min","Infinity","append","blendMode","drawOrder","slotIndex","vertexStart","indexStart","_ensureCapacity","targetVertices","targetIndices","z","targetOffset","sourceOffset","vertex","i","lastBatch","SpineAnimationRenderer","entity","onBeforeApply","Signal","onUpdateLocal","onUpdateWorld","onUpdateComplete","_tintBlack","defaultConfig","SpineAnimationDefaultConfig","_subPrimitives","_needResizeBuffer","_resource","_localBounds","Vector3","_slotMaterialsDirty","_geometry","_batchShaderData","_physics","_publicSkeleton","_publicState","defaults","_defaultMaterials","destroyed","pendingDestroy","setMaterial","primitive","Primitive","_primitive","_addReferCount","addVertexElement","_positionVertexElement","_lightColorVertexElement","_uvVertexElement","_darkColorVertexElement","_setRuntime","indexOrSlotOrMaterial","_getSlotIndex","previous","_addResourceReferCount","getMaterial","indexOrSlot","_onEnable","_applyDefaultConfig","update","_isCurrentState","invoke","listenerCount","updateWorldTransform","_buildGeometry","_render","context","priority","distanceForSort","_distanceForSort","renderElementPool","_renderElementPool","renderPipeline","camera","_renderPipeline","n","_basicResources","meshMagentaMaterial","renderElement","undefined","subDistancePriority","pushRenderElement","_updateBounds","worldBounds","transform","worldMatrix","_setSkeleton","getPhysics","_setState","_onClone","target","setMaterials","_materials","resource","_onDestroy","removeAll","_clearSlotMaterials","_clearBatchTextures","destroy","_vertexBuffer","_indexBuffer","_uploadGeometry","geometry","subPrimitives","SubPrimitive","ShaderData","ShaderDataGroup","RenderElement","setTexture","_textureProperty","_setBatchBlend","copyFrom","byteLength","oldVertexBuffer","oldIndexBuffer","Buffer","BufferBindFlag","VertexBuffer","BufferUsage","Dynamic","IndexBuffer","setVertexBufferBinding","VertexBufferBinding","setIndexBufferBinding","IndexBufferBinding","IndexFormat","UInt16","setData","buildGeometry","_dirtyUpdateFlag","RendererUpdateFlags","WorldVolume","One","BlendFactor","OneMinusSourceAlpha","DestinationColor","OneMinusSourceColor","sourceColor","destinationColor","destinationAlpha","Additive","Multiply","Screen","setInt","_sourceColorProperty","_destinationColorProperty","_sourceAlphaProperty","_destinationAlphaProperty","animationName","skinName","shaderData","enableMacro","disableMacro","physics","stateData","createSkeleton","createAnimationState","Renderer","ShaderProperty","getByName","VertexElement","VertexElementFormat","Vector4","Vector2","SpineResource","_texturesInSpineAtlas","_skeletonData","_stateData","createAnimationStateData","_associationTextureInSkeletonData","_createTemplate","createSkin","instantiate","_template","getComponent","_disassociationSuperResource","_disassociateTextures","_extractFileName","spineEntity","Entity","_markAsTemplate","spineAnimationRenderer","addComponent","_associationSuperResource","getTextures","match","ReferResource","SpineLoader","_runtimes","initialize","configuration","_registerRuntime","item","AssetPromise","resolve","reject","spineLoadContext","skeletonRawData","spineAssetPath","skeletonPath","urls","_assignAssetPathsFromUrl","len","_groupAssetsByExtension","then","skeletonString","_decoder","trimStart","startsWith","_loadAndCreateSpineResource","catch","engineRuntimes","has","_getRuntime","majorMinor","textureAtlas","createTextureAtlas","createSkeletonData","_getUrlExtension","_getUrlPath","assetPath","ext","skeletonDependency","extensionPattern","replace","Loader","key","RendererObject","registerClass","LoaderObject","console","log"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@galacean/engine")):"function"==typeof define&&define.amd?define(["exports","@galacean/engine"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).Galacean=t.Galacean||{},t.Galacean.Spine={}),t.Galacean)}(this,function(t,e){"use strict";function n(t,e){return(n=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function i(t,e){if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&n(t,e)}function r(t,e,n,i){var r,a=arguments.length,s=a<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,i);else for(var o=t.length-1;o>=0;o--)(r=t[o])&&(s=(a<3?r(s):a>3?r(e,n,s):r(e,n))||s);return a>3&&s&&Object.defineProperty(e,n,s),s}function a(t,e){var n,i,r,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return s.next=o(0),s.throw=o(1),s.return=o(2),"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function o(o){return function(u){return function(o){if(n)throw TypeError("Generator is already executing.");for(;s&&(s=0,o[0]&&(a=0)),a;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,i=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(r=(r=a.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){a.label=o[1];break}if(6===o[0]&&a.label<r[1]){a.label=r[1],r=o;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(o);break}r[2]&&a.ops.pop(),a.trys.pop();continue}o=e.call(t,a)}catch(t){o=[6,t],i=0}finally{n=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,u])}}}function s(t,e,n,i,r,a,s){try{var o=t[a](s),u=o.value}catch(t){n(t);return}o.done?e(u):Promise.resolve(u).then(i,r)}function o(t){return function(){var e=this,n=arguments;return new Promise(function(i,r){var a=t.apply(e,n);function o(t){s(a,i,r,o,u,"next",t)}function u(t){s(a,i,r,o,u,"throw",t)}o(void 0)})}}function u(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=Array(e);n<e;n++)i[n]=t[n];return i}function l(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(n)return(n=n.call(t)).next.bind(n);if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return u(t,void 0);var n=Object.prototype.toString.call(t).slice(8,-1);if("Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return u(t,void 0)}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0;return function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}"function"==typeof SuppressedError&&SuppressedError;var c,h=/*#__PURE__*/function(){function t(){}return t.loadAtlas=function(n,i,r){return o(function(){var s,u,c,h,f,_,d,p,v,m,y,g,S;return a(this,function(k){switch(k.label){case 0:return[4,r._request(n,{type:"text"})];case 1:for(s=k.sent(),u=t._readAtlas(s),c=r._virtualPathResourceMap,h=i.filter(function(t){return/\.(png|jpg|webp|jpeg|ktx|ktx2)$/.test(t.split(/[?#]/,1)[0])}),0===i.length&&(_=null==(f=c[n])?void 0:f.dependentAssetMap)&&(h=Object.values(_)),0===h.length&&(d=t.getBaseUrl(n),h=u.pages.map(function(t){return d+t.name})),p=h.map(function(t){return{url:t,path:t.split(/[?#]/,1)[0]}}),v=u.pages.map(function(t,e){var n,i=p.find(function(e){var n=e.path;return n===t.name||n.endsWith("/"+t.name)}),r=null==(n=null!=i?i:p[e])?void 0:n.url;if(!r)throw Error('Spine atlas page "'+t.name+'" has no texture.');return r}),m=l(u.pages);!(y=m()).done;)if((g=y.value).pma)throw Error('Spine atlas page "'+g.name+'" uses premultiplied alpha, which is not supported by the linear rendering workflow. Re-export with "Premultiply alpha" disabled and "Bleed" enabled.');return[4,Promise.all(v.map(/*#__PURE__*/o(function(t,n){var i,s,o,l,h,f;return a(this,function(a){switch(a.label){case 0:return o=null==(i=/\.(\w+)$/.exec(t.split(/[?#]/,1)[0]))?void 0:i[1],h=null!=(l=null==(s=c[t])?void 0:s.type)?l:"ktx"===o?e.AssetType.KTX:"ktx2"===o?e.AssetType.KTX2:e.AssetType.Texture,[4,r.load({url:t,type:h})];case 1:if(!(f=a.sent()).isSRGBColorSpace)throw Error('Spine atlas page "'+u.pages[n].name+'" requires an sRGB texture. Set isSRGBColorSpace=true before its first load, or enable sRGB in the exported texture.');return[2,f]}})})))];case 2:return S=k.sent(),[2,{text:u.text,textures:S}]}})})()},t.readAtlasPageNames=function(e){return t._readAtlas(e).pages.map(function(t){return t.name})},t._readAtlas=function(t){for(var e,n=[],i=[],r=!0,a=!1,s=l(t.split(/\r?\n/));!(e=s()).done;){var o=e.value,u=o.trim();if(u){if(r)u.includes(":")||(n.push({name:u,pma:!1}),r=!1,a=!0);else if(a){var c=u.indexOf(":");if(c<0)a=!1;else if("pma"===u.substring(0,c).trim()){n[n.length-1].pma="true"===u.substring(c+1).trim();continue}}}else r=!0,a=!1;i.push(o)}return{pages:n,text:i.join("\n")}},t.getBaseUrl=function(t){if(!/^(http|https|ftp):\/\/.*/i.test(t)){var e=t.lastIndexOf("/");return -1===e?"":t.substring(0,e+1)}var n=new URL(t),i=n.origin+n.pathname;return i.endsWith("/")?i:i.substring(0,i.lastIndexOf("/")+1)},t}();function f(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function _(t,e,n){return e&&f(t.prototype,e),n&&f(t,n),t}var d=/*#__PURE__*/function(){function t(t,e){this._native=t,this._owner=e}return t.prototype.addSkin=function(t){if(t._owner!==this._owner)throw Error("Cannot combine skins from different Spine resources.");this._native.addSkin(t._native)},t._create=function(e,n){return new t(e,n)},_(t,[{key:"name",get:function(){return this._native.name}}]),t}(),p=/*#__PURE__*/function(){function t(t){var e=this;this._skins=new WeakMap,this._native=t,this.animations=Object.freeze(t.animations.map(function(t){return Object.freeze({name:t.name,duration:t.duration})})),this.skins=Object.freeze(t.skins.map(function(t){return e._wrapSkin(t)}))}var e=t.prototype;return e.findSkin=function(t){return this._wrapSkin(this._native.findSkin(t))},e.findAnimation=function(t){var e;return null!=(e=this.animations.find(function(e){return e.name===t}))?e:null},e._wrapSkin=function(t){if(!t)return null;var e=this._skins.get(t);return e||(e=d._create(t,this),this._skins.set(t,e)),e},t._create=function(e){return new t(e)},_(t,[{key:"name",get:function(){var t;return null!=(t=this._native.name)?t:null}},{key:"version",get:function(){var t;return null!=(t=this._native.version)?t:null}},{key:"x",get:function(){return this._native.x}},{key:"y",get:function(){return this._native.y}},{key:"width",get:function(){return this._native.width}},{key:"height",get:function(){return this._native.height}},{key:"defaultSkin",get:function(){return this._wrapSkin(this._native.defaultSkin)}}]),t}(),v=/*#__PURE__*/function(){function t(t,e){this._native=t,this.skeletonData=e}return t.prototype.setMix=function(t,e,n){this._native.setMix(t,e,n)},t._create=function(e,n){return new t(e,n)},_(t,[{key:"defaultMix",get:function(){return this._native.defaultMix},set:function(t){this._native.defaultMix=t}}]),t}();function m(t,e){return null!=e&&"undefined"!=typeof Symbol&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](t):t instanceof e}var y=/*#__PURE__*/function(){function t(t){this._native=t}var e=t.prototype;return e.isActive=function(){return this._native.isActive()},e.setToSetupPose=function(){this._native.setToSetupPose()},t._create=function(e){return new t(e)},_(t,[{key:"name",get:function(){return this._native.data.name}},{key:"x",get:function(){return this._native.x},set:function(t){this._native.x=t}},{key:"y",get:function(){return this._native.y},set:function(t){this._native.y=t}},{key:"rotation",get:function(){return this._native.rotation},set:function(t){this._native.rotation=t}},{key:"scaleX",get:function(){return this._native.scaleX},set:function(t){this._native.scaleX=t}},{key:"scaleY",get:function(){return this._native.scaleY},set:function(t){this._native.scaleY=t}},{key:"shearX",get:function(){return this._native.shearX},set:function(t){this._native.shearX=t}},{key:"shearY",get:function(){return this._native.shearY},set:function(t){this._native.shearY=t}},{key:"a",get:function(){return this._native.a}},{key:"b",get:function(){return this._native.b}},{key:"c",get:function(){return this._native.c}},{key:"d",get:function(){return this._native.d}},{key:"worldX",get:function(){return this._native.worldX}},{key:"worldY",get:function(){return this._native.worldY}}]),t}(),g=/*#__PURE__*/function(){function t(t,e,n){this._native=t,this._skeleton=e,this.bone=n}var e=t.prototype;return e.setAttachment=function(t){this._skeleton.setAttachment(this.name,t)},e.setToSetupPose=function(){this._native.setToSetupPose()},t._create=function(e,n,i){return new t(e,n,i)},_(t,[{key:"name",get:function(){return this._native.data.name}}]),t}(),S=/*#__PURE__*/function(){function t(t,e){var n=this;this._native=t,this.data=e,this.bones=Object.freeze(t.bones.map(function(t){return y._create(t)}));var i=new Map(t.bones.map(function(t,e){return[t,n.bones[e]]}));this.slots=Object.freeze(t.slots.map(function(e){return g._create(e,t,i.get(e.bone))}))}var e=t.prototype;return e.findBone=function(t){var e;return null!=(e=this.bones.find(function(e){return e.name===t}))?e:null},e.findSlot=function(t){var e;return null!=(e=this.slots.find(function(e){return e.name===t}))?e:null},e.setSkinByName=function(t){this._native.setSkinByName(t)},e.setSkin=function(t){var e;if(t&&t._owner!==this.data)throw Error("Cannot assign a skin from another Spine resource.");this._native.setSkin(null!=(e=null==t?void 0:t._native)?e:null)},e.setAttachment=function(t,e){this._native.setAttachment(t,e)},e.setToSetupPose=function(){this._native.setToSetupPose()},e.setBonesToSetupPose=function(){this._native.setBonesToSetupPose()},e.setSlotsToSetupPose=function(){this._native.setSlotsToSetupPose()},t._create=function(e,n){return new t(e,n)},_(t,[{key:"x",get:function(){return this._native.x},set:function(t){this._native.x=t}},{key:"y",get:function(){return this._native.y},set:function(t){this._native.y=t}},{key:"scaleX",get:function(){return this._native.scaleX},set:function(t){this._native.scaleX=t}},{key:"scaleY",get:function(){return this._native.scaleY},set:function(t){this._native.scaleY=t}},{key:"skin",get:function(){return this.data._wrapSkin(this._native.skin)}}]),t}(),k=/*#__PURE__*/function(){function t(t,e){this._native=t,this._state=e,this._listener=null;var n,i=t.animation;this._animation=i?null!=(n=e.data.skeletonData.findAnimation(i.name))?n:Object.freeze({name:i.name,duration:i.duration}):null}var e=t.prototype;return e.getAnimationTime=function(){return this._requireNative().getAnimationTime()},e.isComplete=function(){return this._requireNative().isComplete()},e._invalidate=function(){this._native=null,this._state=null,this._listener=null},e._requireNative=function(){if(!this._native)throw Error("This Spine track entry has been disposed.");return this._native},t._create=function(e,n){return new t(e,n)},_(t,[{key:"disposed",get:function(){return null===this._native}},{key:"animation",get:function(){return this._requireNative(),this._animation}},{key:"trackIndex",get:function(){return this._requireNative().trackIndex}},{key:"next",get:function(){return this._state._wrap(this._requireNative().next)}},{key:"mixingFrom",get:function(){return this._state._wrap(this._requireNative().mixingFrom)}},{key:"mixingTo",get:function(){return this._state._wrap(this._requireNative().mixingTo)}},{key:"listener",get:function(){return this._requireNative(),this._listener},set:function(t){this._requireNative().listener=t?this._state._relay(t):null,this._listener=t}},{key:"loop",get:function(){return this._requireNative().loop},set:function(t){this._requireNative().loop=t}},{key:"delay",get:function(){return this._requireNative().delay},set:function(t){this._requireNative().delay=t}},{key:"trackTime",get:function(){return this._requireNative().trackTime},set:function(t){this._requireNative().trackTime=t}},{key:"trackEnd",get:function(){return this._requireNative().trackEnd},set:function(t){this._requireNative().trackEnd=t}},{key:"timeScale",get:function(){return this._requireNative().timeScale},set:function(t){this._requireNative().timeScale=t}},{key:"alpha",get:function(){return this._requireNative().alpha},set:function(t){this._requireNative().alpha=t}},{key:"animationStart",get:function(){return this._requireNative().animationStart},set:function(t){this._requireNative().animationStart=t}},{key:"animationEnd",get:function(){return this._requireNative().animationEnd},set:function(t){this._requireNative().animationEnd=t}},{key:"mixTime",get:function(){return this._requireNative().mixTime},set:function(t){this._requireNative().mixTime=t}},{key:"mixDuration",get:function(){return this._requireNative().mixDuration},set:function(t){this._requireNative().mixDuration=t}}]),t}(),x=/*#__PURE__*/function(){function t(t,e,n){var i=this;this._native=t,this._runtime=n,this._entries=new WeakMap,this._listeners=new Set,this._operationDepth=0,this._disposed=!1,this.data=e,t.addListener({start:function(t){return i._dispatch("start",t)},interrupt:function(t){return i._dispatch("interrupt",t)},end:function(t){return i._dispatch("end",t)},complete:function(t){return i._dispatch("complete",t)},dispose:function(t){var e=i._wrap(t);i._dispatch("dispose",t),e._invalidate(),i._entries.delete(t)},event:function(t,e){if(i._listeners.size)for(var n,r=i._wrap(t),a=i._event(e),s=l(Array.from(i._listeners));!(n=s()).done;){var o=n.value;null==o.event||o.event.call(o,r,a)}}})}var e=t.prototype;return e.setAnimation=function(t,e,n){var i=this;if(this._validateTrack(t),!this.data.skeletonData.findAnimation(e))throw Error("Animation not found: "+e);return this._command(function(){return i._wrap(i._native.setAnimation(t,e,n))})},e.addAnimation=function(t,e,n,i){var r=this;if(this._validateTrack(t),!this.data.skeletonData.findAnimation(e))throw Error("Animation not found: "+e);return this._command(function(){return r._wrap(r._native.addAnimation(t,e,n,i))})},e.setEmptyAnimation=function(t,e){var n=this;return this._validateTrack(t),this._command(function(){return n._wrap(n._native.setEmptyAnimation(t,e))})},e.addEmptyAnimation=function(t,e,n){var i=this;return this._validateTrack(t),this._command(function(){return i._wrap(i._native.addEmptyAnimation(t,e,n))})},e.setEmptyAnimations=function(t){var e=this;this._command(function(){return e._native.setEmptyAnimations(t)})},e.getCurrent=function(t){return this._validateTrack(t),this._wrap(this._native.getCurrent(t))},e.clearTrack=function(t){var e=this;this._validateTrack(t),this._command(function(){return e._native.clearTrack(t)})},e.clearTracks=function(){var t=this;this._command(function(){return t._native.clearTracks()})},e.addListener=function(t){this._listeners.add(t)},e.removeListener=function(t){this._listeners.delete(t)},e.clearListeners=function(){this._listeners.clear()},e._wrap=function(t){if(!t)return null;var e=this._entries.get(t);return e||(e=k._create(t,this),this._entries.set(t,e)),e},e._relay=function(t){var e=this;return{start:function(n){return null==t.start?void 0:t.start.call(t,e._wrap(n))},interrupt:function(n){return null==t.interrupt?void 0:t.interrupt.call(t,e._wrap(n))},end:function(n){return null==t.end?void 0:t.end.call(t,e._wrap(n))},dispose:function(n){return null==t.dispose?void 0:t.dispose.call(t,e._wrap(n))},complete:function(n){return null==t.complete?void 0:t.complete.call(t,e._wrap(n))},event:function(n,i){return null==t.event?void 0:t.event.call(t,e._wrap(n),e._event(i))}}},e._dispose=function(){this._disposed||(this._disposed=!0,this._operationDepth++,this._native.clearTracks(),this._endOperation())},e._advance=function(t,e){this._operationDepth++,this._runtime.advanceState(t,this._native,e),this._endOperation()},e._apply=function(t){this._operationDepth++,this._runtime.applyState(t,this._native),this._endOperation()},e._validateTrack=function(t){if(!Number.isInteger(t)||t<0)throw Error("Spine track index must be a non-negative integer.")},e._command=function(t){if(this._disposed)throw Error("This Spine animation state has been disposed.");this._operationDepth++;var e=this._runtime.batchAnimationStateEvents(this._native,t);return this._endOperation(),e},e._endOperation=function(){0==--this._operationDepth&&this._disposed&&(this._native.clearListeners(),this._listeners.clear())},e._dispatch=function(t,e){if(this._listeners.size)for(var n,i,r=this._wrap(e),a=l(Array.from(this._listeners));!(i=a()).done;){var s=i.value;null==(n=s[t])||n.call(s,r)}},e._event=function(t){return Object.freeze({data:Object.freeze({name:t.data.name}),time:t.time,intValue:t.intValue,floatValue:t.floatValue,stringValue:t.stringValue})},t._create=function(e,n,i){return new t(e,n,i)},_(t,[{key:"timeScale",get:function(){return this._native.timeScale},set:function(t){this._native.timeScale=t}}]),t}(),b=/*#__PURE__*/function(){function t(t){this._native=t}var e=t.prototype;return e.isActive=function(){return this._native.isActive()},e.reset=function(){this._native.reset()},t._create=function(e){return new t(e)},_(t,[{key:"name",get:function(){return this._native.data.name}},{key:"inertia",get:function(){return this._native.inertia},set:function(t){this._native.inertia=t}},{key:"strength",get:function(){return this._native.strength},set:function(t){this._native.strength=t}},{key:"damping",get:function(){return this._native.damping},set:function(t){this._native.damping=t}},{key:"massInverse",get:function(){return this._native.massInverse},set:function(t){this._native.massInverse=t}},{key:"wind",get:function(){return this._native.wind},set:function(t){this._native.wind=t}},{key:"gravity",get:function(){return this._native.gravity},set:function(t){this._native.gravity=t}},{key:"mix",get:function(){return this._native.mix},set:function(t){this._native.mix=t}}]),t}(),w=/*#__PURE__*/function(){function t(t){this._native=t,this.physicsConstraints=Object.freeze(t.physicsConstraints.map(function(t){return b._create(t)}))}var e=t.prototype;return e.physicsTranslate=function(t,e){this._native.physicsTranslate(t,e)},e.physicsRotate=function(t,e,n){this._native.physicsRotate(t,e,n)},t._create=function(e){return!0===e.supported?Object.freeze({supported:!0,value:new t(e.value)}):Object.freeze({supported:!1,reason:e.reason})},t}(),B=/*#__PURE__*/function(t){function n(n,i){return void 0===i&&(i=e.Shader.find("2D/Spine")),t.call(this,n,i)||this}return i(n,t),n.prototype.clone=function(){var t=new n(this.engine,this.shader);return this._cloneToAndModifyName(t),t},n}(e.Material),C=((c={})[c.Normal=0]="Normal",c[c.Additive=1]="Additive",c[c.Multiply=2]="Multiply",c[c.Screen=3]="Screen",c),A={withoutTint:9,withTint:12},M=/*#__PURE__*/function(){function t(t){this._slotMaterials=t,this.vertices=new Float32Array,this.indices=new Uint16Array,this.vertexCount=0,this.indexCount=0,this.vertexStride=A.withoutTint,this.zSpacing=0,this.tintBlack=!1,this.defaultMaterial=null,this.bounds=new e.BoundingBox,this.batches=[],this.batchCount=0}var n=t.prototype;return n.reset=function(t,e,n){this.zSpacing=t,this.tintBlack=e,this.defaultMaterial=n,this.vertexStride=e?A.withTint:A.withoutTint,this.vertexCount=this.indexCount=this.batchCount=0;for(var i,r=l(this.batches);!(i=r()).done;){var a=i.value;a.texture=null,a.material=null}this.bounds.min.set(1/0,1/0,1/0),this.bounds.max.set(-1/0,-1/0,-1/0)},n.append=function(t,e,n,i,r,a,s,o){if(e&&i){var u=this.vertexCount,l=this.indexCount;this._ensureCapacity(u+e,l+i);for(var c=this.vertices,h=this.indices,f=this.vertexStride,_=this.tintBlack,d=s*this.zSpacing,p=this.bounds,v=p.min,m=p.max,y=u*f,g=0,S=0;S<e;S++){var k=t[g++],x=t[g++];c[y++]=k,c[y++]=x,c[y++]=d,c[y++]=t[g++],c[y++]=t[g++],c[y++]=t[g++],c[y++]=t[g++],c[y++]=t[g++],c[y++]=t[g++],_&&(c[y++]=t[g++],c[y++]=t[g++],c[y++]=t[g++],g++),v.set(Math.min(v.x,k),Math.min(v.y,x),Math.min(v.z,d)),m.set(Math.max(m.x,k),Math.max(m.y,x),Math.max(m.z,d))}for(var b=0;b<i;b++)h[l+b]=n[b]+u;this.vertexCount+=e,this.indexCount+=i;var w=this.batches[this.batchCount-1],B=null!=(C=this._slotMaterials.get(o))?C:this.defaultMaterial;if(w&&w.texture===r&&w.blendMode===a&&w.material===B)w.count+=i;else{var C,A,M=this.batchCount++,T=null!=(A=this.batches[M])?A:this.batches[M]={start:0,count:0,texture:r,blendMode:a,material:B};T.start=l,T.count=i,T.texture=r,T.blendMode=a,T.material=B}}},n._ensureCapacity=function(t,e){var n=t*this.vertexStride;if(n>this.vertices.length){var i=new Float32Array(Math.max(n,2*this.vertices.length,64*this.vertexStride));i.set(this.vertices),this.vertices=i}if(e>this.indices.length){var r=new Uint16Array(Math.max(e,2*this.indices.length,64));r.set(this.indices),this.indices=r}},t}(),T=/*#__PURE__*/function(t){function n(i){(r=t.call(this,i)||this).onBeforeApply=new e.Signal,r.onUpdateLocal=new e.Signal,r.onUpdateWorld=new e.Signal,r.onUpdateComplete=new e.Signal,r.timeScale=1,r.zSpacing=.001,r._tintBlack=!1,r.defaultConfig=new E,r._subPrimitives=[],r._needResizeBuffer=!1,r._resource=null,r._localBounds=new e.BoundingBox(new e.Vector3(1/0,1/0,1/0),new e.Vector3(-1/0,-1/0,-1/0)),r._slotMaterials=new Map,r._slotMaterialsDirty=!1,r._geometry=new M(r._slotMaterials),r._batchShaderData=[],r._physics=null,r._publicSkeleton=null,r._publicState=null;var r,a=n._defaultMaterials,s=a.get(r.engine);(!s||s.destroyed||s.pendingDestroy)&&(s=new B(r.engine),a.set(r.engine,s)),r.setMaterial(s);var o=new e.Primitive(r.engine);return r._primitive=o,r._primitive._addReferCount(1),o.addVertexElement(n._positionVertexElement),o.addVertexElement(n._lightColorVertexElement),o.addVertexElement(n._uvVertexElement),o.addVertexElement(n._darkColorVertexElement),r}i(n,t);var r=n.prototype;return r._setRuntime=function(t){this._runtime=t},r.setMaterial=function(e,n){if(void 0===n&&(n=null),m(e,g)){var i=this._getSlotIndex(e),r=this._slotMaterials.get(i);r!==n&&(r||n)&&(r&&this._addResourceReferCount(r,-1),n?(this._slotMaterials.set(i,n),this._addResourceReferCount(n,1)):this._slotMaterials.delete(i),this._slotMaterialsDirty=!0)}else"number"==typeof e?t.prototype.setMaterial.call(this,e,n):t.prototype.setMaterial.call(this,e)},r.getMaterial=function(e){var n;return void 0===e&&(e=0),m(e,g)?null!=(n=this._slotMaterials.get(this._getSlotIndex(e)))?n:t.prototype.getMaterial.call(this):t.prototype.getMaterial.call(this,e)},r._onEnable=function(){this._applyDefaultConfig()},r.update=function(t){var e=this._publicState,n=this._skeleton,i=this._runtime;e&&n&&(e._advance(n,t*this.timeScale),this._isCurrentState(e))&&(this.onBeforeApply.invoke(this),this._isCurrentState(e))&&(e._apply(n),this._isCurrentState(e))&&(this.onUpdateLocal.invoke(this),this._isCurrentState(e)&&(!(this.onUpdateWorld.listenerCount>0)||(i.updateWorldTransform(n,!1),this.onUpdateWorld.invoke(this),this._isCurrentState(e)))&&(i.updateWorldTransform(n,!0),this.onUpdateComplete.invoke(this),this._isCurrentState(e)&&this._buildGeometry()))},r._isCurrentState=function(t){return!this.destroyed&&this._publicState===t},r._render=function(t){var e=this._primitive,n=this._subPrimitives,i=this._batchShaderData;this._skeleton&&(this._slotMaterialsDirty||this._geometry.defaultMaterial!==this.getMaterial())&&this._buildGeometry();for(var r=this.engine,a=this.priority,s=this._distanceForSort,o=r._renderElementPool,u=t.camera._renderPipeline,l=0,c=n.length;l<c;l++){var h=this._geometry.batches[l].material;if(h){(h.destroyed||h.shader.destroyed)&&(h=r._basicResources.meshMagentaMaterial);var f=o.get();f.set(this,h,e,n[l],void 0,void 0,i[l]),f.priority=a,f.distanceForSort=s,f.subDistancePriority=l,u.pushRenderElement(t,f)}}},r._updateBounds=function(t){e.BoundingBox.transform(this._localBounds,this.entity.transform.worldMatrix,t)},r._setSkeleton=function(t,e){this._skeleton=t,this._publicSkeleton=S._create(t,e),this._physics=w._create(this._runtime.getPhysics(t))},r._setState=function(t,e){this._state=t,this._publicState=x._create(t,e,this._runtime)},r._onClone=function(t){t.setMaterials(this._materials),t.resource=this._resource;for(var e,n=l(this._slotMaterials);!(e=n()).done;){var i=e.value,r=i[0],a=i[1];t.setMaterial(t.skeleton.slots[r],a)}},r._onDestroy=function(){this.onBeforeApply.removeAll(),this.onUpdateLocal.removeAll(),this.onUpdateWorld.removeAll(),this.onUpdateComplete.removeAll(),null==(e=this._publicState)||e._dispose(),this._clearSlotMaterials(),this._geometry=null,this._clearBatchTextures(0),this._batchShaderData.length=0,this._subPrimitives.length=0;var e,n,i,r=this._primitive;r&&(r._addReferCount(-1),r.destroy(),this._primitive=null),null==(n=this._vertexBuffer)||n.destroy(),null==(i=this._indexBuffer)||i.destroy(),this._vertexBuffer=null,this._indexBuffer=null,this._resource&&this._addResourceReferCount(this._resource,-1),this._resource=null,this._runtime=null,this._physics=null,this._skeleton=null,this._state=null,this._publicSkeleton=null,this._publicState=null,t.prototype._onDestroy.call(this)},r._uploadGeometry=function(){for(var t=this._geometry,i=t.vertices,r=t.indices,a=t.batches,s=t.batchCount,o=t.vertexCount,u=t.indexCount,l=t.bounds,c=t.vertexStride,h=this._subPrimitives,f=0;f<s;f++){var _,d,p,v,m=a[f],y=null!=(p=h[f])?p:h[f]=new e.SubPrimitive;y.start=m.start,y.count=m.count;var g=null!=(v=this._batchShaderData[f])?v:this._batchShaderData[f]=new e.ShaderData(e.ShaderDataGroup.RenderElement);g.setTexture(n._textureProperty,m.texture),this._setBatchBlend(g,m.blendMode)}if(this._clearBatchTextures(s),h.length=s,!o){this._localBounds.min.set(0,0,0),this._localBounds.max.set(0,0,0);return}if(this._localBounds.copyFrom(l),this._needResizeBuffer||(null==(_=this._vertexBuffer)?void 0:_.byteLength)!==i.byteLength||(null==(d=this._indexBuffer)?void 0:d.byteLength)!==r.byteLength){var S=this._vertexBuffer,k=this._indexBuffer;this._vertexBuffer=new e.Buffer(this.engine,e.BufferBindFlag.VertexBuffer,i,e.BufferUsage.Dynamic),this._indexBuffer=new e.Buffer(this.engine,e.BufferBindFlag.IndexBuffer,r,e.BufferUsage.Dynamic),this._primitive.setVertexBufferBinding(0,new e.VertexBufferBinding(this._vertexBuffer,4*c)),this._primitive.setIndexBufferBinding(new e.IndexBufferBinding(this._indexBuffer,e.IndexFormat.UInt16)),null==S||S.destroy(),null==k||k.destroy(),this._needResizeBuffer=!1}else this._vertexBuffer.setData(i,0,0,o*c),this._indexBuffer.setData(r,0,0,u)},r._getSlotIndex=function(t){var e,n,i=null!=(n=null==(e=this._publicSkeleton)?void 0:e.slots.indexOf(t))?n:-1;if(i<0)throw Error("The Spine slot does not belong to this renderer's current skeleton.");return i},r._clearSlotMaterials=function(){for(var t,e=l(this._slotMaterials.values());!(t=e()).done;){var n=t.value;this._addResourceReferCount(n,-1)}this._slotMaterials.clear(),this._slotMaterialsDirty=!1},r._buildGeometry=function(){var t=this._geometry;t.reset(this.zSpacing,this.tintBlack,this.getMaterial()),this._runtime.buildGeometry(this._skeleton,t),this._uploadGeometry(),this._slotMaterialsDirty=!1,this._dirtyUpdateFlag|=e.RendererUpdateFlags.WorldVolume},r._clearBatchTextures=function(t){for(var e=t;e<this._batchShaderData.length;e++)this._batchShaderData[e].setTexture(n._textureProperty,null)},r._setBatchBlend=function(t,i){var r=e.BlendFactor.One,a=e.BlendFactor.OneMinusSourceAlpha,s=e.BlendFactor.DestinationColor,o=e.BlendFactor.OneMinusSourceColor,u=r,l=a,c=a;switch(i){case C.Additive:l=c=r;break;case C.Multiply:u=s;break;case C.Screen:u=r,l=o}t.setInt(n._sourceColorProperty,u),t.setInt(n._destinationColorProperty,l),t.setInt(n._sourceAlphaProperty,r),t.setInt(n._destinationAlphaProperty,c)},r._applyDefaultConfig=function(){var t=this._publicSkeleton,e=this._publicState;if(t&&e){var n=this.defaultConfig,i=n.animationName,r=n.skinName,a=n.loop;"default"!==r&&(t.setSkinByName(r),t.setToSetupPose()),i&&e.setAnimation(0,i,a)}},_(n,[{key:"tintBlack",get:function(){return this._tintBlack},set:function(t){this._tintBlack!==t&&(this._tintBlack=t,this._needResizeBuffer=!0,t?this.shaderData.enableMacro("RENDERER_TINT_BLACK"):this.shaderData.disableMacro("RENDERER_TINT_BLACK"))}},{key:"physics",get:function(){return this._physics}},{key:"state",get:function(){if(!this._publicState)throw Error("No Spine resource is bound to this renderer.");return this._publicState}},{key:"skeleton",get:function(){if(!this._publicSkeleton)throw Error("No Spine resource is bound to this renderer.");return this._publicSkeleton}},{key:"resource",get:function(){return this._resource},set:function(t){if(this._resource!==t&&(null==(n=this._publicState)||n._dispose(),this._clearSlotMaterials(),this._resource&&this._addResourceReferCount(this._resource,-1),this._resource=t,this._state=null,this._skeleton=null,this._runtime=null,this._physics=null,this._publicSkeleton=null,this._publicState=null,this._subPrimitives.length=0,this._geometry.reset(this.zSpacing,this.tintBlack,this.getMaterial()),this._clearBatchTextures(0),this._localBounds.min.set(0,0,0),this._localBounds.max.set(0,0,0),this._dirtyUpdateFlag|=e.RendererUpdateFlags.WorldVolume,t)){this._addResourceReferCount(t,1);var n,i=t.skeletonData,r=t.stateData,a=t._runtime;this._setRuntime(a),this._setSkeleton(a.createSkeleton(i._native),i),this._setState(a.createAnimationState(r._native),r),this._applyDefaultConfig()}}}]),n}(e.Renderer);T._defaultMaterials=new WeakMap,T._textureProperty=e.ShaderProperty.getByName("renderElement_SpineTexture"),T._sourceColorProperty=e.ShaderProperty.getByName("renderElement_SpineSourceColorBlendFactor"),T._destinationColorProperty=e.ShaderProperty.getByName("renderElement_SpineDestinationColorBlendFactor"),T._sourceAlphaProperty=e.ShaderProperty.getByName("renderElement_SpineSourceAlphaBlendFactor"),T._destinationAlphaProperty=e.ShaderProperty.getByName("renderElement_SpineDestinationAlphaBlendFactor"),T._positionVertexElement=new e.VertexElement("POSITION",0,e.VertexElementFormat.Vector3,0),T._lightColorVertexElement=new e.VertexElement("LIGHT_COLOR",12,e.VertexElementFormat.Vector4,0),T._uvVertexElement=new e.VertexElement("TEXCOORD_0",28,e.VertexElementFormat.Vector2,0),T._darkColorVertexElement=new e.VertexElement("DARK_COLOR",36,e.VertexElementFormat.Vector3,0),r([e.assignmentClone],T.prototype,"timeScale",void 0),r([e.assignmentClone],T.prototype,"zSpacing",void 0),r([e.assignmentClone],T.prototype,"_tintBlack",void 0),r([e.deepClone],T.prototype,"defaultConfig",void 0),r([e.ignoreClone],T.prototype,"_primitive",void 0),r([e.ignoreClone],T.prototype,"_subPrimitives",void 0),r([e.ignoreClone],T.prototype,"_indexBuffer",void 0),r([e.ignoreClone],T.prototype,"_vertexBuffer",void 0),r([e.ignoreClone],T.prototype,"_needResizeBuffer",void 0),r([e.ignoreClone],T.prototype,"_resource",void 0),r([e.ignoreClone],T.prototype,"_localBounds",void 0),r([e.ignoreClone],T.prototype,"_slotMaterials",void 0),r([e.ignoreClone],T.prototype,"_slotMaterialsDirty",void 0),r([e.ignoreClone],T.prototype,"_geometry",void 0),r([e.ignoreClone],T.prototype,"_batchShaderData",void 0),r([e.ignoreClone],T.prototype,"_skeleton",void 0),r([e.ignoreClone],T.prototype,"_state",void 0),r([e.ignoreClone],T.prototype,"_runtime",void 0),r([e.ignoreClone],T.prototype,"_physics",void 0),r([e.ignoreClone],T.prototype,"_publicSkeleton",void 0),r([e.ignoreClone],T.prototype,"_publicState",void 0);var E=function(t,e,n){void 0===t&&(t=!0),void 0===e&&(e=null),void 0===n&&(n="default"),this.loop=t,this.animationName=e,this.skinName=n},P=/*#__PURE__*/function(t){function n(e,n,i,r){var a;return(a=t.call(this,e)||this)._texturesInSpineAtlas=[],a._runtime=n,a.url=r,a._skeletonData=p._create(i),a._stateData=v._create(a._runtime.createAnimationStateData(i),a._skeletonData),a._associationTextureInSkeletonData(i),a._createTemplate(),a}i(n,t);var r=n.prototype;return r.createSkin=function(t){return this._skeletonData._wrapSkin(this._runtime.createSkin(t))},r.instantiate=function(){return this._template.clone()},r._onDestroy=function(){if(t.prototype._onDestroy.call(this),this._template){var e;null==(e=this._template.getComponent(T).getMaterial())||e._disassociationSuperResource(this),this._template.destroy()}this._template=null,this._disassociateTextures(),this._skeletonData=null,this._stateData=null},r._createTemplate=function(){var t=this._extractFileName(this.url),n=new e.Entity(this.engine,t);n._markAsTemplate(this);var i=n.addComponent(T);i.getMaterial()._associationSuperResource(this),i.resource=this,this._template=n},r._associationTextureInSkeletonData=function(t){for(var e,n=this._texturesInSpineAtlas=this._runtime.getTextures(t),i=l(n);!(e=i()).done;)e.value._associationSuperResource(this)},r._disassociateTextures=function(){for(var t=this._texturesInSpineAtlas,e=0,n=t.length;e<n;e++)t[e]._disassociationSuperResource(this);t.length=0},r._extractFileName=function(t){if(!t)return"Spine Entity";var e=t.match(/\/([^\/]+?)(\.[^\/]*)?$/);return e?e[1]:"Spine Entity"},n._create=function(t,e,i,r){return new n(t,e,i,r)},_(n,[{key:"skeletonData",get:function(){return this._skeletonData}},{key:"stateData",get:function(){return this._stateData}}]),n}(e.ReferResource),D=/*#__PURE__*/function(t){function n(){var e;return e=t.apply(this,arguments)||this,e._runtimes=new WeakMap,e}i(n,t);var r=n.prototype;return r.initialize=function(t,e){e.spine&&this._registerRuntime(t,e.spine)},r.load=function(t,i){var r=this;return new e.AssetPromise(function(e,a){var s={skeletonRawData:"",spineAssetPath:{atlasPath:null,skeletonPath:null,extraPaths:[]}},o=s.spineAssetPath;if(t.urls)for(var u=t.urls,l=0,c=u.length;l<c;l+=1){var h=u[l];n._groupAssetsByExtension(h,o)}else n._assignAssetPathsFromUrl(t.url,o,i);var f=o.skeletonPath,_=o.atlasPath;if(!f||!_){a(Error("Failed to load spine assets. Please check the file path and ensure the file extension is included."));return}i._request(f,{type:"arraybuffer"}).then(function(t){s.skeletonRawData=t;var e=n._decoder.decode(t).trimStart();return e.startsWith("{")&&(s.skeletonRawData=e),r._loadAndCreateSpineResource(s,i)}).then(e).catch(a)})},r._registerRuntime=function(t,e){if(!/^\d+\.\d+$/.test(e.version))throw Error("Invalid Spine runtime version: "+e.version);var n=this._runtimes.get(t);null!=n&&n.has(e.version)||(n||(n=new Map,this._runtimes.set(t,n)),n.set(e.version,e))},r._getRuntime=function(t,e){var n,i,r=null==(n=/^(\d+\.\d+)(?:\.|$)/.exec(null!=e?e:""))?void 0:n[1],a=null==(i=this._runtimes.get(t))?void 0:i.get(r);if(!a)throw Error('No Spine runtime registered for asset version "'+e+'" on this engine. Pass a matching backend through the spine option when creating the engine.');return a},r._loadAndCreateSpineResource=function(t,e){var n=e.engine,i=t.skeletonRawData,r=t.spineAssetPath,a=r.skeletonPath,s=r.atlasPath,o=r.extraPaths,u=this._getRuntime(n,function(t){if("string"==typeof t){var e,n,i,r=null==(i=JSON.parse(t).skeleton)?void 0:i.spine;if("string"==typeof r&&/^\d+\.\d+(?:\.|$)/.test(r))return r;throw Error("Spine JSON is missing a valid skeleton.spine export version.")}var a=new Uint8Array(t);function s(t){for(var e=0,n=0;n<35&&!(t>=a.length);n+=7){var i=a[t++];if(e+=(127&i)*Math.pow(2,n),(128&i)==0){var r=t+Math.max(0,e-1);if(r>a.length)return null;return{value:new TextDecoder().decode(a.subarray(t,r)),end:r}}}return null}var o=s(0),u=o&&(null==(e=s(o.end))?void 0:e.value),l=null==(n=s(8))?void 0:n.value,c=[u&&/^3\.\d+\.\d+$/.test(u)?u:null,l&&/^4\.\d+\.\d+$/.test(l)?l:null].filter(Boolean);if(1!==c.length)throw Error("Cannot determine Spine binary export version: invalid or ambiguous header.");return c[0]}(i));return h.loadAtlas(s,o,e).then(function(t){var e=u.createTextureAtlas(t.text,t.textures),r=u.createSkeletonData(i,e,.01);return P._create(n,u,r,a)})},n._getUrlExtension=function(t){var e=n._getUrlPath(t).match(/\.(\w+)$/);return e?e[1]:null},n._groupAssetsByExtension=function(t,e){var i=n._getUrlExtension(t);i&&(["skel","json","bin"].includes(i)?e.skeletonPath=t:"atlas"===i?e.atlasPath=t:e.extraPaths.push(t))},n._assignAssetPathsFromUrl=function(t,e,i){var r,a;if(n._getUrlExtension(t)){e.skeletonPath=t;var s=null==i?void 0:null==(a=i._virtualPathResourceMap)?void 0:null==(r=a[t])?void 0:r.dependentAssetMap;if(s)e.atlasPath=s.atlas;else{var o=n._getUrlPath(t),u=/\.(json|bin|skel)$/;u.test(o)&&(e.atlasPath=o.replace(u,".atlas"))}}},n._getUrlPath=function(t){return t.split(/[?#]/,1)[0]},n}(e.Loader);D._decoder=new TextDecoder("utf-8"),D=r([e.resourceLoader("Spine",["skel"])],D);var R=/*#__PURE__*/Object.freeze({__proto__:null,SpineResource:P}),N=/*#__PURE__*/Object.freeze({__proto__:null,SpineAnimationRenderer:T,SpineMaterial:B});for(var O in N)e.Loader.registerClass(O,N[O]);for(var I in R)e.Loader.registerClass(I,R[I]);var V="2.0.0-alpha.52";console.log("Galacean spine version: "+V),t.SpineAnimationRenderer=T,t.SpineAnimationState=x,t.SpineAnimationStateData=v,t.SpineBone=y,t.SpineMaterial=B,t.SpinePhysics=w,t.SpinePhysicsConstraint=b,t.SpineResource=P,t.SpineSkeleton=S,t.SpineSkeletonData=p,t.SpineSkin=d,t.SpineSlot=g,t.SpineTrackEntry=k,t.version=V,Object.defineProperty(t,"__esModule",{value:!0})});
|
|
2
|
+
//# sourceMappingURL=browser.min.js.map
|