72 lines
37 KiB
JavaScript
72 lines
37 KiB
JavaScript
var Ae=Object.defineProperty;var Be=(m,o,e)=>o in m?Ae(m,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):m[o]=e;var a=(m,o,e)=>Be(m,typeof o!="symbol"?o+"":o,e);import{T as Fe,a as he,b as F,S as ue,M as pe,c as oe,W as ne,B as H,d as z,L as Te,E as O,e as ce,p as q,f as Ee,g as fe,A as Q,h as me,i as De,j as V,s as re,G as we,k as $,l as Y,m as Le,P as Ie,n as Re,o as Ne,C as X,q as be,r as _e,t as Ue,u as Ye,v as Xe,w as ee,x as j,y as ke,z as Ve,D as J,F as ge,V as Ge,H as ae,I as We,J as $e,U as xe,K as E,R as ve,N as ye,O as Pe,Q as Oe,X as He,Y as ze,Z as qe,_ as Ke}from"./index-C87f76bX.js";import{$ as bt,a0 as kt,a1 as vt,a2 as yt,a3 as Pt,a4 as St,a5 as Mt,a6 as At,a7 as Bt,a8 as Ft,a9 as Et,aa as Dt,ab as Lt,ac as It,ad as Rt,ae as Nt,af as _t,ag as Ut,ah as Yt,ai as Xt,aj as Vt,ak as Gt,al as Wt,am as $t,an as Ot,ao as Ht,ap as zt,aq as qt,ar as Kt,as as Zt,at as Jt,au as Qt,av as jt,aw as es,ax as ts,ay as ss,az as os,aA as ns,aB as as,aC as rs,aD as is,aE as ls,aF as hs,aG as cs,aH as ds,aI as us,aJ as ps,aK as fs,aL as ms,aM as gs,aN as xs,aO as Cs,aP as Ts,aQ as ws,aR as bs,aS as ks,aT as vs,aU as ys,aV as Ps,aW as Ss,aX as Ms,aY as As,aZ as Bs,a_ as Fs,a$ as Es,b0 as Ds,b1 as Ls,b2 as Is,b3 as Rs,b4 as Ns,b5 as _s,b6 as Us,b7 as Ys,b8 as Xs,b9 as Vs,ba as Gs,bb as Ws,bc as $s,bd as Os,be as Hs,bf as zs,bg as qs,bh as Ks,bi as Zs,bj as Js,bk as Qs,bl as js,bm as eo,bn as to,bo as so,bp as oo,bq as no,br as ao,bs as ro,bt as io,bu as lo,bv as ho,bw as co,bx as uo,by as po,bz as fo,bA as mo,bB as go,bC as xo,bD as Co,bE as To,bF as wo,bG as bo,bH as ko,bI as vo,bJ as yo,bK as Po,bL as So,bM as Mo,bN as Ao,bO as Bo,bP as Fo,bQ as Eo,bR as Do,bS as Lo,bT as Io,bU as Ro,bV as No,bW as _o,bX as Uo,bY as Yo,bZ as Xo,b_ as Vo,b$ as Go,c0 as Wo,c1 as $o,c2 as Oo,c3 as Ho}from"./index-C87f76bX.js";import{SkeletonClipping as de,SkeletonPhysicsMovement as Ze,AnimationStateData as Je,AtlasAttachmentLoader as Qe,SkeletonBounds as je}from"./index-DQa0oOKH.js";import{AssetCache as qo,AssetManagerBase as Ko,Downloader as Zo,SkeletonRendererCore as Jo,Triangulator as Qo}from"./index-DQa0oOKH.js";if(typeof window<"u"&&window.PIXI){const m=window.require;window.require=o=>{if(m)return m(o);if(o.startsWith("@pixi/"))return window.PIXI}}const _=class _ extends Fe{constructor(e){super(e.resource.source);a(this,"texture");this.texture=he.from(e)}static from(e){return _.textureMap.has(e)?_.textureMap.get(e):new _(e)}setFilters(e,t){this.texture.baseTexture.scaleMode=_.toPixiTextureFilter(e),this.texture.baseTexture.mipmap=_.toPixiMipMap(e)}setWraps(e,t){this.texture.baseTexture.wrapMode=_.toPixiTextureWrap(e)}dispose(){this.texture.destroy()}static toPixiTextureFilter(e){switch(e){case F.Nearest:case F.MipMapNearestLinear:case F.MipMapNearestNearest:return ue.NEAREST;case F.Linear:case F.MipMapLinearLinear:case F.MipMapLinearNearest:return ue.LINEAR;default:throw new Error(`Unknown texture filter: ${String(e)}`)}}static toPixiMipMap(e){switch(e){case F.Nearest:case F.Linear:return pe.OFF;case F.MipMapNearestLinear:case F.MipMapNearestNearest:case F.MipMapLinearLinear:case F.MipMapLinearNearest:return pe.ON;default:throw new Error(`Unknown texture filter: ${String(e)}`)}}static toPixiTextureWrap(e){switch(e){case oe.ClampToEdge:return ne.CLAMP;case oe.MirroredRepeat:return ne.MIRRORED_REPEAT;case oe.Repeat:return ne.REPEAT;default:throw new Error(`Unknown texture wrap: ${String(e)}`)}}static toPixiBlending(e){switch(e){case H.Normal:return z.NORMAL;case H.Additive:return z.ADD;case H.Multiply:return z.MULTIPLY;case H.Screen:return z.SCREEN;default:throw new Error(`Unknown blendMode: ${String(e)}`)}}};a(_,"textureMap",new Map);let G=_;const K="spineTextureAtlasLoader",et={extension:O.Asset,resolver:{test:m=>V(m,".atlas"),parse:m=>{var e,t;const o=m.split(".");return{resolution:parseFloat(((t=(e=re.RETINA_PREFIX)==null?void 0:e.exec(m))==null?void 0:t[1])??"1"),format:o[o.length-2],src:m}}},loader:{name:K,extension:{type:O.LoadParser,priority:Te.Normal,name:K},test(m){return V(m,".atlas")},async load(m){const o=await re.ADAPTER.fetch(m);if(!o.ok)throw new Error(`[${K}] Failed to fetch ${m}: ${o.status} ${o.statusText}`);return await o.text()},testParse(m,o){const e=V(o.src,".atlas"),t=typeof m=="string",s=o.loadParser===K;return Promise.resolve((e||s)&&t)},unload(m){m.dispose()},async parse(m,o,e){var p;const t=o.data||{};let s=q.dirname(o.src);s&&s.lastIndexOf("/")!==s.length-1&&(s+="/");const n=new Ee(m);if(t.images instanceof fe||typeof t.images=="string"){const h=t.images;t.images={},t.images[n.pages[0].name]=h}const r=[];let l=!0;for(const h of e.parsers)if(h.name==="loadTextures"){l=(p=h.config)==null?void 0:p.preferCreateImageBitmap;break}Q.setPreferences({preferCreateImageBitmap:!1});for(const h of n.pages){const u=h.name,c=t!=null&&t.images?t.images[u]:void 0;if(c instanceof fe)h.setTexture(G.from(c));else{const i=c??q.normalize([...s.split(q.sep),u].join(q.sep)),g={src:De(i,o.src),data:{...t.imageMetadata,alphaMode:h.pma?me.PMA:me.UNPACK}},x=e.load(g).then(d=>{h.setTexture(G.from(d.baseTexture))});r.push(x)}}return await Promise.all(r),Q.setPreferences({preferCreateImageBitmap:l}),n}}};ce.add(et);const Z="spineSkeletonLoader";function tt(m){return m.hasOwnProperty("bones")}function st(m){return m instanceof Uint8Array}const ot={extension:O.Asset,loader:{name:Z,extension:{type:O.LoadParser,priority:Te.Normal,name:Z},test(m){return V(m,".skel")},async load(m){const o=await re.ADAPTER.fetch(m);if(!o.ok)throw new Error(`[${Z}] Failed to fetch ${m}: ${o.status} ${o.statusText}`);return new Uint8Array(await o.arrayBuffer())},testParse(m,o){const e=V(o.src,".json")&&tt(m),t=V(o.src,".skel")&&st(m),s=o.loadParser===Z;return Promise.resolve(e||t||s)}}};ce.add(ot);class nt extends we{constructor(o=!1){super();const e=new $(void 0),t=new $(void 0,!0),s=new $(void 0,!0,!0);this.addAttribute("aVertexPosition",e,2,!1,Y.FLOAT),this.addAttribute("aTextureCoord",t,2,!1,Y.FLOAT),this.addIndex(s)}}const at=`
|
|
attribute vec2 aVertexPosition;
|
|
attribute vec2 aTextureCoord;
|
|
|
|
uniform mat3 projectionMatrix;
|
|
uniform mat3 translationMatrix;
|
|
uniform mat3 uTextureMatrix;
|
|
|
|
varying vec2 vTextureCoord;
|
|
|
|
void main(void)
|
|
{
|
|
gl_Position = vec4((projectionMatrix * translationMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
|
|
|
|
vTextureCoord = (uTextureMatrix * vec3(aTextureCoord, 1.0)).xy;
|
|
}
|
|
`,rt=`
|
|
varying vec2 vTextureCoord;
|
|
uniform vec4 uColor;
|
|
uniform vec4 uDarkColor;
|
|
|
|
uniform sampler2D uSampler;
|
|
|
|
void main(void)
|
|
{
|
|
vec4 texColor = texture2D(uSampler, vTextureCoord);
|
|
gl_FragColor.a = texColor.a * uColor.a;
|
|
gl_FragColor.rgb = ((texColor.a - 1.0) * uDarkColor.a + 1.0 - texColor.rgb) * uDarkColor.rgb + texColor.rgb * uColor.rgb;
|
|
}
|
|
`;class it extends Le{constructor(e){const t={uSampler:e??he.EMPTY,alpha:1,uTextureMatrix:Re.IDENTITY,uColor:new Float32Array([1,1,1,1]),uDarkColor:new Float32Array([0,0,0,0])},s={tint:16777215,darkTint:0,alpha:1,pluginName:"darkTintBatch"};super(Ie.from(at,rt),t);a(this,"uvMatrix");a(this,"batchable");a(this,"pluginName");a(this,"_tintRGB");a(this,"_darkTintRGB");a(this,"_colorDirty");a(this,"_alpha");a(this,"_tintColor");a(this,"_darkTintColor");this._colorDirty=!1,this.uvMatrix=new Ne(t.uSampler),this.batchable=!0,this.pluginName=s.pluginName,this._tintColor=new X(s.tint),this._darkTintColor=new X(s.darkTint),this._tintRGB=this._tintColor.toLittleEndianNumber(),this._darkTintRGB=this._darkTintColor.toLittleEndianNumber(),this._alpha=s.alpha,this._colorDirty=!0}get texture(){return this.uniforms.uSampler}set texture(e){this.uniforms.uSampler!==e&&(!this.uniforms.uSampler.baseTexture.alphaMode!=!e.baseTexture.alphaMode&&(this._colorDirty=!0),this.uniforms.uSampler=e,this.uvMatrix.texture=e)}set alpha(e){e!==this._alpha&&(this._alpha=e,this._colorDirty=!0)}get alpha(){return this._alpha}set tint(e){e!==this.tint&&(this._tintColor.setValue(e),this._tintRGB=this._tintColor.toLittleEndianNumber(),this._colorDirty=!0)}get tint(){return this._tintColor.value}set darkTint(e){e!==this.darkTint&&(this._darkTintColor.setValue(e),this._darkTintRGB=this._darkTintColor.toLittleEndianNumber(),this._colorDirty=!0)}get darkTint(){return this._darkTintColor.value}get tintValue(){return this._tintColor.toNumber()}get darkTintValue(){return this._darkTintColor.toNumber()}update(){this._colorDirty&&(this._colorDirty=!1,X.shared.setValue(this._tintColor).premultiply(this._alpha,!0).toArray(this.uniforms.uColor),X.shared.setValue(this._darkTintColor).premultiply(this._alpha,!0).premultiply(1,!1).toArray(this.uniforms.uDarkColor)),this.uvMatrix.update()&&(this.uniforms.uTextureMatrix=this.uvMatrix.mapCoord)}}class lt extends be{constructor(e){super(new nt,new it(e),void 0,void 0);a(this,"_darkTintRGB",0)}get darkTint(){return"darkTint"in this.shader?this.shader.darkTint:null}set darkTint(e){this.shader.darkTint=e}get darkTintValue(){return this.shader.darkTintValue}_renderToBatch(e){const t=this.geometry,s=this.shader;s.uvMatrix&&(s.uvMatrix.update(),this.calculateUvs()),this.calculateVertices(),this.indices=t.indexBuffer.data,this._tintRGB=s._tintRGB,this._darkTintRGB=s._darkTintRGB,this._texture=s.texture;const n=this.material.pluginName;e.batch.setObjectRenderer(e.plugins[n]),e.plugins[n].render(this)}}const y=class y extends lt{constructor(){super();a(this,"name","")}updateFromSpineData(e,t,s,n,r,l,p,h){var C,T;this.texture=e.texture;const u=r/(h?12:8)*2,c=this.geometry.getBuffer("aTextureCoord");((C=c.data)==null?void 0:C.length)!==u&&(c.data=new Float32Array(u));const i=this.geometry.getBuffer("aVertexPosition");((T=i.data)==null?void 0:T.length)!==u&&(i.data=new Float32Array(u));let g=0;const x=c.data,d=i.data;for(let k=0;k<r;k+=h?12:8){let b=k;d[g]=n[b++],d[g+1]=n[b++],b+=4,x[g]=n[b++],x[g+1]=n[b++],g+=2}h?(y.auxColor[0]=n[8],y.auxColor[1]=n[9],y.auxColor[2]=n[10],y.auxColor[3]=n[11],this.darkTint=y.auxColor,y.auxColor[0]=n[2],y.auxColor[1]=n[3],y.auxColor[2]=n[4],y.auxColor[3]=n[5],this.tint=y.auxColor):(y.auxColor[0]=n[2],y.auxColor[1]=n[3],y.auxColor[2]=n[4],y.auxColor[3]=n[5],this.tint=y.auxColor),this.blendMode=G.toPixiBlending(t),this.alpha=y.auxColor[3];const f=this.geometry.indexBuffer;if(f.data.length!==l.length)f.data=new Uint32Array(l);else{const k=f.data;for(let b=0;b<p;b++)k[b]=l[b]}this.name=s,c.update(),i.update(),f.update()}};a(y,"auxColor",[0,0,0,0]);let ie=y;class ht extends we{constructor(e=!1){super();a(this,"_buffer");a(this,"_indexBuffer");this._buffer=new $(void 0,e,!1),this._indexBuffer=new $(void 0,e,!0),this.addAttribute("aVertexPosition",this._buffer,2,!1,Y.FLOAT).addAttribute("aTextureCoord",this._buffer,2,!1,Y.FLOAT).addAttribute("aColor",this._buffer,4,!0,Y.UNSIGNED_BYTE).addAttribute("aDarkColor",this._buffer,4,!0,Y.UNSIGNED_BYTE).addAttribute("aTextureId",this._buffer,1,!0,Y.FLOAT).addIndex(this._indexBuffer)}}const ct=`
|
|
precision highp float;
|
|
attribute vec2 aVertexPosition;
|
|
attribute vec2 aTextureCoord;
|
|
attribute vec4 aColor;
|
|
attribute vec4 aDarkColor;
|
|
attribute float aTextureId;
|
|
|
|
uniform mat3 projectionMatrix;
|
|
uniform mat3 translationMatrix;
|
|
uniform vec4 tint;
|
|
|
|
varying vec2 vTextureCoord;
|
|
varying vec4 vColor;
|
|
varying vec4 vDarkColor;
|
|
varying float vTextureId;
|
|
|
|
void main(void){
|
|
gl_Position = vec4((projectionMatrix * translationMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
|
|
|
|
vTextureCoord = aTextureCoord;
|
|
vTextureId = aTextureId;
|
|
vColor = aColor * tint;
|
|
vDarkColor = aDarkColor * tint;
|
|
|
|
}
|
|
`,dt=`
|
|
varying vec2 vTextureCoord;
|
|
varying vec4 vColor;
|
|
varying vec4 vDarkColor;
|
|
varying float vTextureId;
|
|
uniform sampler2D uSamplers[%count%];
|
|
|
|
void main(void){
|
|
vec4 color;
|
|
%forloop%
|
|
|
|
|
|
gl_FragColor.a = color.a * vColor.a;
|
|
gl_FragColor.rgb = ((color.a - 1.0) * vDarkColor.a + 1.0 - color.rgb) * vDarkColor.rgb + color.rgb * vColor.rgb;
|
|
}
|
|
`;class Se extends _e{constructor(o){super(o),this.shaderGenerator=new Ue(ct,dt),this.geometryClass=ht,this.vertexSize=7}packInterleavedGeometry(o,e,t,s,n){const{uint32View:r,float32View:l}=e,p=s/this.vertexSize,h=o.uvs,u=o.indices,c=o.vertexData,i=o._texture.baseTexture._batchLocation,g=Math.min(o.worldAlpha,1),x=X.shared.setValue(o._tintRGB).toPremultiplied(g,!0),d=X.shared.setValue(o._darkTintRGB).premultiply(g,!0).toPremultiplied(1,!1);for(let f=0;f<c.length;f+=2)l[s++]=c[f],l[s++]=c[f+1],l[s++]=h[f],l[s++]=h[f+1],r[s++]=x,r[s++]=d,l[s++]=i;for(let f=0;f<u.length;f++)t[n++]=p+u[f]}}a(Se,"extension",{name:"darkTintBatch",type:O.RendererPlugin});ce.add(Se);const U=class U extends be{constructor(){const e=new Ye;e.getBuffer("aVertexPosition").static=!1,e.getBuffer("aTextureCoord").static=!1;const t=new Xe(he.EMPTY);super(e,t);a(this,"name","");a(this,"warnedTwoTint",!1)}updateFromSpineData(e,t,s,n,r,l,p,h){var C,T;this.texture=e.texture;const u=r/(h?12:8)*2,c=this.geometry.getBuffer("aTextureCoord");((C=c.data)==null?void 0:C.length)!==u&&(c.data=new Float32Array(u));const i=this.geometry.getBuffer("aVertexPosition");((T=i.data)==null?void 0:T.length)!==u&&(i.data=new Float32Array(u));let g=0;const x=c.data,d=i.data;for(let k=0;k<r;k+=h?12:8){let b=k;d[g]=n[b++],d[g+1]=n[b++],b+=4,x[g]=n[b++],x[g+1]=n[b++],g+=2}h&&!this.warnedTwoTint&&(console.warn("DarkTint is not enabled by default. To enable use a DarkSlotMesh factory while creating the Spine object."),this.warnedTwoTint=!0),U.auxColor[0]=n[2],U.auxColor[1]=n[3],U.auxColor[2]=n[4],U.auxColor[3]=n[5],this.tint=U.auxColor,this.alpha=U.auxColor[3],this.blendMode=G.toPixiBlending(t);const f=this.geometry.indexBuffer;if(f.data.length!==l.length)f.data=new Uint32Array(l);else{const k=f.data;for(let b=0;b<p;b++)k[b]=l[b]}this.name=s,c.update(),i.update(),f.update()}};a(U,"auxColor",[0,0,0,0]);let le=U;class mt{constructor(o,e,t,s){a(this,"x");a(this,"y");a(this,"width");a(this,"height");this.x=o,this.y=e,this.width=t,this.height=s}calculateBounds(){return{x:this.x,y:this.y,width:this.width,height:this.height}}}class gt{constructor(o=!1){a(this,"clipping");this.clipping=o}calculateBounds(o){if(!o.skeleton)return{x:0,y:0,width:0,height:0};const e=new ee(o.skeleton.data);e.setupPose(),e.updateWorldTransform(j.update);const t=e.getBoundsRect(this.clipping?new de:void 0);return t.width===Number.NEGATIVE_INFINITY?{x:0,y:0,width:0,height:0}:t}}class xt{constructor(o,e=[],t=.05,s=!1){a(this,"animation");a(this,"skins");a(this,"timeStep");a(this,"clipping");this.animation=o,this.skins=e,this.timeStep=t,this.clipping=s}calculateBounds(o){if(!o.skeleton||!o.state)return{x:0,y:0,width:0,height:0};const e=new ke(o.state.data),t=new ee(o.skeleton.data),s=this.clipping?new de:void 0,n=t.data;if(this.skins.length>0){const l=new Ve("custom-skin");for(const p of this.skins){const h=n.findSkin(p);h!=null&&l.addSkin(h)}t.setSkin(l)}t.setupPose();const r=this.animation!=null?n.findAnimation(this.animation):null;if(r==null){t.updateWorldTransform(j.update);const l=t.getBoundsRect(s);return l.width===Number.NEGATIVE_INFINITY?{x:0,y:0,width:0,height:0}:l}else{let l=Number.POSITIVE_INFINITY,p=Number.POSITIVE_INFINITY,h=Number.NEGATIVE_INFINITY,u=Number.NEGATIVE_INFINITY;e.clearTracks(),e.setAnimation(0,r,!1);const c=Math.max(r.duration/this.timeStep,1);for(let g=0;g<c;g++){const x=g>0?this.timeStep:0;e.update(x),e.apply(t),t.update(x),t.updateWorldTransform(j.update);const d=t.getBoundsRect(s);l=Math.min(l,d.x),p=Math.min(p,d.y),h=Math.max(h,d.x+d.width),u=Math.max(u,d.y+d.height)}const i={x:l,y:p,width:h-l,height:u-p};return i.width===Number.NEGATIVE_INFINITY?{x:0,y:0,width:0,height:0}:i}}}const w=class w extends J{constructor(e){super();a(this,"skeleton");a(this,"state");a(this,"skeletonPhysics");a(this,"darkTint",!1);a(this,"hasNeverUpdated",!0);a(this,"_debug");a(this,"slotMeshFactory",()=>new le);a(this,"beforeUpdateWorldTransforms",()=>{});a(this,"afterUpdateWorldTransforms",()=>{});a(this,"_autoUpdate",!1);a(this,"_ticker",ge.shared);a(this,"meshesCache",new Map);a(this,"lightColor",new ae);a(this,"darkColor",new ae);a(this,"clippingVertAux",new Float32Array(6));a(this,"_boundsProvider");a(this,"_boundsPoint",new We);a(this,"_boundsSpineID",-1);a(this,"_boundsSpineDirty",!0);a(this,"slotsObject",new Map);a(this,"verticesCache",xe.newFloatArray(1024));a(this,"clippingSlotToPixiMasks",{});e instanceof $e?e={skeletonData:e}:"skeleton"in e&&(e=new.target.createOptions(e));const{autoUpdate:t=!0,boundsProvider:s,darkTint:n,skeletonData:r,ticker:l}=e;this.skeleton=new ee(r),this.skeletonPhysics=new Ze(this.skeleton,{readTransform:(p,h)=>this.readPhysicsTransform(p,h),worldToSkeleton:p=>this.pixiWorldCoordinatesToSkeleton(p)}),this.state=new ke(new Je(r)),l&&(this._ticker=l),this.autoUpdate=t,this.boundsProvider=s,this.darkTint=n===void 0?this.skeleton.slots.some(p=>!!p.data.setupPose.darkColor):n,this.darkTint&&(this.slotMeshFactory=()=>new ie)}get debug(){return this._debug}set debug(e){this._debug&&this._debug.unregisterSpine(this),e&&e.registerSpine(this),this._debug=e}get autoUpdate(){return this._autoUpdate}set autoUpdate(e){e&&!this._autoUpdate?this._ticker.add(this.internalUpdate,this):!e&&this._autoUpdate&&this._ticker.remove(this.internalUpdate,this),this._autoUpdate=e}get ticker(){return this._ticker}set ticker(e){e=e??ge.shared,this._ticker!==e&&(this._autoUpdate&&(this._ticker.remove(this.internalUpdate,this),e.add(this.internalUpdate,this)),this._ticker=e)}get boundsProvider(){return this._boundsProvider}set boundsProvider(e){this._boundsProvider=e,e?(this._boundsSpineID=-1,this._boundsSpineDirty=!0,this.interactiveChildren=!1):(this.interactiveChildren=!0,this.hitArea=null),this.hasNeverUpdated||this.calculateBounds()}update(e){this.internalUpdate(0,e)}internalUpdate(e,t){this.hasNeverUpdated=!1;const s=t??this._ticker.deltaMS/1e3;this.state.update(s),this.state.apply(this.skeleton),this.skeletonPhysics.applyTransformMovement(),this.beforeUpdateWorldTransforms(this),this.skeleton.update(s),this.skeleton.updateWorldTransform(j.update),this.afterUpdateWorldTransforms(this)}readPhysicsTransform(e,t){const s=this.worldTransform;if(e.x=s.tx,e.y=s.ty,e.z=0,!t)return;let n=0;for(let r=this;r;r=r.parent)n+=r.rotation+(r.skew.y-r.skew.x)/2;e.rotation=n*180/Math.PI}updateTransform(){var e;this.renderMeshes(),this.sortChildren(),(e=this.debug)==null||e.renderDebug(this),super.updateTransform()}destroy(e){this.autoUpdate&&(this.autoUpdate=!1),this._ticker=null;for(const[,t]of this.meshesCache)t==null||t.destroy();this.state.clearListeners(),this.debug=void 0,this.meshesCache.clear(),this.slotsObject.clear();for(const t in this.clippingSlotToPixiMasks)this.clippingSlotToPixiMasks[t].destroy(),delete this.clippingSlotToPixiMasks[t];super.destroy(e)}unloadFromCache(){var s;const e=(s=this.skeleton)==null?void 0:s.data;if(!e)return!1;const t=w.skeletonDataCacheKeys.get(e);return!t||w.skeletonCache[t]!==e?!1:(delete w.skeletonCache[t],w.skeletonDataCacheKeys.delete(e),!0)}resetMeshes(){for(const[,e]of this.meshesCache)e.zIndex=-1,e.visible=!1}_calculateBounds(){this.hasNeverUpdated&&(this.internalUpdate(0,0),this.renderMeshes())}hasMeshForSlot(e){return this.meshesCache.has(e)}getMeshForSlot(e){let t=this.hasMeshForSlot(e)?this.meshesCache.get(e):null;return t?t.visible=!0:(t=this.slotMeshFactory(),this.addChild(t),this.meshesCache.set(e,t)),t}getSlotFromRef(e){let t;if(typeof e=="number"?t=this.skeleton.slots[e]:typeof e=="string"?t=this.skeleton.findSlot(e):t=e,!t)throw new Error(`No slot found with the given slot reference: ${e}`);return t}addSlotObject(e,t,s){var l;const n=this.getSlotFromRef(e),r=(l=this.slotsObject.get(n))==null?void 0:l.container;if(!(r&&r===t)){for(const[p,{container:h}]of this.slotsObject)if(p!==n&&h===t){this.removeSlotObject(p,t);break}r&&this.removeChild(r),this.slotsObject.set(n,{container:t,followAttachmentTimeline:(s==null?void 0:s.followAttachmentTimeline)||!1,followSlotColor:(s==null?void 0:s.followSlotColor)||!1}),this.addChild(t)}}getSlotObject(e){const t=this.slotsObject.get(this.getSlotFromRef(e));return t?t.container:void 0}removeSlotObject(e,t){var r;const s=this.getSlotFromRef(e),n=(r=this.slotsObject.get(s))==null?void 0:r.container;n&&(t&&t!==n||(this.removeChild(n),this.slotsObject.delete(s)))}removeSlotObjects(){for(const[,e]of this.slotsObject)e.container.removeFromParent();this.slotsObject.clear()}pixiMaskCleanup(e){const t=this.clippingSlotToPixiMasks[e.data.name];t&&(delete this.clippingSlotToPixiMasks[e.data.name],t.destroy())}updateSlotObject(e,t,s){const{container:n,followAttachmentTimeline:r}=e,l=t.appliedPose,p=r?!!l.attachment:!0,h=this.skeleton.drawOrder.appliedPose;if(n.visible=h.includes(t)&&p,n.visible){const u=t.bone.appliedPose,c=n.localTransform;c.a=u.a,c.b=u.c,c.c=-u.b,c.d=-u.d,c.tx=u.worldX,c.ty=u.worldY,n.transform.setFromMatrix(c),n.zIndex=s+1,n.alpha=this.skeleton.color.a*l.color.a,e.followSlotColor&&this.setSlotObjectTint(n,255*this.skeleton.color.r*l.color.r<<16|255*this.skeleton.color.g*l.color.g<<8|255*this.skeleton.color.b*l.color.b)}}setSlotObjectTint(e,t){const s=e;"tint"in s&&(s.tint=t);for(const n of s.children??[])this.setSlotObjectTint(n,t)}updateAndSetPixiMask(e,t){if(w.clipper.isClipping()&&e){let s=this.clippingSlotToPixiMasks[e.slot.data.name];if(s||(s=new E,this.clippingSlotToPixiMasks[e.slot.data.name]=s,this.addChild(s)),!e.computed){e.computed=!0;const n=e.slot.appliedPose.attachment,r=n.worldVerticesLength;this.clippingVertAux.length<r&&(this.clippingVertAux=new Float32Array(r)),n.computeWorldVertices(this.skeleton,e.slot,0,r,this.clippingVertAux,0,2),s.clear().lineStyle(0).beginFill(0),s.moveTo(this.clippingVertAux[0],this.clippingVertAux[1]);for(let l=2;l<r;l+=2)s.lineTo(this.clippingVertAux[l],this.clippingVertAux[l+1]);s.finishPoly()}t.mask=s}else t.mask&&(t.mask=null)}renderMeshes(){var l,p;this.resetMeshes();let e=null,t=null,s=null;const n=this.skeleton.drawOrder.appliedPose,r=n;for(let h=0,u=n.length,c=0;h<u;h++){const i=r[h],g=this.slotsObject.get(i),x=h+c;g&&(this.updateSlotObject(g,i,x+1),c++,this.updateAndSetPixiMask(s,g.container));const d=i.appliedPose,f=!!d.darkColor,C=f?w.DARK_VERTEX_SIZE:w.VERTEX_SIZE;if(!i.bone.active){w.clipper.clipEnd(i),this.pixiMaskCleanup(i);continue}const T=d.attachment;let k,b,A=0;const W=this.skeleton;if(T instanceof ve){k=T.color,A=C*4;const v=T.sequence,R=v.resolveIndex(d);T.computeWorldVertices(i,T.getOffsets(d),this.verticesCache,0,C),e=w.QUAD_TRIANGLES,t=v.getUVs(R),b=(l=v.regions[R])==null?void 0:l.texture}else if(T instanceof ye){const S=T;k=S.color,A=(S.worldVerticesLength>>1)*C,A>this.verticesCache.length&&(this.verticesCache=xe.newFloatArray(A)),S.computeWorldVertices(W,i,0,S.worldVerticesLength,this.verticesCache,0,C),e=S.triangles;const v=T.sequence,R=v.resolveIndex(d);t=v.getUVs(R),b=(p=v.regions[R])==null?void 0:p.texture}else if(T instanceof Pe){w.clipper.clipStart(W,i,T),s={slot:i,computed:!1};continue}else{this.hasMeshForSlot(i)&&(this.getMeshForSlot(i).visible=!1),w.clipper.clipEnd(i),this.pixiMaskCleanup(i);continue}if(b!=null){const S=W.color,v=d.color,R=S.a*v.a*k.a;this.lightColor.set(S.r*v.r*k.r,S.g*v.g*k.g,S.b*v.b*k.b,R),d.darkColor!=null?this.darkColor.set(d.darkColor.r,d.darkColor.g,d.darkColor.b,1):this.darkColor.set(0,0,0,1);let D,N,P,B;if(w.clipper.isClipping()&&w.clipper.clipTriangles(this.verticesCache,e,e.length,t,this.lightColor,this.darkColor,f,C))D=w.clipper.clippedVertices,N=D.length,P=w.clipper.clippedTriangles,B=P.length;else{const L=this.verticesCache;for(let te=2,se=0,Me=A;te<Me;te+=C,se+=2){let I=te;L[I++]=this.lightColor.r,L[I++]=this.lightColor.g,L[I++]=this.lightColor.b,L[I++]=this.lightColor.a,L[I++]=t[se],L[I++]=t[se+1],f&&(L[I++]=this.darkColor.r,L[I++]=this.darkColor.g,L[I++]=this.darkColor.b,L[I++]=this.darkColor.a)}D=this.verticesCache,N=A,P=e,B=e.length}if(N===0||B===0){w.clipper.clipEnd(i);continue}const M=this.getMeshForSlot(i);M.renderable=!0,M.zIndex=x,M.updateFromSpineData(b,i.data.blendMode,i.data.name,D,N,P,B,f)}w.clipper.clipEnd(i),this.pixiMaskCleanup(i)}w.clipper.clipEnd()}calculateBounds(){if(!this._boundsProvider){super.calculateBounds();return}const e=this.transform;if(this._boundsSpineID===e._worldID)return;this.updateBounds();const t=this._localBounds,s=this._boundsPoint;s.set(t.minX,t.minY),e.worldTransform.apply(s,s),this._bounds.minX=s.x,this._bounds.minY=s.y,s.set(t.maxX,t.maxY),e.worldTransform.apply(s,s),this._bounds.maxX=s.x,this._bounds.maxY=s.y}updateBounds(){if(!this._boundsProvider||!this._boundsSpineDirty)return;this._boundsSpineDirty=!1,this._localBounds||(this._localBounds=new Oe);const e=this._boundsProvider.calculateBounds(this),t=this._localBounds;t.clear(),t.minX=e.x,t.minY=e.y,t.maxX=e.x+e.width,t.maxY=e.y+e.height,this.hitArea=this._localBounds.getRectangle()}setBonePosition(e,t){const s=typeof e=="string"?this.skeleton.findBone(e):e;if(!s)throw Error(`Cannot set bone position, bone ${String(e)} not found`);w.vectorAux.set(t.x,t.y);const n=s.appliedPose;if(s.parent){const r=s.parent.appliedPose.worldToLocal(w.vectorAux);n.x=r.x,n.y=r.y}else n.x=w.vectorAux.x,n.y=w.vectorAux.y}getBonePosition(e,t){const s=typeof e=="string"?this.skeleton.findBone(e):e;return s?(t||(t={x:0,y:0}),t.x=s.appliedPose.worldX,t.y=s.appliedPose.worldY,t):(console.error(`Cannot get bone position! Bone ${String(e)} not found`),t)}skeletonToPixiWorldCoordinates(e){this.worldTransform.apply(e,e)}pixiWorldCoordinatesToSkeleton(e){this.worldTransform.applyInverse(e,e)}pixiWorldCoordinatesToBone(e,t){this.pixiWorldCoordinatesToSkeleton(e),t.parent?t.parent.appliedPose.worldToLocal(e):t.appliedPose.worldToLocal(e)}static getSkeletonCacheKey({skeleton:e,atlas:t,scale:s=1}){return`${e}-${t}-${s}`}static createOptions({skeleton:e,atlas:t,scale:s=1,darkTint:n,autoUpdate:r=!0,boundsProvider:l,allowMissingRegions:p,ticker:h}){const u=w.getSkeletonCacheKey({skeleton:e,atlas:t,scale:s});let c=w.skeletonCache[u];if(!c){const i=Q.get(e),g=Q.get(t),x=new Qe(g,p),d=i instanceof Uint8Array?new He(x):new ze(x);d.scale=s,c=d.readSkeletonData(i),w.skeletonCache[u]=c}return w.skeletonDataCacheKeys.set(c,u),{skeletonData:c,darkTint:n,autoUpdate:r,boundsProvider:l,ticker:h}}static from(e){return new w(w.createOptions(e))}get tint(){return this.skeleton.color.toRgb888()}set tint(e){ae.rgb888ToColor(this.skeleton.color,e)}};a(w,"vectorAux",new Ge),a(w,"clipper",new de),a(w,"QUAD_TRIANGLES",[0,1,2,2,3,0]),a(w,"VERTEX_SIZE",8),a(w,"DARK_VERTEX_SIZE",12),a(w,"skeletonCache",Object.create(null)),a(w,"skeletonDataCacheKeys",new WeakMap);let Ce=w;ee.yDown=!0;class Ct{constructor(){a(this,"registeredSpines",new Map);a(this,"drawMeshHull",!0);a(this,"drawMeshTriangles",!0);a(this,"drawBones",!0);a(this,"drawPaths",!0);a(this,"drawBoundingBoxes",!0);a(this,"drawClipping",!0);a(this,"drawRegionAttachments",!0);a(this,"drawEvents",!0);a(this,"lineWidth",1);a(this,"regionAttachmentsColor",30975);a(this,"meshHullColor",30975);a(this,"meshTrianglesColor",16763904);a(this,"clippingPolygonColor",16711935);a(this,"boundingBoxesRectColor",65280);a(this,"boundingBoxesPolygonColor",65280);a(this,"boundingBoxesCircleColor",65280);a(this,"pathsCurveColor",16711680);a(this,"pathsLineColor",16711935);a(this,"skeletonXYColor",16711680);a(this,"bonesColor",61132);a(this,"eventFontSize",24);a(this,"eventFontColor",0)}registerSpine(o){if(this.registeredSpines.has(o)){console.warn("SpineDebugRenderer.registerSpine() - this spine is already registered!",o);return}const e={parentDebugContainer:new J,bones:new J,skeletonXY:new E,regionAttachmentsShape:new E,meshTrianglesLine:new E,meshHullLine:new E,clippingPolygon:new E,boundingBoxesRect:new E,boundingBoxesCircle:new E,boundingBoxesPolygon:new E,pathsCurve:new E,pathsLine:new E,eventText:new J,eventCallback:{event:(t,s)=>{if(this.drawEvents){const n=Math.abs(o.scale.x||o.scale.y||1),r=new Ke(s.data.name,{fontSize:this.eventFontSize/n,fill:this.eventFontColor,fontFamily:"monospace"});r.scale.x=Math.sign(o.scale.x),r.anchor.set(.5),e.eventText.addChild(r),setTimeout(()=>{r.destroyed||r.destroy()},250)}}}};e.parentDebugContainer.addChild(e.bones),e.parentDebugContainer.addChild(e.skeletonXY),e.parentDebugContainer.addChild(e.regionAttachmentsShape),e.parentDebugContainer.addChild(e.meshTrianglesLine),e.parentDebugContainer.addChild(e.meshHullLine),e.parentDebugContainer.addChild(e.clippingPolygon),e.parentDebugContainer.addChild(e.boundingBoxesRect),e.parentDebugContainer.addChild(e.boundingBoxesCircle),e.parentDebugContainer.addChild(e.boundingBoxesPolygon),e.parentDebugContainer.addChild(e.pathsCurve),e.parentDebugContainer.addChild(e.pathsLine),e.parentDebugContainer.addChild(e.eventText),e.parentDebugContainer.zIndex=9999999,e.parentDebugContainer.accessibleChildren=!1,e.parentDebugContainer.eventMode="none",e.parentDebugContainer.interactiveChildren=!1,o.addChild(e.parentDebugContainer),o.state.addListener(e.eventCallback),this.registeredSpines.set(o,e)}renderDebug(o){this.registeredSpines.has(o)||this.registerSpine(o);const e=this.registeredSpines.get(o);if(!e)return;o.addChild(e.parentDebugContainer),e.skeletonXY.clear(),e.regionAttachmentsShape.clear(),e.meshTrianglesLine.clear(),e.meshHullLine.clear(),e.clippingPolygon.clear(),e.boundingBoxesRect.clear(),e.boundingBoxesCircle.clear(),e.boundingBoxesPolygon.clear(),e.pathsCurve.clear(),e.pathsLine.clear();for(let n=e.bones.children.length;n>0;n--)e.bones.children[n-1].destroy({children:!0,texture:!0,baseTexture:!0});const t=Math.abs(o.scale.x||o.scale.y||1),s=this.lineWidth/t;if(this.drawBones&&this.drawBonesFunc(o,e,s,t),this.drawPaths&&this.drawPathsFunc(o,e,s),this.drawBoundingBoxes&&this.drawBoundingBoxesFunc(o,e,s),this.drawClipping&&this.drawClippingFunc(o,e,s),(this.drawMeshHull||this.drawMeshTriangles)&&this.drawMeshHullAndMeshTriangles(o,e,s),this.drawRegionAttachments&&this.drawRegionAttachmentsFunc(o,e,s),this.drawEvents)for(const n of e.eventText.children)n.alpha-=.05,n.y-=2}drawBonesFunc(o,e,t,s){const n=o.skeleton,r=n.x,l=n.y,p=n.bones;e.skeletonXY.lineStyle(t,this.skeletonXYColor,1);for(let u=0,c=p.length;u<c;u++){const i=p[u],g=i.data.length,x=i.appliedPose,d=r+x.worldX,f=l+x.worldY,C=r+g*x.a+x.worldX,T=l+g*x.b+x.worldY;if(i.data.name==="root"||i.data.parent===null)continue;const k=Math.abs(d-C),b=Math.abs(f-T),A=Math.pow(k,2),W=b,S=Math.pow(b,2),v=Math.sqrt(A+S),R=Math.pow(v,2),D=Math.PI/180,N=Math.acos((R+S-A)/(2*W*v))||0;if(v===0)continue;const P=new E;e.bones.addChild(P);const B=v/50/s;P.beginFill(this.bonesColor,1),P.drawPolygon(0,0,0-B,v-B*3,0,v-B,0+B,v-B*3),P.endFill(),P.x=d,P.y=f,P.pivot.y=v;let M=0;d<C&&f<T?M=-N+180*D:d>C&&f<T?M=180*D+N:d>C&&f>T?M=-N:d<C&&f>T?M=N:f===T&&d<C?M=90*D:f===T&&d>C?M=-90*D:d===C&&f<T?M=180*D:d===C&&f>T&&(M=0),P.rotation=M,P.lineStyle(t+B/2.4,this.bonesColor,1),P.beginFill(0,.6),P.drawCircle(0,v,B*1.2),P.endFill()}const h=t*3;e.skeletonXY.moveTo(r-h,l-h),e.skeletonXY.lineTo(r+h,l+h),e.skeletonXY.moveTo(r+h,l-h),e.skeletonXY.lineTo(r-h,l+h)}drawRegionAttachmentsFunc(o,e,t){const n=o.skeleton.slots;e.regionAttachmentsShape.lineStyle(t,this.regionAttachmentsColor,1);for(let r=0,l=n.length;r<l;r++){const p=n[r],h=p.appliedPose.attachment;if(h==null||!(h instanceof ve))continue;const u=new Float32Array(8);h.computeWorldVertices(p,h.getOffsets(p.appliedPose),u,0,2),e.regionAttachmentsShape.drawPolygon(Array.from(u.slice(0,8)))}}drawMeshHullAndMeshTriangles(o,e,t){const s=o.skeleton,n=s.slots;e.meshHullLine.lineStyle(t,this.meshHullColor,1),e.meshTrianglesLine.lineStyle(t,this.meshTrianglesColor,1);for(let r=0,l=n.length;r<l;r++){const p=n[r];if(!p.bone.active)continue;const h=p.appliedPose.attachment;if(h==null||!(h instanceof ye))continue;const u=h,c=new Float32Array(u.worldVerticesLength),i=u.triangles;let g=u.hullLength;if(u.computeWorldVertices(s,p,0,u.worldVerticesLength,c,0,2),this.drawMeshTriangles)for(let x=0,d=i.length;x<d;x+=3){const f=i[x]*2,C=i[x+1]*2,T=i[x+2]*2;e.meshTrianglesLine.moveTo(c[f],c[f+1]),e.meshTrianglesLine.lineTo(c[C],c[C+1]),e.meshTrianglesLine.lineTo(c[T],c[T+1])}if(this.drawMeshHull&&g>0){g=(g>>1)*2;let x=c[g-2],d=c[g-1];for(let f=0,C=g;f<C;f+=2){const T=c[f],k=c[f+1];e.meshHullLine.moveTo(T,k),e.meshHullLine.lineTo(x,d),x=T,d=k}}}}drawClippingFunc(o,e,t){const s=o.skeleton,n=s.slots;e.clippingPolygon.lineStyle(t,this.clippingPolygonColor,1);for(let r=0,l=n.length;r<l;r++){const p=n[r];if(!p.bone.active)continue;const h=p.appliedPose.attachment;if(h==null||!(h instanceof Pe))continue;const u=h,c=u.worldVerticesLength,i=new Float32Array(c);u.computeWorldVertices(s,p,0,c,i,0,2),e.clippingPolygon.drawPolygon(Array.from(i))}}drawBoundingBoxesFunc(o,e,t){e.boundingBoxesRect.lineStyle(t,this.boundingBoxesRectColor,5);const s=new je;s.update(o.skeleton,!0),s.minX!==1/0&&e.boundingBoxesRect.drawRect(s.minX,s.minY,s.getWidth(),s.getHeight());const n=s.polygons,r=(l,p,h)=>{if(e.boundingBoxesPolygon.lineStyle(t,this.boundingBoxesPolygonColor,1),e.boundingBoxesPolygon.beginFill(this.boundingBoxesPolygonColor,.1),h<3)throw new Error("Polygon must contain at least 3 vertices");const u=[],c=t*2;for(let i=0,g=l.length;i<g;i+=2){const x=l[i],d=l[i+1];e.boundingBoxesCircle.lineStyle(0),e.boundingBoxesCircle.beginFill(this.boundingBoxesCircleColor),e.boundingBoxesCircle.drawCircle(x,d,c),e.boundingBoxesCircle.endFill(),u.push(x,d)}e.boundingBoxesPolygon.drawPolygon(u),e.boundingBoxesPolygon.endFill()};for(let l=0,p=n.length;l<p;l++){const h=n[l];r(h,0,h.length)}}drawPathsFunc(o,e,t){const s=o.skeleton,n=s.slots;e.pathsCurve.lineStyle(t,this.pathsCurveColor,1),e.pathsLine.lineStyle(t,this.pathsLineColor,1);for(let r=0,l=n.length;r<l;r++){const p=n[r];if(!p.bone.active)continue;const h=p.appliedPose.attachment;if(h==null||!(h instanceof qe))continue;const u=h;let c=u.worldVerticesLength;const i=new Float32Array(c);u.computeWorldVertices(s,p,0,c,i,0,2);let g=i[2],x=i[3],d=0,f=0;if(u.closed){const C=i[0],T=i[1],k=i[c-2],b=i[c-1];d=i[c-4],f=i[c-3],e.pathsCurve.moveTo(g,x),e.pathsCurve.bezierCurveTo(C,T,k,b,d,f),e.pathsLine.moveTo(g,x),e.pathsLine.lineTo(C,T),e.pathsLine.moveTo(d,f),e.pathsLine.lineTo(k,b)}c-=4;for(let C=4;C<c;C+=6){const T=i[C],k=i[C+1],b=i[C+2],A=i[C+3];d=i[C+4],f=i[C+5],e.pathsCurve.moveTo(g,x),e.pathsCurve.bezierCurveTo(T,k,b,A,d,f),e.pathsLine.moveTo(g,x),e.pathsLine.lineTo(T,k),e.pathsLine.moveTo(d,f),e.pathsLine.lineTo(b,A),g=d,x=f}}}unregisterSpine(o){this.registeredSpines.has(o)||console.warn("SpineDebugRenderer.unregisterSpine() - spine is not registered, can't unregister!",o);const e=this.registeredSpines.get(o);e&&(o.state.removeListener(e.eventCallback),e.parentDebugContainer.destroy({baseTexture:!0,children:!0,texture:!0}),this.registeredSpines.delete(o))}}export{mt as AABBRectangleBoundsProvider,bt as ATTACH_RETAIN,kt as ATTACH_SETUP,vt as AlphaTimeline,yt as Animation,ke as AnimationState,Pt as AnimationStateAdapter,Je as AnimationStateData,qo as AssetCache,Ko as AssetManagerBase,Qe as AtlasAttachmentLoader,St as Attachment,Mt as AttachmentTimeline,At as BinaryInput,H as BlendMode,Bt as Bone,Ft as BoneData,Et as BonePose,Dt as BoneTimeline1,Lt as BoneTimeline2,It as BoundingBoxAttachment,Rt as CURRENT,Pe as ClippingAttachment,ae as Color,Nt as Constraint,_t as ConstraintData,Ut as ConstraintTimeline1,Yt as CurveTimeline,Xt as CurveTimeline1,ie as DarkSlotMesh,ht as DarkTintBatchGeometry,nt as DarkTintGeometry,it as DarkTintMaterial,lt as DarkTintMesh,Se as DarkTintRenderer,Vt as DebugUtils,Gt as DeformTimeline,Zo as Downloader,Wt as DrawOrder,$t as DrawOrderFolderTimeline,Ot as DrawOrderTimeline,Ht as Event,zt as EventData,qt as EventQueue,Kt as EventTimeline,Zt as EventType,Jt as FIRST,Qt as FakeTexture,jt as FromProperty,es as FromRotate,ts as FromScaleX,ss as FromScaleY,os as FromShearY,ns as FromX,as as FromY,rs as HOLD,is as IkConstraint,ls as IkConstraintData,hs as IkConstraintPose,cs as IkConstraintTimeline,ds as Inherit,us as InheritTimeline,ps as IntSet,fs as Interpolation,ms as MODE,gs as MathUtils,ye as MeshAttachment,xs as MixFrom,qe as PathAttachment,Cs as PathConstraint,Ts as PathConstraintData,ws as PathConstraintMixTimeline,bs as PathConstraintPose,ks as PathConstraintPositionTimeline,vs as PathConstraintSpacingTimeline,j as Physics,ys as PhysicsConstraint,Ps as PhysicsConstraintDampingTimeline,Ss as PhysicsConstraintData,Ms as PhysicsConstraintGravityTimeline,As as PhysicsConstraintInertiaTimeline,Bs as PhysicsConstraintMassTimeline,Fs as PhysicsConstraintMixTimeline,Es as PhysicsConstraintPose,Ds as PhysicsConstraintResetTimeline,Ls as PhysicsConstraintStrengthTimeline,Is as PhysicsConstraintTimeline,Rs as PhysicsConstraintWindTimeline,Ns as PointAttachment,_s as Pool,Us as Posed,Ys as PosedActive,Xs as PosedData,Vs as PositionMode,Gs as Pow,Ws as PowOut,$s as Property,Os as RGB2Timeline,Hs as RGBA2Timeline,zs as RGBATimeline,qs as RGBTimeline,ve as RegionAttachment,Ks as RotateMode,Zs as RotateTimeline,Js as SETUP,Qs as ScaleTimeline,js as ScaleXTimeline,eo as ScaleYMode,to as ScaleYTimeline,so as Sequence,oo as SequenceMode,no as SequenceModeValues,ao as SequenceTimeline,gt as SetupPoseBoundsProvider,ro as ShearTimeline,io as ShearXTimeline,lo as ShearYTimeline,ee as Skeleton,He as SkeletonBinary,je as SkeletonBounds,de as SkeletonClipping,$e as SkeletonData,ze as SkeletonJson,Ze as SkeletonPhysicsMovement,Jo as SkeletonRendererCore,Ve as Skin,ho as SkinEntry,xt as SkinsAndAnimationBoundsProvider,co as Slider,uo as SliderData,po as SliderMixTimeline,fo as SliderPose,mo as SliderTimeline,go as Slot,xo as SlotCurveTimeline,Co as SlotData,le as SlotMesh,To as SlotPose,wo as SpacingMode,Ce as Spine,Ct as SpineDebugRenderer,G as SpineTexture,bo as StringSet,Fe as Texture,Ee as TextureAtlas,ko as TextureAtlasPage,vo as TextureAtlasRegion,F as TextureFilter,yo as TextureRegion,oe as TextureWrap,Po as TimeKeeper,So as Timeline,Mo as ToProperty,Ao as ToRotate,Bo as ToScaleX,Fo as ToScaleY,Eo as ToShearY,Do as ToX,Lo as ToY,Io as TrackEntry,Ro as TransformConstraint,No as TransformConstraintData,_o as TransformConstraintPose,Uo as TransformConstraintTimeline,Yo as TranslateTimeline,Xo as TranslateXTimeline,Vo as TranslateYTimeline,Qo as Triangulator,xe as Utils,Ge as Vector2,Go as VertexAttachment,Wo as WindowedMean,$o as isBoneTimeline,Oo as isConstraintTimeline,Ho as isSlotTimeline};
|