@midscene/ios 1.0.1-beta-20251021060907.0 → 1.0.1-beta-20251022061922.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +5 -5
- package/static/index.html +1 -1
- package/static/static/js/63.b6f8c5e5.js +667 -0
- package/static/static/js/{823.f2656426.js.map → 63.b6f8c5e5.js.map} +1 -1
- package/static/static/js/async/150.2d81d791.js +158 -0
- package/static/static/js/async/{212.e243c338.js.map → 150.2d81d791.js.map} +1 -1
- package/static/static/js/async/{624.45ee2b2c.js → 195.7911eb6e.js} +3 -3
- package/static/static/js/async/{624.45ee2b2c.js.map → 195.7911eb6e.js.map} +1 -1
- package/static/static/js/async/260.638dda74.js +2 -0
- package/static/static/js/async/{544.b73fa603.js.map → 260.638dda74.js.map} +1 -1
- package/static/static/js/async/271.9e1c79dc.js +3 -0
- package/static/static/js/async/{173.9cf6b074.js.map → 271.9e1c79dc.js.map} +1 -1
- package/static/static/js/async/355.f86b7375.js +1 -0
- package/static/static/js/async/{644.6bdc4065.js → 441.11908ede.js} +1 -1
- package/static/static/js/async/45.ebc9207b.js +21 -0
- package/static/static/js/async/45.ebc9207b.js.map +1 -0
- package/static/static/js/async/586.bf0d228e.js +26 -0
- package/static/static/js/async/{329.f888b505.js.map → 586.bf0d228e.js.map} +1 -1
- package/static/static/js/async/631.422c34d1.js +30 -0
- package/static/static/js/async/{364.1821e74b.js.map → 631.422c34d1.js.map} +1 -1
- package/static/static/js/async/{702.60261735.js → 779.d48d6dc9.js} +20 -20
- package/static/static/js/async/{702.60261735.js.map → 779.d48d6dc9.js.map} +1 -1
- package/static/static/js/index.fd41dad8.js +30 -0
- package/static/static/js/index.fd41dad8.js.map +1 -0
- package/static/static/js/lib-react.88bfef40.js +3 -0
- package/static/static/js/{lib-react.f566a9ed.js.map → lib-react.88bfef40.js.map} +1 -1
- package/static/static/js/823.f2656426.js +0 -667
- package/static/static/js/async/173.9cf6b074.js +0 -3
- package/static/static/js/async/212.e243c338.js +0 -158
- package/static/static/js/async/329.f888b505.js +0 -26
- package/static/static/js/async/364.1821e74b.js +0 -30
- package/static/static/js/async/544.b73fa603.js +0 -2
- package/static/static/js/async/582.5dccae2d.js +0 -21
- package/static/static/js/async/582.5dccae2d.js.map +0 -1
- package/static/static/js/async/983.8b91303f.js +0 -1
- package/static/static/js/index.33d0fb98.js +0 -30
- package/static/static/js/index.33d0fb98.js.map +0 -1
- package/static/static/js/lib-react.f566a9ed.js +0 -3
- /package/static/static/js/{823.f2656426.js.LICENSE.txt → 63.b6f8c5e5.js.LICENSE.txt} +0 -0
- /package/static/static/js/{index.33d0fb98.js.LICENSE.txt → index.fd41dad8.js.LICENSE.txt} +0 -0
- /package/static/static/js/{lib-react.f566a9ed.js.LICENSE.txt → lib-react.88bfef40.js.LICENSE.txt} +0 -0
- /package/static/static/wasm/{9e906fbf55e08f98.module.wasm → 9e906fbf.module.wasm} +0 -0
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkplayground=self.webpackChunkplayground||[]).push([["544"],{84522:function(e,t,i){var n=i(91957),o=i(82930),s=i(87246);class r{constructor(e){this.bubbles=!0,this.cancelBubble=!0,this.cancelable=!1,this.composed=!1,this.defaultPrevented=!1,this.eventPhase=r.prototype.NONE,this.propagationStopped=!1,this.propagationImmediatelyStopped=!1,this.layer=new s.E,this.page=new s.E,this.NONE=0,this.CAPTURING_PHASE=1,this.AT_TARGET=2,this.BUBBLING_PHASE=3,this.manager=e}get layerX(){return this.layer.x}get layerY(){return this.layer.y}get pageX(){return this.page.x}get pageY(){return this.page.y}get data(){return this}composedPath(){return this.manager&&(!this.path||this.path[this.path.length-1]!==this.target)&&(this.path=this.target?this.manager.propagationPath(this.target):[]),this.path}initEvent(e,t,i){throw Error("initEvent() is a legacy DOM API. It is not implemented in the Federated Events API.")}initUIEvent(e,t,i,n,o){throw Error("initUIEvent() is a legacy DOM API. It is not implemented in the Federated Events API.")}preventDefault(){this.nativeEvent instanceof Event&&this.nativeEvent.cancelable&&this.nativeEvent.preventDefault(),this.defaultPrevented=!0}stopImmediatePropagation(){this.propagationImmediatelyStopped=!0}stopPropagation(){this.propagationStopped=!0}}var a=/iPhone/i,h=/iPod/i,l=/iPad/i,d=/\biOS-universal(?:.+)Mac\b/i,p=/\bAndroid(?:.+)Mobile\b/i,u=/Android/i,c=/(?:SD4930UR|\bSilk(?:.+)Mobile\b)/i,v=/Silk/i,m=/Windows Phone/i,g=/\bWindows(?:.+)ARM\b/i,y=/BlackBerry/i,E=/BB10/i,b=/Opera Mini/i,f=/\b(CriOS|Chrome)(?:.+)Mobile/i,_=/Mobile(?:.+)Firefox\b/i,T=function(e){return void 0!==e&&"MacIntel"===e.platform&&"number"==typeof e.maxTouchPoints&&e.maxTouchPoints>1&&"undefined"==typeof MSStream};function P(e){var t,i={userAgent:"",platform:"",maxTouchPoints:0};e||"undefined"==typeof navigator?"string"==typeof e?i.userAgent=e:e&&e.userAgent&&(i={userAgent:e.userAgent,platform:e.platform,maxTouchPoints:e.maxTouchPoints||0}):i={userAgent:navigator.userAgent,platform:navigator.platform,maxTouchPoints:navigator.maxTouchPoints||0};var n=i.userAgent,o=n.split("[FBAN");void 0!==o[1]&&(n=o[0]),void 0!==(o=n.split("Twitter"))[1]&&(n=o[0]);var s=(t=n,function(e){return e.test(t)}),r={apple:{phone:s(a)&&!s(m),ipod:s(h),tablet:!s(a)&&(s(l)||T(i))&&!s(m),universal:s(d),device:(s(a)||s(h)||s(l)||s(d)||T(i))&&!s(m)},amazon:{phone:s(c),tablet:!s(c)&&s(v),device:s(c)||s(v)},android:{phone:!s(m)&&s(c)||!s(m)&&s(p),tablet:!s(m)&&!s(c)&&!s(p)&&(s(v)||s(u)),device:!s(m)&&(s(c)||s(v)||s(p)||s(u))||s(/\bokhttp\b/i)},windows:{phone:s(m),tablet:s(g),device:s(m)||s(g)},other:{blackberry:s(y),blackberry10:s(E),opera:s(b),firefox:s(_),chrome:s(f),device:s(y)||s(E)||s(b)||s(_)||s(f)},any:!1,phone:!1,tablet:!1};return r.any=r.apple.device||r.android.device||r.windows.device||r.other.device,r.phone=r.apple.phone||r.android.phone||r.windows.phone,r.tablet=r.apple.tablet||r.android.tablet||r.windows.tablet,r}let w=(P.default??P)(globalThis.navigator);var M=i(32472);class A{constructor(e,t=w){this._mobileInfo=t,this.debug=!1,this._isActive=!1,this._isMobileAccessibility=!1,this._pool=[],this._renderId=0,this._children=[],this._androidUpdateCount=0,this._androidUpdateFrequency=500,this._hookDiv=null,(t.tablet||t.phone)&&this._createTouchHook();let i=document.createElement("div");i.style.width="100px",i.style.height="100px",i.style.position="absolute",i.style.top="0px",i.style.left="0px",i.style.zIndex="2",this._div=i,this._renderer=e,this._onKeyDown=this._onKeyDown.bind(this),this._onMouseMove=this._onMouseMove.bind(this),globalThis.addEventListener("keydown",this._onKeyDown,!1)}get isActive(){return this._isActive}get isMobileAccessibility(){return this._isMobileAccessibility}get hookDiv(){return this._hookDiv}_createTouchHook(){let e=document.createElement("button");e.style.width="1px",e.style.height="1px",e.style.position="absolute",e.style.top="-1000px",e.style.left="-1000px",e.style.zIndex="2",e.style.backgroundColor="#FF0000",e.title="select to enable accessibility for this content",e.addEventListener("focus",()=>{this._isMobileAccessibility=!0,this._activate(),this._destroyTouchHook()}),document.body.appendChild(e),this._hookDiv=e}_destroyTouchHook(){this._hookDiv&&(document.body.removeChild(this._hookDiv),this._hookDiv=null)}_activate(){this._isActive||(this._isActive=!0,globalThis.document.addEventListener("mousemove",this._onMouseMove,!0),globalThis.removeEventListener("keydown",this._onKeyDown,!1),this._renderer.runners.postrender.add(this),this._renderer.view.canvas.parentNode?.appendChild(this._div))}_deactivate(){this._isActive&&!this._isMobileAccessibility&&(this._isActive=!1,globalThis.document.removeEventListener("mousemove",this._onMouseMove,!0),globalThis.addEventListener("keydown",this._onKeyDown,!1),this._renderer.runners.postrender.remove(this),this._div.parentNode?.removeChild(this._div))}_updateAccessibleObjects(e){if(!e.visible||!e.accessibleChildren)return;e.accessible&&e.isInteractive()&&(e._accessibleActive||this._addChild(e),e._renderId=this._renderId);let t=e.children;if(t)for(let e=0;e<t.length;e++)this._updateAccessibleObjects(t[e])}init(e){this.debug=e?.debug??this.debug,this._renderer.runners.postrender.remove(this)}postrender(){let e=performance.now();if(this._mobileInfo.android.device&&e<this._androidUpdateCount||(this._androidUpdateCount=e+this._androidUpdateFrequency,!this._renderer.renderingToScreen||!this._renderer.view.canvas))return;this._renderer.lastObjectRendered&&this._updateAccessibleObjects(this._renderer.lastObjectRendered);let{x:t,y:i,width:n,height:o}=this._renderer.view.canvas.getBoundingClientRect(),{width:s,height:r,resolution:a}=this._renderer,h=n/s*a,l=o/r*a,d=this._div;d.style.left=`${t}px`,d.style.top=`${i}px`,d.style.width=`${s}px`,d.style.height=`${r}px`;for(let e=0;e<this._children.length;e++){let t=this._children[e];if(t._renderId!==this._renderId)t._accessibleActive=!1,(0,M.E)(this._children,e,1),this._div.removeChild(t._accessibleDiv),this._pool.push(t._accessibleDiv),t._accessibleDiv=null,e--;else{d=t._accessibleDiv;let e=t.hitArea,i=t.worldTransform;t.hitArea?(d.style.left=`${(i.tx+e.x*i.a)*h}px`,d.style.top=`${(i.ty+e.y*i.d)*l}px`,d.style.width=`${e.width*i.a*h}px`,d.style.height=`${e.height*i.d*l}px`):(e=t.getBounds().rectangle,this._capHitArea(e),d.style.left=`${e.x*h}px`,d.style.top=`${e.y*l}px`,d.style.width=`${e.width*h}px`,d.style.height=`${e.height*l}px`,d.title!==t.accessibleTitle&&null!==t.accessibleTitle&&(d.title=t.accessibleTitle||""),d.getAttribute("aria-label")!==t.accessibleHint&&null!==t.accessibleHint&&d.setAttribute("aria-label",t.accessibleHint||"")),(t.accessibleTitle!==d.title||t.tabIndex!==d.tabIndex)&&(d.title=t.accessibleTitle||"",d.tabIndex=t.tabIndex,this.debug&&this._updateDebugHTML(d))}}this._renderId++}_updateDebugHTML(e){e.innerHTML=`type: ${e.type}</br> title : ${e.title}</br> tabIndex: ${e.tabIndex}`}_capHitArea(e){e.x<0&&(e.width+=e.x,e.x=0),e.y<0&&(e.height+=e.y,e.y=0);let{width:t,height:i}=this._renderer;e.x+e.width>t&&(e.width=t-e.x),e.y+e.height>i&&(e.height=i-e.y)}_addChild(e){let t=this._pool.pop();t||((t=document.createElement("button")).style.width="100px",t.style.height="100px",t.style.backgroundColor=this.debug?"rgba(255,255,255,0.5)":"transparent",t.style.position="absolute",t.style.zIndex="2",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&&null!==e.accessibleTitle?t.title=e.accessibleTitle:e.accessibleHint&&null!==e.accessibleHint||(t.title=`container ${e.tabIndex}`),e.accessibleHint&&null!==e.accessibleHint&&t.setAttribute("aria-label",e.accessibleHint),this.debug&&this._updateDebugHTML(t),e._accessibleActive=!0,e._accessibleDiv=t,t.container=e,this._children.push(e),this._div.appendChild(e._accessibleDiv),e._accessibleDiv.tabIndex=e.tabIndex}_dispatchEvent(e,t){let{container:i}=e.target,n=this._renderer.events.rootBoundary,o=Object.assign(new r(n),{target:i});n.rootTarget=this._renderer.lastObjectRendered,t.forEach(e=>n.dispatchEvent(o,e))}_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){9===e.keyCode&&this._activate()}_onMouseMove(e){(0!==e.movementX||0!==e.movementY)&&this._deactivate()}destroy(){this._destroyTouchHook(),this._div=null,globalThis.document.removeEventListener("mousemove",this._onMouseMove,!0),globalThis.removeEventListener("keydown",this._onKeyDown),this._pool=null,this._children=null,this._renderer=null}}A.extension={type:[n.nw.WebGLSystem,n.nw.WebGPUSystem],name:"accessibility"},n.Rw.add(A),o.W2.mixin({accessible:!1,accessibleTitle:null,accessibleHint:null,tabIndex:0,_accessibleActive:!1,_accessibleDiv:null,accessibleType:"button",accessiblePointerEvents:"auto",accessibleChildren:!0,_renderId:-1}),i(52818);var D=i(72193),I=i(92245),k=i(95909),x=i(96743);let O=new class{constructor(){this.interactionFrequency=10,this._deltaTime=0,this._didMove=!1,this._tickerAdded=!1,this._pauseUpdate=!0}init(e){this.removeTickerListener(),this.events=e,this.interactionFrequency=10,this._deltaTime=0,this._didMove=!1,this._tickerAdded=!1,this._pauseUpdate=!0}get pauseUpdate(){return this._pauseUpdate}set pauseUpdate(e){this._pauseUpdate=e}addTickerListener(){!this._tickerAdded&&this.domElement&&(x.v.system.add(this._tickerUpdate,this,k.u.INTERACTION),this._tickerAdded=!0)}removeTickerListener(){this._tickerAdded&&(x.v.system.remove(this._tickerUpdate,this),this._tickerAdded=!1)}pointerMoved(){this._didMove=!0}_update(){if(!this.domElement||this._pauseUpdate)return;if(this._didMove){this._didMove=!1;return}let e=this.events._rootPointerEvent;this.events.supportsTouchEvents&&"touch"===e.pointerType||globalThis.document.dispatchEvent(new PointerEvent("pointermove",{clientX:e.clientX,clientY:e.clientY}))}_tickerUpdate(e){this._deltaTime+=e.deltaTime,this._deltaTime<this.interactionFrequency||(this._deltaTime=0,this._update())}};class L extends r{constructor(){super(...arguments),this.client=new s.E,this.movement=new s.E,this.offset=new s.E,this.global=new s.E,this.screen=new s.E}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,n,o,s,r,a,h,l,d,p,u,c,v){throw Error("Method not implemented.")}}class B extends L{constructor(){super(...arguments),this.width=0,this.height=0,this.isPrimary=!1}getCoalescedEvents(){return"pointermove"===this.type||"mousemove"===this.type||"touchmove"===this.type?[this]:[]}getPredictedEvents(){throw Error("getPredictedEvents is not supported!")}}class C extends L{constructor(){super(...arguments),this.DOM_DELTA_PIXEL=0,this.DOM_DELTA_LINE=1,this.DOM_DELTA_PAGE=2}}C.DOM_DELTA_PIXEL=0,C.DOM_DELTA_LINE=1,C.DOM_DELTA_PAGE=2;let S=new s.E,U=new s.E;class F{constructor(e){this.dispatch=new D.Z,this.moveOnAll=!1,this.enableGlobalMoveEvents=!0,this.mappingState={trackingData:{}},this.eventPool=new Map,this._allInteractiveElements=[],this._hitElements=[],this._isPointerMoveEvent=!1,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((e,t)=>e.priority-t.priority)}dispatchEvent(e,t){e.propagationStopped=!1,e.propagationImmediatelyStopped=!1,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,n=t.length;i<n;i++)t[i].fn(e);else(0,I.Z)(`[EventBoundary]: Event mapping not defined for ${e.type}`)}hitTest(e,t){O.pauseUpdate=!0;let i=this[this._isPointerMoveEvent&&this.enableGlobalMoveEvents?"hitTestMoveRecursive":"hitTestRecursive"](this.rootTarget,this.rootTarget.eventMode,S.set(e,t),this.hitTestFn,this.hitPruneFn);return i&&i[0]}propagate(e,t){if(!e.target)return;let i=e.composedPath();e.eventPhase=e.CAPTURING_PHASE;for(let n=0,o=i.length-1;n<o;n++)if(e.currentTarget=i[n],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 n=i.length-2;n>=0;n--)if(e.currentTarget=i[n],this.notifyTarget(e,t),e.propagationStopped||e.propagationImmediatelyStopped)return}}all(e,t,i=this._allInteractiveElements){if(0===i.length)return;e.eventPhase=e.BUBBLING_PHASE;let n=Array.isArray(t)?t:[t];for(let t=i.length-1;t>=0;t--)n.forEach(n=>{e.currentTarget=i[t],this.notifyTarget(e,n)})}propagationPath(e){let t=[e];for(let i=0;i<2048&&e!==this.rootTarget&&e.parent;i++){if(!e.parent)throw Error("Cannot find propagation path to disconnected target");t.push(e.parent),e=e.parent}return t.reverse(),t}hitTestMoveRecursive(e,t,i,n,o,s=!1){let r=!1;if(this._interactivePrune(e))return null;if(("dynamic"===e.eventMode||"dynamic"===t)&&(O.pauseUpdate=!1),e.interactiveChildren&&e.children){let a=e.children;for(let h=a.length-1;h>=0;h--){let l=a[h],d=this.hitTestMoveRecursive(l,this._isInteractive(t)?t:l.eventMode,i,n,o,s||o(e,i));if(d){if(d.length>0&&!d[d.length-1].parent)continue;let t=e.isInteractive();(d.length>0||t)&&(t&&this._allInteractiveElements.push(e),d.push(e)),0===this._hitElements.length&&(this._hitElements=d),r=!0}}}let a=this._isInteractive(t),h=e.isInteractive();return(h&&h&&this._allInteractiveElements.push(e),s||this._hitElements.length>0)?null:r?this._hitElements:a&&!o(e,i)&&n(e,i)?h?[e]:[]:null}hitTestRecursive(e,t,i,n,o){if(this._interactivePrune(e)||o(e,i))return null;if(("dynamic"===e.eventMode||"dynamic"===t)&&(O.pauseUpdate=!1),e.interactiveChildren&&e.children){let s=e.children;for(let r=s.length-1;r>=0;r--){let a=s[r],h=this.hitTestRecursive(a,this._isInteractive(t)?t:a.eventMode,i,n,o);if(h){if(h.length>0&&!h[h.length-1].parent)continue;let t=e.isInteractive();return(h.length>0||t)&&h.push(e),h}}}let s=this._isInteractive(t),r=e.isInteractive();return s&&n(e,i)?r?[e]:[]:null}_isInteractive(e){return"static"===e||"dynamic"===e}_interactivePrune(e){return!e||!e.visible||!e.renderable||"none"===e.eventMode||"passive"===e.eventMode&&!e.interactiveChildren}hitPruneFn(e,t){if(e.hitArea&&(e.worldTransform.applyInverse(t,U),!e.hitArea.contains(U.x,U.y)))return!0;if(e.effects&&e.effects.length)for(let i=0;i<e.effects.length;i++){let n=e.effects[i];if(n.containsPoint&&!n.containsPoint(t,this.hitTestFn))return!0}return!1}hitTestFn(e,t){return!!e.hitArea||!!e?.containsPoint&&(e.worldTransform.applyInverse(t,U),e.containsPoint(U))}notifyTarget(e,t){t=t??e.type;let i=`on${t}`;e.currentTarget[i]?.(e);let n=e.eventPhase===e.CAPTURING_PHASE||e.eventPhase===e.AT_TARGET?`${t}capture`:t;this._notifyListeners(e,n),e.eventPhase===e.AT_TARGET&&this._notifyListeners(e,t)}mapPointerDown(e){if(!(e instanceof B))return void(0,I.Z)("EventBoundary cannot map a non-pointer event as a pointer event");let t=this.createPointerEvent(e);if(this.dispatchEvent(t,"pointerdown"),"touch"===t.pointerType)this.dispatchEvent(t,"touchstart");else if("mouse"===t.pointerType||"pen"===t.pointerType){let e=2===t.button;this.dispatchEvent(t,e?"rightdown":"mousedown")}this.trackingData(e.pointerId).pressTargetsByButton[e.button]=t.composedPath(),this.freeEvent(t)}mapPointerMove(e){if(!(e instanceof B))return void(0,I.Z)("EventBoundary cannot map a non-pointer event as a pointer event");this._allInteractiveElements.length=0,this._hitElements.length=0,this._isPointerMoveEvent=!0;let t=this.createPointerEvent(e);this._isPointerMoveEvent=!1;let i="mouse"===t.pointerType||"pen"===t.pointerType,n=this.trackingData(e.pointerId),o=this.findMountedTarget(n.overTargets);if(n.overTargets?.length>0&&o!==t.target){let n="mousemove"===e.type?"mouseout":"pointerout",s=this.createPointerEvent(e,n,o);if(this.dispatchEvent(s,"pointerout"),i&&this.dispatchEvent(s,"mouseout"),!t.composedPath().includes(o)){let n=this.createPointerEvent(e,"pointerleave",o);for(n.eventPhase=n.AT_TARGET;n.target&&!t.composedPath().includes(n.target);)n.currentTarget=n.target,this.notifyTarget(n),i&&this.notifyTarget(n,"mouseleave"),n.target=n.target.parent;this.freeEvent(n)}this.freeEvent(s)}if(o!==t.target){let n="mousemove"===e.type?"mouseover":"pointerover",s=this.clonePointerEvent(t,n);this.dispatchEvent(s,"pointerover"),i&&this.dispatchEvent(s,"mouseover");let r=o?.parent;for(;r&&r!==this.rootTarget.parent&&r!==t.target;)r=r.parent;if(!r||r===this.rootTarget.parent){let e=this.clonePointerEvent(t,"pointerenter");for(e.eventPhase=e.AT_TARGET;e.target&&e.target!==o&&e.target!==this.rootTarget.parent;)e.currentTarget=e.target,this.notifyTarget(e),i&&this.notifyTarget(e,"mouseenter"),e.target=e.target.parent;this.freeEvent(e)}this.freeEvent(s)}let s=[],r=this.enableGlobalMoveEvents??!0;this.moveOnAll?s.push("pointermove"):this.dispatchEvent(t,"pointermove"),r&&s.push("globalpointermove"),"touch"===t.pointerType&&(this.moveOnAll?s.splice(1,0,"touchmove"):this.dispatchEvent(t,"touchmove"),r&&s.push("globaltouchmove")),i&&(this.moveOnAll?s.splice(1,0,"mousemove"):this.dispatchEvent(t,"mousemove"),r&&s.push("globalmousemove"),this.cursor=t.target?.cursor),s.length>0&&this.all(t,s),this._allInteractiveElements.length=0,this._hitElements.length=0,n.overTargets=t.composedPath(),this.freeEvent(t)}mapPointerOver(e){if(!(e instanceof B))return void(0,I.Z)("EventBoundary cannot map a non-pointer event as a pointer event");let t=this.trackingData(e.pointerId),i=this.createPointerEvent(e),n="mouse"===i.pointerType||"pen"===i.pointerType;this.dispatchEvent(i,"pointerover"),n&&this.dispatchEvent(i,"mouseover"),"mouse"===i.pointerType&&(this.cursor=i.target?.cursor);let o=this.clonePointerEvent(i,"pointerenter");for(o.eventPhase=o.AT_TARGET;o.target&&o.target!==this.rootTarget.parent;)o.currentTarget=o.target,this.notifyTarget(o),n&&this.notifyTarget(o,"mouseenter"),o.target=o.target.parent;t.overTargets=i.composedPath(),this.freeEvent(i),this.freeEvent(o)}mapPointerOut(e){if(!(e instanceof B))return void(0,I.Z)("EventBoundary cannot map a non-pointer event as a pointer event");let t=this.trackingData(e.pointerId);if(t.overTargets){let i="mouse"===e.pointerType||"pen"===e.pointerType,n=this.findMountedTarget(t.overTargets),o=this.createPointerEvent(e,"pointerout",n);this.dispatchEvent(o),i&&this.dispatchEvent(o,"mouseout");let s=this.createPointerEvent(e,"pointerleave",n);for(s.eventPhase=s.AT_TARGET;s.target&&s.target!==this.rootTarget.parent;)s.currentTarget=s.target,this.notifyTarget(s),i&&this.notifyTarget(s,"mouseleave"),s.target=s.target.parent;t.overTargets=null,this.freeEvent(o),this.freeEvent(s)}this.cursor=null}mapPointerUp(e){if(!(e instanceof B))return void(0,I.Z)("EventBoundary cannot map a non-pointer event as a pointer event");let t=performance.now(),i=this.createPointerEvent(e);if(this.dispatchEvent(i,"pointerup"),"touch"===i.pointerType)this.dispatchEvent(i,"touchend");else if("mouse"===i.pointerType||"pen"===i.pointerType){let e=2===i.button;this.dispatchEvent(i,e?"rightup":"mouseup")}let n=this.trackingData(e.pointerId),o=this.findMountedTarget(n.pressTargetsByButton[e.button]),s=o;if(o&&!i.composedPath().includes(o)){let t=o;for(;t&&!i.composedPath().includes(t);){if(i.currentTarget=t,this.notifyTarget(i,"pointerupoutside"),"touch"===i.pointerType)this.notifyTarget(i,"touchendoutside");else if("mouse"===i.pointerType||"pen"===i.pointerType){let e=2===i.button;this.notifyTarget(i,e?"rightupoutside":"mouseupoutside")}t=t.parent}delete n.pressTargetsByButton[e.button],s=t}if(s){let o=this.clonePointerEvent(i,"click");o.target=s,o.path=null,n.clicksByButton[e.button]||(n.clicksByButton[e.button]={clickCount:0,target:o.target,timeStamp:t});let r=n.clicksByButton[e.button];if(r.target===o.target&&t-r.timeStamp<200?++r.clickCount:r.clickCount=1,r.target=o.target,r.timeStamp=t,o.detail=r.clickCount,"mouse"===o.pointerType){let e=2===o.button;this.dispatchEvent(o,e?"rightclick":"click")}else"touch"===o.pointerType&&this.dispatchEvent(o,"tap");this.dispatchEvent(o,"pointertap"),this.freeEvent(o)}this.freeEvent(i)}mapPointerUpOutside(e){if(!(e instanceof B))return void(0,I.Z)("EventBoundary cannot map a non-pointer event as a pointer event");let t=this.trackingData(e.pointerId),i=this.findMountedTarget(t.pressTargetsByButton[e.button]),n=this.createPointerEvent(e);if(i){let o=i;for(;o;)n.currentTarget=o,this.notifyTarget(n,"pointerupoutside"),"touch"===n.pointerType?this.notifyTarget(n,"touchendoutside"):("mouse"===n.pointerType||"pen"===n.pointerType)&&this.notifyTarget(n,2===n.button?"rightupoutside":"mouseupoutside"),o=o.parent;delete t.pressTargetsByButton[e.button]}this.freeEvent(n)}mapWheel(e){if(!(e instanceof C))return void(0,I.Z)("EventBoundary cannot map a non-wheel event as a wheel event");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;i++)if(e[i].parent===t)t=e[i];else break;return t}createPointerEvent(e,t,i){let n=this.allocateEvent(B);return this.copyPointerData(e,n),this.copyMouseData(e,n),this.copyData(e,n),n.nativeEvent=e.nativeEvent,n.originalEvent=e,n.target=i??this.hitTest(n.global.x,n.global.y)??this._hitElements[0],"string"==typeof t&&(n.type=t),n}createWheelEvent(e){let t=this.allocateEvent(C);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(B);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 B&&t instanceof B&&(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 L&&t instanceof L&&(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.path=null,t.target=null,t}freeEvent(e){if(e.manager!==this)throw 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&&e.currentTarget.isInteractive())if("fn"in i)i.once&&e.currentTarget.removeListener(t,i.fn,void 0,!0),i.fn.call(i.context,e);else for(let n=0,o=i.length;n<o&&!e.propagationImmediatelyStopped;n++)i[n].once&&e.currentTarget.removeListener(t,i[n].fn,void 0,!0),i[n].fn.call(i[n].context,e)}}let X={touchstart:"pointerdown",touchend:"pointerup",touchendoutside:"pointerupoutside",touchmove:"pointermove",touchcancel:"pointercancel"},Y=class e{constructor(t){this.supportsTouchEvents="ontouchstart"in globalThis,this.supportsPointerEvents=!!globalThis.PointerEvent,this.domElement=null,this.resolution=1,this.renderer=t,this.rootBoundary=new F(null),O.init(this),this.autoPreventDefault=!0,this._eventsAdded=!1,this._rootPointerEvent=new B(null),this._rootWheelEvent=new C(null),this.cursorStyles={default:"inherit",pointer:"pointer"},this.features=new Proxy({...e.defaultEventFeatures},{set:(e,t,i)=>("globalMove"===t&&(this.rootBoundary.enableGlobalMoveEvents=i),e[t]=i,!0)}),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(t){let{canvas:i,resolution:n}=this.renderer;this.setTargetElement(i),this.resolution=n,e._defaultEventMode=t.eventMode??"passive",Object.assign(this.features,t.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=!0;if(globalThis.OffscreenCanvas&&this.domElement instanceof OffscreenCanvas&&(t=!1),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)}else t&&"string"==typeof e&&!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 e=0,i=t.length;e<i;e++){let i=t[e],n=this._bootstrapEvent(this._rootPointerEvent,i);this.rootBoundary.mapEvent(n)}this.setCursor(this.rootBoundary.cursor)}_onPointerMove(e){if(!this.features.move)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered,O.pointerMoved();let t=this._normalizeToPointerData(e);for(let e=0,i=t.length;e<i;e++){let i=this._bootstrapEvent(this._rootPointerEvent,t[e]);this.rootBoundary.mapEvent(i)}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":"",n=this._normalizeToPointerData(e);for(let e=0,t=n.length;e<t;e++){let t=this._bootstrapEvent(this._rootPointerEvent,n[e]);t.type+=i,this.rootBoundary.mapEvent(t)}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 e=0,i=t.length;e<i;e++){let i=this._bootstrapEvent(this._rootPointerEvent,t[e]);this.rootBoundary.mapEvent(i)}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,O.domElement=e,this._addEvents()}_addEvents(){if(this._eventsAdded||!this.domElement)return;O.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,!0),this.domElement.addEventListener("pointerdown",this._onPointerDown,!0),this.domElement.addEventListener("pointerleave",this._onPointerOverOut,!0),this.domElement.addEventListener("pointerover",this._onPointerOverOut,!0),globalThis.addEventListener("pointerup",this._onPointerUp,!0)):(globalThis.document.addEventListener("mousemove",this._onPointerMove,!0),this.domElement.addEventListener("mousedown",this._onPointerDown,!0),this.domElement.addEventListener("mouseout",this._onPointerOverOut,!0),this.domElement.addEventListener("mouseover",this._onPointerOverOut,!0),globalThis.addEventListener("mouseup",this._onPointerUp,!0),this.supportsTouchEvents&&(this.domElement.addEventListener("touchstart",this._onPointerDown,!0),this.domElement.addEventListener("touchend",this._onPointerUp,!0),this.domElement.addEventListener("touchmove",this._onPointerMove,!0))),this.domElement.addEventListener("wheel",this.onWheel,{passive:!0,capture:!0}),this._eventsAdded=!0}_removeEvents(){if(!this._eventsAdded||!this.domElement)return;O.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,!0),this.domElement.removeEventListener("pointerdown",this._onPointerDown,!0),this.domElement.removeEventListener("pointerleave",this._onPointerOverOut,!0),this.domElement.removeEventListener("pointerover",this._onPointerOverOut,!0),globalThis.removeEventListener("pointerup",this._onPointerUp,!0)):(globalThis.document.removeEventListener("mousemove",this._onPointerMove,!0),this.domElement.removeEventListener("mousedown",this._onPointerDown,!0),this.domElement.removeEventListener("mouseout",this._onPointerOverOut,!0),this.domElement.removeEventListener("mouseover",this._onPointerOverOut,!0),globalThis.removeEventListener("mouseup",this._onPointerUp,!0),this.supportsTouchEvents&&(this.domElement.removeEventListener("touchstart",this._onPointerDown,!0),this.domElement.removeEventListener("touchend",this._onPointerUp,!0),this.domElement.removeEventListener("touchmove",this._onPointerMove,!0))),this.domElement.removeEventListener("wheel",this.onWheel,!0),this.domElement=null,this._eventsAdded=!1}mapPositionToPoint(e,t,i){let n=this.domElement.isConnected?this.domElement.getBoundingClientRect():{x:0,y:0,width:this.domElement.width,height:this.domElement.height,left:0,top:0},o=1/this.resolution;e.x=(t-n.left)*(this.domElement.width/n.width)*o,e.y=(i-n.top)*(this.domElement.height/n.height)*o}_normalizeToPointerData(e){let t=[];if(this.supportsTouchEvents&&e instanceof TouchEvent)for(let i=0,n=e.changedTouches.length;i<n;i++){let n=e.changedTouches[i];void 0===n.button&&(n.button=0),void 0===n.buttons&&(n.buttons=1),void 0===n.isPrimary&&(n.isPrimary=1===e.touches.length&&"touchstart"===e.type),void 0===n.width&&(n.width=n.radiusX||1),void 0===n.height&&(n.height=n.radiusY||1),void 0===n.tiltX&&(n.tiltX=0),void 0===n.tiltY&&(n.tiltY=0),void 0===n.pointerType&&(n.pointerType="touch"),void 0===n.pointerId&&(n.pointerId=n.identifier||0),void 0===n.pressure&&(n.pressure=n.force||.5),void 0===n.twist&&(n.twist=0),void 0===n.tangentialPressure&&(n.tangentialPressure=0),void 0===n.layerX&&(n.layerX=n.offsetX=n.clientX),void 0===n.layerY&&(n.layerY=n.offsetY=n.clientY),n.isNormalized=!0,n.type=e.type,t.push(n)}else(!globalThis.MouseEvent||e instanceof MouseEvent&&(!this.supportsPointerEvents||!(e instanceof globalThis.PointerEvent)))&&(void 0===e.isPrimary&&(e.isPrimary=!0),void 0===e.width&&(e.width=1),void 0===e.height&&(e.height=1),void 0===e.tiltX&&(e.tiltX=0),void 0===e.tiltY&&(e.tiltY=0),void 0===e.pointerType&&(e.pointerType="mouse"),void 0===e.pointerId&&(e.pointerId=1),void 0===e.pressure&&(e.pressure=.5),void 0===e.twist&&(e.twist=0),void 0===e.tangentialPressure&&(e.tangentialPressure=0),e.isNormalized=!0),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,"pointerleave"===e.type&&(e.type="pointerout"),e.type.startsWith("mouse")&&(e.type=e.type.replace("mouse","pointer")),e.type.startsWith("touch")&&(e.type=X[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}};Y.extension={name:"events",type:[n.nw.WebGLSystem,n.nw.CanvasSystem,n.nw.WebGPUSystem],priority:-1},Y.defaultEventFeatures={move:!0,globalMove:!0,click:!0,wheel:!0},n.Rw.add(Y),o.W2.mixin({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"dynamic"===this.eventMode||"static"===this.eventMode},set interactive(value){this.eventMode=value?"static":"passive"},_internalEventMode:void 0,get eventMode(){return this._internalEventMode??Y.defaultEventMode},set eventMode(value){this._internalEventMode=value},isInteractive(){return"static"===this.eventMode||"dynamic"===this.eventMode},interactiveChildren:!0,hitArea:null,addEventListener(e,t,i){let n="boolean"==typeof i&&i||"object"==typeof i&&i.capture,o="object"==typeof i?i.signal:void 0,s="object"==typeof i&&!0===i.once,r="function"==typeof t?void 0:t;e=n?`${e}capture`:e;let a="function"==typeof t?t:t.handleEvent,h=this;o&&o.addEventListener("abort",()=>{h.off(e,a,r)}),s?h.once(e,a,r):h.on(e,a,r)},removeEventListener(e,t,i){let n="boolean"==typeof i&&i||"object"==typeof i&&i.capture,o="function"==typeof t?void 0:t;e=n?`${e}capture`:e,t="function"==typeof t?t:t.handleEvent,this.off(e,t,o)},dispatchEvent(e){if(!(e instanceof r))throw Error("Container cannot propagate events outside of the Federated Events API");return e.defaultPrevented=!1,e.path=null,e.target=this,e.manager.dispatchEvent(e),!e.defaultPrevented}}),i(65003),i(62737),i(42454),i(30773),i(66241),i(53828),i(19921),i(28803),i(34354),i(24508)}}]);
|
|
2
|
-
//# sourceMappingURL=544.b73fa603.js.map
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkplayground=self.webpackChunkplayground||[]).push([["582"],{22703:function(e,t,r){r.d(t,{WebGLRenderer:()=>eN});var s,n,i,a,o=r(91957),_=r(30044),l=r(29465),u=r(43200),h=r(23149),c=r(39193),d=r(78300),E=r(71067),g=r(17094),f=r(8482),R=r(73109);class T{init(){let e=new R.o({uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uTransformMatrix:{value:new _.y,type:"mat3x3<f32>"},uRound:{value:0,type:"f32"}}),t=(0,u.o)({name:"graphics",bits:[h.T,(0,c.h)(l.A),d.$g,E.X]});this.shader=new f.e({glProgram:t,resources:{localUniforms:e,batchSamplers:g.y}})}execute(e,t){let r=t.context,s=r.customShader||this.shader,n=e.renderer,{geometry:i,instructions:a}=n.graphicsContext.getContextRenderData(r);s.groups[0]=n.globalUniforms.bindGroup,n.state.set(e.state),n.shader.bind(s),n.geometry.bind(i,s.glProgram);let o=a.instructions;for(let e=0;e<a.instructionSize;e++){let t=o[e];if(t.size){for(let e=0;e<t.textures.textures.length;e++)n.texture.bind(t.textures.textures[e],e);n.geometry.draw("triangle-list",t.size,t.start)}}}destroy(){this.shader.destroy(!0),this.shader=null}}T.extension={type:[o.nw.WebGLPipesAdaptor],name:"graphics"};var m=r(17893),b=r(41277),x=r(92245);class S{init(){let e=(0,u.o)({name:"mesh",bits:[d.$g,m.e,E.X]});this._shader=new f.e({glProgram:e,resources:{uTexture:b.x.EMPTY.source,textureUniforms:{uTextureMatrix:{type:"mat3x3<f32>",value:new _.y}}}})}execute(e,t){let r=e.renderer,s=t._shader;if(s){if(!s.glProgram)return void(0,x.Z)("Mesh shader has no glProgram",t.shader)}else{s=this._shader;let e=t.texture,r=e.source;s.resources.uTexture=r,s.resources.uSampler=r.style,s.resources.textureUniforms.uniforms.uTextureMatrix=e.textureMatrix.mapCoord}s.groups[100]=r.globalUniforms.bindGroup,s.groups[101]=e.localUniformsBindGroup,r.encoder.draw({geometry:t._geometry,shader:s,state:t.state})}destroy(){this._shader.destroy(!0),this._shader=null}}S.extension={type:[o.nw.WebGLPipesAdaptor],name:"mesh"};var p=r(29492);class A{constructor(){this._didUpload=!1,this._tempState=p.Z.for2d()}init(e){let t=(0,u.o)({name:"batch",bits:[h.T,(0,c.h)(l.A),E.X]});this._shader=new f.e({glProgram:t,resources:{batchSamplers:g.y}}),e.renderer.runners.contextChange.add(this)}contextChange(){this._didUpload=!1}start(e,t){let r=e.renderer;r.shader.bind(this._shader,this._didUpload),r.shader.updateUniformGroup(r.globalUniforms.uniformGroup),r.geometry.bind(t,this._shader.glProgram)}execute(e,t){let r=e.renderer;this._didUpload=!0,this._tempState.blendMode=t.blendMode,r.state.set(this._tempState);let s=t.textures.textures;for(let e=0;e<s.length;e++)r.texture.bind(s[e],e);r.geometry.draw("triangle-list",t.size,t.start)}destroy(){this._shader.destroy(!0),this._shader=null}}A.extension={type:[o.nw.WebGLPipesAdaptor],name:"batch"};var B=r(17638),N=r(8826),G=r(71423),C=r(74821),D=((s=D||{})[s.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER",s[s.ARRAY_BUFFER=34962]="ARRAY_BUFFER",s[s.UNIFORM_BUFFER=35345]="UNIFORM_BUFFER",s);class I{constructor(e,t){this.buffer=e||null,this.updateID=-1,this.byteLength=-1,this.type=t}}class O{constructor(e){this._gpuBuffers=Object.create(null),this._boundBufferBases=Object.create(null),this._renderer=e}destroy(){this._renderer=null,this._gl=null,this._gpuBuffers=null,this._boundBufferBases=null}contextChange(){this._gpuBuffers=Object.create(null),this._gl=this._renderer.gl}getGlBuffer(e){return this._gpuBuffers[e.uid]||this.createGLBuffer(e)}bind(e){let{_gl:t}=this,r=this.getGlBuffer(e);t.bindBuffer(r.type,r.buffer)}bindBufferBase(e,t){let{_gl:r}=this;if(this._boundBufferBases[t]!==e){let s=this.getGlBuffer(e);this._boundBufferBases[t]=e,r.bindBufferBase(r.UNIFORM_BUFFER,t,s.buffer)}}bindBufferRange(e,t,r){let{_gl:s}=this;r=r||0;let n=this.getGlBuffer(e);s.bindBufferRange(s.UNIFORM_BUFFER,t||0,n.buffer,256*r,256)}updateBuffer(e){let{_gl:t}=this,r=this.getGlBuffer(e);if(e._updateID===r.updateID)return r;r.updateID=e._updateID,t.bindBuffer(r.type,r.buffer);let s=e.data;if(r.byteLength>=e.data.byteLength)t.bufferSubData(r.type,0,s,0,e._updateSize/s.BYTES_PER_ELEMENT);else{let n=e.descriptor.usage&C.F.STATIC?t.STATIC_DRAW:t.DYNAMIC_DRAW;r.byteLength=s.byteLength,t.bufferData(r.type,s,n)}return r}destroyAll(){let e=this._gl;for(let t in this._gpuBuffers)e.deleteBuffer(this._gpuBuffers[t].buffer);this._gpuBuffers=Object.create(null)}onBufferDestroy(e,t){let r=this._gpuBuffers[e.uid],s=this._gl;t||s.deleteBuffer(r.buffer),this._gpuBuffers[e.uid]=null}createGLBuffer(e){let{_gl:t}=this,r=D.ARRAY_BUFFER;e.descriptor.usage&C.F.INDEX?r=D.ELEMENT_ARRAY_BUFFER:e.descriptor.usage&C.F.UNIFORM&&(r=D.UNIFORM_BUFFER);let s=new I(t.createBuffer(),r);return this._gpuBuffers[e.uid]=s,e.on("destroy",this.onBufferDestroy,this),s}}O.extension={type:[o.nw.WebGLSystem],name:"buffer"};var U=r(767);let F=class e{constructor(e){this.supports={uint32Indices:!0,uniformBufferObject:!0,vertexArrayObject:!0,srgbTextures:!0,nonPowOf2wrapping:!0,msaa:!0,nonPowOf2mipmaps:!0},this._renderer=e,this.extensions=Object.create(null),this.handleContextLost=this.handleContextLost.bind(this),this.handleContextRestored=this.handleContextRestored.bind(this)}get isLost(){return!this.gl||this.gl.isContextLost()}contextChange(e){this.gl=e,this._renderer.gl=e}init(t){if((t={...e.defaultOptions,...t}).context)this.initFromContext(t.context);else{let e=this._renderer.background.alpha<1,r=t.premultipliedAlpha??!0,s=t.antialias&&!this._renderer.backBuffer.useBackBuffer;this.createContext(t.preferWebGLVersion,{alpha:e,premultipliedAlpha:r,antialias:s,stencil:!0,preserveDrawingBuffer:t.preserveDrawingBuffer,powerPreference:t.powerPreference??"default"})}}initFromContext(e){this.gl=e,this.webGLVersion=e instanceof U.z.get().getWebGLRenderingContext()?1:2,this.getExtensions(),this.validateContext(e),this._renderer.runners.contextChange.emit(e);let t=this._renderer.view.canvas;t.addEventListener("webglcontextlost",this.handleContextLost,!1),t.addEventListener("webglcontextrestored",this.handleContextRestored,!1)}createContext(e,t){let r,s=this._renderer.view.canvas;if(2===e&&(r=s.getContext("webgl2",t)),!r&&!(r=s.getContext("webgl",t)))throw Error("This browser does not support WebGL. Try using the canvas renderer");this.gl=r,this.initFromContext(this.gl)}getExtensions(){let{gl:e}=this,t={anisotropicFiltering:e.getExtension("EXT_texture_filter_anisotropic"),floatTextureLinear:e.getExtension("OES_texture_float_linear"),s3tc:e.getExtension("WEBGL_compressed_texture_s3tc"),s3tc_sRGB:e.getExtension("WEBGL_compressed_texture_s3tc_srgb"),etc:e.getExtension("WEBGL_compressed_texture_etc"),etc1:e.getExtension("WEBGL_compressed_texture_etc1"),pvrtc:e.getExtension("WEBGL_compressed_texture_pvrtc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"),atc:e.getExtension("WEBGL_compressed_texture_atc"),astc:e.getExtension("WEBGL_compressed_texture_astc"),bptc:e.getExtension("EXT_texture_compression_bptc"),rgtc:e.getExtension("EXT_texture_compression_rgtc"),loseContext:e.getExtension("WEBGL_lose_context")};if(1===this.webGLVersion)this.extensions={...t,drawBuffers:e.getExtension("WEBGL_draw_buffers"),depthTexture:e.getExtension("WEBGL_depth_texture"),vertexArrayObject:e.getExtension("OES_vertex_array_object")||e.getExtension("MOZ_OES_vertex_array_object")||e.getExtension("WEBKIT_OES_vertex_array_object"),uint32ElementIndex:e.getExtension("OES_element_index_uint"),floatTexture:e.getExtension("OES_texture_float"),floatTextureLinear:e.getExtension("OES_texture_float_linear"),textureHalfFloat:e.getExtension("OES_texture_half_float"),textureHalfFloatLinear:e.getExtension("OES_texture_half_float_linear"),vertexAttribDivisorANGLE:e.getExtension("ANGLE_instanced_arrays"),srgb:e.getExtension("EXT_sRGB")};else{this.extensions={...t,colorBufferFloat:e.getExtension("EXT_color_buffer_float")};let r=e.getExtension("WEBGL_provoking_vertex");r&&r.provokingVertexWEBGL(r.FIRST_VERTEX_CONVENTION_WEBGL)}}handleContextLost(e){e.preventDefault(),this._contextLossForced&&(this._contextLossForced=!1,setTimeout(()=>{this.gl.isContextLost()&&this.extensions.loseContext?.restoreContext()},0))}handleContextRestored(){this._renderer.runners.contextChange.emit(this.gl)}destroy(){let e=this._renderer.view.canvas;this._renderer=null,e.removeEventListener("webglcontextlost",this.handleContextLost),e.removeEventListener("webglcontextrestored",this.handleContextRestored),this.gl.useProgram(null),this.extensions.loseContext?.loseContext()}forceContextLoss(){this.extensions.loseContext?.loseContext(),this._contextLossForced=!0}validateContext(e){let t=e.getContextAttributes();t&&!t.stencil&&(0,x.Z)("Provided WebGL context does not have a stencil buffer, masks may not render correctly");let r=this.supports,s=2===this.webGLVersion,n=this.extensions;r.uint32Indices=s||!!n.uint32ElementIndex,r.uniformBufferObject=s,r.vertexArrayObject=s||!!n.vertexArrayObject,r.srgbTextures=s||!!n.srgb,r.nonPowOf2wrapping=s,r.nonPowOf2mipmaps=s,r.msaa=s,r.uint32Indices||(0,x.Z)("Provided WebGL context does not support 32 index buffer, large scenes may not render correctly")}};F.extension={type:[o.nw.WebGLSystem],name:"context"},F.defaultOptions={context:null,premultipliedAlpha:!0,preserveDrawingBuffer:!1,powerPreference:void 0,preferWebGLVersion:2};var P=r(12713),L=r(532),y=((n=y||{})[n.RGBA=6408]="RGBA",n[n.RGB=6407]="RGB",n[n.RG=33319]="RG",n[n.RED=6403]="RED",n[n.RGBA_INTEGER=36249]="RGBA_INTEGER",n[n.RGB_INTEGER=36248]="RGB_INTEGER",n[n.RG_INTEGER=33320]="RG_INTEGER",n[n.RED_INTEGER=36244]="RED_INTEGER",n[n.ALPHA=6406]="ALPHA",n[n.LUMINANCE=6409]="LUMINANCE",n[n.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA",n[n.DEPTH_COMPONENT=6402]="DEPTH_COMPONENT",n[n.DEPTH_STENCIL=34041]="DEPTH_STENCIL",n),M=((i=M||{})[i.TEXTURE_2D=3553]="TEXTURE_2D",i[i.TEXTURE_CUBE_MAP=34067]="TEXTURE_CUBE_MAP",i[i.TEXTURE_2D_ARRAY=35866]="TEXTURE_2D_ARRAY",i[i.TEXTURE_CUBE_MAP_POSITIVE_X=34069]="TEXTURE_CUBE_MAP_POSITIVE_X",i[i.TEXTURE_CUBE_MAP_NEGATIVE_X=34070]="TEXTURE_CUBE_MAP_NEGATIVE_X",i[i.TEXTURE_CUBE_MAP_POSITIVE_Y=34071]="TEXTURE_CUBE_MAP_POSITIVE_Y",i[i.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072]="TEXTURE_CUBE_MAP_NEGATIVE_Y",i[i.TEXTURE_CUBE_MAP_POSITIVE_Z=34073]="TEXTURE_CUBE_MAP_POSITIVE_Z",i[i.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074]="TEXTURE_CUBE_MAP_NEGATIVE_Z",i),H=((a=H||{})[a.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",a[a.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",a[a.UNSIGNED_SHORT_5_6_5=33635]="UNSIGNED_SHORT_5_6_5",a[a.UNSIGNED_SHORT_4_4_4_4=32819]="UNSIGNED_SHORT_4_4_4_4",a[a.UNSIGNED_SHORT_5_5_5_1=32820]="UNSIGNED_SHORT_5_5_5_1",a[a.UNSIGNED_INT=5125]="UNSIGNED_INT",a[a.UNSIGNED_INT_10F_11F_11F_REV=35899]="UNSIGNED_INT_10F_11F_11F_REV",a[a.UNSIGNED_INT_2_10_10_10_REV=33640]="UNSIGNED_INT_2_10_10_10_REV",a[a.UNSIGNED_INT_24_8=34042]="UNSIGNED_INT_24_8",a[a.UNSIGNED_INT_5_9_9_9_REV=35902]="UNSIGNED_INT_5_9_9_9_REV",a[a.BYTE=5120]="BYTE",a[a.SHORT=5122]="SHORT",a[a.INT=5124]="INT",a[a.FLOAT=5126]="FLOAT",a[a.FLOAT_32_UNSIGNED_INT_24_8_REV=36269]="FLOAT_32_UNSIGNED_INT_24_8_REV",a[a.HALF_FLOAT=36193]="HALF_FLOAT",a);let v={uint8x2:H.UNSIGNED_BYTE,uint8x4:H.UNSIGNED_BYTE,sint8x2:H.BYTE,sint8x4:H.BYTE,unorm8x2:H.UNSIGNED_BYTE,unorm8x4:H.UNSIGNED_BYTE,snorm8x2:H.BYTE,snorm8x4:H.BYTE,uint16x2:H.UNSIGNED_SHORT,uint16x4:H.UNSIGNED_SHORT,sint16x2:H.SHORT,sint16x4:H.SHORT,unorm16x2:H.UNSIGNED_SHORT,unorm16x4:H.UNSIGNED_SHORT,snorm16x2:H.SHORT,snorm16x4:H.SHORT,float16x2:H.HALF_FLOAT,float16x4:H.HALF_FLOAT,float32:H.FLOAT,float32x2:H.FLOAT,float32x3:H.FLOAT,float32x4:H.FLOAT,uint32:H.UNSIGNED_INT,uint32x2:H.UNSIGNED_INT,uint32x3:H.UNSIGNED_INT,uint32x4:H.UNSIGNED_INT,sint32:H.INT,sint32x2:H.INT,sint32x3:H.INT,sint32x4:H.INT},w={"point-list":0,"line-list":1,"line-strip":3,"triangle-list":4,"triangle-strip":5};class X{constructor(e){this._geometryVaoHash=Object.create(null),this._renderer=e,this._activeGeometry=null,this._activeVao=null,this.hasVao=!0,this.hasInstance=!0}contextChange(){let e=this.gl=this._renderer.gl;if(!this._renderer.context.supports.vertexArrayObject)throw Error("[PixiJS] Vertex Array Objects are not supported on this device");let t=this._renderer.context.extensions.vertexArrayObject;t&&(e.createVertexArray=()=>t.createVertexArrayOES(),e.bindVertexArray=e=>t.bindVertexArrayOES(e),e.deleteVertexArray=e=>t.deleteVertexArrayOES(e));let r=this._renderer.context.extensions.vertexAttribDivisorANGLE;r&&(e.drawArraysInstanced=(e,t,s,n)=>{r.drawArraysInstancedANGLE(e,t,s,n)},e.drawElementsInstanced=(e,t,s,n,i)=>{r.drawElementsInstancedANGLE(e,t,s,n,i)},e.vertexAttribDivisor=(e,t)=>r.vertexAttribDivisorANGLE(e,t)),this._activeGeometry=null,this._activeVao=null,this._geometryVaoHash=Object.create(null)}bind(e,t){let r=this.gl;this._activeGeometry=e;let s=this.getVao(e,t);this._activeVao!==s&&(this._activeVao=s,r.bindVertexArray(s)),this.updateBuffers()}reset(){this.unbind()}updateBuffers(){let e=this._activeGeometry,t=this._renderer.buffer;for(let r=0;r<e.buffers.length;r++){let s=e.buffers[r];t.updateBuffer(s)}}checkCompatibility(e,t){let r=e.attributes,s=t._attributeData;for(let e in s)if(!r[e])throw Error(`shader and geometry incompatible, geometry missing the "${e}" attribute`)}getSignature(e,t){let r=e.attributes,s=t._attributeData,n=["g",e.uid];for(let e in r)s[e]&&n.push(e,s[e].location);return n.join("-")}getVao(e,t){return this._geometryVaoHash[e.uid]?.[t._key]||this.initGeometryVao(e,t)}initGeometryVao(e,t,r=!0){let s=this._renderer.gl,n=this._renderer.buffer;this._renderer.shader._getProgramData(t),this.checkCompatibility(e,t);let i=this.getSignature(e,t);this._geometryVaoHash[e.uid]||(this._geometryVaoHash[e.uid]=Object.create(null),e.on("destroy",this.onGeometryDestroy,this));let a=this._geometryVaoHash[e.uid],o=a[i];if(o)return a[t._key]=o,o;(0,L.B)(e,t._attributeData);let _=e.buffers;o=s.createVertexArray(),s.bindVertexArray(o);for(let e=0;e<_.length;e++){let t=_[e];n.bind(t)}return this.activateVao(e,t),a[t._key]=o,a[i]=o,s.bindVertexArray(null),o}onGeometryDestroy(e,t){let r=this._geometryVaoHash[e.uid],s=this.gl;if(r){if(t)for(let e in r)this._activeVao!==r[e]&&this.unbind(),s.deleteVertexArray(r[e]);this._geometryVaoHash[e.uid]=null}}destroyAll(e=!1){let t=this.gl;for(let r in this._geometryVaoHash){if(e)for(let e in this._geometryVaoHash[r]){let s=this._geometryVaoHash[r];this._activeVao!==s&&this.unbind(),t.deleteVertexArray(s[e])}this._geometryVaoHash[r]=null}}activateVao(e,t){let r=this._renderer.gl,s=this._renderer.buffer,n=e.attributes;e.indexBuffer&&s.bind(e.indexBuffer);let i=null;for(let e in n){let a=n[e],o=a.buffer,_=s.getGlBuffer(o),l=t._attributeData[e];if(l){i!==_&&(s.bind(o),i=_);let e=a.location;r.enableVertexAttribArray(e);let t=(0,P.v)(a.format),n=v[a.format]??v.float32;if(l.format?.substring(1,4)==="int"?r.vertexAttribIPointer(e,t.size,n,a.stride,a.offset):r.vertexAttribPointer(e,t.size,n,t.normalised,a.stride,a.offset),a.instance)if(this.hasInstance)r.vertexAttribDivisor(e,1);else throw Error("geometry error, GPU Instancing is not supported on this device")}}}draw(e,t,r,s){let{gl:n}=this._renderer,i=this._activeGeometry,a=w[i.topology||e];if(s||(s=i.instanceCount),i.indexBuffer){let e=i.indexBuffer.data.BYTES_PER_ELEMENT,o=2===e?n.UNSIGNED_SHORT:n.UNSIGNED_INT;s>1?n.drawElementsInstanced(a,t||i.indexBuffer.data.length,o,(r||0)*e,s):n.drawElements(a,t||i.indexBuffer.data.length,o,(r||0)*e)}else s>1?n.drawArraysInstanced(a,r||0,t||i.getSize(),s):n.drawArrays(a,r||0,t||i.getSize());return this}unbind(){this.gl.bindVertexArray(null),this._activeVao=null,this._activeGeometry=null}destroy(){this._renderer=null,this.gl=null,this._activeVao=null,this._activeGeometry=null}}X.extension={type:[o.nw.WebGLSystem],name:"geometry"};var V=r(73531),k=r(62815),W=r(95098);let Y=new V.Z({attributes:{aPosition:[-1,-1,3,-1,-1,3]}}),K=class e{constructor(e){this.useBackBuffer=!1,this._useBackBufferThisRender=!1,this._renderer=e}init(t={}){let{useBackBuffer:r,antialias:s}={...e.defaultOptions,...t};this.useBackBuffer=r,this._antialias=s,this._renderer.context.supports.msaa||((0,x.Z)("antialiasing, is not supported on when using the back buffer"),this._antialias=!1),this._state=p.Z.for2d();let n=new W.J({vertex:`
|
|
2
|
-
attribute vec2 aPosition;
|
|
3
|
-
out vec2 vUv;
|
|
4
|
-
|
|
5
|
-
void main() {
|
|
6
|
-
gl_Position = vec4(aPosition, 0.0, 1.0);
|
|
7
|
-
|
|
8
|
-
vUv = (aPosition + 1.0) / 2.0;
|
|
9
|
-
|
|
10
|
-
// flip dem UVs
|
|
11
|
-
vUv.y = 1.0 - vUv.y;
|
|
12
|
-
}`,fragment:`
|
|
13
|
-
in vec2 vUv;
|
|
14
|
-
out vec4 finalColor;
|
|
15
|
-
|
|
16
|
-
uniform sampler2D uTexture;
|
|
17
|
-
|
|
18
|
-
void main() {
|
|
19
|
-
finalColor = texture(uTexture, vUv);
|
|
20
|
-
}`,name:"big-triangle"});this._bigTriangleShader=new f.e({glProgram:n,resources:{uTexture:b.x.WHITE.source}})}renderStart(e){let t=this._renderer.renderTarget.getRenderTarget(e.target);if(this._useBackBufferThisRender=this.useBackBuffer&&!!t.isRoot,this._useBackBufferThisRender){let t=this._renderer.renderTarget.getRenderTarget(e.target);this._targetTexture=t.colorTexture,e.target=this._getBackBufferTexture(t.colorTexture)}}renderEnd(){this._presentBackBuffer()}_presentBackBuffer(){let e=this._renderer;e.renderTarget.finishRenderPass(),this._useBackBufferThisRender&&(e.renderTarget.bind(this._targetTexture,!1),this._bigTriangleShader.resources.uTexture=this._backBufferTexture.source,e.encoder.draw({geometry:Y,shader:this._bigTriangleShader,state:this._state}))}_getBackBufferTexture(e){return this._backBufferTexture=this._backBufferTexture||new b.x({source:new k.p({width:e.width,height:e.height,resolution:e._resolution,antialias:this._antialias})}),this._backBufferTexture.source.resize(e.width,e.height,e._resolution),this._backBufferTexture}destroy(){this._backBufferTexture&&(this._backBufferTexture.destroy(),this._backBufferTexture=null)}};K.extension={type:[o.nw.WebGLSystem],name:"backBuffer",priority:1},K.defaultOptions={useBackBuffer:!1};class j{constructor(e){this._colorMaskCache=15,this._renderer=e}setMask(e){this._colorMaskCache!==e&&(this._colorMaskCache=e,this._renderer.gl.colorMask(!!(8&e),!!(4&e),!!(2&e),!!(1&e)))}}j.extension={type:[o.nw.WebGLSystem],name:"colorMask"};class z{constructor(e){this.commandFinished=Promise.resolve(),this._renderer=e}setGeometry(e,t){this._renderer.geometry.bind(e,t.glProgram)}finishRenderPass(){}draw(e){let t=this._renderer,{geometry:r,shader:s,state:n,skipSync:i,topology:a,size:o,start:_,instanceCount:l}=e;t.shader.bind(s,i),t.geometry.bind(r,t.shader._activeProgram),n&&t.state.set(n),t.geometry.draw(a,o,_,l??r.instanceCount)}destroy(){this._renderer=null}}z.extension={type:[o.nw.WebGLSystem],name:"encoder"};var Z=r(18228),q=r(22246);class Q{constructor(e){this._stencilCache={enabled:!1,stencilReference:0,stencilMode:q.D.NONE},this._renderTargetStencilState=Object.create(null),e.renderTarget.onRenderTargetChange.add(this)}contextChange(e){this._gl=e,this._comparisonFuncMapping={always:e.ALWAYS,never:e.NEVER,equal:e.EQUAL,"not-equal":e.NOTEQUAL,less:e.LESS,"less-equal":e.LEQUAL,greater:e.GREATER,"greater-equal":e.GEQUAL},this._stencilOpsMapping={keep:e.KEEP,zero:e.ZERO,replace:e.REPLACE,invert:e.INVERT,"increment-clamp":e.INCR,"decrement-clamp":e.DECR,"increment-wrap":e.INCR_WRAP,"decrement-wrap":e.DECR_WRAP},this._stencilCache.enabled=!1,this._stencilCache.stencilMode=q.D.NONE,this._stencilCache.stencilReference=0}onRenderTargetChange(e){if(this._activeRenderTarget===e)return;this._activeRenderTarget=e;let t=this._renderTargetStencilState[e.uid];t||(t=this._renderTargetStencilState[e.uid]={stencilMode:q.D.DISABLED,stencilReference:0}),this.setStencilMode(t.stencilMode,t.stencilReference)}setStencilMode(e,t){let r=this._renderTargetStencilState[this._activeRenderTarget.uid],s=this._gl,n=Z.L[e],i=this._stencilCache;if(r.stencilMode=e,r.stencilReference=t,e===q.D.DISABLED){this._stencilCache.enabled&&(this._stencilCache.enabled=!1,s.disable(s.STENCIL_TEST));return}this._stencilCache.enabled||(this._stencilCache.enabled=!0,s.enable(s.STENCIL_TEST)),(e!==i.stencilMode||i.stencilReference!==t)&&(i.stencilMode=e,i.stencilReference=t,s.stencilFunc(this._comparisonFuncMapping[n.stencilBack.compare],t,255),s.stencilOp(s.KEEP,s.KEEP,this._stencilOpsMapping[n.stencilBack.passOp]))}}Q.extension={type:[o.nw.WebGLSystem],name:"stencil"};var $=r(15011),J=r(72310),ee=r(45266),et=r(81599);class er{constructor(){this.width=-1,this.height=-1,this.msaa=!1,this.msaaRenderBuffer=[]}}class es{constructor(){this._clearColorCache=[0,0,0,0],this._viewPortCache=new ee.A}init(e,t){this._renderer=e,this._renderTargetSystem=t,e.runners.contextChange.add(this)}contextChange(){this._clearColorCache=[0,0,0,0],this._viewPortCache=new ee.A}copyToTexture(e,t,r,s,n){let i=this._renderTargetSystem,a=this._renderer,o=i.getGpuRenderTarget(e),_=a.gl;return this.finishRenderPass(e),_.bindFramebuffer(_.FRAMEBUFFER,o.resolveTargetFramebuffer),a.texture.bind(t,0),_.copyTexSubImage2D(_.TEXTURE_2D,0,n.x,n.y,r.x,r.y,s.width,s.height),t}startRenderPass(e,t=!0,r,s){let n=this._renderTargetSystem,i=e.colorTexture,a=n.getGpuRenderTarget(e),o=s.y;e.isRoot&&(o=i.pixelHeight-s.height),e.colorTextures.forEach(e=>{this._renderer.texture.unbind(e)});let _=this._renderer.gl;_.bindFramebuffer(_.FRAMEBUFFER,a.framebuffer);let l=this._viewPortCache;(l.x!==s.x||l.y!==o||l.width!==s.width||l.height!==s.height)&&(l.x=s.x,l.y=o,l.width=s.width,l.height=s.height,_.viewport(s.x,o,s.width,s.height)),!a.depthStencilRenderBuffer&&(e.stencil||e.depth)&&this._initStencil(a),this.clear(e,t,r)}finishRenderPass(e){let t=this._renderTargetSystem.getGpuRenderTarget(e);if(!t.msaa)return;let r=this._renderer.gl;r.bindFramebuffer(r.FRAMEBUFFER,t.resolveTargetFramebuffer),r.bindFramebuffer(r.READ_FRAMEBUFFER,t.framebuffer),r.blitFramebuffer(0,0,t.width,t.height,0,0,t.width,t.height,r.COLOR_BUFFER_BIT,r.NEAREST),r.bindFramebuffer(r.FRAMEBUFFER,t.framebuffer)}initGpuRenderTarget(e){let t=this._renderer,r=t.gl,s=new er;return e.colorTexture.resource===t.gl.canvas?s.framebuffer=null:(this._initColor(e,s),r.bindFramebuffer(r.FRAMEBUFFER,null)),s}destroyGpuRenderTarget(e){let t=this._renderer.gl;e.framebuffer&&(t.deleteFramebuffer(e.framebuffer),e.framebuffer=null),e.resolveTargetFramebuffer&&(t.deleteFramebuffer(e.resolveTargetFramebuffer),e.resolveTargetFramebuffer=null),e.depthStencilRenderBuffer&&(t.deleteRenderbuffer(e.depthStencilRenderBuffer),e.depthStencilRenderBuffer=null),e.msaaRenderBuffer.forEach(e=>{t.deleteRenderbuffer(e)}),e.msaaRenderBuffer=null}clear(e,t,r){if(!t)return;let s=this._renderTargetSystem;"boolean"==typeof t&&(t=t?et.E.ALL:et.E.NONE);let n=this._renderer.gl;if(t&et.E.COLOR){r??(r=s.defaultClearColor);let e=this._clearColorCache,t=r;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3])&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],n.clearColor(t[0],t[1],t[2],t[3]))}n.clear(t)}resizeGpuRenderTarget(e){if(e.isRoot)return;let t=this._renderTargetSystem.getGpuRenderTarget(e);this._resizeColor(e,t),e.stencil&&this._resizeStencil(t)}_initColor(e,t){let r=this._renderer,s=r.gl,n=s.createFramebuffer();if(t.resolveTargetFramebuffer=n,s.bindFramebuffer(s.FRAMEBUFFER,n),t.width=e.colorTexture.source.pixelWidth,t.height=e.colorTexture.source.pixelHeight,e.colorTextures.forEach((e,n)=>{let i=e.source;i.antialias&&(r.context.supports.msaa?t.msaa=!0:(0,x.Z)("[RenderTexture] Antialiasing on textures is not supported in WebGL1")),r.texture.bindSource(i,0);let a=r.texture.getGlSource(i).texture;s.framebufferTexture2D(s.FRAMEBUFFER,s.COLOR_ATTACHMENT0+n,3553,a,0)}),t.msaa){let r=s.createFramebuffer();t.framebuffer=r,s.bindFramebuffer(s.FRAMEBUFFER,r),e.colorTextures.forEach((e,r)=>{let n=s.createRenderbuffer();t.msaaRenderBuffer[r]=n})}else t.framebuffer=n;this._resizeColor(e,t)}_resizeColor(e,t){let r=e.colorTexture.source;if(t.width=r.pixelWidth,t.height=r.pixelHeight,e.colorTextures.forEach((e,t)=>{0!==t&&e.source.resize(r.width,r.height,r._resolution)}),t.msaa){let r=this._renderer,s=r.gl,n=t.framebuffer;s.bindFramebuffer(s.FRAMEBUFFER,n),e.colorTextures.forEach((e,n)=>{let i=e.source;r.texture.bindSource(i,0);let a=r.texture.getGlSource(i).internalFormat,o=t.msaaRenderBuffer[n];s.bindRenderbuffer(s.RENDERBUFFER,o),s.renderbufferStorageMultisample(s.RENDERBUFFER,4,a,i.pixelWidth,i.pixelHeight),s.framebufferRenderbuffer(s.FRAMEBUFFER,s.COLOR_ATTACHMENT0+n,s.RENDERBUFFER,o)})}}_initStencil(e){if(null===e.framebuffer)return;let t=this._renderer.gl,r=t.createRenderbuffer();e.depthStencilRenderBuffer=r,t.bindRenderbuffer(t.RENDERBUFFER,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.RENDERBUFFER,r),this._resizeStencil(e)}_resizeStencil(e){let t=this._renderer.gl;t.bindRenderbuffer(t.RENDERBUFFER,e.depthStencilRenderBuffer),e.msaa?t.renderbufferStorageMultisample(t.RENDERBUFFER,4,t.DEPTH24_STENCIL8,e.width,e.height):t.renderbufferStorage(t.RENDERBUFFER,2===this._renderer.context.webGLVersion?t.DEPTH24_STENCIL8:t.DEPTH_STENCIL,e.width,e.height)}}class en extends J.l{constructor(e){super(e),this.adaptor=new es,this.adaptor.init(e,this)}}en.extension={type:[o.nw.WebGLSystem],name:"renderTarget"};var ei=r(37861),ea=r(87434);let eo=class e{constructor(){this.gl=null,this.stateId=0,this.polygonOffset=0,this.blendMode="none",this._blendEq=!1,this.map=[],this.map[0]=this.setBlend,this.map[1]=this.setOffset,this.map[2]=this.setCullFace,this.map[3]=this.setDepthTest,this.map[4]=this.setFrontFace,this.map[5]=this.setDepthMask,this.checks=[],this.defaultState=p.Z.for2d()}contextChange(e){this.gl=e,this.blendModesMap=function(e){let t={};return t.normal=[e.ONE,e.ONE_MINUS_SRC_ALPHA],t.add=[e.ONE,e.ONE],t.multiply=[e.DST_COLOR,e.ONE_MINUS_SRC_ALPHA,e.ONE,e.ONE_MINUS_SRC_ALPHA],t.screen=[e.ONE,e.ONE_MINUS_SRC_COLOR,e.ONE,e.ONE_MINUS_SRC_ALPHA],t.none=[0,0],t["normal-npm"]=[e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA,e.ONE,e.ONE_MINUS_SRC_ALPHA],t["add-npm"]=[e.SRC_ALPHA,e.ONE,e.ONE,e.ONE],t["screen-npm"]=[e.SRC_ALPHA,e.ONE_MINUS_SRC_COLOR,e.ONE,e.ONE_MINUS_SRC_ALPHA],t.erase=[e.ZERO,e.ONE_MINUS_SRC_ALPHA],t}(e),this.reset()}set(e){if(e=e||this.defaultState,this.stateId!==e.data){let t=this.stateId^e.data,r=0;for(;t;)1&t&&this.map[r].call(this,!!(e.data&1<<r)),t>>=1,r++;this.stateId=e.data}for(let t=0;t<this.checks.length;t++)this.checks[t](this,e)}forceState(e){e=e||this.defaultState;for(let t=0;t<this.map.length;t++)this.map[t].call(this,!!(e.data&1<<t));for(let t=0;t<this.checks.length;t++)this.checks[t](this,e);this.stateId=e.data}setBlend(t){this._updateCheck(e._checkBlendMode,t),this.gl[t?"enable":"disable"](this.gl.BLEND)}setOffset(t){this._updateCheck(e._checkPolygonOffset,t),this.gl[t?"enable":"disable"](this.gl.POLYGON_OFFSET_FILL)}setDepthTest(e){this.gl[e?"enable":"disable"](this.gl.DEPTH_TEST)}setDepthMask(e){this.gl.depthMask(e)}setCullFace(e){this.gl[e?"enable":"disable"](this.gl.CULL_FACE)}setFrontFace(e){this.gl.frontFace(this.gl[e?"CW":"CCW"])}setBlendMode(e){if(this.blendModesMap[e]||(e="normal"),e===this.blendMode)return;this.blendMode=e;let t=this.blendModesMap[e],r=this.gl;2===t.length?r.blendFunc(t[0],t[1]):r.blendFuncSeparate(t[0],t[1],t[2],t[3]),6===t.length?(this._blendEq=!0,r.blendEquationSeparate(t[4],t[5])):this._blendEq&&(this._blendEq=!1,r.blendEquationSeparate(r.FUNC_ADD,r.FUNC_ADD))}setPolygonOffset(e,t){this.gl.polygonOffset(e,t)}reset(){this.gl.pixelStorei(this.gl.UNPACK_FLIP_Y_WEBGL,!1),this.forceState(this.defaultState),this._blendEq=!0,this.blendMode="",this.setBlendMode("normal")}_updateCheck(e,t){let r=this.checks.indexOf(e);t&&-1===r?this.checks.push(e):t||-1===r||this.checks.splice(r,1)}static _checkBlendMode(e,t){e.setBlendMode(t.blendMode)}static _checkPolygonOffset(e,t){e.setPolygonOffset(1,t.polygonOffset)}destroy(){this.gl=null,this.checks.length=0}};eo.extension={type:[o.nw.WebGLSystem],name:"state"};class e_{constructor(e){this.target=M.TEXTURE_2D,this.texture=e,this.width=-1,this.height=-1,this.type=H.UNSIGNED_BYTE,this.internalFormat=y.RGBA,this.format=y.RGBA,this.samplerType=0}}let el={id:"image",upload(e,t,r){t.width===e.width||t.height===e.height?r.texSubImage2D(r.TEXTURE_2D,0,0,0,t.format,t.type,e.resource):r.texImage2D(t.target,0,t.internalFormat,e.width,e.height,0,t.format,t.type,e.resource),t.width=e.width,t.height=e.height}},eu={"bc1-rgba-unorm":!0,"bc1-rgba-unorm-srgb":!0,"bc2-rgba-unorm":!0,"bc2-rgba-unorm-srgb":!0,"bc3-rgba-unorm":!0,"bc3-rgba-unorm-srgb":!0,"bc4-r-unorm":!0,"bc4-r-snorm":!0,"bc5-rg-unorm":!0,"bc5-rg-snorm":!0,"bc6h-rgb-ufloat":!0,"bc6h-rgb-float":!0,"bc7-rgba-unorm":!0,"bc7-rgba-unorm-srgb":!0,"etc2-rgb8unorm":!0,"etc2-rgb8unorm-srgb":!0,"etc2-rgb8a1unorm":!0,"etc2-rgb8a1unorm-srgb":!0,"etc2-rgba8unorm":!0,"etc2-rgba8unorm-srgb":!0,"eac-r11unorm":!0,"eac-r11snorm":!0,"eac-rg11unorm":!0,"eac-rg11snorm":!0,"astc-4x4-unorm":!0,"astc-4x4-unorm-srgb":!0,"astc-5x4-unorm":!0,"astc-5x4-unorm-srgb":!0,"astc-5x5-unorm":!0,"astc-5x5-unorm-srgb":!0,"astc-6x5-unorm":!0,"astc-6x5-unorm-srgb":!0,"astc-6x6-unorm":!0,"astc-6x6-unorm-srgb":!0,"astc-8x5-unorm":!0,"astc-8x5-unorm-srgb":!0,"astc-8x6-unorm":!0,"astc-8x6-unorm-srgb":!0,"astc-8x8-unorm":!0,"astc-8x8-unorm-srgb":!0,"astc-10x5-unorm":!0,"astc-10x5-unorm-srgb":!0,"astc-10x6-unorm":!0,"astc-10x6-unorm-srgb":!0,"astc-10x8-unorm":!0,"astc-10x8-unorm-srgb":!0,"astc-10x10-unorm":!0,"astc-10x10-unorm-srgb":!0,"astc-12x10-unorm":!0,"astc-12x10-unorm-srgb":!0,"astc-12x12-unorm":!0,"astc-12x12-unorm-srgb":!0},eh={id:"compressed",upload(e,t,r){r.pixelStorei(r.UNPACK_ALIGNMENT,4);let s=e.pixelWidth,n=e.pixelHeight,i=!!eu[e.format];for(let a=0;a<e.resource.length;a++){let o=e.resource[a];i?r.compressedTexImage2D(r.TEXTURE_2D,a,t.internalFormat,s,n,0,o):r.texImage2D(r.TEXTURE_2D,a,t.internalFormat,s,n,0,t.format,t.type,o),s=Math.max(s>>1,1),n=Math.max(n>>1,1)}}},ec={id:"image",upload(e,t,r,s){let n="premultiply-alpha-on-upload"===e.alphaMode;r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,n);let i=t.width,a=t.height,o=e.pixelWidth,_=e.pixelHeight,l=e.resourceWidth,u=e.resourceHeight;l<o||u<_?((i!==o||a!==_)&&r.texImage2D(t.target,0,t.internalFormat,o,_,0,t.format,t.type,null),2===s?r.texSubImage2D(r.TEXTURE_2D,0,0,0,l,u,t.format,t.type,e.resource):r.texSubImage2D(r.TEXTURE_2D,0,0,0,t.format,t.type,e.resource)):i===o||a===_?r.texSubImage2D(r.TEXTURE_2D,0,0,0,t.format,t.type,e.resource):2===s?r.texImage2D(t.target,0,t.internalFormat,o,_,0,t.format,t.type,e.resource):r.texImage2D(t.target,0,t.internalFormat,t.format,t.type,e.resource),t.width=o,t.height=_}},ed={id:"video",upload(e,t,r,s){if(!e.isValid)return void r.texImage2D(t.target,0,t.internalFormat,1,1,0,t.format,t.type,null);ec.upload(e,t,r,s)}},eE={linear:9729,nearest:9728},eg={linear:{linear:9987,nearest:9985},nearest:{linear:9986,nearest:9984}},ef={"clamp-to-edge":33071,repeat:10497,"mirror-repeat":33648},eR={never:512,less:513,equal:514,"less-equal":515,greater:516,"not-equal":517,"greater-equal":518,always:519};function eT(e,t,r,s,n,i,a,o){if(!o||"repeat"!==e.addressModeU||"repeat"!==e.addressModeV||"repeat"!==e.addressModeW){let r=ef[a?"clamp-to-edge":e.addressModeU],s=ef[a?"clamp-to-edge":e.addressModeV],o=ef[a?"clamp-to-edge":e.addressModeW];t[n](i,t.TEXTURE_WRAP_S,r),t[n](i,t.TEXTURE_WRAP_T,s),t.TEXTURE_WRAP_R&&t[n](i,t.TEXTURE_WRAP_R,o)}if(o&&"linear"===e.magFilter||t[n](i,t.TEXTURE_MAG_FILTER,eE[e.magFilter]),r){if(!o||"linear"!==e.mipmapFilter){let r=eg[e.minFilter][e.mipmapFilter];t[n](i,t.TEXTURE_MIN_FILTER,r)}}else t[n](i,t.TEXTURE_MIN_FILTER,eE[e.minFilter]);if(s&&e.maxAnisotropy>1){let r=Math.min(e.maxAnisotropy,t.getParameter(s.MAX_TEXTURE_MAX_ANISOTROPY_EXT));t[n](i,s.TEXTURE_MAX_ANISOTROPY_EXT,r)}e.compare&&t[n](i,t.TEXTURE_COMPARE_FUNC,eR[e.compare])}class em{constructor(e){this.managedTextures=[],this._glTextures=Object.create(null),this._glSamplers=Object.create(null),this._boundTextures=[],this._activeTextureLocation=-1,this._boundSamplers=Object.create(null),this._uploads={image:ec,buffer:el,video:ed,compressed:eh},this._useSeparateSamplers=!1,this._renderer=e}contextChange(e){if(this._gl=e,!this._mapFormatToInternalFormat){var t;let r,s;this._mapFormatToInternalFormat=(t=this._renderer.context.extensions,r={},s=e.RGBA,e instanceof U.z.get().getWebGLRenderingContext()?t.srgb&&(r={"rgba8unorm-srgb":t.srgb.SRGB8_ALPHA8_EXT,"bgra8unorm-srgb":t.srgb.SRGB8_ALPHA8_EXT}):(r={"rgba8unorm-srgb":e.SRGB8_ALPHA8,"bgra8unorm-srgb":e.SRGB8_ALPHA8},s=e.RGBA8),{r8unorm:e.R8,r8snorm:e.R8_SNORM,r8uint:e.R8UI,r8sint:e.R8I,r16uint:e.R16UI,r16sint:e.R16I,r16float:e.R16F,rg8unorm:e.RG8,rg8snorm:e.RG8_SNORM,rg8uint:e.RG8UI,rg8sint:e.RG8I,r32uint:e.R32UI,r32sint:e.R32I,r32float:e.R32F,rg16uint:e.RG16UI,rg16sint:e.RG16I,rg16float:e.RG16F,rgba8unorm:e.RGBA,...r,rgba8snorm:e.RGBA8_SNORM,rgba8uint:e.RGBA8UI,rgba8sint:e.RGBA8I,bgra8unorm:s,rgb9e5ufloat:e.RGB9_E5,rgb10a2unorm:e.RGB10_A2,rg11b10ufloat:e.R11F_G11F_B10F,rg32uint:e.RG32UI,rg32sint:e.RG32I,rg32float:e.RG32F,rgba16uint:e.RGBA16UI,rgba16sint:e.RGBA16I,rgba16float:e.RGBA16F,rgba32uint:e.RGBA32UI,rgba32sint:e.RGBA32I,rgba32float:e.RGBA32F,stencil8:e.STENCIL_INDEX8,depth16unorm:e.DEPTH_COMPONENT16,depth24plus:e.DEPTH_COMPONENT24,"depth24plus-stencil8":e.DEPTH24_STENCIL8,depth32float:e.DEPTH_COMPONENT32F,"depth32float-stencil8":e.DEPTH32F_STENCIL8,...t.s3tc?{"bc1-rgba-unorm":t.s3tc.COMPRESSED_RGBA_S3TC_DXT1_EXT,"bc2-rgba-unorm":t.s3tc.COMPRESSED_RGBA_S3TC_DXT3_EXT,"bc3-rgba-unorm":t.s3tc.COMPRESSED_RGBA_S3TC_DXT5_EXT}:{},...t.s3tc_sRGB?{"bc1-rgba-unorm-srgb":t.s3tc_sRGB.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,"bc2-rgba-unorm-srgb":t.s3tc_sRGB.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,"bc3-rgba-unorm-srgb":t.s3tc_sRGB.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}:{},...t.rgtc?{"bc4-r-unorm":t.rgtc.COMPRESSED_RED_RGTC1_EXT,"bc4-r-snorm":t.rgtc.COMPRESSED_SIGNED_RED_RGTC1_EXT,"bc5-rg-unorm":t.rgtc.COMPRESSED_RED_GREEN_RGTC2_EXT,"bc5-rg-snorm":t.rgtc.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}:{},...t.bptc?{"bc6h-rgb-float":t.bptc.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT,"bc6h-rgb-ufloat":t.bptc.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT,"bc7-rgba-unorm":t.bptc.COMPRESSED_RGBA_BPTC_UNORM_EXT,"bc7-rgba-unorm-srgb":t.bptc.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT}:{},...t.etc?{"etc2-rgb8unorm":t.etc.COMPRESSED_RGB8_ETC2,"etc2-rgb8unorm-srgb":t.etc.COMPRESSED_SRGB8_ETC2,"etc2-rgb8a1unorm":t.etc.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,"etc2-rgb8a1unorm-srgb":t.etc.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,"etc2-rgba8unorm":t.etc.COMPRESSED_RGBA8_ETC2_EAC,"etc2-rgba8unorm-srgb":t.etc.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,"eac-r11unorm":t.etc.COMPRESSED_R11_EAC,"eac-rg11unorm":t.etc.COMPRESSED_SIGNED_RG11_EAC}:{},...t.astc?{"astc-4x4-unorm":t.astc.COMPRESSED_RGBA_ASTC_4x4_KHR,"astc-4x4-unorm-srgb":t.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,"astc-5x4-unorm":t.astc.COMPRESSED_RGBA_ASTC_5x4_KHR,"astc-5x4-unorm-srgb":t.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR,"astc-5x5-unorm":t.astc.COMPRESSED_RGBA_ASTC_5x5_KHR,"astc-5x5-unorm-srgb":t.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,"astc-6x5-unorm":t.astc.COMPRESSED_RGBA_ASTC_6x5_KHR,"astc-6x5-unorm-srgb":t.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,"astc-6x6-unorm":t.astc.COMPRESSED_RGBA_ASTC_6x6_KHR,"astc-6x6-unorm-srgb":t.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,"astc-8x5-unorm":t.astc.COMPRESSED_RGBA_ASTC_8x5_KHR,"astc-8x5-unorm-srgb":t.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,"astc-8x6-unorm":t.astc.COMPRESSED_RGBA_ASTC_8x6_KHR,"astc-8x6-unorm-srgb":t.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,"astc-8x8-unorm":t.astc.COMPRESSED_RGBA_ASTC_8x8_KHR,"astc-8x8-unorm-srgb":t.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,"astc-10x5-unorm":t.astc.COMPRESSED_RGBA_ASTC_10x5_KHR,"astc-10x5-unorm-srgb":t.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,"astc-10x6-unorm":t.astc.COMPRESSED_RGBA_ASTC_10x6_KHR,"astc-10x6-unorm-srgb":t.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,"astc-10x8-unorm":t.astc.COMPRESSED_RGBA_ASTC_10x8_KHR,"astc-10x8-unorm-srgb":t.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,"astc-10x10-unorm":t.astc.COMPRESSED_RGBA_ASTC_10x10_KHR,"astc-10x10-unorm-srgb":t.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,"astc-12x10-unorm":t.astc.COMPRESSED_RGBA_ASTC_12x10_KHR,"astc-12x10-unorm-srgb":t.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,"astc-12x12-unorm":t.astc.COMPRESSED_RGBA_ASTC_12x12_KHR,"astc-12x12-unorm-srgb":t.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR}:{}}),this._mapFormatToType={r8unorm:e.UNSIGNED_BYTE,r8snorm:e.BYTE,r8uint:e.UNSIGNED_BYTE,r8sint:e.BYTE,r16uint:e.UNSIGNED_SHORT,r16sint:e.SHORT,r16float:e.HALF_FLOAT,rg8unorm:e.UNSIGNED_BYTE,rg8snorm:e.BYTE,rg8uint:e.UNSIGNED_BYTE,rg8sint:e.BYTE,r32uint:e.UNSIGNED_INT,r32sint:e.INT,r32float:e.FLOAT,rg16uint:e.UNSIGNED_SHORT,rg16sint:e.SHORT,rg16float:e.HALF_FLOAT,rgba8unorm:e.UNSIGNED_BYTE,"rgba8unorm-srgb":e.UNSIGNED_BYTE,rgba8snorm:e.BYTE,rgba8uint:e.UNSIGNED_BYTE,rgba8sint:e.BYTE,bgra8unorm:e.UNSIGNED_BYTE,"bgra8unorm-srgb":e.UNSIGNED_BYTE,rgb9e5ufloat:e.UNSIGNED_INT_5_9_9_9_REV,rgb10a2unorm:e.UNSIGNED_INT_2_10_10_10_REV,rg11b10ufloat:e.UNSIGNED_INT_10F_11F_11F_REV,rg32uint:e.UNSIGNED_INT,rg32sint:e.INT,rg32float:e.FLOAT,rgba16uint:e.UNSIGNED_SHORT,rgba16sint:e.SHORT,rgba16float:e.HALF_FLOAT,rgba32uint:e.UNSIGNED_INT,rgba32sint:e.INT,rgba32float:e.FLOAT,stencil8:e.UNSIGNED_BYTE,depth16unorm:e.UNSIGNED_SHORT,depth24plus:e.UNSIGNED_INT,"depth24plus-stencil8":e.UNSIGNED_INT_24_8,depth32float:e.FLOAT,"depth32float-stencil8":e.FLOAT_32_UNSIGNED_INT_24_8_REV},this._mapFormatToFormat={r8unorm:e.RED,r8snorm:e.RED,r8uint:e.RED,r8sint:e.RED,r16uint:e.RED,r16sint:e.RED,r16float:e.RED,rg8unorm:e.RG,rg8snorm:e.RG,rg8uint:e.RG,rg8sint:e.RG,r32uint:e.RED,r32sint:e.RED,r32float:e.RED,rg16uint:e.RG,rg16sint:e.RG,rg16float:e.RG,rgba8unorm:e.RGBA,"rgba8unorm-srgb":e.RGBA,rgba8snorm:e.RGBA,rgba8uint:e.RGBA,rgba8sint:e.RGBA,bgra8unorm:e.RGBA,"bgra8unorm-srgb":e.RGBA,rgb9e5ufloat:e.RGB,rgb10a2unorm:e.RGBA,rg11b10ufloat:e.RGB,rg32uint:e.RG,rg32sint:e.RG,rg32float:e.RG,rgba16uint:e.RGBA,rgba16sint:e.RGBA,rgba16float:e.RGBA,rgba32uint:e.RGBA,rgba32sint:e.RGBA,rgba32float:e.RGBA,stencil8:e.STENCIL_INDEX8,depth16unorm:e.DEPTH_COMPONENT,depth24plus:e.DEPTH_COMPONENT,"depth24plus-stencil8":e.DEPTH_STENCIL,depth32float:e.DEPTH_COMPONENT,"depth32float-stencil8":e.DEPTH_STENCIL}}this._glTextures=Object.create(null),this._glSamplers=Object.create(null),this._boundSamplers=Object.create(null);for(let e=0;e<16;e++)this.bind(b.x.EMPTY,e)}initSource(e){this.bind(e)}bind(e,t=0){let r=e.source;e?(this.bindSource(r,t),this._useSeparateSamplers&&this._bindSampler(r.style,t)):(this.bindSource(null,t),this._useSeparateSamplers&&this._bindSampler(null,t))}bindSource(e,t=0){let r=this._gl;if(e._touched=this._renderer.textureGC.count,this._boundTextures[t]!==e){this._boundTextures[t]=e,this._activateLocation(t),e=e||b.x.EMPTY.source;let s=this.getGlSource(e);r.bindTexture(s.target,s.texture)}}_bindSampler(e,t=0){let r=this._gl;if(!e){this._boundSamplers[t]=null,r.bindSampler(t,null);return}let s=this._getGlSampler(e);this._boundSamplers[t]!==s&&(this._boundSamplers[t]=s,r.bindSampler(t,s))}unbind(e){let t=e.source,r=this._boundTextures,s=this._gl;for(let e=0;e<r.length;e++)if(r[e]===t){this._activateLocation(e);let n=this.getGlSource(t);s.bindTexture(n.target,null),r[e]=null}}_activateLocation(e){this._activeTextureLocation!==e&&(this._activeTextureLocation=e,this._gl.activeTexture(this._gl.TEXTURE0+e))}_initSource(e){let t=new e_(this._gl.createTexture());if(t.type=this._mapFormatToType[e.format],t.internalFormat=this._mapFormatToInternalFormat[e.format],t.format=this._mapFormatToFormat[e.format],e.autoGenerateMipmaps&&(this._renderer.context.supports.nonPowOf2mipmaps||e.isPowerOfTwo)){let t=Math.max(e.width,e.height);e.mipLevelCount=Math.floor(Math.log2(t))+1}return this._glTextures[e.uid]=t,this.managedTextures.includes(e)||(e.on("update",this.onSourceUpdate,this),e.on("resize",this.onSourceUpdate,this),e.on("styleChange",this.onStyleChange,this),e.on("destroy",this.onSourceDestroy,this),e.on("unload",this.onSourceUnload,this),e.on("updateMipmaps",this.onUpdateMipmaps,this),this.managedTextures.push(e)),this.onSourceUpdate(e),this.updateStyle(e,!1),t}onStyleChange(e){this.updateStyle(e,!1)}updateStyle(e,t){let r=this._gl,s=this.getGlSource(e);r.bindTexture(r.TEXTURE_2D,s.texture),this._boundTextures[this._activeTextureLocation]=e,eT(e.style,r,e.mipLevelCount>1,this._renderer.context.extensions.anisotropicFiltering,"texParameteri",r.TEXTURE_2D,!this._renderer.context.supports.nonPowOf2wrapping&&!e.isPowerOfTwo,t)}onSourceUnload(e){let t=this._glTextures[e.uid];t&&(this.unbind(e),this._glTextures[e.uid]=null,this._gl.deleteTexture(t.texture))}onSourceUpdate(e){let t=this._gl,r=this.getGlSource(e);t.bindTexture(t.TEXTURE_2D,r.texture),this._boundTextures[this._activeTextureLocation]=e,this._uploads[e.uploadMethodId]?this._uploads[e.uploadMethodId].upload(e,r,t,this._renderer.context.webGLVersion):t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e.pixelWidth,e.pixelHeight,0,t.RGBA,t.UNSIGNED_BYTE,null),e.autoGenerateMipmaps&&e.mipLevelCount>1&&this.onUpdateMipmaps(e,!1)}onUpdateMipmaps(e,t=!0){t&&this.bindSource(e,0);let r=this.getGlSource(e);this._gl.generateMipmap(r.target)}onSourceDestroy(e){e.off("destroy",this.onSourceDestroy,this),e.off("update",this.onSourceUpdate,this),e.off("resize",this.onSourceUpdate,this),e.off("unload",this.onSourceUnload,this),e.off("styleChange",this.onStyleChange,this),e.off("updateMipmaps",this.onUpdateMipmaps,this),this.managedTextures.splice(this.managedTextures.indexOf(e),1),this.onSourceUnload(e)}_initSampler(e){let t=this._gl,r=this._gl.createSampler();return this._glSamplers[e._resourceId]=r,eT(e,t,this._boundTextures[this._activeTextureLocation].mipLevelCount>1,this._renderer.context.extensions.anisotropicFiltering,"samplerParameteri",r,!1,!0),this._glSamplers[e._resourceId]}_getGlSampler(e){return this._glSamplers[e._resourceId]||this._initSampler(e)}getGlSource(e){return this._glTextures[e.uid]||this._initSource(e)}generateCanvas(e){let{pixels:t,width:r,height:s}=this.getPixels(e),n=U.z.get().createCanvas();n.width=r,n.height=s;let i=n.getContext("2d");if(i){let e=i.createImageData(r,s);e.data.set(t),i.putImageData(e,0,0)}return n}getPixels(e){let t=e.source.resolution,r=e.frame,s=Math.max(Math.round(r.width*t),1),n=Math.max(Math.round(r.height*t),1),i=new Uint8Array(4*s*n),a=this._renderer,o=a.renderTarget.getRenderTarget(e),_=a.renderTarget.getGpuRenderTarget(o),l=a.gl;return l.bindFramebuffer(l.FRAMEBUFFER,_.resolveTargetFramebuffer),l.readPixels(Math.round(r.x*t),Math.round(r.y*t),s,n,l.RGBA,l.UNSIGNED_BYTE,i),{pixels:new Uint8ClampedArray(i.buffer),width:s,height:n}}destroy(){this.managedTextures.slice().forEach(e=>this.onSourceDestroy(e)),this.managedTextures=null,this._renderer=null}}em.extension={type:[o.nw.WebGLSystem],name:"texture"};let eb=[...N.N,$.S,K,F,O,em,en,X,ea.V,ei.S,z,eo,Q,j],ex=[...N.U],eS=[A,S,T],ep=[],eA=[],eB=[];o.Rw.handleByNamedList(o.nw.WebGLSystem,ep),o.Rw.handleByNamedList(o.nw.WebGLPipes,eA),o.Rw.handleByNamedList(o.nw.WebGLPipesAdaptor,eB),o.Rw.add(...eb,...ex,...eS);class eN extends B.I{constructor(){super({name:"webgl",type:G.g.WEBGL,systems:ep,renderPipes:eA,renderPipeAdaptors:eB})}}},17094:function(e,t,r){r.d(t,{y:()=>a});var s=r(29465),n=r(73109);let i=new Int32Array(s.A);for(let e=0;e<s.A;e++)i[e]=e;let a=new n.o({uTextures:{value:i,type:"i32",size:s.A}},{isStatic:!0})}}]);
|
|
21
|
-
//# sourceMappingURL=582.5dccae2d.js.map
|