@drincs/pixi-vn 1.2.21 → 1.2.23
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/canvas/index.cjs +5 -5
- package/dist/canvas/index.d.cts +1 -1
- package/dist/canvas/index.d.ts +1 -1
- package/dist/canvas/index.mjs +5 -5
- package/dist/canvas/tickers/index.cjs +5 -5
- package/dist/canvas/tickers/index.mjs +5 -5
- package/dist/character/index.cjs +4 -4
- package/dist/character/index.mjs +4 -4
- package/dist/history/index.cjs +1 -2
- package/dist/history/index.mjs +1 -2
- package/dist/{index-zWjaeuZw.d.cts → index-BhqocQcj.d.cts} +10 -22
- package/dist/{index-D2ndtj53.d.ts → index-Bju40pxd.d.ts} +10 -22
- package/dist/index.cjs +159 -159
- package/dist/index.d.cts +6 -6
- package/dist/index.d.ts +6 -6
- package/dist/index.mjs +159 -159
- package/dist/narration/index.cjs +4 -4
- package/dist/narration/index.mjs +4 -4
- package/dist/sound/index.cjs +4 -4
- package/dist/sound/index.mjs +4 -4
- package/package.json +1 -1
package/dist/canvas/index.cjs
CHANGED
|
@@ -18,7 +18,7 @@ Deprecated since v${r}`),console.warn(i))),hA[e]=true;}var hA,V,rf,me=f(()=>{hA=
|
|
|
18
18
|
-ms-user-select: none;
|
|
19
19
|
`,e.accessibleText&&(t.innerText=e.accessibleText)),t.style.width=`${Mf}px`,t.style.height=`${Mf}px`,t.style.backgroundColor=this.debug?"rgba(255,255,255,0.5)":"transparent",t.style.position="absolute",t.style.zIndex=UA.toString(),t.style.borderStyle="none",navigator.userAgent.toLowerCase().includes("chrome")?t.setAttribute("aria-live","off"):t.setAttribute("aria-live","polite"),navigator.userAgent.match(/rv:.*Gecko\//)?t.setAttribute("aria-relevant","additions"):t.setAttribute("aria-relevant","text"),t.addEventListener("click",this._onClick.bind(this)),t.addEventListener("focus",this._onFocus.bind(this)),t.addEventListener("focusout",this._onFocusOut.bind(this))),t.style.pointerEvents=e.accessiblePointerEvents,t.type=e.accessibleType,e.accessibleTitle&&e.accessibleTitle!==null?t.title=e.accessibleTitle:(!e.accessibleHint||e.accessibleHint===null)&&(t.title=`container ${e.tabIndex}`),e.accessibleHint&&e.accessibleHint!==null&&t.setAttribute("aria-label",e.accessibleHint),this.debug&&this._updateDebugHTML(t),e._accessibleActive=true,e._accessibleDiv=t,t.container=e,this._children.push(e),this._div.appendChild(e._accessibleDiv),e.interactive&&(e._accessibleDiv.tabIndex=e.tabIndex);}_dispatchEvent(e,t){let{container:i}=e.target,s=this._renderer.events.rootBoundary,n=Object.assign(new oi(s),{target:i});s.rootTarget=this._renderer.lastObjectRendered,t.forEach(o=>s.dispatchEvent(n,o));}_onClick(e){this._dispatchEvent(e,["click","pointertap","tap"]);}_onFocus(e){e.target.getAttribute("aria-live")||e.target.setAttribute("aria-live","assertive"),this._dispatchEvent(e,["mouseover"]);}_onFocusOut(e){e.target.getAttribute("aria-live")||e.target.setAttribute("aria-live","polite"),this._dispatchEvent(e,["mouseout"]);}_onKeyDown(e){e.keyCode!==VM||!this._activateOnTab||this._activate();}_onMouseMove(e){e.movementX===0&&e.movementY===0||this._deactivate();}destroy(){this._deactivate(),this._destroyTouchHook(),this._div=null,this._pool=null,this._children=null,this._renderer=null,this._activateOnTab&&globalThis.removeEventListener("keydown",this._onKeyDown);}setAccessibilityEnabled(e){e?this._activate():this._deactivate();}};ey.extension={type:[x.WebGLSystem,x.WebGPUSystem],name:"accessibility"};ey.defaultOptions={enabledByDefault:false,debug:false,activateOnTab:true,deactivateOnMouseMove:true};Df=ey;});var If,ry=f(()=>{If={accessible:false,accessibleTitle:null,accessibleHint:null,tabIndex:0,accessibleType:"button",accessibleText:null,accessiblePointerEvents:"auto",accessibleChildren:true,_accessibleActive:false,_accessibleDiv:null,_renderId:-1};});var HA=f(()=>{E();At();ty();ry();O.add(Df);O.mixin(q,If);});var Dn,iy=f(()=>{E();Dn=class{static init(e){Object.defineProperty(this,"resizeTo",{set(t){globalThis.removeEventListener("resize",this.queueResize),this._resizeTo=t,t&&(globalThis.addEventListener("resize",this.queueResize),this.resize());},get(){return this._resizeTo}}),this.queueResize=()=>{this._resizeTo&&(this._cancelResize(),this._resizeId=requestAnimationFrame(()=>this.resize()));},this._cancelResize=()=>{this._resizeId&&(cancelAnimationFrame(this._resizeId),this._resizeId=null);},this.resize=()=>{if(!this._resizeTo)return;this._cancelResize();let t,i;if(this._resizeTo===globalThis.window)t=globalThis.innerWidth,i=globalThis.innerHeight;else {let{clientWidth:s,clientHeight:n}=this._resizeTo;t=s,i=n;}this.renderer.resize(t,i),this.render();},this._resizeId=null,this._resizeTo=null,this.resizeTo=e.resizeTo||null;}static destroy(){globalThis.removeEventListener("resize",this.queueResize),this._cancelResize(),this._cancelResize=null,this.queueResize=null,this.resizeTo=null,this.resize=null;}};Dn.extension=x.Application;});var Vt,In=f(()=>{Vt=(r=>(r[r.INTERACTION=50]="INTERACTION",r[r.HIGH=25]="HIGH",r[r.NORMAL=0]="NORMAL",r[r.LOW=-25]="LOW",r[r.UTILITY=-50]="UTILITY",r))(Vt||{});});var fs,sy=f(()=>{fs=class{constructor(e,t=null,i=0,s=false){this.next=null,this.previous=null,this._destroyed=false,this._fn=e,this._context=t,this.priority=i,this._once=s;}match(e,t=null){return this._fn===e&&this._context===t}emit(e){this._fn&&(this._context?this._fn.call(this._context,e):this._fn(e));let t=this.next;return this._once&&this.destroy(true),this._destroyed&&(this.next=null),t}connect(e){this.previous=e,e.next&&(e.next.previous=this),this.next=e.next,e.next=this;}destroy(e=false){this._destroyed=true,this._fn=null,this._context=null,this.previous&&(this.previous.next=this.next),this.next&&(this.next.previous=this.previous);let t=this.next;return this.next=e?null:t,this.previous=null,t}};});var VA,ve,ps=f(()=>{In();sy();VA=class ar{constructor(){this.autoStart=false,this.deltaTime=1,this.lastTime=-1,this.speed=1,this.started=false,this._requestId=null,this._maxElapsedMS=100,this._minElapsedMS=0,this._protected=false,this._lastFrame=-1,this._head=new fs(null,null,1/0),this.deltaMS=1/ar.targetFPMS,this.elapsedMS=1/ar.targetFPMS,this._tick=e=>{this._requestId=null,this.started&&(this.update(e),this.started&&this._requestId===null&&this._head.next&&(this._requestId=requestAnimationFrame(this._tick)));};}_requestIfNeeded(){this._requestId===null&&this._head.next&&(this.lastTime=performance.now(),this._lastFrame=this.lastTime,this._requestId=requestAnimationFrame(this._tick));}_cancelIfNeeded(){this._requestId!==null&&(cancelAnimationFrame(this._requestId),this._requestId=null);}_startIfPossible(){this.started?this._requestIfNeeded():this.autoStart&&this.start();}add(e,t,i=Vt.NORMAL){return this._addListener(new fs(e,t,i))}addOnce(e,t,i=Vt.NORMAL){return this._addListener(new fs(e,t,i,true))}_addListener(e){let t=this._head.next,i=this._head;if(!t)e.connect(i);else {for(;t;){if(e.priority>t.priority){e.connect(i);break}i=t,t=t.next;}e.previous||e.connect(i);}return this._startIfPossible(),this}remove(e,t){let i=this._head.next;for(;i;)i.match(e,t)?i=i.destroy():i=i.next;return this._head.next||this._cancelIfNeeded(),this}get count(){if(!this._head)return 0;let e=0,t=this._head;for(;t=t.next;)e++;return e}start(){this.started||(this.started=true,this._requestIfNeeded());}stop(){this.started&&(this.started=false,this._cancelIfNeeded());}destroy(){if(!this._protected){this.stop();let e=this._head.next;for(;e;)e=e.destroy(true);this._head.destroy(),this._head=null;}}update(e=performance.now()){let t;if(e>this.lastTime){if(t=this.elapsedMS=e-this.lastTime,t>this._maxElapsedMS&&(t=this._maxElapsedMS),t*=this.speed,this._minElapsedMS){let n=e-this._lastFrame|0;if(n<this._minElapsedMS)return;this._lastFrame=e-n%this._minElapsedMS;}this.deltaMS=t,this.deltaTime=this.deltaMS*ar.targetFPMS;let i=this._head,s=i.next;for(;s;)s=s.emit(this);i.next||this._cancelIfNeeded();}else this.deltaTime=this.deltaMS=this.elapsedMS=0;this.lastTime=e;}get FPS(){return 1e3/this.elapsedMS}get minFPS(){return 1e3/this._maxElapsedMS}set minFPS(e){let t=Math.min(this.maxFPS,e),i=Math.min(Math.max(0,t)/1e3,ar.targetFPMS);this._maxElapsedMS=1/i;}get maxFPS(){return this._minElapsedMS?Math.round(1e3/this._minElapsedMS):0}set maxFPS(e){if(e===0)this._minElapsedMS=0;else {let t=Math.max(this.minFPS,e);this._minElapsedMS=1/(t/1e3);}}static get shared(){if(!ar._shared){let e=ar._shared=new ar;e.autoStart=true,e._protected=true;}return ar._shared}static get system(){if(!ar._system){let e=ar._system=new ar;e.autoStart=true,e._protected=true;}return ar._system}};VA.targetFPMS=.06;ve=VA;});var kn,ny=f(()=>{E();In();ps();kn=class{static init(e){e=Object.assign({autoStart:true,sharedTicker:false},e),Object.defineProperty(this,"ticker",{set(t){this._ticker&&this._ticker.remove(this.render,this),this._ticker=t,t&&t.add(this.render,this,Vt.LOW);},get(){return this._ticker}}),this.stop=()=>{this._ticker.stop();},this.start=()=>{this._ticker.start();},this._ticker=null,this.ticker=e.sharedTicker?ve.shared:new ve,e.autoStart&&this.start();}static destroy(){if(this._ticker){let e=this._ticker;this.ticker=null,e.destroy();}}};kn.extension=x.Application;});var oy=f(()=>{E();iy();ny();O.add(Dn);O.add(kn);});var ay,br,kf=f(()=>{In();ps();ay=class{constructor(){this.interactionFrequency=10,this._deltaTime=0,this._didMove=false,this._tickerAdded=false,this._pauseUpdate=true;}init(e){this.removeTickerListener(),this.events=e,this.interactionFrequency=10,this._deltaTime=0,this._didMove=false,this._tickerAdded=false,this._pauseUpdate=true;}get pauseUpdate(){return this._pauseUpdate}set pauseUpdate(e){this._pauseUpdate=e;}addTickerListener(){this._tickerAdded||!this.domElement||(ve.system.add(this._tickerUpdate,this,Vt.INTERACTION),this._tickerAdded=true);}removeTickerListener(){this._tickerAdded&&(ve.system.remove(this._tickerUpdate,this),this._tickerAdded=false);}pointerMoved(){this._didMove=true;}_update(){if(!this.domElement||this._pauseUpdate)return;if(this._didMove){this._didMove=false;return}let e=this.events._rootPointerEvent;this.events.supportsTouchEvents&&e.pointerType==="touch"||globalThis.document.dispatchEvent(this.events.supportsPointerEvents?new PointerEvent("pointermove",{clientX:e.clientX,clientY:e.clientY,pointerType:e.pointerType,pointerId:e.pointerId}):new MouseEvent("mousemove",{clientX:e.clientX,clientY:e.clientY}));}_tickerUpdate(e){this._deltaTime+=e.deltaTime,!(this._deltaTime<this.interactionFrequency)&&(this._deltaTime=0,this._update());}},br=new ay;});var Or,uc=f(()=>{jt();oc();Or=class extends oi{constructor(){super(...arguments),this.client=new ne,this.movement=new ne,this.offset=new ne,this.global=new ne,this.screen=new ne;}get clientX(){return this.client.x}get clientY(){return this.client.y}get x(){return this.clientX}get y(){return this.clientY}get movementX(){return this.movement.x}get movementY(){return this.movement.y}get offsetX(){return this.offset.x}get offsetY(){return this.offset.y}get globalX(){return this.global.x}get globalY(){return this.global.y}get screenX(){return this.screen.x}get screenY(){return this.screen.y}getLocalPosition(e,t,i){return e.worldTransform.applyInverse(i||this.global,t)}getModifierState(e){return "getModifierState"in this.nativeEvent&&this.nativeEvent.getModifierState(e)}initMouseEvent(e,t,i,s,n,o,a,u,l,c,h,d,p,_,b){throw new Error("Method not implemented.")}};});var Ct,Ff=f(()=>{uc();Ct=class extends Or{constructor(){super(...arguments),this.width=0,this.height=0,this.isPrimary=false;}getCoalescedEvents(){return this.type==="pointermove"||this.type==="mousemove"||this.type==="touchmove"?[this]:[]}getPredictedEvents(){throw new Error("getPredictedEvents is not supported!")}};});var yr,Of=f(()=>{uc();yr=class extends Or{constructor(){super(...arguments),this.DOM_DELTA_PIXEL=0,this.DOM_DELTA_LINE=1,this.DOM_DELTA_PAGE=2;}};yr.DOM_DELTA_PIXEL=0;yr.DOM_DELTA_LINE=1;yr.DOM_DELTA_PAGE=2;});var qM,jM,lc,ka,uy=f(()=>{St();jt();ge();kf();uc();Ff();Of();qM=2048,jM=new ne,lc=new ne,ka=class{constructor(e){this.dispatch=new ue,this.moveOnAll=false,this.enableGlobalMoveEvents=true,this.mappingState={trackingData:{}},this.eventPool=new Map,this._allInteractiveElements=[],this._hitElements=[],this._isPointerMoveEvent=false,this.rootTarget=e,this.hitPruneFn=this.hitPruneFn.bind(this),this.hitTestFn=this.hitTestFn.bind(this),this.mapPointerDown=this.mapPointerDown.bind(this),this.mapPointerMove=this.mapPointerMove.bind(this),this.mapPointerOut=this.mapPointerOut.bind(this),this.mapPointerOver=this.mapPointerOver.bind(this),this.mapPointerUp=this.mapPointerUp.bind(this),this.mapPointerUpOutside=this.mapPointerUpOutside.bind(this),this.mapWheel=this.mapWheel.bind(this),this.mappingTable={},this.addEventMapping("pointerdown",this.mapPointerDown),this.addEventMapping("pointermove",this.mapPointerMove),this.addEventMapping("pointerout",this.mapPointerOut),this.addEventMapping("pointerleave",this.mapPointerOut),this.addEventMapping("pointerover",this.mapPointerOver),this.addEventMapping("pointerup",this.mapPointerUp),this.addEventMapping("pointerupoutside",this.mapPointerUpOutside),this.addEventMapping("wheel",this.mapWheel);}addEventMapping(e,t){this.mappingTable[e]||(this.mappingTable[e]=[]),this.mappingTable[e].push({fn:t,priority:0}),this.mappingTable[e].sort((i,s)=>i.priority-s.priority);}dispatchEvent(e,t){e.propagationStopped=false,e.propagationImmediatelyStopped=false,this.propagate(e,t),this.dispatch.emit(t||e.type,e);}mapEvent(e){if(!this.rootTarget)return;let t=this.mappingTable[e.type];if(t)for(let i=0,s=t.length;i<s;i++)t[i].fn(e);else k(`[EventBoundary]: Event mapping not defined for ${e.type}`);}hitTest(e,t){br.pauseUpdate=true;let s=this._isPointerMoveEvent&&this.enableGlobalMoveEvents?"hitTestMoveRecursive":"hitTestRecursive",n=this[s](this.rootTarget,this.rootTarget.eventMode,jM.set(e,t),this.hitTestFn,this.hitPruneFn);return n&&n[0]}propagate(e,t){if(!e.target)return;let i=e.composedPath();e.eventPhase=e.CAPTURING_PHASE;for(let s=0,n=i.length-1;s<n;s++)if(e.currentTarget=i[s],this.notifyTarget(e,t),e.propagationStopped||e.propagationImmediatelyStopped)return;if(e.eventPhase=e.AT_TARGET,e.currentTarget=e.target,this.notifyTarget(e,t),!(e.propagationStopped||e.propagationImmediatelyStopped)){e.eventPhase=e.BUBBLING_PHASE;for(let s=i.length-2;s>=0;s--)if(e.currentTarget=i[s],this.notifyTarget(e,t),e.propagationStopped||e.propagationImmediatelyStopped)return}}all(e,t,i=this._allInteractiveElements){if(i.length===0)return;e.eventPhase=e.BUBBLING_PHASE;let s=Array.isArray(t)?t:[t];for(let n=i.length-1;n>=0;n--)s.forEach(o=>{e.currentTarget=i[n],this.notifyTarget(e,o);});}propagationPath(e){let t=[e];for(let i=0;i<qM&&e!==this.rootTarget&&e.parent;i++){if(!e.parent)throw new Error("Cannot find propagation path to disconnected target");t.push(e.parent),e=e.parent;}return t.reverse(),t}hitTestMoveRecursive(e,t,i,s,n,o=false){let a=false;if(this._interactivePrune(e))return null;if((e.eventMode==="dynamic"||t==="dynamic")&&(br.pauseUpdate=false),e.interactiveChildren&&e.children){let c=e.children;for(let h=c.length-1;h>=0;h--){let d=c[h],p=this.hitTestMoveRecursive(d,this._isInteractive(t)?t:d.eventMode,i,s,n,o||n(e,i));if(p){if(p.length>0&&!p[p.length-1].parent)continue;let _=e.isInteractive();(p.length>0||_)&&(_&&this._allInteractiveElements.push(e),p.push(e)),this._hitElements.length===0&&(this._hitElements=p),a=true;}}}let u=this._isInteractive(t),l=e.isInteractive();return l&&l&&this._allInteractiveElements.push(e),o||this._hitElements.length>0?null:a?this._hitElements:u&&!n(e,i)&&s(e,i)?l?[e]:[]:null}hitTestRecursive(e,t,i,s,n){if(this._interactivePrune(e)||n(e,i))return null;if((e.eventMode==="dynamic"||t==="dynamic")&&(br.pauseUpdate=false),e.interactiveChildren&&e.children){let u=e.children,l=i;for(let c=u.length-1;c>=0;c--){let h=u[c],d=this.hitTestRecursive(h,this._isInteractive(t)?t:h.eventMode,l,s,n);if(d){if(d.length>0&&!d[d.length-1].parent)continue;let p=e.isInteractive();return (d.length>0||p)&&d.push(e),d}}}let o=this._isInteractive(t),a=e.isInteractive();return o&&s(e,i)?a?[e]:[]:null}_isInteractive(e){return e==="static"||e==="dynamic"}_interactivePrune(e){return !e||!e.visible||!e.renderable||!e.measurable||e.eventMode==="none"||e.eventMode==="passive"&&!e.interactiveChildren}hitPruneFn(e,t){if(e.hitArea&&(e.worldTransform.applyInverse(t,lc),!e.hitArea.contains(lc.x,lc.y)))return true;if(e.effects&&e.effects.length)for(let i=0;i<e.effects.length;i++){let s=e.effects[i];if(s.containsPoint&&!s.containsPoint(t,this.hitTestFn))return true}return false}hitTestFn(e,t){return e.hitArea?true:e?.containsPoint?(e.worldTransform.applyInverse(t,lc),e.containsPoint(lc)):false}notifyTarget(e,t){if(!e.currentTarget.isInteractive())return;t??(t=e.type);let i=`on${t}`;e.currentTarget[i]?.(e);let s=e.eventPhase===e.CAPTURING_PHASE||e.eventPhase===e.AT_TARGET?`${t}capture`:t;this._notifyListeners(e,s),e.eventPhase===e.AT_TARGET&&this._notifyListeners(e,t);}mapPointerDown(e){if(!(e instanceof Ct)){k("EventBoundary cannot map a non-pointer event as a pointer event");return}let t=this.createPointerEvent(e);if(this.dispatchEvent(t,"pointerdown"),t.pointerType==="touch")this.dispatchEvent(t,"touchstart");else if(t.pointerType==="mouse"||t.pointerType==="pen"){let s=t.button===2;this.dispatchEvent(t,s?"rightdown":"mousedown");}let i=this.trackingData(e.pointerId);i.pressTargetsByButton[e.button]=t.composedPath(),this.freeEvent(t);}mapPointerMove(e){if(!(e instanceof Ct)){k("EventBoundary cannot map a non-pointer event as a pointer event");return}this._allInteractiveElements.length=0,this._hitElements.length=0,this._isPointerMoveEvent=true;let t=this.createPointerEvent(e);this._isPointerMoveEvent=false;let i=t.pointerType==="mouse"||t.pointerType==="pen",s=this.trackingData(e.pointerId),n=this.findMountedTarget(s.overTargets);if(s.overTargets?.length>0&&n!==t.target){let u=e.type==="mousemove"?"mouseout":"pointerout",l=this.createPointerEvent(e,u,n);if(this.dispatchEvent(l,"pointerout"),i&&this.dispatchEvent(l,"mouseout"),!t.composedPath().includes(n)){let c=this.createPointerEvent(e,"pointerleave",n);for(c.eventPhase=c.AT_TARGET;c.target&&!t.composedPath().includes(c.target);)c.currentTarget=c.target,this.notifyTarget(c),i&&this.notifyTarget(c,"mouseleave"),c.target=c.target.parent;this.freeEvent(c);}this.freeEvent(l);}if(n!==t.target){let u=e.type==="mousemove"?"mouseover":"pointerover",l=this.clonePointerEvent(t,u);this.dispatchEvent(l,"pointerover"),i&&this.dispatchEvent(l,"mouseover");let c=n?.parent;for(;c&&c!==this.rootTarget.parent&&c!==t.target;)c=c.parent;if(!c||c===this.rootTarget.parent){let d=this.clonePointerEvent(t,"pointerenter");for(d.eventPhase=d.AT_TARGET;d.target&&d.target!==n&&d.target!==this.rootTarget.parent;)d.currentTarget=d.target,this.notifyTarget(d),i&&this.notifyTarget(d,"mouseenter"),d.target=d.target.parent;this.freeEvent(d);}this.freeEvent(l);}let o=[],a=this.enableGlobalMoveEvents??true;this.moveOnAll?o.push("pointermove"):this.dispatchEvent(t,"pointermove"),a&&o.push("globalpointermove"),t.pointerType==="touch"&&(this.moveOnAll?o.splice(1,0,"touchmove"):this.dispatchEvent(t,"touchmove"),a&&o.push("globaltouchmove")),i&&(this.moveOnAll?o.splice(1,0,"mousemove"):this.dispatchEvent(t,"mousemove"),a&&o.push("globalmousemove"),this.cursor=t.target?.cursor),o.length>0&&this.all(t,o),this._allInteractiveElements.length=0,this._hitElements.length=0,s.overTargets=t.composedPath(),this.freeEvent(t);}mapPointerOver(e){if(!(e instanceof Ct)){k("EventBoundary cannot map a non-pointer event as a pointer event");return}let t=this.trackingData(e.pointerId),i=this.createPointerEvent(e),s=i.pointerType==="mouse"||i.pointerType==="pen";this.dispatchEvent(i,"pointerover"),s&&this.dispatchEvent(i,"mouseover"),i.pointerType==="mouse"&&(this.cursor=i.target?.cursor);let n=this.clonePointerEvent(i,"pointerenter");for(n.eventPhase=n.AT_TARGET;n.target&&n.target!==this.rootTarget.parent;)n.currentTarget=n.target,this.notifyTarget(n),s&&this.notifyTarget(n,"mouseenter"),n.target=n.target.parent;t.overTargets=i.composedPath(),this.freeEvent(i),this.freeEvent(n);}mapPointerOut(e){if(!(e instanceof Ct)){k("EventBoundary cannot map a non-pointer event as a pointer event");return}let t=this.trackingData(e.pointerId);if(t.overTargets){let i=e.pointerType==="mouse"||e.pointerType==="pen",s=this.findMountedTarget(t.overTargets),n=this.createPointerEvent(e,"pointerout",s);this.dispatchEvent(n),i&&this.dispatchEvent(n,"mouseout");let o=this.createPointerEvent(e,"pointerleave",s);for(o.eventPhase=o.AT_TARGET;o.target&&o.target!==this.rootTarget.parent;)o.currentTarget=o.target,this.notifyTarget(o),i&&this.notifyTarget(o,"mouseleave"),o.target=o.target.parent;t.overTargets=null,this.freeEvent(n),this.freeEvent(o);}this.cursor=null;}mapPointerUp(e){if(!(e instanceof Ct)){k("EventBoundary cannot map a non-pointer event as a pointer event");return}let t=performance.now(),i=this.createPointerEvent(e);if(this.dispatchEvent(i,"pointerup"),i.pointerType==="touch")this.dispatchEvent(i,"touchend");else if(i.pointerType==="mouse"||i.pointerType==="pen"){let a=i.button===2;this.dispatchEvent(i,a?"rightup":"mouseup");}let s=this.trackingData(e.pointerId),n=this.findMountedTarget(s.pressTargetsByButton[e.button]),o=n;if(n&&!i.composedPath().includes(n)){let a=n;for(;a&&!i.composedPath().includes(a);){if(i.currentTarget=a,this.notifyTarget(i,"pointerupoutside"),i.pointerType==="touch")this.notifyTarget(i,"touchendoutside");else if(i.pointerType==="mouse"||i.pointerType==="pen"){let u=i.button===2;this.notifyTarget(i,u?"rightupoutside":"mouseupoutside");}a=a.parent;}delete s.pressTargetsByButton[e.button],o=a;}if(o){let a=this.clonePointerEvent(i,"click");a.target=o,a.path=null,s.clicksByButton[e.button]||(s.clicksByButton[e.button]={clickCount:0,target:a.target,timeStamp:t});let u=s.clicksByButton[e.button];if(u.target===a.target&&t-u.timeStamp<200?++u.clickCount:u.clickCount=1,u.target=a.target,u.timeStamp=t,a.detail=u.clickCount,a.pointerType==="mouse"){let l=a.button===2;this.dispatchEvent(a,l?"rightclick":"click");}else a.pointerType==="touch"&&this.dispatchEvent(a,"tap");this.dispatchEvent(a,"pointertap"),this.freeEvent(a);}this.freeEvent(i);}mapPointerUpOutside(e){if(!(e instanceof Ct)){k("EventBoundary cannot map a non-pointer event as a pointer event");return}let t=this.trackingData(e.pointerId),i=this.findMountedTarget(t.pressTargetsByButton[e.button]),s=this.createPointerEvent(e);if(i){let n=i;for(;n;)s.currentTarget=n,this.notifyTarget(s,"pointerupoutside"),s.pointerType==="touch"?this.notifyTarget(s,"touchendoutside"):(s.pointerType==="mouse"||s.pointerType==="pen")&&this.notifyTarget(s,s.button===2?"rightupoutside":"mouseupoutside"),n=n.parent;delete t.pressTargetsByButton[e.button];}this.freeEvent(s);}mapWheel(e){if(!(e instanceof yr)){k("EventBoundary cannot map a non-wheel event as a wheel event");return}let t=this.createWheelEvent(e);this.dispatchEvent(t),this.freeEvent(t);}findMountedTarget(e){if(!e)return null;let t=e[0];for(let i=1;i<e.length&&e[i].parent===t;i++)t=e[i];return t}createPointerEvent(e,t,i){let s=this.allocateEvent(Ct);return this.copyPointerData(e,s),this.copyMouseData(e,s),this.copyData(e,s),s.nativeEvent=e.nativeEvent,s.originalEvent=e,s.target=i??this.hitTest(s.global.x,s.global.y)??this._hitElements[0],typeof t=="string"&&(s.type=t),s}createWheelEvent(e){let t=this.allocateEvent(yr);return this.copyWheelData(e,t),this.copyMouseData(e,t),this.copyData(e,t),t.nativeEvent=e.nativeEvent,t.originalEvent=e,t.target=this.hitTest(t.global.x,t.global.y),t}clonePointerEvent(e,t){let i=this.allocateEvent(Ct);return i.nativeEvent=e.nativeEvent,i.originalEvent=e.originalEvent,this.copyPointerData(e,i),this.copyMouseData(e,i),this.copyData(e,i),i.target=e.target,i.path=e.composedPath().slice(),i.type=t??i.type,i}copyWheelData(e,t){t.deltaMode=e.deltaMode,t.deltaX=e.deltaX,t.deltaY=e.deltaY,t.deltaZ=e.deltaZ;}copyPointerData(e,t){e instanceof Ct&&t instanceof Ct&&(t.pointerId=e.pointerId,t.width=e.width,t.height=e.height,t.isPrimary=e.isPrimary,t.pointerType=e.pointerType,t.pressure=e.pressure,t.tangentialPressure=e.tangentialPressure,t.tiltX=e.tiltX,t.tiltY=e.tiltY,t.twist=e.twist);}copyMouseData(e,t){e instanceof Or&&t instanceof Or&&(t.altKey=e.altKey,t.button=e.button,t.buttons=e.buttons,t.client.copyFrom(e.client),t.ctrlKey=e.ctrlKey,t.metaKey=e.metaKey,t.movement.copyFrom(e.movement),t.screen.copyFrom(e.screen),t.shiftKey=e.shiftKey,t.global.copyFrom(e.global));}copyData(e,t){t.isTrusted=e.isTrusted,t.srcElement=e.srcElement,t.timeStamp=performance.now(),t.type=e.type,t.detail=e.detail,t.view=e.view,t.which=e.which,t.layer.copyFrom(e.layer),t.page.copyFrom(e.page);}trackingData(e){return this.mappingState.trackingData[e]||(this.mappingState.trackingData[e]={pressTargetsByButton:{},clicksByButton:{},overTarget:null}),this.mappingState.trackingData[e]}allocateEvent(e){this.eventPool.has(e)||this.eventPool.set(e,[]);let t=this.eventPool.get(e).pop()||new e(this);return t.eventPhase=t.NONE,t.currentTarget=null,t.defaultPrevented=false,t.path=null,t.target=null,t}freeEvent(e){if(e.manager!==this)throw new Error("It is illegal to free an event not managed by this EventBoundary!");let t=e.constructor;this.eventPool.has(t)||this.eventPool.set(t,[]),this.eventPool.get(t).push(e);}_notifyListeners(e,t){let i=e.currentTarget._events[t];if(i)if("fn"in i)i.once&&e.currentTarget.removeListener(t,i.fn,void 0,true),i.fn.call(i.context,e);else for(let s=0,n=i.length;s<n&&!e.propagationImmediatelyStopped;s++)i[s].once&&e.currentTarget.removeListener(t,i[s].fn,void 0,true),i[s].fn.call(i[s].context,e);}};});var KM,ZM,cy,Fa,Gf=f(()=>{E();uy();kf();Ff();Of();KM=1,ZM={touchstart:"pointerdown",touchend:"pointerup",touchendoutside:"pointerupoutside",touchmove:"pointermove",touchcancel:"pointercancel"},cy=class ly{constructor(e){this.supportsTouchEvents="ontouchstart"in globalThis,this.supportsPointerEvents=!!globalThis.PointerEvent,this.domElement=null,this.resolution=1,this.renderer=e,this.rootBoundary=new ka(null),br.init(this),this.autoPreventDefault=true,this._eventsAdded=false,this._rootPointerEvent=new Ct(null),this._rootWheelEvent=new yr(null),this.cursorStyles={default:"inherit",pointer:"pointer"},this.features=new Proxy({...ly.defaultEventFeatures},{set:(t,i,s)=>(i==="globalMove"&&(this.rootBoundary.enableGlobalMoveEvents=s),t[i]=s,true)}),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),this._onPointerUp=this._onPointerUp.bind(this),this._onPointerOverOut=this._onPointerOverOut.bind(this),this.onWheel=this.onWheel.bind(this);}static get defaultEventMode(){return this._defaultEventMode}init(e){let{canvas:t,resolution:i}=this.renderer;this.setTargetElement(t),this.resolution=i,ly._defaultEventMode=e.eventMode??"passive",Object.assign(this.features,e.eventFeatures??{}),this.rootBoundary.enableGlobalMoveEvents=this.features.globalMove;}resolutionChange(e){this.resolution=e;}destroy(){this.setTargetElement(null),this.renderer=null,this._currentCursor=null;}setCursor(e){e||(e="default");let t=true;if(globalThis.OffscreenCanvas&&this.domElement instanceof OffscreenCanvas&&(t=false),this._currentCursor===e)return;this._currentCursor=e;let i=this.cursorStyles[e];if(i)switch(typeof i){case "string":t&&(this.domElement.style.cursor=i);break;case "function":i(e);break;case "object":t&&Object.assign(this.domElement.style,i);break}else t&&typeof e=="string"&&!Object.prototype.hasOwnProperty.call(this.cursorStyles,e)&&(this.domElement.style.cursor=e);}get pointer(){return this._rootPointerEvent}_onPointerDown(e){if(!this.features.click)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered;let t=this._normalizeToPointerData(e);this.autoPreventDefault&&t[0].isNormalized&&(e.cancelable||!("cancelable"in e))&&e.preventDefault();for(let i=0,s=t.length;i<s;i++){let n=t[i],o=this._bootstrapEvent(this._rootPointerEvent,n);this.rootBoundary.mapEvent(o);}this.setCursor(this.rootBoundary.cursor);}_onPointerMove(e){if(!this.features.move)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered,br.pointerMoved();let t=this._normalizeToPointerData(e);for(let i=0,s=t.length;i<s;i++){let n=this._bootstrapEvent(this._rootPointerEvent,t[i]);this.rootBoundary.mapEvent(n);}this.setCursor(this.rootBoundary.cursor);}_onPointerUp(e){if(!this.features.click)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered;let t=e.target;e.composedPath&&e.composedPath().length>0&&(t=e.composedPath()[0]);let i=t!==this.domElement?"outside":"",s=this._normalizeToPointerData(e);for(let n=0,o=s.length;n<o;n++){let a=this._bootstrapEvent(this._rootPointerEvent,s[n]);a.type+=i,this.rootBoundary.mapEvent(a);}this.setCursor(this.rootBoundary.cursor);}_onPointerOverOut(e){if(!this.features.click)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered;let t=this._normalizeToPointerData(e);for(let i=0,s=t.length;i<s;i++){let n=this._bootstrapEvent(this._rootPointerEvent,t[i]);this.rootBoundary.mapEvent(n);}this.setCursor(this.rootBoundary.cursor);}onWheel(e){if(!this.features.wheel)return;let t=this.normalizeWheelEvent(e);this.rootBoundary.rootTarget=this.renderer.lastObjectRendered,this.rootBoundary.mapEvent(t);}setTargetElement(e){this._removeEvents(),this.domElement=e,br.domElement=e,this._addEvents();}_addEvents(){if(this._eventsAdded||!this.domElement)return;br.addTickerListener();let e=this.domElement.style;e&&(globalThis.navigator.msPointerEnabled?(e.msContentZooming="none",e.msTouchAction="none"):this.supportsPointerEvents&&(e.touchAction="none")),this.supportsPointerEvents?(globalThis.document.addEventListener("pointermove",this._onPointerMove,true),this.domElement.addEventListener("pointerdown",this._onPointerDown,true),this.domElement.addEventListener("pointerleave",this._onPointerOverOut,true),this.domElement.addEventListener("pointerover",this._onPointerOverOut,true),globalThis.addEventListener("pointerup",this._onPointerUp,true)):(globalThis.document.addEventListener("mousemove",this._onPointerMove,true),this.domElement.addEventListener("mousedown",this._onPointerDown,true),this.domElement.addEventListener("mouseout",this._onPointerOverOut,true),this.domElement.addEventListener("mouseover",this._onPointerOverOut,true),globalThis.addEventListener("mouseup",this._onPointerUp,true),this.supportsTouchEvents&&(this.domElement.addEventListener("touchstart",this._onPointerDown,true),this.domElement.addEventListener("touchend",this._onPointerUp,true),this.domElement.addEventListener("touchmove",this._onPointerMove,true))),this.domElement.addEventListener("wheel",this.onWheel,{passive:true,capture:true}),this._eventsAdded=true;}_removeEvents(){if(!this._eventsAdded||!this.domElement)return;br.removeTickerListener();let e=this.domElement.style;e&&(globalThis.navigator.msPointerEnabled?(e.msContentZooming="",e.msTouchAction=""):this.supportsPointerEvents&&(e.touchAction="")),this.supportsPointerEvents?(globalThis.document.removeEventListener("pointermove",this._onPointerMove,true),this.domElement.removeEventListener("pointerdown",this._onPointerDown,true),this.domElement.removeEventListener("pointerleave",this._onPointerOverOut,true),this.domElement.removeEventListener("pointerover",this._onPointerOverOut,true),globalThis.removeEventListener("pointerup",this._onPointerUp,true)):(globalThis.document.removeEventListener("mousemove",this._onPointerMove,true),this.domElement.removeEventListener("mousedown",this._onPointerDown,true),this.domElement.removeEventListener("mouseout",this._onPointerOverOut,true),this.domElement.removeEventListener("mouseover",this._onPointerOverOut,true),globalThis.removeEventListener("mouseup",this._onPointerUp,true),this.supportsTouchEvents&&(this.domElement.removeEventListener("touchstart",this._onPointerDown,true),this.domElement.removeEventListener("touchend",this._onPointerUp,true),this.domElement.removeEventListener("touchmove",this._onPointerMove,true))),this.domElement.removeEventListener("wheel",this.onWheel,true),this.domElement=null,this._eventsAdded=false;}mapPositionToPoint(e,t,i){let s=this.domElement.isConnected?this.domElement.getBoundingClientRect():{width:this.domElement.width,height:this.domElement.height,left:0,top:0},n=1/this.resolution;e.x=(t-s.left)*(this.domElement.width/s.width)*n,e.y=(i-s.top)*(this.domElement.height/s.height)*n;}_normalizeToPointerData(e){let t=[];if(this.supportsTouchEvents&&e instanceof TouchEvent)for(let i=0,s=e.changedTouches.length;i<s;i++){let n=e.changedTouches[i];typeof n.button>"u"&&(n.button=0),typeof n.buttons>"u"&&(n.buttons=1),typeof n.isPrimary>"u"&&(n.isPrimary=e.touches.length===1&&e.type==="touchstart"),typeof n.width>"u"&&(n.width=n.radiusX||1),typeof n.height>"u"&&(n.height=n.radiusY||1),typeof n.tiltX>"u"&&(n.tiltX=0),typeof n.tiltY>"u"&&(n.tiltY=0),typeof n.pointerType>"u"&&(n.pointerType="touch"),typeof n.pointerId>"u"&&(n.pointerId=n.identifier||0),typeof n.pressure>"u"&&(n.pressure=n.force||.5),typeof n.twist>"u"&&(n.twist=0),typeof n.tangentialPressure>"u"&&(n.tangentialPressure=0),typeof n.layerX>"u"&&(n.layerX=n.offsetX=n.clientX),typeof n.layerY>"u"&&(n.layerY=n.offsetY=n.clientY),n.isNormalized=true,n.type=e.type,t.push(n);}else if(!globalThis.MouseEvent||e instanceof MouseEvent&&(!this.supportsPointerEvents||!(e instanceof globalThis.PointerEvent))){let i=e;typeof i.isPrimary>"u"&&(i.isPrimary=true),typeof i.width>"u"&&(i.width=1),typeof i.height>"u"&&(i.height=1),typeof i.tiltX>"u"&&(i.tiltX=0),typeof i.tiltY>"u"&&(i.tiltY=0),typeof i.pointerType>"u"&&(i.pointerType="mouse"),typeof i.pointerId>"u"&&(i.pointerId=KM),typeof i.pressure>"u"&&(i.pressure=.5),typeof i.twist>"u"&&(i.twist=0),typeof i.tangentialPressure>"u"&&(i.tangentialPressure=0),i.isNormalized=true,t.push(i);}else t.push(e);return t}normalizeWheelEvent(e){let t=this._rootWheelEvent;return this._transferMouseData(t,e),t.deltaX=e.deltaX,t.deltaY=e.deltaY,t.deltaZ=e.deltaZ,t.deltaMode=e.deltaMode,this.mapPositionToPoint(t.screen,e.clientX,e.clientY),t.global.copyFrom(t.screen),t.offset.copyFrom(t.screen),t.nativeEvent=e,t.type=e.type,t}_bootstrapEvent(e,t){return e.originalEvent=null,e.nativeEvent=t,e.pointerId=t.pointerId,e.width=t.width,e.height=t.height,e.isPrimary=t.isPrimary,e.pointerType=t.pointerType,e.pressure=t.pressure,e.tangentialPressure=t.tangentialPressure,e.tiltX=t.tiltX,e.tiltY=t.tiltY,e.twist=t.twist,this._transferMouseData(e,t),this.mapPositionToPoint(e.screen,t.clientX,t.clientY),e.global.copyFrom(e.screen),e.offset.copyFrom(e.screen),e.isTrusted=t.isTrusted,e.type==="pointerleave"&&(e.type="pointerout"),e.type.startsWith("mouse")&&(e.type=e.type.replace("mouse","pointer")),e.type.startsWith("touch")&&(e.type=ZM[e.type]||e.type),e}_transferMouseData(e,t){e.isTrusted=t.isTrusted,e.srcElement=t.srcElement,e.timeStamp=performance.now(),e.type=t.type,e.altKey=t.altKey,e.button=t.button,e.buttons=t.buttons,e.client.x=t.clientX,e.client.y=t.clientY,e.ctrlKey=t.ctrlKey,e.metaKey=t.metaKey,e.movement.x=t.movementX,e.movement.y=t.movementY,e.page.x=t.pageX,e.page.y=t.pageY,e.relatedTarget=null,e.shiftKey=t.shiftKey;}};cy.extension={name:"events",type:[x.WebGLSystem,x.CanvasSystem,x.WebGPUSystem],priority:-1};cy.defaultEventFeatures={move:true,globalMove:true,click:true,wheel:true};Fa=cy;});var Uf,hy=f(()=>{Gf();oc();Uf={onclick:null,onmousedown:null,onmouseenter:null,onmouseleave:null,onmousemove:null,onglobalmousemove:null,onmouseout:null,onmouseover:null,onmouseup:null,onmouseupoutside:null,onpointercancel:null,onpointerdown:null,onpointerenter:null,onpointerleave:null,onpointermove:null,onglobalpointermove:null,onpointerout:null,onpointerover:null,onpointertap:null,onpointerup:null,onpointerupoutside:null,onrightclick:null,onrightdown:null,onrightup:null,onrightupoutside:null,ontap:null,ontouchcancel:null,ontouchend:null,ontouchendoutside:null,ontouchmove:null,onglobaltouchmove:null,ontouchstart:null,onwheel:null,get interactive(){return this.eventMode==="dynamic"||this.eventMode==="static"},set interactive(r){this.eventMode=r?"static":"passive";},_internalEventMode:void 0,get eventMode(){return this._internalEventMode??Fa.defaultEventMode},set eventMode(r){this._internalEventMode=r;},isInteractive(){return this.eventMode==="static"||this.eventMode==="dynamic"},interactiveChildren:true,hitArea:null,addEventListener(r,e,t){let i=typeof t=="boolean"&&t||typeof t=="object"&&t.capture,s=typeof t=="object"?t.signal:void 0,n=typeof t=="object"?t.once===true:false,o=typeof e=="function"?void 0:e;r=i?`${r}capture`:r;let a=typeof e=="function"?e:e.handleEvent,u=this;s&&s.addEventListener("abort",()=>{u.off(r,a,o);}),n?u.once(r,a,o):u.on(r,a,o);},removeEventListener(r,e,t){let i=typeof t=="boolean"&&t||typeof t=="object"&&t.capture,s=typeof e=="function"?void 0:e;r=i?`${r}capture`:r,e=typeof e=="function"?e:e.handleEvent,this.off(r,e,s);},dispatchEvent(r){if(!(r instanceof oi))throw new Error("Container cannot propagate events outside of the Federated Events API");return r.defaultPrevented=false,r.path=null,r.target=this,r.manager.dispatchEvent(r),!r.defaultPrevented}};});var zA=f(()=>{E();At();Gf();hy();O.add(Fa);O.mixin(q,Uf);});var Fn,dy=f(()=>{E();Fn=class{constructor(e){this._attachedDomElements=[],this._renderer=e,this._renderer.runners.postrender.add(this),this._domElement=document.createElement("div"),this._domElement.style.position="absolute",this._domElement.style.top="0",this._domElement.style.left="0",this._domElement.style.pointerEvents="none",this._domElement.style.zIndex="1000";}addRenderable(e,t){this._attachedDomElements.includes(e)||this._attachedDomElements.push(e);}updateRenderable(e){}validateRenderable(e){return true}postrender(){let e=this._attachedDomElements;if(e.length===0){this._domElement.remove();return}let t=this._renderer.view.canvas;this._domElement.parentNode!==t.parentNode&&t.parentNode?.appendChild(this._domElement);let i=parseFloat(t.style.width)/t.width*this._renderer.resolution,s=parseFloat(t.style.height)/t.height*this._renderer.resolution;this._domElement.style.transform=`translate(${t.offsetLeft}px, ${t.offsetTop}px) scale(${i}, ${s})`;for(let n=0;n<e.length;n++){let o=e[n],a=o.element;if(!o.parent||o.globalDisplayStatus<7)a?.remove(),e.splice(n,1),n--;else {this._domElement.contains(a)||(a.style.position="absolute",a.style.pointerEvents="auto",this._domElement.appendChild(a));let u=o.worldTransform,l=o._anchor,c=o.width*l.x,h=o.height*l.y;a.style.transformOrigin=`${c}px ${h}px`,a.style.transform=`matrix(${u.a}, ${u.b}, ${u.c}, ${u.d}, ${u.tx-c}, ${u.ty-h})`,a.style.opacity=o.groupAlpha.toString();}}}destroy(){this._renderer.runners.postrender.remove(this);for(let e=0;e<this._attachedDomElements.length;e++)this._attachedDomElements[e].element?.remove();this._attachedDomElements.length=0,this._domElement.remove(),this._renderer=null;}};Fn.extension={type:[x.WebGLPipes,x.WebGPUPipes,x.CanvasPipes],name:"dom"};});var Ze,Gr=f(()=>{Et();At();Ze=class extends q{constructor(e){super(e),this.canBundle=true,this.allowChildren=false,this._roundPixels=0,this._lastUsed=-1,this._gpuData=Object.create(null),this._bounds=new xe(0,1,0,0),this._boundsDirty=true;}get bounds(){return this._boundsDirty?(this.updateBounds(),this._boundsDirty=false,this._bounds):this._bounds}get roundPixels(){return !!this._roundPixels}set roundPixels(e){this._roundPixels=e?1:0;}containsPoint(e){let t=this.bounds,{x:i,y:s}=e;return i>=t.minX&&i<=t.maxX&&s>=t.minY&&s<=t.maxY}onViewUpdate(){if(this._didViewChangeTick++,this._boundsDirty=true,this.didViewUpdate)return;this.didViewUpdate=true;let e=this.renderGroup||this.parentRenderGroup;e&&e.onChildViewUpdate(this);}destroy(e){super.destroy(e),this._bounds=null;for(let t in this._gpuData)this._gpuData[t].destroy?.();this._gpuData=null;}collectRenderablesSimple(e,t,i){let{renderPipes:s}=t;s.blendMode.setBlendMode(this,this.groupBlendMode,e),s[this.renderPipeId].addRenderable(this,e),this.didViewUpdate=false;let o=this.children,a=o.length;for(let u=0;u<a;u++)o[u].collectRenderables(e,t,i);}};});var Lf,WA=f(()=>{jt();Gr();Lf=class extends Ze{constructor(e={}){let{element:t,anchor:i,...s}=e;super({label:"DOMContainer",...s}),this.renderPipeId="dom",this.batched=false,this._anchor=new ne(0,0),i&&(this.anchor=i),this.element=e.element||document.createElement("div");}get anchor(){return this._anchor}set anchor(e){typeof e=="number"?this._anchor.set(e):this._anchor.copyFrom(e);}set element(e){this._element!==e&&(this._element=e,this.onViewUpdate());}get element(){return this._element}updateBounds(){let e=this._bounds,t=this._element;if(!t){e.minX=0,e.minY=0,e.maxX=0,e.maxY=0;return}let{offsetWidth:i,offsetHeight:s}=t;e.minX=0,e.maxX=i,e.minY=0,e.maxY=s;}destroy(e=false){super.destroy(e),this._element?.parentNode?.removeChild(this._element),this._element=null,this._anchor=null;}};});var XA=f(()=>{E();dy();O.add(Fn);});var Me,ur=f(()=>{Me=(r=>(r[r.Low=0]="Low",r[r.Normal=1]="Normal",r[r.High=2]="High",r))(Me||{});});var Nf,fy=f(()=>{Nf={createCanvas:(r,e)=>{let t=document.createElement("canvas");return t.width=r,t.height=e,t},getCanvasRenderingContext2D:()=>CanvasRenderingContext2D,getWebGLRenderingContext:()=>WebGLRenderingContext,getNavigator:()=>navigator,getBaseUrl:()=>document.baseURI??window.location.href,getFontFaceSet:()=>document.fonts,fetch:(r,e)=>fetch(r,e),parseXML:r=>new DOMParser().parseFromString(r,"text/xml")};});var YA,z,Ee=f(()=>{fy();YA=Nf,z={get(){return YA},set(r){YA=r;}};});function Ur(r){if(typeof r!="string")throw new TypeError(`Path must be a string. Received ${JSON.stringify(r)}`)}function cc(r){return r.split("?")[0].split("#")[0]}function QM(r){return r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function JM(r,e,t){return r.replace(new RegExp(QM(e),"g"),t)}function eD(r,e){let t="",i=0,s=-1,n=0,o=-1;for(let a=0;a<=r.length;++a){if(a<r.length)o=r.charCodeAt(a);else {if(o===47)break;o=47;}if(o===47){if(!(s===a-1||n===1))if(s!==a-1&&n===2){if(t.length<2||i!==2||t.charCodeAt(t.length-1)!==46||t.charCodeAt(t.length-2)!==46){if(t.length>2){let u=t.lastIndexOf("/");if(u!==t.length-1){u===-1?(t="",i=0):(t=t.slice(0,u),i=t.length-1-t.lastIndexOf("/")),s=a,n=0;continue}}else if(t.length===2||t.length===1){t="",i=0,s=a,n=0;continue}}}else t.length>0?t+=`/${r.slice(s+1,a)}`:t=r.slice(s+1,a),i=a-s-1;s=a,n=0;}else o===46&&n!==-1?++n:n=-1;}return t}var De,ms=f(()=>{Ee();De={toPosix(r){return JM(r,"\\","/")},isUrl(r){return /^https?:/.test(this.toPosix(r))},isDataUrl(r){return /^data:([a-z]+\/[a-z0-9-+.]+(;[a-z0-9-.!#$%*+.{}|~`]+=[a-z0-9-.!#$%*+.{}()_|~`]+)*)?(;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s<>]*?)$/i.test(r)},isBlobUrl(r){return r.startsWith("blob:")},hasProtocol(r){return /^[^/:]+:/.test(this.toPosix(r))},getProtocol(r){Ur(r),r=this.toPosix(r);let e=/^file:\/\/\//.exec(r);if(e)return e[0];let t=/^[^/:]+:\/{0,2}/.exec(r);return t?t[0]:""},toAbsolute(r,e,t){if(Ur(r),this.isDataUrl(r)||this.isBlobUrl(r))return r;let i=cc(this.toPosix(e??z.get().getBaseUrl())),s=cc(this.toPosix(t??this.rootname(i)));return r=this.toPosix(r),r.startsWith("/")?De.join(s,r.slice(1)):this.isAbsolute(r)?r:this.join(i,r)},normalize(r){if(Ur(r),r.length===0)return ".";if(this.isDataUrl(r)||this.isBlobUrl(r))return r;r=this.toPosix(r);let e="",t=r.startsWith("/");this.hasProtocol(r)&&(e=this.rootname(r),r=r.slice(e.length));let i=r.endsWith("/");return r=eD(r),r.length>0&&i&&(r+="/"),t?`/${r}`:e+r},isAbsolute(r){return Ur(r),r=this.toPosix(r),this.hasProtocol(r)?true:r.startsWith("/")},join(...r){if(r.length===0)return ".";let e;for(let t=0;t<r.length;++t){let i=r[t];if(Ur(i),i.length>0)if(e===void 0)e=i;else {let s=r[t-1]??"";this.joinExtensions.includes(this.extname(s).toLowerCase())?e+=`/../${i}`:e+=`/${i}`;}}return e===void 0?".":this.normalize(e)},dirname(r){if(Ur(r),r.length===0)return ".";r=this.toPosix(r);let e=r.charCodeAt(0),t=e===47,i=-1,s=true,n=this.getProtocol(r),o=r;r=r.slice(n.length);for(let a=r.length-1;a>=1;--a)if(e=r.charCodeAt(a),e===47){if(!s){i=a;break}}else s=false;return i===-1?t?"/":this.isUrl(o)?n+r:n:t&&i===1?"//":n+r.slice(0,i)},rootname(r){Ur(r),r=this.toPosix(r);let e="";if(r.startsWith("/")?e="/":e=this.getProtocol(r),this.isUrl(r)){let t=r.indexOf("/",e.length);t!==-1?e=r.slice(0,t):e=r,e.endsWith("/")||(e+="/");}return e},basename(r,e){Ur(r),e&&Ur(e),r=cc(this.toPosix(r));let t=0,i=-1,s=true,n;if(e!==void 0&&e.length>0&&e.length<=r.length){if(e.length===r.length&&e===r)return "";let o=e.length-1,a=-1;for(n=r.length-1;n>=0;--n){let u=r.charCodeAt(n);if(u===47){if(!s){t=n+1;break}}else a===-1&&(s=false,a=n+1),o>=0&&(u===e.charCodeAt(o)?--o===-1&&(i=n):(o=-1,i=a));}return t===i?i=a:i===-1&&(i=r.length),r.slice(t,i)}for(n=r.length-1;n>=0;--n)if(r.charCodeAt(n)===47){if(!s){t=n+1;break}}else i===-1&&(s=false,i=n+1);return i===-1?"":r.slice(t,i)},extname(r){Ur(r),r=cc(this.toPosix(r));let e=-1,t=0,i=-1,s=true,n=0;for(let o=r.length-1;o>=0;--o){let a=r.charCodeAt(o);if(a===47){if(!s){t=o+1;break}continue}i===-1&&(s=false,i=o+1),a===46?e===-1?e=o:n!==1&&(n=1):e!==-1&&(n=-1);}return e===-1||i===-1||n===0||n===1&&e===i-1&&e===t+1?"":r.slice(e,i)},parse(r){Ur(r);let e={root:"",dir:"",base:"",ext:"",name:""};if(r.length===0)return e;r=cc(this.toPosix(r));let t=r.charCodeAt(0),i=this.isAbsolute(r),s;e.root=this.rootname(r),i||this.hasProtocol(r)?s=1:s=0;let o=-1,a=0,u=-1,l=true,c=r.length-1,h=0;for(;c>=s;--c){if(t=r.charCodeAt(c),t===47){if(!l){a=c+1;break}continue}u===-1&&(l=false,u=c+1),t===46?o===-1?o=c:h!==1&&(h=1):o!==-1&&(h=-1);}return o===-1||u===-1||h===0||h===1&&o===u-1&&o===a+1?u!==-1&&(a===0&&i?e.base=e.name=r.slice(1,u):e.base=e.name=r.slice(a,u)):(a===0&&i?(e.name=r.slice(1,o),e.base=r.slice(1,u)):(e.name=r.slice(a,o),e.base=r.slice(a,u)),e.ext=r.slice(o,u)),e.dir=this.dirname(r),e},sep:"/",delimiter:":",joinExtensions:[".html"]};});var wt,Oa=f(()=>{wt=(r,e,t=false)=>(Array.isArray(r)||(r=[r]),e?r.map(i=>typeof i=="string"||t?e(i):i):r);});function $A(r,e,t,i,s){let n=e[t];for(let o=0;o<n.length;o++){let a=n[o];t<e.length-1?$A(r.replace(i[t],a),e,t+1,i,s):s.push(r.replace(i[t],a));}}function Hf(r){let e=/\{(.*?)\}/g,t=r.match(e),i=[];if(t){let s=[];t.forEach(n=>{let o=n.substring(1,n.length-1).split(",");s.push(o);}),$A(r,s,0,t,i);}else i.push(r);return i}var py=f(()=>{});var Oi,hc=f(()=>{Oi=r=>!Array.isArray(r);});function my(r){return r.split(".").pop().split("?").shift().split("#").shift()}var Pt,gs=f(()=>{ge();ms();Oa();py();hc();Pt=class{constructor(){this._defaultBundleIdentifierOptions={connector:"-",createBundleAssetId:(e,t)=>`${e}${this._bundleIdConnector}${t}`,extractAssetIdFromBundle:(e,t)=>t.replace(`${e}${this._bundleIdConnector}`,"")},this._bundleIdConnector=this._defaultBundleIdentifierOptions.connector,this._createBundleAssetId=this._defaultBundleIdentifierOptions.createBundleAssetId,this._extractAssetIdFromBundle=this._defaultBundleIdentifierOptions.extractAssetIdFromBundle,this._assetMap={},this._preferredOrder=[],this._parsers=[],this._resolverHash={},this._bundles={};}setBundleIdentifier(e){if(this._bundleIdConnector=e.connector??this._bundleIdConnector,this._createBundleAssetId=e.createBundleAssetId??this._createBundleAssetId,this._extractAssetIdFromBundle=e.extractAssetIdFromBundle??this._extractAssetIdFromBundle,this._extractAssetIdFromBundle("foo",this._createBundleAssetId("foo","bar"))!=="bar")throw new Error("[Resolver] GenerateBundleAssetId are not working correctly")}prefer(...e){e.forEach(t=>{this._preferredOrder.push(t),t.priority||(t.priority=Object.keys(t.params));}),this._resolverHash={};}set basePath(e){this._basePath=e;}get basePath(){return this._basePath}set rootPath(e){this._rootPath=e;}get rootPath(){return this._rootPath}get parsers(){return this._parsers}reset(){this.setBundleIdentifier(this._defaultBundleIdentifierOptions),this._assetMap={},this._preferredOrder=[],this._resolverHash={},this._rootPath=null,this._basePath=null,this._manifest=null,this._bundles={},this._defaultSearchParams=null;}setDefaultSearchParams(e){if(typeof e=="string")this._defaultSearchParams=e;else {let t=e;this._defaultSearchParams=Object.keys(t).map(i=>`${encodeURIComponent(i)}=${encodeURIComponent(t[i])}`).join("&");}}getAlias(e){let{alias:t,src:i}=e;return wt(t||i,n=>typeof n=="string"?n:Array.isArray(n)?n.map(o=>o?.src??o):n?.src?n.src:n,true)}addManifest(e){this._manifest&&k("[Resolver] Manifest already exists, this will be overwritten"),this._manifest=e,e.bundles.forEach(t=>{this.addBundle(t.name,t.assets);});}addBundle(e,t){let i=[],s=t;Array.isArray(t)||(s=Object.entries(t).map(([n,o])=>typeof o=="string"||Array.isArray(o)?{alias:n,src:o}:{alias:n,...o})),s.forEach(n=>{let o=n.src,a=n.alias,u;if(typeof a=="string"){let l=this._createBundleAssetId(e,a);i.push(l),u=[a,l];}else {let l=a.map(c=>this._createBundleAssetId(e,c));i.push(...l),u=[...a,...l];}this.add({...n,alias:u,src:o});}),this._bundles[e]=i;}add(e){let t=[];Array.isArray(e)?t.push(...e):t.push(e);let i;i=n=>{this.hasKey(n)&&k(`[Resolver] already has key: ${n} overwriting`);},wt(t).forEach(n=>{let{src:o}=n,{data:a,format:u,loadParser:l}=n,c=wt(o).map(p=>typeof p=="string"?Hf(p):Array.isArray(p)?p:[p]),h=this.getAlias(n);Array.isArray(h)?h.forEach(i):i(h);let d=[];c.forEach(p=>{p.forEach(_=>{let b={};if(typeof _!="object"){b.src=_;for(let g=0;g<this._parsers.length;g++){let m=this._parsers[g];if(m.test(_)){b=m.parse(_);break}}}else a=_.data??a,u=_.format??u,l=_.loadParser??l,b={...b,..._};if(!h)throw new Error(`[Resolver] alias is undefined for this asset: ${b.src}`);b=this._buildResolvedAsset(b,{aliases:h,data:a,format:u,loadParser:l}),d.push(b);});}),h.forEach(p=>{this._assetMap[p]=d;});});}resolveBundle(e){let t=Oi(e);e=wt(e);let i={};return e.forEach(s=>{let n=this._bundles[s];if(n){let o=this.resolve(n),a={};for(let u in o){let l=o[u];a[this._extractAssetIdFromBundle(s,u)]=l;}i[s]=a;}}),t?i[e[0]]:i}resolveUrl(e){let t=this.resolve(e);if(typeof e!="string"){let i={};for(let s in t)i[s]=t[s].src;return i}return t.src}resolve(e){let t=Oi(e);e=wt(e);let i={};return e.forEach(s=>{if(!this._resolverHash[s])if(this._assetMap[s]){let n=this._assetMap[s],o=this._getPreferredOrder(n);o?.priority.forEach(a=>{o.params[a].forEach(u=>{let l=n.filter(c=>c[a]?c[a]===u:false);l.length&&(n=l);});}),this._resolverHash[s]=n[0];}else this._resolverHash[s]=this._buildResolvedAsset({alias:[s],src:s},{});i[s]=this._resolverHash[s];}),t?i[e[0]]:i}hasKey(e){return !!this._assetMap[e]}hasBundle(e){return !!this._bundles[e]}_getPreferredOrder(e){for(let t=0;t<e.length;t++){let i=e[t],s=this._preferredOrder.find(n=>n.params.format.includes(i.format));if(s)return s}return this._preferredOrder[0]}_appendDefaultSearchParams(e){if(!this._defaultSearchParams)return e;let t=/\?/.test(e)?"&":"?";return `${e}${t}${this._defaultSearchParams}`}_buildResolvedAsset(e,t){let{aliases:i,data:s,loadParser:n,format:o}=t;return (this._basePath||this._rootPath)&&(e.src=De.toAbsolute(e.src,this._basePath,this._rootPath)),e.alias=i??e.alias??[e.src],e.src=this._appendDefaultSearchParams(e.src),e.data={...s||{},...e.data},e.loadParser=n??e.loadParser,e.format=o??e.format??my(e.src),e}};Pt.RETINA_PREFIX=/@([0-9\.]+)x/;});var On,Vf=f(()=>{On=(r,e)=>{let t=e.split("?")[1];return t&&(r+=`?${t}`),r};});var qA,fc,gy=f(()=>{Je();dt();he();qA=class dc{constructor(e,t){this.linkedSheets=[];let i=e;e?.source instanceof oe&&(i={texture:e,data:t});let{texture:s,data:n,cachePrefix:o=""}=i;this.cachePrefix=o,this._texture=s instanceof C?s:null,this.textureSource=s.source,this.textures={},this.animations={},this.data=n;let a=parseFloat(n.meta.scale);a?(this.resolution=a,s.source.resolution=this.resolution):this.resolution=s.source._resolution,this._frames=this.data.frames,this._frameKeys=Object.keys(this._frames),this._batchIndex=0,this._callback=null;}parse(){return new Promise(e=>{this._callback=e,this._batchIndex=0,this._frameKeys.length<=dc.BATCH_SIZE?(this._processFrames(0),this._processAnimations(),this._parseComplete()):this._nextBatch();})}_processFrames(e){let t=e,i=dc.BATCH_SIZE;for(;t-e<i&&t<this._frameKeys.length;){let s=this._frameKeys[t],n=this._frames[s],o=n.frame;if(o){let a=null,u=null,l=n.trimmed!==false&&n.sourceSize?n.sourceSize:n.frame,c=new Q(0,0,Math.floor(l.w)/this.resolution,Math.floor(l.h)/this.resolution);n.rotated?a=new Q(Math.floor(o.x)/this.resolution,Math.floor(o.y)/this.resolution,Math.floor(o.h)/this.resolution,Math.floor(o.w)/this.resolution):a=new Q(Math.floor(o.x)/this.resolution,Math.floor(o.y)/this.resolution,Math.floor(o.w)/this.resolution,Math.floor(o.h)/this.resolution),n.trimmed!==false&&n.spriteSourceSize&&(u=new Q(Math.floor(n.spriteSourceSize.x)/this.resolution,Math.floor(n.spriteSourceSize.y)/this.resolution,Math.floor(o.w)/this.resolution,Math.floor(o.h)/this.resolution)),this.textures[s]=new C({source:this.textureSource,frame:a,orig:c,trim:u,rotate:n.rotated?2:0,defaultAnchor:n.anchor,defaultBorders:n.borders,label:s.toString()});}t++;}}_processAnimations(){let e=this.data.animations||{};for(let t in e){this.animations[t]=[];for(let i=0;i<e[t].length;i++){let s=e[t][i];this.animations[t].push(this.textures[s]);}}}_parseComplete(){let e=this._callback;this._callback=null,this._batchIndex=0,e.call(this,this.textures);}_nextBatch(){this._processFrames(this._batchIndex*dc.BATCH_SIZE),this._batchIndex++,setTimeout(()=>{this._batchIndex*dc.BATCH_SIZE<this._frameKeys.length?this._nextBatch():(this._processAnimations(),this._parseComplete());},0);}destroy(e=false){for(let t in this.textures)this.textures[t].destroy();this._frames=null,this._frameKeys=null,this.data=null,this.textures=null,e&&(this._texture?.destroy(),this.textureSource.destroy()),this._texture=null,this.textureSource=null,this.linkedSheets=[];}};qA.BATCH_SIZE=1e3;fc=qA;});function jA(r,e,t){let i={};if(r.forEach(s=>{i[s]=e;}),Object.keys(e.textures).forEach(s=>{i[`${e.cachePrefix}${s}`]=e.textures[s];}),!t){let s=De.dirname(r[0]);e.linkedSheets.forEach((n,o)=>{let a=jA([`${s}/${e.data.meta.related_multi_packs[o]}`],n,true);Object.assign(i,a);});}return i}var tD,zf,xy=f(()=>{ur();gs();Vf();E();he();ms();gy();tD=["jpg","png","jpeg","avif","webp","basis","etc2","bc7","bc6h","bc5","bc4","bc3","bc2","bc1","eac","astc"];zf={extension:x.Asset,cache:{test:r=>r instanceof fc,getCacheableAssets:(r,e)=>jA(r,e,false)},resolver:{extension:{type:x.ResolveParser,name:"resolveSpritesheet"},test:r=>{let t=r.split("?")[0].split("."),i=t.pop(),s=t.pop();return i==="json"&&tD.includes(s)},parse:r=>{let e=r.split(".");return {resolution:parseFloat(Pt.RETINA_PREFIX.exec(r)?.[1]??"1"),format:e[e.length-2],src:r}}},loader:{name:"spritesheetLoader",extension:{type:x.LoadParser,priority:Me.Normal,name:"spritesheetLoader"},async testParse(r,e){return De.extname(e.src).toLowerCase()===".json"&&!!r.frames},async parse(r,e,t){let{texture:i,imageFilename:s,textureOptions:n,cachePrefix:o}=e?.data??{},a=De.dirname(e.src);a&&a.lastIndexOf("/")!==a.length-1&&(a+="/");let u;if(i instanceof C)u=i;else {let h=On(a+(s??r.meta.image),e.src);u=(await t.load([{src:h,data:n}]))[h];}let l=new fc({texture:u.source,data:r,cachePrefix:o});await l.parse();let c=r?.meta?.related_multi_packs;if(Array.isArray(c)){let h=[];for(let p of c){if(typeof p!="string")continue;let _=a+p;e.data?.ignoreMultiPack||(_=On(_,e.src),h.push(t.load({src:_,data:{textureOptions:n,ignoreMultiPack:true}})));}let d=await Promise.all(h);l.linkedSheets=d,d.forEach(p=>{p.linkedSheets=[l].concat(l.linkedSheets.filter(_=>_!==p));});}return l},async unload(r,e,t){await t.unload(r.textureSource._sourceOrigin),r.destroy(false);}}};});var Wf=f(()=>{E();xy();O.add(zf);});function Ga(r,e,t){let{width:i,height:s}=t.orig,n=t.trim;if(n){let o=n.width,a=n.height;r.minX=n.x-e._x*i,r.maxX=r.minX+o,r.minY=n.y-e._y*s,r.maxY=r.minY+a;}else r.minX=-e._x*i,r.maxX=r.minX+i,r.minY=-e._y*s,r.maxY=r.minY+s;}var Xf=f(()=>{});var Ae,xs=f(()=>{ns();he();Xf();me();Gr();Ae=class r extends Ze{constructor(e=C.EMPTY){e instanceof C&&(e={texture:e});let{texture:t=C.EMPTY,anchor:i,roundPixels:s,width:n,height:o,...a}=e;super({label:"Sprite",...a}),this.renderPipeId="sprite",this.batched=true,this._visualBounds={minX:0,maxX:1,minY:0,maxY:0},this._anchor=new be({_onUpdate:()=>{this.onViewUpdate();}}),i?this.anchor=i:t.defaultAnchor&&(this.anchor=t.defaultAnchor),this.texture=t,this.allowChildren=false,this.roundPixels=s??false,n!==void 0&&(this.width=n),o!==void 0&&(this.height=o);}static from(e,t=false){return e instanceof C?new r(e):new r(C.from(e,t))}set texture(e){e||(e=C.EMPTY);let t=this._texture;t!==e&&(t&&t.dynamic&&t.off("update",this.onViewUpdate,this),e.dynamic&&e.on("update",this.onViewUpdate,this),this._texture=e,this._width&&this._setWidth(this._width,this._texture.orig.width),this._height&&this._setHeight(this._height,this._texture.orig.height),this.onViewUpdate());}get texture(){return this._texture}get visualBounds(){return Ga(this._visualBounds,this._anchor,this._texture),this._visualBounds}get sourceBounds(){return I("8.6.1","Sprite.sourceBounds is deprecated, use visualBounds instead."),this.visualBounds}updateBounds(){let e=this._anchor,t=this._texture,i=this._bounds,{width:s,height:n}=t.orig;i.minX=-e._x*s,i.maxX=i.minX+s,i.minY=-e._y*n,i.maxY=i.minY+n;}destroy(e=false){if(super.destroy(e),typeof e=="boolean"?e:e?.texture){let i=typeof e=="boolean"?e:e?.textureSource;this._texture.destroy(i);}this._texture=null,this._visualBounds=null,this._bounds=null,this._anchor=null,this._gpuData=null;}get anchor(){return this._anchor}set anchor(e){typeof e=="number"?this._anchor.set(e):this._anchor.copyFrom(e);}get width(){return Math.abs(this.scale.x)*this._texture.orig.width}set width(e){this._setWidth(e,this._texture.orig.width),this._width=e;}get height(){return Math.abs(this.scale.y)*this._texture.orig.height}set height(e){this._setHeight(e,this._texture.orig.height),this._height=e;}getSize(e){return e||(e={}),e.width=Math.abs(this.scale.x)*this._texture.orig.width,e.height=Math.abs(this.scale.y)*this._texture.orig.height,e}setSize(e,t){typeof e=="object"?(t=e.height??e.width,e=e.width):t??(t=e),e!==void 0&&this._setWidth(e,this._texture.orig.width),t!==void 0&&this._setHeight(t,this._texture.orig.height);}};});function _s(r,e,t){let i=rD;r.measurable=true,ni(r,t,i),e.addBoundsMask(i),r.measurable=false;}var rD,pc=f(()=>{Et();An();rD=new xe;});function bs(r,e,t){let i=Ht.get();r.measurable=true;let s=Ke.get().identity(),n=KA(r,t,s);us(r,i,n),r.measurable=false,e.addBoundsMask(i),Ke.return(s),Ht.return(i);}function KA(r,e,t){return r?(r!==e&&(KA(r.parent,e,t),r.updateLocalTransform(),t.append(r.localTransform)),t):(k("Mask bounds, renderable is not inside the root container"),t)}var mc=f(()=>{tc();os();ge();});var Gn,_y=f(()=>{E();xs();pc();mc();Gn=class{constructor(e){this.priority=0,this.inverse=false,this.pipe="alphaMask",e?.mask&&this.init(e.mask);}init(e){this.mask=e,this.renderMaskToTexture=!(e instanceof Ae),this.mask.renderable=this.renderMaskToTexture,this.mask.includeInBuild=!this.renderMaskToTexture,this.mask.measurable=false;}reset(){this.mask.measurable=true,this.mask=null;}addBounds(e,t){this.inverse||_s(this.mask,e,t);}addLocalBounds(e,t){bs(this.mask,e,t);}containsPoint(e,t){let i=this.mask;return t(i,e)}destroy(){this.reset();}static test(e){return e instanceof Ae}};Gn.extension=x.MaskEffect;});var Un,by=f(()=>{E();Un=class{constructor(e){this.priority=0,this.pipe="colorMask",e?.mask&&this.init(e.mask);}init(e){this.mask=e;}destroy(){}static test(e){return typeof e=="number"}};Un.extension=x.MaskEffect;});var Ln,yy=f(()=>{E();At();pc();mc();Ln=class{constructor(e){this.priority=0,this.pipe="stencilMask",e?.mask&&this.init(e.mask);}init(e){this.mask=e,this.mask.includeInBuild=false,this.mask.measurable=false;}reset(){this.mask.measurable=true,this.mask.includeInBuild=true,this.mask=null;}addBounds(e,t){_s(this.mask,e,t);}addLocalBounds(e,t){bs(this.mask,e,t);}containsPoint(e,t){let i=this.mask;return t(i,e)}destroy(){this.reset();}static test(e){return e instanceof q}};Ln.extension=x.MaskEffect;});var ft,Nn=f(()=>{Ee();E();dt();ft=class extends oe{constructor(e){e.resource||(e.resource=z.get().createCanvas()),e.width||(e.width=e.resource.width,e.autoDensity||(e.width/=e.resolution)),e.height||(e.height=e.resource.height,e.autoDensity||(e.height/=e.resolution)),super(e),this.uploadMethodId="image",this.autoDensity=e.autoDensity,this.resizeCanvas(),this.transparent=!!e.transparent;}resizeCanvas(){this.autoDensity&&"style"in this.resource&&(this.resource.style.width=`${this.width}px`,this.resource.style.height=`${this.height}px`),(this.resource.width!==this.pixelWidth||this.resource.height!==this.pixelHeight)&&(this.resource.width=this.pixelWidth,this.resource.height=this.pixelHeight);}resize(e=this.width,t=this.height,i=this._resolution){let s=super.resize(e,t,i);return s&&this.resizeCanvas(),s}static test(e){return globalThis.HTMLCanvasElement&&e instanceof HTMLCanvasElement||globalThis.OffscreenCanvas&&e instanceof OffscreenCanvas}get context2D(){return this._context2D||(this._context2D=this.resource.getContext("2d"))}};ft.extension=x.TextureSource;});var Mt,Hn=f(()=>{E();dt();Mt=class extends oe{constructor(e){super(e),this.uploadMethodId="image",this.autoGarbageCollect=true;}static test(e){return globalThis.HTMLImageElement&&e instanceof HTMLImageElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap||globalThis.VideoFrame&&e instanceof VideoFrame}};Mt.extension=x.TextureSource;});async function Ua(){return vy??(vy=(async()=>{let e=document.createElement("canvas").getContext("webgl");if(!e)return "premultiply-alpha-on-upload";let t=await new Promise(o=>{let a=document.createElement("video");a.onloadeddata=()=>o(a),a.onerror=()=>o(null),a.autoplay=false,a.crossOrigin="anonymous",a.preload="auto",a.src="data:video/webm;base64,GkXfo59ChoEBQveBAULygQRC84EIQoKEd2VibUKHgQJChYECGFOAZwEAAAAAAAHTEU2bdLpNu4tTq4QVSalmU6yBoU27i1OrhBZUrmtTrIHGTbuMU6uEElTDZ1OsggEXTbuMU6uEHFO7a1OsggG97AEAAAAAAABZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmoCrXsYMPQkBNgIRMYXZmV0GETGF2ZkSJiEBEAAAAAAAAFlSua8yuAQAAAAAAAEPXgQFzxYgAAAAAAAAAAZyBACK1nIN1bmSIgQCGhVZfVlA5g4EBI+ODhAJiWgDglLCBArqBApqBAlPAgQFVsIRVuYEBElTDZ9Vzc9JjwItjxYgAAAAAAAAAAWfInEWjh0VOQ09ERVJEh49MYXZjIGxpYnZweC12cDlnyKJFo4hEVVJBVElPTkSHlDAwOjAwOjAwLjA0MDAwMDAwMAAAH0O2dcfngQCgwqGggQAAAIJJg0IAABAAFgA4JBwYSgAAICAAEb///4r+AAB1oZ2mm+6BAaWWgkmDQgAAEAAWADgkHBhKAAAgIABIQBxTu2uRu4+zgQC3iveBAfGCAXHwgQM=",a.load();});if(!t)return "premultiply-alpha-on-upload";let i=e.createTexture();e.bindTexture(e.TEXTURE_2D,i);let s=e.createFramebuffer();e.bindFramebuffer(e.FRAMEBUFFER,s),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,i,0),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,false),e.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL,e.NONE),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,t);let n=new Uint8Array(4);return e.readPixels(0,0,1,1,e.RGBA,e.UNSIGNED_BYTE,n),e.deleteFramebuffer(s),e.deleteTexture(i),e.getExtension("WEBGL_lose_context")?.loseContext(),n[0]<=n[3]?"premultiplied-alpha":"premultiply-alpha-on-upload"})()),vy}var vy,Yf=f(()=>{});var $f,ys,qf=f(()=>{E();ps();Yf();dt();$f=class ZA extends oe{constructor(e){super(e),this.isReady=false,this.uploadMethodId="video",e={...ZA.defaultOptions,...e},this._autoUpdate=true,this._isConnectedToTicker=false,this._updateFPS=e.updateFPS||0,this._msToNextUpdate=0,this.autoPlay=e.autoPlay!==false,this.alphaMode=e.alphaMode??"premultiply-alpha-on-upload",this._videoFrameRequestCallback=this._videoFrameRequestCallback.bind(this),this._videoFrameRequestCallbackHandle=null,this._load=null,this._resolve=null,this._reject=null,this._onCanPlay=this._onCanPlay.bind(this),this._onCanPlayThrough=this._onCanPlayThrough.bind(this),this._onError=this._onError.bind(this),this._onPlayStart=this._onPlayStart.bind(this),this._onPlayStop=this._onPlayStop.bind(this),this._onSeeked=this._onSeeked.bind(this),e.autoLoad!==false&&this.load();}updateFrame(){if(!this.destroyed){if(this._updateFPS){let e=ve.shared.elapsedMS*this.resource.playbackRate;this._msToNextUpdate=Math.floor(this._msToNextUpdate-e);}(!this._updateFPS||this._msToNextUpdate<=0)&&(this._msToNextUpdate=this._updateFPS?Math.floor(1e3/this._updateFPS):0),this.isValid&&this.update();}}_videoFrameRequestCallback(){this.updateFrame(),this.destroyed?this._videoFrameRequestCallbackHandle=null:this._videoFrameRequestCallbackHandle=this.resource.requestVideoFrameCallback(this._videoFrameRequestCallback);}get isValid(){return !!this.resource.videoWidth&&!!this.resource.videoHeight}async load(){if(this._load)return this._load;let e=this.resource,t=this.options;return (e.readyState===e.HAVE_ENOUGH_DATA||e.readyState===e.HAVE_FUTURE_DATA)&&e.width&&e.height&&(e.complete=true),e.addEventListener("play",this._onPlayStart),e.addEventListener("pause",this._onPlayStop),e.addEventListener("seeked",this._onSeeked),this._isSourceReady()?this._mediaReady():(t.preload||e.addEventListener("canplay",this._onCanPlay),e.addEventListener("canplaythrough",this._onCanPlayThrough),e.addEventListener("error",this._onError,true)),this.alphaMode=await Ua(),this._load=new Promise((i,s)=>{this.isValid?i(this):(this._resolve=i,this._reject=s,t.preloadTimeoutMs!==void 0&&(this._preloadTimeout=setTimeout(()=>{this._onError(new ErrorEvent(`Preload exceeded timeout of ${t.preloadTimeoutMs}ms`));})),e.load());}),this._load}_onError(e){this.resource.removeEventListener("error",this._onError,true),this.emit("error",e),this._reject&&(this._reject(e),this._reject=null,this._resolve=null);}_isSourcePlaying(){let e=this.resource;return !e.paused&&!e.ended}_isSourceReady(){return this.resource.readyState>2}_onPlayStart(){this.isValid||this._mediaReady(),this._configureAutoUpdate();}_onPlayStop(){this._configureAutoUpdate();}_onSeeked(){this._autoUpdate&&!this._isSourcePlaying()&&(this._msToNextUpdate=0,this.updateFrame(),this._msToNextUpdate=0);}_onCanPlay(){this.resource.removeEventListener("canplay",this._onCanPlay),this._mediaReady();}_onCanPlayThrough(){this.resource.removeEventListener("canplaythrough",this._onCanPlay),this._preloadTimeout&&(clearTimeout(this._preloadTimeout),this._preloadTimeout=void 0),this._mediaReady();}_mediaReady(){let e=this.resource;this.isValid&&(this.isReady=true,this.resize(e.videoWidth,e.videoHeight)),this._msToNextUpdate=0,this.updateFrame(),this._msToNextUpdate=0,this._resolve&&(this._resolve(this),this._resolve=null,this._reject=null),this._isSourcePlaying()?this._onPlayStart():this.autoPlay&&this.resource.play();}destroy(){this._configureAutoUpdate();let e=this.resource;e&&(e.removeEventListener("play",this._onPlayStart),e.removeEventListener("pause",this._onPlayStop),e.removeEventListener("seeked",this._onSeeked),e.removeEventListener("canplay",this._onCanPlay),e.removeEventListener("canplaythrough",this._onCanPlayThrough),e.removeEventListener("error",this._onError,true),e.pause(),e.src="",e.load()),super.destroy();}get autoUpdate(){return this._autoUpdate}set autoUpdate(e){e!==this._autoUpdate&&(this._autoUpdate=e,this._configureAutoUpdate());}get updateFPS(){return this._updateFPS}set updateFPS(e){e!==this._updateFPS&&(this._updateFPS=e,this._configureAutoUpdate());}_configureAutoUpdate(){this._autoUpdate&&this._isSourcePlaying()?!this._updateFPS&&this.resource.requestVideoFrameCallback?(this._isConnectedToTicker&&(ve.shared.remove(this.updateFrame,this),this._isConnectedToTicker=false,this._msToNextUpdate=0),this._videoFrameRequestCallbackHandle===null&&(this._videoFrameRequestCallbackHandle=this.resource.requestVideoFrameCallback(this._videoFrameRequestCallback))):(this._videoFrameRequestCallbackHandle!==null&&(this.resource.cancelVideoFrameCallback(this._videoFrameRequestCallbackHandle),this._videoFrameRequestCallbackHandle=null),this._isConnectedToTicker||(ve.shared.add(this.updateFrame,this),this._isConnectedToTicker=true,this._msToNextUpdate=0)):(this._videoFrameRequestCallbackHandle!==null&&(this.resource.cancelVideoFrameCallback(this._videoFrameRequestCallbackHandle),this._videoFrameRequestCallbackHandle=null),this._isConnectedToTicker&&(ve.shared.remove(this.updateFrame,this),this._isConnectedToTicker=false,this._msToNextUpdate=0));}static test(e){return globalThis.HTMLVideoElement&&e instanceof HTMLVideoElement}};$f.extension=x.TextureSource;$f.defaultOptions={...oe.defaultOptions,autoLoad:true,autoPlay:true,updateFPS:0,crossorigin:true,loop:false,muted:true,playsinline:true,preload:false};$f.MIME_TYPES={ogv:"video/ogg",mov:"video/quicktime",m4v:"video/mp4"};ys=$f;});var Ty,de,ai=f(()=>{ge();Oa();Ty=class{constructor(){this._parsers=[],this._cache=new Map,this._cacheMap=new Map;}reset(){this._cacheMap.clear(),this._cache.clear();}has(e){return this._cache.has(e)}get(e){let t=this._cache.get(e);return t||k(`[Assets] Asset id ${e} was not found in the Cache`),t}set(e,t){let i=wt(e),s;for(let u=0;u<this.parsers.length;u++){let l=this.parsers[u];if(l.test(t)){s=l.getCacheableAssets(i,t);break}}let n=new Map(Object.entries(s||{}));s||i.forEach(u=>{n.set(u,t);});let o=[...n.keys()],a={cacheKeys:o,keys:i};i.forEach(u=>{this._cacheMap.set(u,a);}),o.forEach(u=>{let l=s?s[u]:t;this._cache.has(u)&&this._cache.get(u)!==l&&k("[Cache] already has key:",u),this._cache.set(u,n.get(u));});}remove(e){if(!this._cacheMap.has(e)){k(`[Assets] Asset id ${e} was not found in the Cache`);return}let t=this._cacheMap.get(e);t.cacheKeys.forEach(s=>{this._cache.delete(s);}),t.keys.forEach(s=>{this._cacheMap.delete(s);});}get parsers(){return this._parsers}},de=new Ty;});function QA(r={}){return Ey(r)}function Ey(r={}){let e=r&&r.resource,t=e?r.resource:r,i=e?r:{resource:r};for(let s=0;s<Sy.length;s++){let n=Sy[s];if(n.test(t))return new n(i)}throw new Error(`Could not find a source type for resource: ${i.resource}`)}function Ay(r={},e=false){let t=r&&r.resource,i=t?r.resource:r,s=t?r:{resource:r};if(!e&&de.has(i))return de.get(i);let n=new C({source:Ey(s)});return n.on("destroy",()=>{de.has(i)&&de.remove(i);}),e||de.set(i,n),n}function Cy(r,e=false){return typeof r=="string"?de.get(r):r instanceof oe?new C({source:r}):Ay(r,e)}var Sy,wy=f(()=>{ai();E();dt();he();Sy=[];O.handleByList(x.TextureSource,Sy);C.from=Cy;oe.from=Ey;});var jf=f(()=>{E();_y();by();yy();Ef();Nn();Hn();qf();wy();O.add(Gn,Un,Ln,ys,Mt,ft,ki);});var at,Gi=f(()=>{at=class{constructor(e){this.resources=Object.create(null),this._dirty=true;let t=0;for(let i in e){let s=e[i];this.setResource(s,t++);}this._updateKey();}_updateKey(){if(!this._dirty)return;this._dirty=false;let e=[],t=0;for(let i in this.resources)e[t++]=this.resources[i]._resourceId;this._key=e.join("|");}setResource(e,t){let i=this.resources[t];e!==i&&(i&&e.off?.("change",this.onResourceChange,this),e.on?.("change",this.onResourceChange,this),this.resources[t]=e,this._dirty=true);}getResource(e){return this.resources[e]}_touch(e){let t=this.resources;for(let i in t)t[i]._touched=e;}destroy(){let e=this.resources;for(let t in e)e[t].off?.("change",this.onResourceChange,this);this.resources=null;}onResourceChange(e){if(this._dirty=true,e.destroyed){let t=this.resources;for(let i in t)t[i]===e&&(t[i]=null);}else this._updateKey();}};});function vs(r,e,t){let i=2166136261;for(let s=0;s<e;s++)i^=r[s].uid,i=Math.imul(i,16777619),i>>>=0;return JA[i]||iD(r,e,i,t)}function iD(r,e,t,i){let s={},n=0;for(let a=0;a<i;a++){let u=a<e?r[a]:C.EMPTY.source;s[n++]=u.source,s[n++]=u.style;}let o=new at(s);return JA[t]=o,o}var JA,gc=f(()=>{Gi();he();JA={};});var vr,Kf=f(()=>{vr=class{constructor(e){typeof e=="number"?this.rawBinaryData=new ArrayBuffer(e):e instanceof Uint8Array?this.rawBinaryData=e.buffer:this.rawBinaryData=e,this.uint32View=new Uint32Array(this.rawBinaryData),this.float32View=new Float32Array(this.rawBinaryData),this.size=this.rawBinaryData.byteLength;}get int8View(){return this._int8View||(this._int8View=new Int8Array(this.rawBinaryData)),this._int8View}get uint8View(){return this._uint8View||(this._uint8View=new Uint8Array(this.rawBinaryData)),this._uint8View}get int16View(){return this._int16View||(this._int16View=new Int16Array(this.rawBinaryData)),this._int16View}get int32View(){return this._int32View||(this._int32View=new Int32Array(this.rawBinaryData)),this._int32View}get float64View(){return this._float64Array||(this._float64Array=new Float64Array(this.rawBinaryData)),this._float64Array}get bigUint64View(){return this._bigUint64Array||(this._bigUint64Array=new BigUint64Array(this.rawBinaryData)),this._bigUint64Array}view(e){return this[`${e}View`]}destroy(){this.rawBinaryData=null,this._int8View=null,this._uint8View=null,this._int16View=null,this.uint16View=null,this._int32View=null,this.uint32View=null,this.float32View=null;}static sizeOf(e){switch(e){case "int8":case "uint8":return 1;case "int16":case "uint16":return 2;case "int32":case "uint32":case "float32":return 4;default:throw new Error(`${e} isn't a valid view type`)}}};});function Vn(r,e){let t=r.byteLength/8|0,i=new Float64Array(r,0,t);new Float64Array(e,0,t).set(i);let n=r.byteLength-t*8;if(n>0){let o=new Uint8Array(r,t*8,n);new Uint8Array(e,t*8,n).set(o);}}var Zf=f(()=>{});var Qf,Be,Ts=f(()=>{Qf={normal:"normal-npm",add:"add-npm",screen:"screen-npm"},Be=(r=>(r[r.DISABLED=0]="DISABLED",r[r.RENDERING_MASK_ADD=1]="RENDERING_MASK_ADD",r[r.MASK_ACTIVE=2]="MASK_ACTIVE",r[r.INVERSE_MASK_ACTIVE=3]="INVERSE_MASK_ACTIVE",r[r.RENDERING_MASK_REMOVE=4]="RENDERING_MASK_REMOVE",r[r.NONE=5]="NONE",r))(Be||{});});function Lr(r,e){return e.alphaMode==="no-premultiply-alpha"&&Qf[r]||r}var La=f(()=>{Ts();});function Na(){return (!Jf||Jf?.isContextLost())&&(Jf=z.get().createCanvas().getContext("webgl",{})),Jf}var Jf,ep=f(()=>{Ee();});function nD(r){let e="";for(let t=0;t<r;++t)t>0&&(e+=`
|
|
20
20
|
else `),t<r-1&&(e+=`if(test == ${t}.0){}`);return e}function Ha(r,e){if(r===0)throw new Error("Invalid value of `0` passed to `checkMaxIfStatementsInShader`");let t=e.createShader(e.FRAGMENT_SHADER);try{for(;;){let i=sD.replace(/%forloop%/gi,nD(r));if(e.shaderSource(t,i),e.compileShader(t),!e.getShaderParameter(t,e.COMPILE_STATUS))r=r/2|0;else break}}finally{e.deleteShader(t);}return r}var sD,tp=f(()=>{sD=["precision mediump float;","void main(void){","float test = 0.1;","%forloop%","gl_FragColor = vec4(0.0);","}"].join(`
|
|
21
|
-
`);});function rp(){if(Va)return Va;let r=Na();return Va=r.getParameter(r.MAX_TEXTURE_IMAGE_UNITS),Va=Ha(Va,r),r.getExtension("WEBGL_lose_context")?.loseContext(),Va}var Va,Py=f(()=>{ep();tp();Va=null;});var za,By=f(()=>{za=class{constructor(){this.ids=Object.create(null),this.textures=[],this.count=0;}clear(){for(let e=0;e<this.count;e++){let t=this.textures[e];this.textures[e]=null,this.ids[t.uid]=null;}this.count=0;}};});function eC(){return Ry>0?rC[--Ry]:new _c}function tC(r){rC[Ry++]=r;}var _c,rC,Ry,xc,iC,ip,My=f(()=>{ht();Kf();me();Zf();La();Py();By();_c=class{constructor(){this.renderPipeId="batch",this.action="startBatch",this.start=0,this.size=0,this.textures=new za,this.blendMode="normal",this.topology="triangle-strip",this.canBundle=true;}destroy(){this.textures=null,this.gpuBindGroup=null,this.bindGroup=null,this.batcher=null;}},rC=[],Ry=0;xc=0,iC=class sC{constructor(e){this.uid=re("batcher"),this.dirty=true,this.batchIndex=0,this.batches=[],this._elements=[],e={...sC.defaultOptions,...e},e.maxTextures||(I("v8.8.0","maxTextures is a required option for Batcher now, please pass it in the options"),e.maxTextures=rp());let{maxTextures:t,attributesInitialSize:i,indicesInitialSize:s}=e;this.attributeBuffer=new vr(i*4),this.indexBuffer=new Uint16Array(s),this.maxTextures=t;}begin(){this.elementSize=0,this.elementStart=0,this.indexSize=0,this.attributeSize=0;for(let e=0;e<this.batchIndex;e++)tC(this.batches[e]);this.batchIndex=0,this._batchIndexStart=0,this._batchIndexSize=0,this.dirty=true;}add(e){this._elements[this.elementSize++]=e,e._indexStart=this.indexSize,e._attributeStart=this.attributeSize,e._batcher=this,this.indexSize+=e.indexSize,this.attributeSize+=e.attributeSize*this.vertexSize;}checkAndUpdateTexture(e,t){let i=e._batch.textures.ids[t._source.uid];return !i&&i!==0?false:(e._textureId=i,e.texture=t,true)}updateElement(e){this.dirty=true;let t=this.attributeBuffer;e.packAsQuad?this.packQuadAttributes(e,t.float32View,t.uint32View,e._attributeStart,e._textureId):this.packAttributes(e,t.float32View,t.uint32View,e._attributeStart,e._textureId);}break(e){let t=this._elements;if(!t[this.elementStart])return;let i=eC(),s=i.textures;s.clear();let n=t[this.elementStart],o=Lr(n.blendMode,n.texture._source),a=n.topology;this.attributeSize*4>this.attributeBuffer.size&&this._resizeAttributeBuffer(this.attributeSize*4),this.indexSize>this.indexBuffer.length&&this._resizeIndexBuffer(this.indexSize);let u=this.attributeBuffer.float32View,l=this.attributeBuffer.uint32View,c=this.indexBuffer,h=this._batchIndexSize,d=this._batchIndexStart,p="startBatch",_=this.maxTextures;for(let b=this.elementStart;b<this.elementSize;++b){let g=t[b];t[b]=null;let y=g.texture._source,T=Lr(g.blendMode,y),S=o!==T||a!==g.topology;if(y._batchTick===xc&&!S){g._textureId=y._textureBindLocation,h+=g.indexSize,g.packAsQuad?(this.packQuadAttributes(g,u,l,g._attributeStart,g._textureId),this.packQuadIndex(c,g._indexStart,g._attributeStart/this.vertexSize)):(this.packAttributes(g,u,l,g._attributeStart,g._textureId),this.packIndex(g,c,g._indexStart,g._attributeStart/this.vertexSize)),g._batch=i;continue}y._batchTick=xc,(s.count>=_||S)&&(this._finishBatch(i,d,h-d,s,o,a,e,p),p="renderBatch",d=h,o=T,a=g.topology,i=eC(),s=i.textures,s.clear(),++xc),g._textureId=y._textureBindLocation=s.count,s.ids[y.uid]=s.count,s.textures[s.count++]=y,g._batch=i,h+=g.indexSize,g.packAsQuad?(this.packQuadAttributes(g,u,l,g._attributeStart,g._textureId),this.packQuadIndex(c,g._indexStart,g._attributeStart/this.vertexSize)):(this.packAttributes(g,u,l,g._attributeStart,g._textureId),this.packIndex(g,c,g._indexStart,g._attributeStart/this.vertexSize));}s.count>0&&(this._finishBatch(i,d,h-d,s,o,a,e,p),d=h,++xc),this.elementStart=this.elementSize,this._batchIndexStart=d,this._batchIndexSize=h;}_finishBatch(e,t,i,s,n,o,a,u){e.gpuBindGroup=null,e.bindGroup=null,e.action=u,e.batcher=this,e.textures=s,e.blendMode=n,e.topology=o,e.start=t,e.size=i,++xc,this.batches[this.batchIndex++]=e,a.add(e);}finish(e){this.break(e);}ensureAttributeBuffer(e){e*4<=this.attributeBuffer.size||this._resizeAttributeBuffer(e*4);}ensureIndexBuffer(e){e<=this.indexBuffer.length||this._resizeIndexBuffer(e);}_resizeAttributeBuffer(e){let t=Math.max(e,this.attributeBuffer.size*2),i=new vr(t);Vn(this.attributeBuffer.rawBinaryData,i.rawBinaryData),this.attributeBuffer=i;}_resizeIndexBuffer(e){let t=this.indexBuffer,i=Math.max(e,t.length*1.5);i+=i%2;let s=i>65535?new Uint32Array(i):new Uint16Array(i);if(s.BYTES_PER_ELEMENT!==t.BYTES_PER_ELEMENT)for(let n=0;n<t.length;n++)s[n]=t[n];else Vn(t.buffer,s.buffer);this.indexBuffer=s;}packQuadIndex(e,t,i){e[t]=i+0,e[t+1]=i+1,e[t+2]=i+2,e[t+3]=i+0,e[t+4]=i+2,e[t+5]=i+3;}packIndex(e,t,i,s){let n=e.indices,o=e.indexSize,a=e.indexOffset,u=e.attributeOffset;for(let l=0;l<o;l++)t[i++]=s+n[l+a]-u;}destroy(){for(let e=0;e<this.batches.length;e++)tC(this.batches[e]);this.batches=null;for(let e=0;e<this._elements.length;e++)this._elements[e]._batch=null;this._elements=null,this.indexBuffer=null,this.attributeBuffer.destroy(),this.attributeBuffer=null;}};iC.defaultOptions={maxTextures:null,attributesInitialSize:4,indicesInitialSize:6};ip=iC;});var ie,ui=f(()=>{ie=(r=>(r[r.MAP_READ=1]="MAP_READ",r[r.MAP_WRITE=2]="MAP_WRITE",r[r.COPY_SRC=4]="COPY_SRC",r[r.COPY_DST=8]="COPY_DST",r[r.INDEX=16]="INDEX",r[r.VERTEX=32]="VERTEX",r[r.UNIFORM=64]="UNIFORM",r[r.STORAGE=128]="STORAGE",r[r.INDIRECT=256]="INDIRECT",r[r.QUERY_RESOLVE=512]="QUERY_RESOLVE",r[r.STATIC=1024]="STATIC",r))(ie||{});});var Ve,Ui=f(()=>{St();ht();ui();Ve=class extends ue{constructor(e){let{data:t,size:i}=e,{usage:s,label:n,shrinkToFit:o}=e;super(),this.uid=re("buffer"),this._resourceType="buffer",this._resourceId=re("resource"),this._touched=0,this._updateID=1,this._dataInt32=null,this.shrinkToFit=true,this.destroyed=false,t instanceof Array&&(t=new Float32Array(t)),this._data=t,i??(i=t?.byteLength);let a=!!t;this.descriptor={size:i,usage:s,mappedAtCreation:a,label:n},this.shrinkToFit=o??true;}get data(){return this._data}set data(e){this.setDataWithSize(e,e.length,true);}get dataInt32(){return this._dataInt32||(this._dataInt32=new Int32Array(this.data.buffer)),this._dataInt32}get static(){return !!(this.descriptor.usage&ie.STATIC)}set static(e){e?this.descriptor.usage|=ie.STATIC:this.descriptor.usage&=~ie.STATIC;}setDataWithSize(e,t,i){if(this._updateID++,this._updateSize=t*e.BYTES_PER_ELEMENT,this._data===e){i&&this.emit("update",this);return}let s=this._data;if(this._data=e,this._dataInt32=null,!s||s.length!==e.length){!this.shrinkToFit&&s&&e.byteLength<s.byteLength?i&&this.emit("update",this):(this.descriptor.size=e.byteLength,this._resourceId=re("resource"),this.emit("change",this));return}i&&this.emit("update",this);}update(e){this._updateSize=e??this._updateSize,this._updateID++,this.emit("update",this);}destroy(){this.destroyed=true,this.emit("destroy",this),this.emit("change",this),this._data=null,this.descriptor=null,this.removeAllListeners();}};});function bc(r,e){if(!(r instanceof Ve)){let t=e?ie.INDEX:ie.VERTEX;r instanceof Array&&(e?(r=new Uint32Array(r),t=ie.INDEX|ie.COPY_DST):(r=new Float32Array(r),t=ie.VERTEX|ie.COPY_DST)),r=new Ve({data:r,label:e?"index-mesh-buffer":"vertex-mesh-buffer",usage:t});}return r}var Dy=f(()=>{Ui();ui();});function sp(r,e,t){let i=r.getAttribute(e);if(!i)return t.minX=0,t.minY=0,t.maxX=0,t.maxY=0,t;let s=i.buffer.data,n=1/0,o=1/0,a=-1/0,u=-1/0,l=s.BYTES_PER_ELEMENT,c=(i.offset||0)/l,h=(i.stride||2*4)/l;for(let d=c;d<s.length;d+=h){let p=s[d],_=s[d+1];p>a&&(a=p),_>u&&(u=_),p<n&&(n=p),_<o&&(o=_);}return t.minX=n,t.minY=o,t.maxX=a,t.maxY=u,t}var Iy=f(()=>{});function oD(r){return (r instanceof Ve||Array.isArray(r)||r.BYTES_PER_ELEMENT)&&(r={buffer:r}),r.buffer=bc(r.buffer,false),r}var Dt,Ss=f(()=>{St();Et();ht();Ui();Dy();Iy();Dt=class extends ue{constructor(e={}){super(),this.uid=re("geometry"),this._layoutKey=0,this.instanceCount=1,this._bounds=new xe,this._boundsDirty=true;let{attributes:t,indexBuffer:i,topology:s}=e;if(this.buffers=[],this.attributes={},t)for(let n in t)this.addAttribute(n,t[n]);this.instanceCount=e.instanceCount??1,i&&this.addIndex(i),this.topology=s||"triangle-list";}onBufferUpdate(){this._boundsDirty=true,this.emit("update",this);}getAttribute(e){return this.attributes[e]}getIndex(){return this.indexBuffer}getBuffer(e){return this.getAttribute(e).buffer}getSize(){for(let e in this.attributes){let t=this.attributes[e];return t.buffer.data.length/(t.stride/4||t.size)}return 0}addAttribute(e,t){let i=oD(t);this.buffers.indexOf(i.buffer)===-1&&(this.buffers.push(i.buffer),i.buffer.on("update",this.onBufferUpdate,this),i.buffer.on("change",this.onBufferUpdate,this)),this.attributes[e]=i;}addIndex(e){this.indexBuffer=bc(e,true),this.buffers.push(this.indexBuffer);}get bounds(){return this._boundsDirty?(this._boundsDirty=false,sp(this,"aPosition",this._bounds)):this._bounds}destroy(e=false){this.emit("destroy",this),this.removeAllListeners(),e&&this.buffers.forEach(t=>t.destroy()),this.attributes=null,this.buffers=null,this.indexBuffer=null,this._bounds=null;}};});var aD,uD,Wa,ky=f(()=>{Ui();ui();Ss();aD=new Float32Array(1),uD=new Uint32Array(1),Wa=class extends Dt{constructor(){let t=new Ve({data:aD,label:"attribute-batch-buffer",usage:ie.VERTEX|ie.COPY_DST,shrinkToFit:false}),i=new Ve({data:uD,label:"index-batch-buffer",usage:ie.INDEX|ie.COPY_DST,shrinkToFit:false}),s=6*4;super({attributes:{aPosition:{buffer:t,format:"float32x2",stride:s,offset:0},aUV:{buffer:t,format:"float32x2",stride:s,offset:2*4},aColor:{buffer:t,format:"unorm8x4",stride:s,offset:4*4},aTextureIdAndRound:{buffer:t,format:"uint16x2",stride:s,offset:5*4}},indexBuffer:i});}};});function Nr(r,e){let t=nC[r];return t===void 0&&(Fy[e]===void 0&&(Fy[e]=1),nC[r]=t=Fy[e]++),t}var Fy,nC,Xa=f(()=>{Fy=Object.create(null),nC=Object.create(null);});function op(){if(!np){np="mediump";let r=Na();r&&r.getShaderPrecisionFormat&&(np=r.getShaderPrecisionFormat(r.FRAGMENT_SHADER,r.HIGH_FLOAT).precision?"highp":"mediump");}return np}var np,Oy=f(()=>{ep();});function ap(r,e,t){return e?r:t?(r=r.replace("out vec4 finalColor;",""),`
|
|
21
|
+
`);});function rp(){if(Va)return Va;let r=Na();return Va=r.getParameter(r.MAX_TEXTURE_IMAGE_UNITS),Va=Ha(Va,r),r.getExtension("WEBGL_lose_context")?.loseContext(),Va}var Va,Py=f(()=>{ep();tp();Va=null;});var za,By=f(()=>{za=class{constructor(){this.ids=Object.create(null),this.textures=[],this.count=0;}clear(){for(let e=0;e<this.count;e++){let t=this.textures[e];this.textures[e]=null,this.ids[t.uid]=null;}this.count=0;}};});function eC(){return Ry>0?rC[--Ry]:new _c}function tC(r){rC[Ry++]=r;}var _c,rC,Ry,xc,iC,ip,My=f(()=>{ht();Kf();me();Zf();La();Py();By();_c=class{constructor(){this.renderPipeId="batch",this.action="startBatch",this.start=0,this.size=0,this.textures=new za,this.blendMode="normal",this.topology="triangle-strip",this.canBundle=true;}destroy(){this.textures=null,this.gpuBindGroup=null,this.bindGroup=null,this.batcher=null;}},rC=[],Ry=0;xc=0,iC=class sC{constructor(e){this.uid=re("batcher"),this.dirty=true,this.batchIndex=0,this.batches=[],this._elements=[],e={...sC.defaultOptions,...e},e.maxTextures||(I("v8.8.0","maxTextures is a required option for Batcher now, please pass it in the options"),e.maxTextures=rp());let{maxTextures:t,attributesInitialSize:i,indicesInitialSize:s}=e;this.attributeBuffer=new vr(i*4),this.indexBuffer=new Uint16Array(s),this.maxTextures=t;}begin(){this.elementSize=0,this.elementStart=0,this.indexSize=0,this.attributeSize=0;for(let e=0;e<this.batchIndex;e++)tC(this.batches[e]);this.batchIndex=0,this._batchIndexStart=0,this._batchIndexSize=0,this.dirty=true;}add(e){this._elements[this.elementSize++]=e,e._indexStart=this.indexSize,e._attributeStart=this.attributeSize,e._batcher=this,this.indexSize+=e.indexSize,this.attributeSize+=e.attributeSize*this.vertexSize;}checkAndUpdateTexture(e,t){let i=e._batch.textures.ids[t._source.uid];return !i&&i!==0?false:(e._textureId=i,e.texture=t,true)}updateElement(e){this.dirty=true;let t=this.attributeBuffer;e.packAsQuad?this.packQuadAttributes(e,t.float32View,t.uint32View,e._attributeStart,e._textureId):this.packAttributes(e,t.float32View,t.uint32View,e._attributeStart,e._textureId);}break(e){let t=this._elements;if(!t[this.elementStart])return;let i=eC(),s=i.textures;s.clear();let n=t[this.elementStart],o=Lr(n.blendMode,n.texture._source),a=n.topology;this.attributeSize*4>this.attributeBuffer.size&&this._resizeAttributeBuffer(this.attributeSize*4),this.indexSize>this.indexBuffer.length&&this._resizeIndexBuffer(this.indexSize);let u=this.attributeBuffer.float32View,l=this.attributeBuffer.uint32View,c=this.indexBuffer,h=this._batchIndexSize,d=this._batchIndexStart,p="startBatch",_=this.maxTextures;for(let b=this.elementStart;b<this.elementSize;++b){let g=t[b];t[b]=null;let y=g.texture._source,T=Lr(g.blendMode,y),S=o!==T||a!==g.topology;if(y._batchTick===xc&&!S){g._textureId=y._textureBindLocation,h+=g.indexSize,g.packAsQuad?(this.packQuadAttributes(g,u,l,g._attributeStart,g._textureId),this.packQuadIndex(c,g._indexStart,g._attributeStart/this.vertexSize)):(this.packAttributes(g,u,l,g._attributeStart,g._textureId),this.packIndex(g,c,g._indexStart,g._attributeStart/this.vertexSize)),g._batch=i;continue}y._batchTick=xc,(s.count>=_||S)&&(this._finishBatch(i,d,h-d,s,o,a,e,p),p="renderBatch",d=h,o=T,a=g.topology,i=eC(),s=i.textures,s.clear(),++xc),g._textureId=y._textureBindLocation=s.count,s.ids[y.uid]=s.count,s.textures[s.count++]=y,g._batch=i,h+=g.indexSize,g.packAsQuad?(this.packQuadAttributes(g,u,l,g._attributeStart,g._textureId),this.packQuadIndex(c,g._indexStart,g._attributeStart/this.vertexSize)):(this.packAttributes(g,u,l,g._attributeStart,g._textureId),this.packIndex(g,c,g._indexStart,g._attributeStart/this.vertexSize));}s.count>0&&(this._finishBatch(i,d,h-d,s,o,a,e,p),d=h,++xc),this.elementStart=this.elementSize,this._batchIndexStart=d,this._batchIndexSize=h;}_finishBatch(e,t,i,s,n,o,a,u){e.gpuBindGroup=null,e.bindGroup=null,e.action=u,e.batcher=this,e.textures=s,e.blendMode=n,e.topology=o,e.start=t,e.size=i,++xc,this.batches[this.batchIndex++]=e,a.add(e);}finish(e){this.break(e);}ensureAttributeBuffer(e){e*4<=this.attributeBuffer.size||this._resizeAttributeBuffer(e*4);}ensureIndexBuffer(e){e<=this.indexBuffer.length||this._resizeIndexBuffer(e);}_resizeAttributeBuffer(e){let t=Math.max(e,this.attributeBuffer.size*2),i=new vr(t);Vn(this.attributeBuffer.rawBinaryData,i.rawBinaryData),this.attributeBuffer=i;}_resizeIndexBuffer(e){let t=this.indexBuffer,i=Math.max(e,t.length*1.5);i+=i%2;let s=i>65535?new Uint32Array(i):new Uint16Array(i);if(s.BYTES_PER_ELEMENT!==t.BYTES_PER_ELEMENT)for(let n=0;n<t.length;n++)s[n]=t[n];else Vn(t.buffer,s.buffer);this.indexBuffer=s;}packQuadIndex(e,t,i){e[t]=i+0,e[t+1]=i+1,e[t+2]=i+2,e[t+3]=i+0,e[t+4]=i+2,e[t+5]=i+3;}packIndex(e,t,i,s){let n=e.indices,o=e.indexSize,a=e.indexOffset,u=e.attributeOffset;for(let l=0;l<o;l++)t[i++]=s+n[l+a]-u;}destroy(){for(let e=0;e<this.batches.length;e++)tC(this.batches[e]);this.batches=null;for(let e=0;e<this._elements.length;e++)this._elements[e]._batch=null;this._elements=null,this.indexBuffer=null,this.attributeBuffer.destroy(),this.attributeBuffer=null;}};iC.defaultOptions={maxTextures:null,attributesInitialSize:4,indicesInitialSize:6};ip=iC;});var ie,ui=f(()=>{ie=(r=>(r[r.MAP_READ=1]="MAP_READ",r[r.MAP_WRITE=2]="MAP_WRITE",r[r.COPY_SRC=4]="COPY_SRC",r[r.COPY_DST=8]="COPY_DST",r[r.INDEX=16]="INDEX",r[r.VERTEX=32]="VERTEX",r[r.UNIFORM=64]="UNIFORM",r[r.STORAGE=128]="STORAGE",r[r.INDIRECT=256]="INDIRECT",r[r.QUERY_RESOLVE=512]="QUERY_RESOLVE",r[r.STATIC=1024]="STATIC",r))(ie||{});});var Ve,Ui=f(()=>{St();ht();ui();Ve=class extends ue{constructor(e){let{data:t,size:i}=e,{usage:s,label:n,shrinkToFit:o}=e;super(),this.uid=re("buffer"),this._resourceType="buffer",this._resourceId=re("resource"),this._touched=0,this._updateID=1,this._dataInt32=null,this.shrinkToFit=true,this.destroyed=false,t instanceof Array&&(t=new Float32Array(t)),this._data=t,i??(i=t?.byteLength);let a=!!t;this.descriptor={size:i,usage:s,mappedAtCreation:a,label:n},this.shrinkToFit=o??true;}get data(){return this._data}set data(e){this.setDataWithSize(e,e.length,true);}get dataInt32(){return this._dataInt32||(this._dataInt32=new Int32Array(this.data.buffer)),this._dataInt32}get static(){return !!(this.descriptor.usage&ie.STATIC)}set static(e){e?this.descriptor.usage|=ie.STATIC:this.descriptor.usage&=~ie.STATIC;}setDataWithSize(e,t,i){if(this._updateID++,this._updateSize=t*e.BYTES_PER_ELEMENT,this._data===e){i&&this.emit("update",this);return}let s=this._data;if(this._data=e,this._dataInt32=null,!s||s.length!==e.length){!this.shrinkToFit&&s&&e.byteLength<s.byteLength?i&&this.emit("update",this):(this.descriptor.size=e.byteLength,this._resourceId=re("resource"),this.emit("change",this));return}i&&this.emit("update",this);}update(e){this._updateSize=e??this._updateSize,this._updateID++,this.emit("update",this);}destroy(){this.destroyed=true,this.emit("destroy",this),this.emit("change",this),this._data=null,this.descriptor=null,this.removeAllListeners();}};});function bc(r,e){if(!(r instanceof Ve)){let t=e?ie.INDEX:ie.VERTEX;r instanceof Array&&(e?(r=new Uint32Array(r),t=ie.INDEX|ie.COPY_DST):(r=new Float32Array(r),t=ie.VERTEX|ie.COPY_DST)),r=new Ve({data:r,label:e?"index-mesh-buffer":"vertex-mesh-buffer",usage:t});}return r}var Dy=f(()=>{Ui();ui();});function sp(r,e,t){let i=r.getAttribute(e);if(!i)return t.minX=0,t.minY=0,t.maxX=0,t.maxY=0,t;let s=i.buffer.data,n=1/0,o=1/0,a=-1/0,u=-1/0,l=s.BYTES_PER_ELEMENT,c=(i.offset||0)/l,h=(i.stride||8)/l;for(let d=c;d<s.length;d+=h){let p=s[d],_=s[d+1];p>a&&(a=p),_>u&&(u=_),p<n&&(n=p),_<o&&(o=_);}return t.minX=n,t.minY=o,t.maxX=a,t.maxY=u,t}var Iy=f(()=>{});function oD(r){return (r instanceof Ve||Array.isArray(r)||r.BYTES_PER_ELEMENT)&&(r={buffer:r}),r.buffer=bc(r.buffer,false),r}var Dt,Ss=f(()=>{St();Et();ht();Ui();Dy();Iy();Dt=class extends ue{constructor(e={}){super(),this.uid=re("geometry"),this._layoutKey=0,this.instanceCount=1,this._bounds=new xe,this._boundsDirty=true;let{attributes:t,indexBuffer:i,topology:s}=e;if(this.buffers=[],this.attributes={},t)for(let n in t)this.addAttribute(n,t[n]);this.instanceCount=e.instanceCount??1,i&&this.addIndex(i),this.topology=s||"triangle-list";}onBufferUpdate(){this._boundsDirty=true,this.emit("update",this);}getAttribute(e){return this.attributes[e]}getIndex(){return this.indexBuffer}getBuffer(e){return this.getAttribute(e).buffer}getSize(){for(let e in this.attributes){let t=this.attributes[e];return t.buffer.data.length/(t.stride/4||t.size)}return 0}addAttribute(e,t){let i=oD(t);this.buffers.indexOf(i.buffer)===-1&&(this.buffers.push(i.buffer),i.buffer.on("update",this.onBufferUpdate,this),i.buffer.on("change",this.onBufferUpdate,this)),this.attributes[e]=i;}addIndex(e){this.indexBuffer=bc(e,true),this.buffers.push(this.indexBuffer);}get bounds(){return this._boundsDirty?(this._boundsDirty=false,sp(this,"aPosition",this._bounds)):this._bounds}destroy(e=false){this.emit("destroy",this),this.removeAllListeners(),e&&this.buffers.forEach(t=>t.destroy()),this.attributes=null,this.buffers=null,this.indexBuffer=null,this._bounds=null;}};});var aD,uD,Wa,ky=f(()=>{Ui();ui();Ss();aD=new Float32Array(1),uD=new Uint32Array(1),Wa=class extends Dt{constructor(){let t=new Ve({data:aD,label:"attribute-batch-buffer",usage:ie.VERTEX|ie.COPY_DST,shrinkToFit:false}),i=new Ve({data:uD,label:"index-batch-buffer",usage:ie.INDEX|ie.COPY_DST,shrinkToFit:false}),s=24;super({attributes:{aPosition:{buffer:t,format:"float32x2",stride:s,offset:0},aUV:{buffer:t,format:"float32x2",stride:s,offset:8},aColor:{buffer:t,format:"unorm8x4",stride:s,offset:16},aTextureIdAndRound:{buffer:t,format:"uint16x2",stride:s,offset:20}},indexBuffer:i});}};});function Nr(r,e){let t=nC[r];return t===void 0&&(Fy[e]===void 0&&(Fy[e]=1),nC[r]=t=Fy[e]++),t}var Fy,nC,Xa=f(()=>{Fy=Object.create(null),nC=Object.create(null);});function op(){if(!np){np="mediump";let r=Na();r&&r.getShaderPrecisionFormat&&(np=r.getShaderPrecisionFormat(r.FRAGMENT_SHADER,r.HIGH_FLOAT).precision?"highp":"mediump");}return np}var np,Oy=f(()=>{ep();});function ap(r,e,t){return e?r:t?(r=r.replace("out vec4 finalColor;",""),`
|
|
22
22
|
|
|
23
23
|
#ifdef GL_ES // This checks if it is WebGL1
|
|
24
24
|
#define in varying
|
|
@@ -257,7 +257,7 @@ ${s.join(`
|
|
|
257
257
|
{
|
|
258
258
|
return (floor(((position * 0.5 + 0.5) * targetSize) + 0.5) / targetSize) * 2.0 - 1.0;
|
|
259
259
|
}
|
|
260
|
-
`}};});var Ec,Ap,l0=f(()=>{Ec=["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>"],Ap=Ec.reduce((r,e)=>(r[e]=true,r),{});});function Cp(r,e){switch(r){case "f32":return 0;case "vec2<f32>":return new Float32Array(2*e);case "vec3<f32>":return new Float32Array(3*e);case "vec4<f32>":return new Float32Array(4*e);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 c0=f(()=>{});var fC,ae,et=f(()=>{ht();Xa();l0();c0();fC=class pC{constructor(e,t){this._touched=0,this.uid=re("uniform"),this._resourceType="uniformGroup",this._resourceId=re("resource"),this.isUniformGroup=true,this._dirtyId=0,this.destroyed=false,t={...pC.defaultOptions,...t},this.uniformStructures=e;let i={};for(let s in e){let n=e[s];if(n.name=s,n.size=n.size??1,!Ap[n.type])throw new Error(`Uniform type ${n.type} is not supported. Supported uniform types are: ${Ec.join(", ")}`);n.value??(n.value=Cp(n.type,n.size)),i[s]=n.value;}this.uniforms=i,this._dirtyId=1,this.ubo=t.ubo,this.isStatic=t.isStatic,this._signature=Nr(Object.keys(i).map(s=>`${s}-${e[s].type}`).join("-"),"uniform-group");}update(){this._dirtyId++;}};fC.defaultOptions={ubo:false,isStatic:false};ae=fC;});function Ms(r){let e=mC[r];if(e)return e;let t=new Int32Array(r);for(let i=0;i<r;i++)t[i]=i;return e=mC[r]=new ae({uTextures:{value:t,type:"i32",size:r}},{isStatic:true}),e}var mC,Ac=f(()=>{et();mC={};});var Oe,cr=f(()=>{Oe=(r=>(r[r.WEBGL=1]="WEBGL",r[r.WEBGPU=2]="WEBGPU",r[r.BOTH=3]="BOTH",r))(Oe||{});});var ze,Cr=f(()=>{St();ht();Kt();Gi();lr();cr();et();ze=class r extends ue{constructor(e){super(),this.uid=re("shader"),this._uniformBindMap=Object.create(null),this._ownedBindGroups=[];let{gpuProgram:t,glProgram:i,groups:s,resources:n,compatibleRenderers:o,groupMap:a}=e;this.gpuProgram=t,this.glProgram=i,o===void 0&&(o=0,t&&(o|=Oe.WEBGPU),i&&(o|=Oe.WEBGL)),this.compatibleRenderers=o;let u={};if(!n&&!s&&(n={}),n&&s)throw new Error("[Shader] Cannot have both resources and groups");if(!t&&s&&!a)throw new Error("[Shader] No group map or WebGPU shader provided - consider using resources instead.");if(!t&&s&&a)for(let l in a)for(let c in a[l]){let h=a[l][c];u[h]={group:l,binding:c,name:h};}else if(t&&s&&!a){let l=t.structsAndGroups.groups;a={},l.forEach(c=>{a[c.group]=a[c.group]||{},a[c.group][c.binding]=c.name,u[c.name]=c;});}else if(n){s={},a={},t&&t.structsAndGroups.groups.forEach(h=>{a[h.group]=a[h.group]||{},a[h.group][h.binding]=h.name,u[h.name]=h;});let l=0;for(let c in n)u[c]||(s[99]||(s[99]=new at,this._ownedBindGroups.push(s[99])),u[c]={group:99,binding:l,name:c},a[99]=a[99]||{},a[99][l]=c,l++);for(let c in n){let h=c,d=n[c];!d.source&&!d._resourceType&&(d=new ae(d));let p=u[h];p&&(s[p.group]||(s[p.group]=new at,this._ownedBindGroups.push(s[p.group])),s[p.group].setResource(d,p.binding));}}this.groups=s,this._uniformBindMap=a,this.resources=this._buildResourceAccessor(s,u);}addResource(e,t,i){var s,n;(s=this._uniformBindMap)[t]||(s[t]={}),(n=this._uniformBindMap[t])[i]||(n[i]=e),this.groups[t]||(this.groups[t]=new at,this._ownedBindGroups.push(this.groups[t]));}_buildResourceAccessor(e,t){let i={};for(let s in t){let n=t[s];Object.defineProperty(i,n.name,{get(){return e[n.group].getResource(n.binding)},set(o){e[n.group].setResource(o,n.binding);}});}return i}destroy(e=false){this.emit("destroy",this),e&&(this.gpuProgram?.destroy(),this.glProgram?.destroy()),this.gpuProgram=null,this.glProgram=null,this.removeAllListeners(),this._uniformBindMap=null,this._ownedBindGroups.forEach(t=>{t.destroy();}),this._ownedBindGroups=null,this.resources=null,this.groups=null;}static from(e){let{gpu:t,gl:i,...s}=e,n,o;return t&&(n=Fe.from(t)),i&&(o=ke.from(i)),new r({gpuProgram:n,glProgram:o,...s})}};});var ja,h0=f(()=>{Li();$a();qa();Ni();Ac();Cr();ja=class extends ze{constructor(e){let t=Sr({name:"batch",bits:[Ps,Rs(e),Ar]}),i=Tr({name:"batch",bits:[ws,Bs(e),Er]});super({glProgram:t,gpuProgram:i,resources:{batchSamplers:Ms(e)}});}};});var d0,gC,zn,wp=f(()=>{E();My();ky();h0();d0=null,gC=class xC extends ip{constructor(e){super(e),this.geometry=new Wa,this.name=xC.extension.name,this.vertexSize=6,d0??(d0=new ja(e.maxTextures)),this.shader=d0;}packAttributes(e,t,i,s,n){let o=n<<16|e.roundPixels&65535,a=e.transform,u=a.a,l=a.b,c=a.c,h=a.d,d=a.tx,p=a.ty,{positions:_,uvs:b}=e,g=e.color,m=e.attributeOffset,y=m+e.attributeSize;for(let T=m;T<y;T++){let S=T*2,w=_[S],A=_[S+1];t[s++]=u*w+c*A+d,t[s++]=h*A+l*w+p,t[s++]=b[S],t[s++]=b[S+1],i[s++]=g,i[s++]=o;}}packQuadAttributes(e,t,i,s,n){let o=e.texture,a=e.transform,u=a.a,l=a.b,c=a.c,h=a.d,d=a.tx,p=a.ty,_=e.bounds,b=_.maxX,g=_.minX,m=_.maxY,y=_.minY,T=o.uvs,S=e.color,w=n<<16|e.roundPixels&65535;t[s+0]=u*g+c*y+d,t[s+1]=h*y+l*g+p,t[s+2]=T.x0,t[s+3]=T.y0,i[s+4]=S,i[s+5]=w,t[s+6]=u*b+c*y+d,t[s+7]=h*y+l*b+p,t[s+8]=T.x1,t[s+9]=T.y1,i[s+10]=S,i[s+11]=w,t[s+12]=u*b+c*m+d,t[s+13]=h*m+l*b+p,t[s+14]=T.x2,t[s+15]=T.y2,i[s+16]=S,i[s+17]=w,t[s+18]=u*g+c*m+d,t[s+19]=h*m+l*g+p,t[s+20]=T.x3,t[s+21]=T.y3,i[s+22]=S,i[s+23]=w;}};gC.extension={type:[x.Batcher],name:"default"};zn=gC;});function Pp(r,e,t,i,s,n,o,a=null){let u=0;t*=e,s*=n;let l=a.a,c=a.b,h=a.c,d=a.d,p=a.tx,_=a.ty;for(;u<o;){let b=r[t],g=r[t+1];i[s]=l*b+h*g+p,i[s+1]=c*b+d*g+_,s+=n,t+=e,u++;}}function Bp(r,e,t,i){let s=0;for(e*=t;s<i;)r[e]=0,r[e+1]=0,e+=t,s++;}var f0=f(()=>{});function Cc(r,e,t,i,s){let n=e.a,o=e.b,a=e.c,u=e.d,l=e.tx,c=e.ty;t||(t=0),i||(i=2),s||(s=r.length/i-t);let h=t*i;for(let d=0;d<s;d++){let p=r[h],_=r[h+1];r[h]=n*p+a*_+l,r[h+1]=o*p+u*_+c,h+=i;}}var p0=f(()=>{});var yD,Hi,Rp=f(()=>{ce();ff();yD=new M,Hi=class{constructor(){this.packAsQuad=false,this.batcherName="default",this.topology="triangle-list",this.applyTransform=true,this.roundPixels=0,this._batcher=null,this._batch=null;}get uvs(){return this.geometryData.uvs}get positions(){return this.geometryData.vertices}get indices(){return this.geometryData.indices}get blendMode(){return this.renderable&&this.applyTransform?this.renderable.groupBlendMode:"normal"}get color(){let e=this.baseColor,t=e>>16|e&65280|(e&255)<<16,i=this.renderable;return i?Ba(t,i.groupColor)+(this.alpha*i.groupAlpha*255<<24):t+(this.alpha*255<<24)}get transform(){return this.renderable?.groupTransform||yD}copyTo(e){e.indexOffset=this.indexOffset,e.indexSize=this.indexSize,e.attributeOffset=this.attributeOffset,e.attributeSize=this.attributeSize,e.baseColor=this.baseColor,e.alpha=this.alpha,e.texture=this.texture,e.geometryData=this.geometryData,e.topology=this.topology;}reset(){this.applyTransform=true,this.renderable=null,this.topology="triangle-list";}};});var Ds,Mp,Dp,m0=f(()=>{E();Ds={extension:{type:x.ShapeBuilder,name:"circle"},build(r,e){let t,i,s,n,o,a;if(r.type==="circle"){let S=r;if(o=a=S.radius,o<=0)return false;t=S.x,i=S.y,s=n=0;}else if(r.type==="ellipse"){let S=r;if(o=S.halfWidth,a=S.halfHeight,o<=0||a<=0)return false;t=S.x,i=S.y,s=n=0;}else {let S=r,w=S.width/2,A=S.height/2;t=S.x+w,i=S.y+A,o=a=Math.max(0,Math.min(S.radius,Math.min(w,A))),s=w-o,n=A-a;}if(s<0||n<0)return false;let u=Math.ceil(2.3*Math.sqrt(o+a)),l=u*8+(s?4:0)+(n?4:0);if(l===0)return false;if(u===0)return e[0]=e[6]=t+s,e[1]=e[3]=i+n,e[2]=e[4]=t-s,e[5]=e[7]=i-n,true;let c=0,h=u*4+(s?2:0)+2,d=h,p=l,_=s+o,b=n,g=t+_,m=t-_,y=i+b;if(e[c++]=g,e[c++]=y,e[--h]=y,e[--h]=m,n){let S=i-b;e[d++]=m,e[d++]=S,e[--p]=S,e[--p]=g;}for(let S=1;S<u;S++){let w=Math.PI/2*(S/u),A=s+Math.cos(w)*o,P=n+Math.sin(w)*a,N=t+A,D=t-A,U=i+P,F=i-P;e[c++]=N,e[c++]=U,e[--h]=U,e[--h]=D,e[d++]=D,e[d++]=F,e[--p]=F,e[--p]=N;}_=s,b=n+a,g=t+_,m=t-_,y=i+b;let T=i-b;return e[c++]=g,e[c++]=y,e[--p]=T,e[--p]=g,s&&(e[c++]=m,e[c++]=y,e[--p]=T,e[--p]=m),true},triangulate(r,e,t,i,s,n){if(r.length===0)return;let o=0,a=0;for(let c=0;c<r.length;c+=2)o+=r[c],a+=r[c+1];o/=r.length/2,a/=r.length/2;let u=i;e[u*t]=o,e[u*t+1]=a;let l=u++;for(let c=0;c<r.length;c+=2)e[u*t]=r[c],e[u*t+1]=r[c+1],c>0&&(s[n++]=u,s[n++]=l,s[n++]=u-1),u++;s[n++]=l+1,s[n++]=l,s[n++]=u-1;}},Mp={...Ds,extension:{...Ds.extension,name:"ellipse"}},Dp={...Ds,extension:{...Ds.extension,name:"roundedRectangle"}};});var Ip,kp,_C=f(()=>{Ip=1e-4,kp=1e-4;});function Fp(r){let e=r.length;if(e<6)return 1;let t=0;for(let i=0,s=r[e-2],n=r[e-1];i<e;i+=2){let o=r[i],a=r[i+1];t+=(o-s)*(a+n),s=o,n=a;}return t<0?-1:1}var g0=f(()=>{});function bC(r,e,t,i,s,n,o,a){let u=r-t*s,l=e-i*s,c=r+t*n,h=e+i*n,d,p;o?(d=i,p=-t):(d=-i,p=t);let _=u+d,b=l+p,g=c+d,m=h+p;return a.push(_,b),a.push(g,m),2}function Wn(r,e,t,i,s,n,o,a){let u=t-r,l=i-e,c=Math.atan2(u,l),h=Math.atan2(s-r,n-e);a&&c<h?c+=Math.PI*2:!a&&c>h&&(h+=Math.PI*2);let d=c,p=h-c,_=Math.abs(p),b=Math.sqrt(u*u+l*l),g=(15*_*Math.sqrt(b)/Math.PI>>0)+1,m=p/g;if(d+=m,a){o.push(r,e),o.push(t,i);for(let y=1,T=d;y<g;y++,T+=m)o.push(r,e),o.push(r+Math.sin(T)*b,e+Math.cos(T)*b);o.push(r,e),o.push(s,n);}else {o.push(t,i),o.push(r,e);for(let y=1,T=d;y<g;y++,T+=m)o.push(r+Math.sin(T)*b,e+Math.cos(T)*b),o.push(r,e);o.push(s,n),o.push(r,e);}return g*2}function Op(r,e,t,i,s,n){let o=1e-4;if(r.length===0)return;let a=e,u=a.alignment;if(e.alignment!==.5){let Ie=Fp(r);t&&(Ie*=-1),u=(u-.5)*Ie+.5;}let l=new ne(r[0],r[1]),c=new ne(r[r.length-2],r[r.length-1]),h=i,d=Math.abs(l.x-c.x)<o&&Math.abs(l.y-c.y)<o;if(h){r=r.slice(),d&&(r.pop(),r.pop(),c.set(r[r.length-2],r[r.length-1]));let Ie=(l.x+c.x)*.5,ss=(c.y+l.y)*.5;r.unshift(Ie,ss),r.push(Ie,ss);}let p=s,_=r.length/2,b=r.length,g=p.length/2,m=a.width/2,y=m*m,T=a.miterLimit*a.miterLimit,S=r[0],w=r[1],A=r[2],P=r[3],N=0,D=0,U=-(w-P),F=S-A,ee=0,_e=0,Qe=Math.sqrt(U*U+F*F);U/=Qe,F/=Qe,U*=m,F*=m;let is=u,W=(1-is)*2,j=is*2;h||(a.cap==="round"?b+=Wn(S-U*(W-j)*.5,w-F*(W-j)*.5,S-U*W,w-F*W,S+U*j,w+F*j,p,true)+2:a.cap==="square"&&(b+=bC(S,w,U,F,W,j,true,p))),p.push(S-U*W,w-F*W),p.push(S+U*j,w+F*j);for(let Ie=1;Ie<_-1;++Ie){S=r[(Ie-1)*2],w=r[(Ie-1)*2+1],A=r[Ie*2],P=r[Ie*2+1],N=r[(Ie+1)*2],D=r[(Ie+1)*2+1],U=-(w-P),F=S-A,Qe=Math.sqrt(U*U+F*F),U/=Qe,F/=Qe,U*=m,F*=m,ee=-(P-D),_e=A-N,Qe=Math.sqrt(ee*ee+_e*_e),ee/=Qe,_e/=Qe,ee*=m,_e*=m;let ss=A-S,Wl=w-P,Xl=A-N,Yl=D-P,VE=ss*Xl+Wl*Yl,Vd=Wl*Xl-Yl*ss,$l=Vd<0;if(Math.abs(Vd)<.001*Math.abs(VE)){p.push(A-U*W,P-F*W),p.push(A+U*j,P+F*j),VE>=0&&(a.join==="round"?b+=Wn(A,P,A-U*W,P-F*W,A-ee*W,P-_e*W,p,false)+4:b+=2,p.push(A-ee*j,P-_e*j),p.push(A+ee*W,P+_e*W));continue}let zE=(-U+S)*(-F+P)-(-U+A)*(-F+w),WE=(-ee+N)*(-_e+P)-(-ee+A)*(-_e+D),zd=(ss*WE-Xl*zE)/Vd,Wd=(Yl*zE-Wl*WE)/Vd,yb=(zd-A)*(zd-A)+(Wd-P)*(Wd-P),vn=A+(zd-A)*W,Tn=P+(Wd-P)*W,Sn=A-(zd-A)*j,En=P-(Wd-P)*j,pM=Math.min(ss*ss+Wl*Wl,Xl*Xl+Yl*Yl),XE=$l?W:j,mM=pM+XE*XE*y;yb<=mM?a.join==="bevel"||yb/y>T?($l?(p.push(vn,Tn),p.push(A+U*j,P+F*j),p.push(vn,Tn),p.push(A+ee*j,P+_e*j)):(p.push(A-U*W,P-F*W),p.push(Sn,En),p.push(A-ee*W,P-_e*W),p.push(Sn,En)),b+=2):a.join==="round"?$l?(p.push(vn,Tn),p.push(A+U*j,P+F*j),b+=Wn(A,P,A+U*j,P+F*j,A+ee*j,P+_e*j,p,true)+4,p.push(vn,Tn),p.push(A+ee*j,P+_e*j)):(p.push(A-U*W,P-F*W),p.push(Sn,En),b+=Wn(A,P,A-U*W,P-F*W,A-ee*W,P-_e*W,p,false)+4,p.push(A-ee*W,P-_e*W),p.push(Sn,En)):(p.push(vn,Tn),p.push(Sn,En)):(p.push(A-U*W,P-F*W),p.push(A+U*j,P+F*j),a.join==="round"?$l?b+=Wn(A,P,A+U*j,P+F*j,A+ee*j,P+_e*j,p,true)+2:b+=Wn(A,P,A-U*W,P-F*W,A-ee*W,P-_e*W,p,false)+2:a.join==="miter"&&yb/y<=T&&($l?(p.push(Sn,En),p.push(Sn,En)):(p.push(vn,Tn),p.push(vn,Tn)),b+=2),p.push(A-ee*W,P-_e*W),p.push(A+ee*j,P+_e*j),b+=2);}S=r[(_-2)*2],w=r[(_-2)*2+1],A=r[(_-1)*2],P=r[(_-1)*2+1],U=-(w-P),F=S-A,Qe=Math.sqrt(U*U+F*F),U/=Qe,F/=Qe,U*=m,F*=m,p.push(A-U*W,P-F*W),p.push(A+U*j,P+F*j),h||(a.cap==="round"?b+=Wn(A-U*(W-j)*.5,P-F*(W-j)*.5,A-U*W,P-F*W,A+U*j,P+F*j,p,false)+2:a.cap==="square"&&(b+=bC(A,P,U,F,W,j,false,p)));let bb=1e-4*1e-4;for(let Ie=g;Ie<b+g-2;++Ie)S=p[Ie*2],w=p[Ie*2+1],A=p[(Ie+1)*2],P=p[(Ie+1)*2+1],N=p[(Ie+2)*2],D=p[(Ie+2)*2+1],!(Math.abs(S*(P-D)+A*(D-w)+N*(w-P))<bb)&&n.push(Ie,Ie+1,Ie+2);}var x0=f(()=>{jt();g0();});function Gp(r,e,t,i){let s=1e-4;if(r.length===0)return;let n=r[0],o=r[1],a=r[r.length-2],u=r[r.length-1],l=e||Math.abs(n-a)<s&&Math.abs(o-u)<s,c=t,h=r.length/2,d=c.length/2;for(let p=0;p<h;p++)c.push(r[p*2]),c.push(r[p*2+1]);for(let p=0;p<h-1;p++)i.push(d+p,d+p+1);l&&i.push(d+h-1,d);}var _0=f(()=>{});function Np(r,e,t=2){let i=e&&e.length,s=i?e[0]*t:r.length,n=vC(r,0,s,t,true),o=[];if(!n||n.next===n.prev)return o;let a,u,l;if(i&&(n=AD(r,e,n,t)),r.length>80*t){a=1/0,u=1/0;let c=-1/0,h=-1/0;for(let d=t;d<s;d+=t){let p=r[d],_=r[d+1];p<a&&(a=p),_<u&&(u=_),p>c&&(c=p),_>h&&(h=_);}l=Math.max(c-a,h-u),l=l!==0?32767/l:0;}return Pc(n,o,t,a,u,l,0),o}function vC(r,e,t,i,s){let n;if(s===OD(r,e,t,i)>0)for(let o=e;o<t;o+=i)n=yC(o/i|0,r[o],r[o+1],n);else for(let o=t-i;o>=e;o-=i)n=yC(o/i|0,r[o],r[o+1],n);return n&&Ka(n,n.next)&&(Rc(n),n=n.next),n}function Xn(r,e){if(!r)return r;e||(e=r);let t=r,i;do if(i=false,!t.steiner&&(Ka(t,t.next)||qe(t.prev,t,t.next)===0)){if(Rc(t),t=e=t.prev,t===t.next)break;i=true;}else t=t.next;while(i||t!==e);return e}function Pc(r,e,t,i,s,n,o){if(!r)return;!o&&n&&RD(r,i,s,n);let a=r;for(;r.prev!==r.next;){let u=r.prev,l=r.next;if(n?TD(r,i,s,n):vD(r)){e.push(u.i,r.i,l.i),Rc(r),r=l.next,a=l.next;continue}if(r=l,r===a){o?o===1?(r=SD(Xn(r),e),Pc(r,e,t,i,s,n,2)):o===2&&ED(r,e,t,i,s,n):Pc(Xn(r),e,t,i,s,n,1);break}}}function vD(r){let e=r.prev,t=r,i=r.next;if(qe(e,t,i)>=0)return false;let s=e.x,n=t.x,o=i.x,a=e.y,u=t.y,l=i.y,c=Math.min(s,n,o),h=Math.min(a,u,l),d=Math.max(s,n,o),p=Math.max(a,u,l),_=i.next;for(;_!==e;){if(_.x>=c&&_.x<=d&&_.y>=h&&_.y<=p&&wc(s,a,n,u,o,l,_.x,_.y)&&qe(_.prev,_,_.next)>=0)return false;_=_.next;}return true}function TD(r,e,t,i){let s=r.prev,n=r,o=r.next;if(qe(s,n,o)>=0)return false;let a=s.x,u=n.x,l=o.x,c=s.y,h=n.y,d=o.y,p=Math.min(a,u,l),_=Math.min(c,h,d),b=Math.max(a,u,l),g=Math.max(c,h,d),m=b0(p,_,e,t,i),y=b0(b,g,e,t,i),T=r.prevZ,S=r.nextZ;for(;T&&T.z>=m&&S&&S.z<=y;){if(T.x>=p&&T.x<=b&&T.y>=_&&T.y<=g&&T!==s&&T!==o&&wc(a,c,u,h,l,d,T.x,T.y)&&qe(T.prev,T,T.next)>=0||(T=T.prevZ,S.x>=p&&S.x<=b&&S.y>=_&&S.y<=g&&S!==s&&S!==o&&wc(a,c,u,h,l,d,S.x,S.y)&&qe(S.prev,S,S.next)>=0))return false;S=S.nextZ;}for(;T&&T.z>=m;){if(T.x>=p&&T.x<=b&&T.y>=_&&T.y<=g&&T!==s&&T!==o&&wc(a,c,u,h,l,d,T.x,T.y)&&qe(T.prev,T,T.next)>=0)return false;T=T.prevZ;}for(;S&&S.z<=y;){if(S.x>=p&&S.x<=b&&S.y>=_&&S.y<=g&&S!==s&&S!==o&&wc(a,c,u,h,l,d,S.x,S.y)&&qe(S.prev,S,S.next)>=0)return false;S=S.nextZ;}return true}function SD(r,e){let t=r;do{let i=t.prev,s=t.next.next;!Ka(i,s)&&SC(i,t,t.next,s)&&Bc(i,s)&&Bc(s,i)&&(e.push(i.i,t.i,s.i),Rc(t),Rc(t.next),t=r=s),t=t.next;}while(t!==r);return Xn(t)}function ED(r,e,t,i,s,n){let o=r;do{let a=o.next.next;for(;a!==o.prev;){if(o.i!==a.i&&ID(o,a)){let u=EC(o,a);o=Xn(o,o.next),u=Xn(u,u.next),Pc(o,e,t,i,s,n,0),Pc(u,e,t,i,s,n,0);return}a=a.next;}o=o.next;}while(o!==r)}function AD(r,e,t,i){let s=[];for(let n=0,o=e.length;n<o;n++){let a=e[n]*i,u=n<o-1?e[n+1]*i:r.length,l=vC(r,a,u,i,false);l===l.next&&(l.steiner=true),s.push(DD(l));}s.sort(CD);for(let n=0;n<s.length;n++)t=wD(s[n],t);return t}function CD(r,e){let t=r.x-e.x;if(t===0&&(t=r.y-e.y,t===0)){let i=(r.next.y-r.y)/(r.next.x-r.x),s=(e.next.y-e.y)/(e.next.x-e.x);t=i-s;}return t}function wD(r,e){let t=PD(r,e);if(!t)return e;let i=EC(t,r);return Xn(i,i.next),Xn(t,t.next)}function PD(r,e){let t=e,i=r.x,s=r.y,n=-1/0,o;if(Ka(r,t))return t;do{if(Ka(r,t.next))return t.next;if(s<=t.y&&s>=t.next.y&&t.next.y!==t.y){let h=t.x+(s-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(h<=i&&h>n&&(n=h,o=t.x<t.next.x?t:t.next,h===i))return o}t=t.next;}while(t!==e);if(!o)return null;let a=o,u=o.x,l=o.y,c=1/0;t=o;do{if(i>=t.x&&t.x>=u&&i!==t.x&&TC(s<l?i:n,s,u,l,s<l?n:i,s,t.x,t.y)){let h=Math.abs(s-t.y)/(i-t.x);Bc(t,r)&&(h<c||h===c&&(t.x>o.x||t.x===o.x&&BD(o,t)))&&(o=t,c=h);}t=t.next;}while(t!==a);return o}function BD(r,e){return qe(r.prev,r,e.prev)<0&&qe(e.next,r,r.next)<0}function RD(r,e,t,i){let s=r;do s.z===0&&(s.z=b0(s.x,s.y,e,t,i)),s.prevZ=s.prev,s.nextZ=s.next,s=s.next;while(s!==r);s.prevZ.nextZ=null,s.prevZ=null,MD(s);}function MD(r){let e,t=1;do{let i=r,s;r=null;let n=null;for(e=0;i;){e++;let o=i,a=0;for(let l=0;l<t&&(a++,o=o.nextZ,!!o);l++);let u=t;for(;a>0||u>0&&o;)a!==0&&(u===0||!o||i.z<=o.z)?(s=i,i=i.nextZ,a--):(s=o,o=o.nextZ,u--),n?n.nextZ=s:r=s,s.prevZ=n,n=s;i=o;}n.nextZ=null,t*=2;}while(e>1);return r}function b0(r,e,t,i,s){return r=(r-t)*s|0,e=(e-i)*s|0,r=(r|r<<8)&16711935,r=(r|r<<4)&252645135,r=(r|r<<2)&858993459,r=(r|r<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,r|e<<1}function DD(r){let e=r,t=r;do(e.x<t.x||e.x===t.x&&e.y<t.y)&&(t=e),e=e.next;while(e!==r);return t}function TC(r,e,t,i,s,n,o,a){return (s-o)*(e-a)>=(r-o)*(n-a)&&(r-o)*(i-a)>=(t-o)*(e-a)&&(t-o)*(n-a)>=(s-o)*(i-a)}function wc(r,e,t,i,s,n,o,a){return !(r===o&&e===a)&&TC(r,e,t,i,s,n,o,a)}function ID(r,e){return r.next.i!==e.i&&r.prev.i!==e.i&&!kD(r,e)&&(Bc(r,e)&&Bc(e,r)&&FD(r,e)&&(qe(r.prev,r,e.prev)||qe(r,e.prev,e))||Ka(r,e)&&qe(r.prev,r,r.next)>0&&qe(e.prev,e,e.next)>0)}function qe(r,e,t){return (e.y-r.y)*(t.x-e.x)-(e.x-r.x)*(t.y-e.y)}function Ka(r,e){return r.x===e.x&&r.y===e.y}function SC(r,e,t,i){let s=Lp(qe(r,e,t)),n=Lp(qe(r,e,i)),o=Lp(qe(t,i,r)),a=Lp(qe(t,i,e));return !!(s!==n&&o!==a||s===0&&Up(r,t,e)||n===0&&Up(r,i,e)||o===0&&Up(t,r,i)||a===0&&Up(t,e,i))}function Up(r,e,t){return e.x<=Math.max(r.x,t.x)&&e.x>=Math.min(r.x,t.x)&&e.y<=Math.max(r.y,t.y)&&e.y>=Math.min(r.y,t.y)}function Lp(r){return r>0?1:r<0?-1:0}function kD(r,e){let t=r;do{if(t.i!==r.i&&t.next.i!==r.i&&t.i!==e.i&&t.next.i!==e.i&&SC(t,t.next,r,e))return true;t=t.next;}while(t!==r);return false}function Bc(r,e){return qe(r.prev,r,r.next)<0?qe(r,e,r.next)>=0&&qe(r,r.prev,e)>=0:qe(r,e,r.prev)<0||qe(r,r.next,e)<0}function FD(r,e){let t=r,i=false,s=(r.x+e.x)/2,n=(r.y+e.y)/2;do t.y>n!=t.next.y>n&&t.next.y!==t.y&&s<(t.next.x-t.x)*(n-t.y)/(t.next.y-t.y)+t.x&&(i=!i),t=t.next;while(t!==r);return i}function EC(r,e){let t=y0(r.i,r.x,r.y),i=y0(e.i,e.x,e.y),s=r.next,n=e.prev;return r.next=e,e.prev=r,t.next=s,s.prev=t,i.next=t,t.prev=i,n.next=i,i.prev=n,i}function yC(r,e,t,i){let s=y0(r,e,t);return i?(s.next=i.next,s.prev=i,i.next.prev=s,i.next=s):(s.prev=s,s.next=s),s}function Rc(r){r.next.prev=r.prev,r.prev.next=r.next,r.prevZ&&(r.prevZ.nextZ=r.nextZ),r.nextZ&&(r.nextZ.prevZ=r.prevZ);}function y0(r,e,t){return {i:r,x:e,y:t,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:false}}function OD(r,e,t,i){let s=0;for(let n=e,o=t-i;n<t;n+=i)s+=(r[o]-r[n])*(r[n+1]+r[o+1]),o=n;return s}var AC=f(()=>{});var Hp,v0=f(()=>{AC();St();Hp=Np.default||Np;});function Za(r,e,t,i,s,n,o){let a=Hp(r,e,2);if(!a)return;for(let l=0;l<a.length;l+=3)n[o++]=a[l]+s,n[o++]=a[l+1]+s,n[o++]=a[l+2]+s;let u=s*i;for(let l=0;l<r.length;l+=2)t[u]=r[l],t[u+1]=r[l+1],u+=i;}var Vp=f(()=>{v0();});var GD,zp,T0=f(()=>{E();Vp();GD=[],zp={extension:{type:x.ShapeBuilder,name:"polygon"},build(r,e){for(let t=0;t<r.points.length;t++)e[t]=r.points[t];return true},triangulate(r,e,t,i,s,n){Za(r,GD,e,t,i,s,n);}};});var Wp,S0=f(()=>{E();Wp={extension:{type:x.ShapeBuilder,name:"rectangle"},build(r,e){let t=r,i=t.x,s=t.y,n=t.width,o=t.height;return n>0&&o>0?(e[0]=i,e[1]=s,e[2]=i+n,e[3]=s,e[4]=i+n,e[5]=s+o,e[6]=i,e[7]=s+o,true):false},triangulate(r,e,t,i,s,n){let o=0;i*=t,e[i+o]=r[0],e[i+o+1]=r[1],o+=t,e[i+o]=r[2],e[i+o+1]=r[3],o+=t,e[i+o]=r[6],e[i+o+1]=r[7],o+=t,e[i+o]=r[4],e[i+o+1]=r[5],o+=t;let a=i/t;s[n++]=a,s[n++]=a+1,s[n++]=a+2,s[n++]=a+1,s[n++]=a+3,s[n++]=a+2;}};});var Xp,E0=f(()=>{E();Xp={extension:{type:x.ShapeBuilder,name:"triangle"},build(r,e){return e[0]=r.x,e[1]=r.y,e[2]=r.x2,e[3]=r.y2,e[4]=r.x3,e[5]=r.y3,true},triangulate(r,e,t,i,s,n){let o=0;i*=t,e[i+o]=r[0],e[i+o+1]=r[1],o+=t,e[i+o]=r[2],e[i+o+1]=r[3],o+=t,e[i+o]=r[4],e[i+o+1]=r[5];let a=i/t;s[n++]=a,s[n++]=a+1,s[n++]=a+2;}};});function wC(r,e){for(let t=0;t<e.length;t++){let i=e[t];r.addColorStop(i.offset,i.color);}}function PC(r,e){let t=z.get().createCanvas(r,e),i=t.getContext("2d");return {canvas:t,context:i}}function UD(r){let e=r[0]??{};return (typeof e=="number"||r[1])&&(I("8.5.2","use options object instead"),e={type:"linear",start:{x:r[0],y:r[1]},end:{x:r[2],y:r[3]},textureSpace:r[4],textureSize:r[5]??kt.defaultLinearOptions.textureSize}),e}var CC,C0,kt,Yn=f(()=>{nt();Ee();ce();Hn();he();ht();me();cs();CC=[{offset:0,color:"white"},{offset:1,color:"black"}],C0=class A0{constructor(...e){this.uid=re("fillGradient"),this.type="linear",this.colorStops=[];let t=UD(e);t={...t.type==="radial"?A0.defaultRadialOptions:A0.defaultLinearOptions,...xt(t)},this._textureSize=t.textureSize,this._wrapMode=t.wrapMode,t.type==="radial"?(this.center=t.center,this.outerCenter=t.outerCenter??this.center,this.innerRadius=t.innerRadius,this.outerRadius=t.outerRadius,this.scale=t.scale,this.rotation=t.rotation):(this.start=t.start,this.end=t.end),this.textureSpace=t.textureSpace,this.type=t.type,t.colorStops.forEach(s=>{this.addColorStop(s.offset,s.color);});}addColorStop(e,t){return this.colorStops.push({offset:e,color:Z.shared.setValue(t).toHexa()}),this}buildLinearGradient(){if(this.texture)return;let{x:e,y:t}=this.start,{x:i,y:s}=this.end,n=i-e,o=s-t,a=n<0||o<0;if(this._wrapMode==="clamp-to-edge"){if(n<0){let g=e;e=i,i=g,n*=-1;}if(o<0){let g=t;t=s,s=g,o*=-1;}}let u=this.colorStops.length?this.colorStops:CC,l=this._textureSize,{canvas:c,context:h}=PC(l,1),d=a?h.createLinearGradient(this._textureSize,0,0,0):h.createLinearGradient(0,0,this._textureSize,0);wC(d,u),h.fillStyle=d,h.fillRect(0,0,l,1),this.texture=new C({source:new Mt({resource:c,addressMode:this._wrapMode})});let p=Math.sqrt(n*n+o*o),_=Math.atan2(o,n),b=new M;b.scale(p/l,1),b.rotate(_),b.translate(e,t),this.textureSpace==="local"&&b.scale(l,l),this.transform=b;}buildGradient(){this.type==="linear"?this.buildLinearGradient():this.buildRadialGradient();}buildRadialGradient(){if(this.texture)return;let e=this.colorStops.length?this.colorStops:CC,t=this._textureSize,{canvas:i,context:s}=PC(t,t),{x:n,y:o}=this.center,{x:a,y:u}=this.outerCenter,l=this.innerRadius,c=this.outerRadius,h=a-c,d=u-c,p=t/(c*2),_=(n-h)*p,b=(o-d)*p,g=s.createRadialGradient(_,b,l*p,(a-h)*p,(u-d)*p,c*p);wC(g,e),s.fillStyle=e[e.length-1].color,s.fillRect(0,0,t,t),s.fillStyle=g,s.translate(_,b),s.rotate(this.rotation),s.scale(1,this.scale),s.translate(-_,-b),s.fillRect(0,0,t,t),this.texture=new C({source:new Mt({resource:i,addressMode:this._wrapMode})});let m=new M;m.scale(1/p,1/p),m.translate(h,d),this.textureSpace==="local"&&m.scale(t,t),this.transform=m;}get styleKey(){return this.uid}destroy(){this.texture?.destroy(true),this.texture=null;}};C0.defaultLinearOptions={start:{x:0,y:0},end:{x:0,y:1},colorStops:[],textureSpace:"local",type:"linear",textureSize:256,wrapMode:"clamp-to-edge"};C0.defaultRadialOptions={center:{x:.5,y:.5},innerRadius:0,outerRadius:.5,colorStops:[],scale:1,textureSpace:"local",type:"radial",textureSize:256,wrapMode:"clamp-to-edge"};kt=C0;});function Yp(r,e,t,i){let s=e.matrix?r.copyFrom(e.matrix).invert():r.identity();if(e.textureSpace==="local"){let o=t.getBounds(ND);e.width&&o.pad(e.width);let{x:a,y:u}=o,l=1/o.width,c=1/o.height,h=-a*l,d=-u*c,p=s.a,_=s.b,b=s.c,g=s.d;s.a*=l,s.b*=l,s.c*=c,s.d*=c,s.tx=h*p+d*b+s.tx,s.ty=h*_+d*g+s.ty;}else s.translate(e.texture.frame.x,e.texture.frame.y),s.scale(1/e.texture.source.width,1/e.texture.source.height);let n=e.texture.source.style;return !(e.fill instanceof kt)&&n.addressMode==="clamp-to-edge"&&(n.addressMode="repeat",n.update()),i&&s.append(LD.copyFrom(i).invert()),s}var LD,ND,w0=f(()=>{ce();Je();Yn();LD=new M,ND=new Q;});function $p(r,e){let{geometryData:t,batches:i}=e;i.length=0,t.indices.length=0,t.vertices.length=0,t.uvs.length=0;for(let s=0;s<r.instructions.length;s++){let n=r.instructions[s];if(n.action==="texture")zD(n.data,i,t);else if(n.action==="fill"||n.action==="stroke"){let o=n.action==="stroke",a=n.data.path.shapePath,u=n.data.style,l=n.data.hole;o&&l&&BC(l.shapePath,u,true,i,t),l&&(a.shapePrimitives[a.shapePrimitives.length-1].holes=l.shapePath.shapePrimitives),BC(a,u,o,i,t);}}}function zD(r,e,t){let i=[],s=Qa.rectangle,n=HD;n.x=r.dx,n.y=r.dy,n.width=r.dw,n.height=r.dh;let o=r.transform;if(!s.build(n,i))return;let{vertices:a,uvs:u,indices:l}=t,c=l.length,h=a.length/2;o&&Cc(i,o),s.triangulate(i,a,2,h,l,c);let d=r.image,p=d.uvs;u.push(p.x0,p.y0,p.x1,p.y1,p.x3,p.y3,p.x2,p.y2);let _=Re.get(Hi);_.indexOffset=c,_.indexSize=l.length-c,_.attributeOffset=h,_.attributeSize=a.length/2-h,_.baseColor=r.style,_.alpha=r.alpha,_.texture=d,_.geometryData=t,e.push(_);}function BC(r,e,t,i,s){let{vertices:n,uvs:o,indices:a}=s;r.shapePrimitives.forEach(({shape:u,transform:l,holes:c})=>{let h=[],d=Qa[u.type];if(!d.build(u,h))return;let p=a.length,_=n.length/2,b="triangle-list";if(l&&Cc(h,l),t){let T=u.closePath??true,S=e;S.pixelLine?(Gp(h,T,n,a),b="line-list"):Op(h,S,false,T,n,a);}else if(c){let T=[],S=h.slice();WD(c).forEach(A=>{T.push(S.length/2),S.push(...A);}),Za(S,T,n,2,_,a,p);}else d.triangulate(h,n,2,_,a,p);let g=o.length/2,m=e.texture;if(m!==C.WHITE){let T=Yp(VD,e,u,l);Pp(n,2,_,o,g,2,n.length/2-_,T);}else Bp(o,g,2,n.length/2-_);let y=Re.get(Hi);y.indexOffset=p,y.indexSize=a.length-p,y.attributeOffset=_,y.attributeSize=n.length/2-_,y.baseColor=e.color,y.alpha=e.alpha,y.texture=m,y.geometryData=s,y.topology=b,i.push(y);});}function WD(r){let e=[];for(let t=0;t<r.length;t++){let i=r[t].shape,s=[];Qa[i.type].build(i,s)&&e.push(s);}return e}var Qa,HD,VD,P0=f(()=>{E();ce();Je();f0();p0();he();si();Rp();m0();x0();_0();T0();S0();E0();w0();Vp();Qa={};O.handleByMap(x.ShapeBuilder,Qa);O.add(Wp,zp,Xp,Ds,Mp,Dp);HD=new Q,VD=new M;});var Mc,Dc,R0,Is,Ic=f(()=>{E();gc();wp();vf();me();si();P0();Mc=class{constructor(){this.batches=[],this.geometryData={vertices:[],uvs:[],indices:[]};}},Dc=class{constructor(){this.instructions=new ls;}init(e){this.batcher=new zn({maxTextures:e}),this.instructions.reset();}get geometry(){return I(rf,"GraphicsContextRenderData#geometry is deprecated, please use batcher.geometry instead."),this.batcher.geometry}},R0=class B0{constructor(e){this._gpuContextHash={},this._graphicsDataContextHash=Object.create(null),this._renderer=e,e.renderableGC.addManagedHash(this,"_gpuContextHash"),e.renderableGC.addManagedHash(this,"_graphicsDataContextHash");}init(e){B0.defaultOptions.bezierSmoothness=e?.bezierSmoothness??B0.defaultOptions.bezierSmoothness;}getContextRenderData(e){return this._graphicsDataContextHash[e.uid]||this._initContextRenderData(e)}updateGpuContext(e){let t=this._gpuContextHash[e.uid]||this._initContext(e);if(e.dirty){t?this._cleanGraphicsContextData(e):t=this._initContext(e),$p(e,t);let i=e.batchMode;e.customShader||i==="no-batch"?t.isBatchable=false:i==="auto"?t.isBatchable=t.geometryData.vertices.length<400:t.isBatchable=true,e.dirty=false;}return t}getGpuContext(e){return this._gpuContextHash[e.uid]||this._initContext(e)}_initContextRenderData(e){let t=Re.get(Dc,{maxTextures:this._renderer.limits.maxBatchableTextures}),{batches:i,geometryData:s}=this._gpuContextHash[e.uid],n=s.vertices.length,o=s.indices.length;for(let c=0;c<i.length;c++)i[c].applyTransform=false;let a=t.batcher;a.ensureAttributeBuffer(n),a.ensureIndexBuffer(o),a.begin();for(let c=0;c<i.length;c++){let h=i[c];a.add(h);}a.finish(t.instructions);let u=a.geometry;u.indexBuffer.setDataWithSize(a.indexBuffer,a.indexSize,true),u.buffers[0].setDataWithSize(a.attributeBuffer.float32View,a.attributeSize,true);let l=a.batches;for(let c=0;c<l.length;c++){let h=l[c];h.bindGroup=vs(h.textures.textures,h.textures.count,this._renderer.limits.maxBatchableTextures);}return this._graphicsDataContextHash[e.uid]=t,t}_initContext(e){let t=new Mc;return t.context=e,this._gpuContextHash[e.uid]=t,e.on("destroy",this.onGraphicsContextDestroy,this),this._gpuContextHash[e.uid]}onGraphicsContextDestroy(e){this._cleanGraphicsContextData(e),e.off("destroy",this.onGraphicsContextDestroy,this),this._gpuContextHash[e.uid]=null;}_cleanGraphicsContextData(e){let t=this._gpuContextHash[e.uid];t.isBatchable||this._graphicsDataContextHash[e.uid]&&(Re.return(this.getContextRenderData(e)),this._graphicsDataContextHash[e.uid]=null),t.batches&&t.batches.forEach(i=>{Re.return(i);});}destroy(){for(let e in this._gpuContextHash)this._gpuContextHash[e]&&this.onGraphicsContextDestroy(this._gpuContextHash[e].context);}};R0.extension={type:[x.WebGLSystem,x.WebGPUSystem,x.CanvasSystem],name:"graphicsContext"};R0.defaultOptions={bezierSmoothness:.5};Is=R0;});var XD,M0,D0,I0,k0,F0,O0,G0,Ue,hr=f(()=>{XD={normal:0,add:1,multiply:2,screen:3,overlay:4,erase:5,"normal-npm":6,"add-npm":7,"screen-npm":8,min:9,max:10},M0=0,D0=1,I0=2,k0=3,F0=4,O0=5,G0=class RC{constructor(){this.data=0,this.blendMode="normal",this.polygonOffset=0,this.blend=true,this.depthMask=true;}get blend(){return !!(this.data&1<<M0)}set blend(e){!!(this.data&1<<M0)!==e&&(this.data^=1<<M0);}get offsets(){return !!(this.data&1<<D0)}set offsets(e){!!(this.data&1<<D0)!==e&&(this.data^=1<<D0);}set cullMode(e){if(e==="none"){this.culling=false;return}this.culling=true,this.clockwiseFrontFace=e==="front";}get cullMode(){return this.culling?this.clockwiseFrontFace?"front":"back":"none"}get culling(){return !!(this.data&1<<I0)}set culling(e){!!(this.data&1<<I0)!==e&&(this.data^=1<<I0);}get depthTest(){return !!(this.data&1<<k0)}set depthTest(e){!!(this.data&1<<k0)!==e&&(this.data^=1<<k0);}get depthMask(){return !!(this.data&1<<O0)}set depthMask(e){!!(this.data&1<<O0)!==e&&(this.data^=1<<O0);}get clockwiseFrontFace(){return !!(this.data&1<<F0)}set clockwiseFrontFace(e){!!(this.data&1<<F0)!==e&&(this.data^=1<<F0);}get blendMode(){return this._blendMode}set blendMode(e){this.blend=e!=="none",this._blendMode=e,this._blendModeId=XD[e]||0;}get polygonOffset(){return this._polygonOffset}set polygonOffset(e){this.offsets=!!e,this._polygonOffset=e;}toString(){return `[pixi.js/core:State blendMode=${this.blendMode} clockwiseFrontFace=${this.clockwiseFrontFace} culling=${this.culling} depthMask=${this.depthMask} polygonOffset=${this.polygonOffset}]`}static for2d(){let e=new RC;return e.depthTest=false,e.blend=true,e}};G0.default2d=G0.for2d();Ue=G0;});function MC(r,e,t,i){t[i++]=(r>>16&255)/255,t[i++]=(r>>8&255)/255,t[i++]=(r&255)/255,t[i++]=e;}function wr(r,e,t){let i=(r>>24&255)/255;e[t++]=(r&255)/255*i,e[t++]=(r>>8&255)/255*i,e[t++]=(r>>16&255)/255*i,e[t++]=i;}var $n=f(()=>{});var kc,qn,U0=f(()=>{E();hr();si();$n();Rp();kc=class{constructor(){this.batches=[],this.batched=false;}destroy(){this.batches.forEach(e=>{Re.return(e);}),this.batches.length=0;}},qn=class{constructor(e,t){this.state=Ue.for2d(),this.renderer=e,this._adaptor=t,this.renderer.runners.contextChange.add(this);}contextChange(){this._adaptor.contextChange(this.renderer);}validateRenderable(e){let t=e.context,i=!!e._gpuData,s=this.renderer.graphicsContext.updateGpuContext(t);return !!(s.isBatchable||i!==s.isBatchable)}addRenderable(e,t){let i=this.renderer.graphicsContext.updateGpuContext(e.context);e.didViewUpdate&&this._rebuild(e),i.isBatchable?this._addToBatcher(e,t):(this.renderer.renderPipes.batch.break(t),t.add(e));}updateRenderable(e){let i=this._getGpuDataForRenderable(e).batches;for(let s=0;s<i.length;s++){let n=i[s];n._batcher.updateElement(n);}}execute(e){if(!e.isRenderable)return;let t=this.renderer,i=e.context;if(!t.graphicsContext.getGpuContext(i).batches.length)return;let n=i.customShader||this._adaptor.shader;this.state.blendMode=e.groupBlendMode;let o=n.resources.localUniforms.uniforms;o.uTransformMatrix=e.groupTransform,o.uRound=t._roundPixels|e._roundPixels,wr(e.groupColorAlpha,o.uColor,0),this._adaptor.execute(this,e);}_rebuild(e){let t=this._getGpuDataForRenderable(e),i=this.renderer.graphicsContext.updateGpuContext(e.context);t.destroy(),i.isBatchable&&this._updateBatchesForRenderable(e,t);}_addToBatcher(e,t){let i=this.renderer.renderPipes.batch,s=this._getGpuDataForRenderable(e).batches;for(let n=0;n<s.length;n++){let o=s[n];i.addToBatch(o,t);}}_getGpuDataForRenderable(e){return e._gpuData[this.renderer.uid]||this._initGpuDataForRenderable(e)}_initGpuDataForRenderable(e){let t=new kc;return e._gpuData[this.renderer.uid]=t,t}_updateBatchesForRenderable(e,t){let i=e.context,s=this.renderer.graphicsContext.getGpuContext(i),n=this.renderer._roundPixels|e._roundPixels;t.batches=s.batches.map(o=>{let a=Re.get(Hi);return o.copyTo(a),a.renderable=e,a.roundPixels=n,a});}destroy(){this.renderer=null,this._adaptor.destroy(),this._adaptor=null,this.state=null;}};qn.extension={type:[x.WebGLPipes,x.WebGPUPipes,x.CanvasPipes],name:"graphics"};});var L0=f(()=>{E();Ic();U0();O.add(qn);O.add(Is);});var li,Fc=f(()=>{li=class{constructor(){this.batcherName="default",this.packAsQuad=false,this.indexOffset=0,this.attributeOffset=0,this.roundPixels=0,this._batcher=null,this._batch=null,this._textureMatrixUpdateId=-1,this._uvUpdateId=-1;}get blendMode(){return this.renderable.groupBlendMode}get topology(){return this._topology||this.geometry.topology}set topology(e){this._topology=e;}reset(){this.renderable=null,this.texture=null,this._batcher=null,this._batch=null,this.geometry=null,this._uvUpdateId=-1,this._textureMatrixUpdateId=-1;}setTexture(e){this.texture!==e&&(this.texture=e,this._textureMatrixUpdateId=-1);}get uvs(){let t=this.geometry.getBuffer("aUV"),i=t.data,s=i,n=this.texture.textureMatrix;return n.isSimple||(s=this._transformedUvs,(this._textureMatrixUpdateId!==n._updateID||this._uvUpdateId!==t._updateID)&&((!s||s.length<i.length)&&(s=this._transformedUvs=new Float32Array(i.length)),this._textureMatrixUpdateId=n._updateID,this._uvUpdateId=t._updateID,n.multiplyUvs(i,s))),s}get positions(){return this.geometry.positions}get indices(){return this.geometry.indices}get color(){return this.renderable.groupColorAlpha}get groupTransform(){return this.renderable.groupTransform}get attributeSize(){return this.geometry.positions.length/2}get indexSize(){return this.geometry.indices.length}};});var Ja,jn,N0=f(()=>{E();ce();Gi();et();La();$n();Fc();Ja=class{destroy(){}},jn=class{constructor(e,t){this.localUniforms=new ae({uTransformMatrix:{value:new M,type:"mat3x3<f32>"},uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uRound:{value:0,type:"f32"}}),this.localUniformsBindGroup=new at({0:this.localUniforms}),this.renderer=e,this._adaptor=t,this._adaptor.init();}validateRenderable(e){let t=this._getMeshData(e),i=t.batched,s=e.batched;if(t.batched=s,i!==s)return true;if(s){let n=e._geometry;if(n.indices.length!==t.indexSize||n.positions.length!==t.vertexSize)return t.indexSize=n.indices.length,t.vertexSize=n.positions.length,true;let o=this._getBatchableMesh(e);return o.texture.uid!==e._texture.uid&&(o._textureMatrixUpdateId=-1),!o._batcher.checkAndUpdateTexture(o,e._texture)}return false}addRenderable(e,t){let i=this.renderer.renderPipes.batch,{batched:s}=this._getMeshData(e);if(s){let n=this._getBatchableMesh(e);n.setTexture(e._texture),n.geometry=e._geometry,i.addToBatch(n,t);}else i.break(t),t.add(e);}updateRenderable(e){if(e.batched){let t=this._getBatchableMesh(e);t.setTexture(e._texture),t.geometry=e._geometry,t._batcher.updateElement(t);}}execute(e){if(!e.isRenderable)return;e.state.blendMode=Lr(e.groupBlendMode,e.texture._source);let t=this.localUniforms;t.uniforms.uTransformMatrix=e.groupTransform,t.uniforms.uRound=this.renderer._roundPixels|e._roundPixels,t.update(),wr(e.groupColorAlpha,t.uniforms.uColor,0),this._adaptor.execute(this,e);}_getMeshData(e){var t,i;return (t=e._gpuData)[i=this.renderer.uid]||(t[i]=new Ja),e._gpuData[this.renderer.uid].meshData||this._initMeshData(e)}_initMeshData(e){return e._gpuData[this.renderer.uid].meshData={batched:e.batched,indexSize:e._geometry.indices?.length,vertexSize:e._geometry.positions?.length},e._gpuData[this.renderer.uid].meshData}_getBatchableMesh(e){var t,i;return (t=e._gpuData)[i=this.renderer.uid]||(t[i]=new Ja),e._gpuData[this.renderer.uid].batchableMesh||this._initBatchableMesh(e)}_initBatchableMesh(e){let t=new li;return t.renderable=e,t.setTexture(e._texture),t.transform=e.groupTransform,t.roundPixels=this.renderer._roundPixels|e._roundPixels,e._gpuData[this.renderer.uid].batchableMesh=t,t}destroy(){this.localUniforms=null,this.localUniformsBindGroup=null,this._adaptor.destroy(),this._adaptor=null,this.renderer=null;}};jn.extension={type:[x.WebGLPipes,x.WebGPUPipes,x.CanvasPipes],name:"mesh"};});var H0=f(()=>{E();N0();O.add(jn);});var eu,V0=f(()=>{eu=class{execute(e,t){let i=e.state,s=e.renderer,n=t.shader||e.defaultShader;n.resources.uTexture=t.texture._source,n.resources.uniforms=e.localUniforms;let o=s.gl,a=e.getBuffers(t);s.shader.bind(n),s.state.set(i),s.geometry.bind(a.geometry,n.glProgram);let l=a.geometry.indexBuffer.data.BYTES_PER_ELEMENT===2?o.UNSIGNED_SHORT:o.UNSIGNED_INT;o.drawElements(o.TRIANGLES,t.particleChildren.length*6,l,0);}};});function Oc(r,e=null){let t=r*6;if(t>65535?e||(e=new Uint32Array(t)):e||(e=new Uint16Array(t)),e.length!==t)throw new Error(`Out buffer length is incorrect, got ${e.length} and expected ${t}`);for(let i=0,s=0;i<t;i+=6,s+=4)e[i+0]=s+0,e[i+1]=s+1,e[i+2]=s+2,e[i+3]=s+0,e[i+4]=s+2,e[i+5]=s+3;return e}var z0=f(()=>{});function qp(r){return {dynamicUpdate:DC(r,true),staticUpdate:DC(r,false)}}function DC(r,e){let t=[];t.push(`
|
|
260
|
+
`}};});var Ec,Ap,l0=f(()=>{Ec=["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>"],Ap=Ec.reduce((r,e)=>(r[e]=true,r),{});});function Cp(r,e){switch(r){case "f32":return 0;case "vec2<f32>":return new Float32Array(2*e);case "vec3<f32>":return new Float32Array(3*e);case "vec4<f32>":return new Float32Array(4*e);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 c0=f(()=>{});var fC,ae,et=f(()=>{ht();Xa();l0();c0();fC=class pC{constructor(e,t){this._touched=0,this.uid=re("uniform"),this._resourceType="uniformGroup",this._resourceId=re("resource"),this.isUniformGroup=true,this._dirtyId=0,this.destroyed=false,t={...pC.defaultOptions,...t},this.uniformStructures=e;let i={};for(let s in e){let n=e[s];if(n.name=s,n.size=n.size??1,!Ap[n.type])throw new Error(`Uniform type ${n.type} is not supported. Supported uniform types are: ${Ec.join(", ")}`);n.value??(n.value=Cp(n.type,n.size)),i[s]=n.value;}this.uniforms=i,this._dirtyId=1,this.ubo=t.ubo,this.isStatic=t.isStatic,this._signature=Nr(Object.keys(i).map(s=>`${s}-${e[s].type}`).join("-"),"uniform-group");}update(){this._dirtyId++;}};fC.defaultOptions={ubo:false,isStatic:false};ae=fC;});function Ms(r){let e=mC[r];if(e)return e;let t=new Int32Array(r);for(let i=0;i<r;i++)t[i]=i;return e=mC[r]=new ae({uTextures:{value:t,type:"i32",size:r}},{isStatic:true}),e}var mC,Ac=f(()=>{et();mC={};});var Oe,cr=f(()=>{Oe=(r=>(r[r.WEBGL=1]="WEBGL",r[r.WEBGPU=2]="WEBGPU",r[r.BOTH=3]="BOTH",r))(Oe||{});});var ze,Cr=f(()=>{St();ht();Kt();Gi();lr();cr();et();ze=class r extends ue{constructor(e){super(),this.uid=re("shader"),this._uniformBindMap=Object.create(null),this._ownedBindGroups=[];let{gpuProgram:t,glProgram:i,groups:s,resources:n,compatibleRenderers:o,groupMap:a}=e;this.gpuProgram=t,this.glProgram=i,o===void 0&&(o=0,t&&(o|=Oe.WEBGPU),i&&(o|=Oe.WEBGL)),this.compatibleRenderers=o;let u={};if(!n&&!s&&(n={}),n&&s)throw new Error("[Shader] Cannot have both resources and groups");if(!t&&s&&!a)throw new Error("[Shader] No group map or WebGPU shader provided - consider using resources instead.");if(!t&&s&&a)for(let l in a)for(let c in a[l]){let h=a[l][c];u[h]={group:l,binding:c,name:h};}else if(t&&s&&!a){let l=t.structsAndGroups.groups;a={},l.forEach(c=>{a[c.group]=a[c.group]||{},a[c.group][c.binding]=c.name,u[c.name]=c;});}else if(n){s={},a={},t&&t.structsAndGroups.groups.forEach(h=>{a[h.group]=a[h.group]||{},a[h.group][h.binding]=h.name,u[h.name]=h;});let l=0;for(let c in n)u[c]||(s[99]||(s[99]=new at,this._ownedBindGroups.push(s[99])),u[c]={group:99,binding:l,name:c},a[99]=a[99]||{},a[99][l]=c,l++);for(let c in n){let h=c,d=n[c];!d.source&&!d._resourceType&&(d=new ae(d));let p=u[h];p&&(s[p.group]||(s[p.group]=new at,this._ownedBindGroups.push(s[p.group])),s[p.group].setResource(d,p.binding));}}this.groups=s,this._uniformBindMap=a,this.resources=this._buildResourceAccessor(s,u);}addResource(e,t,i){var s,n;(s=this._uniformBindMap)[t]||(s[t]={}),(n=this._uniformBindMap[t])[i]||(n[i]=e),this.groups[t]||(this.groups[t]=new at,this._ownedBindGroups.push(this.groups[t]));}_buildResourceAccessor(e,t){let i={};for(let s in t){let n=t[s];Object.defineProperty(i,n.name,{get(){return e[n.group].getResource(n.binding)},set(o){e[n.group].setResource(o,n.binding);}});}return i}destroy(e=false){this.emit("destroy",this),e&&(this.gpuProgram?.destroy(),this.glProgram?.destroy()),this.gpuProgram=null,this.glProgram=null,this.removeAllListeners(),this._uniformBindMap=null,this._ownedBindGroups.forEach(t=>{t.destroy();}),this._ownedBindGroups=null,this.resources=null,this.groups=null;}static from(e){let{gpu:t,gl:i,...s}=e,n,o;return t&&(n=Fe.from(t)),i&&(o=ke.from(i)),new r({gpuProgram:n,glProgram:o,...s})}};});var ja,h0=f(()=>{Li();$a();qa();Ni();Ac();Cr();ja=class extends ze{constructor(e){let t=Sr({name:"batch",bits:[Ps,Rs(e),Ar]}),i=Tr({name:"batch",bits:[ws,Bs(e),Er]});super({glProgram:t,gpuProgram:i,resources:{batchSamplers:Ms(e)}});}};});var d0,gC,zn,wp=f(()=>{E();My();ky();h0();d0=null,gC=class xC extends ip{constructor(e){super(e),this.geometry=new Wa,this.name=xC.extension.name,this.vertexSize=6,d0??(d0=new ja(e.maxTextures)),this.shader=d0;}packAttributes(e,t,i,s,n){let o=n<<16|e.roundPixels&65535,a=e.transform,u=a.a,l=a.b,c=a.c,h=a.d,d=a.tx,p=a.ty,{positions:_,uvs:b}=e,g=e.color,m=e.attributeOffset,y=m+e.attributeSize;for(let T=m;T<y;T++){let S=T*2,w=_[S],A=_[S+1];t[s++]=u*w+c*A+d,t[s++]=h*A+l*w+p,t[s++]=b[S],t[s++]=b[S+1],i[s++]=g,i[s++]=o;}}packQuadAttributes(e,t,i,s,n){let o=e.texture,a=e.transform,u=a.a,l=a.b,c=a.c,h=a.d,d=a.tx,p=a.ty,_=e.bounds,b=_.maxX,g=_.minX,m=_.maxY,y=_.minY,T=o.uvs,S=e.color,w=n<<16|e.roundPixels&65535;t[s+0]=u*g+c*y+d,t[s+1]=h*y+l*g+p,t[s+2]=T.x0,t[s+3]=T.y0,i[s+4]=S,i[s+5]=w,t[s+6]=u*b+c*y+d,t[s+7]=h*y+l*b+p,t[s+8]=T.x1,t[s+9]=T.y1,i[s+10]=S,i[s+11]=w,t[s+12]=u*b+c*m+d,t[s+13]=h*m+l*b+p,t[s+14]=T.x2,t[s+15]=T.y2,i[s+16]=S,i[s+17]=w,t[s+18]=u*g+c*m+d,t[s+19]=h*m+l*g+p,t[s+20]=T.x3,t[s+21]=T.y3,i[s+22]=S,i[s+23]=w;}};gC.extension={type:[x.Batcher],name:"default"};zn=gC;});function Pp(r,e,t,i,s,n,o,a=null){let u=0;t*=e,s*=n;let l=a.a,c=a.b,h=a.c,d=a.d,p=a.tx,_=a.ty;for(;u<o;){let b=r[t],g=r[t+1];i[s]=l*b+h*g+p,i[s+1]=c*b+d*g+_,s+=n,t+=e,u++;}}function Bp(r,e,t,i){let s=0;for(e*=t;s<i;)r[e]=0,r[e+1]=0,e+=t,s++;}var f0=f(()=>{});function Cc(r,e,t,i,s){let n=e.a,o=e.b,a=e.c,u=e.d,l=e.tx,c=e.ty;t||(t=0),i||(i=2),s||(s=r.length/i-t);let h=t*i;for(let d=0;d<s;d++){let p=r[h],_=r[h+1];r[h]=n*p+a*_+l,r[h+1]=o*p+u*_+c,h+=i;}}var p0=f(()=>{});var yD,Hi,Rp=f(()=>{ce();ff();yD=new M,Hi=class{constructor(){this.packAsQuad=false,this.batcherName="default",this.topology="triangle-list",this.applyTransform=true,this.roundPixels=0,this._batcher=null,this._batch=null;}get uvs(){return this.geometryData.uvs}get positions(){return this.geometryData.vertices}get indices(){return this.geometryData.indices}get blendMode(){return this.renderable&&this.applyTransform?this.renderable.groupBlendMode:"normal"}get color(){let e=this.baseColor,t=e>>16|e&65280|(e&255)<<16,i=this.renderable;return i?Ba(t,i.groupColor)+(this.alpha*i.groupAlpha*255<<24):t+(this.alpha*255<<24)}get transform(){return this.renderable?.groupTransform||yD}copyTo(e){e.indexOffset=this.indexOffset,e.indexSize=this.indexSize,e.attributeOffset=this.attributeOffset,e.attributeSize=this.attributeSize,e.baseColor=this.baseColor,e.alpha=this.alpha,e.texture=this.texture,e.geometryData=this.geometryData,e.topology=this.topology;}reset(){this.applyTransform=true,this.renderable=null,this.topology="triangle-list";}};});var Ds,Mp,Dp,m0=f(()=>{E();Ds={extension:{type:x.ShapeBuilder,name:"circle"},build(r,e){let t,i,s,n,o,a;if(r.type==="circle"){let S=r;if(o=a=S.radius,o<=0)return false;t=S.x,i=S.y,s=n=0;}else if(r.type==="ellipse"){let S=r;if(o=S.halfWidth,a=S.halfHeight,o<=0||a<=0)return false;t=S.x,i=S.y,s=n=0;}else {let S=r,w=S.width/2,A=S.height/2;t=S.x+w,i=S.y+A,o=a=Math.max(0,Math.min(S.radius,Math.min(w,A))),s=w-o,n=A-a;}if(s<0||n<0)return false;let u=Math.ceil(2.3*Math.sqrt(o+a)),l=u*8+(s?4:0)+(n?4:0);if(l===0)return false;if(u===0)return e[0]=e[6]=t+s,e[1]=e[3]=i+n,e[2]=e[4]=t-s,e[5]=e[7]=i-n,true;let c=0,h=u*4+(s?2:0)+2,d=h,p=l,_=s+o,b=n,g=t+_,m=t-_,y=i+b;if(e[c++]=g,e[c++]=y,e[--h]=y,e[--h]=m,n){let S=i-b;e[d++]=m,e[d++]=S,e[--p]=S,e[--p]=g;}for(let S=1;S<u;S++){let w=Math.PI/2*(S/u),A=s+Math.cos(w)*o,P=n+Math.sin(w)*a,N=t+A,D=t-A,U=i+P,F=i-P;e[c++]=N,e[c++]=U,e[--h]=U,e[--h]=D,e[d++]=D,e[d++]=F,e[--p]=F,e[--p]=N;}_=s,b=n+a,g=t+_,m=t-_,y=i+b;let T=i-b;return e[c++]=g,e[c++]=y,e[--p]=T,e[--p]=g,s&&(e[c++]=m,e[c++]=y,e[--p]=T,e[--p]=m),true},triangulate(r,e,t,i,s,n){if(r.length===0)return;let o=0,a=0;for(let c=0;c<r.length;c+=2)o+=r[c],a+=r[c+1];o/=r.length/2,a/=r.length/2;let u=i;e[u*t]=o,e[u*t+1]=a;let l=u++;for(let c=0;c<r.length;c+=2)e[u*t]=r[c],e[u*t+1]=r[c+1],c>0&&(s[n++]=u,s[n++]=l,s[n++]=u-1),u++;s[n++]=l+1,s[n++]=l,s[n++]=u-1;}},Mp={...Ds,extension:{...Ds.extension,name:"ellipse"}},Dp={...Ds,extension:{...Ds.extension,name:"roundedRectangle"}};});var Ip,kp,_C=f(()=>{Ip=1e-4,kp=1e-4;});function Fp(r){let e=r.length;if(e<6)return 1;let t=0;for(let i=0,s=r[e-2],n=r[e-1];i<e;i+=2){let o=r[i],a=r[i+1];t+=(o-s)*(a+n),s=o,n=a;}return t<0?-1:1}var g0=f(()=>{});function bC(r,e,t,i,s,n,o,a){let u=r-t*s,l=e-i*s,c=r+t*n,h=e+i*n,d,p;o?(d=i,p=-t):(d=-i,p=t);let _=u+d,b=l+p,g=c+d,m=h+p;return a.push(_,b),a.push(g,m),2}function Wn(r,e,t,i,s,n,o,a){let u=t-r,l=i-e,c=Math.atan2(u,l),h=Math.atan2(s-r,n-e);a&&c<h?c+=Math.PI*2:!a&&c>h&&(h+=Math.PI*2);let d=c,p=h-c,_=Math.abs(p),b=Math.sqrt(u*u+l*l),g=(15*_*Math.sqrt(b)/Math.PI>>0)+1,m=p/g;if(d+=m,a){o.push(r,e),o.push(t,i);for(let y=1,T=d;y<g;y++,T+=m)o.push(r,e),o.push(r+Math.sin(T)*b,e+Math.cos(T)*b);o.push(r,e),o.push(s,n);}else {o.push(t,i),o.push(r,e);for(let y=1,T=d;y<g;y++,T+=m)o.push(r+Math.sin(T)*b,e+Math.cos(T)*b),o.push(r,e);o.push(s,n),o.push(r,e);}return g*2}function Op(r,e,t,i,s,n){let o=1e-4;if(r.length===0)return;let a=e,u=a.alignment;if(e.alignment!==.5){let Ie=Fp(r);t&&(Ie*=-1),u=(u-.5)*Ie+.5;}let l=new ne(r[0],r[1]),c=new ne(r[r.length-2],r[r.length-1]),h=i,d=Math.abs(l.x-c.x)<o&&Math.abs(l.y-c.y)<o;if(h){r=r.slice(),d&&(r.pop(),r.pop(),c.set(r[r.length-2],r[r.length-1]));let Ie=(l.x+c.x)*.5,ss=(c.y+l.y)*.5;r.unshift(Ie,ss),r.push(Ie,ss);}let p=s,_=r.length/2,b=r.length,g=p.length/2,m=a.width/2,y=m*m,T=a.miterLimit*a.miterLimit,S=r[0],w=r[1],A=r[2],P=r[3],N=0,D=0,U=-(w-P),F=S-A,ee=0,_e=0,Qe=Math.sqrt(U*U+F*F);U/=Qe,F/=Qe,U*=m,F*=m;let is=u,W=(1-is)*2,j=is*2;h||(a.cap==="round"?b+=Wn(S-U*(W-j)*.5,w-F*(W-j)*.5,S-U*W,w-F*W,S+U*j,w+F*j,p,true)+2:a.cap==="square"&&(b+=bC(S,w,U,F,W,j,true,p))),p.push(S-U*W,w-F*W),p.push(S+U*j,w+F*j);for(let Ie=1;Ie<_-1;++Ie){S=r[(Ie-1)*2],w=r[(Ie-1)*2+1],A=r[Ie*2],P=r[Ie*2+1],N=r[(Ie+1)*2],D=r[(Ie+1)*2+1],U=-(w-P),F=S-A,Qe=Math.sqrt(U*U+F*F),U/=Qe,F/=Qe,U*=m,F*=m,ee=-(P-D),_e=A-N,Qe=Math.sqrt(ee*ee+_e*_e),ee/=Qe,_e/=Qe,ee*=m,_e*=m;let ss=A-S,Wl=w-P,Xl=A-N,Yl=D-P,VE=ss*Xl+Wl*Yl,Vd=Wl*Xl-Yl*ss,$l=Vd<0;if(Math.abs(Vd)<.001*Math.abs(VE)){p.push(A-U*W,P-F*W),p.push(A+U*j,P+F*j),VE>=0&&(a.join==="round"?b+=Wn(A,P,A-U*W,P-F*W,A-ee*W,P-_e*W,p,false)+4:b+=2,p.push(A-ee*j,P-_e*j),p.push(A+ee*W,P+_e*W));continue}let zE=(-U+S)*(-F+P)-(-U+A)*(-F+w),WE=(-ee+N)*(-_e+P)-(-ee+A)*(-_e+D),zd=(ss*WE-Xl*zE)/Vd,Wd=(Yl*zE-Wl*WE)/Vd,yb=(zd-A)*(zd-A)+(Wd-P)*(Wd-P),vn=A+(zd-A)*W,Tn=P+(Wd-P)*W,Sn=A-(zd-A)*j,En=P-(Wd-P)*j,pM=Math.min(ss*ss+Wl*Wl,Xl*Xl+Yl*Yl),XE=$l?W:j,mM=pM+XE*XE*y;yb<=mM?a.join==="bevel"||yb/y>T?($l?(p.push(vn,Tn),p.push(A+U*j,P+F*j),p.push(vn,Tn),p.push(A+ee*j,P+_e*j)):(p.push(A-U*W,P-F*W),p.push(Sn,En),p.push(A-ee*W,P-_e*W),p.push(Sn,En)),b+=2):a.join==="round"?$l?(p.push(vn,Tn),p.push(A+U*j,P+F*j),b+=Wn(A,P,A+U*j,P+F*j,A+ee*j,P+_e*j,p,true)+4,p.push(vn,Tn),p.push(A+ee*j,P+_e*j)):(p.push(A-U*W,P-F*W),p.push(Sn,En),b+=Wn(A,P,A-U*W,P-F*W,A-ee*W,P-_e*W,p,false)+4,p.push(A-ee*W,P-_e*W),p.push(Sn,En)):(p.push(vn,Tn),p.push(Sn,En)):(p.push(A-U*W,P-F*W),p.push(A+U*j,P+F*j),a.join==="round"?$l?b+=Wn(A,P,A+U*j,P+F*j,A+ee*j,P+_e*j,p,true)+2:b+=Wn(A,P,A-U*W,P-F*W,A-ee*W,P-_e*W,p,false)+2:a.join==="miter"&&yb/y<=T&&($l?(p.push(Sn,En),p.push(Sn,En)):(p.push(vn,Tn),p.push(vn,Tn)),b+=2),p.push(A-ee*W,P-_e*W),p.push(A+ee*j,P+_e*j),b+=2);}S=r[(_-2)*2],w=r[(_-2)*2+1],A=r[(_-1)*2],P=r[(_-1)*2+1],U=-(w-P),F=S-A,Qe=Math.sqrt(U*U+F*F),U/=Qe,F/=Qe,U*=m,F*=m,p.push(A-U*W,P-F*W),p.push(A+U*j,P+F*j),h||(a.cap==="round"?b+=Wn(A-U*(W-j)*.5,P-F*(W-j)*.5,A-U*W,P-F*W,A+U*j,P+F*j,p,false)+2:a.cap==="square"&&(b+=bC(A,P,U,F,W,j,false,p)));let bb=1e-4*1e-4;for(let Ie=g;Ie<b+g-2;++Ie)S=p[Ie*2],w=p[Ie*2+1],A=p[(Ie+1)*2],P=p[(Ie+1)*2+1],N=p[(Ie+2)*2],D=p[(Ie+2)*2+1],!(Math.abs(S*(P-D)+A*(D-w)+N*(w-P))<bb)&&n.push(Ie,Ie+1,Ie+2);}var x0=f(()=>{jt();g0();});function Gp(r,e,t,i){let s=1e-4;if(r.length===0)return;let n=r[0],o=r[1],a=r[r.length-2],u=r[r.length-1],l=e||Math.abs(n-a)<s&&Math.abs(o-u)<s,c=t,h=r.length/2,d=c.length/2;for(let p=0;p<h;p++)c.push(r[p*2]),c.push(r[p*2+1]);for(let p=0;p<h-1;p++)i.push(d+p,d+p+1);l&&i.push(d+h-1,d);}var _0=f(()=>{});function Np(r,e,t=2){let i=e&&e.length,s=i?e[0]*t:r.length,n=vC(r,0,s,t,true),o=[];if(!n||n.next===n.prev)return o;let a,u,l;if(i&&(n=AD(r,e,n,t)),r.length>80*t){a=r[0],u=r[1];let c=a,h=u;for(let d=t;d<s;d+=t){let p=r[d],_=r[d+1];p<a&&(a=p),_<u&&(u=_),p>c&&(c=p),_>h&&(h=_);}l=Math.max(c-a,h-u),l=l!==0?32767/l:0;}return Pc(n,o,t,a,u,l,0),o}function vC(r,e,t,i,s){let n;if(s===OD(r,e,t,i)>0)for(let o=e;o<t;o+=i)n=yC(o/i|0,r[o],r[o+1],n);else for(let o=t-i;o>=e;o-=i)n=yC(o/i|0,r[o],r[o+1],n);return n&&Ka(n,n.next)&&(Rc(n),n=n.next),n}function Xn(r,e){if(!r)return r;e||(e=r);let t=r,i;do if(i=false,!t.steiner&&(Ka(t,t.next)||qe(t.prev,t,t.next)===0)){if(Rc(t),t=e=t.prev,t===t.next)break;i=true;}else t=t.next;while(i||t!==e);return e}function Pc(r,e,t,i,s,n,o){if(!r)return;!o&&n&&RD(r,i,s,n);let a=r;for(;r.prev!==r.next;){let u=r.prev,l=r.next;if(n?TD(r,i,s,n):vD(r)){e.push(u.i,r.i,l.i),Rc(r),r=l.next,a=l.next;continue}if(r=l,r===a){o?o===1?(r=SD(Xn(r),e),Pc(r,e,t,i,s,n,2)):o===2&&ED(r,e,t,i,s,n):Pc(Xn(r),e,t,i,s,n,1);break}}}function vD(r){let e=r.prev,t=r,i=r.next;if(qe(e,t,i)>=0)return false;let s=e.x,n=t.x,o=i.x,a=e.y,u=t.y,l=i.y,c=Math.min(s,n,o),h=Math.min(a,u,l),d=Math.max(s,n,o),p=Math.max(a,u,l),_=i.next;for(;_!==e;){if(_.x>=c&&_.x<=d&&_.y>=h&&_.y<=p&&wc(s,a,n,u,o,l,_.x,_.y)&&qe(_.prev,_,_.next)>=0)return false;_=_.next;}return true}function TD(r,e,t,i){let s=r.prev,n=r,o=r.next;if(qe(s,n,o)>=0)return false;let a=s.x,u=n.x,l=o.x,c=s.y,h=n.y,d=o.y,p=Math.min(a,u,l),_=Math.min(c,h,d),b=Math.max(a,u,l),g=Math.max(c,h,d),m=b0(p,_,e,t,i),y=b0(b,g,e,t,i),T=r.prevZ,S=r.nextZ;for(;T&&T.z>=m&&S&&S.z<=y;){if(T.x>=p&&T.x<=b&&T.y>=_&&T.y<=g&&T!==s&&T!==o&&wc(a,c,u,h,l,d,T.x,T.y)&&qe(T.prev,T,T.next)>=0||(T=T.prevZ,S.x>=p&&S.x<=b&&S.y>=_&&S.y<=g&&S!==s&&S!==o&&wc(a,c,u,h,l,d,S.x,S.y)&&qe(S.prev,S,S.next)>=0))return false;S=S.nextZ;}for(;T&&T.z>=m;){if(T.x>=p&&T.x<=b&&T.y>=_&&T.y<=g&&T!==s&&T!==o&&wc(a,c,u,h,l,d,T.x,T.y)&&qe(T.prev,T,T.next)>=0)return false;T=T.prevZ;}for(;S&&S.z<=y;){if(S.x>=p&&S.x<=b&&S.y>=_&&S.y<=g&&S!==s&&S!==o&&wc(a,c,u,h,l,d,S.x,S.y)&&qe(S.prev,S,S.next)>=0)return false;S=S.nextZ;}return true}function SD(r,e){let t=r;do{let i=t.prev,s=t.next.next;!Ka(i,s)&&SC(i,t,t.next,s)&&Bc(i,s)&&Bc(s,i)&&(e.push(i.i,t.i,s.i),Rc(t),Rc(t.next),t=r=s),t=t.next;}while(t!==r);return Xn(t)}function ED(r,e,t,i,s,n){let o=r;do{let a=o.next.next;for(;a!==o.prev;){if(o.i!==a.i&&ID(o,a)){let u=EC(o,a);o=Xn(o,o.next),u=Xn(u,u.next),Pc(o,e,t,i,s,n,0),Pc(u,e,t,i,s,n,0);return}a=a.next;}o=o.next;}while(o!==r)}function AD(r,e,t,i){let s=[];for(let n=0,o=e.length;n<o;n++){let a=e[n]*i,u=n<o-1?e[n+1]*i:r.length,l=vC(r,a,u,i,false);l===l.next&&(l.steiner=true),s.push(DD(l));}s.sort(CD);for(let n=0;n<s.length;n++)t=wD(s[n],t);return t}function CD(r,e){let t=r.x-e.x;if(t===0&&(t=r.y-e.y,t===0)){let i=(r.next.y-r.y)/(r.next.x-r.x),s=(e.next.y-e.y)/(e.next.x-e.x);t=i-s;}return t}function wD(r,e){let t=PD(r,e);if(!t)return e;let i=EC(t,r);return Xn(i,i.next),Xn(t,t.next)}function PD(r,e){let t=e,i=r.x,s=r.y,n=-1/0,o;if(Ka(r,t))return t;do{if(Ka(r,t.next))return t.next;if(s<=t.y&&s>=t.next.y&&t.next.y!==t.y){let h=t.x+(s-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(h<=i&&h>n&&(n=h,o=t.x<t.next.x?t:t.next,h===i))return o}t=t.next;}while(t!==e);if(!o)return null;let a=o,u=o.x,l=o.y,c=1/0;t=o;do{if(i>=t.x&&t.x>=u&&i!==t.x&&TC(s<l?i:n,s,u,l,s<l?n:i,s,t.x,t.y)){let h=Math.abs(s-t.y)/(i-t.x);Bc(t,r)&&(h<c||h===c&&(t.x>o.x||t.x===o.x&&BD(o,t)))&&(o=t,c=h);}t=t.next;}while(t!==a);return o}function BD(r,e){return qe(r.prev,r,e.prev)<0&&qe(e.next,r,r.next)<0}function RD(r,e,t,i){let s=r;do s.z===0&&(s.z=b0(s.x,s.y,e,t,i)),s.prevZ=s.prev,s.nextZ=s.next,s=s.next;while(s!==r);s.prevZ.nextZ=null,s.prevZ=null,MD(s);}function MD(r){let e,t=1;do{let i=r,s;r=null;let n=null;for(e=0;i;){e++;let o=i,a=0;for(let l=0;l<t&&(a++,o=o.nextZ,!!o);l++);let u=t;for(;a>0||u>0&&o;)a!==0&&(u===0||!o||i.z<=o.z)?(s=i,i=i.nextZ,a--):(s=o,o=o.nextZ,u--),n?n.nextZ=s:r=s,s.prevZ=n,n=s;i=o;}n.nextZ=null,t*=2;}while(e>1);return r}function b0(r,e,t,i,s){return r=(r-t)*s|0,e=(e-i)*s|0,r=(r|r<<8)&16711935,r=(r|r<<4)&252645135,r=(r|r<<2)&858993459,r=(r|r<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,r|e<<1}function DD(r){let e=r,t=r;do(e.x<t.x||e.x===t.x&&e.y<t.y)&&(t=e),e=e.next;while(e!==r);return t}function TC(r,e,t,i,s,n,o,a){return (s-o)*(e-a)>=(r-o)*(n-a)&&(r-o)*(i-a)>=(t-o)*(e-a)&&(t-o)*(n-a)>=(s-o)*(i-a)}function wc(r,e,t,i,s,n,o,a){return !(r===o&&e===a)&&TC(r,e,t,i,s,n,o,a)}function ID(r,e){return r.next.i!==e.i&&r.prev.i!==e.i&&!kD(r,e)&&(Bc(r,e)&&Bc(e,r)&&FD(r,e)&&(qe(r.prev,r,e.prev)||qe(r,e.prev,e))||Ka(r,e)&&qe(r.prev,r,r.next)>0&&qe(e.prev,e,e.next)>0)}function qe(r,e,t){return (e.y-r.y)*(t.x-e.x)-(e.x-r.x)*(t.y-e.y)}function Ka(r,e){return r.x===e.x&&r.y===e.y}function SC(r,e,t,i){let s=Lp(qe(r,e,t)),n=Lp(qe(r,e,i)),o=Lp(qe(t,i,r)),a=Lp(qe(t,i,e));return !!(s!==n&&o!==a||s===0&&Up(r,t,e)||n===0&&Up(r,i,e)||o===0&&Up(t,r,i)||a===0&&Up(t,e,i))}function Up(r,e,t){return e.x<=Math.max(r.x,t.x)&&e.x>=Math.min(r.x,t.x)&&e.y<=Math.max(r.y,t.y)&&e.y>=Math.min(r.y,t.y)}function Lp(r){return r>0?1:r<0?-1:0}function kD(r,e){let t=r;do{if(t.i!==r.i&&t.next.i!==r.i&&t.i!==e.i&&t.next.i!==e.i&&SC(t,t.next,r,e))return true;t=t.next;}while(t!==r);return false}function Bc(r,e){return qe(r.prev,r,r.next)<0?qe(r,e,r.next)>=0&&qe(r,r.prev,e)>=0:qe(r,e,r.prev)<0||qe(r,r.next,e)<0}function FD(r,e){let t=r,i=false,s=(r.x+e.x)/2,n=(r.y+e.y)/2;do t.y>n!=t.next.y>n&&t.next.y!==t.y&&s<(t.next.x-t.x)*(n-t.y)/(t.next.y-t.y)+t.x&&(i=!i),t=t.next;while(t!==r);return i}function EC(r,e){let t=y0(r.i,r.x,r.y),i=y0(e.i,e.x,e.y),s=r.next,n=e.prev;return r.next=e,e.prev=r,t.next=s,s.prev=t,i.next=t,t.prev=i,n.next=i,i.prev=n,i}function yC(r,e,t,i){let s=y0(r,e,t);return i?(s.next=i.next,s.prev=i,i.next.prev=s,i.next=s):(s.prev=s,s.next=s),s}function Rc(r){r.next.prev=r.prev,r.prev.next=r.next,r.prevZ&&(r.prevZ.nextZ=r.nextZ),r.nextZ&&(r.nextZ.prevZ=r.prevZ);}function y0(r,e,t){return {i:r,x:e,y:t,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:false}}function OD(r,e,t,i){let s=0;for(let n=e,o=t-i;n<t;n+=i)s+=(r[o]-r[n])*(r[n+1]+r[o+1]),o=n;return s}var AC=f(()=>{});var Hp,v0=f(()=>{AC();St();Hp=Np.default||Np;});function Za(r,e,t,i,s,n,o){let a=Hp(r,e,2);if(!a)return;for(let l=0;l<a.length;l+=3)n[o++]=a[l]+s,n[o++]=a[l+1]+s,n[o++]=a[l+2]+s;let u=s*i;for(let l=0;l<r.length;l+=2)t[u]=r[l],t[u+1]=r[l+1],u+=i;}var Vp=f(()=>{v0();});var GD,zp,T0=f(()=>{E();Vp();GD=[],zp={extension:{type:x.ShapeBuilder,name:"polygon"},build(r,e){for(let t=0;t<r.points.length;t++)e[t]=r.points[t];return true},triangulate(r,e,t,i,s,n){Za(r,GD,e,t,i,s,n);}};});var Wp,S0=f(()=>{E();Wp={extension:{type:x.ShapeBuilder,name:"rectangle"},build(r,e){let t=r,i=t.x,s=t.y,n=t.width,o=t.height;return n>0&&o>0?(e[0]=i,e[1]=s,e[2]=i+n,e[3]=s,e[4]=i+n,e[5]=s+o,e[6]=i,e[7]=s+o,true):false},triangulate(r,e,t,i,s,n){let o=0;i*=t,e[i+o]=r[0],e[i+o+1]=r[1],o+=t,e[i+o]=r[2],e[i+o+1]=r[3],o+=t,e[i+o]=r[6],e[i+o+1]=r[7],o+=t,e[i+o]=r[4],e[i+o+1]=r[5],o+=t;let a=i/t;s[n++]=a,s[n++]=a+1,s[n++]=a+2,s[n++]=a+1,s[n++]=a+3,s[n++]=a+2;}};});var Xp,E0=f(()=>{E();Xp={extension:{type:x.ShapeBuilder,name:"triangle"},build(r,e){return e[0]=r.x,e[1]=r.y,e[2]=r.x2,e[3]=r.y2,e[4]=r.x3,e[5]=r.y3,true},triangulate(r,e,t,i,s,n){let o=0;i*=t,e[i+o]=r[0],e[i+o+1]=r[1],o+=t,e[i+o]=r[2],e[i+o+1]=r[3],o+=t,e[i+o]=r[4],e[i+o+1]=r[5];let a=i/t;s[n++]=a,s[n++]=a+1,s[n++]=a+2;}};});function wC(r,e){for(let t=0;t<e.length;t++){let i=e[t];r.addColorStop(i.offset,i.color);}}function PC(r,e){let t=z.get().createCanvas(r,e),i=t.getContext("2d");return {canvas:t,context:i}}function UD(r){let e=r[0]??{};return (typeof e=="number"||r[1])&&(I("8.5.2","use options object instead"),e={type:"linear",start:{x:r[0],y:r[1]},end:{x:r[2],y:r[3]},textureSpace:r[4],textureSize:r[5]??kt.defaultLinearOptions.textureSize}),e}var CC,C0,kt,Yn=f(()=>{nt();Ee();ce();Hn();he();ht();me();cs();CC=[{offset:0,color:"white"},{offset:1,color:"black"}],C0=class A0{constructor(...e){this.uid=re("fillGradient"),this.type="linear",this.colorStops=[];let t=UD(e);t={...t.type==="radial"?A0.defaultRadialOptions:A0.defaultLinearOptions,...xt(t)},this._textureSize=t.textureSize,this._wrapMode=t.wrapMode,t.type==="radial"?(this.center=t.center,this.outerCenter=t.outerCenter??this.center,this.innerRadius=t.innerRadius,this.outerRadius=t.outerRadius,this.scale=t.scale,this.rotation=t.rotation):(this.start=t.start,this.end=t.end),this.textureSpace=t.textureSpace,this.type=t.type,t.colorStops.forEach(s=>{this.addColorStop(s.offset,s.color);});}addColorStop(e,t){return this.colorStops.push({offset:e,color:Z.shared.setValue(t).toHexa()}),this}buildLinearGradient(){if(this.texture)return;let{x:e,y:t}=this.start,{x:i,y:s}=this.end,n=i-e,o=s-t,a=n<0||o<0;if(this._wrapMode==="clamp-to-edge"){if(n<0){let g=e;e=i,i=g,n*=-1;}if(o<0){let g=t;t=s,s=g,o*=-1;}}let u=this.colorStops.length?this.colorStops:CC,l=this._textureSize,{canvas:c,context:h}=PC(l,1),d=a?h.createLinearGradient(this._textureSize,0,0,0):h.createLinearGradient(0,0,this._textureSize,0);wC(d,u),h.fillStyle=d,h.fillRect(0,0,l,1),this.texture=new C({source:new Mt({resource:c,addressMode:this._wrapMode})});let p=Math.sqrt(n*n+o*o),_=Math.atan2(o,n),b=new M;b.scale(p/l,1),b.rotate(_),b.translate(e,t),this.textureSpace==="local"&&b.scale(l,l),this.transform=b;}buildGradient(){this.type==="linear"?this.buildLinearGradient():this.buildRadialGradient();}buildRadialGradient(){if(this.texture)return;let e=this.colorStops.length?this.colorStops:CC,t=this._textureSize,{canvas:i,context:s}=PC(t,t),{x:n,y:o}=this.center,{x:a,y:u}=this.outerCenter,l=this.innerRadius,c=this.outerRadius,h=a-c,d=u-c,p=t/(c*2),_=(n-h)*p,b=(o-d)*p,g=s.createRadialGradient(_,b,l*p,(a-h)*p,(u-d)*p,c*p);wC(g,e),s.fillStyle=e[e.length-1].color,s.fillRect(0,0,t,t),s.fillStyle=g,s.translate(_,b),s.rotate(this.rotation),s.scale(1,this.scale),s.translate(-_,-b),s.fillRect(0,0,t,t),this.texture=new C({source:new Mt({resource:i,addressMode:this._wrapMode})});let m=new M;m.scale(1/p,1/p),m.translate(h,d),this.textureSpace==="local"&&m.scale(t,t),this.transform=m;}get styleKey(){return this.uid}destroy(){this.texture?.destroy(true),this.texture=null;}};C0.defaultLinearOptions={start:{x:0,y:0},end:{x:0,y:1},colorStops:[],textureSpace:"local",type:"linear",textureSize:256,wrapMode:"clamp-to-edge"};C0.defaultRadialOptions={center:{x:.5,y:.5},innerRadius:0,outerRadius:.5,colorStops:[],scale:1,textureSpace:"local",type:"radial",textureSize:256,wrapMode:"clamp-to-edge"};kt=C0;});function Yp(r,e,t,i){let s=e.matrix?r.copyFrom(e.matrix).invert():r.identity();if(e.textureSpace==="local"){let o=t.getBounds(ND);e.width&&o.pad(e.width);let{x:a,y:u}=o,l=1/o.width,c=1/o.height,h=-a*l,d=-u*c,p=s.a,_=s.b,b=s.c,g=s.d;s.a*=l,s.b*=l,s.c*=c,s.d*=c,s.tx=h*p+d*b+s.tx,s.ty=h*_+d*g+s.ty;}else s.translate(e.texture.frame.x,e.texture.frame.y),s.scale(1/e.texture.source.width,1/e.texture.source.height);let n=e.texture.source.style;return !(e.fill instanceof kt)&&n.addressMode==="clamp-to-edge"&&(n.addressMode="repeat",n.update()),i&&s.append(LD.copyFrom(i).invert()),s}var LD,ND,w0=f(()=>{ce();Je();Yn();LD=new M,ND=new Q;});function $p(r,e){let{geometryData:t,batches:i}=e;i.length=0,t.indices.length=0,t.vertices.length=0,t.uvs.length=0;for(let s=0;s<r.instructions.length;s++){let n=r.instructions[s];if(n.action==="texture")zD(n.data,i,t);else if(n.action==="fill"||n.action==="stroke"){let o=n.action==="stroke",a=n.data.path.shapePath,u=n.data.style,l=n.data.hole;o&&l&&BC(l.shapePath,u,true,i,t),l&&(a.shapePrimitives[a.shapePrimitives.length-1].holes=l.shapePath.shapePrimitives),BC(a,u,o,i,t);}}}function zD(r,e,t){let i=[],s=Qa.rectangle,n=HD;n.x=r.dx,n.y=r.dy,n.width=r.dw,n.height=r.dh;let o=r.transform;if(!s.build(n,i))return;let{vertices:a,uvs:u,indices:l}=t,c=l.length,h=a.length/2;o&&Cc(i,o),s.triangulate(i,a,2,h,l,c);let d=r.image,p=d.uvs;u.push(p.x0,p.y0,p.x1,p.y1,p.x3,p.y3,p.x2,p.y2);let _=Re.get(Hi);_.indexOffset=c,_.indexSize=l.length-c,_.attributeOffset=h,_.attributeSize=a.length/2-h,_.baseColor=r.style,_.alpha=r.alpha,_.texture=d,_.geometryData=t,e.push(_);}function BC(r,e,t,i,s){let{vertices:n,uvs:o,indices:a}=s;r.shapePrimitives.forEach(({shape:u,transform:l,holes:c})=>{let h=[],d=Qa[u.type];if(!d.build(u,h))return;let p=a.length,_=n.length/2,b="triangle-list";if(l&&Cc(h,l),t){let T=u.closePath??true,S=e;S.pixelLine?(Gp(h,T,n,a),b="line-list"):Op(h,S,false,T,n,a);}else if(c){let T=[],S=h.slice();WD(c).forEach(A=>{T.push(S.length/2),S.push(...A);}),Za(S,T,n,2,_,a,p);}else d.triangulate(h,n,2,_,a,p);let g=o.length/2,m=e.texture;if(m!==C.WHITE){let T=Yp(VD,e,u,l);Pp(n,2,_,o,g,2,n.length/2-_,T);}else Bp(o,g,2,n.length/2-_);let y=Re.get(Hi);y.indexOffset=p,y.indexSize=a.length-p,y.attributeOffset=_,y.attributeSize=n.length/2-_,y.baseColor=e.color,y.alpha=e.alpha,y.texture=m,y.geometryData=s,y.topology=b,i.push(y);});}function WD(r){let e=[];for(let t=0;t<r.length;t++){let i=r[t].shape,s=[];Qa[i.type].build(i,s)&&e.push(s);}return e}var Qa,HD,VD,P0=f(()=>{E();ce();Je();f0();p0();he();si();Rp();m0();x0();_0();T0();S0();E0();w0();Vp();Qa={};O.handleByMap(x.ShapeBuilder,Qa);O.add(Wp,zp,Xp,Ds,Mp,Dp);HD=new Q,VD=new M;});var Mc,Dc,R0,Is,Ic=f(()=>{E();gc();wp();vf();me();si();P0();Mc=class{constructor(){this.batches=[],this.geometryData={vertices:[],uvs:[],indices:[]};}},Dc=class{constructor(){this.instructions=new ls;}init(e){this.batcher=new zn({maxTextures:e}),this.instructions.reset();}get geometry(){return I(rf,"GraphicsContextRenderData#geometry is deprecated, please use batcher.geometry instead."),this.batcher.geometry}},R0=class B0{constructor(e){this._gpuContextHash={},this._graphicsDataContextHash=Object.create(null),this._renderer=e,e.renderableGC.addManagedHash(this,"_gpuContextHash"),e.renderableGC.addManagedHash(this,"_graphicsDataContextHash");}init(e){B0.defaultOptions.bezierSmoothness=e?.bezierSmoothness??B0.defaultOptions.bezierSmoothness;}getContextRenderData(e){return this._graphicsDataContextHash[e.uid]||this._initContextRenderData(e)}updateGpuContext(e){let t=this._gpuContextHash[e.uid]||this._initContext(e);if(e.dirty){t?this._cleanGraphicsContextData(e):t=this._initContext(e),$p(e,t);let i=e.batchMode;e.customShader||i==="no-batch"?t.isBatchable=false:i==="auto"?t.isBatchable=t.geometryData.vertices.length<400:t.isBatchable=true,e.dirty=false;}return t}getGpuContext(e){return this._gpuContextHash[e.uid]||this._initContext(e)}_initContextRenderData(e){let t=Re.get(Dc,{maxTextures:this._renderer.limits.maxBatchableTextures}),{batches:i,geometryData:s}=this._gpuContextHash[e.uid],n=s.vertices.length,o=s.indices.length;for(let c=0;c<i.length;c++)i[c].applyTransform=false;let a=t.batcher;a.ensureAttributeBuffer(n),a.ensureIndexBuffer(o),a.begin();for(let c=0;c<i.length;c++){let h=i[c];a.add(h);}a.finish(t.instructions);let u=a.geometry;u.indexBuffer.setDataWithSize(a.indexBuffer,a.indexSize,true),u.buffers[0].setDataWithSize(a.attributeBuffer.float32View,a.attributeSize,true);let l=a.batches;for(let c=0;c<l.length;c++){let h=l[c];h.bindGroup=vs(h.textures.textures,h.textures.count,this._renderer.limits.maxBatchableTextures);}return this._graphicsDataContextHash[e.uid]=t,t}_initContext(e){let t=new Mc;return t.context=e,this._gpuContextHash[e.uid]=t,e.on("destroy",this.onGraphicsContextDestroy,this),this._gpuContextHash[e.uid]}onGraphicsContextDestroy(e){this._cleanGraphicsContextData(e),e.off("destroy",this.onGraphicsContextDestroy,this),this._gpuContextHash[e.uid]=null;}_cleanGraphicsContextData(e){let t=this._gpuContextHash[e.uid];t.isBatchable||this._graphicsDataContextHash[e.uid]&&(Re.return(this.getContextRenderData(e)),this._graphicsDataContextHash[e.uid]=null),t.batches&&t.batches.forEach(i=>{Re.return(i);});}destroy(){for(let e in this._gpuContextHash)this._gpuContextHash[e]&&this.onGraphicsContextDestroy(this._gpuContextHash[e].context);}};R0.extension={type:[x.WebGLSystem,x.WebGPUSystem,x.CanvasSystem],name:"graphicsContext"};R0.defaultOptions={bezierSmoothness:.5};Is=R0;});var XD,M0,D0,I0,k0,F0,O0,G0,Ue,hr=f(()=>{XD={normal:0,add:1,multiply:2,screen:3,overlay:4,erase:5,"normal-npm":6,"add-npm":7,"screen-npm":8,min:9,max:10},M0=0,D0=1,I0=2,k0=3,F0=4,O0=5,G0=class RC{constructor(){this.data=0,this.blendMode="normal",this.polygonOffset=0,this.blend=true,this.depthMask=true;}get blend(){return !!(this.data&1<<M0)}set blend(e){!!(this.data&1<<M0)!==e&&(this.data^=1<<M0);}get offsets(){return !!(this.data&1<<D0)}set offsets(e){!!(this.data&1<<D0)!==e&&(this.data^=1<<D0);}set cullMode(e){if(e==="none"){this.culling=false;return}this.culling=true,this.clockwiseFrontFace=e==="front";}get cullMode(){return this.culling?this.clockwiseFrontFace?"front":"back":"none"}get culling(){return !!(this.data&1<<I0)}set culling(e){!!(this.data&1<<I0)!==e&&(this.data^=1<<I0);}get depthTest(){return !!(this.data&1<<k0)}set depthTest(e){!!(this.data&1<<k0)!==e&&(this.data^=1<<k0);}get depthMask(){return !!(this.data&1<<O0)}set depthMask(e){!!(this.data&1<<O0)!==e&&(this.data^=1<<O0);}get clockwiseFrontFace(){return !!(this.data&1<<F0)}set clockwiseFrontFace(e){!!(this.data&1<<F0)!==e&&(this.data^=1<<F0);}get blendMode(){return this._blendMode}set blendMode(e){this.blend=e!=="none",this._blendMode=e,this._blendModeId=XD[e]||0;}get polygonOffset(){return this._polygonOffset}set polygonOffset(e){this.offsets=!!e,this._polygonOffset=e;}toString(){return `[pixi.js/core:State blendMode=${this.blendMode} clockwiseFrontFace=${this.clockwiseFrontFace} culling=${this.culling} depthMask=${this.depthMask} polygonOffset=${this.polygonOffset}]`}static for2d(){let e=new RC;return e.depthTest=false,e.blend=true,e}};G0.default2d=G0.for2d();Ue=G0;});function MC(r,e,t,i){t[i++]=(r>>16&255)/255,t[i++]=(r>>8&255)/255,t[i++]=(r&255)/255,t[i++]=e;}function wr(r,e,t){let i=(r>>24&255)/255;e[t++]=(r&255)/255*i,e[t++]=(r>>8&255)/255*i,e[t++]=(r>>16&255)/255*i,e[t++]=i;}var $n=f(()=>{});var kc,qn,U0=f(()=>{E();hr();si();$n();Rp();kc=class{constructor(){this.batches=[],this.batched=false;}destroy(){this.batches.forEach(e=>{Re.return(e);}),this.batches.length=0;}},qn=class{constructor(e,t){this.state=Ue.for2d(),this.renderer=e,this._adaptor=t,this.renderer.runners.contextChange.add(this);}contextChange(){this._adaptor.contextChange(this.renderer);}validateRenderable(e){let t=e.context,i=!!e._gpuData,s=this.renderer.graphicsContext.updateGpuContext(t);return !!(s.isBatchable||i!==s.isBatchable)}addRenderable(e,t){let i=this.renderer.graphicsContext.updateGpuContext(e.context);e.didViewUpdate&&this._rebuild(e),i.isBatchable?this._addToBatcher(e,t):(this.renderer.renderPipes.batch.break(t),t.add(e));}updateRenderable(e){let i=this._getGpuDataForRenderable(e).batches;for(let s=0;s<i.length;s++){let n=i[s];n._batcher.updateElement(n);}}execute(e){if(!e.isRenderable)return;let t=this.renderer,i=e.context;if(!t.graphicsContext.getGpuContext(i).batches.length)return;let n=i.customShader||this._adaptor.shader;this.state.blendMode=e.groupBlendMode;let o=n.resources.localUniforms.uniforms;o.uTransformMatrix=e.groupTransform,o.uRound=t._roundPixels|e._roundPixels,wr(e.groupColorAlpha,o.uColor,0),this._adaptor.execute(this,e);}_rebuild(e){let t=this._getGpuDataForRenderable(e),i=this.renderer.graphicsContext.updateGpuContext(e.context);t.destroy(),i.isBatchable&&this._updateBatchesForRenderable(e,t);}_addToBatcher(e,t){let i=this.renderer.renderPipes.batch,s=this._getGpuDataForRenderable(e).batches;for(let n=0;n<s.length;n++){let o=s[n];i.addToBatch(o,t);}}_getGpuDataForRenderable(e){return e._gpuData[this.renderer.uid]||this._initGpuDataForRenderable(e)}_initGpuDataForRenderable(e){let t=new kc;return e._gpuData[this.renderer.uid]=t,t}_updateBatchesForRenderable(e,t){let i=e.context,s=this.renderer.graphicsContext.getGpuContext(i),n=this.renderer._roundPixels|e._roundPixels;t.batches=s.batches.map(o=>{let a=Re.get(Hi);return o.copyTo(a),a.renderable=e,a.roundPixels=n,a});}destroy(){this.renderer=null,this._adaptor.destroy(),this._adaptor=null,this.state=null;}};qn.extension={type:[x.WebGLPipes,x.WebGPUPipes,x.CanvasPipes],name:"graphics"};});var L0=f(()=>{E();Ic();U0();O.add(qn);O.add(Is);});var li,Fc=f(()=>{li=class{constructor(){this.batcherName="default",this.packAsQuad=false,this.indexOffset=0,this.attributeOffset=0,this.roundPixels=0,this._batcher=null,this._batch=null,this._textureMatrixUpdateId=-1,this._uvUpdateId=-1;}get blendMode(){return this.renderable.groupBlendMode}get topology(){return this._topology||this.geometry.topology}set topology(e){this._topology=e;}reset(){this.renderable=null,this.texture=null,this._batcher=null,this._batch=null,this.geometry=null,this._uvUpdateId=-1,this._textureMatrixUpdateId=-1;}setTexture(e){this.texture!==e&&(this.texture=e,this._textureMatrixUpdateId=-1);}get uvs(){let t=this.geometry.getBuffer("aUV"),i=t.data,s=i,n=this.texture.textureMatrix;return n.isSimple||(s=this._transformedUvs,(this._textureMatrixUpdateId!==n._updateID||this._uvUpdateId!==t._updateID)&&((!s||s.length<i.length)&&(s=this._transformedUvs=new Float32Array(i.length)),this._textureMatrixUpdateId=n._updateID,this._uvUpdateId=t._updateID,n.multiplyUvs(i,s))),s}get positions(){return this.geometry.positions}get indices(){return this.geometry.indices}get color(){return this.renderable.groupColorAlpha}get groupTransform(){return this.renderable.groupTransform}get attributeSize(){return this.geometry.positions.length/2}get indexSize(){return this.geometry.indices.length}};});var Ja,jn,N0=f(()=>{E();ce();Gi();et();La();$n();Fc();Ja=class{destroy(){}},jn=class{constructor(e,t){this.localUniforms=new ae({uTransformMatrix:{value:new M,type:"mat3x3<f32>"},uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uRound:{value:0,type:"f32"}}),this.localUniformsBindGroup=new at({0:this.localUniforms}),this.renderer=e,this._adaptor=t,this._adaptor.init();}validateRenderable(e){let t=this._getMeshData(e),i=t.batched,s=e.batched;if(t.batched=s,i!==s)return true;if(s){let n=e._geometry;if(n.indices.length!==t.indexSize||n.positions.length!==t.vertexSize)return t.indexSize=n.indices.length,t.vertexSize=n.positions.length,true;let o=this._getBatchableMesh(e);return o.texture.uid!==e._texture.uid&&(o._textureMatrixUpdateId=-1),!o._batcher.checkAndUpdateTexture(o,e._texture)}return false}addRenderable(e,t){let i=this.renderer.renderPipes.batch,{batched:s}=this._getMeshData(e);if(s){let n=this._getBatchableMesh(e);n.setTexture(e._texture),n.geometry=e._geometry,i.addToBatch(n,t);}else i.break(t),t.add(e);}updateRenderable(e){if(e.batched){let t=this._getBatchableMesh(e);t.setTexture(e._texture),t.geometry=e._geometry,t._batcher.updateElement(t);}}execute(e){if(!e.isRenderable)return;e.state.blendMode=Lr(e.groupBlendMode,e.texture._source);let t=this.localUniforms;t.uniforms.uTransformMatrix=e.groupTransform,t.uniforms.uRound=this.renderer._roundPixels|e._roundPixels,t.update(),wr(e.groupColorAlpha,t.uniforms.uColor,0),this._adaptor.execute(this,e);}_getMeshData(e){var t,i;return (t=e._gpuData)[i=this.renderer.uid]||(t[i]=new Ja),e._gpuData[this.renderer.uid].meshData||this._initMeshData(e)}_initMeshData(e){return e._gpuData[this.renderer.uid].meshData={batched:e.batched,indexSize:e._geometry.indices?.length,vertexSize:e._geometry.positions?.length},e._gpuData[this.renderer.uid].meshData}_getBatchableMesh(e){var t,i;return (t=e._gpuData)[i=this.renderer.uid]||(t[i]=new Ja),e._gpuData[this.renderer.uid].batchableMesh||this._initBatchableMesh(e)}_initBatchableMesh(e){let t=new li;return t.renderable=e,t.setTexture(e._texture),t.transform=e.groupTransform,t.roundPixels=this.renderer._roundPixels|e._roundPixels,e._gpuData[this.renderer.uid].batchableMesh=t,t}destroy(){this.localUniforms=null,this.localUniformsBindGroup=null,this._adaptor.destroy(),this._adaptor=null,this.renderer=null;}};jn.extension={type:[x.WebGLPipes,x.WebGPUPipes,x.CanvasPipes],name:"mesh"};});var H0=f(()=>{E();N0();O.add(jn);});var eu,V0=f(()=>{eu=class{execute(e,t){let i=e.state,s=e.renderer,n=t.shader||e.defaultShader;n.resources.uTexture=t.texture._source,n.resources.uniforms=e.localUniforms;let o=s.gl,a=e.getBuffers(t);s.shader.bind(n),s.state.set(i),s.geometry.bind(a.geometry,n.glProgram);let l=a.geometry.indexBuffer.data.BYTES_PER_ELEMENT===2?o.UNSIGNED_SHORT:o.UNSIGNED_INT;o.drawElements(o.TRIANGLES,t.particleChildren.length*6,l,0);}};});function Oc(r,e=null){let t=r*6;if(t>65535?e||(e=new Uint32Array(t)):e||(e=new Uint16Array(t)),e.length!==t)throw new Error(`Out buffer length is incorrect, got ${e.length} and expected ${t}`);for(let i=0,s=0;i<t;i+=6,s+=4)e[i+0]=s+0,e[i+1]=s+1,e[i+2]=s+2,e[i+3]=s+0,e[i+4]=s+2,e[i+5]=s+3;return e}var z0=f(()=>{});function qp(r){return {dynamicUpdate:DC(r,true),staticUpdate:DC(r,false)}}function DC(r,e){let t=[];t.push(`
|
|
261
261
|
|
|
262
262
|
var index = 0;
|
|
263
263
|
|
|
@@ -480,7 +480,7 @@ fn mainFragment(
|
|
|
480
480
|
font-weight: ${r.fontWeight};
|
|
481
481
|
font-style: ${r.fontStyle};
|
|
482
482
|
}`}var Yv=f(()=>{Xv();});async function Fm(r,e,t){let i=r.filter(s=>de.has(`${s}-and-url`)).map((s,n)=>{if(!_u.has(s)){let{url:o}=de.get(`${s}-and-url`);n===0?_u.set(s,qc({fontWeight:e.fontWeight,fontStyle:e.fontStyle,fontFamily:s},o)):_u.set(s,qc({fontWeight:t.fontWeight,fontStyle:t.fontStyle,fontFamily:s},o));}return _u.get(s)});return (await Promise.all(i)).join(`
|
|
483
|
-
`)}var _u,$v=f(()=>{ai();Yv();_u=new Map;});function Om(r,e,t,i,s){let{domElement:n,styleElement:o,svgRoot:a}=s;n.innerHTML=`<style>${e.cssStyle}</style><div style='padding:0;'>${r}</div>`,n.setAttribute("style",`transform: scale(${t});transform-origin: top left; display: inline-block`),o.textContent=i;let{width:u,height:l}=s.image;return a.setAttribute("width",u.toString()),a.setAttribute("height",l.toString()),new XMLSerializer().serializeToString(a)}var qv=f(()=>{});function Gm(r,e){let t=zt.getOptimalCanvasAndContext(r.width,r.height,e),{context:i}=t;return i.clearRect(0,0,r.width,r.height),i.drawImage(r,0,0),t}var jv=f(()=>{ro();});function Um(r,e,t){return new Promise(async i=>{t&&await new Promise(s=>setTimeout(s,100)),r.onload=()=>{i();},r.src=`data:image/svg+xml;charset=utf8,${encodeURIComponent(e)}`,r.crossOrigin="anonymous";})}var Kv=f(()=>{});function bu(r,e,t,i){i||(i=aw||(aw=new Vs));let{domElement:s,styleElement:n,svgRoot:o}=i;s.innerHTML=`<style>${e.cssStyle};</style><div style='padding:0'>${r}</div>`,s.setAttribute("style","transform-origin: top left; display: inline-block"),t&&(n.textContent=t),document.body.appendChild(o);let a=s.getBoundingClientRect();o.remove();let u=e.padding*2;return {width:a.width-u,height:a.height-u}}var aw,Lm=f(()=>{Rm();});var ao,Zv=f(()=>{E();ro();Fr();cr();Vv();ge();si();xm();Rm();Dm();Wv();$v();qv();jv();Kv();Lm();ao=class{constructor(e){this._renderer=e,this._createCanvas=e.type===Oe.WEBGPU;}getTexture(e){return this.getTexturePromise(e)}getTexturePromise(e){return this._buildTexturePromise(e)}async _buildTexturePromise(e){let{text:t,style:i,resolution:s,textureStyle:n}=e,o=Re.get(Vs),a=Im(t,i),u=await Fm(a,i,zs.defaultTextStyle),l=bu(t,i,u,o),c=Math.ceil(Math.ceil(Math.max(1,l.width)+i.padding*2)*s),h=Math.ceil(Math.ceil(Math.max(1,l.height)+i.padding*2)*s),d=o.image,p=2;d.width=(c|0)+p,d.height=(h|0)+p;let _=Om(t,i,s,u,o);await Um(d,_,Bm()&&a.length>0);let b=d,g;this._createCanvas&&(g=Gm(d,s));let m=pu(g?g.canvas:b,d.width-p,d.height-p,s);return n&&(m.source.style=n),this._createCanvas&&(this._renderer.texture.initSource(m.source),zt.returnCanvasAndContext(g)),Re.return(o),m}returnTexturePromise(e){e.then(t=>{this._cleanUp(t);}).catch(()=>{k("HTMLTextSystem: Failed to clean texture");});}_cleanUp(e){ye.returnTexture(e,true),e.source.resource=null,e.source.uploadMethodId="unknown";}destroy(){this._renderer=null;}};ao.extension={type:[x.WebGLSystem,x.WebGPUSystem,x.CanvasSystem],name:"htmlText"};});var Qv=f(()=>{E();Hv();Zv();O.add(ao);O.add(oo);});var uw,Zt,Ws=f(()=>{Ui();ui();Ss();me();uw=class lw extends Dt{constructor(...e){let t=e[0]??{};t instanceof Float32Array&&(I(V,"use new MeshGeometry({ positions, uvs, indices }) instead"),t={positions:t,uvs:e[1],indices:e[2]}),t={...lw.defaultOptions,...t};let i=t.positions||new Float32Array([0,0,1,0,1,1,0,1]),s=t.uvs;s||(t.positions?s=new Float32Array(i.length):s=new Float32Array([0,0,1,0,1,1,0,1]));let n=t.indices||new Uint32Array([0,1,2,0,2,3]),o=t.shrinkBuffersToFit,a=new Ve({data:i,label:"attribute-mesh-positions",shrinkToFit:o,usage:ie.VERTEX|ie.COPY_DST}),u=new Ve({data:s,label:"attribute-mesh-uvs",shrinkToFit:o,usage:ie.VERTEX|ie.COPY_DST}),l=new Ve({data:n,label:"index-mesh-buffer",shrinkToFit:o,usage:ie.INDEX|ie.COPY_DST});super({attributes:{aPosition:{buffer:a,format:"float32x2",stride:
|
|
483
|
+
`)}var _u,$v=f(()=>{ai();Yv();_u=new Map;});function Om(r,e,t,i,s){let{domElement:n,styleElement:o,svgRoot:a}=s;n.innerHTML=`<style>${e.cssStyle}</style><div style='padding:0;'>${r}</div>`,n.setAttribute("style",`transform: scale(${t});transform-origin: top left; display: inline-block`),o.textContent=i;let{width:u,height:l}=s.image;return a.setAttribute("width",u.toString()),a.setAttribute("height",l.toString()),new XMLSerializer().serializeToString(a)}var qv=f(()=>{});function Gm(r,e){let t=zt.getOptimalCanvasAndContext(r.width,r.height,e),{context:i}=t;return i.clearRect(0,0,r.width,r.height),i.drawImage(r,0,0),t}var jv=f(()=>{ro();});function Um(r,e,t){return new Promise(async i=>{t&&await new Promise(s=>setTimeout(s,100)),r.onload=()=>{i();},r.src=`data:image/svg+xml;charset=utf8,${encodeURIComponent(e)}`,r.crossOrigin="anonymous";})}var Kv=f(()=>{});function bu(r,e,t,i){i||(i=aw||(aw=new Vs));let{domElement:s,styleElement:n,svgRoot:o}=i;s.innerHTML=`<style>${e.cssStyle};</style><div style='padding:0'>${r}</div>`,s.setAttribute("style","transform-origin: top left; display: inline-block"),t&&(n.textContent=t),document.body.appendChild(o);let a=s.getBoundingClientRect();o.remove();let u=e.padding*2;return {width:a.width-u,height:a.height-u}}var aw,Lm=f(()=>{Rm();});var ao,Zv=f(()=>{E();ro();Fr();cr();Vv();ge();si();xm();Rm();Dm();Wv();$v();qv();jv();Kv();Lm();ao=class{constructor(e){this._renderer=e,this._createCanvas=e.type===Oe.WEBGPU;}getTexture(e){return this.getTexturePromise(e)}getTexturePromise(e){return this._buildTexturePromise(e)}async _buildTexturePromise(e){let{text:t,style:i,resolution:s,textureStyle:n}=e,o=Re.get(Vs),a=Im(t,i),u=await Fm(a,i,zs.defaultTextStyle),l=bu(t,i,u,o),c=Math.ceil(Math.ceil(Math.max(1,l.width)+i.padding*2)*s),h=Math.ceil(Math.ceil(Math.max(1,l.height)+i.padding*2)*s),d=o.image,p=2;d.width=(c|0)+p,d.height=(h|0)+p;let _=Om(t,i,s,u,o);await Um(d,_,Bm()&&a.length>0);let b=d,g;this._createCanvas&&(g=Gm(d,s));let m=pu(g?g.canvas:b,d.width-p,d.height-p,s);return n&&(m.source.style=n),this._createCanvas&&(this._renderer.texture.initSource(m.source),zt.returnCanvasAndContext(g)),Re.return(o),m}returnTexturePromise(e){e.then(t=>{this._cleanUp(t);}).catch(()=>{k("HTMLTextSystem: Failed to clean texture");});}_cleanUp(e){ye.returnTexture(e,true),e.source.resource=null,e.source.uploadMethodId="unknown";}destroy(){this._renderer=null;}};ao.extension={type:[x.WebGLSystem,x.WebGPUSystem,x.CanvasSystem],name:"htmlText"};});var Qv=f(()=>{E();Hv();Zv();O.add(ao);O.add(oo);});var uw,Zt,Ws=f(()=>{Ui();ui();Ss();me();uw=class lw extends Dt{constructor(...e){let t=e[0]??{};t instanceof Float32Array&&(I(V,"use new MeshGeometry({ positions, uvs, indices }) instead"),t={positions:t,uvs:e[1],indices:e[2]}),t={...lw.defaultOptions,...t};let i=t.positions||new Float32Array([0,0,1,0,1,1,0,1]),s=t.uvs;s||(t.positions?s=new Float32Array(i.length):s=new Float32Array([0,0,1,0,1,1,0,1]));let n=t.indices||new Uint32Array([0,1,2,0,2,3]),o=t.shrinkBuffersToFit,a=new Ve({data:i,label:"attribute-mesh-positions",shrinkToFit:o,usage:ie.VERTEX|ie.COPY_DST}),u=new Ve({data:s,label:"attribute-mesh-uvs",shrinkToFit:o,usage:ie.VERTEX|ie.COPY_DST}),l=new Ve({data:n,label:"index-mesh-buffer",shrinkToFit:o,usage:ie.INDEX|ie.COPY_DST});super({attributes:{aPosition:{buffer:a,format:"float32x2",stride:8,offset:0},aUV:{buffer:u,format:"float32x2",stride:8,offset:0}},indexBuffer:l,topology:t.topology}),this.batchMode="auto";}get positions(){return this.attributes.aPosition.buffer.data}set positions(e){this.attributes.aPosition.buffer.data=e;}get uvs(){return this.attributes.aUV.buffer.data}set uvs(e){this.attributes.aUV.buffer.data=e;}get indices(){return this.indexBuffer.data}set indices(e){this.indexBuffer.data=e;}};uw.defaultOptions={topology:"triangle-list",shrinkBuffersToFit:false};Zt=uw;});var Yi,Nm,Xs,uo=f(()=>{Yi={name:"local-uniform-bit",vertex:{header:`
|
|
484
484
|
|
|
485
485
|
struct LocalUniforms {
|
|
486
486
|
uTransformMatrix:mat3x3<f32>,
|
|
@@ -575,7 +575,7 @@ fn mainFragment(
|
|
|
575
575
|
|
|
576
576
|
outColor = texture(uTexture, coord, unclamped == coord ? 0.0 : -32.0);// lod-bias very negative to force lod 0
|
|
577
577
|
|
|
578
|
-
`}};});var e2,t2,yu,r2=f(()=>{ce();Li();uo();Ni();Cr();et();he();Jv();yu=class extends ze{constructor(){e2??(e2=Tr({name:"tiling-sprite-shader",bits:[Yi,Hm,Er]})),t2??(t2=Sr({name:"tiling-sprite-shader",bits:[Xs,Vm,Ar]}));let e=new ae({uMapCoord:{value:new M,type:"mat3x3<f32>"},uClampFrame:{value:new Float32Array([0,0,1,1]),type:"vec4<f32>"},uClampOffset:{value:new Float32Array([0,0]),type:"vec2<f32>"},uTextureTransform:{value:new M,type:"mat3x3<f32>"},uSizeAnchor:{value:new Float32Array([100,100,.5,.5]),type:"vec4<f32>"}});super({glProgram:t2,gpuProgram:e2,resources:{localUniforms:new ae({uTransformMatrix:{value:new M,type:"mat3x3<f32>"},uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uRound:{value:0,type:"f32"}}),tilingUniforms:e,uTexture:C.EMPTY.source,uSampler:C.EMPTY.source.style}});}updateUniforms(e,t,i,s,n,o){let a=this.resources.tilingUniforms,u=o.width,l=o.height,c=o.textureMatrix,h=a.uniforms.uTextureTransform;h.set(i.a*u/e,i.b*u/t,i.c*l/e,i.d*l/t,i.tx/e,i.ty/t),h.invert(),a.uniforms.uMapCoord=c.mapCoord,a.uniforms.uClampFrame=c.uClampFrame,a.uniforms.uClampOffset=c.uClampOffset,a.uniforms.uTextureTransform=h,a.uniforms.uSizeAnchor[0]=e,a.uniforms.uSizeAnchor[1]=t,a.uniforms.uSizeAnchor[2]=s,a.uniforms.uSizeAnchor[3]=n,o&&(this.resources.uTexture=o.source,this.resources.uSampler=o.source.style);}};});var vu,i2=f(()=>{Ws();vu=class extends Zt{constructor(){super({positions:new Float32Array([0,0,1,0,1,1,0,1]),uvs:new Float32Array([0,0,1,0,1,1,0,1]),indices:new Uint32Array([0,1,2,0,2,3])});}};});function zm(r,e){let t=r.anchor.x,i=r.anchor.y;e[0]=-t*r.width,e[1]=-i*r.height,e[2]=(1-t)*r.width,e[3]=-i*r.height,e[4]=(1-t)*r.width,e[5]=(1-i)*r.height,e[6]=-t*r.width,e[7]=(1-i)*r.height;}var s2=f(()=>{});function Wm(r,e,t,i){let s=0,n=r.length/(e||2),o=i.a,a=i.b,u=i.c,l=i.d,c=i.tx,h=i.ty;for(t*=e;s<n;){let d=r[t],p=r[t+1];r[t]=o*d+u*p+c,r[t+1]=a*d+l*p+h,t+=e,s++;}}var n2=f(()=>{});function Xm(r,e){let t=r.texture,i=t.frame.width,s=t.frame.height,n=0,o=0;r.applyAnchorToTexture&&(n=r.anchor.x,o=r.anchor.y),e[0]=e[6]=-n,e[2]=e[4]=1-n,e[1]=e[3]=-o,e[5]=e[7]=1-o;let a=M.shared;a.copyFrom(r._tileTransform.matrix),a.tx/=r.width,a.ty/=r.height,a.invert(),a.scale(r.width/i,r.height/s),Wm(e,2,0,a);}var o2=f(()=>{ce();n2();});var Ym,jc,lo,a2=f(()=>{E();La();hr();cr();$n();Fc();Ws();r2();i2();s2();o2();Ym=new vu,jc=class{constructor(){this.canBatch=true,this.geometry=new Zt({indices:Ym.indices.slice(),positions:Ym.positions.slice(),uvs:Ym.uvs.slice()});}destroy(){this.geometry.destroy(),this.shader?.destroy();}},lo=class{constructor(e){this._state=Ue.default2d,this._renderer=e;}validateRenderable(e){let t=this._getTilingSpriteData(e),i=t.canBatch;this._updateCanBatch(e);let s=t.canBatch;if(s&&s===i){let{batchableMesh:n}=t;return !n._batcher.checkAndUpdateTexture(n,e.texture)}return i!==s}addRenderable(e,t){let i=this._renderer.renderPipes.batch;this._updateCanBatch(e);let s=this._getTilingSpriteData(e),{geometry:n,canBatch:o}=s;if(o){s.batchableMesh||(s.batchableMesh=new li);let a=s.batchableMesh;e.didViewUpdate&&(this._updateBatchableMesh(e),a.geometry=n,a.renderable=e,a.transform=e.groupTransform,a.setTexture(e._texture)),a.roundPixels=this._renderer._roundPixels|e._roundPixels,i.addToBatch(a,t);}else i.break(t),s.shader||(s.shader=new yu),this.updateRenderable(e),t.add(e);}execute(e){let{shader:t}=this._getTilingSpriteData(e);t.groups[0]=this._renderer.globalUniforms.bindGroup;let i=t.resources.localUniforms.uniforms;i.uTransformMatrix=e.groupTransform,i.uRound=this._renderer._roundPixels|e._roundPixels,wr(e.groupColorAlpha,i.uColor,0),this._state.blendMode=Lr(e.groupBlendMode,e.texture._source),this._renderer.encoder.draw({geometry:Ym,shader:t,state:this._state});}updateRenderable(e){let t=this._getTilingSpriteData(e),{canBatch:i}=t;if(i){let{batchableMesh:s}=t;e.didViewUpdate&&this._updateBatchableMesh(e),s._batcher.updateElement(s);}else if(e.didViewUpdate){let{shader:s}=t;s.updateUniforms(e.width,e.height,e._tileTransform.matrix,e.anchor.x,e.anchor.y,e.texture);}}_getTilingSpriteData(e){return e._gpuData[this._renderer.uid]||this._initTilingSpriteData(e)}_initTilingSpriteData(e){let t=new jc;return t.renderable=e,e._gpuData[this._renderer.uid]=t,t}_updateBatchableMesh(e){let t=this._getTilingSpriteData(e),{geometry:i}=t,s=e.texture.source.style;s.addressMode!=="repeat"&&(s.addressMode="repeat",s.update()),Xm(e,i.uvs),zm(e,i.positions);}destroy(){this._renderer=null;}_updateCanBatch(e){let t=this._getTilingSpriteData(e),i=e.texture,s=true;return this._renderer.type===Oe.WEBGL&&(s=this._renderer.context.supports.nonPowOf2wrapping),t.canBatch=i.textureMatrix.isSimple&&(s||i.source.isPowerOfTwo),t.canBatch}};lo.extension={type:[x.WebGLPipes,x.WebGPUPipes,x.CanvasPipes],name:"tilingSprite"};});var u2=f(()=>{E();a2();O.add(lo);});var cw,Ys,Kc=f(()=>{me();Ws();cw=class hw extends Zt{constructor(...e){super({});let t=e[0]??{};typeof t=="number"&&(I(V,"PlaneGeometry constructor changed please use { width, height, verticesX, verticesY } instead"),t={width:t,height:e[1],verticesX:e[2],verticesY:e[3]}),this.build(t);}build(e){e={...hw.defaultOptions,...e},this.verticesX=this.verticesX??e.verticesX,this.verticesY=this.verticesY??e.verticesY,this.width=this.width??e.width,this.height=this.height??e.height;let t=this.verticesX*this.verticesY,i=[],s=[],n=[],o=this.verticesX-1,a=this.verticesY-1,u=this.width/o,l=this.height/a;for(let h=0;h<t;h++){let d=h%this.verticesX,p=h/this.verticesX|0;i.push(d*u,p*l),s.push(d/o,p/a);}let c=o*a;for(let h=0;h<c;h++){let d=h%o,p=h/o|0,_=p*this.verticesX+d,b=p*this.verticesX+d+1,g=(p+1)*this.verticesX+d,m=(p+1)*this.verticesX+d+1;n.push(_,b,g,b,m,g);}this.buffers[0].data=new Float32Array(i),this.buffers[1].data=new Float32Array(s),this.indexBuffer.data=new Uint32Array(n),this.buffers[0].update(),this.buffers[1].update(),this.indexBuffer.update();}};cw.defaultOptions={width:100,height:100,verticesX:10,verticesY:10};Ys=cw;});var dw,Xr,$m=f(()=>{Kc();dw=class fw extends Ys{constructor(e={}){e={...fw.defaultOptions,...e},super({width:e.width,height:e.height,verticesX:4,verticesY:4}),this.update(e);}update(e){this.width=e.width??this.width,this.height=e.height??this.height,this._originalWidth=e.originalWidth??this._originalWidth,this._originalHeight=e.originalHeight??this._originalHeight,this._leftWidth=e.leftWidth??this._leftWidth,this._rightWidth=e.rightWidth??this._rightWidth,this._topHeight=e.topHeight??this._topHeight,this._bottomHeight=e.bottomHeight??this._bottomHeight,this._anchorX=e.anchor?.x,this._anchorY=e.anchor?.y,this.updateUvs(),this.updatePositions();}updatePositions(){let e=this.positions,{width:t,height:i,_leftWidth:s,_rightWidth:n,_topHeight:o,_bottomHeight:a,_anchorX:u,_anchorY:l}=this,c=s+n,h=t>c?1:t/c,d=o+a,p=i>d?1:i/d,_=Math.min(h,p),b=u*t,g=l*i;e[0]=e[8]=e[16]=e[24]=-b,e[2]=e[10]=e[18]=e[26]=s*_-b,e[4]=e[12]=e[20]=e[28]=t-n*_-b,e[6]=e[14]=e[22]=e[30]=t-b,e[1]=e[3]=e[5]=e[7]=-g,e[9]=e[11]=e[13]=e[15]=o*_-g,e[17]=e[19]=e[21]=e[23]=i-a*_-g,e[25]=e[27]=e[29]=e[31]=i-g,this.getBuffer("aPosition").update();}updateUvs(){let e=this.uvs;e[0]=e[8]=e[16]=e[24]=0,e[1]=e[3]=e[5]=e[7]=0,e[6]=e[14]=e[22]=e[30]=1,e[25]=e[27]=e[29]=e[31]=1;let t=1/this._originalWidth,i=1/this._originalHeight;e[2]=e[10]=e[18]=e[26]=t*this._leftWidth,e[9]=e[11]=e[13]=e[15]=i*this._topHeight,e[4]=e[12]=e[20]=e[28]=1-t*this._rightWidth,e[17]=e[19]=e[21]=e[23]=1-i*this._bottomHeight,this.getBuffer("aUV").update();}};dw.defaultOptions={width:100,height:100,leftWidth:10,topHeight:10,rightWidth:10,bottomHeight:10,originalWidth:100,originalHeight:100};Xr=dw;});var Zc,co,l2=f(()=>{E();Fc();$m();Zc=class extends li{constructor(){super(),this.geometry=new Xr;}destroy(){this.geometry.destroy();}},co=class{constructor(e){this._renderer=e;}addRenderable(e,t){let i=this._getGpuSprite(e);e.didViewUpdate&&this._updateBatchableSprite(e,i),this._renderer.renderPipes.batch.addToBatch(i,t);}updateRenderable(e){let t=this._getGpuSprite(e);e.didViewUpdate&&this._updateBatchableSprite(e,t),t._batcher.updateElement(t);}validateRenderable(e){let t=this._getGpuSprite(e);return !t._batcher.checkAndUpdateTexture(t,e._texture)}_updateBatchableSprite(e,t){t.geometry.update(e),t.setTexture(e._texture);}_getGpuSprite(e){return e._gpuData[this._renderer.uid]||this._initGPUSprite(e)}_initGPUSprite(e){let t=e._gpuData[this._renderer.uid]=new Zc,i=t;return i.renderable=e,i.transform=e.groupTransform,i.texture=e._texture,i.roundPixels=this._renderer._roundPixels|e._roundPixels,e.didViewUpdate||this._updateBatchableSprite(e,i),t}destroy(){this._renderer=null;}};co.extension={type:[x.WebGLPipes,x.WebGPUPipes,x.CanvasPipes],name:"nineSliceSprite"};});var c2=f(()=>{E();l2();O.add(co);});var ho,h2=f(()=>{E();ho=class{constructor(e){this._renderer=e;}push(e,t,i){this._renderer.renderPipes.batch.break(i),i.add({renderPipeId:"filter",canBundle:false,action:"pushFilter",container:t,filterEffect:e});}pop(e,t,i){this._renderer.renderPipes.batch.break(i),i.add({renderPipeId:"filter",action:"popFilter",canBundle:false});}execute(e){e.action==="pushFilter"?this._renderer.filter.push(e):e.action==="popFilter"&&this._renderer.filter.pop();}destroy(){this._renderer=null;}};ho.extension={type:[x.WebGLPipes,x.WebGPUPipes,x.CanvasPipes],name:"filter"};});function qm(r,e){e.clear();let t=e.matrix;for(let i=0;i<r.length;i++){let s=r[i];s.globalDisplayStatus<7||(e.matrix=s.worldTransform,e.addBounds(s.bounds));}return e.matrix=t,e}var d2=f(()=>{});var BI,f2,fo,p2=f(()=>{E();ce();Gi();Ss();et();he();Fr();cr();Et();d2();ge();BI=new Dt({attributes:{aPosition:{buffer:new Float32Array([0,0,1,0,1,1,0,1]),format:"float32x2",stride:2*4,offset:0}},indexBuffer:new Uint32Array([0,1,2,0,2,3])}),f2=class{constructor(){this.skip=false,this.inputTexture=null,this.backTexture=null,this.filters=null,this.bounds=new xe,this.container=null,this.blendRequired=false,this.outputRenderSurface=null,this.globalFrame={x:0,y:0,width:0,height:0};}},fo=class{constructor(e){this._filterStackIndex=0,this._filterStack=[],this._filterGlobalUniforms=new ae({uInputSize:{value:new Float32Array(4),type:"vec4<f32>"},uInputPixel:{value:new Float32Array(4),type:"vec4<f32>"},uInputClamp:{value:new Float32Array(4),type:"vec4<f32>"},uOutputFrame:{value:new Float32Array(4),type:"vec4<f32>"},uGlobalFrame:{value:new Float32Array(4),type:"vec4<f32>"},uOutputTexture:{value:new Float32Array(4),type:"vec4<f32>"}}),this._globalFilterBindGroup=new at({}),this.renderer=e;}get activeBackTexture(){return this._activeFilterData?.backTexture}push(e){let t=this.renderer,i=e.filterEffect.filters,s=this._pushFilterData();s.skip=false,s.filters=i,s.container=e.container,s.outputRenderSurface=t.renderTarget.renderSurface;let n=t.renderTarget.renderTarget.colorTexture.source,o=n.resolution,a=n.antialias;if(i.length===0){s.skip=true;return}let u=s.bounds;if(this._calculateFilterArea(e,u),this._calculateFilterBounds(s,t.renderTarget.rootViewPort,a,o,1),s.skip)return;let l=this._getPreviousFilterData(),c=this._findFilterResolution(o),h=0,d=0;l&&(h=l.bounds.minX,d=l.bounds.minY),this._calculateGlobalFrame(s,h,d,c,n.width,n.height),this._setupFilterTextures(s,u,t,l);}generateFilteredTexture({texture:e,filters:t}){let i=this._pushFilterData();this._activeFilterData=i,i.skip=false,i.filters=t;let s=e.source,n=s.resolution,o=s.antialias;if(t.length===0)return i.skip=true,e;let a=i.bounds;if(a.addRect(e.frame),this._calculateFilterBounds(i,a.rectangle,o,n,0),i.skip)return e;let u=n;this._calculateGlobalFrame(i,0,0,u,s.width,s.height),i.outputRenderSurface=ye.getOptimalTexture(a.width,a.height,i.resolution,i.antialias),i.backTexture=C.EMPTY,i.inputTexture=e,this.renderer.renderTarget.finishRenderPass(),this._applyFiltersToTexture(i,true);let d=i.outputRenderSurface;return d.source.alphaMode="premultiplied-alpha",d}pop(){let e=this.renderer,t=this._popFilterData();t.skip||(e.globalUniforms.pop(),e.renderTarget.finishRenderPass(),this._activeFilterData=t,this._applyFiltersToTexture(t,false),t.blendRequired&&ye.returnTexture(t.backTexture),ye.returnTexture(t.inputTexture));}getBackTexture(e,t,i){let s=e.colorTexture.source._resolution,n=ye.getOptimalTexture(t.width,t.height,s,false),o=t.minX,a=t.minY;i&&(o-=i.minX,a-=i.minY),o=Math.floor(o*s),a=Math.floor(a*s);let u=Math.ceil(t.width*s),l=Math.ceil(t.height*s);return this.renderer.renderTarget.copyToTexture(e,n,{x:o,y:a},{width:u,height:l},{x:0,y:0}),n}applyFilter(e,t,i,s){let n=this.renderer,o=this._activeFilterData,u=o.outputRenderSurface===i,l=n.renderTarget.rootRenderTarget.colorTexture.source._resolution,c=this._findFilterResolution(l),h=0,d=0;if(u){let p=this._findPreviousFilterOffset();h=p.x,d=p.y;}this._updateFilterUniforms(t,i,o,h,d,c,u,s),this._setupBindGroupsAndRender(e,t,n);}calculateSpriteMatrix(e,t){let i=this._activeFilterData,s=e.set(i.inputTexture._source.width,0,0,i.inputTexture._source.height,i.bounds.minX,i.bounds.minY),n=t.worldTransform.copyTo(M.shared),o=t.renderGroup||t.parentRenderGroup;return o&&o.cacheToLocalTransform&&n.prepend(o.cacheToLocalTransform),n.invert(),s.prepend(n),s.scale(1/t.texture.frame.width,1/t.texture.frame.height),s.translate(t.anchor.x,t.anchor.y),s}destroy(){}_setupBindGroupsAndRender(e,t,i){if(i.renderPipes.uniformBatch){let s=i.renderPipes.uniformBatch.getUboResource(this._filterGlobalUniforms);this._globalFilterBindGroup.setResource(s,0);}else this._globalFilterBindGroup.setResource(this._filterGlobalUniforms,0);this._globalFilterBindGroup.setResource(t.source,1),this._globalFilterBindGroup.setResource(t.source.style,2),e.groups[0]=this._globalFilterBindGroup,i.encoder.draw({geometry:BI,shader:e,state:e._state,topology:"triangle-list"}),i.type===Oe.WEBGL&&i.renderTarget.finishRenderPass();}_setupFilterTextures(e,t,i,s){if(e.backTexture=C.EMPTY,e.blendRequired){i.renderTarget.finishRenderPass();let n=i.renderTarget.getRenderTarget(e.outputRenderSurface);e.backTexture=this.getBackTexture(n,t,s?.bounds);}e.inputTexture=ye.getOptimalTexture(t.width,t.height,e.resolution,e.antialias),i.renderTarget.bind(e.inputTexture,true),i.globalUniforms.push({offset:t});}_calculateGlobalFrame(e,t,i,s,n,o){let a=e.globalFrame;a.x=t*s,a.y=i*s,a.width=n*s,a.height=o*s;}_updateFilterUniforms(e,t,i,s,n,o,a,u){let l=this._filterGlobalUniforms.uniforms,c=l.uOutputFrame,h=l.uInputSize,d=l.uInputPixel,p=l.uInputClamp,_=l.uGlobalFrame,b=l.uOutputTexture;a?(c[0]=i.bounds.minX-s,c[1]=i.bounds.minY-n):(c[0]=0,c[1]=0),c[2]=e.frame.width,c[3]=e.frame.height,h[0]=e.source.width,h[1]=e.source.height,h[2]=1/h[0],h[3]=1/h[1],d[0]=e.source.pixelWidth,d[1]=e.source.pixelHeight,d[2]=1/d[0],d[3]=1/d[1],p[0]=.5*d[2],p[1]=.5*d[3],p[2]=e.frame.width*h[2]-.5*d[2],p[3]=e.frame.height*h[3]-.5*d[3];let g=this.renderer.renderTarget.rootRenderTarget.colorTexture;_[0]=s*o,_[1]=n*o,_[2]=g.source.width*o,_[3]=g.source.height*o,t instanceof C&&(t.source.resource=null);let m=this.renderer.renderTarget.getRenderTarget(t);this.renderer.renderTarget.bind(t,!!u),t instanceof C?(b[0]=t.frame.width,b[1]=t.frame.height):(b[0]=m.width,b[1]=m.height),b[2]=m.isRoot?-1:1,this._filterGlobalUniforms.update();}_findFilterResolution(e){let t=this._filterStackIndex-1;for(;t>0&&this._filterStack[t].skip;)--t;return t>0&&this._filterStack[t].inputTexture?this._filterStack[t].inputTexture.source._resolution:e}_findPreviousFilterOffset(){let e=0,t=0,i=this._filterStackIndex;for(;i>0;){i--;let s=this._filterStack[i];if(!s.skip){e=s.bounds.minX,t=s.bounds.minY;break}}return {x:e,y:t}}_calculateFilterArea(e,t){if(e.renderables?qm(e.renderables,t):e.filterEffect.filterArea?(t.clear(),t.addRect(e.filterEffect.filterArea),t.applyMatrix(e.container.worldTransform)):e.container.getFastGlobalBounds(true,t),e.container){let s=(e.container.renderGroup||e.container.parentRenderGroup).cacheToLocalTransform;s&&t.applyMatrix(s);}}_applyFiltersToTexture(e,t){let i=e.inputTexture,s=e.bounds,n=e.filters;if(this._globalFilterBindGroup.setResource(i.source.style,2),this._globalFilterBindGroup.setResource(e.backTexture.source,3),n.length===1)n[0].apply(this,i,e.outputRenderSurface,t);else {let o=e.inputTexture,a=ye.getOptimalTexture(s.width,s.height,o.source._resolution,false),u=a,l=0;for(l=0;l<n.length-1;++l){n[l].apply(this,o,u,true);let h=o;o=u,u=h;}n[l].apply(this,o,e.outputRenderSurface,t),ye.returnTexture(a);}}_calculateFilterBounds(e,t,i,s,n){let o=this.renderer,a=e.bounds,u=e.filters,l=1/0,c=0,h=true,d=false,p=false,_=true;for(let b=0;b<u.length;b++){let g=u[b];if(l=Math.min(l,g.resolution==="inherit"?s:g.resolution),c+=g.padding,g.antialias==="off"?h=false:g.antialias==="inherit"&&h&&(h=i),g.clipToViewport||(_=false),!!!(g.compatibleRenderers&o.type)){p=false;break}if(g.blendRequired&&!(o.backBuffer?.useBackBuffer??true)){k("Blend filter requires backBuffer on WebGL renderer to be enabled. Set `useBackBuffer: true` in the renderer options."),p=false;break}p=g.enabled||p,d||(d=g.blendRequired);}if(!p){e.skip=true;return}if(_&&a.fitBounds(0,t.width/s,0,t.height/s),a.scale(l).ceil().scale(1/l).pad((c|0)*n),!a.isPositive){e.skip=true;return}e.antialias=h,e.resolution=l,e.blendRequired=d;}_popFilterData(){return this._filterStackIndex--,this._filterStack[this._filterStackIndex]}_getPreviousFilterData(){let e,t=this._filterStackIndex-1;for(;t>1&&(t--,e=this._filterStack[t],!!e.skip););return e}_pushFilterData(){let e=this._filterStack[this._filterStackIndex];return e||(e=this._filterStack[this._filterStackIndex]=new f2),this._filterStackIndex++,e}};fo.extension={type:[x.WebGLSystem,x.WebGPUSystem],name:"filter"};});var m2=f(()=>{E();h2();p2();O.add(fo);O.add(ho);});var RI={};var pw=f(()=>{HA();oy();zA();XA();Wf();jf();L0();H0();J0();Bv();Lv();Qv();u2();c2();m2();});var g2,mw=f(()=>{E();g2={extension:{type:x.Environment,name:"browser",priority:-1},test:()=>true,load:async()=>{await Promise.resolve().then(()=>(pw(),RI));}};});var MI={};var gw=f(()=>{oy();Wf();jf();L0();H0();J0();Bv();Lv();Qv();u2();c2();m2();});var x2,xw=f(()=>{E();x2={extension:{type:x.Environment,name:"webworker",priority:0},test:()=>typeof self<"u"&&self.WorkerGlobalScope!==void 0,load:async()=>{await Promise.resolve().then(()=>(gw(),MI));}};});var _w,_t,fi=f(()=>{Kt();lr();Cr();hr();_w=class _2 extends ze{constructor(e){e={..._2.defaultOptions,...e},super(e),this.enabled=true,this._state=Ue.for2d(),this.blendMode=e.blendMode,this.padding=e.padding,typeof e.antialias=="boolean"?this.antialias=e.antialias?"on":"off":this.antialias=e.antialias,this.resolution=e.resolution,this.blendRequired=e.blendRequired,this.clipToViewport=e.clipToViewport,this.addResource("uTexture",0,1);}apply(e,t,i,s){e.applyFilter(this,t,i,s);}get blendMode(){return this._state.blendMode}set blendMode(e){this._state.blendMode=e;}static from(e){let{gpu:t,gl:i,...s}=e,n,o;return t&&(n=Fe.from(t)),i&&(o=ke.from(i)),new _2({gpuProgram:n,glProgram:o,...s})}};_w.defaultOptions={blendMode:"normal",resolution:1,padding:0,antialias:"off",blendRequired:false,clipToViewport:true};_t=_w;});var jm,b2=f(()=>{jm=`
|
|
578
|
+
`}};});var e2,t2,yu,r2=f(()=>{ce();Li();uo();Ni();Cr();et();he();Jv();yu=class extends ze{constructor(){e2??(e2=Tr({name:"tiling-sprite-shader",bits:[Yi,Hm,Er]})),t2??(t2=Sr({name:"tiling-sprite-shader",bits:[Xs,Vm,Ar]}));let e=new ae({uMapCoord:{value:new M,type:"mat3x3<f32>"},uClampFrame:{value:new Float32Array([0,0,1,1]),type:"vec4<f32>"},uClampOffset:{value:new Float32Array([0,0]),type:"vec2<f32>"},uTextureTransform:{value:new M,type:"mat3x3<f32>"},uSizeAnchor:{value:new Float32Array([100,100,.5,.5]),type:"vec4<f32>"}});super({glProgram:t2,gpuProgram:e2,resources:{localUniforms:new ae({uTransformMatrix:{value:new M,type:"mat3x3<f32>"},uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uRound:{value:0,type:"f32"}}),tilingUniforms:e,uTexture:C.EMPTY.source,uSampler:C.EMPTY.source.style}});}updateUniforms(e,t,i,s,n,o){let a=this.resources.tilingUniforms,u=o.width,l=o.height,c=o.textureMatrix,h=a.uniforms.uTextureTransform;h.set(i.a*u/e,i.b*u/t,i.c*l/e,i.d*l/t,i.tx/e,i.ty/t),h.invert(),a.uniforms.uMapCoord=c.mapCoord,a.uniforms.uClampFrame=c.uClampFrame,a.uniforms.uClampOffset=c.uClampOffset,a.uniforms.uTextureTransform=h,a.uniforms.uSizeAnchor[0]=e,a.uniforms.uSizeAnchor[1]=t,a.uniforms.uSizeAnchor[2]=s,a.uniforms.uSizeAnchor[3]=n,o&&(this.resources.uTexture=o.source,this.resources.uSampler=o.source.style);}};});var vu,i2=f(()=>{Ws();vu=class extends Zt{constructor(){super({positions:new Float32Array([0,0,1,0,1,1,0,1]),uvs:new Float32Array([0,0,1,0,1,1,0,1]),indices:new Uint32Array([0,1,2,0,2,3])});}};});function zm(r,e){let t=r.anchor.x,i=r.anchor.y;e[0]=-t*r.width,e[1]=-i*r.height,e[2]=(1-t)*r.width,e[3]=-i*r.height,e[4]=(1-t)*r.width,e[5]=(1-i)*r.height,e[6]=-t*r.width,e[7]=(1-i)*r.height;}var s2=f(()=>{});function Wm(r,e,t,i){let s=0,n=r.length/(e||2),o=i.a,a=i.b,u=i.c,l=i.d,c=i.tx,h=i.ty;for(t*=e;s<n;){let d=r[t],p=r[t+1];r[t]=o*d+u*p+c,r[t+1]=a*d+l*p+h,t+=e,s++;}}var n2=f(()=>{});function Xm(r,e){let t=r.texture,i=t.frame.width,s=t.frame.height,n=0,o=0;r.applyAnchorToTexture&&(n=r.anchor.x,o=r.anchor.y),e[0]=e[6]=-n,e[2]=e[4]=1-n,e[1]=e[3]=-o,e[5]=e[7]=1-o;let a=M.shared;a.copyFrom(r._tileTransform.matrix),a.tx/=r.width,a.ty/=r.height,a.invert(),a.scale(r.width/i,r.height/s),Wm(e,2,0,a);}var o2=f(()=>{ce();n2();});var Ym,jc,lo,a2=f(()=>{E();La();hr();cr();$n();Fc();Ws();r2();i2();s2();o2();Ym=new vu,jc=class{constructor(){this.canBatch=true,this.geometry=new Zt({indices:Ym.indices.slice(),positions:Ym.positions.slice(),uvs:Ym.uvs.slice()});}destroy(){this.geometry.destroy(),this.shader?.destroy();}},lo=class{constructor(e){this._state=Ue.default2d,this._renderer=e;}validateRenderable(e){let t=this._getTilingSpriteData(e),i=t.canBatch;this._updateCanBatch(e);let s=t.canBatch;if(s&&s===i){let{batchableMesh:n}=t;return !n._batcher.checkAndUpdateTexture(n,e.texture)}return i!==s}addRenderable(e,t){let i=this._renderer.renderPipes.batch;this._updateCanBatch(e);let s=this._getTilingSpriteData(e),{geometry:n,canBatch:o}=s;if(o){s.batchableMesh||(s.batchableMesh=new li);let a=s.batchableMesh;e.didViewUpdate&&(this._updateBatchableMesh(e),a.geometry=n,a.renderable=e,a.transform=e.groupTransform,a.setTexture(e._texture)),a.roundPixels=this._renderer._roundPixels|e._roundPixels,i.addToBatch(a,t);}else i.break(t),s.shader||(s.shader=new yu),this.updateRenderable(e),t.add(e);}execute(e){let{shader:t}=this._getTilingSpriteData(e);t.groups[0]=this._renderer.globalUniforms.bindGroup;let i=t.resources.localUniforms.uniforms;i.uTransformMatrix=e.groupTransform,i.uRound=this._renderer._roundPixels|e._roundPixels,wr(e.groupColorAlpha,i.uColor,0),this._state.blendMode=Lr(e.groupBlendMode,e.texture._source),this._renderer.encoder.draw({geometry:Ym,shader:t,state:this._state});}updateRenderable(e){let t=this._getTilingSpriteData(e),{canBatch:i}=t;if(i){let{batchableMesh:s}=t;e.didViewUpdate&&this._updateBatchableMesh(e),s._batcher.updateElement(s);}else if(e.didViewUpdate){let{shader:s}=t;s.updateUniforms(e.width,e.height,e._tileTransform.matrix,e.anchor.x,e.anchor.y,e.texture);}}_getTilingSpriteData(e){return e._gpuData[this._renderer.uid]||this._initTilingSpriteData(e)}_initTilingSpriteData(e){let t=new jc;return t.renderable=e,e._gpuData[this._renderer.uid]=t,t}_updateBatchableMesh(e){let t=this._getTilingSpriteData(e),{geometry:i}=t,s=e.texture.source.style;s.addressMode!=="repeat"&&(s.addressMode="repeat",s.update()),Xm(e,i.uvs),zm(e,i.positions);}destroy(){this._renderer=null;}_updateCanBatch(e){let t=this._getTilingSpriteData(e),i=e.texture,s=true;return this._renderer.type===Oe.WEBGL&&(s=this._renderer.context.supports.nonPowOf2wrapping),t.canBatch=i.textureMatrix.isSimple&&(s||i.source.isPowerOfTwo),t.canBatch}};lo.extension={type:[x.WebGLPipes,x.WebGPUPipes,x.CanvasPipes],name:"tilingSprite"};});var u2=f(()=>{E();a2();O.add(lo);});var cw,Ys,Kc=f(()=>{me();Ws();cw=class hw extends Zt{constructor(...e){super({});let t=e[0]??{};typeof t=="number"&&(I(V,"PlaneGeometry constructor changed please use { width, height, verticesX, verticesY } instead"),t={width:t,height:e[1],verticesX:e[2],verticesY:e[3]}),this.build(t);}build(e){e={...hw.defaultOptions,...e},this.verticesX=this.verticesX??e.verticesX,this.verticesY=this.verticesY??e.verticesY,this.width=this.width??e.width,this.height=this.height??e.height;let t=this.verticesX*this.verticesY,i=[],s=[],n=[],o=this.verticesX-1,a=this.verticesY-1,u=this.width/o,l=this.height/a;for(let h=0;h<t;h++){let d=h%this.verticesX,p=h/this.verticesX|0;i.push(d*u,p*l),s.push(d/o,p/a);}let c=o*a;for(let h=0;h<c;h++){let d=h%o,p=h/o|0,_=p*this.verticesX+d,b=p*this.verticesX+d+1,g=(p+1)*this.verticesX+d,m=(p+1)*this.verticesX+d+1;n.push(_,b,g,b,m,g);}this.buffers[0].data=new Float32Array(i),this.buffers[1].data=new Float32Array(s),this.indexBuffer.data=new Uint32Array(n),this.buffers[0].update(),this.buffers[1].update(),this.indexBuffer.update();}};cw.defaultOptions={width:100,height:100,verticesX:10,verticesY:10};Ys=cw;});var dw,Xr,$m=f(()=>{Kc();dw=class fw extends Ys{constructor(e={}){e={...fw.defaultOptions,...e},super({width:e.width,height:e.height,verticesX:4,verticesY:4}),this.update(e);}update(e){this.width=e.width??this.width,this.height=e.height??this.height,this._originalWidth=e.originalWidth??this._originalWidth,this._originalHeight=e.originalHeight??this._originalHeight,this._leftWidth=e.leftWidth??this._leftWidth,this._rightWidth=e.rightWidth??this._rightWidth,this._topHeight=e.topHeight??this._topHeight,this._bottomHeight=e.bottomHeight??this._bottomHeight,this._anchorX=e.anchor?.x,this._anchorY=e.anchor?.y,this.updateUvs(),this.updatePositions();}updatePositions(){let e=this.positions,{width:t,height:i,_leftWidth:s,_rightWidth:n,_topHeight:o,_bottomHeight:a,_anchorX:u,_anchorY:l}=this,c=s+n,h=t>c?1:t/c,d=o+a,p=i>d?1:i/d,_=Math.min(h,p),b=u*t,g=l*i;e[0]=e[8]=e[16]=e[24]=-b,e[2]=e[10]=e[18]=e[26]=s*_-b,e[4]=e[12]=e[20]=e[28]=t-n*_-b,e[6]=e[14]=e[22]=e[30]=t-b,e[1]=e[3]=e[5]=e[7]=-g,e[9]=e[11]=e[13]=e[15]=o*_-g,e[17]=e[19]=e[21]=e[23]=i-a*_-g,e[25]=e[27]=e[29]=e[31]=i-g,this.getBuffer("aPosition").update();}updateUvs(){let e=this.uvs;e[0]=e[8]=e[16]=e[24]=0,e[1]=e[3]=e[5]=e[7]=0,e[6]=e[14]=e[22]=e[30]=1,e[25]=e[27]=e[29]=e[31]=1;let t=1/this._originalWidth,i=1/this._originalHeight;e[2]=e[10]=e[18]=e[26]=t*this._leftWidth,e[9]=e[11]=e[13]=e[15]=i*this._topHeight,e[4]=e[12]=e[20]=e[28]=1-t*this._rightWidth,e[17]=e[19]=e[21]=e[23]=1-i*this._bottomHeight,this.getBuffer("aUV").update();}};dw.defaultOptions={width:100,height:100,leftWidth:10,topHeight:10,rightWidth:10,bottomHeight:10,originalWidth:100,originalHeight:100};Xr=dw;});var Zc,co,l2=f(()=>{E();Fc();$m();Zc=class extends li{constructor(){super(),this.geometry=new Xr;}destroy(){this.geometry.destroy();}},co=class{constructor(e){this._renderer=e;}addRenderable(e,t){let i=this._getGpuSprite(e);e.didViewUpdate&&this._updateBatchableSprite(e,i),this._renderer.renderPipes.batch.addToBatch(i,t);}updateRenderable(e){let t=this._getGpuSprite(e);e.didViewUpdate&&this._updateBatchableSprite(e,t),t._batcher.updateElement(t);}validateRenderable(e){let t=this._getGpuSprite(e);return !t._batcher.checkAndUpdateTexture(t,e._texture)}_updateBatchableSprite(e,t){t.geometry.update(e),t.setTexture(e._texture);}_getGpuSprite(e){return e._gpuData[this._renderer.uid]||this._initGPUSprite(e)}_initGPUSprite(e){let t=e._gpuData[this._renderer.uid]=new Zc,i=t;return i.renderable=e,i.transform=e.groupTransform,i.texture=e._texture,i.roundPixels=this._renderer._roundPixels|e._roundPixels,e.didViewUpdate||this._updateBatchableSprite(e,i),t}destroy(){this._renderer=null;}};co.extension={type:[x.WebGLPipes,x.WebGPUPipes,x.CanvasPipes],name:"nineSliceSprite"};});var c2=f(()=>{E();l2();O.add(co);});var ho,h2=f(()=>{E();ho=class{constructor(e){this._renderer=e;}push(e,t,i){this._renderer.renderPipes.batch.break(i),i.add({renderPipeId:"filter",canBundle:false,action:"pushFilter",container:t,filterEffect:e});}pop(e,t,i){this._renderer.renderPipes.batch.break(i),i.add({renderPipeId:"filter",action:"popFilter",canBundle:false});}execute(e){e.action==="pushFilter"?this._renderer.filter.push(e):e.action==="popFilter"&&this._renderer.filter.pop();}destroy(){this._renderer=null;}};ho.extension={type:[x.WebGLPipes,x.WebGPUPipes,x.CanvasPipes],name:"filter"};});function qm(r,e){e.clear();let t=e.matrix;for(let i=0;i<r.length;i++){let s=r[i];s.globalDisplayStatus<7||(e.matrix=s.worldTransform,e.addBounds(s.bounds));}return e.matrix=t,e}var d2=f(()=>{});var BI,f2,fo,p2=f(()=>{E();ce();Gi();Ss();et();he();Fr();cr();Et();d2();ge();BI=new Dt({attributes:{aPosition:{buffer:new Float32Array([0,0,1,0,1,1,0,1]),format:"float32x2",stride:8,offset:0}},indexBuffer:new Uint32Array([0,1,2,0,2,3])}),f2=class{constructor(){this.skip=false,this.inputTexture=null,this.backTexture=null,this.filters=null,this.bounds=new xe,this.container=null,this.blendRequired=false,this.outputRenderSurface=null,this.globalFrame={x:0,y:0,width:0,height:0};}},fo=class{constructor(e){this._filterStackIndex=0,this._filterStack=[],this._filterGlobalUniforms=new ae({uInputSize:{value:new Float32Array(4),type:"vec4<f32>"},uInputPixel:{value:new Float32Array(4),type:"vec4<f32>"},uInputClamp:{value:new Float32Array(4),type:"vec4<f32>"},uOutputFrame:{value:new Float32Array(4),type:"vec4<f32>"},uGlobalFrame:{value:new Float32Array(4),type:"vec4<f32>"},uOutputTexture:{value:new Float32Array(4),type:"vec4<f32>"}}),this._globalFilterBindGroup=new at({}),this.renderer=e;}get activeBackTexture(){return this._activeFilterData?.backTexture}push(e){let t=this.renderer,i=e.filterEffect.filters,s=this._pushFilterData();s.skip=false,s.filters=i,s.container=e.container,s.outputRenderSurface=t.renderTarget.renderSurface;let n=t.renderTarget.renderTarget.colorTexture.source,o=n.resolution,a=n.antialias;if(i.length===0){s.skip=true;return}let u=s.bounds;if(this._calculateFilterArea(e,u),this._calculateFilterBounds(s,t.renderTarget.rootViewPort,a,o,1),s.skip)return;let l=this._getPreviousFilterData(),c=this._findFilterResolution(o),h=0,d=0;l&&(h=l.bounds.minX,d=l.bounds.minY),this._calculateGlobalFrame(s,h,d,c,n.width,n.height),this._setupFilterTextures(s,u,t,l);}generateFilteredTexture({texture:e,filters:t}){let i=this._pushFilterData();this._activeFilterData=i,i.skip=false,i.filters=t;let s=e.source,n=s.resolution,o=s.antialias;if(t.length===0)return i.skip=true,e;let a=i.bounds;if(a.addRect(e.frame),this._calculateFilterBounds(i,a.rectangle,o,n,0),i.skip)return e;let u=n;this._calculateGlobalFrame(i,0,0,u,s.width,s.height),i.outputRenderSurface=ye.getOptimalTexture(a.width,a.height,i.resolution,i.antialias),i.backTexture=C.EMPTY,i.inputTexture=e,this.renderer.renderTarget.finishRenderPass(),this._applyFiltersToTexture(i,true);let d=i.outputRenderSurface;return d.source.alphaMode="premultiplied-alpha",d}pop(){let e=this.renderer,t=this._popFilterData();t.skip||(e.globalUniforms.pop(),e.renderTarget.finishRenderPass(),this._activeFilterData=t,this._applyFiltersToTexture(t,false),t.blendRequired&&ye.returnTexture(t.backTexture),ye.returnTexture(t.inputTexture));}getBackTexture(e,t,i){let s=e.colorTexture.source._resolution,n=ye.getOptimalTexture(t.width,t.height,s,false),o=t.minX,a=t.minY;i&&(o-=i.minX,a-=i.minY),o=Math.floor(o*s),a=Math.floor(a*s);let u=Math.ceil(t.width*s),l=Math.ceil(t.height*s);return this.renderer.renderTarget.copyToTexture(e,n,{x:o,y:a},{width:u,height:l},{x:0,y:0}),n}applyFilter(e,t,i,s){let n=this.renderer,o=this._activeFilterData,u=o.outputRenderSurface===i,l=n.renderTarget.rootRenderTarget.colorTexture.source._resolution,c=this._findFilterResolution(l),h=0,d=0;if(u){let p=this._findPreviousFilterOffset();h=p.x,d=p.y;}this._updateFilterUniforms(t,i,o,h,d,c,u,s),this._setupBindGroupsAndRender(e,t,n);}calculateSpriteMatrix(e,t){let i=this._activeFilterData,s=e.set(i.inputTexture._source.width,0,0,i.inputTexture._source.height,i.bounds.minX,i.bounds.minY),n=t.worldTransform.copyTo(M.shared),o=t.renderGroup||t.parentRenderGroup;return o&&o.cacheToLocalTransform&&n.prepend(o.cacheToLocalTransform),n.invert(),s.prepend(n),s.scale(1/t.texture.frame.width,1/t.texture.frame.height),s.translate(t.anchor.x,t.anchor.y),s}destroy(){}_setupBindGroupsAndRender(e,t,i){if(i.renderPipes.uniformBatch){let s=i.renderPipes.uniformBatch.getUboResource(this._filterGlobalUniforms);this._globalFilterBindGroup.setResource(s,0);}else this._globalFilterBindGroup.setResource(this._filterGlobalUniforms,0);this._globalFilterBindGroup.setResource(t.source,1),this._globalFilterBindGroup.setResource(t.source.style,2),e.groups[0]=this._globalFilterBindGroup,i.encoder.draw({geometry:BI,shader:e,state:e._state,topology:"triangle-list"}),i.type===Oe.WEBGL&&i.renderTarget.finishRenderPass();}_setupFilterTextures(e,t,i,s){if(e.backTexture=C.EMPTY,e.blendRequired){i.renderTarget.finishRenderPass();let n=i.renderTarget.getRenderTarget(e.outputRenderSurface);e.backTexture=this.getBackTexture(n,t,s?.bounds);}e.inputTexture=ye.getOptimalTexture(t.width,t.height,e.resolution,e.antialias),i.renderTarget.bind(e.inputTexture,true),i.globalUniforms.push({offset:t});}_calculateGlobalFrame(e,t,i,s,n,o){let a=e.globalFrame;a.x=t*s,a.y=i*s,a.width=n*s,a.height=o*s;}_updateFilterUniforms(e,t,i,s,n,o,a,u){let l=this._filterGlobalUniforms.uniforms,c=l.uOutputFrame,h=l.uInputSize,d=l.uInputPixel,p=l.uInputClamp,_=l.uGlobalFrame,b=l.uOutputTexture;a?(c[0]=i.bounds.minX-s,c[1]=i.bounds.minY-n):(c[0]=0,c[1]=0),c[2]=e.frame.width,c[3]=e.frame.height,h[0]=e.source.width,h[1]=e.source.height,h[2]=1/h[0],h[3]=1/h[1],d[0]=e.source.pixelWidth,d[1]=e.source.pixelHeight,d[2]=1/d[0],d[3]=1/d[1],p[0]=.5*d[2],p[1]=.5*d[3],p[2]=e.frame.width*h[2]-.5*d[2],p[3]=e.frame.height*h[3]-.5*d[3];let g=this.renderer.renderTarget.rootRenderTarget.colorTexture;_[0]=s*o,_[1]=n*o,_[2]=g.source.width*o,_[3]=g.source.height*o,t instanceof C&&(t.source.resource=null);let m=this.renderer.renderTarget.getRenderTarget(t);this.renderer.renderTarget.bind(t,!!u),t instanceof C?(b[0]=t.frame.width,b[1]=t.frame.height):(b[0]=m.width,b[1]=m.height),b[2]=m.isRoot?-1:1,this._filterGlobalUniforms.update();}_findFilterResolution(e){let t=this._filterStackIndex-1;for(;t>0&&this._filterStack[t].skip;)--t;return t>0&&this._filterStack[t].inputTexture?this._filterStack[t].inputTexture.source._resolution:e}_findPreviousFilterOffset(){let e=0,t=0,i=this._filterStackIndex;for(;i>0;){i--;let s=this._filterStack[i];if(!s.skip){e=s.bounds.minX,t=s.bounds.minY;break}}return {x:e,y:t}}_calculateFilterArea(e,t){if(e.renderables?qm(e.renderables,t):e.filterEffect.filterArea?(t.clear(),t.addRect(e.filterEffect.filterArea),t.applyMatrix(e.container.worldTransform)):e.container.getFastGlobalBounds(true,t),e.container){let s=(e.container.renderGroup||e.container.parentRenderGroup).cacheToLocalTransform;s&&t.applyMatrix(s);}}_applyFiltersToTexture(e,t){let i=e.inputTexture,s=e.bounds,n=e.filters;if(this._globalFilterBindGroup.setResource(i.source.style,2),this._globalFilterBindGroup.setResource(e.backTexture.source,3),n.length===1)n[0].apply(this,i,e.outputRenderSurface,t);else {let o=e.inputTexture,a=ye.getOptimalTexture(s.width,s.height,o.source._resolution,false),u=a,l=0;for(l=0;l<n.length-1;++l){n[l].apply(this,o,u,true);let h=o;o=u,u=h;}n[l].apply(this,o,e.outputRenderSurface,t),ye.returnTexture(a);}}_calculateFilterBounds(e,t,i,s,n){let o=this.renderer,a=e.bounds,u=e.filters,l=1/0,c=0,h=true,d=false,p=false,_=true;for(let b=0;b<u.length;b++){let g=u[b];if(l=Math.min(l,g.resolution==="inherit"?s:g.resolution),c+=g.padding,g.antialias==="off"?h=false:g.antialias==="inherit"&&h&&(h=i),g.clipToViewport||(_=false),!!!(g.compatibleRenderers&o.type)){p=false;break}if(g.blendRequired&&!(o.backBuffer?.useBackBuffer??true)){k("Blend filter requires backBuffer on WebGL renderer to be enabled. Set `useBackBuffer: true` in the renderer options."),p=false;break}p=g.enabled||p,d||(d=g.blendRequired);}if(!p){e.skip=true;return}if(_&&a.fitBounds(0,t.width/s,0,t.height/s),a.scale(l).ceil().scale(1/l).pad((c|0)*n),!a.isPositive){e.skip=true;return}e.antialias=h,e.resolution=l,e.blendRequired=d;}_popFilterData(){return this._filterStackIndex--,this._filterStack[this._filterStackIndex]}_getPreviousFilterData(){let e,t=this._filterStackIndex-1;for(;t>1&&(t--,e=this._filterStack[t],!!e.skip););return e}_pushFilterData(){let e=this._filterStack[this._filterStackIndex];return e||(e=this._filterStack[this._filterStackIndex]=new f2),this._filterStackIndex++,e}};fo.extension={type:[x.WebGLSystem,x.WebGPUSystem],name:"filter"};});var m2=f(()=>{E();h2();p2();O.add(fo);O.add(ho);});var RI={};var pw=f(()=>{HA();oy();zA();XA();Wf();jf();L0();H0();J0();Bv();Lv();Qv();u2();c2();m2();});var g2,mw=f(()=>{E();g2={extension:{type:x.Environment,name:"browser",priority:-1},test:()=>true,load:async()=>{await Promise.resolve().then(()=>(pw(),RI));}};});var MI={};var gw=f(()=>{oy();Wf();jf();L0();H0();J0();Bv();Lv();Qv();u2();c2();m2();});var x2,xw=f(()=>{E();x2={extension:{type:x.Environment,name:"webworker",priority:0},test:()=>typeof self<"u"&&self.WorkerGlobalScope!==void 0,load:async()=>{await Promise.resolve().then(()=>(gw(),MI));}};});var _w,_t,fi=f(()=>{Kt();lr();Cr();hr();_w=class _2 extends ze{constructor(e){e={..._2.defaultOptions,...e},super(e),this.enabled=true,this._state=Ue.for2d(),this.blendMode=e.blendMode,this.padding=e.padding,typeof e.antialias=="boolean"?this.antialias=e.antialias?"on":"off":this.antialias=e.antialias,this.resolution=e.resolution,this.blendRequired=e.blendRequired,this.clipToViewport=e.clipToViewport,this.addResource("uTexture",0,1);}apply(e,t,i,s){e.applyFilter(this,t,i,s);}get blendMode(){return this._state.blendMode}set blendMode(e){this._state.blendMode=e;}static from(e){let{gpu:t,gl:i,...s}=e,n,o;return t&&(n=Fe.from(t)),i&&(o=ke.from(i)),new _2({gpuProgram:n,glProgram:o,...s})}};_w.defaultOptions={blendMode:"normal",resolution:1,padding:0,antialias:"off",blendRequired:false,clipToViewport:true};_t=_w;});var jm,b2=f(()=>{jm=`
|
|
579
579
|
in vec2 vTextureCoord;
|
|
580
580
|
in vec4 vColor;
|
|
581
581
|
|
|
@@ -1716,7 +1716,7 @@ fn mainFragment(
|
|
|
1716
1716
|
}
|
|
1717
1717
|
`;});var Cu,L2=f(()=>{ce();Kt();lr();et();Af();fi();O2();G2();U2();Cu=class extends _t{constructor(e){let{sprite:t,...i}=e,s=new hs(t.texture),n=new ae({uFilterMatrix:{value:new M,type:"mat3x3<f32>"},uMaskClamp:{value:s.uClampFrame,type:"vec4<f32>"},uAlpha:{value:1,type:"f32"},uInverse:{value:e.inverse?1:0,type:"f32"}}),o=Fe.from({vertex:{source:Ah,entryPoint:"mainVertex"},fragment:{source:Ah,entryPoint:"mainFragment"}}),a=ke.from({vertex:fg,fragment:dg,name:"mask-filter"});super({...i,gpuProgram:o,glProgram:a,resources:{filterUniforms:n,uMaskTexture:t.texture.source}}),this.sprite=t,this._textureMatrix=s;}set inverse(e){this.resources.filterUniforms.uniforms.uInverse=e?1:0;}get inverse(){return this.resources.filterUniforms.uniforms.uInverse===1}apply(e,t,i,s){this._textureMatrix.texture=this.sprite.texture,e.calculateSpriteMatrix(this.resources.filterUniforms.uniforms.uFilterMatrix,this.sprite).prepend(this._textureMatrix.mapCoord),this.resources.uMaskTexture=this.sprite.texture.source,e.applyFilter(this,t,i,s);}};});var OI,N2,Co,H2=f(()=>{E();Jl();L2();Et();An();xs();si();he();Fr();cr();OI=new xe,N2=class extends Ir{constructor(){super(),this.filters=[new Cu({sprite:new Ae(C.EMPTY),inverse:false,resolution:"inherit",antialias:"inherit"})];}get sprite(){return this.filters[0].sprite}set sprite(e){this.filters[0].sprite=e;}get inverse(){return this.filters[0].inverse}set inverse(e){this.filters[0].inverse=e;}},Co=class{constructor(e){this._activeMaskStage=[],this._renderer=e;}push(e,t,i){let s=this._renderer;if(s.renderPipes.batch.break(i),i.add({renderPipeId:"alphaMask",action:"pushMaskBegin",mask:e,inverse:t._maskOptions.inverse,canBundle:false,maskedContainer:t}),e.inverse=t._maskOptions.inverse,e.renderMaskToTexture){let n=e.mask;n.includeInBuild=true,n.collectRenderables(i,s,null),n.includeInBuild=false;}s.renderPipes.batch.break(i),i.add({renderPipeId:"alphaMask",action:"pushMaskEnd",mask:e,maskedContainer:t,inverse:t._maskOptions.inverse,canBundle:false});}pop(e,t,i){this._renderer.renderPipes.batch.break(i),i.add({renderPipeId:"alphaMask",action:"popMaskEnd",mask:e,inverse:t._maskOptions.inverse,canBundle:false});}execute(e){let t=this._renderer,i=e.mask.renderMaskToTexture;if(e.action==="pushMaskBegin"){let s=Re.get(N2);if(s.inverse=e.inverse,i){e.mask.mask.measurable=true;let n=ni(e.mask.mask,true,OI);e.mask.mask.measurable=false,n.ceil();let o=t.renderTarget.renderTarget.colorTexture.source,a=ye.getOptimalTexture(n.width,n.height,o._resolution,o.antialias);t.renderTarget.push(a,true),t.globalUniforms.push({offset:n,worldColor:4294967295});let u=s.sprite;u.texture=a,u.worldTransform.tx=n.minX,u.worldTransform.ty=n.minY,this._activeMaskStage.push({filterEffect:s,maskedContainer:e.maskedContainer,filterTexture:a});}else s.sprite=e.mask.mask,this._activeMaskStage.push({filterEffect:s,maskedContainer:e.maskedContainer});}else if(e.action==="pushMaskEnd"){let s=this._activeMaskStage[this._activeMaskStage.length-1];i&&(t.type===Oe.WEBGL&&t.renderTarget.finishRenderPass(),t.renderTarget.pop(),t.globalUniforms.pop()),t.filter.push({renderPipeId:"filter",action:"pushFilter",container:s.maskedContainer,filterEffect:s.filterEffect,canBundle:false});}else if(e.action==="popMaskEnd"){t.filter.pop();let s=this._activeMaskStage.pop();i&&ye.returnTexture(s.filterTexture),Re.return(s.filterEffect);}}destroy(){this._renderer=null,this._activeMaskStage=null;}};Co.extension={type:[x.WebGLPipes,x.WebGPUPipes,x.CanvasPipes],name:"alphaMask"};});var wo,V2=f(()=>{E();wo=class{constructor(e){this._colorStack=[],this._colorStackIndex=0,this._currentColor=0,this._renderer=e;}buildStart(){this._colorStack[0]=15,this._colorStackIndex=1,this._currentColor=15;}push(e,t,i){this._renderer.renderPipes.batch.break(i);let n=this._colorStack;n[this._colorStackIndex]=n[this._colorStackIndex-1]&e.mask;let o=this._colorStack[this._colorStackIndex];o!==this._currentColor&&(this._currentColor=o,i.add({renderPipeId:"colorMask",colorMask:o,canBundle:false})),this._colorStackIndex++;}pop(e,t,i){this._renderer.renderPipes.batch.break(i);let n=this._colorStack;this._colorStackIndex--;let o=n[this._colorStackIndex-1];o!==this._currentColor&&(this._currentColor=o,i.add({renderPipeId:"colorMask",colorMask:o,canBundle:false}));}execute(e){this._renderer.colorMask.setMask(e.colorMask);}destroy(){this._colorStack=null;}};wo.extension={type:[x.WebGLPipes,x.WebGPUPipes,x.CanvasPipes],name:"colorMask"};});var Po,z2=f(()=>{E();po();Ts();Po=class{constructor(e){this._maskStackHash={},this._maskHash=new WeakMap,this._renderer=e;}push(e,t,i){var s;let n=e,o=this._renderer;o.renderPipes.batch.break(i),o.renderPipes.blendMode.setBlendMode(n.mask,"none",i),i.add({renderPipeId:"stencilMask",action:"pushMaskBegin",mask:e,inverse:t._maskOptions.inverse,canBundle:false});let a=n.mask;a.includeInBuild=true,this._maskHash.has(n)||this._maskHash.set(n,{instructionsStart:0,instructionsLength:0});let u=this._maskHash.get(n);u.instructionsStart=i.instructionSize,a.collectRenderables(i,o,null),a.includeInBuild=false,o.renderPipes.batch.break(i),i.add({renderPipeId:"stencilMask",action:"pushMaskEnd",mask:e,inverse:t._maskOptions.inverse,canBundle:false});let l=i.instructionSize-u.instructionsStart-1;u.instructionsLength=l;let c=o.renderTarget.renderTarget.uid;(s=this._maskStackHash)[c]??(s[c]=0);}pop(e,t,i){let s=e,n=this._renderer;n.renderPipes.batch.break(i),n.renderPipes.blendMode.setBlendMode(s.mask,"none",i),i.add({renderPipeId:"stencilMask",action:"popMaskBegin",inverse:t._maskOptions.inverse,canBundle:false});let o=this._maskHash.get(e);for(let a=0;a<o.instructionsLength;a++)i.instructions[i.instructionSize++]=i.instructions[o.instructionsStart++];i.add({renderPipeId:"stencilMask",action:"popMaskEnd",canBundle:false});}execute(e){var t;let i=this._renderer,s=i.renderTarget.renderTarget.uid,n=(t=this._maskStackHash)[s]??(t[s]=0);e.action==="pushMaskBegin"?(i.renderTarget.ensureDepthStencil(),i.stencil.setStencilMode(Be.RENDERING_MASK_ADD,n),n++,i.colorMask.setMask(0)):e.action==="pushMaskEnd"?(e.inverse?i.stencil.setStencilMode(Be.INVERSE_MASK_ACTIVE,n):i.stencil.setStencilMode(Be.MASK_ACTIVE,n),i.colorMask.setMask(15)):e.action==="popMaskBegin"?(i.colorMask.setMask(0),n!==0?i.stencil.setStencilMode(Be.RENDERING_MASK_REMOVE,n):(i.renderTarget.clear(null,ut.STENCIL),i.stencil.setStencilMode(Be.DISABLED,n)),n--):e.action==="popMaskEnd"&&(e.inverse?i.stencil.setStencilMode(Be.INVERSE_MASK_ACTIVE,n):i.stencil.setStencilMode(Be.MASK_ACTIVE,n),i.colorMask.setMask(15)),this._maskStackHash[s]=n;}destroy(){this._renderer=null,this._maskStackHash=null,this._maskHash=null;}};Po.extension={type:[x.WebGLPipes,x.WebGPUPipes,x.CanvasPipes],name:"stencilMask"};});var W2,pg,X2=f(()=>{nt();E();ge();W2=class qw{constructor(){this.clearBeforeRender=true,this._backgroundColor=new Z(0),this.color=this._backgroundColor,this.alpha=1;}init(e){e={...qw.defaultOptions,...e},this.clearBeforeRender=e.clearBeforeRender,this.color=e.background||e.backgroundColor||this._backgroundColor,this.alpha=e.backgroundAlpha,this._backgroundColor.setAlpha(e.backgroundAlpha);}get color(){return this._backgroundColor}set color(e){Z.shared.setValue(e).alpha<1&&this._backgroundColor.alpha===1&&k("Cannot set a transparent background on an opaque canvas. To enable transparency, set backgroundAlpha < 1 when initializing your Application."),this._backgroundColor.setValue(e);}get alpha(){return this._backgroundColor.alpha}set alpha(e){this._backgroundColor.setAlpha(e);}get colorRgba(){return this._backgroundColor.toArray()}destroy(){}};W2.extension={type:[x.WebGLSystem,x.WebGPUSystem,x.CanvasSystem],name:"background",priority:0};W2.defaultOptions={backgroundAlpha:1,backgroundColor:0,clearBeforeRender:true};pg=W2;});var Ch,Bo,Y2=f(()=>{E();Jl();ge();Ch={};O.handle(x.BlendMode,r=>{if(!r.name)throw new Error("BlendMode extension must have a name property");Ch[r.name]=r.ref;},r=>{delete Ch[r.name];});Bo=class{constructor(e){this._isAdvanced=false,this._filterHash=Object.create(null),this._renderer=e,this._renderer.runners.prerender.add(this);}prerender(){this._activeBlendMode="normal",this._isAdvanced=false;}setBlendMode(e,t,i){if(this._activeBlendMode===t){this._isAdvanced&&this._renderableList.push(e);return}this._activeBlendMode=t,this._isAdvanced&&this._endAdvancedBlendMode(i),this._isAdvanced=!!Ch[t],this._isAdvanced&&(this._beginAdvancedBlendMode(i),this._renderableList.push(e));}_beginAdvancedBlendMode(e){this._renderer.renderPipes.batch.break(e);let t=this._activeBlendMode;if(!Ch[t]){k(`Unable to assign BlendMode: '${t}'. You may want to include: import 'pixi.js/advanced-blend-modes'`);return}let i=this._filterHash[t];i||(i=this._filterHash[t]=new Ir,i.filters=[new Ch[t]]);let s={renderPipeId:"filter",action:"pushFilter",renderables:[],filterEffect:i,canBundle:false};this._renderableList=s.renderables,e.add(s);}_endAdvancedBlendMode(e){this._renderableList=null,this._renderer.renderPipes.batch.break(e),e.add({renderPipeId:"filter",action:"popFilter",canBundle:false});}buildStart(){this._isAdvanced=false;}buildEnd(e){this._isAdvanced&&this._endAdvancedBlendMode(e);}destroy(){this._renderer=null,this._renderableList=null;for(let e in this._filterHash)this._filterHash[e].destroy();this._filterHash=null;}};Bo.extension={type:[x.WebGLPipes,x.WebGPUPipes,x.CanvasPipes],name:"blendMode"};});var $2,q2,mg,j2=f(()=>{E();At();he();$2={png:"image/png",jpg:"image/jpeg",webp:"image/webp"},q2=class jw{constructor(e){this._renderer=e;}_normalizeOptions(e,t={}){return e instanceof q||e instanceof C?{target:e,...t}:{...t,...e}}async image(e){let t=new Image;return t.src=await this.base64(e),t}async base64(e){e=this._normalizeOptions(e,jw.defaultImageOptions);let{format:t,quality:i}=e,s=this.canvas(e);if(s.toBlob!==void 0)return new Promise((n,o)=>{s.toBlob(a=>{if(!a){o(new Error("ICanvas.toBlob failed!"));return}let u=new FileReader;u.onload=()=>n(u.result),u.onerror=o,u.readAsDataURL(a);},$2[t],i);});if(s.toDataURL!==void 0)return s.toDataURL($2[t],i);if(s.convertToBlob!==void 0){let n=await s.convertToBlob({type:$2[t],quality:i});return new Promise((o,a)=>{let u=new FileReader;u.onload=()=>o(u.result),u.onerror=a,u.readAsDataURL(n);})}throw new Error("Extract.base64() requires ICanvas.toDataURL, ICanvas.toBlob, or ICanvas.convertToBlob to be implemented")}canvas(e){e=this._normalizeOptions(e);let t=e.target,i=this._renderer;if(t instanceof C)return i.texture.generateCanvas(t);let s=i.textureGenerator.generateTexture(e),n=i.texture.generateCanvas(s);return s.destroy(true),n}pixels(e){e=this._normalizeOptions(e);let t=e.target,i=this._renderer,s=t instanceof C?t:i.textureGenerator.generateTexture(e),n=i.texture.getPixels(s);return t instanceof q&&s.destroy(true),n}texture(e){return e=this._normalizeOptions(e),e.target instanceof C?e.target:this._renderer.textureGenerator.generateTexture(e)}download(e){e=this._normalizeOptions(e);let t=this.canvas(e),i=document.createElement("a");i.download=e.filename??"image.png",i.href=t.toDataURL("image/png"),document.body.appendChild(i),i.click(),document.body.removeChild(i);}log(e){let t=e.width??200;e=this._normalizeOptions(e);let i=this.canvas(e),s=i.toDataURL();console.log(`[Pixi Texture] ${i.width}px ${i.height}px`);let n=["font-size: 1px;",`padding: ${t}px 300px;`,`background: url(${s}) no-repeat;`,"background-size: contain;"].join(" ");console.log("%c ",n);}destroy(){this._renderer=null;}};q2.extension={type:[x.WebGLSystem,x.WebGPUSystem],name:"extract"};q2.defaultImageOptions={format:"png",quality:1};mg=q2;});var wu,K2=f(()=>{dt();he();wu=class r extends C{static create(e){return new r({source:new oe(e)})}resize(e,t,i){return this.source.resize(e,t,i),this}};});var GI,UI,LI,Ro,Z2=f(()=>{nt();E();ce();Je();Et();tc();At();K2();GI=new Q,UI=new xe,LI=[0,0,0,0],Ro=class{constructor(e){this._renderer=e;}generateTexture(e){e instanceof q&&(e={target:e,frame:void 0,textureSourceOptions:{},resolution:void 0});let t=e.resolution||this._renderer.resolution,i=e.antialias||this._renderer.view.antialias,s=e.target,n=e.clearColor;n?n=Array.isArray(n)&&n.length===4?n:Z.shared.setValue(n).toArray():n=LI;let o=e.frame?.copyTo(GI)||us(s,UI).rectangle;o.width=Math.max(o.width,1/t)|0,o.height=Math.max(o.height,1/t)|0;let a=wu.create({...e.textureSourceOptions,width:o.width,height:o.height,resolution:t,antialias:i}),u=M.shared.translate(-o.x,-o.y);return this._renderer.render({container:s,transform:u,target:a,clearColor:n}),a.source.updateMipmaps(),a}destroy(){this._renderer=null;}};Ro.extension={type:[x.WebGLSystem,x.WebGPUSystem],name:"textureGenerator"};});var Mo,Q2=f(()=>{E();ce();jt();$n();Gi();cr();et();Mo=class{constructor(e){this._stackIndex=0,this._globalUniformDataStack=[],this._uniformsPool=[],this._activeUniforms=[],this._bindGroupPool=[],this._activeBindGroups=[],this._renderer=e;}reset(){this._stackIndex=0;for(let e=0;e<this._activeUniforms.length;e++)this._uniformsPool.push(this._activeUniforms[e]);for(let e=0;e<this._activeBindGroups.length;e++)this._bindGroupPool.push(this._activeBindGroups[e]);this._activeUniforms.length=0,this._activeBindGroups.length=0;}start(e){this.reset(),this.push(e);}bind({size:e,projectionMatrix:t,worldTransformMatrix:i,worldColor:s,offset:n}){let o=this._renderer.renderTarget.renderTarget,a=this._stackIndex?this._globalUniformDataStack[this._stackIndex-1]:{worldTransformMatrix:new M,worldColor:4294967295,offset:new ne},u={projectionMatrix:t||this._renderer.renderTarget.projectionMatrix,resolution:e||o.size,worldTransformMatrix:i||a.worldTransformMatrix,worldColor:s||a.worldColor,offset:n||a.offset,bindGroup:null},l=this._uniformsPool.pop()||this._createUniforms();this._activeUniforms.push(l);let c=l.uniforms;c.uProjectionMatrix=u.projectionMatrix,c.uResolution=u.resolution,c.uWorldTransformMatrix.copyFrom(u.worldTransformMatrix),c.uWorldTransformMatrix.tx-=u.offset.x,c.uWorldTransformMatrix.ty-=u.offset.y,wr(u.worldColor,c.uWorldColorAlpha,0),l.update();let h;this._renderer.renderPipes.uniformBatch?h=this._renderer.renderPipes.uniformBatch.getUniformBindGroup(l,false):(h=this._bindGroupPool.pop()||new at,this._activeBindGroups.push(h),h.setResource(l,0)),u.bindGroup=h,this._currentGlobalUniformData=u;}push(e){this.bind(e),this._globalUniformDataStack[this._stackIndex++]=this._currentGlobalUniformData;}pop(){this._currentGlobalUniformData=this._globalUniformDataStack[--this._stackIndex-1],this._renderer.type===Oe.WEBGL&&this._currentGlobalUniformData.bindGroup.resources[0].update();}get bindGroup(){return this._currentGlobalUniformData.bindGroup}get globalUniformData(){return this._currentGlobalUniformData}get uniformGroup(){return this._currentGlobalUniformData.bindGroup.resources[0]}_createUniforms(){return new ae({uProjectionMatrix:{value:new M,type:"mat3x3<f32>"},uWorldTransformMatrix:{value:new M,type:"mat3x3<f32>"},uWorldColorAlpha:{value:new Float32Array(4),type:"vec4<f32>"},uResolution:{value:[0,0],type:"vec2<f32>"}},{isStatic:true})}destroy(){this._renderer=null;}};Mo.extension={type:[x.WebGLSystem,x.WebGPUSystem,x.CanvasSystem],name:"globalUniforms"};});var NI,Do,J2=f(()=>{E();ps();NI=1,Do=class{constructor(){this._tasks=[],this._offset=0;}init(){ve.system.add(this._update,this);}repeat(e,t,i=true){let s=NI++,n=0;return i&&(this._offset+=1e3,n=this._offset),this._tasks.push({func:e,duration:t,start:performance.now(),offset:n,last:performance.now(),repeat:true,id:s}),s}cancel(e){for(let t=0;t<this._tasks.length;t++)if(this._tasks[t].id===e){this._tasks.splice(t,1);return}}_update(){let e=performance.now();for(let t=0;t<this._tasks.length;t++){let i=this._tasks[t];if(e-i.offset-i.last>=i.duration){let s=e-i.start;i.func(s),i.last=e;}}}destroy(){ve.system.remove(this._update,this),this._tasks.length=0;}};Do.extension={type:[x.WebGLSystem,x.WebGPUSystem,x.CanvasSystem],name:"scheduler",priority:0};});function gg(r){if(!Kw){if(z.get().getNavigator().userAgent.toLowerCase().indexOf("chrome")>-1){let e=[`%c %c %c %c %c PixiJS %c v${Ks} (${r}) http://www.pixijs.com/
|
|
1718
1718
|
|
|
1719
|
-
`,"background: #E72264; padding:5px 0;","background: #6CA2EA; padding:5px 0;","background: #B5D33D; padding:5px 0;","background: #FED23F; padding:5px 0;","color: #FFFFFF; background: #E72264; padding:5px 0;","color: #E72264; background: #FFFFFF; padding:5px 0;"];globalThis.console.log(...e);}else globalThis.console&&globalThis.console.log(`PixiJS ${Ks} - ${r} - http://www.pixijs.com/`);Kw=true;}}var Kw,eT=f(()=>{Ee();cg();Kw=false;});var Zs,tT=f(()=>{E();eT();cr();Zs=class{constructor(e){this._renderer=e;}init(e){if(e.hello){let t=this._renderer.name;this._renderer.type===Oe.WEBGL&&(t+=` ${this._renderer.context.webGLVersion}`),gg(t);}}};Zs.extension={type:[x.WebGLSystem,x.WebGPUSystem,x.CanvasSystem],name:"hello",priority:-2};Zs.defaultOptions={hello:false};});function xg(r){let e=false;for(let i in r)if(r[i]==null){e=true;break}if(!e)return r;let t=Object.create(null);for(let i in r){let s=r[i];s&&(t[i]=s);}return t}function _g(r){let e=0;for(let t=0;t<r.length;t++)r[t]==null?e++:r[t-e]=r[t];return r.length-=e,r}var rT=f(()=>{});var HI,iT,bg,sT=f(()=>{E();rT();HI=0,iT=class Zw{constructor(e){this._managedRenderables=[],this._managedHashes=[],this._managedArrays=[],this._renderer=e;}init(e){e={...Zw.defaultOptions,...e},this.maxUnusedTime=e.renderableGCMaxUnusedTime,this._frequency=e.renderableGCFrequency,this.enabled=e.renderableGCActive;}get enabled(){return !!this._handler}set enabled(e){this.enabled!==e&&(e?(this._handler=this._renderer.scheduler.repeat(()=>this.run(),this._frequency,false),this._hashHandler=this._renderer.scheduler.repeat(()=>{for(let t of this._managedHashes)t.context[t.hash]=xg(t.context[t.hash]);},this._frequency),this._arrayHandler=this._renderer.scheduler.repeat(()=>{for(let t of this._managedArrays)_g(t.context[t.hash]);},this._frequency)):(this._renderer.scheduler.cancel(this._handler),this._renderer.scheduler.cancel(this._hashHandler),this._renderer.scheduler.cancel(this._arrayHandler)));}addManagedHash(e,t){this._managedHashes.push({context:e,hash:t});}addManagedArray(e,t){this._managedArrays.push({context:e,hash:t});}prerender({container:e}){this._now=performance.now(),e.renderGroup.gcTick=HI++,this._updateInstructionGCTick(e.renderGroup,e.renderGroup.gcTick);}addRenderable(e){this.enabled&&(e._lastUsed===-1&&(this._managedRenderables.push(e),e.once("destroyed",this._removeRenderable,this)),e._lastUsed=this._now);}run(){let e=this._now,t=this._managedRenderables,i=this._renderer.renderPipes,s=0;for(let n=0;n<t.length;n++){let o=t[n];if(o===null){s++;continue}let a=o.renderGroup??o.parentRenderGroup,u=a?.instructionSet?.gcTick??-1;if((a?.gcTick??0)===u&&(o._lastUsed=e),e-o._lastUsed>this.maxUnusedTime){if(!o.destroyed){let l=i;a&&(a.structureDidChange=true),l[o.renderPipeId].destroyRenderable(o);}o._lastUsed=-1,s++,o.off("destroyed",this._removeRenderable,this);}else t[n-s]=o;}t.length-=s;}destroy(){this.enabled=false,this._renderer=null,this._managedRenderables.length=0,this._managedHashes.length=0,this._managedArrays.length=0;}_removeRenderable(e){let t=this._managedRenderables.indexOf(e);t>=0&&(e.off("destroyed",this._removeRenderable,this),this._managedRenderables[t]=null);}_updateInstructionGCTick(e,t){e.instructionSet.gcTick=t;for(let i of e.renderGroupChildren)this._updateInstructionGCTick(i,t);}};iT.extension={type:[x.WebGLSystem,x.WebGPUSystem],name:"renderableGC",priority:0};iT.defaultOptions={renderableGCActive:true,renderableGCMaxUnusedTime:6e4,renderableGCFrequency:3e4};bg=iT;});var nT,yg,oT=f(()=>{E();nT=class Qw{constructor(e){this._renderer=e,this.count=0,this.checkCount=0;}init(e){e={...Qw.defaultOptions,...e},this.checkCountMax=e.textureGCCheckCountMax,this.maxIdle=e.textureGCAMaxIdle??e.textureGCMaxIdle,this.active=e.textureGCActive;}postrender(){this._renderer.renderingToScreen&&(this.count++,this.active&&(this.checkCount++,this.checkCount>this.checkCountMax&&(this.checkCount=0,this.run())));}run(){let e=this._renderer.texture.managedTextures;for(let t=0;t<e.length;t++){let i=e[t];i.autoGarbageCollect&&i.resource&&i._touched>-1&&this.count-i._touched>this.maxIdle&&(i._touched=-1,i.unload());}}destroy(){this._renderer=null;}};nT.extension={type:[x.WebGLSystem,x.WebGPUSystem],name:"textureGC"};nT.defaultOptions={textureGCActive:true,textureGCAMaxIdle:null,textureGCMaxIdle:60*60,textureGCCheckCountMax:600};yg=nT;});var Jw,Io,vg=f(()=>{ht();dt();he();Jw=class eP{constructor(e={}){if(this.uid=re("renderTarget"),this.colorTextures=[],this.dirtyId=0,this.isRoot=false,this._size=new Float32Array(2),this._managedColorTextures=false,e={...eP.defaultOptions,...e},this.stencil=e.stencil,this.depth=e.depth,this.isRoot=e.isRoot,typeof e.colorTextures=="number"){this._managedColorTextures=true;for(let t=0;t<e.colorTextures;t++)this.colorTextures.push(new oe({width:e.width,height:e.height,resolution:e.resolution,antialias:e.antialias}));}else {this.colorTextures=[...e.colorTextures.map(i=>i.source)];let t=this.colorTexture.source;this.resize(t.width,t.height,t._resolution);}this.colorTexture.source.on("resize",this.onSourceResize,this),(e.depthStencilTexture||this.stencil)&&(e.depthStencilTexture instanceof C||e.depthStencilTexture instanceof oe?this.depthStencilTexture=e.depthStencilTexture.source:this.ensureDepthStencilTexture());}get size(){let e=this._size;return e[0]=this.pixelWidth,e[1]=this.pixelHeight,e}get width(){return this.colorTexture.source.width}get height(){return this.colorTexture.source.height}get pixelWidth(){return this.colorTexture.source.pixelWidth}get pixelHeight(){return this.colorTexture.source.pixelHeight}get resolution(){return this.colorTexture.source._resolution}get colorTexture(){return this.colorTextures[0]}onSourceResize(e){this.resize(e.width,e.height,e._resolution,true);}ensureDepthStencilTexture(){this.depthStencilTexture||(this.depthStencilTexture=new oe({width:this.width,height:this.height,resolution:this.resolution,format:"depth24plus-stencil8",autoGenerateMipmaps:false,antialias:false,mipLevelCount:1}));}resize(e,t,i=this.resolution,s=false){this.dirtyId++,this.colorTextures.forEach((n,o)=>{s&&o===0||n.source.resize(e,t,i);}),this.depthStencilTexture&&this.depthStencilTexture.source.resize(e,t,i);}destroy(){this.colorTexture.source.off("resize",this.onSourceResize,this),this._managedColorTextures&&this.colorTextures.forEach(e=>{e.destroy();}),this.depthStencilTexture&&(this.depthStencilTexture.destroy(),delete this.depthStencilTexture);}};Jw.defaultOptions={width:0,height:0,resolution:1,colorTextures:1,stencil:false,depth:false,antialias:false,isRoot:false};Io=Jw;});function Bu(r,e){if(!Pu.has(r)){let t=new C({source:new ft({resource:r,...e})}),i=()=>{Pu.get(r)===t&&Pu.delete(r);};t.once("destroy",i),t.source.once("destroy",i),Pu.set(r,t);}return Pu.get(r)}function tP(r){return Pu.has(r)}var Pu,Tg=f(()=>{Nn();he();Pu=new Map;});var aT,Sg,uT=f(()=>{Ee();E();Je();me();vg();Tg();aT=class rP{get autoDensity(){return this.texture.source.autoDensity}set autoDensity(e){this.texture.source.autoDensity=e;}get resolution(){return this.texture.source._resolution}set resolution(e){this.texture.source.resize(this.texture.source.width,this.texture.source.height,e);}init(e){e={...rP.defaultOptions,...e},e.view&&(I(V,"ViewSystem.view has been renamed to ViewSystem.canvas"),e.canvas=e.view),this.screen=new Q(0,0,e.width,e.height),this.canvas=e.canvas||z.get().createCanvas(),this.antialias=!!e.antialias,this.texture=Bu(this.canvas,e),this.renderTarget=new Io({colorTextures:[this.texture],depth:!!e.depth,isRoot:true}),this.texture.source.transparent=e.backgroundAlpha<1,this.resolution=e.resolution;}resize(e,t,i){this.texture.source.resize(e,t,i),this.screen.width=this.texture.frame.width,this.screen.height=this.texture.frame.height;}destroy(e=false){(typeof e=="boolean"?e:!!e?.removeView)&&this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas);}};aT.extension={type:[x.WebGLSystem,x.WebGPUSystem,x.CanvasSystem],name:"view",priority:0};aT.defaultOptions={width:800,height:600,autoDensity:false,antialias:false};Sg=aT;});var Ru,Mu,Eg=f(()=>{w2();P2();D2();I2();hg();F2();H2();V2();z2();X2();Y2();j2();Z2();Q2();J2();tT();sT();oT();uT();Ru=[pg,Mo,Zs,Sg,To,yg,Ro,mg,Ao,bg,Do],Mu=[Bo,Eh,So,yo,Co,Po,wo,_o];});var ko,lT=f(()=>{E();ko=class{constructor(e){this._hash=Object.create(null),this._renderer=e,this._renderer.renderableGC.addManagedHash(this,"_hash");}contextChange(e){this._gpu=e;}getBindGroup(e,t,i){return e._updateKey(),this._hash[e._key]||this._createBindGroup(e,t,i)}_createBindGroup(e,t,i){let s=this._gpu.device,n=t.layout[i],o=[],a=this._renderer;for(let c in n){let h=e.resources[c]??e.resources[n[c]],d;if(h._resourceType==="uniformGroup"){let p=h;a.ubo.updateUniformGroup(p);let _=p.buffer;d={buffer:a.buffer.getGPUBuffer(_),offset:0,size:_.descriptor.size};}else if(h._resourceType==="buffer"){let p=h;d={buffer:a.buffer.getGPUBuffer(p),offset:0,size:p.descriptor.size};}else if(h._resourceType==="bufferResource"){let p=h;d={buffer:a.buffer.getGPUBuffer(p.buffer),offset:p.offset,size:p.size};}else if(h._resourceType==="textureSampler"){let p=h;d=a.texture.getGpuSampler(p);}else if(h._resourceType==="textureSource"){let p=h;d=a.texture.getGpuSource(p).createView({});}o.push({binding:n[c],resource:d});}let u=a.shader.getProgramData(t).bindGroups[i],l=s.createBindGroup({layout:u,entries:o});return this._hash[e._key]=l,l}destroy(){for(let e of Object.keys(this._hash))this._hash[e]=null;this._hash=null,this._renderer=null;}};ko.extension={type:[x.WebGPUSystem],name:"bindGroup"};});var Fo,cT=f(()=>{E();Zf();Fo=class{constructor(e){this._gpuBuffers=Object.create(null),this._managedBuffers=[],e.renderableGC.addManagedHash(this,"_gpuBuffers");}contextChange(e){this._gpu=e;}getGPUBuffer(e){return this._gpuBuffers[e.uid]||this.createGPUBuffer(e)}updateBuffer(e){let t=this._gpuBuffers[e.uid]||this.createGPUBuffer(e),i=e.data;return e._updateID&&i&&(e._updateID=0,this._gpu.device.queue.writeBuffer(t,0,i.buffer,0,(e._updateSize||i.byteLength)+3&-4)),t}destroyAll(){for(let e in this._gpuBuffers)this._gpuBuffers[e].destroy();this._gpuBuffers={};}createGPUBuffer(e){this._gpuBuffers[e.uid]||(e.on("update",this.updateBuffer,this),e.on("change",this.onBufferChange,this),e.on("destroy",this.onBufferDestroy,this),this._managedBuffers.push(e));let t=this._gpu.device.createBuffer(e.descriptor);return e._updateID=0,e.data&&(Vn(e.data.buffer,t.getMappedRange()),t.unmap()),this._gpuBuffers[e.uid]=t,t}onBufferChange(e){this._gpuBuffers[e.uid].destroy(),e._updateID=0,this._gpuBuffers[e.uid]=this.createGPUBuffer(e);}onBufferDestroy(e){this._managedBuffers.splice(this._managedBuffers.indexOf(e),1),this._destroyBuffer(e);}destroy(){this._managedBuffers.forEach(e=>this._destroyBuffer(e)),this._managedBuffers=null,this._gpuBuffers=null;}_destroyBuffer(e){this._gpuBuffers[e.uid].destroy(),e.off("update",this.updateBuffer,this),e.off("change",this.onBufferChange,this),e.off("destroy",this.onBufferDestroy,this),this._gpuBuffers[e.uid]=null;}};Fo.extension={type:[x.WebGPUSystem],name:"buffer"};});var Oo,hT=f(()=>{E();Oo=class{constructor(e){this._colorMaskCache=15,this._renderer=e;}setMask(e){this._colorMaskCache!==e&&(this._colorMaskCache=e,this._renderer.pipeline.setColorMask(e));}destroy(){this._renderer=null,this._colorMaskCache=null;}};Oo.extension={type:[x.WebGPUSystem],name:"colorMask"};});var Qs,dT=f(()=>{Ee();E();Qs=class{constructor(e){this._renderer=e;}async init(e){return this._initPromise?this._initPromise:(this._initPromise=this._createDeviceAndAdaptor(e).then(t=>{this.gpu=t,this._renderer.runners.contextChange.emit(this.gpu);}),this._initPromise)}contextChange(e){this._renderer.gpu=e;}async _createDeviceAndAdaptor(e){let t=await z.get().getNavigator().gpu.requestAdapter({powerPreference:e.powerPreference,forceFallbackAdapter:e.forceFallbackAdapter}),i=["texture-compression-bc","texture-compression-astc","texture-compression-etc2"].filter(n=>t.features.has(n)),s=await t.requestDevice({requiredFeatures:i});return {adapter:t,device:s}}destroy(){this.gpu=null,this._renderer=null;}};Qs.extension={type:[x.WebGPUSystem],name:"device"};Qs.defaultOptions={powerPreference:void 0,forceFallbackAdapter:false};});var Go,fT=f(()=>{E();Go=class{constructor(e){this._boundBindGroup=Object.create(null),this._boundVertexBuffer=Object.create(null),this._renderer=e;}renderStart(){this.commandFinished=new Promise(e=>{this._resolveCommandFinished=e;}),this.commandEncoder=this._renderer.gpu.device.createCommandEncoder();}beginRenderPass(e){this.endRenderPass(),this._clearCache(),this.renderPassEncoder=this.commandEncoder.beginRenderPass(e.descriptor);}endRenderPass(){this.renderPassEncoder&&this.renderPassEncoder.end(),this.renderPassEncoder=null;}setViewport(e){this.renderPassEncoder.setViewport(e.x,e.y,e.width,e.height,0,1);}setPipelineFromGeometryProgramAndState(e,t,i,s){let n=this._renderer.pipeline.getPipeline(e,t,i,s);this.setPipeline(n);}setPipeline(e){this._boundPipeline!==e&&(this._boundPipeline=e,this.renderPassEncoder.setPipeline(e));}_setVertexBuffer(e,t){this._boundVertexBuffer[e]!==t&&(this._boundVertexBuffer[e]=t,this.renderPassEncoder.setVertexBuffer(e,this._renderer.buffer.updateBuffer(t)));}_setIndexBuffer(e){if(this._boundIndexBuffer===e)return;this._boundIndexBuffer=e;let t=e.data.BYTES_PER_ELEMENT===2?"uint16":"uint32";this.renderPassEncoder.setIndexBuffer(this._renderer.buffer.updateBuffer(e),t);}resetBindGroup(e){this._boundBindGroup[e]=null;}setBindGroup(e,t,i){if(this._boundBindGroup[e]===t)return;this._boundBindGroup[e]=t,t._touch(this._renderer.textureGC.count);let s=this._renderer.bindGroup.getBindGroup(t,i,e);this.renderPassEncoder.setBindGroup(e,s);}setGeometry(e,t){let i=this._renderer.pipeline.getBufferNamesToBind(e,t);for(let s in i)this._setVertexBuffer(s,e.attributes[i[s]].buffer);e.indexBuffer&&this._setIndexBuffer(e.indexBuffer);}_setShaderBindGroups(e,t){for(let i in e.groups){let s=e.groups[i];t||this._syncBindGroup(s),this.setBindGroup(i,s,e.gpuProgram);}}_syncBindGroup(e){for(let t in e.resources){let i=e.resources[t];i.isUniformGroup&&this._renderer.ubo.updateUniformGroup(i);}}draw(e){let{geometry:t,shader:i,state:s,topology:n,size:o,start:a,instanceCount:u,skipSync:l}=e;this.setPipelineFromGeometryProgramAndState(t,i.gpuProgram,s,n),this.setGeometry(t,i.gpuProgram),this._setShaderBindGroups(i,l),t.indexBuffer?this.renderPassEncoder.drawIndexed(o||t.indexBuffer.data.length,u??t.instanceCount,a||0):this.renderPassEncoder.draw(o||t.getSize(),u??t.instanceCount,a||0);}finishRenderPass(){this.renderPassEncoder&&(this.renderPassEncoder.end(),this.renderPassEncoder=null);}postrender(){this.finishRenderPass(),this._gpu.device.queue.submit([this.commandEncoder.finish()]),this._resolveCommandFinished(),this.commandEncoder=null;}restoreRenderPass(){let e=this._renderer.renderTarget.adaptor.getDescriptor(this._renderer.renderTarget.renderTarget,false,[0,0,0,1]);this.renderPassEncoder=this.commandEncoder.beginRenderPass(e);let t=this._boundPipeline,i={...this._boundVertexBuffer},s=this._boundIndexBuffer,n={...this._boundBindGroup};this._clearCache();let o=this._renderer.renderTarget.viewport;this.renderPassEncoder.setViewport(o.x,o.y,o.width,o.height,0,1),this.setPipeline(t);for(let a in i)this._setVertexBuffer(a,i[a]);for(let a in n)this.setBindGroup(a,n[a],null);this._setIndexBuffer(s);}_clearCache(){for(let e=0;e<16;e++)this._boundBindGroup[e]=null,this._boundVertexBuffer[e]=null;this._boundIndexBuffer=null,this._boundPipeline=null;}destroy(){this._renderer=null,this._gpu=null,this._boundBindGroup=null,this._boundVertexBuffer=null,this._boundIndexBuffer=null,this._boundPipeline=null;}contextChange(e){this._gpu=e;}};Go.extension={type:[x.WebGPUSystem],name:"encoder",priority:1};});var Uo,pT=f(()=>{E();Uo=class{constructor(e){this._renderer=e;}contextChange(){this.maxTextures=this._renderer.device.gpu.device.limits.maxSampledTexturesPerShaderStage,this.maxBatchableTextures=this.maxTextures;}destroy(){}};Uo.extension={type:[x.WebGPUSystem],name:"limits"};});var Lo,mT=f(()=>{E();Ts();Lo=class{constructor(e){this._renderTargetStencilState=Object.create(null),this._renderer=e,e.renderTarget.onRenderTargetChange.add(this);}onRenderTargetChange(e){let t=this._renderTargetStencilState[e.uid];t||(t=this._renderTargetStencilState[e.uid]={stencilMode:Be.DISABLED,stencilReference:0}),this._activeRenderTarget=e,this.setStencilMode(t.stencilMode,t.stencilReference);}setStencilMode(e,t){let i=this._renderTargetStencilState[this._activeRenderTarget.uid];i.stencilMode=e,i.stencilReference=t;let s=this._renderer;s.pipeline.setStencilMode(e),s.encoder.renderPassEncoder.setStencilReference(t);}destroy(){this._renderer.renderTarget.onRenderTargetChange.remove(this),this._renderer=null,this._activeRenderTarget=null,this._renderTargetStencilState=null;}};Lo.extension={type:[x.WebGPUSystem],name:"stencil"};});var Js,Ag=f(()=>{Qm();Ui();ui();Js=class{constructor(e){this._syncFunctionHash=Object.create(null),this._adaptor=e,this._systemCheck();}_systemCheck(){if(!Tu())throw new Error("Current environment does not allow unsafe-eval, please use pixi.js/unsafe-eval module to enable support.")}ensureUniformGroup(e){let t=this.getUniformGroupData(e);e.buffer||(e.buffer=new Ve({data:new Float32Array(t.layout.size/4),usage:ie.UNIFORM|ie.COPY_DST}));}getUniformGroupData(e){return this._syncFunctionHash[e._signature]||this._initUniformGroup(e)}_initUniformGroup(e){let t=e._signature,i=this._syncFunctionHash[t];if(!i){let s=Object.keys(e.uniformStructures).map(a=>e.uniformStructures[a]),n=this._adaptor.createUboElements(s),o=this._generateUboSync(n.uboElements);i=this._syncFunctionHash[t]={layout:n,syncFunction:o};}return this._syncFunctionHash[t]}_generateUboSync(e){return this._adaptor.generateUboSync(e)}syncUniformGroup(e,t,i){let s=this.getUniformGroupData(e);e.buffer||(e.buffer=new Ve({data:new Float32Array(s.layout.size/4),usage:ie.UNIFORM|ie.COPY_DST}));let n=null;return t||(t=e.buffer.data,n=e.buffer.dataInt32),i||(i=0),s.syncFunction(e.uniforms,t,n,i),true}updateUniformGroup(e){if(e.isStatic&&!e._dirtyId)return false;e._dirtyId=0;let t=this.syncUniformGroup(e);return e.buffer.update(),t}destroy(){this._syncFunctionHash=null;}};});function Cg(r){let e=r.map(i=>({data:i,offset:0,size:0})),t=0;for(let i=0;i<e.length;i++){let s=e[i],n=No[s.data.type].size,o=No[s.data.type].align;if(!No[s.data.type])throw new Error(`[Pixi.js] WebGPU UniformBuffer: Unknown type ${s.data.type}`);s.data.size>1&&(n=Math.max(n,o)*s.data.size),t=Math.ceil(t/o)*o,s.size=n,s.offset=t,t+=n;}return t=Math.ceil(t/16)*16,{uboElements:e,size:t}}var No,wg=f(()=>{No={i32:{align:4,size:4},u32:{align:4,size:4},f32:{align:4,size:4},f16:{align:2,size:2},"vec2<i32>":{align:8,size:8},"vec2<u32>":{align:8,size:8},"vec2<f32>":{align:8,size:8},"vec2<f16>":{align:4,size:4},"vec3<i32>":{align:16,size:12},"vec3<u32>":{align:16,size:12},"vec3<f32>":{align:16,size:12},"vec3<f16>":{align:8,size:6},"vec4<i32>":{align:16,size:16},"vec4<u32>":{align:16,size:16},"vec4<f32>":{align:16,size:16},"vec4<f16>":{align:8,size:8},"mat2x2<f32>":{align:8,size:16},"mat2x2<f16>":{align:4,size:8},"mat3x2<f32>":{align:8,size:24},"mat3x2<f16>":{align:4,size:12},"mat4x2<f32>":{align:8,size:32},"mat4x2<f16>":{align:4,size:16},"mat2x3<f32>":{align:16,size:32},"mat2x3<f16>":{align:8,size:16},"mat3x3<f32>":{align:16,size:48},"mat3x3<f16>":{align:8,size:24},"mat4x3<f32>":{align:16,size:64},"mat4x3<f16>":{align:8,size:32},"mat2x4<f32>":{align:16,size:32},"mat2x4<f16>":{align:8,size:16},"mat3x4<f32>":{align:16,size:48},"mat3x4<f16>":{align:8,size:24},"mat4x4<f32>":{align:16,size:64},"mat4x4<f16>":{align:8,size:32}};});var Yr,Pg=f(()=>{Yr=[{type:"mat3x3<f32>",test:r=>r.value.a!==void 0,ubo:`
|
|
1719
|
+
`,"background: #E72264; padding:5px 0;","background: #6CA2EA; padding:5px 0;","background: #B5D33D; padding:5px 0;","background: #FED23F; padding:5px 0;","color: #FFFFFF; background: #E72264; padding:5px 0;","color: #E72264; background: #FFFFFF; padding:5px 0;"];globalThis.console.log(...e);}else globalThis.console&&globalThis.console.log(`PixiJS ${Ks} - ${r} - http://www.pixijs.com/`);Kw=true;}}var Kw,eT=f(()=>{Ee();cg();Kw=false;});var Zs,tT=f(()=>{E();eT();cr();Zs=class{constructor(e){this._renderer=e;}init(e){if(e.hello){let t=this._renderer.name;this._renderer.type===Oe.WEBGL&&(t+=` ${this._renderer.context.webGLVersion}`),gg(t);}}};Zs.extension={type:[x.WebGLSystem,x.WebGPUSystem,x.CanvasSystem],name:"hello",priority:-2};Zs.defaultOptions={hello:false};});function xg(r){let e=false;for(let i in r)if(r[i]==null){e=true;break}if(!e)return r;let t=Object.create(null);for(let i in r){let s=r[i];s&&(t[i]=s);}return t}function _g(r){let e=0;for(let t=0;t<r.length;t++)r[t]==null?e++:r[t-e]=r[t];return r.length-=e,r}var rT=f(()=>{});var HI,iT,bg,sT=f(()=>{E();rT();HI=0,iT=class Zw{constructor(e){this._managedRenderables=[],this._managedHashes=[],this._managedArrays=[],this._renderer=e;}init(e){e={...Zw.defaultOptions,...e},this.maxUnusedTime=e.renderableGCMaxUnusedTime,this._frequency=e.renderableGCFrequency,this.enabled=e.renderableGCActive;}get enabled(){return !!this._handler}set enabled(e){this.enabled!==e&&(e?(this._handler=this._renderer.scheduler.repeat(()=>this.run(),this._frequency,false),this._hashHandler=this._renderer.scheduler.repeat(()=>{for(let t of this._managedHashes)t.context[t.hash]=xg(t.context[t.hash]);},this._frequency),this._arrayHandler=this._renderer.scheduler.repeat(()=>{for(let t of this._managedArrays)_g(t.context[t.hash]);},this._frequency)):(this._renderer.scheduler.cancel(this._handler),this._renderer.scheduler.cancel(this._hashHandler),this._renderer.scheduler.cancel(this._arrayHandler)));}addManagedHash(e,t){this._managedHashes.push({context:e,hash:t});}addManagedArray(e,t){this._managedArrays.push({context:e,hash:t});}prerender({container:e}){this._now=performance.now(),e.renderGroup.gcTick=HI++,this._updateInstructionGCTick(e.renderGroup,e.renderGroup.gcTick);}addRenderable(e){this.enabled&&(e._lastUsed===-1&&(this._managedRenderables.push(e),e.once("destroyed",this._removeRenderable,this)),e._lastUsed=this._now);}run(){let e=this._now,t=this._managedRenderables,i=this._renderer.renderPipes,s=0;for(let n=0;n<t.length;n++){let o=t[n];if(o===null){s++;continue}let a=o.renderGroup??o.parentRenderGroup,u=a?.instructionSet?.gcTick??-1;if((a?.gcTick??0)===u&&(o._lastUsed=e),e-o._lastUsed>this.maxUnusedTime){if(!o.destroyed){let l=i;a&&(a.structureDidChange=true),l[o.renderPipeId].destroyRenderable(o);}o._lastUsed=-1,s++,o.off("destroyed",this._removeRenderable,this);}else t[n-s]=o;}t.length-=s;}destroy(){this.enabled=false,this._renderer=null,this._managedRenderables.length=0,this._managedHashes.length=0,this._managedArrays.length=0;}_removeRenderable(e){let t=this._managedRenderables.indexOf(e);t>=0&&(e.off("destroyed",this._removeRenderable,this),this._managedRenderables[t]=null);}_updateInstructionGCTick(e,t){e.instructionSet.gcTick=t;for(let i of e.renderGroupChildren)this._updateInstructionGCTick(i,t);}};iT.extension={type:[x.WebGLSystem,x.WebGPUSystem],name:"renderableGC",priority:0};iT.defaultOptions={renderableGCActive:true,renderableGCMaxUnusedTime:6e4,renderableGCFrequency:3e4};bg=iT;});var nT,yg,oT=f(()=>{E();nT=class Qw{constructor(e){this._renderer=e,this.count=0,this.checkCount=0;}init(e){e={...Qw.defaultOptions,...e},this.checkCountMax=e.textureGCCheckCountMax,this.maxIdle=e.textureGCAMaxIdle??e.textureGCMaxIdle,this.active=e.textureGCActive;}postrender(){this._renderer.renderingToScreen&&(this.count++,this.active&&(this.checkCount++,this.checkCount>this.checkCountMax&&(this.checkCount=0,this.run())));}run(){let e=this._renderer.texture.managedTextures;for(let t=0;t<e.length;t++){let i=e[t];i.autoGarbageCollect&&i.resource&&i._touched>-1&&this.count-i._touched>this.maxIdle&&(i._touched=-1,i.unload());}}destroy(){this._renderer=null;}};nT.extension={type:[x.WebGLSystem,x.WebGPUSystem],name:"textureGC"};nT.defaultOptions={textureGCActive:true,textureGCAMaxIdle:null,textureGCMaxIdle:3600,textureGCCheckCountMax:600};yg=nT;});var Jw,Io,vg=f(()=>{ht();dt();he();Jw=class eP{constructor(e={}){if(this.uid=re("renderTarget"),this.colorTextures=[],this.dirtyId=0,this.isRoot=false,this._size=new Float32Array(2),this._managedColorTextures=false,e={...eP.defaultOptions,...e},this.stencil=e.stencil,this.depth=e.depth,this.isRoot=e.isRoot,typeof e.colorTextures=="number"){this._managedColorTextures=true;for(let t=0;t<e.colorTextures;t++)this.colorTextures.push(new oe({width:e.width,height:e.height,resolution:e.resolution,antialias:e.antialias}));}else {this.colorTextures=[...e.colorTextures.map(i=>i.source)];let t=this.colorTexture.source;this.resize(t.width,t.height,t._resolution);}this.colorTexture.source.on("resize",this.onSourceResize,this),(e.depthStencilTexture||this.stencil)&&(e.depthStencilTexture instanceof C||e.depthStencilTexture instanceof oe?this.depthStencilTexture=e.depthStencilTexture.source:this.ensureDepthStencilTexture());}get size(){let e=this._size;return e[0]=this.pixelWidth,e[1]=this.pixelHeight,e}get width(){return this.colorTexture.source.width}get height(){return this.colorTexture.source.height}get pixelWidth(){return this.colorTexture.source.pixelWidth}get pixelHeight(){return this.colorTexture.source.pixelHeight}get resolution(){return this.colorTexture.source._resolution}get colorTexture(){return this.colorTextures[0]}onSourceResize(e){this.resize(e.width,e.height,e._resolution,true);}ensureDepthStencilTexture(){this.depthStencilTexture||(this.depthStencilTexture=new oe({width:this.width,height:this.height,resolution:this.resolution,format:"depth24plus-stencil8",autoGenerateMipmaps:false,antialias:false,mipLevelCount:1}));}resize(e,t,i=this.resolution,s=false){this.dirtyId++,this.colorTextures.forEach((n,o)=>{s&&o===0||n.source.resize(e,t,i);}),this.depthStencilTexture&&this.depthStencilTexture.source.resize(e,t,i);}destroy(){this.colorTexture.source.off("resize",this.onSourceResize,this),this._managedColorTextures&&this.colorTextures.forEach(e=>{e.destroy();}),this.depthStencilTexture&&(this.depthStencilTexture.destroy(),delete this.depthStencilTexture);}};Jw.defaultOptions={width:0,height:0,resolution:1,colorTextures:1,stencil:false,depth:false,antialias:false,isRoot:false};Io=Jw;});function Bu(r,e){if(!Pu.has(r)){let t=new C({source:new ft({resource:r,...e})}),i=()=>{Pu.get(r)===t&&Pu.delete(r);};t.once("destroy",i),t.source.once("destroy",i),Pu.set(r,t);}return Pu.get(r)}function tP(r){return Pu.has(r)}var Pu,Tg=f(()=>{Nn();he();Pu=new Map;});var aT,Sg,uT=f(()=>{Ee();E();Je();me();vg();Tg();aT=class rP{get autoDensity(){return this.texture.source.autoDensity}set autoDensity(e){this.texture.source.autoDensity=e;}get resolution(){return this.texture.source._resolution}set resolution(e){this.texture.source.resize(this.texture.source.width,this.texture.source.height,e);}init(e){e={...rP.defaultOptions,...e},e.view&&(I(V,"ViewSystem.view has been renamed to ViewSystem.canvas"),e.canvas=e.view),this.screen=new Q(0,0,e.width,e.height),this.canvas=e.canvas||z.get().createCanvas(),this.antialias=!!e.antialias,this.texture=Bu(this.canvas,e),this.renderTarget=new Io({colorTextures:[this.texture],depth:!!e.depth,isRoot:true}),this.texture.source.transparent=e.backgroundAlpha<1,this.resolution=e.resolution;}resize(e,t,i){this.texture.source.resize(e,t,i),this.screen.width=this.texture.frame.width,this.screen.height=this.texture.frame.height;}destroy(e=false){(typeof e=="boolean"?e:!!e?.removeView)&&this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas);}};aT.extension={type:[x.WebGLSystem,x.WebGPUSystem,x.CanvasSystem],name:"view",priority:0};aT.defaultOptions={width:800,height:600,autoDensity:false,antialias:false};Sg=aT;});var Ru,Mu,Eg=f(()=>{w2();P2();D2();I2();hg();F2();H2();V2();z2();X2();Y2();j2();Z2();Q2();J2();tT();sT();oT();uT();Ru=[pg,Mo,Zs,Sg,To,yg,Ro,mg,Ao,bg,Do],Mu=[Bo,Eh,So,yo,Co,Po,wo,_o];});var ko,lT=f(()=>{E();ko=class{constructor(e){this._hash=Object.create(null),this._renderer=e,this._renderer.renderableGC.addManagedHash(this,"_hash");}contextChange(e){this._gpu=e;}getBindGroup(e,t,i){return e._updateKey(),this._hash[e._key]||this._createBindGroup(e,t,i)}_createBindGroup(e,t,i){let s=this._gpu.device,n=t.layout[i],o=[],a=this._renderer;for(let c in n){let h=e.resources[c]??e.resources[n[c]],d;if(h._resourceType==="uniformGroup"){let p=h;a.ubo.updateUniformGroup(p);let _=p.buffer;d={buffer:a.buffer.getGPUBuffer(_),offset:0,size:_.descriptor.size};}else if(h._resourceType==="buffer"){let p=h;d={buffer:a.buffer.getGPUBuffer(p),offset:0,size:p.descriptor.size};}else if(h._resourceType==="bufferResource"){let p=h;d={buffer:a.buffer.getGPUBuffer(p.buffer),offset:p.offset,size:p.size};}else if(h._resourceType==="textureSampler"){let p=h;d=a.texture.getGpuSampler(p);}else if(h._resourceType==="textureSource"){let p=h;d=a.texture.getGpuSource(p).createView({});}o.push({binding:n[c],resource:d});}let u=a.shader.getProgramData(t).bindGroups[i],l=s.createBindGroup({layout:u,entries:o});return this._hash[e._key]=l,l}destroy(){for(let e of Object.keys(this._hash))this._hash[e]=null;this._hash=null,this._renderer=null;}};ko.extension={type:[x.WebGPUSystem],name:"bindGroup"};});var Fo,cT=f(()=>{E();Zf();Fo=class{constructor(e){this._gpuBuffers=Object.create(null),this._managedBuffers=[],e.renderableGC.addManagedHash(this,"_gpuBuffers");}contextChange(e){this._gpu=e;}getGPUBuffer(e){return this._gpuBuffers[e.uid]||this.createGPUBuffer(e)}updateBuffer(e){let t=this._gpuBuffers[e.uid]||this.createGPUBuffer(e),i=e.data;return e._updateID&&i&&(e._updateID=0,this._gpu.device.queue.writeBuffer(t,0,i.buffer,0,(e._updateSize||i.byteLength)+3&-4)),t}destroyAll(){for(let e in this._gpuBuffers)this._gpuBuffers[e].destroy();this._gpuBuffers={};}createGPUBuffer(e){this._gpuBuffers[e.uid]||(e.on("update",this.updateBuffer,this),e.on("change",this.onBufferChange,this),e.on("destroy",this.onBufferDestroy,this),this._managedBuffers.push(e));let t=this._gpu.device.createBuffer(e.descriptor);return e._updateID=0,e.data&&(Vn(e.data.buffer,t.getMappedRange()),t.unmap()),this._gpuBuffers[e.uid]=t,t}onBufferChange(e){this._gpuBuffers[e.uid].destroy(),e._updateID=0,this._gpuBuffers[e.uid]=this.createGPUBuffer(e);}onBufferDestroy(e){this._managedBuffers.splice(this._managedBuffers.indexOf(e),1),this._destroyBuffer(e);}destroy(){this._managedBuffers.forEach(e=>this._destroyBuffer(e)),this._managedBuffers=null,this._gpuBuffers=null;}_destroyBuffer(e){this._gpuBuffers[e.uid].destroy(),e.off("update",this.updateBuffer,this),e.off("change",this.onBufferChange,this),e.off("destroy",this.onBufferDestroy,this),this._gpuBuffers[e.uid]=null;}};Fo.extension={type:[x.WebGPUSystem],name:"buffer"};});var Oo,hT=f(()=>{E();Oo=class{constructor(e){this._colorMaskCache=15,this._renderer=e;}setMask(e){this._colorMaskCache!==e&&(this._colorMaskCache=e,this._renderer.pipeline.setColorMask(e));}destroy(){this._renderer=null,this._colorMaskCache=null;}};Oo.extension={type:[x.WebGPUSystem],name:"colorMask"};});var Qs,dT=f(()=>{Ee();E();Qs=class{constructor(e){this._renderer=e;}async init(e){return this._initPromise?this._initPromise:(this._initPromise=this._createDeviceAndAdaptor(e).then(t=>{this.gpu=t,this._renderer.runners.contextChange.emit(this.gpu);}),this._initPromise)}contextChange(e){this._renderer.gpu=e;}async _createDeviceAndAdaptor(e){let t=await z.get().getNavigator().gpu.requestAdapter({powerPreference:e.powerPreference,forceFallbackAdapter:e.forceFallbackAdapter}),i=["texture-compression-bc","texture-compression-astc","texture-compression-etc2"].filter(n=>t.features.has(n)),s=await t.requestDevice({requiredFeatures:i});return {adapter:t,device:s}}destroy(){this.gpu=null,this._renderer=null;}};Qs.extension={type:[x.WebGPUSystem],name:"device"};Qs.defaultOptions={powerPreference:void 0,forceFallbackAdapter:false};});var Go,fT=f(()=>{E();Go=class{constructor(e){this._boundBindGroup=Object.create(null),this._boundVertexBuffer=Object.create(null),this._renderer=e;}renderStart(){this.commandFinished=new Promise(e=>{this._resolveCommandFinished=e;}),this.commandEncoder=this._renderer.gpu.device.createCommandEncoder();}beginRenderPass(e){this.endRenderPass(),this._clearCache(),this.renderPassEncoder=this.commandEncoder.beginRenderPass(e.descriptor);}endRenderPass(){this.renderPassEncoder&&this.renderPassEncoder.end(),this.renderPassEncoder=null;}setViewport(e){this.renderPassEncoder.setViewport(e.x,e.y,e.width,e.height,0,1);}setPipelineFromGeometryProgramAndState(e,t,i,s){let n=this._renderer.pipeline.getPipeline(e,t,i,s);this.setPipeline(n);}setPipeline(e){this._boundPipeline!==e&&(this._boundPipeline=e,this.renderPassEncoder.setPipeline(e));}_setVertexBuffer(e,t){this._boundVertexBuffer[e]!==t&&(this._boundVertexBuffer[e]=t,this.renderPassEncoder.setVertexBuffer(e,this._renderer.buffer.updateBuffer(t)));}_setIndexBuffer(e){if(this._boundIndexBuffer===e)return;this._boundIndexBuffer=e;let t=e.data.BYTES_PER_ELEMENT===2?"uint16":"uint32";this.renderPassEncoder.setIndexBuffer(this._renderer.buffer.updateBuffer(e),t);}resetBindGroup(e){this._boundBindGroup[e]=null;}setBindGroup(e,t,i){if(this._boundBindGroup[e]===t)return;this._boundBindGroup[e]=t,t._touch(this._renderer.textureGC.count);let s=this._renderer.bindGroup.getBindGroup(t,i,e);this.renderPassEncoder.setBindGroup(e,s);}setGeometry(e,t){let i=this._renderer.pipeline.getBufferNamesToBind(e,t);for(let s in i)this._setVertexBuffer(s,e.attributes[i[s]].buffer);e.indexBuffer&&this._setIndexBuffer(e.indexBuffer);}_setShaderBindGroups(e,t){for(let i in e.groups){let s=e.groups[i];t||this._syncBindGroup(s),this.setBindGroup(i,s,e.gpuProgram);}}_syncBindGroup(e){for(let t in e.resources){let i=e.resources[t];i.isUniformGroup&&this._renderer.ubo.updateUniformGroup(i);}}draw(e){let{geometry:t,shader:i,state:s,topology:n,size:o,start:a,instanceCount:u,skipSync:l}=e;this.setPipelineFromGeometryProgramAndState(t,i.gpuProgram,s,n),this.setGeometry(t,i.gpuProgram),this._setShaderBindGroups(i,l),t.indexBuffer?this.renderPassEncoder.drawIndexed(o||t.indexBuffer.data.length,u??t.instanceCount,a||0):this.renderPassEncoder.draw(o||t.getSize(),u??t.instanceCount,a||0);}finishRenderPass(){this.renderPassEncoder&&(this.renderPassEncoder.end(),this.renderPassEncoder=null);}postrender(){this.finishRenderPass(),this._gpu.device.queue.submit([this.commandEncoder.finish()]),this._resolveCommandFinished(),this.commandEncoder=null;}restoreRenderPass(){let e=this._renderer.renderTarget.adaptor.getDescriptor(this._renderer.renderTarget.renderTarget,false,[0,0,0,1]);this.renderPassEncoder=this.commandEncoder.beginRenderPass(e);let t=this._boundPipeline,i={...this._boundVertexBuffer},s=this._boundIndexBuffer,n={...this._boundBindGroup};this._clearCache();let o=this._renderer.renderTarget.viewport;this.renderPassEncoder.setViewport(o.x,o.y,o.width,o.height,0,1),this.setPipeline(t);for(let a in i)this._setVertexBuffer(a,i[a]);for(let a in n)this.setBindGroup(a,n[a],null);this._setIndexBuffer(s);}_clearCache(){for(let e=0;e<16;e++)this._boundBindGroup[e]=null,this._boundVertexBuffer[e]=null;this._boundIndexBuffer=null,this._boundPipeline=null;}destroy(){this._renderer=null,this._gpu=null,this._boundBindGroup=null,this._boundVertexBuffer=null,this._boundIndexBuffer=null,this._boundPipeline=null;}contextChange(e){this._gpu=e;}};Go.extension={type:[x.WebGPUSystem],name:"encoder",priority:1};});var Uo,pT=f(()=>{E();Uo=class{constructor(e){this._renderer=e;}contextChange(){this.maxTextures=this._renderer.device.gpu.device.limits.maxSampledTexturesPerShaderStage,this.maxBatchableTextures=this.maxTextures;}destroy(){}};Uo.extension={type:[x.WebGPUSystem],name:"limits"};});var Lo,mT=f(()=>{E();Ts();Lo=class{constructor(e){this._renderTargetStencilState=Object.create(null),this._renderer=e,e.renderTarget.onRenderTargetChange.add(this);}onRenderTargetChange(e){let t=this._renderTargetStencilState[e.uid];t||(t=this._renderTargetStencilState[e.uid]={stencilMode:Be.DISABLED,stencilReference:0}),this._activeRenderTarget=e,this.setStencilMode(t.stencilMode,t.stencilReference);}setStencilMode(e,t){let i=this._renderTargetStencilState[this._activeRenderTarget.uid];i.stencilMode=e,i.stencilReference=t;let s=this._renderer;s.pipeline.setStencilMode(e),s.encoder.renderPassEncoder.setStencilReference(t);}destroy(){this._renderer.renderTarget.onRenderTargetChange.remove(this),this._renderer=null,this._activeRenderTarget=null,this._renderTargetStencilState=null;}};Lo.extension={type:[x.WebGPUSystem],name:"stencil"};});var Js,Ag=f(()=>{Qm();Ui();ui();Js=class{constructor(e){this._syncFunctionHash=Object.create(null),this._adaptor=e,this._systemCheck();}_systemCheck(){if(!Tu())throw new Error("Current environment does not allow unsafe-eval, please use pixi.js/unsafe-eval module to enable support.")}ensureUniformGroup(e){let t=this.getUniformGroupData(e);e.buffer||(e.buffer=new Ve({data:new Float32Array(t.layout.size/4),usage:ie.UNIFORM|ie.COPY_DST}));}getUniformGroupData(e){return this._syncFunctionHash[e._signature]||this._initUniformGroup(e)}_initUniformGroup(e){let t=e._signature,i=this._syncFunctionHash[t];if(!i){let s=Object.keys(e.uniformStructures).map(a=>e.uniformStructures[a]),n=this._adaptor.createUboElements(s),o=this._generateUboSync(n.uboElements);i=this._syncFunctionHash[t]={layout:n,syncFunction:o};}return this._syncFunctionHash[t]}_generateUboSync(e){return this._adaptor.generateUboSync(e)}syncUniformGroup(e,t,i){let s=this.getUniformGroupData(e);e.buffer||(e.buffer=new Ve({data:new Float32Array(s.layout.size/4),usage:ie.UNIFORM|ie.COPY_DST}));let n=null;return t||(t=e.buffer.data,n=e.buffer.dataInt32),i||(i=0),s.syncFunction(e.uniforms,t,n,i),true}updateUniformGroup(e){if(e.isStatic&&!e._dirtyId)return false;e._dirtyId=0;let t=this.syncUniformGroup(e);return e.buffer.update(),t}destroy(){this._syncFunctionHash=null;}};});function Cg(r){let e=r.map(i=>({data:i,offset:0,size:0})),t=0;for(let i=0;i<e.length;i++){let s=e[i],n=No[s.data.type].size,o=No[s.data.type].align;if(!No[s.data.type])throw new Error(`[Pixi.js] WebGPU UniformBuffer: Unknown type ${s.data.type}`);s.data.size>1&&(n=Math.max(n,o)*s.data.size),t=Math.ceil(t/o)*o,s.size=n,s.offset=t,t+=n;}return t=Math.ceil(t/16)*16,{uboElements:e,size:t}}var No,wg=f(()=>{No={i32:{align:4,size:4},u32:{align:4,size:4},f32:{align:4,size:4},f16:{align:2,size:2},"vec2<i32>":{align:8,size:8},"vec2<u32>":{align:8,size:8},"vec2<f32>":{align:8,size:8},"vec2<f16>":{align:4,size:4},"vec3<i32>":{align:16,size:12},"vec3<u32>":{align:16,size:12},"vec3<f32>":{align:16,size:12},"vec3<f16>":{align:8,size:6},"vec4<i32>":{align:16,size:16},"vec4<u32>":{align:16,size:16},"vec4<f32>":{align:16,size:16},"vec4<f16>":{align:8,size:8},"mat2x2<f32>":{align:8,size:16},"mat2x2<f16>":{align:4,size:8},"mat3x2<f32>":{align:8,size:24},"mat3x2<f16>":{align:4,size:12},"mat4x2<f32>":{align:8,size:32},"mat4x2<f16>":{align:4,size:16},"mat2x3<f32>":{align:16,size:32},"mat2x3<f16>":{align:8,size:16},"mat3x3<f32>":{align:16,size:48},"mat3x3<f16>":{align:8,size:24},"mat4x3<f32>":{align:16,size:64},"mat4x3<f16>":{align:8,size:32},"mat2x4<f32>":{align:16,size:32},"mat2x4<f16>":{align:8,size:16},"mat3x4<f32>":{align:16,size:48},"mat3x4<f16>":{align:8,size:24},"mat4x4<f32>":{align:16,size:64},"mat4x4<f16>":{align:8,size:32}};});var Yr,Pg=f(()=>{Yr=[{type:"mat3x3<f32>",test:r=>r.value.a!==void 0,ubo:`
|
|
1720
1720
|
var matrix = uv[name].toArray(true);
|
|
1721
1721
|
data[offset] = matrix[0];
|
|
1722
1722
|
data[offset + 1] = matrix[1];
|