Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@pixi-spine/base

Package Overview
Dependencies
Maintainers
2
Versions
24
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@pixi-spine/base - npm Package Compare versions

Comparing version 4.0.1 to 4.0.2

lib/_virtual/earcut.js

6

dist/base.js
/*!
* @pixi-spine/base - v4.0.1
* Compiled Wed, 18 Jan 2023 16:58:18 UTC
* @pixi-spine/base - v4.0.2
* Compiled Thu, 19 Jan 2023 14:13:58 UTC
*

@@ -9,3 +9,3 @@ * @pixi-spine/base is licensed under the MIT License.

* Copyright 2023, Ivan Igorevich Popelyshev <ivan.popelyshev@gmail.com>, All Rights Reserved
*/this.PIXI=this.PIXI||{},this.PIXI.spine=function(b,k,he,O,F,ue,ce,A,W){"use strict";var M=(r=>(r[r.Region=0]="Region",r[r.BoundingBox=1]="BoundingBox",r[r.Mesh=2]="Mesh",r[r.LinkedMesh=3]="LinkedMesh",r[r.Path=4]="Path",r[r.Point=5]="Point",r[r.Clipping=6]="Clipping",r))(M||{});class de{constructor(e,t=new Array,i=0,n=new DataView(e.buffer)){this.strings=t,this.index=i,this.buffer=n}readByte(){return this.buffer.getInt8(this.index++)}readUnsignedByte(){return this.buffer.getUint8(this.index++)}readShort(){const e=this.buffer.getInt16(this.index);return this.index+=2,e}readInt32(){const e=this.buffer.getInt32(this.index);return this.index+=4,e}readInt(e){let t=this.readByte(),i=t&127;return t&128&&(t=this.readByte(),i|=(t&127)<<7,t&128&&(t=this.readByte(),i|=(t&127)<<14,t&128&&(t=this.readByte(),i|=(t&127)<<21,t&128&&(t=this.readByte(),i|=(t&127)<<28)))),e?i:i>>>1^-(i&1)}readStringRef(){const e=this.readInt(!0);return e==0?null:this.strings[e-1]}readString(){let e=this.readInt(!0);switch(e){case 0:return null;case 1:return""}e--;let t="";for(let i=0;i<e;){const n=this.readUnsignedByte();switch(n>>4){case 12:case 13:t+=String.fromCharCode((n&31)<<6|this.readByte()&63),i+=2;break;case 14:t+=String.fromCharCode((n&15)<<12|(this.readByte()&63)<<6|this.readByte()&63),i+=3;break;default:t+=String.fromCharCode(n),i++}}return t}readFloat(){const e=this.buffer.getFloat32(this.index);return this.index+=4,e}readBoolean(){return this.readByte()!=0}}var J=(r=>(r[r.setup=0]="setup",r[r.first=1]="first",r[r.replace=2]="replace",r[r.add=3]="add",r))(J||{}),Q=(r=>(r[r.mixIn=0]="mixIn",r[r.mixOut=1]="mixOut",r))(Q||{}),Z=(r=>(r[r.Fixed=0]="Fixed",r[r.Percent=1]="Percent",r))(Z||{}),ee=(r=>(r[r.Tangent=0]="Tangent",r[r.Chain=1]="Chain",r[r.ChainScale=2]="ChainScale",r))(ee||{}),te=(r=>(r[r.Normal=0]="Normal",r[r.OnlyTranslation=1]="OnlyTranslation",r[r.NoRotationOrReflection=2]="NoRotationOrReflection",r[r.NoScale=3]="NoScale",r[r.NoScaleOrReflection=4]="NoScaleOrReflection",r))(te||{});function z(r){switch(r.toLowerCase()){case"nearest":return S.Nearest;case"linear":return S.Linear;case"mipmap":return S.MipMap;case"mipmapnearestnearest":return S.MipMapNearestNearest;case"mipmaplinearnearest":return S.MipMapLinearNearest;case"mipmapnearestlinear":return S.MipMapNearestLinear;case"mipmaplinearlinear":return S.MipMapLinearLinear;default:throw new Error(`Unknown texture filter ${r}`)}}function ge(r){switch(r.toLowerCase()){case"mirroredtepeat":return R.MirroredRepeat;case"clamptoedge":return R.ClampToEdge;case"repeat":return R.Repeat;default:throw new Error(`Unknown texture wrap ${r}`)}}var S=(r=>(r[r.Nearest=9728]="Nearest",r[r.Linear=9729]="Linear",r[r.MipMap=9987]="MipMap",r[r.MipMapNearestNearest=9984]="MipMapNearestNearest",r[r.MipMapLinearNearest=9985]="MipMapLinearNearest",r[r.MipMapNearestLinear=9986]="MipMapNearestLinear",r[r.MipMapLinearLinear=9987]="MipMapLinearLinear",r))(S||{}),R=(r=>(r[r.MirroredRepeat=33648]="MirroredRepeat",r[r.ClampToEdge=33071]="ClampToEdge",r[r.Repeat=10497]="Repeat",r))(R||{});class V{constructor(){this.size=null,this.names=null,this.values=null,this.renderObject=null}get width(){const e=this.texture;return e.trim?e.trim.width:e.orig.width}get height(){const e=this.texture;return e.trim?e.trim.height:e.orig.height}get u(){return this.texture._uvs.x0}get v(){return this.texture._uvs.y0}get u2(){return this.texture._uvs.x2}get v2(){return this.texture._uvs.y2}get offsetX(){const e=this.texture;return e.trim?e.trim.x:0}get offsetY(){return this.spineOffsetY}get pixiOffsetY(){const e=this.texture;return e.trim?e.trim.y:0}get spineOffsetY(){const e=this.texture;return this.originalHeight-this.height-(e.trim?e.trim.y:0)}get originalWidth(){return this.texture.orig.width}get originalHeight(){return this.texture.orig.height}get x(){return this.texture.frame.x}get y(){return this.texture.frame.y}get rotate(){return this.texture.rotate!==0}get degrees(){return(360-this.texture.rotate*45)%360}}class pe{constructor(){this.x=0,this.y=0,this.width=0,this.height=0,this.offsetX=0,this.offsetY=0,this.originalWidth=0,this.originalHeight=0,this.rotate=0,this.index=0}}class me{constructor(e,t,i){this.pages=new Array,this.regions=new Array,e&&this.addSpineAtlas(e,t,i)}addTexture(e,t){const i=this.pages;let n=null;for(let o=0;o<i.length;o++)if(i[o].baseTexture===t.baseTexture){n=i[o];break}if(n===null){n=new $,n.name="texturePage";const o=t.baseTexture;n.width=o.realWidth,n.height=o.realHeight,n.baseTexture=o,n.minFilter=n.magFilter=S.Nearest,n.uWrap=R.ClampToEdge,n.vWrap=R.ClampToEdge,i.push(n)}const a=new q;return a.name=e,a.page=n,a.texture=t,a.index=-1,this.regions.push(a),a}addTextureHash(e,t){for(const i in e)e.hasOwnProperty(i)&&this.addTexture(t&&i.indexOf(".")!==-1?i.substr(0,i.lastIndexOf(".")):i,e[i])}addSpineAtlas(e,t,i){return this.load(e,t,i)}load(e,t,i){if(t==null)throw new Error("textureLoader cannot be null.");const n=new fe(e),a=new Array(4);let o=null;const c={};let l=null;c.size=()=>{o.width=parseInt(a[1]),o.height=parseInt(a[2])},c.format=()=>{},c.filter=()=>{o.minFilter=z(a[1]),o.magFilter=z(a[2])},c.repeat=()=>{a[1].indexOf("x")!=-1&&(o.uWrap=R.Repeat),a[1].indexOf("y")!=-1&&(o.vWrap=R.Repeat)},c.pma=()=>{o.pma=a[1]=="true"};const u={};u.xy=()=>{l.x=parseInt(a[1]),l.y=parseInt(a[2])},u.size=()=>{l.width=parseInt(a[1]),l.height=parseInt(a[2])},u.bounds=()=>{l.x=parseInt(a[1]),l.y=parseInt(a[2]),l.width=parseInt(a[3]),l.height=parseInt(a[4])},u.offset=()=>{l.offsetX=parseInt(a[1]),l.offsetY=parseInt(a[2])},u.orig=()=>{l.originalWidth=parseInt(a[1]),l.originalHeight=parseInt(a[2])},u.offsets=()=>{l.offsetX=parseInt(a[1]),l.offsetY=parseInt(a[2]),l.originalWidth=parseInt(a[3]),l.originalHeight=parseInt(a[4])},u.rotate=()=>{const s=a[1];let d=0;s.toLocaleLowerCase()=="true"?d=6:s.toLocaleLowerCase()=="false"?d=0:d=(720-parseFloat(s))%360/45,l.rotate=d},u.index=()=>{l.index=parseInt(a[1])};let h=n.readLine();for(;h!=null&&h.trim().length==0;)h=n.readLine();for(;!(h==null||h.trim().length==0||n.readEntry(a,h)==0);)h=n.readLine();const g=()=>{for(;;){if(h==null)return i&&i(this);if(h.trim().length==0)o=null,h=n.readLine();else if(o===null){for(o=new $,o.name=h.trim();n.readEntry(a,h=n.readLine())!=0;){const s=c[a[0]];s&&s()}this.pages.push(o),t(o.name,s=>{if(s===null)return this.pages.splice(this.pages.indexOf(o),1),i&&i(null);o.baseTexture=s,o.pma&&(s.alphaMode=k.ALPHA_MODES.PMA),s.valid||s.setSize(o.width,o.height),o.setFilters(),(!o.width||!o.height)&&(o.width=s.realWidth,o.height=s.realHeight,(!o.width||!o.height)&&console.log(`ERROR spine atlas page ${o.name}: meshes wont work if you dont specify size in atlas (http://www.html5gamedevs.com/topic/18888-pixi-spines-and-meshes/?p=107121)`)),g()});break}else{l=new pe;const s=new q;s.name=h,s.page=o;let d=null,p=null;for(;;){const x=n.readEntry(a,h=n.readLine());if(x==0)break;const T=u[a[0]];if(T)T();else{d==null&&(d=[],p=[]),d.push(a[0]);const X=[];for(let I=0;I<x;I++)X.push(parseInt(a[I+1]));p.push(X)}}l.originalWidth==0&&l.originalHeight==0&&(l.originalWidth=l.width,l.originalHeight=l.height);const m=o.baseTexture.resolution;l.x/=m,l.y/=m,l.width/=m,l.height/=m,l.originalWidth/=m,l.originalHeight/=m,l.offsetX/=m,l.offsetY/=m;const f=l.rotate%4!==0,w=new O.Rectangle(l.x,l.y,f?l.height:l.width,f?l.width:l.height),C=new O.Rectangle(0,0,l.originalWidth,l.originalHeight),y=new O.Rectangle(l.offsetX,l.originalHeight-l.height-l.offsetY,l.width,l.height);s.texture=new he.Texture(s.page.baseTexture,w,C,y,l.rotate),s.index=l.index,s.texture.updateUvs(),this.regions.push(s)}}};g()}findRegion(e){for(let t=0;t<this.regions.length;t++)if(this.regions[t].name==e)return this.regions[t];return null}dispose(){for(let e=0;e<this.pages.length;e++)this.pages[e].baseTexture.dispose()}}class fe{constructor(e){this.index=0,this.lines=e.split(/\r\n|\r|\n/)}readLine(){return this.index>=this.lines.length?null:this.lines[this.index++]}readEntry(e,t){if(t==null||(t=t.trim(),t.length==0))return 0;const i=t.indexOf(":");if(i==-1)return 0;e[0]=t.substr(0,i).trim();for(let n=1,a=i+1;;n++){const o=t.indexOf(",",a);if(o==-1)return e[n]=t.substr(a).trim(),n;if(e[n]=t.substr(a,o-a).trim(),a=o+1,n==4)return 4}}}class ${constructor(){this.minFilter=S.Nearest,this.magFilter=S.Nearest,this.uWrap=R.ClampToEdge,this.vWrap=R.ClampToEdge}setFilters(){const e=this.baseTexture,t=this.minFilter;t==S.Linear?e.scaleMode=k.SCALE_MODES.LINEAR:this.minFilter==S.Nearest?e.scaleMode=k.SCALE_MODES.NEAREST:(e.mipmap=k.MIPMAP_MODES.POW2,t==S.MipMapNearestNearest?e.scaleMode=k.SCALE_MODES.NEAREST:e.scaleMode=k.SCALE_MODES.LINEAR)}}class q extends V{}class we{constructor(){this.array=new Array}add(e){const t=this.contains(e);return this.array[e|0]=e|0,!t}contains(e){return this.array[e|0]!=null}remove(e){this.array[e|0]=void 0}clear(){this.array.length=0}}class be{constructor(){this.entries={},this.size=0}add(e){const t=this.entries[e];return this.entries[e]=!0,t?!1:(this.size++,!0)}addAll(e){const t=this.size;for(let i=0,n=e.length;i<n;i++)this.add(e[i]);return t!=this.size}contains(e){return this.entries[e]}clear(){this.entries={},this.size=0}}const D=class{constructor(r=0,e=0,t=0,i=0){this.r=r,this.g=e,this.b=t,this.a=i}set(r,e,t,i){return this.r=r,this.g=e,this.b=t,this.a=i,this.clamp()}setFromColor(r){return this.r=r.r,this.g=r.g,this.b=r.b,this.a=r.a,this}setFromString(r){return r=r.charAt(0)=="#"?r.substr(1):r,this.r=parseInt(r.substr(0,2),16)/255,this.g=parseInt(r.substr(2,2),16)/255,this.b=parseInt(r.substr(4,2),16)/255,this.a=r.length!=8?1:parseInt(r.substr(6,2),16)/255,this}add(r,e,t,i){return this.r+=r,this.g+=e,this.b+=t,this.a+=i,this.clamp()}clamp(){return this.r<0?this.r=0:this.r>1&&(this.r=1),this.g<0?this.g=0:this.g>1&&(this.g=1),this.b<0?this.b=0:this.b>1&&(this.b=1),this.a<0?this.a=0:this.a>1&&(this.a=1),this}static rgba8888ToColor(r,e){r.r=((e&4278190080)>>>24)/255,r.g=((e&16711680)>>>16)/255,r.b=((e&65280)>>>8)/255,r.a=(e&255)/255}static rgb888ToColor(r,e){r.r=((e&16711680)>>>16)/255,r.g=((e&65280)>>>8)/255,r.b=(e&255)/255}static fromString(r){return new D().setFromString(r)}};let _=D;_.WHITE=new D(1,1,1,1),_.RED=new D(1,0,0,1),_.GREEN=new D(0,1,0,1),_.BLUE=new D(0,0,1,1),_.MAGENTA=new D(1,0,1,1);const L=class{static clamp(r,e,t){return r<e?e:r>t?t:r}static cosDeg(r){return Math.cos(r*L.degRad)}static sinDeg(r){return Math.sin(r*L.degRad)}static signum(r){return Math.sign(r)}static toInt(r){return r>0?Math.floor(r):Math.ceil(r)}static cbrt(r){const e=Math.pow(Math.abs(r),.3333333333333333);return r<0?-e:e}static randomTriangular(r,e){return L.randomTriangularWith(r,e,(r+e)*.5)}static randomTriangularWith(r,e,t){const i=Math.random(),n=e-r;return i<=(t-r)/n?r+Math.sqrt(i*n*(t-r)):e-Math.sqrt((1-i)*n*(e-t))}static isPowerOfTwo(r){return r&&(r&r-1)===0}};let B=L;B.PI=3.1415927,B.PI2=L.PI*2,B.radiansToDegrees=180/L.PI,B.radDeg=L.radiansToDegrees,B.degreesToRadians=L.PI/180,B.degRad=L.degreesToRadians;class re{apply(e,t,i){return e+(t-e)*this.applyInternal(i)}}class ie extends re{constructor(e){super(),this.power=2,this.power=e}applyInternal(e){return e<=.5?Math.pow(e*2,this.power)/2:Math.pow((e-1)*2,this.power)/(this.power%2==0?-2:2)+1}}class ye extends ie{applyInternal(e){return Math.pow(e-1,this.power)*(this.power%2==0?-1:1)+1}}const Y=class{static arrayCopy(r,e,t,i,n){for(let a=e,o=i;a<e+n;a++,o++)t[o]=r[a]}static arrayFill(r,e,t,i){for(let n=e;n<t;n++)r[n]=i}static setArraySize(r,e,t=0){const i=r.length;if(i==e)return r;if(r.length=e,i<e)for(let n=i;n<e;n++)r[n]=t;return r}static ensureArrayCapacity(r,e,t=0){return r.length>=e?r:Y.setArraySize(r,e,t)}static newArray(r,e){const t=new Array(r);for(let i=0;i<r;i++)t[i]=e;return t}static newFloatArray(r){if(Y.SUPPORTS_TYPED_ARRAYS)return new Float32Array(r);const e=new Array(r);for(let t=0;t<e.length;t++)e[t]=0;return e}static newShortArray(r){if(Y.SUPPORTS_TYPED_ARRAYS)return new Int16Array(r);const e=new Array(r);for(let t=0;t<e.length;t++)e[t]=0;return e}static toFloatArray(r){return Y.SUPPORTS_TYPED_ARRAYS?new Float32Array(r):r}static toSinglePrecision(r){return Y.SUPPORTS_TYPED_ARRAYS?Math.fround(r):r}static webkit602BugfixHelper(r,e){}static contains(r,e,t=!0){for(let i=0;i<r.length;i++)if(r[i]==e)return!0;return!1}static enumValue(r,e){return r[e[0].toUpperCase()+e.slice(1)]}};let U=Y;U.SUPPORTS_TYPED_ARRAYS=typeof Float32Array!="undefined";class xe{static logBones(e){for(let t=0;t<e.bones.length;t++){const i=e.bones[t],n=i.matrix;console.log(`${i.data.name}, ${n.a}, ${n.b}, ${n.c}, ${n.d}, ${n.tx}, ${n.ty}`)}}}class ne{constructor(e){this.items=new Array,this.instantiator=e}obtain(){return this.items.length>0?this.items.pop():this.instantiator()}free(e){e.reset&&e.reset(),this.items.push(e)}freeAll(e){for(let t=0;t<e.length;t++)this.free(e[t])}clear(){this.items.length=0}}class Ce{constructor(e=0,t=0){this.x=e,this.y=t}set(e,t){return this.x=e,this.y=t,this}length(){const e=this.x,t=this.y;return Math.sqrt(e*e+t*t)}normalize(){const e=this.length();return e!=0&&(this.x/=e,this.y/=e),this}}class Se{constructor(){this.maxDelta=.064,this.framesPerSecond=0,this.delta=0,this.totalTime=0,this.lastTime=Date.now()/1e3,this.frameCount=0,this.frameTime=0}update(){const e=Date.now()/1e3;this.delta=e-this.lastTime,this.frameTime+=this.delta,this.totalTime+=this.delta,this.delta>this.maxDelta&&(this.delta=this.maxDelta),this.lastTime=e,this.frameCount++,this.frameTime>1&&(this.framesPerSecond=this.frameCount/this.frameTime,this.frameTime=0,this.frameCount=0)}}class Me{constructor(e=32){this.addedValues=0,this.lastValue=0,this.mean=0,this.dirty=!0,this.values=new Array(e)}hasEnoughData(){return this.addedValues>=this.values.length}addValue(e){this.addedValues<this.values.length&&this.addedValues++,this.values[this.lastValue++]=e,this.lastValue>this.values.length-1&&(this.lastValue=0),this.dirty=!0}getMean(){if(this.hasEnoughData()){if(this.dirty){let e=0;for(let t=0;t<this.values.length;t++)e+=this.values[t];this.mean=e/this.values.length,this.dirty=!1}return this.mean}return 0}}class se{constructor(){this.minX=0,this.minY=0,this.maxX=0,this.maxY=0,this.boundingBoxes=new Array,this.polygons=new Array,this.polygonPool=new ne(()=>U.newFloatArray(16))}update(e,t){if(!e)throw new Error("skeleton cannot be null.");const i=this.boundingBoxes,n=this.polygons,a=this.polygonPool,o=e.slots,c=o.length;i.length=0,a.freeAll(n),n.length=0;for(let l=0;l<c;l++){const u=o[l];if(!u.bone.active)continue;const h=u.getAttachment();if(h!=null&&h.type===M.BoundingBox){const g=h;i.push(g);let s=a.obtain();s.length!=g.worldVerticesLength&&(s=U.newFloatArray(g.worldVerticesLength)),n.push(s),g.computeWorldVertices(u,0,g.worldVerticesLength,s,0,2)}}t?this.aabbCompute():(this.minX=Number.POSITIVE_INFINITY,this.minY=Number.POSITIVE_INFINITY,this.maxX=Number.NEGATIVE_INFINITY,this.maxY=Number.NEGATIVE_INFINITY)}aabbCompute(){let e=Number.POSITIVE_INFINITY,t=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY,n=Number.NEGATIVE_INFINITY;const a=this.polygons;for(let o=0,c=a.length;o<c;o++){const l=a[o],u=l;for(let h=0,g=l.length;h<g;h+=2){const s=u[h],d=u[h+1];e=Math.min(e,s),t=Math.min(t,d),i=Math.max(i,s),n=Math.max(n,d)}}this.minX=e,this.minY=t,this.maxX=i,this.maxY=n}aabbContainsPoint(e,t){return e>=this.minX&&e<=this.maxX&&t>=this.minY&&t<=this.maxY}aabbIntersectsSegment(e,t,i,n){const a=this.minX,o=this.minY,c=this.maxX,l=this.maxY;if(e<=a&&i<=a||t<=o&&n<=o||e>=c&&i>=c||t>=l&&n>=l)return!1;const u=(n-t)/(i-e);let h=u*(a-e)+t;if(h>o&&h<l||(h=u*(c-e)+t,h>o&&h<l))return!0;let g=(o-t)/u+e;return g>a&&g<c||(g=(l-t)/u+e,g>a&&g<c)}aabbIntersectsSkeleton(e){return this.minX<e.maxX&&this.maxX>e.minX&&this.minY<e.maxY&&this.maxY>e.minY}containsPoint(e,t){const i=this.polygons;for(let n=0,a=i.length;n<a;n++)if(this.containsPointPolygon(i[n],e,t))return this.boundingBoxes[n];return null}containsPointPolygon(e,t,i){const n=e,a=e.length;let o=a-2,c=!1;for(let l=0;l<a;l+=2){const u=n[l+1],h=n[o+1];if(u<i&&h>=i||h<i&&u>=i){const g=n[l];g+(i-u)/(h-u)*(n[o]-g)<t&&(c=!c)}o=l}return c}intersectsSegment(e,t,i,n){const a=this.polygons;for(let o=0,c=a.length;o<c;o++)if(this.intersectsSegmentPolygon(a[o],e,t,i,n))return this.boundingBoxes[o];return null}intersectsSegmentPolygon(e,t,i,n,a){const o=e,c=e.length,l=t-n,u=i-a,h=t*a-i*n;let g=o[c-2],s=o[c-1];for(let d=0;d<c;d+=2){const p=o[d],m=o[d+1],f=g*m-s*p,w=g-p,C=s-m,y=l*C-u*w,x=(h*w-l*f)/y;if((x>=g&&x<=p||x>=p&&x<=g)&&(x>=t&&x<=n||x>=n&&x<=t)){const T=(h*C-u*f)/y;if((T>=s&&T<=m||T>=m&&T<=s)&&(T>=i&&T<=a||T>=a&&T<=i))return!0}g=p,s=m}return!1}getPolygon(e){if(!e)throw new Error("boundingBox cannot be null.");const t=this.boundingBoxes.indexOf(e);return t==-1?null:this.polygons[t]}getWidth(){return this.maxX-this.minX}getHeight(){return this.maxY-this.minY}}const K={yDown:!0,FAIL_ON_NON_EXISTING_SKIN:!1,GLOBAL_AUTO_UPDATE:!0,GLOBAL_DELAY_LIMIT:0},N=[0,0,0];class ae extends ue.Sprite{constructor(){super(...arguments),this.region=null,this.attachment=null}}class oe extends ce.SimpleMesh{constructor(e,t,i,n,a){super(e,t,i,n,a),this.region=null,this.attachment=null}}const le=class extends F.Container{constructor(r){if(super(),!r)throw new Error("The spineData param is required.");if(typeof r=="string")throw new Error('spineData param cant be string. Please use spine.Spine.fromAtlas("YOUR_RESOURCE_NAME") from now on.');this.spineData=r,this.createSkeleton(r),this.slotContainers=[],this.tempClipContainers=[];for(let e=0,t=this.skeleton.slots.length;e<t;e++){const i=this.skeleton.slots[e],n=i.getAttachment(),a=this.newContainer();if(this.slotContainers.push(a),this.addChild(a),this.tempClipContainers.push(null),!!n)if(n.type===M.Region){const o=n.name,c=this.createSprite(i,n,o);i.currentSprite=c,i.currentSpriteName=o,a.addChild(c)}else if(n.type===M.Mesh){const o=this.createMesh(i,n);i.currentMesh=o,i.currentMeshId=n.id,i.currentMeshName=n.name,a.addChild(o)}else n.type===M.Clipping&&(this.createGraphics(i,n),a.addChild(i.clippingContainer),a.addChild(i.currentGraphics))}this.tintRgb=new Float32Array([1,1,1]),this.autoUpdate=!0,this.visible=!0}get debug(){return this._debug}set debug(r){var e;r!=this._debug&&((e=this._debug)==null||e.unregisterSpine(this),r==null||r.registerSpine(this),this._debug=r)}get autoUpdate(){return this._autoUpdate}set autoUpdate(r){r!==this._autoUpdate&&(this._autoUpdate=r,this.updateTransform=r?le.prototype.autoUpdateTransform:F.Container.prototype.updateTransform)}get tint(){return W.rgb2hex(this.tintRgb)}set tint(r){this.tintRgb=W.hex2rgb(r,this.tintRgb)}get delayLimit(){return(typeof this.localDelayLimit!="undefined"?this.localDelayLimit:K.GLOBAL_DELAY_LIMIT)||Number.MAX_VALUE}update(r){var e;const t=this.delayLimit;if(r>t&&(r=t),this.state.update(r),this.state.apply(this.skeleton),!this.skeleton)return;this.skeleton.updateWorldTransform();const i=this.skeleton.slots,n=this.color;let a=null,o=null;n?(a=n.light,o=n.dark):a=this.tintRgb;for(let h=0,g=i.length;h<g;h++){const s=i[h],d=s.getAttachment(),p=this.slotContainers[h];if(!d){p.visible=!1;continue}let m=null;d.sequence&&d.sequence.apply(s,d);let f=d.region;const w=d.color;switch(d!=null&&d.type){case M.Region:if(p.transform.setFromMatrix(s.bone.matrix),f=d.region,s.currentMesh&&(s.currentMesh.visible=!1,s.currentMesh=null,s.currentMeshId=void 0,s.currentMeshName=void 0),!f){s.currentSprite&&(s.currentSprite.renderable=!1);break}if(!s.currentSpriteName||s.currentSpriteName!==d.name){const y=d.name;if(s.currentSprite&&(s.currentSprite.visible=!1),s.sprites=s.sprites||{},s.sprites[y]!==void 0)s.sprites[y].visible=!0;else{const x=this.createSprite(s,d,y);p.addChild(x)}s.currentSprite=s.sprites[y],s.currentSpriteName=y}s.currentSprite.renderable=!0,s.hackRegion||this.setSpriteRegion(d,s.currentSprite,f),s.currentSprite.color?m=s.currentSprite.color:(N[0]=a[0]*s.color.r*w.r,N[1]=a[1]*s.color.g*w.g,N[2]=a[2]*s.color.b*w.b,s.currentSprite.tint=W.rgb2hex(N)),s.currentSprite.blendMode=s.blendMode;break;case M.Mesh:if(s.currentSprite){s.currentSprite.visible=!1,s.currentSprite=null,s.currentSpriteName=void 0;const y=new O.Transform;y._parentID=-1,y._worldID=p.transform._worldID,p.transform=y}if(!f){s.currentMesh&&(s.currentMesh.renderable=!1);break}const C=d.id;if(s.currentMeshId===void 0||s.currentMeshId!==C){const y=C;if(s.currentMesh&&(s.currentMesh.visible=!1),s.meshes=s.meshes||{},s.meshes[y]!==void 0)s.meshes[y].visible=!0;else{const x=this.createMesh(s,d);p.addChild(x)}s.currentMesh=s.meshes[y],s.currentMeshName=d.name,s.currentMeshId=y}s.currentMesh.renderable=!0,d.computeWorldVerticesOld(s,s.currentMesh.vertices),s.currentMesh.color?m=s.currentMesh.color:(N[0]=a[0]*s.color.r*w.r,N[1]=a[1]*s.color.g*w.g,N[2]=a[2]*s.color.b*w.b,s.currentMesh.tint=W.rgb2hex(N)),s.currentMesh.blendMode=s.blendMode,s.hackRegion||this.setMeshRegion(d,s.currentMesh,f);break;case M.Clipping:s.currentGraphics||(this.createGraphics(s,d),p.addChild(s.clippingContainer),p.addChild(s.currentGraphics)),this.updateGraphics(s,d),p.alpha=1,p.visible=!0;continue;default:p.visible=!1;continue}if(p.visible=!0,m){let C=s.color.r*w.r,y=s.color.g*w.g,x=s.color.b*w.b;m.setLight(a[0]*C+o[0]*(1-C),a[1]*y+o[1]*(1-y),a[2]*x+o[2]*(1-x)),s.darkColor?(C=s.darkColor.r,y=s.darkColor.g,x=s.darkColor.b):(C=0,y=0,x=0),m.setDark(a[0]*C+o[0]*(1-C),a[1]*y+o[1]*(1-y),a[2]*x+o[2]*(1-x))}p.alpha=s.color.a}const c=this.skeleton.drawOrder;let l=null,u=null;for(let h=0,g=c.length;h<g;h++){const s=i[c[h].data.index],d=this.slotContainers[c[h].data.index];if(u||d.parent!==null&&d.parent!==this&&(d.parent.removeChild(d),d.parent=this),s.currentGraphics&&s.getAttachment())u=s.clippingContainer,l=s.getAttachment(),u.children.length=0,this.children[h]=d,l.endSlot===s.data&&(l.endSlot=null);else if(u){let p=this.tempClipContainers[h];p||(p=this.tempClipContainers[h]=this.newContainer(),p.visible=!1),this.children[h]=p,d.parent=null,u.addChild(d),l.endSlot==s.data&&(u.renderable=!0,u=null,l=null)}else this.children[h]=d}(e=this._debug)==null||e.renderDebug(this)}setSpriteRegion(r,e,t){e.attachment===r&&e.region===t||(e.region=t,e.attachment=r,e.texture=t.texture,e.rotation=r.rotation*B.degRad,e.position.x=r.x,e.position.y=r.y,e.alpha=r.color.a,t.size?(e.scale.x=t.size.width/t.originalWidth,e.scale.y=-t.size.height/t.originalHeight):(e.scale.x=r.scaleX*r.width/t.originalWidth,e.scale.y=-r.scaleY*r.height/t.originalHeight))}setMeshRegion(r,e,t){e.attachment===r&&e.region===t||(e.region=t,e.attachment=r,e.texture=t.texture,t.texture.updateUvs(),e.uvBuffer.update(r.regionUVs))}autoUpdateTransform(){if(K.GLOBAL_AUTO_UPDATE){this.lastTime=this.lastTime||Date.now();const r=(Date.now()-this.lastTime)*.001;this.lastTime=Date.now(),this.update(r)}else this.lastTime=0;F.Container.prototype.updateTransform.call(this)}createSprite(r,e,t){let i=e.region;r.hackAttachment===e&&(i=r.hackRegion);const n=i?i.texture:null,a=this.newSprite(n);return a.anchor.set(.5),i&&this.setSpriteRegion(e,a,e.region),r.sprites=r.sprites||{},r.sprites[t]=a,a}createMesh(r,e){let t=e.region;r.hackAttachment===e&&(t=r.hackRegion,r.hackAttachment=null,r.hackRegion=null);const i=this.newMesh(t?t.texture:null,new Float32Array(e.regionUVs.length),e.regionUVs,new Uint16Array(e.triangles),k.DRAW_MODES.TRIANGLES);return typeof i._canvasPadding!="undefined"&&(i._canvasPadding=1.5),i.alpha=e.color.a,i.region=e.region,t&&this.setMeshRegion(e,i,t),r.meshes=r.meshes||{},r.meshes[e.id]=i,i}createGraphics(r,e){const t=this.newGraphics(),i=new O.Polygon([]);return t.clear(),t.beginFill(16777215,1),t.drawPolygon(i),t.renderable=!1,r.currentGraphics=t,r.clippingContainer=this.newContainer(),r.clippingContainer.mask=r.currentGraphics,t}updateGraphics(r,e){const t=r.currentGraphics.geometry,i=t.graphicsData[0].shape.points,n=e.worldVerticesLength;i.length=n,e.computeWorldVertices(r,0,n,i,0,2),t.invalidate()}hackTextureBySlotIndex(r,e=null,t=null){const i=this.skeleton.slots[r];if(!i)return!1;const n=i.getAttachment();let a=n.region;return e?(a=new V,a.texture=e,a.size=t,i.hackRegion=a,i.hackAttachment=n):(i.hackRegion=null,i.hackAttachment=null),i.currentSprite?this.setSpriteRegion(n,i.currentSprite,a):i.currentMesh&&this.setMeshRegion(n,i.currentMesh,a),!0}hackTextureBySlotName(r,e=null,t=null){const i=this.skeleton.findSlotIndex(r);return i==-1?!1:this.hackTextureBySlotIndex(i,e,t)}hackTextureAttachment(r,e,t,i=null){const n=this.skeleton.findSlotIndex(r),a=this.skeleton.getAttachmentByName(r,e);a.region.texture=t;const o=this.skeleton.slots[n];if(!o)return!1;const c=o.getAttachment();if(e===c.name){let l=a.region;return t?(l=new V,l.texture=t,l.size=i,o.hackRegion=l,o.hackAttachment=c):(o.hackRegion=null,o.hackAttachment=null),o.currentSprite&&o.currentSprite.region!=l?(this.setSpriteRegion(c,o.currentSprite,l),o.currentSprite.region=l):o.currentMesh&&o.currentMesh.region!=l&&this.setMeshRegion(c,o.currentMesh,l),!0}return!1}newContainer(){return new F.Container}newSprite(r){return new ae(r)}newGraphics(){return new A.Graphics}newMesh(r,e,t,i,n){return new oe(r,e,t,i,n)}transformHack(){return 1}hackAttachmentGroups(r,e,t){if(!r)return;const i=[],n=[];for(let a=0,o=this.skeleton.slots.length;a<o;a++){const c=this.skeleton.slots[a],l=c.currentSpriteName||c.currentMeshName||"",u=c.currentSprite||c.currentMesh;l.endsWith(r)?(u.parentGroup=e,n.push(u)):t&&u&&(u.parentGroup=t,i.push(u))}return[i,n]}destroy(r){this.debug=null;for(let e=0,t=this.skeleton.slots.length;e<t;e++){const i=this.skeleton.slots[e];for(const n in i.meshes)i.meshes[n].destroy(r);i.meshes=null;for(const n in i.sprites)i.sprites[n].destroy(r);i.sprites=null}for(let e=0,t=this.slotContainers.length;e<t;e++)this.slotContainers[e].destroy(r);this.spineData=null,this.skeleton=null,this.slotContainers=null,this.stateData=null,this.state=null,this.tempClipContainers=null,super.destroy(r)}};let j=le;j.clippingPolygon=[],Object.defineProperty(j.prototype,"visible",{get(){return this._visible},set(r){r!==this._visible&&(this._visible=r,r&&(this.lastTime=0))}});class Te{constructor(){this.registeredSpines=new Map,this.drawDebug=!0,this.drawMeshHull=!0,this.drawMeshTriangles=!0,this.drawBones=!0,this.drawPaths=!0,this.drawBoundingBoxes=!0,this.drawClipping=!0,this.drawRegionAttachments=!0,this.lineWidth=1,this.regionAttachmentsColor=30975,this.meshHullColor=30975,this.meshTrianglesColor=16763904,this.clippingPolygonColor=16711935,this.boundingBoxesRectColor=65280,this.boundingBoxesPolygonColor=65280,this.boundingBoxesCircleColor=65280,this.pathsCurveColor=16711680,this.pathsLineColor=16711935,this.skeletonXYColor=16711680,this.bonesColor=61132}registerSpine(e){this.registeredSpines.has(e)&&console.warn("SpineDebugRenderer.registerSpine() - this spine is already registered!",e);const t={parentDebugContainer:new F.Container,bones:new F.Container,skeletonXY:new A.Graphics,regionAttachmentsShape:new A.Graphics,meshTrianglesLine:new A.Graphics,meshHullLine:new A.Graphics,clippingPolygon:new A.Graphics,boundingBoxesRect:new A.Graphics,boundingBoxesCircle:new A.Graphics,boundingBoxesPolygon:new A.Graphics,pathsCurve:new A.Graphics,pathsLine:new A.Graphics};t.parentDebugContainer.addChild(t.bones),t.parentDebugContainer.addChild(t.skeletonXY),t.parentDebugContainer.addChild(t.regionAttachmentsShape),t.parentDebugContainer.addChild(t.meshTrianglesLine),t.parentDebugContainer.addChild(t.meshHullLine),t.parentDebugContainer.addChild(t.clippingPolygon),t.parentDebugContainer.addChild(t.boundingBoxesRect),t.parentDebugContainer.addChild(t.boundingBoxesCircle),t.parentDebugContainer.addChild(t.boundingBoxesPolygon),t.parentDebugContainer.addChild(t.pathsCurve),t.parentDebugContainer.addChild(t.pathsLine),e.addChild(t.parentDebugContainer),this.registeredSpines.set(e,t)}renderDebug(e){this.registeredSpines.has(e)||this.registerSpine(e);const t=this.registeredSpines.get(e);t.skeletonXY.clear(),t.regionAttachmentsShape.clear(),t.meshTrianglesLine.clear(),t.meshHullLine.clear(),t.clippingPolygon.clear(),t.boundingBoxesRect.clear(),t.boundingBoxesCircle.clear(),t.boundingBoxesPolygon.clear(),t.pathsCurve.clear(),t.pathsLine.clear();for(let a=t.bones.children.length;a>0;a--)t.bones.children[a-1].destroy({children:!0,texture:!0,baseTexture:!0});const i=e.scale.x||e.scale.y||1,n=this.lineWidth/i;this.drawBones&&this.drawBonesFunc(e,t,n,i),this.drawPaths&&this.drawPathsFunc(e,t,n),this.drawBoundingBoxes&&this.drawBoundingBoxesFunc(e,t,n),this.drawClipping&&this.drawClippingFunc(e,t,n),(this.drawMeshHull||this.drawMeshTriangles)&&this.drawMeshHullAndMeshTriangles(e,t,n),this.drawRegionAttachments&&this.drawRegionAttachmentsFunc(e,t,n)}drawBonesFunc(e,t,i,n){const a=e.skeleton,o=a.x,c=a.y,l=a.bones;t.skeletonXY.lineStyle(i,this.skeletonXYColor,1);for(let h=0,g=l.length;h<g;h++){const s=l[h],d=s.data.length,p=o+s.matrix.tx,m=c+s.matrix.ty,f=o+d*s.matrix.a+s.matrix.tx,w=c+d*s.matrix.b+s.matrix.ty;if(s.data.name==="root"||s.data.parent===null)continue;const C=Math.abs(p-f),y=Math.abs(m-w),x=Math.pow(C,2),T=y,X=Math.pow(y,2),I=Math.sqrt(x+X),Ie=Math.pow(I,2),G=Math.PI/180,H=Math.acos((Ie+X-x)/(2*T*I))||0;if(I===0)continue;const P=new A.Graphics;t.bones.addChild(P);const E=I/50/n;P.beginFill(this.bonesColor,1),P.drawPolygon(0,0,0-E,I-E*3,0,I-E,0+E,I-E*3),P.endFill(),P.x=p,P.y=m,P.pivot.y=I;let v=0;p<f&&m<w?v=-H+180*G:p>f&&m<w?v=180*G+H:p>f&&m>w?v=-H:p<f&&m>w?v=H:m===w&&p<f?v=90*G:m===w&&p>f?v=-90*G:p===f&&m<w?v=180*G:p===f&&m>w&&(v=0),P.rotation=v,P.lineStyle(i+E/2.4,this.bonesColor,1),P.beginFill(0,.6),P.drawCircle(0,I,E*1.2),P.endFill()}const u=i*3;t.skeletonXY.moveTo(o-u,c-u),t.skeletonXY.lineTo(o+u,c+u),t.skeletonXY.moveTo(o+u,c-u),t.skeletonXY.lineTo(o-u,c+u)}drawRegionAttachmentsFunc(e,t,i){const n=e.skeleton.slots;t.regionAttachmentsShape.lineStyle(i,this.regionAttachmentsColor,1);for(let a=0,o=n.length;a<o;a++){const c=n[a],l=c.getAttachment();if(l==null||l.type!==M.Region)continue;const u=l,h=new Float32Array(8);u.updateOffset&&u.updateOffset(),u.computeWorldVertices(c,h,0,2),t.regionAttachmentsShape.drawPolygon(Array.from(h.slice(0,8)))}}drawMeshHullAndMeshTriangles(e,t,i){const n=e.skeleton.slots;t.meshHullLine.lineStyle(i,this.meshHullColor,1),t.meshTrianglesLine.lineStyle(i,this.meshTrianglesColor,1);for(let a=0,o=n.length;a<o;a++){const c=n[a];if(!c.bone.active)continue;const l=c.getAttachment();if(l==null||l.type!==M.Mesh)continue;const u=l,h=new Float32Array(u.worldVerticesLength),g=u.triangles;let s=u.hullLength;if(u.computeWorldVertices(c,0,u.worldVerticesLength,h,0,2),this.drawMeshTriangles)for(let d=0,p=g.length;d<p;d+=3){const m=g[d]*2,f=g[d+1]*2,w=g[d+2]*2;t.meshTrianglesLine.moveTo(h[m],h[m+1]),t.meshTrianglesLine.lineTo(h[f],h[f+1]),t.meshTrianglesLine.lineTo(h[w],h[w+1])}if(this.drawMeshHull&&s>0){s=(s>>1)*2;let d=h[s-2],p=h[s-1];for(let m=0,f=s;m<f;m+=2){const w=h[m],C=h[m+1];t.meshHullLine.moveTo(w,C),t.meshHullLine.lineTo(d,p),d=w,p=C}}}}drawClippingFunc(e,t,i){const n=e.skeleton.slots;t.clippingPolygon.lineStyle(i,this.clippingPolygonColor,1);for(let a=0,o=n.length;a<o;a++){const c=n[a];if(!c.bone.active)continue;const l=c.getAttachment();if(l==null||l.type!==M.Clipping)continue;const u=l,h=u.worldVerticesLength,g=new Float32Array(h);u.computeWorldVertices(c,0,h,g,0,2),t.clippingPolygon.drawPolygon(Array.from(g))}}drawBoundingBoxesFunc(e,t,i){t.boundingBoxesRect.lineStyle(i,this.boundingBoxesRectColor,5);const n=new se;n.update(e.skeleton,!0),t.boundingBoxesRect.drawRect(n.minX,n.minY,n.getWidth(),n.getHeight());const a=n.polygons,o=(c,l,u)=>{if(t.boundingBoxesPolygon.lineStyle(i,this.boundingBoxesPolygonColor,1),t.boundingBoxesPolygon.beginFill(this.boundingBoxesPolygonColor,.1),u<3)throw new Error("Polygon must contain at least 3 vertices");const h=[],g=i*2;for(let s=0,d=c.length;s<d;s+=2){const p=c[s],m=c[s+1];t.boundingBoxesCircle.lineStyle(0),t.boundingBoxesCircle.beginFill(this.boundingBoxesCircleColor),t.boundingBoxesCircle.drawCircle(p,m,g),t.boundingBoxesCircle.endFill(),h.push(p,m)}t.boundingBoxesPolygon.drawPolygon(h),t.boundingBoxesPolygon.endFill()};for(let c=0,l=a.length;c<l;c++){const u=a[c];o(u,0,u.length)}}drawPathsFunc(e,t,i){const n=e.skeleton.slots;t.pathsCurve.lineStyle(i,this.pathsCurveColor,1),t.pathsLine.lineStyle(i,this.pathsLineColor,1);for(let a=0,o=n.length;a<o;a++){const c=n[a];if(!c.bone.active)continue;const l=c.getAttachment();if(l==null||l.type!==M.Path)continue;const u=l;let h=u.worldVerticesLength;const g=new Float32Array(h);u.computeWorldVertices(c,0,h,g,0,2);let s=g[2],d=g[3],p=0,m=0;if(u.closed){const f=g[0],w=g[1],C=g[h-2],y=g[h-1];p=g[h-4],m=g[h-3],t.pathsCurve.moveTo(s,d),t.pathsCurve.bezierCurveTo(f,w,C,y,p,m),t.pathsLine.moveTo(s,d),t.pathsLine.lineTo(f,w),t.pathsLine.moveTo(p,m),t.pathsLine.lineTo(C,y)}h-=4;for(let f=4;f<h;f+=6){const w=g[f],C=g[f+1],y=g[f+2],x=g[f+3];p=g[f+4],m=g[f+5],t.pathsCurve.moveTo(s,d),t.pathsCurve.bezierCurveTo(w,C,y,x,p,m),t.pathsLine.moveTo(s,d),t.pathsLine.lineTo(w,C),t.pathsLine.moveTo(p,m),t.pathsLine.lineTo(y,x),s=p,d=m}}}unregisterSpine(e){this.registeredSpines.has(e)||console.warn("SpineDebugRenderer.unregisterSpine() - spine is not registered, can't unregister!",e),this.registeredSpines.get(e).parentDebugContainer.destroy({baseTexture:!0,children:!0,texture:!0}),this.registeredSpines.delete(e)}}return b.AttachmentType=M,b.BinaryInput=de,b.Color=_,b.DebugUtils=xe,b.IntSet=we,b.Interpolation=re,b.MathUtils=B,b.MixBlend=J,b.MixDirection=Q,b.Pool=ne,b.PositionMode=Z,b.Pow=ie,b.PowOut=ye,b.RotateMode=ee,b.SkeletonBoundsBase=se,b.SpineBase=j,b.SpineDebugRenderer=Te,b.SpineMesh=oe,b.SpineSprite=ae,b.StringSet=be,b.TextureAtlas=me,b.TextureAtlasPage=$,b.TextureAtlasRegion=q,b.TextureFilter=S,b.TextureRegion=V,b.TextureWrap=R,b.TimeKeeper=Se,b.TransformMode=te,b.Utils=U,b.Vector2=Ce,b.WindowedMean=Me,b.filterFromString=z,b.settings=K,b.wrapFromString=ge,b}({},constants,PIXI,PIXI,PIXI,PIXI,PIXI,PIXI,PIXI.utils);
*/this.PIXI=this.PIXI||{},this.PIXI.spine=function(b,S,F,oe,le,P){"use strict";var T=(i=>(i[i.Region=0]="Region",i[i.BoundingBox=1]="BoundingBox",i[i.Mesh=2]="Mesh",i[i.LinkedMesh=3]="LinkedMesh",i[i.Path=4]="Path",i[i.Point=5]="Point",i[i.Clipping=6]="Clipping",i))(T||{});class he{constructor(e,t=new Array,r=0,n=new DataView(e.buffer)){this.strings=t,this.index=r,this.buffer=n}readByte(){return this.buffer.getInt8(this.index++)}readUnsignedByte(){return this.buffer.getUint8(this.index++)}readShort(){const e=this.buffer.getInt16(this.index);return this.index+=2,e}readInt32(){const e=this.buffer.getInt32(this.index);return this.index+=4,e}readInt(e){let t=this.readByte(),r=t&127;return t&128&&(t=this.readByte(),r|=(t&127)<<7,t&128&&(t=this.readByte(),r|=(t&127)<<14,t&128&&(t=this.readByte(),r|=(t&127)<<21,t&128&&(t=this.readByte(),r|=(t&127)<<28)))),e?r:r>>>1^-(r&1)}readStringRef(){const e=this.readInt(!0);return e==0?null:this.strings[e-1]}readString(){let e=this.readInt(!0);switch(e){case 0:return null;case 1:return""}e--;let t="";for(let r=0;r<e;){const n=this.readUnsignedByte();switch(n>>4){case 12:case 13:t+=String.fromCharCode((n&31)<<6|this.readByte()&63),r+=2;break;case 14:t+=String.fromCharCode((n&15)<<12|(this.readByte()&63)<<6|this.readByte()&63),r+=3;break;default:t+=String.fromCharCode(n),r++}}return t}readFloat(){const e=this.buffer.getFloat32(this.index);return this.index+=4,e}readBoolean(){return this.readByte()!=0}}var K=(i=>(i[i.setup=0]="setup",i[i.first=1]="first",i[i.replace=2]="replace",i[i.add=3]="add",i))(K||{}),j=(i=>(i[i.mixIn=0]="mixIn",i[i.mixOut=1]="mixOut",i))(j||{}),J=(i=>(i[i.Fixed=0]="Fixed",i[i.Percent=1]="Percent",i))(J||{}),Q=(i=>(i[i.Tangent=0]="Tangent",i[i.Chain=1]="Chain",i[i.ChainScale=2]="ChainScale",i))(Q||{}),Z=(i=>(i[i.Normal=0]="Normal",i[i.OnlyTranslation=1]="OnlyTranslation",i[i.NoRotationOrReflection=2]="NoRotationOrReflection",i[i.NoScale=3]="NoScale",i[i.NoScaleOrReflection=4]="NoScaleOrReflection",i))(Z||{});function U(i){switch(i.toLowerCase()){case"nearest":return M.Nearest;case"linear":return M.Linear;case"mipmap":return M.MipMap;case"mipmapnearestnearest":return M.MipMapNearestNearest;case"mipmaplinearnearest":return M.MipMapLinearNearest;case"mipmapnearestlinear":return M.MipMapNearestLinear;case"mipmaplinearlinear":return M.MipMapLinearLinear;default:throw new Error(`Unknown texture filter ${i}`)}}function ue(i){switch(i.toLowerCase()){case"mirroredtepeat":return L.MirroredRepeat;case"clamptoedge":return L.ClampToEdge;case"repeat":return L.Repeat;default:throw new Error(`Unknown texture wrap ${i}`)}}var M=(i=>(i[i.Nearest=9728]="Nearest",i[i.Linear=9729]="Linear",i[i.MipMap=9987]="MipMap",i[i.MipMapNearestNearest=9984]="MipMapNearestNearest",i[i.MipMapLinearNearest=9985]="MipMapLinearNearest",i[i.MipMapNearestLinear=9986]="MipMapNearestLinear",i[i.MipMapLinearLinear=9987]="MipMapLinearLinear",i))(M||{}),L=(i=>(i[i.MirroredRepeat=33648]="MirroredRepeat",i[i.ClampToEdge=33071]="ClampToEdge",i[i.Repeat=10497]="Repeat",i))(L||{});class G{constructor(){this.size=null,this.names=null,this.values=null,this.renderObject=null}get width(){const e=this.texture;return e.trim?e.trim.width:e.orig.width}get height(){const e=this.texture;return e.trim?e.trim.height:e.orig.height}get u(){return this.texture._uvs.x0}get v(){return this.texture._uvs.y0}get u2(){return this.texture._uvs.x2}get v2(){return this.texture._uvs.y2}get offsetX(){const e=this.texture;return e.trim?e.trim.x:0}get offsetY(){return this.spineOffsetY}get pixiOffsetY(){const e=this.texture;return e.trim?e.trim.y:0}get spineOffsetY(){const e=this.texture;return this.originalHeight-this.height-(e.trim?e.trim.y:0)}get originalWidth(){return this.texture.orig.width}get originalHeight(){return this.texture.orig.height}get x(){return this.texture.frame.x}get y(){return this.texture.frame.y}get rotate(){return this.texture.rotate!==0}get degrees(){return(360-this.texture.rotate*45)%360}}class ce{constructor(){this.x=0,this.y=0,this.width=0,this.height=0,this.offsetX=0,this.offsetY=0,this.originalWidth=0,this.originalHeight=0,this.rotate=0,this.index=0}}class de{constructor(e,t,r){this.pages=new Array,this.regions=new Array,e&&this.addSpineAtlas(e,t,r)}addTexture(e,t){const r=this.pages;let n=null;for(let o=0;o<r.length;o++)if(r[o].baseTexture===t.baseTexture){n=r[o];break}if(n===null){n=new H,n.name="texturePage";const o=t.baseTexture;n.width=o.realWidth,n.height=o.realHeight,n.baseTexture=o,n.minFilter=n.magFilter=M.Nearest,n.uWrap=L.ClampToEdge,n.vWrap=L.ClampToEdge,r.push(n)}const a=new z;return a.name=e,a.page=n,a.texture=t,a.index=-1,this.regions.push(a),a}addTextureHash(e,t){for(const r in e)e.hasOwnProperty(r)&&this.addTexture(t&&r.indexOf(".")!==-1?r.substr(0,r.lastIndexOf(".")):r,e[r])}addSpineAtlas(e,t,r){return this.load(e,t,r)}load(e,t,r){if(t==null)throw new Error("textureLoader cannot be null.");const n=new ge(e),a=new Array(4);let o=null;const c={};let l=null;c.size=()=>{o.width=parseInt(a[1]),o.height=parseInt(a[2])},c.format=()=>{},c.filter=()=>{o.minFilter=U(a[1]),o.magFilter=U(a[2])},c.repeat=()=>{a[1].indexOf("x")!=-1&&(o.uWrap=L.Repeat),a[1].indexOf("y")!=-1&&(o.vWrap=L.Repeat)},c.pma=()=>{o.pma=a[1]=="true"};const u={};u.xy=()=>{l.x=parseInt(a[1]),l.y=parseInt(a[2])},u.size=()=>{l.width=parseInt(a[1]),l.height=parseInt(a[2])},u.bounds=()=>{l.x=parseInt(a[1]),l.y=parseInt(a[2]),l.width=parseInt(a[3]),l.height=parseInt(a[4])},u.offset=()=>{l.offsetX=parseInt(a[1]),l.offsetY=parseInt(a[2])},u.orig=()=>{l.originalWidth=parseInt(a[1]),l.originalHeight=parseInt(a[2])},u.offsets=()=>{l.offsetX=parseInt(a[1]),l.offsetY=parseInt(a[2]),l.originalWidth=parseInt(a[3]),l.originalHeight=parseInt(a[4])},u.rotate=()=>{const s=a[1];let d=0;s.toLocaleLowerCase()=="true"?d=6:s.toLocaleLowerCase()=="false"?d=0:d=(720-parseFloat(s))%360/45,l.rotate=d},u.index=()=>{l.index=parseInt(a[1])};let h=n.readLine();for(;h!=null&&h.trim().length==0;)h=n.readLine();for(;!(h==null||h.trim().length==0||n.readEntry(a,h)==0);)h=n.readLine();const g=()=>{for(;;){if(h==null)return r&&r(this);if(h.trim().length==0)o=null,h=n.readLine();else if(o===null){for(o=new H,o.name=h.trim();n.readEntry(a,h=n.readLine())!=0;){const s=c[a[0]];s&&s()}this.pages.push(o),t(o.name,s=>{if(s===null)return this.pages.splice(this.pages.indexOf(o),1),r&&r(null);o.baseTexture=s,o.pma&&(s.alphaMode=S.ALPHA_MODES.PMA),s.valid||s.setSize(o.width,o.height),o.setFilters(),(!o.width||!o.height)&&(o.width=s.realWidth,o.height=s.realHeight,(!o.width||!o.height)&&console.log(`ERROR spine atlas page ${o.name}: meshes wont work if you dont specify size in atlas (http://www.html5gamedevs.com/topic/18888-pixi-spines-and-meshes/?p=107121)`)),g()});break}else{l=new ce;const s=new z;s.name=h,s.page=o;let d=null,p=null;for(;;){const x=n.readEntry(a,h=n.readLine());if(x==0)break;const I=u[a[0]];if(I)I();else{d==null&&(d=[],p=[]),d.push(a[0]);const O=[];for(let A=0;A<x;A++)O.push(parseInt(a[A+1]));p.push(O)}}l.originalWidth==0&&l.originalHeight==0&&(l.originalWidth=l.width,l.originalHeight=l.height);const m=o.baseTexture.resolution;l.x/=m,l.y/=m,l.width/=m,l.height/=m,l.originalWidth/=m,l.originalHeight/=m,l.offsetX/=m,l.offsetY/=m;const f=l.rotate%4!==0,w=new S.Rectangle(l.x,l.y,f?l.height:l.width,f?l.width:l.height),C=new S.Rectangle(0,0,l.originalWidth,l.originalHeight),y=new S.Rectangle(l.offsetX,l.originalHeight-l.height-l.offsetY,l.width,l.height);s.texture=new S.Texture(s.page.baseTexture,w,C,y,l.rotate),s.index=l.index,s.texture.updateUvs(),this.regions.push(s)}}};g()}findRegion(e){for(let t=0;t<this.regions.length;t++)if(this.regions[t].name==e)return this.regions[t];return null}dispose(){for(let e=0;e<this.pages.length;e++)this.pages[e].baseTexture.dispose()}}class ge{constructor(e){this.index=0,this.lines=e.split(/\r\n|\r|\n/)}readLine(){return this.index>=this.lines.length?null:this.lines[this.index++]}readEntry(e,t){if(t==null||(t=t.trim(),t.length==0))return 0;const r=t.indexOf(":");if(r==-1)return 0;e[0]=t.substr(0,r).trim();for(let n=1,a=r+1;;n++){const o=t.indexOf(",",a);if(o==-1)return e[n]=t.substr(a).trim(),n;if(e[n]=t.substr(a,o-a).trim(),a=o+1,n==4)return 4}}}class H{constructor(){this.minFilter=M.Nearest,this.magFilter=M.Nearest,this.uWrap=L.ClampToEdge,this.vWrap=L.ClampToEdge}setFilters(){const e=this.baseTexture,t=this.minFilter;t==M.Linear?e.scaleMode=S.SCALE_MODES.LINEAR:this.minFilter==M.Nearest?e.scaleMode=S.SCALE_MODES.NEAREST:(e.mipmap=S.MIPMAP_MODES.POW2,t==M.MipMapNearestNearest?e.scaleMode=S.SCALE_MODES.NEAREST:e.scaleMode=S.SCALE_MODES.LINEAR)}}class z extends G{}class pe{constructor(){this.array=new Array}add(e){const t=this.contains(e);return this.array[e|0]=e|0,!t}contains(e){return this.array[e|0]!=null}remove(e){this.array[e|0]=void 0}clear(){this.array.length=0}}class me{constructor(){this.entries={},this.size=0}add(e){const t=this.entries[e];return this.entries[e]=!0,t?!1:(this.size++,!0)}addAll(e){const t=this.size;for(let r=0,n=e.length;r<n;r++)this.add(e[r]);return t!=this.size}contains(e){return this.entries[e]}clear(){this.entries={},this.size=0}}const D=class{constructor(i=0,e=0,t=0,r=0){this.r=i,this.g=e,this.b=t,this.a=r}set(i,e,t,r){return this.r=i,this.g=e,this.b=t,this.a=r,this.clamp()}setFromColor(i){return this.r=i.r,this.g=i.g,this.b=i.b,this.a=i.a,this}setFromString(i){return i=i.charAt(0)=="#"?i.substr(1):i,this.r=parseInt(i.substr(0,2),16)/255,this.g=parseInt(i.substr(2,2),16)/255,this.b=parseInt(i.substr(4,2),16)/255,this.a=i.length!=8?1:parseInt(i.substr(6,2),16)/255,this}add(i,e,t,r){return this.r+=i,this.g+=e,this.b+=t,this.a+=r,this.clamp()}clamp(){return this.r<0?this.r=0:this.r>1&&(this.r=1),this.g<0?this.g=0:this.g>1&&(this.g=1),this.b<0?this.b=0:this.b>1&&(this.b=1),this.a<0?this.a=0:this.a>1&&(this.a=1),this}static rgba8888ToColor(i,e){i.r=((e&4278190080)>>>24)/255,i.g=((e&16711680)>>>16)/255,i.b=((e&65280)>>>8)/255,i.a=(e&255)/255}static rgb888ToColor(i,e){i.r=((e&16711680)>>>16)/255,i.g=((e&65280)>>>8)/255,i.b=(e&255)/255}static fromString(i){return new D().setFromString(i)}};let _=D;_.WHITE=new D(1,1,1,1),_.RED=new D(1,0,0,1),_.GREEN=new D(0,1,0,1),_.BLUE=new D(0,0,1,1),_.MAGENTA=new D(1,0,1,1);const v=class{static clamp(i,e,t){return i<e?e:i>t?t:i}static cosDeg(i){return Math.cos(i*v.degRad)}static sinDeg(i){return Math.sin(i*v.degRad)}static signum(i){return Math.sign(i)}static toInt(i){return i>0?Math.floor(i):Math.ceil(i)}static cbrt(i){const e=Math.pow(Math.abs(i),.3333333333333333);return i<0?-e:e}static randomTriangular(i,e){return v.randomTriangularWith(i,e,(i+e)*.5)}static randomTriangularWith(i,e,t){const r=Math.random(),n=e-i;return r<=(t-i)/n?i+Math.sqrt(r*n*(t-i)):e-Math.sqrt((1-r)*n*(e-t))}static isPowerOfTwo(i){return i&&(i&i-1)===0}};let N=v;N.PI=3.1415927,N.PI2=v.PI*2,N.radiansToDegrees=180/v.PI,N.radDeg=v.radiansToDegrees,N.degreesToRadians=v.PI/180,N.degRad=v.degreesToRadians;class ee{apply(e,t,r){return e+(t-e)*this.applyInternal(r)}}class te extends ee{constructor(e){super(),this.power=2,this.power=e}applyInternal(e){return e<=.5?Math.pow(e*2,this.power)/2:Math.pow((e-1)*2,this.power)/(this.power%2==0?-2:2)+1}}class fe extends te{applyInternal(e){return Math.pow(e-1,this.power)*(this.power%2==0?-1:1)+1}}const Y=class{static arrayCopy(i,e,t,r,n){for(let a=e,o=r;a<e+n;a++,o++)t[o]=i[a]}static arrayFill(i,e,t,r){for(let n=e;n<t;n++)i[n]=r}static setArraySize(i,e,t=0){const r=i.length;if(r==e)return i;if(i.length=e,r<e)for(let n=r;n<e;n++)i[n]=t;return i}static ensureArrayCapacity(i,e,t=0){return i.length>=e?i:Y.setArraySize(i,e,t)}static newArray(i,e){const t=new Array(i);for(let r=0;r<i;r++)t[r]=e;return t}static newFloatArray(i){if(Y.SUPPORTS_TYPED_ARRAYS)return new Float32Array(i);const e=new Array(i);for(let t=0;t<e.length;t++)e[t]=0;return e}static newShortArray(i){if(Y.SUPPORTS_TYPED_ARRAYS)return new Int16Array(i);const e=new Array(i);for(let t=0;t<e.length;t++)e[t]=0;return e}static toFloatArray(i){return Y.SUPPORTS_TYPED_ARRAYS?new Float32Array(i):i}static toSinglePrecision(i){return Y.SUPPORTS_TYPED_ARRAYS?Math.fround(i):i}static webkit602BugfixHelper(i,e){}static contains(i,e,t=!0){for(let r=0;r<i.length;r++)if(i[r]==e)return!0;return!1}static enumValue(i,e){return i[e[0].toUpperCase()+e.slice(1)]}};let W=Y;W.SUPPORTS_TYPED_ARRAYS=typeof Float32Array!="undefined";class we{static logBones(e){for(let t=0;t<e.bones.length;t++){const r=e.bones[t],n=r.matrix;console.log(`${r.data.name}, ${n.a}, ${n.b}, ${n.c}, ${n.d}, ${n.tx}, ${n.ty}`)}}}class ie{constructor(e){this.items=new Array,this.instantiator=e}obtain(){return this.items.length>0?this.items.pop():this.instantiator()}free(e){e.reset&&e.reset(),this.items.push(e)}freeAll(e){for(let t=0;t<e.length;t++)this.free(e[t])}clear(){this.items.length=0}}class be{constructor(e=0,t=0){this.x=e,this.y=t}set(e,t){return this.x=e,this.y=t,this}length(){const e=this.x,t=this.y;return Math.sqrt(e*e+t*t)}normalize(){const e=this.length();return e!=0&&(this.x/=e,this.y/=e),this}}class ye{constructor(){this.maxDelta=.064,this.framesPerSecond=0,this.delta=0,this.totalTime=0,this.lastTime=Date.now()/1e3,this.frameCount=0,this.frameTime=0}update(){const e=Date.now()/1e3;this.delta=e-this.lastTime,this.frameTime+=this.delta,this.totalTime+=this.delta,this.delta>this.maxDelta&&(this.delta=this.maxDelta),this.lastTime=e,this.frameCount++,this.frameTime>1&&(this.framesPerSecond=this.frameCount/this.frameTime,this.frameTime=0,this.frameCount=0)}}class xe{constructor(e=32){this.addedValues=0,this.lastValue=0,this.mean=0,this.dirty=!0,this.values=new Array(e)}hasEnoughData(){return this.addedValues>=this.values.length}addValue(e){this.addedValues<this.values.length&&this.addedValues++,this.values[this.lastValue++]=e,this.lastValue>this.values.length-1&&(this.lastValue=0),this.dirty=!0}getMean(){if(this.hasEnoughData()){if(this.dirty){let e=0;for(let t=0;t<this.values.length;t++)e+=this.values[t];this.mean=e/this.values.length,this.dirty=!1}return this.mean}return 0}}class re{constructor(){this.minX=0,this.minY=0,this.maxX=0,this.maxY=0,this.boundingBoxes=new Array,this.polygons=new Array,this.polygonPool=new ie(()=>W.newFloatArray(16))}update(e,t){if(!e)throw new Error("skeleton cannot be null.");const r=this.boundingBoxes,n=this.polygons,a=this.polygonPool,o=e.slots,c=o.length;r.length=0,a.freeAll(n),n.length=0;for(let l=0;l<c;l++){const u=o[l];if(!u.bone.active)continue;const h=u.getAttachment();if(h!=null&&h.type===T.BoundingBox){const g=h;r.push(g);let s=a.obtain();s.length!=g.worldVerticesLength&&(s=W.newFloatArray(g.worldVerticesLength)),n.push(s),g.computeWorldVertices(u,0,g.worldVerticesLength,s,0,2)}}t?this.aabbCompute():(this.minX=Number.POSITIVE_INFINITY,this.minY=Number.POSITIVE_INFINITY,this.maxX=Number.NEGATIVE_INFINITY,this.maxY=Number.NEGATIVE_INFINITY)}aabbCompute(){let e=Number.POSITIVE_INFINITY,t=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,n=Number.NEGATIVE_INFINITY;const a=this.polygons;for(let o=0,c=a.length;o<c;o++){const l=a[o],u=l;for(let h=0,g=l.length;h<g;h+=2){const s=u[h],d=u[h+1];e=Math.min(e,s),t=Math.min(t,d),r=Math.max(r,s),n=Math.max(n,d)}}this.minX=e,this.minY=t,this.maxX=r,this.maxY=n}aabbContainsPoint(e,t){return e>=this.minX&&e<=this.maxX&&t>=this.minY&&t<=this.maxY}aabbIntersectsSegment(e,t,r,n){const a=this.minX,o=this.minY,c=this.maxX,l=this.maxY;if(e<=a&&r<=a||t<=o&&n<=o||e>=c&&r>=c||t>=l&&n>=l)return!1;const u=(n-t)/(r-e);let h=u*(a-e)+t;if(h>o&&h<l||(h=u*(c-e)+t,h>o&&h<l))return!0;let g=(o-t)/u+e;return g>a&&g<c||(g=(l-t)/u+e,g>a&&g<c)}aabbIntersectsSkeleton(e){return this.minX<e.maxX&&this.maxX>e.minX&&this.minY<e.maxY&&this.maxY>e.minY}containsPoint(e,t){const r=this.polygons;for(let n=0,a=r.length;n<a;n++)if(this.containsPointPolygon(r[n],e,t))return this.boundingBoxes[n];return null}containsPointPolygon(e,t,r){const n=e,a=e.length;let o=a-2,c=!1;for(let l=0;l<a;l+=2){const u=n[l+1],h=n[o+1];if(u<r&&h>=r||h<r&&u>=r){const g=n[l];g+(r-u)/(h-u)*(n[o]-g)<t&&(c=!c)}o=l}return c}intersectsSegment(e,t,r,n){const a=this.polygons;for(let o=0,c=a.length;o<c;o++)if(this.intersectsSegmentPolygon(a[o],e,t,r,n))return this.boundingBoxes[o];return null}intersectsSegmentPolygon(e,t,r,n,a){const o=e,c=e.length,l=t-n,u=r-a,h=t*a-r*n;let g=o[c-2],s=o[c-1];for(let d=0;d<c;d+=2){const p=o[d],m=o[d+1],f=g*m-s*p,w=g-p,C=s-m,y=l*C-u*w,x=(h*w-l*f)/y;if((x>=g&&x<=p||x>=p&&x<=g)&&(x>=t&&x<=n||x>=n&&x<=t)){const I=(h*C-u*f)/y;if((I>=s&&I<=m||I>=m&&I<=s)&&(I>=r&&I<=a||I>=a&&I<=r))return!0}g=p,s=m}return!1}getPolygon(e){if(!e)throw new Error("boundingBox cannot be null.");const t=this.boundingBoxes.indexOf(e);return t==-1?null:this.polygons[t]}getWidth(){return this.maxX-this.minX}getHeight(){return this.maxY-this.minY}}const $={yDown:!0,FAIL_ON_NON_EXISTING_SKIN:!1,GLOBAL_AUTO_UPDATE:!0,GLOBAL_DELAY_LIMIT:0},k=[0,0,0];class ne extends oe.Sprite{constructor(){super(...arguments),this.region=null,this.attachment=null}}class se extends le.SimpleMesh{constructor(e,t,r,n,a){super(e,t,r,n,a),this.region=null,this.attachment=null}}const ae=class extends F.Container{constructor(i){if(super(),!i)throw new Error("The spineData param is required.");if(typeof i=="string")throw new Error('spineData param cant be string. Please use spine.Spine.fromAtlas("YOUR_RESOURCE_NAME") from now on.');this.spineData=i,this.createSkeleton(i),this.slotContainers=[],this.tempClipContainers=[];for(let e=0,t=this.skeleton.slots.length;e<t;e++){const r=this.skeleton.slots[e],n=r.getAttachment(),a=this.newContainer();if(this.slotContainers.push(a),this.addChild(a),this.tempClipContainers.push(null),!!n)if(n.type===T.Region){const o=n.name,c=this.createSprite(r,n,o);r.currentSprite=c,r.currentSpriteName=o,a.addChild(c)}else if(n.type===T.Mesh){const o=this.createMesh(r,n);r.currentMesh=o,r.currentMeshId=n.id,r.currentMeshName=n.name,a.addChild(o)}else n.type===T.Clipping&&(this.createGraphics(r,n),a.addChild(r.clippingContainer),a.addChild(r.currentGraphics))}this.tintRgb=new Float32Array([1,1,1]),this.autoUpdate=!0,this.visible=!0}get debug(){return this._debug}set debug(i){var e;i!=this._debug&&((e=this._debug)==null||e.unregisterSpine(this),i==null||i.registerSpine(this),this._debug=i)}get autoUpdate(){return this._autoUpdate}set autoUpdate(i){i!==this._autoUpdate&&(this._autoUpdate=i,this.updateTransform=i?ae.prototype.autoUpdateTransform:F.Container.prototype.updateTransform)}get tint(){return S.utils.rgb2hex(this.tintRgb)}set tint(i){this.tintRgb=S.utils.hex2rgb(i,this.tintRgb)}get delayLimit(){return(typeof this.localDelayLimit!="undefined"?this.localDelayLimit:$.GLOBAL_DELAY_LIMIT)||Number.MAX_VALUE}update(i){var e;const t=this.delayLimit;if(i>t&&(i=t),this.state.update(i),this.state.apply(this.skeleton),!this.skeleton)return;this.skeleton.updateWorldTransform();const r=this.skeleton.slots,n=this.color;let a=null,o=null;n?(a=n.light,o=n.dark):a=this.tintRgb;for(let h=0,g=r.length;h<g;h++){const s=r[h],d=s.getAttachment(),p=this.slotContainers[h];if(!d){p.visible=!1;continue}let m=null;d.sequence&&d.sequence.apply(s,d);let f=d.region;const w=d.color;switch(d!=null&&d.type){case T.Region:if(p.transform.setFromMatrix(s.bone.matrix),f=d.region,s.currentMesh&&(s.currentMesh.visible=!1,s.currentMesh=null,s.currentMeshId=void 0,s.currentMeshName=void 0),!f){s.currentSprite&&(s.currentSprite.renderable=!1);break}if(!s.currentSpriteName||s.currentSpriteName!==d.name){const y=d.name;if(s.currentSprite&&(s.currentSprite.visible=!1),s.sprites=s.sprites||{},s.sprites[y]!==void 0)s.sprites[y].visible=!0;else{const x=this.createSprite(s,d,y);p.addChild(x)}s.currentSprite=s.sprites[y],s.currentSpriteName=y}s.currentSprite.renderable=!0,s.hackRegion||this.setSpriteRegion(d,s.currentSprite,f),s.currentSprite.color?m=s.currentSprite.color:(k[0]=a[0]*s.color.r*w.r,k[1]=a[1]*s.color.g*w.g,k[2]=a[2]*s.color.b*w.b,s.currentSprite.tint=S.utils.rgb2hex(k)),s.currentSprite.blendMode=s.blendMode;break;case T.Mesh:if(s.currentSprite){s.currentSprite.visible=!1,s.currentSprite=null,s.currentSpriteName=void 0;const y=new S.Transform;y._parentID=-1,y._worldID=p.transform._worldID,p.transform=y}if(!f){s.currentMesh&&(s.currentMesh.renderable=!1);break}const C=d.id;if(s.currentMeshId===void 0||s.currentMeshId!==C){const y=C;if(s.currentMesh&&(s.currentMesh.visible=!1),s.meshes=s.meshes||{},s.meshes[y]!==void 0)s.meshes[y].visible=!0;else{const x=this.createMesh(s,d);p.addChild(x)}s.currentMesh=s.meshes[y],s.currentMeshName=d.name,s.currentMeshId=y}s.currentMesh.renderable=!0,d.computeWorldVerticesOld(s,s.currentMesh.vertices),s.currentMesh.color?m=s.currentMesh.color:(k[0]=a[0]*s.color.r*w.r,k[1]=a[1]*s.color.g*w.g,k[2]=a[2]*s.color.b*w.b,s.currentMesh.tint=S.utils.rgb2hex(k)),s.currentMesh.blendMode=s.blendMode,s.hackRegion||this.setMeshRegion(d,s.currentMesh,f);break;case T.Clipping:s.currentGraphics||(this.createGraphics(s,d),p.addChild(s.clippingContainer),p.addChild(s.currentGraphics)),this.updateGraphics(s,d),p.alpha=1,p.visible=!0;continue;default:p.visible=!1;continue}if(p.visible=!0,m){let C=s.color.r*w.r,y=s.color.g*w.g,x=s.color.b*w.b;m.setLight(a[0]*C+o[0]*(1-C),a[1]*y+o[1]*(1-y),a[2]*x+o[2]*(1-x)),s.darkColor?(C=s.darkColor.r,y=s.darkColor.g,x=s.darkColor.b):(C=0,y=0,x=0),m.setDark(a[0]*C+o[0]*(1-C),a[1]*y+o[1]*(1-y),a[2]*x+o[2]*(1-x))}p.alpha=s.color.a}const c=this.skeleton.drawOrder;let l=null,u=null;for(let h=0,g=c.length;h<g;h++){const s=r[c[h].data.index],d=this.slotContainers[c[h].data.index];if(u||d.parent!==null&&d.parent!==this&&(d.parent.removeChild(d),d.parent=this),s.currentGraphics&&s.getAttachment())u=s.clippingContainer,l=s.getAttachment(),u.children.length=0,this.children[h]=d,l.endSlot===s.data&&(l.endSlot=null);else if(u){let p=this.tempClipContainers[h];p||(p=this.tempClipContainers[h]=this.newContainer(),p.visible=!1),this.children[h]=p,d.parent=null,u.addChild(d),l.endSlot==s.data&&(u.renderable=!0,u=null,l=null)}else this.children[h]=d}(e=this._debug)==null||e.renderDebug(this)}setSpriteRegion(i,e,t){e.attachment===i&&e.region===t||(e.region=t,e.attachment=i,e.texture=t.texture,e.rotation=i.rotation*N.degRad,e.position.x=i.x,e.position.y=i.y,e.alpha=i.color.a,t.size?(e.scale.x=t.size.width/t.originalWidth,e.scale.y=-t.size.height/t.originalHeight):(e.scale.x=i.scaleX*i.width/t.originalWidth,e.scale.y=-i.scaleY*i.height/t.originalHeight))}setMeshRegion(i,e,t){e.attachment===i&&e.region===t||(e.region=t,e.attachment=i,e.texture=t.texture,t.texture.updateUvs(),e.uvBuffer.update(i.regionUVs))}autoUpdateTransform(){if($.GLOBAL_AUTO_UPDATE){this.lastTime=this.lastTime||Date.now();const i=(Date.now()-this.lastTime)*.001;this.lastTime=Date.now(),this.update(i)}else this.lastTime=0;F.Container.prototype.updateTransform.call(this)}createSprite(i,e,t){let r=e.region;i.hackAttachment===e&&(r=i.hackRegion);const n=r?r.texture:null,a=this.newSprite(n);return a.anchor.set(.5),r&&this.setSpriteRegion(e,a,e.region),i.sprites=i.sprites||{},i.sprites[t]=a,a}createMesh(i,e){let t=e.region;i.hackAttachment===e&&(t=i.hackRegion,i.hackAttachment=null,i.hackRegion=null);const r=this.newMesh(t?t.texture:null,new Float32Array(e.regionUVs.length),e.regionUVs,new Uint16Array(e.triangles),S.DRAW_MODES.TRIANGLES);return typeof r._canvasPadding!="undefined"&&(r._canvasPadding=1.5),r.alpha=e.color.a,r.region=e.region,t&&this.setMeshRegion(e,r,t),i.meshes=i.meshes||{},i.meshes[e.id]=r,r}createGraphics(i,e){const t=this.newGraphics(),r=new S.Polygon([]);return t.clear(),t.beginFill(16777215,1),t.drawPolygon(r),t.renderable=!1,i.currentGraphics=t,i.clippingContainer=this.newContainer(),i.clippingContainer.mask=i.currentGraphics,t}updateGraphics(i,e){const t=i.currentGraphics.geometry,r=t.graphicsData[0].shape.points,n=e.worldVerticesLength;r.length=n,e.computeWorldVertices(i,0,n,r,0,2),t.invalidate()}hackTextureBySlotIndex(i,e=null,t=null){const r=this.skeleton.slots[i];if(!r)return!1;const n=r.getAttachment();let a=n.region;return e?(a=new G,a.texture=e,a.size=t,r.hackRegion=a,r.hackAttachment=n):(r.hackRegion=null,r.hackAttachment=null),r.currentSprite?this.setSpriteRegion(n,r.currentSprite,a):r.currentMesh&&this.setMeshRegion(n,r.currentMesh,a),!0}hackTextureBySlotName(i,e=null,t=null){const r=this.skeleton.findSlotIndex(i);return r==-1?!1:this.hackTextureBySlotIndex(r,e,t)}hackTextureAttachment(i,e,t,r=null){const n=this.skeleton.findSlotIndex(i),a=this.skeleton.getAttachmentByName(i,e);a.region.texture=t;const o=this.skeleton.slots[n];if(!o)return!1;const c=o.getAttachment();if(e===c.name){let l=a.region;return t?(l=new G,l.texture=t,l.size=r,o.hackRegion=l,o.hackAttachment=c):(o.hackRegion=null,o.hackAttachment=null),o.currentSprite&&o.currentSprite.region!=l?(this.setSpriteRegion(c,o.currentSprite,l),o.currentSprite.region=l):o.currentMesh&&o.currentMesh.region!=l&&this.setMeshRegion(c,o.currentMesh,l),!0}return!1}newContainer(){return new F.Container}newSprite(i){return new ne(i)}newGraphics(){return new P.Graphics}newMesh(i,e,t,r,n){return new se(i,e,t,r,n)}transformHack(){return 1}hackAttachmentGroups(i,e,t){if(!i)return;const r=[],n=[];for(let a=0,o=this.skeleton.slots.length;a<o;a++){const c=this.skeleton.slots[a],l=c.currentSpriteName||c.currentMeshName||"",u=c.currentSprite||c.currentMesh;l.endsWith(i)?(u.parentGroup=e,n.push(u)):t&&u&&(u.parentGroup=t,r.push(u))}return[r,n]}destroy(i){this.debug=null;for(let e=0,t=this.skeleton.slots.length;e<t;e++){const r=this.skeleton.slots[e];for(const n in r.meshes)r.meshes[n].destroy(i);r.meshes=null;for(const n in r.sprites)r.sprites[n].destroy(i);r.sprites=null}for(let e=0,t=this.slotContainers.length;e<t;e++)this.slotContainers[e].destroy(i);this.spineData=null,this.skeleton=null,this.slotContainers=null,this.stateData=null,this.state=null,this.tempClipContainers=null,super.destroy(i)}};let q=ae;q.clippingPolygon=[],Object.defineProperty(q.prototype,"visible",{get(){return this._visible},set(i){i!==this._visible&&(this._visible=i,i&&(this.lastTime=0))}});class Ce{constructor(){this.registeredSpines=new Map,this.drawDebug=!0,this.drawMeshHull=!0,this.drawMeshTriangles=!0,this.drawBones=!0,this.drawPaths=!0,this.drawBoundingBoxes=!0,this.drawClipping=!0,this.drawRegionAttachments=!0,this.lineWidth=1,this.regionAttachmentsColor=30975,this.meshHullColor=30975,this.meshTrianglesColor=16763904,this.clippingPolygonColor=16711935,this.boundingBoxesRectColor=65280,this.boundingBoxesPolygonColor=65280,this.boundingBoxesCircleColor=65280,this.pathsCurveColor=16711680,this.pathsLineColor=16711935,this.skeletonXYColor=16711680,this.bonesColor=61132}registerSpine(e){this.registeredSpines.has(e)&&console.warn("SpineDebugRenderer.registerSpine() - this spine is already registered!",e);const t={parentDebugContainer:new F.Container,bones:new F.Container,skeletonXY:new P.Graphics,regionAttachmentsShape:new P.Graphics,meshTrianglesLine:new P.Graphics,meshHullLine:new P.Graphics,clippingPolygon:new P.Graphics,boundingBoxesRect:new P.Graphics,boundingBoxesCircle:new P.Graphics,boundingBoxesPolygon:new P.Graphics,pathsCurve:new P.Graphics,pathsLine:new P.Graphics};t.parentDebugContainer.addChild(t.bones),t.parentDebugContainer.addChild(t.skeletonXY),t.parentDebugContainer.addChild(t.regionAttachmentsShape),t.parentDebugContainer.addChild(t.meshTrianglesLine),t.parentDebugContainer.addChild(t.meshHullLine),t.parentDebugContainer.addChild(t.clippingPolygon),t.parentDebugContainer.addChild(t.boundingBoxesRect),t.parentDebugContainer.addChild(t.boundingBoxesCircle),t.parentDebugContainer.addChild(t.boundingBoxesPolygon),t.parentDebugContainer.addChild(t.pathsCurve),t.parentDebugContainer.addChild(t.pathsLine),e.addChild(t.parentDebugContainer),this.registeredSpines.set(e,t)}renderDebug(e){this.registeredSpines.has(e)||this.registerSpine(e);const t=this.registeredSpines.get(e);t.skeletonXY.clear(),t.regionAttachmentsShape.clear(),t.meshTrianglesLine.clear(),t.meshHullLine.clear(),t.clippingPolygon.clear(),t.boundingBoxesRect.clear(),t.boundingBoxesCircle.clear(),t.boundingBoxesPolygon.clear(),t.pathsCurve.clear(),t.pathsLine.clear();for(let a=t.bones.children.length;a>0;a--)t.bones.children[a-1].destroy({children:!0,texture:!0,baseTexture:!0});const r=e.scale.x||e.scale.y||1,n=this.lineWidth/r;this.drawBones&&this.drawBonesFunc(e,t,n,r),this.drawPaths&&this.drawPathsFunc(e,t,n),this.drawBoundingBoxes&&this.drawBoundingBoxesFunc(e,t,n),this.drawClipping&&this.drawClippingFunc(e,t,n),(this.drawMeshHull||this.drawMeshTriangles)&&this.drawMeshHullAndMeshTriangles(e,t,n),this.drawRegionAttachments&&this.drawRegionAttachmentsFunc(e,t,n)}drawBonesFunc(e,t,r,n){const a=e.skeleton,o=a.x,c=a.y,l=a.bones;t.skeletonXY.lineStyle(r,this.skeletonXYColor,1);for(let h=0,g=l.length;h<g;h++){const s=l[h],d=s.data.length,p=o+s.matrix.tx,m=c+s.matrix.ty,f=o+d*s.matrix.a+s.matrix.tx,w=c+d*s.matrix.b+s.matrix.ty;if(s.data.name==="root"||s.data.parent===null)continue;const C=Math.abs(p-f),y=Math.abs(m-w),x=Math.pow(C,2),I=y,O=Math.pow(y,2),A=Math.sqrt(x+O),Se=Math.pow(A,2),X=Math.PI/180,V=Math.acos((Se+O-x)/(2*I*A))||0;if(A===0)continue;const R=new P.Graphics;t.bones.addChild(R);const E=A/50/n;R.beginFill(this.bonesColor,1),R.drawPolygon(0,0,0-E,A-E*3,0,A-E,0+E,A-E*3),R.endFill(),R.x=p,R.y=m,R.pivot.y=A;let B=0;p<f&&m<w?B=-V+180*X:p>f&&m<w?B=180*X+V:p>f&&m>w?B=-V:p<f&&m>w?B=V:m===w&&p<f?B=90*X:m===w&&p>f?B=-90*X:p===f&&m<w?B=180*X:p===f&&m>w&&(B=0),R.rotation=B,R.lineStyle(r+E/2.4,this.bonesColor,1),R.beginFill(0,.6),R.drawCircle(0,A,E*1.2),R.endFill()}const u=r*3;t.skeletonXY.moveTo(o-u,c-u),t.skeletonXY.lineTo(o+u,c+u),t.skeletonXY.moveTo(o+u,c-u),t.skeletonXY.lineTo(o-u,c+u)}drawRegionAttachmentsFunc(e,t,r){const n=e.skeleton.slots;t.regionAttachmentsShape.lineStyle(r,this.regionAttachmentsColor,1);for(let a=0,o=n.length;a<o;a++){const c=n[a],l=c.getAttachment();if(l==null||l.type!==T.Region)continue;const u=l,h=new Float32Array(8);u.updateOffset&&u.updateOffset(),u.computeWorldVertices(c,h,0,2),t.regionAttachmentsShape.drawPolygon(Array.from(h.slice(0,8)))}}drawMeshHullAndMeshTriangles(e,t,r){const n=e.skeleton.slots;t.meshHullLine.lineStyle(r,this.meshHullColor,1),t.meshTrianglesLine.lineStyle(r,this.meshTrianglesColor,1);for(let a=0,o=n.length;a<o;a++){const c=n[a];if(!c.bone.active)continue;const l=c.getAttachment();if(l==null||l.type!==T.Mesh)continue;const u=l,h=new Float32Array(u.worldVerticesLength),g=u.triangles;let s=u.hullLength;if(u.computeWorldVertices(c,0,u.worldVerticesLength,h,0,2),this.drawMeshTriangles)for(let d=0,p=g.length;d<p;d+=3){const m=g[d]*2,f=g[d+1]*2,w=g[d+2]*2;t.meshTrianglesLine.moveTo(h[m],h[m+1]),t.meshTrianglesLine.lineTo(h[f],h[f+1]),t.meshTrianglesLine.lineTo(h[w],h[w+1])}if(this.drawMeshHull&&s>0){s=(s>>1)*2;let d=h[s-2],p=h[s-1];for(let m=0,f=s;m<f;m+=2){const w=h[m],C=h[m+1];t.meshHullLine.moveTo(w,C),t.meshHullLine.lineTo(d,p),d=w,p=C}}}}drawClippingFunc(e,t,r){const n=e.skeleton.slots;t.clippingPolygon.lineStyle(r,this.clippingPolygonColor,1);for(let a=0,o=n.length;a<o;a++){const c=n[a];if(!c.bone.active)continue;const l=c.getAttachment();if(l==null||l.type!==T.Clipping)continue;const u=l,h=u.worldVerticesLength,g=new Float32Array(h);u.computeWorldVertices(c,0,h,g,0,2),t.clippingPolygon.drawPolygon(Array.from(g))}}drawBoundingBoxesFunc(e,t,r){t.boundingBoxesRect.lineStyle(r,this.boundingBoxesRectColor,5);const n=new re;n.update(e.skeleton,!0),t.boundingBoxesRect.drawRect(n.minX,n.minY,n.getWidth(),n.getHeight());const a=n.polygons,o=(c,l,u)=>{if(t.boundingBoxesPolygon.lineStyle(r,this.boundingBoxesPolygonColor,1),t.boundingBoxesPolygon.beginFill(this.boundingBoxesPolygonColor,.1),u<3)throw new Error("Polygon must contain at least 3 vertices");const h=[],g=r*2;for(let s=0,d=c.length;s<d;s+=2){const p=c[s],m=c[s+1];t.boundingBoxesCircle.lineStyle(0),t.boundingBoxesCircle.beginFill(this.boundingBoxesCircleColor),t.boundingBoxesCircle.drawCircle(p,m,g),t.boundingBoxesCircle.endFill(),h.push(p,m)}t.boundingBoxesPolygon.drawPolygon(h),t.boundingBoxesPolygon.endFill()};for(let c=0,l=a.length;c<l;c++){const u=a[c];o(u,0,u.length)}}drawPathsFunc(e,t,r){const n=e.skeleton.slots;t.pathsCurve.lineStyle(r,this.pathsCurveColor,1),t.pathsLine.lineStyle(r,this.pathsLineColor,1);for(let a=0,o=n.length;a<o;a++){const c=n[a];if(!c.bone.active)continue;const l=c.getAttachment();if(l==null||l.type!==T.Path)continue;const u=l;let h=u.worldVerticesLength;const g=new Float32Array(h);u.computeWorldVertices(c,0,h,g,0,2);let s=g[2],d=g[3],p=0,m=0;if(u.closed){const f=g[0],w=g[1],C=g[h-2],y=g[h-1];p=g[h-4],m=g[h-3],t.pathsCurve.moveTo(s,d),t.pathsCurve.bezierCurveTo(f,w,C,y,p,m),t.pathsLine.moveTo(s,d),t.pathsLine.lineTo(f,w),t.pathsLine.moveTo(p,m),t.pathsLine.lineTo(C,y)}h-=4;for(let f=4;f<h;f+=6){const w=g[f],C=g[f+1],y=g[f+2],x=g[f+3];p=g[f+4],m=g[f+5],t.pathsCurve.moveTo(s,d),t.pathsCurve.bezierCurveTo(w,C,y,x,p,m),t.pathsLine.moveTo(s,d),t.pathsLine.lineTo(w,C),t.pathsLine.moveTo(p,m),t.pathsLine.lineTo(y,x),s=p,d=m}}}unregisterSpine(e){this.registeredSpines.has(e)||console.warn("SpineDebugRenderer.unregisterSpine() - spine is not registered, can't unregister!",e),this.registeredSpines.get(e).parentDebugContainer.destroy({baseTexture:!0,children:!0,texture:!0}),this.registeredSpines.delete(e)}}return b.AttachmentType=T,b.BinaryInput=he,b.Color=_,b.DebugUtils=we,b.IntSet=pe,b.Interpolation=ee,b.MathUtils=N,b.MixBlend=K,b.MixDirection=j,b.Pool=ie,b.PositionMode=J,b.Pow=te,b.PowOut=fe,b.RotateMode=Q,b.SkeletonBoundsBase=re,b.SpineBase=q,b.SpineDebugRenderer=Ce,b.SpineMesh=se,b.SpineSprite=ne,b.StringSet=me,b.TextureAtlas=de,b.TextureAtlasPage=H,b.TextureAtlasRegion=z,b.TextureFilter=M,b.TextureRegion=G,b.TextureWrap=L,b.TimeKeeper=ye,b.TransformMode=Z,b.Utils=W,b.Vector2=be,b.WindowedMean=xe,b.filterFromString=U,b.settings=$,b.wrapFromString=ue,b}({},PIXI,PIXI,PIXI,PIXI,PIXI);
//# sourceMappingURL=base.js.map
/// <reference path="./global.d.ts" />
import type { BaseTexture } from '@pixi/core';
import type { BLEND_MODES } from '@pixi/constants';
import type { BLEND_MODES } from '@pixi/core';
import { Container } from '@pixi/display';
import { DisplayObject } from '@pixi/display';
import { Graphics } from '@pixi/graphics';
import type { Matrix } from '@pixi/math';
import { Rectangle } from '@pixi/math';
import type { Matrix } from '@pixi/core';
import { Rectangle } from '@pixi/core';
import { SimpleMesh } from '@pixi/mesh-extras';

