@rel-packages/osu-beatmap-preview 0.11.6 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/default_skin_archive.d.ts +1 -1
- package/dist/{chunk-zc79wdxj.js → chunk-029sagwa.js} +2 -2
- package/dist/{chunk-fsbv6vcn.js → chunk-0we37sfj.js} +2 -2
- package/dist/chunk-1d7vwgnw.js +15 -0
- package/dist/chunk-3baewprq.js +1 -0
- package/dist/{chunk-0e4ebmdy.js → chunk-3wjb2nvs.js} +2 -2
- package/dist/{chunk-pn7re3na.js → chunk-598ehnf5.js} +2 -2
- package/dist/{chunk-sngkm5ds.js → chunk-8wvq4dfz.js} +2 -2
- package/dist/{chunk-rp8z1jh7.js → chunk-aeeawe99.js} +2 -2
- package/dist/chunk-amhps2v2.js +1 -0
- package/dist/chunk-bxvb53d0.js +1 -0
- package/dist/{chunk-dvctxyxp.js → chunk-cs4e65d1.js} +1 -1
- package/dist/chunk-d7xgaxzy.js +1 -0
- package/dist/chunk-gsjxh2hw.js +1 -0
- package/dist/chunk-hbfgn274.js +1 -0
- package/dist/{chunk-kkmq6cvb.js → chunk-jyb1nvnr.js} +2 -2
- package/dist/chunk-n2mqbpq5.js +11 -0
- package/dist/chunk-p0te881m.js +1 -0
- package/dist/{chunk-5v6x1wpn.js → chunk-shgm3fs6.js} +2 -2
- package/dist/{chunk-1sw3e1ar.js → chunk-sqnzgty6.js} +5 -5
- package/dist/{chunk-vzfdvw38.js → chunk-tj1dwy5a.js} +1 -1
- package/dist/{chunk-eb5gmq04.js → chunk-tqbn5m4a.js} +2 -2
- package/dist/{chunk-edbhr7zr.js → chunk-vkkhj28s.js} +2 -2
- package/dist/chunk-w1tshfsy.js +2 -0
- package/dist/chunk-xtab1dnq.js +1 -0
- package/dist/{chunk-a7wf9wxx.js → chunk-z898rh1p.js} +3 -3
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/parser/osz_loader.d.ts.map +1 -1
- package/dist/player/audio_engine.d.ts +93 -0
- package/dist/player/audio_engine.d.ts.map +1 -0
- package/dist/player/player.d.ts +6 -15
- package/dist/player/player.d.ts.map +1 -1
- package/dist/player/player_hitsound.d.ts +20 -3
- package/dist/player/player_hitsound.d.ts.map +1 -1
- package/dist/renderer/backend/pixi_backend.d.ts +3 -0
- package/dist/renderer/backend/pixi_backend.d.ts.map +1 -1
- package/dist/renderer/backend/render_backend.d.ts +1 -0
- package/dist/renderer/backend/render_backend.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-21p7cseg.js +0 -1
- package/dist/chunk-525kvqgh.js +0 -1
- package/dist/chunk-5evxnj3k.js +0 -9
- package/dist/chunk-7qazncxz.js +0 -15
- package/dist/chunk-ay0z741j.js +0 -1
- package/dist/chunk-ef1ghrsq.js +0 -1
- package/dist/chunk-f3y92gm3.js +0 -1
- package/dist/chunk-kmf5rpya.js +0 -1
- package/dist/chunk-kt3t4zv0.js +0 -2
- package/dist/chunk-shb5s568.js +0 -1
- package/dist/chunk-tb8nqrjk.js +0 -1
- package/dist/player/audio_controller.d.ts +0 -40
- package/dist/player/audio_controller.d.ts.map +0 -1
- package/dist/player/audio_node_controller.d.ts +0 -8
- package/dist/player/audio_node_controller.d.ts.map +0 -1
- package/dist/player/hitsound_controller.d.ts +0 -21
- package/dist/player/hitsound_controller.d.ts.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import{vb as l5,wb as g5}from"./chunk-dvctxyxp.js";var y0=g5((D8,F0)=>{var c5=Object.prototype.hasOwnProperty,X="~";function x(){}if(Object.create){if(x.prototype=Object.create(null),!new x().__proto__)X=!1}function v5($,q,J){this.fn=$,this.context=q,this.once=J||!1}function d0($,q,J,Q,Z){if(typeof J!=="function")throw TypeError("The listener must be a function");var N=new v5(J,Q||$,Z),K=X?X+q:q;if(!$._events[K])$._events[K]=N,$._eventsCount++;else if(!$._events[K].fn)$._events[K].push(N);else $._events[K]=[$._events[K],N];return $}function t($,q){if(--$._eventsCount===0)$._events=new x;else delete $._events[q]}function w(){this._events=new x,this._eventsCount=0}w.prototype.eventNames=function(){var q=[],J,Q;if(this._eventsCount===0)return q;for(Q in J=this._events)if(c5.call(J,Q))q.push(X?Q.slice(1):Q);if(Object.getOwnPropertySymbols)return q.concat(Object.getOwnPropertySymbols(J));return q};w.prototype.listeners=function(q){var J=X?X+q:q,Q=this._events[J];if(!Q)return[];if(Q.fn)return[Q.fn];for(var Z=0,N=Q.length,K=Array(N);Z<N;Z++)K[Z]=Q[Z].fn;return K};w.prototype.listenerCount=function(q){var J=X?X+q:q,Q=this._events[J];if(!Q)return 0;if(Q.fn)return 1;return Q.length};w.prototype.emit=function(q,J,Q,Z,N,K){var H=X?X+q:q;if(!this._events[H])return!1;var V=this._events[H],W=arguments.length,O,z;if(V.fn){if(V.once)this.removeListener(q,V.fn,void 0,!0);switch(W){case 1:return V.fn.call(V.context),!0;case 2:return V.fn.call(V.context,J),!0;case 3:return V.fn.call(V.context,J,Q),!0;case 4:return V.fn.call(V.context,J,Q,Z),!0;case 5:return V.fn.call(V.context,J,Q,Z,N),!0;case 6:return V.fn.call(V.context,J,Q,Z,N,K),!0}for(z=1,O=Array(W-1);z<W;z++)O[z-1]=arguments[z];V.fn.apply(V.context,O)}else{var F=V.length,k;for(z=0;z<F;z++){if(V[z].once)this.removeListener(q,V[z].fn,void 0,!0);switch(W){case 1:V[z].fn.call(V[z].context);break;case 2:V[z].fn.call(V[z].context,J);break;case 3:V[z].fn.call(V[z].context,J,Q);break;case 4:V[z].fn.call(V[z].context,J,Q,Z);break;default:if(!O)for(k=1,O=Array(W-1);k<W;k++)O[k-1]=arguments[k];V[z].fn.apply(V[z].context,O)}}}return!0};w.prototype.on=function(q,J,Q){return d0(this,q,J,Q,!1)};w.prototype.once=function(q,J,Q){return d0(this,q,J,Q,!0)};w.prototype.removeListener=function(q,J,Q,Z){var N=X?X+q:q;if(!this._events[N])return this;if(!J)return t(this,N),this;var K=this._events[N];if(K.fn){if(K.fn===J&&(!Z||K.once)&&(!Q||K.context===Q))t(this,N)}else{for(var H=0,V=[],W=K.length;H<W;H++)if(K[H].fn!==J||Z&&!K[H].once||Q&&K[H].context!==Q)V.push(K[H]);if(V.length)this._events[N]=V.length===1?V[0]:V;else t(this,N)}return this};w.prototype.removeAllListeners=function(q){var J;if(q){if(J=X?X+q:q,this._events[J])t(this,J)}else this._events=new x,this._eventsCount=0;return this};w.prototype.off=w.prototype.removeListener;w.prototype.addListener=w.prototype.on;w.prefixed=X;w.EventEmitter=w;if(typeof F0<"u")F0.exports=w});var W0=(($)=>{return $.Application="application",$.WebGLPipes="webgl-pipes",$.WebGLPipesAdaptor="webgl-pipes-adaptor",$.WebGLSystem="webgl-system",$.WebGPUPipes="webgpu-pipes",$.WebGPUPipesAdaptor="webgpu-pipes-adaptor",$.WebGPUSystem="webgpu-system",$.CanvasSystem="canvas-system",$.CanvasPipesAdaptor="canvas-pipes-adaptor",$.CanvasPipes="canvas-pipes",$.Asset="asset",$.LoadParser="load-parser",$.ResolveParser="resolve-parser",$.CacheParser="cache-parser",$.DetectionParser="detection-parser",$.MaskEffect="mask-effect",$.BlendMode="blend-mode",$.TextureSource="texture-source",$.Environment="environment",$.ShapeBuilder="shape-builder",$.Batcher="batcher",$})(W0||{}),H0=($)=>{if(typeof $==="function"||typeof $==="object"&&$.extension){if(!$.extension)throw Error("Extension class must have an extension object");$={...typeof $.extension!=="object"?{type:$.extension}:$.extension,ref:$}}if(typeof $==="object")$={...$};else throw Error("Invalid extension type");if(typeof $.type==="string")$.type=[$.type];return $},o=($,q)=>H0($).priority??q,K8={_addHandlers:{},_removeHandlers:{},_queue:{},remove(...$){return $.map(H0).forEach((q)=>{q.type.forEach((J)=>this._removeHandlers[J]?.(q))}),this},add(...$){return $.map(H0).forEach((q)=>{q.type.forEach((J)=>{let Q=this._addHandlers,Z=this._queue;if(!Q[J])Z[J]=Z[J]||[],Z[J]?.push(q);else Q[J]?.(q)})}),this},handle($,q,J){let Q=this._addHandlers,Z=this._removeHandlers;if(Q[$]||Z[$])throw Error(`Extension type ${$} already has a handler`);Q[$]=q,Z[$]=J;let N=this._queue;if(N[$])N[$]?.forEach((K)=>q(K)),delete N[$];return this},handleByMap($,q){return this.handle($,(J)=>{if(J.name)q[J.name]=J.ref},(J)=>{if(J.name)delete q[J.name]})},handleByNamedList($,q,J=-1){return this.handle($,(Q)=>{if(q.findIndex((N)=>N.name===Q.name)>=0)return;q.push({name:Q.name,value:Q.ref}),q.sort((N,K)=>o(K.value,J)-o(N.value,J))},(Q)=>{let Z=q.findIndex((N)=>N.name===Q.name);if(Z!==-1)q.splice(Z,1)})},handleByList($,q,J=-1){return this.handle($,(Q)=>{if(q.includes(Q.ref))return;q.push(Q.ref),q.sort((Z,N)=>o(N,J)-o(Z,J))},(Q)=>{let Z=q.indexOf(Q.ref);if(Z!==-1)q.splice(Z,1)})},mixin($,...q){for(let J of q)Object.defineProperties($.prototype,Object.getOwnPropertyDescriptors(J))}};class R{constructor($=0,q=0){this.x=0,this.y=0,this.x=$,this.y=q}clone(){return new R(this.x,this.y)}copyFrom($){return this.set($.x,$.y),this}copyTo($){return $.set(this.x,this.y),$}equals($){return $.x===this.x&&$.y===this.y}set($=0,q=$){return this.x=$,this.y=q,this}toString(){return`[pixi.js/math:Point x=${this.x} y=${this.y}]`}static get shared(){return z0.x=0,z0.y=0,z0}}var z0=new R;var a=[new R,new R,new R,new R];class T{constructor($=0,q=0,J=0,Q=0){this.type="rectangle",this.x=Number($),this.y=Number(q),this.width=Number(J),this.height=Number(Q)}get left(){return this.x}get right(){return this.x+this.width}get top(){return this.y}get bottom(){return this.y+this.height}isEmpty(){return this.left===this.right||this.top===this.bottom}static get EMPTY(){return new T(0,0,0,0)}clone(){return new T(this.x,this.y,this.width,this.height)}copyFromBounds($){return this.x=$.minX,this.y=$.minY,this.width=$.maxX-$.minX,this.height=$.maxY-$.minY,this}copyFrom($){return this.x=$.x,this.y=$.y,this.width=$.width,this.height=$.height,this}copyTo($){return $.copyFrom(this),$}contains($,q){if(this.width<=0||this.height<=0)return!1;if($>=this.x&&$<this.x+this.width){if(q>=this.y&&q<this.y+this.height)return!0}return!1}strokeContains($,q,J,Q=0.5){let{width:Z,height:N}=this;if(Z<=0||N<=0)return!1;let K=this.x,H=this.y,V=J*(1-Q),W=J-V,O=K-V,z=K+Z+V,F=H-V,k=H+N+V,I=K+W,A=K+Z-W,L=H+W,G=H+N-W;return $>=O&&$<=z&&q>=F&&q<=k&&!($>I&&$<A&&q>L&&q<G)}intersects($,q){if(!q){let h5=this.x<$.x?$.x:this.x;if((this.right>$.right?$.right:this.right)<=h5)return!1;let P5=this.y<$.y?$.y:this.y;return(this.bottom>$.bottom?$.bottom:this.bottom)>P5}let J=this.left,Q=this.right,Z=this.top,N=this.bottom;if(Q<=J||N<=Z)return!1;let K=a[0].set($.left,$.top),H=a[1].set($.left,$.bottom),V=a[2].set($.right,$.top),W=a[3].set($.right,$.bottom);if(V.x<=K.x||H.y<=K.y)return!1;let O=Math.sign(q.a*q.d-q.b*q.c);if(O===0)return!1;if(q.apply(K,K),q.apply(H,H),q.apply(V,V),q.apply(W,W),Math.max(K.x,H.x,V.x,W.x)<=J||Math.min(K.x,H.x,V.x,W.x)>=Q||Math.max(K.y,H.y,V.y,W.y)<=Z||Math.min(K.y,H.y,V.y,W.y)>=N)return!1;let z=O*(H.y-K.y),F=O*(K.x-H.x),k=z*J+F*Z,I=z*Q+F*Z,A=z*J+F*N,L=z*Q+F*N;if(Math.max(k,I,A,L)<=z*K.x+F*K.y||Math.min(k,I,A,L)>=z*W.x+F*W.y)return!1;let G=O*(K.y-V.y),j=O*(V.x-K.x),E0=G*J+j*Z,T0=G*Q+j*Z,S0=G*J+j*N,h0=G*Q+j*N;if(Math.max(E0,T0,S0,h0)<=G*K.x+j*K.y||Math.min(E0,T0,S0,h0)>=G*W.x+j*W.y)return!1;return!0}pad($=0,q=$){return this.x-=$,this.y-=q,this.width+=$*2,this.height+=q*2,this}fit($){let q=Math.max(this.x,$.x),J=Math.min(this.x+this.width,$.x+$.width),Q=Math.max(this.y,$.y),Z=Math.min(this.y+this.height,$.y+$.height);return this.x=q,this.width=Math.max(J-q,0),this.y=Q,this.height=Math.max(Z-Q,0),this}ceil($=1,q=0.001){let J=Math.ceil((this.x+this.width-q)*$)/$,Q=Math.ceil((this.y+this.height-q)*$)/$;return this.x=Math.floor((this.x+q)*$)/$,this.y=Math.floor((this.y+q)*$)/$,this.width=J-this.x,this.height=Q-this.y,this}scale($,q=$){return this.x*=$,this.y*=q,this.width*=$,this.height*=q,this}enlarge($){let q=Math.min(this.x,$.x),J=Math.max(this.x+this.width,$.x+$.width),Q=Math.min(this.y,$.y),Z=Math.max(this.y+this.height,$.y+$.height);return this.x=q,this.width=J-q,this.y=Q,this.height=Z-Q,this}getBounds($){return $||($=new T),$.copyFrom(this),$}containsRect($){if(this.width<=0||this.height<=0)return!1;let{x:q,y:J}=$,Q=$.x+$.width,Z=$.y+$.height;return q>=this.x&&q<this.x+this.width&&J>=this.y&&J<this.y+this.height&&Q>=this.x&&Q<this.x+this.width&&Z>=this.y&&Z<this.y+this.height}set($,q,J,Q){return this.x=$,this.y=q,this.width=J,this.height=Q,this}toString(){return`[pixi.js/math:Rectangle x=${this.x} y=${this.y} width=${this.width} height=${this.height}]`}}var P0=Math.PI*2,O8=180/Math.PI,F8=Math.PI/180;class U{constructor($=1,q=0,J=0,Q=1,Z=0,N=0){this.array=null,this.a=$,this.b=q,this.c=J,this.d=Q,this.tx=Z,this.ty=N}fromArray($){this.a=$[0],this.b=$[1],this.c=$[3],this.d=$[4],this.tx=$[2],this.ty=$[5]}set($,q,J,Q,Z,N){return this.a=$,this.b=q,this.c=J,this.d=Q,this.tx=Z,this.ty=N,this}toArray($,q){if(!this.array)this.array=new Float32Array(9);let J=q||this.array;if($)J[0]=this.a,J[1]=this.b,J[2]=0,J[3]=this.c,J[4]=this.d,J[5]=0,J[6]=this.tx,J[7]=this.ty,J[8]=1;else J[0]=this.a,J[1]=this.c,J[2]=this.tx,J[3]=this.b,J[4]=this.d,J[5]=this.ty,J[6]=0,J[7]=0,J[8]=1;return J}apply($,q){q=q||new R;let{x:J,y:Q}=$;return q.x=this.a*J+this.c*Q+this.tx,q.y=this.b*J+this.d*Q+this.ty,q}applyInverse($,q){q=q||new R;let J=this.a,Q=this.b,Z=this.c,N=this.d,K=this.tx,H=this.ty,V=1/(J*N+Z*-Q),W=$.x,O=$.y;return q.x=N*V*W+-Z*V*O+(H*Z-K*N)*V,q.y=J*V*O+-Q*V*W+(-H*J+K*Q)*V,q}translate($,q){return this.tx+=$,this.ty+=q,this}scale($,q){return this.a*=$,this.d*=q,this.c*=$,this.b*=q,this.tx*=$,this.ty*=q,this}rotate($){let q=Math.cos($),J=Math.sin($),Q=this.a,Z=this.c,N=this.tx;return this.a=Q*q-this.b*J,this.b=Q*J+this.b*q,this.c=Z*q-this.d*J,this.d=Z*J+this.d*q,this.tx=N*q-this.ty*J,this.ty=N*J+this.ty*q,this}append($){let q=this.a,J=this.b,Q=this.c,Z=this.d;return this.a=$.a*q+$.b*Q,this.b=$.a*J+$.b*Z,this.c=$.c*q+$.d*Q,this.d=$.c*J+$.d*Z,this.tx=$.tx*q+$.ty*Q+this.tx,this.ty=$.tx*J+$.ty*Z+this.ty,this}appendFrom($,q){let{a:J,b:Q,c:Z,d:N,tx:K,ty:H}=$,V=q.a,W=q.b,O=q.c,z=q.d;return this.a=J*V+Q*O,this.b=J*W+Q*z,this.c=Z*V+N*O,this.d=Z*W+N*z,this.tx=K*V+H*O+q.tx,this.ty=K*W+H*z+q.ty,this}setTransform($,q,J,Q,Z,N,K,H,V){return this.a=Math.cos(K+V)*Z,this.b=Math.sin(K+V)*Z,this.c=-Math.sin(K-H)*N,this.d=Math.cos(K-H)*N,this.tx=$-(J*this.a+Q*this.c),this.ty=q-(J*this.b+Q*this.d),this}prepend($){let q=this.tx;if($.a!==1||$.b!==0||$.c!==0||$.d!==1){let J=this.a,Q=this.c;this.a=J*$.a+this.b*$.c,this.b=J*$.b+this.b*$.d,this.c=Q*$.a+this.d*$.c,this.d=Q*$.b+this.d*$.d}return this.tx=q*$.a+this.ty*$.c+$.tx,this.ty=q*$.b+this.ty*$.d+$.ty,this}decompose($){let q=this.a,J=this.b,Q=this.c,Z=this.d,N=$.pivot,K=-Math.atan2(-Q,Z),H=Math.atan2(J,q),V=Math.abs(K+H);if(V<0.00001||Math.abs(P0-V)<0.00001)$.rotation=H,$.skew.x=$.skew.y=0;else $.rotation=0,$.skew.x=K,$.skew.y=H;return $.scale.x=Math.sqrt(q*q+J*J),$.scale.y=Math.sqrt(Q*Q+Z*Z),$.position.x=this.tx+(N.x*q+N.y*Q),$.position.y=this.ty+(N.x*J+N.y*Z),$}invert(){let $=this.a,q=this.b,J=this.c,Q=this.d,Z=this.tx,N=$*Q-q*J;return this.a=Q/N,this.b=-q/N,this.c=-J/N,this.d=$/N,this.tx=(J*this.ty-Q*Z)/N,this.ty=-($*this.ty-q*Z)/N,this}isIdentity(){return this.a===1&&this.b===0&&this.c===0&&this.d===1&&this.tx===0&&this.ty===0}identity(){return this.a=1,this.b=0,this.c=0,this.d=1,this.tx=0,this.ty=0,this}clone(){let $=new U;return $.a=this.a,$.b=this.b,$.c=this.c,$.d=this.d,$.tx=this.tx,$.ty=this.ty,$}copyTo($){return $.a=this.a,$.b=this.b,$.c=this.c,$.d=this.d,$.tx=this.tx,$.ty=this.ty,$}copyFrom($){return this.a=$.a,this.b=$.b,this.c=$.c,this.d=$.d,this.tx=$.tx,this.ty=$.ty,this}equals($){return $.a===this.a&&$.b===this.b&&$.c===this.c&&$.d===this.d&&$.tx===this.tx&&$.ty===this.ty}toString(){return`[pixi.js:Matrix a=${this.a} b=${this.b} c=${this.c} d=${this.d} tx=${this.tx} ty=${this.ty}]`}static get IDENTITY(){return d5.identity()}static get shared(){return f5.identity()}}var f5=new U,d5=new U;var h=[1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1,0,1],P=[0,1,1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1],f=[0,-1,-1,-1,0,1,1,1,0,1,1,1,0,-1,-1,-1],d=[1,1,0,-1,-1,-1,0,1,-1,-1,0,1,1,1,0,-1],O0=[],f0=[],r=Math.sign;function y5(){for(let $=0;$<16;$++){let q=[];O0.push(q);for(let J=0;J<16;J++){let Q=r(h[$]*h[J]+f[$]*P[J]),Z=r(P[$]*h[J]+d[$]*P[J]),N=r(h[$]*f[J]+f[$]*d[J]),K=r(P[$]*f[J]+d[$]*d[J]);for(let H=0;H<16;H++)if(h[H]===Q&&P[H]===Z&&f[H]===N&&d[H]===K){q.push(H);break}}}for(let $=0;$<16;$++){let q=new U;q.set(h[$],P[$],f[$],d[$],0,0),f0.push(q)}}y5();var C={E:0,SE:1,S:2,SW:3,W:4,NW:5,N:6,NE:7,MIRROR_VERTICAL:8,MAIN_DIAGONAL:10,MIRROR_HORIZONTAL:12,REVERSE_DIAGONAL:14,uX:($)=>h[$],uY:($)=>P[$],vX:($)=>f[$],vY:($)=>d[$],inv:($)=>{if($&8)return $&15;return-$&7},add:($,q)=>O0[$][q],sub:($,q)=>O0[$][C.inv(q)],rotate180:($)=>$^4,isVertical:($)=>($&3)===2,byDirection:($,q)=>{if(Math.abs($)*2<=Math.abs(q)){if(q>=0)return C.S;return C.N}else if(Math.abs(q)*2<=Math.abs($)){if($>0)return C.E;return C.W}else if(q>0){if($>0)return C.SE;return C.SW}else if($>0)return C.NE;return C.NW},matrixAppendRotationInv:($,q,J=0,Q=0,Z=0,N=0)=>{let K=f0[C.inv(q)],H=K.a,V=K.b,W=K.c,O=K.d,z=J-Math.min(0,H*Z,W*N,H*Z+W*N),F=Q-Math.min(0,V*Z,O*N,V*Z+O*N),k=$.a,I=$.b,A=$.c,L=$.d;$.a=H*k+V*A,$.b=H*I+V*L,$.c=W*k+O*A,$.d=W*I+O*L,$.tx=z*k+F*A+$.tx,$.ty=z*I+F*L+$.ty},transformRectCoords:($,q,J,Q)=>{let{x:Z,y:N,width:K,height:H}=$,{x:V,y:W,width:O,height:z}=q;if(J===C.E)return Q.set(Z+V,N+W,K,H),Q;else if(J===C.S)return Q.set(O-N-H+V,Z+W,H,K);else if(J===C.W)return Q.set(O-Z-K+V,z-N-H+W,K,H);else if(J===C.N)return Q.set(N+V,z-Z-K+W,H,K);return Q.set(Z+V,N+W,K,H)}};var g0=l5(y0(),1);var Y=g0.default;var k0={default:-1};function _($="default"){if(k0[$]===void 0)k0[$]=-1;return++k0[$]}var c0=new Set,e="8.0.0",X8="8.3.4",g={quiet:!1,noColor:!1},p=($,q,J=3)=>{if(g.quiet||c0.has(q))return;let Q=Error().stack,Z=`${q}
|
|
2
|
-
Deprecated since v${$}`,N=typeof console.groupCollapsed==="function"&&!
|
|
1
|
+
import{wb as l5,xb as c5}from"./chunk-cs4e65d1.js";var y0=c5((D8,F0)=>{var g5=Object.prototype.hasOwnProperty,X="~";function x(){}if(Object.create){if(x.prototype=Object.create(null),!new x().__proto__)X=!1}function v5($,q,J){this.fn=$,this.context=q,this.once=J||!1}function d0($,q,J,Q,Z){if(typeof J!=="function")throw TypeError("The listener must be a function");var N=new v5(J,Q||$,Z),K=X?X+q:q;if(!$._events[K])$._events[K]=N,$._eventsCount++;else if(!$._events[K].fn)$._events[K].push(N);else $._events[K]=[$._events[K],N];return $}function t($,q){if(--$._eventsCount===0)$._events=new x;else delete $._events[q]}function w(){this._events=new x,this._eventsCount=0}w.prototype.eventNames=function(){var q=[],J,Q;if(this._eventsCount===0)return q;for(Q in J=this._events)if(g5.call(J,Q))q.push(X?Q.slice(1):Q);if(Object.getOwnPropertySymbols)return q.concat(Object.getOwnPropertySymbols(J));return q};w.prototype.listeners=function(q){var J=X?X+q:q,Q=this._events[J];if(!Q)return[];if(Q.fn)return[Q.fn];for(var Z=0,N=Q.length,K=Array(N);Z<N;Z++)K[Z]=Q[Z].fn;return K};w.prototype.listenerCount=function(q){var J=X?X+q:q,Q=this._events[J];if(!Q)return 0;if(Q.fn)return 1;return Q.length};w.prototype.emit=function(q,J,Q,Z,N,K){var H=X?X+q:q;if(!this._events[H])return!1;var V=this._events[H],W=arguments.length,O,z;if(V.fn){if(V.once)this.removeListener(q,V.fn,void 0,!0);switch(W){case 1:return V.fn.call(V.context),!0;case 2:return V.fn.call(V.context,J),!0;case 3:return V.fn.call(V.context,J,Q),!0;case 4:return V.fn.call(V.context,J,Q,Z),!0;case 5:return V.fn.call(V.context,J,Q,Z,N),!0;case 6:return V.fn.call(V.context,J,Q,Z,N,K),!0}for(z=1,O=Array(W-1);z<W;z++)O[z-1]=arguments[z];V.fn.apply(V.context,O)}else{var F=V.length,k;for(z=0;z<F;z++){if(V[z].once)this.removeListener(q,V[z].fn,void 0,!0);switch(W){case 1:V[z].fn.call(V[z].context);break;case 2:V[z].fn.call(V[z].context,J);break;case 3:V[z].fn.call(V[z].context,J,Q);break;case 4:V[z].fn.call(V[z].context,J,Q,Z);break;default:if(!O)for(k=1,O=Array(W-1);k<W;k++)O[k-1]=arguments[k];V[z].fn.apply(V[z].context,O)}}}return!0};w.prototype.on=function(q,J,Q){return d0(this,q,J,Q,!1)};w.prototype.once=function(q,J,Q){return d0(this,q,J,Q,!0)};w.prototype.removeListener=function(q,J,Q,Z){var N=X?X+q:q;if(!this._events[N])return this;if(!J)return t(this,N),this;var K=this._events[N];if(K.fn){if(K.fn===J&&(!Z||K.once)&&(!Q||K.context===Q))t(this,N)}else{for(var H=0,V=[],W=K.length;H<W;H++)if(K[H].fn!==J||Z&&!K[H].once||Q&&K[H].context!==Q)V.push(K[H]);if(V.length)this._events[N]=V.length===1?V[0]:V;else t(this,N)}return this};w.prototype.removeAllListeners=function(q){var J;if(q){if(J=X?X+q:q,this._events[J])t(this,J)}else this._events=new x,this._eventsCount=0;return this};w.prototype.off=w.prototype.removeListener;w.prototype.addListener=w.prototype.on;w.prefixed=X;w.EventEmitter=w;if(typeof F0<"u")F0.exports=w});var W0=(($)=>{return $.Application="application",$.WebGLPipes="webgl-pipes",$.WebGLPipesAdaptor="webgl-pipes-adaptor",$.WebGLSystem="webgl-system",$.WebGPUPipes="webgpu-pipes",$.WebGPUPipesAdaptor="webgpu-pipes-adaptor",$.WebGPUSystem="webgpu-system",$.CanvasSystem="canvas-system",$.CanvasPipesAdaptor="canvas-pipes-adaptor",$.CanvasPipes="canvas-pipes",$.Asset="asset",$.LoadParser="load-parser",$.ResolveParser="resolve-parser",$.CacheParser="cache-parser",$.DetectionParser="detection-parser",$.MaskEffect="mask-effect",$.BlendMode="blend-mode",$.TextureSource="texture-source",$.Environment="environment",$.ShapeBuilder="shape-builder",$.Batcher="batcher",$})(W0||{}),H0=($)=>{if(typeof $==="function"||typeof $==="object"&&$.extension){if(!$.extension)throw Error("Extension class must have an extension object");$={...typeof $.extension!=="object"?{type:$.extension}:$.extension,ref:$}}if(typeof $==="object")$={...$};else throw Error("Invalid extension type");if(typeof $.type==="string")$.type=[$.type];return $},o=($,q)=>H0($).priority??q,K8={_addHandlers:{},_removeHandlers:{},_queue:{},remove(...$){return $.map(H0).forEach((q)=>{q.type.forEach((J)=>this._removeHandlers[J]?.(q))}),this},add(...$){return $.map(H0).forEach((q)=>{q.type.forEach((J)=>{let Q=this._addHandlers,Z=this._queue;if(!Q[J])Z[J]=Z[J]||[],Z[J]?.push(q);else Q[J]?.(q)})}),this},handle($,q,J){let Q=this._addHandlers,Z=this._removeHandlers;if(Q[$]||Z[$])throw Error(`Extension type ${$} already has a handler`);Q[$]=q,Z[$]=J;let N=this._queue;if(N[$])N[$]?.forEach((K)=>q(K)),delete N[$];return this},handleByMap($,q){return this.handle($,(J)=>{if(J.name)q[J.name]=J.ref},(J)=>{if(J.name)delete q[J.name]})},handleByNamedList($,q,J=-1){return this.handle($,(Q)=>{if(q.findIndex((N)=>N.name===Q.name)>=0)return;q.push({name:Q.name,value:Q.ref}),q.sort((N,K)=>o(K.value,J)-o(N.value,J))},(Q)=>{let Z=q.findIndex((N)=>N.name===Q.name);if(Z!==-1)q.splice(Z,1)})},handleByList($,q,J=-1){return this.handle($,(Q)=>{if(q.includes(Q.ref))return;q.push(Q.ref),q.sort((Z,N)=>o(N,J)-o(Z,J))},(Q)=>{let Z=q.indexOf(Q.ref);if(Z!==-1)q.splice(Z,1)})},mixin($,...q){for(let J of q)Object.defineProperties($.prototype,Object.getOwnPropertyDescriptors(J))}};class R{constructor($=0,q=0){this.x=0,this.y=0,this.x=$,this.y=q}clone(){return new R(this.x,this.y)}copyFrom($){return this.set($.x,$.y),this}copyTo($){return $.set(this.x,this.y),$}equals($){return $.x===this.x&&$.y===this.y}set($=0,q=$){return this.x=$,this.y=q,this}toString(){return`[pixi.js/math:Point x=${this.x} y=${this.y}]`}static get shared(){return z0.x=0,z0.y=0,z0}}var z0=new R;var a=[new R,new R,new R,new R];class T{constructor($=0,q=0,J=0,Q=0){this.type="rectangle",this.x=Number($),this.y=Number(q),this.width=Number(J),this.height=Number(Q)}get left(){return this.x}get right(){return this.x+this.width}get top(){return this.y}get bottom(){return this.y+this.height}isEmpty(){return this.left===this.right||this.top===this.bottom}static get EMPTY(){return new T(0,0,0,0)}clone(){return new T(this.x,this.y,this.width,this.height)}copyFromBounds($){return this.x=$.minX,this.y=$.minY,this.width=$.maxX-$.minX,this.height=$.maxY-$.minY,this}copyFrom($){return this.x=$.x,this.y=$.y,this.width=$.width,this.height=$.height,this}copyTo($){return $.copyFrom(this),$}contains($,q){if(this.width<=0||this.height<=0)return!1;if($>=this.x&&$<this.x+this.width){if(q>=this.y&&q<this.y+this.height)return!0}return!1}strokeContains($,q,J,Q=0.5){let{width:Z,height:N}=this;if(Z<=0||N<=0)return!1;let K=this.x,H=this.y,V=J*(1-Q),W=J-V,O=K-V,z=K+Z+V,F=H-V,k=H+N+V,I=K+W,A=K+Z-W,L=H+W,G=H+N-W;return $>=O&&$<=z&&q>=F&&q<=k&&!($>I&&$<A&&q>L&&q<G)}intersects($,q){if(!q){let h5=this.x<$.x?$.x:this.x;if((this.right>$.right?$.right:this.right)<=h5)return!1;let P5=this.y<$.y?$.y:this.y;return(this.bottom>$.bottom?$.bottom:this.bottom)>P5}let J=this.left,Q=this.right,Z=this.top,N=this.bottom;if(Q<=J||N<=Z)return!1;let K=a[0].set($.left,$.top),H=a[1].set($.left,$.bottom),V=a[2].set($.right,$.top),W=a[3].set($.right,$.bottom);if(V.x<=K.x||H.y<=K.y)return!1;let O=Math.sign(q.a*q.d-q.b*q.c);if(O===0)return!1;if(q.apply(K,K),q.apply(H,H),q.apply(V,V),q.apply(W,W),Math.max(K.x,H.x,V.x,W.x)<=J||Math.min(K.x,H.x,V.x,W.x)>=Q||Math.max(K.y,H.y,V.y,W.y)<=Z||Math.min(K.y,H.y,V.y,W.y)>=N)return!1;let z=O*(H.y-K.y),F=O*(K.x-H.x),k=z*J+F*Z,I=z*Q+F*Z,A=z*J+F*N,L=z*Q+F*N;if(Math.max(k,I,A,L)<=z*K.x+F*K.y||Math.min(k,I,A,L)>=z*W.x+F*W.y)return!1;let G=O*(K.y-V.y),j=O*(V.x-K.x),E0=G*J+j*Z,T0=G*Q+j*Z,S0=G*J+j*N,h0=G*Q+j*N;if(Math.max(E0,T0,S0,h0)<=G*K.x+j*K.y||Math.min(E0,T0,S0,h0)>=G*W.x+j*W.y)return!1;return!0}pad($=0,q=$){return this.x-=$,this.y-=q,this.width+=$*2,this.height+=q*2,this}fit($){let q=Math.max(this.x,$.x),J=Math.min(this.x+this.width,$.x+$.width),Q=Math.max(this.y,$.y),Z=Math.min(this.y+this.height,$.y+$.height);return this.x=q,this.width=Math.max(J-q,0),this.y=Q,this.height=Math.max(Z-Q,0),this}ceil($=1,q=0.001){let J=Math.ceil((this.x+this.width-q)*$)/$,Q=Math.ceil((this.y+this.height-q)*$)/$;return this.x=Math.floor((this.x+q)*$)/$,this.y=Math.floor((this.y+q)*$)/$,this.width=J-this.x,this.height=Q-this.y,this}scale($,q=$){return this.x*=$,this.y*=q,this.width*=$,this.height*=q,this}enlarge($){let q=Math.min(this.x,$.x),J=Math.max(this.x+this.width,$.x+$.width),Q=Math.min(this.y,$.y),Z=Math.max(this.y+this.height,$.y+$.height);return this.x=q,this.width=J-q,this.y=Q,this.height=Z-Q,this}getBounds($){return $||($=new T),$.copyFrom(this),$}containsRect($){if(this.width<=0||this.height<=0)return!1;let{x:q,y:J}=$,Q=$.x+$.width,Z=$.y+$.height;return q>=this.x&&q<this.x+this.width&&J>=this.y&&J<this.y+this.height&&Q>=this.x&&Q<this.x+this.width&&Z>=this.y&&Z<this.y+this.height}set($,q,J,Q){return this.x=$,this.y=q,this.width=J,this.height=Q,this}toString(){return`[pixi.js/math:Rectangle x=${this.x} y=${this.y} width=${this.width} height=${this.height}]`}}var P0=Math.PI*2,O8=180/Math.PI,F8=Math.PI/180;class U{constructor($=1,q=0,J=0,Q=1,Z=0,N=0){this.array=null,this.a=$,this.b=q,this.c=J,this.d=Q,this.tx=Z,this.ty=N}fromArray($){this.a=$[0],this.b=$[1],this.c=$[3],this.d=$[4],this.tx=$[2],this.ty=$[5]}set($,q,J,Q,Z,N){return this.a=$,this.b=q,this.c=J,this.d=Q,this.tx=Z,this.ty=N,this}toArray($,q){if(!this.array)this.array=new Float32Array(9);let J=q||this.array;if($)J[0]=this.a,J[1]=this.b,J[2]=0,J[3]=this.c,J[4]=this.d,J[5]=0,J[6]=this.tx,J[7]=this.ty,J[8]=1;else J[0]=this.a,J[1]=this.c,J[2]=this.tx,J[3]=this.b,J[4]=this.d,J[5]=this.ty,J[6]=0,J[7]=0,J[8]=1;return J}apply($,q){q=q||new R;let{x:J,y:Q}=$;return q.x=this.a*J+this.c*Q+this.tx,q.y=this.b*J+this.d*Q+this.ty,q}applyInverse($,q){q=q||new R;let J=this.a,Q=this.b,Z=this.c,N=this.d,K=this.tx,H=this.ty,V=1/(J*N+Z*-Q),W=$.x,O=$.y;return q.x=N*V*W+-Z*V*O+(H*Z-K*N)*V,q.y=J*V*O+-Q*V*W+(-H*J+K*Q)*V,q}translate($,q){return this.tx+=$,this.ty+=q,this}scale($,q){return this.a*=$,this.d*=q,this.c*=$,this.b*=q,this.tx*=$,this.ty*=q,this}rotate($){let q=Math.cos($),J=Math.sin($),Q=this.a,Z=this.c,N=this.tx;return this.a=Q*q-this.b*J,this.b=Q*J+this.b*q,this.c=Z*q-this.d*J,this.d=Z*J+this.d*q,this.tx=N*q-this.ty*J,this.ty=N*J+this.ty*q,this}append($){let q=this.a,J=this.b,Q=this.c,Z=this.d;return this.a=$.a*q+$.b*Q,this.b=$.a*J+$.b*Z,this.c=$.c*q+$.d*Q,this.d=$.c*J+$.d*Z,this.tx=$.tx*q+$.ty*Q+this.tx,this.ty=$.tx*J+$.ty*Z+this.ty,this}appendFrom($,q){let{a:J,b:Q,c:Z,d:N,tx:K,ty:H}=$,V=q.a,W=q.b,O=q.c,z=q.d;return this.a=J*V+Q*O,this.b=J*W+Q*z,this.c=Z*V+N*O,this.d=Z*W+N*z,this.tx=K*V+H*O+q.tx,this.ty=K*W+H*z+q.ty,this}setTransform($,q,J,Q,Z,N,K,H,V){return this.a=Math.cos(K+V)*Z,this.b=Math.sin(K+V)*Z,this.c=-Math.sin(K-H)*N,this.d=Math.cos(K-H)*N,this.tx=$-(J*this.a+Q*this.c),this.ty=q-(J*this.b+Q*this.d),this}prepend($){let q=this.tx;if($.a!==1||$.b!==0||$.c!==0||$.d!==1){let J=this.a,Q=this.c;this.a=J*$.a+this.b*$.c,this.b=J*$.b+this.b*$.d,this.c=Q*$.a+this.d*$.c,this.d=Q*$.b+this.d*$.d}return this.tx=q*$.a+this.ty*$.c+$.tx,this.ty=q*$.b+this.ty*$.d+$.ty,this}decompose($){let q=this.a,J=this.b,Q=this.c,Z=this.d,N=$.pivot,K=-Math.atan2(-Q,Z),H=Math.atan2(J,q),V=Math.abs(K+H);if(V<0.00001||Math.abs(P0-V)<0.00001)$.rotation=H,$.skew.x=$.skew.y=0;else $.rotation=0,$.skew.x=K,$.skew.y=H;return $.scale.x=Math.sqrt(q*q+J*J),$.scale.y=Math.sqrt(Q*Q+Z*Z),$.position.x=this.tx+(N.x*q+N.y*Q),$.position.y=this.ty+(N.x*J+N.y*Z),$}invert(){let $=this.a,q=this.b,J=this.c,Q=this.d,Z=this.tx,N=$*Q-q*J;return this.a=Q/N,this.b=-q/N,this.c=-J/N,this.d=$/N,this.tx=(J*this.ty-Q*Z)/N,this.ty=-($*this.ty-q*Z)/N,this}isIdentity(){return this.a===1&&this.b===0&&this.c===0&&this.d===1&&this.tx===0&&this.ty===0}identity(){return this.a=1,this.b=0,this.c=0,this.d=1,this.tx=0,this.ty=0,this}clone(){let $=new U;return $.a=this.a,$.b=this.b,$.c=this.c,$.d=this.d,$.tx=this.tx,$.ty=this.ty,$}copyTo($){return $.a=this.a,$.b=this.b,$.c=this.c,$.d=this.d,$.tx=this.tx,$.ty=this.ty,$}copyFrom($){return this.a=$.a,this.b=$.b,this.c=$.c,this.d=$.d,this.tx=$.tx,this.ty=$.ty,this}equals($){return $.a===this.a&&$.b===this.b&&$.c===this.c&&$.d===this.d&&$.tx===this.tx&&$.ty===this.ty}toString(){return`[pixi.js:Matrix a=${this.a} b=${this.b} c=${this.c} d=${this.d} tx=${this.tx} ty=${this.ty}]`}static get IDENTITY(){return d5.identity()}static get shared(){return f5.identity()}}var f5=new U,d5=new U;var h=[1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1,0,1],P=[0,1,1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1],f=[0,-1,-1,-1,0,1,1,1,0,1,1,1,0,-1,-1,-1],d=[1,1,0,-1,-1,-1,0,1,-1,-1,0,1,1,1,0,-1],O0=[],f0=[],r=Math.sign;function y5(){for(let $=0;$<16;$++){let q=[];O0.push(q);for(let J=0;J<16;J++){let Q=r(h[$]*h[J]+f[$]*P[J]),Z=r(P[$]*h[J]+d[$]*P[J]),N=r(h[$]*f[J]+f[$]*d[J]),K=r(P[$]*f[J]+d[$]*d[J]);for(let H=0;H<16;H++)if(h[H]===Q&&P[H]===Z&&f[H]===N&&d[H]===K){q.push(H);break}}}for(let $=0;$<16;$++){let q=new U;q.set(h[$],P[$],f[$],d[$],0,0),f0.push(q)}}y5();var C={E:0,SE:1,S:2,SW:3,W:4,NW:5,N:6,NE:7,MIRROR_VERTICAL:8,MAIN_DIAGONAL:10,MIRROR_HORIZONTAL:12,REVERSE_DIAGONAL:14,uX:($)=>h[$],uY:($)=>P[$],vX:($)=>f[$],vY:($)=>d[$],inv:($)=>{if($&8)return $&15;return-$&7},add:($,q)=>O0[$][q],sub:($,q)=>O0[$][C.inv(q)],rotate180:($)=>$^4,isVertical:($)=>($&3)===2,byDirection:($,q)=>{if(Math.abs($)*2<=Math.abs(q)){if(q>=0)return C.S;return C.N}else if(Math.abs(q)*2<=Math.abs($)){if($>0)return C.E;return C.W}else if(q>0){if($>0)return C.SE;return C.SW}else if($>0)return C.NE;return C.NW},matrixAppendRotationInv:($,q,J=0,Q=0,Z=0,N=0)=>{let K=f0[C.inv(q)],H=K.a,V=K.b,W=K.c,O=K.d,z=J-Math.min(0,H*Z,W*N,H*Z+W*N),F=Q-Math.min(0,V*Z,O*N,V*Z+O*N),k=$.a,I=$.b,A=$.c,L=$.d;$.a=H*k+V*A,$.b=H*I+V*L,$.c=W*k+O*A,$.d=W*I+O*L,$.tx=z*k+F*A+$.tx,$.ty=z*I+F*L+$.ty},transformRectCoords:($,q,J,Q)=>{let{x:Z,y:N,width:K,height:H}=$,{x:V,y:W,width:O,height:z}=q;if(J===C.E)return Q.set(Z+V,N+W,K,H),Q;else if(J===C.S)return Q.set(O-N-H+V,Z+W,H,K);else if(J===C.W)return Q.set(O-Z-K+V,z-N-H+W,K,H);else if(J===C.N)return Q.set(N+V,z-Z-K+W,H,K);return Q.set(Z+V,N+W,K,H)}};var c0=l5(y0(),1);var Y=c0.default;var k0={default:-1};function _($="default"){if(k0[$]===void 0)k0[$]=-1;return++k0[$]}var g0=new Set,e="8.0.0",X8="8.3.4",c={quiet:!1,noColor:!1},p=($,q,J=3)=>{if(c.quiet||g0.has(q))return;let Q=Error().stack,Z=`${q}
|
|
2
|
+
Deprecated since v${$}`,N=typeof console.groupCollapsed==="function"&&!c.noColor;if(typeof Q>"u")console.warn("PixiJS Deprecation Warning: ",Z);else if(Q=Q.split(`
|
|
3
3
|
`).splice(J).join(`
|
|
4
|
-
`),N)console.groupCollapsed("%cPixiJS Deprecation Warning: %c%s","color:#614108;background:#fffbe6","font-weight:normal;color:#614108;background:#fffbe6",Z),console.warn(Q),console.groupEnd();else console.warn("PixiJS Deprecation Warning: ",Z),console.warn(Q);c0.add(q)};Object.defineProperties(p,{quiet:{get:()=>g.quiet,set:($)=>{g.quiet=$},enumerable:!0,configurable:!1},noColor:{get:()=>g.noColor,set:($)=>{g.noColor=$},enumerable:!0,configurable:!1}});var A0=()=>{};function b8($){return $+=$===0?1:0,--$,$|=$>>>1,$|=$>>>2,$|=$>>>4,$|=$>>>8,$|=$>>>16,$+1}function I0($){return!($&$-1)&&!!$}function v0($){let q={};for(let J in $)if($[J]!==void 0)q[J]=$[J];return q}var l0=Object.create(null);function x5($){let q=l0[$];if(q===void 0)l0[$]=_("resource");return q}var x0=class $ extends Y{constructor(q={}){super();this._resourceType="textureSampler",this._touched=0,this._maxAnisotropy=1,this.destroyed=!1,q={...$.defaultOptions,...q},this.addressMode=q.addressMode,this.addressModeU=q.addressModeU??this.addressModeU,this.addressModeV=q.addressModeV??this.addressModeV,this.addressModeW=q.addressModeW??this.addressModeW,this.scaleMode=q.scaleMode,this.magFilter=q.magFilter??this.magFilter,this.minFilter=q.minFilter??this.minFilter,this.mipmapFilter=q.mipmapFilter??this.mipmapFilter,this.lodMinClamp=q.lodMinClamp,this.lodMaxClamp=q.lodMaxClamp,this.compare=q.compare,this.maxAnisotropy=q.maxAnisotropy??1}set addressMode(q){this.addressModeU=q,this.addressModeV=q,this.addressModeW=q}get addressMode(){return this.addressModeU}set wrapMode(q){p(e,"TextureStyle.wrapMode is now TextureStyle.addressMode"),this.addressMode=q}get wrapMode(){return this.addressMode}set scaleMode(q){this.magFilter=q,this.minFilter=q,this.mipmapFilter=q}get scaleMode(){return this.magFilter}set maxAnisotropy(q){if(this._maxAnisotropy=Math.min(q,16),this._maxAnisotropy>1)this.scaleMode="linear"}get maxAnisotropy(){return this._maxAnisotropy}get _resourceId(){return this._sharedResourceId||this._generateResourceId()}update(){this._sharedResourceId=null,this.emit("change",this)}_generateResourceId(){let q=`${this.addressModeU}-${this.addressModeV}-${this.addressModeW}-${this.magFilter}-${this.minFilter}-${this.mipmapFilter}-${this.lodMinClamp}-${this.lodMaxClamp}-${this.compare}-${this._maxAnisotropy}`;return this._sharedResourceId=x5(q),this._resourceId}destroy(){this.destroyed=!0,this.emit("destroy",this),this.emit("change",this),this.removeAllListeners()}};x0.defaultOptions={addressMode:"clamp-to-edge",scaleMode:"linear"};var p0=x0;var m0=class $ extends Y{constructor(q={}){super();if(this.options=q,this._gpuData=Object.create(null),this._gcLastUsed=-1,this.uid=_("textureSource"),this._resourceType="textureSource",this._resourceId=_("resource"),this.uploadMethodId="unknown",this._resolution=1,this.pixelWidth=1,this.pixelHeight=1,this.width=1,this.height=1,this.sampleCount=1,this.mipLevelCount=1,this.autoGenerateMipmaps=!1,this.format="rgba8unorm",this.dimension="2d",this.viewDimension="2d",this.arrayLayerCount=1,this.antialias=!1,this._touched=0,this._batchTick=-1,this._textureBindLocation=-1,q={...$.defaultOptions,...q},this.label=q.label??"",this.resource=q.resource,this.autoGarbageCollect=q.autoGarbageCollect,this._resolution=q.resolution,q.width)this.pixelWidth=q.width*this._resolution;else this.pixelWidth=this.resource?this.resourceWidth??1:1;if(q.height)this.pixelHeight=q.height*this._resolution;else this.pixelHeight=this.resource?this.resourceHeight??1:1;this.width=this.pixelWidth/this._resolution,this.height=this.pixelHeight/this._resolution,this.format=q.format,this.dimension=q.dimensions,this.viewDimension=q.viewDimension??q.dimensions,this.arrayLayerCount=q.arrayLayerCount,this.mipLevelCount=q.mipLevelCount,this.autoGenerateMipmaps=q.autoGenerateMipmaps,this.sampleCount=q.sampleCount,this.antialias=q.antialias,this.alphaMode=q.alphaMode,this.style=new p0(v0(q)),this.destroyed=!1,this._refreshPOT()}get source(){return this}get style(){return this._style}set style(q){if(this.style===q)return;this._style?.off("change",this._onStyleChange,this),this._style=q,this._style?.on("change",this._onStyleChange,this),this._onStyleChange()}set maxAnisotropy(q){this._style.maxAnisotropy=q}get maxAnisotropy(){return this._style.maxAnisotropy}get addressMode(){return this._style.addressMode}set addressMode(q){this._style.addressMode=q}get repeatMode(){return this._style.addressMode}set repeatMode(q){this._style.addressMode=q}get magFilter(){return this._style.magFilter}set magFilter(q){this._style.magFilter=q}get minFilter(){return this._style.minFilter}set minFilter(q){this._style.minFilter=q}get mipmapFilter(){return this._style.mipmapFilter}set mipmapFilter(q){this._style.mipmapFilter=q}get lodMinClamp(){return this._style.lodMinClamp}set lodMinClamp(q){this._style.lodMinClamp=q}get lodMaxClamp(){return this._style.lodMaxClamp}set lodMaxClamp(q){this._style.lodMaxClamp=q}_onStyleChange(){this.emit("styleChange",this)}update(){if(this.resource){let q=this._resolution;if(this.resize(this.resourceWidth/q,this.resourceHeight/q))return}this.emit("update",this)}destroy(){if(this.destroyed=!0,this.unload(),this.emit("destroy",this),this._style)this._style.destroy(),this._style=null;this.uploadMethodId=null,this.resource=null,this.removeAllListeners()}unload(){this._resourceId=_("resource"),this.emit("change",this),this.emit("unload",this);for(let q in this._gpuData)this._gpuData[q]?.destroy?.();this._gpuData=Object.create(null)}get resourceWidth(){let{resource:q}=this;return q.naturalWidth||q.videoWidth||q.displayWidth||q.width}get resourceHeight(){let{resource:q}=this;return q.naturalHeight||q.videoHeight||q.displayHeight||q.height}get resolution(){return this._resolution}set resolution(q){if(this._resolution===q)return;this._resolution=q,this.width=this.pixelWidth/q,this.height=this.pixelHeight/q}resize(q,J,Q){Q||(Q=this._resolution),q||(q=this.width),J||(J=this.height);let Z=Math.round(q*Q),N=Math.round(J*Q);if(this.width=Z/Q,this.height=N/Q,this._resolution=Q,this.pixelWidth===Z&&this.pixelHeight===N)return!1;return this._refreshPOT(),this.pixelWidth=Z,this.pixelHeight=N,this.emit("resize",this),this._resourceId=_("resource"),this.emit("change",this),!0}updateMipmaps(){if(this.autoGenerateMipmaps&&this.mipLevelCount>1)this.emit("updateMipmaps",this)}set wrapMode(q){this._style.wrapMode=q}get wrapMode(){return this._style.wrapMode}set scaleMode(q){this._style.scaleMode=q}get scaleMode(){return this._style.scaleMode}_refreshPOT(){this.isPowerOfTwo=I0(this.pixelWidth)&&I0(this.pixelHeight)}static test(q){throw Error("Unimplemented")}};m0.defaultOptions={resolution:1,format:"bgra8unorm",alphaMode:"premultiply-alpha-on-upload",dimensions:"2d",viewDimension:"2d",arrayLayerCount:1,mipLevelCount:1,autoGenerateMipmaps:!1,sampleCount:1,antialias:!1,autoGarbageCollect:!1};var m=m0;class $0 extends m{constructor($){let q=$.resource||new Float32Array($.width*$.height*4),J=$.format;if(!J)if(q instanceof Float32Array)J="rgba32float";else if(q instanceof Int32Array)J="rgba32uint";else if(q instanceof Uint32Array)J="rgba32uint";else if(q instanceof Int16Array)J="rgba16uint";else if(q instanceof Uint16Array)J="rgba16uint";else if(q instanceof Int8Array)J="bgra8unorm";else J="bgra8unorm";super({...$,resource:q,format:J});this.uploadMethodId="buffer"}static test($){return $ instanceof Int8Array||$ instanceof Uint8Array||$ instanceof Uint8ClampedArray||$ instanceof Int16Array||$ instanceof Uint16Array||$ instanceof Int32Array||$ instanceof Uint32Array||$ instanceof Float32Array}}$0.extension=W0.TextureSource;var u0=new U;class L0{constructor($,q){if(this.mapCoord=new U,this.uClampFrame=new Float32Array(4),this.uClampOffset=new Float32Array(2),this._textureID=-1,this._updateID=0,this.clampOffset=0,typeof q>"u")this.clampMargin=$.width<10?0:0.5;else this.clampMargin=q;this.isSimple=!1,this.texture=$}get texture(){return this._texture}set texture($){if(this.texture===$)return;this._texture?.removeListener("update",this.update,this),this._texture=$,this._texture.addListener("update",this.update,this),this.update()}multiplyUvs($,q){if(q===void 0)q=$;let J=this.mapCoord;for(let Q=0;Q<$.length;Q+=2){let Z=$[Q],N=$[Q+1];q[Q]=Z*J.a+N*J.c+J.tx,q[Q+1]=Z*J.b+N*J.d+J.ty}return q}update(){let $=this._texture;this._updateID++;let q=$.uvs;this.mapCoord.set(q.x1-q.x0,q.y1-q.y0,q.x3-q.x0,q.y3-q.y0,q.x0,q.y0);let{orig:J,trim:Q}=$;if(Q)u0.set(J.width/Q.width,0,0,J.height/Q.height,-Q.x/Q.width,-Q.y/Q.height),this.mapCoord.append(u0);let Z=$.source,N=this.uClampFrame,K=this.clampMargin/Z._resolution,H=this.clampOffset/Z._resolution;return N[0]=($.frame.x+K+H)/Z.width,N[1]=($.frame.y+K+H)/Z.height,N[2]=($.frame.x+$.frame.width-K+H)/Z.width,N[3]=($.frame.y+$.frame.height-K+H)/Z.height,this.uClampOffset[0]=this.clampOffset/Z.pixelWidth,this.uClampOffset[1]=this.clampOffset/Z.pixelHeight,this.isSimple=$.frame.width===Z.width&&$.frame.height===Z.height&&$.rotate===0,!0}}class y extends Y{constructor({source:$,label:q,frame:J,orig:Q,trim:Z,defaultAnchor:N,defaultBorders:K,rotate:H,dynamic:V}={}){super();if(this.uid=_("texture"),this.uvs={x0:0,y0:0,x1:0,y1:0,x2:0,y2:0,x3:0,y3:0},this.frame=new T,this.noFrame=!1,this.dynamic=!1,this.isTexture=!0,this.label=q,this.source=$?.source??new m,this.noFrame=!J,J)this.frame.copyFrom(J);else{let{width:W,height:O}=this._source;this.frame.width=W,this.frame.height=O}this.orig=Q||this.frame,this.trim=Z,this.rotate=H??0,this.defaultAnchor=N,this.defaultBorders=K,this.destroyed=!1,this.dynamic=V||!1,this.updateUvs()}set source($){if(this._source)this._source.off("resize",this.update,this);this._source=$,$.on("resize",this.update,this),this.emit("update",this)}get source(){return this._source}get textureMatrix(){if(!this._textureMatrix)this._textureMatrix=new L0(this);return this._textureMatrix}get width(){return this.orig.width}get height(){return this.orig.height}updateUvs(){let{uvs:$,frame:q}=this,{width:J,height:Q}=this._source,Z=q.x/J,N=q.y/Q,K=q.width/J,H=q.height/Q,V=this.rotate;if(V){let W=K/2,O=H/2,z=Z+W,F=N+O;V=C.add(V,C.NW),$.x0=z+W*C.uX(V),$.y0=F+O*C.uY(V),V=C.add(V,2),$.x1=z+W*C.uX(V),$.y1=F+O*C.uY(V),V=C.add(V,2),$.x2=z+W*C.uX(V),$.y2=F+O*C.uY(V),V=C.add(V,2),$.x3=z+W*C.uX(V),$.y3=F+O*C.uY(V)}else $.x0=Z,$.y0=N,$.x1=Z+K,$.y1=N,$.x2=Z+K,$.y2=N+H,$.x3=Z,$.y3=N+H}destroy($=!1){if(this._source){if(this._source.off("resize",this.update,this),$)this._source.destroy(),this._source=null}this._textureMatrix=null,this.destroyed=!0,this.emit("destroy",this),this.removeAllListeners()}update(){if(this.noFrame)this.frame.width=this._source.width,this.frame.height=this._source.height;this.updateUvs(),this.emit("update",this)}get baseTexture(){return p(e,"Texture.baseTexture is now Texture.source"),this._source}}y.EMPTY=new y({label:"EMPTY",source:new m({label:"EMPTY"})});y.EMPTY.destroy=A0;y.WHITE=new y({source:new $0({resource:new Uint8Array([255,255,255,255]),width:1,height:1,alphaMode:"premultiply-alpha-on-upload",label:"WHITE"}),label:"WHITE"});y.WHITE.destroy=A0;var q0=(($)=>{return $[$.WEBGL=1]="WEBGL",$[$.WEBGPU=2]="WEBGPU",$[$.CANVAS=4]="CANVAS",$[$.BOTH=3]="BOTH",$})(q0||{});var p5={grad:0.9,turn:360,rad:360/(2*Math.PI)},E=function($){return typeof $=="string"?$.length>0:typeof $=="number"},D=function($,q,J){return q===void 0&&(q=0),J===void 0&&(J=Math.pow(10,q)),Math.round(J*$)/J+0},M=function($,q,J){return q===void 0&&(q=0),J===void 0&&(J=1),$>J?J:$>q?$:q},e0=function($){return($=isFinite($)?$%360:0)>0?$:$+360},n0=function($){return{r:M($.r,0,255),g:M($.g,0,255),b:M($.b,0,255),a:M($.a)}},C0=function($){return{r:D($.r),g:D($.g),b:D($.b),a:D($.a,3)}},m5=/^#([0-9a-f]{3,8})$/i,J0=function($){var q=$.toString(16);return q.length<2?"0"+q:q},$5=function($){var{r:q,g:J,b:Q,a:Z}=$,N=Math.max(q,J,Q),K=N-Math.min(q,J,Q),H=K?N===q?(J-Q)/K:N===J?2+(Q-q)/K:4+(q-J)/K:0;return{h:60*(H<0?H+6:H),s:N?K/N*100:0,v:N/255*100,a:Z}},q5=function($){var{h:q,s:J,v:Q,a:Z}=$;q=q/360*6,J/=100,Q/=100;var N=Math.floor(q),K=Q*(1-J),H=Q*(1-(q-N)*J),V=Q*(1-(1-q+N)*J),W=N%6;return{r:255*[Q,H,K,K,V,Q][W],g:255*[V,Q,Q,H,K,K][W],b:255*[K,K,V,Q,Q,H][W],a:Z}},i0=function($){return{h:e0($.h),s:M($.s,0,100),l:M($.l,0,100),a:M($.a)}},s0=function($){return{h:D($.h),s:D($.s),l:D($.l),a:D($.a,3)}},o0=function($){return q5((J=(q=$).s,{h:q.h,s:(J*=((Q=q.l)<50?Q:100-Q)/100)>0?2*J/(Q+J)*100:0,v:Q+J,a:q.a}));var q,J,Q},u=function($){return{h:(q=$5($)).h,s:(Z=(200-(J=q.s))*(Q=q.v)/100)>0&&Z<200?J*Q/100/(Z<=100?Z:200-Z)*100:0,l:Z/2,a:q.a};var q,J,Q,Z},u5=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,n5=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,i5=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,s5=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,w0={string:[[function($){var q=m5.exec($);return q?($=q[1]).length<=4?{r:parseInt($[0]+$[0],16),g:parseInt($[1]+$[1],16),b:parseInt($[2]+$[2],16),a:$.length===4?D(parseInt($[3]+$[3],16)/255,2):1}:$.length===6||$.length===8?{r:parseInt($.substr(0,2),16),g:parseInt($.substr(2,2),16),b:parseInt($.substr(4,2),16),a:$.length===8?D(parseInt($.substr(6,2),16)/255,2):1}:null:null},"hex"],[function($){var q=i5.exec($)||s5.exec($);return q?q[2]!==q[4]||q[4]!==q[6]?null:n0({r:Number(q[1])/(q[2]?0.39215686274509803:1),g:Number(q[3])/(q[4]?0.39215686274509803:1),b:Number(q[5])/(q[6]?0.39215686274509803:1),a:q[7]===void 0?1:Number(q[7])/(q[8]?100:1)}):null},"rgb"],[function($){var q=u5.exec($)||n5.exec($);if(!q)return null;var J,Q,Z=i0({h:(J=q[1],Q=q[2],Q===void 0&&(Q="deg"),Number(J)*(p5[Q]||1)),s:Number(q[3]),l:Number(q[4]),a:q[5]===void 0?1:Number(q[5])/(q[6]?100:1)});return o0(Z)},"hsl"]],object:[[function($){var{r:q,g:J,b:Q,a:Z}=$,N=Z===void 0?1:Z;return E(q)&&E(J)&&E(Q)?n0({r:Number(q),g:Number(J),b:Number(Q),a:Number(N)}):null},"rgb"],[function($){var{h:q,s:J,l:Q,a:Z}=$,N=Z===void 0?1:Z;if(!E(q)||!E(J)||!E(Q))return null;var K=i0({h:Number(q),s:Number(J),l:Number(Q),a:Number(N)});return o0(K)},"hsl"],[function($){var{h:q,s:J,v:Q,a:Z}=$,N=Z===void 0?1:Z;if(!E(q)||!E(J)||!E(Q))return null;var K=function(H){return{h:e0(H.h),s:M(H.s,0,100),v:M(H.v,0,100),a:M(H.a)}}({h:Number(q),s:Number(J),v:Number(Q),a:Number(N)});return q5(K)},"hsv"]]},a0=function($,q){for(var J=0;J<q.length;J++){var Q=q[J][0]($);if(Q)return[Q,q[J][1]]}return[null,void 0]},o5=function($){return typeof $=="string"?a0($.trim(),w0.string):typeof $=="object"&&$!==null?a0($,w0.object):[null,void 0]};var _0=function($,q){var J=u($);return{h:J.h,s:M(J.s+100*q,0,100),l:J.l,a:J.a}},D0=function($){return(299*$.r+587*$.g+114*$.b)/1000/255},r0=function($,q){var J=u($);return{h:J.h,s:J.s,l:M(J.l+100*q,0,100),a:J.a}},G0=function(){function $(q){this.parsed=o5(q)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1}}return $.prototype.isValid=function(){return this.parsed!==null},$.prototype.brightness=function(){return D(D0(this.rgba),2)},$.prototype.isDark=function(){return D0(this.rgba)<0.5},$.prototype.isLight=function(){return D0(this.rgba)>=0.5},$.prototype.toHex=function(){return q=C0(this.rgba),J=q.r,Q=q.g,Z=q.b,K=(N=q.a)<1?J0(D(255*N)):"","#"+J0(J)+J0(Q)+J0(Z)+K;var q,J,Q,Z,N,K},$.prototype.toRgb=function(){return C0(this.rgba)},$.prototype.toRgbString=function(){return q=C0(this.rgba),J=q.r,Q=q.g,Z=q.b,(N=q.a)<1?"rgba("+J+", "+Q+", "+Z+", "+N+")":"rgb("+J+", "+Q+", "+Z+")";var q,J,Q,Z,N},$.prototype.toHsl=function(){return s0(u(this.rgba))},$.prototype.toHslString=function(){return q=s0(u(this.rgba)),J=q.h,Q=q.s,Z=q.l,(N=q.a)<1?"hsla("+J+", "+Q+"%, "+Z+"%, "+N+")":"hsl("+J+", "+Q+"%, "+Z+"%)";var q,J,Q,Z,N},$.prototype.toHsv=function(){return q=$5(this.rgba),{h:D(q.h),s:D(q.s),v:D(q.v),a:D(q.a,3)};var q},$.prototype.invert=function(){return B({r:255-(q=this.rgba).r,g:255-q.g,b:255-q.b,a:q.a});var q},$.prototype.saturate=function(q){return q===void 0&&(q=0.1),B(_0(this.rgba,q))},$.prototype.desaturate=function(q){return q===void 0&&(q=0.1),B(_0(this.rgba,-q))},$.prototype.grayscale=function(){return B(_0(this.rgba,-1))},$.prototype.lighten=function(q){return q===void 0&&(q=0.1),B(r0(this.rgba,q))},$.prototype.darken=function(q){return q===void 0&&(q=0.1),B(r0(this.rgba,-q))},$.prototype.rotate=function(q){return q===void 0&&(q=15),this.hue(this.hue()+q)},$.prototype.alpha=function(q){return typeof q=="number"?B({r:(J=this.rgba).r,g:J.g,b:J.b,a:q}):D(this.rgba.a,3);var J},$.prototype.hue=function(q){var J=u(this.rgba);return typeof q=="number"?B({h:q,s:J.s,l:J.l,a:J.a}):D(J.h)},$.prototype.isEqual=function(q){return this.toHex()===B(q).toHex()},$}(),B=function($){return $ instanceof G0?$:new G0($)},t0=[],J5=function($){$.forEach(function(q){t0.indexOf(q)<0&&(q(G0,w0),t0.push(q))})};function X0($,q){var J={white:"#ffffff",bisque:"#ffe4c4",blue:"#0000ff",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",antiquewhite:"#faebd7",aqua:"#00ffff",azure:"#f0ffff",whitesmoke:"#f5f5f5",papayawhip:"#ffefd5",plum:"#dda0dd",blanchedalmond:"#ffebcd",black:"#000000",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",cornsilk:"#fff8dc",cornflowerblue:"#6495ed",burlywood:"#deb887",aquamarine:"#7fffd4",beige:"#f5f5dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkkhaki:"#bdb76b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",peachpuff:"#ffdab9",darkmagenta:"#8b008b",darkred:"#8b0000",darkorchid:"#9932cc",darkorange:"#ff8c00",darkslateblue:"#483d8b",gray:"#808080",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",deeppink:"#ff1493",deepskyblue:"#00bfff",wheat:"#f5deb3",firebrick:"#b22222",floralwhite:"#fffaf0",ghostwhite:"#f8f8ff",darkviolet:"#9400d3",magenta:"#ff00ff",green:"#008000",dodgerblue:"#1e90ff",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",blueviolet:"#8a2be2",forestgreen:"#228b22",lawngreen:"#7cfc00",indianred:"#cd5c5c",indigo:"#4b0082",fuchsia:"#ff00ff",brown:"#a52a2a",maroon:"#800000",mediumblue:"#0000cd",lightcoral:"#f08080",darkturquoise:"#00ced1",lightcyan:"#e0ffff",ivory:"#fffff0",lightyellow:"#ffffe0",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",linen:"#faf0e6",mediumaquamarine:"#66cdaa",lemonchiffon:"#fffacd",lime:"#00ff00",khaki:"#f0e68c",mediumseagreen:"#3cb371",limegreen:"#32cd32",mediumspringgreen:"#00fa9a",lightskyblue:"#87cefa",lightblue:"#add8e6",midnightblue:"#191970",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",mintcream:"#f5fffa",lightslategray:"#778899",lightslategrey:"#778899",navajowhite:"#ffdead",navy:"#000080",mediumvioletred:"#c71585",powderblue:"#b0e0e6",palegoldenrod:"#eee8aa",oldlace:"#fdf5e6",paleturquoise:"#afeeee",mediumturquoise:"#48d1cc",mediumorchid:"#ba55d3",rebeccapurple:"#663399",lightsteelblue:"#b0c4de",mediumslateblue:"#7b68ee",thistle:"#d8bfd8",tan:"#d2b48c",orchid:"#da70d6",mediumpurple:"#9370db",purple:"#800080",pink:"#ffc0cb",skyblue:"#87ceeb",springgreen:"#00ff7f",palegreen:"#98fb98",red:"#ff0000",yellow:"#ffff00",slateblue:"#6a5acd",lavenderblush:"#fff0f5",peru:"#cd853f",palevioletred:"#db7093",violet:"#ee82ee",teal:"#008080",slategray:"#708090",slategrey:"#708090",aliceblue:"#f0f8ff",darkseagreen:"#8fbc8f",darkolivegreen:"#556b2f",greenyellow:"#adff2f",seagreen:"#2e8b57",seashell:"#fff5ee",tomato:"#ff6347",silver:"#c0c0c0",sienna:"#a0522d",lavender:"#e6e6fa",lightgreen:"#90ee90",orange:"#ffa500",orangered:"#ff4500",steelblue:"#4682b4",royalblue:"#4169e1",turquoise:"#40e0d0",yellowgreen:"#9acd32",salmon:"#fa8072",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",darksalmon:"#e9967a",lightgoldenrodyellow:"#fafad2",snow:"#fffafa",lightgrey:"#d3d3d3",lightgray:"#d3d3d3",dimgray:"#696969",dimgrey:"#696969",olivedrab:"#6b8e23",olive:"#808000"},Q={};for(var Z in J)Q[J[Z]]=Z;var N={};$.prototype.toName=function(K){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var H,V,W=Q[this.toHex()];if(W)return W;if(K==null?void 0:K.closest){var O=this.toRgb(),z=1/0,F="black";if(!N.length)for(var k in J)N[k]=new $(J[k]).toRgb();for(var I in J){var A=(H=O,V=N[I],Math.pow(H.r-V.r,2)+Math.pow(H.g-V.g,2)+Math.pow(H.b-V.b,2));A<z&&(z=A,F=I)}return F}},q.string.push([function(K){var H=K.toLowerCase(),V=H==="transparent"?"#0000":J[H];return V?new $(V).toRgb():null},"name"])}J5([X0]);var c=class ${constructor(q=16777215){this._value=null,this._components=new Float32Array(4),this._components.fill(1),this._int=16777215,this.value=q}get red(){return this._components[0]}get green(){return this._components[1]}get blue(){return this._components[2]}get alpha(){return this._components[3]}setValue(q){return this.value=q,this}set value(q){if(q instanceof $)this._value=this._cloneSource(q._value),this._int=q._int,this._components.set(q._components);else if(q===null)throw Error("Cannot set Color#value to null");else if(this._value===null||!this._isSourceEqual(this._value,q))this._value=this._cloneSource(q),this._normalize(this._value)}get value(){return this._value}_cloneSource(q){if(typeof q==="string"||typeof q==="number"||q instanceof Number||q===null)return q;else if(Array.isArray(q)||ArrayBuffer.isView(q))return q.slice(0);else if(typeof q==="object"&&q!==null)return{...q};return q}_isSourceEqual(q,J){let Q=typeof q;if(Q!==typeof J)return!1;else if(Q==="number"||Q==="string"||q instanceof Number)return q===J;else if(Array.isArray(q)&&Array.isArray(J)||ArrayBuffer.isView(q)&&ArrayBuffer.isView(J)){if(q.length!==J.length)return!1;return q.every((N,K)=>N===J[K])}else if(q!==null&&J!==null){let N=Object.keys(q),K=Object.keys(J);if(N.length!==K.length)return!1;return N.every((H)=>q[H]===J[H])}return q===J}toRgba(){let[q,J,Q,Z]=this._components;return{r:q,g:J,b:Q,a:Z}}toRgb(){let[q,J,Q]=this._components;return{r:q,g:J,b:Q}}toRgbaString(){let[q,J,Q]=this.toUint8RgbArray();return`rgba(${q},${J},${Q},${this.alpha})`}toUint8RgbArray(q){let[J,Q,Z]=this._components;if(!this._arrayRgb)this._arrayRgb=[];return q||(q=this._arrayRgb),q[0]=Math.round(J*255),q[1]=Math.round(Q*255),q[2]=Math.round(Z*255),q}toArray(q){if(!this._arrayRgba)this._arrayRgba=[];q||(q=this._arrayRgba);let[J,Q,Z,N]=this._components;return q[0]=J,q[1]=Q,q[2]=Z,q[3]=N,q}toRgbArray(q){if(!this._arrayRgb)this._arrayRgb=[];q||(q=this._arrayRgb);let[J,Q,Z]=this._components;return q[0]=J,q[1]=Q,q[2]=Z,q}toNumber(){return this._int}toBgrNumber(){let[q,J,Q]=this.toUint8RgbArray();return(Q<<16)+(J<<8)+q}toLittleEndianNumber(){let q=this._int;return(q>>16)+(q&65280)+((q&255)<<16)}multiply(q){let[J,Q,Z,N]=$._temp.setValue(q)._components;return this._components[0]*=J,this._components[1]*=Q,this._components[2]*=Z,this._components[3]*=N,this._refreshInt(),this._value=null,this}premultiply(q,J=!0){if(J)this._components[0]*=q,this._components[1]*=q,this._components[2]*=q;return this._components[3]=q,this._refreshInt(),this._value=null,this}toPremultiplied(q,J=!0){if(q===1)return-16777216+this._int;if(q===0)return J?0:this._int;let Q=this._int>>16&255,Z=this._int>>8&255,N=this._int&255;if(J)Q=Q*q+0.5|0,Z=Z*q+0.5|0,N=N*q+0.5|0;return(q*255<<24)+(Q<<16)+(Z<<8)+N}toHex(){let q=this._int.toString(16);return`#${"000000".substring(0,6-q.length)+q}`}toHexa(){let J=Math.round(this._components[3]*255).toString(16);return this.toHex()+"00".substring(0,2-J.length)+J}setAlpha(q){return this._components[3]=this._clamp(q),this}_normalize(q){let J,Q,Z,N;if((typeof q==="number"||q instanceof Number)&&q>=0&&q<=16777215){let K=q;J=(K>>16&255)/255,Q=(K>>8&255)/255,Z=(K&255)/255,N=1}else if((Array.isArray(q)||q instanceof Float32Array)&&q.length>=3&&q.length<=4)q=this._clamp(q),[J,Q,Z,N=1]=q;else if((q instanceof Uint8Array||q instanceof Uint8ClampedArray)&&q.length>=3&&q.length<=4)q=this._clamp(q,0,255),[J,Q,Z,N=255]=q,J/=255,Q/=255,Z/=255,N/=255;else if(typeof q==="string"||typeof q==="object"){if(typeof q==="string"){let H=$.HEX_PATTERN.exec(q);if(H)q=`#${H[2]}`}let K=B(q);if(K.isValid())({r:J,g:Q,b:Z,a:N}=K.rgba),J/=255,Q/=255,Z/=255}if(J!==void 0)this._components[0]=J,this._components[1]=Q,this._components[2]=Z,this._components[3]=N,this._refreshInt();else throw Error(`Unable to convert color ${q}`)}_refreshInt(){this._clamp(this._components);let[q,J,Q]=this._components;this._int=(q*255<<16)+(J*255<<8)+(Q*255|0)}_clamp(q,J=0,Q=1){if(typeof q==="number")return Math.min(Math.max(q,J),Q);return q.forEach((Z,N)=>{q[N]=Math.min(Math.max(Z,J),Q)}),q}static isColorLike(q){return typeof q==="number"||typeof q==="string"||q instanceof Number||q instanceof $||Array.isArray(q)||q instanceof Uint8Array||q instanceof Uint8ClampedArray||q instanceof Float32Array||q.r!==void 0&&q.g!==void 0&&q.b!==void 0||q.r!==void 0&&q.g!==void 0&&q.b!==void 0&&q.a!==void 0||q.h!==void 0&&q.s!==void 0&&q.l!==void 0||q.h!==void 0&&q.s!==void 0&&q.l!==void 0&&q.a!==void 0||q.h!==void 0&&q.s!==void 0&&q.v!==void 0||q.h!==void 0&&q.s!==void 0&&q.v!==void 0&&q.a!==void 0}};c.shared=new c;c._temp=new c;c.HEX_PATTERN=/^(#|0x)?(([a-f0-9]{3}){1,2}([a-f0-9]{2})?)$/i;var Z6=c;var Y0=0,Q5=500;function K6(...$){if(Y0===Q5)return;if(Y0++,Y0===Q5)console.warn("PixiJS Warning: too many warnings, no more warnings will be reported to the console by PixiJS.");else console.warn("PixiJS Warning: ",...$)}var Z5={_registeredResources:new Set,register($){this._registeredResources.add($)},unregister($){this._registeredResources.delete($)},release(){this._registeredResources.forEach(($)=>$.clear())},get registeredCount(){return this._registeredResources.size},isRegistered($){return this._registeredResources.has($)},reset(){this._registeredResources.clear()}};class M0{constructor($,q){if(this._pool=[],this._count=0,this._index=0,this._classType=$,q)this.prepopulate(q)}prepopulate($){for(let q=0;q<$;q++)this._pool[this._index++]=new this._classType;this._count+=$}get($){let q;if(this._index>0)q=this._pool[--this._index];else q=new this._classType,this._count++;return q.init?.($),q}return($){$.reset?.(),this._pool[this._index++]=$}get totalSize(){return this._count}get totalFree(){return this._index}get totalUsed(){return this._count-this._index}clear(){if(this._pool.length>0&&this._pool[0].destroy)for(let $=0;$<this._index;$++)this._pool[$].destroy();this._pool.length=0,this._count=0,this._index=0}}class N5{constructor(){this._poolsByClass=new Map}prepopulate($,q){this.getPool($).prepopulate(q)}get($,q){return this.getPool($).get(q)}return($){this.getPool($.constructor).return($)}getPool($){if(!this._poolsByClass.has($))this._poolsByClass.set($,new M0($));return this._poolsByClass.get($)}stats(){let $={};return this._poolsByClass.forEach((q)=>{let J=$[q._classType.name]?q._classType.name+q._classType.ID:q._classType.name;$[J]={free:q.totalFree,used:q.totalUsed,size:q.totalSize}}),$}clear(){this._poolsByClass.forEach(($)=>$.clear()),this._poolsByClass.clear()}}var a5=new N5;Z5.register(a5);var K5=new U;class Q0{constructor($=1/0,q=1/0,J=-1/0,Q=-1/0){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,this.matrix=K5,this.minX=$,this.minY=q,this.maxX=J,this.maxY=Q}isEmpty(){return this.minX>this.maxX||this.minY>this.maxY}get rectangle(){if(!this._rectangle)this._rectangle=new T;let $=this._rectangle;if(this.minX>this.maxX||this.minY>this.maxY)$.x=0,$.y=0,$.width=0,$.height=0;else $.copyFromBounds(this);return $}clear(){return this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,this.matrix=K5,this}set($,q,J,Q){this.minX=$,this.minY=q,this.maxX=J,this.maxY=Q}addFrame($,q,J,Q,Z){Z||(Z=this.matrix);let{a:N,b:K,c:H,d:V,tx:W,ty:O}=Z,z=this.minX,F=this.minY,k=this.maxX,I=this.maxY,A=N*$+H*q+W,L=K*$+V*q+O;if(A<z)z=A;if(L<F)F=L;if(A>k)k=A;if(L>I)I=L;if(A=N*J+H*q+W,L=K*J+V*q+O,A<z)z=A;if(L<F)F=L;if(A>k)k=A;if(L>I)I=L;if(A=N*$+H*Q+W,L=K*$+V*Q+O,A<z)z=A;if(L<F)F=L;if(A>k)k=A;if(L>I)I=L;if(A=N*J+H*Q+W,L=K*J+V*Q+O,A<z)z=A;if(L<F)F=L;if(A>k)k=A;if(L>I)I=L;this.minX=z,this.minY=F,this.maxX=k,this.maxY=I}addRect($,q){this.addFrame($.x,$.y,$.x+$.width,$.y+$.height,q)}addBounds($,q){this.addFrame($.minX,$.minY,$.maxX,$.maxY,q)}addBoundsMask($){this.minX=this.minX>$.minX?this.minX:$.minX,this.minY=this.minY>$.minY?this.minY:$.minY,this.maxX=this.maxX<$.maxX?this.maxX:$.maxX,this.maxY=this.maxY<$.maxY?this.maxY:$.maxY}applyMatrix($){let q=this.minX,J=this.minY,Q=this.maxX,Z=this.maxY,{a:N,b:K,c:H,d:V,tx:W,ty:O}=$,z=N*q+H*J+W,F=K*q+V*J+O;this.minX=z,this.minY=F,this.maxX=z,this.maxY=F,z=N*Q+H*J+W,F=K*Q+V*J+O,this.minX=z<this.minX?z:this.minX,this.minY=F<this.minY?F:this.minY,this.maxX=z>this.maxX?z:this.maxX,this.maxY=F>this.maxY?F:this.maxY,z=N*q+H*Z+W,F=K*q+V*Z+O,this.minX=z<this.minX?z:this.minX,this.minY=F<this.minY?F:this.minY,this.maxX=z>this.maxX?z:this.maxX,this.maxY=F>this.maxY?F:this.maxY,z=N*Q+H*Z+W,F=K*Q+V*Z+O,this.minX=z<this.minX?z:this.minX,this.minY=F<this.minY?F:this.minY,this.maxX=z>this.maxX?z:this.maxX,this.maxY=F>this.maxY?F:this.maxY}fit($){if(this.minX<$.left)this.minX=$.left;if(this.maxX>$.right)this.maxX=$.right;if(this.minY<$.top)this.minY=$.top;if(this.maxY>$.bottom)this.maxY=$.bottom;return this}fitBounds($,q,J,Q){if(this.minX<$)this.minX=$;if(this.maxX>q)this.maxX=q;if(this.minY<J)this.minY=J;if(this.maxY>Q)this.maxY=Q;return this}pad($,q=$){return this.minX-=$,this.maxX+=$,this.minY-=q,this.maxY+=q,this}ceil(){return this.minX=Math.floor(this.minX),this.minY=Math.floor(this.minY),this.maxX=Math.ceil(this.maxX),this.maxY=Math.ceil(this.maxY),this}clone(){return new Q0(this.minX,this.minY,this.maxX,this.maxY)}scale($,q=$){return this.minX*=$,this.minY*=q,this.maxX*=$,this.maxY*=q,this}get x(){return this.minX}set x($){let q=this.maxX-this.minX;this.minX=$,this.maxX=$+q}get y(){return this.minY}set y($){let q=this.maxY-this.minY;this.minY=$,this.maxY=$+q}get width(){return this.maxX-this.minX}set width($){this.maxX=this.minX+$}get height(){return this.maxY-this.minY}set height($){this.maxY=this.minY+$}get left(){return this.minX}get right(){return this.maxX}get top(){return this.minY}get bottom(){return this.maxY}get isPositive(){return this.maxX-this.minX>0&&this.maxY-this.minY>0}get isValid(){return this.minX+this.minY!==1/0}addVertexData($,q,J,Q){let Z=this.minX,N=this.minY,K=this.maxX,H=this.maxY;Q||(Q=this.matrix);let{a:V,b:W,c:O,d:z,tx:F,ty:k}=Q;for(let I=q;I<J;I+=2){let A=$[I],L=$[I+1],G=V*A+O*L+F,j=W*A+z*L+k;Z=G<Z?G:Z,N=j<N?j:N,K=G>K?G:K,H=j>H?j:H}this.minX=Z,this.minY=N,this.maxX=K,this.maxY=H}containsPoint($,q){if(this.minX<=$&&this.minY<=q&&this.maxX>=$&&this.maxY>=q)return!0;return!1}toString(){return`[pixi.js:Bounds minX=${this.minX} minY=${this.minY} maxX=${this.maxX} maxY=${this.maxY} width=${this.width} height=${this.height}]`}copyFrom($){return this.minX=$.minX,this.minY=$.minY,this.maxX=$.maxX,this.maxY=$.maxY,this}}function L6($,q){if($===16777215||!q)return q;if(q===16777215||!$)return $;let J=$>>16&255,Q=$>>8&255,Z=$&255,N=q>>16&255,K=q>>8&255,H=q&255,V=J*N/255|0,W=Q*K/255|0,O=Z*H/255|0;return(V<<16)+(W<<8)+O}var V5={createCanvas:($,q)=>{let J=document.createElement("canvas");return J.width=$,J.height=q,J},createImage:()=>new Image,getCanvasRenderingContext2D:()=>CanvasRenderingContext2D,getWebGLRenderingContext:()=>WebGLRenderingContext,getNavigator:()=>navigator,getBaseUrl:()=>document.baseURI??window.location.href,getFontFaceSet:()=>document.fonts,fetch:($,q)=>fetch($,q),parseXML:($)=>{return new DOMParser().parseFromString($,"text/xml")}};var H5=V5,b0={get(){return H5},set($){H5=$}};var j0=Object.create(null),W5=Object.create(null);function v($,q){let J=W5[$];if(J===void 0){if(j0[q]===void 0)j0[q]=1;W5[$]=J=j0[q]++}return J}var Z0;function z5(){if(!Z0||Z0?.isContextLost())Z0=b0.get().createCanvas().getContext("webgl",{});return Z0}var N0;function O5(){if(!N0){N0="mediump";let $=z5();if($){if($.getShaderPrecisionFormat)N0=$.getShaderPrecisionFormat($.FRAGMENT_SHADER,$.HIGH_FLOAT).precision?"highp":"mediump"}}return N0}function F5($,q,J){if(q)return $;if(J)return $=$.replace("out vec4 finalColor;",""),`
|
|
4
|
+
`),N)console.groupCollapsed("%cPixiJS Deprecation Warning: %c%s","color:#614108;background:#fffbe6","font-weight:normal;color:#614108;background:#fffbe6",Z),console.warn(Q),console.groupEnd();else console.warn("PixiJS Deprecation Warning: ",Z),console.warn(Q);g0.add(q)};Object.defineProperties(p,{quiet:{get:()=>c.quiet,set:($)=>{c.quiet=$},enumerable:!0,configurable:!1},noColor:{get:()=>c.noColor,set:($)=>{c.noColor=$},enumerable:!0,configurable:!1}});var A0=()=>{};function b8($){return $+=$===0?1:0,--$,$|=$>>>1,$|=$>>>2,$|=$>>>4,$|=$>>>8,$|=$>>>16,$+1}function I0($){return!($&$-1)&&!!$}function v0($){let q={};for(let J in $)if($[J]!==void 0)q[J]=$[J];return q}var l0=Object.create(null);function x5($){let q=l0[$];if(q===void 0)l0[$]=_("resource");return q}var x0=class $ extends Y{constructor(q={}){super();this._resourceType="textureSampler",this._touched=0,this._maxAnisotropy=1,this.destroyed=!1,q={...$.defaultOptions,...q},this.addressMode=q.addressMode,this.addressModeU=q.addressModeU??this.addressModeU,this.addressModeV=q.addressModeV??this.addressModeV,this.addressModeW=q.addressModeW??this.addressModeW,this.scaleMode=q.scaleMode,this.magFilter=q.magFilter??this.magFilter,this.minFilter=q.minFilter??this.minFilter,this.mipmapFilter=q.mipmapFilter??this.mipmapFilter,this.lodMinClamp=q.lodMinClamp,this.lodMaxClamp=q.lodMaxClamp,this.compare=q.compare,this.maxAnisotropy=q.maxAnisotropy??1}set addressMode(q){this.addressModeU=q,this.addressModeV=q,this.addressModeW=q}get addressMode(){return this.addressModeU}set wrapMode(q){p(e,"TextureStyle.wrapMode is now TextureStyle.addressMode"),this.addressMode=q}get wrapMode(){return this.addressMode}set scaleMode(q){this.magFilter=q,this.minFilter=q,this.mipmapFilter=q}get scaleMode(){return this.magFilter}set maxAnisotropy(q){if(this._maxAnisotropy=Math.min(q,16),this._maxAnisotropy>1)this.scaleMode="linear"}get maxAnisotropy(){return this._maxAnisotropy}get _resourceId(){return this._sharedResourceId||this._generateResourceId()}update(){this._sharedResourceId=null,this.emit("change",this)}_generateResourceId(){let q=`${this.addressModeU}-${this.addressModeV}-${this.addressModeW}-${this.magFilter}-${this.minFilter}-${this.mipmapFilter}-${this.lodMinClamp}-${this.lodMaxClamp}-${this.compare}-${this._maxAnisotropy}`;return this._sharedResourceId=x5(q),this._resourceId}destroy(){this.destroyed=!0,this.emit("destroy",this),this.emit("change",this),this.removeAllListeners()}};x0.defaultOptions={addressMode:"clamp-to-edge",scaleMode:"linear"};var p0=x0;var m0=class $ extends Y{constructor(q={}){super();if(this.options=q,this._gpuData=Object.create(null),this._gcLastUsed=-1,this.uid=_("textureSource"),this._resourceType="textureSource",this._resourceId=_("resource"),this.uploadMethodId="unknown",this._resolution=1,this.pixelWidth=1,this.pixelHeight=1,this.width=1,this.height=1,this.sampleCount=1,this.mipLevelCount=1,this.autoGenerateMipmaps=!1,this.format="rgba8unorm",this.dimension="2d",this.viewDimension="2d",this.arrayLayerCount=1,this.antialias=!1,this._touched=0,this._batchTick=-1,this._textureBindLocation=-1,q={...$.defaultOptions,...q},this.label=q.label??"",this.resource=q.resource,this.autoGarbageCollect=q.autoGarbageCollect,this._resolution=q.resolution,q.width)this.pixelWidth=q.width*this._resolution;else this.pixelWidth=this.resource?this.resourceWidth??1:1;if(q.height)this.pixelHeight=q.height*this._resolution;else this.pixelHeight=this.resource?this.resourceHeight??1:1;this.width=this.pixelWidth/this._resolution,this.height=this.pixelHeight/this._resolution,this.format=q.format,this.dimension=q.dimensions,this.viewDimension=q.viewDimension??q.dimensions,this.arrayLayerCount=q.arrayLayerCount,this.mipLevelCount=q.mipLevelCount,this.autoGenerateMipmaps=q.autoGenerateMipmaps,this.sampleCount=q.sampleCount,this.antialias=q.antialias,this.alphaMode=q.alphaMode,this.style=new p0(v0(q)),this.destroyed=!1,this._refreshPOT()}get source(){return this}get style(){return this._style}set style(q){if(this.style===q)return;this._style?.off("change",this._onStyleChange,this),this._style=q,this._style?.on("change",this._onStyleChange,this),this._onStyleChange()}set maxAnisotropy(q){this._style.maxAnisotropy=q}get maxAnisotropy(){return this._style.maxAnisotropy}get addressMode(){return this._style.addressMode}set addressMode(q){this._style.addressMode=q}get repeatMode(){return this._style.addressMode}set repeatMode(q){this._style.addressMode=q}get magFilter(){return this._style.magFilter}set magFilter(q){this._style.magFilter=q}get minFilter(){return this._style.minFilter}set minFilter(q){this._style.minFilter=q}get mipmapFilter(){return this._style.mipmapFilter}set mipmapFilter(q){this._style.mipmapFilter=q}get lodMinClamp(){return this._style.lodMinClamp}set lodMinClamp(q){this._style.lodMinClamp=q}get lodMaxClamp(){return this._style.lodMaxClamp}set lodMaxClamp(q){this._style.lodMaxClamp=q}_onStyleChange(){this.emit("styleChange",this)}update(){if(this.resource){let q=this._resolution;if(this.resize(this.resourceWidth/q,this.resourceHeight/q))return}this.emit("update",this)}destroy(){if(this.destroyed=!0,this.unload(),this.emit("destroy",this),this._style)this._style.destroy(),this._style=null;this.uploadMethodId=null,this.resource=null,this.removeAllListeners()}unload(){this._resourceId=_("resource"),this.emit("change",this),this.emit("unload",this);for(let q in this._gpuData)this._gpuData[q]?.destroy?.();this._gpuData=Object.create(null)}get resourceWidth(){let{resource:q}=this;return q.naturalWidth||q.videoWidth||q.displayWidth||q.width}get resourceHeight(){let{resource:q}=this;return q.naturalHeight||q.videoHeight||q.displayHeight||q.height}get resolution(){return this._resolution}set resolution(q){if(this._resolution===q)return;this._resolution=q,this.width=this.pixelWidth/q,this.height=this.pixelHeight/q}resize(q,J,Q){Q||(Q=this._resolution),q||(q=this.width),J||(J=this.height);let Z=Math.round(q*Q),N=Math.round(J*Q);if(this.width=Z/Q,this.height=N/Q,this._resolution=Q,this.pixelWidth===Z&&this.pixelHeight===N)return!1;return this._refreshPOT(),this.pixelWidth=Z,this.pixelHeight=N,this.emit("resize",this),this._resourceId=_("resource"),this.emit("change",this),!0}updateMipmaps(){if(this.autoGenerateMipmaps&&this.mipLevelCount>1)this.emit("updateMipmaps",this)}set wrapMode(q){this._style.wrapMode=q}get wrapMode(){return this._style.wrapMode}set scaleMode(q){this._style.scaleMode=q}get scaleMode(){return this._style.scaleMode}_refreshPOT(){this.isPowerOfTwo=I0(this.pixelWidth)&&I0(this.pixelHeight)}static test(q){throw Error("Unimplemented")}};m0.defaultOptions={resolution:1,format:"bgra8unorm",alphaMode:"premultiply-alpha-on-upload",dimensions:"2d",viewDimension:"2d",arrayLayerCount:1,mipLevelCount:1,autoGenerateMipmaps:!1,sampleCount:1,antialias:!1,autoGarbageCollect:!1};var m=m0;class $0 extends m{constructor($){let q=$.resource||new Float32Array($.width*$.height*4),J=$.format;if(!J)if(q instanceof Float32Array)J="rgba32float";else if(q instanceof Int32Array)J="rgba32uint";else if(q instanceof Uint32Array)J="rgba32uint";else if(q instanceof Int16Array)J="rgba16uint";else if(q instanceof Uint16Array)J="rgba16uint";else if(q instanceof Int8Array)J="bgra8unorm";else J="bgra8unorm";super({...$,resource:q,format:J});this.uploadMethodId="buffer"}static test($){return $ instanceof Int8Array||$ instanceof Uint8Array||$ instanceof Uint8ClampedArray||$ instanceof Int16Array||$ instanceof Uint16Array||$ instanceof Int32Array||$ instanceof Uint32Array||$ instanceof Float32Array}}$0.extension=W0.TextureSource;var u0=new U;class L0{constructor($,q){if(this.mapCoord=new U,this.uClampFrame=new Float32Array(4),this.uClampOffset=new Float32Array(2),this._textureID=-1,this._updateID=0,this.clampOffset=0,typeof q>"u")this.clampMargin=$.width<10?0:0.5;else this.clampMargin=q;this.isSimple=!1,this.texture=$}get texture(){return this._texture}set texture($){if(this.texture===$)return;this._texture?.removeListener("update",this.update,this),this._texture=$,this._texture.addListener("update",this.update,this),this.update()}multiplyUvs($,q){if(q===void 0)q=$;let J=this.mapCoord;for(let Q=0;Q<$.length;Q+=2){let Z=$[Q],N=$[Q+1];q[Q]=Z*J.a+N*J.c+J.tx,q[Q+1]=Z*J.b+N*J.d+J.ty}return q}update(){let $=this._texture;this._updateID++;let q=$.uvs;this.mapCoord.set(q.x1-q.x0,q.y1-q.y0,q.x3-q.x0,q.y3-q.y0,q.x0,q.y0);let{orig:J,trim:Q}=$;if(Q)u0.set(J.width/Q.width,0,0,J.height/Q.height,-Q.x/Q.width,-Q.y/Q.height),this.mapCoord.append(u0);let Z=$.source,N=this.uClampFrame,K=this.clampMargin/Z._resolution,H=this.clampOffset/Z._resolution;return N[0]=($.frame.x+K+H)/Z.width,N[1]=($.frame.y+K+H)/Z.height,N[2]=($.frame.x+$.frame.width-K+H)/Z.width,N[3]=($.frame.y+$.frame.height-K+H)/Z.height,this.uClampOffset[0]=this.clampOffset/Z.pixelWidth,this.uClampOffset[1]=this.clampOffset/Z.pixelHeight,this.isSimple=$.frame.width===Z.width&&$.frame.height===Z.height&&$.rotate===0,!0}}class y extends Y{constructor({source:$,label:q,frame:J,orig:Q,trim:Z,defaultAnchor:N,defaultBorders:K,rotate:H,dynamic:V}={}){super();if(this.uid=_("texture"),this.uvs={x0:0,y0:0,x1:0,y1:0,x2:0,y2:0,x3:0,y3:0},this.frame=new T,this.noFrame=!1,this.dynamic=!1,this.isTexture=!0,this.label=q,this.source=$?.source??new m,this.noFrame=!J,J)this.frame.copyFrom(J);else{let{width:W,height:O}=this._source;this.frame.width=W,this.frame.height=O}this.orig=Q||this.frame,this.trim=Z,this.rotate=H??0,this.defaultAnchor=N,this.defaultBorders=K,this.destroyed=!1,this.dynamic=V||!1,this.updateUvs()}set source($){if(this._source)this._source.off("resize",this.update,this);this._source=$,$.on("resize",this.update,this),this.emit("update",this)}get source(){return this._source}get textureMatrix(){if(!this._textureMatrix)this._textureMatrix=new L0(this);return this._textureMatrix}get width(){return this.orig.width}get height(){return this.orig.height}updateUvs(){let{uvs:$,frame:q}=this,{width:J,height:Q}=this._source,Z=q.x/J,N=q.y/Q,K=q.width/J,H=q.height/Q,V=this.rotate;if(V){let W=K/2,O=H/2,z=Z+W,F=N+O;V=C.add(V,C.NW),$.x0=z+W*C.uX(V),$.y0=F+O*C.uY(V),V=C.add(V,2),$.x1=z+W*C.uX(V),$.y1=F+O*C.uY(V),V=C.add(V,2),$.x2=z+W*C.uX(V),$.y2=F+O*C.uY(V),V=C.add(V,2),$.x3=z+W*C.uX(V),$.y3=F+O*C.uY(V)}else $.x0=Z,$.y0=N,$.x1=Z+K,$.y1=N,$.x2=Z+K,$.y2=N+H,$.x3=Z,$.y3=N+H}destroy($=!1){if(this._source){if(this._source.off("resize",this.update,this),$)this._source.destroy(),this._source=null}this._textureMatrix=null,this.destroyed=!0,this.emit("destroy",this),this.removeAllListeners()}update(){if(this.noFrame)this.frame.width=this._source.width,this.frame.height=this._source.height;this.updateUvs(),this.emit("update",this)}get baseTexture(){return p(e,"Texture.baseTexture is now Texture.source"),this._source}}y.EMPTY=new y({label:"EMPTY",source:new m({label:"EMPTY"})});y.EMPTY.destroy=A0;y.WHITE=new y({source:new $0({resource:new Uint8Array([255,255,255,255]),width:1,height:1,alphaMode:"premultiply-alpha-on-upload",label:"WHITE"}),label:"WHITE"});y.WHITE.destroy=A0;var q0=(($)=>{return $[$.WEBGL=1]="WEBGL",$[$.WEBGPU=2]="WEBGPU",$[$.CANVAS=4]="CANVAS",$[$.BOTH=3]="BOTH",$})(q0||{});var p5={grad:0.9,turn:360,rad:360/(2*Math.PI)},E=function($){return typeof $=="string"?$.length>0:typeof $=="number"},D=function($,q,J){return q===void 0&&(q=0),J===void 0&&(J=Math.pow(10,q)),Math.round(J*$)/J+0},M=function($,q,J){return q===void 0&&(q=0),J===void 0&&(J=1),$>J?J:$>q?$:q},e0=function($){return($=isFinite($)?$%360:0)>0?$:$+360},n0=function($){return{r:M($.r,0,255),g:M($.g,0,255),b:M($.b,0,255),a:M($.a)}},C0=function($){return{r:D($.r),g:D($.g),b:D($.b),a:D($.a,3)}},m5=/^#([0-9a-f]{3,8})$/i,J0=function($){var q=$.toString(16);return q.length<2?"0"+q:q},$5=function($){var{r:q,g:J,b:Q,a:Z}=$,N=Math.max(q,J,Q),K=N-Math.min(q,J,Q),H=K?N===q?(J-Q)/K:N===J?2+(Q-q)/K:4+(q-J)/K:0;return{h:60*(H<0?H+6:H),s:N?K/N*100:0,v:N/255*100,a:Z}},q5=function($){var{h:q,s:J,v:Q,a:Z}=$;q=q/360*6,J/=100,Q/=100;var N=Math.floor(q),K=Q*(1-J),H=Q*(1-(q-N)*J),V=Q*(1-(1-q+N)*J),W=N%6;return{r:255*[Q,H,K,K,V,Q][W],g:255*[V,Q,Q,H,K,K][W],b:255*[K,K,V,Q,Q,H][W],a:Z}},i0=function($){return{h:e0($.h),s:M($.s,0,100),l:M($.l,0,100),a:M($.a)}},s0=function($){return{h:D($.h),s:D($.s),l:D($.l),a:D($.a,3)}},o0=function($){return q5((J=(q=$).s,{h:q.h,s:(J*=((Q=q.l)<50?Q:100-Q)/100)>0?2*J/(Q+J)*100:0,v:Q+J,a:q.a}));var q,J,Q},u=function($){return{h:(q=$5($)).h,s:(Z=(200-(J=q.s))*(Q=q.v)/100)>0&&Z<200?J*Q/100/(Z<=100?Z:200-Z)*100:0,l:Z/2,a:q.a};var q,J,Q,Z},u5=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,n5=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,i5=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,s5=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,w0={string:[[function($){var q=m5.exec($);return q?($=q[1]).length<=4?{r:parseInt($[0]+$[0],16),g:parseInt($[1]+$[1],16),b:parseInt($[2]+$[2],16),a:$.length===4?D(parseInt($[3]+$[3],16)/255,2):1}:$.length===6||$.length===8?{r:parseInt($.substr(0,2),16),g:parseInt($.substr(2,2),16),b:parseInt($.substr(4,2),16),a:$.length===8?D(parseInt($.substr(6,2),16)/255,2):1}:null:null},"hex"],[function($){var q=i5.exec($)||s5.exec($);return q?q[2]!==q[4]||q[4]!==q[6]?null:n0({r:Number(q[1])/(q[2]?0.39215686274509803:1),g:Number(q[3])/(q[4]?0.39215686274509803:1),b:Number(q[5])/(q[6]?0.39215686274509803:1),a:q[7]===void 0?1:Number(q[7])/(q[8]?100:1)}):null},"rgb"],[function($){var q=u5.exec($)||n5.exec($);if(!q)return null;var J,Q,Z=i0({h:(J=q[1],Q=q[2],Q===void 0&&(Q="deg"),Number(J)*(p5[Q]||1)),s:Number(q[3]),l:Number(q[4]),a:q[5]===void 0?1:Number(q[5])/(q[6]?100:1)});return o0(Z)},"hsl"]],object:[[function($){var{r:q,g:J,b:Q,a:Z}=$,N=Z===void 0?1:Z;return E(q)&&E(J)&&E(Q)?n0({r:Number(q),g:Number(J),b:Number(Q),a:Number(N)}):null},"rgb"],[function($){var{h:q,s:J,l:Q,a:Z}=$,N=Z===void 0?1:Z;if(!E(q)||!E(J)||!E(Q))return null;var K=i0({h:Number(q),s:Number(J),l:Number(Q),a:Number(N)});return o0(K)},"hsl"],[function($){var{h:q,s:J,v:Q,a:Z}=$,N=Z===void 0?1:Z;if(!E(q)||!E(J)||!E(Q))return null;var K=function(H){return{h:e0(H.h),s:M(H.s,0,100),v:M(H.v,0,100),a:M(H.a)}}({h:Number(q),s:Number(J),v:Number(Q),a:Number(N)});return q5(K)},"hsv"]]},a0=function($,q){for(var J=0;J<q.length;J++){var Q=q[J][0]($);if(Q)return[Q,q[J][1]]}return[null,void 0]},o5=function($){return typeof $=="string"?a0($.trim(),w0.string):typeof $=="object"&&$!==null?a0($,w0.object):[null,void 0]};var _0=function($,q){var J=u($);return{h:J.h,s:M(J.s+100*q,0,100),l:J.l,a:J.a}},D0=function($){return(299*$.r+587*$.g+114*$.b)/1000/255},r0=function($,q){var J=u($);return{h:J.h,s:J.s,l:M(J.l+100*q,0,100),a:J.a}},G0=function(){function $(q){this.parsed=o5(q)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1}}return $.prototype.isValid=function(){return this.parsed!==null},$.prototype.brightness=function(){return D(D0(this.rgba),2)},$.prototype.isDark=function(){return D0(this.rgba)<0.5},$.prototype.isLight=function(){return D0(this.rgba)>=0.5},$.prototype.toHex=function(){return q=C0(this.rgba),J=q.r,Q=q.g,Z=q.b,K=(N=q.a)<1?J0(D(255*N)):"","#"+J0(J)+J0(Q)+J0(Z)+K;var q,J,Q,Z,N,K},$.prototype.toRgb=function(){return C0(this.rgba)},$.prototype.toRgbString=function(){return q=C0(this.rgba),J=q.r,Q=q.g,Z=q.b,(N=q.a)<1?"rgba("+J+", "+Q+", "+Z+", "+N+")":"rgb("+J+", "+Q+", "+Z+")";var q,J,Q,Z,N},$.prototype.toHsl=function(){return s0(u(this.rgba))},$.prototype.toHslString=function(){return q=s0(u(this.rgba)),J=q.h,Q=q.s,Z=q.l,(N=q.a)<1?"hsla("+J+", "+Q+"%, "+Z+"%, "+N+")":"hsl("+J+", "+Q+"%, "+Z+"%)";var q,J,Q,Z,N},$.prototype.toHsv=function(){return q=$5(this.rgba),{h:D(q.h),s:D(q.s),v:D(q.v),a:D(q.a,3)};var q},$.prototype.invert=function(){return B({r:255-(q=this.rgba).r,g:255-q.g,b:255-q.b,a:q.a});var q},$.prototype.saturate=function(q){return q===void 0&&(q=0.1),B(_0(this.rgba,q))},$.prototype.desaturate=function(q){return q===void 0&&(q=0.1),B(_0(this.rgba,-q))},$.prototype.grayscale=function(){return B(_0(this.rgba,-1))},$.prototype.lighten=function(q){return q===void 0&&(q=0.1),B(r0(this.rgba,q))},$.prototype.darken=function(q){return q===void 0&&(q=0.1),B(r0(this.rgba,-q))},$.prototype.rotate=function(q){return q===void 0&&(q=15),this.hue(this.hue()+q)},$.prototype.alpha=function(q){return typeof q=="number"?B({r:(J=this.rgba).r,g:J.g,b:J.b,a:q}):D(this.rgba.a,3);var J},$.prototype.hue=function(q){var J=u(this.rgba);return typeof q=="number"?B({h:q,s:J.s,l:J.l,a:J.a}):D(J.h)},$.prototype.isEqual=function(q){return this.toHex()===B(q).toHex()},$}(),B=function($){return $ instanceof G0?$:new G0($)},t0=[],J5=function($){$.forEach(function(q){t0.indexOf(q)<0&&(q(G0,w0),t0.push(q))})};function X0($,q){var J={white:"#ffffff",bisque:"#ffe4c4",blue:"#0000ff",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",antiquewhite:"#faebd7",aqua:"#00ffff",azure:"#f0ffff",whitesmoke:"#f5f5f5",papayawhip:"#ffefd5",plum:"#dda0dd",blanchedalmond:"#ffebcd",black:"#000000",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",cornsilk:"#fff8dc",cornflowerblue:"#6495ed",burlywood:"#deb887",aquamarine:"#7fffd4",beige:"#f5f5dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkkhaki:"#bdb76b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",peachpuff:"#ffdab9",darkmagenta:"#8b008b",darkred:"#8b0000",darkorchid:"#9932cc",darkorange:"#ff8c00",darkslateblue:"#483d8b",gray:"#808080",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",deeppink:"#ff1493",deepskyblue:"#00bfff",wheat:"#f5deb3",firebrick:"#b22222",floralwhite:"#fffaf0",ghostwhite:"#f8f8ff",darkviolet:"#9400d3",magenta:"#ff00ff",green:"#008000",dodgerblue:"#1e90ff",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",blueviolet:"#8a2be2",forestgreen:"#228b22",lawngreen:"#7cfc00",indianred:"#cd5c5c",indigo:"#4b0082",fuchsia:"#ff00ff",brown:"#a52a2a",maroon:"#800000",mediumblue:"#0000cd",lightcoral:"#f08080",darkturquoise:"#00ced1",lightcyan:"#e0ffff",ivory:"#fffff0",lightyellow:"#ffffe0",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",linen:"#faf0e6",mediumaquamarine:"#66cdaa",lemonchiffon:"#fffacd",lime:"#00ff00",khaki:"#f0e68c",mediumseagreen:"#3cb371",limegreen:"#32cd32",mediumspringgreen:"#00fa9a",lightskyblue:"#87cefa",lightblue:"#add8e6",midnightblue:"#191970",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",mintcream:"#f5fffa",lightslategray:"#778899",lightslategrey:"#778899",navajowhite:"#ffdead",navy:"#000080",mediumvioletred:"#c71585",powderblue:"#b0e0e6",palegoldenrod:"#eee8aa",oldlace:"#fdf5e6",paleturquoise:"#afeeee",mediumturquoise:"#48d1cc",mediumorchid:"#ba55d3",rebeccapurple:"#663399",lightsteelblue:"#b0c4de",mediumslateblue:"#7b68ee",thistle:"#d8bfd8",tan:"#d2b48c",orchid:"#da70d6",mediumpurple:"#9370db",purple:"#800080",pink:"#ffc0cb",skyblue:"#87ceeb",springgreen:"#00ff7f",palegreen:"#98fb98",red:"#ff0000",yellow:"#ffff00",slateblue:"#6a5acd",lavenderblush:"#fff0f5",peru:"#cd853f",palevioletred:"#db7093",violet:"#ee82ee",teal:"#008080",slategray:"#708090",slategrey:"#708090",aliceblue:"#f0f8ff",darkseagreen:"#8fbc8f",darkolivegreen:"#556b2f",greenyellow:"#adff2f",seagreen:"#2e8b57",seashell:"#fff5ee",tomato:"#ff6347",silver:"#c0c0c0",sienna:"#a0522d",lavender:"#e6e6fa",lightgreen:"#90ee90",orange:"#ffa500",orangered:"#ff4500",steelblue:"#4682b4",royalblue:"#4169e1",turquoise:"#40e0d0",yellowgreen:"#9acd32",salmon:"#fa8072",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",darksalmon:"#e9967a",lightgoldenrodyellow:"#fafad2",snow:"#fffafa",lightgrey:"#d3d3d3",lightgray:"#d3d3d3",dimgray:"#696969",dimgrey:"#696969",olivedrab:"#6b8e23",olive:"#808000"},Q={};for(var Z in J)Q[J[Z]]=Z;var N={};$.prototype.toName=function(K){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var H,V,W=Q[this.toHex()];if(W)return W;if(K==null?void 0:K.closest){var O=this.toRgb(),z=1/0,F="black";if(!N.length)for(var k in J)N[k]=new $(J[k]).toRgb();for(var I in J){var A=(H=O,V=N[I],Math.pow(H.r-V.r,2)+Math.pow(H.g-V.g,2)+Math.pow(H.b-V.b,2));A<z&&(z=A,F=I)}return F}},q.string.push([function(K){var H=K.toLowerCase(),V=H==="transparent"?"#0000":J[H];return V?new $(V).toRgb():null},"name"])}J5([X0]);var g=class ${constructor(q=16777215){this._value=null,this._components=new Float32Array(4),this._components.fill(1),this._int=16777215,this.value=q}get red(){return this._components[0]}get green(){return this._components[1]}get blue(){return this._components[2]}get alpha(){return this._components[3]}setValue(q){return this.value=q,this}set value(q){if(q instanceof $)this._value=this._cloneSource(q._value),this._int=q._int,this._components.set(q._components);else if(q===null)throw Error("Cannot set Color#value to null");else if(this._value===null||!this._isSourceEqual(this._value,q))this._value=this._cloneSource(q),this._normalize(this._value)}get value(){return this._value}_cloneSource(q){if(typeof q==="string"||typeof q==="number"||q instanceof Number||q===null)return q;else if(Array.isArray(q)||ArrayBuffer.isView(q))return q.slice(0);else if(typeof q==="object"&&q!==null)return{...q};return q}_isSourceEqual(q,J){let Q=typeof q;if(Q!==typeof J)return!1;else if(Q==="number"||Q==="string"||q instanceof Number)return q===J;else if(Array.isArray(q)&&Array.isArray(J)||ArrayBuffer.isView(q)&&ArrayBuffer.isView(J)){if(q.length!==J.length)return!1;return q.every((N,K)=>N===J[K])}else if(q!==null&&J!==null){let N=Object.keys(q),K=Object.keys(J);if(N.length!==K.length)return!1;return N.every((H)=>q[H]===J[H])}return q===J}toRgba(){let[q,J,Q,Z]=this._components;return{r:q,g:J,b:Q,a:Z}}toRgb(){let[q,J,Q]=this._components;return{r:q,g:J,b:Q}}toRgbaString(){let[q,J,Q]=this.toUint8RgbArray();return`rgba(${q},${J},${Q},${this.alpha})`}toUint8RgbArray(q){let[J,Q,Z]=this._components;if(!this._arrayRgb)this._arrayRgb=[];return q||(q=this._arrayRgb),q[0]=Math.round(J*255),q[1]=Math.round(Q*255),q[2]=Math.round(Z*255),q}toArray(q){if(!this._arrayRgba)this._arrayRgba=[];q||(q=this._arrayRgba);let[J,Q,Z,N]=this._components;return q[0]=J,q[1]=Q,q[2]=Z,q[3]=N,q}toRgbArray(q){if(!this._arrayRgb)this._arrayRgb=[];q||(q=this._arrayRgb);let[J,Q,Z]=this._components;return q[0]=J,q[1]=Q,q[2]=Z,q}toNumber(){return this._int}toBgrNumber(){let[q,J,Q]=this.toUint8RgbArray();return(Q<<16)+(J<<8)+q}toLittleEndianNumber(){let q=this._int;return(q>>16)+(q&65280)+((q&255)<<16)}multiply(q){let[J,Q,Z,N]=$._temp.setValue(q)._components;return this._components[0]*=J,this._components[1]*=Q,this._components[2]*=Z,this._components[3]*=N,this._refreshInt(),this._value=null,this}premultiply(q,J=!0){if(J)this._components[0]*=q,this._components[1]*=q,this._components[2]*=q;return this._components[3]=q,this._refreshInt(),this._value=null,this}toPremultiplied(q,J=!0){if(q===1)return-16777216+this._int;if(q===0)return J?0:this._int;let Q=this._int>>16&255,Z=this._int>>8&255,N=this._int&255;if(J)Q=Q*q+0.5|0,Z=Z*q+0.5|0,N=N*q+0.5|0;return(q*255<<24)+(Q<<16)+(Z<<8)+N}toHex(){let q=this._int.toString(16);return`#${"000000".substring(0,6-q.length)+q}`}toHexa(){let J=Math.round(this._components[3]*255).toString(16);return this.toHex()+"00".substring(0,2-J.length)+J}setAlpha(q){return this._components[3]=this._clamp(q),this._value=null,this}_normalize(q){let J,Q,Z,N;if((typeof q==="number"||q instanceof Number)&&q>=0&&q<=16777215){let K=q;J=(K>>16&255)/255,Q=(K>>8&255)/255,Z=(K&255)/255,N=1}else if((Array.isArray(q)||q instanceof Float32Array)&&q.length>=3&&q.length<=4)q=this._clamp(q),[J,Q,Z,N=1]=q;else if((q instanceof Uint8Array||q instanceof Uint8ClampedArray)&&q.length>=3&&q.length<=4)q=this._clamp(q,0,255),[J,Q,Z,N=255]=q,J/=255,Q/=255,Z/=255,N/=255;else if(typeof q==="string"||typeof q==="object"){if(typeof q==="string"){let H=$.HEX_PATTERN.exec(q);if(H)q=`#${H[2]}`}let K=B(q);if(K.isValid())({r:J,g:Q,b:Z,a:N}=K.rgba),J/=255,Q/=255,Z/=255}if(J!==void 0)this._components[0]=J,this._components[1]=Q,this._components[2]=Z,this._components[3]=N,this._refreshInt();else throw Error(`Unable to convert color ${q}`)}_refreshInt(){this._clamp(this._components);let[q,J,Q]=this._components;this._int=(q*255<<16)+(J*255<<8)+(Q*255|0)}_clamp(q,J=0,Q=1){if(typeof q==="number")return Math.min(Math.max(q,J),Q);return q.forEach((Z,N)=>{q[N]=Math.min(Math.max(Z,J),Q)}),q}static isColorLike(q){return typeof q==="number"||typeof q==="string"||q instanceof Number||q instanceof $||Array.isArray(q)||q instanceof Uint8Array||q instanceof Uint8ClampedArray||q instanceof Float32Array||q.r!==void 0&&q.g!==void 0&&q.b!==void 0||q.r!==void 0&&q.g!==void 0&&q.b!==void 0&&q.a!==void 0||q.h!==void 0&&q.s!==void 0&&q.l!==void 0||q.h!==void 0&&q.s!==void 0&&q.l!==void 0&&q.a!==void 0||q.h!==void 0&&q.s!==void 0&&q.v!==void 0||q.h!==void 0&&q.s!==void 0&&q.v!==void 0&&q.a!==void 0}};g.shared=new g;g._temp=new g;g.HEX_PATTERN=/^(#|0x)?(([a-f0-9]{3}){1,2}([a-f0-9]{2})?)$/i;var Z6=g;var Y0=0,Q5=500;function K6(...$){if(Y0===Q5)return;if(Y0++,Y0===Q5)console.warn("PixiJS Warning: too many warnings, no more warnings will be reported to the console by PixiJS.");else console.warn("PixiJS Warning: ",...$)}var Z5={_registeredResources:new Set,register($){this._registeredResources.add($)},unregister($){this._registeredResources.delete($)},release(){this._registeredResources.forEach(($)=>$.clear())},get registeredCount(){return this._registeredResources.size},isRegistered($){return this._registeredResources.has($)},reset(){this._registeredResources.clear()}};class M0{constructor($,q){if(this._pool=[],this._count=0,this._index=0,this._classType=$,q)this.prepopulate(q)}prepopulate($){for(let q=0;q<$;q++)this._pool[this._index++]=new this._classType;this._count+=$}get($){let q;if(this._index>0)q=this._pool[--this._index];else q=new this._classType,this._count++;return q.init?.($),q}return($){$.reset?.(),this._pool[this._index++]=$}get totalSize(){return this._count}get totalFree(){return this._index}get totalUsed(){return this._count-this._index}clear(){if(this._pool.length>0&&this._pool[0].destroy)for(let $=0;$<this._index;$++)this._pool[$].destroy();this._pool.length=0,this._count=0,this._index=0}}class N5{constructor(){this._poolsByClass=new Map}prepopulate($,q){this.getPool($).prepopulate(q)}get($,q){return this.getPool($).get(q)}return($){this.getPool($.constructor).return($)}getPool($){if(!this._poolsByClass.has($))this._poolsByClass.set($,new M0($));return this._poolsByClass.get($)}stats(){let $={};return this._poolsByClass.forEach((q)=>{let J=$[q._classType.name]?q._classType.name+q._classType.ID:q._classType.name;$[J]={free:q.totalFree,used:q.totalUsed,size:q.totalSize}}),$}clear(){this._poolsByClass.forEach(($)=>$.clear()),this._poolsByClass.clear()}}var a5=new N5;Z5.register(a5);var K5=new U;class Q0{constructor($=1/0,q=1/0,J=-1/0,Q=-1/0){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,this.matrix=K5,this.minX=$,this.minY=q,this.maxX=J,this.maxY=Q}isEmpty(){return this.minX>this.maxX||this.minY>this.maxY}get rectangle(){if(!this._rectangle)this._rectangle=new T;let $=this._rectangle;if(this.minX>this.maxX||this.minY>this.maxY)$.x=0,$.y=0,$.width=0,$.height=0;else $.copyFromBounds(this);return $}clear(){return this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,this.matrix=K5,this}set($,q,J,Q){this.minX=$,this.minY=q,this.maxX=J,this.maxY=Q}addFrame($,q,J,Q,Z){Z||(Z=this.matrix);let{a:N,b:K,c:H,d:V,tx:W,ty:O}=Z,z=this.minX,F=this.minY,k=this.maxX,I=this.maxY,A=N*$+H*q+W,L=K*$+V*q+O;if(A<z)z=A;if(L<F)F=L;if(A>k)k=A;if(L>I)I=L;if(A=N*J+H*q+W,L=K*J+V*q+O,A<z)z=A;if(L<F)F=L;if(A>k)k=A;if(L>I)I=L;if(A=N*$+H*Q+W,L=K*$+V*Q+O,A<z)z=A;if(L<F)F=L;if(A>k)k=A;if(L>I)I=L;if(A=N*J+H*Q+W,L=K*J+V*Q+O,A<z)z=A;if(L<F)F=L;if(A>k)k=A;if(L>I)I=L;this.minX=z,this.minY=F,this.maxX=k,this.maxY=I}addRect($,q){this.addFrame($.x,$.y,$.x+$.width,$.y+$.height,q)}addBounds($,q){this.addFrame($.minX,$.minY,$.maxX,$.maxY,q)}addBoundsMask($){this.minX=this.minX>$.minX?this.minX:$.minX,this.minY=this.minY>$.minY?this.minY:$.minY,this.maxX=this.maxX<$.maxX?this.maxX:$.maxX,this.maxY=this.maxY<$.maxY?this.maxY:$.maxY}applyMatrix($){let q=this.minX,J=this.minY,Q=this.maxX,Z=this.maxY,{a:N,b:K,c:H,d:V,tx:W,ty:O}=$,z=N*q+H*J+W,F=K*q+V*J+O;this.minX=z,this.minY=F,this.maxX=z,this.maxY=F,z=N*Q+H*J+W,F=K*Q+V*J+O,this.minX=z<this.minX?z:this.minX,this.minY=F<this.minY?F:this.minY,this.maxX=z>this.maxX?z:this.maxX,this.maxY=F>this.maxY?F:this.maxY,z=N*q+H*Z+W,F=K*q+V*Z+O,this.minX=z<this.minX?z:this.minX,this.minY=F<this.minY?F:this.minY,this.maxX=z>this.maxX?z:this.maxX,this.maxY=F>this.maxY?F:this.maxY,z=N*Q+H*Z+W,F=K*Q+V*Z+O,this.minX=z<this.minX?z:this.minX,this.minY=F<this.minY?F:this.minY,this.maxX=z>this.maxX?z:this.maxX,this.maxY=F>this.maxY?F:this.maxY}fit($){if(this.minX<$.left)this.minX=$.left;if(this.maxX>$.right)this.maxX=$.right;if(this.minY<$.top)this.minY=$.top;if(this.maxY>$.bottom)this.maxY=$.bottom;return this}fitBounds($,q,J,Q){if(this.minX<$)this.minX=$;if(this.maxX>q)this.maxX=q;if(this.minY<J)this.minY=J;if(this.maxY>Q)this.maxY=Q;return this}pad($,q=$){return this.minX-=$,this.maxX+=$,this.minY-=q,this.maxY+=q,this}ceil(){return this.minX=Math.floor(this.minX),this.minY=Math.floor(this.minY),this.maxX=Math.ceil(this.maxX),this.maxY=Math.ceil(this.maxY),this}clone(){return new Q0(this.minX,this.minY,this.maxX,this.maxY)}scale($,q=$){return this.minX*=$,this.minY*=q,this.maxX*=$,this.maxY*=q,this}get x(){return this.minX}set x($){let q=this.maxX-this.minX;this.minX=$,this.maxX=$+q}get y(){return this.minY}set y($){let q=this.maxY-this.minY;this.minY=$,this.maxY=$+q}get width(){return this.maxX-this.minX}set width($){this.maxX=this.minX+$}get height(){return this.maxY-this.minY}set height($){this.maxY=this.minY+$}get left(){return this.minX}get right(){return this.maxX}get top(){return this.minY}get bottom(){return this.maxY}get isPositive(){return this.maxX-this.minX>0&&this.maxY-this.minY>0}get isValid(){return this.minX+this.minY!==1/0}addVertexData($,q,J,Q){let Z=this.minX,N=this.minY,K=this.maxX,H=this.maxY;Q||(Q=this.matrix);let{a:V,b:W,c:O,d:z,tx:F,ty:k}=Q;for(let I=q;I<J;I+=2){let A=$[I],L=$[I+1],G=V*A+O*L+F,j=W*A+z*L+k;Z=G<Z?G:Z,N=j<N?j:N,K=G>K?G:K,H=j>H?j:H}this.minX=Z,this.minY=N,this.maxX=K,this.maxY=H}containsPoint($,q){if(this.minX<=$&&this.minY<=q&&this.maxX>=$&&this.maxY>=q)return!0;return!1}toString(){return`[pixi.js:Bounds minX=${this.minX} minY=${this.minY} maxX=${this.maxX} maxY=${this.maxY} width=${this.width} height=${this.height}]`}copyFrom($){return this.minX=$.minX,this.minY=$.minY,this.maxX=$.maxX,this.maxY=$.maxY,this}}function L6($,q){if($===16777215||!q)return q;if(q===16777215||!$)return $;let J=$>>16&255,Q=$>>8&255,Z=$&255,N=q>>16&255,K=q>>8&255,H=q&255,V=J*N/255|0,W=Q*K/255|0,O=Z*H/255|0;return(V<<16)+(W<<8)+O}var V5={createCanvas:($,q)=>{let J=document.createElement("canvas");return J.width=$,J.height=q,J},createImage:()=>new Image,getCanvasRenderingContext2D:()=>CanvasRenderingContext2D,getWebGLRenderingContext:()=>WebGLRenderingContext,getNavigator:()=>navigator,getBaseUrl:()=>document.baseURI??window.location.href,getFontFaceSet:()=>document.fonts,fetch:($,q)=>fetch($,q),parseXML:($)=>{return new DOMParser().parseFromString($,"text/xml")}};var H5=V5,b0={get(){return H5},set($){H5=$}};var j0=Object.create(null),W5=Object.create(null);function v($,q){let J=W5[$];if(J===void 0){if(j0[q]===void 0)j0[q]=1;W5[$]=J=j0[q]++}return J}var Z0;function z5(){if(!Z0||Z0?.isContextLost())Z0=b0.get().createCanvas().getContext("webgl",{});return Z0}var N0;function O5(){if(!N0){N0="mediump";let $=z5();if($){if($.getShaderPrecisionFormat)N0=$.getShaderPrecisionFormat($.FRAGMENT_SHADER,$.HIGH_FLOAT).precision?"highp":"mediump"}}return N0}function F5($,q,J){if(q)return $;if(J)return $=$.replace("out vec4 finalColor;",""),`
|
|
5
5
|
|
|
6
6
|
#ifdef GL_ES // This checks if it is WebGL1
|
|
7
7
|
#define in varying
|
|
@@ -19,5 +19,5 @@ Deprecated since v${$}`,N=typeof console.groupCollapsed==="function"&&!g.noColor
|
|
|
19
19
|
`}function k5($,q,J){let Q=J?q.maxSupportedFragmentPrecision:q.maxSupportedVertexPrecision;if($.substring(0,9)!=="precision"){let Z=J?q.requestedFragmentPrecision:q.requestedVertexPrecision;if(Z==="highp"&&Q!=="highp")Z="mediump";return`precision ${Z} float;
|
|
20
20
|
${$}`}else if(Q!=="highp"&&$.substring(0,15)==="precision highp")return $.replace("precision highp","precision mediump");return $}function A5($,q){if(!q)return $;return`#version 300 es
|
|
21
21
|
${$}`}var r5={},t5={};function I5($,{name:q="pixi-program"},J=!0){q=q.replace(/\s+/g,"-"),q+=J?"-fragment":"-vertex";let Q=J?r5:t5;if(Q[q])Q[q]++,q+=`-${Q[q]}`;else Q[q]=1;if($.indexOf("#define SHADER_NAME")!==-1)return $;return`${`#define SHADER_NAME ${q}`}
|
|
22
|
-
${$}`}function L5($,q){if(!q)return $;return $.replace("#version 300 es","")}var R0={stripVersion:L5,ensurePrecision:k5,addProgramDefines:F5,setProgramName:I5,insertVersion:A5},n=Object.create(null),C5=class ${constructor(q){q={...$.defaultOptions,...q};let J=q.fragment.indexOf("#version 300 es")!==-1,Q={stripVersion:J,ensurePrecision:{requestedFragmentPrecision:q.preferredFragmentPrecision,requestedVertexPrecision:q.preferredVertexPrecision,maxSupportedVertexPrecision:"highp",maxSupportedFragmentPrecision:O5()},setProgramName:{name:q.name},addProgramDefines:J,insertVersion:J},Z=q.fragment,N=q.vertex;Object.keys(R0).forEach((K)=>{let H=Q[K];Z=R0[K](Z,H,!0),N=R0[K](N,H,!1)}),this.fragment=Z,this.vertex=N,this.transformFeedbackVaryings=q.transformFeedbackVaryings,this._key=v(`${this.vertex}:${this.fragment}`,"gl-program")}destroy(){this.fragment=null,this.vertex=null,this._attributeData=null,this._uniformData=null,this._uniformBlockData=null,this.transformFeedbackVaryings=null,n[this._cacheKey]=null}static from(q){let J=`${q.vertex}:${q.fragment}`;if(!n[J])n[J]=new $(q),n[J]._cacheKey=J;return n[J]}};C5.defaultOptions={preferredVertexPrecision:"highp",preferredFragmentPrecision:"mediump"};var _5=C5;var D5={uint8x2:{size:2,stride:2,normalised:!1},uint8x4:{size:4,stride:4,normalised:!1},sint8x2:{size:2,stride:2,normalised:!1},sint8x4:{size:4,stride:4,normalised:!1},unorm8x2:{size:2,stride:2,normalised:!0},unorm8x4:{size:4,stride:4,normalised:!0},snorm8x2:{size:2,stride:2,normalised:!0},snorm8x4:{size:4,stride:4,normalised:!0},uint16x2:{size:2,stride:4,normalised:!1},uint16x4:{size:4,stride:8,normalised:!1},sint16x2:{size:2,stride:4,normalised:!1},sint16x4:{size:4,stride:8,normalised:!1},unorm16x2:{size:2,stride:4,normalised:!0},unorm16x4:{size:4,stride:8,normalised:!0},snorm16x2:{size:2,stride:4,normalised:!0},snorm16x4:{size:4,stride:8,normalised:!0},float16x2:{size:2,stride:4,normalised:!1},float16x4:{size:4,stride:8,normalised:!1},float32:{size:1,stride:4,normalised:!1},float32x2:{size:2,stride:8,normalised:!1},float32x3:{size:3,stride:12,normalised:!1},float32x4:{size:4,stride:16,normalised:!1},uint32:{size:1,stride:4,normalised:!1},uint32x2:{size:2,stride:8,normalised:!1},uint32x3:{size:3,stride:12,normalised:!1},uint32x4:{size:4,stride:16,normalised:!1},sint32:{size:1,stride:4,normalised:!1},sint32x2:{size:2,stride:8,normalised:!1},sint32x3:{size:3,stride:12,normalised:!1},sint32x4:{size:4,stride:16,normalised:!1}};function w5($){return D5[$]??D5.float32}class i{constructor($){this.resources=Object.create(null),this._dirty=!0;let q=0;for(let J in $){let Q=$[J];this.setResource(Q,q++)}this._updateKey()}_updateKey(){if(!this._dirty)return;this._dirty=!1;let $=[],q=0;for(let J in this.resources)$[q++]=this.resources[J]._resourceId;this._key=$.join("|")}setResource($,q){let J=this.resources[q];if($===J)return;if(J)$.off?.("change",this.onResourceChange,this);$.on?.("change",this.onResourceChange,this),this.resources[q]=$,this._dirty=!0}getResource($){return this.resources[$]}_touch($,q){let J=this.resources;for(let Q in J)J[Q]._gcLastUsed=$,J[Q]._touched=q}destroy(){let $=this.resources;for(let q in $)$[q]?.off?.("change",this.onResourceChange,this);this.resources=null}onResourceChange($){if(this._dirty=!0,$.destroyed){let q=this.resources;for(let J in q)if(q[J]===$)q[J]=null}else this._updateKey()}}var U0=["f32","i32","vec2<f32>","vec3<f32>","vec4<f32>","mat2x2<f32>","mat3x3<f32>","mat4x4<f32>","mat3x2<f32>","mat4x2<f32>","mat2x3<f32>","mat4x3<f32>","mat2x4<f32>","mat3x4<f32>","vec2<i32>","vec3<i32>","vec4<i32>"],G5=U0.reduce(($,q)=>{return $[q]=!0,$},{});function X5($,q){switch($){case"f32":return 0;case"vec2<f32>":return new Float32Array(2*q);case"vec3<f32>":return new Float32Array(3*q);case"vec4<f32>":return new Float32Array(4*q);case"mat2x2<f32>":return new Float32Array([1,0,0,1]);case"mat3x3<f32>":return new Float32Array([1,0,0,0,1,0,0,0,1]);case"mat4x4<f32>":return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}return null}var Y5=class ${constructor(q,J){this._touched=0,this.uid=_("uniform"),this._resourceType="uniformGroup",this._resourceId=_("resource"),this.isUniformGroup=!0,this._dirtyId=0,this.destroyed=!1,J={...$.defaultOptions,...J},this.uniformStructures=q;let Q={};for(let Z in q){let N=q[Z];if(N.name=Z,N.size=N.size??1,!G5[N.type]){let K=N.type.match(/^array<(\w+(?:<\w+>)?),\s*(\d+)>$/);if(K){let[,H,V]=K;throw Error(`Uniform type ${N.type} is not supported. Use type: '${H}', size: ${V} instead.`)}throw Error(`Uniform type ${N.type} is not supported. Supported uniform types are: ${U0.join(", ")}`)}N.value??(N.value=X5(N.type,N.size)),Q[Z]=N.value}this.uniforms=Q,this._dirtyId=1,this.ubo=J.ubo,this.isStatic=J.isStatic,this._signature=v(Object.keys(Q).map((Z)=>`${Z}-${q[Z].type}`).join("-"),"uniform-group")}update(){this._dirtyId++}};Y5.defaultOptions={ubo:!1,isStatic:!1};var M5=Y5;var e5={f32:"float32","vec2<f32>":"float32x2","vec3<f32>":"float32x3","vec4<f32>":"float32x4",vec2f:"float32x2",vec3f:"float32x3",vec4f:"float32x4",i32:"sint32","vec2<i32>":"sint32x2","vec3<i32>":"sint32x3","vec4<i32>":"sint32x4",vec2i:"sint32x2",vec3i:"sint32x3",vec4i:"sint32x4",u32:"uint32","vec2<u32>":"uint32x2","vec3<u32>":"uint32x3","vec4<u32>":"uint32x4",vec2u:"uint32x2",vec3u:"uint32x3",vec4u:"uint32x4",bool:"uint32","vec2<bool>":"uint32x2","vec3<bool>":"uint32x3","vec4<bool>":"uint32x4"},b5=/@location\((\d+)\)\s+([a-zA-Z0-9_]+)\s*:\s*([a-zA-Z0-9_<>]+)(?:,|\s|\)|$)/g;function j5($,q){let J;while((J=b5.exec($))!==null){let Q=e5[J[3]]??"float32";q[J[2]]={location:parseInt(J[1],10),format:Q,stride:w5(Q).stride,offset:0,instance:!1,start:0}}b5.lastIndex=0}function $8($){return $.replace(/\/\/.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"")}function R5({source:$,entryPoint:q}){let J={},Q=$8($),Z=Q.indexOf(`fn ${q}(`);if(Z===-1)return J;let N=Q.indexOf("->",Z);if(N===-1)return J;let K=Q.substring(Z,N);if(j5(K,J),Object.keys(J).length===0){let H=K.match(/\(\s*\w+\s*:\s*(\w+)/);if(H){let V=H[1],W=new RegExp(`struct\\s+${V}\\s*\\{([^}]+)\\}`,"s"),O=Q.match(W);if(O)j5(O[1],J)}}return J}function K0($){let q=/(^|[^/])@(group|binding)\(\d+\)[^;]+;/g,J=/@group\((\d+)\)/,Q=/@binding\((\d+)\)/,Z=/var(<[^>]+>)? (\w+)/,N=/:\s*([\w<>]+)/,K=/struct\s+(\w+)\s*{([^}]+)}/g,H=/(\w+)\s*:\s*([\w\<\>]+)/g,V=/struct\s+(\w+)/,W=$.match(q)?.map((z)=>({group:parseInt(z.match(J)[1],10),binding:parseInt(z.match(Q)[1],10),name:z.match(Z)[2],isUniform:z.match(Z)[1]==="<uniform>",type:z.match(N)[1]}));if(!W)return{groups:[],structs:[]};let O=$.match(K)?.map((z)=>{let F=z.match(V)[1],k=z.match(H).reduce((I,A)=>{let[L,G]=A.split(":");return I[L.trim()]=G.trim(),I},{});if(!k)return null;return{name:F,members:k}}).filter(({name:z})=>W.some((F)=>F.type===z||F.type.includes(`<${z}>`)))??[];return{groups:W,structs:O}}var S=(($)=>{return $[$.VERTEX=1]="VERTEX",$[$.FRAGMENT=2]="FRAGMENT",$[$.COMPUTE=4]="COMPUTE",$})(S||{});function U5({groups:$}){let q=[];for(let J=0;J<$.length;J++){let Q=$[J];if(!q[Q.group])q[Q.group]=[];if(Q.isUniform)q[Q.group].push({binding:Q.binding,visibility:S.VERTEX|S.FRAGMENT,buffer:{type:"uniform"}});else if(Q.type==="sampler")q[Q.group].push({binding:Q.binding,visibility:S.FRAGMENT,sampler:{type:"filtering"}});else if(Q.type==="texture_2d"||Q.type.startsWith("texture_2d<"))q[Q.group].push({binding:Q.binding,visibility:S.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d",multisampled:!1}});else if(Q.type==="texture_2d_array"||Q.type.startsWith("texture_2d_array<"))q[Q.group].push({binding:Q.binding,visibility:S.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d-array",multisampled:!1}});else if(Q.type==="texture_cube"||Q.type.startsWith("texture_cube<"))q[Q.group].push({binding:Q.binding,visibility:S.FRAGMENT,texture:{sampleType:"float",viewDimension:"cube",multisampled:!1}})}for(let J=0;J<q.length;J++)q[J]||(q[J]=[]);return q}function B5({groups:$}){let q=[];for(let J=0;J<$.length;J++){let Q=$[J];if(!q[Q.group])q[Q.group]={};q[Q.group][Q.name]=Q.binding}return q}function E5($,q){let J=new Set,Q=new Set,Z=[...$.structs,...q.structs].filter((K)=>{if(J.has(K.name))return!1;return J.add(K.name),!0}),N=[...$.groups,...q.groups].filter((K)=>{let H=`${K.name}-${K.binding}`;if(Q.has(H))return!1;return Q.add(H),!0});return{structs:Z,groups:N}}var s=Object.create(null);class V0{constructor($){this._layoutKey=0,this._attributeLocationsKey=0;let{fragment:q,vertex:J,layout:Q,gpuLayout:Z,name:N}=$;if(this.name=N,this.fragment=q,this.vertex=J,q.source===J.source){let K=K0(q.source);this.structsAndGroups=K}else{let K=K0(J.source),H=K0(q.source);this.structsAndGroups=E5(K,H)}this.layout=Q??B5(this.structsAndGroups),this.gpuLayout=Z??U5(this.structsAndGroups),this.autoAssignGlobalUniforms=this.layout[0]?.globalUniforms!==void 0,this.autoAssignLocalUniforms=this.layout[1]?.localUniforms!==void 0,this._generateProgramKey()}_generateProgramKey(){let{vertex:$,fragment:q}=this,J=$.source+q.source+$.entryPoint+q.entryPoint;this._layoutKey=v(J,"program")}get attributeData(){return this._attributeData??(this._attributeData=R5(this.vertex)),this._attributeData}destroy(){this.gpuLayout=null,this.layout=null,this.structsAndGroups=null,this.fragment=null,this.vertex=null,s[this._cacheKey]=null}static from($){let q=`${$.vertex.source}:${$.fragment.source}:${$.fragment.entryPoint}:${$.vertex.entryPoint}`;if(!s[q])s[q]=new V0($),s[q]._cacheKey=q;return s[q]}}class T5 extends Y{constructor($){super();this.uid=_("shader"),this._uniformBindMap=Object.create(null),this._ownedBindGroups=[],this._destroyed=!1;let{gpuProgram:q,glProgram:J,groups:Q,resources:Z,compatibleRenderers:N,groupMap:K}=$;if(this.gpuProgram=q,this.glProgram=J,N===void 0){if(N=0,q)N|=q0.WEBGPU;if(J)N|=q0.WEBGL}this.compatibleRenderers=N;let H={};if(!Z&&!Q)Z={};if(Z&&Q)throw Error("[Shader] Cannot have both resources and groups");else if(!q&&Q&&!K)throw Error("[Shader] No group map or WebGPU shader provided - consider using resources instead.");else if(!q&&Q&&K)for(let V in K)for(let W in K[V]){let O=K[V][W];H[O]={group:V,binding:W,name:O}}else if(q&&Q&&!K){let V=q.structsAndGroups.groups;K={},V.forEach((W)=>{K[W.group]=K[W.group]||{},K[W.group][W.binding]=W.name,H[W.name]=W})}else if(Z){if(Q={},K={},q)q.structsAndGroups.groups.forEach((O)=>{K[O.group]=K[O.group]||{},K[O.group][O.binding]=O.name,H[O.name]=O});let V=0;for(let W in Z){if(H[W])continue;if(!Q[99])Q[99]=new i,this._ownedBindGroups.push(Q[99]);H[W]={group:99,binding:V,name:W},K[99]=K[99]||{},K[99][V]=W,V++}for(let W in Z){let O=W,z=Z[W];if(!z.source&&!z._resourceType)z=new M5(z);let F=H[O];if(F){if(!Q[F.group])Q[F.group]=new i,this._ownedBindGroups.push(Q[F.group]);Q[F.group].setResource(z,F.binding)}}}this.groups=Q,this._uniformBindMap=K,this.resources=this._buildResourceAccessor(Q,H)}addResource($,q,J){var Q,Z;if((Q=this._uniformBindMap)[q]||(Q[q]={}),(Z=this._uniformBindMap[q])[J]||(Z[J]=$),!this.groups[q])this.groups[q]=new i,this._ownedBindGroups.push(this.groups[q])}_buildResourceAccessor($,q){let J={};for(let Q in q){let Z=q[Q];Object.defineProperty(J,Z.name,{get(){return $[Z.group].getResource(Z.binding)},set(N){$[Z.group].setResource(N,Z.binding)}})}return J}destroy($=!1){if(this._destroyed)return;if(this._destroyed=!0,this.emit("destroy",this),$)this.gpuProgram?.destroy(),this.glProgram?.destroy();this.gpuProgram=null,this.glProgram=null,this.removeAllListeners(),this._uniformBindMap=null,this._ownedBindGroups.forEach((q)=>{q.destroy()}),this._ownedBindGroups=null,this.resources=null,this.groups=null}static from($){let{gpu:q,gl:J,...Q}=$,Z,N;if(q)Z=V0.from(q);if(J)N=_5.from(J);return new T5({gpuProgram:Z,glProgram:N,...Q})}}var b=(($)=>{return $[$.MAP_READ=1]="MAP_READ",$[$.MAP_WRITE=2]="MAP_WRITE",$[$.COPY_SRC=4]="COPY_SRC",$[$.COPY_DST=8]="COPY_DST",$[$.INDEX=16]="INDEX",$[$.VERTEX=32]="VERTEX",$[$.UNIFORM=64]="UNIFORM",$[$.STORAGE=128]="STORAGE",$[$.INDIRECT=256]="INDIRECT",$[$.QUERY_RESOLVE=512]="QUERY_RESOLVE",$[$.STATIC=1024]="STATIC",$})(b||{});class l extends Y{constructor($){let{data:q,size:J}=$,{usage:Q,label:Z,shrinkToFit:N}=$;super();if(this._gpuData=Object.create(null),this._gcLastUsed=-1,this.autoGarbageCollect=!0,this.uid=_("buffer"),this._resourceType="buffer",this._resourceId=_("resource"),this._touched=0,this._updateID=1,this._dataInt32=null,this.shrinkToFit=!0,this.destroyed=!1,q instanceof Array)q=new Float32Array(q);this._data=q,J??(J=q?.byteLength);let K=!!q;this.descriptor={size:J,usage:Q,mappedAtCreation:K,label:Z},this.shrinkToFit=N??!0}get data(){return this._data}set data($){this.setDataWithSize($,$.length,!0)}get dataInt32(){if(!this._dataInt32)this._dataInt32=new Int32Array(this.data.buffer);return this._dataInt32}get static(){return!!(this.descriptor.usage&b.STATIC)}set static($){if($)this.descriptor.usage|=b.STATIC;else this.descriptor.usage&=~b.STATIC}setDataWithSize($,q,J){if(this._updateID++,this._updateSize=q*$.BYTES_PER_ELEMENT,this._data===$){if(J)this.emit("update",this);return}let Q=this._data;if(this._data=$,this._dataInt32=null,!Q||Q.length!==$.length){if(!this.shrinkToFit&&Q&&$.byteLength<Q.byteLength){if(J)this.emit("update",this)}else this.descriptor.size=$.byteLength,this._resourceId=_("resource"),this.emit("change",this);return}if(J)this.emit("update",this)}update($){this._updateSize=$??this._updateSize,this._updateID++,this.emit("update",this)}unload(){this.emit("unload",this);for(let $ in this._gpuData)this._gpuData[$]?.destroy();this._gpuData=Object.create(null)}destroy(){this.destroyed=!0,this.unload(),this.emit("destroy",this),this.emit("change",this),this._data=null,this.descriptor=null,this.removeAllListeners()}}function B0($,q){if(!($ instanceof l)){let J=q?b.INDEX:b.VERTEX;if($ instanceof Array)if(q)$=new Uint32Array($),J=b.INDEX|b.COPY_DST;else $=new Float32Array($),J=b.VERTEX|b.COPY_DST;$=new l({data:$,label:q?"index-mesh-buffer":"vertex-mesh-buffer",usage:J})}return $}function S5($,q,J){let Q=$.getAttribute(q);if(!Q)return J.minX=0,J.minY=0,J.maxX=0,J.maxY=0,J;let Z=Q.buffer.data,N=1/0,K=1/0,H=-1/0,V=-1/0,W=Z.BYTES_PER_ELEMENT,O=(Q.offset||0)/W,z=(Q.stride||8)/W;for(let F=O;F<Z.length;F+=z){let k=Z[F],I=Z[F+1];if(k>H)H=k;if(I>V)V=I;if(k<N)N=k;if(I<K)K=I}return J.minX=N,J.minY=K,J.maxX=H,J.maxY=V,J}function q8($){if($ instanceof l||Array.isArray($)||$.BYTES_PER_ELEMENT)$={buffer:$};return $.buffer=B0($.buffer,!1),$}class J8 extends Y{constructor($={}){super();this._gpuData=Object.create(null),this.autoGarbageCollect=!0,this._gcLastUsed=-1,this.uid=_("geometry"),this._layoutKey=0,this.instanceCount=1,this._bounds=new Q0,this._boundsDirty=!0;let{attributes:q,indexBuffer:J,topology:Q}=$;if(this.buffers=[],this.attributes={},q)for(let Z in q)this.addAttribute(Z,q[Z]);if(this.instanceCount=$.instanceCount??1,J)this.addIndex(J);this.topology=Q||"triangle-list"}onBufferUpdate(){this._boundsDirty=!0,this.emit("update",this)}getAttribute($){return this.attributes[$]}getIndex(){return this.indexBuffer}getBuffer($){return this.getAttribute($).buffer}getSize(){for(let $ in this.attributes){let q=this.attributes[$];return q.buffer.data.length/(q.stride/4||q.size)}return 0}addAttribute($,q){let J=q8(q);if(this.buffers.indexOf(J.buffer)===-1)this.buffers.push(J.buffer),J.buffer.on("update",this.onBufferUpdate,this),J.buffer.on("change",this.onBufferUpdate,this);this.attributes[$]=J}addIndex($){this.indexBuffer=B0($,!0),this.buffers.push(this.indexBuffer)}get bounds(){if(!this._boundsDirty)return this._bounds;return this._boundsDirty=!1,S5(this,"aPosition",this._bounds)}unload(){this.emit("unload",this);for(let $ in this._gpuData)this._gpuData[$]?.destroy();this._gpuData=Object.create(null)}destroy($=!1){if(this.emit("destroy",this),this.removeAllListeners(),$)this.buffers.forEach((q)=>q.destroy());this.unload(),this.indexBuffer?.destroy(),this.attributes=null,this.buffers=null,this.indexBuffer=null,this._bounds=null}}class Q8{constructor(){this.uid=_("instructionSet"),this.instructions=[],this.instructionSize=0,this.renderables=[],this.gcTick=0}reset(){this.instructionSize=0}destroy(){this.instructions.length=0,this.renderables.length=0,this.renderPipes=null,this.gcTick=0}add($){this.instructions[this.instructionSize++]=$}log(){this.instructions.length=this.instructionSize,console.table(this.instructions,["type","action"])}}
|
|
23
|
-
export{W0 as
|
|
22
|
+
${$}`}function L5($,q){if(!q)return $;return $.replace("#version 300 es","")}var R0={stripVersion:L5,ensurePrecision:k5,addProgramDefines:F5,setProgramName:I5,insertVersion:A5},n=Object.create(null),C5=class ${constructor(q){q={...$.defaultOptions,...q};let J=q.fragment.indexOf("#version 300 es")!==-1,Q={stripVersion:J,ensurePrecision:{requestedFragmentPrecision:q.preferredFragmentPrecision,requestedVertexPrecision:q.preferredVertexPrecision,maxSupportedVertexPrecision:"highp",maxSupportedFragmentPrecision:O5()},setProgramName:{name:q.name},addProgramDefines:J,insertVersion:J},Z=q.fragment,N=q.vertex;Object.keys(R0).forEach((K)=>{let H=Q[K];Z=R0[K](Z,H,!0),N=R0[K](N,H,!1)}),this.fragment=Z,this.vertex=N,this.transformFeedbackVaryings=q.transformFeedbackVaryings,this._key=v(`${this.vertex}:${this.fragment}`,"gl-program")}destroy(){this.fragment=null,this.vertex=null,this._attributeData=null,this._uniformData=null,this._uniformBlockData=null,this.transformFeedbackVaryings=null,n[this._cacheKey]=null}static from(q){let J=`${q.vertex}:${q.fragment}`;if(!n[J])n[J]=new $(q),n[J]._cacheKey=J;return n[J]}};C5.defaultOptions={preferredVertexPrecision:"highp",preferredFragmentPrecision:"mediump"};var _5=C5;var D5={uint8x2:{size:2,stride:2,normalised:!1},uint8x4:{size:4,stride:4,normalised:!1},sint8x2:{size:2,stride:2,normalised:!1},sint8x4:{size:4,stride:4,normalised:!1},unorm8x2:{size:2,stride:2,normalised:!0},unorm8x4:{size:4,stride:4,normalised:!0},snorm8x2:{size:2,stride:2,normalised:!0},snorm8x4:{size:4,stride:4,normalised:!0},uint16x2:{size:2,stride:4,normalised:!1},uint16x4:{size:4,stride:8,normalised:!1},sint16x2:{size:2,stride:4,normalised:!1},sint16x4:{size:4,stride:8,normalised:!1},unorm16x2:{size:2,stride:4,normalised:!0},unorm16x4:{size:4,stride:8,normalised:!0},snorm16x2:{size:2,stride:4,normalised:!0},snorm16x4:{size:4,stride:8,normalised:!0},float16x2:{size:2,stride:4,normalised:!1},float16x4:{size:4,stride:8,normalised:!1},float32:{size:1,stride:4,normalised:!1},float32x2:{size:2,stride:8,normalised:!1},float32x3:{size:3,stride:12,normalised:!1},float32x4:{size:4,stride:16,normalised:!1},uint32:{size:1,stride:4,normalised:!1},uint32x2:{size:2,stride:8,normalised:!1},uint32x3:{size:3,stride:12,normalised:!1},uint32x4:{size:4,stride:16,normalised:!1},sint32:{size:1,stride:4,normalised:!1},sint32x2:{size:2,stride:8,normalised:!1},sint32x3:{size:3,stride:12,normalised:!1},sint32x4:{size:4,stride:16,normalised:!1}};function w5($){return D5[$]??D5.float32}class i{constructor($){this.resources=Object.create(null),this._dirty=!0;let q=0;for(let J in $){let Q=$[J];this.setResource(Q,q++)}this._updateKey()}_updateKey(){if(!this._dirty)return;this._dirty=!1;let $=[],q=0;for(let J in this.resources)$[q++]=this.resources[J]._resourceId;this._key=$.join("|")}setResource($,q){let J=this.resources[q];if($===J)return;J?.off?.("change",this.onResourceChange,this),$.on?.("change",this.onResourceChange,this),this.resources[q]=$,this._dirty=!0}getResource($){return this.resources[$]}_touch($,q){let J=this.resources;for(let Q in J)J[Q]._gcLastUsed=$,J[Q]._touched=q}destroy(){let $=this.resources;for(let q in $)$[q]?.off?.("change",this.onResourceChange,this);this.resources=null}onResourceChange($){if(this._dirty=!0,$.destroyed)this.destroy();else this._updateKey()}}var U0=["f32","i32","vec2<f32>","vec3<f32>","vec4<f32>","mat2x2<f32>","mat3x3<f32>","mat4x4<f32>","mat3x2<f32>","mat4x2<f32>","mat2x3<f32>","mat4x3<f32>","mat2x4<f32>","mat3x4<f32>","vec2<i32>","vec3<i32>","vec4<i32>"],G5=U0.reduce(($,q)=>{return $[q]=!0,$},{});function X5($,q){switch($){case"f32":return 0;case"vec2<f32>":return new Float32Array(2*q);case"vec3<f32>":return new Float32Array(3*q);case"vec4<f32>":return new Float32Array(4*q);case"mat2x2<f32>":return new Float32Array([1,0,0,1]);case"mat3x3<f32>":return new Float32Array([1,0,0,0,1,0,0,0,1]);case"mat4x4<f32>":return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}return null}var Y5=class ${constructor(q,J){this._touched=0,this.uid=_("uniform"),this._resourceType="uniformGroup",this._resourceId=_("resource"),this.isUniformGroup=!0,this._dirtyId=0,this.destroyed=!1,J={...$.defaultOptions,...J},this.uniformStructures=q;let Q={};for(let Z in q){let N=q[Z];if(N.name=Z,N.size=N.size??1,!G5[N.type]){let K=N.type.match(/^array<(\w+(?:<\w+>)?),\s*(\d+)>$/);if(K){let[,H,V]=K;throw Error(`Uniform type ${N.type} is not supported. Use type: '${H}', size: ${V} instead.`)}throw Error(`Uniform type ${N.type} is not supported. Supported uniform types are: ${U0.join(", ")}`)}N.value??(N.value=X5(N.type,N.size)),Q[Z]=N.value}this.uniforms=Q,this._dirtyId=1,this.ubo=J.ubo,this.isStatic=J.isStatic,this._signature=v(Object.keys(Q).map((Z)=>`${Z}-${q[Z].type}`).join("-"),"uniform-group")}update(){this._dirtyId++}};Y5.defaultOptions={ubo:!1,isStatic:!1};var M5=Y5;var e5={f32:"float32","vec2<f32>":"float32x2","vec3<f32>":"float32x3","vec4<f32>":"float32x4",vec2f:"float32x2",vec3f:"float32x3",vec4f:"float32x4",i32:"sint32","vec2<i32>":"sint32x2","vec3<i32>":"sint32x3","vec4<i32>":"sint32x4",vec2i:"sint32x2",vec3i:"sint32x3",vec4i:"sint32x4",u32:"uint32","vec2<u32>":"uint32x2","vec3<u32>":"uint32x3","vec4<u32>":"uint32x4",vec2u:"uint32x2",vec3u:"uint32x3",vec4u:"uint32x4",bool:"uint32","vec2<bool>":"uint32x2","vec3<bool>":"uint32x3","vec4<bool>":"uint32x4"},b5=/@location\((\d+)\)\s+([a-zA-Z0-9_]+)\s*:\s*([a-zA-Z0-9_<>]+)(?:,|\s|\)|$)/g;function j5($,q){let J;while((J=b5.exec($))!==null){let Q=e5[J[3]]??"float32";q[J[2]]={location:parseInt(J[1],10),format:Q,stride:w5(Q).stride,offset:0,instance:!1,start:0}}b5.lastIndex=0}function $8($){return $.replace(/\/\/.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"")}function R5({source:$,entryPoint:q}){let J={},Q=$8($),Z=Q.indexOf(`fn ${q}(`);if(Z===-1)return J;let N=Q.indexOf("->",Z);if(N===-1)return J;let K=Q.substring(Z,N);if(j5(K,J),Object.keys(J).length===0){let H=K.match(/\(\s*\w+\s*:\s*(\w+)/);if(H){let V=H[1],W=new RegExp(`struct\\s+${V}\\s*\\{([^}]+)\\}`,"s"),O=Q.match(W);if(O)j5(O[1],J)}}return J}function K0($){let q=/(^|[^/])@(group|binding)\(\d+\)[^;]+;/g,J=/@group\((\d+)\)/,Q=/@binding\((\d+)\)/,Z=/var(<[^>]+>)? (\w+)/,N=/:\s*([\w<>]+)/,K=/struct\s+(\w+)\s*{([^}]+)}/g,H=/(\w+)\s*:\s*([\w\<\>]+)/g,V=/struct\s+(\w+)/,W=$.match(q)?.map((z)=>({group:parseInt(z.match(J)[1],10),binding:parseInt(z.match(Q)[1],10),name:z.match(Z)[2],isUniform:z.match(Z)[1]==="<uniform>",type:z.match(N)[1]}));if(!W)return{groups:[],structs:[]};let O=$.match(K)?.map((z)=>{let F=z.match(V)[1],k=z.match(H).reduce((I,A)=>{let[L,G]=A.split(":");return I[L.trim()]=G.trim(),I},{});if(!k)return null;return{name:F,members:k}}).filter(({name:z})=>W.some((F)=>F.type===z||F.type.includes(`<${z}>`)))??[];return{groups:W,structs:O}}var S=(($)=>{return $[$.VERTEX=1]="VERTEX",$[$.FRAGMENT=2]="FRAGMENT",$[$.COMPUTE=4]="COMPUTE",$})(S||{});function U5({groups:$}){let q=[];for(let J=0;J<$.length;J++){let Q=$[J];if(!q[Q.group])q[Q.group]=[];if(Q.isUniform)q[Q.group].push({binding:Q.binding,visibility:S.VERTEX|S.FRAGMENT,buffer:{type:"uniform"}});else if(Q.type==="sampler")q[Q.group].push({binding:Q.binding,visibility:S.FRAGMENT,sampler:{type:"filtering"}});else if(Q.type==="texture_2d"||Q.type.startsWith("texture_2d<"))q[Q.group].push({binding:Q.binding,visibility:S.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d",multisampled:!1}});else if(Q.type==="texture_2d_array"||Q.type.startsWith("texture_2d_array<"))q[Q.group].push({binding:Q.binding,visibility:S.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d-array",multisampled:!1}});else if(Q.type==="texture_cube"||Q.type.startsWith("texture_cube<"))q[Q.group].push({binding:Q.binding,visibility:S.FRAGMENT,texture:{sampleType:"float",viewDimension:"cube",multisampled:!1}})}for(let J=0;J<q.length;J++)q[J]||(q[J]=[]);return q}function B5({groups:$}){let q=[];for(let J=0;J<$.length;J++){let Q=$[J];if(!q[Q.group])q[Q.group]={};q[Q.group][Q.name]=Q.binding}return q}function E5($,q){let J=new Set,Q=new Set,Z=[...$.structs,...q.structs].filter((K)=>{if(J.has(K.name))return!1;return J.add(K.name),!0}),N=[...$.groups,...q.groups].filter((K)=>{let H=`${K.name}-${K.binding}`;if(Q.has(H))return!1;return Q.add(H),!0});return{structs:Z,groups:N}}var s=Object.create(null);class V0{constructor($){this._layoutKey=0,this._attributeLocationsKey=0;let{fragment:q,vertex:J,layout:Q,gpuLayout:Z,name:N}=$;if(this.name=N,this.fragment=q,this.vertex=J,q.source===J.source){let K=K0(q.source);this.structsAndGroups=K}else{let K=K0(J.source),H=K0(q.source);this.structsAndGroups=E5(K,H)}this.layout=Q??B5(this.structsAndGroups),this.gpuLayout=Z??U5(this.structsAndGroups),this.autoAssignGlobalUniforms=this.layout[0]?.globalUniforms!==void 0,this.autoAssignLocalUniforms=this.layout[1]?.localUniforms!==void 0,this._generateProgramKey()}_generateProgramKey(){let{vertex:$,fragment:q}=this,J=$.source+q.source+$.entryPoint+q.entryPoint;this._layoutKey=v(J,"program")}get attributeData(){return this._attributeData??(this._attributeData=R5(this.vertex)),this._attributeData}destroy(){this.gpuLayout=null,this.layout=null,this.structsAndGroups=null,this.fragment=null,this.vertex=null,s[this._cacheKey]=null}static from($){let q=`${$.vertex.source}:${$.fragment.source}:${$.fragment.entryPoint}:${$.vertex.entryPoint}`;if(!s[q])s[q]=new V0($),s[q]._cacheKey=q;return s[q]}}class T5 extends Y{constructor($){super();this.uid=_("shader"),this._uniformBindMap=Object.create(null),this._ownedBindGroups=[],this._destroyed=!1;let{gpuProgram:q,glProgram:J,groups:Q,resources:Z,compatibleRenderers:N,groupMap:K}=$;if(this.gpuProgram=q,this.glProgram=J,N===void 0){if(N=0,q)N|=q0.WEBGPU;if(J)N|=q0.WEBGL}this.compatibleRenderers=N;let H={};if(!Z&&!Q)Z={};if(Z&&Q)throw Error("[Shader] Cannot have both resources and groups");else if(!q&&Q&&!K)throw Error("[Shader] No group map or WebGPU shader provided - consider using resources instead.");else if(!q&&Q&&K)for(let V in K)for(let W in K[V]){let O=K[V][W];H[O]={group:V,binding:W,name:O}}else if(q&&Q&&!K){let V=q.structsAndGroups.groups;K={},V.forEach((W)=>{K[W.group]=K[W.group]||{},K[W.group][W.binding]=W.name,H[W.name]=W})}else if(Z){if(Q={},K={},q)q.structsAndGroups.groups.forEach((O)=>{K[O.group]=K[O.group]||{},K[O.group][O.binding]=O.name,H[O.name]=O});let V=0;for(let W in Z){if(H[W])continue;if(!Q[99])Q[99]=new i,this._ownedBindGroups.push(Q[99]);H[W]={group:99,binding:V,name:W},K[99]=K[99]||{},K[99][V]=W,V++}for(let W in Z){let O=W,z=Z[W];if(!z.source&&!z._resourceType)z=new M5(z);let F=H[O];if(F){if(!Q[F.group])Q[F.group]=new i,this._ownedBindGroups.push(Q[F.group]);Q[F.group].setResource(z,F.binding)}}}this.groups=Q,this._uniformBindMap=K,this.resources=this._buildResourceAccessor(Q,H)}addResource($,q,J){var Q,Z;if((Q=this._uniformBindMap)[q]||(Q[q]={}),(Z=this._uniformBindMap[q])[J]||(Z[J]=$),!this.groups[q])this.groups[q]=new i,this._ownedBindGroups.push(this.groups[q])}_buildResourceAccessor($,q){let J={};for(let Q in q){let Z=q[Q];Object.defineProperty(J,Z.name,{get(){return $[Z.group].getResource(Z.binding)},set(N){$[Z.group].setResource(N,Z.binding)}})}return J}destroy($=!1){if(this._destroyed)return;if(this._destroyed=!0,this.emit("destroy",this),$)this.gpuProgram?.destroy(),this.glProgram?.destroy();this.gpuProgram=null,this.glProgram=null,this.removeAllListeners(),this._uniformBindMap=null,this._ownedBindGroups.forEach((q)=>{q.destroy()}),this._ownedBindGroups=null,this.resources=null,this.groups=null}static from($){let{gpu:q,gl:J,...Q}=$,Z,N;if(q)Z=V0.from(q);if(J)N=_5.from(J);return new T5({gpuProgram:Z,glProgram:N,...Q})}}var b=(($)=>{return $[$.MAP_READ=1]="MAP_READ",$[$.MAP_WRITE=2]="MAP_WRITE",$[$.COPY_SRC=4]="COPY_SRC",$[$.COPY_DST=8]="COPY_DST",$[$.INDEX=16]="INDEX",$[$.VERTEX=32]="VERTEX",$[$.UNIFORM=64]="UNIFORM",$[$.STORAGE=128]="STORAGE",$[$.INDIRECT=256]="INDIRECT",$[$.QUERY_RESOLVE=512]="QUERY_RESOLVE",$[$.STATIC=1024]="STATIC",$})(b||{});class l extends Y{constructor($){let{data:q,size:J}=$,{usage:Q,label:Z,shrinkToFit:N}=$;super();if(this._gpuData=Object.create(null),this._gcLastUsed=-1,this.autoGarbageCollect=!0,this.uid=_("buffer"),this._resourceType="buffer",this._resourceId=_("resource"),this._touched=0,this._updateID=1,this._dataInt32=null,this.shrinkToFit=!0,this.destroyed=!1,q instanceof Array)q=new Float32Array(q);this._data=q,J??(J=q?.byteLength);let K=!!q;this.descriptor={size:J,usage:Q,mappedAtCreation:K,label:Z},this.shrinkToFit=N??!0}get data(){return this._data}set data($){this.setDataWithSize($,$.length,!0)}get dataInt32(){if(!this._dataInt32)this._dataInt32=new Int32Array(this.data.buffer);return this._dataInt32}get static(){return!!(this.descriptor.usage&b.STATIC)}set static($){if($)this.descriptor.usage|=b.STATIC;else this.descriptor.usage&=~b.STATIC}setDataWithSize($,q,J){if(this._updateID++,this._updateSize=q*$.BYTES_PER_ELEMENT,this._data===$){if(J)this.emit("update",this);return}let Q=this._data;if(this._data=$,this._dataInt32=null,!Q||Q.length!==$.length){if(!this.shrinkToFit&&Q&&$.byteLength<Q.byteLength){if(J)this.emit("update",this)}else this.descriptor.size=$.byteLength,this._resourceId=_("resource"),this.emit("change",this);return}if(J)this.emit("update",this)}update($){this._updateSize=$??this._updateSize,this._updateID++,this.emit("update",this)}unload(){this.emit("unload",this);for(let $ in this._gpuData)this._gpuData[$]?.destroy();this._gpuData=Object.create(null)}destroy(){this.destroyed=!0,this.unload(),this.emit("destroy",this),this.emit("change",this),this._data=null,this.descriptor=null,this.removeAllListeners()}}function B0($,q){if(!($ instanceof l)){let J=q?b.INDEX:b.VERTEX;if($ instanceof Array)if(q)$=new Uint32Array($),J=b.INDEX|b.COPY_DST;else $=new Float32Array($),J=b.VERTEX|b.COPY_DST;$=new l({data:$,label:q?"index-mesh-buffer":"vertex-mesh-buffer",usage:J})}return $}function S5($,q,J){let Q=$.getAttribute(q);if(!Q)return J.minX=0,J.minY=0,J.maxX=0,J.maxY=0,J;let Z=Q.buffer.data,N=1/0,K=1/0,H=-1/0,V=-1/0,W=Z.BYTES_PER_ELEMENT,O=(Q.offset||0)/W,z=(Q.stride||8)/W;for(let F=O;F<Z.length;F+=z){let k=Z[F],I=Z[F+1];if(k>H)H=k;if(I>V)V=I;if(k<N)N=k;if(I<K)K=I}return J.minX=N,J.minY=K,J.maxX=H,J.maxY=V,J}function q8($){if($ instanceof l||Array.isArray($)||$.BYTES_PER_ELEMENT)$={buffer:$};return $.buffer=B0($.buffer,!1),$}class J8 extends Y{constructor($={}){super();this._gpuData=Object.create(null),this.autoGarbageCollect=!0,this._gcLastUsed=-1,this.uid=_("geometry"),this._layoutKey=0,this.instanceCount=1,this._bounds=new Q0,this._boundsDirty=!0;let{attributes:q,indexBuffer:J,topology:Q}=$;if(this.buffers=[],this.attributes={},q)for(let Z in q)this.addAttribute(Z,q[Z]);if(this.instanceCount=$.instanceCount??1,J)this.addIndex(J);this.topology=Q||"triangle-list"}onBufferUpdate(){this._boundsDirty=!0,this.emit("update",this)}getAttribute($){return this.attributes[$]}getIndex(){return this.indexBuffer}getBuffer($){return this.getAttribute($).buffer}getSize(){for(let $ in this.attributes){let q=this.attributes[$];return q.buffer.data.length/(q.stride/4||q.size)}return 0}addAttribute($,q){let J=q8(q);if(this.buffers.indexOf(J.buffer)===-1)this.buffers.push(J.buffer),J.buffer.on("update",this.onBufferUpdate,this),J.buffer.on("change",this.onBufferUpdate,this);this.attributes[$]=J}addIndex($){this.indexBuffer=B0($,!0),this.buffers.push(this.indexBuffer)}get bounds(){if(!this._boundsDirty)return this._bounds;return this._boundsDirty=!1,S5(this,"aPosition",this._bounds)}unload(){this.emit("unload",this);for(let $ in this._gpuData)this._gpuData[$]?.destroy();this._gpuData=Object.create(null)}destroy($=!1){if(this.emit("destroy",this),this.removeAllListeners(),$)this.buffers.forEach((q)=>q.destroy());this.unload(),this.indexBuffer?.destroy(),this.attributes=null,this.buffers=null,this.indexBuffer=null,this._bounds=null}}class Q8{constructor(){this.uid=_("instructionSet"),this.instructions=[],this.instructionSize=0,this.renderables=[],this.gcTick=0}reset(){this.instructionSize=0}destroy(){this.instructions.length=0,this.renderables.length=0,this.renderPipes=null,this.gcTick=0}add($){this.instructions[this.instructionSize++]=$}log(){this.instructions.length=this.instructionSize,console.table(this.instructions,["type","action"])}}
|
|
23
|
+
export{W0 as Ka,K8 as La,Y as Ma,Z6 as Na,O8 as Oa,F8 as Pa,R as Qa,U as Ra,_ as Sa,e as Ta,X8 as Ua,p as Va,K6 as Wa,Z5 as Xa,a5 as Ya,T as Za,Q0 as _a,L6 as $a,Q8 as ab,b8 as bb,v0 as cb,p0 as db,m as eb,C as fb,$0 as gb,L0 as hb,y as ib,b0 as jb,v as kb,z5 as lb,_5 as mb,w5 as nb,V0 as ob,i as pb,q0 as qb,M5 as rb,T5 as sb,b as tb,l as ub,J8 as vb};
|