@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
|
@@ -18,7 +18,7 @@ Deprecated since v${r}`),console.warn(i))),rA[e]=true;}var rA,N,ef,pe=f(()=>{rA=
|
|
|
18
18
|
-ms-user-select: none;
|
|
19
19
|
`,e.accessibleText&&(t.innerText=e.accessibleText)),t.style.width=`${Bf}px`,t.style.height=`${Bf}px`,t.style.backgroundColor=this.debug?"rgba(255,255,255,0.5)":"transparent",t.style.position="absolute",t.style.zIndex=BA.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 ni(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!==RM||!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();}};Wb.extension={type:[g.WebGLSystem,g.WebGPUSystem],name:"accessibility"};Wb.defaultOptions={enabledByDefault:false,debug:false,activateOnTab:true,deactivateOnMouseMove:true};Rf=Wb;});var Mf,Yb=f(()=>{Mf={accessible:false,accessibleTitle:null,accessibleHint:null,tabIndex:0,accessibleType:"button",accessibleText:null,accessiblePointerEvents:"auto",accessibleChildren:true,_accessibleActive:false,_accessibleDiv:null,_renderId:-1};});var DA=f(()=>{E();St();Xb();Yb();F.add(Rf);F.mixin($,Mf);});var Bn,$b=f(()=>{E();Bn=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;}};Bn.extension=g.Application;});var Vt,Rn=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 cs,qb=f(()=>{cs=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 IA,ye,hs=f(()=>{Rn();qb();IA=class or{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 cs(null,null,1/0),this.deltaMS=1/or.targetFPMS,this.elapsedMS=1/or.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 cs(e,t,i))}addOnce(e,t,i=Vt.NORMAL){return this._addListener(new cs(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*or.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,or.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(!or._shared){let e=or._shared=new or;e.autoStart=true,e._protected=true;}return or._shared}static get system(){if(!or._system){let e=or._system=new or;e.autoStart=true,e._protected=true;}return or._system}};IA.targetFPMS=.06;ye=IA;});var Mn,jb=f(()=>{E();Rn();hs();Mn=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?ye.shared:new ye,e.autoStart&&this.start();}static destroy(){if(this._ticker){let e=this._ticker;this.ticker=null,e.destroy();}}};Mn.extension=g.Application;});var Kb=f(()=>{E();$b();jb();F.add(Bn);F.add(Mn);});var Zb,_r,Df=f(()=>{Rn();hs();Zb=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||(ye.system.add(this._tickerUpdate,this,Vt.INTERACTION),this._tickerAdded=true);}removeTickerListener(){this._tickerAdded&&(ye.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());}},_r=new Zb;});var Fr,uc=f(()=>{qt();oc();Fr=class extends ni{constructor(){super(...arguments),this.client=new se,this.movement=new se,this.offset=new se,this.global=new se,this.screen=new se;}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 Et,If=f(()=>{uc();Et=class extends Fr{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 br,kf=f(()=>{uc();br=class extends Fr{constructor(){super(...arguments),this.DOM_DELTA_PIXEL=0,this.DOM_DELTA_LINE=1,this.DOM_DELTA_PAGE=2;}};br.DOM_DELTA_PIXEL=0;br.DOM_DELTA_LINE=1;br.DOM_DELTA_PAGE=2;});var OM,GM,lc,Da,Qb=f(()=>{vt();qt();me();Df();uc();If();kf();OM=2048,GM=new se,lc=new se,Da=class{constructor(e){this.dispatch=new ae,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 I(`[EventBoundary]: Event mapping not defined for ${e.type}`);}hitTest(e,t){_r.pauseUpdate=true;let s=this._isPointerMoveEvent&&this.enableGlobalMoveEvents?"hitTestMoveRecursive":"hitTestRecursive",n=this[s](this.rootTarget,this.rootTarget.eventMode,GM.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<OM&&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")&&(_r.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")&&(_r.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 Et)){I("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 Et)){I("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 Et)){I("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 Et)){I("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 Et)){I("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 Et)){I("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 br)){I("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(Et);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(br);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(Et);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 Et&&t instanceof Et&&(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 Fr&&t instanceof Fr&&(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 UM,LM,ey,Ia,Ff=f(()=>{E();Qb();Df();If();kf();UM=1,LM={touchstart:"pointerdown",touchend:"pointerup",touchendoutside:"pointerupoutside",touchmove:"pointermove",touchcancel:"pointercancel"},ey=class Jb{constructor(e){this.supportsTouchEvents="ontouchstart"in globalThis,this.supportsPointerEvents=!!globalThis.PointerEvent,this.domElement=null,this.resolution=1,this.renderer=e,this.rootBoundary=new Da(null),_r.init(this),this.autoPreventDefault=true,this._eventsAdded=false,this._rootPointerEvent=new Et(null),this._rootWheelEvent=new br(null),this.cursorStyles={default:"inherit",pointer:"pointer"},this.features=new Proxy({...Jb.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,Jb._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,_r.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,_r.domElement=e,this._addEvents();}_addEvents(){if(this._eventsAdded||!this.domElement)return;_r.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;_r.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=UM),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=LM[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;}};ey.extension={name:"events",type:[g.WebGLSystem,g.CanvasSystem,g.WebGPUSystem],priority:-1};ey.defaultEventFeatures={move:true,globalMove:true,click:true,wheel:true};Ia=ey;});var Of,ty=f(()=>{Ff();oc();Of={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??Ia.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 ni))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 kA=f(()=>{E();St();Ff();ty();F.add(Ia);F.mixin($,Of);});var Dn,ry=f(()=>{E();Dn=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;}};Dn.extension={type:[g.WebGLPipes,g.WebGPUPipes,g.CanvasPipes],name:"dom"};});var je,Or=f(()=>{Tt();St();je=class extends ${constructor(e){super(e),this.canBundle=true,this.allowChildren=false,this._roundPixels=0,this._lastUsed=-1,this._gpuData=Object.create(null),this._bounds=new ge(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 Gf,FA=f(()=>{qt();Or();Gf=class extends je{constructor(e={}){let{element:t,anchor:i,...s}=e;super({label:"DOMContainer",...s}),this.renderPipeId="dom",this.batched=false,this._anchor=new se(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 OA=f(()=>{E();ry();F.add(Dn);});var Be,ar=f(()=>{Be=(r=>(r[r.Low=0]="Low",r[r.Normal=1]="Normal",r[r.High=2]="High",r))(Be||{});});var Uf,iy=f(()=>{Uf={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 GA,H,Se=f(()=>{iy();GA=Uf,H={get(){return GA},set(r){GA=r;}};});function Gr(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 NM(r){return r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function HM(r,e,t){return r.replace(new RegExp(NM(e),"g"),t)}function VM(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 Re,ds=f(()=>{Se();Re={toPosix(r){return HM(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){Gr(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(Gr(r),this.isDataUrl(r)||this.isBlobUrl(r))return r;let i=cc(this.toPosix(e??H.get().getBaseUrl())),s=cc(this.toPosix(t??this.rootname(i)));return r=this.toPosix(r),r.startsWith("/")?Re.join(s,r.slice(1)):this.isAbsolute(r)?r:this.join(i,r)},normalize(r){if(Gr(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=VM(r),r.length>0&&i&&(r+="/"),t?`/${r}`:e+r},isAbsolute(r){return Gr(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(Gr(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(Gr(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){Gr(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){Gr(r),e&&Gr(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){Gr(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){Gr(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 At,ka=f(()=>{At=(r,e,t=false)=>(Array.isArray(r)||(r=[r]),e?r.map(i=>typeof i=="string"||t?e(i):i):r);});function UA(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?UA(r.replace(i[t],a),e,t+1,i,s):s.push(r.replace(i[t],a));}}function Lf(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);}),UA(r,s,0,t,i);}else i.push(r);return i}var sy=f(()=>{});var ki,hc=f(()=>{ki=r=>!Array.isArray(r);});function ny(r){return r.split(".").pop().split("?").shift().split("#").shift()}var Ct,fs=f(()=>{me();ds();ka();sy();hc();Ct=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 At(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&&I("[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)&&I(`[Resolver] already has key: ${n} overwriting`);},At(t).forEach(n=>{let{src:o}=n,{data:a,format:u,loadParser:l}=n,c=At(o).map(p=>typeof p=="string"?Lf(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 x=0;x<this._parsers.length;x++){let m=this._parsers[x];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=ki(e);e=At(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=ki(e);e=At(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=Re.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??ny(e.src),e}};Ct.RETINA_PREFIX=/@([0-9\.]+)x/;});var In,Nf=f(()=>{In=(r,e)=>{let t=e.split("?")[1];return t&&(r+=`?${t}`),r};});var LA,fc,oy=f(()=>{Ze();ct();ce();LA=class dc{constructor(e,t){this.linkedSheets=[];let i=e;e?.source instanceof ne&&(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 Z(0,0,Math.floor(l.w)/this.resolution,Math.floor(l.h)/this.resolution);n.rotated?a=new Z(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 Z(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 Z(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=[];}};LA.BATCH_SIZE=1e3;fc=LA;});function NA(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=Re.dirname(r[0]);e.linkedSheets.forEach((n,o)=>{let a=NA([`${s}/${e.data.meta.related_multi_packs[o]}`],n,true);Object.assign(i,a);});}return i}var zM,Hf,ay=f(()=>{ar();fs();Nf();E();ce();ds();oy();zM=["jpg","png","jpeg","avif","webp","basis","etc2","bc7","bc6h","bc5","bc4","bc3","bc2","bc1","eac","astc"];Hf={extension:g.Asset,cache:{test:r=>r instanceof fc,getCacheableAssets:(r,e)=>NA(r,e,false)},resolver:{extension:{type:g.ResolveParser,name:"resolveSpritesheet"},test:r=>{let t=r.split("?")[0].split("."),i=t.pop(),s=t.pop();return i==="json"&&zM.includes(s)},parse:r=>{let e=r.split(".");return {resolution:parseFloat(Ct.RETINA_PREFIX.exec(r)?.[1]??"1"),format:e[e.length-2],src:r}}},loader:{name:"spritesheetLoader",extension:{type:g.LoadParser,priority:Be.Normal,name:"spritesheetLoader"},async testParse(r,e){return Re.extname(e.src).toLowerCase()===".json"&&!!r.frames},async parse(r,e,t){let{texture:i,imageFilename:s,textureOptions:n,cachePrefix:o}=e?.data??{},a=Re.dirname(e.src);a&&a.lastIndexOf("/")!==a.length-1&&(a+="/");let u;if(i instanceof C)u=i;else {let h=In(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||(_=In(_,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 Vf=f(()=>{E();ay();F.add(Hf);});function Fa(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 zf=f(()=>{});var Ee,ps=f(()=>{rs();ce();zf();pe();Or();Ee=class r extends je{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 _e({_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 Fa(this._visualBounds,this._anchor,this._texture),this._visualBounds}get sourceBounds(){return D("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 ms(r,e,t){let i=WM;r.measurable=true,si(r,t,i),e.addBoundsMask(i),r.measurable=false;}var WM,pc=f(()=>{Tt();Tn();WM=new ge;});function gs(r,e,t){let i=Ht.get();r.measurable=true;let s=qe.get().identity(),n=HA(r,t,s);ns(r,i,n),r.measurable=false,e.addBoundsMask(i),qe.return(s),Ht.return(i);}function HA(r,e,t){return r?(r!==e&&(HA(r.parent,e,t),r.updateLocalTransform(),t.append(r.localTransform)),t):(I("Mask bounds, renderable is not inside the root container"),t)}var mc=f(()=>{tc();is();me();});var kn,uy=f(()=>{E();ps();pc();mc();kn=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 Ee),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||ms(this.mask,e,t);}addLocalBounds(e,t){gs(this.mask,e,t);}containsPoint(e,t){let i=this.mask;return t(i,e)}destroy(){this.reset();}static test(e){return e instanceof Ee}};kn.extension=g.MaskEffect;});var Fn,ly=f(()=>{E();Fn=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"}};Fn.extension=g.MaskEffect;});var On,cy=f(()=>{E();St();pc();mc();On=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){ms(this.mask,e,t);}addLocalBounds(e,t){gs(this.mask,e,t);}containsPoint(e,t){let i=this.mask;return t(i,e)}destroy(){this.reset();}static test(e){return e instanceof $}};On.extension=g.MaskEffect;});var ht,Gn=f(()=>{Se();E();ct();ht=class extends ne{constructor(e){e.resource||(e.resource=H.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"))}};ht.extension=g.TextureSource;});var Rt,Un=f(()=>{E();ct();Rt=class extends ne{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}};Rt.extension=g.TextureSource;});async function Oa(){return hy??(hy=(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"})()),hy}var hy,Wf=f(()=>{});var Xf,xs,Yf=f(()=>{E();hs();Wf();ct();Xf=class VA extends ne{constructor(e){super(e),this.isReady=false,this.uploadMethodId="video",e={...VA.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=ye.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 Oa(),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&&(ye.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||(ye.shared.add(this.updateFrame,this),this._isConnectedToTicker=true,this._msToNextUpdate=0)):(this._videoFrameRequestCallbackHandle!==null&&(this.resource.cancelVideoFrameCallback(this._videoFrameRequestCallbackHandle),this._videoFrameRequestCallbackHandle=null),this._isConnectedToTicker&&(ye.shared.remove(this.updateFrame,this),this._isConnectedToTicker=false,this._msToNextUpdate=0));}static test(e){return globalThis.HTMLVideoElement&&e instanceof HTMLVideoElement}};Xf.extension=g.TextureSource;Xf.defaultOptions={...ne.defaultOptions,autoLoad:true,autoPlay:true,updateFPS:0,crossorigin:true,loop:false,muted:true,playsinline:true,preload:false};Xf.MIME_TYPES={ogv:"video/ogg",mov:"video/quicktime",m4v:"video/mp4"};xs=Xf;});var dy,he,oi=f(()=>{me();ka();dy=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||I(`[Assets] Asset id ${e} was not found in the Cache`),t}set(e,t){let i=At(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&&I("[Cache] already has key:",u),this._cache.set(u,n.get(u));});}remove(e){if(!this._cacheMap.has(e)){I(`[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}},he=new dy;});function zA(r={}){return py(r)}function py(r={}){let e=r&&r.resource,t=e?r.resource:r,i=e?r:{resource:r};for(let s=0;s<fy.length;s++){let n=fy[s];if(n.test(t))return new n(i)}throw new Error(`Could not find a source type for resource: ${i.resource}`)}function my(r={},e=false){let t=r&&r.resource,i=t?r.resource:r,s=t?r:{resource:r};if(!e&&he.has(i))return he.get(i);let n=new C({source:py(s)});return n.on("destroy",()=>{he.has(i)&&he.remove(i);}),e||he.set(i,n),n}function gy(r,e=false){return typeof r=="string"?he.get(r):r instanceof ne?new C({source:r}):my(r,e)}var fy,xy=f(()=>{oi();E();ct();ce();fy=[];F.handleByList(g.TextureSource,fy);C.from=gy;ne.from=py;});var $f=f(()=>{E();uy();ly();cy();Tf();Gn();Un();Yf();xy();F.add(kn,Fn,On,xs,Rt,ht,Di);});var st,Fi=f(()=>{st=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 _s(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 WA[i]||XM(r,e,i,t)}function XM(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 st(s);return WA[t]=o,o}var WA,gc=f(()=>{Fi();ce();WA={};});var yr,qf=f(()=>{yr=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 Ln(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 jf=f(()=>{});var Kf,we,bs=f(()=>{Kf={normal:"normal-npm",add:"add-npm",screen:"screen-npm"},we=(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))(we||{});});function Ur(r,e){return e.alphaMode==="no-premultiply-alpha"&&Kf[r]||r}var Ga=f(()=>{bs();});function Ua(){return (!Zf||Zf?.isContextLost())&&(Zf=H.get().createCanvas().getContext("webgl",{})),Zf}var Zf,Qf=f(()=>{Se();});function $M(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 La(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=YM.replace(/%forloop%/gi,$M(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 YM,Jf=f(()=>{YM=["precision mediump float;","void main(void){","float test = 0.1;","%forloop%","gl_FragColor = vec4(0.0);","}"].join(`
|
|
21
|
-
`);});function ep(){if(Na)return Na;let r=Ua();return Na=r.getParameter(r.MAX_TEXTURE_IMAGE_UNITS),Na=La(Na,r),r.getExtension("WEBGL_lose_context")?.loseContext(),Na}var Na,_y=f(()=>{Qf();Jf();Na=null;});var Ha,by=f(()=>{Ha=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 XA(){return yy>0?$A[--yy]:new _c}function YA(r){$A[yy++]=r;}var _c,$A,yy,xc,qA,tp,vy=f(()=>{lt();qf();pe();jf();Ga();_y();by();_c=class{constructor(){this.renderPipeId="batch",this.action="startBatch",this.start=0,this.size=0,this.textures=new Ha,this.blendMode="normal",this.topology="triangle-strip",this.canBundle=true;}destroy(){this.textures=null,this.gpuBindGroup=null,this.bindGroup=null,this.batcher=null;}},$A=[],yy=0;xc=0,qA=class jA{constructor(e){this.uid=te("batcher"),this.dirty=true,this.batchIndex=0,this.batches=[],this._elements=[],e={...jA.defaultOptions,...e},e.maxTextures||(D("v8.8.0","maxTextures is a required option for Batcher now, please pass it in the options"),e.maxTextures=ep());let{maxTextures:t,attributesInitialSize:i,indicesInitialSize:s}=e;this.attributeBuffer=new yr(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++)YA(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=XA(),s=i.textures;s.clear();let n=t[this.elementStart],o=Ur(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 x=t[b];t[b]=null;let y=x.texture._source,T=Ur(x.blendMode,y),S=o!==T||a!==x.topology;if(y._batchTick===xc&&!S){x._textureId=y._textureBindLocation,h+=x.indexSize,x.packAsQuad?(this.packQuadAttributes(x,u,l,x._attributeStart,x._textureId),this.packQuadIndex(c,x._indexStart,x._attributeStart/this.vertexSize)):(this.packAttributes(x,u,l,x._attributeStart,x._textureId),this.packIndex(x,c,x._indexStart,x._attributeStart/this.vertexSize)),x._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=x.topology,i=XA(),s=i.textures,s.clear(),++xc),x._textureId=y._textureBindLocation=s.count,s.ids[y.uid]=s.count,s.textures[s.count++]=y,x._batch=i,h+=x.indexSize,x.packAsQuad?(this.packQuadAttributes(x,u,l,x._attributeStart,x._textureId),this.packQuadIndex(c,x._indexStart,x._attributeStart/this.vertexSize)):(this.packAttributes(x,u,l,x._attributeStart,x._textureId),this.packIndex(x,c,x._indexStart,x._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 yr(t);Ln(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 Ln(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++)YA(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;}};qA.defaultOptions={maxTextures:null,attributesInitialSize:4,indicesInitialSize:6};tp=qA;});var re,ai=f(()=>{re=(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))(re||{});});var Le,Oi=f(()=>{vt();lt();ai();Le=class extends ae{constructor(e){let{data:t,size:i}=e,{usage:s,label:n,shrinkToFit:o}=e;super(),this.uid=te("buffer"),this._resourceType="buffer",this._resourceId=te("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&re.STATIC)}set static(e){e?this.descriptor.usage|=re.STATIC:this.descriptor.usage&=~re.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=te("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 Le)){let t=e?re.INDEX:re.VERTEX;r instanceof Array&&(e?(r=new Uint32Array(r),t=re.INDEX|re.COPY_DST):(r=new Float32Array(r),t=re.VERTEX|re.COPY_DST)),r=new Le({data:r,label:e?"index-mesh-buffer":"vertex-mesh-buffer",usage:t});}return r}var Ty=f(()=>{Oi();ai();});function rp(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 Sy=f(()=>{});function qM(r){return (r instanceof Le||Array.isArray(r)||r.BYTES_PER_ELEMENT)&&(r={buffer:r}),r.buffer=bc(r.buffer,false),r}var Mt,ys=f(()=>{vt();Tt();lt();Oi();Ty();Sy();Mt=class extends ae{constructor(e={}){super(),this.uid=te("geometry"),this._layoutKey=0,this.instanceCount=1,this._bounds=new ge,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=qM(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,rp(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 jM,KM,Va,Ey=f(()=>{Oi();ai();ys();jM=new Float32Array(1),KM=new Uint32Array(1),Va=class extends Mt{constructor(){let t=new Le({data:jM,label:"attribute-batch-buffer",usage:re.VERTEX|re.COPY_DST,shrinkToFit:false}),i=new Le({data:KM,label:"index-batch-buffer",usage:re.INDEX|re.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 Lr(r,e){let t=KA[r];return t===void 0&&(Ay[e]===void 0&&(Ay[e]=1),KA[r]=t=Ay[e]++),t}var Ay,KA,za=f(()=>{Ay=Object.create(null),KA=Object.create(null);});function sp(){if(!ip){ip="mediump";let r=Ua();r&&r.getShaderPrecisionFormat&&(ip=r.getShaderPrecisionFormat(r.FRAGMENT_SHADER,r.HIGH_FLOAT).precision?"highp":"mediump");}return ip}var ip,Cy=f(()=>{Qf();});function np(r,e,t){return e?r:t?(r=r.replace("out vec4 finalColor;",""),`
|
|
21
|
+
`);});function ep(){if(Na)return Na;let r=Ua();return Na=r.getParameter(r.MAX_TEXTURE_IMAGE_UNITS),Na=La(Na,r),r.getExtension("WEBGL_lose_context")?.loseContext(),Na}var Na,_y=f(()=>{Qf();Jf();Na=null;});var Ha,by=f(()=>{Ha=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 XA(){return yy>0?$A[--yy]:new _c}function YA(r){$A[yy++]=r;}var _c,$A,yy,xc,qA,tp,vy=f(()=>{lt();qf();pe();jf();Ga();_y();by();_c=class{constructor(){this.renderPipeId="batch",this.action="startBatch",this.start=0,this.size=0,this.textures=new Ha,this.blendMode="normal",this.topology="triangle-strip",this.canBundle=true;}destroy(){this.textures=null,this.gpuBindGroup=null,this.bindGroup=null,this.batcher=null;}},$A=[],yy=0;xc=0,qA=class jA{constructor(e){this.uid=te("batcher"),this.dirty=true,this.batchIndex=0,this.batches=[],this._elements=[],e={...jA.defaultOptions,...e},e.maxTextures||(D("v8.8.0","maxTextures is a required option for Batcher now, please pass it in the options"),e.maxTextures=ep());let{maxTextures:t,attributesInitialSize:i,indicesInitialSize:s}=e;this.attributeBuffer=new yr(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++)YA(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=XA(),s=i.textures;s.clear();let n=t[this.elementStart],o=Ur(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 x=t[b];t[b]=null;let y=x.texture._source,T=Ur(x.blendMode,y),S=o!==T||a!==x.topology;if(y._batchTick===xc&&!S){x._textureId=y._textureBindLocation,h+=x.indexSize,x.packAsQuad?(this.packQuadAttributes(x,u,l,x._attributeStart,x._textureId),this.packQuadIndex(c,x._indexStart,x._attributeStart/this.vertexSize)):(this.packAttributes(x,u,l,x._attributeStart,x._textureId),this.packIndex(x,c,x._indexStart,x._attributeStart/this.vertexSize)),x._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=x.topology,i=XA(),s=i.textures,s.clear(),++xc),x._textureId=y._textureBindLocation=s.count,s.ids[y.uid]=s.count,s.textures[s.count++]=y,x._batch=i,h+=x.indexSize,x.packAsQuad?(this.packQuadAttributes(x,u,l,x._attributeStart,x._textureId),this.packQuadIndex(c,x._indexStart,x._attributeStart/this.vertexSize)):(this.packAttributes(x,u,l,x._attributeStart,x._textureId),this.packIndex(x,c,x._indexStart,x._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 yr(t);Ln(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 Ln(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++)YA(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;}};qA.defaultOptions={maxTextures:null,attributesInitialSize:4,indicesInitialSize:6};tp=qA;});var re,ai=f(()=>{re=(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))(re||{});});var Le,Oi=f(()=>{vt();lt();ai();Le=class extends ae{constructor(e){let{data:t,size:i}=e,{usage:s,label:n,shrinkToFit:o}=e;super(),this.uid=te("buffer"),this._resourceType="buffer",this._resourceId=te("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&re.STATIC)}set static(e){e?this.descriptor.usage|=re.STATIC:this.descriptor.usage&=~re.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=te("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 Le)){let t=e?re.INDEX:re.VERTEX;r instanceof Array&&(e?(r=new Uint32Array(r),t=re.INDEX|re.COPY_DST):(r=new Float32Array(r),t=re.VERTEX|re.COPY_DST)),r=new Le({data:r,label:e?"index-mesh-buffer":"vertex-mesh-buffer",usage:t});}return r}var Ty=f(()=>{Oi();ai();});function rp(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 Sy=f(()=>{});function qM(r){return (r instanceof Le||Array.isArray(r)||r.BYTES_PER_ELEMENT)&&(r={buffer:r}),r.buffer=bc(r.buffer,false),r}var Mt,ys=f(()=>{vt();Tt();lt();Oi();Ty();Sy();Mt=class extends ae{constructor(e={}){super(),this.uid=te("geometry"),this._layoutKey=0,this.instanceCount=1,this._bounds=new ge,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=qM(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,rp(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 jM,KM,Va,Ey=f(()=>{Oi();ai();ys();jM=new Float32Array(1),KM=new Uint32Array(1),Va=class extends Mt{constructor(){let t=new Le({data:jM,label:"attribute-batch-buffer",usage:re.VERTEX|re.COPY_DST,shrinkToFit:false}),i=new Le({data:KM,label:"index-batch-buffer",usage:re.INDEX|re.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 Lr(r,e){let t=KA[r];return t===void 0&&(Ay[e]===void 0&&(Ay[e]=1),KA[r]=t=Ay[e]++),t}var Ay,KA,za=f(()=>{Ay=Object.create(null),KA=Object.create(null);});function sp(){if(!ip){ip="mediump";let r=Ua();r&&r.getShaderPrecisionFormat&&(ip=r.getShaderPrecisionFormat(r.FRAGMENT_SHADER,r.HIGH_FLOAT).precision?"highp":"mediump");}return ip}var ip,Cy=f(()=>{Qf();});function np(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,Sp,Jy=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>"],Sp=Ec.reduce((r,e)=>(r[e]=true,r),{});});function Ep(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 e0=f(()=>{});var sC,oe,Qe=f(()=>{lt();za();Jy();e0();sC=class nC{constructor(e,t){this._touched=0,this.uid=te("uniform"),this._resourceType="uniformGroup",this._resourceId=te("resource"),this.isUniformGroup=true,this._dirtyId=0,this.destroyed=false,t={...nC.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,!Sp[n.type])throw new Error(`Uniform type ${n.type} is not supported. Supported uniform types are: ${Ec.join(", ")}`);n.value??(n.value=Ep(n.type,n.size)),i[s]=n.value;}this.uniforms=i,this._dirtyId=1,this.ubo=t.ubo,this.isStatic=t.isStatic,this._signature=Lr(Object.keys(i).map(s=>`${s}-${e[s].type}`).join("-"),"uniform-group");}update(){this._dirtyId++;}};sC.defaultOptions={ubo:false,isStatic:false};oe=sC;});function Ps(r){let e=oC[r];if(e)return e;let t=new Int32Array(r);for(let i=0;i<r;i++)t[i]=i;return e=oC[r]=new oe({uTextures:{value:t,type:"i32",size:r}},{isStatic:true}),e}var oC,Ac=f(()=>{Qe();oC={};});var ke,lr=f(()=>{ke=(r=>(r[r.WEBGL=1]="WEBGL",r[r.WEBGPU=2]="WEBGPU",r[r.BOTH=3]="BOTH",r))(ke||{});});var Ne,Ar=f(()=>{vt();lt();jt();Fi();ur();lr();Qe();Ne=class r extends ae{constructor(e){super(),this.uid=te("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|=ke.WEBGPU),i&&(o|=ke.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 st,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 oe(d));let p=u[h];p&&(s[p.group]||(s[p.group]=new st,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 st,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=Ie.from(t)),i&&(o=De.from(i)),new r({gpuProgram:n,glProgram:o,...s})}};});var $a,t0=f(()=>{Gi();Xa();Ya();Ui();Ac();Ar();$a=class extends Ne{constructor(e){let t=Tr({name:"batch",bits:[As,ws(e),Er]}),i=vr({name:"batch",bits:[Es,Cs(e),Sr]});super({glProgram:t,gpuProgram:i,resources:{batchSamplers:Ps(e)}});}};});var r0,aC,Nn,Ap=f(()=>{E();vy();Ey();t0();r0=null,aC=class uC extends tp{constructor(e){super(e),this.geometry=new Va,this.name=uC.extension.name,this.vertexSize=6,r0??(r0=new $a(e.maxTextures)),this.shader=r0;}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,x=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++]=x,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,x=_.minX,m=_.maxY,y=_.minY,T=o.uvs,S=e.color,w=n<<16|e.roundPixels&65535;t[s+0]=u*x+c*y+d,t[s+1]=h*y+l*x+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*x+c*m+d,t[s+19]=h*m+l*x+p,t[s+20]=T.x3,t[s+21]=T.y3,i[s+22]=S,i[s+23]=w;}};aC.extension={type:[g.Batcher],name:"default"};Nn=aC;});function Cp(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],x=r[t+1];i[s]=l*b+h*x+p,i[s+1]=c*b+d*x+_,s+=n,t+=e,u++;}}function wp(r,e,t,i){let s=0;for(e*=t;s<i;)r[e]=0,r[e+1]=0,e+=t,s++;}var i0=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 s0=f(()=>{});var uD,Li,Pp=f(()=>{le();hf();uD=new R,Li=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?wa(t,i.groupColor)+(this.alpha*i.groupAlpha*255<<24):t+(this.alpha*255<<24)}get transform(){return this.renderable?.groupTransform||uD}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 Bs,Bp,Rp,n0=f(()=>{E();Bs={extension:{type:g.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,x=t+_,m=t-_,y=i+b;if(e[c++]=x,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]=x;}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,U=t+A,M=t-A,G=i+P,k=i-P;e[c++]=U,e[c++]=G,e[--h]=G,e[--h]=M,e[d++]=M,e[d++]=k,e[--p]=k,e[--p]=U;}_=s,b=n+a,x=t+_,m=t-_,y=i+b;let T=i-b;return e[c++]=x,e[c++]=y,e[--p]=T,e[--p]=x,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;}},Bp={...Bs,extension:{...Bs.extension,name:"ellipse"}},Rp={...Bs,extension:{...Bs.extension,name:"roundedRectangle"}};});var Mp,Dp,lC=f(()=>{Mp=1e-4,Dp=1e-4;});function Ip(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 o0=f(()=>{});function cC(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,x=c+d,m=h+p;return a.push(_,b),a.push(x,m),2}function Hn(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),x=(15*_*Math.sqrt(b)/Math.PI>>0)+1,m=p/x;if(d+=m,a){o.push(r,e),o.push(t,i);for(let y=1,T=d;y<x;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<x;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 x*2}function kp(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 Me=Ip(r);t&&(Me*=-1),u=(u-.5)*Me+.5;}let l=new se(r[0],r[1]),c=new se(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 Me=(l.x+c.x)*.5,ts=(c.y+l.y)*.5;r.unshift(Me,ts),r.push(Me,ts);}let p=s,_=r.length/2,b=r.length,x=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],U=0,M=0,G=-(w-P),k=S-A,J=0,xe=0,Ke=Math.sqrt(G*G+k*k);G/=Ke,k/=Ke,G*=m,k*=m;let es=u,V=(1-es)*2,q=es*2;h||(a.cap==="round"?b+=Hn(S-G*(V-q)*.5,w-k*(V-q)*.5,S-G*V,w-k*V,S+G*q,w+k*q,p,true)+2:a.cap==="square"&&(b+=cC(S,w,G,k,V,q,true,p))),p.push(S-G*V,w-k*V),p.push(S+G*q,w+k*q);for(let Me=1;Me<_-1;++Me){S=r[(Me-1)*2],w=r[(Me-1)*2+1],A=r[Me*2],P=r[Me*2+1],U=r[(Me+1)*2],M=r[(Me+1)*2+1],G=-(w-P),k=S-A,Ke=Math.sqrt(G*G+k*k),G/=Ke,k/=Ke,G*=m,k*=m,J=-(P-M),xe=A-U,Ke=Math.sqrt(J*J+xe*xe),J/=Ke,xe/=Ke,J*=m,xe*=m;let ts=A-S,Wl=w-P,Xl=A-U,Yl=M-P,IE=ts*Xl+Wl*Yl,Nd=Wl*Xl-Yl*ts,$l=Nd<0;if(Math.abs(Nd)<.001*Math.abs(IE)){p.push(A-G*V,P-k*V),p.push(A+G*q,P+k*q),IE>=0&&(a.join==="round"?b+=Hn(A,P,A-G*V,P-k*V,A-J*V,P-xe*V,p,false)+4:b+=2,p.push(A-J*q,P-xe*q),p.push(A+J*V,P+xe*V));continue}let kE=(-G+S)*(-k+P)-(-G+A)*(-k+w),FE=(-J+U)*(-xe+P)-(-J+A)*(-xe+M),Hd=(ts*FE-Xl*kE)/Nd,Vd=(Yl*kE-Wl*FE)/Nd,cb=(Hd-A)*(Hd-A)+(Vd-P)*(Vd-P),_n=A+(Hd-A)*V,bn=P+(Vd-P)*V,yn=A-(Hd-A)*q,vn=P-(Vd-P)*q,rM=Math.min(ts*ts+Wl*Wl,Xl*Xl+Yl*Yl),OE=$l?V:q,iM=rM+OE*OE*y;cb<=iM?a.join==="bevel"||cb/y>T?($l?(p.push(_n,bn),p.push(A+G*q,P+k*q),p.push(_n,bn),p.push(A+J*q,P+xe*q)):(p.push(A-G*V,P-k*V),p.push(yn,vn),p.push(A-J*V,P-xe*V),p.push(yn,vn)),b+=2):a.join==="round"?$l?(p.push(_n,bn),p.push(A+G*q,P+k*q),b+=Hn(A,P,A+G*q,P+k*q,A+J*q,P+xe*q,p,true)+4,p.push(_n,bn),p.push(A+J*q,P+xe*q)):(p.push(A-G*V,P-k*V),p.push(yn,vn),b+=Hn(A,P,A-G*V,P-k*V,A-J*V,P-xe*V,p,false)+4,p.push(A-J*V,P-xe*V),p.push(yn,vn)):(p.push(_n,bn),p.push(yn,vn)):(p.push(A-G*V,P-k*V),p.push(A+G*q,P+k*q),a.join==="round"?$l?b+=Hn(A,P,A+G*q,P+k*q,A+J*q,P+xe*q,p,true)+2:b+=Hn(A,P,A-G*V,P-k*V,A-J*V,P-xe*V,p,false)+2:a.join==="miter"&&cb/y<=T&&($l?(p.push(yn,vn),p.push(yn,vn)):(p.push(_n,bn),p.push(_n,bn)),b+=2),p.push(A-J*V,P-xe*V),p.push(A+J*q,P+xe*q),b+=2);}S=r[(_-2)*2],w=r[(_-2)*2+1],A=r[(_-1)*2],P=r[(_-1)*2+1],G=-(w-P),k=S-A,Ke=Math.sqrt(G*G+k*k),G/=Ke,k/=Ke,G*=m,k*=m,p.push(A-G*V,P-k*V),p.push(A+G*q,P+k*q),h||(a.cap==="round"?b+=Hn(A-G*(V-q)*.5,P-k*(V-q)*.5,A-G*V,P-k*V,A+G*q,P+k*q,p,false)+2:a.cap==="square"&&(b+=cC(A,P,G,k,V,q,false,p)));let lb=1e-4*1e-4;for(let Me=x;Me<b+x-2;++Me)S=p[Me*2],w=p[Me*2+1],A=p[(Me+1)*2],P=p[(Me+1)*2+1],U=p[(Me+2)*2],M=p[(Me+2)*2+1],!(Math.abs(S*(P-M)+A*(M-w)+U*(w-P))<lb)&&n.push(Me,Me+1,Me+2);}var a0=f(()=>{qt();o0();});function Fp(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 u0=f(()=>{});function Up(r,e,t=2){let i=e&&e.length,s=i?e[0]*t:r.length,n=dC(r,0,s,t,true),o=[];if(!n||n.next===n.prev)return o;let a,u,l;if(i&&(n=fD(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 dC(r,e,t,i,s){let n;if(s===ED(r,e,t,i)>0)for(let o=e;o<t;o+=i)n=hC(o/i|0,r[o],r[o+1],n);else for(let o=t-i;o>=e;o-=i)n=hC(o/i|0,r[o],r[o+1],n);return n&&qa(n,n.next)&&(Rc(n),n=n.next),n}function Vn(r,e){if(!r)return r;e||(e=r);let t=r,i;do if(i=false,!t.steiner&&(qa(t,t.next)||Ye(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&&_D(r,i,s,n);let a=r;for(;r.prev!==r.next;){let u=r.prev,l=r.next;if(n?cD(r,i,s,n):lD(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=hD(Vn(r),e),Pc(r,e,t,i,s,n,2)):o===2&&dD(r,e,t,i,s,n):Pc(Vn(r),e,t,i,s,n,1);break}}}function lD(r){let e=r.prev,t=r,i=r.next;if(Ye(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)&&Ye(_.prev,_,_.next)>=0)return false;_=_.next;}return true}function cD(r,e,t,i){let s=r.prev,n=r,o=r.next;if(Ye(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),x=Math.max(c,h,d),m=l0(p,_,e,t,i),y=l0(b,x,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<=x&&T!==s&&T!==o&&wc(a,c,u,h,l,d,T.x,T.y)&&Ye(T.prev,T,T.next)>=0||(T=T.prevZ,S.x>=p&&S.x<=b&&S.y>=_&&S.y<=x&&S!==s&&S!==o&&wc(a,c,u,h,l,d,S.x,S.y)&&Ye(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<=x&&T!==s&&T!==o&&wc(a,c,u,h,l,d,T.x,T.y)&&Ye(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<=x&&S!==s&&S!==o&&wc(a,c,u,h,l,d,S.x,S.y)&&Ye(S.prev,S,S.next)>=0)return false;S=S.nextZ;}return true}function hD(r,e){let t=r;do{let i=t.prev,s=t.next.next;!qa(i,s)&&pC(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 Vn(t)}function dD(r,e,t,i,s,n){let o=r;do{let a=o.next.next;for(;a!==o.prev;){if(o.i!==a.i&&vD(o,a)){let u=mC(o,a);o=Vn(o,o.next),u=Vn(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 fD(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=dC(r,a,u,i,false);l===l.next&&(l.steiner=true),s.push(yD(l));}s.sort(pD);for(let n=0;n<s.length;n++)t=mD(s[n],t);return t}function pD(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 mD(r,e){let t=gD(r,e);if(!t)return e;let i=mC(t,r);return Vn(i,i.next),Vn(t,t.next)}function gD(r,e){let t=e,i=r.x,s=r.y,n=-1/0,o;if(qa(r,t))return t;do{if(qa(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&&fC(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&&xD(o,t)))&&(o=t,c=h);}t=t.next;}while(t!==a);return o}function xD(r,e){return Ye(r.prev,r,e.prev)<0&&Ye(e.next,r,r.next)<0}function _D(r,e,t,i){let s=r;do s.z===0&&(s.z=l0(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,bD(s);}function bD(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 l0(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 yD(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 fC(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)&&fC(r,e,t,i,s,n,o,a)}function vD(r,e){return r.next.i!==e.i&&r.prev.i!==e.i&&!TD(r,e)&&(Bc(r,e)&&Bc(e,r)&&SD(r,e)&&(Ye(r.prev,r,e.prev)||Ye(r,e.prev,e))||qa(r,e)&&Ye(r.prev,r,r.next)>0&&Ye(e.prev,e,e.next)>0)}function Ye(r,e,t){return (e.y-r.y)*(t.x-e.x)-(e.x-r.x)*(t.y-e.y)}function qa(r,e){return r.x===e.x&&r.y===e.y}function pC(r,e,t,i){let s=Gp(Ye(r,e,t)),n=Gp(Ye(r,e,i)),o=Gp(Ye(t,i,r)),a=Gp(Ye(t,i,e));return !!(s!==n&&o!==a||s===0&&Op(r,t,e)||n===0&&Op(r,i,e)||o===0&&Op(t,r,i)||a===0&&Op(t,e,i))}function Op(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 Gp(r){return r>0?1:r<0?-1:0}function TD(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&&pC(t,t.next,r,e))return true;t=t.next;}while(t!==r);return false}function Bc(r,e){return Ye(r.prev,r,r.next)<0?Ye(r,e,r.next)>=0&&Ye(r,r.prev,e)>=0:Ye(r,e,r.prev)<0||Ye(r,r.next,e)<0}function SD(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 mC(r,e){let t=c0(r.i,r.x,r.y),i=c0(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 hC(r,e,t,i){let s=c0(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 c0(r,e,t){return {i:r,x:e,y:t,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:false}}function ED(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 gC=f(()=>{});var Lp,h0=f(()=>{gC();vt();Lp=Up.default||Up;});function ja(r,e,t,i,s,n,o){let a=Lp(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 Np=f(()=>{h0();});var AD,Hp,d0=f(()=>{E();Np();AD=[],Hp={extension:{type:g.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){ja(r,AD,e,t,i,s,n);}};});var Vp,f0=f(()=>{E();Vp={extension:{type:g.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 zp,p0=f(()=>{E();zp={extension:{type:g.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 _C(r,e){for(let t=0;t<e.length;t++){let i=e[t];r.addColorStop(i.offset,i.color);}}function bC(r,e){let t=H.get().createCanvas(r,e),i=t.getContext("2d");return {canvas:t,context:i}}function CD(r){let e=r[0]??{};return (typeof e=="number"||r[1])&&(D("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]??It.defaultLinearOptions.textureSize}),e}var xC,g0,It,zn=f(()=>{rt();Se();le();Un();ce();lt();pe();as();xC=[{offset:0,color:"white"},{offset:1,color:"black"}],g0=class m0{constructor(...e){this.uid=te("fillGradient"),this.type="linear",this.colorStops=[];let t=CD(e);t={...t.type==="radial"?m0.defaultRadialOptions:m0.defaultLinearOptions,...mt(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:K.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 x=e;e=i,i=x,n*=-1;}if(o<0){let x=t;t=s,s=x,o*=-1;}}let u=this.colorStops.length?this.colorStops:xC,l=this._textureSize,{canvas:c,context:h}=bC(l,1),d=a?h.createLinearGradient(this._textureSize,0,0,0):h.createLinearGradient(0,0,this._textureSize,0);_C(d,u),h.fillStyle=d,h.fillRect(0,0,l,1),this.texture=new C({source:new Rt({resource:c,addressMode:this._wrapMode})});let p=Math.sqrt(n*n+o*o),_=Math.atan2(o,n),b=new R;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:xC,t=this._textureSize,{canvas:i,context:s}=bC(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,x=s.createRadialGradient(_,b,l*p,(a-h)*p,(u-d)*p,c*p);_C(x,e),s.fillStyle=e[e.length-1].color,s.fillRect(0,0,t,t),s.fillStyle=x,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 Rt({resource:i,addressMode:this._wrapMode})});let m=new R;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;}};g0.defaultLinearOptions={start:{x:0,y:0},end:{x:0,y:1},colorStops:[],textureSpace:"local",type:"linear",textureSize:256,wrapMode:"clamp-to-edge"};g0.defaultRadialOptions={center:{x:.5,y:.5},innerRadius:0,outerRadius:.5,colorStops:[],scale:1,textureSpace:"local",type:"radial",textureSize:256,wrapMode:"clamp-to-edge"};It=g0;});function Wp(r,e,t,i){let s=e.matrix?r.copyFrom(e.matrix).invert():r.identity();if(e.textureSpace==="local"){let o=t.getBounds(PD);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,x=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*x+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 It)&&n.addressMode==="clamp-to-edge"&&(n.addressMode="repeat",n.update()),i&&s.append(wD.copyFrom(i).invert()),s}var wD,PD,x0=f(()=>{le();Ze();zn();wD=new R,PD=new Z;});function Xp(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")MD(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&&yC(l.shapePath,u,true,i,t),l&&(a.shapePrimitives[a.shapePrimitives.length-1].holes=l.shapePath.shapePrimitives),yC(a,u,o,i,t);}}}function MD(r,e,t){let i=[],s=Ka.rectangle,n=BD;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 _=Pe.get(Li);_.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 yC(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=Ka[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?(Fp(h,T,n,a),b="line-list"):kp(h,S,false,T,n,a);}else if(c){let T=[],S=h.slice();DD(c).forEach(A=>{T.push(S.length/2),S.push(...A);}),ja(S,T,n,2,_,a,p);}else d.triangulate(h,n,2,_,a,p);let x=o.length/2,m=e.texture;if(m!==C.WHITE){let T=Wp(RD,e,u,l);Cp(n,2,_,o,x,2,n.length/2-_,T);}else wp(o,x,2,n.length/2-_);let y=Pe.get(Li);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 DD(r){let e=[];for(let t=0;t<r.length;t++){let i=r[t].shape,s=[];Ka[i.type].build(i,s)&&e.push(s);}return e}var Ka,BD,RD,_0=f(()=>{E();le();Ze();i0();s0();ce();ii();Pp();n0();a0();u0();d0();f0();p0();x0();Np();Ka={};F.handleByMap(g.ShapeBuilder,Ka);F.add(Vp,Hp,zp,Bs,Bp,Rp);BD=new Z,RD=new R;});var Mc,Dc,y0,Rs,Ic=f(()=>{E();gc();Ap();bf();pe();ii();_0();Mc=class{constructor(){this.batches=[],this.geometryData={vertices:[],uvs:[],indices:[]};}},Dc=class{constructor(){this.instructions=new os;}init(e){this.batcher=new Nn({maxTextures:e}),this.instructions.reset();}get geometry(){return D(ef,"GraphicsContextRenderData#geometry is deprecated, please use batcher.geometry instead."),this.batcher.geometry}},y0=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),Xp(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=Pe.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=_s(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]&&(Pe.return(this.getContextRenderData(e)),this._graphicsDataContextHash[e.uid]=null),t.batches&&t.batches.forEach(i=>{Pe.return(i);});}destroy(){for(let e in this._gpuContextHash)this._gpuContextHash[e]&&this.onGraphicsContextDestroy(this._gpuContextHash[e].context);}};y0.extension={type:[g.WebGLSystem,g.WebGPUSystem,g.CanvasSystem],name:"graphicsContext"};y0.defaultOptions={bezierSmoothness:.5};Rs=y0;});var ID,v0,T0,S0,E0,A0,C0,w0,Oe,cr=f(()=>{ID={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},v0=0,T0=1,S0=2,E0=3,A0=4,C0=5,w0=class vC{constructor(){this.data=0,this.blendMode="normal",this.polygonOffset=0,this.blend=true,this.depthMask=true;}get blend(){return !!(this.data&1<<v0)}set blend(e){!!(this.data&1<<v0)!==e&&(this.data^=1<<v0);}get offsets(){return !!(this.data&1<<T0)}set offsets(e){!!(this.data&1<<T0)!==e&&(this.data^=1<<T0);}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<<S0)}set culling(e){!!(this.data&1<<S0)!==e&&(this.data^=1<<S0);}get depthTest(){return !!(this.data&1<<E0)}set depthTest(e){!!(this.data&1<<E0)!==e&&(this.data^=1<<E0);}get depthMask(){return !!(this.data&1<<C0)}set depthMask(e){!!(this.data&1<<C0)!==e&&(this.data^=1<<C0);}get clockwiseFrontFace(){return !!(this.data&1<<A0)}set clockwiseFrontFace(e){!!(this.data&1<<A0)!==e&&(this.data^=1<<A0);}get blendMode(){return this._blendMode}set blendMode(e){this.blend=e!=="none",this._blendMode=e,this._blendModeId=ID[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 vC;return e.depthTest=false,e.blend=true,e}};w0.default2d=w0.for2d();Oe=w0;});function TC(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 Cr(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 Wn=f(()=>{});var kc,Xn,P0=f(()=>{E();cr();ii();Wn();Pp();kc=class{constructor(){this.batches=[],this.batched=false;}destroy(){this.batches.forEach(e=>{Pe.return(e);}),this.batches.length=0;}},Xn=class{constructor(e,t){this.state=Oe.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,Cr(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=Pe.get(Li);return o.copyTo(a),a.renderable=e,a.roundPixels=n,a});}destroy(){this.renderer=null,this._adaptor.destroy(),this._adaptor=null,this.state=null;}};Xn.extension={type:[g.WebGLPipes,g.WebGPUPipes,g.CanvasPipes],name:"graphics"};});var B0=f(()=>{E();Ic();P0();F.add(Xn);F.add(Rs);});var ui,Fc=f(()=>{ui=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 Za,Yn,R0=f(()=>{E();le();Fi();Qe();Ga();Wn();Fc();Za=class{destroy(){}},Yn=class{constructor(e,t){this.localUniforms=new oe({uTransformMatrix:{value:new R,type:"mat3x3<f32>"},uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uRound:{value:0,type:"f32"}}),this.localUniformsBindGroup=new st({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=Ur(e.groupBlendMode,e.texture._source);let t=this.localUniforms;t.uniforms.uTransformMatrix=e.groupTransform,t.uniforms.uRound=this.renderer._roundPixels|e._roundPixels,t.update(),Cr(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 Za),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 Za),e._gpuData[this.renderer.uid].batchableMesh||this._initBatchableMesh(e)}_initBatchableMesh(e){let t=new ui;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;}};Yn.extension={type:[g.WebGLPipes,g.WebGPUPipes,g.CanvasPipes],name:"mesh"};});var M0=f(()=>{E();R0();F.add(Yn);});var Qa,D0=f(()=>{Qa=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 I0=f(()=>{});function Yp(r){return {dynamicUpdate:SC(r,true),staticUpdate:SC(r,false)}}function SC(r,e){let t=[];t.push(`
|
|
260
|
+
`}};});var Ec,Sp,Jy=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>"],Sp=Ec.reduce((r,e)=>(r[e]=true,r),{});});function Ep(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 e0=f(()=>{});var sC,oe,Qe=f(()=>{lt();za();Jy();e0();sC=class nC{constructor(e,t){this._touched=0,this.uid=te("uniform"),this._resourceType="uniformGroup",this._resourceId=te("resource"),this.isUniformGroup=true,this._dirtyId=0,this.destroyed=false,t={...nC.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,!Sp[n.type])throw new Error(`Uniform type ${n.type} is not supported. Supported uniform types are: ${Ec.join(", ")}`);n.value??(n.value=Ep(n.type,n.size)),i[s]=n.value;}this.uniforms=i,this._dirtyId=1,this.ubo=t.ubo,this.isStatic=t.isStatic,this._signature=Lr(Object.keys(i).map(s=>`${s}-${e[s].type}`).join("-"),"uniform-group");}update(){this._dirtyId++;}};sC.defaultOptions={ubo:false,isStatic:false};oe=sC;});function Ps(r){let e=oC[r];if(e)return e;let t=new Int32Array(r);for(let i=0;i<r;i++)t[i]=i;return e=oC[r]=new oe({uTextures:{value:t,type:"i32",size:r}},{isStatic:true}),e}var oC,Ac=f(()=>{Qe();oC={};});var ke,lr=f(()=>{ke=(r=>(r[r.WEBGL=1]="WEBGL",r[r.WEBGPU=2]="WEBGPU",r[r.BOTH=3]="BOTH",r))(ke||{});});var Ne,Ar=f(()=>{vt();lt();jt();Fi();ur();lr();Qe();Ne=class r extends ae{constructor(e){super(),this.uid=te("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|=ke.WEBGPU),i&&(o|=ke.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 st,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 oe(d));let p=u[h];p&&(s[p.group]||(s[p.group]=new st,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 st,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=Ie.from(t)),i&&(o=De.from(i)),new r({gpuProgram:n,glProgram:o,...s})}};});var $a,t0=f(()=>{Gi();Xa();Ya();Ui();Ac();Ar();$a=class extends Ne{constructor(e){let t=Tr({name:"batch",bits:[As,ws(e),Er]}),i=vr({name:"batch",bits:[Es,Cs(e),Sr]});super({glProgram:t,gpuProgram:i,resources:{batchSamplers:Ps(e)}});}};});var r0,aC,Nn,Ap=f(()=>{E();vy();Ey();t0();r0=null,aC=class uC extends tp{constructor(e){super(e),this.geometry=new Va,this.name=uC.extension.name,this.vertexSize=6,r0??(r0=new $a(e.maxTextures)),this.shader=r0;}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,x=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++]=x,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,x=_.minX,m=_.maxY,y=_.minY,T=o.uvs,S=e.color,w=n<<16|e.roundPixels&65535;t[s+0]=u*x+c*y+d,t[s+1]=h*y+l*x+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*x+c*m+d,t[s+19]=h*m+l*x+p,t[s+20]=T.x3,t[s+21]=T.y3,i[s+22]=S,i[s+23]=w;}};aC.extension={type:[g.Batcher],name:"default"};Nn=aC;});function Cp(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],x=r[t+1];i[s]=l*b+h*x+p,i[s+1]=c*b+d*x+_,s+=n,t+=e,u++;}}function wp(r,e,t,i){let s=0;for(e*=t;s<i;)r[e]=0,r[e+1]=0,e+=t,s++;}var i0=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 s0=f(()=>{});var uD,Li,Pp=f(()=>{le();hf();uD=new R,Li=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?wa(t,i.groupColor)+(this.alpha*i.groupAlpha*255<<24):t+(this.alpha*255<<24)}get transform(){return this.renderable?.groupTransform||uD}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 Bs,Bp,Rp,n0=f(()=>{E();Bs={extension:{type:g.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,x=t+_,m=t-_,y=i+b;if(e[c++]=x,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]=x;}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,U=t+A,M=t-A,G=i+P,k=i-P;e[c++]=U,e[c++]=G,e[--h]=G,e[--h]=M,e[d++]=M,e[d++]=k,e[--p]=k,e[--p]=U;}_=s,b=n+a,x=t+_,m=t-_,y=i+b;let T=i-b;return e[c++]=x,e[c++]=y,e[--p]=T,e[--p]=x,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;}},Bp={...Bs,extension:{...Bs.extension,name:"ellipse"}},Rp={...Bs,extension:{...Bs.extension,name:"roundedRectangle"}};});var Mp,Dp,lC=f(()=>{Mp=1e-4,Dp=1e-4;});function Ip(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 o0=f(()=>{});function cC(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,x=c+d,m=h+p;return a.push(_,b),a.push(x,m),2}function Hn(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),x=(15*_*Math.sqrt(b)/Math.PI>>0)+1,m=p/x;if(d+=m,a){o.push(r,e),o.push(t,i);for(let y=1,T=d;y<x;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<x;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 x*2}function kp(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 Me=Ip(r);t&&(Me*=-1),u=(u-.5)*Me+.5;}let l=new se(r[0],r[1]),c=new se(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 Me=(l.x+c.x)*.5,ts=(c.y+l.y)*.5;r.unshift(Me,ts),r.push(Me,ts);}let p=s,_=r.length/2,b=r.length,x=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],U=0,M=0,G=-(w-P),k=S-A,J=0,xe=0,Ke=Math.sqrt(G*G+k*k);G/=Ke,k/=Ke,G*=m,k*=m;let es=u,V=(1-es)*2,q=es*2;h||(a.cap==="round"?b+=Hn(S-G*(V-q)*.5,w-k*(V-q)*.5,S-G*V,w-k*V,S+G*q,w+k*q,p,true)+2:a.cap==="square"&&(b+=cC(S,w,G,k,V,q,true,p))),p.push(S-G*V,w-k*V),p.push(S+G*q,w+k*q);for(let Me=1;Me<_-1;++Me){S=r[(Me-1)*2],w=r[(Me-1)*2+1],A=r[Me*2],P=r[Me*2+1],U=r[(Me+1)*2],M=r[(Me+1)*2+1],G=-(w-P),k=S-A,Ke=Math.sqrt(G*G+k*k),G/=Ke,k/=Ke,G*=m,k*=m,J=-(P-M),xe=A-U,Ke=Math.sqrt(J*J+xe*xe),J/=Ke,xe/=Ke,J*=m,xe*=m;let ts=A-S,Wl=w-P,Xl=A-U,Yl=M-P,IE=ts*Xl+Wl*Yl,Nd=Wl*Xl-Yl*ts,$l=Nd<0;if(Math.abs(Nd)<.001*Math.abs(IE)){p.push(A-G*V,P-k*V),p.push(A+G*q,P+k*q),IE>=0&&(a.join==="round"?b+=Hn(A,P,A-G*V,P-k*V,A-J*V,P-xe*V,p,false)+4:b+=2,p.push(A-J*q,P-xe*q),p.push(A+J*V,P+xe*V));continue}let kE=(-G+S)*(-k+P)-(-G+A)*(-k+w),FE=(-J+U)*(-xe+P)-(-J+A)*(-xe+M),Hd=(ts*FE-Xl*kE)/Nd,Vd=(Yl*kE-Wl*FE)/Nd,cb=(Hd-A)*(Hd-A)+(Vd-P)*(Vd-P),_n=A+(Hd-A)*V,bn=P+(Vd-P)*V,yn=A-(Hd-A)*q,vn=P-(Vd-P)*q,rM=Math.min(ts*ts+Wl*Wl,Xl*Xl+Yl*Yl),OE=$l?V:q,iM=rM+OE*OE*y;cb<=iM?a.join==="bevel"||cb/y>T?($l?(p.push(_n,bn),p.push(A+G*q,P+k*q),p.push(_n,bn),p.push(A+J*q,P+xe*q)):(p.push(A-G*V,P-k*V),p.push(yn,vn),p.push(A-J*V,P-xe*V),p.push(yn,vn)),b+=2):a.join==="round"?$l?(p.push(_n,bn),p.push(A+G*q,P+k*q),b+=Hn(A,P,A+G*q,P+k*q,A+J*q,P+xe*q,p,true)+4,p.push(_n,bn),p.push(A+J*q,P+xe*q)):(p.push(A-G*V,P-k*V),p.push(yn,vn),b+=Hn(A,P,A-G*V,P-k*V,A-J*V,P-xe*V,p,false)+4,p.push(A-J*V,P-xe*V),p.push(yn,vn)):(p.push(_n,bn),p.push(yn,vn)):(p.push(A-G*V,P-k*V),p.push(A+G*q,P+k*q),a.join==="round"?$l?b+=Hn(A,P,A+G*q,P+k*q,A+J*q,P+xe*q,p,true)+2:b+=Hn(A,P,A-G*V,P-k*V,A-J*V,P-xe*V,p,false)+2:a.join==="miter"&&cb/y<=T&&($l?(p.push(yn,vn),p.push(yn,vn)):(p.push(_n,bn),p.push(_n,bn)),b+=2),p.push(A-J*V,P-xe*V),p.push(A+J*q,P+xe*q),b+=2);}S=r[(_-2)*2],w=r[(_-2)*2+1],A=r[(_-1)*2],P=r[(_-1)*2+1],G=-(w-P),k=S-A,Ke=Math.sqrt(G*G+k*k),G/=Ke,k/=Ke,G*=m,k*=m,p.push(A-G*V,P-k*V),p.push(A+G*q,P+k*q),h||(a.cap==="round"?b+=Hn(A-G*(V-q)*.5,P-k*(V-q)*.5,A-G*V,P-k*V,A+G*q,P+k*q,p,false)+2:a.cap==="square"&&(b+=cC(A,P,G,k,V,q,false,p)));let lb=1e-4*1e-4;for(let Me=x;Me<b+x-2;++Me)S=p[Me*2],w=p[Me*2+1],A=p[(Me+1)*2],P=p[(Me+1)*2+1],U=p[(Me+2)*2],M=p[(Me+2)*2+1],!(Math.abs(S*(P-M)+A*(M-w)+U*(w-P))<lb)&&n.push(Me,Me+1,Me+2);}var a0=f(()=>{qt();o0();});function Fp(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 u0=f(()=>{});function Up(r,e,t=2){let i=e&&e.length,s=i?e[0]*t:r.length,n=dC(r,0,s,t,true),o=[];if(!n||n.next===n.prev)return o;let a,u,l;if(i&&(n=fD(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 dC(r,e,t,i,s){let n;if(s===ED(r,e,t,i)>0)for(let o=e;o<t;o+=i)n=hC(o/i|0,r[o],r[o+1],n);else for(let o=t-i;o>=e;o-=i)n=hC(o/i|0,r[o],r[o+1],n);return n&&qa(n,n.next)&&(Rc(n),n=n.next),n}function Vn(r,e){if(!r)return r;e||(e=r);let t=r,i;do if(i=false,!t.steiner&&(qa(t,t.next)||Ye(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&&_D(r,i,s,n);let a=r;for(;r.prev!==r.next;){let u=r.prev,l=r.next;if(n?cD(r,i,s,n):lD(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=hD(Vn(r),e),Pc(r,e,t,i,s,n,2)):o===2&&dD(r,e,t,i,s,n):Pc(Vn(r),e,t,i,s,n,1);break}}}function lD(r){let e=r.prev,t=r,i=r.next;if(Ye(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)&&Ye(_.prev,_,_.next)>=0)return false;_=_.next;}return true}function cD(r,e,t,i){let s=r.prev,n=r,o=r.next;if(Ye(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),x=Math.max(c,h,d),m=l0(p,_,e,t,i),y=l0(b,x,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<=x&&T!==s&&T!==o&&wc(a,c,u,h,l,d,T.x,T.y)&&Ye(T.prev,T,T.next)>=0||(T=T.prevZ,S.x>=p&&S.x<=b&&S.y>=_&&S.y<=x&&S!==s&&S!==o&&wc(a,c,u,h,l,d,S.x,S.y)&&Ye(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<=x&&T!==s&&T!==o&&wc(a,c,u,h,l,d,T.x,T.y)&&Ye(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<=x&&S!==s&&S!==o&&wc(a,c,u,h,l,d,S.x,S.y)&&Ye(S.prev,S,S.next)>=0)return false;S=S.nextZ;}return true}function hD(r,e){let t=r;do{let i=t.prev,s=t.next.next;!qa(i,s)&&pC(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 Vn(t)}function dD(r,e,t,i,s,n){let o=r;do{let a=o.next.next;for(;a!==o.prev;){if(o.i!==a.i&&vD(o,a)){let u=mC(o,a);o=Vn(o,o.next),u=Vn(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 fD(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=dC(r,a,u,i,false);l===l.next&&(l.steiner=true),s.push(yD(l));}s.sort(pD);for(let n=0;n<s.length;n++)t=mD(s[n],t);return t}function pD(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 mD(r,e){let t=gD(r,e);if(!t)return e;let i=mC(t,r);return Vn(i,i.next),Vn(t,t.next)}function gD(r,e){let t=e,i=r.x,s=r.y,n=-1/0,o;if(qa(r,t))return t;do{if(qa(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&&fC(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&&xD(o,t)))&&(o=t,c=h);}t=t.next;}while(t!==a);return o}function xD(r,e){return Ye(r.prev,r,e.prev)<0&&Ye(e.next,r,r.next)<0}function _D(r,e,t,i){let s=r;do s.z===0&&(s.z=l0(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,bD(s);}function bD(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 l0(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 yD(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 fC(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)&&fC(r,e,t,i,s,n,o,a)}function vD(r,e){return r.next.i!==e.i&&r.prev.i!==e.i&&!TD(r,e)&&(Bc(r,e)&&Bc(e,r)&&SD(r,e)&&(Ye(r.prev,r,e.prev)||Ye(r,e.prev,e))||qa(r,e)&&Ye(r.prev,r,r.next)>0&&Ye(e.prev,e,e.next)>0)}function Ye(r,e,t){return (e.y-r.y)*(t.x-e.x)-(e.x-r.x)*(t.y-e.y)}function qa(r,e){return r.x===e.x&&r.y===e.y}function pC(r,e,t,i){let s=Gp(Ye(r,e,t)),n=Gp(Ye(r,e,i)),o=Gp(Ye(t,i,r)),a=Gp(Ye(t,i,e));return !!(s!==n&&o!==a||s===0&&Op(r,t,e)||n===0&&Op(r,i,e)||o===0&&Op(t,r,i)||a===0&&Op(t,e,i))}function Op(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 Gp(r){return r>0?1:r<0?-1:0}function TD(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&&pC(t,t.next,r,e))return true;t=t.next;}while(t!==r);return false}function Bc(r,e){return Ye(r.prev,r,r.next)<0?Ye(r,e,r.next)>=0&&Ye(r,r.prev,e)>=0:Ye(r,e,r.prev)<0||Ye(r,r.next,e)<0}function SD(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 mC(r,e){let t=c0(r.i,r.x,r.y),i=c0(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 hC(r,e,t,i){let s=c0(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 c0(r,e,t){return {i:r,x:e,y:t,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:false}}function ED(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 gC=f(()=>{});var Lp,h0=f(()=>{gC();vt();Lp=Up.default||Up;});function ja(r,e,t,i,s,n,o){let a=Lp(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 Np=f(()=>{h0();});var AD,Hp,d0=f(()=>{E();Np();AD=[],Hp={extension:{type:g.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){ja(r,AD,e,t,i,s,n);}};});var Vp,f0=f(()=>{E();Vp={extension:{type:g.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 zp,p0=f(()=>{E();zp={extension:{type:g.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 _C(r,e){for(let t=0;t<e.length;t++){let i=e[t];r.addColorStop(i.offset,i.color);}}function bC(r,e){let t=H.get().createCanvas(r,e),i=t.getContext("2d");return {canvas:t,context:i}}function CD(r){let e=r[0]??{};return (typeof e=="number"||r[1])&&(D("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]??It.defaultLinearOptions.textureSize}),e}var xC,g0,It,zn=f(()=>{rt();Se();le();Un();ce();lt();pe();as();xC=[{offset:0,color:"white"},{offset:1,color:"black"}],g0=class m0{constructor(...e){this.uid=te("fillGradient"),this.type="linear",this.colorStops=[];let t=CD(e);t={...t.type==="radial"?m0.defaultRadialOptions:m0.defaultLinearOptions,...mt(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:K.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 x=e;e=i,i=x,n*=-1;}if(o<0){let x=t;t=s,s=x,o*=-1;}}let u=this.colorStops.length?this.colorStops:xC,l=this._textureSize,{canvas:c,context:h}=bC(l,1),d=a?h.createLinearGradient(this._textureSize,0,0,0):h.createLinearGradient(0,0,this._textureSize,0);_C(d,u),h.fillStyle=d,h.fillRect(0,0,l,1),this.texture=new C({source:new Rt({resource:c,addressMode:this._wrapMode})});let p=Math.sqrt(n*n+o*o),_=Math.atan2(o,n),b=new R;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:xC,t=this._textureSize,{canvas:i,context:s}=bC(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,x=s.createRadialGradient(_,b,l*p,(a-h)*p,(u-d)*p,c*p);_C(x,e),s.fillStyle=e[e.length-1].color,s.fillRect(0,0,t,t),s.fillStyle=x,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 Rt({resource:i,addressMode:this._wrapMode})});let m=new R;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;}};g0.defaultLinearOptions={start:{x:0,y:0},end:{x:0,y:1},colorStops:[],textureSpace:"local",type:"linear",textureSize:256,wrapMode:"clamp-to-edge"};g0.defaultRadialOptions={center:{x:.5,y:.5},innerRadius:0,outerRadius:.5,colorStops:[],scale:1,textureSpace:"local",type:"radial",textureSize:256,wrapMode:"clamp-to-edge"};It=g0;});function Wp(r,e,t,i){let s=e.matrix?r.copyFrom(e.matrix).invert():r.identity();if(e.textureSpace==="local"){let o=t.getBounds(PD);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,x=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*x+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 It)&&n.addressMode==="clamp-to-edge"&&(n.addressMode="repeat",n.update()),i&&s.append(wD.copyFrom(i).invert()),s}var wD,PD,x0=f(()=>{le();Ze();zn();wD=new R,PD=new Z;});function Xp(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")MD(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&&yC(l.shapePath,u,true,i,t),l&&(a.shapePrimitives[a.shapePrimitives.length-1].holes=l.shapePath.shapePrimitives),yC(a,u,o,i,t);}}}function MD(r,e,t){let i=[],s=Ka.rectangle,n=BD;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 _=Pe.get(Li);_.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 yC(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=Ka[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?(Fp(h,T,n,a),b="line-list"):kp(h,S,false,T,n,a);}else if(c){let T=[],S=h.slice();DD(c).forEach(A=>{T.push(S.length/2),S.push(...A);}),ja(S,T,n,2,_,a,p);}else d.triangulate(h,n,2,_,a,p);let x=o.length/2,m=e.texture;if(m!==C.WHITE){let T=Wp(RD,e,u,l);Cp(n,2,_,o,x,2,n.length/2-_,T);}else wp(o,x,2,n.length/2-_);let y=Pe.get(Li);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 DD(r){let e=[];for(let t=0;t<r.length;t++){let i=r[t].shape,s=[];Ka[i.type].build(i,s)&&e.push(s);}return e}var Ka,BD,RD,_0=f(()=>{E();le();Ze();i0();s0();ce();ii();Pp();n0();a0();u0();d0();f0();p0();x0();Np();Ka={};F.handleByMap(g.ShapeBuilder,Ka);F.add(Vp,Hp,zp,Bs,Bp,Rp);BD=new Z,RD=new R;});var Mc,Dc,y0,Rs,Ic=f(()=>{E();gc();Ap();bf();pe();ii();_0();Mc=class{constructor(){this.batches=[],this.geometryData={vertices:[],uvs:[],indices:[]};}},Dc=class{constructor(){this.instructions=new os;}init(e){this.batcher=new Nn({maxTextures:e}),this.instructions.reset();}get geometry(){return D(ef,"GraphicsContextRenderData#geometry is deprecated, please use batcher.geometry instead."),this.batcher.geometry}},y0=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),Xp(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=Pe.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=_s(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]&&(Pe.return(this.getContextRenderData(e)),this._graphicsDataContextHash[e.uid]=null),t.batches&&t.batches.forEach(i=>{Pe.return(i);});}destroy(){for(let e in this._gpuContextHash)this._gpuContextHash[e]&&this.onGraphicsContextDestroy(this._gpuContextHash[e].context);}};y0.extension={type:[g.WebGLSystem,g.WebGPUSystem,g.CanvasSystem],name:"graphicsContext"};y0.defaultOptions={bezierSmoothness:.5};Rs=y0;});var ID,v0,T0,S0,E0,A0,C0,w0,Oe,cr=f(()=>{ID={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},v0=0,T0=1,S0=2,E0=3,A0=4,C0=5,w0=class vC{constructor(){this.data=0,this.blendMode="normal",this.polygonOffset=0,this.blend=true,this.depthMask=true;}get blend(){return !!(this.data&1<<v0)}set blend(e){!!(this.data&1<<v0)!==e&&(this.data^=1<<v0);}get offsets(){return !!(this.data&1<<T0)}set offsets(e){!!(this.data&1<<T0)!==e&&(this.data^=1<<T0);}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<<S0)}set culling(e){!!(this.data&1<<S0)!==e&&(this.data^=1<<S0);}get depthTest(){return !!(this.data&1<<E0)}set depthTest(e){!!(this.data&1<<E0)!==e&&(this.data^=1<<E0);}get depthMask(){return !!(this.data&1<<C0)}set depthMask(e){!!(this.data&1<<C0)!==e&&(this.data^=1<<C0);}get clockwiseFrontFace(){return !!(this.data&1<<A0)}set clockwiseFrontFace(e){!!(this.data&1<<A0)!==e&&(this.data^=1<<A0);}get blendMode(){return this._blendMode}set blendMode(e){this.blend=e!=="none",this._blendMode=e,this._blendModeId=ID[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 vC;return e.depthTest=false,e.blend=true,e}};w0.default2d=w0.for2d();Oe=w0;});function TC(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 Cr(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 Wn=f(()=>{});var kc,Xn,P0=f(()=>{E();cr();ii();Wn();Pp();kc=class{constructor(){this.batches=[],this.batched=false;}destroy(){this.batches.forEach(e=>{Pe.return(e);}),this.batches.length=0;}},Xn=class{constructor(e,t){this.state=Oe.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,Cr(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=Pe.get(Li);return o.copyTo(a),a.renderable=e,a.roundPixels=n,a});}destroy(){this.renderer=null,this._adaptor.destroy(),this._adaptor=null,this.state=null;}};Xn.extension={type:[g.WebGLPipes,g.WebGPUPipes,g.CanvasPipes],name:"graphics"};});var B0=f(()=>{E();Ic();P0();F.add(Xn);F.add(Rs);});var ui,Fc=f(()=>{ui=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 Za,Yn,R0=f(()=>{E();le();Fi();Qe();Ga();Wn();Fc();Za=class{destroy(){}},Yn=class{constructor(e,t){this.localUniforms=new oe({uTransformMatrix:{value:new R,type:"mat3x3<f32>"},uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uRound:{value:0,type:"f32"}}),this.localUniformsBindGroup=new st({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=Ur(e.groupBlendMode,e.texture._source);let t=this.localUniforms;t.uniforms.uTransformMatrix=e.groupTransform,t.uniforms.uRound=this.renderer._roundPixels|e._roundPixels,t.update(),Cr(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 Za),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 Za),e._gpuData[this.renderer.uid].batchableMesh||this._initBatchableMesh(e)}_initBatchableMesh(e){let t=new ui;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;}};Yn.extension={type:[g.WebGLPipes,g.WebGPUPipes,g.CanvasPipes],name:"mesh"};});var M0=f(()=>{E();R0();F.add(Yn);});var Qa,D0=f(()=>{Qa=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 I0=f(()=>{});function Yp(r){return {dynamicUpdate:SC(r,true),staticUpdate:SC(r,false)}}function SC(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 Ov=f(()=>{Fv();});async function Im(r,e,t){let i=r.filter(s=>he.has(`${s}-and-url`)).map((s,n)=>{if(!gu.has(s)){let{url:o}=he.get(`${s}-and-url`);n===0?gu.set(s,qc({fontWeight:e.fontWeight,fontStyle:e.fontStyle,fontFamily:s},o)):gu.set(s,qc({fontWeight:t.fontWeight,fontStyle:t.fontStyle,fontFamily:s},o));}return gu.get(s)});return (await Promise.all(i)).join(`
|
|
483
|
-
`)}var gu,Gv=f(()=>{oi();Ov();gu=new Map;});function km(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 Uv=f(()=>{});function Fm(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 Lv=f(()=>{Jn();});function Om(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 Nv=f(()=>{});function xu(r,e,t,i){i||(i=QC||(QC=new Ls));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 QC,Gm=f(()=>{Pm();});var so,Hv=f(()=>{E();Jn();kr();lr();Dv();me();ii();mm();Pm();Rm();kv();Gv();Uv();Lv();Nv();Gm();so=class{constructor(e){this._renderer=e,this._createCanvas=e.type===ke.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=Pe.get(Ls),a=Mm(t,i),u=await Im(a,i,Ns.defaultTextStyle),l=xu(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 _=km(t,i,s,u,o);await Om(d,_,wm()&&a.length>0);let b=d,x;this._createCanvas&&(x=Fm(d,s));let m=du(x?x.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(x)),Pe.return(o),m}returnTexturePromise(e){e.then(t=>{this._cleanUp(t);}).catch(()=>{I("HTMLTextSystem: Failed to clean texture");});}_cleanUp(e){be.returnTexture(e,true),e.source.resource=null,e.source.uploadMethodId="unknown";}destroy(){this._renderer=null;}};so.extension={type:[g.WebGLSystem,g.WebGPUSystem,g.CanvasSystem],name:"htmlText"};});var Vv=f(()=>{E();Mv();Hv();F.add(so);F.add(io);});var JC,Kt,Hs=f(()=>{Oi();ai();ys();pe();JC=class ew extends Mt{constructor(...e){let t=e[0]??{};t instanceof Float32Array&&(D(N,"use new MeshGeometry({ positions, uvs, indices }) instead"),t={positions:t,uvs:e[1],indices:e[2]}),t={...ew.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 Le({data:i,label:"attribute-mesh-positions",shrinkToFit:o,usage:re.VERTEX|re.COPY_DST}),u=new Le({data:s,label:"attribute-mesh-uvs",shrinkToFit:o,usage:re.VERTEX|re.COPY_DST}),l=new Le({data:n,label:"index-mesh-buffer",shrinkToFit:o,usage:re.INDEX|re.COPY_DST});super({attributes:{aPosition:{buffer:a,format:"float32x2",stride:
|
|
483
|
+
`)}var gu,Gv=f(()=>{oi();Ov();gu=new Map;});function km(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 Uv=f(()=>{});function Fm(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 Lv=f(()=>{Jn();});function Om(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 Nv=f(()=>{});function xu(r,e,t,i){i||(i=QC||(QC=new Ls));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 QC,Gm=f(()=>{Pm();});var so,Hv=f(()=>{E();Jn();kr();lr();Dv();me();ii();mm();Pm();Rm();kv();Gv();Uv();Lv();Nv();Gm();so=class{constructor(e){this._renderer=e,this._createCanvas=e.type===ke.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=Pe.get(Ls),a=Mm(t,i),u=await Im(a,i,Ns.defaultTextStyle),l=xu(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 _=km(t,i,s,u,o);await Om(d,_,wm()&&a.length>0);let b=d,x;this._createCanvas&&(x=Fm(d,s));let m=du(x?x.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(x)),Pe.return(o),m}returnTexturePromise(e){e.then(t=>{this._cleanUp(t);}).catch(()=>{I("HTMLTextSystem: Failed to clean texture");});}_cleanUp(e){be.returnTexture(e,true),e.source.resource=null,e.source.uploadMethodId="unknown";}destroy(){this._renderer=null;}};so.extension={type:[g.WebGLSystem,g.WebGPUSystem,g.CanvasSystem],name:"htmlText"};});var Vv=f(()=>{E();Mv();Hv();F.add(so);F.add(io);});var JC,Kt,Hs=f(()=>{Oi();ai();ys();pe();JC=class ew extends Mt{constructor(...e){let t=e[0]??{};t instanceof Float32Array&&(D(N,"use new MeshGeometry({ positions, uvs, indices }) instead"),t={positions:t,uvs:e[1],indices:e[2]}),t={...ew.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 Le({data:i,label:"attribute-mesh-positions",shrinkToFit:o,usage:re.VERTEX|re.COPY_DST}),u=new Le({data:s,label:"attribute-mesh-uvs",shrinkToFit:o,usage:re.VERTEX|re.COPY_DST}),l=new Le({data:n,label:"index-mesh-buffer",shrinkToFit:o,usage:re.INDEX|re.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;}};JC.defaultOptions={topology:"triangle-list",shrinkBuffersToFit:false};Kt=JC;});var Wi,Um,Vs,no=f(()=>{Wi={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 Wv,Xv,_u,Yv=f(()=>{le();Gi();no();Ui();Ar();Qe();ce();zv();_u=class extends Ne{constructor(){Wv??(Wv=vr({name:"tiling-sprite-shader",bits:[Wi,Lm,Sr]})),Xv??(Xv=Tr({name:"tiling-sprite-shader",bits:[Vs,Nm,Er]}));let e=new oe({uMapCoord:{value:new R,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 R,type:"mat3x3<f32>"},uSizeAnchor:{value:new Float32Array([100,100,.5,.5]),type:"vec4<f32>"}});super({glProgram:Xv,gpuProgram:Wv,resources:{localUniforms:new oe({uTransformMatrix:{value:new R,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 bu,$v=f(()=>{Hs();bu=class extends Kt{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 Hm(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 qv=f(()=>{});function Vm(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 jv=f(()=>{});function zm(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=R.shared;a.copyFrom(r._tileTransform.matrix),a.tx/=r.width,a.ty/=r.height,a.invert(),a.scale(r.width/i,r.height/s),Vm(e,2,0,a);}var Kv=f(()=>{le();jv();});var Wm,jc,oo,Zv=f(()=>{E();Ga();cr();lr();Wn();Fc();Hs();Yv();$v();qv();Kv();Wm=new bu,jc=class{constructor(){this.canBatch=true,this.geometry=new Kt({indices:Wm.indices.slice(),positions:Wm.positions.slice(),uvs:Wm.uvs.slice()});}destroy(){this.geometry.destroy(),this.shader?.destroy();}},oo=class{constructor(e){this._state=Oe.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 ui);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 _u),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,Cr(e.groupColorAlpha,i.uColor,0),this._state.blendMode=Ur(e.groupBlendMode,e.texture._source),this._renderer.encoder.draw({geometry:Wm,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()),zm(e,i.uvs),Hm(e,i.positions);}destroy(){this._renderer=null;}_updateCanBatch(e){let t=this._getTilingSpriteData(e),i=e.texture,s=true;return this._renderer.type===ke.WEBGL&&(s=this._renderer.context.supports.nonPowOf2wrapping),t.canBatch=i.textureMatrix.isSimple&&(s||i.source.isPowerOfTwo),t.canBatch}};oo.extension={type:[g.WebGLPipes,g.WebGPUPipes,g.CanvasPipes],name:"tilingSprite"};});var Qv=f(()=>{E();Zv();F.add(oo);});var tw,zs,Kc=f(()=>{pe();Hs();tw=class rw extends Kt{constructor(...e){super({});let t=e[0]??{};typeof t=="number"&&(D(N,"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={...rw.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,x=(p+1)*this.verticesX+d,m=(p+1)*this.verticesX+d+1;n.push(_,b,x,b,m,x);}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();}};tw.defaultOptions={width:100,height:100,verticesX:10,verticesY:10};zs=tw;});var iw,Wr,Xm=f(()=>{Kc();iw=class sw extends zs{constructor(e={}){e={...sw.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,x=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]=-x,e[9]=e[11]=e[13]=e[15]=o*_-x,e[17]=e[19]=e[21]=e[23]=i-a*_-x,e[25]=e[27]=e[29]=e[31]=i-x,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();}};iw.defaultOptions={width:100,height:100,leftWidth:10,topHeight:10,rightWidth:10,bottomHeight:10,originalWidth:100,originalHeight:100};Wr=iw;});var Zc,ao,Jv=f(()=>{E();Fc();Xm();Zc=class extends ui{constructor(){super(),this.geometry=new Wr;}destroy(){this.geometry.destroy();}},ao=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;}};ao.extension={type:[g.WebGLPipes,g.WebGPUPipes,g.CanvasPipes],name:"nineSliceSprite"};});var e2=f(()=>{E();Jv();F.add(ao);});var uo,t2=f(()=>{E();uo=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;}};uo.extension={type:[g.WebGLPipes,g.WebGPUPipes,g.CanvasPipes],name:"filter"};});function Ym(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 r2=f(()=>{});var xI,i2,lo,s2=f(()=>{E();le();Fi();ys();Qe();ce();kr();lr();Tt();r2();me();xI=new Mt({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])}),i2=class{constructor(){this.skip=false,this.inputTexture=null,this.backTexture=null,this.filters=null,this.bounds=new ge,this.container=null,this.blendRequired=false,this.outputRenderSurface=null,this.globalFrame={x:0,y:0,width:0,height:0};}},lo=class{constructor(e){this._filterStackIndex=0,this._filterStack=[],this._filterGlobalUniforms=new oe({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 st({}),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=be.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&&be.returnTexture(t.backTexture),be.returnTexture(t.inputTexture));}getBackTexture(e,t,i){let s=e.colorTexture.source._resolution,n=be.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(R.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:xI,shader:e,state:e._state,topology:"triangle-list"}),i.type===ke.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=be.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 x=this.renderer.renderTarget.rootRenderTarget.colorTexture;_[0]=s*o,_[1]=n*o,_[2]=x.source.width*o,_[3]=x.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?Ym(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=be.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),be.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 x=u[b];if(l=Math.min(l,x.resolution==="inherit"?s:x.resolution),c+=x.padding,x.antialias==="off"?h=false:x.antialias==="inherit"&&h&&(h=i),x.clipToViewport||(_=false),!!!(x.compatibleRenderers&o.type)){p=false;break}if(x.blendRequired&&!(o.backBuffer?.useBackBuffer??true)){I("Blend filter requires backBuffer on WebGL renderer to be enabled. Set `useBackBuffer: true` in the renderer options."),p=false;break}p=x.enabled||p,d||(d=x.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 i2),this._filterStackIndex++,e}};lo.extension={type:[g.WebGLSystem,g.WebGPUSystem],name:"filter"};});var n2=f(()=>{E();t2();s2();F.add(lo);F.add(uo);});var _I={};var nw=f(()=>{DA();Kb();kA();OA();Vf();$f();B0();M0();z0();bv();Bv();Vv();Qv();e2();n2();});var o2,ow=f(()=>{E();o2={extension:{type:g.Environment,name:"browser",priority:-1},test:()=>true,load:async()=>{await Promise.resolve().then(()=>(nw(),_I));}};});var bI={};var aw=f(()=>{Kb();Vf();$f();B0();M0();z0();bv();Bv();Vv();Qv();e2();n2();});var a2,uw=f(()=>{E();a2={extension:{type:g.Environment,name:"webworker",priority:0},test:()=>typeof self<"u"&&self.WorkerGlobalScope!==void 0,load:async()=>{await Promise.resolve().then(()=>(aw(),bI));}};});var lw,gt,di=f(()=>{jt();ur();Ar();cr();lw=class u2 extends Ne{constructor(e){e={...u2.defaultOptions,...e},super(e),this.enabled=true,this._state=Oe.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=Ie.from(t)),i&&(o=De.from(i)),new u2({gpuProgram:n,glProgram:o,...s})}};lw.defaultOptions={blendMode:"normal",resolution:1,padding:0,antialias:"off",blendRequired:false,clipToViewport:true};gt=lw;});var $m,l2=f(()=>{$m=`
|
|
578
|
+
`}};});var Wv,Xv,_u,Yv=f(()=>{le();Gi();no();Ui();Ar();Qe();ce();zv();_u=class extends Ne{constructor(){Wv??(Wv=vr({name:"tiling-sprite-shader",bits:[Wi,Lm,Sr]})),Xv??(Xv=Tr({name:"tiling-sprite-shader",bits:[Vs,Nm,Er]}));let e=new oe({uMapCoord:{value:new R,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 R,type:"mat3x3<f32>"},uSizeAnchor:{value:new Float32Array([100,100,.5,.5]),type:"vec4<f32>"}});super({glProgram:Xv,gpuProgram:Wv,resources:{localUniforms:new oe({uTransformMatrix:{value:new R,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 bu,$v=f(()=>{Hs();bu=class extends Kt{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 Hm(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 qv=f(()=>{});function Vm(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 jv=f(()=>{});function zm(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=R.shared;a.copyFrom(r._tileTransform.matrix),a.tx/=r.width,a.ty/=r.height,a.invert(),a.scale(r.width/i,r.height/s),Vm(e,2,0,a);}var Kv=f(()=>{le();jv();});var Wm,jc,oo,Zv=f(()=>{E();Ga();cr();lr();Wn();Fc();Hs();Yv();$v();qv();Kv();Wm=new bu,jc=class{constructor(){this.canBatch=true,this.geometry=new Kt({indices:Wm.indices.slice(),positions:Wm.positions.slice(),uvs:Wm.uvs.slice()});}destroy(){this.geometry.destroy(),this.shader?.destroy();}},oo=class{constructor(e){this._state=Oe.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 ui);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 _u),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,Cr(e.groupColorAlpha,i.uColor,0),this._state.blendMode=Ur(e.groupBlendMode,e.texture._source),this._renderer.encoder.draw({geometry:Wm,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()),zm(e,i.uvs),Hm(e,i.positions);}destroy(){this._renderer=null;}_updateCanBatch(e){let t=this._getTilingSpriteData(e),i=e.texture,s=true;return this._renderer.type===ke.WEBGL&&(s=this._renderer.context.supports.nonPowOf2wrapping),t.canBatch=i.textureMatrix.isSimple&&(s||i.source.isPowerOfTwo),t.canBatch}};oo.extension={type:[g.WebGLPipes,g.WebGPUPipes,g.CanvasPipes],name:"tilingSprite"};});var Qv=f(()=>{E();Zv();F.add(oo);});var tw,zs,Kc=f(()=>{pe();Hs();tw=class rw extends Kt{constructor(...e){super({});let t=e[0]??{};typeof t=="number"&&(D(N,"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={...rw.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,x=(p+1)*this.verticesX+d,m=(p+1)*this.verticesX+d+1;n.push(_,b,x,b,m,x);}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();}};tw.defaultOptions={width:100,height:100,verticesX:10,verticesY:10};zs=tw;});var iw,Wr,Xm=f(()=>{Kc();iw=class sw extends zs{constructor(e={}){e={...sw.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,x=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]=-x,e[9]=e[11]=e[13]=e[15]=o*_-x,e[17]=e[19]=e[21]=e[23]=i-a*_-x,e[25]=e[27]=e[29]=e[31]=i-x,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();}};iw.defaultOptions={width:100,height:100,leftWidth:10,topHeight:10,rightWidth:10,bottomHeight:10,originalWidth:100,originalHeight:100};Wr=iw;});var Zc,ao,Jv=f(()=>{E();Fc();Xm();Zc=class extends ui{constructor(){super(),this.geometry=new Wr;}destroy(){this.geometry.destroy();}},ao=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;}};ao.extension={type:[g.WebGLPipes,g.WebGPUPipes,g.CanvasPipes],name:"nineSliceSprite"};});var e2=f(()=>{E();Jv();F.add(ao);});var uo,t2=f(()=>{E();uo=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;}};uo.extension={type:[g.WebGLPipes,g.WebGPUPipes,g.CanvasPipes],name:"filter"};});function Ym(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 r2=f(()=>{});var xI,i2,lo,s2=f(()=>{E();le();Fi();ys();Qe();ce();kr();lr();Tt();r2();me();xI=new Mt({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])}),i2=class{constructor(){this.skip=false,this.inputTexture=null,this.backTexture=null,this.filters=null,this.bounds=new ge,this.container=null,this.blendRequired=false,this.outputRenderSurface=null,this.globalFrame={x:0,y:0,width:0,height:0};}},lo=class{constructor(e){this._filterStackIndex=0,this._filterStack=[],this._filterGlobalUniforms=new oe({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 st({}),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=be.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&&be.returnTexture(t.backTexture),be.returnTexture(t.inputTexture));}getBackTexture(e,t,i){let s=e.colorTexture.source._resolution,n=be.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(R.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:xI,shader:e,state:e._state,topology:"triangle-list"}),i.type===ke.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=be.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 x=this.renderer.renderTarget.rootRenderTarget.colorTexture;_[0]=s*o,_[1]=n*o,_[2]=x.source.width*o,_[3]=x.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?Ym(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=be.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),be.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 x=u[b];if(l=Math.min(l,x.resolution==="inherit"?s:x.resolution),c+=x.padding,x.antialias==="off"?h=false:x.antialias==="inherit"&&h&&(h=i),x.clipToViewport||(_=false),!!!(x.compatibleRenderers&o.type)){p=false;break}if(x.blendRequired&&!(o.backBuffer?.useBackBuffer??true)){I("Blend filter requires backBuffer on WebGL renderer to be enabled. Set `useBackBuffer: true` in the renderer options."),p=false;break}p=x.enabled||p,d||(d=x.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 i2),this._filterStackIndex++,e}};lo.extension={type:[g.WebGLSystem,g.WebGPUSystem],name:"filter"};});var n2=f(()=>{E();t2();s2();F.add(lo);F.add(uo);});var _I={};var nw=f(()=>{DA();Kb();kA();OA();Vf();$f();B0();M0();z0();bv();Bv();Vv();Qv();e2();n2();});var o2,ow=f(()=>{E();o2={extension:{type:g.Environment,name:"browser",priority:-1},test:()=>true,load:async()=>{await Promise.resolve().then(()=>(nw(),_I));}};});var bI={};var aw=f(()=>{Kb();Vf();$f();B0();M0();z0();bv();Bv();Vv();Qv();e2();n2();});var a2,uw=f(()=>{E();a2={extension:{type:g.Environment,name:"webworker",priority:0},test:()=>typeof self<"u"&&self.WorkerGlobalScope!==void 0,load:async()=>{await Promise.resolve().then(()=>(aw(),bI));}};});var lw,gt,di=f(()=>{jt();ur();Ar();cr();lw=class u2 extends Ne{constructor(e){e={...u2.defaultOptions,...e},super(e),this.enabled=true,this._state=Oe.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=Ie.from(t)),i&&(o=De.from(i)),new u2({gpuProgram:n,glProgram:o,...s})}};lw.defaultOptions={blendMode:"normal",resolution:1,padding:0,antialias:"off",blendRequired:false,clipToViewport:true};gt=lw;});var $m,l2=f(()=>{$m=`
|
|
579
579
|
in vec2 vTextureCoord;
|
|
580
580
|
in vec4 vColor;
|
|
581
581
|
|
|
@@ -1716,7 +1716,7 @@ fn mainFragment(
|
|
|
1716
1716
|
}
|
|
1717
1717
|
`;});var Eu,B2=f(()=>{le();jt();ur();Qe();Sf();di();C2();w2();P2();Eu=class extends gt{constructor(e){let{sprite:t,...i}=e,s=new us(t.texture),n=new oe({uFilterMatrix:{value:new R,type:"mat3x3<f32>"},uMaskClamp:{value:s.uClampFrame,type:"vec4<f32>"},uAlpha:{value:1,type:"f32"},uInverse:{value:e.inverse?1:0,type:"f32"}}),o=Ie.from({vertex:{source:Ah,entryPoint:"mainVertex"},fragment:{source:Ah,entryPoint:"mainFragment"}}),a=De.from({vertex:hg,fragment:cg,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 EI,R2,So,M2=f(()=>{E();Jl();B2();Tt();Tn();ps();ii();ce();kr();lr();EI=new ge,R2=class extends Dr{constructor(){super(),this.filters=[new Eu({sprite:new Ee(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;}},So=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=Pe.get(R2);if(s.inverse=e.inverse,i){e.mask.mask.measurable=true;let n=si(e.mask.mask,true,EI);e.mask.mask.measurable=false,n.ceil();let o=t.renderTarget.renderTarget.colorTexture.source,a=be.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===ke.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&&be.returnTexture(s.filterTexture),Pe.return(s.filterEffect);}}destroy(){this._renderer=null,this._activeMaskStage=null;}};So.extension={type:[g.WebGLPipes,g.WebGPUPipes,g.CanvasPipes],name:"alphaMask"};});var Eo,D2=f(()=>{E();Eo=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;}};Eo.extension={type:[g.WebGLPipes,g.WebGPUPipes,g.CanvasPipes],name:"colorMask"};});var Ao,I2=f(()=>{E();co();bs();Ao=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(we.RENDERING_MASK_ADD,n),n++,i.colorMask.setMask(0)):e.action==="pushMaskEnd"?(e.inverse?i.stencil.setStencilMode(we.INVERSE_MASK_ACTIVE,n):i.stencil.setStencilMode(we.MASK_ACTIVE,n),i.colorMask.setMask(15)):e.action==="popMaskBegin"?(i.colorMask.setMask(0),n!==0?i.stencil.setStencilMode(we.RENDERING_MASK_REMOVE,n):(i.renderTarget.clear(null,nt.STENCIL),i.stencil.setStencilMode(we.DISABLED,n)),n--):e.action==="popMaskEnd"&&(e.inverse?i.stencil.setStencilMode(we.INVERSE_MASK_ACTIVE,n):i.stencil.setStencilMode(we.MASK_ACTIVE,n),i.colorMask.setMask(15)),this._maskStackHash[s]=n;}destroy(){this._renderer=null,this._maskStackHash=null,this._maskHash=null;}};Ao.extension={type:[g.WebGLPipes,g.WebGPUPipes,g.CanvasPipes],name:"stencilMask"};});var k2,dg,F2=f(()=>{rt();E();me();k2=class Lw{constructor(){this.clearBeforeRender=true,this._backgroundColor=new K(0),this.color=this._backgroundColor,this.alpha=1;}init(e){e={...Lw.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){K.shared.setValue(e).alpha<1&&this._backgroundColor.alpha===1&&I("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(){}};k2.extension={type:[g.WebGLSystem,g.WebGPUSystem,g.CanvasSystem],name:"background",priority:0};k2.defaultOptions={backgroundAlpha:1,backgroundColor:0,clearBeforeRender:true};dg=k2;});var Ch,Co,O2=f(()=>{E();Jl();me();Ch={};F.handle(g.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];});Co=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]){I(`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 Dr,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;}};Co.extension={type:[g.WebGLPipes,g.WebGPUPipes,g.CanvasPipes],name:"blendMode"};});var G2,U2,fg,L2=f(()=>{E();St();ce();G2={png:"image/png",jpg:"image/jpeg",webp:"image/webp"},U2=class Nw{constructor(e){this._renderer=e;}_normalizeOptions(e,t={}){return e instanceof $||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,Nw.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);},G2[t],i);});if(s.toDataURL!==void 0)return s.toDataURL(G2[t],i);if(s.convertToBlob!==void 0){let n=await s.convertToBlob({type:G2[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 $&&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;}};U2.extension={type:[g.WebGLSystem,g.WebGPUSystem],name:"extract"};U2.defaultImageOptions={format:"png",quality:1};fg=U2;});var Au,N2=f(()=>{ct();ce();Au=class r extends C{static create(e){return new r({source:new ne(e)})}resize(e,t,i){return this.source.resize(e,t,i),this}};});var AI,CI,wI,wo,H2=f(()=>{rt();E();le();Ze();Tt();tc();St();N2();AI=new Z,CI=new ge,wI=[0,0,0,0],wo=class{constructor(e){this._renderer=e;}generateTexture(e){e instanceof $&&(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:K.shared.setValue(n).toArray():n=wI;let o=e.frame?.copyTo(AI)||ns(s,CI).rectangle;o.width=Math.max(o.width,1/t)|0,o.height=Math.max(o.height,1/t)|0;let a=Au.create({...e.textureSourceOptions,width:o.width,height:o.height,resolution:t,antialias:i}),u=R.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;}};wo.extension={type:[g.WebGLSystem,g.WebGPUSystem],name:"textureGenerator"};});var Po,V2=f(()=>{E();le();qt();Wn();Fi();lr();Qe();Po=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 R,worldColor:4294967295,offset:new se},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,Cr(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 st,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===ke.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 oe({uProjectionMatrix:{value:new R,type:"mat3x3<f32>"},uWorldTransformMatrix:{value:new R,type:"mat3x3<f32>"},uWorldColorAlpha:{value:new Float32Array(4),type:"vec4<f32>"},uResolution:{value:[0,0],type:"vec2<f32>"}},{isStatic:true})}destroy(){this._renderer=null;}};Po.extension={type:[g.WebGLSystem,g.WebGPUSystem,g.CanvasSystem],name:"globalUniforms"};});var PI,Bo,z2=f(()=>{E();hs();PI=1,Bo=class{constructor(){this._tasks=[],this._offset=0;}init(){ye.system.add(this._update,this);}repeat(e,t,i=true){let s=PI++,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(){ye.system.remove(this._update,this),this._tasks.length=0;}};Bo.extension={type:[g.WebGLSystem,g.WebGPUSystem,g.CanvasSystem],name:"scheduler",priority:0};});function pg(r){if(!Hw){if(H.get().getNavigator().userAgent.toLowerCase().indexOf("chrome")>-1){let e=[`%c %c %c %c %c PixiJS %c v${$s} (${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 ${$s} - ${r} - http://www.pixijs.com/`);Hw=true;}}var Hw,W2=f(()=>{Se();ug();Hw=false;});var qs,X2=f(()=>{E();W2();lr();qs=class{constructor(e){this._renderer=e;}init(e){if(e.hello){let t=this._renderer.name;this._renderer.type===ke.WEBGL&&(t+=` ${this._renderer.context.webGLVersion}`),pg(t);}}};qs.extension={type:[g.WebGLSystem,g.WebGPUSystem,g.CanvasSystem],name:"hello",priority:-2};qs.defaultOptions={hello:false};});function mg(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 gg(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 Y2=f(()=>{});var BI,$2,xg,q2=f(()=>{E();Y2();BI=0,$2=class Vw{constructor(e){this._managedRenderables=[],this._managedHashes=[],this._managedArrays=[],this._renderer=e;}init(e){e={...Vw.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]=mg(t.context[t.hash]);},this._frequency),this._arrayHandler=this._renderer.scheduler.repeat(()=>{for(let t of this._managedArrays)gg(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=BI++,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);}};$2.extension={type:[g.WebGLSystem,g.WebGPUSystem],name:"renderableGC",priority:0};$2.defaultOptions={renderableGCActive:true,renderableGCMaxUnusedTime:6e4,renderableGCFrequency:3e4};xg=$2;});var j2,_g,K2=f(()=>{E();j2=class zw{constructor(e){this._renderer=e,this.count=0,this.checkCount=0;}init(e){e={...zw.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;}};j2.extension={type:[g.WebGLSystem,g.WebGPUSystem],name:"textureGC"};j2.defaultOptions={textureGCActive:true,textureGCAMaxIdle:null,textureGCMaxIdle:60*60,textureGCCheckCountMax:600};_g=j2;});var Ww,Ro,bg=f(()=>{lt();ct();ce();Ww=class Xw{constructor(e={}){if(this.uid=te("renderTarget"),this.colorTextures=[],this.dirtyId=0,this.isRoot=false,this._size=new Float32Array(2),this._managedColorTextures=false,e={...Xw.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 ne({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 ne?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 ne({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);}};Ww.defaultOptions={width:0,height:0,resolution:1,colorTextures:1,stencil:false,depth:false,antialias:false,isRoot:false};Ro=Ww;});function wu(r,e){if(!Cu.has(r)){let t=new C({source:new ht({resource:r,...e})}),i=()=>{Cu.get(r)===t&&Cu.delete(r);};t.once("destroy",i),t.source.once("destroy",i),Cu.set(r,t);}return Cu.get(r)}function Yw(r){return Cu.has(r)}var Cu,yg=f(()=>{Gn();ce();Cu=new Map;});var Z2,vg,Q2=f(()=>{Se();E();Ze();pe();bg();yg();Z2=class $w{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={...$w.defaultOptions,...e},e.view&&(D(N,"ViewSystem.view has been renamed to ViewSystem.canvas"),e.canvas=e.view),this.screen=new Z(0,0,e.width,e.height),this.canvas=e.canvas||H.get().createCanvas(),this.antialias=!!e.antialias,this.texture=wu(this.canvas,e),this.renderTarget=new Ro({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);}};Z2.extension={type:[g.WebGLSystem,g.WebGPUSystem,g.CanvasSystem],name:"view",priority:0};Z2.defaultOptions={width:800,height:600,autoDensity:false,antialias:false};vg=Z2;});var Pu,Bu,Tg=f(()=>{x2();_2();T2();S2();lg();A2();M2();D2();I2();F2();O2();L2();H2();V2();z2();X2();q2();K2();Q2();Pu=[dg,Po,qs,vg,bo,_g,wo,fg,To,xg,Bo],Bu=[Co,Eh,yo,xo,So,Ao,Eo,mo];});var Mo,J2=f(()=>{E();Mo=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;}};Mo.extension={type:[g.WebGPUSystem],name:"bindGroup"};});var Do,eT=f(()=>{E();jf();Do=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&&(Ln(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;}};Do.extension={type:[g.WebGPUSystem],name:"buffer"};});var Io,tT=f(()=>{E();Io=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;}};Io.extension={type:[g.WebGPUSystem],name:"colorMask"};});var js,rT=f(()=>{Se();E();js=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 H.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;}};js.extension={type:[g.WebGPUSystem],name:"device"};js.defaultOptions={powerPreference:void 0,forceFallbackAdapter:false};});var ko,iT=f(()=>{E();ko=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;}};ko.extension={type:[g.WebGPUSystem],name:"encoder",priority:1};});var Fo,sT=f(()=>{E();Fo=class{constructor(e){this._renderer=e;}contextChange(){this.maxTextures=this._renderer.device.gpu.device.limits.maxSampledTexturesPerShaderStage,this.maxBatchableTextures=this.maxTextures;}destroy(){}};Fo.extension={type:[g.WebGPUSystem],name:"limits"};});var Oo,nT=f(()=>{E();bs();Oo=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:we.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;}};Oo.extension={type:[g.WebGPUSystem],name:"stencil"};});var Ks,Sg=f(()=>{Km();Oi();ai();Ks=class{constructor(e){this._syncFunctionHash=Object.create(null),this._adaptor=e,this._systemCheck();}_systemCheck(){if(!yu())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 Le({data:new Float32Array(t.layout.size/4),usage:re.UNIFORM|re.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 Le({data:new Float32Array(s.layout.size/4),usage:re.UNIFORM|re.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 Eg(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=Go[s.data.type].size,o=Go[s.data.type].align;if(!Go[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 Go,Ag=f(()=>{Go={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 Xr,Cg=f(()=>{Xr=[{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 ${$s} - ${r} - http://www.pixijs.com/`);Hw=true;}}var Hw,W2=f(()=>{Se();ug();Hw=false;});var qs,X2=f(()=>{E();W2();lr();qs=class{constructor(e){this._renderer=e;}init(e){if(e.hello){let t=this._renderer.name;this._renderer.type===ke.WEBGL&&(t+=` ${this._renderer.context.webGLVersion}`),pg(t);}}};qs.extension={type:[g.WebGLSystem,g.WebGPUSystem,g.CanvasSystem],name:"hello",priority:-2};qs.defaultOptions={hello:false};});function mg(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 gg(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 Y2=f(()=>{});var BI,$2,xg,q2=f(()=>{E();Y2();BI=0,$2=class Vw{constructor(e){this._managedRenderables=[],this._managedHashes=[],this._managedArrays=[],this._renderer=e;}init(e){e={...Vw.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]=mg(t.context[t.hash]);},this._frequency),this._arrayHandler=this._renderer.scheduler.repeat(()=>{for(let t of this._managedArrays)gg(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=BI++,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);}};$2.extension={type:[g.WebGLSystem,g.WebGPUSystem],name:"renderableGC",priority:0};$2.defaultOptions={renderableGCActive:true,renderableGCMaxUnusedTime:6e4,renderableGCFrequency:3e4};xg=$2;});var j2,_g,K2=f(()=>{E();j2=class zw{constructor(e){this._renderer=e,this.count=0,this.checkCount=0;}init(e){e={...zw.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;}};j2.extension={type:[g.WebGLSystem,g.WebGPUSystem],name:"textureGC"};j2.defaultOptions={textureGCActive:true,textureGCAMaxIdle:null,textureGCMaxIdle:3600,textureGCCheckCountMax:600};_g=j2;});var Ww,Ro,bg=f(()=>{lt();ct();ce();Ww=class Xw{constructor(e={}){if(this.uid=te("renderTarget"),this.colorTextures=[],this.dirtyId=0,this.isRoot=false,this._size=new Float32Array(2),this._managedColorTextures=false,e={...Xw.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 ne({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 ne?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 ne({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);}};Ww.defaultOptions={width:0,height:0,resolution:1,colorTextures:1,stencil:false,depth:false,antialias:false,isRoot:false};Ro=Ww;});function wu(r,e){if(!Cu.has(r)){let t=new C({source:new ht({resource:r,...e})}),i=()=>{Cu.get(r)===t&&Cu.delete(r);};t.once("destroy",i),t.source.once("destroy",i),Cu.set(r,t);}return Cu.get(r)}function Yw(r){return Cu.has(r)}var Cu,yg=f(()=>{Gn();ce();Cu=new Map;});var Z2,vg,Q2=f(()=>{Se();E();Ze();pe();bg();yg();Z2=class $w{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={...$w.defaultOptions,...e},e.view&&(D(N,"ViewSystem.view has been renamed to ViewSystem.canvas"),e.canvas=e.view),this.screen=new Z(0,0,e.width,e.height),this.canvas=e.canvas||H.get().createCanvas(),this.antialias=!!e.antialias,this.texture=wu(this.canvas,e),this.renderTarget=new Ro({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);}};Z2.extension={type:[g.WebGLSystem,g.WebGPUSystem,g.CanvasSystem],name:"view",priority:0};Z2.defaultOptions={width:800,height:600,autoDensity:false,antialias:false};vg=Z2;});var Pu,Bu,Tg=f(()=>{x2();_2();T2();S2();lg();A2();M2();D2();I2();F2();O2();L2();H2();V2();z2();X2();q2();K2();Q2();Pu=[dg,Po,qs,vg,bo,_g,wo,fg,To,xg,Bo],Bu=[Co,Eh,yo,xo,So,Ao,Eo,mo];});var Mo,J2=f(()=>{E();Mo=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;}};Mo.extension={type:[g.WebGPUSystem],name:"bindGroup"};});var Do,eT=f(()=>{E();jf();Do=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&&(Ln(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;}};Do.extension={type:[g.WebGPUSystem],name:"buffer"};});var Io,tT=f(()=>{E();Io=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;}};Io.extension={type:[g.WebGPUSystem],name:"colorMask"};});var js,rT=f(()=>{Se();E();js=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 H.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;}};js.extension={type:[g.WebGPUSystem],name:"device"};js.defaultOptions={powerPreference:void 0,forceFallbackAdapter:false};});var ko,iT=f(()=>{E();ko=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;}};ko.extension={type:[g.WebGPUSystem],name:"encoder",priority:1};});var Fo,sT=f(()=>{E();Fo=class{constructor(e){this._renderer=e;}contextChange(){this.maxTextures=this._renderer.device.gpu.device.limits.maxSampledTexturesPerShaderStage,this.maxBatchableTextures=this.maxTextures;}destroy(){}};Fo.extension={type:[g.WebGPUSystem],name:"limits"};});var Oo,nT=f(()=>{E();bs();Oo=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:we.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;}};Oo.extension={type:[g.WebGPUSystem],name:"stencil"};});var Ks,Sg=f(()=>{Km();Oi();ai();Ks=class{constructor(e){this._syncFunctionHash=Object.create(null),this._adaptor=e,this._systemCheck();}_systemCheck(){if(!yu())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 Le({data:new Float32Array(t.layout.size/4),usage:re.UNIFORM|re.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 Le({data:new Float32Array(s.layout.size/4),usage:re.UNIFORM|re.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 Eg(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=Go[s.data.type].size,o=Go[s.data.type].align;if(!Go[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 Go,Ag=f(()=>{Go={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 Xr,Cg=f(()=>{Xr=[{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];
|