@@ -11,0 +11,0 @@ import { Sprite } from '@pixi/sprite';

'use strict';
var constants = require('@pixi/constants');
var core = require('@pixi/core');
var math = require('@pixi/math');
var TextureRegion = require('./TextureRegion.js');

@@ -178,3 +176,3 @@

if (page.pma) {
texture.alphaMode = constants.ALPHA_MODES.PMA;
texture.alphaMode = core.ALPHA_MODES.PMA;
}

@@ -238,5 +236,5 @@ if (!texture.valid) {

const swapWH = region.rotate % 4 !== 0;
const frame = new math.Rectangle(region.x, region.y, swapWH ? region.height : region.width, swapWH ? region.width : region.height);
const orig = new math.Rectangle(0, 0, region.originalWidth, region.originalHeight);
const trim = new math.Rectangle(region.offsetX, region.originalHeight - region.height - region.offsetY, region.width, region.height);
const frame = new core.Rectangle(region.x, region.y, swapWH ? region.height : region.width, swapWH ? region.width : region.height);
const orig = new core.Rectangle(0, 0, region.originalWidth, region.originalHeight);
const trim = new core.Rectangle(region.offsetX, region.originalHeight - region.height - region.offsetY, region.width, region.height);
atlasRegion.texture = new core.Texture(atlasRegion.page.baseTexture, frame, orig, trim, region.rotate);

@@ -310,11 +308,11 @@ atlasRegion.index = region.index;

if (filter == TextureRegion.TextureFilter.Linear) {
tex.scaleMode = constants.SCALE_MODES.LINEAR;
tex.scaleMode = core.SCALE_MODES.LINEAR;
} else if (this.minFilter == TextureRegion.TextureFilter.Nearest) {
tex.scaleMode = constants.SCALE_MODES.NEAREST;
tex.scaleMode = core.SCALE_MODES.NEAREST;
} else {
tex.mipmap = constants.MIPMAP_MODES.POW2;
tex.mipmap = core.MIPMAP_MODES.POW2;
if (filter == TextureRegion.TextureFilter.MipMapNearestNearest) {
tex.scaleMode = constants.SCALE_MODES.NEAREST;
tex.scaleMode = core.SCALE_MODES.NEAREST;
} else {
tex.scaleMode = constants.SCALE_MODES.LINEAR;
tex.scaleMode = core.SCALE_MODES.LINEAR;
}

@@ -321,0 +319,0 @@ }

@@ -6,3 +6,3 @@ 'use strict';

var Utils = require('./core/Utils.js');
var constants = require('@pixi/constants');
var core = require('@pixi/core');
var display = require('@pixi/display');

@@ -12,4 +12,2 @@ var sprite = require('@pixi/sprite');

var graphics = require('@pixi/graphics');
var math = require('@pixi/math');
var utils = require('@pixi/utils');
var settings = require('./settings.js');

@@ -116,6 +114,6 @@

get tint() {
return utils.rgb2hex(this.tintRgb);
return core.utils.rgb2hex(this.tintRgb);
}
set tint(value) {
this.tintRgb = utils.hex2rgb(value, this.tintRgb);
this.tintRgb = core.utils.hex2rgb(value, this.tintRgb);
}

@@ -212,3 +210,3 @@ /**

tempRgb[2] = light[2] * slot.color.b * attColor.b;
slot.currentSprite.tint = utils.rgb2hex(tempRgb);
slot.currentSprite.tint = core.utils.rgb2hex(tempRgb);
}

@@ -222,3 +220,3 @@ slot.currentSprite.blendMode = slot.blendMode;

slot.currentSpriteName = void 0;
const transform2 = new math.Transform();
const transform2 = new core.Transform();
transform2._parentID = -1;

@@ -259,3 +257,3 @@ transform2._worldID = slotContainer.transform._worldID;

tempRgb[2] = light[2] * slot.color.b * attColor.b;
slot.currentMesh.tint = utils.rgb2hex(tempRgb);
slot.currentMesh.tint = core.utils.rgb2hex(tempRgb);
}

@@ -425,3 +423,3 @@ slot.currentMesh.blendMode = slot.blendMode;

new Uint16Array(attachment.triangles),
constants.DRAW_MODES.TRIANGLES
core.DRAW_MODES.TRIANGLES
);

@@ -443,3 +441,3 @@ if (typeof strip._canvasPadding !== "undefined") {

const graphics = this.newGraphics();
const poly = new math.Polygon([]);
const poly = new core.Polygon([]);
graphics.clear();

@@ -446,0 +444,0 @@ graphics.beginFill(16777215, 1);

{
"name": "@pixi-spine/base",
"version": "4.0.1",
"version": "4.0.2",
"description": "Base of pixi-spine integration, common files for spine runtimes of different versions",

@@ -22,11 +22,8 @@ "main": "lib/index.js",

"peerDependencies": {
"@pixi/constants": "^7.0.0",
"@pixi/core": "^7.0.0",
"@pixi/display": "^7.0.0",
"@pixi/graphics": "^7.0.0",
"@pixi/math": "^7.0.0",
"@pixi/mesh": "^7.0.0",
"@pixi/mesh-extras": "^7.0.0",
"@pixi/sprite": "^7.0.0",
"@pixi/utils": "^7.0.0"
"@pixi/sprite": "^7.0.0"
},

@@ -62,3 +59,3 @@ "scripts": {

},
"gitHead": "9b8ee89423da9f424037cf74db0c3afd75b1e3be"
"gitHead": "844fee809bc38569931a100bcede5107d2401fb3"
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc