@luma.gl/gltf 9.0.0-alpha.54 → 9.0.0-beta.10

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.
Files changed (38) hide show
  1. package/dist/dist.dev.js +3643 -15000
  2. package/dist/dist.min.js +393 -0
  3. package/dist/gltf/create-gltf-model.d.ts +1 -1
  4. package/dist/gltf/create-gltf-model.d.ts.map +1 -1
  5. package/dist/gltf/create-gltf-model.js +34 -51
  6. package/dist/gltf/create-gltf-objects.d.ts +2 -2
  7. package/dist/gltf/create-gltf-objects.d.ts.map +1 -1
  8. package/dist/gltf/create-gltf-objects.js +4 -8
  9. package/dist/gltf/gltf-animator.d.ts.map +1 -1
  10. package/dist/gltf/gltf-animator.js +167 -202
  11. package/dist/gltf/gltf-instantiator.d.ts +3 -4
  12. package/dist/gltf/gltf-instantiator.d.ts.map +1 -1
  13. package/dist/gltf/gltf-instantiator.js +170 -161
  14. package/dist/index.cjs +62 -63
  15. package/dist/index.cjs.map +7 -0
  16. package/dist/index.d.ts +6 -6
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +2 -1
  19. package/dist/pbr/parse-pbr-material.d.ts +1 -1
  20. package/dist/pbr/parse-pbr-material.d.ts.map +1 -1
  21. package/dist/pbr/parse-pbr-material.js +320 -135
  22. package/dist/pbr/pbr-environment.d.ts.map +1 -1
  23. package/dist/pbr/pbr-environment.js +56 -59
  24. package/dist.min.js +4 -1215
  25. package/package.json +14 -15
  26. package/src/gltf/create-gltf-model.ts +4 -4
  27. package/src/gltf/gltf-animator.ts +3 -3
  28. package/src/gltf/gltf-instantiator.ts +45 -30
  29. package/src/index.ts +0 -1
  30. package/src/pbr/parse-pbr-material.ts +15 -12
  31. package/src/pbr/pbr-environment.ts +18 -11
  32. package/dist/gltf/create-gltf-model.js.map +0 -1
  33. package/dist/gltf/create-gltf-objects.js.map +0 -1
  34. package/dist/gltf/gltf-animator.js.map +0 -1
  35. package/dist/gltf/gltf-instantiator.js.map +0 -1
  36. package/dist/index.js.map +0 -1
  37. package/dist/pbr/parse-pbr-material.js.map +0 -1
  38. package/dist/pbr/pbr-environment.js.map +0 -1
package/dist.min.js CHANGED
@@ -4,1217 +4,7 @@
4
4
  else if (typeof define === 'function' && define.amd) define([], factory);
5
5
  else if (typeof exports === 'object') exports['luma'] = factory();
6
6
  else root['luma'] = factory();})(globalThis, function () {
7
- var __exports__=(()=>{var fi=Object.defineProperty;var x_=Object.getOwnPropertyDescriptor;var C_=Object.getOwnPropertyNames;var F_=Object.prototype.hasOwnProperty;var B_=(e,t)=>{for(var r in t)fi(e,r,{get:t[r],enumerable:!0})},D_=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of C_(t))!F_.call(e,o)&&o!==r&&fi(e,o,{get:()=>t[o],enumerable:!(n=x_(t,o))||n.enumerable});return e};var U_=e=>D_(fi({},"__esModule",{value:!0}),e);var mI={};B_(mI,{GLTFAnimator:()=>ii,createScenegraphsFromGLTF:()=>M_,loadPBREnvironment:()=>zc,parsePBRMaterial:()=>co});function ur(e){if(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&Boolean(process.versions.electron))return!0;let t=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,r=e||t;return!!(r&&r.indexOf("Electron")>=0)}function re(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||ur()}var L_=globalThis.self||globalThis.window||globalThis.global,ht=globalThis.window||globalThis.self||globalThis.global,j_=globalThis.document||{},ot=globalThis.process||{},H_=globalThis.console,Sf=globalThis.navigator||{};var Nn=typeof __VERSION__<"u"?__VERSION__:"untranspiled source",TI=re();var si=globalThis;function wn(e){if(!e&&!re())return"Node";if(ur(e))return"Electron";let t=e||Sf.userAgent||"";if(t.indexOf("Edge")>-1)return"Edge";let r=t.indexOf("MSIE ")!==-1,n=t.indexOf("Trident/")!==-1;return r||n?"IE":si.chrome?"Chrome":si.safari?"Safari":si.mozInnerScreenX?"Firefox":"Unknown"}function V_(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var Mn=class{constructor(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";this.storage=void 0,this.id=void 0,this.config=void 0,this.storage=V_(n),this.id=t,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){if(Object.assign(this.config,t),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let t={};if(this.storage){let r=this.storage.getItem(this.id);t=r?JSON.parse(r):{}}return Object.assign(this.config,t),this}};function Tf(e){let t;return e<10?t="".concat(e.toFixed(2),"ms"):e<100?t="".concat(e.toFixed(1),"ms"):e<1e3?t="".concat(e.toFixed(0),"ms"):t="".concat((e/1e3).toFixed(2),"s"),t}function Rf(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(t-e.length,0);return"".concat(" ".repeat(r)).concat(e)}function xn(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,o=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(r=Math.min(r,n/e.width));let i=e.width*r,a=e.height*r,s=["font-size:1px;","padding:".concat(Math.floor(a/2),"px ").concat(Math.floor(i/2),"px;"),"line-height:".concat(a,"px;"),"background:url(".concat(o,");"),"background-size:".concat(i,"px ").concat(a,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),s]}var Cn;(function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(Cn||(Cn={}));var X_=10;function Of(e){return typeof e!="string"?e:(e=e.toUpperCase(),Cn[e]||Cn.WHITE)}function Pf(e,t,r){if(!re&&typeof e=="string"){if(t){let n=Of(t);e="\x1B[".concat(n,"m").concat(e,"\x1B[39m")}if(r){let n=Of(r);e="\x1B[".concat(n+X_,"m").concat(e,"\x1B[49m")}}return e}function If(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(r),o=e;for(let i of n){let a=o[i];typeof a=="function"&&(t.find(s=>i===s)||(o[i]=a.bind(e)))}}function dt(e,t){if(!e)throw new Error(t||"Assertion failed")}function it(){let e;if(re()&&ht.performance){var t,r;e=ht===null||ht===void 0||(t=ht.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if("hrtime"in ot){var n;let o=ot===null||ot===void 0||(n=ot.hrtime)===null||n===void 0?void 0:n.call(ot);e=o[0]*1e3+o[1]/1e6}else e=Date.now();return e}var _t={debug:re()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},W_={enabled:!0,level:0};function Se(){}var Nf={},wf={once:!0},Ge=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};this.id=void 0,this.VERSION=Nn,this._startTs=it(),this._deltaTs=it(),this._storage=void 0,this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new Mn("__probe-".concat(this.id,"__"),W_),this.timeStamp("".concat(this.id," started")),If(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((it()-this._startTs).toPrecision(10))}getDelta(){return Number((it()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:t}),this}setLevel(t){return this._storage.setConfiguration({level:t}),this}get(t){return this._storage.config[t]}set(t,r){this._storage.setConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){dt(t,r)}warn(t){return this._getLogFunction(0,t,_t.warn,arguments,wf)}error(t){return this._getLogFunction(0,t,_t.error,arguments)}deprecated(t,r){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(r,"` instead"))}removed(t,r){return this.error("`".concat(t,"` has been removed. Use `").concat(r,"` instead"))}probe(t,r){return this._getLogFunction(t,r,_t.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,_t.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,_t.debug||_t.info,arguments,wf)}table(t,r,n){return r?this._getLogFunction(t,r,console.table||Se,n&&[n],{tag:Y_(r)}):Se}image(t){let{logLevel:r,priority:n,image:o,message:i="",scale:a=1}=t;return this._shouldLog(r||n)?re()?k_({image:o,message:i,scale:a}):K_({image:o,message:i,scale:a}):Se}time(t,r){return this._getLogFunction(t,r,console.time?console.time:console.info)}timeEnd(t,r){return this._getLogFunction(t,r,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,r){return this._getLogFunction(t,r,console.timeStamp||Se)}group(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},o=Mf({logLevel:t,message:r,opts:n}),{collapsed:i}=n;return o.method=(i?console.groupCollapsed:console.group)||console.info,this._getLogFunction(o)}groupCollapsed(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(t,r,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||Se)}withGroup(t,r,n){this.group(t,r)();try{n()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=xf(t)}_getLogFunction(t,r,n,o,i){if(this._shouldLog(t)){i=Mf({logLevel:t,message:r,args:o,opts:i}),n=n||i.method,dt(n),i.total=this.getTotal(),i.delta=this.getDelta(),this._deltaTs=it();let a=i.tag||i.message;if(i.once&&a)if(!Nf[a])Nf[a]=it();else return Se;return r=G_(this.id,i.message,i),n.bind(console,r,...i.args)}return Se}};Ge.VERSION=Nn;function xf(e){if(!e)return 0;let t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return dt(Number.isFinite(t)&&t>=0),t}function Mf(e){let{logLevel:t,message:r}=e;e.logLevel=xf(t);let n=e.args?Array.from(e.args):[];for(;n.length&&n.shift()!==r;);switch(typeof t){case"string":case"function":r!==void 0&&n.unshift(r),e.message=t;break;case"object":Object.assign(e,t);break;default:}typeof e.message=="function"&&(e.message=e.message());let o=typeof e.message;return dt(o==="string"||o==="object"),Object.assign(e,{args:n},e.opts)}function G_(e,t,r){if(typeof t=="string"){let n=r.time?Rf(Tf(r.total)):"";t=r.time?"".concat(e,": ").concat(n," ").concat(t):"".concat(e,": ").concat(t),t=Pf(t,r.color,r.background)}return t}function K_(e){let{image:t,message:r="",scale:n=1}=e;return console.warn("removed"),Se}function k_(e){let{image:t,message:r="",scale:n=1}=e;if(typeof t=="string"){let i=new Image;return i.onload=()=>{let a=xn(i,r,n);console.log(...a)},i.src=t,Se}let o=t.nodeName||"";if(o.toLowerCase()==="img")return console.log(...xn(t,r,n)),Se;if(o.toLowerCase()==="canvas"){let i=new Image;return i.onload=()=>console.log(...xn(i,r,n)),i.src=t.toDataURL(),Se}return Se}function Y_(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}var tN=new Ge({id:"@probe.gl/log"});var x=new Ge({id:"luma.gl"});function lr(){let e;if(typeof window<"u"&&window.performance)e=window.performance.now();else if(typeof process<"u"&&process.hrtime){let t=process.hrtime();e=t[0]*1e3+t[1]/1e6}else e=Date.now();return e}var at=class{constructor(t,r){this.name=void 0,this.type=void 0,this.sampleSize=1,this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this.name=t,this.type=r,this.reset()}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}setSampleSize(t){return this.sampleSize=t,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(t){return this._count+=t,this._samples++,this._checkSampling(),this}subtractCount(t){return this._count-=t,this._samples++,this._checkSampling(),this}addTime(t){return this._time+=t,this.lastTiming=t,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=lr(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(lr()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}};var yt=class{constructor(t){this.id=void 0,this.stats={},this.id=t.id,this.stats={},this._initializeStats(t.stats),Object.seal(this)}get(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"count";return this._getOrCreate({name:t,type:r})}get size(){return Object.keys(this.stats).length}reset(){for(let t of Object.values(this.stats))t.reset();return this}forEach(t){for(let r of Object.values(this.stats))t(r)}getTable(){let t={};return this.forEach(r=>{t[r.name]={time:r.time||0,count:r.count||0,average:r.getAverageTime()||0,hz:r.getHz()||0}}),t}_initializeStats(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).forEach(r=>this._getOrCreate(r))}_getOrCreate(t){let{name:r,type:n}=t,o=this.stats[r];return o||(t instanceof at?o=t:o=new at(r,n),this.stats[r]=o),o}};function pr(e){return pr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},pr(e)}function Cf(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,q_(n.key),n)}}function z_(e,t,r){return t&&Cf(e.prototype,t),r&&Cf(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function q_(e){var t=Z_(e,"string");return pr(t)==="symbol"?t:String(t)}function Z_(e,t){if(pr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(pr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function $_(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var Q_=function(){function e(){$_(this,e),this.stats=new Map}var t=e.prototype;return t.getStats=function(n){return this.get(n)},t.get=function(n){return this.stats.has(n)||this.stats.set(n,new yt({id:n})),this.stats.get(n)},z_(e)}(),Fn=new Q_;function J_(){var e=typeof __VERSION__<"u"?__VERSION__:"running from source",t="set luma.log.level=1 (or higher) to trace rendering";if(globalThis.luma&&globalThis.luma.VERSION!==e)throw new Error("luma.gl - multiple VERSIONs detected: ".concat(globalThis.luma.VERSION," vs ").concat(e));return globalThis.luma||(re()&&x.log(1,"".concat(e," - ").concat(t))(),globalThis.luma=globalThis.luma||{VERSION:e,version:e,log:x,stats:Fn}),e}var Ff=J_();function ey(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)?e:null}function Ke(e){return Array.isArray(e)?e.length===0||typeof e[0]=="number"?e:null:ey(e)}var ci={};function ce(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"id";ci[e]=ci[e]||1;var t=ci[e]++;return"".concat(e,"-").concat(t)}function Bn(e){return e>0&&(e&e-1)===0}function hr(e){var t=!0;for(var r in e){t=!1;break}return t}function dr(e){return dr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},dr(e)}function Bf(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function ty(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Bf(Object(r),!0).forEach(function(n){ry(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Bf(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function ry(e,t,r){return t=Uf(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Df(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Uf(n.key),n)}}function ny(e,t,r){return t&&Df(e.prototype,t),r&&Df(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Uf(e){var t=oy(e,"string");return dr(t)==="symbol"?t:String(t)}function oy(e,t){if(dr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(dr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function iy(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var z=function(){function e(r,n,o){if(iy(this,e),this.id=void 0,this.props=void 0,this.userData={},this.device=void 0,this._device=void 0,this.destroyed=!1,this.allocatedBytes=0,this._attachedResources=new Set,!r)throw new Error("no device");this._device=r,this.props=ay(n,o);var i=this.props.id!=="undefined"?this.props.id:ce(this[Symbol.toStringTag]);this.props.id=i,this.id=i,this.userData=this.props.userData||{},this.addStats()}var t=e.prototype;return t.destroy=function(){this.destroyResource()},t.delete=function(){return this.destroy(),this},t.toString=function(){return"".concat(this[Symbol.toStringTag]||this.constructor.name,"(").concat(this.id,")")},t.getProps=function(){return this.props},t.attachResource=function(n){this._attachedResources.add(n)},t.detachResource=function(n){this._attachedResources.delete(n)},t.destroyAttachedResource=function(n){this._attachedResources.delete(n)&&n.destroy()},t.destroyAttachedResources=function(){for(var n=0,o=Object.values(this._attachedResources);n<o.length;n++){var i=o[n];i.destroy()}this._attachedResources=new Set},t.destroyResource=function(){this.destroyAttachedResources(),this.removeStats(),this.destroyed=!0},t.removeStats=function(){var n=this._device.statsManager.getStats("Resource Counts"),o=this[Symbol.toStringTag];n.get("".concat(o,"s Active")).decrementCount()},t.trackAllocatedMemory=function(n){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this[Symbol.toStringTag],i=this._device.statsManager.getStats("Resource Counts");i.get("GPU Memory").addCount(n),i.get("".concat(o," Memory")).addCount(n),this.allocatedBytes=n},t.trackDeallocatedMemory=function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this[Symbol.toStringTag],o=this._device.statsManager.getStats("Resource Counts");o.get("GPU Memory").subtractCount(this.allocatedBytes),o.get("".concat(n," Memory")).subtractCount(this.allocatedBytes),this.allocatedBytes=0},t.addStats=function(){var n=this._device.statsManager.getStats("Resource Counts"),o=this[Symbol.toStringTag];n.get("Resources Created").incrementCount(),n.get("".concat(o,"s Created")).incrementCount(),n.get("".concat(o,"s Active")).incrementCount()},ny(e)}();z.defaultProps={id:"undefined",handle:void 0,userData:void 0};function ay(e,t){var r=ty({},t);for(var n in e)e[n]!==void 0&&(r[n]=e[n]);return r}function mt(e){return mt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},mt(e)}var Hf;function Lf(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function ui(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Lf(Object(r),!0).forEach(function(n){fy(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Lf(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function fy(e,t,r){return t=Vf(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function sy(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function jf(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Vf(n.key),n)}}function cy(e,t,r){return t&&jf(e.prototype,t),r&&jf(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Vf(e){var t=uy(e,"string");return mt(t)==="symbol"?t:String(t)}function uy(e,t){if(mt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(mt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ly(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&li(e,t)}function li(e,t){return li=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},li(e,t)}function py(e){var t=_y();return function(){var n=Dn(e),o;if(t){var i=Dn(this).constructor;o=Reflect.construct(n,arguments,i)}else o=n.apply(this,arguments);return hy(this,o)}}function hy(e,t){if(t&&(mt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return dy(e)}function dy(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _y(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Dn(e){return Dn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Dn(e)}Hf=Symbol.toStringTag;var Q=function(e){ly(r,e);var t=py(r);function r(o,i){var a;sy(this,r);var s=ui({},i);return(i.usage||0)&r.INDEX&&!i.indexType&&(i.data instanceof Uint32Array?s.indexType="uint32":i.data instanceof Uint16Array&&(s.indexType="uint16")),a=t.call(this,o,s,r.defaultProps),a.usage=void 0,a.indexType=void 0,a.byteLength=void 0,a.debugData=new ArrayBuffer(0),a.usage=i.usage||0,a.indexType=s.indexType,a}var n=r.prototype;return n.readSyncWebGL2=function(i,a){throw new Error("not implemented")},n._setDebugData=function(i,a,s){var f=ArrayBuffer.isView(i)?i.buffer:i,u=Math.min(i?i.byteLength:s,r.DEBUG_DATA_MAX_LENGTH);i===null?this.debugData=new ArrayBuffer(u):a===0&&s===i.byteLength?this.debugData=f.slice(0,u):this.debugData=f.slice(a,a+u)},cy(r,[{key:Hf,get:function(){return"Buffer"}}]),r}(z);Q.defaultProps=ui(ui({},z.defaultProps),{},{usage:0,byteLength:0,byteOffset:0,data:null,indexType:"uint16",mappedAtCreation:!1});Q.MAP_READ=1;Q.MAP_WRITE=2;Q.COPY_SRC=4;Q.COPY_DST=8;Q.INDEX=16;Q.VERTEX=32;Q.UNIFORM=64;Q.STORAGE=128;Q.INDIRECT=256;Q.QUERY_RESOLVE=512;Q.DEBUG_DATA_MAX_LENGTH=32;function _r(e){return _r=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_r(e)}var Gf;function Xf(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function pi(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Xf(Object(r),!0).forEach(function(n){yy(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Xf(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function yy(e,t,r){return t=Kf(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function my(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Wf(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Kf(n.key),n)}}function gy(e,t,r){return t&&Wf(e.prototype,t),r&&Wf(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Kf(e){var t=vy(e,"string");return _r(t)==="symbol"?t:String(t)}function vy(e,t){if(_r(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(_r(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}Gf=Symbol.toStringTag;var gt=function(){function e(r){my(this,e),this.id=void 0,this.statsManager=Fn,this.props=void 0,this.userData={},this._lumaData={},this.info=void 0,this.lost=void 0,this.canvasContext=void 0,this.props=pi(pi({},e.defaultProps),r),this.id=this.props.id||ce(this[Symbol.toStringTag].toLowerCase())}var t=e.prototype;return t.loseDevice=function(){return!1},t.getCanvasContext=function(){if(!this.canvasContext)throw new Error("Device has no CanvasContext");return this.canvasContext},t.createTexture=function(n){return(n instanceof Promise||typeof n=="string")&&(n={data:n}),this._createTexture(n)},t.createCommandEncoder=function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};throw new Error("not implemented")},t._getBufferProps=function(n){(n instanceof ArrayBuffer||ArrayBuffer.isView(n))&&(n={data:n});var o=pi({},n);return(n.usage||0)&Q.INDEX&&!n.indexType&&(n.data instanceof Uint32Array?o.indexType="uint32":n.data instanceof Uint16Array?o.indexType="uint16":x.warn("indices buffer content must be of integer type")()),o},gy(e,[{key:Gf,get:function(){return"Device"}}]),e}();gt.defaultProps={id:null,type:"best-available",canvas:null,container:null,webgl2:!0,webgl1:!0,manageState:!0,width:800,height:600,debug:Boolean(x.get("debug")),break:[],gl:null};gt.VERSION=Ff;function K(e,t){if(!e)throw new Error(t||"luma.gl: assertion failed.")}function yr(e){return yr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},yr(e)}function Un(e,t){return Ay(e)||Ey(e,t)||Qf(e,t)||by()}function by(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
8
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ey(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,a,s=[],f=!0,u=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);f=!0);}catch(d){u=!0,o=d}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}function Ay(e){if(Array.isArray(e))return e}function Sy(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Qf(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(u){throw u},f:o}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
9
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,a=!1,s;return{s:function(){r=r.call(e)},n:function(){var u=r.next();return i=u.done,u},e:function(u){a=!0,s=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(a)throw s}}}}function Qf(e,t){if(e){if(typeof e=="string")return kf(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return kf(e,t)}}function kf(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Yf(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function zf(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Yf(Object(r),!0).forEach(function(n){Ty(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Yf(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Ty(e,t,r){return t=Jf(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ry(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function qf(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Jf(n.key),n)}}function Oy(e,t,r){return t&&qf(e.prototype,t),r&&qf(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Jf(e){var t=Py(e,"string");return yr(t)==="symbol"?t:String(t)}function Py(e,t){if(yr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(yr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Iy=re()&&typeof document<"u",Ln=function(){return Iy&&document.readyState==="complete"},Ny={canvas:null,width:800,height:600,useDevicePixels:!0,autoResize:!0,container:null,visible:!0,colorSpace:"srgb",alphaMode:"opaque"},vt=function(){function e(r){var n=this;if(Ry(this,e),this.device=void 0,this.id=void 0,this.props=void 0,this.canvas=void 0,this.htmlCanvas=void 0,this.offscreenCanvas=void 0,this.type=void 0,this.width=1,this.height=1,this.resizeObserver=void 0,this._canvasSizeInfo={clientWidth:0,clientHeight:0,devicePixelRatio:1},this.props=zf(zf({},Ny),r),r=this.props,!re()){this.id="node-canvas-context",this.type="node",this.width=this.props.width,this.height=this.props.height,this.canvas=null;return}if(r.canvas)typeof r.canvas=="string"?this.canvas=xy(r.canvas):this.canvas=r.canvas;else{var o,i,a=Cy(r),s=My(((o=r)===null||o===void 0?void 0:o.container)||null);s.insertBefore(a,s.firstChild),this.canvas=a,(i=r)!==null&&i!==void 0&&i.visible||(this.canvas.style.visibility="hidden")}this.canvas instanceof HTMLCanvasElement?(this.id=this.canvas.id,this.type="html-canvas",this.htmlCanvas=this.canvas):(this.id="offscreen-canvas",this.type="offscreen-canvas",this.offscreenCanvas=this.canvas),this.canvas instanceof HTMLCanvasElement&&r.autoResize&&(this.resizeObserver=new ResizeObserver(function(f){var u=Sy(f),d;try{for(u.s();!(d=u.n()).done;){var m=d.value;m.target===n.canvas&&n.update()}}catch(v){u.e(v)}finally{u.f()}}),this.resizeObserver.observe(this.canvas))}var t=e.prototype;return t.getDevicePixelRatio=function(n){if(typeof OffscreenCanvas<"u"&&this.canvas instanceof OffscreenCanvas||(n=n===void 0?this.props.useDevicePixels:n,!n||n<=0))return 1;if(n===!0){var o=typeof window<"u"&&window.devicePixelRatio;return o||1}return n},t.getPixelSize=function(){switch(this.type){case"node":return[this.width,this.height];case"offscreen-canvas":return[this.canvas.width,this.canvas.height];case"html-canvas":var n=this.getDevicePixelRatio(),o=this.canvas;return o.parentElement?[o.clientWidth*n,o.clientHeight*n]:[this.canvas.width,this.canvas.height];default:throw new Error(this.type)}},t.getAspect=function(){var n=this.getPixelSize(),o=Un(n,2),i=o[0],a=o[1];return i/a},t.cssToDeviceRatio=function(){try{var n=this.getDrawingBufferSize(),o=Un(n,1),i=o[0],a=this._canvasSizeInfo.clientWidth;return a?i/a:1}catch{return 1}},t.cssToDevicePixels=function(n){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,i=this.cssToDeviceRatio(),a=this.getDrawingBufferSize(),s=Un(a,2),f=s[0],u=s[1];return Fy(n,i,f,u,o)},t.setDevicePixelRatio=function(n){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.htmlCanvas){var i="width"in o?o.width:this.htmlCanvas.clientWidth,a="height"in o?o.height:this.htmlCanvas.clientHeight;(!i||!a)&&(x.log(1,"Canvas clientWidth/clientHeight is 0")(),n=1,i=this.htmlCanvas.width||1,a=this.htmlCanvas.height||1);var s=this._canvasSizeInfo;if(s.clientWidth!==i||s.clientHeight!==a||s.devicePixelRatio!==n){var f=n,u=Math.floor(i*f),d=Math.floor(a*f);this.htmlCanvas.width=u,this.htmlCanvas.height=d;var m=this.getDrawingBufferSize(),v=Un(m,2),E=v[0],A=v[1];(E!==u||A!==d)&&(f=Math.min(E/i,A/a),this.htmlCanvas.width=Math.floor(i*f),this.htmlCanvas.height=Math.floor(a*f),x.warn("Device pixel ratio clamped")()),this._canvasSizeInfo.clientWidth=i,this._canvasSizeInfo.clientHeight=a,this._canvasSizeInfo.devicePixelRatio=n}}},t.getDrawingBufferSize=function(){var n=this.device.gl;if(!n)throw new Error("canvas size");return[n.drawingBufferWidth,n.drawingBufferHeight]},t._setAutoCreatedCanvasId=function(n){var o;((o=this.htmlCanvas)===null||o===void 0?void 0:o.id)==="lumagl-auto-created-canvas"&&(this.htmlCanvas.id=n)},Oy(e,null,[{key:"isPageLoaded",get:function(){return Ln()}}]),e}();vt.pageLoaded=wy();function wy(){return Ln()||typeof window>"u"?Promise.resolve():new Promise(function(e){window.addEventListener("load",function(){return e()})})}function My(e){if(typeof e=="string"){var t=document.getElementById(e);if(!t&&!Ln())throw new Error("Accessing '".concat(e,"' before page was loaded"));if(!t)throw new Error("".concat(e," is not an HTML element"));return t}else if(e)return e;return document.body}function xy(e){var t=document.getElementById(e);if(!t&&!Ln())throw new Error("Accessing '".concat(e,"' before page was loaded"));if(!(t instanceof HTMLCanvasElement))throw new Error("Object is not a canvas element");return t}function Cy(e){var t=e.width,r=e.height,n=document.createElement("canvas");return n.id="lumagl-auto-created-canvas",n.width=t||1,n.height=r||1,n.style.width=Number.isFinite(t)?"".concat(t,"px"):"100%",n.style.height=Number.isFinite(r)?"".concat(r,"px"):"100%",n}function Fy(e,t,r,n,o){var i=e,a=Zf(i[0],t,r),s=$f(i[1],t,n,o),f=Zf(i[0]+1,t,r),u=f===r-1?f:f-1;f=$f(i[1]+1,t,n,o);var d;return o?(f=f===0?f:f+1,d=s,s=f):d=f===n-1?f:f-1,{x:a,y:s,width:Math.max(u-a+1,1),height:Math.max(d-s+1,1)}}function Zf(e,t,r){var n=Math.min(Math.round(e*t),r-1);return n}function $f(e,t,r,n){return n?Math.max(0,r-1-Math.round(e*t)):Math.min(Math.round(e*t),r-1)}function bt(e){return bt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},bt(e)}var ns;function es(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function ts(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?es(Object(r),!0).forEach(function(n){By(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):es(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function By(e,t,r){return t=os(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Dy(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function rs(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,os(n.key),n)}}function Uy(e,t,r){return t&&rs(e.prototype,t),r&&rs(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function os(e){var t=Ly(e,"string");return bt(t)==="symbol"?t:String(t)}function Ly(e,t){if(bt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(bt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function jy(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&hi(e,t)}function hi(e,t){return hi=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},hi(e,t)}function Hy(e){var t=Wy();return function(){var n=jn(e),o;if(t){var i=jn(this).constructor;o=Reflect.construct(n,arguments,i)}else o=n.apply(this,arguments);return Vy(this,o)}}function Vy(e,t){if(t&&(bt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Xy(e)}function Xy(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Wy(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function jn(e){return jn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},jn(e)}ns=Symbol.toStringTag;var ye=function(e){jy(r,e);var t=Hy(r);function r(n,o){var i,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:r.defaultProps;return Dy(this,r),i=t.call(this,n,o,a),i.dimension=void 0,i.format=void 0,i.width=void 0,i.height=void 0,i.depth=void 0,i.sampler=void 0,i.dimension=i.props.dimension,i.format=i.props.format,i.width=i.props.width,i.height=i.props.height,i.depth=i.props.depth,i}return Uy(r,[{key:ns,get:function(){return"Texture"}}]),r}(z);ye.defaultProps=ts(ts({},z.defaultProps),{},{data:null,dimension:"2d",format:"rgba8unorm",width:void 0,height:void 0,depth:1,mipmaps:!0,sampler:{},compressed:!1,usage:0,mipLevels:void 0,samples:void 0,type:void 0});ye.COPY_SRC=1;ye.COPY_DST=2;ye.TEXTURE_BINDING=4;ye.STORAGE_BINDING=8;ye.RENDER_ATTACHMENT=16;function mr(e){return mr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},mr(e)}function Gy(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Ky(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(u){throw u},f:o}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
10
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,a=!1,s;return{s:function(){r=r.call(e)},n:function(){var u=r.next();return i=u.done,u},e:function(u){a=!0,s=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(a)throw s}}}}function Ky(e,t){if(e){if(typeof e=="string")return is(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return is(e,t)}}function is(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function as(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function fs(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?as(Object(r),!0).forEach(function(n){ky(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):as(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function ky(e,t,r){return t=Yy(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Yy(e){var t=zy(e,"string");return mr(t)==="symbol"?t:String(t)}function zy(e,t){if(mr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(mr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function cs(e,t,r){var n="",o=t.split(/\r?\n/),i=e.slice().sort(function(v,E){return v.lineNum-E.lineNum});switch(r?.showSourceCode||"no"){case"all":for(var a=0,s=1;s<=o.length;s++)for(n+=us(o[s-1],s,r);i.length>a&&i[a].lineNum===s;){var f=i[a++];n+=ss(f,o,f.lineNum,fs(fs({},r),{},{inlineSource:!1}))}return n;case"issues":case"no":var u=Gy(e),d;try{for(u.s();!(d=u.n()).done;){var m=d.value;n+=ss(m,o,m.lineNum,{inlineSource:r?.showSourceCode!=="no"})}}catch(v){u.e(v)}finally{u.f()}return n}}function ss(e,t,r,n){if(n!=null&&n.inlineSource){var o=qy(t,r),i=e.linePos>0?"".concat(" ".repeat(e.linePos+5),`^^^
11
- `):"";return`
12
- `.concat(o).concat(i).concat(e.type.toUpperCase(),": ").concat(e.message,`
13
-
14
- `)}return n!=null&&n.html?`<div class='luma-compiler-log-error' style="color:red;"><b> `.concat(e.type.toUpperCase(),": ").concat(e.message,"</b></div>"):"".concat(e.type.toUpperCase(),": ").concat(e.message)}function qy(e,t,r){for(var n="",o=t-2;o<=t;o++){var i=e[o-1];i!==void 0&&(n+=us(i,t,r))}return n}function us(e,t,r){return"".concat(Zy(String(t),4),": ").concat(e).concat(r!=null&&r.html?"<br/>":`
15
- `)}function Zy(e,t){for(var r="",n=e.length;n<t;++n)r+=" ";return r+e}function di(e,t){return{name:$y(e,t),language:"glsl",version:Qy(e)}}function $y(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"unnamed",r=/#define[\s*]SHADER_NAME[\s*]([A-Za-z0-9_-]+)[\s*]/,n=r.exec(e);return n?n[1]:t}function Qy(e){var t=100,r=e.match(/[^\s]+/g);if(r&&r.length>=2&&r[0]==="#version"){var n=parseInt(r[1],10);Number.isFinite(n)&&(t=n)}return t}function ft(e){return ft=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ft(e)}var ds;function _i(){"use strict";_i=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(h,l,p){h[l]=p.value},o=typeof Symbol=="function"?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function f(h,l,p){return Object.defineProperty(h,l,{value:p,enumerable:!0,configurable:!0,writable:!0}),h[l]}try{f({},"")}catch{f=function(p,_,g){return p[_]=g}}function u(h,l,p,_){var g=l&&l.prototype instanceof v?l:v,y=Object.create(g.prototype),S=new X(_||[]);return n(y,"_invoke",{value:B(h,p,S)}),y}function d(h,l,p){try{return{type:"normal",arg:h.call(l,p)}}catch(_){return{type:"throw",arg:_}}}e.wrap=u;var m={};function v(){}function E(){}function A(){}var T={};f(T,i,function(){return this});var O=Object.getPrototypeOf,R=O&&O(O(j([])));R&&R!==t&&r.call(R,i)&&(T=R);var P=A.prototype=v.prototype=Object.create(T);function M(h){["next","throw","return"].forEach(function(l){f(h,l,function(p){return this._invoke(l,p)})})}function N(h,l){function p(g,y,S,I){var w=d(h[g],h,y);if(w.type!=="throw"){var U=w.arg,D=U.value;return D&&ft(D)=="object"&&r.call(D,"__await")?l.resolve(D.__await).then(function(V){p("next",V,S,I)},function(V){p("throw",V,S,I)}):l.resolve(D).then(function(V){U.value=V,S(U)},function(V){return p("throw",V,S,I)})}I(w.arg)}var _;n(this,"_invoke",{value:function(y,S){function I(){return new l(function(w,U){p(y,S,w,U)})}return _=_?_.then(I,I):I()}})}function B(h,l,p){var _="suspendedStart";return function(g,y){if(_==="executing")throw new Error("Generator is already running");if(_==="completed"){if(g==="throw")throw y;return G()}for(p.method=g,p.arg=y;;){var S=p.delegate;if(S){var I=F(S,p);if(I){if(I===m)continue;return I}}if(p.method==="next")p.sent=p._sent=p.arg;else if(p.method==="throw"){if(_==="suspendedStart")throw _="completed",p.arg;p.dispatchException(p.arg)}else p.method==="return"&&p.abrupt("return",p.arg);_="executing";var w=d(h,l,p);if(w.type==="normal"){if(_=p.done?"completed":"suspendedYield",w.arg===m)continue;return{value:w.arg,done:p.done}}w.type==="throw"&&(_="completed",p.method="throw",p.arg=w.arg)}}}function F(h,l){var p=l.method,_=h.iterator[p];if(_===void 0)return l.delegate=null,p==="throw"&&h.iterator.return&&(l.method="return",l.arg=void 0,F(h,l),l.method==="throw")||p!=="return"&&(l.method="throw",l.arg=new TypeError("The iterator does not provide a '"+p+"' method")),m;var g=d(_,h.iterator,l.arg);if(g.type==="throw")return l.method="throw",l.arg=g.arg,l.delegate=null,m;var y=g.arg;return y?y.done?(l[h.resultName]=y.value,l.next=h.nextLoc,l.method!=="return"&&(l.method="next",l.arg=void 0),l.delegate=null,m):y:(l.method="throw",l.arg=new TypeError("iterator result is not an object"),l.delegate=null,m)}function W(h){var l={tryLoc:h[0]};1 in h&&(l.catchLoc=h[1]),2 in h&&(l.finallyLoc=h[2],l.afterLoc=h[3]),this.tryEntries.push(l)}function H(h){var l=h.completion||{};l.type="normal",delete l.arg,h.completion=l}function X(h){this.tryEntries=[{tryLoc:"root"}],h.forEach(W,this),this.reset(!0)}function j(h){if(h){var l=h[i];if(l)return l.call(h);if(typeof h.next=="function")return h;if(!isNaN(h.length)){var p=-1,_=function g(){for(;++p<h.length;)if(r.call(h,p))return g.value=h[p],g.done=!1,g;return g.value=void 0,g.done=!0,g};return _.next=_}}return{next:G}}function G(){return{value:void 0,done:!0}}return E.prototype=A,n(P,"constructor",{value:A,configurable:!0}),n(A,"constructor",{value:E,configurable:!0}),E.displayName=f(A,s,"GeneratorFunction"),e.isGeneratorFunction=function(h){var l=typeof h=="function"&&h.constructor;return!!l&&(l===E||(l.displayName||l.name)==="GeneratorFunction")},e.mark=function(h){return Object.setPrototypeOf?Object.setPrototypeOf(h,A):(h.__proto__=A,f(h,s,"GeneratorFunction")),h.prototype=Object.create(P),h},e.awrap=function(h){return{__await:h}},M(N.prototype),f(N.prototype,a,function(){return this}),e.AsyncIterator=N,e.async=function(h,l,p,_,g){g===void 0&&(g=Promise);var y=new N(u(h,l,p,_),g);return e.isGeneratorFunction(l)?y:y.next().then(function(S){return S.done?S.value:y.next()})},M(P),f(P,s,"Generator"),f(P,i,function(){return this}),f(P,"toString",function(){return"[object Generator]"}),e.keys=function(h){var l=Object(h),p=[];for(var _ in l)p.push(_);return p.reverse(),function g(){for(;p.length;){var y=p.pop();if(y in l)return g.value=y,g.done=!1,g}return g.done=!0,g}},e.values=j,X.prototype={constructor:X,reset:function(l){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(H),!l)for(var p in this)p.charAt(0)==="t"&&r.call(this,p)&&!isNaN(+p.slice(1))&&(this[p]=void 0)},stop:function(){this.done=!0;var l=this.tryEntries[0].completion;if(l.type==="throw")throw l.arg;return this.rval},dispatchException:function(l){if(this.done)throw l;var p=this;function _(U,D){return S.type="throw",S.arg=l,p.next=U,D&&(p.method="next",p.arg=void 0),!!D}for(var g=this.tryEntries.length-1;g>=0;--g){var y=this.tryEntries[g],S=y.completion;if(y.tryLoc==="root")return _("end");if(y.tryLoc<=this.prev){var I=r.call(y,"catchLoc"),w=r.call(y,"finallyLoc");if(I&&w){if(this.prev<y.catchLoc)return _(y.catchLoc,!0);if(this.prev<y.finallyLoc)return _(y.finallyLoc)}else if(I){if(this.prev<y.catchLoc)return _(y.catchLoc,!0)}else{if(!w)throw new Error("try statement without catch or finally");if(this.prev<y.finallyLoc)return _(y.finallyLoc)}}}},abrupt:function(l,p){for(var _=this.tryEntries.length-1;_>=0;--_){var g=this.tryEntries[_];if(g.tryLoc<=this.prev&&r.call(g,"finallyLoc")&&this.prev<g.finallyLoc){var y=g;break}}y&&(l==="break"||l==="continue")&&y.tryLoc<=p&&p<=y.finallyLoc&&(y=null);var S=y?y.completion:{};return S.type=l,S.arg=p,y?(this.method="next",this.next=y.finallyLoc,m):this.complete(S)},complete:function(l,p){if(l.type==="throw")throw l.arg;return l.type==="break"||l.type==="continue"?this.next=l.arg:l.type==="return"?(this.rval=this.arg=l.arg,this.method="return",this.next="end"):l.type==="normal"&&p&&(this.next=p),m},finish:function(l){for(var p=this.tryEntries.length-1;p>=0;--p){var _=this.tryEntries[p];if(_.finallyLoc===l)return this.complete(_.completion,_.afterLoc),H(_),m}},catch:function(l){for(var p=this.tryEntries.length-1;p>=0;--p){var _=this.tryEntries[p];if(_.tryLoc===l){var g=_.completion;if(g.type==="throw"){var y=g.arg;H(_)}return y}}throw new Error("illegal catch attempt")},delegateYield:function(l,p,_){return this.delegate={iterator:j(l),resultName:p,nextLoc:_},this.method==="next"&&(this.arg=void 0),m}},e}function ls(e,t,r,n,o,i,a){try{var s=e[i](a),f=s.value}catch(u){r(u);return}s.done?t(f):Promise.resolve(f).then(n,o)}function Jy(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(f){ls(i,n,o,a,s,"next",f)}function s(f){ls(i,n,o,a,s,"throw",f)}a(void 0)})}}function ps(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function yi(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ps(Object(r),!0).forEach(function(n){em(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ps(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function em(e,t,r){return t=_s(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function tm(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function hs(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,_s(n.key),n)}}function rm(e,t,r){return t&&hs(e.prototype,t),r&&hs(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function _s(e){var t=nm(e,"string");return ft(t)==="symbol"?t:String(t)}function nm(e,t){if(ft(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(ft(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function om(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&mi(e,t)}function mi(e,t){return mi=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},mi(e,t)}function im(e){var t=sm();return function(){var n=Hn(e),o;if(t){var i=Hn(this).constructor;o=Reflect.construct(n,arguments,i)}else o=n.apply(this,arguments);return am(this,o)}}function am(e,t){if(t&&(ft(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return fm(e)}function fm(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function sm(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Hn(e){return Hn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Hn(e)}ds=Symbol.toStringTag;var Vn=function(e){om(r,e);var t=im(r);function r(o,i){var a;return tm(this,r),a=t.call(this,o,yi({id:cm(i)},i),r.defaultProps),a.stage=void 0,a.source=void 0,a.compilationStatus="pending",a.stage=a.props.stage,a.source=a.props.source,a}var n=r.prototype;return n.getCompilationInfoSync=function(){return null},n.debugShader=function(){var o=Jy(_i().mark(function a(){var s;return _i().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:u.t0=this.props.debug,u.next=u.t0==="never"?3:u.t0==="errors"?4:u.t0==="warnings"||u.t0==="always"?7:8;break;case 3:return u.abrupt("return");case 4:if(this.compilationStatus!=="success"){u.next=6;break}return u.abrupt("return");case 6:return u.abrupt("break",8);case 7:return u.abrupt("break",8);case 8:return u.next=10,this.getCompilationInfo();case 10:if(s=u.sent,!(this.props.debug==="warnings"&&s?.length===0)){u.next=13;break}return u.abrupt("return");case 13:this._displayShaderLog(s);case 14:case"end":return u.stop()}},a,this)}));function i(){return o.apply(this,arguments)}return i}(),n._displayShaderLog=function(i){var a,s,f=this;if(!(typeof document>"u"||!((a=document)!==null&&a!==void 0&&a.createElement))){var u=di(this.source).name,d="".concat(this.stage," ").concat(u),m=cs(i,this.source,{showSourceCode:"all",html:!0}),v=document.createElement("Button");v.innerHTML=`
16
- <h1>Shader Compilation Error in `.concat(d,`</h1><br /><br />
17
- <code style="user-select:text;"><pre>
18
- `).concat(m,`
19
- </pre></code>`),v.style.top="10px",v.style.left="10px",v.style.position="absolute",v.style.zIndex="9999",v.style.width="100%",v.style.textAlign="left",document.body.appendChild(v);var E=document.getElementsByClassName("luma-compiler-log-error");(s=E[0])!==null&&s!==void 0&&s.scrollIntoView&&E[0].scrollIntoView(),v.onclick=function(){var A="data:text/plain,".concat(encodeURIComponent(f.source));navigator.clipboard.writeText(A)}}},rm(r,[{key:ds,get:function(){return"Shader"}}]),r}(z);Vn.defaultProps=yi(yi({},z.defaultProps),{},{language:"auto",stage:"vertex",source:"",sourceMap:null,entryPoint:"main",debug:"errors"});function cm(e){return di(e.source).name||e.id||ce("unnamed ".concat(e.stage,"-shader"))}function Et(e){return Et=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Et(e)}var vs;function ys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function ms(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ys(Object(r),!0).forEach(function(n){um(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ys(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function um(e,t,r){return t=bs(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function lm(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function gs(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,bs(n.key),n)}}function pm(e,t,r){return t&&gs(e.prototype,t),r&&gs(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function bs(e){var t=hm(e,"string");return Et(t)==="symbol"?t:String(t)}function hm(e,t){if(Et(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Et(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function dm(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&gi(e,t)}function gi(e,t){return gi=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},gi(e,t)}function _m(e){var t=gm();return function(){var n=Xn(e),o;if(t){var i=Xn(this).constructor;o=Reflect.construct(n,arguments,i)}else o=n.apply(this,arguments);return ym(this,o)}}function ym(e,t){if(t&&(Et(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return mm(e)}function mm(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function gm(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Xn(e){return Xn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Xn(e)}vs=Symbol.toStringTag;var Wn=function(e){dm(r,e);var t=_m(r);function r(n,o){return lm(this,r),t.call(this,n,o,r.defaultProps)}return pm(r,[{key:vs,get:function(){return"Sampler"}}]),r}(z);Wn.defaultProps=ms(ms({},z.defaultProps),{},{type:"color-sampler",addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge",addressModeW:"clamp-to-edge",magFilter:"nearest",minFilter:"nearest",mipmapFilter:"nearest",lodMinClamp:0,lodMaxClamp:32,compare:"less-equal",maxAnisotropy:1});function St(e){return St=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},St(e)}var Ts;function Es(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function At(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Es(Object(r),!0).forEach(function(n){vm(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Es(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function vm(e,t,r){return t=Rs(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function bm(e,t){return Tm(e)||Sm(e,t)||Am(e,t)||Em()}function Em(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
20
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Am(e,t){if(e){if(typeof e=="string")return As(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return As(e,t)}}function As(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Sm(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,a,s=[],f=!0,u=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);f=!0);}catch(d){u=!0,o=d}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}function Tm(e){if(Array.isArray(e))return e}function Rm(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ss(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Rs(n.key),n)}}function Om(e,t,r){return t&&Ss(e.prototype,t),r&&Ss(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Rs(e){var t=Pm(e,"string");return St(t)==="symbol"?t:String(t)}function Pm(e,t){if(St(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(St(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Im(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&vi(e,t)}function vi(e,t){return vi=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},vi(e,t)}function Nm(e){var t=xm();return function(){var n=Gn(e),o;if(t){var i=Gn(this).constructor;o=Reflect.construct(n,arguments,i)}else o=n.apply(this,arguments);return wm(this,o)}}function wm(e,t){if(t&&(St(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Mm(e)}function Mm(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function xm(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Gn(e){return Gn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Gn(e)}Ts=Symbol.toStringTag;var Kn=function(e){Im(r,e);var t=Nm(r);function r(o){var i,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Rm(this,r),i=t.call(this,o,a,r.defaultProps),i.width=void 0,i.height=void 0,i.colorAttachments=[],i.depthStencilAttachment=null,i.width=i.props.width,i.height=i.props.height,i}var n=r.prototype;return n.resize=function(i){var a=!i;if(i){var s=Array.isArray(i)?i:[i.width,i.height],f=bm(s,2),u=f[0],d=f[1];a=a||d!==this.height||u!==this.width,this.width=u,this.height=d}a&&(x.log(2,"Resizing framebuffer ".concat(this.id," to ").concat(this.width,"x").concat(this.height))(),this.resizeAttachments(this.width,this.height))},n.autoCreateAttachmentTextures=function(){var i=this;if(this.colorAttachments=this.props.colorAttachments.map(function(s){if(typeof s=="string"){var f=i.createColorTexture(s);return i.attachResource(f),f}return s}),this.props.depthStencilAttachment)if(typeof this.props.depthStencilAttachment=="string"){var a=this.createDepthStencilTexture(this.props.depthStencilAttachment);this.attachResource(a),this.depthStencilAttachment=a}else this.depthStencilAttachment=this.props.depthStencilAttachment},n.createColorTexture=function(i){return this.device.createTexture({id:"color-attachment",usage:ye.RENDER_ATTACHMENT,format:i,width:this.width,height:this.height})},n.createDepthStencilTexture=function(i){return this.device.createTexture({id:"depth-stencil-attachment",usage:ye.RENDER_ATTACHMENT,format:i,width:this.width,height:this.height})},n.resizeAttachments=function(i,a){for(var s=0;s<this.colorAttachments.length;++s)if(this.colorAttachments[s]){var f=this.device._createTexture(At(At({},this.colorAttachments[s].props),{},{width:i,height:a}));this.destroyAttachedResource(this.colorAttachments[s]),this.colorAttachments[s]=f,this.attachResource(f)}if(this.depthStencilAttachment){var u=this.device._createTexture(At(At({},this.depthStencilAttachment.props),{},{width:i,height:a}));this.destroyAttachedResource(this.depthStencilAttachment),this.depthStencilAttachment=u,this.attachResource(u)}},Om(r,[{key:Ts,get:function(){return"Framebuffer"}}]),r}(z);Kn.defaultProps=At(At({},z.defaultProps),{},{width:1,height:1,colorAttachments:[],depthStencilAttachment:null});function Tt(e){return Tt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Tt(e)}var Ns;function Os(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Ps(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Os(Object(r),!0).forEach(function(n){Cm(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Os(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Cm(e,t,r){return t=ws(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Fm(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Is(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,ws(n.key),n)}}function Bm(e,t,r){return t&&Is(e.prototype,t),r&&Is(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function ws(e){var t=Dm(e,"string");return Tt(t)==="symbol"?t:String(t)}function Dm(e,t){if(Tt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Tt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Um(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&bi(e,t)}function bi(e,t){return bi=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},bi(e,t)}function Lm(e){var t=Vm();return function(){var n=kn(e),o;if(t){var i=kn(this).constructor;o=Reflect.construct(n,arguments,i)}else o=n.apply(this,arguments);return jm(this,o)}}function jm(e,t){if(t&&(Tt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Hm(e)}function Hm(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Vm(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function kn(e){return kn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},kn(e)}Ns=Symbol.toStringTag;var ke=function(e){Um(r,e);var t=Lm(r);function r(n,o){var i;return Fm(this,r),i=t.call(this,n,o,r.defaultProps),i.hash="",i.vs=void 0,i.fs=void 0,i.shaderLayout=void 0,i.bufferLayout=void 0,i.shaderLayout=i.props.shaderLayout,i.bufferLayout=i.props.bufferLayout||[],i}return Bm(r,[{key:Ns,get:function(){return"RenderPipeline"}}]),r}(z);ke.defaultProps=Ps(Ps({},z.defaultProps),{},{vs:null,vsEntryPoint:"",vsConstants:{},fs:null,fsEntryPoint:"",fsConstants:{},shaderLayout:null,bufferLayout:[],topology:"triangle-list",parameters:{},vertexCount:0,instanceCount:0,bindings:{},uniforms:{}});function Rt(e){return Rt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Rt(e)}var Fs;function Ms(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function xs(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ms(Object(r),!0).forEach(function(n){Xm(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ms(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Xm(e,t,r){return t=Bs(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Wm(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Cs(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Bs(n.key),n)}}function Gm(e,t,r){return t&&Cs(e.prototype,t),r&&Cs(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Bs(e){var t=Km(e,"string");return Rt(t)==="symbol"?t:String(t)}function Km(e,t){if(Rt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Rt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function km(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ei(e,t)}function Ei(e,t){return Ei=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},Ei(e,t)}function Ym(e){var t=Zm();return function(){var n=Yn(e),o;if(t){var i=Yn(this).constructor;o=Reflect.construct(n,arguments,i)}else o=n.apply(this,arguments);return zm(this,o)}}function zm(e,t){if(t&&(Rt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return qm(e)}function qm(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Zm(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Yn(e){return Yn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Yn(e)}Fs=Symbol.toStringTag;var zn=function(e){km(r,e);var t=Ym(r);function r(n,o){return Wm(this,r),t.call(this,n,o,r.defaultProps)}return Gm(r,[{key:Fs,get:function(){return"RenderPass"}}]),r}(z);zn.defaultProps=xs(xs({},z.defaultProps),{},{framebuffer:null,parameters:void 0,clearColor:[0,0,0,0],clearDepth:1,clearStencil:0,depthReadOnly:!1,stencilReadOnly:!1,discard:!1});function Ot(e){return Ot=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ot(e)}var js;function Ds(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Us(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ds(Object(r),!0).forEach(function(n){$m(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ds(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function $m(e,t,r){return t=Hs(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Qm(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ls(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Hs(n.key),n)}}function Jm(e,t,r){return t&&Ls(e.prototype,t),r&&Ls(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Hs(e){var t=eg(e,"string");return Ot(t)==="symbol"?t:String(t)}function eg(e,t){if(Ot(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Ot(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function tg(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ai(e,t)}function Ai(e,t){return Ai=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},Ai(e,t)}function rg(e){var t=ig();return function(){var n=qn(e),o;if(t){var i=qn(this).constructor;o=Reflect.construct(n,arguments,i)}else o=n.apply(this,arguments);return ng(this,o)}}function ng(e,t){if(t&&(Ot(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return og(e)}function og(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ig(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function qn(e){return qn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},qn(e)}js=Symbol.toStringTag;var Zn=function(e){tg(r,e);var t=rg(r);function r(o,i){return Qm(this,r),t.call(this,o,i,r.defaultProps)}var n=r.prototype;return n.pushDebugGroup=function(i){},n.popDebugGroup=function(){},n.insertDebugMarker=function(i){},Jm(r,[{key:js,get:function(){return"CommandEncoder"}}]),r}(z);Zn.defaultProps=Us(Us({},z.defaultProps),{},{measureExecutionTime:void 0});function Pt(e){return Pt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Pt(e)}var Ws;function Vs(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function ag(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Vs(Object(r),!0).forEach(function(n){fg(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Vs(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function fg(e,t,r){return t=Gs(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function sg(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Xs(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Gs(n.key),n)}}function cg(e,t,r){return t&&Xs(e.prototype,t),r&&Xs(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Gs(e){var t=ug(e,"string");return Pt(t)==="symbol"?t:String(t)}function ug(e,t){if(Pt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Pt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function lg(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Si(e,t)}function Si(e,t){return Si=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},Si(e,t)}function pg(e){var t=_g();return function(){var n=$n(e),o;if(t){var i=$n(this).constructor;o=Reflect.construct(n,arguments,i)}else o=n.apply(this,arguments);return hg(this,o)}}function hg(e,t){if(t&&(Pt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return dg(e)}function dg(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _g(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function $n(e){return $n=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},$n(e)}Ws=Symbol.toStringTag;var Qn=function(e){lg(r,e);var t=pg(r);function r(n,o){return sg(this,r),t.call(this,n,o,r.defaultProps)}return cg(r,[{key:Ws,get:function(){return"CommandBuffer"}}]),r}(z);Qn.defaultProps=ag({},z.defaultProps);function yg(e,t){return bg(e)||vg(e,t)||gg(e,t)||mg()}function mg(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
21
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function gg(e,t){if(e){if(typeof e=="string")return Ks(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ks(e,t)}}function Ks(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function vg(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,a,s=[],f=!0,u=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);f=!0);}catch(d){u=!0,o=d}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}function bg(e){if(Array.isArray(e))return e}function ks(e){var t=yg(Ag[e],2),r=t[0],n=t[1],o=r==="i32"||r==="u32",i=r!=="u32",a=Sg[r]*n,s=Eg(r,n);return{dataType:r,components:n,defaultVertexFormat:s,byteLength:a,integer:o,signed:i}}function Eg(e,t){var r;switch(e){case"f32":r="float32";break;case"i32":r="sint32";break;case"u32":r="uint32";break;case"f16":return t<=2?"float16x2":"float16x4"}return t===1?r:"".concat(r,"x").concat(t)}var Ag={f32:["f32",1],"vec2<f32>":["f32",2],"vec3<f32>":["f32",3],"vec4<f32>":["f32",4],f16:["f16",1],"vec2<f16>":["f16",2],"vec3<f16>":["f16",3],"vec4<f16>":["f16",4],i32:["i32",1],"vec2<i32>":["i32",2],"vec3<i32>":["i32",3],"vec4<i32>":["i32",4],u32:["u32",1],"vec2<u32>":["u32",2],"vec3<u32>":["u32",3],"vec4<u32>":["u32",4]},Sg={f32:4,f16:2,i32:4,u32:4};function Jn(e){var t=Ys[e],r=Tg(t),n=e.includes("norm"),o=!n&&!e.startsWith("float"),i=e.startsWith("s");return{dataType:Ys[e],byteLength:r,integer:o,signed:i,normalized:n}}function Tg(e){var t=Rg[e];return t}var Ys={uint8:"uint8",sint8:"sint8",unorm8:"uint8",snorm8:"sint8",uint16:"uint16",sint16:"sint16",unorm16:"uint16",snorm16:"sint16",float16:"float16",float32:"float32",uint32:"uint32",sint32:"sint32"},Rg={uint8:1,sint8:1,uint16:2,sint16:2,float16:2,float32:4,uint32:4,sint32:4};function Og(e,t){return wg(e)||Ng(e,t)||Ig(e,t)||Pg()}function Pg(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
22
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ig(e,t){if(e){if(typeof e=="string")return zs(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return zs(e,t)}}function zs(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Ng(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,a,s=[],f=!0,u=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);f=!0);}catch(d){u=!0,o=d}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}function wg(e){if(Array.isArray(e))return e}function Ti(e){var t;e.endsWith("-webgl")&&(e.replace("-webgl",""),t=!0);var r=e.split("x"),n=Og(r,2),o=n[0],i=n[1],a=o,s=i?parseInt(i):1,f=Jn(a),u={type:a,components:s,byteLength:f.byteLength*s,integer:f.integer,signed:f.signed,normalized:f.normalized};return t&&(u.webglOnly=!0),u}function gr(e){return gr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gr(e)}function qs(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Ri(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?qs(Object(r),!0).forEach(function(n){Mg(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):qs(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Mg(e,t,r){return t=xg(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function xg(e){var t=Cg(e,"string");return gr(t)==="symbol"?t:String(t)}function Cg(e,t){if(gr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(gr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function It(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Fg(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(u){throw u},f:o}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
23
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,a=!1,s;return{s:function(){r=r.call(e)},n:function(){var u=r.next();return i=u.done,u},e:function(u){a=!0,s=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(a)throw s}}}}function Fg(e,t){if(e){if(typeof e=="string")return Zs(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Zs(e,t)}}function Zs(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function eo(e,t){var r={},n=It(e.attributes),o;try{for(n.s();!(o=n.n()).done;){var i=o.value;r[i.name]=Bg(e,t,i.name)}}catch(a){n.e(a)}finally{n.f()}return r}function $s(e,t){for(var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:16,n=eo(e,t),o=new Array(r).fill(null),i=0,a=Object.values(n);i<a.length;i++){var s=a[i];o[s.location]=s}return o}function Bg(e,t,r){var n=Dg(e,r),o=Ug(t,r);if(!n)return null;var i=ks(n.type),a=o?.vertexFormat||i.defaultVertexFormat,s=Ti(a);return{attributeName:o?.attributeName||n.name,bufferName:o?.bufferName||n.name,location:n.location,shaderType:n.type,shaderDataType:i.dataType,shaderComponents:i.components,vertexFormat:a,bufferDataType:s.type,bufferComponents:s.components,normalized:s.normalized,integer:i.integer,stepMode:o?.stepMode||n.stepMode,byteOffset:o?.byteOffset||0,byteStride:o?.byteStride||0}}function Dg(e,t){var r=e.attributes.find(function(n){return n.name===t});return r||x.warn('shader layout attribute "'.concat(t,'" not present in shader')),r||null}function Ug(e,t){Lg(e);var r=jg(e,t);return r||(r=Hg(e,t),r)?r:(x.warn('layout for attribute "'.concat(t,'" not present in buffer layout')),null)}function Lg(e){var t=It(e),r;try{for(t.s();!(r=t.n()).done;){var n=r.value;(n.attributes&&n.format||!n.attributes&&!n.format)&&x.warn("BufferLayout ".concat(name," must have either 'attributes' or 'format' field"))}}catch(o){t.e(o)}finally{t.f()}}function jg(e,t){var r=It(e),n;try{for(r.s();!(n=r.n()).done;){var o=n.value;if(o.format&&o.name===t)return{attributeName:o.name,bufferName:t,stepMode:o.stepMode,vertexFormat:o.format,byteOffset:0,byteStride:o.byteStride||0}}}catch(i){r.e(i)}finally{r.f()}return null}function Hg(e,t){var r=It(e),n;try{for(r.s();!(n=r.n()).done;){var o,i=n.value,a=i.byteStride;if(typeof i.byteStride!="number"){var s=It(i.attributes||[]),f;try{for(s.s();!(f=s.n()).done;){var u=f.value,d=Ti(u.format);a+=d.byteLength}}catch(v){s.e(v)}finally{s.f()}}var m=(o=i.attributes)===null||o===void 0?void 0:o.find(function(v){return v.attribute===t});if(m)return{attributeName:m.attribute,bufferName:i.name,stepMode:i.stepMode,vertexFormat:m.format,byteOffset:m.byteOffset,byteStride:a}}}catch(v){r.e(v)}finally{r.f()}return null}function Oi(e,t){var r=Ri(Ri({},e),{},{attributes:e.attributes.map(function(a){return Ri({},a)})}),n=It(t?.attributes||[]),o;try{var i=function(){var s=o.value,f=r.attributes.find(function(u){return u.name===s.name});f?(f.type=s.type||f.type,f.stepMode=s.stepMode||f.stepMode):x.warn("shader layout attribute ".concat(s.name," not present in shader"))};for(n.s();!(o=n.n()).done;)i()}catch(a){n.e(a)}finally{n.f()}return r}function Nt(e){return Nt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Nt(e)}var tc;function Qs(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Js(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Qs(Object(r),!0).forEach(function(n){Vg(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Qs(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Vg(e,t,r){return t=rc(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Xg(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ec(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,rc(n.key),n)}}function Wg(e,t,r){return t&&ec(e.prototype,t),r&&ec(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function rc(e){var t=Gg(e,"string");return Nt(t)==="symbol"?t:String(t)}function Gg(e,t){if(Nt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Nt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Kg(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Pi(e,t)}function Pi(e,t){return Pi=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},Pi(e,t)}function kg(e){var t=qg();return function(){var n=to(e),o;if(t){var i=to(this).constructor;o=Reflect.construct(n,arguments,i)}else o=n.apply(this,arguments);return Yg(this,o)}}function Yg(e,t){if(t&&(Nt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return zg(e)}function zg(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function qg(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function to(e){return to=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},to(e)}tc=Symbol.toStringTag;var ro=function(e){Kg(r,e);var t=kg(r);function r(n,o){var i;return Xg(this,r),i=t.call(this,n,o,r.defaultProps),i.maxVertexAttributes=void 0,i.attributeInfos=void 0,i.indexBuffer=null,i.attributes=void 0,i.maxVertexAttributes=n.limits.maxVertexAttributes,i.attributes=new Array(i.maxVertexAttributes).fill(null),i.attributeInfos=$s(o.renderPipeline.shaderLayout,o.renderPipeline.bufferLayout,i.maxVertexAttributes),i}return Wg(r,[{key:tc,get:function(){return"VertexArray"}}]),r}(z);ro.defaultProps=Js(Js({},z.defaultProps),{},{renderPipeline:null});function wt(e){return wt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},wt(e)}var ac;function nc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function oc(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?nc(Object(r),!0).forEach(function(n){Zg(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):nc(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Zg(e,t,r){return t=fc(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function $g(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ic(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,fc(n.key),n)}}function Qg(e,t,r){return t&&ic(e.prototype,t),r&&ic(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function fc(e){var t=Jg(e,"string");return wt(t)==="symbol"?t:String(t)}function Jg(e,t){if(wt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(wt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ev(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ii(e,t)}function Ii(e,t){return Ii=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},Ii(e,t)}function tv(e){var t=ov();return function(){var n=no(e),o;if(t){var i=no(this).constructor;o=Reflect.construct(n,arguments,i)}else o=n.apply(this,arguments);return rv(this,o)}}function rv(e,t){if(t&&(wt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return nv(e)}function nv(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ov(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function no(e){return no=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},no(e)}ac=Symbol.toStringTag;var oo=function(e){ev(r,e);var t=tv(r);function r(n,o){return $g(this,r),t.call(this,n,o,r.defaultProps)}return Qg(r,[{key:ac,get:function(){return"TransformFeedback"}}]),r}(z);oo.defaultProps=oc(oc({},z.defaultProps),{},{layout:void 0,buffers:{}});var iv={f32:{type:"f32",components:1},i32:{type:"i32",components:1},u32:{type:"u32",components:1},"vec2<f32>":{type:"f32",components:2},"vec3<f32>":{type:"f32",components:3},"vec4<f32>":{type:"f32",components:4},"vec2<i32>":{type:"i32",components:2},"vec3<i32>":{type:"i32",components:3},"vec4<i32>":{type:"i32",components:4},"vec2<u32>":{type:"u32",components:2},"vec3<u32>":{type:"u32",components:3},"vec4<u32>":{type:"u32",components:4},"mat2x2<f32>":{type:"f32",components:4},"mat2x3<f32>":{type:"f32",components:6},"mat2x4<f32>":{type:"f32",components:8},"mat3x2<f32>":{type:"f32",components:6},"mat3x3<f32>":{type:"f32",components:9},"mat3x4<f32>":{type:"f32",components:12},"mat4x2<f32>":{type:"f32",components:8},"mat4x3<f32>":{type:"f32",components:12},"mat4x4<f32>":{type:"f32",components:16}};function sc(e){var t=iv[e];return K(e),t}function cc(e,t){switch(t){case 1:return e;case 2:return e+e%2;default:return e+(4-e%4)%4}}var io;function ao(e){return(!io||io.byteLength<e)&&(io=new ArrayBuffer(e)),io}function Ni(e,t){var r=ao(e.BYTES_PER_ELEMENT*t);return new e(r,0,t)}function wi(e){for(var t=e.target,r=e.source,n=e.start,o=n===void 0?0:n,i=e.count,a=i===void 0?1:i,s=r.length,f=a*s,u=0,d=o;u<s;u++)t[d++]=r[u];for(;u<f;)u<f-u?(t.copyWithin(o+u,o,o+u),u*=2):(t.copyWithin(o+u,o,o+f-u),u=f);return e.target}function vr(e){return vr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},vr(e)}function uc(e,t){return cv(e)||sv(e,t)||fv(e,t)||av()}function av(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
24
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function fv(e,t){if(e){if(typeof e=="string")return lc(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return lc(e,t)}}function lc(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function sv(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,a,s=[],f=!0,u=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);f=!0);}catch(d){u=!0,o=d}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}function cv(e){if(Array.isArray(e))return e}function pc(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,lv(n.key),n)}}function uv(e,t,r){return t&&pc(e.prototype,t),r&&pc(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function lv(e){var t=pv(e,"string");return vr(t)==="symbol"?t:String(t)}function pv(e,t){if(vr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(vr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function hv(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var hc=1024,dc=function(){function e(r){hv(this,e),this.layout={},this.byteLength=void 0;for(var n=0,o=0,i=Object.entries(r);o<i.length;o++){var a=uc(i[o],2),s=a[0],f=a[1],u=sc(f),d=u.type,m=u.components;n=cc(n,m);var v=n;n+=m,this.layout[s]={type:d,size:m,offset:v}}n+=(4-n%4)%4;var E=n*4;this.byteLength=Math.max(E,hc)}var t=e.prototype;return t.getData=function(n){for(var o=Math.max(this.byteLength,hc),i=ao(o),a={i32:new Int32Array(i),u32:new Uint32Array(i),f32:new Float32Array(i),f16:new Uint16Array(i)},s=0,f=Object.entries(n);s<f.length;s++){var u=uc(f[s],2),d=u[0],m=u[1],v=this.layout[d];if(!v){x.warn("Supplied uniform value ".concat(d," not present in uniform block layout"))();continue}var E=v.type,A=v.size,T=v.offset,O=a[E];if(A===1){if(typeof m!="number"&&typeof m!="boolean"){x.warn("Supplied value for single component uniform ".concat(d," is not a number: ").concat(m))();continue}O[T]=Number(m)}else{var R=Ke(m);if(!R){x.warn("Supplied value for multi component / array uniform ".concat(d," is not a numeric array: ").concat(m))();continue}O.set(R,T)}}return new Uint8Array(i)},t.has=function(n){return Boolean(this.layout[n])},t.get=function(n){var o=this.layout[n];return o},uv(e)}();function _c(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:16;if(e!==t)return!1;var n=Ke(e);if(!n)return!1;var o=Ke(t);if(o&&n.length===o.length){for(var i=0;i<n.length;++i)if(o[i]!==n[i])return!1}return!0}function yc(e){var t=Ke(e);return t?t.slice():e}function br(e){return br=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},br(e)}function dv(e,t){return mv(e)||yv(e,t)||vc(e,t)||_v()}function _v(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
25
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yv(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,a,s=[],f=!0,u=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);f=!0);}catch(d){u=!0,o=d}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}function mv(e){if(Array.isArray(e))return e}function gv(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=vc(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(u){throw u},f:o}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
26
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,a=!1,s;return{s:function(){r=r.call(e)},n:function(){var u=r.next();return i=u.done,u},e:function(u){a=!0,s=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(a)throw s}}}}function vc(e,t){if(e){if(typeof e=="string")return mc(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return mc(e,t)}}function mc(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function gc(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,bv(n.key),n)}}function vv(e,t,r){return t&&gc(e.prototype,t),r&&gc(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function bv(e){var t=Ev(e,"string");return br(t)==="symbol"?t:String(t)}function Ev(e,t){if(br(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(br(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Av(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var bc=function(){function e(r){if(Av(this,e),this.name=void 0,this.uniforms={},this.modifiedUniforms={},this.modified=!0,this.bindingLayout={},this.needsRedraw="initialized",this.name=r?.name,r!=null&&r.name&&r!==null&&r!==void 0&&r.shaderLayout){var n,o=r==null||(n=r.shaderLayout.bindings)===null||n===void 0?void 0:n.find(function(u){return u.type==="uniform"&&u.name===r?.name});if(!o)throw new Error(r?.name);var i=o,a=gv(i.uniforms||[]),s;try{for(a.s();!(s=a.n()).done;){var f=s.value;this.bindingLayout[f.name]=f}}catch(u){a.e(u)}finally{a.f()}}}var t=e.prototype;return t.setUniforms=function(n){for(var o=0,i=Object.entries(n);o<i.length;o++){var a=dv(i[o],2),s=a[0],f=a[1];this._setUniform(s,f),this.needsRedraw||this.setNeedsRedraw("".concat(this.name,".").concat(s,"=").concat(f))}},t.setNeedsRedraw=function(n){this.needsRedraw=this.needsRedraw||n},t.getAllUniforms=function(){return this.modifiedUniforms={},this.needsRedraw=!1,this.uniforms||{}},t._setUniform=function(n,o){_c(this.uniforms[n],o)||(this.uniforms[n]=yc(o),this.modifiedUniforms[n]=!0,this.modified=!0)},vv(e)}();function Er(e){return Er=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Er(e)}function Sv(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Tc(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(u){throw u},f:o}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
27
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,a=!1,s;return{s:function(){r=r.call(e)},n:function(){var u=r.next();return i=u.done,u},e:function(u){a=!0,s=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(a)throw s}}}}function Ec(e,t){return Ov(e)||Rv(e,t)||Tc(e,t)||Tv()}function Tv(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
28
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Tc(e,t){if(e){if(typeof e=="string")return Ac(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ac(e,t)}}function Ac(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Rv(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,a,s=[],f=!0,u=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);f=!0);}catch(d){u=!0,o=d}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}function Ov(e){if(Array.isArray(e))return e}function Sc(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Iv(n.key),n)}}function Pv(e,t,r){return t&&Sc(e.prototype,t),r&&Sc(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Iv(e){var t=Nv(e,"string");return Er(t)==="symbol"?t:String(t)}function Nv(e,t){if(Er(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Er(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function wv(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var Mi=function(){function e(r){wv(this,e),this.uniformBlocks=new Map,this.uniformBufferLayouts=new Map,this.uniformBuffers=new Map;for(var n=0,o=Object.entries(r);n<o.length;n++){var i=Ec(o[n],2),a=i[0],s=i[1],f=a,u=new dc(s.uniformTypes||{});this.uniformBufferLayouts.set(f,u);var d=new bc({name:a});d.setUniforms(s.defaultUniforms||{}),this.uniformBlocks.set(f,d)}}var t=e.prototype;return t.destroy=function(){for(var n=0,o=Object.values(this.uniformBuffers);n<o.length;n++){var i=o[n];i.destroy()}},t.setUniforms=function(n){for(var o=0,i=Object.entries(n);o<i.length;o++){var a=Ec(i[o],2),s=a[0],f=a[1];this.uniformBlocks.get(s).setUniforms(f)}this.updateUniformBuffers()},t.getUniformBufferByteLength=function(n){return this.uniformBufferLayouts.get(n).byteLength},t.getUniformBufferData=function(n){var o=this.uniformBlocks.get(n).getAllUniforms();return this.uniformBufferLayouts.get(n).getData(o)},t.createUniformBuffer=function(n,o,i){i&&this.setUniforms(i);var a=this.getUniformBufferByteLength(o),s=n.createBuffer({usage:Q.UNIFORM,byteLength:a}),f=this.getUniformBufferData(o);return s.write(f),s},t.getManagedUniformBuffer=function(n,o){if(!this.uniformBuffers.get(o)){var i=this.getUniformBufferByteLength(o),a=n.createBuffer({usage:Q.UNIFORM,byteLength:i});this.uniformBuffers.set(o,a)}return this.uniformBuffers.get(o)},t.updateUniformBuffers=function(){var n=!1,o=Sv(this.uniformBlocks.keys()),i;try{for(o.s();!(i=o.n()).done;){var a=i.value,s=this.updateUniformBuffer(a);n||(n=s)}}catch(f){o.e(f)}finally{o.f()}return n&&x.log(3,"UniformStore.updateUniformBuffers(): ".concat(n))(),n},t.updateUniformBuffer=function(n){var o=this.uniformBlocks.get(n),i=this.uniformBuffers.get(n),a=!1;if(i&&o.needsRedraw){a||(a=o.needsRedraw);var s=this.getUniformBufferData(n),f=this.uniformBuffers.get(n);f.write(s);var u=this.uniformBlocks.get(n).getAllUniforms();x.log(4,"Writing to uniform buffer ".concat(String(n)),s,u)()}return a},Pv(e)}();function Ar(e){return Ar=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ar(e)}function Rc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Mv(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Rc(Object(r),!0).forEach(function(n){xv(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Rc(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function xv(e,t,r){return t=Cv(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Cv(e){var t=Fv(e,"string");return Ar(t)==="symbol"?t:String(t)}function Fv(e,t){if(Ar(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Ar(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Bv(e,t){return jv(e)||Lv(e,t)||Uv(e,t)||Dv()}function Dv(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
29
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Uv(e,t){if(e){if(typeof e=="string")return Oc(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Oc(e,t)}}function Oc(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Lv(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,a,s=[],f=!0,u=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);f=!0);}catch(d){u=!0,o=d}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}function jv(e){if(Array.isArray(e))return e}var Hv=/^(rg?b?a?)([0-9]*)([a-z]*)(-srgb)?(-webgl|-unsized)?$/;function fo(e){var t=Hv.exec(e);if(t){var r=Bv(t,6),n=r[1],o=r[2],i=r[3],a=r[4],s=r[5];if(n){var f="".concat(i).concat(o),u=Jn(f);return Mv({format:n,components:n.length,srgb:a==="-srgb",unsized:s==="-unsized",webgl:s==="-webgl"},u)}}return Xv(e)}var Vv={"rgba4unorm-webgl":{format:"rgba",bpp:2},"rgb565unorm-webgl":{format:"rgb",bpp:2},"rgb5a1unorm-webgl":{format:"rgba",bbp:2},rgb9e5ufloat:{format:"rgb",bbp:4},rg11b10ufloat:{format:"rgb",bbp:4},rgb10a2unorm:{format:"rgba",bbp:4},"rgb10a2unorm-webgl":{format:"rgba",bbp:4},stencil8:{components:1,bpp:1,a:"stencil"},depth16unorm:{components:1,bpp:2,a:"depth"},depth24plus:{components:1,bpp:3,a:"depth"},depth32float:{components:1,bpp:4,a:"depth"},"depth24plus-stencil8":{components:2,bpp:4,a:"depth-stencil"},"depth24unorm-stencil8":{components:2,bpp:4,a:"depth-stencil"},"depth32float-stencil8":{components:2,bpp:4,a:"depth-stencil"}};function Xv(e){var t,r=Vv[e];if(!r)throw new Error("Unknown format ".concat(e));return{format:r.format||"",components:r.components||((t=r.format)===null||t===void 0?void 0:t.length)||1,byteLength:r.bpp||1,srgb:!1,unsized:!1}}function Pc(e){var t=ArrayBuffer.isView(e)?e.constructor:e;switch(t){case Float32Array:return"float32";case Uint16Array:return"uint16";case Uint32Array:return"uint32";case Uint8Array:case Uint8ClampedArray:return"uint8";case Int8Array:return"sint8";case Int16Array:return"sint16";case Int32Array:return"sint32";default:throw new Error(t.constructor.name)}}function xi(e){switch(e){case"float32":return Float32Array;case"uint32":return Uint32Array;case"sint32":return Int32Array;case"uint16":case"unorm16":return Uint16Array;case"sint16":case"snorm16":return Int16Array;case"uint8":case"unorm8":return Uint8Array;case"sint8":case"snorm8":return Int8Array;default:throw new Error(e)}}function Ci(e,t,r){if(!t||t>4)throw new Error("size ".concat(t));var n=t,o=Pc(e);if(o==="uint8"||o==="sint8"){if(n===1||n===3)throw new Error("size: ".concat(t));return r&&(o=o.replace("int","norm")),"".concat(o,"x").concat(n)}if(o==="uint16"||o==="sint16"){if(n===1||n===3)throw new Error("size: ".concat(t));return r&&(o=o.replace("int","norm")),"".concat(o,"x").concat(n)}return n===1?o:"".concat(o,"x").concat(n)}function Ic(e){return Ke(e)!==null||typeof e=="number"||typeof e=="boolean"}function Sr(e){var t={bindings:{},uniforms:{}};return Object.keys(e).forEach(function(r){var n=e[r];Ic(n)?t.uniforms[r]=n:t.bindings[r]=n}),t}function Fi(e,t,r,n){var o="See luma.gl ".concat(r," Upgrade Guide at https://luma.gl/docs/upgrade-guide"),i=Object.getPrototypeOf(e);n.forEach(function(a){i.methodName||(i[a]=function(){throw x.removed("Calling removed method ".concat(t,".").concat(a,": "),o)(),new Error(a)})})}function Wv(e,t){return Yv(e)||kv(e,t)||Kv(e,t)||Gv()}function Gv(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
30
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Kv(e,t){if(e){if(typeof e=="string")return Nc(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Nc(e,t)}}function Nc(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function kv(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,a,s=[],f=!0,u=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);f=!0);}catch(d){u=!0,o=d}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}function Yv(e){if(Array.isArray(e))return e}function Bi(e,t,r){var n=r.removedProps,o=n===void 0?{}:n,i=r.deprecatedProps,a=i===void 0?{}:i,s=r.replacedProps,f=s===void 0?{}:s;for(var u in o)if(u in t){var d=o[u],m=d?"".concat(e,".").concat(o[u]):"N/A";x.removed("".concat(e,".").concat(u),m)()}for(var v in a)if(v in t){var E=a[v];x.deprecated("".concat(e,".").concat(v),"".concat(e,".").concat(E))()}for(var A=null,T=0,O=Object.entries(f);T<O.length;T++){var R=Wv(O[T],2),P=R[0],M=R[1];P in t&&(x.deprecated("".concat(e,".").concat(P),"".concat(e,".").concat(M))(),A=A||Object.assign({},t),A[M]=t[P],delete A[P])}return A||t}function Di(e){return Di=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Di(e)}function Tr(){"use strict";Tr=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(h,l,p){h[l]=p.value},o=typeof Symbol=="function"?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function f(h,l,p){return Object.defineProperty(h,l,{value:p,enumerable:!0,configurable:!0,writable:!0}),h[l]}try{f({},"")}catch{f=function(p,_,g){return p[_]=g}}function u(h,l,p,_){var g=l&&l.prototype instanceof v?l:v,y=Object.create(g.prototype),S=new X(_||[]);return n(y,"_invoke",{value:B(h,p,S)}),y}function d(h,l,p){try{return{type:"normal",arg:h.call(l,p)}}catch(_){return{type:"throw",arg:_}}}e.wrap=u;var m={};function v(){}function E(){}function A(){}var T={};f(T,i,function(){return this});var O=Object.getPrototypeOf,R=O&&O(O(j([])));R&&R!==t&&r.call(R,i)&&(T=R);var P=A.prototype=v.prototype=Object.create(T);function M(h){["next","throw","return"].forEach(function(l){f(h,l,function(p){return this._invoke(l,p)})})}function N(h,l){function p(g,y,S,I){var w=d(h[g],h,y);if(w.type!=="throw"){var U=w.arg,D=U.value;return D&&Di(D)=="object"&&r.call(D,"__await")?l.resolve(D.__await).then(function(V){p("next",V,S,I)},function(V){p("throw",V,S,I)}):l.resolve(D).then(function(V){U.value=V,S(U)},function(V){return p("throw",V,S,I)})}I(w.arg)}var _;n(this,"_invoke",{value:function(y,S){function I(){return new l(function(w,U){p(y,S,w,U)})}return _=_?_.then(I,I):I()}})}function B(h,l,p){var _="suspendedStart";return function(g,y){if(_==="executing")throw new Error("Generator is already running");if(_==="completed"){if(g==="throw")throw y;return G()}for(p.method=g,p.arg=y;;){var S=p.delegate;if(S){var I=F(S,p);if(I){if(I===m)continue;return I}}if(p.method==="next")p.sent=p._sent=p.arg;else if(p.method==="throw"){if(_==="suspendedStart")throw _="completed",p.arg;p.dispatchException(p.arg)}else p.method==="return"&&p.abrupt("return",p.arg);_="executing";var w=d(h,l,p);if(w.type==="normal"){if(_=p.done?"completed":"suspendedYield",w.arg===m)continue;return{value:w.arg,done:p.done}}w.type==="throw"&&(_="completed",p.method="throw",p.arg=w.arg)}}}function F(h,l){var p=l.method,_=h.iterator[p];if(_===void 0)return l.delegate=null,p==="throw"&&h.iterator.return&&(l.method="return",l.arg=void 0,F(h,l),l.method==="throw")||p!=="return"&&(l.method="throw",l.arg=new TypeError("The iterator does not provide a '"+p+"' method")),m;var g=d(_,h.iterator,l.arg);if(g.type==="throw")return l.method="throw",l.arg=g.arg,l.delegate=null,m;var y=g.arg;return y?y.done?(l[h.resultName]=y.value,l.next=h.nextLoc,l.method!=="return"&&(l.method="next",l.arg=void 0),l.delegate=null,m):y:(l.method="throw",l.arg=new TypeError("iterator result is not an object"),l.delegate=null,m)}function W(h){var l={tryLoc:h[0]};1 in h&&(l.catchLoc=h[1]),2 in h&&(l.finallyLoc=h[2],l.afterLoc=h[3]),this.tryEntries.push(l)}function H(h){var l=h.completion||{};l.type="normal",delete l.arg,h.completion=l}function X(h){this.tryEntries=[{tryLoc:"root"}],h.forEach(W,this),this.reset(!0)}function j(h){if(h){var l=h[i];if(l)return l.call(h);if(typeof h.next=="function")return h;if(!isNaN(h.length)){var p=-1,_=function g(){for(;++p<h.length;)if(r.call(h,p))return g.value=h[p],g.done=!1,g;return g.value=void 0,g.done=!0,g};return _.next=_}}return{next:G}}function G(){return{value:void 0,done:!0}}return E.prototype=A,n(P,"constructor",{value:A,configurable:!0}),n(A,"constructor",{value:E,configurable:!0}),E.displayName=f(A,s,"GeneratorFunction"),e.isGeneratorFunction=function(h){var l=typeof h=="function"&&h.constructor;return!!l&&(l===E||(l.displayName||l.name)==="GeneratorFunction")},e.mark=function(h){return Object.setPrototypeOf?Object.setPrototypeOf(h,A):(h.__proto__=A,f(h,s,"GeneratorFunction")),h.prototype=Object.create(P),h},e.awrap=function(h){return{__await:h}},M(N.prototype),f(N.prototype,a,function(){return this}),e.AsyncIterator=N,e.async=function(h,l,p,_,g){g===void 0&&(g=Promise);var y=new N(u(h,l,p,_),g);return e.isGeneratorFunction(l)?y:y.next().then(function(S){return S.done?S.value:y.next()})},M(P),f(P,s,"Generator"),f(P,i,function(){return this}),f(P,"toString",function(){return"[object Generator]"}),e.keys=function(h){var l=Object(h),p=[];for(var _ in l)p.push(_);return p.reverse(),function g(){for(;p.length;){var y=p.pop();if(y in l)return g.value=y,g.done=!1,g}return g.done=!0,g}},e.values=j,X.prototype={constructor:X,reset:function(l){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(H),!l)for(var p in this)p.charAt(0)==="t"&&r.call(this,p)&&!isNaN(+p.slice(1))&&(this[p]=void 0)},stop:function(){this.done=!0;var l=this.tryEntries[0].completion;if(l.type==="throw")throw l.arg;return this.rval},dispatchException:function(l){if(this.done)throw l;var p=this;function _(U,D){return S.type="throw",S.arg=l,p.next=U,D&&(p.method="next",p.arg=void 0),!!D}for(var g=this.tryEntries.length-1;g>=0;--g){var y=this.tryEntries[g],S=y.completion;if(y.tryLoc==="root")return _("end");if(y.tryLoc<=this.prev){var I=r.call(y,"catchLoc"),w=r.call(y,"finallyLoc");if(I&&w){if(this.prev<y.catchLoc)return _(y.catchLoc,!0);if(this.prev<y.finallyLoc)return _(y.finallyLoc)}else if(I){if(this.prev<y.catchLoc)return _(y.catchLoc,!0)}else{if(!w)throw new Error("try statement without catch or finally");if(this.prev<y.finallyLoc)return _(y.finallyLoc)}}}},abrupt:function(l,p){for(var _=this.tryEntries.length-1;_>=0;--_){var g=this.tryEntries[_];if(g.tryLoc<=this.prev&&r.call(g,"finallyLoc")&&this.prev<g.finallyLoc){var y=g;break}}y&&(l==="break"||l==="continue")&&y.tryLoc<=p&&p<=y.finallyLoc&&(y=null);var S=y?y.completion:{};return S.type=l,S.arg=p,y?(this.method="next",this.next=y.finallyLoc,m):this.complete(S)},complete:function(l,p){if(l.type==="throw")throw l.arg;return l.type==="break"||l.type==="continue"?this.next=l.arg:l.type==="return"?(this.rval=this.arg=l.arg,this.method="return",this.next="end"):l.type==="normal"&&p&&(this.next=p),m},finish:function(l){for(var p=this.tryEntries.length-1;p>=0;--p){var _=this.tryEntries[p];if(_.finallyLoc===l)return this.complete(_.completion,_.afterLoc),H(_),m}},catch:function(l){for(var p=this.tryEntries.length-1;p>=0;--p){var _=this.tryEntries[p];if(_.tryLoc===l){var g=_.completion;if(g.type==="throw"){var y=g.arg;H(_)}return y}}throw new Error("illegal catch attempt")},delegateYield:function(l,p,_){return this.delegate={iterator:j(l),resultName:p,nextLoc:_},this.method==="next"&&(this.arg=void 0),m}},e}function wc(e,t,r,n,o,i,a){try{var s=e[i](a),f=s.value}catch(u){r(u);return}s.done?t(f):Promise.resolve(f).then(n,o)}function Mc(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(f){wc(i,n,o,a,s,"next",f)}function s(f){wc(i,n,o,a,s,"throw",f)}a(void 0)})}}var zv="";function ji(e,t){return Ui.apply(this,arguments)}function Ui(){return Ui=Mc(Tr().mark(function e(t,r){return Tr().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:return o.abrupt("return",new Promise(function(i,a){try{var s=new Image;s.onload=function(){return i(s)},s.onerror=function(){return a(new Error("Could not load image ".concat(t,".")))},s.crossOrigin=r?.crossOrigin||"anonymous",s.src=t.startsWith("http")?t:zv+t}catch(f){a(f)}}));case 1:case"end":return o.stop()}},e)})),Ui.apply(this,arguments)}function Rr(e,t){return Li.apply(this,arguments)}function Li(){return Li=Mc(Tr().mark(function e(t,r){var n,o;return Tr().wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(n=document.getElementsByTagName("head")[0],n){a.next=3;break}throw new Error("loadScript");case 3:return o=document.createElement("script"),o.setAttribute("type","text/javascript"),o.setAttribute("src",t),r&&(o.id=r),a.abrupt("return",new Promise(function(s,f){o.onload=s,o.onerror=function(u){return f(new Error("Unable to load script '".concat(t,"': ").concat(u)))},n.appendChild(o)}));case 8:case"end":return a.stop()}},e)})),Li.apply(this,arguments)}function so(e){return so=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},so(e)}function Or(e,t,r){if(e===t)return!0;if(!r||!e||!t)return!1;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(!Or(e[n],t[n],r-1))return!1;return!0}if(Array.isArray(t))return!1;if(so(e)==="object"&&so(t)==="object"){var o=Object.keys(e),i=Object.keys(t);if(o.length!==i.length)return!1;for(var a=0,s=o;a<s.length;a++){var f=s[a];if(!t.hasOwnProperty(f)||!Or(e[f],t[f],r-1))return!1}return!0}return!1}function Ir(e){return Ir=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ir(e)}function xc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Hi(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?xc(Object(r),!0).forEach(function(n){Vi(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):xc(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Vi(e,t,r){return t=qv(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function qv(e){var t=Zv(e,"string");return Ir(t)==="symbol"?t:String(t)}function Zv(e,t){if(Ir(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Ir(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Pe=function(e){return e[e.FUNC_ADD=32774]="FUNC_ADD",e[e.ONE=1]="ONE",e[e.SRC_ALPHA=770]="SRC_ALPHA",e[e.ONE_MINUS_SRC_ALPHA=771]="ONE_MINUS_SRC_ALPHA",e[e.TEXTURE_MIN_FILTER=10241]="TEXTURE_MIN_FILTER",e[e.LINEAR=9729]="LINEAR",e[e.LINEAR_MIPMAP_NEAREST=9985]="LINEAR_MIPMAP_NEAREST",e[e.UNPACK_FLIP_Y_WEBGL=37440]="UNPACK_FLIP_Y_WEBGL",e}(Pe||{});function co(e,t,r,n){var o={defines:{MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},bindings:{},uniforms:{u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},parameters:{},glParameters:{},generatedTextures:[]};e.features.has("glsl-texture-lod")&&(o.defines.USE_TEX_LOD=1);var i=n.imageBasedLightingEnvironment;return i&&(o.bindings.u_DiffuseEnvSampler=i.diffuseEnvSampler,o.bindings.u_SpecularEnvSampler=i.specularEnvSampler,o.bindings.u_brdfLUT=i.brdfLutTexture,o.uniforms.u_ScaleIBLAmbient=[1,1]),n!=null&&n.pbrDebug&&(o.defines.PBR_DEBUG=1,o.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],o.uniforms.u_ScaleFGDSpec=[0,0,0,0]),r.NORMAL&&(o.defines.HAS_NORMALS=1),r.TANGENT&&n!==null&&n!==void 0&&n.useTangents&&(o.defines.HAS_TANGENTS=1),r.TEXCOORD_0&&(o.defines.HAS_UV=1),n!=null&&n.imageBasedLightingEnvironment&&(o.defines.USE_IBL=1),n!=null&&n.lights&&(o.defines.USE_LIGHTS=1),t&&$v(e,t,o),o}function $v(e,t,r){if(r.uniforms.pbr_uUnlit=Boolean(t.unlit),t.pbrMetallicRoughness&&Qv(e,t.pbrMetallicRoughness,r),t.normalTexture){Pr(e,t.normalTexture,"u_NormalSampler","HAS_NORMALMAP",r);var n=t.normalTexture.scale,o=n===void 0?1:n;r.uniforms.u_NormalScale=o}if(t.occlusionTexture){Pr(e,t.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP",r);var i=t.occlusionTexture.strength,a=i===void 0?1:i;r.uniforms.u_OcclusionStrength=a}switch(t.emissiveTexture&&(Pr(e,t.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP",r),r.uniforms.u_EmissiveFactor=t.emissiveFactor||[0,0,0]),t.alphaMode){case"MASK":var s=t.alphaCutoff,f=s===void 0?.5:s;r.defines.ALPHA_CUTOFF=1,r.uniforms.u_AlphaCutoff=f;break;case"BLEND":x.warn("glTF BLEND alphaMode might not work well because it requires mesh sorting")(),r.parameters.blendColorOperation="add",r.parameters.blendColorSrcFactor="src-alpha",r.parameters.blendColorDstFactor="one-minus-src-alpha",r.parameters.blendAlphaOperation="add",r.parameters.blendAlphaSrcFactor="one",r.parameters.blendAlphaDstFactor="one-minus-src-alpha",r.glParameters.blend=!0,r.glParameters.blendEquation=Pe.FUNC_ADD,r.glParameters.blendFunc=[Pe.SRC_ALPHA,Pe.ONE_MINUS_SRC_ALPHA,Pe.ONE,Pe.ONE_MINUS_SRC_ALPHA];break}}function Qv(e,t,r){t.baseColorTexture&&Pr(e,t.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP",r),r.uniforms.u_BaseColorFactor=t.baseColorFactor||[1,1,1,1],t.metallicRoughnessTexture&&Pr(e,t.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP",r);var n=t.metallicFactor,o=n===void 0?1:n,i=t.roughnessFactor,a=i===void 0?1:i;r.uniforms.u_MetallicRoughnessValues=[o,a]}function Pr(e,t,r){var n,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,i=arguments.length>4?arguments[4]:void 0,a=(t==null||(n=t.texture)===null||n===void 0||(n=n.sampler)===null||n===void 0?void 0:n.parameters)||{},s=t.texture.source.image,f,u={};s.compressed?(f=s,u=Vi({},Pe.TEXTURE_MIN_FILTER,s.data.length>1?Pe.LINEAR_MIPMAP_NEAREST:Pe.LINEAR)):f={data:s};var d=e.createTexture(Hi({id:t.uniformName||t.id,parameters:Hi(Hi({},a),u),pixelStore:Vi({},Pe.UNPACK_FLIP_Y_WEBGL,!1)},f));i.bindings[r]=d,o&&(i.defines[o]=1),i.generatedTextures.push(d)}function Xi(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var Jv="",Cc={};function Wi(e){for(let t in Cc)if(e.startsWith(t)){let r=Cc[t];e=e.replace(t,r)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${Jv}${e}`),e}var Fc=typeof __VERSION__<"u"?__VERSION__:"latest";function Nr(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var Ie={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},eb=Ie.self||Ie.window||Ie.global||{},tb=Ie.window||Ie.self||Ie.global||{},rb=Ie.global||Ie.self||Ie.window||{},nb=Ie.document||{};var Gi=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var Bc=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),ob=Bc&&parseFloat(Bc[1])||0;var Ki,ib=(Ki=globalThis.loaders)===null||Ki===void 0?void 0:Ki.parseImageNode,ki=typeof Image<"u",Yi=typeof ImageBitmap<"u",ab=Boolean(ib),zi=Gi?!0:ab;function Dc(e){switch(e){case"auto":return Yi||ki||zi;case"imagebitmap":return Yi;case"image":return ki;case"data":return zi;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function Uc(){if(Yi)return"imagebitmap";if(ki)return"image";if(zi)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function Lc(e){let t=fb(e);if(!t)throw new Error("Not an image");return t}function qi(e){return uo(e)}function uo(e){switch(Lc(e)){case"data":return e;case"image":case"imagebitmap":let t=document.createElement("canvas"),r=t.getContext("2d");if(!r)throw new Error("getImageData");return t.width=e.width,t.height=e.height,r.drawImage(e,0,0),r.getImageData(0,0,e.width,e.height);default:throw new Error("getImageData")}}function fb(e){return typeof ImageBitmap<"u"&&e instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&e instanceof Image?"image":e&&typeof e=="object"&&e.data&&e.width&&e.height?"data":null}var sb=/^data:image\/svg\+xml/,cb=/\.svg((\?|#).*)?$/;function lo(e){return e&&(sb.test(e)||cb.test(e))}function jc(e,t){if(lo(t)){let n=new TextDecoder().decode(e);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(n=unescape(encodeURIComponent(n)))}catch(i){throw new Error(i.message)}return`data:image/svg+xml;base64,${btoa(n)}`}return Zi(e,t)}function Zi(e,t){if(lo(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function po(e,t,r){let n=jc(e,r),o=self.URL||self.webkitURL,i=typeof n!="string"&&o.createObjectURL(n);try{return await ub(i||n,t)}finally{i&&o.revokeObjectURL(i)}}async function ub(e,t){let r=new Image;return r.src=e,t.image&&t.image.decode&&r.decode?(await r.decode(),r):await new Promise((n,o)=>{try{r.onload=()=>n(r),r.onerror=i=>{let a=i instanceof Error?i.message:"error";o(new Error(a))}}catch(i){o(i)}})}var lb={},Hc=!0;async function Vc(e,t,r){let n;lo(r)?n=await po(e,t,r):n=Zi(e,r);let o=t&&t.imagebitmap;return await pb(n,o)}async function pb(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if((hb(t)||!Hc)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),Hc=!1}return await createImageBitmap(e)}function hb(e){for(let t in e||lb)return!1;return!0}function Xc(e){return!mb(e,"ftyp",4)||!(e[8]&96)?null:db(e)}function db(e){switch(_b(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function _b(e,t,r){return String.fromCharCode(...e.slice(t,r))}function yb(e){return[...e].map(t=>t.charCodeAt(0))}function mb(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=yb(t);for(let o=0;o<n.length;++o)if(n[o]!==e[o+r])return!1;return!0}var Ne=!1,wr=!0;function ho(e){let t=Mr(e);return vb(t)||Ab(t)||bb(t)||Eb(t)||gb(t)}function gb(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),r=Xc(t);return r?{mimeType:r.mimeType,width:0,height:0}:null}function vb(e){let t=Mr(e);return t.byteLength>=24&&t.getUint32(0,Ne)===2303741511?{mimeType:"image/png",width:t.getUint32(16,Ne),height:t.getUint32(20,Ne)}:null}function bb(e){let t=Mr(e);return t.byteLength>=10&&t.getUint32(0,Ne)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,wr),height:t.getUint16(8,wr)}:null}function Eb(e){let t=Mr(e);return t.byteLength>=14&&t.getUint16(0,Ne)===16973&&t.getUint32(2,wr)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,wr),height:t.getUint32(22,wr)}:null}function Ab(e){let t=Mr(e);if(!(t.byteLength>=3&&t.getUint16(0,Ne)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:n,sofMarkers:o}=Sb(),i=2;for(;i+9<t.byteLength;){let a=t.getUint16(i,Ne);if(o.has(a))return{mimeType:"image/jpeg",height:t.getUint16(i+5,Ne),width:t.getUint16(i+7,Ne)};if(!n.has(a))return null;i+=2,i+=t.getUint16(i,Ne)}return null}function Sb(){let e=new Set([65499,65476,65484,65501,65534]);for(let r=65504;r<65520;++r)e.add(r);return{tableMarkers:e,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function Mr(e){if(e instanceof DataView)return e;if(ArrayBuffer.isView(e))return new DataView(e.buffer);if(e instanceof ArrayBuffer)return new DataView(e);throw new Error("toDataView")}async function Wc(e,t){var r;let{mimeType:n}=ho(e)||{},o=(r=globalThis.loaders)===null||r===void 0?void 0:r.parseImageNode;return Nr(o),await o(e,n)}async function Gc(e,t,r){t=t||{};let o=(t.image||{}).type||"auto",{url:i}=r||{},a=Tb(o),s;switch(a){case"imagebitmap":s=await Vc(e,t,i);break;case"image":s=await po(e,t,i);break;case"data":s=await Wc(e,t);break;default:Nr(!1)}return o==="data"&&(s=uo(s)),s}function Tb(e){switch(e){case"auto":case"data":return Uc();default:return Dc(e),e}}var Rb=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],Ob=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],Pb={image:{type:"auto",decode:!0}},_o={id:"image",module:"images",name:"Images",version:Fc,mimeTypes:Ob,extensions:Rb,parse:Gc,tests:[e=>Boolean(ho(new DataView(e)))],options:Pb};function yo(e,t,r){let n=typeof e=="function"?e({...t,...r}):e,o=t.baseUrl;return o&&(n=o[o.length-1]==="/"?`${o}${n}`:`${o}/${n}`),Wi(n)}var Ib=e=>e&&typeof e=="object";async function Kc(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return await $i(e,t,r)}async function $i(e,t,r){return Array.isArray(e)?await wb(e,t,r):Ib(e)?await Nb(e,t,r):await t(e,r)}async function Nb(e,t,r){let n=[],o={};for(let i in e){let a=e[i],s=$i(a,t,r).then(f=>{o[i]=f});n.push(s)}return await Promise.all(n),o}async function wb(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=e.map(o=>$i(o,t,r));return await Promise.all(n)}async function kc(e,t,r){return await Kc(e,n=>Qi(n,t,r))}async function Qi(e,t,r){let o=await(await fetch(e,r.fetch)).arrayBuffer();return await t(o,r)}async function xr(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=await Mb(e,t);return await kc(r,_o.parse,t)}async function Mb(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=t&&t.image&&t.image.mipLevels||0;return n!==0?await xb(e,n,t,r):yo(e,t,r)}async function xb(e,t,r,n){let o=[];if(t==="auto"){let i=yo(e,r,{...n,lod:0}),a=await Qi(i,_o.parse,r),{width:s,height:f}=qi(a);t=Cb({width:s,height:f}),o.push(i)}Xi(t>0);for(let i=o.length;i<t;++i){let a=yo(e,r,{...n,lod:i});o.push(a)}return o}function Cb(e){return 1+Math.floor(Math.log2(Math.max(e.width,e.height)))}function zc(e,t){var r=e.createTexture({id:"brdfLUT",sampler:{wrapS:"clamp-to-edge",wrapT:"clamp-to-edge",minFilter:"linear",maxFilter:"linear"},data:xr(t.brdfLutUrl)}),n=Yc(e,{id:"DiffuseEnvSampler",getTextureForFace:function(a){return xr(t.getTexUrl("diffuse",a,0))},sampler:{wrapS:"clamp-to-edge",wrapT:"clamp-to-edge",minFilter:"linear",maxFilter:"linear"}}),o=Yc(e,{id:"SpecularEnvSampler",getTextureForFace:function(a){for(var s=[],f=0;f<=t.specularMipLevels-1;f++)s.push(xr(t.getTexUrl("specular",a,f)));return s},sampler:{wrapS:"clamp-to-edge",wrapT:"clamp-to-edge",minFilter:"linear",maxFilter:"linear"}});return{brdfLutTexture:r,diffuseEnvSampler:n,specularEnvSampler:o}}var Fb=[0,1,2,3,4,5];function Yc(e,t){var r=t.id,n=t.getTextureForFace,o=t.sampler,i={};return Fb.forEach(function(a){i[String(a)]=n(a)}),e.createTexture({id:r,dimension:"cube",mipmaps:!1,sampler:o,data:i})}var oe=function(t){return"".concat(t)};function we(e,t){if(!e)throw new Error(t||"shadertools: assertion failed.")}function qc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Ye(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?qc(Object(r),!0).forEach(function(n){Bb(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):qc(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Bb(e,t,r){return t=Db(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Db(e){var t=Ub(e,"string");return ze(t)==="symbol"?t:String(t)}function Ub(e,t){if(ze(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(ze(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Qc(e,t){return Vb(e)||Hb(e,t)||jb(e,t)||Lb()}function Lb(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
31
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function jb(e,t){if(e){if(typeof e=="string")return Zc(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Zc(e,t)}}function Zc(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Hb(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,a,s=[],f=!0,u=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);f=!0);}catch(d){u=!0,o=d}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}function Vb(e){if(Array.isArray(e))return e}function ze(e){return ze=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ze(e)}var Ji={number:{type:"number",validate:function(t,r){return Number.isFinite(t)&&ze(r)==="object"&&(r.max===void 0||t<=r.max)&&(r.min===void 0||t>=r.min)}},array:{type:"array",validate:function(t,r){return Array.isArray(t)||ArrayBuffer.isView(t)}}};function Jc(e){for(var t={},r=0,n=Object.entries(e);r<n.length;r++){var o=Qc(n[r],2),i=o[0],a=o[1];t[i]=Xb(a)}return t}function eu(e,t,r){for(var n={},o=0,i=Object.entries(t);o<i.length;o++){var a=Qc(i[o],2),s=a[0],f=a[1];e&&s in e&&!f.private?(f.validate&&we(f.validate(e[s],f),"".concat(r,": invalid ").concat(s)),n[s]=e[s]):n[s]=f.value}return n}function Xb(e){var t=$c(e);if(t!=="object")return Ye(Ye({value:e},Ji[t]),{},{type:t});if(ze(e)==="object")return e?e.type!==void 0?Ye(Ye(Ye({},e),Ji[e.type]),{},{type:e.type}):e.value===void 0?{type:"object",value:e}:(t=$c(e.value),Ye(Ye(Ye({},e),Ji[t]),{},{type:t})):{type:"object",value:null};throw new Error("props")}function $c(e){return Array.isArray(e)||ArrayBuffer.isView(e)?"array":ze(e)}var tu,ru;function nu(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var ou=oe(tu||(tu=nu([`#ifdef MODULE_LOGDEPTH
32
- logdepth_adjustPosition(gl_Position);
33
- #endif
34
- `],[`\\
35
- #ifdef MODULE_LOGDEPTH
36
- logdepth_adjustPosition(gl_Position);
37
- #endif
38
- `]))),iu=oe(ru||(ru=nu([`#ifdef MODULE_MATERIAL
39
- gl_FragColor = material_filterColor(gl_FragColor);
40
- #endif
41
-
42
- #ifdef MODULE_LIGHTING
43
- gl_FragColor = lighting_filterColor(gl_FragColor);
44
- #endif
45
-
46
- #ifdef MODULE_FOG
47
- gl_FragColor = fog_filterColor(gl_FragColor);
48
- #endif
49
-
50
- #ifdef MODULE_PICKING
51
- gl_FragColor = picking_filterHighlightColor(gl_FragColor);
52
- gl_FragColor = picking_filterPickingColor(gl_FragColor);
53
- #endif
54
-
55
- #ifdef MODULE_LOGDEPTH
56
- logdepth_setFragDepth();
57
- #endif
58
- `],[`\\
59
- #ifdef MODULE_MATERIAL
60
- gl_FragColor = material_filterColor(gl_FragColor);
61
- #endif
62
-
63
- #ifdef MODULE_LIGHTING
64
- gl_FragColor = lighting_filterColor(gl_FragColor);
65
- #endif
66
-
67
- #ifdef MODULE_FOG
68
- gl_FragColor = fog_filterColor(gl_FragColor);
69
- #endif
70
-
71
- #ifdef MODULE_PICKING
72
- gl_FragColor = picking_filterHighlightColor(gl_FragColor);
73
- gl_FragColor = picking_filterPickingColor(gl_FragColor);
74
- #endif
75
-
76
- #ifdef MODULE_LOGDEPTH
77
- logdepth_setFragDepth();
78
- #endif
79
- `])));var Wb={vertex:ou,fragment:iu},au=/void\s+main\s*\([^)]*\)\s*\{\n?/,fu=/}\n?[^{}]*$/,ea=[],Cr="__LUMA_INJECT_DECLARATIONS__";function su(e){var t={vertex:{},fragment:{}};for(var r in e){var n=e[r],o=Gb(r);typeof n=="string"&&(n={order:0,injection:n}),t[o][r]=n}return t}function Gb(e){var t=e.slice(0,2);switch(t){case"vs":return"vertex";case"fs":return"fragment";default:throw new Error(t)}}function Fr(e,t,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,o=t==="vertex",i=function(){var f=r[a];f.sort(function(v,E){return v.order-E.order}),ea.length=f.length;for(var u=0,d=f.length;u<d;++u)ea[u]=f[u].injection;var m="".concat(ea.join(`
80
- `),`
81
- `);switch(a){case"vs:#decl":o&&(e=e.replace(Cr,m));break;case"vs:#main-start":o&&(e=e.replace(au,function(v){return v+m}));break;case"vs:#main-end":o&&(e=e.replace(fu,function(v){return m+v}));break;case"fs:#decl":o||(e=e.replace(Cr,m));break;case"fs:#main-start":o||(e=e.replace(au,function(v){return v+m}));break;case"fs:#main-end":o||(e=e.replace(fu,function(v){return m+v}));break;default:e=e.replace(a,function(v){return v+m})}};for(var a in r)i();return e=e.replace(Cr,""),n&&(e=e.replace(/\}\s*$/,function(s){return s+Wb[t]})),e}function Br(e){return Br=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Br(e)}function cu(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,kb(n.key),n)}}function Kb(e,t,r){return t&&cu(e.prototype,t),r&&cu(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function kb(e){var t=Yb(e,"string");return Br(t)==="symbol"?t:String(t)}function Yb(e,t){if(Br(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Br(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function zb(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var qb=1,mo=function(){e.instantiateModules=function(n){return n.map(function(o){if(o instanceof e)return o;we(typeof o!="string","Shader module use by name is deprecated. Import shader module '".concat(JSON.stringify(o),"' and use it directly.")),o.name||(console.warn("shader module has no name"),o.name="shader-module-".concat(qb++));var i=new e(o);return i.dependencies=e.instantiateModules(o.dependencies||[]),i})};function e(r){zb(this,e),this.name=void 0,this.vs=void 0,this.fs=void 0,this.getModuleUniforms=void 0,this.dependencies=void 0,this.deprecations=void 0,this.defines=void 0,this.injections=void 0,this.uniforms={},this.uniformTypes={};var n=r.name,o=r.vs,i=r.fs,a=r.dependencies,s=a===void 0?[]:a,f=r.uniformPropTypes,u=f===void 0?{}:f,d=r.getUniforms,m=r.deprecations,v=m===void 0?[]:m,E=r.defines,A=E===void 0?{}:E,T=r.inject,O=T===void 0?{}:T;we(typeof n=="string"),this.name=n,this.vs=o,this.fs=i,this.getModuleUniforms=d,this.dependencies=e.instantiateModules(s),this.deprecations=this._parseDeprecationDefinitions(v),this.defines=A,this.injections=su(O),u&&(this.uniforms=Jc(u))}var t=e.prototype;return t.getModuleSource=function(n){var o;switch(n){case"vertex":o=this.vs||"";break;case"fragment":o=this.fs||"";break;default:we(!1)}var i=this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_");return"// ----- MODULE ".concat(this.name,` ---------------
82
-
83
- #define MODULE_`).concat(i,`
84
- `).concat(o,`
85
-
86
- `)},t.getUniforms=function(n,o){return this.getModuleUniforms?this.getModuleUniforms(n,o):eu(n,this.uniforms,this.name)},t.getDefines=function(){return this.defines},t.checkDeprecations=function(n,o){this.deprecations.forEach(function(i){var a;(a=i.regex)!==null&&a!==void 0&&a.test(n)&&(i.deprecated?o.deprecated(i.old,i.new)():o.removed(i.old,i.new)())})},t._parseDeprecationDefinitions=function(n){return n.forEach(function(o){switch(o.type){case"function":o.regex=new RegExp("\\b".concat(o.old,"\\("));break;default:o.regex=new RegExp("".concat(o.type," ").concat(o.old,";"))}}),n},t._defaultGetUniforms=function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o={},i=this.uniforms;for(var a in i){var s=i[a];a in n&&!s.private?(s.validate&&we(s.validate(n[a],s),"".concat(this.name,": invalid ").concat(a)),o[a]=n[a]):o[a]=s.value}return o},Kb(e)}();function uu(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Zb(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(u){throw u},f:o}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
87
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,a=!1,s;return{s:function(){r=r.call(e)},n:function(){var u=r.next();return i=u.done,u},e:function(u){a=!0,s=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(a)throw s}}}}function Zb(e,t){if(e){if(typeof e=="string")return lu(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return lu(e,t)}}function lu(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Dr(e){var t=mo.instantiateModules(e);return $b(t)}function $b(e){var t={},r={};return pu({modules:e,level:0,moduleMap:t,moduleDepth:r}),Object.keys(r).sort(function(n,o){return r[o]-r[n]}).map(function(n){return t[n]})}function pu(e){var t=e.modules,r=e.level,n=e.moduleMap,o=e.moduleDepth;if(r>=5)throw new Error("Possible loop in shader dependency graph");var i=uu(t),a;try{for(i.s();!(a=i.n()).done;){var s=a.value;n[s.name]=s,(o[s.name]===void 0||o[s.name]<r)&&(o[s.name]=r)}}catch(m){i.e(m)}finally{i.f()}var f=uu(t),u;try{for(f.s();!(u=f.n()).done;){var d=u.value;d.dependencies&&pu({modules:d.dependencies,level:r+1,moduleMap:n,moduleDepth:o})}}catch(m){f.e(m)}finally{f.f()}}var hu,du,_u,yu,mu,gu,vu,bu,Eu,Au;function Me(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function Su(e){switch(e?.gpu.toLowerCase()){case"apple":return oe(hu||(hu=Me([`#define APPLE_GPU
88
- // Apple optimizes away the calculation necessary for emulated fp64
89
- #define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1
90
- #define LUMA_FP32_TAN_PRECISION_WORKAROUND 1
91
- // Intel GPU doesn't have full 32 bits precision in same cases, causes overflow
92
- #define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1
93
- `],[`\\
94
- #define APPLE_GPU
95
- // Apple optimizes away the calculation necessary for emulated fp64
96
- #define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1
97
- #define LUMA_FP32_TAN_PRECISION_WORKAROUND 1
98
- // Intel GPU doesn't have full 32 bits precision in same cases, causes overflow
99
- #define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1
100
- `])));case"nvidia":return oe(du||(du=Me([`#define NVIDIA_GPU
101
- // Nvidia optimizes away the calculation necessary for emulated fp64
102
- #define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1
103
- `],[`\\
104
- #define NVIDIA_GPU
105
- // Nvidia optimizes away the calculation necessary for emulated fp64
106
- #define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1
107
- `])));case"intel":return oe(_u||(_u=Me([`#define INTEL_GPU
108
- // Intel optimizes away the calculation necessary for emulated fp64
109
- #define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1
110
- // Intel's built-in 'tan' function doesn't have acceptable precision
111
- #define LUMA_FP32_TAN_PRECISION_WORKAROUND 1
112
- // Intel GPU doesn't have full 32 bits precision in same cases, causes overflow
113
- #define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1
114
- `],[`\\
115
- #define INTEL_GPU
116
- // Intel optimizes away the calculation necessary for emulated fp64
117
- #define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1
118
- // Intel's built-in 'tan' function doesn't have acceptable precision
119
- #define LUMA_FP32_TAN_PRECISION_WORKAROUND 1
120
- // Intel GPU doesn't have full 32 bits precision in same cases, causes overflow
121
- #define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1
122
- `])));case"amd":return oe(yu||(yu=Me([`#define AMD_GPU
123
- `],[`\\
124
- #define AMD_GPU
125
- `])));default:return oe(mu||(mu=Me([`#define DEFAULT_GPU
126
- // Prevent driver from optimizing away the calculation necessary for emulated fp64
127
- #define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1
128
- // Headless Chrome's software shader 'tan' function doesn't have acceptable precision
129
- #define LUMA_FP32_TAN_PRECISION_WORKAROUND 1
130
- // If the GPU doesn't have full 32 bits precision, will causes overflow
131
- #define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1
132
- `],[`\\
133
- #define DEFAULT_GPU
134
- // Prevent driver from optimizing away the calculation necessary for emulated fp64
135
- #define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1
136
- // Headless Chrome's software shader 'tan' function doesn't have acceptable precision
137
- #define LUMA_FP32_TAN_PRECISION_WORKAROUND 1
138
- // If the GPU doesn't have full 32 bits precision, will causes overflow
139
- #define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1
140
- `])))}}function Tu(e){var t="";return e.features.has("webgl2")&&(t+=oe(gu||(gu=Me([`# define FEATURE_GLSL_DERIVATIVES
141
- # define FEATURE_GLSL_DRAW_BUFFERS
142
- # define FEATURE_GLSL_FRAG_DEPTH
143
- # define FEATURE_GLSL_TEXTURE_LOD
144
- `],[`\\
145
- # define FEATURE_GLSL_DERIVATIVES
146
- # define FEATURE_GLSL_DRAW_BUFFERS
147
- # define FEATURE_GLSL_FRAG_DEPTH
148
- # define FEATURE_GLSL_TEXTURE_LOD
149
- `])))),e.features.has("webgl2")||(e.features.has("glsl-frag-depth")&&(t+=oe(vu||(vu=Me([`
150
- // FEATURE_GLSL_FRAG_DEPTH => gl_FragDepth is available
151
- #ifdef GL_EXT_frag_depth
152
- # extension GL_EXT_frag_depth : enable
153
- # define FEATURE_GLSL_FRAG_DEPTH
154
- # define FRAG_DEPTH
155
- # define gl_FragDepth gl_FragDepthEXT
156
- #endif
157
- `],[`\\
158
-
159
- // FEATURE_GLSL_FRAG_DEPTH => gl_FragDepth is available
160
- #ifdef GL_EXT_frag_depth
161
- # extension GL_EXT_frag_depth : enable
162
- # define FEATURE_GLSL_FRAG_DEPTH
163
- # define FRAG_DEPTH
164
- # define gl_FragDepth gl_FragDepthEXT
165
- #endif
166
- `])))),e!=null&&e.features.has("glsl-derivatives")&&(t+=oe(bu||(bu=Me([`
167
- // FEATURE_GLSL_DERIVATIVES => dxdF, dxdY and fwidth are available
168
- #if defined(GL_OES_standard_derivatives) || defined(FEATURE_GLSL_DERIVATIVES)
169
- # extension GL_OES_standard_derivatives : enable
170
- # define FEATURE_GLSL_DERIVATIVES
171
- #endif
172
- `],[`\\
173
-
174
- // FEATURE_GLSL_DERIVATIVES => dxdF, dxdY and fwidth are available
175
- #if defined(GL_OES_standard_derivatives) || defined(FEATURE_GLSL_DERIVATIVES)
176
- # extension GL_OES_standard_derivatives : enable
177
- # define FEATURE_GLSL_DERIVATIVES
178
- #endif
179
- `])))),e!=null&&e.features.has("glsl-frag-data")&&(t+=oe(Eu||(Eu=Me([`
180
- // FEATURE_GLSL_DRAW_BUFFERS => gl_FragData[] is available
181
- #ifdef GL_EXT_draw_buffers
182
- # extension GL_EXT_draw_buffers : require
183
- # define FEATURE_GLSL_DRAW_BUFFERS
184
- #endif
185
- `],[`\\
186
-
187
- // FEATURE_GLSL_DRAW_BUFFERS => gl_FragData[] is available
188
- #ifdef GL_EXT_draw_buffers
189
- # extension GL_EXT_draw_buffers : require
190
- # define FEATURE_GLSL_DRAW_BUFFERS
191
- #endif
192
- `])))),e!=null&&e.features.has("glsl-texture-lod")&&(t+=oe(Au||(Au=Me([`// TEXTURE_LOD => texture2DLod etc are available
193
- #ifdef GL_EXT_shader_texture_lod
194
- # extension GL_EXT_shader_texture_lod : enable
195
- # define FEATURE_GLSL_TEXTURE_LOD
196
- # define TEXTURE_LOD
197
- #endif
198
- `],[`\\
199
- // TEXTURE_LOD => texture2DLod etc are available
200
- #ifdef GL_EXT_shader_texture_lod
201
- # extension GL_EXT_shader_texture_lod : enable
202
- # define FEATURE_GLSL_TEXTURE_LOD
203
- # define TEXTURE_LOD
204
- #endif
205
- `]))))),t}function Qb(e,t){return tE(e)||eE(e,t)||Pu(e,t)||Jb()}function Jb(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
206
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function eE(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,a,s=[],f=!0,u=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);f=!0);}catch(d){u=!0,o=d}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}function tE(e){if(Array.isArray(e))return e}function rE(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Pu(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(u){throw u},f:o}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
207
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,a=!1,s;return{s:function(){r=r.call(e)},n:function(){var u=r.next();return i=u.done,u},e:function(u){a=!0,s=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(a)throw s}}}}function Pu(e,t){if(e){if(typeof e=="string")return Ru(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ru(e,t)}}function Ru(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Iu(e,t,r){var n,o=Number(((n=e.match(/^#version[ \t]+(\d+)/m))===null||n===void 0?void 0:n[1])||100);if(o!==300)throw new Error("luma.gl v9 only supports GLSL 3.00 shader sources");switch(t){case 300:switch(r){case"vertex":return e=Ur(e,nE),e;case"fragment":return e=Ur(e,oE),e;default:throw new Error(r)}case 100:switch(r){case"vertex":return e=Ur(e,iE),e;case"fragment":return e=Ur(e,Mu),e=fE(e),e;default:throw new Error(r)}default:throw new Error(String(t))}}var Nu=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,`#version 300 es
208
- `],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],nE=[].concat(Nu,[[Mt("attribute"),"in $1"],[Mt("varying"),"out $1"]]),oE=[].concat(Nu,[[Mt("varying"),"in $1"]]),wu=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],iE=[].concat(wu,[[Mt("in"),"attribute $1"],[Mt("out"),"varying $1"]]),Mu=[].concat(wu,[[Mt("in"),"varying $1"]]),aE="gl_FragColor",Ou=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/;function Ur(e,t){var r=rE(t),n;try{for(r.s();!(n=r.n()).done;){var o=Qb(n.value,2),i=o[0],a=o[1];e=e.replace(i,a)}}catch(s){r.e(s)}finally{r.f()}return e}function fE(e){e=Ur(e,Mu);var t=Ou.exec(e);if(t){var r=t[1];e=e.replace(Ou,"").replace(new RegExp("\\b".concat(r,"\\b"),"g"),aE)}return e}function Mt(e){return new RegExp("\\b".concat(e,"[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)"),"g")}function sE(e,t){return lE(e)||uE(e,t)||Fu(e,t)||cE()}function cE(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
209
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function uE(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,a,s=[],f=!0,u=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);f=!0);}catch(d){u=!0,o=d}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}function lE(e){if(Array.isArray(e))return e}function Cu(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Fu(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(u){throw u},f:o}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
210
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,a=!1,s;return{s:function(){r=r.call(e)},n:function(){var u=r.next();return i=u.done,u},e:function(u){a=!0,s=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(a)throw s}}}}function Fu(e,t){if(e){if(typeof e=="string")return xu(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return xu(e,t)}}function xu(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function ta(e,t){var r="";for(var n in e){var o=e[n];if(r+="void ".concat(o.signature,` {
211
- `),o.header&&(r+=" ".concat(o.header)),t[n]){var i=t[n];i.sort(function(u,d){return u.order-d.order});var a=Cu(i),s;try{for(a.s();!(s=a.n()).done;){var f=s.value;r+=" ".concat(f.injection,`
212
- `)}}catch(u){a.e(u)}finally{a.f()}}o.footer&&(r+=" ".concat(o.footer)),r+=`}
213
- `}return r}function ra(e){var t={vertex:{},fragment:{}},r=Cu(e),n;try{for(r.s();!(n=r.n()).done;){var o=n.value,i=void 0,a=void 0;typeof o!="string"?(i=o,a=i.hook):(i={},a=o),a=a.trim();var s=a.split(":"),f=sE(s,2),u=f[0],d=f[1],m=a.replace(/\(.+/,""),v=Object.assign(i,{signature:d});switch(u){case"vs":t.vertex[m]=v;break;case"fs":t.fragment[m]=v;break;default:throw new Error(u)}}}catch(E){r.e(E)}finally{r.f()}return t}function Bu(e,t){return{name:pE(e,t),language:"glsl",version:hE(e)}}function pE(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"unnamed",r=/#define[\s*]SHADER_NAME[\s*]([A-Za-z0-9_-]+)[\s*]/,n=r.exec(e);return n?n[1]:t}function hE(e){var t=100,r=e.match(/[^\s]+/g);if(r&&r.length>=2&&r[0]==="#version"){var n=parseInt(r[1],10);Number.isFinite(n)&&(t=n)}if(t!==100&&t!==300)throw new Error("Invalid GLSL version ".concat(t));return t}function Lr(e){return Lr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Lr(e)}var Du;function na(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=dE(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(u){throw u},f:o}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
214
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,a=!1,s;return{s:function(){r=r.call(e)},n:function(){var u=r.next();return i=u.done,u},e:function(u){a=!0,s=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(a)throw s}}}}function dE(e,t){if(e){if(typeof e=="string")return Uu(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Uu(e,t)}}function Uu(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Lu(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function qe(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Lu(Object(r),!0).forEach(function(n){_E(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Lu(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function _E(e,t,r){return t=yE(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function yE(e){var t=mE(e,"string");return Lr(t)==="symbol"?t:String(t)}function mE(e,t){if(Lr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Lr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function gE(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Xu=`
215
-
216
- `.concat(Cr,`
217
- `),vE=oe(Du||(Du=gE([`precision highp float;
218
- `],[`\\
219
- precision highp float;
220
- `])));function Wu(e){var t=e.vs,r=e.fs,n=Dr(e.modules||[]);switch(e.platformInfo.shaderLanguage){case"glsl":return{vs:Hu(e.platformInfo,qe(qe({},e),{},{source:t,stage:"vertex",modules:n})),fs:Hu(e.platformInfo,qe(qe({},e),{},{source:r,stage:"fragment",modules:n})),getUniforms:Vu(n)};case"wgsl":return{vs:ju(e.platformInfo,qe(qe({},e),{},{source:t,stage:"vertex",modules:n})),fs:ju(e.platformInfo,qe(qe({},e),{},{source:r,stage:"fragment",modules:n})),getUniforms:Vu(n)}}}function ju(e,t){var r=t.source,n=t.stage,o=t.modules,i=t.defines,a=i===void 0?{}:i,s=t.hookFunctions,f=s===void 0?[]:s,u=t.inject,d=u===void 0?{}:u,m=t.log;we(typeof r=="string","shader source must be a string");var v=r,E={};o.forEach(function(y){Object.assign(E,y.getDefines())}),Object.assign(E,a);var A="",T=ra(f),O={},R={},P={};for(var M in d){var N=typeof d[M]=="string"?{injection:d[M],order:0}:d[M],B=/^(v|f)s:(#)?([\w-]+)$/.exec(M);if(B){var F=B[2],W=B[3];F?W==="decl"?R[M]=[N]:P[M]=[N]:O[M]=[N]}else P[M]=[N]}var H=na(o),X;try{for(H.s();!(X=H.n()).done;){var j=X.value;m&&j.checkDeprecations(v,m);var G=j.getModuleSource(n,"wgsl");A+=G;var h=j.injections[n];for(var l in h){var p=/^(v|f)s:#([\w-]+)$/.exec(l);if(p){var _=p[2],g=_==="decl"?R:P;g[l]=g[l]||[],g[l].push(h[l])}else O[l]=O[l]||[],O[l].push(h[l])}}}catch(y){H.e(y)}finally{H.f()}return A+=Xu,A=Fr(A,n,R),A+=ta(T[n],O),A+=v,A=Fr(A,n,P),A}function Hu(e,t){var r=t.id,n=t.source,o=t.stage,i=t.language,a=i===void 0?"glsl":i,s=t.modules,f=t.defines,u=f===void 0?{}:f,d=t.hookFunctions,m=d===void 0?[]:d,v=t.inject,E=v===void 0?{}:v,A=t.prologue,T=A===void 0?!0:A,O=t.log;we(typeof n=="string","shader source must be a string");var R=a==="glsl"?Bu(n).version:-1,P=e.shaderLanguageVersion,M=R===100?"#version 100":"#version 300 es",N=n.split(`
221
- `),B=N.slice(1).join(`
222
- `),F={};s.forEach(function(cr){Object.assign(F,cr.getDefines())}),Object.assign(F,u);var W="";switch(a){case"wgsl":break;case"glsl":W=T?"".concat(M,`
223
-
224
- // ----- PROLOGUE -------------------------
225
- `).concat(bE({id:r,source:n,stage:o}),`
226
- `,"#define SHADER_TYPE_".concat(o.toUpperCase()),`
227
- `).concat(Su(e),`
228
- `).concat(Tu(e),`
229
- `).concat(o==="fragment"?vE:"",`
230
-
231
- // ----- APPLICATION DEFINES -------------------------
232
-
233
- `).concat(EE(F),`
234
-
235
- `):"".concat(M,`
236
- `);break}var H=ra(m),X={},j={},G={};for(var h in E){var l=typeof E[h]=="string"?{injection:E[h],order:0}:E[h],p=/^(v|f)s:(#)?([\w-]+)$/.exec(h);if(p){var _=p[2],g=p[3];_?g==="decl"?j[h]=[l]:G[h]=[l]:X[h]=[l]}else G[h]=[l]}var y=na(s),S;try{for(y.s();!(S=y.n()).done;){var I=S.value;O&&I.checkDeprecations(B,O);var w=I.getModuleSource(o);W+=w;var U=I.injections[o];for(var D in U){var V=/^(v|f)s:#([\w-]+)$/.exec(D);if(V){var ai=V[2],We=ai==="decl"?j:G;We[D]=We[D]||[],We[D].push(U[D])}else X[D]=X[D]||[],X[D].push(U[D])}}}catch(cr){y.e(cr)}finally{y.f()}return W+="// ----- MAIN SHADER SOURCE -------------------------",W+=Xu,W=Fr(W,o,j),W+=ta(H[o],X),W+=B,W=Fr(W,o,G),a==="glsl"&&R!==P&&(W=Iu(W,P,o)),W.trim()}function Vu(e){return function(r){var n={},o=na(e),i;try{for(o.s();!(i=o.n()).done;){var a=i.value,s=a.getUniforms(r,n);Object.assign(n,s)}}catch(f){o.e(f)}finally{o.f()}return n}}function bE(e){var t=e.id,r=e.source,n=e.stage,o=t&&r.indexOf("SHADER_NAME")===-1;return o?`
237
- #define SHADER_NAME `.concat(t,"_").concat(n,`
238
-
239
- `):""}function EE(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t="";for(var r in e){var n=e[r];(n||Number.isFinite(n))&&(t+="#define ".concat(r.toUpperCase()," ").concat(e[r],`
240
- `))}return t}function jr(e){return jr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},jr(e)}function Gu(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Ku(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Gu(Object(r),!0).forEach(function(n){AE(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Gu(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function AE(e,t,r){return t=SE(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function SE(e){var t=TE(e,"string");return jr(t)==="symbol"?t:String(t)}function TE(e,t){if(jr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(jr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Yu(e){if(!e.vs)throw new Error("no vertex shader");var t=ku(e.platformInfo,e.vs),r;return e.fs&&(r=ku(e.platformInfo,e.fs)),Ku(Ku({},e),{},{vs:t,fs:r})}function ku(e,t){if(typeof t=="string")return t;switch(e.type){case"webgpu":if(t!=null&&t.wgsl)return t.wgsl;throw new Error("WebGPU does not support GLSL shaders");default:if(t!=null&&t.glsl)return t.glsl;throw new Error("WebGL does not support WGSL shaders")}}function Hr(e){return Hr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Hr(e)}function zu(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function go(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?zu(Object(r),!0).forEach(function(n){RE(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):zu(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function RE(e,t,r){return t=Zu(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function qu(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Zu(n.key),n)}}function OE(e,t,r){return t&&qu(e.prototype,t),r&&qu(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Zu(e){var t=PE(e,"string");return Hr(t)==="symbol"?t:String(t)}function PE(e,t){if(Hr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Hr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function IE(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var vo=function(){function e(){IE(this,e),this._hookFunctions=[],this._defaultModules=[]}e.getDefaultShaderAssembler=function(){return e.defaultShaderAssembler=e.defaultShaderAssembler||new e,e.defaultShaderAssembler};var t=e.prototype;return t.addDefaultModule=function(n){this._defaultModules.find(function(o){return o.name===(typeof n=="string"?n:n.name)})||this._defaultModules.push(n)},t.removeDefaultModule=function(n){var o=typeof n=="string"?n:n.name;this._defaultModules=this._defaultModules.filter(function(i){return i.name!==o})},t.addShaderHook=function(n,o){o&&(n=Object.assign(o,{hook:n})),this._hookFunctions.push(n)},t.assembleShaders=function(n){var o=this._getModuleList(n.modules),i=this._hookFunctions,a=Yu(n),s=Wu(go(go({platformInfo:n.platformInfo},a),{},{modules:o,hookFunctions:i}));return go(go({},s),{},{modules:o})},t._getModuleList=function(){for(var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],o=new Array(this._defaultModules.length+n.length),i={},a=0,s=0,f=this._defaultModules.length;s<f;++s){var u=this._defaultModules[s],d=u.name;o[a++]=u,i[d]=!0}for(var m=0,v=n.length;m<v;++m){var E=n[m],A=E.name;i[A]||(o[a++]=E,i[A]=!0)}return o.length=a,mo.instantiateModules(o)},OE(e)}();vo.defaultShaderAssembler=void 0;var cC=1/Math.PI*180,uC=1/180*Math.PI,NE={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...NE}};var se=globalThis.mathgl.config;function $u(e,{precision:t=se.precision}={}){return e=wE(e),"".concat(parseFloat(e.toPrecision(t)))}function Ze(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function oa(e,t,r){let n=se.EPSILON;r&&(se.EPSILON=r);try{if(e===t)return!0;if(Ze(e)&&Ze(t)){if(e.length!==t.length)return!1;for(let o=0;o<e.length;++o)if(!oa(e[o],t[o]))return!1;return!0}return e&&e.equals?e.equals(t):t&&t.equals?t.equals(e):typeof e=="number"&&typeof t=="number"?Math.abs(e-t)<=se.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{se.EPSILON=n}}function wE(e){return Math.round(e/se.EPSILON)*se.EPSILON}function ME(e){function t(){var r=Reflect.construct(e,Array.from(arguments));return Object.setPrototypeOf(r,Object.getPrototypeOf(this)),r}return t.prototype=Object.create(e.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e,t}var $e=class extends ME(Array){clone(){return new this.constructor().copy(this)}fromArray(t,r=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=t[n+r];return this.check()}toArray(t=[],r=0){for(let n=0;n<this.ELEMENTS;++n)t[r+n]=this[n];return t}toObject(t){return t}from(t){return Array.isArray(t)?this.copy(t):this.fromObject(t)}to(t){return t===this?this:Ze(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(se)}formatString(t){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+$u(this[n],t);return"".concat(t.printTypes?this.constructor.name:"","[").concat(r,"]")}equals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(!oa(this[r],t[r]))return!1;return!0}exactEquals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(this[r]!==t[r])return!1;return!0}negate(){for(let t=0;t<this.ELEMENTS;++t)this[t]=-this[t];return this.check()}lerp(t,r,n){if(n===void 0)return this.lerp(this,t,r);for(let o=0;o<this.ELEMENTS;++o){let i=t[o],a=typeof r=="number"?r:r[o];this[o]=i+n*(a-i)}return this.check()}min(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(t[r],this[r]);return this.check()}max(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.max(t[r],this[r]);return this.check()}clamp(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t[n]),r[n]);return this.check()}add(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]+=r[n];return this.check()}subtract(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]-=r[n];return this.check()}scale(t){if(typeof t=="number")for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;else for(let r=0;r<this.ELEMENTS&&r<t.length;++r)this[r]*=t[r];return this.check()}multiplyByScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}check(){if(se.debug&&!this.validate())throw new Error("math.gl: ".concat(this.constructor.name," some fields set to invalid numbers'"));return this}validate(){let t=this.length===this.ELEMENTS;for(let r=0;r<this.ELEMENTS;++r)t=t&&Number.isFinite(this[r]);return t}sub(t){return this.subtract(t)}setScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=t;return this.check()}addScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]+=t;return this.check()}subScalar(t){return this.addScalar(-t)}multiplyScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}divideScalar(t){return this.multiplyByScalar(1/t)}clampScalar(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t),r);return this.check()}get elements(){return this}};function xE(e,t){if(e.length!==t)return!1;for(let r=0;r<e.length;++r)if(!Number.isFinite(e[r]))return!1;return!0}function $(e){if(!Number.isFinite(e))throw new Error("Invalid number ".concat(JSON.stringify(e)));return e}function xt(e,t,r=""){if(se.debug&&!xE(e,t))throw new Error("math.gl: ".concat(r," some fields set to invalid numbers'"));return e}function ia(e,t){if(!e)throw new Error("math.gl assertion ".concat(t))}var Ct=class extends $e{get x(){return this[0]}set x(t){this[0]=$(t)}get y(){return this[1]}set y(t){this[1]=$(t)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let t=0;for(let r=0;r<this.ELEMENTS;++r)t+=this[r]*this[r];return t}magnitudeSquared(){return this.lengthSquared()}distance(t){return Math.sqrt(this.distanceSquared(t))}distanceSquared(t){let r=0;for(let n=0;n<this.ELEMENTS;++n){let o=this[n]-t[n];r+=o*o}return $(r)}dot(t){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*t[n];return $(r)}normalize(){let t=this.magnitude();if(t!==0)for(let r=0;r<this.ELEMENTS;++r)this[r]/=t;return this.check()}multiply(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]*=r[n];return this.check()}divide(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]/=r[n];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(t){return this.distance(t)}distanceToSquared(t){return this.distanceSquared(t)}getComponent(t){return ia(t>=0&&t<this.ELEMENTS,"index is out of range"),$(this[t])}setComponent(t,r){return ia(t>=0&&t<this.ELEMENTS,"index is out of range"),this[t]=r,this.check()}addVectors(t,r){return this.copy(t).add(r)}subVectors(t,r){return this.copy(t).subtract(r)}multiplyVectors(t,r){return this.copy(t).multiply(r)}addScaledVector(t,r){return this.add(new this.constructor(t).multiplyScalar(r))}};var le=typeof Float32Array<"u"?Float32Array:Array;var EC=Math.PI/180;function CE(){let e=new le(2);return le!=Float32Array&&(e[0]=0,e[1]=0),e}function el(e,t,r){let n=t[0],o=t[1];return e[0]=r[0]*n+r[4]*o+r[12],e[1]=r[1]*n+r[5]*o+r[13],e}var AC=function(){let e=CE();return function(t,r,n,o,i,a){let s,f;for(r||(r=2),n||(n=0),o?f=Math.min(o*r+n,t.length):f=t.length,s=n;s<f;s+=r)e[0]=t[s],e[1]=t[s+1],i(e,e,a),t[s]=e[0],t[s+1]=e[1];return t}}();function tl(e,t,r){let n=t[0],o=t[1],i=r[3]*n+r[7]*o||1;return e[0]=(r[0]*n+r[4]*o)/i,e[1]=(r[1]*n+r[5]*o)/i,e}function bo(e,t,r){let n=t[0],o=t[1],i=t[2],a=r[3]*n+r[7]*o+r[11]*i||1;return e[0]=(r[0]*n+r[4]*o+r[8]*i)/a,e[1]=(r[1]*n+r[5]*o+r[9]*i)/a,e[2]=(r[2]*n+r[6]*o+r[10]*i)/a,e}function rl(e,t,r){let n=t[0],o=t[1];return e[0]=r[0]*n+r[2]*o,e[1]=r[1]*n+r[3]*o,e[2]=t[2],e}function nl(e,t,r){let n=t[0],o=t[1];return e[0]=r[0]*n+r[2]*o,e[1]=r[1]*n+r[3]*o,e[2]=t[2],e[3]=t[3],e}function ol(e,t,r){let n=t[0],o=t[1],i=t[2];return e[0]=r[0]*n+r[3]*o+r[6]*i,e[1]=r[1]*n+r[4]*o+r[7]*i,e[2]=r[2]*n+r[5]*o+r[8]*i,e[3]=t[3],e}function aa(){let e=new le(3);return le!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function FE(e){let t=e[0],r=e[1],n=e[2];return Math.sqrt(t*t+r*r+n*n)}function fa(e,t,r){let n=new le(3);return n[0]=e,n[1]=t,n[2]=r,n}function il(e,t){let r=t[0],n=t[1],o=t[2],i=r*r+n*n+o*o;return i>0&&(i=1/Math.sqrt(i)),e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e}function sa(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Ft(e,t,r){let n=t[0],o=t[1],i=t[2],a=r[0],s=r[1],f=r[2];return e[0]=o*f-i*s,e[1]=i*a-n*f,e[2]=n*s-o*a,e}function Bt(e,t,r){let n=t[0],o=t[1],i=t[2],a=r[3]*n+r[7]*o+r[11]*i+r[15];return a=a||1,e[0]=(r[0]*n+r[4]*o+r[8]*i+r[12])/a,e[1]=(r[1]*n+r[5]*o+r[9]*i+r[13])/a,e[2]=(r[2]*n+r[6]*o+r[10]*i+r[14])/a,e}function al(e,t,r){let n=t[0],o=t[1],i=t[2];return e[0]=n*r[0]+o*r[3]+i*r[6],e[1]=n*r[1]+o*r[4]+i*r[7],e[2]=n*r[2]+o*r[5]+i*r[8],e}function Eo(e,t,r){let n=r[0],o=r[1],i=r[2],a=r[3],s=t[0],f=t[1],u=t[2],d=o*u-i*f,m=i*s-n*u,v=n*f-o*s,E=o*v-i*m,A=i*d-n*v,T=n*m-o*d,O=a*2;return d*=O,m*=O,v*=O,E*=2,A*=2,T*=2,e[0]=s+d+E,e[1]=f+m+A,e[2]=u+v+T,e}function fl(e,t,r,n){let o=[],i=[];return o[0]=t[0]-r[0],o[1]=t[1]-r[1],o[2]=t[2]-r[2],i[0]=o[0],i[1]=o[1]*Math.cos(n)-o[2]*Math.sin(n),i[2]=o[1]*Math.sin(n)+o[2]*Math.cos(n),e[0]=i[0]+r[0],e[1]=i[1]+r[1],e[2]=i[2]+r[2],e}function sl(e,t,r,n){let o=[],i=[];return o[0]=t[0]-r[0],o[1]=t[1]-r[1],o[2]=t[2]-r[2],i[0]=o[2]*Math.sin(n)+o[0]*Math.cos(n),i[1]=o[1],i[2]=o[2]*Math.cos(n)-o[0]*Math.sin(n),e[0]=i[0]+r[0],e[1]=i[1]+r[1],e[2]=i[2]+r[2],e}function cl(e,t,r,n){let o=[],i=[];return o[0]=t[0]-r[0],o[1]=t[1]-r[1],o[2]=t[2]-r[2],i[0]=o[0]*Math.cos(n)-o[1]*Math.sin(n),i[1]=o[0]*Math.sin(n)+o[1]*Math.cos(n),i[2]=o[2],e[0]=i[0]+r[0],e[1]=i[1]+r[1],e[2]=i[2]+r[2],e}function ul(e,t){let r=e[0],n=e[1],o=e[2],i=t[0],a=t[1],s=t[2],f=Math.sqrt((r*r+n*n+o*o)*(i*i+a*a+s*s)),u=f&&sa(e,t)/f;return Math.acos(Math.min(Math.max(u,-1),1))}var ll=FE;var RC=function(){let e=aa();return function(t,r,n,o,i,a){let s,f;for(r||(r=3),n||(n=0),o?f=Math.min(o*r+n,t.length):f=t.length,s=n;s<f;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],i(e,e,a),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2];return t}}();var ca=[0,0,0],Ao,ge=class extends Ct{static get ZERO(){return Ao||(Ao=new ge(0,0,0),Object.freeze(Ao)),Ao}constructor(t=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&Ze(t)?this.copy(t):(se.debug&&($(t),$(r),$(n)),this[0]=t,this[1]=r,this[2]=n)}set(t,r,n){return this[0]=t,this[1]=r,this[2]=n,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this.check()}fromObject(t){return se.debug&&($(t.x),$(t.y),$(t.z)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this.check()}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t}get ELEMENTS(){return 3}get z(){return this[2]}set z(t){this[2]=$(t)}angle(t){return ul(this,t)}cross(t){return Ft(this,this,t),this.check()}rotateX({radians:t,origin:r=ca}){return fl(this,this,r,t),this.check()}rotateY({radians:t,origin:r=ca}){return sl(this,this,r,t),this.check()}rotateZ({radians:t,origin:r=ca}){return cl(this,this,r,t),this.check()}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return Bt(this,this,t),this.check()}transformAsVector(t){return bo(this,this,t),this.check()}transformByMatrix3(t){return al(this,this,t),this.check()}transformByMatrix2(t){return rl(this,this,t),this.check()}transformByQuaternion(t){return Eo(this,this,t),this.check()}};var So,Dt=class extends Ct{static get ZERO(){return So||(So=new Dt(0,0,0,0),Object.freeze(So)),So}constructor(t=0,r=0,n=0,o=0){super(-0,-0,-0,-0),Ze(t)&&arguments.length===1?this.copy(t):(se.debug&&($(t),$(r),$(n),$(o)),this[0]=t,this[1]=r,this[2]=n,this[3]=o)}set(t,r,n,o){return this[0]=t,this[1]=r,this[2]=n,this[3]=o,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}fromObject(t){return se.debug&&($(t.x),$(t.y),$(t.z),$(t.w)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t.w=this[3],t}get ELEMENTS(){return 4}get z(){return this[2]}set z(t){this[2]=$(t)}get w(){return this[3]}set w(t){this[3]=$(t)}transform(t){return Bt(this,this,t),this.check()}transformByMatrix3(t){return ol(this,this,t),this.check()}transformByMatrix2(t){return nl(this,this,t),this.check()}transformByQuaternion(t){return Eo(this,this,t),this.check()}applyMatrix4(t){return t.transform(this,this),this}};var To=class extends $e{toString(){let t="[";if(se.printRowMajor){t+="row-major:";for(let r=0;r<this.RANK;++r)for(let n=0;n<this.RANK;++n)t+=" ".concat(this[n*this.RANK+r])}else{t+="column-major:";for(let r=0;r<this.ELEMENTS;++r)t+=" ".concat(this[r])}return t+="]",t}getElementIndex(t,r){return r*this.RANK+t}getElement(t,r){return this[r*this.RANK+t]}setElement(t,r,n){return this[r*this.RANK+t]=$(n),this}getColumn(t,r=new Array(this.RANK).fill(-0)){let n=t*this.RANK;for(let o=0;o<this.RANK;++o)r[o]=this[n+o];return r}setColumn(t,r){let n=t*this.RANK;for(let o=0;o<this.RANK;++o)this[n+o]=r[o];return this}};function pl(){let e=new le(9);return le!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function UE(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function hl(e,t){if(e===t){let r=t[1],n=t[2],o=t[3],i=t[6],a=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=i,e[11]=t[14],e[12]=o,e[13]=a,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function dl(e,t){let r=t[0],n=t[1],o=t[2],i=t[3],a=t[4],s=t[5],f=t[6],u=t[7],d=t[8],m=t[9],v=t[10],E=t[11],A=t[12],T=t[13],O=t[14],R=t[15],P=r*s-n*a,M=r*f-o*a,N=r*u-i*a,B=n*f-o*s,F=n*u-i*s,W=o*u-i*f,H=d*T-m*A,X=d*O-v*A,j=d*R-E*A,G=m*O-v*T,h=m*R-E*T,l=v*R-E*O,p=P*l-M*h+N*G+B*j-F*X+W*H;return p?(p=1/p,e[0]=(s*l-f*h+u*G)*p,e[1]=(o*h-n*l-i*G)*p,e[2]=(T*W-O*F+R*B)*p,e[3]=(v*F-m*W-E*B)*p,e[4]=(f*j-a*l-u*X)*p,e[5]=(r*l-o*j+i*X)*p,e[6]=(O*N-A*W-R*M)*p,e[7]=(d*W-v*N+E*M)*p,e[8]=(a*h-s*j+u*H)*p,e[9]=(n*j-r*h-i*H)*p,e[10]=(A*F-T*N+R*P)*p,e[11]=(m*N-d*F-E*P)*p,e[12]=(s*X-a*G-f*H)*p,e[13]=(r*G-n*X+o*H)*p,e[14]=(T*M-A*B-O*P)*p,e[15]=(d*B-m*M+v*P)*p,e):null}function _l(e){let t=e[0],r=e[1],n=e[2],o=e[3],i=e[4],a=e[5],s=e[6],f=e[7],u=e[8],d=e[9],m=e[10],v=e[11],E=e[12],A=e[13],T=e[14],O=e[15],R=t*a-r*i,P=t*s-n*i,M=r*s-n*a,N=u*A-d*E,B=u*T-m*E,F=d*T-m*A,W=t*F-r*B+n*N,H=i*F-a*B+s*N,X=u*M-d*P+m*R,j=E*M-A*P+T*R;return f*W-o*H+O*X-v*j}function ua(e,t,r){let n=t[0],o=t[1],i=t[2],a=t[3],s=t[4],f=t[5],u=t[6],d=t[7],m=t[8],v=t[9],E=t[10],A=t[11],T=t[12],O=t[13],R=t[14],P=t[15],M=r[0],N=r[1],B=r[2],F=r[3];return e[0]=M*n+N*s+B*m+F*T,e[1]=M*o+N*f+B*v+F*O,e[2]=M*i+N*u+B*E+F*R,e[3]=M*a+N*d+B*A+F*P,M=r[4],N=r[5],B=r[6],F=r[7],e[4]=M*n+N*s+B*m+F*T,e[5]=M*o+N*f+B*v+F*O,e[6]=M*i+N*u+B*E+F*R,e[7]=M*a+N*d+B*A+F*P,M=r[8],N=r[9],B=r[10],F=r[11],e[8]=M*n+N*s+B*m+F*T,e[9]=M*o+N*f+B*v+F*O,e[10]=M*i+N*u+B*E+F*R,e[11]=M*a+N*d+B*A+F*P,M=r[12],N=r[13],B=r[14],F=r[15],e[12]=M*n+N*s+B*m+F*T,e[13]=M*o+N*f+B*v+F*O,e[14]=M*i+N*u+B*E+F*R,e[15]=M*a+N*d+B*A+F*P,e}function yl(e,t,r){let n=r[0],o=r[1],i=r[2],a,s,f,u,d,m,v,E,A,T,O,R;return t===e?(e[12]=t[0]*n+t[4]*o+t[8]*i+t[12],e[13]=t[1]*n+t[5]*o+t[9]*i+t[13],e[14]=t[2]*n+t[6]*o+t[10]*i+t[14],e[15]=t[3]*n+t[7]*o+t[11]*i+t[15]):(a=t[0],s=t[1],f=t[2],u=t[3],d=t[4],m=t[5],v=t[6],E=t[7],A=t[8],T=t[9],O=t[10],R=t[11],e[0]=a,e[1]=s,e[2]=f,e[3]=u,e[4]=d,e[5]=m,e[6]=v,e[7]=E,e[8]=A,e[9]=T,e[10]=O,e[11]=R,e[12]=a*n+d*o+A*i+t[12],e[13]=s*n+m*o+T*i+t[13],e[14]=f*n+v*o+O*i+t[14],e[15]=u*n+E*o+R*i+t[15]),e}function ml(e,t,r){let n=r[0],o=r[1],i=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*o,e[5]=t[5]*o,e[6]=t[6]*o,e[7]=t[7]*o,e[8]=t[8]*i,e[9]=t[9]*i,e[10]=t[10]*i,e[11]=t[11]*i,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function gl(e,t,r,n){let o=n[0],i=n[1],a=n[2],s=Math.sqrt(o*o+i*i+a*a),f,u,d,m,v,E,A,T,O,R,P,M,N,B,F,W,H,X,j,G,h,l,p,_;return s<1e-6?null:(s=1/s,o*=s,i*=s,a*=s,u=Math.sin(r),f=Math.cos(r),d=1-f,m=t[0],v=t[1],E=t[2],A=t[3],T=t[4],O=t[5],R=t[6],P=t[7],M=t[8],N=t[9],B=t[10],F=t[11],W=o*o*d+f,H=i*o*d+a*u,X=a*o*d-i*u,j=o*i*d-a*u,G=i*i*d+f,h=a*i*d+o*u,l=o*a*d+i*u,p=i*a*d-o*u,_=a*a*d+f,e[0]=m*W+T*H+M*X,e[1]=v*W+O*H+N*X,e[2]=E*W+R*H+B*X,e[3]=A*W+P*H+F*X,e[4]=m*j+T*G+M*h,e[5]=v*j+O*G+N*h,e[6]=E*j+R*G+B*h,e[7]=A*j+P*G+F*h,e[8]=m*l+T*p+M*_,e[9]=v*l+O*p+N*_,e[10]=E*l+R*p+B*_,e[11]=A*l+P*p+F*_,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function vl(e,t,r){let n=Math.sin(r),o=Math.cos(r),i=t[4],a=t[5],s=t[6],f=t[7],u=t[8],d=t[9],m=t[10],v=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=i*o+u*n,e[5]=a*o+d*n,e[6]=s*o+m*n,e[7]=f*o+v*n,e[8]=u*o-i*n,e[9]=d*o-a*n,e[10]=m*o-s*n,e[11]=v*o-f*n,e}function bl(e,t,r){let n=Math.sin(r),o=Math.cos(r),i=t[0],a=t[1],s=t[2],f=t[3],u=t[8],d=t[9],m=t[10],v=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*o-u*n,e[1]=a*o-d*n,e[2]=s*o-m*n,e[3]=f*o-v*n,e[8]=i*n+u*o,e[9]=a*n+d*o,e[10]=s*n+m*o,e[11]=f*n+v*o,e}function El(e,t,r){let n=Math.sin(r),o=Math.cos(r),i=t[0],a=t[1],s=t[2],f=t[3],u=t[4],d=t[5],m=t[6],v=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*o+u*n,e[1]=a*o+d*n,e[2]=s*o+m*n,e[3]=f*o+v*n,e[4]=u*o-i*n,e[5]=d*o-a*n,e[6]=m*o-s*n,e[7]=v*o-f*n,e}function Al(e,t){let r=t[0],n=t[1],o=t[2],i=t[3],a=r+r,s=n+n,f=o+o,u=r*a,d=n*a,m=n*s,v=o*a,E=o*s,A=o*f,T=i*a,O=i*s,R=i*f;return e[0]=1-m-A,e[1]=d+R,e[2]=v-O,e[3]=0,e[4]=d-R,e[5]=1-u-A,e[6]=E+T,e[7]=0,e[8]=v+O,e[9]=E-T,e[10]=1-u-m,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Sl(e,t,r,n,o,i,a){let s=1/(r-t),f=1/(o-n),u=1/(i-a);return e[0]=i*2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=i*2*f,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(o+n)*f,e[10]=(a+i)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=a*i*2*u,e[15]=0,e}function LE(e,t,r,n,o){let i=1/Math.tan(t/2);if(e[0]=i/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=i,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,o!=null&&o!==1/0){let a=1/(n-o);e[10]=(o+n)*a,e[14]=2*o*n*a}else e[10]=-1,e[14]=-2*n;return e}var Tl=LE;function jE(e,t,r,n,o,i,a){let s=1/(t-r),f=1/(n-o),u=1/(i-a);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*f,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*s,e[13]=(o+n)*f,e[14]=(a+i)*u,e[15]=1,e}var Rl=jE;function Ol(e,t,r,n){let o,i,a,s,f,u,d,m,v,E,A=t[0],T=t[1],O=t[2],R=n[0],P=n[1],M=n[2],N=r[0],B=r[1],F=r[2];return Math.abs(A-N)<1e-6&&Math.abs(T-B)<1e-6&&Math.abs(O-F)<1e-6?UE(e):(m=A-N,v=T-B,E=O-F,o=1/Math.sqrt(m*m+v*v+E*E),m*=o,v*=o,E*=o,i=P*E-M*v,a=M*m-R*E,s=R*v-P*m,o=Math.sqrt(i*i+a*a+s*s),o?(o=1/o,i*=o,a*=o,s*=o):(i=0,a=0,s=0),f=v*s-E*a,u=E*i-m*s,d=m*a-v*i,o=Math.sqrt(f*f+u*u+d*d),o?(o=1/o,f*=o,u*=o,d*=o):(f=0,u=0,d=0),e[0]=i,e[1]=f,e[2]=m,e[3]=0,e[4]=a,e[5]=u,e[6]=v,e[7]=0,e[8]=s,e[9]=d,e[10]=E,e[11]=0,e[12]=-(i*A+a*T+s*O),e[13]=-(f*A+u*T+d*O),e[14]=-(m*A+v*T+E*O),e[15]=1,e)}function HE(){let e=new le(4);return le!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function Pl(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e}function Il(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e}function Nl(e){let t=e[0],r=e[1],n=e[2],o=e[3];return Math.sqrt(t*t+r*r+n*n+o*o)}function wl(e){let t=e[0],r=e[1],n=e[2],o=e[3];return t*t+r*r+n*n+o*o}function Ml(e,t){let r=t[0],n=t[1],o=t[2],i=t[3],a=r*r+n*n+o*o+i*i;return a>0&&(a=1/Math.sqrt(a)),e[0]=r*a,e[1]=n*a,e[2]=o*a,e[3]=i*a,e}function xl(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function Cl(e,t,r,n){let o=t[0],i=t[1],a=t[2],s=t[3];return e[0]=o+n*(r[0]-o),e[1]=i+n*(r[1]-i),e[2]=a+n*(r[2]-a),e[3]=s+n*(r[3]-s),e}function Fl(e,t,r){let n=t[0],o=t[1],i=t[2],a=t[3];return e[0]=r[0]*n+r[4]*o+r[8]*i+r[12]*a,e[1]=r[1]*n+r[5]*o+r[9]*i+r[13]*a,e[2]=r[2]*n+r[6]*o+r[10]*i+r[14]*a,e[3]=r[3]*n+r[7]*o+r[11]*i+r[15]*a,e}function Bl(e,t,r){let n=t[0],o=t[1],i=t[2],a=r[0],s=r[1],f=r[2],u=r[3],d=u*n+s*i-f*o,m=u*o+f*n-a*i,v=u*i+a*o-s*n,E=-a*n-s*o-f*i;return e[0]=d*u+E*-a+m*-f-v*-s,e[1]=m*u+E*-s+v*-a-d*-f,e[2]=v*u+E*-f+d*-s-m*-a,e[3]=t[3],e}var WC=function(){let e=HE();return function(t,r,n,o,i,a){let s,f;for(r||(r=4),n||(n=0),o?f=Math.min(o*r+n,t.length):f=t.length,s=n;s<f;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],e[3]=t[s+3],i(e,e,a),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2],t[s+3]=e[3];return t}}();var ha;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL0ROW3=3]="COL0ROW3",e[e.COL1ROW0=4]="COL1ROW0",e[e.COL1ROW1=5]="COL1ROW1",e[e.COL1ROW2=6]="COL1ROW2",e[e.COL1ROW3=7]="COL1ROW3",e[e.COL2ROW0=8]="COL2ROW0",e[e.COL2ROW1=9]="COL2ROW1",e[e.COL2ROW2=10]="COL2ROW2",e[e.COL2ROW3=11]="COL2ROW3",e[e.COL3ROW0=12]="COL3ROW0",e[e.COL3ROW1=13]="COL3ROW1",e[e.COL3ROW2=14]="COL3ROW2",e[e.COL3ROW3=15]="COL3ROW3"})(ha||(ha={}));var XE=45*Math.PI/180,WE=1,la=.1,pa=500,GE=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),de=class extends To{static get IDENTITY(){return kE()}static get ZERO(){return KE()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return ha}constructor(t){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this[9]=t[9],this[10]=t[10],this[11]=t[11],this[12]=t[12],this[13]=t[13],this[14]=t[14],this[15]=t[15],this.check()}set(t,r,n,o,i,a,s,f,u,d,m,v,E,A,T,O){return this[0]=t,this[1]=r,this[2]=n,this[3]=o,this[4]=i,this[5]=a,this[6]=s,this[7]=f,this[8]=u,this[9]=d,this[10]=m,this[11]=v,this[12]=E,this[13]=A,this[14]=T,this[15]=O,this.check()}setRowMajor(t,r,n,o,i,a,s,f,u,d,m,v,E,A,T,O){return this[0]=t,this[1]=i,this[2]=u,this[3]=E,this[4]=r,this[5]=a,this[6]=d,this[7]=A,this[8]=n,this[9]=s,this[10]=m,this[11]=T,this[12]=o,this[13]=f,this[14]=v,this[15]=O,this.check()}toRowMajor(t){return t[0]=this[0],t[1]=this[4],t[2]=this[8],t[3]=this[12],t[4]=this[1],t[5]=this[5],t[6]=this[9],t[7]=this[13],t[8]=this[2],t[9]=this[6],t[10]=this[10],t[11]=this[14],t[12]=this[3],t[13]=this[7],t[14]=this[11],t[15]=this[15],t}identity(){return this.copy(GE)}fromObject(t){return this.check()}fromQuaternion(t){return Al(this,t),this.check()}frustum(t){let{left:r,right:n,bottom:o,top:i,near:a=la,far:s=pa}=t;return s===1/0?YE(this,r,n,o,i,a):Sl(this,r,n,o,i,a,s),this.check()}lookAt(t){let{eye:r,center:n=[0,0,0],up:o=[0,1,0]}=t;return Ol(this,r,n,o),this.check()}ortho(t){let{left:r,right:n,bottom:o,top:i,near:a=la,far:s=pa}=t;return Rl(this,r,n,o,i,a,s),this.check()}orthographic(t){let{fovy:r=XE,aspect:n=WE,focalDistance:o=1,near:i=la,far:a=pa}=t;Dl(r);let s=r/2,f=o*Math.tan(s),u=f*n;return this.ortho({left:-u,right:u,bottom:-f,top:f,near:i,far:a})}perspective(t){let{fovy:r=45*Math.PI/180,aspect:n=1,near:o=.1,far:i=500}=t;return Dl(r),Tl(this,r,n,o,i),this.check()}determinant(){return _l(this)}getScale(t=[-0,-0,-0]){return t[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),t[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),t[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),t}getTranslation(t=[-0,-0,-0]){return t[0]=this[12],t[1]=this[13],t[2]=this[14],t}getRotation(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),o=1/n[0],i=1/n[1],a=1/n[2];return t[0]=this[0]*o,t[1]=this[1]*i,t[2]=this[2]*a,t[3]=0,t[4]=this[4]*o,t[5]=this[5]*i,t[6]=this[6]*a,t[7]=0,t[8]=this[8]*o,t[9]=this[9]*i,t[10]=this[10]*a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}getRotationMatrix3(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),o=1/n[0],i=1/n[1],a=1/n[2];return t[0]=this[0]*o,t[1]=this[1]*i,t[2]=this[2]*a,t[3]=this[4]*o,t[4]=this[5]*i,t[5]=this[6]*a,t[6]=this[8]*o,t[7]=this[9]*i,t[8]=this[10]*a,t}transpose(){return hl(this,this),this.check()}invert(){return dl(this,this),this.check()}multiplyLeft(t){return ua(this,t,this),this.check()}multiplyRight(t){return ua(this,this,t),this.check()}rotateX(t){return vl(this,this,t),this.check()}rotateY(t){return bl(this,this,t),this.check()}rotateZ(t){return El(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,r){return gl(this,this,t,r),this.check()}scale(t){return ml(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return yl(this,this,t),this.check()}transform(t,r){return t.length===4?(r=Fl(r||[-0,-0,-0,-0],t,this),xt(r,4),r):this.transformAsPoint(t,r)}transformAsPoint(t,r){let{length:n}=t,o;switch(n){case 2:o=el(r||[-0,-0],t,this);break;case 3:o=Bt(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return xt(o,t.length),o}transformAsVector(t,r){let n;switch(t.length){case 2:n=tl(r||[-0,-0],t,this);break;case 3:n=bo(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return xt(n,t.length),n}transformPoint(t,r){return this.transformAsPoint(t,r)}transformVector(t,r){return this.transformAsPoint(t,r)}transformDirection(t,r){return this.transformAsVector(t,r)}makeRotationX(t){return this.identity().rotateX(t)}makeTranslation(t,r,n){return this.identity().translate([t,r,n])}},Ro,Oo;function KE(){return Ro||(Ro=new de([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(Ro)),Ro}function kE(){return Oo||(Oo=new de,Object.freeze(Oo)),Oo}function Dl(e){if(e>Math.PI*2)throw Error("expected radians")}function YE(e,t,r,n,o,i){let a=2*i/(r-t),s=2*i/(o-n),f=(r+t)/(r-t),u=(o+n)/(o-n),d=-1,m=-1,v=-2*i;return e[0]=a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=f,e[9]=u,e[10]=d,e[11]=m,e[12]=0,e[13]=0,e[14]=v,e[15]=0,e}function Ul(){let e=new le(4);return le!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function Ll(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function da(e,t,r){r=r*.5;let n=Math.sin(r);return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=Math.cos(r),e}function _a(e,t,r){let n=t[0],o=t[1],i=t[2],a=t[3],s=r[0],f=r[1],u=r[2],d=r[3];return e[0]=n*d+a*s+o*u-i*f,e[1]=o*d+a*f+i*s-n*u,e[2]=i*d+a*u+n*f-o*s,e[3]=a*d-n*s-o*f-i*u,e}function jl(e,t,r){r*=.5;let n=t[0],o=t[1],i=t[2],a=t[3],s=Math.sin(r),f=Math.cos(r);return e[0]=n*f+a*s,e[1]=o*f+i*s,e[2]=i*f-o*s,e[3]=a*f-n*s,e}function Hl(e,t,r){r*=.5;let n=t[0],o=t[1],i=t[2],a=t[3],s=Math.sin(r),f=Math.cos(r);return e[0]=n*f-i*s,e[1]=o*f+a*s,e[2]=i*f+n*s,e[3]=a*f-o*s,e}function Vl(e,t,r){r*=.5;let n=t[0],o=t[1],i=t[2],a=t[3],s=Math.sin(r),f=Math.cos(r);return e[0]=n*f+o*s,e[1]=o*f-n*s,e[2]=i*f+a*s,e[3]=a*f-i*s,e}function Xl(e,t){let r=t[0],n=t[1],o=t[2];return e[0]=r,e[1]=n,e[2]=o,e[3]=Math.sqrt(Math.abs(1-r*r-n*n-o*o)),e}function Xr(e,t,r,n){let o=t[0],i=t[1],a=t[2],s=t[3],f=r[0],u=r[1],d=r[2],m=r[3],v,E,A,T,O;return v=o*f+i*u+a*d+s*m,v<0&&(v=-v,f=-f,u=-u,d=-d,m=-m),1-v>1e-6?(E=Math.acos(v),O=Math.sin(E),A=Math.sin((1-n)*E)/O,T=Math.sin(n*E)/O):(A=1-n,T=n),e[0]=A*o+T*f,e[1]=A*i+T*u,e[2]=A*a+T*d,e[3]=A*s+T*m,e}function Wl(e,t){let r=t[0],n=t[1],o=t[2],i=t[3],a=r*r+n*n+o*o+i*i,s=a?1/a:0;return e[0]=-r*s,e[1]=-n*s,e[2]=-o*s,e[3]=i*s,e}function Gl(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function ya(e,t){let r=t[0]+t[4]+t[8],n;if(r>0)n=Math.sqrt(r+1),e[3]=.5*n,n=.5/n,e[0]=(t[5]-t[7])*n,e[1]=(t[6]-t[2])*n,e[2]=(t[1]-t[3])*n;else{let o=0;t[4]>t[0]&&(o=1),t[8]>t[o*3+o]&&(o=2);let i=(o+1)%3,a=(o+2)%3;n=Math.sqrt(t[o*3+o]-t[i*3+i]-t[a*3+a]+1),e[o]=.5*n,n=.5/n,e[3]=(t[i*3+a]-t[a*3+i])*n,e[i]=(t[i*3+o]+t[o*3+i])*n,e[a]=(t[a*3+o]+t[o*3+a])*n}return e}var Kl=Pl;var kl=Il,Yl=xl,zl=Cl,ql=Nl;var Zl=wl;var $l=Ml;var Ql=function(){let e=aa(),t=fa(1,0,0),r=fa(0,1,0);return function(n,o,i){let a=sa(o,i);return a<-.999999?(Ft(e,t,o),ll(e)<1e-6&&Ft(e,r,o),il(e,e),da(n,e,Math.PI),n):a>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(Ft(e,o,i),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=1+a,$l(n,n))}}(),nF=function(){let e=Ul(),t=Ul();return function(r,n,o,i,a,s){return Xr(e,n,a,s),Xr(t,o,i,s),Xr(r,e,t,2*s*(1-s)),r}}(),oF=function(){let e=pl();return function(t,r,n,o){return e[0]=n[0],e[3]=n[1],e[6]=n[2],e[1]=o[0],e[4]=o[1],e[7]=o[2],e[2]=-r[0],e[5]=-r[1],e[8]=-r[2],$l(t,ya(t,e))}}();var zE=[0,0,0,1],Wr=class extends $e{constructor(t=0,r=0,n=0,o=1){super(-0,-0,-0,-0),Array.isArray(t)&&arguments.length===1?this.copy(t):this.set(t,r,n,o)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,r,n,o){return this[0]=t,this[1]=r,this[2]=n,this[3]=o,this.check()}fromObject(t){return this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this.check()}fromMatrix3(t){return ya(this,t),this.check()}fromAxisRotation(t,r){return da(this,t,r),this.check()}identity(){return Ll(this),this.check()}setAxisAngle(t,r){return this.fromAxisRotation(t,r)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=$(t)}get y(){return this[1]}set y(t){this[1]=$(t)}get z(){return this[2]}set z(t){this[2]=$(t)}get w(){return this[3]}set w(t){this[3]=$(t)}len(){return ql(this)}lengthSquared(){return Zl(this)}dot(t){return Yl(this,t)}rotationTo(t,r){return Ql(this,t,r),this.check()}add(t){return Kl(this,this,t),this.check()}calculateW(){return Xl(this,this),this.check()}conjugate(){return Gl(this,this),this.check()}invert(){return Wl(this,this),this.check()}lerp(t,r,n){return n===void 0?this.lerp(this,t,r):(zl(this,t,r,n),this.check())}multiplyRight(t){return _a(this,this,t),this.check()}multiplyLeft(t){return _a(this,t,this),this.check()}normalize(){let t=this.len(),r=t>0?1/t:0;return this[0]=this[0]*r,this[1]=this[1]*r,this[2]=this[2]*r,this[3]=this[3]*r,t===0&&(this[3]=1),this.check()}rotateX(t){return jl(this,this,t),this.check()}rotateY(t){return Hl(this,this,t),this.check()}rotateZ(t){return Vl(this,this,t),this.check()}scale(t){return kl(this,this,t),this.check()}slerp(t,r,n){let o,i,a;switch(arguments.length){case 1:({start:o=zE,target:i,ratio:a}=t);break;case 2:o=this,i=t,a=r;break;default:o=t,i=r,a=n}return Xr(this,o,i,a),this.check()}transformVector4(t,r=new Dt){return Bl(r,t,this),xt(r,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,r){return this.setAxisAngle(t,r)}premultiply(t){return this.multiplyLeft(t)}multiply(t){return this.multiplyRight(t)}};var Jl;function qE(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var ma=oe(Jl||(Jl=qE([`#if (defined(SHADER_TYPE_FRAGMENT) && defined(LIGHTING_FRAGMENT)) || (defined(SHADER_TYPE_VERTEX) && defined(LIGHTING_VERTEX))
241
-
242
- struct AmbientLight {
243
- vec3 color;
244
- };
245
-
246
- struct PointLight {
247
- vec3 color;
248
- vec3 position;
249
-
250
- // Constant-Linear-Exponential
251
- vec3 attenuation;
252
- };
253
-
254
- struct DirectionalLight {
255
- vec3 color;
256
- vec3 direction;
257
- };
258
-
259
- uniform AmbientLight lighting_uAmbientLight;
260
- uniform PointLight lighting_uPointLight[MAX_LIGHTS];
261
- uniform DirectionalLight lighting_uDirectionalLight[MAX_LIGHTS];
262
- uniform int lighting_uPointLightCount;
263
- uniform int lighting_uDirectionalLightCount;
264
-
265
- uniform bool lighting_uEnabled;
266
-
267
- float getPointLightAttenuation(PointLight pointLight, float distance) {
268
- return pointLight.attenuation.x
269
- + pointLight.attenuation.y * distance
270
- + pointLight.attenuation.z * distance * distance;
271
- }
272
-
273
- #endif
274
- `],[`\\
275
- #if (defined(SHADER_TYPE_FRAGMENT) && defined(LIGHTING_FRAGMENT)) || (defined(SHADER_TYPE_VERTEX) && defined(LIGHTING_VERTEX))
276
-
277
- struct AmbientLight {
278
- vec3 color;
279
- };
280
-
281
- struct PointLight {
282
- vec3 color;
283
- vec3 position;
284
-
285
- // Constant-Linear-Exponential
286
- vec3 attenuation;
287
- };
288
-
289
- struct DirectionalLight {
290
- vec3 color;
291
- vec3 direction;
292
- };
293
-
294
- uniform AmbientLight lighting_uAmbientLight;
295
- uniform PointLight lighting_uPointLight[MAX_LIGHTS];
296
- uniform DirectionalLight lighting_uDirectionalLight[MAX_LIGHTS];
297
- uniform int lighting_uPointLightCount;
298
- uniform int lighting_uDirectionalLightCount;
299
-
300
- uniform bool lighting_uEnabled;
301
-
302
- float getPointLightAttenuation(PointLight pointLight, float distance) {
303
- return pointLight.attenuation.x
304
- + pointLight.attenuation.y * distance
305
- + pointLight.attenuation.z * distance * distance;
306
- }
307
-
308
- #endif
309
- `])));function ZE(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=$E(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(u){throw u},f:o}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
310
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,a=!1,s;return{s:function(){r=r.call(e)},n:function(){var u=r.next();return i=u.done,u},e:function(u){a=!0,s=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(a)throw s}}}}function $E(e,t){if(e){if(typeof e=="string")return ep(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ep(e,t)}}function ep(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var QE={lightSources:{}};function ga(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.color,r=t===void 0?[0,0,0]:t,n=e.intensity,o=n===void 0?1:n;return r.map(function(i){return i*o/255})}function JE(e){var t=e.ambientLight,r=e.pointLights,n=r===void 0?[]:r,o=e.directionalLights,i=o===void 0?[]:o,a={};return t?a["lighting_uAmbientLight.color"]=ga(t):a["lighting_uAmbientLight.color"]=[0,0,0],n.forEach(function(s,f){a["lighting_uPointLight[".concat(f,"].color")]=ga(s),a["lighting_uPointLight[".concat(f,"].position")]=s.position,a["lighting_uPointLight[".concat(f,"].attenuation")]=s.attenuation||[1,0,0]}),a.lighting_uPointLightCount=n.length,i.forEach(function(s,f){a["lighting_uDirectionalLight[".concat(f,"].color")]=ga(s),a["lighting_uDirectionalLight[".concat(f,"].direction")]=s.direction}),a.lighting_uDirectionalLightCount=i.length,a}function tp(){var e,t,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:QE;if("lightSources"in r){var n=r.lightSources||{},o=n.ambientLight,i=n.pointLights,a=n.directionalLights,s=o||i&&i.length>0||a&&a.length>0;return s?Object.assign({},JE({ambientLight:o,pointLights:i,directionalLights:a}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in r){var f={pointLights:[],directionalLights:[]},u=ZE(r.lights||[]),d;try{for(u.s();!(d=u.n()).done;){var m=d.value;switch(m.type){case"ambient":f.ambientLight=m;break;case"directional":(e=f.directionalLights)===null||e===void 0||e.push(m);break;case"point":(t=f.pointLights)===null||t===void 0||t.push(m);break;default:}}}catch(v){u.e(v)}finally{u.f()}return tp({lightSources:f})}return{}}var rp={name:"lights",vs:ma,fs:ma,getUniforms:tp,defines:{MAX_LIGHTS:3}};var np;function eA(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var op=oe(np||(np=eA([`uniform mat4 u_MVPMatrix;
311
- uniform mat4 u_ModelMatrix;
312
- uniform mat4 u_NormalMatrix;
313
-
314
- out vec3 pbr_vPosition;
315
- out vec2 pbr_vUV;
316
-
317
- #ifdef HAS_NORMALS
318
- # ifdef HAS_TANGENTS
319
- out mat3 pbr_vTBN;
320
- # else
321
- out vec3 pbr_vNormal;
322
- # endif
323
- #endif
324
-
325
- void pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)
326
- {
327
- vec4 pos = u_ModelMatrix * position;
328
- pbr_vPosition = vec3(pos.xyz) / pos.w;
329
-
330
- #ifdef HAS_NORMALS
331
- #ifdef HAS_TANGENTS
332
- vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));
333
- vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));
334
- vec3 bitangentW = cross(normalW, tangentW) * tangent.w;
335
- pbr_vTBN = mat3(tangentW, bitangentW, normalW);
336
- #else // HAS_TANGENTS != 1
337
- pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));
338
- #endif
339
- #endif
340
-
341
- #ifdef HAS_UV
342
- pbr_vUV = uv;
343
- #else
344
- pbr_vUV = vec2(0.,0.);
345
- #endif
346
- }
347
- `],[`\\
348
- uniform mat4 u_MVPMatrix;
349
- uniform mat4 u_ModelMatrix;
350
- uniform mat4 u_NormalMatrix;
351
-
352
- out vec3 pbr_vPosition;
353
- out vec2 pbr_vUV;
354
-
355
- #ifdef HAS_NORMALS
356
- # ifdef HAS_TANGENTS
357
- out mat3 pbr_vTBN;
358
- # else
359
- out vec3 pbr_vNormal;
360
- # endif
361
- #endif
362
-
363
- void pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)
364
- {
365
- vec4 pos = u_ModelMatrix * position;
366
- pbr_vPosition = vec3(pos.xyz) / pos.w;
367
-
368
- #ifdef HAS_NORMALS
369
- #ifdef HAS_TANGENTS
370
- vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));
371
- vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));
372
- vec3 bitangentW = cross(normalW, tangentW) * tangent.w;
373
- pbr_vTBN = mat3(tangentW, bitangentW, normalW);
374
- #else // HAS_TANGENTS != 1
375
- pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));
376
- #endif
377
- #endif
378
-
379
- #ifdef HAS_UV
380
- pbr_vUV = uv;
381
- #else
382
- pbr_vUV = vec2(0.,0.);
383
- #endif
384
- }
385
- `])));var ip;function tA(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var ap=oe(ip||(ip=tA([`#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)
386
- # error PBR fragment shader: Texture LOD is not available
387
- #endif
388
-
389
- #if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)
390
- # error PBR fragment shader: Derivatives are not available
391
- #endif
392
-
393
- // WebGL 1.0 does not support non-constant in for loops
394
- // This provides an easy way to handle these cases
395
- // and still take advantage of WebGL 2.0
396
- #if (__VERSION__ < 300)
397
- #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)
398
- #else
399
- #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)
400
- #endif
401
-
402
- precision highp float;
403
-
404
- uniform bool pbr_uUnlit;
405
-
406
- #ifdef USE_IBL
407
- uniform samplerCube u_DiffuseEnvSampler;
408
- uniform samplerCube u_SpecularEnvSampler;
409
- uniform sampler2D u_brdfLUT;
410
- uniform vec2 u_ScaleIBLAmbient;
411
- #endif
412
-
413
- #ifdef HAS_BASECOLORMAP
414
- uniform sampler2D u_BaseColorSampler;
415
- #endif
416
- #ifdef HAS_NORMALMAP
417
- uniform sampler2D u_NormalSampler;
418
- uniform float u_NormalScale;
419
- #endif
420
- #ifdef HAS_EMISSIVEMAP
421
- uniform sampler2D u_EmissiveSampler;
422
- uniform vec3 u_EmissiveFactor;
423
- #endif
424
- #ifdef HAS_METALROUGHNESSMAP
425
- uniform sampler2D u_MetallicRoughnessSampler;
426
- #endif
427
- #ifdef HAS_OCCLUSIONMAP
428
- uniform sampler2D u_OcclusionSampler;
429
- uniform float u_OcclusionStrength;
430
- #endif
431
-
432
- #ifdef ALPHA_CUTOFF
433
- uniform float u_AlphaCutoff;
434
- #endif
435
-
436
- uniform vec2 u_MetallicRoughnessValues;
437
- uniform vec4 u_BaseColorFactor;
438
-
439
- uniform vec3 u_Camera;
440
-
441
- // debugging flags used for shader output of intermediate PBR variables
442
- #ifdef PBR_DEBUG
443
- uniform vec4 u_ScaleDiffBaseMR;
444
- uniform vec4 u_ScaleFGDSpec;
445
- #endif
446
-
447
- in vec3 pbr_vPosition;
448
-
449
- in vec2 pbr_vUV;
450
-
451
- #ifdef HAS_NORMALS
452
- #ifdef HAS_TANGENTS
453
- in mat3 pbr_vTBN;
454
- #else
455
- in vec3 pbr_vNormal;
456
- #endif
457
- #endif
458
-
459
- // Encapsulate the various inputs used by the various functions in the shading equation
460
- // We store values in this struct to simplify the integration of alternative implementations
461
- // of the shading terms, outlined in the Readme.MD Appendix.
462
- struct PBRInfo
463
- {
464
- float NdotL; // cos angle between normal and light direction
465
- float NdotV; // cos angle between normal and view direction
466
- float NdotH; // cos angle between normal and half vector
467
- float LdotH; // cos angle between light direction and half vector
468
- float VdotH; // cos angle between view direction and half vector
469
- float perceptualRoughness; // roughness value, as authored by the model creator (input to shader)
470
- float metalness; // metallic value at the surface
471
- vec3 reflectance0; // full reflectance color (normal incidence angle)
472
- vec3 reflectance90; // reflectance color at grazing angle
473
- float alphaRoughness; // roughness mapped to a more linear change in the roughness (proposed by [2])
474
- vec3 diffuseColor; // color contribution from diffuse lighting
475
- vec3 specularColor; // color contribution from specular lighting
476
- vec3 n; // normal at surface point
477
- vec3 v; // vector from surface point to camera
478
- };
479
-
480
- const float M_PI = 3.141592653589793;
481
- const float c_MinRoughness = 0.04;
482
-
483
- vec4 SRGBtoLINEAR(vec4 srgbIn)
484
- {
485
- #ifdef MANUAL_SRGB
486
- #ifdef SRGB_FAST_APPROXIMATION
487
- vec3 linOut = pow(srgbIn.xyz,vec3(2.2));
488
- #else //SRGB_FAST_APPROXIMATION
489
- vec3 bLess = step(vec3(0.04045),srgbIn.xyz);
490
- vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );
491
- #endif //SRGB_FAST_APPROXIMATION
492
- return vec4(linOut,srgbIn.w);;
493
- #else //MANUAL_SRGB
494
- return srgbIn;
495
- #endif //MANUAL_SRGB
496
- }
497
-
498
- // Find the normal for this fragment, pulling either from a predefined normal map
499
- // or from the interpolated mesh normal and tangent attributes.
500
- vec3 getNormal()
501
- {
502
- // Retrieve the tangent space matrix
503
- #ifndef HAS_TANGENTS
504
- vec3 pos_dx = dFdx(pbr_vPosition);
505
- vec3 pos_dy = dFdy(pbr_vPosition);
506
- vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));
507
- vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));
508
- vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);
509
-
510
- #ifdef HAS_NORMALS
511
- vec3 ng = normalize(pbr_vNormal);
512
- #else
513
- vec3 ng = cross(pos_dx, pos_dy);
514
- #endif
515
-
516
- t = normalize(t - ng * dot(ng, t));
517
- vec3 b = normalize(cross(ng, t));
518
- mat3 tbn = mat3(t, b, ng);
519
- #else // HAS_TANGENTS
520
- mat3 tbn = pbr_vTBN;
521
- #endif
522
-
523
- #ifdef HAS_NORMALMAP
524
- vec3 n = texture(u_NormalSampler, pbr_vUV).rgb;
525
- n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));
526
- #else
527
- // The tbn matrix is linearly interpolated, so we need to re-normalize
528
- vec3 n = normalize(tbn[2].xyz);
529
- #endif
530
-
531
- return n;
532
- }
533
-
534
- // Calculation of the lighting contribution from an optional Image Based Light source.
535
- // Precomputed Environment Maps are required uniform inputs and are computed as outlined in [1].
536
- // See our README.md on Environment Maps [3] for additional discussion.
537
- #ifdef USE_IBL
538
- vec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)
539
- {
540
- float mipCount = 9.0; // resolution of 512x512
541
- float lod = (pbrInputs.perceptualRoughness * mipCount);
542
- // retrieve a scale and bias to F0. See [1], Figure 3
543
- vec3 brdf = SRGBtoLINEAR(texture(u_brdfLUT,
544
- vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;
545
- vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;
546
-
547
- #ifdef USE_TEX_LOD
548
- vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;
549
- #else
550
- vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;
551
- #endif
552
-
553
- vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;
554
- vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);
555
-
556
- // For presentation, this allows us to disable IBL terms
557
- diffuse *= u_ScaleIBLAmbient.x;
558
- specular *= u_ScaleIBLAmbient.y;
559
-
560
- return diffuse + specular;
561
- }
562
- #endif
563
-
564
- // Basic Lambertian diffuse
565
- // Implementation from Lambert's Photometria https://archive.org/details/lambertsphotome00lambgoog
566
- // See also [1], Equation 1
567
- vec3 diffuse(PBRInfo pbrInputs)
568
- {
569
- return pbrInputs.diffuseColor / M_PI;
570
- }
571
-
572
- // The following equation models the Fresnel reflectance term of the spec equation (aka F())
573
- // Implementation of fresnel from [4], Equation 15
574
- vec3 specularReflection(PBRInfo pbrInputs)
575
- {
576
- return pbrInputs.reflectance0 +
577
- (pbrInputs.reflectance90 - pbrInputs.reflectance0) *
578
- pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);
579
- }
580
-
581
- // This calculates the specular geometric attenuation (aka G()),
582
- // where rougher material will reflect less light back to the viewer.
583
- // This implementation is based on [1] Equation 4, and we adopt their modifications to
584
- // alphaRoughness as input as originally proposed in [2].
585
- float geometricOcclusion(PBRInfo pbrInputs)
586
- {
587
- float NdotL = pbrInputs.NdotL;
588
- float NdotV = pbrInputs.NdotV;
589
- float r = pbrInputs.alphaRoughness;
590
-
591
- float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));
592
- float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));
593
- return attenuationL * attenuationV;
594
- }
595
-
596
- // The following equation(s) model the distribution of microfacet normals across
597
- // the area being drawn (aka D())
598
- // Implementation from "Average Irregularity Representation of a Roughened Surface
599
- // for Ray Reflection" by T. S. Trowbridge, and K. P. Reitz
600
- // Follows the distribution function recommended in the SIGGRAPH 2013 course notes
601
- // from EPIC Games [1], Equation 3.
602
- float microfacetDistribution(PBRInfo pbrInputs)
603
- {
604
- float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;
605
- float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;
606
- return roughnessSq / (M_PI * f * f);
607
- }
608
-
609
- void PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {
610
- pbrInputs.NdotL = 1.0;
611
- pbrInputs.NdotH = 0.0;
612
- pbrInputs.LdotH = 0.0;
613
- pbrInputs.VdotH = 1.0;
614
- }
615
-
616
- void PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {
617
- vec3 n = pbrInputs.n;
618
- vec3 v = pbrInputs.v;
619
- vec3 l = normalize(lightDirection); // Vector from surface point to light
620
- vec3 h = normalize(l+v); // Half vector between both l and v
621
-
622
- pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);
623
- pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);
624
- pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);
625
- pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);
626
- }
627
-
628
- void PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {
629
- vec3 light_direction = normalize(pointLight.position - pbr_vPosition);
630
- PBRInfo_setDirectionalLight(pbrInputs, light_direction);
631
- }
632
-
633
- vec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {
634
- // Calculate the shading terms for the microfacet specular shading model
635
- vec3 F = specularReflection(pbrInputs);
636
- float G = geometricOcclusion(pbrInputs);
637
- float D = microfacetDistribution(pbrInputs);
638
-
639
- // Calculation of analytical lighting contribution
640
- vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);
641
- vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);
642
- // Obtain final intensity as reflectance (BRDF) scaled by the energy of the light (cosine law)
643
- return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);
644
- }
645
-
646
- vec4 pbr_filterColor(vec4 colorUnused)
647
- {
648
- // The albedo may be defined from a base texture or a flat color
649
- #ifdef HAS_BASECOLORMAP
650
- vec4 baseColor = SRGBtoLINEAR(texture(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;
651
- #else
652
- vec4 baseColor = u_BaseColorFactor;
653
- #endif
654
-
655
- #ifdef ALPHA_CUTOFF
656
- if (baseColor.a < u_AlphaCutoff) {
657
- discard;
658
- }
659
- #endif
660
-
661
- vec3 color = vec3(0, 0, 0);
662
-
663
- if(pbr_uUnlit){
664
- color.rgb = baseColor.rgb;
665
- }
666
- else{
667
- // Metallic and Roughness material properties are packed together
668
- // In glTF, these factors can be specified by fixed scalar values
669
- // or from a metallic-roughness map
670
- float perceptualRoughness = u_MetallicRoughnessValues.y;
671
- float metallic = u_MetallicRoughnessValues.x;
672
- #ifdef HAS_METALROUGHNESSMAP
673
- // Roughness is stored in the 'g' channel, metallic is stored in the 'b' channel.
674
- // This layout intentionally reserves the 'r' channel for (optional) occlusion map data
675
- vec4 mrSample = texture(u_MetallicRoughnessSampler, pbr_vUV);
676
- perceptualRoughness = mrSample.g * perceptualRoughness;
677
- metallic = mrSample.b * metallic;
678
- #endif
679
- perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);
680
- metallic = clamp(metallic, 0.0, 1.0);
681
- // Roughness is authored as perceptual roughness; as is convention,
682
- // convert to material roughness by squaring the perceptual roughness [2].
683
- float alphaRoughness = perceptualRoughness * perceptualRoughness;
684
-
685
- vec3 f0 = vec3(0.04);
686
- vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);
687
- diffuseColor *= 1.0 - metallic;
688
- vec3 specularColor = mix(f0, baseColor.rgb, metallic);
689
-
690
- // Compute reflectance.
691
- float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);
692
-
693
- // For typical incident reflectance range (between 4% to 100%) set the grazing
694
- // reflectance to 100% for typical fresnel effect.
695
- // For very low reflectance range on highly diffuse objects (below 4%),
696
- // incrementally reduce grazing reflecance to 0%.
697
- float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);
698
- vec3 specularEnvironmentR0 = specularColor.rgb;
699
- vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;
700
-
701
- vec3 n = getNormal(); // normal at surface point
702
- vec3 v = normalize(u_Camera - pbr_vPosition); // Vector from surface point to camera
703
-
704
- float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);
705
- vec3 reflection = -normalize(reflect(v, n));
706
-
707
- PBRInfo pbrInputs = PBRInfo(
708
- 0.0, // NdotL
709
- NdotV,
710
- 0.0, // NdotH
711
- 0.0, // LdotH
712
- 0.0, // VdotH
713
- perceptualRoughness,
714
- metallic,
715
- specularEnvironmentR0,
716
- specularEnvironmentR90,
717
- alphaRoughness,
718
- diffuseColor,
719
- specularColor,
720
- n,
721
- v
722
- );
723
-
724
- #ifdef USE_LIGHTS
725
- // Apply ambient light
726
- PBRInfo_setAmbientLight(pbrInputs);
727
- color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);
728
-
729
- // Apply directional light
730
- SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {
731
- if (i < lighting_uDirectionalLightCount) {
732
- PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);
733
- color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);
734
- }
735
- }
736
-
737
- // Apply point light
738
- SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {
739
- if (i < lighting_uPointLightCount) {
740
- PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);
741
- float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));
742
- color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);
743
- }
744
- }
745
- #endif
746
-
747
- // Calculate lighting contribution from image based lighting source (IBL)
748
- #ifdef USE_IBL
749
- color += getIBLContribution(pbrInputs, n, reflection);
750
- #endif
751
-
752
- // Apply optional PBR terms for additional (optional) shading
753
- #ifdef HAS_OCCLUSIONMAP
754
- float ao = texture(u_OcclusionSampler, pbr_vUV).r;
755
- color = mix(color, color * ao, u_OcclusionStrength);
756
- #endif
757
-
758
- #ifdef HAS_EMISSIVEMAP
759
- vec3 emissive = SRGBtoLINEAR(texture(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;
760
- color += emissive;
761
- #endif
762
-
763
- // This section uses mix to override final color for reference app visualization
764
- // of various parameters in the lighting equation.
765
- #ifdef PBR_DEBUG
766
- // TODO: Figure out how to debug multiple lights
767
-
768
- // color = mix(color, F, u_ScaleFGDSpec.x);
769
- // color = mix(color, vec3(G), u_ScaleFGDSpec.y);
770
- // color = mix(color, vec3(D), u_ScaleFGDSpec.z);
771
- // color = mix(color, specContrib, u_ScaleFGDSpec.w);
772
-
773
- // color = mix(color, diffuseContrib, u_ScaleDiffBaseMR.x);
774
- color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);
775
- color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);
776
- color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);
777
- #endif
778
-
779
- }
780
-
781
- return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);
782
- }
783
- `],[`\\
784
- #if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)
785
- # error PBR fragment shader: Texture LOD is not available
786
- #endif
787
-
788
- #if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)
789
- # error PBR fragment shader: Derivatives are not available
790
- #endif
791
-
792
- // WebGL 1.0 does not support non-constant in for loops
793
- // This provides an easy way to handle these cases
794
- // and still take advantage of WebGL 2.0
795
- #if (__VERSION__ < 300)
796
- #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)
797
- #else
798
- #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)
799
- #endif
800
-
801
- precision highp float;
802
-
803
- uniform bool pbr_uUnlit;
804
-
805
- #ifdef USE_IBL
806
- uniform samplerCube u_DiffuseEnvSampler;
807
- uniform samplerCube u_SpecularEnvSampler;
808
- uniform sampler2D u_brdfLUT;
809
- uniform vec2 u_ScaleIBLAmbient;
810
- #endif
811
-
812
- #ifdef HAS_BASECOLORMAP
813
- uniform sampler2D u_BaseColorSampler;
814
- #endif
815
- #ifdef HAS_NORMALMAP
816
- uniform sampler2D u_NormalSampler;
817
- uniform float u_NormalScale;
818
- #endif
819
- #ifdef HAS_EMISSIVEMAP
820
- uniform sampler2D u_EmissiveSampler;
821
- uniform vec3 u_EmissiveFactor;
822
- #endif
823
- #ifdef HAS_METALROUGHNESSMAP
824
- uniform sampler2D u_MetallicRoughnessSampler;
825
- #endif
826
- #ifdef HAS_OCCLUSIONMAP
827
- uniform sampler2D u_OcclusionSampler;
828
- uniform float u_OcclusionStrength;
829
- #endif
830
-
831
- #ifdef ALPHA_CUTOFF
832
- uniform float u_AlphaCutoff;
833
- #endif
834
-
835
- uniform vec2 u_MetallicRoughnessValues;
836
- uniform vec4 u_BaseColorFactor;
837
-
838
- uniform vec3 u_Camera;
839
-
840
- // debugging flags used for shader output of intermediate PBR variables
841
- #ifdef PBR_DEBUG
842
- uniform vec4 u_ScaleDiffBaseMR;
843
- uniform vec4 u_ScaleFGDSpec;
844
- #endif
845
-
846
- in vec3 pbr_vPosition;
847
-
848
- in vec2 pbr_vUV;
849
-
850
- #ifdef HAS_NORMALS
851
- #ifdef HAS_TANGENTS
852
- in mat3 pbr_vTBN;
853
- #else
854
- in vec3 pbr_vNormal;
855
- #endif
856
- #endif
857
-
858
- // Encapsulate the various inputs used by the various functions in the shading equation
859
- // We store values in this struct to simplify the integration of alternative implementations
860
- // of the shading terms, outlined in the Readme.MD Appendix.
861
- struct PBRInfo
862
- {
863
- float NdotL; // cos angle between normal and light direction
864
- float NdotV; // cos angle between normal and view direction
865
- float NdotH; // cos angle between normal and half vector
866
- float LdotH; // cos angle between light direction and half vector
867
- float VdotH; // cos angle between view direction and half vector
868
- float perceptualRoughness; // roughness value, as authored by the model creator (input to shader)
869
- float metalness; // metallic value at the surface
870
- vec3 reflectance0; // full reflectance color (normal incidence angle)
871
- vec3 reflectance90; // reflectance color at grazing angle
872
- float alphaRoughness; // roughness mapped to a more linear change in the roughness (proposed by [2])
873
- vec3 diffuseColor; // color contribution from diffuse lighting
874
- vec3 specularColor; // color contribution from specular lighting
875
- vec3 n; // normal at surface point
876
- vec3 v; // vector from surface point to camera
877
- };
878
-
879
- const float M_PI = 3.141592653589793;
880
- const float c_MinRoughness = 0.04;
881
-
882
- vec4 SRGBtoLINEAR(vec4 srgbIn)
883
- {
884
- #ifdef MANUAL_SRGB
885
- #ifdef SRGB_FAST_APPROXIMATION
886
- vec3 linOut = pow(srgbIn.xyz,vec3(2.2));
887
- #else //SRGB_FAST_APPROXIMATION
888
- vec3 bLess = step(vec3(0.04045),srgbIn.xyz);
889
- vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );
890
- #endif //SRGB_FAST_APPROXIMATION
891
- return vec4(linOut,srgbIn.w);;
892
- #else //MANUAL_SRGB
893
- return srgbIn;
894
- #endif //MANUAL_SRGB
895
- }
896
-
897
- // Find the normal for this fragment, pulling either from a predefined normal map
898
- // or from the interpolated mesh normal and tangent attributes.
899
- vec3 getNormal()
900
- {
901
- // Retrieve the tangent space matrix
902
- #ifndef HAS_TANGENTS
903
- vec3 pos_dx = dFdx(pbr_vPosition);
904
- vec3 pos_dy = dFdy(pbr_vPosition);
905
- vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));
906
- vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));
907
- vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);
908
-
909
- #ifdef HAS_NORMALS
910
- vec3 ng = normalize(pbr_vNormal);
911
- #else
912
- vec3 ng = cross(pos_dx, pos_dy);
913
- #endif
914
-
915
- t = normalize(t - ng * dot(ng, t));
916
- vec3 b = normalize(cross(ng, t));
917
- mat3 tbn = mat3(t, b, ng);
918
- #else // HAS_TANGENTS
919
- mat3 tbn = pbr_vTBN;
920
- #endif
921
-
922
- #ifdef HAS_NORMALMAP
923
- vec3 n = texture(u_NormalSampler, pbr_vUV).rgb;
924
- n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));
925
- #else
926
- // The tbn matrix is linearly interpolated, so we need to re-normalize
927
- vec3 n = normalize(tbn[2].xyz);
928
- #endif
929
-
930
- return n;
931
- }
932
-
933
- // Calculation of the lighting contribution from an optional Image Based Light source.
934
- // Precomputed Environment Maps are required uniform inputs and are computed as outlined in [1].
935
- // See our README.md on Environment Maps [3] for additional discussion.
936
- #ifdef USE_IBL
937
- vec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)
938
- {
939
- float mipCount = 9.0; // resolution of 512x512
940
- float lod = (pbrInputs.perceptualRoughness * mipCount);
941
- // retrieve a scale and bias to F0. See [1], Figure 3
942
- vec3 brdf = SRGBtoLINEAR(texture(u_brdfLUT,
943
- vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;
944
- vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;
945
-
946
- #ifdef USE_TEX_LOD
947
- vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;
948
- #else
949
- vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;
950
- #endif
951
-
952
- vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;
953
- vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);
954
-
955
- // For presentation, this allows us to disable IBL terms
956
- diffuse *= u_ScaleIBLAmbient.x;
957
- specular *= u_ScaleIBLAmbient.y;
958
-
959
- return diffuse + specular;
960
- }
961
- #endif
962
-
963
- // Basic Lambertian diffuse
964
- // Implementation from Lambert's Photometria https://archive.org/details/lambertsphotome00lambgoog
965
- // See also [1], Equation 1
966
- vec3 diffuse(PBRInfo pbrInputs)
967
- {
968
- return pbrInputs.diffuseColor / M_PI;
969
- }
970
-
971
- // The following equation models the Fresnel reflectance term of the spec equation (aka F())
972
- // Implementation of fresnel from [4], Equation 15
973
- vec3 specularReflection(PBRInfo pbrInputs)
974
- {
975
- return pbrInputs.reflectance0 +
976
- (pbrInputs.reflectance90 - pbrInputs.reflectance0) *
977
- pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);
978
- }
979
-
980
- // This calculates the specular geometric attenuation (aka G()),
981
- // where rougher material will reflect less light back to the viewer.
982
- // This implementation is based on [1] Equation 4, and we adopt their modifications to
983
- // alphaRoughness as input as originally proposed in [2].
984
- float geometricOcclusion(PBRInfo pbrInputs)
985
- {
986
- float NdotL = pbrInputs.NdotL;
987
- float NdotV = pbrInputs.NdotV;
988
- float r = pbrInputs.alphaRoughness;
989
-
990
- float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));
991
- float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));
992
- return attenuationL * attenuationV;
993
- }
994
-
995
- // The following equation(s) model the distribution of microfacet normals across
996
- // the area being drawn (aka D())
997
- // Implementation from "Average Irregularity Representation of a Roughened Surface
998
- // for Ray Reflection" by T. S. Trowbridge, and K. P. Reitz
999
- // Follows the distribution function recommended in the SIGGRAPH 2013 course notes
1000
- // from EPIC Games [1], Equation 3.
1001
- float microfacetDistribution(PBRInfo pbrInputs)
1002
- {
1003
- float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;
1004
- float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;
1005
- return roughnessSq / (M_PI * f * f);
1006
- }
1007
-
1008
- void PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {
1009
- pbrInputs.NdotL = 1.0;
1010
- pbrInputs.NdotH = 0.0;
1011
- pbrInputs.LdotH = 0.0;
1012
- pbrInputs.VdotH = 1.0;
1013
- }
1014
-
1015
- void PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {
1016
- vec3 n = pbrInputs.n;
1017
- vec3 v = pbrInputs.v;
1018
- vec3 l = normalize(lightDirection); // Vector from surface point to light
1019
- vec3 h = normalize(l+v); // Half vector between both l and v
1020
-
1021
- pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);
1022
- pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);
1023
- pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);
1024
- pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);
1025
- }
1026
-
1027
- void PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {
1028
- vec3 light_direction = normalize(pointLight.position - pbr_vPosition);
1029
- PBRInfo_setDirectionalLight(pbrInputs, light_direction);
1030
- }
1031
-
1032
- vec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {
1033
- // Calculate the shading terms for the microfacet specular shading model
1034
- vec3 F = specularReflection(pbrInputs);
1035
- float G = geometricOcclusion(pbrInputs);
1036
- float D = microfacetDistribution(pbrInputs);
1037
-
1038
- // Calculation of analytical lighting contribution
1039
- vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);
1040
- vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);
1041
- // Obtain final intensity as reflectance (BRDF) scaled by the energy of the light (cosine law)
1042
- return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);
1043
- }
1044
-
1045
- vec4 pbr_filterColor(vec4 colorUnused)
1046
- {
1047
- // The albedo may be defined from a base texture or a flat color
1048
- #ifdef HAS_BASECOLORMAP
1049
- vec4 baseColor = SRGBtoLINEAR(texture(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;
1050
- #else
1051
- vec4 baseColor = u_BaseColorFactor;
1052
- #endif
1053
-
1054
- #ifdef ALPHA_CUTOFF
1055
- if (baseColor.a < u_AlphaCutoff) {
1056
- discard;
1057
- }
1058
- #endif
1059
-
1060
- vec3 color = vec3(0, 0, 0);
1061
-
1062
- if(pbr_uUnlit){
1063
- color.rgb = baseColor.rgb;
1064
- }
1065
- else{
1066
- // Metallic and Roughness material properties are packed together
1067
- // In glTF, these factors can be specified by fixed scalar values
1068
- // or from a metallic-roughness map
1069
- float perceptualRoughness = u_MetallicRoughnessValues.y;
1070
- float metallic = u_MetallicRoughnessValues.x;
1071
- #ifdef HAS_METALROUGHNESSMAP
1072
- // Roughness is stored in the 'g' channel, metallic is stored in the 'b' channel.
1073
- // This layout intentionally reserves the 'r' channel for (optional) occlusion map data
1074
- vec4 mrSample = texture(u_MetallicRoughnessSampler, pbr_vUV);
1075
- perceptualRoughness = mrSample.g * perceptualRoughness;
1076
- metallic = mrSample.b * metallic;
1077
- #endif
1078
- perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);
1079
- metallic = clamp(metallic, 0.0, 1.0);
1080
- // Roughness is authored as perceptual roughness; as is convention,
1081
- // convert to material roughness by squaring the perceptual roughness [2].
1082
- float alphaRoughness = perceptualRoughness * perceptualRoughness;
1083
-
1084
- vec3 f0 = vec3(0.04);
1085
- vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);
1086
- diffuseColor *= 1.0 - metallic;
1087
- vec3 specularColor = mix(f0, baseColor.rgb, metallic);
1088
-
1089
- // Compute reflectance.
1090
- float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);
1091
-
1092
- // For typical incident reflectance range (between 4% to 100%) set the grazing
1093
- // reflectance to 100% for typical fresnel effect.
1094
- // For very low reflectance range on highly diffuse objects (below 4%),
1095
- // incrementally reduce grazing reflecance to 0%.
1096
- float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);
1097
- vec3 specularEnvironmentR0 = specularColor.rgb;
1098
- vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;
1099
-
1100
- vec3 n = getNormal(); // normal at surface point
1101
- vec3 v = normalize(u_Camera - pbr_vPosition); // Vector from surface point to camera
1102
-
1103
- float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);
1104
- vec3 reflection = -normalize(reflect(v, n));
1105
-
1106
- PBRInfo pbrInputs = PBRInfo(
1107
- 0.0, // NdotL
1108
- NdotV,
1109
- 0.0, // NdotH
1110
- 0.0, // LdotH
1111
- 0.0, // VdotH
1112
- perceptualRoughness,
1113
- metallic,
1114
- specularEnvironmentR0,
1115
- specularEnvironmentR90,
1116
- alphaRoughness,
1117
- diffuseColor,
1118
- specularColor,
1119
- n,
1120
- v
1121
- );
1122
-
1123
- #ifdef USE_LIGHTS
1124
- // Apply ambient light
1125
- PBRInfo_setAmbientLight(pbrInputs);
1126
- color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);
1127
-
1128
- // Apply directional light
1129
- SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {
1130
- if (i < lighting_uDirectionalLightCount) {
1131
- PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);
1132
- color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);
1133
- }
1134
- }
1135
-
1136
- // Apply point light
1137
- SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {
1138
- if (i < lighting_uPointLightCount) {
1139
- PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);
1140
- float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));
1141
- color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);
1142
- }
1143
- }
1144
- #endif
1145
-
1146
- // Calculate lighting contribution from image based lighting source (IBL)
1147
- #ifdef USE_IBL
1148
- color += getIBLContribution(pbrInputs, n, reflection);
1149
- #endif
1150
-
1151
- // Apply optional PBR terms for additional (optional) shading
1152
- #ifdef HAS_OCCLUSIONMAP
1153
- float ao = texture(u_OcclusionSampler, pbr_vUV).r;
1154
- color = mix(color, color * ao, u_OcclusionStrength);
1155
- #endif
1156
-
1157
- #ifdef HAS_EMISSIVEMAP
1158
- vec3 emissive = SRGBtoLINEAR(texture(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;
1159
- color += emissive;
1160
- #endif
1161
-
1162
- // This section uses mix to override final color for reference app visualization
1163
- // of various parameters in the lighting equation.
1164
- #ifdef PBR_DEBUG
1165
- // TODO: Figure out how to debug multiple lights
1166
-
1167
- // color = mix(color, F, u_ScaleFGDSpec.x);
1168
- // color = mix(color, vec3(G), u_ScaleFGDSpec.y);
1169
- // color = mix(color, vec3(D), u_ScaleFGDSpec.z);
1170
- // color = mix(color, specContrib, u_ScaleFGDSpec.w);
1171
-
1172
- // color = mix(color, diffuseContrib, u_ScaleDiffBaseMR.x);
1173
- color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);
1174
- color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);
1175
- color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);
1176
- #endif
1177
-
1178
- }
1179
-
1180
- return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);
1181
- }
1182
- `])));var va={name:"pbr",vs:op,fs:ap,defines:{LIGHTING_FRAGMENT:1},dependencies:[rp]};function Gr(e){return Gr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Gr(e)}function fp(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function sp(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?fp(Object(r),!0).forEach(function(n){rA(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):fp(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function rA(e,t,r){return t=lp(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ba(e,t){return aA(e)||iA(e,t)||oA(e,t)||nA()}function nA(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1183
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function oA(e,t){if(e){if(typeof e=="string")return cp(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return cp(e,t)}}function cp(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function iA(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,a,s=[],f=!0,u=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);f=!0);}catch(d){u=!0,o=d}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}function aA(e){if(Array.isArray(e))return e}function up(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,lp(n.key),n)}}function fA(e,t,r){return t&&up(e.prototype,t),r&&up(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function lp(e){var t=sA(e,"string");return Gr(t)==="symbol"?t:String(t)}function sA(e,t){if(Gr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Gr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function cA(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var pp=function(){function e(r){cA(this,e),this.modules=void 0,this.moduleUniforms=void 0,this.moduleBindings=void 0,this.moduleUniformsChanged=void 0;var n=Dr(Object.values(r));x.log(1,"Creating ShaderInputs with modules",n.map(function(d){return d.name}))(),this.modules=r,this.moduleUniforms={},this.moduleBindings={};for(var o=0,i=Object.entries(r);o<i.length;o++){var a=ba(i[o],2),s=a[0],f=a[1],u=s;this.moduleUniforms[u]=f.defaultUniforms||{},this.moduleBindings[u]={}}}var t=e.prototype;return t.destroy=function(){},t.setProps=function(n){for(var o=0,i=Object.keys(n);o<i.length;o++){var a,s=i[o],f=s,u=n[f],d=this.modules[f];if(!d){x.warn("Module ".concat(s," not found"))();continue}var m=this.moduleUniforms[f],v=((a=d.getUniforms)===null||a===void 0?void 0:a.call(d,u,this.moduleUniforms[f]))||u;this.moduleUniforms[f]=sp(sp({},m),v)}},t.getModules=function(){return Object.values(this.modules)},t.getUniformValues=function(){return this.moduleUniforms},t.getBindings=function(){for(var n={},o=0,i=Object.values(this.moduleBindings);o<i.length;o++){var a=i[o];Object.assign(n,a)}return n},t.getDebugTable=function(){for(var n={},o=0,i=Object.entries(this.moduleUniforms);o<i.length;o++)for(var a=ba(i[o],2),s=a[0],f=a[1],u=0,d=Object.entries(f);u<d.length;u++){var m,v=ba(d[u],2),E=v[0],A=v[1];n["".concat(s,".").concat(E)]={type:(m=this.modules[s].uniformTypes)===null||m===void 0?void 0:m[E],value:String(A)}}return n},fA(e)}();function Kr(e){return Kr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Kr(e)}function uA(e,t){return dA(e)||hA(e,t)||pA(e,t)||lA()}function lA(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1184
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function pA(e,t){if(e){if(typeof e=="string")return hp(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return hp(e,t)}}function hp(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function hA(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,a,s=[],f=!0,u=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);f=!0);}catch(d){u=!0,o=d}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}function dA(e){if(Array.isArray(e))return e}function dp(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,yA(n.key),n)}}function _A(e,t,r){return t&&dp(e.prototype,t),r&&dp(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function yA(e){var t=mA(e,"string");return Kr(t)==="symbol"?t:String(t)}function mA(e,t){if(Kr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Kr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function gA(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var _p=function(){function e(r){gA(this,e),this.id=void 0,this.userData={},this.topology=void 0,this.bufferLayout=[],this.vertexCount=void 0,this.indices=void 0,this.attributes=void 0,this.id=r.id||ce("geometry"),this.topology=r.topology,this.indices=r.indices||null,this.attributes=r.attributes,this.vertexCount=r.vertexCount,this.bufferLayout=r.bufferLayout||[],this.indices&&K(this.indices.usage===Q.INDEX)}var t=e.prototype;return t.destroy=function(){var n;this.indices.destroy(),this.attributes.positions.destroy(),this.attributes.normals.destroy(),this.attributes.texCoords.destroy(),(n=this.attributes.colors)===null||n===void 0||n.destroy()},t.getVertexCount=function(){return this.vertexCount},t.getAttributes=function(){return this.attributes},t.getIndexes=function(){return this.indices},t._calculateVertexCount=function(n){var o=n.byteLength/12;return o},_A(e)}();function yp(e,t){if(t instanceof _p)return t;var r=vA(e,t),n=bA(e,t),o=n.attributes,i=n.bufferLayout;return new _p({topology:t.topology||"triangle-list",bufferLayout:i,vertexCount:t.vertexCount,indices:r,attributes:o})}function vA(e,t){if(t.indices){var r=t.indices.value;return e.createBuffer({usage:Q.INDEX,data:r})}}function bA(e,t){for(var r=[],n={},o=0,i=Object.entries(t.attributes);o<i.length;o++){var a=uA(i[o],2),s=a[0],f=a[1],u=s;switch(s){case"POSITION":u="positions";break;case"NORMAL":u="normals";break;case"TEXCOORD_0":u="texCoords";break;case"COLOR_0":u="colors";break}n[u]=e.createBuffer({data:f.value,id:"".concat(s,"-buffer")});var d=f.value,m=f.size,v=f.normalized;r.push({name:u,format:Ci(d,m,v)})}var E=t._calculateVertexCount(t.attributes,t.indices);return{attributes:n,bufferLayout:r,vertexCount:E}}function kr(e){return kr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},kr(e)}function mp(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Le(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?mp(Object(r),!0).forEach(function(n){EA(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):mp(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function EA(e,t,r){return t=vp(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function gp(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,vp(n.key),n)}}function AA(e,t,r){return t&&gp(e.prototype,t),r&&gp(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function vp(e){var t=SA(e,"string");return kr(t)==="symbol"?t:String(t)}function SA(e,t){if(kr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(kr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function TA(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var Ea=function(){e.getDefaultPipelineFactory=function(n){return n._lumaData.defaultPipelineFactory=n._lumaData.defaultPipelineFactory||new e(n),n._lumaData.defaultPipelineFactory};function e(r){TA(this,e),this.device=void 0,this._hashCounter=0,this._hashes={},this._useCounts={},this._pipelineCache={},this.device=r}var t=e.prototype;return t.createRenderPipeline=function(n){var o=Le(Le({},e.defaultProps),n),i=this._hashRenderPipeline(Le({},o));if(!this._pipelineCache[i]){var a=this.device.createRenderPipeline(Le(Le({},o),{},{vs:this.device.createShader({stage:"vertex",source:o.vs}),fs:o.fs?this.device.createShader({stage:"fragment",source:o.fs}):null}));a.hash=i,this._pipelineCache[i]=a,this._useCounts[i]=0}return this._useCounts[i]++,this._pipelineCache[i]},t.release=function(n){var o=n.hash;this._useCounts[o]--,this._useCounts[o]===0&&(this._pipelineCache[o].destroy(),delete this._pipelineCache[o],delete this._useCounts[o])},t._createRenderPipeline=function(n){if(!n.fs)throw new Error("fs");var o=this.device.createRenderPipeline(Le(Le({},n),{},{vs:this.device.createShader({stage:"vertex",source:n.vs}),fs:n.fs?this.device.createShader({stage:"fragment",source:n.fs}):null}));return o},t._hashRenderPipeline=function(n){var o=this._getHash(n.vs),i=n.fs?this._getHash(n.fs):0,a="-";switch(this.device.info.type){case"webgpu":var s=this._getHash(JSON.stringify(n.parameters)),f=this._getHash(JSON.stringify(n.bufferLayout));return"".concat(o,"/").concat(i,"V").concat(a,"T").concat(n.topology,"P").concat(s,"BL").concat(f,"}");default:return"".concat(o,"/").concat(i,"V").concat(a)}},t._getHash=function(n){return this._hashes[n]===void 0&&(this._hashes[n]=this._hashCounter++),this._hashes[n]},AA(e)}();Ea.defaultProps=Le(Le({},ke.defaultProps),{},{vs:void 0,fs:void 0});function Yr(e){return Yr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Yr(e)}function bp(e,t,r){return t=RA(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function RA(e){var t=OA(e,"string");return Yr(t)==="symbol"?t:String(t)}function OA(e,t){if(Yr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Yr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ep(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=PA(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(u){throw u},f:o}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1185
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,a=!1,s;return{s:function(){r=r.call(e)},n:function(){var u=r.next();return i=u.done,u},e:function(u){a=!0,s=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(a)throw s}}}}function PA(e,t){if(e){if(typeof e=="string")return Ap(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ap(e,t)}}function Ap(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Sp(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",r={},n="Shader Layout for ".concat(t),o=Ep(e.attributes),i;try{for(o.s();!(i=o.n()).done;){var a=i.value;if(a){var s="".concat(a.location," ").concat(a.name,": ").concat(a.type);r["in ".concat(s)]=bp({},n,a.stepMode||"vertex")}}}catch(v){o.e(v)}finally{o.f()}var f=Ep(e.varyings||[]),u;try{for(f.s();!(u=f.n()).done;){var d=u.value,m="".concat(d.location," ").concat(d.name);r["out ".concat(m)]=bp({},n,JSON.stringify(d.accessor))}}catch(v){f.e(v)}finally{f.f()}return r}function zr(e){return zr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},zr(e)}function IA(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Sa(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(u){throw u},f:o}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1186
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,a=!1,s;return{s:function(){r=r.call(e)},n:function(){var u=r.next();return i=u.done,u},e:function(u){a=!0,s=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(a)throw s}}}}function NA(e){return xA(e)||MA(e)||Sa(e)||wA()}function wA(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
1187
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function MA(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function xA(e){if(Array.isArray(e))return Aa(e)}function Po(e,t){return BA(e)||FA(e,t)||Sa(e,t)||CA()}function CA(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1188
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Sa(e,t){if(e){if(typeof e=="string")return Aa(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Aa(e,t)}}function Aa(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function FA(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,a,s=[],f=!0,u=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);f=!0);}catch(d){u=!0,o=d}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}function BA(e){if(Array.isArray(e))return e}function Tp(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Qe(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Tp(Object(r),!0).forEach(function(n){DA(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Tp(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function DA(e,t,r){return t=Ip(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Rp(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Ip(n.key),n)}}function UA(e,t,r){return t&&Rp(e.prototype,t),r&&Rp(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ip(e){var t=LA(e,"string");return zr(t)==="symbol"?t:String(t)}function LA(e,t){if(zr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(zr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function jA(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var Ut=2,HA=1e4,Io=function(){function e(r,n){var o,i,a;jA(this,e),this.device=void 0,this.id=void 0,this.vs=void 0,this.fs=void 0,this.pipelineFactory=void 0,this.userData={},this.parameters=void 0,this.topology=void 0,this.bufferLayout=void 0,this.vertexCount=void 0,this.instanceCount=0,this.indexBuffer=null,this.bufferAttributes={},this.constantAttributes={},this.bindings={},this.uniforms={},this.vertexArray=void 0,this.transformFeedback=null,this.pipeline=void 0,this.shaderInputs=void 0,this._uniformStore=void 0,this._pipelineNeedsUpdate="newly created",this._attributeInfos={},this._gpuGeometry=null,this._getModuleUniforms=void 0,this.props=void 0,this._lastLogTime=0,this._logOpen=!1,this.props=Qe(Qe({},e.defaultProps),n),n=this.props,this.id=n.id||ce("model"),this.device=r,Object.assign(this.userData,n.userData);var s=Object.fromEntries(((o=this.props.modules)===null||o===void 0?void 0:o.map(function(A){return[A.name,A]}))||[]);this.setShaderInputs(n.shaderInputs||new pp(s));var f=VA(r),u=(((i=this.props.modules)===null||i===void 0?void 0:i.length)>0?this.props.modules:(a=this.shaderInputs)===null||a===void 0?void 0:a.getModules())||[],d=this.props.shaderAssembler.assembleShaders(Qe(Qe({platformInfo:f},this.props),{},{modules:u})),m=d.vs,v=d.fs,E=d.getUniforms;if(this.vs=m,this.fs=v,this._getModuleUniforms=E,this.vertexCount=this.props.vertexCount,this.instanceCount=this.props.instanceCount,this.topology=this.props.topology,this.bufferLayout=this.props.bufferLayout,this.parameters=this.props.parameters,n.geometry&&(this._gpuGeometry=this.setGeometry(n.geometry)),this.pipelineFactory=n.pipelineFactory||Ea.getDefaultPipelineFactory(this.device),this.pipeline=this._updatePipeline(),this.vertexArray=r.createVertexArray({renderPipeline:this.pipeline}),this._gpuGeometry&&this._setGeometryAttributes(this._gpuGeometry),n.vertexCount&&this.setVertexCount(n.vertexCount),n.instanceCount&&this.setInstanceCount(n.instanceCount),n.indices)throw new Error("Model.props.indices removed. Use props.indexBuffer");n.indexBuffer&&this.setIndexBuffer(n.indexBuffer),n.attributes&&this.setAttributes(n.attributes),n.constantAttributes&&this.setConstantAttributes(n.constantAttributes),n.bindings&&this.setBindings(n.bindings),n.uniforms&&this.setUniforms(n.uniforms),n.moduleSettings&&(x.warn("Model.props.moduleSettings is deprecated. Use Model.shaderInputs.setProps()")(),this.updateModuleSettings(n.moduleSettings)),n.transformFeedback&&(this.transformFeedback=n.transformFeedback),Object.seal(this)}var t=e.prototype;return t.destroy=function(){this.pipelineFactory.release(this.pipeline),this._uniformStore.destroy()},t.predraw=function(){this.updateShaderInputs()},t.draw=function(n){this.predraw();try{this._logDrawCallStart(),this.pipeline=this._updatePipeline(),this.pipeline.setBindings(this.bindings),this.pipeline.setUniforms(this.uniforms),this.pipeline.draw({renderPass:n,vertexArray:this.vertexArray,vertexCount:this.vertexCount,instanceCount:this.instanceCount,transformFeedback:this.transformFeedback})}finally{this._logDrawCallEnd()}},t.setGeometry=function(n){var o=n&&yp(this.device,n);return this.setTopology(o.topology||"triangle-list"),this.bufferLayout=Op(this.bufferLayout,o.bufferLayout),this.vertexArray&&this._setGeometryAttributes(o),o},t._setGeometryAttributes=function(n){this.vertexCount=n.vertexCount,this.setAttributes(n.attributes,"ignore-unknown"),this.setIndexBuffer(n.indices)},t.setTopology=function(n){n!==this.topology&&(this.topology=n,this._setPipelineNeedsUpdate("topology"))},t.setBufferLayout=function(n){this.bufferLayout=this._gpuGeometry?Op(n,this._gpuGeometry.bufferLayout):n,this._setPipelineNeedsUpdate("bufferLayout"),this.pipeline=this._updatePipeline(),this.vertexArray=this.device.createVertexArray({renderPipeline:this.pipeline}),this._gpuGeometry&&this._setGeometryAttributes(this._gpuGeometry)},t.setParameters=function(n){Or(n,this.parameters,2)||(this.parameters=n,this._setPipelineNeedsUpdate("parameters"))},t.setVertexCount=function(n){this.vertexCount=n},t.setInstanceCount=function(n){this.instanceCount=n},t.setShaderInputs=function(n){this.shaderInputs=n,this._uniformStore=new Mi(this.shaderInputs.modules);for(var o=0,i=Object.keys(this.shaderInputs.modules);o<i.length;o++){var a=i[o],s=this._uniformStore.getManagedUniformBuffer(this.device,a);this.bindings["".concat(a,"Uniforms")]=s}},t.updateShaderInputs=function(){this._uniformStore.setUniforms(this.shaderInputs.getUniformValues())},t.updateModuleSettings=function(n){x.warn("Model.updateModuleSettings is deprecated. Use Model.shaderInputs.setProps()")();var o=Sr(this._getModuleUniforms(n)),i=o.bindings,a=o.uniforms;Object.assign(this.bindings,i),Object.assign(this.uniforms,a)},t.setBindings=function(n){Object.assign(this.bindings,n)},t.setUniforms=function(n){this.pipeline.setUniforms(n),Object.assign(this.uniforms,n)},t.setIndexBuffer=function(n){this.vertexArray.setIndexBuffer(n)},t.setTransformFeedback=function(n){this.transformFeedback=n},t.setAttributes=function(n,o){var i=this;n.indices&&x.warn("Model:".concat(this.id," setAttributes() - indexBuffer should be set using setIndexBuffer()"))();for(var a=function(){var m=Po(f[s],2),v=m[0],E=m[1],A=i.bufferLayout.find(function(B){return Pp(B).includes(v)});if(!A)return x.warn("Model(".concat(i.id,'): Missing layout for buffer "').concat(v,'".'))(),"continue";for(var T=Pp(A),O=!1,R=0,P=T;R<P.length;R++){var M=P[R],N=i._attributeInfos[M];N&&(i.vertexArray.setBuffer(N.location,E),O=!0)}!O&&o!=="ignore-unknown"&&x.warn("Model(".concat(i.id,'): Ignoring buffer "').concat(E.id,'" for unknown attribute "').concat(v,'"'))()},s=0,f=Object.entries(n);s<f.length;s++)var u=a()},t.setConstantAttributes=function(n){for(var o=0,i=Object.entries(n);o<i.length;o++){var a=Po(i[o],2),s=a[0],f=a[1],u=this._attributeInfos[s];u?this.vertexArray.setConstant(u.location,f):x.warn('Model "'.concat(this.id,': Ignoring constant supplied for unknown attribute "').concat(s,'"'))()}},t._setPipelineNeedsUpdate=function(n){this._pipelineNeedsUpdate=this._pipelineNeedsUpdate||n},t._updatePipeline=function(){return this._pipelineNeedsUpdate&&(this.pipeline&&x.log(1,"Model ".concat(this.id,': Recreating pipeline because "').concat(this._pipelineNeedsUpdate,'".'))(),this._pipelineNeedsUpdate=!1,this.pipeline=this.device.createRenderPipeline(Qe(Qe({},this.props),{},{bufferLayout:this.bufferLayout,topology:this.topology,parameters:this.parameters,vs:this.device.createShader({id:"{$this.id}-vertex",stage:"vertex",source:this.vs}),fs:this.fs?this.device.createShader({id:"{$this.id}-fragment",stage:"fragment",source:this.fs}):null})),this._attributeInfos=eo(this.pipeline.shaderLayout,this.bufferLayout)),this.pipeline},t._logDrawCallStart=function(){var n=x.level>3?0:HA;Date.now()-this._lastLogTime<n||(this._lastLogTime=Date.now(),this._logOpen=!0,x.group(Ut,">>> DRAWING MODEL ".concat(this.id),{collapsed:x.level<=2})())},t._logDrawCallEnd=function(){if(this._logOpen){var n=Sp(this.pipeline.shaderLayout);x.table(Ut,n)();for(var o=this.shaderInputs.getDebugTable(),i=0,a=Object.entries(this.uniforms);i<a.length;i++){var s=Po(a[i],2),f=s[0],u=s[1];o[f]={value:u}}x.table(Ut,o)();var d=this._getAttributeDebugTable();x.table(Ut,this._attributeInfos)(),x.table(Ut,d)(),x.groupEnd(Ut)(),this._logOpen=!1}},t._getAttributeDebugTable=function(){for(var n={},o=0,i=Object.entries(this._attributeInfos);o<i.length;o++){var a=Po(i[o],2),s=a[0],f=a[1];n[f.location]={name:s,type:f.shaderType,values:this._getBufferOrConstantValues(this.vertexArray.attributes[f.location],f.bufferDataType)}}if(this.vertexArray.indexBuffer){var u=this.vertexArray.indexBuffer,d=u.indexType==="uint32"?new Uint32Array(u.debugData):new Uint16Array(u.debugData);n.indices={name:"indices",type:u.indexType,values:d.toString()}}return n},t._getBufferOrConstantValues=function(n,o){var i=xi(o),a=n instanceof Q?new i(n.debugData):n;return a.toString()},UA(e)}();Io.defaultProps=Qe(Qe({},ke.defaultProps),{},{vs:null,fs:null,id:"unnamed",handle:void 0,userData:{},defines:{},modules:[],moduleSettings:void 0,geometry:null,indexBuffer:null,attributes:{},constantAttributes:{},varyings:[],shaderInputs:void 0,pipelineFactory:void 0,transformFeedback:void 0,shaderAssembler:vo.getDefaultShaderAssembler()});function Op(e,t){var r=NA(e),n=IA(t),o;try{var i=function(){var s=o.value,f=r.findIndex(function(u){return u.name===s.name});f<0?r.push(s):r[f]=s};for(n.s();!(o=n.n()).done;)i()}catch(a){n.e(a)}finally{n.f()}return r}function VA(e){return{type:e.info.type,shaderLanguage:e.info.shadingLanguage,shaderLanguageVersion:e.info.shadingLanguageVersion,gpu:e.info.gpu,features:e.features}}function Pp(e){var t;return e.attributes?(t=e.attributes)===null||t===void 0?void 0:t.map(function(r){return r.attribute}):[e.name]}function qr(e){return qr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},qr(e)}function Np(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function XA(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Np(Object(r),!0).forEach(function(n){WA(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Np(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function WA(e,t,r){return t=xp(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function GA(e,t){return zA(e)||YA(e,t)||kA(e,t)||KA()}function KA(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1189
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function kA(e,t){if(e){if(typeof e=="string")return wp(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return wp(e,t)}}function wp(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function YA(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,a,s=[],f=!0,u=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);f=!0);}catch(d){u=!0,o=d}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}function zA(e){if(Array.isArray(e))return e}function Mp(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,xp(n.key),n)}}function qA(e,t,r){return t&&Mp(e.prototype,t),r&&Mp(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function xp(e){var t=ZA(e,"string");return qr(t)==="symbol"?t:String(t)}function ZA(e,t){if(qr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(qr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function $A(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var Ta=function(){function e(r){$A(this,e),this.id=void 0,this.topology=void 0,this.vertexCount=void 0,this.indices=void 0,this.attributes=void 0,this.userData={};var n=r.attributes,o=n===void 0?{}:n,i=r.indices,a=i===void 0?null:i,s=r.vertexCount,f=s===void 0?null:s;this.id=r.id||ce("geometry"),this.topology=r.topology,a&&(this.indices=ArrayBuffer.isView(a)?{value:a,size:1}:a),this.attributes={};for(var u=0,d=Object.entries(o);u<d.length;u++){var m=GA(d[u],2),v=m[0],E=m[1],A=ArrayBuffer.isView(E)?{value:E}:E;K(ArrayBuffer.isView(A.value),"".concat(this._print(v),": must be typed array or object with value as typed array")),(v==="POSITION"||v==="positions")&&!A.size&&(A.size=3),v==="indices"?(K(!this.indices),this.indices=A):this.attributes[v]=A}this.indices&&this.indices.isIndexed!==void 0&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this.vertexCount=f||this._calculateVertexCount(this.attributes,this.indices)}var t=e.prototype;return t.getVertexCount=function(){return this.vertexCount},t.getAttributes=function(){return this.indices?XA({indices:this.indices},this.attributes):this.attributes},t._print=function(n){return"Geometry ".concat(this.id," attribute ").concat(n)},t._setAttributes=function(n,o){return this},t._calculateVertexCount=function(n,o){if(o)return o.value.length;for(var i=1/0,a=0,s=Object.values(n);a<s.length;a++){var f=s[a],u=f.value,d=f.size,m=f.constant;!m&&u&&d>=1&&(i=Math.min(i,u.length/d))}return K(Number.isFinite(i)),i},qA(e)}();function Zr(e){return Zr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Zr(e)}function Cp(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,JA(n.key),n)}}function QA(e,t,r){return t&&Cp(e.prototype,t),r&&Cp(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function JA(e){var t=eS(e,"string");return Zr(t)==="symbol"?t:String(t)}function eS(e,t){if(Zr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Zr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function tS(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var $r=function(){function e(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};tS(this,e),this.id=void 0,this.matrix=new de,this.display=!0,this.position=new ge,this.rotation=new ge,this.scale=new ge(1,1,1),this.userData={},this.props={};var n=r.id;this.id=n||ce(this.constructor.name),this._setScenegraphNodeProps(r)}var t=e.prototype;return t.getBounds=function(){return null},t.destroy=function(){},t.delete=function(){this.destroy()},t.setProps=function(n){return this._setScenegraphNodeProps(n),this},t.toString=function(){return"{type: ScenegraphNode, id: ".concat(this.id,")}")},t.setPosition=function(n){return K(n.length===3,"setPosition requires vector argument"),this.position=n,this},t.setRotation=function(n){return K(n.length===3,"setRotation requires vector argument"),this.rotation=n,this},t.setScale=function(n){return K(n.length===3,"setScale requires vector argument"),this.scale=n,this},t.setMatrix=function(n){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;o?this.matrix.copy(n):this.matrix=n},t.setMatrixComponents=function(n){var o=n.position,i=n.rotation,a=n.scale,s=n.update,f=s===void 0?!0:s;return o&&this.setPosition(o),i&&this.setRotation(i),a&&this.setScale(a),f&&this.updateMatrix(),this},t.updateMatrix=function(){var n=this.position,o=this.rotation,i=this.scale;return this.matrix.identity(),this.matrix.translate(n),this.matrix.rotateXYZ(o),this.matrix.scale(i),this},t.update=function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o=n.position,i=n.rotation,a=n.scale;return o&&this.setPosition(o),i&&this.setRotation(i),a&&this.setScale(a),this.updateMatrix(),this},t.getCoordinateUniforms=function(n,o){K(n),o=o||this.matrix;var i=new de(n).multiplyRight(o),a=i.invert(),s=a.transpose();return{viewMatrix:n,modelMatrix:o,objectMatrix:o,worldMatrix:i,worldInverseMatrix:a,worldInverseTransposeMatrix:s}},t._setScenegraphNodeProps=function(n){"display"in n&&(this.display=n.display),"position"in n&&this.setPosition(n.position),"rotation"in n&&this.setRotation(n.rotation),"scale"in n&&this.setScale(n.scale),"matrix"in n&&this.setMatrix(n.matrix),Object.assign(this.props,n)},QA(e)}();function Lt(e){return Lt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Lt(e)}function rS(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Pa(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(u){throw u},f:o}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1190
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,a=!1,s;return{s:function(){r=r.call(e)},n:function(){var u=r.next();return i=u.done,u},e:function(u){a=!0,s=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(a)throw s}}}}function nS(e){return aS(e)||iS(e)||Pa(e)||oS()}function oS(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
1191
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function iS(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function aS(e){if(Array.isArray(e))return Ra(e)}function fS(e,t){return uS(e)||cS(e,t)||Pa(e,t)||sS()}function sS(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1192
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Pa(e,t){if(e){if(typeof e=="string")return Ra(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ra(e,t)}}function Ra(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function cS(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,a,s=[],f=!0,u=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);f=!0);}catch(d){u=!0,o=d}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}function uS(e){if(Array.isArray(e))return e}function Fp(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,pS(n.key),n)}}function lS(e,t,r){return t&&Fp(e.prototype,t),r&&Fp(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function pS(e){var t=hS(e,"string");return Lt(t)==="symbol"?t:String(t)}function hS(e,t){if(Lt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Lt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function dS(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function No(){return typeof Reflect<"u"&&Reflect.get?No=Reflect.get.bind():No=function(t,r,n){var o=_S(t,r);if(o){var i=Object.getOwnPropertyDescriptor(o,r);return i.get?i.get.call(arguments.length<3?t:n):i.value}},No.apply(this,arguments)}function _S(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&(e=jt(e),e!==null););return e}function yS(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Oa(e,t)}function Oa(e,t){return Oa=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},Oa(e,t)}function mS(e){var t=bS();return function(){var n=jt(e),o;if(t){var i=jt(this).constructor;o=Reflect.construct(n,arguments,i)}else o=n.apply(this,arguments);return gS(this,o)}}function gS(e,t){if(t&&(Lt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return vS(e)}function vS(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function bS(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function jt(e){return jt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},jt(e)}var Qr=function(e){yS(r,e);var t=mS(r);function r(){var o,i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};dS(this,r),i=Array.isArray(i)?{children:i}:i;var a=i,s=a.children,f=s===void 0?[]:s;return x.assert(f.every(function(u){return u instanceof $r}),"every child must an instance of ScenegraphNode"),o=t.call(this,i),o.children=void 0,o.children=f,o}var n=r.prototype;return n.getBounds=function(){var i=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];return this.traverse(function(a,s){var f=s.worldMatrix,u=a.getBounds();if(u){var d=fS(u,2),m=d[0],v=d[1],E=new ge(m).add(v).divide([2,2,2]);f.transformAsPoint(E,E);var A=new ge(v).subtract(m).divide([2,2,2]);f.transformAsVector(A,A);for(var T=0;T<8;T++)for(var O=new ge(T&1?-1:1,T&2?-1:1,T&4?-1:1).multiply(A).add(E),R=0;R<3;R++)i[0][R]=Math.min(i[0][R],O[R]),i[1][R]=Math.max(i[1][R],O[R])}}),Number.isFinite(i[0][0])?i:null},n.destroy=function(){this.children.forEach(function(i){return i.destroy()}),this.removeAll(),No(jt(r.prototype),"destroy",this).call(this)},n.add=function(){for(var i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];for(var f=0,u=a;f<u.length;f++){var d=u[f];Array.isArray(d)?this.add.apply(this,nS(d)):this.children.push(d)}return this},n.remove=function(i){var a=this.children,s=a.indexOf(i);return s>-1&&a.splice(s,1),this},n.removeAll=function(){return this.children=[],this},n.traverse=function(i){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=a.worldMatrix,f=s===void 0?new de:s,u=new de(f).multiplyRight(this.matrix),d=rS(this.children),m;try{for(d.s();!(m=d.n()).done;){var v=m.value;v instanceof r?v.traverse(i,{worldMatrix:u}):i(v,{worldMatrix:u})}}catch(E){d.e(E)}finally{d.f()}},lS(r)}($r);function Ht(e){return Ht=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ht(e)}function Bp(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,AS(n.key),n)}}function ES(e,t,r){return t&&Bp(e.prototype,t),r&&Bp(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function AS(e){var t=SS(e,"string");return Ht(t)==="symbol"?t:String(t)}function SS(e,t){if(Ht(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Ht(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function TS(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function RS(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ia(e,t)}function Ia(e,t){return Ia=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},Ia(e,t)}function OS(e){var t=NS();return function(){var n=wo(e),o;if(t){var i=wo(this).constructor;o=Reflect.construct(n,arguments,i)}else o=n.apply(this,arguments);return PS(this,o)}}function PS(e,t){if(t&&(Ht(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return IS(e)}function IS(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function NS(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function wo(e){return wo=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},wo(e)}var Na=function(e){RS(r,e);var t=OS(r);function r(o){var i;return TS(this,r),i=t.call(this,o),i.model=void 0,i.bounds=null,i.managedResources=void 0,i.model=o.model,i.managedResources=o.managedResources||[],i.bounds=o.bounds||null,i.setProps(o),i}var n=r.prototype;return n.getBounds=function(){return this.bounds},n.destroy=function(){this.model&&(this.model.destroy(),this.model=null),this.managedResources.forEach(function(i){return i.destroy()}),this.managedResources=[]},n.draw=function(i){return this.model.draw(i)},ES(r)}($r);function Jr(e){return Jr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Jr(e)}function Dp(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Up(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Dp(Object(r),!0).forEach(function(n){wS(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Dp(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function wS(e,t,r){return t=MS(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function MS(e){var t=xS(e,"string");return Jr(t)==="symbol"?t:String(t)}function xS(e,t){if(Jr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Jr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var CS="Failed to create WebGL context in Node.js, headless gl returned null",FS=" luma.gl: loaded under Node.js without headless gl installed, meaning that WebGL contexts can not be created. This may not be an error. For example, this is a typical configuration for isorender applications running on the server.",BS={width:1,height:1,debug:!0,throwOnError:!1},wa=null;function Lp(){return wa!==null}function jp(e){e=Up(Up({},BS),e);var t=e,r=t.width,n=t.height,o=t.webgl1,i=t.webgl2;if(i&&!o)throw new Error("headless-gl does not support WebGL2");if(!wa)throw new Error(FS);var a=wa(r,n,e);if(!a)throw new Error(CS);return a}var en={};function DS(e){globalThis.console&&globalThis.console.error&&globalThis.console.error(e)}function US(e){globalThis.console&&globalThis.console.log&&globalThis.console.log(e)}function LS(e,t){en[e]=!0,t!==void 0&&DS(t)}function jS(e){var t=e.getError;e.getError=function(){var n;do n=t.apply(e),n!==e.NO_ERROR&&(en[n]=!0);while(n!==e.NO_ERROR);for(n in en)if(en[n])return delete en[n],parseInt(n,10);return e.NO_ERROR}}var tn=function e(t){var r=t.gl;this.ext=t,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(t.maxVertexAttribs);for(var n=0;n<this.attribs.length;n++){var o=new e.VertexAttrib(r);this.attribs[n]=o}this.maxAttrib=0};tn.VertexAttrib=function(t){this.enabled=!1,this.buffer=null,this.size=4,this.type=t.FLOAT,this.normalized=!1,this.stride=16,this.offset=0,this.cached="",this.recache()};tn.VertexAttrib.prototype.recache=function(){this.cached=[this.size,this.type,this.normalized,this.stride,this.offset].join(":")};var st=function(t){var r=this;this.gl=t,jS(t);var n=this.original={getParameter:t.getParameter,enableVertexAttribArray:t.enableVertexAttribArray,disableVertexAttribArray:t.disableVertexAttribArray,bindBuffer:t.bindBuffer,getVertexAttrib:t.getVertexAttrib,vertexAttribPointer:t.vertexAttribPointer};t.getParameter=function(i){return i===r.VERTEX_ARRAY_BINDING_OES?r.currentVertexArrayObject===r.defaultVertexArrayObject?null:r.currentVertexArrayObject:n.getParameter.apply(this,arguments)},t.enableVertexAttribArray=function(i){var a=r.currentVertexArrayObject;a.maxAttrib=Math.max(a.maxAttrib,i);var s=a.attribs[i];return s.enabled=!0,n.enableVertexAttribArray.apply(this,arguments)},t.disableVertexAttribArray=function(i){var a=r.currentVertexArrayObject;a.maxAttrib=Math.max(a.maxAttrib,i);var s=a.attribs[i];return s.enabled=!1,n.disableVertexAttribArray.apply(this,arguments)},t.bindBuffer=function(i,a){switch(i){case t.ARRAY_BUFFER:r.currentArrayBuffer=a;break;case t.ELEMENT_ARRAY_BUFFER:r.currentVertexArrayObject.elementArrayBuffer=a;break;default:}return n.bindBuffer.apply(this,arguments)},t.getVertexAttrib=function(i,a){var s=r.currentVertexArrayObject,f=s.attribs[i];switch(a){case t.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:return f.buffer;case t.VERTEX_ATTRIB_ARRAY_ENABLED:return f.enabled;case t.VERTEX_ATTRIB_ARRAY_SIZE:return f.size;case t.VERTEX_ATTRIB_ARRAY_STRIDE:return f.stride;case t.VERTEX_ATTRIB_ARRAY_TYPE:return f.type;case t.VERTEX_ATTRIB_ARRAY_NORMALIZED:return f.normalized;default:return n.getVertexAttrib.apply(this,arguments)}},t.vertexAttribPointer=function(i,a,s,f,u,d){var m=r.currentVertexArrayObject;m.maxAttrib=Math.max(m.maxAttrib,i);var v=m.attribs[i];return v.buffer=r.currentArrayBuffer,v.size=a,v.type=s,v.normalized=f,v.stride=u,v.offset=d,v.recache(),n.vertexAttribPointer.apply(this,arguments)},t.instrumentExtension&&t.instrumentExtension(this,"OES_vertex_array_object"),t.canvas&&t.canvas.addEventListener("webglcontextrestored",function(){US("OESVertexArrayObject emulation library context restored"),r.reset_()},!0),this.reset_()};st.prototype.VERTEX_ARRAY_BINDING_OES=34229;st.prototype.reset_=function(){var t=this.vertexArrayObjects!==void 0;if(t)for(var r=0;r<this.vertexArrayObjects.length;++r)this.vertexArrayObjects.isAlive=!1;var n=this.gl;this.maxVertexAttribs=n.getParameter(n.MAX_VERTEX_ATTRIBS),this.defaultVertexArrayObject=new tn(this),this.currentVertexArrayObject=null,this.currentArrayBuffer=null,this.vertexArrayObjects=[this.defaultVertexArrayObject],this.bindVertexArrayOES(null)};st.prototype.createVertexArrayOES=function(){var t=new tn(this);return this.vertexArrayObjects.push(t),t};st.prototype.deleteVertexArrayOES=function(t){t.isAlive=!1,this.vertexArrayObjects.splice(this.vertexArrayObjects.indexOf(t),1),this.currentVertexArrayObject===t&&this.bindVertexArrayOES(null)};st.prototype.isVertexArrayOES=function(t){return!!(t&&t instanceof tn&&t.hasBeenBound&&t.ext===this)};st.prototype.bindVertexArrayOES=function(t){var r=this.gl;if(t&&!t.isAlive){LS(r.INVALID_OPERATION,"bindVertexArrayOES: attempt to bind deleted arrayObject");return}var n=this.original,o=this.currentVertexArrayObject;this.currentVertexArrayObject=t||this.defaultVertexArrayObject,this.currentVertexArrayObject.hasBeenBound=!0;var i=this.currentVertexArrayObject;if(o!==i){(!o||i.elementArrayBuffer!==o.elementArrayBuffer)&&n.bindBuffer.call(r,r.ELEMENT_ARRAY_BUFFER,i.elementArrayBuffer);for(var a=this.currentArrayBuffer,s=Math.max(o?o.maxAttrib:0,i.maxAttrib),f=0;f<=s;f++){var u=i.attribs[f],d=o?o.attribs[f]:null;if((!o||u.enabled!==d.enabled)&&(u.enabled?n.enableVertexAttribArray.call(r,f):n.disableVertexAttribArray.call(r,f)),u.enabled){var m=!1;(!o||u.buffer!==d.buffer)&&(a!==u.buffer&&(n.bindBuffer.call(r,r.ARRAY_BUFFER,u.buffer),a=u.buffer),m=!0),(m||u.cached!==d.cached)&&n.vertexAttribPointer.call(r,f,u.size,u.type,u.normalized,u.stride,u.offset)}}this.currentArrayBuffer!==a&&n.bindBuffer.call(r,r.ARRAY_BUFFER,this.currentArrayBuffer)}};function Hp(e){if(typeof e.createVertexArray!="function"){var t=e.getSupportedExtensions;e.getSupportedExtensions=function(){var o=t.call(this)||[];return o.indexOf("OES_vertex_array_object")<0&&o.push("OES_vertex_array_object"),o};var r=e.getExtension;e.getExtension=function(o){var i=r.call(this,o);return i||(o!=="OES_vertex_array_object"?null:(e.__OESVertexArrayObject||(this.__OESVertexArrayObject=new st(this)),this.__OESVertexArrayObject))}}}var c=function(e){return e[e.DEPTH_BUFFER_BIT=256]="DEPTH_BUFFER_BIT",e[e.STENCIL_BUFFER_BIT=1024]="STENCIL_BUFFER_BIT",e[e.COLOR_BUFFER_BIT=16384]="COLOR_BUFFER_BIT",e[e.POINTS=0]="POINTS",e[e.LINES=1]="LINES",e[e.LINE_LOOP=2]="LINE_LOOP",e[e.LINE_STRIP=3]="LINE_STRIP",e[e.TRIANGLES=4]="TRIANGLES",e[e.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",e[e.TRIANGLE_FAN=6]="TRIANGLE_FAN",e[e.ZERO=0]="ZERO",e[e.ONE=1]="ONE",e[e.SRC_COLOR=768]="SRC_COLOR",e[e.ONE_MINUS_SRC_COLOR=769]="ONE_MINUS_SRC_COLOR",e[e.SRC_ALPHA=770]="SRC_ALPHA",e[e.ONE_MINUS_SRC_ALPHA=771]="ONE_MINUS_SRC_ALPHA",e[e.DST_ALPHA=772]="DST_ALPHA",e[e.ONE_MINUS_DST_ALPHA=773]="ONE_MINUS_DST_ALPHA",e[e.DST_COLOR=774]="DST_COLOR",e[e.ONE_MINUS_DST_COLOR=775]="ONE_MINUS_DST_COLOR",e[e.SRC_ALPHA_SATURATE=776]="SRC_ALPHA_SATURATE",e[e.CONSTANT_COLOR=32769]="CONSTANT_COLOR",e[e.ONE_MINUS_CONSTANT_COLOR=32770]="ONE_MINUS_CONSTANT_COLOR",e[e.CONSTANT_ALPHA=32771]="CONSTANT_ALPHA",e[e.ONE_MINUS_CONSTANT_ALPHA=32772]="ONE_MINUS_CONSTANT_ALPHA",e[e.FUNC_ADD=32774]="FUNC_ADD",e[e.FUNC_SUBTRACT=32778]="FUNC_SUBTRACT",e[e.FUNC_REVERSE_SUBTRACT=32779]="FUNC_REVERSE_SUBTRACT",e[e.BLEND_EQUATION=32777]="BLEND_EQUATION",e[e.BLEND_EQUATION_RGB=32777]="BLEND_EQUATION_RGB",e[e.BLEND_EQUATION_ALPHA=34877]="BLEND_EQUATION_ALPHA",e[e.BLEND_DST_RGB=32968]="BLEND_DST_RGB",e[e.BLEND_SRC_RGB=32969]="BLEND_SRC_RGB",e[e.BLEND_DST_ALPHA=32970]="BLEND_DST_ALPHA",e[e.BLEND_SRC_ALPHA=32971]="BLEND_SRC_ALPHA",e[e.BLEND_COLOR=32773]="BLEND_COLOR",e[e.ARRAY_BUFFER_BINDING=34964]="ARRAY_BUFFER_BINDING",e[e.ELEMENT_ARRAY_BUFFER_BINDING=34965]="ELEMENT_ARRAY_BUFFER_BINDING",e[e.LINE_WIDTH=2849]="LINE_WIDTH",e[e.ALIASED_POINT_SIZE_RANGE=33901]="ALIASED_POINT_SIZE_RANGE",e[e.ALIASED_LINE_WIDTH_RANGE=33902]="ALIASED_LINE_WIDTH_RANGE",e[e.CULL_FACE_MODE=2885]="CULL_FACE_MODE",e[e.FRONT_FACE=2886]="FRONT_FACE",e[e.DEPTH_RANGE=2928]="DEPTH_RANGE",e[e.DEPTH_WRITEMASK=2930]="DEPTH_WRITEMASK",e[e.DEPTH_CLEAR_VALUE=2931]="DEPTH_CLEAR_VALUE",e[e.DEPTH_FUNC=2932]="DEPTH_FUNC",e[e.STENCIL_CLEAR_VALUE=2961]="STENCIL_CLEAR_VALUE",e[e.STENCIL_FUNC=2962]="STENCIL_FUNC",e[e.STENCIL_FAIL=2964]="STENCIL_FAIL",e[e.STENCIL_PASS_DEPTH_FAIL=2965]="STENCIL_PASS_DEPTH_FAIL",e[e.STENCIL_PASS_DEPTH_PASS=2966]="STENCIL_PASS_DEPTH_PASS",e[e.STENCIL_REF=2967]="STENCIL_REF",e[e.STENCIL_VALUE_MASK=2963]="STENCIL_VALUE_MASK",e[e.STENCIL_WRITEMASK=2968]="STENCIL_WRITEMASK",e[e.STENCIL_BACK_FUNC=34816]="STENCIL_BACK_FUNC",e[e.STENCIL_BACK_FAIL=34817]="STENCIL_BACK_FAIL",e[e.STENCIL_BACK_PASS_DEPTH_FAIL=34818]="STENCIL_BACK_PASS_DEPTH_FAIL",e[e.STENCIL_BACK_PASS_DEPTH_PASS=34819]="STENCIL_BACK_PASS_DEPTH_PASS",e[e.STENCIL_BACK_REF=36003]="STENCIL_BACK_REF",e[e.STENCIL_BACK_VALUE_MASK=36004]="STENCIL_BACK_VALUE_MASK",e[e.STENCIL_BACK_WRITEMASK=36005]="STENCIL_BACK_WRITEMASK",e[e.VIEWPORT=2978]="VIEWPORT",e[e.SCISSOR_BOX=3088]="SCISSOR_BOX",e[e.COLOR_CLEAR_VALUE=3106]="COLOR_CLEAR_VALUE",e[e.COLOR_WRITEMASK=3107]="COLOR_WRITEMASK",e[e.UNPACK_ALIGNMENT=3317]="UNPACK_ALIGNMENT",e[e.PACK_ALIGNMENT=3333]="PACK_ALIGNMENT",e[e.MAX_TEXTURE_SIZE=3379]="MAX_TEXTURE_SIZE",e[e.MAX_VIEWPORT_DIMS=3386]="MAX_VIEWPORT_DIMS",e[e.SUBPIXEL_BITS=3408]="SUBPIXEL_BITS",e[e.RED_BITS=3410]="RED_BITS",e[e.GREEN_BITS=3411]="GREEN_BITS",e[e.BLUE_BITS=3412]="BLUE_BITS",e[e.ALPHA_BITS=3413]="ALPHA_BITS",e[e.DEPTH_BITS=3414]="DEPTH_BITS",e[e.STENCIL_BITS=3415]="STENCIL_BITS",e[e.POLYGON_OFFSET_UNITS=10752]="POLYGON_OFFSET_UNITS",e[e.POLYGON_OFFSET_FACTOR=32824]="POLYGON_OFFSET_FACTOR",e[e.TEXTURE_BINDING_2D=32873]="TEXTURE_BINDING_2D",e[e.SAMPLE_BUFFERS=32936]="SAMPLE_BUFFERS",e[e.SAMPLES=32937]="SAMPLES",e[e.SAMPLE_COVERAGE_VALUE=32938]="SAMPLE_COVERAGE_VALUE",e[e.SAMPLE_COVERAGE_INVERT=32939]="SAMPLE_COVERAGE_INVERT",e[e.COMPRESSED_TEXTURE_FORMATS=34467]="COMPRESSED_TEXTURE_FORMATS",e[e.VENDOR=7936]="VENDOR",e[e.RENDERER=7937]="RENDERER",e[e.VERSION=7938]="VERSION",e[e.IMPLEMENTATION_COLOR_READ_TYPE=35738]="IMPLEMENTATION_COLOR_READ_TYPE",e[e.IMPLEMENTATION_COLOR_READ_FORMAT=35739]="IMPLEMENTATION_COLOR_READ_FORMAT",e[e.BROWSER_DEFAULT_WEBGL=37444]="BROWSER_DEFAULT_WEBGL",e[e.STATIC_DRAW=35044]="STATIC_DRAW",e[e.STREAM_DRAW=35040]="STREAM_DRAW",e[e.DYNAMIC_DRAW=35048]="DYNAMIC_DRAW",e[e.ARRAY_BUFFER=34962]="ARRAY_BUFFER",e[e.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER",e[e.BUFFER_SIZE=34660]="BUFFER_SIZE",e[e.BUFFER_USAGE=34661]="BUFFER_USAGE",e[e.CURRENT_VERTEX_ATTRIB=34342]="CURRENT_VERTEX_ATTRIB",e[e.VERTEX_ATTRIB_ARRAY_ENABLED=34338]="VERTEX_ATTRIB_ARRAY_ENABLED",e[e.VERTEX_ATTRIB_ARRAY_SIZE=34339]="VERTEX_ATTRIB_ARRAY_SIZE",e[e.VERTEX_ATTRIB_ARRAY_STRIDE=34340]="VERTEX_ATTRIB_ARRAY_STRIDE",e[e.VERTEX_ATTRIB_ARRAY_TYPE=34341]="VERTEX_ATTRIB_ARRAY_TYPE",e[e.VERTEX_ATTRIB_ARRAY_NORMALIZED=34922]="VERTEX_ATTRIB_ARRAY_NORMALIZED",e[e.VERTEX_ATTRIB_ARRAY_POINTER=34373]="VERTEX_ATTRIB_ARRAY_POINTER",e[e.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING=34975]="VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",e[e.CULL_FACE=2884]="CULL_FACE",e[e.FRONT=1028]="FRONT",e[e.BACK=1029]="BACK",e[e.FRONT_AND_BACK=1032]="FRONT_AND_BACK",e[e.BLEND=3042]="BLEND",e[e.DEPTH_TEST=2929]="DEPTH_TEST",e[e.DITHER=3024]="DITHER",e[e.POLYGON_OFFSET_FILL=32823]="POLYGON_OFFSET_FILL",e[e.SAMPLE_ALPHA_TO_COVERAGE=32926]="SAMPLE_ALPHA_TO_COVERAGE",e[e.SAMPLE_COVERAGE=32928]="SAMPLE_COVERAGE",e[e.SCISSOR_TEST=3089]="SCISSOR_TEST",e[e.STENCIL_TEST=2960]="STENCIL_TEST",e[e.NO_ERROR=0]="NO_ERROR",e[e.INVALID_ENUM=1280]="INVALID_ENUM",e[e.INVALID_VALUE=1281]="INVALID_VALUE",e[e.INVALID_OPERATION=1282]="INVALID_OPERATION",e[e.OUT_OF_MEMORY=1285]="OUT_OF_MEMORY",e[e.CONTEXT_LOST_WEBGL=37442]="CONTEXT_LOST_WEBGL",e[e.CW=2304]="CW",e[e.CCW=2305]="CCW",e[e.DONT_CARE=4352]="DONT_CARE",e[e.FASTEST=4353]="FASTEST",e[e.NICEST=4354]="NICEST",e[e.GENERATE_MIPMAP_HINT=33170]="GENERATE_MIPMAP_HINT",e[e.BYTE=5120]="BYTE",e[e.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",e[e.SHORT=5122]="SHORT",e[e.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",e[e.INT=5124]="INT",e[e.UNSIGNED_INT=5125]="UNSIGNED_INT",e[e.FLOAT=5126]="FLOAT",e[e.DOUBLE=5130]="DOUBLE",e[e.DEPTH_COMPONENT=6402]="DEPTH_COMPONENT",e[e.ALPHA=6406]="ALPHA",e[e.RGB=6407]="RGB",e[e.RGBA=6408]="RGBA",e[e.LUMINANCE=6409]="LUMINANCE",e[e.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA",e[e.UNSIGNED_SHORT_4_4_4_4=32819]="UNSIGNED_SHORT_4_4_4_4",e[e.UNSIGNED_SHORT_5_5_5_1=32820]="UNSIGNED_SHORT_5_5_5_1",e[e.UNSIGNED_SHORT_5_6_5=33635]="UNSIGNED_SHORT_5_6_5",e[e.FRAGMENT_SHADER=35632]="FRAGMENT_SHADER",e[e.VERTEX_SHADER=35633]="VERTEX_SHADER",e[e.COMPILE_STATUS=35713]="COMPILE_STATUS",e[e.DELETE_STATUS=35712]="DELETE_STATUS",e[e.LINK_STATUS=35714]="LINK_STATUS",e[e.VALIDATE_STATUS=35715]="VALIDATE_STATUS",e[e.ATTACHED_SHADERS=35717]="ATTACHED_SHADERS",e[e.ACTIVE_ATTRIBUTES=35721]="ACTIVE_ATTRIBUTES",e[e.ACTIVE_UNIFORMS=35718]="ACTIVE_UNIFORMS",e[e.MAX_VERTEX_ATTRIBS=34921]="MAX_VERTEX_ATTRIBS",e[e.MAX_VERTEX_UNIFORM_VECTORS=36347]="MAX_VERTEX_UNIFORM_VECTORS",e[e.MAX_VARYING_VECTORS=36348]="MAX_VARYING_VECTORS",e[e.MAX_COMBINED_TEXTURE_IMAGE_UNITS=35661]="MAX_COMBINED_TEXTURE_IMAGE_UNITS",e[e.MAX_VERTEX_TEXTURE_IMAGE_UNITS=35660]="MAX_VERTEX_TEXTURE_IMAGE_UNITS",e[e.MAX_TEXTURE_IMAGE_UNITS=34930]="MAX_TEXTURE_IMAGE_UNITS",e[e.MAX_FRAGMENT_UNIFORM_VECTORS=36349]="MAX_FRAGMENT_UNIFORM_VECTORS",e[e.SHADER_TYPE=35663]="SHADER_TYPE",e[e.SHADING_LANGUAGE_VERSION=35724]="SHADING_LANGUAGE_VERSION",e[e.CURRENT_PROGRAM=35725]="CURRENT_PROGRAM",e[e.NEVER=512]="NEVER",e[e.LESS=513]="LESS",e[e.EQUAL=514]="EQUAL",e[e.LEQUAL=515]="LEQUAL",e[e.GREATER=516]="GREATER",e[e.NOTEQUAL=517]="NOTEQUAL",e[e.GEQUAL=518]="GEQUAL",e[e.ALWAYS=519]="ALWAYS",e[e.KEEP=7680]="KEEP",e[e.REPLACE=7681]="REPLACE",e[e.INCR=7682]="INCR",e[e.DECR=7683]="DECR",e[e.INVERT=5386]="INVERT",e[e.INCR_WRAP=34055]="INCR_WRAP",e[e.DECR_WRAP=34056]="DECR_WRAP",e[e.NEAREST=9728]="NEAREST",e[e.LINEAR=9729]="LINEAR",e[e.NEAREST_MIPMAP_NEAREST=9984]="NEAREST_MIPMAP_NEAREST",e[e.LINEAR_MIPMAP_NEAREST=9985]="LINEAR_MIPMAP_NEAREST",e[e.NEAREST_MIPMAP_LINEAR=9986]="NEAREST_MIPMAP_LINEAR",e[e.LINEAR_MIPMAP_LINEAR=9987]="LINEAR_MIPMAP_LINEAR",e[e.TEXTURE_MAG_FILTER=10240]="TEXTURE_MAG_FILTER",e[e.TEXTURE_MIN_FILTER=10241]="TEXTURE_MIN_FILTER",e[e.TEXTURE_WRAP_S=10242]="TEXTURE_WRAP_S",e[e.TEXTURE_WRAP_T=10243]="TEXTURE_WRAP_T",e[e.TEXTURE_2D=3553]="TEXTURE_2D",e[e.TEXTURE=5890]="TEXTURE",e[e.TEXTURE_CUBE_MAP=34067]="TEXTURE_CUBE_MAP",e[e.TEXTURE_BINDING_CUBE_MAP=34068]="TEXTURE_BINDING_CUBE_MAP",e[e.TEXTURE_CUBE_MAP_POSITIVE_X=34069]="TEXTURE_CUBE_MAP_POSITIVE_X",e[e.TEXTURE_CUBE_MAP_NEGATIVE_X=34070]="TEXTURE_CUBE_MAP_NEGATIVE_X",e[e.TEXTURE_CUBE_MAP_POSITIVE_Y=34071]="TEXTURE_CUBE_MAP_POSITIVE_Y",e[e.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072]="TEXTURE_CUBE_MAP_NEGATIVE_Y",e[e.TEXTURE_CUBE_MAP_POSITIVE_Z=34073]="TEXTURE_CUBE_MAP_POSITIVE_Z",e[e.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074]="TEXTURE_CUBE_MAP_NEGATIVE_Z",e[e.MAX_CUBE_MAP_TEXTURE_SIZE=34076]="MAX_CUBE_MAP_TEXTURE_SIZE",e[e.TEXTURE0=33984]="TEXTURE0",e[e.ACTIVE_TEXTURE=34016]="ACTIVE_TEXTURE",e[e.REPEAT=10497]="REPEAT",e[e.CLAMP_TO_EDGE=33071]="CLAMP_TO_EDGE",e[e.MIRRORED_REPEAT=33648]="MIRRORED_REPEAT",e[e.TEXTURE_WIDTH=4096]="TEXTURE_WIDTH",e[e.TEXTURE_HEIGHT=4097]="TEXTURE_HEIGHT",e[e.FLOAT_VEC2=35664]="FLOAT_VEC2",e[e.FLOAT_VEC3=35665]="FLOAT_VEC3",e[e.FLOAT_VEC4=35666]="FLOAT_VEC4",e[e.INT_VEC2=35667]="INT_VEC2",e[e.INT_VEC3=35668]="INT_VEC3",e[e.INT_VEC4=35669]="INT_VEC4",e[e.BOOL=35670]="BOOL",e[e.BOOL_VEC2=35671]="BOOL_VEC2",e[e.BOOL_VEC3=35672]="BOOL_VEC3",e[e.BOOL_VEC4=35673]="BOOL_VEC4",e[e.FLOAT_MAT2=35674]="FLOAT_MAT2",e[e.FLOAT_MAT3=35675]="FLOAT_MAT3",e[e.FLOAT_MAT4=35676]="FLOAT_MAT4",e[e.SAMPLER_2D=35678]="SAMPLER_2D",e[e.SAMPLER_CUBE=35680]="SAMPLER_CUBE",e[e.LOW_FLOAT=36336]="LOW_FLOAT",e[e.MEDIUM_FLOAT=36337]="MEDIUM_FLOAT",e[e.HIGH_FLOAT=36338]="HIGH_FLOAT",e[e.LOW_INT=36339]="LOW_INT",e[e.MEDIUM_INT=36340]="MEDIUM_INT",e[e.HIGH_INT=36341]="HIGH_INT",e[e.FRAMEBUFFER=36160]="FRAMEBUFFER",e[e.RENDERBUFFER=36161]="RENDERBUFFER",e[e.RGBA4=32854]="RGBA4",e[e.RGB5_A1=32855]="RGB5_A1",e[e.RGB565=36194]="RGB565",e[e.DEPTH_COMPONENT16=33189]="DEPTH_COMPONENT16",e[e.STENCIL_INDEX=6401]="STENCIL_INDEX",e[e.STENCIL_INDEX8=36168]="STENCIL_INDEX8",e[e.DEPTH_STENCIL=34041]="DEPTH_STENCIL",e[e.RENDERBUFFER_WIDTH=36162]="RENDERBUFFER_WIDTH",e[e.RENDERBUFFER_HEIGHT=36163]="RENDERBUFFER_HEIGHT",e[e.RENDERBUFFER_INTERNAL_FORMAT=36164]="RENDERBUFFER_INTERNAL_FORMAT",e[e.RENDERBUFFER_RED_SIZE=36176]="RENDERBUFFER_RED_SIZE",e[e.RENDERBUFFER_GREEN_SIZE=36177]="RENDERBUFFER_GREEN_SIZE",e[e.RENDERBUFFER_BLUE_SIZE=36178]="RENDERBUFFER_BLUE_SIZE",e[e.RENDERBUFFER_ALPHA_SIZE=36179]="RENDERBUFFER_ALPHA_SIZE",e[e.RENDERBUFFER_DEPTH_SIZE=36180]="RENDERBUFFER_DEPTH_SIZE",e[e.RENDERBUFFER_STENCIL_SIZE=36181]="RENDERBUFFER_STENCIL_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE=36048]="FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",e[e.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME=36049]="FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",e[e.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL=36050]="FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",e[e.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE=36051]="FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",e[e.COLOR_ATTACHMENT0=36064]="COLOR_ATTACHMENT0",e[e.DEPTH_ATTACHMENT=36096]="DEPTH_ATTACHMENT",e[e.STENCIL_ATTACHMENT=36128]="STENCIL_ATTACHMENT",e[e.DEPTH_STENCIL_ATTACHMENT=33306]="DEPTH_STENCIL_ATTACHMENT",e[e.NONE=0]="NONE",e[e.FRAMEBUFFER_COMPLETE=36053]="FRAMEBUFFER_COMPLETE",e[e.FRAMEBUFFER_INCOMPLETE_ATTACHMENT=36054]="FRAMEBUFFER_INCOMPLETE_ATTACHMENT",e[e.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT=36055]="FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",e[e.FRAMEBUFFER_INCOMPLETE_DIMENSIONS=36057]="FRAMEBUFFER_INCOMPLETE_DIMENSIONS",e[e.FRAMEBUFFER_UNSUPPORTED=36061]="FRAMEBUFFER_UNSUPPORTED",e[e.FRAMEBUFFER_BINDING=36006]="FRAMEBUFFER_BINDING",e[e.RENDERBUFFER_BINDING=36007]="RENDERBUFFER_BINDING",e[e.READ_FRAMEBUFFER=36008]="READ_FRAMEBUFFER",e[e.DRAW_FRAMEBUFFER=36009]="DRAW_FRAMEBUFFER",e[e.MAX_RENDERBUFFER_SIZE=34024]="MAX_RENDERBUFFER_SIZE",e[e.INVALID_FRAMEBUFFER_OPERATION=1286]="INVALID_FRAMEBUFFER_OPERATION",e[e.UNPACK_FLIP_Y_WEBGL=37440]="UNPACK_FLIP_Y_WEBGL",e[e.UNPACK_PREMULTIPLY_ALPHA_WEBGL=37441]="UNPACK_PREMULTIPLY_ALPHA_WEBGL",e[e.UNPACK_COLORSPACE_CONVERSION_WEBGL=37443]="UNPACK_COLORSPACE_CONVERSION_WEBGL",e[e.READ_BUFFER=3074]="READ_BUFFER",e[e.UNPACK_ROW_LENGTH=3314]="UNPACK_ROW_LENGTH",e[e.UNPACK_SKIP_ROWS=3315]="UNPACK_SKIP_ROWS",e[e.UNPACK_SKIP_PIXELS=3316]="UNPACK_SKIP_PIXELS",e[e.PACK_ROW_LENGTH=3330]="PACK_ROW_LENGTH",e[e.PACK_SKIP_ROWS=3331]="PACK_SKIP_ROWS",e[e.PACK_SKIP_PIXELS=3332]="PACK_SKIP_PIXELS",e[e.TEXTURE_BINDING_3D=32874]="TEXTURE_BINDING_3D",e[e.UNPACK_SKIP_IMAGES=32877]="UNPACK_SKIP_IMAGES",e[e.UNPACK_IMAGE_HEIGHT=32878]="UNPACK_IMAGE_HEIGHT",e[e.MAX_3D_TEXTURE_SIZE=32883]="MAX_3D_TEXTURE_SIZE",e[e.MAX_ELEMENTS_VERTICES=33e3]="MAX_ELEMENTS_VERTICES",e[e.MAX_ELEMENTS_INDICES=33001]="MAX_ELEMENTS_INDICES",e[e.MAX_TEXTURE_LOD_BIAS=34045]="MAX_TEXTURE_LOD_BIAS",e[e.MAX_FRAGMENT_UNIFORM_COMPONENTS=35657]="MAX_FRAGMENT_UNIFORM_COMPONENTS",e[e.MAX_VERTEX_UNIFORM_COMPONENTS=35658]="MAX_VERTEX_UNIFORM_COMPONENTS",e[e.MAX_ARRAY_TEXTURE_LAYERS=35071]="MAX_ARRAY_TEXTURE_LAYERS",e[e.MIN_PROGRAM_TEXEL_OFFSET=35076]="MIN_PROGRAM_TEXEL_OFFSET",e[e.MAX_PROGRAM_TEXEL_OFFSET=35077]="MAX_PROGRAM_TEXEL_OFFSET",e[e.MAX_VARYING_COMPONENTS=35659]="MAX_VARYING_COMPONENTS",e[e.FRAGMENT_SHADER_DERIVATIVE_HINT=35723]="FRAGMENT_SHADER_DERIVATIVE_HINT",e[e.RASTERIZER_DISCARD=35977]="RASTERIZER_DISCARD",e[e.VERTEX_ARRAY_BINDING=34229]="VERTEX_ARRAY_BINDING",e[e.MAX_VERTEX_OUTPUT_COMPONENTS=37154]="MAX_VERTEX_OUTPUT_COMPONENTS",e[e.MAX_FRAGMENT_INPUT_COMPONENTS=37157]="MAX_FRAGMENT_INPUT_COMPONENTS",e[e.MAX_SERVER_WAIT_TIMEOUT=37137]="MAX_SERVER_WAIT_TIMEOUT",e[e.MAX_ELEMENT_INDEX=36203]="MAX_ELEMENT_INDEX",e[e.RED=6403]="RED",e[e.RGB8=32849]="RGB8",e[e.RGBA8=32856]="RGBA8",e[e.RGB10_A2=32857]="RGB10_A2",e[e.TEXTURE_3D=32879]="TEXTURE_3D",e[e.TEXTURE_WRAP_R=32882]="TEXTURE_WRAP_R",e[e.TEXTURE_MIN_LOD=33082]="TEXTURE_MIN_LOD",e[e.TEXTURE_MAX_LOD=33083]="TEXTURE_MAX_LOD",e[e.TEXTURE_BASE_LEVEL=33084]="TEXTURE_BASE_LEVEL",e[e.TEXTURE_MAX_LEVEL=33085]="TEXTURE_MAX_LEVEL",e[e.TEXTURE_COMPARE_MODE=34892]="TEXTURE_COMPARE_MODE",e[e.TEXTURE_COMPARE_FUNC=34893]="TEXTURE_COMPARE_FUNC",e[e.SRGB=35904]="SRGB",e[e.SRGB8=35905]="SRGB8",e[e.SRGB8_ALPHA8=35907]="SRGB8_ALPHA8",e[e.COMPARE_REF_TO_TEXTURE=34894]="COMPARE_REF_TO_TEXTURE",e[e.RGBA32F=34836]="RGBA32F",e[e.RGB32F=34837]="RGB32F",e[e.RGBA16F=34842]="RGBA16F",e[e.RGB16F=34843]="RGB16F",e[e.TEXTURE_2D_ARRAY=35866]="TEXTURE_2D_ARRAY",e[e.TEXTURE_BINDING_2D_ARRAY=35869]="TEXTURE_BINDING_2D_ARRAY",e[e.R11F_G11F_B10F=35898]="R11F_G11F_B10F",e[e.RGB9_E5=35901]="RGB9_E5",e[e.RGBA32UI=36208]="RGBA32UI",e[e.RGB32UI=36209]="RGB32UI",e[e.RGBA16UI=36214]="RGBA16UI",e[e.RGB16UI=36215]="RGB16UI",e[e.RGBA8UI=36220]="RGBA8UI",e[e.RGB8UI=36221]="RGB8UI",e[e.RGBA32I=36226]="RGBA32I",e[e.RGB32I=36227]="RGB32I",e[e.RGBA16I=36232]="RGBA16I",e[e.RGB16I=36233]="RGB16I",e[e.RGBA8I=36238]="RGBA8I",e[e.RGB8I=36239]="RGB8I",e[e.RED_INTEGER=36244]="RED_INTEGER",e[e.RGB_INTEGER=36248]="RGB_INTEGER",e[e.RGBA_INTEGER=36249]="RGBA_INTEGER",e[e.R8=33321]="R8",e[e.RG8=33323]="RG8",e[e.R16F=33325]="R16F",e[e.R32F=33326]="R32F",e[e.RG16F=33327]="RG16F",e[e.RG32F=33328]="RG32F",e[e.R8I=33329]="R8I",e[e.R8UI=33330]="R8UI",e[e.R16I=33331]="R16I",e[e.R16UI=33332]="R16UI",e[e.R32I=33333]="R32I",e[e.R32UI=33334]="R32UI",e[e.RG8I=33335]="RG8I",e[e.RG8UI=33336]="RG8UI",e[e.RG16I=33337]="RG16I",e[e.RG16UI=33338]="RG16UI",e[e.RG32I=33339]="RG32I",e[e.RG32UI=33340]="RG32UI",e[e.R8_SNORM=36756]="R8_SNORM",e[e.RG8_SNORM=36757]="RG8_SNORM",e[e.RGB8_SNORM=36758]="RGB8_SNORM",e[e.RGBA8_SNORM=36759]="RGBA8_SNORM",e[e.RGB10_A2UI=36975]="RGB10_A2UI",e[e.TEXTURE_IMMUTABLE_FORMAT=37167]="TEXTURE_IMMUTABLE_FORMAT",e[e.TEXTURE_IMMUTABLE_LEVELS=33503]="TEXTURE_IMMUTABLE_LEVELS",e[e.UNSIGNED_INT_2_10_10_10_REV=33640]="UNSIGNED_INT_2_10_10_10_REV",e[e.UNSIGNED_INT_10F_11F_11F_REV=35899]="UNSIGNED_INT_10F_11F_11F_REV",e[e.UNSIGNED_INT_5_9_9_9_REV=35902]="UNSIGNED_INT_5_9_9_9_REV",e[e.FLOAT_32_UNSIGNED_INT_24_8_REV=36269]="FLOAT_32_UNSIGNED_INT_24_8_REV",e[e.UNSIGNED_INT_24_8=34042]="UNSIGNED_INT_24_8",e[e.HALF_FLOAT=5131]="HALF_FLOAT",e[e.RG=33319]="RG",e[e.RG_INTEGER=33320]="RG_INTEGER",e[e.INT_2_10_10_10_REV=36255]="INT_2_10_10_10_REV",e[e.CURRENT_QUERY=34917]="CURRENT_QUERY",e[e.QUERY_RESULT=34918]="QUERY_RESULT",e[e.QUERY_RESULT_AVAILABLE=34919]="QUERY_RESULT_AVAILABLE",e[e.ANY_SAMPLES_PASSED=35887]="ANY_SAMPLES_PASSED",e[e.ANY_SAMPLES_PASSED_CONSERVATIVE=36202]="ANY_SAMPLES_PASSED_CONSERVATIVE",e[e.MAX_DRAW_BUFFERS=34852]="MAX_DRAW_BUFFERS",e[e.DRAW_BUFFER0=34853]="DRAW_BUFFER0",e[e.DRAW_BUFFER1=34854]="DRAW_BUFFER1",e[e.DRAW_BUFFER2=34855]="DRAW_BUFFER2",e[e.DRAW_BUFFER3=34856]="DRAW_BUFFER3",e[e.DRAW_BUFFER4=34857]="DRAW_BUFFER4",e[e.DRAW_BUFFER5=34858]="DRAW_BUFFER5",e[e.DRAW_BUFFER6=34859]="DRAW_BUFFER6",e[e.DRAW_BUFFER7=34860]="DRAW_BUFFER7",e[e.DRAW_BUFFER8=34861]="DRAW_BUFFER8",e[e.DRAW_BUFFER9=34862]="DRAW_BUFFER9",e[e.DRAW_BUFFER10=34863]="DRAW_BUFFER10",e[e.DRAW_BUFFER11=34864]="DRAW_BUFFER11",e[e.DRAW_BUFFER12=34865]="DRAW_BUFFER12",e[e.DRAW_BUFFER13=34866]="DRAW_BUFFER13",e[e.DRAW_BUFFER14=34867]="DRAW_BUFFER14",e[e.DRAW_BUFFER15=34868]="DRAW_BUFFER15",e[e.MAX_COLOR_ATTACHMENTS=36063]="MAX_COLOR_ATTACHMENTS",e[e.COLOR_ATTACHMENT1=36065]="COLOR_ATTACHMENT1",e[e.COLOR_ATTACHMENT2=36066]="COLOR_ATTACHMENT2",e[e.COLOR_ATTACHMENT3=36067]="COLOR_ATTACHMENT3",e[e.COLOR_ATTACHMENT4=36068]="COLOR_ATTACHMENT4",e[e.COLOR_ATTACHMENT5=36069]="COLOR_ATTACHMENT5",e[e.COLOR_ATTACHMENT6=36070]="COLOR_ATTACHMENT6",e[e.COLOR_ATTACHMENT7=36071]="COLOR_ATTACHMENT7",e[e.COLOR_ATTACHMENT8=36072]="COLOR_ATTACHMENT8",e[e.COLOR_ATTACHMENT9=36073]="COLOR_ATTACHMENT9",e[e.COLOR_ATTACHMENT10=36074]="COLOR_ATTACHMENT10",e[e.COLOR_ATTACHMENT11=36075]="COLOR_ATTACHMENT11",e[e.COLOR_ATTACHMENT12=36076]="COLOR_ATTACHMENT12",e[e.COLOR_ATTACHMENT13=36077]="COLOR_ATTACHMENT13",e[e.COLOR_ATTACHMENT14=36078]="COLOR_ATTACHMENT14",e[e.COLOR_ATTACHMENT15=36079]="COLOR_ATTACHMENT15",e[e.SAMPLER_3D=35679]="SAMPLER_3D",e[e.SAMPLER_2D_SHADOW=35682]="SAMPLER_2D_SHADOW",e[e.SAMPLER_2D_ARRAY=36289]="SAMPLER_2D_ARRAY",e[e.SAMPLER_2D_ARRAY_SHADOW=36292]="SAMPLER_2D_ARRAY_SHADOW",e[e.SAMPLER_CUBE_SHADOW=36293]="SAMPLER_CUBE_SHADOW",e[e.INT_SAMPLER_2D=36298]="INT_SAMPLER_2D",e[e.INT_SAMPLER_3D=36299]="INT_SAMPLER_3D",e[e.INT_SAMPLER_CUBE=36300]="INT_SAMPLER_CUBE",e[e.INT_SAMPLER_2D_ARRAY=36303]="INT_SAMPLER_2D_ARRAY",e[e.UNSIGNED_INT_SAMPLER_2D=36306]="UNSIGNED_INT_SAMPLER_2D",e[e.UNSIGNED_INT_SAMPLER_3D=36307]="UNSIGNED_INT_SAMPLER_3D",e[e.UNSIGNED_INT_SAMPLER_CUBE=36308]="UNSIGNED_INT_SAMPLER_CUBE",e[e.UNSIGNED_INT_SAMPLER_2D_ARRAY=36311]="UNSIGNED_INT_SAMPLER_2D_ARRAY",e[e.MAX_SAMPLES=36183]="MAX_SAMPLES",e[e.SAMPLER_BINDING=35097]="SAMPLER_BINDING",e[e.PIXEL_PACK_BUFFER=35051]="PIXEL_PACK_BUFFER",e[e.PIXEL_UNPACK_BUFFER=35052]="PIXEL_UNPACK_BUFFER",e[e.PIXEL_PACK_BUFFER_BINDING=35053]="PIXEL_PACK_BUFFER_BINDING",e[e.PIXEL_UNPACK_BUFFER_BINDING=35055]="PIXEL_UNPACK_BUFFER_BINDING",e[e.COPY_READ_BUFFER=36662]="COPY_READ_BUFFER",e[e.COPY_WRITE_BUFFER=36663]="COPY_WRITE_BUFFER",e[e.COPY_READ_BUFFER_BINDING=36662]="COPY_READ_BUFFER_BINDING",e[e.COPY_WRITE_BUFFER_BINDING=36663]="COPY_WRITE_BUFFER_BINDING",e[e.FLOAT_MAT2x3=35685]="FLOAT_MAT2x3",e[e.FLOAT_MAT2x4=35686]="FLOAT_MAT2x4",e[e.FLOAT_MAT3x2=35687]="FLOAT_MAT3x2",e[e.FLOAT_MAT3x4=35688]="FLOAT_MAT3x4",e[e.FLOAT_MAT4x2=35689]="FLOAT_MAT4x2",e[e.FLOAT_MAT4x3=35690]="FLOAT_MAT4x3",e[e.UNSIGNED_INT_VEC2=36294]="UNSIGNED_INT_VEC2",e[e.UNSIGNED_INT_VEC3=36295]="UNSIGNED_INT_VEC3",e[e.UNSIGNED_INT_VEC4=36296]="UNSIGNED_INT_VEC4",e[e.UNSIGNED_NORMALIZED=35863]="UNSIGNED_NORMALIZED",e[e.SIGNED_NORMALIZED=36764]="SIGNED_NORMALIZED",e[e.VERTEX_ATTRIB_ARRAY_INTEGER=35069]="VERTEX_ATTRIB_ARRAY_INTEGER",e[e.VERTEX_ATTRIB_ARRAY_DIVISOR=35070]="VERTEX_ATTRIB_ARRAY_DIVISOR",e[e.TRANSFORM_FEEDBACK_BUFFER_MODE=35967]="TRANSFORM_FEEDBACK_BUFFER_MODE",e[e.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS=35968]="MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS",e[e.TRANSFORM_FEEDBACK_VARYINGS=35971]="TRANSFORM_FEEDBACK_VARYINGS",e[e.TRANSFORM_FEEDBACK_BUFFER_START=35972]="TRANSFORM_FEEDBACK_BUFFER_START",e[e.TRANSFORM_FEEDBACK_BUFFER_SIZE=35973]="TRANSFORM_FEEDBACK_BUFFER_SIZE",e[e.TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN=35976]="TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN",e[e.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS=35978]="MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS",e[e.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS=35979]="MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS",e[e.INTERLEAVED_ATTRIBS=35980]="INTERLEAVED_ATTRIBS",e[e.SEPARATE_ATTRIBS=35981]="SEPARATE_ATTRIBS",e[e.TRANSFORM_FEEDBACK_BUFFER=35982]="TRANSFORM_FEEDBACK_BUFFER",e[e.TRANSFORM_FEEDBACK_BUFFER_BINDING=35983]="TRANSFORM_FEEDBACK_BUFFER_BINDING",e[e.TRANSFORM_FEEDBACK=36386]="TRANSFORM_FEEDBACK",e[e.TRANSFORM_FEEDBACK_PAUSED=36387]="TRANSFORM_FEEDBACK_PAUSED",e[e.TRANSFORM_FEEDBACK_ACTIVE=36388]="TRANSFORM_FEEDBACK_ACTIVE",e[e.TRANSFORM_FEEDBACK_BINDING=36389]="TRANSFORM_FEEDBACK_BINDING",e[e.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING=33296]="FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING",e[e.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE=33297]="FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE",e[e.FRAMEBUFFER_ATTACHMENT_RED_SIZE=33298]="FRAMEBUFFER_ATTACHMENT_RED_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE=33299]="FRAMEBUFFER_ATTACHMENT_GREEN_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE=33300]="FRAMEBUFFER_ATTACHMENT_BLUE_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE=33301]="FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE=33302]="FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE=33303]="FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE",e[e.FRAMEBUFFER_DEFAULT=33304]="FRAMEBUFFER_DEFAULT",e[e.DEPTH24_STENCIL8=35056]="DEPTH24_STENCIL8",e[e.DRAW_FRAMEBUFFER_BINDING=36006]="DRAW_FRAMEBUFFER_BINDING",e[e.READ_FRAMEBUFFER_BINDING=36010]="READ_FRAMEBUFFER_BINDING",e[e.RENDERBUFFER_SAMPLES=36011]="RENDERBUFFER_SAMPLES",e[e.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER=36052]="FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER",e[e.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE=36182]="FRAMEBUFFER_INCOMPLETE_MULTISAMPLE",e[e.UNIFORM_BUFFER=35345]="UNIFORM_BUFFER",e[e.UNIFORM_BUFFER_BINDING=35368]="UNIFORM_BUFFER_BINDING",e[e.UNIFORM_BUFFER_START=35369]="UNIFORM_BUFFER_START",e[e.UNIFORM_BUFFER_SIZE=35370]="UNIFORM_BUFFER_SIZE",e[e.MAX_VERTEX_UNIFORM_BLOCKS=35371]="MAX_VERTEX_UNIFORM_BLOCKS",e[e.MAX_FRAGMENT_UNIFORM_BLOCKS=35373]="MAX_FRAGMENT_UNIFORM_BLOCKS",e[e.MAX_COMBINED_UNIFORM_BLOCKS=35374]="MAX_COMBINED_UNIFORM_BLOCKS",e[e.MAX_UNIFORM_BUFFER_BINDINGS=35375]="MAX_UNIFORM_BUFFER_BINDINGS",e[e.MAX_UNIFORM_BLOCK_SIZE=35376]="MAX_UNIFORM_BLOCK_SIZE",e[e.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS=35377]="MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS",e[e.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS=35379]="MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS",e[e.UNIFORM_BUFFER_OFFSET_ALIGNMENT=35380]="UNIFORM_BUFFER_OFFSET_ALIGNMENT",e[e.ACTIVE_UNIFORM_BLOCKS=35382]="ACTIVE_UNIFORM_BLOCKS",e[e.UNIFORM_TYPE=35383]="UNIFORM_TYPE",e[e.UNIFORM_SIZE=35384]="UNIFORM_SIZE",e[e.UNIFORM_BLOCK_INDEX=35386]="UNIFORM_BLOCK_INDEX",e[e.UNIFORM_OFFSET=35387]="UNIFORM_OFFSET",e[e.UNIFORM_ARRAY_STRIDE=35388]="UNIFORM_ARRAY_STRIDE",e[e.UNIFORM_MATRIX_STRIDE=35389]="UNIFORM_MATRIX_STRIDE",e[e.UNIFORM_IS_ROW_MAJOR=35390]="UNIFORM_IS_ROW_MAJOR",e[e.UNIFORM_BLOCK_BINDING=35391]="UNIFORM_BLOCK_BINDING",e[e.UNIFORM_BLOCK_DATA_SIZE=35392]="UNIFORM_BLOCK_DATA_SIZE",e[e.UNIFORM_BLOCK_ACTIVE_UNIFORMS=35394]="UNIFORM_BLOCK_ACTIVE_UNIFORMS",e[e.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES=35395]="UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES",e[e.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER=35396]="UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER",e[e.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER=35398]="UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER",e[e.OBJECT_TYPE=37138]="OBJECT_TYPE",e[e.SYNC_CONDITION=37139]="SYNC_CONDITION",e[e.SYNC_STATUS=37140]="SYNC_STATUS",e[e.SYNC_FLAGS=37141]="SYNC_FLAGS",e[e.SYNC_FENCE=37142]="SYNC_FENCE",e[e.SYNC_GPU_COMMANDS_COMPLETE=37143]="SYNC_GPU_COMMANDS_COMPLETE",e[e.UNSIGNALED=37144]="UNSIGNALED",e[e.SIGNALED=37145]="SIGNALED",e[e.ALREADY_SIGNALED=37146]="ALREADY_SIGNALED",e[e.TIMEOUT_EXPIRED=37147]="TIMEOUT_EXPIRED",e[e.CONDITION_SATISFIED=37148]="CONDITION_SATISFIED",e[e.WAIT_FAILED=37149]="WAIT_FAILED",e[e.SYNC_FLUSH_COMMANDS_BIT=1]="SYNC_FLUSH_COMMANDS_BIT",e[e.COLOR=6144]="COLOR",e[e.DEPTH=6145]="DEPTH",e[e.STENCIL=6146]="STENCIL",e[e.MIN=32775]="MIN",e[e.MAX=32776]="MAX",e[e.DEPTH_COMPONENT24=33190]="DEPTH_COMPONENT24",e[e.STREAM_READ=35041]="STREAM_READ",e[e.STREAM_COPY=35042]="STREAM_COPY",e[e.STATIC_READ=35045]="STATIC_READ",e[e.STATIC_COPY=35046]="STATIC_COPY",e[e.DYNAMIC_READ=35049]="DYNAMIC_READ",e[e.DYNAMIC_COPY=35050]="DYNAMIC_COPY",e[e.DEPTH_COMPONENT32F=36012]="DEPTH_COMPONENT32F",e[e.DEPTH32F_STENCIL8=36013]="DEPTH32F_STENCIL8",e[e.INVALID_INDEX=4294967295]="INVALID_INDEX",e[e.TIMEOUT_IGNORED=-1]="TIMEOUT_IGNORED",e[e.MAX_CLIENT_WAIT_TIMEOUT_WEBGL=37447]="MAX_CLIENT_WAIT_TIMEOUT_WEBGL",e[e.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE=35070]="VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE",e[e.UNMASKED_VENDOR_WEBGL=37445]="UNMASKED_VENDOR_WEBGL",e[e.UNMASKED_RENDERER_WEBGL=37446]="UNMASKED_RENDERER_WEBGL",e[e.MAX_TEXTURE_MAX_ANISOTROPY_EXT=34047]="MAX_TEXTURE_MAX_ANISOTROPY_EXT",e[e.TEXTURE_MAX_ANISOTROPY_EXT=34046]="TEXTURE_MAX_ANISOTROPY_EXT",e[e.SRGB_EXT=35904]="SRGB_EXT",e[e.SRGB_ALPHA_EXT=35906]="SRGB_ALPHA_EXT",e[e.SRGB8_ALPHA8_EXT=35907]="SRGB8_ALPHA8_EXT",e[e.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT=33296]="FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT",e[e.R16_EXT=33322]="R16_EXT",e[e.RG16_EXT=33324]="RG16_EXT",e[e.RGB16_EXT=32852]="RGB16_EXT",e[e.RGBA16_EXT=32859]="RGBA16_EXT",e[e.R16_SNORM_EXT=36760]="R16_SNORM_EXT",e[e.RG16_SNORM_EXT=36761]="RG16_SNORM_EXT",e[e.RGB16_SNORM_EXT=36762]="RGB16_SNORM_EXT",e[e.RGBA16_SNORM_EXT=36763]="RGBA16_SNORM_EXT",e[e.COMPRESSED_RGB_S3TC_DXT1_EXT=33776]="COMPRESSED_RGB_S3TC_DXT1_EXT",e[e.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777]="COMPRESSED_RGBA_S3TC_DXT1_EXT",e[e.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778]="COMPRESSED_RGBA_S3TC_DXT3_EXT",e[e.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779]="COMPRESSED_RGBA_S3TC_DXT5_EXT",e[e.COMPRESSED_SRGB_S3TC_DXT1_EXT=35916]="COMPRESSED_SRGB_S3TC_DXT1_EXT",e[e.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT=35917]="COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT",e[e.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT=35918]="COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT",e[e.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT=35919]="COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT",e[e.COMPRESSED_RED_RGTC1_EXT=36283]="COMPRESSED_RED_RGTC1_EXT",e[e.COMPRESSED_SIGNED_RED_RGTC1_EXT=36284]="COMPRESSED_SIGNED_RED_RGTC1_EXT",e[e.COMPRESSED_RED_GREEN_RGTC2_EXT=36285]="COMPRESSED_RED_GREEN_RGTC2_EXT",e[e.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT=36286]="COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT",e[e.COMPRESSED_RGBA_BPTC_UNORM_EXT=36492]="COMPRESSED_RGBA_BPTC_UNORM_EXT",e[e.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT=36493]="COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT",e[e.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT=36494]="COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT",e[e.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT=36495]="COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT",e[e.COMPRESSED_R11_EAC=37488]="COMPRESSED_R11_EAC",e[e.COMPRESSED_SIGNED_R11_EAC=37489]="COMPRESSED_SIGNED_R11_EAC",e[e.COMPRESSED_RG11_EAC=37490]="COMPRESSED_RG11_EAC",e[e.COMPRESSED_SIGNED_RG11_EAC=37491]="COMPRESSED_SIGNED_RG11_EAC",e[e.COMPRESSED_RGB8_ETC2=37492]="COMPRESSED_RGB8_ETC2",e[e.COMPRESSED_RGBA8_ETC2_EAC=37493]="COMPRESSED_RGBA8_ETC2_EAC",e[e.COMPRESSED_SRGB8_ETC2=37494]="COMPRESSED_SRGB8_ETC2",e[e.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC=37495]="COMPRESSED_SRGB8_ALPHA8_ETC2_EAC",e[e.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2=37496]="COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2",e[e.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2=37497]="COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2",e[e.COMPRESSED_RGB_PVRTC_4BPPV1_IMG=35840]="COMPRESSED_RGB_PVRTC_4BPPV1_IMG",e[e.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG=35842]="COMPRESSED_RGBA_PVRTC_4BPPV1_IMG",e[e.COMPRESSED_RGB_PVRTC_2BPPV1_IMG=35841]="COMPRESSED_RGB_PVRTC_2BPPV1_IMG",e[e.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG=35843]="COMPRESSED_RGBA_PVRTC_2BPPV1_IMG",e[e.COMPRESSED_RGB_ETC1_WEBGL=36196]="COMPRESSED_RGB_ETC1_WEBGL",e[e.COMPRESSED_RGB_ATC_WEBGL=35986]="COMPRESSED_RGB_ATC_WEBGL",e[e.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL=35986]="COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL",e[e.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL=34798]="COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL",e[e.COMPRESSED_RGBA_ASTC_4x4_KHR=37808]="COMPRESSED_RGBA_ASTC_4x4_KHR",e[e.COMPRESSED_RGBA_ASTC_5x4_KHR=37809]="COMPRESSED_RGBA_ASTC_5x4_KHR",e[e.COMPRESSED_RGBA_ASTC_5x5_KHR=37810]="COMPRESSED_RGBA_ASTC_5x5_KHR",e[e.COMPRESSED_RGBA_ASTC_6x5_KHR=37811]="COMPRESSED_RGBA_ASTC_6x5_KHR",e[e.COMPRESSED_RGBA_ASTC_6x6_KHR=37812]="COMPRESSED_RGBA_ASTC_6x6_KHR",e[e.COMPRESSED_RGBA_ASTC_8x5_KHR=37813]="COMPRESSED_RGBA_ASTC_8x5_KHR",e[e.COMPRESSED_RGBA_ASTC_8x6_KHR=37814]="COMPRESSED_RGBA_ASTC_8x6_KHR",e[e.COMPRESSED_RGBA_ASTC_8x8_KHR=37815]="COMPRESSED_RGBA_ASTC_8x8_KHR",e[e.COMPRESSED_RGBA_ASTC_10x5_KHR=37816]="COMPRESSED_RGBA_ASTC_10x5_KHR",e[e.COMPRESSED_RGBA_ASTC_10x6_KHR=37817]="COMPRESSED_RGBA_ASTC_10x6_KHR",e[e.COMPRESSED_RGBA_ASTC_10x8_KHR=37818]="COMPRESSED_RGBA_ASTC_10x8_KHR",e[e.COMPRESSED_RGBA_ASTC_10x10_KHR=37819]="COMPRESSED_RGBA_ASTC_10x10_KHR",e[e.COMPRESSED_RGBA_ASTC_12x10_KHR=37820]="COMPRESSED_RGBA_ASTC_12x10_KHR",e[e.COMPRESSED_RGBA_ASTC_12x12_KHR=37821]="COMPRESSED_RGBA_ASTC_12x12_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR=37840]="COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR=37841]="COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR=37842]="COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR=37843]="COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR=37844]="COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR=37845]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR=37846]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR=37847]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR=37848]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR=37849]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR=37850]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR=37851]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR=37852]="COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR=37853]="COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR",e[e.UNSIGNED_INT_24_8_WEBGL=34042]="UNSIGNED_INT_24_8_WEBGL",e[e.HALF_FLOAT_OES=36193]="HALF_FLOAT_OES",e[e.RGBA32F_EXT=34836]="RGBA32F_EXT",e[e.RGB32F_EXT=34837]="RGB32F_EXT",e[e.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT=33297]="FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT",e[e.UNSIGNED_NORMALIZED_EXT=35863]="UNSIGNED_NORMALIZED_EXT",e[e.MIN_EXT=32775]="MIN_EXT",e[e.MAX_EXT=32776]="MAX_EXT",e[e.FRAGMENT_SHADER_DERIVATIVE_HINT_OES=35723]="FRAGMENT_SHADER_DERIVATIVE_HINT_OES",e[e.COLOR_ATTACHMENT0_WEBGL=36064]="COLOR_ATTACHMENT0_WEBGL",e[e.COLOR_ATTACHMENT1_WEBGL=36065]="COLOR_ATTACHMENT1_WEBGL",e[e.COLOR_ATTACHMENT2_WEBGL=36066]="COLOR_ATTACHMENT2_WEBGL",e[e.COLOR_ATTACHMENT3_WEBGL=36067]="COLOR_ATTACHMENT3_WEBGL",e[e.COLOR_ATTACHMENT4_WEBGL=36068]="COLOR_ATTACHMENT4_WEBGL",e[e.COLOR_ATTACHMENT5_WEBGL=36069]="COLOR_ATTACHMENT5_WEBGL",e[e.COLOR_ATTACHMENT6_WEBGL=36070]="COLOR_ATTACHMENT6_WEBGL",e[e.COLOR_ATTACHMENT7_WEBGL=36071]="COLOR_ATTACHMENT7_WEBGL",e[e.COLOR_ATTACHMENT8_WEBGL=36072]="COLOR_ATTACHMENT8_WEBGL",e[e.COLOR_ATTACHMENT9_WEBGL=36073]="COLOR_ATTACHMENT9_WEBGL",e[e.COLOR_ATTACHMENT10_WEBGL=36074]="COLOR_ATTACHMENT10_WEBGL",e[e.COLOR_ATTACHMENT11_WEBGL=36075]="COLOR_ATTACHMENT11_WEBGL",e[e.COLOR_ATTACHMENT12_WEBGL=36076]="COLOR_ATTACHMENT12_WEBGL",e[e.COLOR_ATTACHMENT13_WEBGL=36077]="COLOR_ATTACHMENT13_WEBGL",e[e.COLOR_ATTACHMENT14_WEBGL=36078]="COLOR_ATTACHMENT14_WEBGL",e[e.COLOR_ATTACHMENT15_WEBGL=36079]="COLOR_ATTACHMENT15_WEBGL",e[e.DRAW_BUFFER0_WEBGL=34853]="DRAW_BUFFER0_WEBGL",e[e.DRAW_BUFFER1_WEBGL=34854]="DRAW_BUFFER1_WEBGL",e[e.DRAW_BUFFER2_WEBGL=34855]="DRAW_BUFFER2_WEBGL",e[e.DRAW_BUFFER3_WEBGL=34856]="DRAW_BUFFER3_WEBGL",e[e.DRAW_BUFFER4_WEBGL=34857]="DRAW_BUFFER4_WEBGL",e[e.DRAW_BUFFER5_WEBGL=34858]="DRAW_BUFFER5_WEBGL",e[e.DRAW_BUFFER6_WEBGL=34859]="DRAW_BUFFER6_WEBGL",e[e.DRAW_BUFFER7_WEBGL=34860]="DRAW_BUFFER7_WEBGL",e[e.DRAW_BUFFER8_WEBGL=34861]="DRAW_BUFFER8_WEBGL",e[e.DRAW_BUFFER9_WEBGL=34862]="DRAW_BUFFER9_WEBGL",e[e.DRAW_BUFFER10_WEBGL=34863]="DRAW_BUFFER10_WEBGL",e[e.DRAW_BUFFER11_WEBGL=34864]="DRAW_BUFFER11_WEBGL",e[e.DRAW_BUFFER12_WEBGL=34865]="DRAW_BUFFER12_WEBGL",e[e.DRAW_BUFFER13_WEBGL=34866]="DRAW_BUFFER13_WEBGL",e[e.DRAW_BUFFER14_WEBGL=34867]="DRAW_BUFFER14_WEBGL",e[e.DRAW_BUFFER15_WEBGL=34868]="DRAW_BUFFER15_WEBGL",e[e.MAX_COLOR_ATTACHMENTS_WEBGL=36063]="MAX_COLOR_ATTACHMENTS_WEBGL",e[e.MAX_DRAW_BUFFERS_WEBGL=34852]="MAX_DRAW_BUFFERS_WEBGL",e[e.VERTEX_ARRAY_BINDING_OES=34229]="VERTEX_ARRAY_BINDING_OES",e[e.QUERY_COUNTER_BITS_EXT=34916]="QUERY_COUNTER_BITS_EXT",e[e.CURRENT_QUERY_EXT=34917]="CURRENT_QUERY_EXT",e[e.QUERY_RESULT_EXT=34918]="QUERY_RESULT_EXT",e[e.QUERY_RESULT_AVAILABLE_EXT=34919]="QUERY_RESULT_AVAILABLE_EXT",e[e.TIME_ELAPSED_EXT=35007]="TIME_ELAPSED_EXT",e[e.TIMESTAMP_EXT=36392]="TIMESTAMP_EXT",e[e.GPU_DISJOINT_EXT=36795]="GPU_DISJOINT_EXT",e}(c||{});var HS="Invalid WebGLRenderingContext";function VS(e){return typeof WebGLRenderingContext<"u"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&Number.isFinite(e._version))}function q(e){return typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&e._version===2)}function Ma(e){return q(e)?e:null}function Vp(e){return K(VS(e),HS),e}var Y;function rn(e){return rn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},rn(e)}function Z(e,t,r){return t=XS(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function XS(e){var t=WS(e,"string");return rn(t)==="symbol"?t:String(t)}function WS(e,t){if(rn(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(rn(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Xp="OES_element_index",Wp="WEBGL_draw_buffers",GS="EXT_disjoint_timer_query",KS="EXT_disjoint_timer_query_webgl2",kS="EXT_texture_filter_anisotropic",Gp="WEBGL_debug_renderer_info",YS=35723,zS=4352,qS=36795,ZS=34047,$S=37445,QS=37446,te=function(t){return q(t)?void 0:0},JS=(Y={},Z(Y,c.READ_BUFFER,function(e){return q(e)?void 0:c.COLOR_ATTACHMENT0}),Z(Y,YS,function(e){return q(e)?void 0:zS}),Z(Y,c.RASTERIZER_DISCARD,te),Z(Y,c.SAMPLES,te),Z(Y,qS,function(e,t){var r=q(e)?e.getExtension(KS):e.getExtension(GS);return r&&r.GPU_DISJOINT_EXT?t(r.GPU_DISJOINT_EXT):0}),Z(Y,$S,function(e,t){var r=e.getExtension(Gp);return t(r&&r.UNMASKED_VENDOR_WEBGL||c.VENDOR)}),Z(Y,QS,function(e,t){var r=e.getExtension(Gp);return t(r&&r.UNMASKED_RENDERER_WEBGL||c.RENDERER)}),Z(Y,ZS,function(e,t){var r,n=((r=e.luma)===null||r===void 0||(r=r.extensions)===null||r===void 0?void 0:r[kS])||e.getExtension("EXT_texture_filter_anisotropic");return n?t(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1}),Z(Y,c.MAX_3D_TEXTURE_SIZE,te),Z(Y,c.MAX_ARRAY_TEXTURE_LAYERS,te),Z(Y,c.MAX_CLIENT_WAIT_TIMEOUT_WEBGL,te),Z(Y,c.MAX_COLOR_ATTACHMENTS,function(e,t){if(!q(e)){var r=e.getExtension(Wp);return r?t(r.MAX_COLOR_ATTACHMENTS_WEBGL):0}}),Z(Y,c.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,te),Z(Y,c.MAX_COMBINED_UNIFORM_BLOCKS,te),Z(Y,c.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,te),Z(Y,c.MAX_DRAW_BUFFERS,function(e){if(!q(e)){var t=e.getExtension(Wp);return t?t.MAX_DRAW_BUFFERS_WEBGL:0}}),Z(Y,c.MAX_ELEMENT_INDEX,function(e){return e.getExtension(Xp)?2147483647:65535}),Z(Y,c.MAX_ELEMENTS_INDICES,function(e){return e.getExtension(Xp)?16777216:65535}),Z(Y,c.MAX_ELEMENTS_VERTICES,function(e){return 16777216}),Z(Y,c.MAX_FRAGMENT_INPUT_COMPONENTS,te),Z(Y,c.MAX_FRAGMENT_UNIFORM_BLOCKS,te),Z(Y,c.MAX_FRAGMENT_UNIFORM_COMPONENTS,te),Z(Y,c.MAX_SAMPLES,te),Z(Y,c.MAX_SERVER_WAIT_TIMEOUT,te),Z(Y,c.MAX_TEXTURE_LOD_BIAS,te),Z(Y,c.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,te),Z(Y,c.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,te),Z(Y,c.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,te),Z(Y,c.MAX_UNIFORM_BLOCK_SIZE,te),Z(Y,c.MAX_UNIFORM_BUFFER_BINDINGS,te),Z(Y,c.MAX_VARYING_COMPONENTS,te),Z(Y,c.MAX_VERTEX_OUTPUT_COMPONENTS,te),Z(Y,c.MAX_VERTEX_UNIFORM_BLOCKS,te),Z(Y,c.MAX_VERTEX_UNIFORM_COMPONENTS,te),Z(Y,c.MIN_PROGRAM_TEXEL_OFFSET,te),Z(Y,c.MAX_PROGRAM_TEXEL_OFFSET,te),Z(Y,c.UNIFORM_BUFFER_OFFSET_ALIGNMENT,te),Y);function Kp(e,t,r){var n=JS[r],o=typeof n=="function"?n(e,t,r):n,i=o!==void 0?o:t(r);return i}function Vt(e){var t=e.luma;if(!t){var r={_polyfilled:!1,_extensions:{}};e.luma=r}return e.luma}var Xt;function nn(e){return nn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},nn(e)}function Mo(e,t,r){return t=eT(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function eT(e){var t=tT(e,"string");return nn(t)==="symbol"?t:String(t)}function tT(e,t){if(nn(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(nn(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var rT="OES_vertex_array_object",kp="ANGLE_instanced_arrays",nT="WEBGL_draw_buffers",oT="EXT_disjoint_timer_query",iT="EXT_texture_filter_anisotropic",aT="VertexArray requires WebGL2 or OES_vertex_array_object extension";function fT(e,t){return{webgl2:q(e),ext:e.getExtension(t)}}var xa=(Xt={},Mo(Xt,rT,{meta:{suffix:"OES"},createVertexArray:function(){K(!1,aT)},deleteVertexArray:function(){},bindVertexArray:function(){},isVertexArray:function(){return!1}}),Mo(Xt,kp,{meta:{suffix:"ANGLE"},vertexAttribDivisor:function(t,r){K(r===0,"WebGL instanced rendering not supported")},drawElementsInstanced:function(){},drawArraysInstanced:function(){}}),Mo(Xt,nT,{meta:{suffix:"WEBGL"},drawBuffers:function(){K(!1)}}),Mo(Xt,oT,{meta:{suffix:"EXT"},createQuery:function(){K(!1)},deleteQuery:function(){K(!1)},beginQuery:function(){K(!1)},endQuery:function(){},getQuery:function(t,r){return this.getQueryObject(t,r)},getQueryParameter:function(t,r){return this.getQueryObject(t,r)},getQueryObject:function(t,r){}}),Xt),xo={readBuffer:function(t,r,n){q(t)&&r(n)},getVertexAttrib:function(t,r,n,o){var i=fT(t,kp),a=i.webgl2,s=i.ext,f;switch(o){case c.VERTEX_ATTRIB_ARRAY_INTEGER:f=a?void 0:!1;break;case c.VERTEX_ATTRIB_ARRAY_DIVISOR:f=!a&&!s?0:void 0;break;default:}return f!==void 0?f:r(n,o)},getProgramParameter:function(t,r,n,o){if(!q(t))switch(o){case c.TRANSFORM_FEEDBACK_BUFFER_MODE:return c.SEPARATE_ATTRIBS;case c.TRANSFORM_FEEDBACK_VARYINGS:return 0;case c.ACTIVE_UNIFORM_BLOCKS:return 0;default:}return r(n,o)},getInternalformatParameter:function(t,r,n,o,i){if(!q(t))switch(i){case c.SAMPLES:return new Int32Array([0]);default:}var a=t;return a.getInternalformatParameter(n,o,i)},getTexParameter:function(t,r,n,o){switch(o){case c.TEXTURE_MAX_ANISOTROPY_EXT:var i=Vt(t),a=i._extensions,s=a[iT];o=s&&s.TEXTURE_MAX_ANISOTROPY_EXT||c.TEXTURE_MAX_ANISOTROPY_EXT;break;default:}return r(n,o)},getParameter:Kp,hint:function(t,r,n,o){return r(n,o)}};function zp(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=sT(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(u){throw u},f:o}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1193
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,a=!1,s;return{s:function(){r=r.call(e)},n:function(){var u=r.next();return i=u.done,u},e:function(u){a=!0,s=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(a)throw s}}}}function sT(e,t){if(e){if(typeof e=="string")return Yp(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Yp(e,t)}}function Yp(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function qp(e){var t=Vt(e);return t._polyfilled||(Hp(e),cT(e),uT(e,xa),pT(e,{target:t,target2:e}),t._polyfilled=!0),e}function cT(e){var t=Vt(e),r=e.getSupportedExtensions()||[],n=["WEBGL_polygon_mode"],o=zp(r),i;try{for(o.s();!(i=o.n()).done;){var a=i.value;if(!n.includes(a)){var s=e.getExtension(a);t._extensions[a]=s}}}catch(f){o.e(f)}finally{o.f()}}function uT(e,t){var r=Vt(e),n=zp(Object.getOwnPropertyNames(t)),o;try{for(n.s();!(o=n.n()).done;){var i=o.value;i!=="overrides"&&lT(e,{extension:i,target:r,target2:e})}}catch(a){n.e(a)}finally{n.f()}}function lT(e,t){var r=t.extension,n=t.target,o=t.target2,i=xa[r];K(i);for(var a=i.meta,s=a===void 0?{}:a,f=s.suffix,u=f===void 0?"":f,d=e.getExtension(r),m=function(){var T=E[v],O="".concat(T).concat(u),R=null;T==="meta"||typeof e[T]=="function"||(d&&typeof d[O]=="function"?R=function(){return d[O].apply(d,arguments)}:typeof i[T]=="function"&&(R=i[T].bind(n))),R&&(n[T]=R,o[T]=R)},v=0,E=Object.keys(i);v<E.length;v++)m()}function pT(e,t){var r=t.target,n=t.target2;Object.keys(xo).forEach(function(o){if(typeof xo[o]=="function"){var i=e[o]?e[o].bind(e):function(){},a=xo[o].bind(null,e,i);r[o]=a,n[o]=a}})}var L,C,Te;function an(e){return an=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},an(e)}function Ca(e,t){return _T(e)||dT(e,t)||Qp(e,t)||hT()}function hT(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1194
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function dT(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,a,s=[],f=!0,u=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);f=!0);}catch(d){u=!0,o=d}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}function _T(e){if(Array.isArray(e))return e}function ie(e){return gT(e)||mT(e)||Qp(e)||yT()}function yT(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
1195
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Qp(e,t){if(e){if(typeof e=="string")return Ba(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ba(e,t)}}function mT(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function gT(e){if(Array.isArray(e))return Ba(e)}function Ba(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function b(e,t,r){return t=vT(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function vT(e){var t=bT(e,"string");return an(t)==="symbol"?t:String(t)}function bT(e,t){if(an(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(an(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Co=(L={},b(L,c.BLEND,!1),b(L,c.BLEND_COLOR,new Float32Array([0,0,0,0])),b(L,c.BLEND_EQUATION_RGB,c.FUNC_ADD),b(L,c.BLEND_EQUATION_ALPHA,c.FUNC_ADD),b(L,c.BLEND_SRC_RGB,c.ONE),b(L,c.BLEND_DST_RGB,c.ZERO),b(L,c.BLEND_SRC_ALPHA,c.ONE),b(L,c.BLEND_DST_ALPHA,c.ZERO),b(L,c.COLOR_CLEAR_VALUE,new Float32Array([0,0,0,0])),b(L,c.COLOR_WRITEMASK,[!0,!0,!0,!0]),b(L,c.CULL_FACE,!1),b(L,c.CULL_FACE_MODE,c.BACK),b(L,c.DEPTH_TEST,!1),b(L,c.DEPTH_CLEAR_VALUE,1),b(L,c.DEPTH_FUNC,c.LESS),b(L,c.DEPTH_RANGE,new Float32Array([0,1])),b(L,c.DEPTH_WRITEMASK,!0),b(L,c.DITHER,!0),b(L,c.CURRENT_PROGRAM,null),b(L,c.FRAMEBUFFER_BINDING,null),b(L,c.RENDERBUFFER_BINDING,null),b(L,c.VERTEX_ARRAY_BINDING,null),b(L,c.ARRAY_BUFFER_BINDING,null),b(L,c.FRONT_FACE,c.CCW),b(L,c.GENERATE_MIPMAP_HINT,c.DONT_CARE),b(L,c.LINE_WIDTH,1),b(L,c.POLYGON_OFFSET_FILL,!1),b(L,c.POLYGON_OFFSET_FACTOR,0),b(L,c.POLYGON_OFFSET_UNITS,0),b(L,c.SAMPLE_ALPHA_TO_COVERAGE,!1),b(L,c.SAMPLE_COVERAGE,!1),b(L,c.SAMPLE_COVERAGE_VALUE,1),b(L,c.SAMPLE_COVERAGE_INVERT,!1),b(L,c.SCISSOR_TEST,!1),b(L,c.SCISSOR_BOX,new Int32Array([0,0,1024,1024])),b(L,c.STENCIL_TEST,!1),b(L,c.STENCIL_CLEAR_VALUE,0),b(L,c.STENCIL_WRITEMASK,4294967295),b(L,c.STENCIL_BACK_WRITEMASK,4294967295),b(L,c.STENCIL_FUNC,c.ALWAYS),b(L,c.STENCIL_REF,0),b(L,c.STENCIL_VALUE_MASK,4294967295),b(L,c.STENCIL_BACK_FUNC,c.ALWAYS),b(L,c.STENCIL_BACK_REF,0),b(L,c.STENCIL_BACK_VALUE_MASK,4294967295),b(L,c.STENCIL_FAIL,c.KEEP),b(L,c.STENCIL_PASS_DEPTH_FAIL,c.KEEP),b(L,c.STENCIL_PASS_DEPTH_PASS,c.KEEP),b(L,c.STENCIL_BACK_FAIL,c.KEEP),b(L,c.STENCIL_BACK_PASS_DEPTH_FAIL,c.KEEP),b(L,c.STENCIL_BACK_PASS_DEPTH_PASS,c.KEEP),b(L,c.VIEWPORT,[0,0,1024,1024]),b(L,c.PACK_ALIGNMENT,4),b(L,c.UNPACK_ALIGNMENT,4),b(L,c.UNPACK_FLIP_Y_WEBGL,!1),b(L,c.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),b(L,c.UNPACK_COLORSPACE_CONVERSION_WEBGL,c.BROWSER_DEFAULT_WEBGL),b(L,c.TRANSFORM_FEEDBACK_BINDING,null),b(L,c.COPY_READ_BUFFER_BINDING,null),b(L,c.COPY_WRITE_BUFFER_BINDING,null),b(L,c.PIXEL_PACK_BUFFER_BINDING,null),b(L,c.PIXEL_UNPACK_BUFFER_BINDING,null),b(L,c.FRAGMENT_SHADER_DERIVATIVE_HINT,c.DONT_CARE),b(L,c.READ_FRAMEBUFFER_BINDING,null),b(L,c.RASTERIZER_DISCARD,!1),b(L,c.PACK_ROW_LENGTH,0),b(L,c.PACK_SKIP_PIXELS,0),b(L,c.PACK_SKIP_ROWS,0),b(L,c.UNPACK_ROW_LENGTH,0),b(L,c.UNPACK_IMAGE_HEIGHT,0),b(L,c.UNPACK_SKIP_PIXELS,0),b(L,c.UNPACK_SKIP_ROWS,0),b(L,c.UNPACK_SKIP_IMAGES,0),L),xe=function(t,r,n){return r?t.enable(n):t.disable(n)},Zp=function(t,r,n){return t.hint(n,r)},ve=function(t,r,n){return t.pixelStorei(n,r)},$p=function(t,r,n){var o;return n===c.FRAMEBUFFER_BINDING?o=q(t)?c.DRAW_FRAMEBUFFER:c.FRAMEBUFFER:o=c.READ_FRAMEBUFFER,t.bindFramebuffer(o,r)},on=function(t,r,n){var o,i=(o={},b(o,c.ARRAY_BUFFER_BINDING,c.ARRAY_BUFFER),b(o,c.COPY_READ_BUFFER_BINDING,c.COPY_READ_BUFFER),b(o,c.COPY_WRITE_BUFFER_BINDING,c.COPY_WRITE_BUFFER),b(o,c.PIXEL_PACK_BUFFER_BINDING,c.PIXEL_PACK_BUFFER),b(o,c.PIXEL_UNPACK_BUFFER_BINDING,c.PIXEL_UNPACK_BUFFER),o),a=i[n];t.bindBuffer(a,r)};function Fa(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}var Jp=(C={},b(C,c.BLEND,xe),b(C,c.BLEND_COLOR,function(e,t){return e.blendColor.apply(e,ie(t))}),b(C,c.BLEND_EQUATION_RGB,"blendEquation"),b(C,c.BLEND_EQUATION_ALPHA,"blendEquation"),b(C,c.BLEND_SRC_RGB,"blendFunc"),b(C,c.BLEND_DST_RGB,"blendFunc"),b(C,c.BLEND_SRC_ALPHA,"blendFunc"),b(C,c.BLEND_DST_ALPHA,"blendFunc"),b(C,c.COLOR_CLEAR_VALUE,function(e,t){return e.clearColor.apply(e,ie(t))}),b(C,c.COLOR_WRITEMASK,function(e,t){return e.colorMask.apply(e,ie(t))}),b(C,c.CULL_FACE,xe),b(C,c.CULL_FACE_MODE,function(e,t){return e.cullFace(t)}),b(C,c.DEPTH_TEST,xe),b(C,c.DEPTH_CLEAR_VALUE,function(e,t){return e.clearDepth(t)}),b(C,c.DEPTH_FUNC,function(e,t){return e.depthFunc(t)}),b(C,c.DEPTH_RANGE,function(e,t){return e.depthRange.apply(e,ie(t))}),b(C,c.DEPTH_WRITEMASK,function(e,t){return e.depthMask(t)}),b(C,c.DITHER,xe),b(C,c.FRAGMENT_SHADER_DERIVATIVE_HINT,Zp),b(C,c.CURRENT_PROGRAM,function(e,t){return e.useProgram(t)}),b(C,c.RENDERBUFFER_BINDING,function(e,t){return e.bindRenderbuffer(c.RENDERBUFFER,t)}),b(C,c.TRANSFORM_FEEDBACK_BINDING,function(e,t){var r,n;return(r=(n=e).bindTransformFeedback)===null||r===void 0?void 0:r.call(n,c.TRANSFORM_FEEDBACK,t)}),b(C,c.VERTEX_ARRAY_BINDING,function(e,t){return e.bindVertexArray(t)}),b(C,c.FRAMEBUFFER_BINDING,$p),b(C,c.READ_FRAMEBUFFER_BINDING,$p),b(C,c.ARRAY_BUFFER_BINDING,on),b(C,c.COPY_READ_BUFFER_BINDING,on),b(C,c.COPY_WRITE_BUFFER_BINDING,on),b(C,c.PIXEL_PACK_BUFFER_BINDING,on),b(C,c.PIXEL_UNPACK_BUFFER_BINDING,on),b(C,c.FRONT_FACE,function(e,t){return e.frontFace(t)}),b(C,c.GENERATE_MIPMAP_HINT,Zp),b(C,c.LINE_WIDTH,function(e,t){return e.lineWidth(t)}),b(C,c.POLYGON_OFFSET_FILL,xe),b(C,c.POLYGON_OFFSET_FACTOR,"polygonOffset"),b(C,c.POLYGON_OFFSET_UNITS,"polygonOffset"),b(C,c.RASTERIZER_DISCARD,xe),b(C,c.SAMPLE_ALPHA_TO_COVERAGE,xe),b(C,c.SAMPLE_COVERAGE,xe),b(C,c.SAMPLE_COVERAGE_VALUE,"sampleCoverage"),b(C,c.SAMPLE_COVERAGE_INVERT,"sampleCoverage"),b(C,c.SCISSOR_TEST,xe),b(C,c.SCISSOR_BOX,function(e,t){return e.scissor.apply(e,ie(t))}),b(C,c.STENCIL_TEST,xe),b(C,c.STENCIL_CLEAR_VALUE,function(e,t){return e.clearStencil(t)}),b(C,c.STENCIL_WRITEMASK,function(e,t){return e.stencilMaskSeparate(c.FRONT,t)}),b(C,c.STENCIL_BACK_WRITEMASK,function(e,t){return e.stencilMaskSeparate(c.BACK,t)}),b(C,c.STENCIL_FUNC,"stencilFuncFront"),b(C,c.STENCIL_REF,"stencilFuncFront"),b(C,c.STENCIL_VALUE_MASK,"stencilFuncFront"),b(C,c.STENCIL_BACK_FUNC,"stencilFuncBack"),b(C,c.STENCIL_BACK_REF,"stencilFuncBack"),b(C,c.STENCIL_BACK_VALUE_MASK,"stencilFuncBack"),b(C,c.STENCIL_FAIL,"stencilOpFront"),b(C,c.STENCIL_PASS_DEPTH_FAIL,"stencilOpFront"),b(C,c.STENCIL_PASS_DEPTH_PASS,"stencilOpFront"),b(C,c.STENCIL_BACK_FAIL,"stencilOpBack"),b(C,c.STENCIL_BACK_PASS_DEPTH_FAIL,"stencilOpBack"),b(C,c.STENCIL_BACK_PASS_DEPTH_PASS,"stencilOpBack"),b(C,c.VIEWPORT,function(e,t){return e.viewport.apply(e,ie(t))}),b(C,c.PACK_ALIGNMENT,ve),b(C,c.UNPACK_ALIGNMENT,ve),b(C,c.UNPACK_FLIP_Y_WEBGL,ve),b(C,c.UNPACK_PREMULTIPLY_ALPHA_WEBGL,ve),b(C,c.UNPACK_COLORSPACE_CONVERSION_WEBGL,ve),b(C,c.PACK_ROW_LENGTH,ve),b(C,c.PACK_SKIP_PIXELS,ve),b(C,c.PACK_SKIP_ROWS,ve),b(C,c.UNPACK_ROW_LENGTH,ve),b(C,c.UNPACK_IMAGE_HEIGHT,ve),b(C,c.UNPACK_SKIP_PIXELS,ve),b(C,c.UNPACK_SKIP_ROWS,ve),b(C,c.UNPACK_SKIP_IMAGES,ve),b(C,"framebuffer",function(t,r){var n=r&&"handle"in r?r.handle:r;return t.bindFramebuffer(c.FRAMEBUFFER,n)}),b(C,"blend",function(t,r){return r?t.enable(c.BLEND):t.disable(c.BLEND)}),b(C,"blendColor",function(t,r){return t.blendColor.apply(t,ie(r))}),b(C,"blendEquation",function(t,r){var n=typeof r=="number"?[r,r]:r;t.blendEquationSeparate.apply(t,ie(n))}),b(C,"blendFunc",function(t,r){var n=r?.length===2?[].concat(ie(r),ie(r)):r;t.blendFuncSeparate.apply(t,ie(n))}),b(C,"clearColor",function(t,r){return t.clearColor.apply(t,ie(r))}),b(C,"clearDepth",function(t,r){return t.clearDepth(r)}),b(C,"clearStencil",function(t,r){return t.clearStencil(r)}),b(C,"colorMask",function(t,r){return t.colorMask.apply(t,ie(r))}),b(C,"cull",function(t,r){return r?t.enable(c.CULL_FACE):t.disable(c.CULL_FACE)}),b(C,"cullFace",function(t,r){return t.cullFace(r)}),b(C,"depthTest",function(t,r){return r?t.enable(c.DEPTH_TEST):t.disable(c.DEPTH_TEST)}),b(C,"depthFunc",function(t,r){return t.depthFunc(r)}),b(C,"depthMask",function(t,r){return t.depthMask(r)}),b(C,"depthRange",function(t,r){return t.depthRange.apply(t,ie(r))}),b(C,"dither",function(t,r){return r?t.enable(c.DITHER):t.disable(c.DITHER)}),b(C,"derivativeHint",function(t,r){t.hint(c.FRAGMENT_SHADER_DERIVATIVE_HINT,r)}),b(C,"frontFace",function(t,r){return t.frontFace(r)}),b(C,"mipmapHint",function(t,r){return t.hint(c.GENERATE_MIPMAP_HINT,r)}),b(C,"lineWidth",function(t,r){return t.lineWidth(r)}),b(C,"polygonOffsetFill",function(t,r){return r?t.enable(c.POLYGON_OFFSET_FILL):t.disable(c.POLYGON_OFFSET_FILL)}),b(C,"polygonOffset",function(t,r){return t.polygonOffset.apply(t,ie(r))}),b(C,"sampleCoverage",function(t,r){return t.sampleCoverage.apply(t,ie(r))}),b(C,"scissorTest",function(t,r){return r?t.enable(c.SCISSOR_TEST):t.disable(c.SCISSOR_TEST)}),b(C,"scissor",function(t,r){return t.scissor.apply(t,ie(r))}),b(C,"stencilTest",function(t,r){return r?t.enable(c.STENCIL_TEST):t.disable(c.STENCIL_TEST)}),b(C,"stencilMask",function(t,r){r=Fa(r)?r:[r,r];var n=r,o=Ca(n,2),i=o[0],a=o[1];t.stencilMaskSeparate(c.FRONT,i),t.stencilMaskSeparate(c.BACK,a)}),b(C,"stencilFunc",function(t,r){r=Fa(r)&&r.length===3?[].concat(ie(r),ie(r)):r;var n=r,o=Ca(n,6),i=o[0],a=o[1],s=o[2],f=o[3],u=o[4],d=o[5];t.stencilFuncSeparate(c.FRONT,i,a,s),t.stencilFuncSeparate(c.BACK,f,u,d)}),b(C,"stencilOp",function(t,r){r=Fa(r)&&r.length===3?[].concat(ie(r),ie(r)):r;var n=r,o=Ca(n,6),i=o[0],a=o[1],s=o[2],f=o[3],u=o[4],d=o[5];t.stencilOpSeparate(c.FRONT,i,a,s),t.stencilOpSeparate(c.BACK,f,u,d)}),b(C,"viewport",function(t,r){return t.viewport.apply(t,ie(r))}),C);function ae(e,t,r){return t[e]!==void 0?t[e]:r[e]}var eh={blendEquation:function(t,r,n){return t.blendEquationSeparate(ae(c.BLEND_EQUATION_RGB,r,n),ae(c.BLEND_EQUATION_ALPHA,r,n))},blendFunc:function(t,r,n){return t.blendFuncSeparate(ae(c.BLEND_SRC_RGB,r,n),ae(c.BLEND_DST_RGB,r,n),ae(c.BLEND_SRC_ALPHA,r,n),ae(c.BLEND_DST_ALPHA,r,n))},polygonOffset:function(t,r,n){return t.polygonOffset(ae(c.POLYGON_OFFSET_FACTOR,r,n),ae(c.POLYGON_OFFSET_UNITS,r,n))},sampleCoverage:function(t,r,n){return t.sampleCoverage(ae(c.SAMPLE_COVERAGE_VALUE,r,n),ae(c.SAMPLE_COVERAGE_INVERT,r,n))},stencilFuncFront:function(t,r,n){return t.stencilFuncSeparate(c.FRONT,ae(c.STENCIL_FUNC,r,n),ae(c.STENCIL_REF,r,n),ae(c.STENCIL_VALUE_MASK,r,n))},stencilFuncBack:function(t,r,n){return t.stencilFuncSeparate(c.BACK,ae(c.STENCIL_BACK_FUNC,r,n),ae(c.STENCIL_BACK_REF,r,n),ae(c.STENCIL_BACK_VALUE_MASK,r,n))},stencilOpFront:function(t,r,n){return t.stencilOpSeparate(c.FRONT,ae(c.STENCIL_FAIL,r,n),ae(c.STENCIL_PASS_DEPTH_FAIL,r,n),ae(c.STENCIL_PASS_DEPTH_PASS,r,n))},stencilOpBack:function(t,r,n){return t.stencilOpSeparate(c.BACK,ae(c.STENCIL_BACK_FAIL,r,n),ae(c.STENCIL_BACK_PASS_DEPTH_FAIL,r,n),ae(c.STENCIL_BACK_PASS_DEPTH_PASS,r,n))}},Da={enable:function(t,r){return t(b({},r,!0))},disable:function(t,r){return t(b({},r,!1))},pixelStorei:function(t,r,n){return t(b({},r,n))},hint:function(t,r,n){return t(b({},r,n))},useProgram:function(t,r){return t(b({},c.CURRENT_PROGRAM,r))},bindRenderbuffer:function(t,r,n){return t(b({},c.RENDERBUFFER_BINDING,n))},bindTransformFeedback:function(t,r,n){return t(b({},c.TRANSFORM_FEEDBACK_BINDING,n))},bindVertexArray:function(t,r){return t(b({},c.VERTEX_ARRAY_BINDING,r))},bindFramebuffer:function(t,r,n){var o;switch(r){case c.FRAMEBUFFER:return t((o={},b(o,c.DRAW_FRAMEBUFFER_BINDING,n),b(o,c.READ_FRAMEBUFFER_BINDING,n),o));case c.DRAW_FRAMEBUFFER:return t(b({},c.DRAW_FRAMEBUFFER_BINDING,n));case c.READ_FRAMEBUFFER:return t(b({},c.READ_FRAMEBUFFER_BINDING,n));default:return null}},bindBuffer:function(t,r,n){var o,i=(o={},b(o,c.ARRAY_BUFFER,[c.ARRAY_BUFFER_BINDING]),b(o,c.COPY_READ_BUFFER,[c.COPY_READ_BUFFER_BINDING]),b(o,c.COPY_WRITE_BUFFER,[c.COPY_WRITE_BUFFER_BINDING]),b(o,c.PIXEL_PACK_BUFFER,[c.PIXEL_PACK_BUFFER_BINDING]),b(o,c.PIXEL_UNPACK_BUFFER,[c.PIXEL_UNPACK_BUFFER_BINDING]),o)[r];return i?t(b({},i,n)):{valueChanged:!0}},blendColor:function(t,r,n,o,i){return t(b({},c.BLEND_COLOR,new Float32Array([r,n,o,i])))},blendEquation:function(t,r){var n;return t((n={},b(n,c.BLEND_EQUATION_RGB,r),b(n,c.BLEND_EQUATION_ALPHA,r),n))},blendEquationSeparate:function(t,r,n){var o;return t((o={},b(o,c.BLEND_EQUATION_RGB,r),b(o,c.BLEND_EQUATION_ALPHA,n),o))},blendFunc:function(t,r,n){var o;return t((o={},b(o,c.BLEND_SRC_RGB,r),b(o,c.BLEND_DST_RGB,n),b(o,c.BLEND_SRC_ALPHA,r),b(o,c.BLEND_DST_ALPHA,n),o))},blendFuncSeparate:function(t,r,n,o,i){var a;return t((a={},b(a,c.BLEND_SRC_RGB,r),b(a,c.BLEND_DST_RGB,n),b(a,c.BLEND_SRC_ALPHA,o),b(a,c.BLEND_DST_ALPHA,i),a))},clearColor:function(t,r,n,o,i){return t(b({},c.COLOR_CLEAR_VALUE,new Float32Array([r,n,o,i])))},clearDepth:function(t,r){return t(b({},c.DEPTH_CLEAR_VALUE,r))},clearStencil:function(t,r){return t(b({},c.STENCIL_CLEAR_VALUE,r))},colorMask:function(t,r,n,o,i){return t(b({},c.COLOR_WRITEMASK,[r,n,o,i]))},cullFace:function(t,r){return t(b({},c.CULL_FACE_MODE,r))},depthFunc:function(t,r){return t(b({},c.DEPTH_FUNC,r))},depthRange:function(t,r,n){return t(b({},c.DEPTH_RANGE,new Float32Array([r,n])))},depthMask:function(t,r){return t(b({},c.DEPTH_WRITEMASK,r))},frontFace:function(t,r){return t(b({},c.FRONT_FACE,r))},lineWidth:function(t,r){return t(b({},c.LINE_WIDTH,r))},polygonOffset:function(t,r,n){var o;return t((o={},b(o,c.POLYGON_OFFSET_FACTOR,r),b(o,c.POLYGON_OFFSET_UNITS,n),o))},sampleCoverage:function(t,r,n){var o;return t((o={},b(o,c.SAMPLE_COVERAGE_VALUE,r),b(o,c.SAMPLE_COVERAGE_INVERT,n),o))},scissor:function(t,r,n,o,i){return t(b({},c.SCISSOR_BOX,new Int32Array([r,n,o,i])))},stencilMask:function(t,r){var n;return t((n={},b(n,c.STENCIL_WRITEMASK,r),b(n,c.STENCIL_BACK_WRITEMASK,r),n))},stencilMaskSeparate:function(t,r,n){return t(b({},r===c.FRONT?c.STENCIL_WRITEMASK:c.STENCIL_BACK_WRITEMASK,n))},stencilFunc:function(t,r,n,o){var i;return t((i={},b(i,c.STENCIL_FUNC,r),b(i,c.STENCIL_REF,n),b(i,c.STENCIL_VALUE_MASK,o),b(i,c.STENCIL_BACK_FUNC,r),b(i,c.STENCIL_BACK_REF,n),b(i,c.STENCIL_BACK_VALUE_MASK,o),i))},stencilFuncSeparate:function(t,r,n,o,i){var a;return t((a={},b(a,r===c.FRONT?c.STENCIL_FUNC:c.STENCIL_BACK_FUNC,n),b(a,r===c.FRONT?c.STENCIL_REF:c.STENCIL_BACK_REF,o),b(a,r===c.FRONT?c.STENCIL_VALUE_MASK:c.STENCIL_BACK_VALUE_MASK,i),a))},stencilOp:function(t,r,n,o){var i;return t((i={},b(i,c.STENCIL_FAIL,r),b(i,c.STENCIL_PASS_DEPTH_FAIL,n),b(i,c.STENCIL_PASS_DEPTH_PASS,o),b(i,c.STENCIL_BACK_FAIL,r),b(i,c.STENCIL_BACK_PASS_DEPTH_FAIL,n),b(i,c.STENCIL_BACK_PASS_DEPTH_PASS,o),i))},stencilOpSeparate:function(t,r,n,o,i){var a;return t((a={},b(a,r===c.FRONT?c.STENCIL_FAIL:c.STENCIL_BACK_FAIL,n),b(a,r===c.FRONT?c.STENCIL_PASS_DEPTH_FAIL:c.STENCIL_BACK_PASS_DEPTH_FAIL,o),b(a,r===c.FRONT?c.STENCIL_PASS_DEPTH_PASS:c.STENCIL_BACK_PASS_DEPTH_PASS,i),a))},viewport:function(t,r,n,o,i){return t(b({},c.VIEWPORT,[r,n,o,i]))}},Ce=function(t,r){return t.isEnabled(r)},Ua=(Te={},b(Te,c.BLEND,Ce),b(Te,c.CULL_FACE,Ce),b(Te,c.DEPTH_TEST,Ce),b(Te,c.DITHER,Ce),b(Te,c.POLYGON_OFFSET_FILL,Ce),b(Te,c.SAMPLE_ALPHA_TO_COVERAGE,Ce),b(Te,c.SAMPLE_COVERAGE,Ce),b(Te,c.SCISSOR_TEST,Ce),b(Te,c.STENCIL_TEST,Ce),b(Te,c.RASTERIZER_DISCARD,Ce),Te),th=new Set([c.ACTIVE_TEXTURE,c.TRANSFORM_FEEDBACK_ACTIVE,c.TRANSFORM_FEEDBACK_PAUSED,c.TRANSFORM_FEEDBACK_BUFFER_BINDING,c.UNIFORM_BUFFER_BINDING,c.ELEMENT_ARRAY_BUFFER_BINDING,c.IMPLEMENTATION_COLOR_READ_FORMAT,c.IMPLEMENTATION_COLOR_READ_TYPE,c.READ_BUFFER,c.DRAW_BUFFER0,c.DRAW_BUFFER1,c.DRAW_BUFFER2,c.DRAW_BUFFER3,c.DRAW_BUFFER4,c.DRAW_BUFFER5,c.DRAW_BUFFER6,c.DRAW_BUFFER7,c.DRAW_BUFFER8,c.DRAW_BUFFER9,c.DRAW_BUFFER10,c.DRAW_BUFFER11,c.DRAW_BUFFER12,c.DRAW_BUFFER13,c.DRAW_BUFFER14,c.DRAW_BUFFER15,c.SAMPLER_BINDING,c.TEXTURE_BINDING_2D,c.TEXTURE_BINDING_2D_ARRAY,c.TEXTURE_BINDING_3D,c.TEXTURE_BINDING_CUBE_MAP]);function ET(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=AT(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(u){throw u},f:o}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1196
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,a=!1,s;return{s:function(){r=r.call(e)},n:function(){var u=r.next();return i=u.done,u},e:function(u){a=!0,s=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(a)throw s}}}}function AT(e,t){if(e){if(typeof e=="string")return rh(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return rh(e,t)}}function rh(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function je(e,t){var r=be.attach(e),n=r.gl;if(!ST(t)){var o={};for(var i in t){var a=Number(i),s=Jp[i];s&&(typeof s=="string"?o[s]=!0:s(n,t[i],a))}var f=n.state&&n.state.cache;if(f)for(var u in o){var d=eh[u];d(n,t,f)}}}function nh(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Co,r=be.attach(e),n=r.gl;if(typeof t=="number"){var o=t,i=Ua[o];return i?i(n,o):n.getParameter(o)}var a=Array.isArray(t)?t:Object.keys(t),s={},f=ET(a),u;try{for(f.s();!(u=f.n()).done;){var d=u.value,m=Ua[d];s[d]=m?m(n,Number(d)):n.getParameter(Number(d))}}catch(v){f.e(v)}finally{f.f()}return s}function ST(e){for(var t in e)return!1;return!0}function oh(e,t){if(e===t)return!0;var r=Array.isArray(e)||ArrayBuffer.isView(e),n=Array.isArray(t)||ArrayBuffer.isView(t);if(r&&n&&e.length===t.length){for(var o=0;o<e.length;++o)if(e[o]!==t[o])return!1;return!0}return!1}function fn(e){return fn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},fn(e)}function ih(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,RT(n.key),n)}}function TT(e,t,r){return t&&ih(e.prototype,t),r&&ih(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function RT(e){var t=OT(e,"string");return fn(t)==="symbol"?t:String(t)}function OT(e,t){if(fn(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(fn(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function PT(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var IT=function(){function e(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=n.copyState,i=o===void 0?!1:o,a=n.log,s=a===void 0?function(){}:a;PT(this,e),this.gl=void 0,this.program=null,this.stateStack=[],this.enable=!0,this.cache=void 0,this.log=void 0,this.gl=r,this.cache=i?nh(r):Object.assign({},Co),this.log=s,this._updateCache=this._updateCache.bind(this),Object.seal(this)}var t=e.prototype;return t.push=function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.stateStack.push({})},t.pop=function(){K(this.stateStack.length>0);var n=this.stateStack[this.stateStack.length-1];je(this.gl,n),this.stateStack.pop()},t._updateCache=function(n){var o=!1,i,a=this.stateStack.length>0?this.stateStack[this.stateStack.length-1]:null;for(var s in n){K(s!==void 0);var f=n[s],u=this.cache[s];oh(f,u)||(o=!0,i=u,a&&!(s in a)&&(a[s]=u),this.cache[s]=f)}return{valueChanged:o,oldValue:i}},TT(e)}();function ct(e){return e.state}function La(e,t){var r=t.enable,n=r===void 0?!0:r,o=t.copyState;if(K(o!==void 0),!e.state){e.state=new IT(e,{copyState:o}),wT(e);for(var i in Da){var a=Da[i];NT(e,i,a)}ah(e,"getParameter"),ah(e,"isEnabled")}var s=ct(e);return s.enable=n,e}function Je(e){var t=ct(e);t||(La(e,{copyState:!1}),t=ct(e)),t.push()}function He(e){var t=ct(e);K(t),t.pop()}function ah(e,t){var r=e[t].bind(e);e[t]=function(o){if(o===void 0||th.has(o))return r(o);var i=ct(e);return o in i.cache||(i.cache[o]=r(o)),i.enable?i.cache[o]:r(o)},Object.defineProperty(e[t],"name",{value:"".concat(t,"-from-cache"),configurable:!1})}function NT(e,t,r){if(e[t]){var n=e[t].bind(e);e[t]=function(){for(var i=ct(e),a=arguments.length,s=new Array(a),f=0;f<a;f++)s[f]=arguments[f];var u=r.apply(void 0,[i._updateCache].concat(s)),d=u.valueChanged,m=u.oldValue;return d&&n.apply(void 0,s),m},Object.defineProperty(e[t],"name",{value:"".concat(t,"-to-cache"),configurable:!1})}}function wT(e){var t=e.useProgram.bind(e);e.useProgram=function(n){var o=ct(e);o.program!==n&&(t(n),o.program=n)}}function sn(e){return sn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},sn(e)}function fh(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Wt(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?fh(Object(r),!0).forEach(function(n){MT(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):fh(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function MT(e,t,r){return t=xT(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function xT(e){var t=CT(e,"string");return sn(t)==="symbol"?t:String(t)}function CT(e,t){if(sn(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(sn(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var FT={webgl2:!0,webgl1:!0,powerPreference:"high-performance",onContextLost:function(){return console.error("WebGL context lost")},onContextRestored:function(){return console.info("WebGL context restored")}};function sh(e,t){t=Wt(Wt({},FT),t);var r=null,n=function(d){return r=d.statusMessage||r};e.addEventListener("webglcontextcreationerror",n,!1);var o=null;if(t.type==="webgl2"&&(t=Wt(Wt({},t),{},{webgl1:!1})),t.type==="webgl1"&&(t=Wt(Wt({},t),{},{webgl2:!1})),!o&&t.webgl2&&(o=e.getContext("webgl2",t)),!o&&t.webgl1&&(o=e.getContext("webgl",t)),e.removeEventListener("webglcontextcreationerror",n,!1),!o)throw new Error("Failed to create ".concat(t.webgl2&&!t.webgl1?"WebGL2":"WebGL"," context: ").concat(r||"Unknown error"));if(t.onContextLost){var i=t,a=i.onContextLost;e.addEventListener("webglcontextlost",function(u){return a(u)},!1)}if(t.onContextRestored){var s=t,f=s.onContextRestored;e.addEventListener("webglcontextrestored",function(u){return f(u)},!1)}return o}function ch(e){var t=e.getParameter(c.VENDOR),r=e.getParameter(c.RENDERER),n=e.getExtension("WEBGL_debug_renderer_info"),o=e.getParameter(n?n.UNMASKED_VENDOR_WEBGL:c.VENDOR),i=e.getParameter(n?n.UNMASKED_RENDERER_WEBGL:c.RENDERER),a=o||t,s=i||r,f=e.getParameter(c.VERSION),u=uh(a,s),d=BT(a,s),m=DT(a,s),v="glsl",E=q(e)?300:100;return{type:q(e)?"webgl2":"webgl",gpu:u,gpuType:m,gpuBackend:d,vendor:a,renderer:s,version:f,shadingLanguage:v,shadingLanguageVersion:E}}function uh(e,t){return/NVIDIA/i.exec(e)||/NVIDIA/i.exec(t)?"nvidia":/INTEL/i.exec(e)||/INTEL/i.exec(t)?"intel":/Apple/i.exec(e)||/Apple/i.exec(t)?"apple":/AMD/i.exec(e)||/AMD/i.exec(t)||/ATI/i.exec(e)||/ATI/i.exec(t)?"amd":/SwiftShader/i.exec(e)||/SwiftShader/i.exec(t)?"software":"unknown"}function BT(e,t){return/Metal/i.exec(e)||/Metal/i.exec(t)?"metal":/ANGLE/i.exec(e)||/ANGLE/i.exec(t)?"opengl":"unknown"}function DT(e,t){if(/SwiftShader/i.exec(e)||/SwiftShader/i.exec(t))return"cpu";var r=uh(e,t);switch(r){case"intel":return"integrated";case"software":return"cpu";case"unknown":return"unknown";default:return"discrete"}}function lh(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=typeof window<"u"?window.navigator||{}:{},r=e.userAgent||t.userAgent||"",n=r.indexOf("MSIE ")!==-1,o=r.indexOf("Trident/")!==-1;return n||o}function Fo(e){switch(e){case"uint8":return c.UNSIGNED_BYTE;case"sint8":return c.BYTE;case"unorm8":return c.UNSIGNED_BYTE;case"snorm8":return c.BYTE;case"uint16":return c.UNSIGNED_SHORT;case"sint16":return c.SHORT;case"unorm16":return c.UNSIGNED_SHORT;case"snorm16":return c.SHORT;case"uint32":return c.UNSIGNED_INT;case"sint32":return c.INT;case"float16":return c.HALF_FLOAT;case"float32":return c.FLOAT}throw new Error(String(e))}var _e,Fe;function pn(e){return pn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},pn(e)}function UT(e,t){return VT(e)||HT(e,t)||jT(e,t)||LT()}function LT(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1197
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function jT(e,t){if(e){if(typeof e=="string")return ph(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ph(e,t)}}function ph(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function HT(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,a,s=[],f=!0,u=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);f=!0);}catch(d){u=!0,o=d}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}function VT(e){if(Array.isArray(e))return e}function fe(e,t,r){return t=XT(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function XT(e){var t=WT(e,"string");return pn(t)==="symbol"?t:String(t)}function WT(e,t){if(pn(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(pn(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var pe="texture-compression-bc",J="texture-compression-astc",Be="texture-compression-etc2",GT="texture-compression-etc1-webgl",Bo="texture-compression-pvrtc-webgl",ja="texture-compression-atc-webgl",cn="WEBGL_compressed_texture_s3tc",un="WEBGL_compressed_texture_s3tc_srgb",Gt="EXT_texture_compression_rgtc",ln="EXT_texture_compression_bptc",KT="WEBGL_compressed_texture_etc",kT="WEBGL_compressed_texture_astc",YT="WEBGL_compressed_texture_etc1",zT="WEBGL_compressed_texture_pvrtc",qT="WEBGL_compressed_texture_atc",hh="EXT_sRGB",Ve="EXT_texture_norm16",ZT="WEBGL_color_buffer_float",$T="EXT_color_buffer_float",Re=function(t,r){return t.getExtension(r)},ut=function(t,r){return r.every(function(n){return t.getExtension(n)})},Ha={"texture-blend-float-webgl1":function(t){return q(t)?!0:Re(t,"EXT_float_blend")},"texture-formats-srgb-webgl1":function(t){return q(t)?!0:Re(t,hh)},"texture-formats-depth-webgl1":function(t){return q(t)?!0:Re(t,"WEBGL_depth_texture")},"texture-formats-float32-webgl1":function(t){return q(t)?!0:Re(t,"OES_texture_float")},"texture-formats-float16-webgl1":function(t){return q(t)?!0:Re(t,"OES_texture_half_float")},"texture-formats-norm16-webgl":function(t){return q(t)?Re(t,Ve):!1},"texture-filter-linear-float32-webgl":function(t){return Re(t,"OES_texture_float_linear")},"texture-filter-linear-float16-webgl":function(t){return Re(t,"OES_texture_half_float_linear")},"texture-filter-anisotropic-webgl":function(t){return Re(t,"EXT_texture_filter_anisotropic")},"texture-renderable-float32-webgl":function(t){return Re(t,"EXT_color_buffer_float")},"texture-renderable-float16-webgl":function(t){return Re(t,"EXT_color_buffer_half_float")},"texture-compression-bc":function(t){return ut(t,[cn,un,Gt,ln])},"texture-compression-bc5-webgl":function(t){return ut(t,[Gt])},"texture-compression-etc2":function(t){return ut(t,[KT])},"texture-compression-astc":function(t){return ut(t,[kT])},"texture-compression-etc1-webgl":function(t){return ut(t,[YT])},"texture-compression-pvrtc-webgl":function(t){return ut(t,[zT])},"texture-compression-atc-webgl":function(t){return ut(t,[qT])}};function QT(e,t){var r;return((r=Ha[t])===null||r===void 0?void 0:r.call(Ha,e))||!1}function dh(e){var t=Object.keys(Ha);return t.filter(function(r){return QT(e,r)})}var hn={"rgb8unorm-unsized":{gl:c.RGB,gl1:c.RGB,b:4,c:2,bpp:4,dataFormat:c.RGB,types:[c.UNSIGNED_BYTE,c.UNSIGNED_SHORT_5_6_5]},"rgba8unorm-unsized":{gl:c.RGBA,gl1:c.RGBA,b:4,c:2,bpp:4,dataFormat:c.RGBA,types:[c.UNSIGNED_BYTE,c.UNSIGNED_SHORT_4_4_4_4,c.UNSIGNED_SHORT_5_5_5_1]},r8unorm:{gl:c.R8,b:1,c:1,renderbuffer:!0},r8snorm:{gl:c.R8_SNORM,b:1,c:1},r8uint:{gl:c.R8UI,b:1,c:1,renderbuffer:!0},r8sint:{gl:c.R8I,b:1,c:1,renderbuffer:!0},rg8unorm:{gl:c.RG8,b:2,c:2,renderbuffer:!0},rg8snorm:{gl:c.RG8_SNORM,b:2,c:2},rg8uint:{gl:c.RG8UI,b:2,c:2,renderbuffer:!0},rg8sint:{gl:c.RG8I,b:2,c:2,renderbuffer:!0},r16uint:{gl:c.R16UI,b:2,c:1,renderbuffer:!0},r16sint:{gl:c.R16I,b:2,c:1,renderbuffer:!0},r16float:{gl:c.R16F,b:2,c:1,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl",renderbuffer:!0},"r16unorm-webgl":{gl:c.R16_EXT,b:2,c:1,f:"texture-formats-norm16-webgl",renderbuffer:!0,x:Ve},"r16snorm-webgl":{gl:c.R16_SNORM_EXT,b:2,c:1,f:"texture-formats-norm16-webgl",x:Ve},"rgba4unorm-webgl":{gl:c.RGBA4,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb565unorm-webgl":{gl:c.RGB565,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb5a1unorm-webgl":{gl:c.RGB5_A1,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb8unorm-webgl":{gl:c.RGB8,b:3,c:3,wgpu:!1},"rgb8snorm-webgl":{gl:c.RGB8_SNORM,b:3,c:3,wgpu:!1},rgba8unorm:{gl:c.RGBA8,gl1:c.RGBA,b:4,c:2,bpp:4},"rgba8unorm-srgb":{gl:c.SRGB8_ALPHA8,gl1:c.SRGB_ALPHA_EXT,b:4,c:4,gl1ext:hh,bpp:4},rgba8snorm:{gl:c.RGBA8_SNORM,b:4,c:4},rgba8uint:{gl:c.RGBA8UI,b:4,c:4,bpp:4},rgba8sint:{gl:c.RGBA8I,b:4,c:4,bpp:4},bgra8unorm:{b:4,c:4},"bgra8unorm-srgb":{b:4,c:4},rg16uint:{gl:c.RG16UI,b:4,c:1,bpp:4},rg16sint:{gl:c.RG16I,b:4,c:2,bpp:4},rg16float:{gl:c.RG16F,bpp:4,b:4,c:2,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl",renderbuffer:!0},"rg16unorm-webgl":{gl:c.RG16_EXT,b:2,c:2,f:"texture-formats-norm16-webgl",x:Ve},"rg16snorm-webgl":{gl:c.RG16_SNORM_EXT,b:2,c:2,f:"texture-formats-norm16-webgl",x:Ve},r32uint:{gl:c.R32UI,b:4,c:1,bpp:4,renderbuffer:!0},r32sint:{gl:c.R32I,b:4,c:1,bpp:4,renderbuffer:!0},r32float:{gl:c.R32F,bpp:4,b:4,c:1,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl"},rgb9e5ufloat:{gl:c.RGB9_E5,b:4,c:3,p:1,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},rg11b10ufloat:{gl:c.R11F_G11F_B10F,b:4,c:3,p:1,render:"texture-renderable-float32-webgl",renderbuffer:!0},rgb10a2unorm:{gl:c.RGB10_A2,b:4,c:4,p:1,renderbuffer:!0},"rgb10a2unorm-webgl":{b:4,c:4,gl:c.RGB10_A2UI,p:1,wgpu:!1,bpp:4,renderbuffer:!0},"rgb16unorm-webgl":{gl:c.RGB16_EXT,b:2,c:3,f:"texture-formats-norm16-webgl",x:Ve},"rgb16snorm-webgl":{gl:c.RGB16_SNORM_EXT,b:2,c:3,f:"texture-formats-norm16-webgl",x:Ve},rg32uint:{gl:c.RG32UI,b:8,c:2,renderbuffer:!0},rg32sint:{gl:c.RG32I,b:8,c:2,renderbuffer:!0},rg32float:{gl:c.RG32F,b:8,c:2,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",renderbuffer:!0},rgba16uint:{gl:c.RGBA16UI,b:8,c:4,renderbuffer:!0},rgba16sint:{gl:c.RGBA16I,b:8,c:4,renderbuffer:!0},rgba16float:{gl:c.RGBA16F,gl1:c.RGBA,b:8,c:4,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},"rgba16unorm-webgl":{gl:c.RGBA16_EXT,b:2,c:4,f:"texture-formats-norm16-webgl",renderbuffer:!0,x:Ve},"rgba16snorm-webgl":{gl:c.RGBA16_SNORM_EXT,b:2,c:4,f:"texture-formats-norm16-webgl",x:Ve},"rgb32float-webgl":{gl:c.RGB32F,gl1:c.RGB,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",gl2ext:$T,gl1ext:ZT,dataFormat:c.RGB,types:[c.FLOAT]},rgba32uint:{gl:c.RGBA32UI,b:16,c:4,renderbuffer:!0},rgba32sint:{gl:c.RGBA32I,b:16,c:4,renderbuffer:!0},rgba32float:{gl:c.RGBA32F,b:16,c:4,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",renderbuffer:!0},stencil8:{gl:c.STENCIL_INDEX8,gl1:c.STENCIL_INDEX8,b:1,c:1,attachment:c.STENCIL_ATTACHMENT,renderbuffer:!0},depth16unorm:{gl:c.DEPTH_COMPONENT16,gl1:c.DEPTH_COMPONENT16,b:2,c:1,attachment:c.DEPTH_ATTACHMENT,renderbuffer:!0},depth24plus:{gl:c.DEPTH_COMPONENT24,b:3,c:1,attachment:c.DEPTH_ATTACHMENT},depth32float:{gl:c.DEPTH_COMPONENT32F,b:4,c:1,attachment:c.DEPTH_ATTACHMENT,renderbuffer:!0},"depth24plus-stencil8":{gl:c.DEPTH_STENCIL,gl1:c.DEPTH_STENCIL,b:4,c:2,p:1,attachment:c.DEPTH_STENCIL_ATTACHMENT,renderbuffer:!0,depthTexture:!0},"depth24unorm-stencil8":{gl:c.DEPTH24_STENCIL8,b:4,c:2,p:1,attachment:c.DEPTH_STENCIL_ATTACHMENT,renderbuffer:!0},"depth32float-stencil8":{gl:c.DEPTH32F_STENCIL8,b:5,c:2,p:1,attachment:c.DEPTH_STENCIL_ATTACHMENT,renderbuffer:!0},"bc1-rgb-unorm-webgl":{gl:c.COMPRESSED_RGB_S3TC_DXT1_EXT,x:cn,f:pe},"bc1-rgb-unorm-srgb-webgl":{gl:c.COMPRESSED_SRGB_S3TC_DXT1_EXT,x:un,f:pe},"bc1-rgba-unorm":{gl:c.COMPRESSED_RGBA_S3TC_DXT1_EXT,x:cn,f:pe},"bc1-rgba-unorm-srgb":{gl:c.COMPRESSED_SRGB_S3TC_DXT1_EXT,x:un,f:pe},"bc2-rgba-unorm":{gl:c.COMPRESSED_RGBA_S3TC_DXT3_EXT,x:cn,f:pe},"bc2-rgba-unorm-srgb":{gl:c.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,x:un,f:pe},"bc3-rgba-unorm":{gl:c.COMPRESSED_RGBA_S3TC_DXT5_EXT,x:cn,f:pe},"bc3-rgba-unorm-srgb":{gl:c.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,x:un,f:pe},"bc4-r-unorm":{gl:c.COMPRESSED_RED_RGTC1_EXT,x:Gt,f:pe},"bc4-r-snorm":{gl:c.COMPRESSED_SIGNED_RED_RGTC1_EXT,x:Gt,f:pe},"bc5-rg-unorm":{gl:c.COMPRESSED_RED_GREEN_RGTC2_EXT,x:Gt,f:pe},"bc5-rg-snorm":{gl:c.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,x:Gt,f:pe},"bc6h-rgb-ufloat":{gl:c.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT,x:ln,f:pe},"bc6h-rgb-float":{gl:c.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT,x:ln,f:pe},"bc7-rgba-unorm":{gl:c.COMPRESSED_RGBA_BPTC_UNORM_EXT,x:ln,f:pe},"bc7-rgba-unorm-srgb":{gl:c.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT,x:ln,f:pe},"etc2-rgb8unorm":{gl:c.COMPRESSED_RGB8_ETC2,f:Be},"etc2-rgb8unorm-srgb":{gl:c.COMPRESSED_SRGB8_ETC2,f:Be},"etc2-rgb8a1unorm":{gl:c.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,f:Be},"etc2-rgb8a1unorm-srgb":{gl:c.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,f:Be},"etc2-rgba8unorm":{gl:c.COMPRESSED_RGBA8_ETC2_EAC,f:Be},"etc2-rgba8unorm-srgb":{gl:c.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,f:Be},"eac-r11unorm":{gl:c.COMPRESSED_R11_EAC,f:Be},"eac-r11snorm":{gl:c.COMPRESSED_SIGNED_R11_EAC,f:Be},"eac-rg11unorm":{gl:c.COMPRESSED_RG11_EAC,f:Be},"eac-rg11snorm":{gl:c.COMPRESSED_SIGNED_RG11_EAC,f:Be},"astc-4x4-unorm":{gl:c.COMPRESSED_RGBA_ASTC_4x4_KHR,f:J},"astc-4x4-unorm-srgb":{gl:c.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,f:J},"astc-5x4-unorm":{gl:c.COMPRESSED_RGBA_ASTC_5x4_KHR,f:J},"astc-5x4-unorm-srgb":{gl:c.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR,f:J},"astc-5x5-unorm":{gl:c.COMPRESSED_RGBA_ASTC_5x5_KHR,f:J},"astc-5x5-unorm-srgb":{gl:c.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,f:J},"astc-6x5-unorm":{gl:c.COMPRESSED_RGBA_ASTC_6x5_KHR,f:J},"astc-6x5-unorm-srgb":{gl:c.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,f:J},"astc-6x6-unorm":{gl:c.COMPRESSED_RGBA_ASTC_6x6_KHR,f:J},"astc-6x6-unorm-srgb":{gl:c.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,f:J},"astc-8x5-unorm":{gl:c.COMPRESSED_RGBA_ASTC_8x5_KHR,f:J},"astc-8x5-unorm-srgb":{gl:c.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,f:J},"astc-8x6-unorm":{gl:c.COMPRESSED_RGBA_ASTC_8x6_KHR,f:J},"astc-8x6-unorm-srgb":{gl:c.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,f:J},"astc-8x8-unorm":{gl:c.COMPRESSED_RGBA_ASTC_8x8_KHR,f:J},"astc-8x8-unorm-srgb":{gl:c.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,f:J},"astc-10x5-unorm":{gl:c.COMPRESSED_RGBA_ASTC_10x10_KHR,f:J},"astc-10x5-unorm-srgb":{gl:c.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,f:J},"astc-10x6-unorm":{gl:c.COMPRESSED_RGBA_ASTC_10x6_KHR,f:J},"astc-10x6-unorm-srgb":{gl:c.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,f:J},"astc-10x8-unorm":{gl:c.COMPRESSED_RGBA_ASTC_10x8_KHR,f:J},"astc-10x8-unorm-srgb":{gl:c.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,f:J},"astc-10x10-unorm":{gl:c.COMPRESSED_RGBA_ASTC_10x10_KHR,f:J},"astc-10x10-unorm-srgb":{gl:c.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,f:J},"astc-12x10-unorm":{gl:c.COMPRESSED_RGBA_ASTC_12x10_KHR,f:J},"astc-12x10-unorm-srgb":{gl:c.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,f:J},"astc-12x12-unorm":{gl:c.COMPRESSED_RGBA_ASTC_12x12_KHR,f:J},"astc-12x12-unorm-srgb":{gl:c.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,f:J},"pvrtc-rgb4unorm-webgl":{gl:c.COMPRESSED_RGB_PVRTC_4BPPV1_IMG,f:Bo},"pvrtc-rgba4unorm-webgl":{gl:c.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,f:Bo},"pvrtc-rbg2unorm-webgl":{gl:c.COMPRESSED_RGB_PVRTC_2BPPV1_IMG,f:Bo},"pvrtc-rgba2unorm-webgl":{gl:c.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,f:Bo},"etc1-rbg-unorm-webgl":{gl:c.COMPRESSED_RGB_ETC1_WEBGL,f:GT},"atc-rgb-unorm-webgl":{gl:c.COMPRESSED_RGB_ATC_WEBGL,f:ja},"atc-rgba-unorm-webgl":{gl:c.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,f:ja},"atc-rgbai-unorm-webgl":{gl:c.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL,f:ja}},JT=(_e={},fe(_e,c.RED,1),fe(_e,c.RED_INTEGER,1),fe(_e,c.RG,2),fe(_e,c.RG_INTEGER,2),fe(_e,c.RGB,3),fe(_e,c.RGB_INTEGER,3),fe(_e,c.RGBA,4),fe(_e,c.RGBA_INTEGER,4),fe(_e,c.DEPTH_COMPONENT,1),fe(_e,c.DEPTH_STENCIL,1),fe(_e,c.ALPHA,1),fe(_e,c.LUMINANCE,1),fe(_e,c.LUMINANCE_ALPHA,2),_e),eR=(Fe={},fe(Fe,c.FLOAT,4),fe(Fe,c.UNSIGNED_INT,4),fe(Fe,c.INT,4),fe(Fe,c.UNSIGNED_SHORT,2),fe(Fe,c.SHORT,2),fe(Fe,c.HALF_FLOAT,2),fe(Fe,c.BYTE,1),fe(Fe,c.UNSIGNED_BYTE,1),Fe);function dn(e,t){var r=_n(t),n=hn[r];if(!n||(q(e)?n.gl===void 0:n.gl1===void 0))return!1;var o=n.x||q(e)&&n.gl2ext||n.gl1ext;return o?Boolean(e.getExtension(o)):!0}function _h(e,t){var r;return dn(e,t)&&((r=hn[t])===null||r===void 0?void 0:r.renderbuffer)}function _n(e){if(typeof e=="string")return e;var t=Object.entries(hn).find(function(r){var n=UT(r,2),o=n[1];return o.gl===e||o.gl1===e});if(!t)throw new Error("Unknown texture format ".concat(e));return t[0]}function yn(e,t){var r=hn[e],n=t?r?.gl:r?.gl1;if(n===void 0)throw new Error("Unsupported texture format ".concat(e));return n}function yh(e,t){var r=_n(t);if(!dn(e,r))return!1;try{var n=fo(r);if(n.signed)return!1}catch{return!1}return r.endsWith("32float")?Boolean(e.getExtension("OES_texture_float_linear")):r.endsWith("16float")?Boolean(e.getExtension("OES_texture_half_float_linear")):!0}function mh(e,t){var r=_n(t);return!(!dn(e,r)||typeof r=="number")}function Kt(e,t){var r=_n(e),n=yn(r,t),o=fo(r);return{format:n,dataFormat:tR(o.format,o.integer,o.normalized,n),type:o.dataType?Fo(o.dataType):c.UNSIGNED_BYTE,compressed:o.compressed}}function gh(e){var t=hn[e];if(!(t!=null&&t.attachment))throw new Error("".concat(e," is not a depth stencil format"));return t.attachment}function vh(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e.RGBA,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:c.RGBA,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:c.UNSIGNED_BYTE,o=null,i=null;try{o=e.createTexture(),e.bindTexture(c.TEXTURE_2D,o);var a=0,s=1,f=1,u=0,d=new Uint8Array([0,0,255,255]);e.texImage2D(e.TEXTURE_2D,a,t,s,f,u,r,n,d),i=e.createFramebuffer(),e.bindFramebuffer(c.FRAMEBUFFER,i),e.framebufferTexture2D(c.FRAMEBUFFER,c.COLOR_ATTACHMENT0,c.TEXTURE_2D,o,0);var m=e.checkFramebufferStatus(c.FRAMEBUFFER)===c.FRAMEBUFFER_COMPLETE;return e.bindTexture(c.TEXTURE_2D,null),m}finally{e.deleteTexture(o),e.deleteFramebuffer(i)}}function mn(e,t){var r=_n(e),n=Kt(r,t),o=JT[n.dataFormat]||4,i=eR[n.type]||1;return o*i}function tR(e,t,r,n){if(n===c.RGBA||n===c.RGB)return n;switch(e){case"r":return t&&!r?c.RED_INTEGER:c.RED;case"rg":return t&&!r?c.RG_INTEGER:c.RG;case"rgb":return t&&!r?c.RGB_INTEGER:c.RGB;case"rgba":return t&&!r?c.RGBA_INTEGER:c.RGBA;default:return c.RGBA}}function rR(e,t){return iR(e)||oR(e,t)||Eh(e,t)||nR()}function nR(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1198
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function oR(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,a,s=[],f=!0,u=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);f=!0);}catch(d){u=!0,o=d}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}function iR(e){if(Array.isArray(e))return e}function aR(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Eh(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(u){throw u},f:o}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1199
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,a=!1,s;return{s:function(){r=r.call(e)},n:function(){var u=r.next();return i=u.done,u},e:function(u){a=!0,s=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(a)throw s}}}}function Eh(e,t){if(e){if(typeof e=="string")return bh(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return bh(e,t)}}function bh(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Ah(e){var t=fR(e),r=aR(dh(e)),n;try{for(r.s();!(n=r.n()).done;){var o=n.value;t.add(o)}}catch(i){r.e(i)}finally{r.f()}return t}function fR(e){e.getExtension("EXT_color_buffer_float"),e.getExtension("WEBGL_color_buffer_float"),e.getExtension("EXT_float_blend");for(var t=new Set,r=0,n=Object.keys(Sh);r<n.length;r++){var o=n[r];sR(e,o)&&t.add(o)}return t}function sR(e,t){var r=Sh[t];if(!r)return!1;var n=r||[],o=rR(n,2),i=o[0],a=o[1],s=q(e)?a:i;if(typeof s=="boolean")return s;switch(t){case"texture-renderable-rgba32float-webgl":return q(e)?Boolean(e.getExtension(s)):vh(e);case"glsl-derivatives":return Xa(e,s);case"glsl-frag-data":return Xa(e,s,{behavior:"require"});case"glsl-frag-depth":return Xa(e,s);default:return Boolean(e.getExtension(s))}}var Va={};function Xa(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!lh(r))return!0;if(t in Va)return Va[t];var n=r.behavior||"enable",o="#extension GL_".concat(t," : ").concat(n,`
1200
- void main(void) {}`),i=e.createShader(e.VERTEX_SHADER);if(!i)throw new Error("shader");e.shaderSource(i,o),e.compileShader(i);var a=e.getShaderParameter(i,e.COMPILE_STATUS);return e.deleteShader(i),Va[t]=a,a}var Sh={webgl:[!0,!0],webgl2:[!1,!0],"timer-query-webgl":["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],"transform-feedback-webgl2":[!1,!0],"vertex-array-object-webgl1":["OES_vertex_array_object",!0],"instanced-rendering-webgl1":["ANGLE_instanced_arrays",!0],"multiple-render-targets-webgl1":["WEBGL_draw_buffers",!0],"index-uint32-webgl1":["OES_element_index_uint",!0],"blend-minmax-webgl1":["EXT_blend_minmax",!0],"texture-blend-float-webgl1":["EXT_float_blend","EXT_float_blend"],"texture-formats-srgb-webgl1":["EXT_sRGB",!0],"texture-formats-depth-webgl1":["WEBGL_depth_texture",!0],"texture-formats-float32-webgl1":["OES_texture_float",!0],"texture-formats-float16-webgl1":["OES_texture_half_float",!0],"texture-filter-linear-float32-webgl":["OES_texture_float_linear","OES_texture_float_linear"],"texture-filter-linear-float16-webgl":["OES_texture_half_float_linear","OES_texture_half_float_linear"],"texture-filter-anisotropic-webgl":["EXT_texture_filter_anisotropic","EXT_texture_filter_anisotropic"],"texture-renderable-rgba32float-webgl":["WEBGL_color_buffer_float","EXT_color_buffer_float"],"texture-renderable-float32-webgl":[!1,"EXT_color_buffer_float"],"texture-renderable-float16-webgl":["EXT_color_buffer_half_float","EXT_color_buffer_half_float"],"glsl-frag-data":["WEBGL_draw_buffers",!0],"glsl-frag-depth":["EXT_frag_depth",!0],"glsl-derivatives":["OES_standard_derivatives",!0],"glsl-texture-lod":["EXT_shader_texture_lod",!0]};function gn(e){return gn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gn(e)}function k(e,t,r){return t=cR(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function cR(e){var t=uR(e,"string");return gn(t)==="symbol"?t:String(t)}function uR(e,t){if(gn(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(gn(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Th(e){var t=Ma(e);return{maxTextureDimension1D:0,maxTextureDimension2D:e.getParameter(c.MAX_TEXTURE_SIZE),maxTextureDimension3D:t?t.getParameter(c.MAX_3D_TEXTURE_SIZE):0,maxTextureArrayLayers:t?t.getParameter(c.MAX_ARRAY_TEXTURE_LAYERS):0,maxBindGroups:1,maxDynamicUniformBuffersPerPipelineLayout:0,maxDynamicStorageBuffersPerPipelineLayout:0,maxSampledTexturesPerShaderStage:e.getParameter(c.MAX_VERTEX_TEXTURE_IMAGE_UNITS),maxSamplersPerShaderStage:e.getParameter(c.MAX_COMBINED_TEXTURE_IMAGE_UNITS),maxStorageBuffersPerShaderStage:0,maxStorageTexturesPerShaderStage:0,maxUniformBuffersPerShaderStage:t?t.getParameter(c.MAX_UNIFORM_BUFFER_BINDINGS):0,maxUniformBufferBindingSize:t?t.getParameter(c.MAX_UNIFORM_BLOCK_SIZE):0,maxStorageBufferBindingSize:0,minUniformBufferOffsetAlignment:t?t.getParameter(c.UNIFORM_BUFFER_OFFSET_ALIGNMENT):0,minStorageBufferOffsetAlignment:0,maxVertexBuffers:0,maxVertexAttributes:e.getParameter(c.MAX_VERTEX_ATTRIBS),maxVertexBufferArrayStride:2048,maxInterStageShaderComponents:t?t.getParameter(c.MAX_VARYING_COMPONENTS):0,maxComputeWorkgroupStorageSize:0,maxComputeInvocationsPerWorkgroup:0,maxComputeWorkgroupSizeX:0,maxComputeWorkgroupSizeY:0,maxComputeWorkgroupSizeZ:0,maxComputeWorkgroupsPerDimension:0}}function Rh(e){var t,r=Ma(e);function n(i){return e.getParameter(i)}function o(i,a){return r?r.getParameter(i):a||0}return t={},k(t,c.ALIASED_LINE_WIDTH_RANGE,n(c.ALIASED_LINE_WIDTH_RANGE)),k(t,c.ALIASED_POINT_SIZE_RANGE,n(c.ALIASED_POINT_SIZE_RANGE)),k(t,c.MAX_TEXTURE_SIZE,n(c.MAX_TEXTURE_SIZE)),k(t,c.MAX_CUBE_MAP_TEXTURE_SIZE,n(c.MAX_CUBE_MAP_TEXTURE_SIZE)),k(t,c.MAX_TEXTURE_IMAGE_UNITS,n(c.MAX_TEXTURE_IMAGE_UNITS)),k(t,c.MAX_COMBINED_TEXTURE_IMAGE_UNITS,n(c.MAX_COMBINED_TEXTURE_IMAGE_UNITS)),k(t,c.MAX_VERTEX_TEXTURE_IMAGE_UNITS,n(c.MAX_VERTEX_TEXTURE_IMAGE_UNITS)),k(t,c.MAX_RENDERBUFFER_SIZE,n(c.MAX_RENDERBUFFER_SIZE)),k(t,c.MAX_VARYING_VECTORS,n(c.MAX_VARYING_VECTORS)),k(t,c.MAX_VERTEX_ATTRIBS,n(c.MAX_VERTEX_ATTRIBS)),k(t,c.MAX_VERTEX_UNIFORM_VECTORS,n(c.MAX_VERTEX_UNIFORM_VECTORS)),k(t,c.MAX_FRAGMENT_UNIFORM_VECTORS,n(c.MAX_FRAGMENT_UNIFORM_VECTORS)),k(t,c.MAX_VIEWPORT_DIMS,n(c.MAX_VIEWPORT_DIMS)),k(t,c.MAX_TEXTURE_MAX_ANISOTROPY_EXT,n(c.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),k(t,c.MAX_3D_TEXTURE_SIZE,o(c.MAX_3D_TEXTURE_SIZE)),k(t,c.MAX_ARRAY_TEXTURE_LAYERS,o(c.MAX_ARRAY_TEXTURE_LAYERS)),k(t,c.MAX_CLIENT_WAIT_TIMEOUT_WEBGL,o(c.MAX_CLIENT_WAIT_TIMEOUT_WEBGL)),k(t,c.MAX_COLOR_ATTACHMENTS,o(c.MAX_COLOR_ATTACHMENTS)),k(t,c.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,o(c.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS)),k(t,c.MAX_COMBINED_UNIFORM_BLOCKS,o(c.MAX_COMBINED_UNIFORM_BLOCKS)),k(t,c.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,o(c.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS)),k(t,c.MAX_DRAW_BUFFERS,o(c.MAX_DRAW_BUFFERS)),k(t,c.MAX_ELEMENT_INDEX,o(c.MAX_ELEMENT_INDEX)),k(t,c.MAX_ELEMENTS_INDICES,o(c.MAX_ELEMENTS_INDICES)),k(t,c.MAX_ELEMENTS_VERTICES,o(c.MAX_ELEMENTS_VERTICES)),k(t,c.MAX_FRAGMENT_INPUT_COMPONENTS,o(c.MAX_FRAGMENT_INPUT_COMPONENTS)),k(t,c.MAX_FRAGMENT_UNIFORM_BLOCKS,o(c.MAX_FRAGMENT_UNIFORM_BLOCKS)),k(t,c.MAX_FRAGMENT_UNIFORM_COMPONENTS,o(c.MAX_FRAGMENT_UNIFORM_COMPONENTS)),k(t,c.MAX_SAMPLES,o(c.MAX_SAMPLES)),k(t,c.MAX_SERVER_WAIT_TIMEOUT,o(c.MAX_SERVER_WAIT_TIMEOUT)),k(t,c.MAX_TEXTURE_LOD_BIAS,o(c.MAX_TEXTURE_LOD_BIAS)),k(t,c.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,o(c.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS)),k(t,c.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,o(c.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS)),k(t,c.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,o(c.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS)),k(t,c.MAX_UNIFORM_BLOCK_SIZE,o(c.MAX_UNIFORM_BLOCK_SIZE)),k(t,c.MAX_UNIFORM_BUFFER_BINDINGS,o(c.MAX_UNIFORM_BUFFER_BINDINGS)),k(t,c.MAX_VARYING_COMPONENTS,o(c.MAX_VARYING_COMPONENTS)),k(t,c.MAX_VERTEX_OUTPUT_COMPONENTS,o(c.MAX_VERTEX_OUTPUT_COMPONENTS)),k(t,c.MAX_VERTEX_UNIFORM_BLOCKS,o(c.MAX_VERTEX_UNIFORM_BLOCKS)),k(t,c.MAX_VERTEX_UNIFORM_COMPONENTS,o(c.MAX_VERTEX_UNIFORM_COMPONENTS)),k(t,c.MIN_PROGRAM_TEXEL_OFFSET,o(c.MIN_PROGRAM_TEXEL_OFFSET)),k(t,c.MAX_PROGRAM_TEXEL_OFFSET,o(c.MAX_PROGRAM_TEXEL_OFFSET)),k(t,c.UNIFORM_BUFFER_OFFSET_ALIGNMENT,o(c.UNIFORM_BUFFER_OFFSET_ALIGNMENT)),t}function et(e,t,r){var n=be.attach(e),o=n.gl;if(lR(t))return r(e);var i=t.nocatch,a=i===void 0?!0:i;Je(o),je(o,t);var s;if(a)s=r(o),He(o);else try{s=r(o)}finally{He(o)}return s}function lR(e){for(var t in e)return!1;return!0}function Ph(e,t,r,n){if(hr(t))return n(e);Je(e.gl);try{return pR(e,t),je(e,r),n(e)}finally{He(e.gl)}}function pR(e,t){var r=be.attach(e),n=r.gl;if(t.cullMode)switch(t.cullMode){case"none":n.disable(c.CULL_FACE);break;case"front":n.enable(c.CULL_FACE),n.cullFace(c.FRONT);break;case"back":n.enable(c.CULL_FACE),n.cullFace(c.BACK);break}if(t.frontFace&&n.frontFace(vn("frontFace",t.frontFace,{ccw:c.CCW,cw:c.CW})),t.depthBias!==void 0&&n.polygonOffset(t.depthBias,t.depthBiasSlopeScale||0),t.depthWriteEnabled!==void 0&&n.depthMask(dR("depthWriteEnabled",t.depthWriteEnabled)),t.depthCompare&&(t.depthCompare!=="always"?n.enable(c.DEPTH_TEST):n.disable(c.DEPTH_TEST),n.depthFunc(Uo("depthCompare",t.depthCompare))),t.stencilWriteMask){var o=t.stencilWriteMask;n.stencilMaskSeparate(c.FRONT,o),n.stencilMaskSeparate(c.BACK,o)}if(t.stencilReadMask&&x.warn("stencilReadMask not supported under WebGL"),t.stencilCompare){var i=t.stencilReadMask||4294967295,a=Uo("depthCompare",t.stencilCompare);t.stencilCompare!=="always"?n.enable(c.STENCIL_TEST):n.disable(c.STENCIL_TEST),n.stencilFuncSeparate(c.FRONT,a,0,i),n.stencilFuncSeparate(c.BACK,a,0,i)}if(t.stencilPassOperation&&t.stencilFailOperation&&t.stencilDepthFailOperation){var s=Wa("stencilPassOperation",t.stencilPassOperation),f=Wa("stencilFailOperation",t.stencilFailOperation),u=Wa("stencilDepthFailOperation",t.stencilDepthFailOperation);n.stencilOpSeparate(c.FRONT,f,u,s),n.stencilOpSeparate(c.BACK,f,u,s)}if(t.blendColorOperation||t.blendAlphaOperation){n.enable(c.BLEND);var d=Oh("blendColorOperation",t.blendColorOperation||"add"),m=Oh("blendAlphaOperation",t.blendAlphaOperation||"add");n.blendEquationSeparate(d,m);var v=Do("blendColorSrcFactor",t.blendColorSrcFactor||"one"),E=Do("blendColorDstFactor",t.blendColorDstFactor||"zero"),A=Do("blendAlphaSrcFactor",t.blendAlphaSrcFactor||"one"),T=Do("blendAlphaDstFactor",t.blendAlphaDstFactor||"zero");n.blendFuncSeparate(v,E,A,T)}}function Uo(e,t){return vn(e,t,{never:c.NEVER,less:c.LESS,equal:c.EQUAL,"less-equal":c.LEQUAL,greater:c.GREATER,"not-equal":c.NOTEQUAL,"greater-equal":c.GEQUAL,always:c.ALWAYS})}function Wa(e,t){return vn(e,t,{keep:c.KEEP,zero:c.ZERO,replace:c.REPLACE,invert:c.INVERT,"increment-clamp":c.INCR,"decrement-clamp":c.DECR,"increment-wrap":c.INCR_WRAP,"decrement-wrap":c.DECR_WRAP})}function Oh(e,t){return vn(e,t,{add:c.FUNC_ADD,subtract:c.FUNC_SUBTRACT,"reverse-subtract":c.FUNC_REVERSE_SUBTRACT,min:c.MIN,max:c.MAX})}function Do(e,t){return vn(e,t,{one:c.ONE,zero:c.ZERO,"src-color":c.SRC_COLOR,"one-minus-src-color":c.ONE_MINUS_SRC_COLOR,"dst-color":c.DST_COLOR,"one-minus-dst-color":c.ONE_MINUS_DST_COLOR,"src-alpha":c.SRC_ALPHA,"one-minus-src-alpha":c.ONE_MINUS_SRC_ALPHA,"dst-alpha":c.DST_ALPHA,"one-minus-dst-alpha":c.ONE_MINUS_DST_ALPHA})}function hR(e,t){return"Illegal parameter ".concat(t," for ").concat(e)}function vn(e,t,r){if(!(t in r))throw new Error(hR(e,t));return r[t]}function dR(e,t){return t}function bn(e){return bn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},bn(e)}function Ih(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function _R(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ih(Object(r),!0).forEach(function(n){yR(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ih(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function yR(e,t,r){return t=mR(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function mR(e){var t=gR(e,"string");return bn(t)==="symbol"?t:String(t)}function gR(e,t){if(bn(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(bn(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Lo(e){var t={};return e.addressModeU&&(t[c.TEXTURE_WRAP_S]=Ga(e.addressModeU)),e.addressModeV&&(t[c.TEXTURE_WRAP_T]=Ga(e.addressModeV)),e.addressModeW&&(t[c.TEXTURE_WRAP_R]=Ga(e.addressModeW)),e.magFilter&&(t[c.TEXTURE_MAG_FILTER]=wh(e.magFilter)),(e.minFilter||e.mipmapFilter)&&(t[c.TEXTURE_MIN_FILTER]=vR(e.minFilter||"linear",e.mipmapFilter)),e.lodMinClamp!==void 0&&(t[c.TEXTURE_MIN_LOD]=e.lodMinClamp),e.lodMaxClamp!==void 0&&(t[c.TEXTURE_MAX_LOD]=e.lodMaxClamp),e.type==="comparison-sampler"&&(t[c.TEXTURE_COMPARE_MODE]=c.COMPARE_REF_TO_TEXTURE),e.compare&&(t[c.TEXTURE_COMPARE_FUNC]=Uo("compare",e.compare)),e.maxAnisotropy&&(t[c.TEXTURE_MAX_ANISOTROPY_EXT]=e.maxAnisotropy),t}function Nh(e){var t=_R({},e);return e[c.TEXTURE_MIN_FILTER]!==c.NEAREST&&(t[c.TEXTURE_MIN_FILTER]=c.LINEAR),t[c.TEXTURE_WRAP_S]=c.CLAMP_TO_EDGE,t[c.TEXTURE_WRAP_T]=c.CLAMP_TO_EDGE,t}function Ga(e){switch(e){case"clamp-to-edge":return c.CLAMP_TO_EDGE;case"repeat":return c.REPEAT;case"mirror-repeat":return c.MIRRORED_REPEAT}}function wh(e){switch(e){case"nearest":return c.NEAREST;case"linear":return c.LINEAR}}function vR(e,t){if(!t)return wh(e);switch(e){case"nearest":return t==="nearest"?c.NEAREST_MIPMAP_NEAREST:c.NEAREST_MIPMAP_LINEAR;case"linear":return t==="nearest"?c.LINEAR_MIPMAP_NEAREST:c.LINEAR_MIPMAP_LINEAR}}function Ka(){"use strict";Ka=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(h,l,p){h[l]=p.value},o=typeof Symbol=="function"?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function f(h,l,p){return Object.defineProperty(h,l,{value:p,enumerable:!0,configurable:!0,writable:!0}),h[l]}try{f({},"")}catch{f=function(p,_,g){return p[_]=g}}function u(h,l,p,_){var g=l&&l.prototype instanceof v?l:v,y=Object.create(g.prototype),S=new X(_||[]);return n(y,"_invoke",{value:B(h,p,S)}),y}function d(h,l,p){try{return{type:"normal",arg:h.call(l,p)}}catch(_){return{type:"throw",arg:_}}}e.wrap=u;var m={};function v(){}function E(){}function A(){}var T={};f(T,i,function(){return this});var O=Object.getPrototypeOf,R=O&&O(O(j([])));R&&R!==t&&r.call(R,i)&&(T=R);var P=A.prototype=v.prototype=Object.create(T);function M(h){["next","throw","return"].forEach(function(l){f(h,l,function(p){return this._invoke(l,p)})})}function N(h,l){function p(g,y,S,I){var w=d(h[g],h,y);if(w.type!=="throw"){var U=w.arg,D=U.value;return D&&Xe(D)=="object"&&r.call(D,"__await")?l.resolve(D.__await).then(function(V){p("next",V,S,I)},function(V){p("throw",V,S,I)}):l.resolve(D).then(function(V){U.value=V,S(U)},function(V){return p("throw",V,S,I)})}I(w.arg)}var _;n(this,"_invoke",{value:function(y,S){function I(){return new l(function(w,U){p(y,S,w,U)})}return _=_?_.then(I,I):I()}})}function B(h,l,p){var _="suspendedStart";return function(g,y){if(_==="executing")throw new Error("Generator is already running");if(_==="completed"){if(g==="throw")throw y;return G()}for(p.method=g,p.arg=y;;){var S=p.delegate;if(S){var I=F(S,p);if(I){if(I===m)continue;return I}}if(p.method==="next")p.sent=p._sent=p.arg;else if(p.method==="throw"){if(_==="suspendedStart")throw _="completed",p.arg;p.dispatchException(p.arg)}else p.method==="return"&&p.abrupt("return",p.arg);_="executing";var w=d(h,l,p);if(w.type==="normal"){if(_=p.done?"completed":"suspendedYield",w.arg===m)continue;return{value:w.arg,done:p.done}}w.type==="throw"&&(_="completed",p.method="throw",p.arg=w.arg)}}}function F(h,l){var p=l.method,_=h.iterator[p];if(_===void 0)return l.delegate=null,p==="throw"&&h.iterator.return&&(l.method="return",l.arg=void 0,F(h,l),l.method==="throw")||p!=="return"&&(l.method="throw",l.arg=new TypeError("The iterator does not provide a '"+p+"' method")),m;var g=d(_,h.iterator,l.arg);if(g.type==="throw")return l.method="throw",l.arg=g.arg,l.delegate=null,m;var y=g.arg;return y?y.done?(l[h.resultName]=y.value,l.next=h.nextLoc,l.method!=="return"&&(l.method="next",l.arg=void 0),l.delegate=null,m):y:(l.method="throw",l.arg=new TypeError("iterator result is not an object"),l.delegate=null,m)}function W(h){var l={tryLoc:h[0]};1 in h&&(l.catchLoc=h[1]),2 in h&&(l.finallyLoc=h[2],l.afterLoc=h[3]),this.tryEntries.push(l)}function H(h){var l=h.completion||{};l.type="normal",delete l.arg,h.completion=l}function X(h){this.tryEntries=[{tryLoc:"root"}],h.forEach(W,this),this.reset(!0)}function j(h){if(h){var l=h[i];if(l)return l.call(h);if(typeof h.next=="function")return h;if(!isNaN(h.length)){var p=-1,_=function g(){for(;++p<h.length;)if(r.call(h,p))return g.value=h[p],g.done=!1,g;return g.value=void 0,g.done=!0,g};return _.next=_}}return{next:G}}function G(){return{value:void 0,done:!0}}return E.prototype=A,n(P,"constructor",{value:A,configurable:!0}),n(A,"constructor",{value:E,configurable:!0}),E.displayName=f(A,s,"GeneratorFunction"),e.isGeneratorFunction=function(h){var l=typeof h=="function"&&h.constructor;return!!l&&(l===E||(l.displayName||l.name)==="GeneratorFunction")},e.mark=function(h){return Object.setPrototypeOf?Object.setPrototypeOf(h,A):(h.__proto__=A,f(h,s,"GeneratorFunction")),h.prototype=Object.create(P),h},e.awrap=function(h){return{__await:h}},M(N.prototype),f(N.prototype,a,function(){return this}),e.AsyncIterator=N,e.async=function(h,l,p,_,g){g===void 0&&(g=Promise);var y=new N(u(h,l,p,_),g);return e.isGeneratorFunction(l)?y:y.next().then(function(S){return S.done?S.value:y.next()})},M(P),f(P,s,"Generator"),f(P,i,function(){return this}),f(P,"toString",function(){return"[object Generator]"}),e.keys=function(h){var l=Object(h),p=[];for(var _ in l)p.push(_);return p.reverse(),function g(){for(;p.length;){var y=p.pop();if(y in l)return g.value=y,g.done=!1,g}return g.done=!0,g}},e.values=j,X.prototype={constructor:X,reset:function(l){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(H),!l)for(var p in this)p.charAt(0)==="t"&&r.call(this,p)&&!isNaN(+p.slice(1))&&(this[p]=void 0)},stop:function(){this.done=!0;var l=this.tryEntries[0].completion;if(l.type==="throw")throw l.arg;return this.rval},dispatchException:function(l){if(this.done)throw l;var p=this;function _(U,D){return S.type="throw",S.arg=l,p.next=U,D&&(p.method="next",p.arg=void 0),!!D}for(var g=this.tryEntries.length-1;g>=0;--g){var y=this.tryEntries[g],S=y.completion;if(y.tryLoc==="root")return _("end");if(y.tryLoc<=this.prev){var I=r.call(y,"catchLoc"),w=r.call(y,"finallyLoc");if(I&&w){if(this.prev<y.catchLoc)return _(y.catchLoc,!0);if(this.prev<y.finallyLoc)return _(y.finallyLoc)}else if(I){if(this.prev<y.catchLoc)return _(y.catchLoc,!0)}else{if(!w)throw new Error("try statement without catch or finally");if(this.prev<y.finallyLoc)return _(y.finallyLoc)}}}},abrupt:function(l,p){for(var _=this.tryEntries.length-1;_>=0;--_){var g=this.tryEntries[_];if(g.tryLoc<=this.prev&&r.call(g,"finallyLoc")&&this.prev<g.finallyLoc){var y=g;break}}y&&(l==="break"||l==="continue")&&y.tryLoc<=p&&p<=y.finallyLoc&&(y=null);var S=y?y.completion:{};return S.type=l,S.arg=p,y?(this.method="next",this.next=y.finallyLoc,m):this.complete(S)},complete:function(l,p){if(l.type==="throw")throw l.arg;return l.type==="break"||l.type==="continue"?this.next=l.arg:l.type==="return"?(this.rval=this.arg=l.arg,this.method="return",this.next="end"):l.type==="normal"&&p&&(this.next=p),m},finish:function(l){for(var p=this.tryEntries.length-1;p>=0;--p){var _=this.tryEntries[p];if(_.finallyLoc===l)return this.complete(_.completion,_.afterLoc),H(_),m}},catch:function(l){for(var p=this.tryEntries.length-1;p>=0;--p){var _=this.tryEntries[p];if(_.tryLoc===l){var g=_.completion;if(g.type==="throw"){var y=g.arg;H(_)}return y}}throw new Error("illegal catch attempt")},delegateYield:function(l,p,_){return this.delegate={iterator:j(l),resultName:p,nextLoc:_},this.method==="next"&&(this.arg=void 0),m}},e}function Mh(e,t,r,n,o,i,a){try{var s=e[i](a),f=s.value}catch(u){r(u);return}s.done?t(f):Promise.resolve(f).then(n,o)}function bR(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(f){Mh(i,n,o,a,s,"next",f)}function s(f){Mh(i,n,o,a,s,"throw",f)}a(void 0)})}}function xh(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Ch(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?xh(Object(r),!0).forEach(function(n){ER(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):xh(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function ER(e,t,r){return t=Bh(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Xe(e){return Xe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Xe(e)}function Fh(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Bh(n.key),n)}}function AR(e,t,r){return t&&Fh(e.prototype,t),r&&Fh(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Bh(e){var t=SR(e,"string");return Xe(t)==="symbol"?t:String(t)}function SR(e,t){if(Xe(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Xe(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function TR(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function RR(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ka(e,t)}function ka(e,t){return ka=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},ka(e,t)}function OR(e){var t=NR();return function(){var n=jo(e),o;if(t){var i=jo(this).constructor;o=Reflect.construct(n,arguments,i)}else o=n.apply(this,arguments);return PR(this,o)}}function PR(e,t){if(t&&(Xe(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return IR(e)}function IR(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function NR(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function jo(e){return jo=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},jo(e)}var Ee=function(e){RR(r,e);var t=OR(r);function r(o){var i,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};TR(this,r),i=t.call(this,o,a),i.device=void 0,i.gl=void 0,i.gl2=void 0,i.handle=void 0,i.glTarget=void 0,i.glUsage=void 0,i.glIndexType=c.UNSIGNED_SHORT,i.byteLength=void 0,i.bytesUsed=void 0,i.device=o,i.gl=i.device.gl,i.gl2=i.device.gl2;var s=Xe(a)==="object"?a.handle:void 0;return i.handle=s||i.gl.createBuffer(),o.setSpectorMetadata(i.handle,Ch(Ch({},i.props),{},{data:Xe(i.props.data)})),i.glTarget=wR(i.props.usage),i.glUsage=MR(i.props.usage),i.glIndexType=i.props.indexType==="uint32"?c.UNSIGNED_INT:c.UNSIGNED_SHORT,a.data?i._initWithData(a.data,a.byteOffset,a.byteLength):i._initWithByteLength(a.byteLength||0),i}var n=r.prototype;return n._initWithData=function(i){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:i.byteLength+a,f=this.glTarget;this.gl.bindBuffer(f,this.handle),this.gl.bufferData(f,s,this.glUsage),this.gl.bufferSubData(f,a,i),this.gl.bindBuffer(f,null),this.bytesUsed=s,this.byteLength=s,this._setDebugData(i,a,s),this.trackAllocatedMemory(s)},n._initWithByteLength=function(i){K(i>=0);var a=i;i===0&&(a=new Float32Array(0));var s=this.glTarget;return this.gl.bindBuffer(s,this.handle),this.gl.bufferData(s,a,this.glUsage),this.gl.bindBuffer(s,null),this.bytesUsed=i,this.byteLength=i,this._setDebugData(null,0,i),this.trackAllocatedMemory(i),this},n.destroy=function(){!this.destroyed&&this.handle&&(this.removeStats(),this.trackDeallocatedMemory(),this.gl.deleteBuffer(this.handle),this.destroyed=!0,this.handle=null)},n.write=function(i){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,s=0,f=void 0,u=this.device.isWebGL2?c.COPY_WRITE_BUFFER:this.glTarget;this.gl.bindBuffer(u,this.handle),s!==0||f!==void 0?(this.device.assertWebGL2(),this.gl2.bufferSubData(u,a,i,s,f)):this.gl.bufferSubData(u,a,i),this.gl.bindBuffer(u,null),this._setDebugData(i,a,i.byteLength)},n.readAsync=function(){var o=bR(Ka().mark(function a(){var s,f,u=arguments;return Ka().wrap(function(m){for(;;)switch(m.prev=m.next){case 0:return s=u.length>0&&u[0]!==void 0?u[0]:0,f=u.length>1?u[1]:void 0,m.abrupt("return",this.readSyncWebGL2(s,f));case 3:case"end":return m.stop()}},a,this)}));function i(){return o.apply(this,arguments)}return i}(),n.readSyncWebGL2=function(){var i,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,s=arguments.length>1?arguments[1]:void 0;this.device.assertWebGL2(),s=(i=s)!==null&&i!==void 0?i:this.byteLength-a;var f=new Uint8Array(s),u=0;return this.gl.bindBuffer(c.COPY_READ_BUFFER,this.handle),this.gl2.getBufferSubData(c.COPY_READ_BUFFER,a,f,u,s),this.gl.bindBuffer(c.COPY_READ_BUFFER,null),this._setDebugData(f,a,s),f},AR(r)}(Q);function wR(e){return e&Q.INDEX?c.ELEMENT_ARRAY_BUFFER:e&Q.VERTEX?c.ARRAY_BUFFER:e&Q.UNIFORM?c.UNIFORM_BUFFER:c.ARRAY_BUFFER}function MR(e){return e&Q.INDEX?c.STATIC_DRAW:e&Q.VERTEX?c.STATIC_DRAW:e&Q.UNIFORM?c.DYNAMIC_DRAW:c.STATIC_DRAW}function kt(e){return kt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},kt(e)}function xR(e,t){return DR(e)||BR(e,t)||FR(e,t)||CR()}function CR(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1201
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function FR(e,t){if(e){if(typeof e=="string")return Dh(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Dh(e,t)}}function Dh(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function BR(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,a,s=[],f=!0,u=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);f=!0);}catch(d){u=!0,o=d}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}function DR(e){if(Array.isArray(e))return e}function Uh(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,LR(n.key),n)}}function UR(e,t,r){return t&&Uh(e.prototype,t),r&&Uh(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function LR(e){var t=jR(e,"string");return kt(t)==="symbol"?t:String(t)}function jR(e,t){if(kt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(kt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function HR(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function VR(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ya(e,t)}function Ya(e,t){return Ya=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},Ya(e,t)}function XR(e){var t=KR();return function(){var n=Ho(e),o;if(t){var i=Ho(this).constructor;o=Reflect.construct(n,arguments,i)}else o=n.apply(this,arguments);return WR(this,o)}}function WR(e,t){if(t&&(kt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return GR(e)}function GR(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function KR(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Ho(e){return Ho=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Ho(e)}var En=function(e){VR(r,e);var t=XR(r);function r(o,i){var a;return HR(this,r),a=t.call(this,o,i),a.device=void 0,a.handle=void 0,a.parameters=void 0,a.device=o,a.parameters=Lo(i),a.device.isWebGL2&&(a.handle=a.handle||a.device.gl2.createSampler(),a._setSamplerParameters(a.parameters)),a}var n=r.prototype;return n.destroy=function(){this.handle&&(this.device.gl2.deleteSampler(this.handle),this.handle=void 0)},n.toString=function(){return"Sampler(".concat(this.id,",").concat(JSON.stringify(this.props),")")},n._setSamplerParameters=function(i){for(var a=0,s=Object.entries(i);a<s.length;a++){var f=xR(s[a],2),u=f[0],d=f[1],m=Number(u);switch(m){case c.TEXTURE_MIN_LOD:case c.TEXTURE_MAX_LOD:this.device.gl2.samplerParameterf(this.handle,m,d);break;default:this.device.gl2.samplerParameteri(this.handle,m,d);break}}},UR(r)}(Wn);function za(){"use strict";za=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(h,l,p){h[l]=p.value},o=typeof Symbol=="function"?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function f(h,l,p){return Object.defineProperty(h,l,{value:p,enumerable:!0,configurable:!0,writable:!0}),h[l]}try{f({},"")}catch{f=function(p,_,g){return p[_]=g}}function u(h,l,p,_){var g=l&&l.prototype instanceof v?l:v,y=Object.create(g.prototype),S=new X(_||[]);return n(y,"_invoke",{value:B(h,p,S)}),y}function d(h,l,p){try{return{type:"normal",arg:h.call(l,p)}}catch(_){return{type:"throw",arg:_}}}e.wrap=u;var m={};function v(){}function E(){}function A(){}var T={};f(T,i,function(){return this});var O=Object.getPrototypeOf,R=O&&O(O(j([])));R&&R!==t&&r.call(R,i)&&(T=R);var P=A.prototype=v.prototype=Object.create(T);function M(h){["next","throw","return"].forEach(function(l){f(h,l,function(p){return this._invoke(l,p)})})}function N(h,l){function p(g,y,S,I){var w=d(h[g],h,y);if(w.type!=="throw"){var U=w.arg,D=U.value;return D&&tt(D)=="object"&&r.call(D,"__await")?l.resolve(D.__await).then(function(V){p("next",V,S,I)},function(V){p("throw",V,S,I)}):l.resolve(D).then(function(V){U.value=V,S(U)},function(V){return p("throw",V,S,I)})}I(w.arg)}var _;n(this,"_invoke",{value:function(y,S){function I(){return new l(function(w,U){p(y,S,w,U)})}return _=_?_.then(I,I):I()}})}function B(h,l,p){var _="suspendedStart";return function(g,y){if(_==="executing")throw new Error("Generator is already running");if(_==="completed"){if(g==="throw")throw y;return G()}for(p.method=g,p.arg=y;;){var S=p.delegate;if(S){var I=F(S,p);if(I){if(I===m)continue;return I}}if(p.method==="next")p.sent=p._sent=p.arg;else if(p.method==="throw"){if(_==="suspendedStart")throw _="completed",p.arg;p.dispatchException(p.arg)}else p.method==="return"&&p.abrupt("return",p.arg);_="executing";var w=d(h,l,p);if(w.type==="normal"){if(_=p.done?"completed":"suspendedYield",w.arg===m)continue;return{value:w.arg,done:p.done}}w.type==="throw"&&(_="completed",p.method="throw",p.arg=w.arg)}}}function F(h,l){var p=l.method,_=h.iterator[p];if(_===void 0)return l.delegate=null,p==="throw"&&h.iterator.return&&(l.method="return",l.arg=void 0,F(h,l),l.method==="throw")||p!=="return"&&(l.method="throw",l.arg=new TypeError("The iterator does not provide a '"+p+"' method")),m;var g=d(_,h.iterator,l.arg);if(g.type==="throw")return l.method="throw",l.arg=g.arg,l.delegate=null,m;var y=g.arg;return y?y.done?(l[h.resultName]=y.value,l.next=h.nextLoc,l.method!=="return"&&(l.method="next",l.arg=void 0),l.delegate=null,m):y:(l.method="throw",l.arg=new TypeError("iterator result is not an object"),l.delegate=null,m)}function W(h){var l={tryLoc:h[0]};1 in h&&(l.catchLoc=h[1]),2 in h&&(l.finallyLoc=h[2],l.afterLoc=h[3]),this.tryEntries.push(l)}function H(h){var l=h.completion||{};l.type="normal",delete l.arg,h.completion=l}function X(h){this.tryEntries=[{tryLoc:"root"}],h.forEach(W,this),this.reset(!0)}function j(h){if(h){var l=h[i];if(l)return l.call(h);if(typeof h.next=="function")return h;if(!isNaN(h.length)){var p=-1,_=function g(){for(;++p<h.length;)if(r.call(h,p))return g.value=h[p],g.done=!1,g;return g.value=void 0,g.done=!0,g};return _.next=_}}return{next:G}}function G(){return{value:void 0,done:!0}}return E.prototype=A,n(P,"constructor",{value:A,configurable:!0}),n(A,"constructor",{value:E,configurable:!0}),E.displayName=f(A,s,"GeneratorFunction"),e.isGeneratorFunction=function(h){var l=typeof h=="function"&&h.constructor;return!!l&&(l===E||(l.displayName||l.name)==="GeneratorFunction")},e.mark=function(h){return Object.setPrototypeOf?Object.setPrototypeOf(h,A):(h.__proto__=A,f(h,s,"GeneratorFunction")),h.prototype=Object.create(P),h},e.awrap=function(h){return{__await:h}},M(N.prototype),f(N.prototype,a,function(){return this}),e.AsyncIterator=N,e.async=function(h,l,p,_,g){g===void 0&&(g=Promise);var y=new N(u(h,l,p,_),g);return e.isGeneratorFunction(l)?y:y.next().then(function(S){return S.done?S.value:y.next()})},M(P),f(P,s,"Generator"),f(P,i,function(){return this}),f(P,"toString",function(){return"[object Generator]"}),e.keys=function(h){var l=Object(h),p=[];for(var _ in l)p.push(_);return p.reverse(),function g(){for(;p.length;){var y=p.pop();if(y in l)return g.value=y,g.done=!1,g}return g.done=!0,g}},e.values=j,X.prototype={constructor:X,reset:function(l){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(H),!l)for(var p in this)p.charAt(0)==="t"&&r.call(this,p)&&!isNaN(+p.slice(1))&&(this[p]=void 0)},stop:function(){this.done=!0;var l=this.tryEntries[0].completion;if(l.type==="throw")throw l.arg;return this.rval},dispatchException:function(l){if(this.done)throw l;var p=this;function _(U,D){return S.type="throw",S.arg=l,p.next=U,D&&(p.method="next",p.arg=void 0),!!D}for(var g=this.tryEntries.length-1;g>=0;--g){var y=this.tryEntries[g],S=y.completion;if(y.tryLoc==="root")return _("end");if(y.tryLoc<=this.prev){var I=r.call(y,"catchLoc"),w=r.call(y,"finallyLoc");if(I&&w){if(this.prev<y.catchLoc)return _(y.catchLoc,!0);if(this.prev<y.finallyLoc)return _(y.finallyLoc)}else if(I){if(this.prev<y.catchLoc)return _(y.catchLoc,!0)}else{if(!w)throw new Error("try statement without catch or finally");if(this.prev<y.finallyLoc)return _(y.finallyLoc)}}}},abrupt:function(l,p){for(var _=this.tryEntries.length-1;_>=0;--_){var g=this.tryEntries[_];if(g.tryLoc<=this.prev&&r.call(g,"finallyLoc")&&this.prev<g.finallyLoc){var y=g;break}}y&&(l==="break"||l==="continue")&&y.tryLoc<=p&&p<=y.finallyLoc&&(y=null);var S=y?y.completion:{};return S.type=l,S.arg=p,y?(this.method="next",this.next=y.finallyLoc,m):this.complete(S)},complete:function(l,p){if(l.type==="throw")throw l.arg;return l.type==="break"||l.type==="continue"?this.next=l.arg:l.type==="return"?(this.rval=this.arg=l.arg,this.method="return",this.next="end"):l.type==="normal"&&p&&(this.next=p),m},finish:function(l){for(var p=this.tryEntries.length-1;p>=0;--p){var _=this.tryEntries[p];if(_.finallyLoc===l)return this.complete(_.completion,_.afterLoc),H(_),m}},catch:function(l){for(var p=this.tryEntries.length-1;p>=0;--p){var _=this.tryEntries[p];if(_.tryLoc===l){var g=_.completion;if(g.type==="throw"){var y=g.arg;H(_)}return y}}throw new Error("illegal catch attempt")},delegateYield:function(l,p,_){return this.delegate={iterator:j(l),resultName:p,nextLoc:_},this.method==="next"&&(this.arg=void 0),m}},e}function Lh(e,t,r,n,o,i,a){try{var s=e[i](a),f=s.value}catch(u){r(u);return}s.done?t(f):Promise.resolve(f).then(n,o)}function kR(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(f){Lh(i,n,o,a,s,"next",f)}function s(f){Lh(i,n,o,a,s,"throw",f)}a(void 0)})}}function jh(e,t){return qR(e)||zR(e,t)||Wh(e,t)||YR()}function YR(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1202
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function zR(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,a,s=[],f=!0,u=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);f=!0);}catch(d){u=!0,o=d}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}function qR(e){if(Array.isArray(e))return e}function ZR(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Wh(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(u){throw u},f:o}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1203
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,a=!1,s;return{s:function(){r=r.call(e)},n:function(){var u=r.next();return i=u.done,u},e:function(u){a=!0,s=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(a)throw s}}}}function Wh(e,t){if(e){if(typeof e=="string")return Hh(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Hh(e,t)}}function Hh(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function tt(e){return tt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},tt(e)}function Vh(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Vo(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Vh(Object(r),!0).forEach(function(n){$R(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Vh(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function $R(e,t,r){return t=Gh(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Xh(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Gh(n.key),n)}}function QR(e,t,r){return t&&Xh(e.prototype,t),r&&Xh(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Gh(e){var t=JR(e,"string");return tt(t)==="symbol"?t:String(t)}function JR(e,t){if(tt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(tt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function eO(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function tO(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&qa(e,t)}function qa(e,t){return qa=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},qa(e,t)}function rO(e){var t=oO();return function(){var n=Wo(e),o;if(t){var i=Wo(this).constructor;o=Reflect.construct(n,arguments,i)}else o=n.apply(this,arguments);return nO(this,o)}}function nO(e,t){if(t&&(tt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Kh(e)}function Kh(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function oO(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Wo(e){return Wo=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Wo(e)}var iO={parameters:{},pixelStore:{},pixels:null,border:0,dataFormat:void 0,textureUnit:void 0,target:void 0},Ae=function(e){tO(r,e);var t=rO(r);function r(o,i){var a,s;return eO(this,r),s=t.call(this,o,Vo(Vo({},iO),{},{format:"rgba8unorm"},i)),s.MAX_ATTRIBUTES=void 0,s.device=void 0,s.gl=void 0,s.gl2=void 0,s.handle=void 0,s.sampler=void 0,s.glFormat=void 0,s.type=void 0,s.dataFormat=void 0,s.mipmaps=void 0,s.target=void 0,s.textureUnit=void 0,s.loaded=!1,s._video=void 0,s.device=o,s.gl=s.device.gl,s.gl2=s.device.gl2,s.handle=s.props.handle||s.gl.createTexture(),s.device.setSpectorMetadata(s.handle,Vo(Vo({},s.props),{},{data:tt(s.props.data)})),s.glFormat=c.RGBA,s.target=aO(s.props),s.loaded=!1,typeof((a=s.props)===null||a===void 0?void 0:a.data)=="string"&&Object.assign(s.props,{data:ji(s.props.data)}),s.initialize(s.props),Object.seal(Kh(s)),s}var n=r.prototype;return n.destroy=function(){this.handle&&(this.gl.deleteTexture(this.handle),this.removeStats(),this.trackDeallocatedMemory("Texture"),this.destroyed=!0)},n.toString=function(){return"Texture(".concat(this.id,",").concat(this.width,"x").concat(this.height,")")},n.initialize=function(){var i=this,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(this.props.dimension==="cube")return this.initializeCube(a);var s=a.data;if(s instanceof Promise)return s.then(function(l){return i.initialize(Object.assign({},a,{pixels:l,data:l}))}),this;var f=typeof HTMLVideoElement<"u"&&s instanceof HTMLVideoElement;if(f&&s.readyState<HTMLVideoElement.HAVE_METADATA)return this._video=null,s.addEventListener("loadeddata",function(){return i.initialize(a)}),this;var u=a.parameters,d=u===void 0?{}:u,m=a.pixels,v=m===void 0?null:m,E=a.pixelStore,A=E===void 0?{}:E,T=a.textureUnit,O=T===void 0?void 0:T;s||(s=v);var R=a.width,P=a.height,M=a.dataFormat,N=a.type,B=a.compressed,F=B===void 0?!1:B,W=a.mipmaps,H=W===void 0?!0:W,X=a.depth,j=X===void 0?0:X,G=yn(a.format,this.device.isWebGL2),h=this._deduceParameters({format:a.format,type:N,dataFormat:M,compressed:F,data:s,width:R,height:P});return R=h.width,P=h.height,F=h.compressed,M=h.dataFormat,N=h.type,this.width=R,this.height=P,this.glFormat=G,this.type=N,this.dataFormat=M,this.textureUnit=O,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(c.TEXTURE0+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),H&&this.device.isWebGL1&&Xo(this.width,this.height)&&(x.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaps"))(),H=!1),this.mipmaps=H,this.setImageData({data:s,width:R,height:P,depth:j,format:G,type:N,dataFormat:M,parameters:A,compressed:F}),this.setSampler(a.sampler),this._setSamplerParameters(d),H&&this.generateMipmap(),f&&(this._video={video:s,parameters:d,lastTime:s.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?s.currentTime:-1}),this},n.initializeCube=function(i){var a=this,s=i.mipmaps,f=s===void 0?!0:s,u=i.parameters,d=u===void 0?{}:u;return this.setCubeMapImageData(i).then(function(){a.loaded=!0,f&&a.generateMipmap(i),a.setSampler(i.sampler),a._setSamplerParameters(d)}),this},n.setSampler=function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a;i instanceof En?(this.sampler=i,a=i.props):(this.sampler=new En(this.device,i),a=i);var s=Lo(a);return this._setSamplerParameters(s),this},n.resize=function(i){var a=i.height,s=i.width,f=i.mipmaps,u=f===void 0?!1:f;return s!==this.width||a!==this.height?this.initialize({width:s,height:a,format:this.format,type:this.type,dataFormat:this.dataFormat,mipmaps:u}):this},n.update=function(){if(this._video){var i=this._video,a=i.video,s=i.parameters,f=i.lastTime;if(f===a.currentTime||a.readyState<HTMLVideoElement.HAVE_CURRENT_DATA)return;this.setSubImageData({data:a,parameters:s}),this.mipmaps&&this.generateMipmap(),this._video.lastTime=a.currentTime}},n.generateMipmap=function(){var i=this,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.device.isWebGL1&&Xo(this.width,this.height)?(x.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaping"))(),this):(this.mipmaps=!0,this.gl.bindTexture(this.target,this.handle),et(this.gl,a,function(){i.gl.generateMipmap(i.target)}),this.gl.bindTexture(this.target,null),this)},n.setImageData=function(i){var a=this;if(this.props.dimension==="3d"||this.props.dimension==="2d-array")return this.setImageData3D(i);this.trackDeallocatedMemory("Texture");var s=i.target,f=s===void 0?this.target:s,u=i.pixels,d=u===void 0?null:u,m=i.level,v=m===void 0?0:m,E=i.glFormat,A=E===void 0?this.glFormat:E,T=i.offset,O=T===void 0?0:T,R=i.parameters,P=R===void 0?{}:R,M=i.data,N=M===void 0?null:M,B=i.type,F=B===void 0?this.type:B,W=i.width,H=W===void 0?this.width:W,X=i.height,j=X===void 0?this.height:X,G=i.dataFormat,h=G===void 0?this.dataFormat:G,l=i.compressed,p=l===void 0?!1:l;N||(N=d);var _=this._deduceParameters({format:this.props.format,type:F,dataFormat:h,compressed:p,data:N,width:H,height:j});F=_.type,h=_.dataFormat,p=_.compressed,H=_.width,j=_.height;var g=this.gl;g.bindTexture(this.target,this.handle);var y=null,S=this._getDataType({data:N,compressed:p});N=S.data,y=S.dataType;var I;if(et(this.gl,P,function(){switch(y){case"null":g.texImage2D(f,v,A,H,j,0,h,F,N);break;case"typed-array":g.texImage2D(f,v,A,H,j,0,h,F,N,O);break;case"buffer":I=a.device.assertWebGL2(),I.bindBuffer(c.PIXEL_UNPACK_BUFFER,N.handle||N),I.texImage2D(f,v,A,H,j,0,h,F,O),I.bindBuffer(c.PIXEL_UNPACK_BUFFER,null);break;case"browser-object":a.device.isWebGL2?g.texImage2D(f,v,A,H,j,0,h,F,N):g.texImage2D(f,v,A,h,F,N);break;case"compressed":var U=ZR(N.entries()),D;try{for(U.s();!(D=U.n()).done;){var V=jh(D.value,2),ai=V[0],We=V[1];g.compressedTexImage2D(f,ai,We.format,We.width,We.height,0,We.data)}}catch(cr){U.e(cr)}finally{U.f()}break;default:K(!1,"Unknown image data type")}}),N&&N.byteLength)this.trackAllocatedMemory(N.byteLength,"Texture");else{var w=mn(this.props.format,this.device.isWebGL2);this.trackAllocatedMemory(this.width*this.height*w,"Texture")}return this.loaded=!0,this},n.setSubImageData=function(i){var a=this,s=i.target,f=s===void 0?this.target:s,u=i.pixels,d=u===void 0?null:u,m=i.data,v=m===void 0?null:m,E=i.x,A=E===void 0?0:E,T=i.y,O=T===void 0?0:T,R=i.width,P=R===void 0?this.width:R,M=i.height,N=M===void 0?this.height:M,B=i.level,F=B===void 0?0:B,W=i.glFormat,H=W===void 0?this.glFormat:W,X=i.type,j=X===void 0?this.type:X,G=i.dataFormat,h=G===void 0?this.dataFormat:G,l=i.compressed,p=l===void 0?!1:l,_=i.offset,g=_===void 0?0:_,y=i.parameters,S=y===void 0?{}:y,I=this._deduceParameters({format:this.props.format,type:j,dataFormat:h,compressed:p,data:v,width:P,height:N});if(j=I.type,h=I.dataFormat,p=I.compressed,P=I.width,N=I.height,K(this.depth===1,"texSubImage not supported for 3D textures"),v||(v=d),v&&v.data){var w=v;v=w.data,P=w.shape[0],N=w.shape[1]}v instanceof Ee&&(v=v.handle),this.gl.bindTexture(this.target,this.handle),et(this.gl,S,function(){if(p)a.gl.compressedTexSubImage2D(f,F,A,O,P,N,H,v);else if(v===null)a.gl.texSubImage2D(f,F,A,O,P,N,h,j,null);else if(ArrayBuffer.isView(v))a.gl.texSubImage2D(f,F,A,O,P,N,h,j,v,g);else if(typeof WebGLBuffer<"u"&&v instanceof WebGLBuffer){var U=a.device.assertWebGL2();U.bindBuffer(c.PIXEL_UNPACK_BUFFER,v),U.texSubImage2D(f,F,A,O,P,N,h,j,g),U.bindBuffer(c.PIXEL_UNPACK_BUFFER,null)}else if(a.device.isWebGL2){var D=a.device.assertWebGL2();D.texSubImage2D(f,F,A,O,P,N,h,j,v)}else a.gl.texSubImage2D(f,F,A,O,h,j,v)}),this.gl.bindTexture(this.target,null)},n.copyFramebuffer=function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return x.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null},n.getActiveUnit=function(){return this.gl.getParameter(c.ACTIVE_TEXTURE)-c.TEXTURE0},n.bind=function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.textureUnit,a=this.gl;return i!==void 0&&(this.textureUnit=i,a.activeTexture(a.TEXTURE0+i)),a.bindTexture(this.target,this.handle),i},n.unbind=function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.textureUnit,a=this.gl;return i!==void 0&&(this.textureUnit=i,a.activeTexture(a.TEXTURE0+i)),a.bindTexture(this.target,null),i},n._getDataType=function(i){var a=i.data,s=i.compressed,f=s===void 0?!1:s;return f?{data:a,dataType:"compressed"}:a===null?{data:a,dataType:"null"}:ArrayBuffer.isView(a)?{data:a,dataType:"typed-array"}:a instanceof Ee?{data:a.handle,dataType:"buffer"}:typeof WebGLBuffer<"u"&&a instanceof WebGLBuffer?{data:a,dataType:"buffer"}:{data:a,dataType:"browser-object"}},n._deduceParameters=function(i){var a=i.format,s=i.data,f=i.width,u=i.height,d=i.dataFormat,m=i.type,v=i.compressed,E=Kt(a,this.device.isWebGL2);d=d||E.dataFormat,m=m||E.type,v=v||E.compressed;var A=this._deduceImageSize(s,f,u);return f=A.width,u=A.height,{dataFormat:d,type:m,compressed:v,width:f,height:u,format:a,data:s}},n._deduceImageSize=function(i,a,s){var f;return typeof ImageData<"u"&&i instanceof ImageData?f={width:i.width,height:i.height}:typeof HTMLImageElement<"u"&&i instanceof HTMLImageElement?f={width:i.naturalWidth,height:i.naturalHeight}:typeof HTMLCanvasElement<"u"&&i instanceof HTMLCanvasElement?f={width:i.width,height:i.height}:typeof ImageBitmap<"u"&&i instanceof ImageBitmap?f={width:i.width,height:i.height}:typeof HTMLVideoElement<"u"&&i instanceof HTMLVideoElement?f={width:i.videoWidth,height:i.videoHeight}:i?f={width:a,height:s}:f={width:a>=0?a:1,height:s>=0?s:1},K(f,"Could not deduced texture size"),K(a===void 0||f.width===a,"Deduced texture width does not match supplied width"),K(s===void 0||f.height===s,"Deduced texture height does not match supplied height"),f},n.setCubeMapImageData=function(){var o=kR(za().mark(function a(s){var f=this,u,d,m,v,E,A,T,O,R,P,M;return za().wrap(function(B){for(;;)switch(B.prev=B.next){case 0:return u=this.gl,d=s.width,m=s.height,v=s.pixels,E=s.data,A=s.format,T=A===void 0?c.RGBA:A,O=s.type,R=O===void 0?c.UNSIGNED_BYTE:O,P=v||E,B.next=5,Promise.all(r.FACES.map(function(F){var W=P[F];return Promise.all(Array.isArray(W)?W:[W])}));case 5:M=B.sent,this.bind(),r.FACES.forEach(function(F,W){M[W].length>1&&f.props.mipmaps!==!1&&x.warn("".concat(f.id," has mipmap and multiple LODs."))(),M[W].forEach(function(H,X){d&&m?u.texImage2D(F,X,T,d,m,0,T,R,H):u.texImage2D(F,X,T,T,R,H)})}),this.unbind();case 9:case"end":return B.stop()}},a,this)}));function i(a){return o.apply(this,arguments)}return i}(),n.setImageDataForFace=function(i){var a=this,s=i.face,f=i.width,u=i.height,d=i.pixels,m=i.data,v=i.format,E=v===void 0?c.RGBA:v,A=i.type,T=A===void 0?c.UNSIGNED_BYTE:A,O=this.gl,R=d||m;return this.bind(),R instanceof Promise?R.then(function(P){return a.setImageDataForFace(Object.assign({},i,{face:s,data:P,pixels:P}))}):this.width||this.height?O.texImage2D(s,0,E,f,u,0,E,T,R):O.texImage2D(s,0,E,E,T,R),this},n.setImageData3D=function(i){var a=this,s=i.level,f=s===void 0?0:s,u=i.dataFormat,d=i.format,m=i.type,v=i.width,E=i.height,A=i.depth,T=A===void 0?1:A,O=i.offset,R=O===void 0?0:O,P=i.data,M=i.parameters,N=M===void 0?{}:M;this.trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle);var B=Kt(d,this.device.isWebGL2);if(et(this.gl,N,function(){ArrayBuffer.isView(P)&&a.gl.texImage3D(a.target,f,B.format,v,E,T,0,B.dataFormat,B.type,P),P instanceof Ee&&(a.gl.bindBuffer(c.PIXEL_UNPACK_BUFFER,P.handle),a.gl.texImage3D(a.target,f,u,v,E,T,0,d,m,R))}),P&&P.byteLength)this.trackAllocatedMemory(P.byteLength,"Texture");else{var F=mn(this.props.format,this.device.isWebGL2);this.trackAllocatedMemory(this.width*this.height*this.depth*F,"Texture")}return this.loaded=!0,this},n._setSamplerParameters=function(i){if(this.device.isWebGL1&&Xo(this.width,this.height)&&(i=Nh(i)),!hr(i)){fO(i),this.gl.bindTexture(this.target,this.handle);for(var a=0,s=Object.entries(i);a<s.length;a++){var f=jh(s[a],2),u=f[0],d=f[1],m=Number(u),v=d;switch(m){case c.TEXTURE_MIN_LOD:case c.TEXTURE_MAX_LOD:this.gl.texParameterf(this.target,m,v);break;default:this.gl.texParameteri(this.target,m,v);break}}this.gl.bindTexture(this.target,null)}},n._getWebGL1NPOTParameterOverride=function(i,a){var s=this.device.isWebGL1&&Xo(this.width,this.height);if(s)switch(i){case c.TEXTURE_MIN_FILTER:if(a!==c.LINEAR&&a!==c.NEAREST)return c.LINEAR;break;case c.TEXTURE_WRAP_S:case c.TEXTURE_WRAP_T:return c.CLAMP_TO_EDGE;default:break}return a},QR(r)}(ye);Ae.FACES=[c.TEXTURE_CUBE_MAP_POSITIVE_X,c.TEXTURE_CUBE_MAP_NEGATIVE_X,c.TEXTURE_CUBE_MAP_POSITIVE_Y,c.TEXTURE_CUBE_MAP_NEGATIVE_Y,c.TEXTURE_CUBE_MAP_POSITIVE_Z,c.TEXTURE_CUBE_MAP_NEGATIVE_Z];function aO(e){switch(e.dimension){case"2d":return c.TEXTURE_2D;case"cube":return c.TEXTURE_CUBE_MAP;case"2d-array":return c.TEXTURE_2D_ARRAY;case"3d":return c.TEXTURE_3D;case"1d":case"cube-array":default:throw new Error(e.dimension)}}function Xo(e,t){return!e||!t?!1:!Bn(e)||!Bn(t)}function fO(e){x.log(1,"texture sampler parameters",e)()}function Go(e,t){if(typeof t!="string")return t;var r=Number(t);if(!isNaN(r))return r;t=t.replace(/^.*\./,"");var n=e[t];return K(n!==void 0,"Accessing undefined constant GL.".concat(t)),n}function zt(e){return zt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},zt(e)}function sO(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=cO(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(u){throw u},f:o}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1204
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,a=!1,s;return{s:function(){r=r.call(e)},n:function(){var u=r.next();return i=u.done,u},e:function(u){a=!0,s=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(a)throw s}}}}function cO(e,t){if(e){if(typeof e=="string")return kh(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return kh(e,t)}}function kh(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function uO(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Yh(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,pO(n.key),n)}}function lO(e,t,r){return t&&Yh(e.prototype,t),r&&Yh(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function pO(e){var t=hO(e,"string");return zt(t)==="symbol"?t:String(t)}function hO(e,t){if(zt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(zt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function dO(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Za(e,t)}function Za(e,t){return Za=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},Za(e,t)}function _O(e){var t=gO();return function(){var n=Ko(e),o;if(t){var i=Ko(this).constructor;o=Reflect.construct(n,arguments,i)}else o=n.apply(this,arguments);return yO(this,o)}}function yO(e,t){if(t&&(zt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return mO(e)}function mO(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function gO(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Ko(e){return Ko=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Ko(e)}var Yt="Resource subclass must define virtual methods",zh=function(e){dO(r,e);var t=_O(r);function r(o,i,a){var s;uO(this,r),s=t.call(this,o,i,a),s.device=void 0,s.gl=void 0,s.gl2=void 0,s._handle=void 0,s._bound=!1,s.byteLength=0,s.device=be.attach(o);var f=s.device.gl;Vp(f);var u=i||{},d=u.id;return s.gl=f,s.gl2=f,s.id=d||ce(s.constructor.name),s._handle=i?.handle,s._handle===void 0&&(s._handle=s._createHandle()),s.byteLength=0,s}var n=r.prototype;return n.toString=function(){return"".concat(this.constructor.name,"(").concat(this.id,")")},n.delete=function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=i.deleteChildren,s=a===void 0?!1:a,f=this._handle&&this._deleteHandle(this._handle);return this._handle&&this.removeStats(),this._handle=null,f&&s&&f.filter(Boolean).forEach(function(u){return u.destroy()}),this},n.bind=function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.handle;if(typeof i!="function")return this._bindHandle(i),this;var a;return this._bound?a=i():(this._bindHandle(this.handle),this._bound=!0,a=i(),this._bound=!1,this._bindHandle(null)),a},n.unbind=function(){this.bind(null)},n.getParameter=function(i){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};i=Go(this.gl,i),K(i);var s=this.constructor.PARAMETERS||{},f=s[i];if(f){var u=q(this.gl),d=(!("webgl2"in f)||u)&&(!("extension"in f)||this.gl.getExtension(f.extension));if(!d){var m=f.webgl1,v="webgl2"in f?f.webgl2:f.webgl1,E=u?v:m;return E}}return this._getParameter(i,a)},n.getParameters=function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=i.parameters,s=i.keys,f=this.constructor.PARAMETERS||{},u=q(this.gl),d={},m=a||Object.keys(f),v=sO(m),E;try{for(v.s();!(E=v.n()).done;){var A=E.value,T=f[A],O=T&&(!("webgl2"in T)||u)&&(!("extension"in T)||this.gl.getExtension(T.extension));if(O){var R=s?this.device.getGLKey(A):A;d[R]=this.getParameter(A,i),s&&T.type==="GLenum"&&(d[R]=this.device.getGLKey(d[R]))}}}catch(P){v.e(P)}finally{v.f()}return d},n.setParameter=function(i,a){i=Go(this.gl,i),K(i);var s=this.constructor.PARAMETERS||{},f=s[i];if(f){var u=q(this.gl),d=(!("webgl2"in f)||u)&&(!("extension"in f)||this.gl.getExtension(f.extension));if(!d)throw new Error("Parameter not available on this platform");f.type==="GLenum"&&(a=Go(a))}return this._setParameter(i,a),this},n.setParameters=function(i){for(var a in i)this.setParameter(a,i[a]);return this},n.stubRemovedMethods=function(i,a,s){return Fi(this,i,a,s)},n.initialize=function(i){},n._createHandle=function(){throw new Error(Yt)},n._deleteHandle=function(){throw new Error(Yt)},n._bindHandle=function(i){throw new Error(Yt)},n._getOptsFromHandle=function(){throw new Error(Yt)},n._getParameter=function(i,a){throw new Error(Yt)},n._setParameter=function(i,a){throw new Error(Yt)},lO(r,[{key:"handle",get:function(){return this._handle}}]),r}(z);function qt(e){return qt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},qt(e)}var Qh;function qh(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Zh(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?qh(Object(r),!0).forEach(function(n){vO(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):qh(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function vO(e,t,r){return t=Jh(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function bO(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function $h(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Jh(n.key),n)}}function EO(e,t,r){return t&&$h(e.prototype,t),r&&$h(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Jh(e){var t=AO(e,"string");return qt(t)==="symbol"?t:String(t)}function AO(e,t){if(qt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(qt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function SO(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&$a(e,t)}function $a(e,t){return $a=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},$a(e,t)}function TO(e){var t=PO();return function(){var n=ko(e),o;if(t){var i=ko(this).constructor;o=Reflect.construct(n,arguments,i)}else o=n.apply(this,arguments);return RO(this,o)}}function RO(e,t){if(t&&(qt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return OO(e)}function OO(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function PO(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function ko(e){return ko=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},ko(e)}Qh=Symbol.toStringTag;var Yo=function(e){SO(r,e);var t=TO(r);r.isTextureFormatSupported=function(i,a){return _h(i.gl,a)};function r(o,i){var a;if(bO(this,r),typeof i.format=="number")throw new Error("Renderbuffer");return a=t.call(this,o,i,r.defaultProps),a.glFormat=void 0,a.glFormat=yn(a.props.format,o.isWebGL2),a._initialize(a.props),a}var n=r.prototype;return n.resize=function(i){(i.width!==this.width||i.height!==this.height)&&(Object.assign(this.props,Zh(Zh({},i),{},{format:this.format,samples:this.samples})),this._initialize(this.props))},n._initialize=function(i){var a=i.format,s=i.width,f=i.height,u=i.samples;K(a,"Needs format"),this.trackDeallocatedMemory(),this.gl.bindRenderbuffer(c.RENDERBUFFER,this.handle),u!==0&&this.device.isWebGL2?this.gl2.renderbufferStorageMultisample(c.RENDERBUFFER,u,this.glFormat,s,f):this.gl.renderbufferStorage(c.RENDERBUFFER,this.glFormat,s,f),this.gl.bindRenderbuffer(c.RENDERBUFFER,null),this.trackAllocatedMemory(s*f*(u||1)*mn(this.glFormat,this.device.isWebGL2))},n._createHandle=function(){return this.gl.createRenderbuffer()},n._deleteHandle=function(){this.gl.deleteRenderbuffer(this.handle),this.trackDeallocatedMemory()},n._bindHandle=function(i){this.gl.bindRenderbuffer(c.RENDERBUFFER,i)},EO(r,[{key:Qh,get:function(){return"Renderbuffer"}},{key:"width",get:function(){return this.props.width}},{key:"height",get:function(){return this.props.height}},{key:"format",get:function(){return this.props.format}},{key:"samples",get:function(){return this.props.samples}},{key:"attachment",get:function(){}}]),r}(zh);Yo.defaultProps={id:void 0,handle:void 0,userData:void 0,format:void 0,width:1,height:1,samples:0};function Zt(e){return Zt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Zt(e)}function IO(e,t){return MO(e)||wO(e,t)||rd(e,t)||NO()}function NO(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1205
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function wO(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,a,s=[],f=!0,u=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);f=!0);}catch(d){u=!0,o=d}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}function MO(e){if(Array.isArray(e))return e}function xO(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=rd(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(u){throw u},f:o}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1206
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,a=!1,s;return{s:function(){r=r.call(e)},n:function(){var u=r.next();return i=u.done,u},e:function(u){a=!0,s=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(a)throw s}}}}function rd(e,t){if(e){if(typeof e=="string")return ed(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ed(e,t)}}function ed(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function CO(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function td(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,BO(n.key),n)}}function FO(e,t,r){return t&&td(e.prototype,t),r&&td(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function BO(e){var t=DO(e,"string");return Zt(t)==="symbol"?t:String(t)}function DO(e,t){if(Zt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Zt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function zo(){return typeof Reflect<"u"&&Reflect.get?zo=Reflect.get.bind():zo=function(t,r,n){var o=UO(t,r);if(o){var i=Object.getOwnPropertyDescriptor(o,r);return i.get?i.get.call(arguments.length<3?t:n):i.value}},zo.apply(this,arguments)}function UO(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&(e=$t(e),e!==null););return e}function LO(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Qa(e,t)}function Qa(e,t){return Qa=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},Qa(e,t)}function jO(e){var t=XO();return function(){var n=$t(e),o;if(t){var i=$t(this).constructor;o=Reflect.construct(n,arguments,i)}else o=n.apply(this,arguments);return HO(this,o)}}function HO(e,t){if(t&&(Zt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return VO(e)}function VO(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function XO(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function $t(e){return $t=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},$t(e)}var rt=function(e){LO(r,e);var t=jO(r);function r(o,i){var a;CO(this,r),a=t.call(this,o,i),a.device=void 0,a.gl=void 0,a.handle=void 0;var s=i.handle===null;if(a.device=o,a.gl=o.gl,a.handle=a.props.handle||s?a.props.handle:a.gl.createFramebuffer(),!s){o.setSpectorMetadata(a.handle,{id:a.props.id,props:a.props}),a.autoCreateAttachmentTextures(),a.gl.bindFramebuffer(c.FRAMEBUFFER,a.handle);for(var f=0;f<a.colorAttachments.length;++f){var u=a.colorAttachments[f],d=c.COLOR_ATTACHMENT0+f;u&&a._attachOne(d,u)}a.depthStencilAttachment&&a._attachOne(gh(a.depthStencilAttachment.format),a.depthStencilAttachment),a.gl.bindFramebuffer(c.FRAMEBUFFER,null)}return i.check!==!1&&a._checkStatus(),a}var n=r.prototype;return n.destroy=function(){zo($t(r.prototype),"destroy",this).call(this),!this.destroyed&&this.handle!==null&&this.gl.deleteFramebuffer(this.handle)},n._checkStatus=function(){var i=this.gl,a=i.bindFramebuffer(c.FRAMEBUFFER,this.handle),s=i.checkFramebufferStatus(c.FRAMEBUFFER);if(i.bindFramebuffer(c.FRAMEBUFFER,a||null),s!==i.FRAMEBUFFER_COMPLETE)throw new Error("Framebuffer ".concat(GO(s)))},n.createDepthStencilTexture=function(i){return new Yo(this.device,{id:"".concat(this.id,"-depth-stencil"),format:i,width:this.width,height:this.height})},n.resizeAttachments=function(i,a){if(this.handle===null)return this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;i===void 0&&(i=this.gl.drawingBufferWidth),a===void 0&&(a=this.gl.drawingBufferHeight);var s=xO(this.colorAttachments),f;try{for(s.s();!(f=s.n()).done;){var u=f.value;u.resize({width:i,height:a})}}catch(d){s.e(d)}finally{s.f()}return this.depthStencilAttachment&&this.depthStencilAttachment.resize({width:i,height:a}),this},n._attachOne=function(i,a){if(a instanceof Yo)return this._attachWEBGLRenderbuffer(i,a),a;if(Array.isArray(a)){var s=IO(a,3),f=s[0],u=s[1],d=u===void 0?0:u,m=s[2],v=m===void 0?0:m;return this._attachTexture(i,f,d,v),f}else if(a instanceof Ae)return this._attachTexture(i,a,0,0),a;throw new Error("attach")},n._attachWEBGLRenderbuffer=function(i,a){this.gl.framebufferRenderbuffer(c.FRAMEBUFFER,i,c.RENDERBUFFER,a.handle)},n._attachTexture=function(i,a,s,f){var u=this.device,d=u.gl,m=u.gl2;switch(d.bindTexture(a.target,a.handle),a.target){case c.TEXTURE_2D_ARRAY:case c.TEXTURE_3D:this.device.assertWebGL2(),m?.framebufferTextureLayer(c.FRAMEBUFFER,i,a.target,f,s);break;case c.TEXTURE_CUBE_MAP:var v=WO(s);d.framebufferTexture2D(c.FRAMEBUFFER,i,v,a.handle,f);break;case c.TEXTURE_2D:d.framebufferTexture2D(c.FRAMEBUFFER,i,c.TEXTURE_2D,a.handle,f);break;default:K(!1,"Illegal texture type")}d.bindTexture(a.target,null)},FO(r,[{key:"texture",get:function(){return this.colorAttachments[0]}}]),r}(Kn);function WO(e){return e<c.TEXTURE_CUBE_MAP_POSITIVE_X?e+c.TEXTURE_CUBE_MAP_POSITIVE_X:e}function GO(e){switch(e){case c.FRAMEBUFFER_COMPLETE:return"success";case c.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:return"Mismatched attachments";case c.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:return"No attachments";case c.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:return"Height/width mismatch";case c.FRAMEBUFFER_UNSUPPORTED:return"Unsupported or split attachments";case c.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:return"Samples mismatch";default:return"".concat(e)}}function Qt(e){return Qt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Qt(e)}function nd(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,kO(n.key),n)}}function KO(e,t,r){return t&&nd(e.prototype,t),r&&nd(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function kO(e){var t=YO(e,"string");return Qt(t)==="symbol"?t:String(t)}function YO(e,t){if(Qt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Qt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function zO(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function qO(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ja(e,t)}function Ja(e,t){return Ja=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},Ja(e,t)}function ZO(e){var t=JO();return function(){var n=qo(e),o;if(t){var i=qo(this).constructor;o=Reflect.construct(n,arguments,i)}else o=n.apply(this,arguments);return $O(this,o)}}function $O(e,t){if(t&&(Qt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return QO(e)}function QO(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function JO(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function qo(e){return qo=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},qo(e)}var od=function(e){qO(r,e);var t=ZO(r);function r(o,i){var a;return zO(this,r),a=t.call(this,i),a.device=void 0,a.presentationSize=void 0,a._framebuffer=null,a.device=o,a.presentationSize=[-1,-1],a._setAutoCreatedCanvasId("".concat(a.device.id,"-canvas")),a.update(),a}var n=r.prototype;return n.getCurrentFramebuffer=function(){return this.update(),this._framebuffer=this._framebuffer||new rt(this.device,{handle:null}),this._framebuffer},n.update=function(){var i=this.getPixelSize(),a=i[0]!==this.presentationSize[0]||i[1]!==this.presentationSize[1];a&&(this.presentationSize=i)},n.resize=function(i){if(this.canvas){var a=this.getDevicePixelRatio(i?.useDevicePixels);this.setDevicePixelRatio(a,i);return}var s=this.device.gl.getExtension("STACKGL_resize_drawingbuffer");s&&i&&"width"in i&&"height"in i&&s.resize(i.width,i.height)},n.commit=function(){},KO(r)}(vt);function Jt(e){return Jt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Jt(e)}function ef(){"use strict";ef=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(h,l,p){h[l]=p.value},o=typeof Symbol=="function"?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function f(h,l,p){return Object.defineProperty(h,l,{value:p,enumerable:!0,configurable:!0,writable:!0}),h[l]}try{f({},"")}catch{f=function(p,_,g){return p[_]=g}}function u(h,l,p,_){var g=l&&l.prototype instanceof v?l:v,y=Object.create(g.prototype),S=new X(_||[]);return n(y,"_invoke",{value:B(h,p,S)}),y}function d(h,l,p){try{return{type:"normal",arg:h.call(l,p)}}catch(_){return{type:"throw",arg:_}}}e.wrap=u;var m={};function v(){}function E(){}function A(){}var T={};f(T,i,function(){return this});var O=Object.getPrototypeOf,R=O&&O(O(j([])));R&&R!==t&&r.call(R,i)&&(T=R);var P=A.prototype=v.prototype=Object.create(T);function M(h){["next","throw","return"].forEach(function(l){f(h,l,function(p){return this._invoke(l,p)})})}function N(h,l){function p(g,y,S,I){var w=d(h[g],h,y);if(w.type!=="throw"){var U=w.arg,D=U.value;return D&&Jt(D)=="object"&&r.call(D,"__await")?l.resolve(D.__await).then(function(V){p("next",V,S,I)},function(V){p("throw",V,S,I)}):l.resolve(D).then(function(V){U.value=V,S(U)},function(V){return p("throw",V,S,I)})}I(w.arg)}var _;n(this,"_invoke",{value:function(y,S){function I(){return new l(function(w,U){p(y,S,w,U)})}return _=_?_.then(I,I):I()}})}function B(h,l,p){var _="suspendedStart";return function(g,y){if(_==="executing")throw new Error("Generator is already running");if(_==="completed"){if(g==="throw")throw y;return G()}for(p.method=g,p.arg=y;;){var S=p.delegate;if(S){var I=F(S,p);if(I){if(I===m)continue;return I}}if(p.method==="next")p.sent=p._sent=p.arg;else if(p.method==="throw"){if(_==="suspendedStart")throw _="completed",p.arg;p.dispatchException(p.arg)}else p.method==="return"&&p.abrupt("return",p.arg);_="executing";var w=d(h,l,p);if(w.type==="normal"){if(_=p.done?"completed":"suspendedYield",w.arg===m)continue;return{value:w.arg,done:p.done}}w.type==="throw"&&(_="completed",p.method="throw",p.arg=w.arg)}}}function F(h,l){var p=l.method,_=h.iterator[p];if(_===void 0)return l.delegate=null,p==="throw"&&h.iterator.return&&(l.method="return",l.arg=void 0,F(h,l),l.method==="throw")||p!=="return"&&(l.method="throw",l.arg=new TypeError("The iterator does not provide a '"+p+"' method")),m;var g=d(_,h.iterator,l.arg);if(g.type==="throw")return l.method="throw",l.arg=g.arg,l.delegate=null,m;var y=g.arg;return y?y.done?(l[h.resultName]=y.value,l.next=h.nextLoc,l.method!=="return"&&(l.method="next",l.arg=void 0),l.delegate=null,m):y:(l.method="throw",l.arg=new TypeError("iterator result is not an object"),l.delegate=null,m)}function W(h){var l={tryLoc:h[0]};1 in h&&(l.catchLoc=h[1]),2 in h&&(l.finallyLoc=h[2],l.afterLoc=h[3]),this.tryEntries.push(l)}function H(h){var l=h.completion||{};l.type="normal",delete l.arg,h.completion=l}function X(h){this.tryEntries=[{tryLoc:"root"}],h.forEach(W,this),this.reset(!0)}function j(h){if(h){var l=h[i];if(l)return l.call(h);if(typeof h.next=="function")return h;if(!isNaN(h.length)){var p=-1,_=function g(){for(;++p<h.length;)if(r.call(h,p))return g.value=h[p],g.done=!1,g;return g.value=void 0,g.done=!0,g};return _.next=_}}return{next:G}}function G(){return{value:void 0,done:!0}}return E.prototype=A,n(P,"constructor",{value:A,configurable:!0}),n(A,"constructor",{value:E,configurable:!0}),E.displayName=f(A,s,"GeneratorFunction"),e.isGeneratorFunction=function(h){var l=typeof h=="function"&&h.constructor;return!!l&&(l===E||(l.displayName||l.name)==="GeneratorFunction")},e.mark=function(h){return Object.setPrototypeOf?Object.setPrototypeOf(h,A):(h.__proto__=A,f(h,s,"GeneratorFunction")),h.prototype=Object.create(P),h},e.awrap=function(h){return{__await:h}},M(N.prototype),f(N.prototype,a,function(){return this}),e.AsyncIterator=N,e.async=function(h,l,p,_,g){g===void 0&&(g=Promise);var y=new N(u(h,l,p,_),g);return e.isGeneratorFunction(l)?y:y.next().then(function(S){return S.done?S.value:y.next()})},M(P),f(P,s,"Generator"),f(P,i,function(){return this}),f(P,"toString",function(){return"[object Generator]"}),e.keys=function(h){var l=Object(h),p=[];for(var _ in l)p.push(_);return p.reverse(),function g(){for(;p.length;){var y=p.pop();if(y in l)return g.value=y,g.done=!1,g}return g.done=!0,g}},e.values=j,X.prototype={constructor:X,reset:function(l){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(H),!l)for(var p in this)p.charAt(0)==="t"&&r.call(this,p)&&!isNaN(+p.slice(1))&&(this[p]=void 0)},stop:function(){this.done=!0;var l=this.tryEntries[0].completion;if(l.type==="throw")throw l.arg;return this.rval},dispatchException:function(l){if(this.done)throw l;var p=this;function _(U,D){return S.type="throw",S.arg=l,p.next=U,D&&(p.method="next",p.arg=void 0),!!D}for(var g=this.tryEntries.length-1;g>=0;--g){var y=this.tryEntries[g],S=y.completion;if(y.tryLoc==="root")return _("end");if(y.tryLoc<=this.prev){var I=r.call(y,"catchLoc"),w=r.call(y,"finallyLoc");if(I&&w){if(this.prev<y.catchLoc)return _(y.catchLoc,!0);if(this.prev<y.finallyLoc)return _(y.finallyLoc)}else if(I){if(this.prev<y.catchLoc)return _(y.catchLoc,!0)}else{if(!w)throw new Error("try statement without catch or finally");if(this.prev<y.finallyLoc)return _(y.finallyLoc)}}}},abrupt:function(l,p){for(var _=this.tryEntries.length-1;_>=0;--_){var g=this.tryEntries[_];if(g.tryLoc<=this.prev&&r.call(g,"finallyLoc")&&this.prev<g.finallyLoc){var y=g;break}}y&&(l==="break"||l==="continue")&&y.tryLoc<=p&&p<=y.finallyLoc&&(y=null);var S=y?y.completion:{};return S.type=l,S.arg=p,y?(this.method="next",this.next=y.finallyLoc,m):this.complete(S)},complete:function(l,p){if(l.type==="throw")throw l.arg;return l.type==="break"||l.type==="continue"?this.next=l.arg:l.type==="return"?(this.rval=this.arg=l.arg,this.method="return",this.next="end"):l.type==="normal"&&p&&(this.next=p),m},finish:function(l){for(var p=this.tryEntries.length-1;p>=0;--p){var _=this.tryEntries[p];if(_.finallyLoc===l)return this.complete(_.completion,_.afterLoc),H(_),m}},catch:function(l){for(var p=this.tryEntries.length-1;p>=0;--p){var _=this.tryEntries[p];if(_.tryLoc===l){var g=_.completion;if(g.type==="throw"){var y=g.arg;H(_)}return y}}throw new Error("illegal catch attempt")},delegateYield:function(l,p,_){return this.delegate={iterator:j(l),resultName:p,nextLoc:_},this.method==="next"&&(this.arg=void 0),m}},e}function id(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function ad(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?id(Object(r),!0).forEach(function(n){e0(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):id(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function e0(e,t,r){return t=t0(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function t0(e){var t=r0(e,"string");return Jt(t)==="symbol"?t:String(t)}function r0(e,t){if(Jt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Jt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function fd(e,t,r,n,o,i,a){try{var s=e[i](a),f=s.value}catch(u){r(u);return}s.done?t(f):Promise.resolve(f).then(n,o)}function n0(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(f){fd(i,n,o,a,s,"next",f)}function s(f){fd(i,n,o,a,s,"throw",f)}a(void 0)})}}var o0={spector:x.get("spector")||x.get("inspect")},i0="https://spectorcdn.babylonjs.com/spector.bundle.js",a0=1,me=null,sd=!1;function cd(e){return tf.apply(this,arguments)}function tf(){return tf=n0(ef().mark(function e(t){return ef().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(globalThis.SPECTOR){n.next=9;break}return n.prev=1,n.next=4,Rr(i0);case 4:n.next=9;break;case 6:n.prev=6,n.t0=n.catch(1),x.warn(String(n.t0));case 9:case"end":return n.stop()}},e,null,[[1,6]])})),tf.apply(this,arguments)}function ud(e){var t,r;if(e=ad(ad({},o0),e),!((t=e)!==null&&t!==void 0&&t.spector)||(!me&&globalThis.SPECTOR&&(x.probe(a0,"SPECTOR found and initialized")(),me=new globalThis.SPECTOR.Spector,globalThis.luma&&(globalThis.luma.spector=me)),!me))return null;if(!sd){var n,o;sd=!0,me.spyCanvases(),(n=me)===null||n===void 0||n.onCaptureStarted.add(function(s){return x.info("Spector capture started:",s)()}),(o=me)===null||o===void 0||o.onCapture.add(function(s){var f,u,d;x.info("Spector capture complete:",s)(),(f=me)===null||f===void 0||f.getResultUI(),(u=me)===null||u===void 0||u.resultView.display(),(d=me)===null||d===void 0||d.resultView.addCapture(s)})}if((r=e)!==null&&r!==void 0&&r.canvas){var i,a;if(typeof e.spector=="string"&&e.spector!==e.canvas.id)return me;(i=me)===null||i===void 0||i.startCapture((a=e)===null||a===void 0?void 0:a.canvas,500),new Promise(function(s){return setTimeout(s,2e3)}).then(function(s){var f;x.info("Spector capture stopped after 2 seconds")(),(f=me)===null||f===void 0||f.stopCapture()})}return me}function er(e){return er=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},er(e)}function nf(){"use strict";nf=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(h,l,p){h[l]=p.value},o=typeof Symbol=="function"?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function f(h,l,p){return Object.defineProperty(h,l,{value:p,enumerable:!0,configurable:!0,writable:!0}),h[l]}try{f({},"")}catch{f=function(p,_,g){return p[_]=g}}function u(h,l,p,_){var g=l&&l.prototype instanceof v?l:v,y=Object.create(g.prototype),S=new X(_||[]);return n(y,"_invoke",{value:B(h,p,S)}),y}function d(h,l,p){try{return{type:"normal",arg:h.call(l,p)}}catch(_){return{type:"throw",arg:_}}}e.wrap=u;var m={};function v(){}function E(){}function A(){}var T={};f(T,i,function(){return this});var O=Object.getPrototypeOf,R=O&&O(O(j([])));R&&R!==t&&r.call(R,i)&&(T=R);var P=A.prototype=v.prototype=Object.create(T);function M(h){["next","throw","return"].forEach(function(l){f(h,l,function(p){return this._invoke(l,p)})})}function N(h,l){function p(g,y,S,I){var w=d(h[g],h,y);if(w.type!=="throw"){var U=w.arg,D=U.value;return D&&er(D)=="object"&&r.call(D,"__await")?l.resolve(D.__await).then(function(V){p("next",V,S,I)},function(V){p("throw",V,S,I)}):l.resolve(D).then(function(V){U.value=V,S(U)},function(V){return p("throw",V,S,I)})}I(w.arg)}var _;n(this,"_invoke",{value:function(y,S){function I(){return new l(function(w,U){p(y,S,w,U)})}return _=_?_.then(I,I):I()}})}function B(h,l,p){var _="suspendedStart";return function(g,y){if(_==="executing")throw new Error("Generator is already running");if(_==="completed"){if(g==="throw")throw y;return G()}for(p.method=g,p.arg=y;;){var S=p.delegate;if(S){var I=F(S,p);if(I){if(I===m)continue;return I}}if(p.method==="next")p.sent=p._sent=p.arg;else if(p.method==="throw"){if(_==="suspendedStart")throw _="completed",p.arg;p.dispatchException(p.arg)}else p.method==="return"&&p.abrupt("return",p.arg);_="executing";var w=d(h,l,p);if(w.type==="normal"){if(_=p.done?"completed":"suspendedYield",w.arg===m)continue;return{value:w.arg,done:p.done}}w.type==="throw"&&(_="completed",p.method="throw",p.arg=w.arg)}}}function F(h,l){var p=l.method,_=h.iterator[p];if(_===void 0)return l.delegate=null,p==="throw"&&h.iterator.return&&(l.method="return",l.arg=void 0,F(h,l),l.method==="throw")||p!=="return"&&(l.method="throw",l.arg=new TypeError("The iterator does not provide a '"+p+"' method")),m;var g=d(_,h.iterator,l.arg);if(g.type==="throw")return l.method="throw",l.arg=g.arg,l.delegate=null,m;var y=g.arg;return y?y.done?(l[h.resultName]=y.value,l.next=h.nextLoc,l.method!=="return"&&(l.method="next",l.arg=void 0),l.delegate=null,m):y:(l.method="throw",l.arg=new TypeError("iterator result is not an object"),l.delegate=null,m)}function W(h){var l={tryLoc:h[0]};1 in h&&(l.catchLoc=h[1]),2 in h&&(l.finallyLoc=h[2],l.afterLoc=h[3]),this.tryEntries.push(l)}function H(h){var l=h.completion||{};l.type="normal",delete l.arg,h.completion=l}function X(h){this.tryEntries=[{tryLoc:"root"}],h.forEach(W,this),this.reset(!0)}function j(h){if(h){var l=h[i];if(l)return l.call(h);if(typeof h.next=="function")return h;if(!isNaN(h.length)){var p=-1,_=function g(){for(;++p<h.length;)if(r.call(h,p))return g.value=h[p],g.done=!1,g;return g.value=void 0,g.done=!0,g};return _.next=_}}return{next:G}}function G(){return{value:void 0,done:!0}}return E.prototype=A,n(P,"constructor",{value:A,configurable:!0}),n(A,"constructor",{value:E,configurable:!0}),E.displayName=f(A,s,"GeneratorFunction"),e.isGeneratorFunction=function(h){var l=typeof h=="function"&&h.constructor;return!!l&&(l===E||(l.displayName||l.name)==="GeneratorFunction")},e.mark=function(h){return Object.setPrototypeOf?Object.setPrototypeOf(h,A):(h.__proto__=A,f(h,s,"GeneratorFunction")),h.prototype=Object.create(P),h},e.awrap=function(h){return{__await:h}},M(N.prototype),f(N.prototype,a,function(){return this}),e.AsyncIterator=N,e.async=function(h,l,p,_,g){g===void 0&&(g=Promise);var y=new N(u(h,l,p,_),g);return e.isGeneratorFunction(l)?y:y.next().then(function(S){return S.done?S.value:y.next()})},M(P),f(P,s,"Generator"),f(P,i,function(){return this}),f(P,"toString",function(){return"[object Generator]"}),e.keys=function(h){var l=Object(h),p=[];for(var _ in l)p.push(_);return p.reverse(),function g(){for(;p.length;){var y=p.pop();if(y in l)return g.value=y,g.done=!1,g}return g.done=!0,g}},e.values=j,X.prototype={constructor:X,reset:function(l){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(H),!l)for(var p in this)p.charAt(0)==="t"&&r.call(this,p)&&!isNaN(+p.slice(1))&&(this[p]=void 0)},stop:function(){this.done=!0;var l=this.tryEntries[0].completion;if(l.type==="throw")throw l.arg;return this.rval},dispatchException:function(l){if(this.done)throw l;var p=this;function _(U,D){return S.type="throw",S.arg=l,p.next=U,D&&(p.method="next",p.arg=void 0),!!D}for(var g=this.tryEntries.length-1;g>=0;--g){var y=this.tryEntries[g],S=y.completion;if(y.tryLoc==="root")return _("end");if(y.tryLoc<=this.prev){var I=r.call(y,"catchLoc"),w=r.call(y,"finallyLoc");if(I&&w){if(this.prev<y.catchLoc)return _(y.catchLoc,!0);if(this.prev<y.finallyLoc)return _(y.finallyLoc)}else if(I){if(this.prev<y.catchLoc)return _(y.catchLoc,!0)}else{if(!w)throw new Error("try statement without catch or finally");if(this.prev<y.finallyLoc)return _(y.finallyLoc)}}}},abrupt:function(l,p){for(var _=this.tryEntries.length-1;_>=0;--_){var g=this.tryEntries[_];if(g.tryLoc<=this.prev&&r.call(g,"finallyLoc")&&this.prev<g.finallyLoc){var y=g;break}}y&&(l==="break"||l==="continue")&&y.tryLoc<=p&&p<=y.finallyLoc&&(y=null);var S=y?y.completion:{};return S.type=l,S.arg=p,y?(this.method="next",this.next=y.finallyLoc,m):this.complete(S)},complete:function(l,p){if(l.type==="throw")throw l.arg;return l.type==="break"||l.type==="continue"?this.next=l.arg:l.type==="return"?(this.rval=this.arg=l.arg,this.method="return",this.next="end"):l.type==="normal"&&p&&(this.next=p),m},finish:function(l){for(var p=this.tryEntries.length-1;p>=0;--p){var _=this.tryEntries[p];if(_.finallyLoc===l)return this.complete(_.completion,_.afterLoc),H(_),m}},catch:function(l){for(var p=this.tryEntries.length-1;p>=0;--p){var _=this.tryEntries[p];if(_.tryLoc===l){var g=_.completion;if(g.type==="throw"){var y=g.arg;H(_)}return y}}throw new Error("illegal catch attempt")},delegateYield:function(l,p,_){return this.delegate={iterator:j(l),resultName:p,nextLoc:_},this.method==="next"&&(this.arg=void 0),m}},e}function f0(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=s0(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(u){throw u},f:o}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1207
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,a=!1,s;return{s:function(){r=r.call(e)},n:function(){var u=r.next();return i=u.done,u},e:function(u){a=!0,s=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(a)throw s}}}}function s0(e,t){if(e){if(typeof e=="string")return ld(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ld(e,t)}}function ld(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function pd(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,yd(n.key),n)}}function c0(e,t,r){return t&&pd(e.prototype,t),r&&pd(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function u0(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function hd(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function dd(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?hd(Object(r),!0).forEach(function(n){l0(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):hd(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function l0(e,t,r){return t=yd(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function yd(e){var t=p0(e,"string");return er(t)==="symbol"?t:String(t)}function p0(e,t){if(er(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(er(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function _d(e,t,r,n,o,i,a){try{var s=e[i](a),f=s.value}catch(u){r(u);return}s.done?t(f):Promise.resolve(f).then(n,o)}function h0(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(f){_d(i,n,o,a,s,"next",f)}function s(f){_d(i,n,o,a,s,"throw",f)}a(void 0)})}}var d0="https://unpkg.com/webgl-debug@2.0.1/index.js";function md(e){return e.luma=e.luma||{},e.luma}function gd(){return of.apply(this,arguments)}function of(){return of=h0(nf().mark(function e(){return nf().wrap(function(r){for(;;)switch(r.prev=r.next){case 0:if(!(re()&&!globalThis.WebGLDebugUtils)){r.next=5;break}return globalThis.global=globalThis.global||globalThis,globalThis.global.module={},r.next=5,Rr(d0);case 5:case"end":return r.stop()}},e)})),of.apply(this,arguments)}function vd(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return e?t.debug?y0(e,t):_0(e):null}function _0(e){var t=md(e);return t.realContext?t.realContext:e}function y0(e,t){if(!globalThis.WebGLDebugUtils)return x.warn("webgl-debug not loaded")(),e;var r=md(e);if(r.debugContext)return r.debugContext;globalThis.WebGLDebugUtils.init(dd(dd({},c),e));var n=globalThis.WebGLDebugUtils.makeDebugContext(e,m0.bind(null,t),g0.bind(null,t));for(var o in c)!(o in n)&&typeof c[o]=="number"&&(n[o]=c[o]);var i=c0(function s(){u0(this,s)});Object.setPrototypeOf(n,Object.getPrototypeOf(e)),Object.setPrototypeOf(i,n);var a=Object.create(i);return r.realContext=e,r.debugContext=a,a.debug=!0,a}function rf(e,t){t=Array.from(t).map(function(n){return n===void 0?"undefined":n});var r=globalThis.WebGLDebugUtils.glFunctionArgsToString(e,t);return r="".concat(r.slice(0,100)).concat(r.length>100?"...":""),"gl.".concat(e,"(").concat(r,")")}function m0(e,t,r,n){n=Array.from(n).map(function(f){return f===void 0?"undefined":f});var o=globalThis.WebGLDebugUtils.glEnumToString(t),i=globalThis.WebGLDebugUtils.glFunctionArgsToString(r,n),a=e.webgl2?"gl2":"gl1",s="".concat(o," in ").concat(a,".").concat(r,"(").concat(i,")");x.error(s)();debugger;if(e.throwOnError)throw new Error(s)}function g0(e,t,r){var n="";if(x.level>=1&&(n=rf(t,r),x.log(1,n)()),e.break&&e.break.length>0){n=n||rf(t,r);var o=e.break.every(function(f){return n.indexOf(f)!==-1});if(o)debugger}var i=f0(r),a;try{for(i.s();!(a=i.n()).done;){var s=a.value;if(s===void 0){if(n=n||rf(t,r),e.throwOnError)throw new Error("Undefined argument: ".concat(n));x.error("Undefined argument: ".concat(n))();debugger}}}catch(f){i.e(f)}finally{i.f()}}function v0(e){return Sd(e)||b0(e)||af(e)||Ad()}function b0(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function E0(e,t){return Sd(e)||A0(e,t)||af(e,t)||Ad()}function Ad(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1208
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function A0(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,a,s=[],f=!0,u=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);f=!0);}catch(d){u=!0,o=d}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}function Sd(e){if(Array.isArray(e))return e}function S0(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=af(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(u){throw u},f:o}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1209
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,a=!1,s;return{s:function(){r=r.call(e)},n:function(){var u=r.next();return i=u.done,u},e:function(u){a=!0,s=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(a)throw s}}}}function af(e,t){if(e){if(typeof e=="string")return bd(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return bd(e,t)}}function bd(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Td(e){var t=e.split(/\r?\n/),r=[],n=S0(t),o;try{for(n.s();!(o=n.n()).done;){var i=o.value;if(!(i.length<=1)){var a=i.split(":");if(a.length===2){var s=E0(a,2),f=s[0],u=s[1];r.push({message:u.trim(),type:Ed(f),lineNum:0,linePos:0});continue}var d=v0(a),m=d[0],v=d[1],E=d[2],A=d.slice(3),T=parseInt(E,10);isNaN(T)&&(T=0);var O=parseInt(v,10);isNaN(O)&&(O=0),r.push({message:A.join(":").trim(),type:Ed(m),lineNum:T,linePos:O})}}}catch(R){n.e(R)}finally{n.f()}return r}function Ed(e){var t=["warning","error","info"],r=e.toLowerCase();return t.includes(r)?r:"info"}function lt(e){return lt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},lt(e)}function ff(){"use strict";ff=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(h,l,p){h[l]=p.value},o=typeof Symbol=="function"?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function f(h,l,p){return Object.defineProperty(h,l,{value:p,enumerable:!0,configurable:!0,writable:!0}),h[l]}try{f({},"")}catch{f=function(p,_,g){return p[_]=g}}function u(h,l,p,_){var g=l&&l.prototype instanceof v?l:v,y=Object.create(g.prototype),S=new X(_||[]);return n(y,"_invoke",{value:B(h,p,S)}),y}function d(h,l,p){try{return{type:"normal",arg:h.call(l,p)}}catch(_){return{type:"throw",arg:_}}}e.wrap=u;var m={};function v(){}function E(){}function A(){}var T={};f(T,i,function(){return this});var O=Object.getPrototypeOf,R=O&&O(O(j([])));R&&R!==t&&r.call(R,i)&&(T=R);var P=A.prototype=v.prototype=Object.create(T);function M(h){["next","throw","return"].forEach(function(l){f(h,l,function(p){return this._invoke(l,p)})})}function N(h,l){function p(g,y,S,I){var w=d(h[g],h,y);if(w.type!=="throw"){var U=w.arg,D=U.value;return D&&lt(D)=="object"&&r.call(D,"__await")?l.resolve(D.__await).then(function(V){p("next",V,S,I)},function(V){p("throw",V,S,I)}):l.resolve(D).then(function(V){U.value=V,S(U)},function(V){return p("throw",V,S,I)})}I(w.arg)}var _;n(this,"_invoke",{value:function(y,S){function I(){return new l(function(w,U){p(y,S,w,U)})}return _=_?_.then(I,I):I()}})}function B(h,l,p){var _="suspendedStart";return function(g,y){if(_==="executing")throw new Error("Generator is already running");if(_==="completed"){if(g==="throw")throw y;return G()}for(p.method=g,p.arg=y;;){var S=p.delegate;if(S){var I=F(S,p);if(I){if(I===m)continue;return I}}if(p.method==="next")p.sent=p._sent=p.arg;else if(p.method==="throw"){if(_==="suspendedStart")throw _="completed",p.arg;p.dispatchException(p.arg)}else p.method==="return"&&p.abrupt("return",p.arg);_="executing";var w=d(h,l,p);if(w.type==="normal"){if(_=p.done?"completed":"suspendedYield",w.arg===m)continue;return{value:w.arg,done:p.done}}w.type==="throw"&&(_="completed",p.method="throw",p.arg=w.arg)}}}function F(h,l){var p=l.method,_=h.iterator[p];if(_===void 0)return l.delegate=null,p==="throw"&&h.iterator.return&&(l.method="return",l.arg=void 0,F(h,l),l.method==="throw")||p!=="return"&&(l.method="throw",l.arg=new TypeError("The iterator does not provide a '"+p+"' method")),m;var g=d(_,h.iterator,l.arg);if(g.type==="throw")return l.method="throw",l.arg=g.arg,l.delegate=null,m;var y=g.arg;return y?y.done?(l[h.resultName]=y.value,l.next=h.nextLoc,l.method!=="return"&&(l.method="next",l.arg=void 0),l.delegate=null,m):y:(l.method="throw",l.arg=new TypeError("iterator result is not an object"),l.delegate=null,m)}function W(h){var l={tryLoc:h[0]};1 in h&&(l.catchLoc=h[1]),2 in h&&(l.finallyLoc=h[2],l.afterLoc=h[3]),this.tryEntries.push(l)}function H(h){var l=h.completion||{};l.type="normal",delete l.arg,h.completion=l}function X(h){this.tryEntries=[{tryLoc:"root"}],h.forEach(W,this),this.reset(!0)}function j(h){if(h){var l=h[i];if(l)return l.call(h);if(typeof h.next=="function")return h;if(!isNaN(h.length)){var p=-1,_=function g(){for(;++p<h.length;)if(r.call(h,p))return g.value=h[p],g.done=!1,g;return g.value=void 0,g.done=!0,g};return _.next=_}}return{next:G}}function G(){return{value:void 0,done:!0}}return E.prototype=A,n(P,"constructor",{value:A,configurable:!0}),n(A,"constructor",{value:E,configurable:!0}),E.displayName=f(A,s,"GeneratorFunction"),e.isGeneratorFunction=function(h){var l=typeof h=="function"&&h.constructor;return!!l&&(l===E||(l.displayName||l.name)==="GeneratorFunction")},e.mark=function(h){return Object.setPrototypeOf?Object.setPrototypeOf(h,A):(h.__proto__=A,f(h,s,"GeneratorFunction")),h.prototype=Object.create(P),h},e.awrap=function(h){return{__await:h}},M(N.prototype),f(N.prototype,a,function(){return this}),e.AsyncIterator=N,e.async=function(h,l,p,_,g){g===void 0&&(g=Promise);var y=new N(u(h,l,p,_),g);return e.isGeneratorFunction(l)?y:y.next().then(function(S){return S.done?S.value:y.next()})},M(P),f(P,s,"Generator"),f(P,i,function(){return this}),f(P,"toString",function(){return"[object Generator]"}),e.keys=function(h){var l=Object(h),p=[];for(var _ in l)p.push(_);return p.reverse(),function g(){for(;p.length;){var y=p.pop();if(y in l)return g.value=y,g.done=!1,g}return g.done=!0,g}},e.values=j,X.prototype={constructor:X,reset:function(l){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(H),!l)for(var p in this)p.charAt(0)==="t"&&r.call(this,p)&&!isNaN(+p.slice(1))&&(this[p]=void 0)},stop:function(){this.done=!0;var l=this.tryEntries[0].completion;if(l.type==="throw")throw l.arg;return this.rval},dispatchException:function(l){if(this.done)throw l;var p=this;function _(U,D){return S.type="throw",S.arg=l,p.next=U,D&&(p.method="next",p.arg=void 0),!!D}for(var g=this.tryEntries.length-1;g>=0;--g){var y=this.tryEntries[g],S=y.completion;if(y.tryLoc==="root")return _("end");if(y.tryLoc<=this.prev){var I=r.call(y,"catchLoc"),w=r.call(y,"finallyLoc");if(I&&w){if(this.prev<y.catchLoc)return _(y.catchLoc,!0);if(this.prev<y.finallyLoc)return _(y.finallyLoc)}else if(I){if(this.prev<y.catchLoc)return _(y.catchLoc,!0)}else{if(!w)throw new Error("try statement without catch or finally");if(this.prev<y.finallyLoc)return _(y.finallyLoc)}}}},abrupt:function(l,p){for(var _=this.tryEntries.length-1;_>=0;--_){var g=this.tryEntries[_];if(g.tryLoc<=this.prev&&r.call(g,"finallyLoc")&&this.prev<g.finallyLoc){var y=g;break}}y&&(l==="break"||l==="continue")&&y.tryLoc<=p&&p<=y.finallyLoc&&(y=null);var S=y?y.completion:{};return S.type=l,S.arg=p,y?(this.method="next",this.next=y.finallyLoc,m):this.complete(S)},complete:function(l,p){if(l.type==="throw")throw l.arg;return l.type==="break"||l.type==="continue"?this.next=l.arg:l.type==="return"?(this.rval=this.arg=l.arg,this.method="return",this.next="end"):l.type==="normal"&&p&&(this.next=p),m},finish:function(l){for(var p=this.tryEntries.length-1;p>=0;--p){var _=this.tryEntries[p];if(_.finallyLoc===l)return this.complete(_.completion,_.afterLoc),H(_),m}},catch:function(l){for(var p=this.tryEntries.length-1;p>=0;--p){var _=this.tryEntries[p];if(_.tryLoc===l){var g=_.completion;if(g.type==="throw"){var y=g.arg;H(_)}return y}}throw new Error("illegal catch attempt")},delegateYield:function(l,p,_){return this.delegate={iterator:j(l),resultName:p,nextLoc:_},this.method==="next"&&(this.arg=void 0),m}},e}function Rd(e,t,r,n,o,i,a){try{var s=e[i](a),f=s.value}catch(u){r(u);return}s.done?t(f):Promise.resolve(f).then(n,o)}function T0(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(f){Rd(i,n,o,a,s,"next",f)}function s(f){Rd(i,n,o,a,s,"throw",f)}a(void 0)})}}function Od(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,O0(n.key),n)}}function R0(e,t,r){return t&&Od(e.prototype,t),r&&Od(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function O0(e){var t=P0(e,"string");return lt(t)==="symbol"?t:String(t)}function P0(e,t){if(lt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(lt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function I0(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function N0(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&sf(e,t)}function sf(e,t){return sf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},sf(e,t)}function w0(e){var t=C0();return function(){var n=Zo(e),o;if(t){var i=Zo(this).constructor;o=Reflect.construct(n,arguments,i)}else o=n.apply(this,arguments);return M0(this,o)}}function M0(e,t){if(t&&(lt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return x0(e)}function x0(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function C0(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Zo(e){return Zo=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Zo(e)}var Pd=function(e){N0(r,e);var t=w0(r);function r(o,i){var a;switch(I0(this,r),a=t.call(this,o,i),a.device=void 0,a.handle=void 0,a.device=o,a.props.stage){case"vertex":a.handle=a.props.handle||a.device.gl.createShader(c.VERTEX_SHADER);break;case"fragment":a.handle=a.props.handle||a.device.gl.createShader(c.FRAGMENT_SHADER);break;default:throw new Error(a.props.stage)}return a._compile(a.source),a}var n=r.prototype;return n.destroy=function(){this.handle&&(this.removeStats(),this.device.gl.deleteShader(this.handle),this.destroyed=!0)},n.getCompilationInfo=function(){var o=T0(ff().mark(function a(){return ff().wrap(function(f){for(;;)switch(f.prev=f.next){case 0:return f.abrupt("return",this.getCompilationInfoSync());case 1:case"end":return f.stop()}},a,this)}));function i(){return o.apply(this,arguments)}return i}(),n.getCompilationInfoSync=function(){var i=this.device.gl.getShaderInfoLog(this.handle);return Td(i)},n._compile=function(i){var a=function(u){return u.startsWith("#version ")?u:`#version 100
1210
- `.concat(u)};i=a(i);var s=this.device.gl;if(s.shaderSource(this.handle,i),s.compileShader(this.handle),this.compilationStatus=s.getShaderParameter(this.handle,c.COMPILE_STATUS)?"success":"error",this.debugShader(),this.compilationStatus==="error")throw new Error("GLSL compilation errors in ".concat(this.props.stage," shader ").concat(this.props.id))},R0(r)}(Vn);function tr(e){return tr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},tr(e)}function Id(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function F0(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Id(Object(r),!0).forEach(function(n){B0(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Id(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function B0(e,t,r){return t=wd(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Nd(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,wd(n.key),n)}}function D0(e,t,r){return t&&Nd(e.prototype,t),r&&Nd(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function wd(e){var t=U0(e,"string");return tr(t)==="symbol"?t:String(t)}function U0(e,t){if(tr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(tr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function L0(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function j0(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&uf(e,t)}function uf(e,t){return uf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},uf(e,t)}function H0(e){var t=W0();return function(){var n=$o(e),o;if(t){var i=$o(this).constructor;o=Reflect.construct(n,arguments,i)}else o=n.apply(this,arguments);return V0(this,o)}}function V0(e,t){if(t&&(tr(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return X0(e)}function X0(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function W0(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function $o(e){return $o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},$o(e)}var G0=256,K0=1024,k0=16384,cf=6144,Md=function(e){j0(r,e);var t=H0(r);function r(o,i){var a;return L0(this,r),a=t.call(this,o,i),a.device=void 0,a.glParameters=void 0,a.device=o,Je(a.device.gl),a.setParameters(a.props.parameters),a.clear(),a}var n=r.prototype;return n.end=function(){He(this.device.gl),this.props.framebuffer&&je(this.device,{framebuffer:null})},n.pushDebugGroup=function(i){},n.popDebugGroup=function(){},n.insertDebugMarker=function(i){},n.setParameters=function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a={};this.props.framebuffer&&(a.framebuffer=this.props.framebuffer),this.props.depthReadOnly&&(a.depthMask=!this.props.depthReadOnly),a.stencilMask=this.props.stencilReadOnly?0:1,a[c.RASTERIZER_DISCARD]=this.props.discard,i.viewport&&(i.viewport.length>=6?(a.viewport=i.viewport.slice(0,4),a.depthRange=[i.viewport[4],i.viewport[5]]):a.viewport=i.viewport),a.scissorTest=Boolean(i.scissorRect),i.scissorRect&&(a.scissor=i.scissorRect),i.blendConstant&&(a.blendColor=i.blendConstant),i.stencilReference&&(console.warn("RenderPassParameters.stencilReference not yet implemented in WebGL"),i[c.STENCIL_REF]=i.stencilReference),this.glParameters=a,je(this.device,a)},n.clear=function(){var i=this,a=F0({},this.glParameters),s=0;this.props.clearColor!==!1&&(s|=k0,a.clearColor=this.props.clearColor),this.props.clearDepth!==!1&&(s|=G0,a.clearDepth=this.props.clearDepth),this.props.clearStencil!==!1&&(s|=K0,a.clearStencil=this.props.clearStencil),s!==0&&et(this.device,a,function(){i.device.gl.clear(s)})},n.clearColorBuffer=function(){var i=this,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0,0,0,0];et(this.device.gl2,{framebuffer:this.props.framebuffer},function(){switch(s.constructor){case Int32Array:i.device.gl2.clearBufferiv(cf,a,s);break;case Uint32Array:i.device.gl2.clearBufferuiv(cf,a,s);break;case Float32Array:default:i.device.gl2.clearBufferfv(cf,a,s);break}})},D0(r)}(zn);function lf(e,t){var r=t||{},n=r.clamped,o=n===void 0?!0:n;switch(e){case c.FLOAT:return Float32Array;case c.UNSIGNED_SHORT:case c.UNSIGNED_SHORT_5_6_5:case c.UNSIGNED_SHORT_4_4_4_4:case c.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;case c.UNSIGNED_INT:return Uint32Array;case c.UNSIGNED_BYTE:return o?Uint8ClampedArray:Uint8Array;case c.BYTE:return Int8Array;case c.SHORT:return Int16Array;case c.INT:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function An(e){return An=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},An(e)}function Qo(e,t,r){return Y0()?Qo=Reflect.construct.bind():Qo=function(o,i,a){var s=[null];s.push.apply(s,i);var f=Function.bind.apply(o,s),u=new f;return a&&pf(u,a.prototype),u},Qo.apply(null,arguments)}function Y0(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function pf(e,t){return pf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},pf(e,t)}function z0(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function xd(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Z0(n.key),n)}}function q0(e,t,r){return t&&xd(e.prototype,t),r&&xd(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Z0(e){var t=$0(e,"string");return An(t)==="symbol"?t:String(t)}function $0(e,t){if(An(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(An(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Q0={offset:0,stride:0,type:c.FLOAT,size:1,divisor:0,normalized:!1,integer:!1},J0={deprecatedProps:{instanced:"divisor",isInstanced:"divisor"}},Cd=function(){e.getBytesPerElement=function(n){var o=lf(n.type||c.FLOAT);return o.BYTES_PER_ELEMENT},e.getBytesPerVertex=function(n){K(n.size);var o=lf(n.type||c.FLOAT);return o.BYTES_PER_ELEMENT*n.size},e.resolve=function(){for(var n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];return Qo(e,[Q0].concat(o))};function e(){var r=this;z0(this,e),this.offset=void 0,this.stride=void 0,this.type=void 0,this.size=void 0,this.divisor=void 0,this.normalized=void 0,this.integer=void 0,this.buffer=void 0,this.index=void 0;for(var n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];o.forEach(function(a){return r._assign(a)}),Object.freeze(this)}var t=e.prototype;return t.toString=function(){return JSON.stringify(this)},t._assign=function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return n=Bi("Accessor",n,J0),n.type!==void 0&&(this.type=n.type,(n.type===c.INT||n.type===c.UNSIGNED_INT)&&(this.integer=!0)),n.size!==void 0&&(this.size=n.size),n.offset!==void 0&&(this.offset=n.offset),n.stride!==void 0&&(this.stride=n.stride),n.normalize!==void 0&&(this.normalized=n.normalize),n.normalized!==void 0&&(this.normalized=n.normalized),n.integer!==void 0&&(this.integer=n.integer),n.divisor!==void 0&&(this.divisor=n.divisor),n.buffer!==void 0&&(this.buffer=n.buffer),n.index!==void 0&&(typeof n.index=="boolean"?this.index=n.index?1:0:this.index=n.index),n.instanced!==void 0&&(this.divisor=n.instanced?1:0),n.isInstanced!==void 0&&(this.divisor=n.isInstanced?1:0),this.offset===void 0&&delete this.offset,this.stride===void 0&&delete this.stride,this.type===void 0&&delete this.type,this.size===void 0&&delete this.size,this.divisor===void 0&&delete this.divisor,this.normalized===void 0&&delete this.normalized,this.integer===void 0&&delete this.integer,this.buffer===void 0&&delete this.buffer,this.index===void 0&&delete this.index,this},q0(e,[{key:"BYTES_PER_ELEMENT",get:function(){return e.getBytesPerElement(this)}},{key:"BYTES_PER_VERTEX",get:function(){return e.getBytesPerVertex(this)}}]),e}();var ee;function Sn(e){return Sn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Sn(e)}function Bd(e,t){return nP(e)||rP(e,t)||tP(e,t)||eP()}function eP(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1211
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function tP(e,t){if(e){if(typeof e=="string")return Fd(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Fd(e,t)}}function Fd(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function rP(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,a,s=[],f=!0,u=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);f=!0);}catch(d){u=!0,o=d}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}function nP(e){if(Array.isArray(e))return e}function ne(e,t,r){return t=oP(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function oP(e){var t=iP(e,"string");return Sn(t)==="symbol"?t:String(t)}function iP(e,t){if(Sn(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Sn(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Dd(e){return aP.includes(e)}var aP=[c.SAMPLER_2D,c.SAMPLER_CUBE,c.SAMPLER_3D,c.SAMPLER_2D_SHADOW,c.SAMPLER_2D_ARRAY,c.SAMPLER_2D_ARRAY_SHADOW,c.SAMPLER_CUBE_SHADOW,c.INT_SAMPLER_2D,c.INT_SAMPLER_3D,c.INT_SAMPLER_CUBE,c.INT_SAMPLER_2D_ARRAY,c.UNSIGNED_INT_SAMPLER_2D,c.UNSIGNED_INT_SAMPLER_3D,c.UNSIGNED_INT_SAMPLER_CUBE,c.UNSIGNED_INT_SAMPLER_2D_ARRAY],Ud=(ee={},ne(ee,c.FLOAT,[c.FLOAT,1,"float","f32","float32"]),ne(ee,c.FLOAT_VEC2,[c.FLOAT,2,"vec2","vec2<f32>","float32x2"]),ne(ee,c.FLOAT_VEC3,[c.FLOAT,3,"vec3","vec3<f32>","float32x3"]),ne(ee,c.FLOAT_VEC4,[c.FLOAT,4,"vec4","vec4<f32>","float32x4"]),ne(ee,c.INT,[c.INT,1,"int","i32","sint32"]),ne(ee,c.INT_VEC2,[c.INT,2,"ivec2","vec2<i32>","sint32x2"]),ne(ee,c.INT_VEC3,[c.INT,3,"ivec3","vec3<i32>","sint32x3"]),ne(ee,c.INT_VEC4,[c.INT,4,"ivec4","vec4<i32>","sint32x4"]),ne(ee,c.UNSIGNED_INT,[c.UNSIGNED_INT,1,"uint","u32","uint32"]),ne(ee,c.UNSIGNED_INT_VEC2,[c.UNSIGNED_INT,2,"uvec2","vec2<u32>","uint32x2"]),ne(ee,c.UNSIGNED_INT_VEC3,[c.UNSIGNED_INT,3,"uvec3","vec3<u32>","uint32x3"]),ne(ee,c.UNSIGNED_INT_VEC4,[c.UNSIGNED_INT,4,"uvec4","vec4<u32>","uint32x4"]),ne(ee,c.BOOL,[c.FLOAT,1,"bool","f32","float32"]),ne(ee,c.BOOL_VEC2,[c.FLOAT,2,"bvec2","vec2<f32>","float32x2"]),ne(ee,c.BOOL_VEC3,[c.FLOAT,3,"bvec3","vec3<f32>","float32x3"]),ne(ee,c.BOOL_VEC4,[c.FLOAT,4,"bvec4","vec4<f32>","float32x4"]),ne(ee,c.FLOAT_MAT2,[c.FLOAT,8,"mat2","mat2x2<f32>"]),ne(ee,c.FLOAT_MAT2x3,[c.FLOAT,8,"mat2x3","mat2x3<f32>"]),ne(ee,c.FLOAT_MAT2x4,[c.FLOAT,8,"mat2x4","mat2x4<f32>"]),ne(ee,c.FLOAT_MAT3x2,[c.FLOAT,12,"mat3x2","mat3x2<f32>"]),ne(ee,c.FLOAT_MAT3,[c.FLOAT,12,"mat3","mat3x3<f32>"]),ne(ee,c.FLOAT_MAT3x4,[c.FLOAT,12,"mat3x4","mat3x4<f32>"]),ne(ee,c.FLOAT_MAT4x2,[c.FLOAT,16,"mat4x2","mat4x2<f32>"]),ne(ee,c.FLOAT_MAT4x3,[c.FLOAT,16,"mat4x3","mat4x3<f32>"]),ne(ee,c.FLOAT_MAT4,[c.FLOAT,16,"mat4","mat4x4<f32>"]),ee);function hf(e){var t=Ud[e];if(!t)throw new Error("uniform");var r=Bd(t,4),n=r[0],o=r[1],i=r[3];return{format:i,components:o,glType:n}}function Ld(e){var t=Ud[e];if(!t)throw new Error("attribute");var r=Bd(t,5),n=r[1],o=r[3],i=r[4],a=o;return{attributeType:a,vertexFormat:i,components:n}}var ue;function Tn(e){return Tn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Tn(e)}function fP(e,t){return lP(e)||uP(e,t)||cP(e,t)||sP()}function sP(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1212
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function cP(e,t){if(e){if(typeof e=="string")return jd(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return jd(e,t)}}function jd(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function uP(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,a,s=[],f=!0,u=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);f=!0);}catch(d){u=!0,o=d}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}function lP(e){if(Array.isArray(e))return e}function Hd(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Vd(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Hd(Object(r),!0).forEach(function(n){he(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Hd(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function he(e,t,r){return t=pP(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function pP(e){var t=hP(e,"string");return Tn(t)==="symbol"?t:String(t)}function hP(e,t){if(Tn(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Tn(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Xd(e,t){var r={attributes:[],bindings:[]};r.attributes=dP(e,t);for(var n=mP(e,t),o=0,i=n;o<i.length;o++){var a=i[o],s=a.uniforms.map(function(R){return{name:R.name,format:R.format,byteOffset:R.byteOffset,byteStride:R.byteStride,arrayLength:R.arrayLength}});r.bindings.push({type:"uniform",name:a.name,location:a.location,visibility:(a.vertex?1:0)&(a.fragment?2:0),minBindingSize:a.byteLength,uniforms:s})}for(var f=yP(e,t),u=0,d=0,m=f;d<m.length;d++){var v=m[d];if(Dd(v.type)){var E=vP(v.type),A=E.viewDimension,T=E.sampleType;r.bindings.push({type:"texture",name:v.name,location:u,viewDimension:A,sampleType:T}),v.textureUnit=u,u+=1}}f.length&&(r.uniforms=f);var O=_P(e,t);return O!=null&&O.length&&(r.varyings=O),r}function dP(e,t){for(var r=[],n=e.getProgramParameter(t,e.ACTIVE_ATTRIBUTES),o=0;o<n;o++){var i=e.getActiveAttrib(t,o);if(!i)throw new Error("activeInfo");var a=i.name,s=i.type,f=e.getAttribLocation(t,a);if(f>=0){var u=Ld(s),d=u.attributeType,m=/instance/i.test(a)?"instance":"vertex";r.push({name:a,location:f,stepMode:m,type:d})}}return r.sort(function(v,E){return v.location-E.location}),r}function _P(e,t){if(!q(e))return[];for(var r=e,n=[],o=e.getProgramParameter(t,c.TRANSFORM_FEEDBACK_VARYINGS),i=0;i<o;i++){var a=r.getTransformFeedbackVarying(t,i);if(!a)throw new Error("activeInfo");var s=a.name,f=a.type,u=a.size,d=hf(f),m=d.glType,v=d.components,E=new Cd({type:m,size:u*v}),A={location:i,name:s,accessor:E};n.push(A)}return n.sort(function(T,O){return T.location-O.location}),n}function yP(e,t){for(var r=[],n=e.getProgramParameter(t,c.ACTIVE_UNIFORMS),o=0;o<n;o++){var i=e.getActiveUniform(t,o);if(!i)throw new Error("activeInfo");var a=i.name,s=i.size,f=i.type,u=bP(a),d=u.name,m=u.isArray,v=e.getUniformLocation(t,d),E={location:v,name:d,size:s,type:f,isArray:m};if(r.push(E),E.size>1)for(var A=0;A<E.size;A++){var T="".concat(d,"[").concat(A,"]");v=e.getUniformLocation(t,T);var O=Vd(Vd({},E),{},{name:T,location:v});r.push(O)}}return r}function mP(e,t){if(!q(e))return[];for(var r=e,n=function(O,R){return r.getActiveUniformBlockParameter(t,O,R)},o=[],i=r.getProgramParameter(t,c.ACTIVE_UNIFORM_BLOCKS),a=0;a<i;a++){for(var s={name:r.getActiveUniformBlockName(t,a)||"",location:n(a,c.UNIFORM_BLOCK_BINDING),byteLength:n(a,c.UNIFORM_BLOCK_DATA_SIZE),vertex:n(a,c.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER),fragment:n(a,c.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER),uniformCount:n(a,c.UNIFORM_BLOCK_ACTIVE_UNIFORMS),uniforms:[]},f=n(a,c.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES)||[],u=r.getActiveUniforms(t,f,c.UNIFORM_TYPE),d=r.getActiveUniforms(t,f,c.UNIFORM_SIZE),m=r.getActiveUniforms(t,f,c.UNIFORM_OFFSET),v=r.getActiveUniforms(t,f,c.UNIFORM_ARRAY_STRIDE),E=0;E<s.uniformCount;++E){var A=r.getActiveUniform(t,f[E]);if(!A)throw new Error("activeInfo");s.uniforms.push({name:A.name,format:hf(u[E]).format,type:u[E],arrayLength:d[E],byteOffset:m[E],byteStride:v[E]})}o.push(s)}return o.sort(function(T,O){return T.location-O.location}),o}var gP=(ue={},he(ue,c.SAMPLER_2D,["2d","float"]),he(ue,c.SAMPLER_CUBE,["cube","float"]),he(ue,c.SAMPLER_3D,["3d","float"]),he(ue,c.SAMPLER_2D_SHADOW,["3d","depth"]),he(ue,c.SAMPLER_2D_ARRAY,["2d-array","float"]),he(ue,c.SAMPLER_2D_ARRAY_SHADOW,["2d-array","depth"]),he(ue,c.SAMPLER_CUBE_SHADOW,["cube","float"]),he(ue,c.INT_SAMPLER_2D,["2d","sint"]),he(ue,c.INT_SAMPLER_3D,["3d","sint"]),he(ue,c.INT_SAMPLER_CUBE,["cube","sint"]),he(ue,c.INT_SAMPLER_2D_ARRAY,["2d-array","uint"]),he(ue,c.UNSIGNED_INT_SAMPLER_2D,["2d","uint"]),he(ue,c.UNSIGNED_INT_SAMPLER_3D,["3d","uint"]),he(ue,c.UNSIGNED_INT_SAMPLER_CUBE,["cube","uint"]),he(ue,c.UNSIGNED_INT_SAMPLER_2D_ARRAY,["2d-array","uint"]),ue);function vP(e){var t=gP[e];if(!t)throw new Error("sampler");var r=fP(t,2),n=r[0],o=r[1];return{viewDimension:n,sampleType:o}}function bP(e){if(e[e.length-1]!=="]")return{name:e,length:1,isArray:!1};var t=/([^[]*)(\[[0-9]+\])?/,r=t.exec(e);if(!r||r.length<2)throw new Error("Failed to parse GLSL uniform name ".concat(e));return{name:r[1],length:r[2]?1:0,isArray:Boolean(r[2])}}function Wd(e,t,r,n){var o=e,i=n;i===!0&&(i=1),i===!1&&(i=0);var a=typeof i=="number"?[i]:i;switch(r){case c.SAMPLER_2D:case c.SAMPLER_CUBE:case c.SAMPLER_3D:case c.SAMPLER_2D_SHADOW:case c.SAMPLER_2D_ARRAY:case c.SAMPLER_2D_ARRAY_SHADOW:case c.SAMPLER_CUBE_SHADOW:case c.INT_SAMPLER_2D:case c.INT_SAMPLER_3D:case c.INT_SAMPLER_CUBE:case c.INT_SAMPLER_2D_ARRAY:case c.UNSIGNED_INT_SAMPLER_2D:case c.UNSIGNED_INT_SAMPLER_3D:case c.UNSIGNED_INT_SAMPLER_CUBE:case c.UNSIGNED_INT_SAMPLER_2D_ARRAY:if(typeof n!="number")throw new Error("samplers must be set to integers");return e.uniform1i(t,n);case c.FLOAT:return e.uniform1fv(t,a);case c.FLOAT_VEC2:return e.uniform2fv(t,a);case c.FLOAT_VEC3:return e.uniform3fv(t,a);case c.FLOAT_VEC4:return e.uniform4fv(t,a);case c.INT:return e.uniform1iv(t,a);case c.INT_VEC2:return e.uniform2iv(t,a);case c.INT_VEC3:return e.uniform3iv(t,a);case c.INT_VEC4:return e.uniform4iv(t,a);case c.BOOL:return e.uniform1iv(t,a);case c.BOOL_VEC2:return e.uniform2iv(t,a);case c.BOOL_VEC3:return e.uniform3iv(t,a);case c.BOOL_VEC4:return e.uniform4iv(t,a);case c.UNSIGNED_INT:return o.uniform1uiv(t,a,1);case c.UNSIGNED_INT_VEC2:return o.uniform2uiv(t,a,2);case c.UNSIGNED_INT_VEC3:return o.uniform3uiv(t,a,3);case c.UNSIGNED_INT_VEC4:return o.uniform4uiv(t,a,4);case c.FLOAT_MAT2:return e.uniformMatrix2fv(t,!1,a);case c.FLOAT_MAT3:return e.uniformMatrix3fv(t,!1,a);case c.FLOAT_MAT4:return e.uniformMatrix4fv(t,!1,a);case c.FLOAT_MAT2x3:return o.uniformMatrix2x3fv(t,!1,a);case c.FLOAT_MAT2x4:return o.uniformMatrix2x4fv(t,!1,a);case c.FLOAT_MAT3x2:return o.uniformMatrix3x2fv(t,!1,a);case c.FLOAT_MAT3x4:return o.uniformMatrix3x4fv(t,!1,a);case c.FLOAT_MAT4x2:return o.uniformMatrix4x2fv(t,!1,a);case c.FLOAT_MAT4x3:return o.uniformMatrix4x3fv(t,!1,a)}throw new Error("Illegal uniform")}function Gd(e){switch(e){case"point-list":return c.POINTS;case"line-list":return c.LINES;case"line-strip":return c.LINE_STRIP;case"line-loop-webgl":return c.LINE_LOOP;case"triangle-list":return c.TRIANGLES;case"triangle-strip":return c.TRIANGLE_STRIP;case"triangle-fan-webgl":return c.TRIANGLE_FAN;default:throw new Error(e)}}function Kd(e){switch(e){case"point-list":return c.POINTS;case"line-list":return c.LINES;case"line-strip":return c.LINES;case"line-loop-webgl":return c.LINES;case"triangle-list":return c.TRIANGLES;case"triangle-strip":return c.TRIANGLES;case"triangle-fan-webgl":return c.TRIANGLES;default:throw new Error(e)}}function rr(e){return rr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},rr(e)}function kd(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=$d(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(u){throw u},f:o}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1213
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,a=!1,s;return{s:function(){r=r.call(e)},n:function(){var u=r.next();return i=u.done,u},e:function(u){a=!0,s=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(a)throw s}}}}function Yd(e,t){return SP(e)||AP(e,t)||$d(e,t)||EP()}function EP(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1214
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function $d(e,t){if(e){if(typeof e=="string")return zd(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return zd(e,t)}}function zd(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function AP(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,a,s=[],f=!0,u=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);f=!0);}catch(d){u=!0,o=d}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}function SP(e){if(Array.isArray(e))return e}function qd(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,RP(n.key),n)}}function TP(e,t,r){return t&&qd(e.prototype,t),r&&qd(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function RP(e){var t=OP(e,"string");return rr(t)==="symbol"?t:String(t)}function OP(e,t){if(rr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(rr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function PP(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function IP(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&df(e,t)}function df(e,t){return df=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},df(e,t)}function NP(e){var t=xP();return function(){var n=Jo(e),o;if(t){var i=Jo(this).constructor;o=Reflect.construct(n,arguments,i)}else o=n.apply(this,arguments);return wP(this,o)}}function wP(e,t){if(t&&(rr(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return MP(e)}function MP(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function xP(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Jo(e){return Jo=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Jo(e)}var Zd=4,Qd=function(e){IP(r,e);var t=NP(r);function r(o,i){var a;PP(this,r),a=t.call(this,o,i),a.device=void 0,a.handle=void 0,a.vs=void 0,a.fs=void 0,a.introspectedLayout=void 0,a.uniforms={},a.bindings={},a.varyings=null,a._uniformCount=0,a._uniformSetters={},a.device=o,a.handle=a.props.handle||a.device.gl.createProgram(),a.device.setSpectorMetadata(a.handle,{id:a.props.id}),a.vs=i.vs,a.fs=i.fs;var s=i.varyings,f=i.bufferMode,u=f===void 0?c.SEPARATE_ATTRIBS:f;if(s&&s.length>0){var d;a.device.assertWebGL2(),a.varyings=s,(d=a.device.gl2)===null||d===void 0||d.transformFeedbackVaryings(a.handle,s,u)}return a._compileAndLink(),a.introspectedLayout=Xd(a.device.gl,a.handle),a.shaderLayout=Oi(a.introspectedLayout,i.shaderLayout),a}var n=r.prototype;return n.destroy=function(){this.handle&&(this.device.gl.deleteProgram(this.handle),this.destroyed=!0)},n.setBindings=function(i){for(var a=this,s=function(){var v=Yd(u[f],2),E=v[0],A=v[1],T=a.shaderLayout.bindings.find(function(R){return R.name===E})||a.shaderLayout.bindings.find(function(R){return R.name==="".concat(E,"Uniforms")});if(!T){var O=a.shaderLayout.bindings.map(function(R){return'"'.concat(R.name,'"')}).join(", ");return x.warn('Unknown binding "'.concat(E,'" in render pipeline "').concat(a.id,'", expected one of ').concat(O))(),"continue"}switch(A||x.warn('Unsetting binding "'.concat(E,'" in render pipeline "').concat(a.id,'"'))(),T.type){case"uniform":if(!(A instanceof Ee)&&!(A.buffer instanceof Ee))throw new Error("buffer value");break;case"texture":if(!(A instanceof Ae||A instanceof rt))throw new Error("texture value");break;case"sampler":x.warn("Ignoring sampler ".concat(E))();break;default:throw new Error(T.type)}a.bindings[E]=A},f=0,u=Object.entries(i);f<u.length;f++)var d=s()},n.setUniforms=function(i){var a=Sr(i),s=a.bindings;Object.keys(s).forEach(function(f){x.warn('Unsupported value "'.concat(JSON.stringify(s[f]),'" used in setUniforms() for key ').concat(f,". Use setBindings() instead?"))()}),Object.assign(this.uniforms,i)},n.draw=function(i){var a,s=this,f=i.renderPass,u=i.vertexArray,d=i.vertexCount,m=i.instanceCount,v=i.firstVertex,E=v===void 0?0:v,A=i.transformFeedback,T=Gd(this.props.topology),O=Boolean(u.indexBuffer),R=(a=u.indexBuffer)===null||a===void 0?void 0:a.glIndexType,P=Number(m)>0;if(!this._areTexturesRenderable()||d===0)return!1;this.device.gl.useProgram(this.handle),u.bindBeforeRender(f),A&&A.begin(this.props.topology),this._applyBindings(),this._applyUniforms();var M=f;return Ph(this.device,this.props.parameters,M.glParameters,function(){if(O&&P){var N;(N=s.device.gl2)===null||N===void 0||N.drawElementsInstanced(T,d||0,R,E,m||0)}else if(O)s.device.gl.drawElements(T,d||0,R,E);else if(P){var B;(B=s.device.gl2)===null||B===void 0||B.drawArraysInstanced(T,E,d||0,m||0)}else s.device.gl.drawArrays(T,E,d||0);A&&A.end()}),u.unbindAfterRender(f),!0},n._compileAndLink=function(){var i=this.device.gl;i.attachShader(this.handle,this.vs.handle),i.attachShader(this.handle,this.fs.handle),x.time(Zd,"linkProgram for ".concat(this.id))(),i.linkProgram(this.handle),x.timeEnd(Zd,"linkProgram for ".concat(this.id))(),!i.debug&&x.level;var a=i.getProgramParameter(this.handle,i.LINK_STATUS);if(!a)throw new Error("Error linking: ".concat(i.getProgramInfoLog(this.handle)));i.validateProgram(this.handle);var s=i.getProgramParameter(this.handle,i.VALIDATE_STATUS);if(!s)throw new Error("Error validating: ".concat(i.getProgramInfoLog(this.handle)))},n._areTexturesRenderable=function(){for(var i=!0,a=0,s=Object.entries(this.bindings);a<s.length;a++){var f=Yd(s[a],2),u=f[1];u instanceof Ae&&(u.update(),i=i&&u.loaded)}return i},n._applyBindings=function(){this.device.gl.useProgram(this.handle);var i=this.device.gl2;if(!i)throw new Error("bindings");var a=0,s=0,f=kd(this.shaderLayout.bindings),u;try{for(f.s();!(u=f.n()).done;){var d=u.value,m=this.bindings[d.name]||this.bindings[d.name.replace(/Uniforms$/,"")];if(!m)throw new Error("No value for binding ".concat(d.name," in ").concat(this.id));switch(d.type){case"uniform":var v=d.name,E=i.getUniformBlockIndex(this.handle,v);if(E===c.INVALID_INDEX)throw new Error("Invalid uniform block name ".concat(v));i.uniformBlockBinding(this.handle,s,E),m instanceof Ee?i.bindBufferBase(c.UNIFORM_BUFFER,s,m.handle):i.bindBufferRange(c.UNIFORM_BUFFER,s,m.buffer.handle,m.offset||0,m.size||m.buffer.byteLength-m.offset),s+=1;break;case"texture":if(!(m instanceof Ae||m instanceof rt))throw new Error("texture");var A=void 0;if(m instanceof Ae)A=m;else if(m instanceof rt&&m.colorAttachments[0]instanceof Ae)x.warn("Passing framebuffer in texture binding may be deprecated. Use fbo.colorAttachments[0] instead")(),A=m.colorAttachments[0];else throw new Error("No texture");i.activeTexture(c.TEXTURE0+a),i.bindTexture(A.target,A.handle),a+=1;break;case"sampler":break;case"storage":case"read-only-storage":throw new Error("binding type '".concat(d.type,"' not supported in WebGL"))}}}catch(T){f.e(T)}finally{f.f()}},n._applyUniforms=function(){var i=kd(this.shaderLayout.uniforms||[]),a;try{for(i.s();!(a=i.n()).done;){var s,f=a.value,u=f.name,d=f.location,m=f.type,v=f.textureUnit,E=(s=this.uniforms[u])!==null&&s!==void 0?s:v;E!==void 0&&Wd(this.device.gl,d,m,E)}}catch(A){i.e(A)}finally{i.f()}},TP(r)}(ke);function nr(e){return nr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},nr(e)}function CP(e,t){return DP(e)||BP(e,t)||t_(e,t)||FP()}function FP(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1215
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function BP(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,a,s=[],f=!0,u=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);f=!0);}catch(d){u=!0,o=d}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}function DP(e){if(Array.isArray(e))return e}function UP(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=t_(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(u){throw u},f:o}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1216
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,a=!1,s;return{s:function(){r=r.call(e)},n:function(){var u=r.next();return i=u.done,u},e:function(u){a=!0,s=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(a)throw s}}}}function t_(e,t){if(e){if(typeof e=="string")return Jd(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Jd(e,t)}}function Jd(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function e_(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,jP(n.key),n)}}function LP(e,t,r){return t&&e_(e.prototype,t),r&&e_(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function jP(e){var t=HP(e,"string");return nr(t)==="symbol"?t:String(t)}function HP(e,t){if(nr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(nr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function VP(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function XP(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&_f(e,t)}function _f(e,t){return _f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},_f(e,t)}function WP(e){var t=kP();return function(){var n=ei(e),o;if(t){var i=ei(this).constructor;o=Reflect.construct(n,arguments,i)}else o=n.apply(this,arguments);return GP(this,o)}}function GP(e,t){if(t&&(nr(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return KP(e)}function KP(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function kP(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function ei(e){return ei=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},ei(e)}var r_=function(e){XP(r,e);var t=WP(r);function r(o){var i;return VP(this,r),i=t.call(this,o,{}),i.device=void 0,i.commands=[],i.device=o,i}var n=r.prototype;return n.submitCommands=function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.commands,a=UP(i),s;try{for(a.s();!(s=a.n()).done;){var f=s.value;switch(f.name){case"copy-buffer-to-buffer":YP(this.device,f.options);break;case"copy-buffer-to-texture":zP(this.device,f.options);break;case"copy-texture-to-buffer":qP(this.device,f.options);break;case"copy-texture-to-texture":ZP(this.device,f.options);break}}}catch(u){a.e(u)}finally{a.f()}},LP(r)}(Qn);function YP(e,t){var r=t.source,n=t.destination,o=e.assertWebGL2();if(o){var i,a;o.bindBuffer(c.COPY_READ_BUFFER,r.handle),o.bindBuffer(c.COPY_WRITE_BUFFER,n.handle),o.copyBufferSubData(c.COPY_READ_BUFFER,c.COPY_WRITE_BUFFER,(i=t.sourceOffset)!==null&&i!==void 0?i:0,(a=t.destinationOffset)!==null&&a!==void 0?a:0,t.size),o.bindBuffer(c.COPY_READ_BUFFER,null),o.bindBuffer(c.COPY_WRITE_BUFFER,null)}else throw new Error("copyBufferToBuffer not implemented in WebGL1")}function zP(e,t){throw new Error("Not implemented")}function qP(e,t){var r=t.source,n=t.mipLevel,o=n===void 0?0:n,i=t.aspect,a=i===void 0?"all":i,s=t.width,f=s===void 0?t.source.width:s,u=t.height,d=u===void 0?t.source.height:u,m=t.depthOrArrayLayers,v=m===void 0?0:m,E=t.origin,A=E===void 0?[0,0]:E,T=t.destination,O=t.byteOffset,R=O===void 0?0:O,P=t.bytesPerRow,M=t.rowsPerImage;if(a!=="all")throw new Error("not supported");if(o!==0||v!==0||P||M)throw new Error("not implemented");var N=e.assertWebGL2(),B=n_(r),F=B.framebuffer,W=B.destroyFramebuffer;try{var H=T,X=f||F.width,j=d||F.height,G=Kt(F.texture.format,!0),h=G.dataFormat,l=G.type;N.bindBuffer(c.PIXEL_PACK_BUFFER,H.handle),N.bindFramebuffer(c.FRAMEBUFFER,F.handle),N.readPixels(A[0],A[1],X,j,h,l,R)}finally{N.bindBuffer(c.PIXEL_PACK_BUFFER,null),N.bindFramebuffer(c.FRAMEBUFFER,null),W&&F.destroy()}}function ZP(e,t){var r=t.source,n=t.origin,o=n===void 0?[0,0]:n,i=t.destination,a=t.width,s=a===void 0?t.destination.width:a,f=t.height,u=f===void 0?t.destination.width:f,d=0,m=c.RGBA,v=n_(r),E=v.framebuffer,A=v.destroyFramebuffer,T=CP(o,2),O=T[0],R=T[1],P=!1;e.gl.bindFramebuffer(c.FRAMEBUFFER,E.handle);var M=null,N;if(i instanceof Ae)M=i,s=Number.isFinite(s)?s:M.width,u=Number.isFinite(u)?u:M.height,M.bind(0),N=M.destination;else throw new Error("whoops");return P||e.gl.copyTexImage2D(N,d,m,O,R,s,u,0),M&&M.unbind(),A&&E.destroy(),M}function n_(e){if(e instanceof ye){var t=e.width,r=e.height,n=e.id,o=e.device.createFramebuffer({id:"framebuffer-for-".concat(n),width:t,height:r,colorAttachments:[e]});return{framebuffer:o,destroyFramebuffer:!0}}return{framebuffer:e,destroyFramebuffer:!1}}function or(e){return or=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},or(e)}function o_(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,QP(n.key),n)}}function $P(e,t,r){return t&&o_(e.prototype,t),r&&o_(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function QP(e){var t=JP(e,"string");return or(t)==="symbol"?t:String(t)}function JP(e,t){if(or(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(or(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function e1(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function t1(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&yf(e,t)}function yf(e,t){return yf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},yf(e,t)}function r1(e){var t=i1();return function(){var n=ti(e),o;if(t){var i=ti(this).constructor;o=Reflect.construct(n,arguments,i)}else o=n.apply(this,arguments);return n1(this,o)}}function n1(e,t){if(t&&(or(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return o1(e)}function o1(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function i1(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function ti(e){return ti=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},ti(e)}var i_=function(e){t1(r,e);var t=r1(r);function r(o,i){var a;return e1(this,r),a=t.call(this,o,i),a.device=void 0,a.commandBuffer=void 0,a.device=o,a.commandBuffer=new r_(o),a}var n=r.prototype;return n.destroy=function(){},n.finish=function(){this.commandBuffer.submitCommands()},n.copyBufferToBuffer=function(i){this.commandBuffer.commands.push({name:"copy-buffer-to-buffer",options:i})},n.copyBufferToTexture=function(i){this.commandBuffer.commands.push({name:"copy-buffer-to-texture",options:i})},n.copyTextureToBuffer=function(i){this.commandBuffer.commands.push({name:"copy-texture-to-buffer",options:i})},n.copyTextureToTexture=function(i){this.commandBuffer.commands.push({name:"copy-texture-to-texture",options:i})},n.pushDebugGroup=function(i){},n.popDebugGroup=function(){},n.insertDebugMarker=function(i){},$P(r)}(Zn);function ir(e){return ir=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ir(e)}var f_;function a1(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a_(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,s1(n.key),n)}}function f1(e,t,r){return t&&a_(e.prototype,t),r&&a_(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function s1(e){var t=c1(e,"string");return ir(t)==="symbol"?t:String(t)}function c1(e,t){if(ir(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(ir(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ri(){return typeof Reflect<"u"&&Reflect.get?ri=Reflect.get.bind():ri=function(t,r,n){var o=u1(t,r);if(o){var i=Object.getOwnPropertyDescriptor(o,r);return i.get?i.get.call(arguments.length<3?t:n):i.value}},ri.apply(this,arguments)}function u1(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&(e=ar(e),e!==null););return e}function l1(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&mf(e,t)}function mf(e,t){return mf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},mf(e,t)}function p1(e){var t=_1();return function(){var n=ar(e),o;if(t){var i=ar(this).constructor;o=Reflect.construct(n,arguments,i)}else o=n.apply(this,arguments);return h1(this,o)}}function h1(e,t){if(t&&(ir(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return d1(e)}function d1(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _1(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function ar(e){return ar=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},ar(e)}f_=Symbol.toStringTag;var s_=function(e){l1(r,e);var t=p1(r);r.isConstantAttributeZeroSupported=function(i){return i.info.type==="webgl2"||wn()==="Chrome"};function r(o,i){var a;return a1(this,r),a=t.call(this,o,i),a.device=void 0,a.handle=void 0,a.buffer=null,a.bufferValue=null,a.init=!1,a.device=o,a.handle=a.device.gl2.createVertexArray(),a}var n=r.prototype;return n.destroy=function(){if(ri(ar(r.prototype),"destroy",this).call(this),this.buffer){var i;(i=this.buffer)===null||i===void 0||i.destroy()}this.handle&&(this.device.gl2.deleteVertexArray(this.handle),this.handle=void 0)},n.setIndexBuffer=function(i){var a=i;if(a&&a.glTarget!==c.ELEMENT_ARRAY_BUFFER)throw new Error("Use .setBuffer()");this.device.gl2.bindVertexArray(this.handle),this.device.gl2.bindBuffer(c.ELEMENT_ARRAY_BUFFER,a?a.handle:null),this.indexBuffer=a},n.setBuffer=function(i,a){var s=a;if(s.glTarget===c.ELEMENT_ARRAY_BUFFER)throw new Error("Use .setIndexBuffer()");var f=this._getAccessor(i),u=f.size,d=f.type,m=f.stride,v=f.offset,E=f.normalized,A=f.integer,T=f.divisor;this.device.gl2.bindVertexArray(this.handle),this.device.gl.bindBuffer(c.ARRAY_BUFFER,s.handle),A?(this.device.assertWebGL2(),this.device.gl2.vertexAttribIPointer(i,u,d,m,v)):this.device.gl.vertexAttribPointer(i,u,d,E,m,v),this.device.gl.enableVertexAttribArray(i),this.device.gl2.vertexAttribDivisor(i,T||0),this.attributes[i]=s},n.setConstant=function(i,a){this._enable(i,!1),this.attributes[i]=a},n.bindBeforeRender=function(){if(this.device.gl2.bindVertexArray(this.handle),!this.init){var i=this.indexBuffer;this.device.gl2.bindBuffer(c.ELEMENT_ARRAY_BUFFER,i?.handle||null),this.init=!0}this._applyConstantAttributes()},n.unbindAfterRender=function(){this.device.gl2.bindVertexArray(null)},n._applyConstantAttributes=function(){for(var i=0;i<this.maxVertexAttributes;++i){var a=this.attributes[i];ArrayBuffer.isView(a)&&this.device.setConstantAttribute(i,a)}},n._getAccessor=function(i){var a=this.attributeInfos[i];if(!a)throw new Error("Unknown attribute location ".concat(i));var s=Fo(a.bufferDataType);return{size:a.bufferComponents,type:s,stride:a.byteStride,offset:a.byteOffset,normalized:a.normalized,integer:a.integer,divisor:a.stepMode==="instance"?1:0}},n._enable=function(i){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,s=r.isConstantAttributeZeroSupported(this.device),f=s||i!==0;(a||f)&&(i=Number(i),this.device.gl2.bindVertexArray(this.handle),a?this.device.gl.enableVertexAttribArray(i):this.device.gl.disableVertexAttribArray(i),this.device.gl2.bindVertexArray(null))},n.getConstantBuffer=function(i,a){var s=y1(a),f=s.byteLength*i,u=s.length*i;if(this.buffer&&f!==this.buffer.byteLength)throw new Error("Buffer size is immutable, byte length ".concat(f," !== ").concat(this.buffer.byteLength,"."));var d=!this.buffer;if(this.buffer=this.buffer||this.device.createBuffer({byteLength:f}),d=d||!m1(s,this.bufferValue),d){var m=Ni(a.constructor,u);wi({target:m,source:s,start:0,count:u}),this.buffer.write(m),this.bufferValue=a}return this.buffer},f1(r,[{key:f_,get:function(){return"VertexArray"}}]),r}(ro);function y1(e){return Array.isArray(e)?new Float32Array(e):e}function m1(e,t){if(!e||!t||e.length!==t.length||e.constructor!==t.constructor)return!1;for(var r=0;r<e.length;++r)if(e[r]!==t[r])return!1;return!0}function fr(e){return fr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},fr(e)}function g1(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=v1(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(u){throw u},f:o}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1217
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,a=!1,s;return{s:function(){r=r.call(e)},n:function(){var u=r.next();return i=u.done,u},e:function(u){a=!0,s=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(a)throw s}}}}function v1(e,t){if(e){if(typeof e=="string")return c_(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return c_(e,t)}}function c_(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function u_(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,E1(n.key),n)}}function b1(e,t,r){return t&&u_(e.prototype,t),r&&u_(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function E1(e){var t=A1(e,"string");return fr(t)==="symbol"?t:String(t)}function A1(e,t){if(fr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(fr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function S1(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ni(){return typeof Reflect<"u"&&Reflect.get?ni=Reflect.get.bind():ni=function(t,r,n){var o=T1(t,r);if(o){var i=Object.getOwnPropertyDescriptor(o,r);return i.get?i.get.call(arguments.length<3?t:n):i.value}},ni.apply(this,arguments)}function T1(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&(e=sr(e),e!==null););return e}function R1(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&gf(e,t)}function gf(e,t){return gf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},gf(e,t)}function O1(e){var t=I1();return function(){var n=sr(e),o;if(t){var i=sr(this).constructor;o=Reflect.construct(n,arguments,i)}else o=n.apply(this,arguments);return P1(this,o)}}function P1(e,t){if(t&&(fr(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return p_(e)}function p_(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function I1(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function sr(e){return sr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},sr(e)}var h_=function(e){R1(r,e);var t=O1(r);function r(o,i){var a;return S1(this,r),a=t.call(this,o,i),a.device=void 0,a.gl2=void 0,a.handle=void 0,a.layout=void 0,a.buffers={},a.unusedBuffers={},a.bindOnUse=!0,a._bound=!1,o.assertWebGL2(),a.device=o,a.gl2=o.gl2,a.handle=a.props.handle||a.gl2.createTransformFeedback(),a.layout=a.props.layout,i.buffers&&a.setBuffers(i.buffers),Object.seal(p_(a)),a}var n=r.prototype;return n.destroy=function(){this.gl2.deleteTransformFeedback(this.handle),ni(sr(r.prototype),"destroy",this).call(this)},n.begin=function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"point-list";this.gl2.bindTransformFeedback(c.TRANSFORM_FEEDBACK,this.handle),this.bindOnUse&&this._bindBuffers(),this.gl2.beginTransformFeedback(Kd(i))},n.end=function(){this.gl2.endTransformFeedback(),this.bindOnUse||this._unbindBuffers(),this.gl2.bindTransformFeedback(c.TRANSFORM_FEEDBACK,null)},n.setBuffers=function(i){var a=this;this.buffers={},this.unusedBuffers={},this.bind(function(){for(var s in i)a.setBuffer(s,i[s])})},n.setBuffer=function(i,a){var s=this._getVaryingIndex(i),f=this._getBufferRange(a),u=f.buffer,d=f.byteLength,m=f.byteOffset;if(s<0){this.unusedBuffers[i]=u,x.warn("".concat(this.id," unusedBuffers varying buffer ").concat(i))();return}this.buffers[s]={buffer:u,byteLength:d,byteOffset:m},this.bindOnUse||this._bindBuffer(s,u,m,d)},n.getBuffer=function(i){if(l_(i))return this.buffers[i]||null;var a=this._getVaryingIndex(i);return a>=0?this.buffers[a]:null},n.bind=function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.handle;if(typeof i!="function")return this.gl2.bindTransformFeedback(c.TRANSFORM_FEEDBACK,i),this;var a;return this._bound?a=i():(this.gl2.bindTransformFeedback(c.TRANSFORM_FEEDBACK,this.handle),this._bound=!0,a=i(),this._bound=!1,this.gl2.bindTransformFeedback(c.TRANSFORM_FEEDBACK,null)),a},n.unbind=function(){this.bind(null)},n._getBufferRange=function(i){if(i instanceof Ee)return{buffer:i,byteOffset:0,byteLength:i.byteLength};var a=i.buffer,s=i.byteOffset,f=s===void 0?0:s,u=i.byteLength,d=u===void 0?i.buffer.byteLength:u;return{buffer:a,byteOffset:f,byteLength:d}},n._getVaryingIndex=function(i){if(l_(i))return Number(i);var a=g1(this.layout.varyings),s;try{for(a.s();!(s=a.n()).done;){var f=s.value;if(i===f.name)return f.location}}catch(u){a.e(u)}finally{a.f()}return-1},n._bindBuffers=function(){for(var i in this.buffers){var a=this._getBufferRange(this.buffers[i]),s=a.buffer,f=a.byteLength,u=a.byteOffset;this._bindBuffer(Number(i),s,u,f)}},n._unbindBuffers=function(){for(var i in this.buffers)this.gl2.bindBufferBase(c.TRANSFORM_FEEDBACK_BUFFER,Number(i),null)},n._bindBuffer=function(i,a){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,f=arguments.length>3?arguments[3]:void 0,u=a&&a.handle;!u||f===void 0?this.gl2.bindBufferBase(c.TRANSFORM_FEEDBACK_BUFFER,i,u):this.gl2.bindBufferRange(c.TRANSFORM_FEEDBACK_BUFFER,i,u,s,f)},b1(r)}(oo);function l_(e){return typeof e=="number"?Number.isInteger(e):/^\d+$/.test(e)}function pt(e){return pt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},pt(e)}function d_(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function De(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?d_(Object(r),!0).forEach(function(n){N1(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):d_(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function N1(e,t,r){return t=m_(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function vf(){"use strict";vf=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(h,l,p){h[l]=p.value},o=typeof Symbol=="function"?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function f(h,l,p){return Object.defineProperty(h,l,{value:p,enumerable:!0,configurable:!0,writable:!0}),h[l]}try{f({},"")}catch{f=function(p,_,g){return p[_]=g}}function u(h,l,p,_){var g=l&&l.prototype instanceof v?l:v,y=Object.create(g.prototype),S=new X(_||[]);return n(y,"_invoke",{value:B(h,p,S)}),y}function d(h,l,p){try{return{type:"normal",arg:h.call(l,p)}}catch(_){return{type:"throw",arg:_}}}e.wrap=u;var m={};function v(){}function E(){}function A(){}var T={};f(T,i,function(){return this});var O=Object.getPrototypeOf,R=O&&O(O(j([])));R&&R!==t&&r.call(R,i)&&(T=R);var P=A.prototype=v.prototype=Object.create(T);function M(h){["next","throw","return"].forEach(function(l){f(h,l,function(p){return this._invoke(l,p)})})}function N(h,l){function p(g,y,S,I){var w=d(h[g],h,y);if(w.type!=="throw"){var U=w.arg,D=U.value;return D&&pt(D)=="object"&&r.call(D,"__await")?l.resolve(D.__await).then(function(V){p("next",V,S,I)},function(V){p("throw",V,S,I)}):l.resolve(D).then(function(V){U.value=V,S(U)},function(V){return p("throw",V,S,I)})}I(w.arg)}var _;n(this,"_invoke",{value:function(y,S){function I(){return new l(function(w,U){p(y,S,w,U)})}return _=_?_.then(I,I):I()}})}function B(h,l,p){var _="suspendedStart";return function(g,y){if(_==="executing")throw new Error("Generator is already running");if(_==="completed"){if(g==="throw")throw y;return G()}for(p.method=g,p.arg=y;;){var S=p.delegate;if(S){var I=F(S,p);if(I){if(I===m)continue;return I}}if(p.method==="next")p.sent=p._sent=p.arg;else if(p.method==="throw"){if(_==="suspendedStart")throw _="completed",p.arg;p.dispatchException(p.arg)}else p.method==="return"&&p.abrupt("return",p.arg);_="executing";var w=d(h,l,p);if(w.type==="normal"){if(_=p.done?"completed":"suspendedYield",w.arg===m)continue;return{value:w.arg,done:p.done}}w.type==="throw"&&(_="completed",p.method="throw",p.arg=w.arg)}}}function F(h,l){var p=l.method,_=h.iterator[p];if(_===void 0)return l.delegate=null,p==="throw"&&h.iterator.return&&(l.method="return",l.arg=void 0,F(h,l),l.method==="throw")||p!=="return"&&(l.method="throw",l.arg=new TypeError("The iterator does not provide a '"+p+"' method")),m;var g=d(_,h.iterator,l.arg);if(g.type==="throw")return l.method="throw",l.arg=g.arg,l.delegate=null,m;var y=g.arg;return y?y.done?(l[h.resultName]=y.value,l.next=h.nextLoc,l.method!=="return"&&(l.method="next",l.arg=void 0),l.delegate=null,m):y:(l.method="throw",l.arg=new TypeError("iterator result is not an object"),l.delegate=null,m)}function W(h){var l={tryLoc:h[0]};1 in h&&(l.catchLoc=h[1]),2 in h&&(l.finallyLoc=h[2],l.afterLoc=h[3]),this.tryEntries.push(l)}function H(h){var l=h.completion||{};l.type="normal",delete l.arg,h.completion=l}function X(h){this.tryEntries=[{tryLoc:"root"}],h.forEach(W,this),this.reset(!0)}function j(h){if(h){var l=h[i];if(l)return l.call(h);if(typeof h.next=="function")return h;if(!isNaN(h.length)){var p=-1,_=function g(){for(;++p<h.length;)if(r.call(h,p))return g.value=h[p],g.done=!1,g;return g.value=void 0,g.done=!0,g};return _.next=_}}return{next:G}}function G(){return{value:void 0,done:!0}}return E.prototype=A,n(P,"constructor",{value:A,configurable:!0}),n(A,"constructor",{value:E,configurable:!0}),E.displayName=f(A,s,"GeneratorFunction"),e.isGeneratorFunction=function(h){var l=typeof h=="function"&&h.constructor;return!!l&&(l===E||(l.displayName||l.name)==="GeneratorFunction")},e.mark=function(h){return Object.setPrototypeOf?Object.setPrototypeOf(h,A):(h.__proto__=A,f(h,s,"GeneratorFunction")),h.prototype=Object.create(P),h},e.awrap=function(h){return{__await:h}},M(N.prototype),f(N.prototype,a,function(){return this}),e.AsyncIterator=N,e.async=function(h,l,p,_,g){g===void 0&&(g=Promise);var y=new N(u(h,l,p,_),g);return e.isGeneratorFunction(l)?y:y.next().then(function(S){return S.done?S.value:y.next()})},M(P),f(P,s,"Generator"),f(P,i,function(){return this}),f(P,"toString",function(){return"[object Generator]"}),e.keys=function(h){var l=Object(h),p=[];for(var _ in l)p.push(_);return p.reverse(),function g(){for(;p.length;){var y=p.pop();if(y in l)return g.value=y,g.done=!1,g}return g.done=!0,g}},e.values=j,X.prototype={constructor:X,reset:function(l){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(H),!l)for(var p in this)p.charAt(0)==="t"&&r.call(this,p)&&!isNaN(+p.slice(1))&&(this[p]=void 0)},stop:function(){this.done=!0;var l=this.tryEntries[0].completion;if(l.type==="throw")throw l.arg;return this.rval},dispatchException:function(l){if(this.done)throw l;var p=this;function _(U,D){return S.type="throw",S.arg=l,p.next=U,D&&(p.method="next",p.arg=void 0),!!D}for(var g=this.tryEntries.length-1;g>=0;--g){var y=this.tryEntries[g],S=y.completion;if(y.tryLoc==="root")return _("end");if(y.tryLoc<=this.prev){var I=r.call(y,"catchLoc"),w=r.call(y,"finallyLoc");if(I&&w){if(this.prev<y.catchLoc)return _(y.catchLoc,!0);if(this.prev<y.finallyLoc)return _(y.finallyLoc)}else if(I){if(this.prev<y.catchLoc)return _(y.catchLoc,!0)}else{if(!w)throw new Error("try statement without catch or finally");if(this.prev<y.finallyLoc)return _(y.finallyLoc)}}}},abrupt:function(l,p){for(var _=this.tryEntries.length-1;_>=0;--_){var g=this.tryEntries[_];if(g.tryLoc<=this.prev&&r.call(g,"finallyLoc")&&this.prev<g.finallyLoc){var y=g;break}}y&&(l==="break"||l==="continue")&&y.tryLoc<=p&&p<=y.finallyLoc&&(y=null);var S=y?y.completion:{};return S.type=l,S.arg=p,y?(this.method="next",this.next=y.finallyLoc,m):this.complete(S)},complete:function(l,p){if(l.type==="throw")throw l.arg;return l.type==="break"||l.type==="continue"?this.next=l.arg:l.type==="return"?(this.rval=this.arg=l.arg,this.method="return",this.next="end"):l.type==="normal"&&p&&(this.next=p),m},finish:function(l){for(var p=this.tryEntries.length-1;p>=0;--p){var _=this.tryEntries[p];if(_.finallyLoc===l)return this.complete(_.completion,_.afterLoc),H(_),m}},catch:function(l){for(var p=this.tryEntries.length-1;p>=0;--p){var _=this.tryEntries[p];if(_.tryLoc===l){var g=_.completion;if(g.type==="throw"){var y=g.arg;H(_)}return y}}throw new Error("illegal catch attempt")},delegateYield:function(l,p,_){return this.delegate={iterator:j(l),resultName:p,nextLoc:_},this.method==="next"&&(this.arg=void 0),m}},e}function __(e,t,r,n,o,i,a){try{var s=e[i](a),f=s.value}catch(u){r(u);return}s.done?t(f):Promise.resolve(f).then(n,o)}function w1(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(f){__(i,n,o,a,s,"next",f)}function s(f){__(i,n,o,a,s,"throw",f)}a(void 0)})}}function M1(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function y_(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,m_(n.key),n)}}function x1(e,t,r){return t&&y_(e.prototype,t),r&&y_(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function m_(e){var t=C1(e,"string");return pt(t)==="symbol"?t:String(t)}function C1(e,t){if(pt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(pt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function F1(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&bf(e,t)}function bf(e,t){return bf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},bf(e,t)}function B1(e){var t=U1();return function(){var n=oi(e),o;if(t){var i=oi(this).constructor;o=Reflect.construct(n,arguments,i)}else o=n.apply(this,arguments);return D1(this,o)}}function D1(e,t){if(t&&(pt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Ef(e)}function Ef(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function U1(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function oi(e){return oi=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},oi(e)}var Rn=1,be=function(e){F1(r,e);var t=B1(r);r.isSupported=function(){return typeof WebGLRenderingContext<"u"||Lp()},r.attach=function(i){if(i instanceof r)return i;if(i?.device instanceof gt)return i.device;if(!L1(i))throw new Error("Invalid WebGLRenderingContext");return new r({gl:i})},r.create=function(){var o=w1(vf().mark(function a(){var s,f,u,d,m=arguments;return vf().wrap(function(E){for(;;)switch(E.prev=E.next){case 0:if(s=m.length>0&&m[0]!==void 0?m[0]:{},x.groupCollapsed(Rn,"WebGLDevice created")(),typeof s.canvas!="string"){E.next=5;break}return E.next=5,vt.pageLoaded;case 5:if(!(x.get("debug")||s.debug)){E.next=8;break}return E.next=8,gd();case 8:if(f=s.spector,!(x.get("spector")||f)){E.next=12;break}return E.next=12,cd();case 12:if(x.probe(Rn+1,"DOM is loaded")(),!(s.gl&&s.gl.device)){E.next=15;break}return E.abrupt("return",r.attach(s.gl));case 15:return u=new r(s),d="Created ".concat(u.info.type).concat(u.debug?" debug":""," context: ").concat(u.info.vendor,", ").concat(u.info.renderer," for canvas: ").concat(u.canvasContext.id),x.probe(Rn,d)(),x.table(Rn,u.info)(),x.groupEnd(Rn)(),E.abrupt("return",u);case 21:case"end":return E.stop()}},a)}));function i(){return o.apply(this,arguments)}return i}();function r(o){var i,a;M1(this,r),a=t.call(this,De(De({},o),{},{id:o.id||ce("webgl-device")})),a.info=void 0,a.canvasContext=void 0,a.handle=void 0,a.lost=void 0,a._resolveContextLost=void 0,a._features=void 0,a._limits=void 0,a.renderPass=null,a.gl=void 0,a.gl2=null,a.debug=!1,a.isWebGL1=void 0,a.isWebGL2=void 0,a._canvasSizeInfo={clientWidth:0,clientHeight:0,devicePixelRatio:1},a._extensions={},a._polyfilled=!1,a.spector=void 0,a._webglLimits=void 0,a._constants=void 0;var s=(i=o.gl)===null||i===void 0?void 0:i.device;if(s)throw new Error("WebGL context already attached to device ".concat(s.id));a.canvasContext=new od(Ef(a),o),a.lost=new Promise(function(T){a._resolveContextLost=T});var f=function(O){var R,P;return(R=(P=a)._resolveContextLost)===null||R===void 0?void 0:R.call(P,{reason:"destroyed",message:"Computer entered sleep mode, or too many apps or browser tabs are using the GPU."})},u=o.gl||null;if(u=u||(re()?sh(a.canvasContext.canvas,De(De({},o),{},{onContextLost:f})):null),u=u||(re()?null:jp(De(De({},o),{},{onContextLost:f}))),!u)throw new Error("WebGL context creation failed");a.handle=u,a.gl=a.handle,a.gl2=a.gl,a.isWebGL2=j1(a.gl),a.isWebGL1=!a.isWebGL2,a.info=ch(a.gl),a.gl.device=Ef(a),a.gl._version=a.isWebGL2?2:1,qp(a.gl);var d=o.enable,m=d===void 0?!0:d,v=o.copyState,E=v===void 0?!1:v;if(La(a.gl,{enable:m,copyState:E,log:function(){for(var O=arguments.length,R=new Array(O),P=0;P<O;P++)R[P]=arguments[P];return x.log.apply(x,[1].concat(R))()}}),re()&&o.debug&&(a.gl=vd(a.gl,De(De({},o),{},{webgl2:a.isWebGL2,throwOnError:!0})),a.gl2=a.gl,a.debug=!0,x.level=Math.max(x.level,1),x.warn("WebGL debug mode activated. Performance reduced.")()),re()&&o.spector){var A=a.handle.canvas||o.canvas;a.spector=ud(De(De({},a.props),{},{canvas:A}))}return a}var n=r.prototype;return n.destroy=function(){var i=this.gl.getExtension("STACKGL_destroy_context");i&&i.destroy()},n.getSize=function(){return[this.gl.drawingBufferWidth,this.gl.drawingBufferHeight]},n.isTextureFormatSupported=function(i){return dn(this.gl,i)},n.isTextureFormatFilterable=function(i){return yh(this.gl,i)},n.isTextureFormatRenderable=function(i){return mh(this.gl,i)},n.assertWebGL2=function(){if(!this.gl2)throw new Error("Requires WebGL2");return this.gl2},n.createCanvasContext=function(i){throw new Error("WebGL only supports a single canvas")},n.createBuffer=function(i){var a=this._getBufferProps(i);return new Ee(this,a)},n._createTexture=function(i){return new Ae(this,i)},n.createExternalTexture=function(i){throw new Error("createExternalTexture() not implemented")},n.createSampler=function(i){return new En(this,i)},n.createShader=function(i){return new Pd(this,i)},n.createFramebuffer=function(i){return new rt(this,i)},n.createRenderPipeline=function(i){return new Qd(this,i)},n.createVertexArray=function(i){return new s_(this,i)},n.beginRenderPass=function(i){return new Md(this,i)},n.createComputePipeline=function(i){throw new Error("ComputePipeline not supported in WebGL")},n.beginComputePass=function(i){throw new Error("ComputePass not supported in WebGL")},n.createTransformFeedback=function(i){return new h_(this,i)},n.getDefaultRenderPass=function(){return this.renderPass=this.renderPass||this.beginRenderPass({framebuffer:this.canvasContext.getCurrentFramebuffer()}),this.renderPass},n.createCommandEncoder=function(i){return new i_(this,i)},n.submit=function(){var i;(i=this.renderPass)===null||i===void 0||i.end(),this.renderPass=null},n.loseDevice=function(){var i,a=!1,s=this.gl.getExtension("WEBGL_lose_context");return s&&(a=!0,s.loseContext()),(i=this._resolveContextLost)===null||i===void 0||i.call(this,{reason:"destroyed",message:"Application triggered context loss"}),a},n.pushState=function(){Je(this.gl)},n.popState=function(){He(this.gl)},n.setSpectorMetadata=function(i,a){i.__SPECTOR_Metadata=a},n.getGLKey=function(i,a){a=a||this.gl2||this.gl;var s=Number(i);for(var f in a)if(a[f]===s)return"GL.".concat(f);return String(i)},n.setConstantAttribute=function(i,a){this._constants=this._constants||new Array(this.limits.maxVertexAttributes).fill(null);var s=this._constants[i];switch(s&&W1(s,a)&&x.info(1,"setConstantAttribute(".concat(i,") could have been skipped, value unchanged"))(),this._constants[i]=a,a.constructor){case Float32Array:H1(this,i,a);break;case Int32Array:V1(this,i,a);break;case Uint32Array:X1(this,i,a);break;default:K(!1)}},x1(r,[{key:"features",get:function(){return this._features=this._features||Ah(this.gl),this._features}},{key:"limits",get:function(){return this._limits=this._limits||Th(this.gl),this._limits}},{key:"isLost",get:function(){return this.gl.isContextLost()}},{key:"webglLimits",get:function(){return this._webglLimits=this._webglLimits||Rh(this.gl),this._webglLimits}}]),r}(gt);be.type="webgl";function L1(e){return typeof WebGLRenderingContext<"u"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&Number.isFinite(e._version))}function j1(e){return typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&e._version===2)}function H1(e,t,r){switch(r.length){case 1:e.gl.vertexAttrib1fv(t,r);break;case 2:e.gl.vertexAttrib2fv(t,r);break;case 3:e.gl.vertexAttrib3fv(t,r);break;case 4:e.gl.vertexAttrib4fv(t,r);break;default:K(!1)}}function V1(e,t,r){var n;e.assertWebGL2(),(n=e.gl2)===null||n===void 0||n.vertexAttribI4iv(t,r)}function X1(e,t,r){var n;e.assertWebGL2(),(n=e.gl2)===null||n===void 0||n.vertexAttribI4uiv(t,r)}function W1(e,t){if(!e||!t||e.length!==t.length||e.constructor!==t.constructor)return!1;for(var r=0;r<e.length;++r)if(e[r]!==t[r])return!1;return!0}function On(e){return On=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},On(e)}function g_(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,G1(n.key),n)}}function b_(e,t,r){return t&&g_(e.prototype,t),r&&g_(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function G1(e){var t=K1(e,"string");return On(t)==="symbol"?t:String(t)}function K1(e,t){if(On(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(On(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function E_(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var k1={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Y1={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},z1=function(){function e(r){E_(this,e),this.name=void 0,this.startTime=0,this.playing=!0,this.speed=1,this.channels=[],Object.assign(this,r)}var t=e.prototype;return t.animate=function(n){if(this.playing){var o=n/1e3,i=(o-this.startTime)*this.speed;this.channels.forEach(function(a){var s=a.sampler,f=a.target,u=a.path;eI(i,s,f,u),Z1(f,f._node)})}},b_(e)}(),ii=function(){function e(r){E_(this,e),this.animations=void 0,this.animations=r.animations.map(function(n,o){var i=n.name||"Animation-".concat(o),a=n.samplers.map(function(f){var u=f.input,d=f.interpolation,m=d===void 0?"LINEAR":d,v=f.output;return{input:v_(r.accessors[u]),interpolation:m,output:v_(r.accessors[v])}}),s=n.channels.map(function(f){var u=f.sampler,d=f.target;return{sampler:a[u],target:r.nodes[d.node],path:d.path}});return new z1({name:i,channels:s})})}var t=e.prototype;return t.animate=function(n){this.setTime(n)},t.setTime=function(n){this.animations.forEach(function(o){return o.animate(n)})},t.getAnimations=function(){return this.animations},b_(e)}();function v_(e){if(!e._animation){var t=Y1[e.componentType],r=k1[e.type],n=r*e.count,o=e.bufferView.data,i=o.buffer,a=o.byteOffset,s=new t(i,a+(e.byteOffset||0),n);if(r===1)e._animation=Array.from(s);else{for(var f=[],u=0;u<s.length;u+=r)f.push(Array.from(s.slice(u,u+r)));e._animation=f}}return e._animation}var q1=new de;function Z1(e,t){if(t.matrix.identity(),e.translation&&t.matrix.translate(e.translation),e.rotation){var r=q1.fromQuaternion(e.rotation);t.matrix.multiplyRight(r)}e.scale&&t.matrix.scale(e.scale)}var Af=new Wr;function $1(e,t,r,n,o){if(t==="rotation"){Af.slerp({start:r,target:n,ratio:o});for(var i=0;i<Af.length;i++)e[t][i]=Af[i]}else for(var a=0;a<r.length;a++)e[t][a]=o*n[a]+(1-o)*r[a]}function Q1(e,t,r){for(var n=r.p0,o=r.outTangent0,i=r.inTangent1,a=r.p1,s=r.tDiff,f=r.ratio,u=0;u<e[t].length;u++){var d=o[u]*s,m=i[u]*s;e[t][u]=(2*Math.pow(f,3)-3*Math.pow(f,2)+1)*n[u]+(Math.pow(f,3)-2*Math.pow(f,2)+f)*d+(-2*Math.pow(f,3)+3*Math.pow(f,2))*a[u]+(Math.pow(f,3)-Math.pow(f,2))*m}}function J1(e,t,r){for(var n=0;n<r.length;n++)e[t][n]=r[n]}function eI(e,t,r,n){var o=t.input,i=t.interpolation,a=t.output,s=o[o.length-1],f=e%s,u=o.findIndex(function(N){return N>=f}),d=Math.max(0,u-1);if(!Array.isArray(r[n]))switch(n){case"translation":r[n]=[0,0,0];break;case"rotation":r[n]=[0,0,0,1];break;case"scale":r[n]=[1,1,1];break;default:x.warn("Bad animation path ".concat(n))()}K(r[n].length===a[d].length);var m=o[d],v=o[u];switch(i){case"STEP":J1(r,n,a[d]);break;case"LINEAR":if(v>m){var E=(f-m)/(v-m);$1(r,n,a[d],a[u],E)}break;case"CUBICSPLINE":if(v>m){var A=(f-m)/(v-m),T=v-m,O=a[3*d+1],R=a[3*d+2],P=a[3*u+0],M=a[3*u+1];Q1(r,n,{p0:O,outTangent0:R,inTangent1:P,p1:M,tDiff:T,ratio:A})}break;default:x.warn("Interpolation ".concat(i," not supported"))();break}}function Pn(e){return Pn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Pn(e)}function A_(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Oe(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?A_(Object(r),!0).forEach(function(n){tI(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):A_(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function tI(e,t,r){return t=rI(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function rI(e){var t=nI(e,"string");return Pn(t)==="symbol"?t:String(t)}function nI(e,t){if(Pn(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Pn(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var oI=`
7
+ var __exports__=(()=>{var Tn=Object.create;var et=Object.defineProperty;var En=Object.getOwnPropertyDescriptor;var An=Object.getOwnPropertyNames;var Sn=Object.getPrototypeOf,wn=Object.prototype.hasOwnProperty;var Tt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),On=(e,t)=>{for(var n in t)et(e,n,{get:t[n],enumerable:!0})},Wt=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of An(t))!wn.call(e,s)&&s!==n&&et(e,s,{get:()=>t[s],enumerable:!(r=En(t,s))||r.enumerable});return e};var C=(e,t,n)=>(n=e!=null?Tn(Sn(e)):{},Wt(t||!e||!e.__esModule?et(n,"default",{value:e,enumerable:!0}):n,e)),un=e=>Wt(et({},"__esModule",{value:!0}),e);var nt=Tt((Yr,jt)=>{jt.exports=globalThis.luma});var It=Tt((Ks,he)=>{he.exports=globalThis.luma});var mn=Tt((Ji,pn)=>{pn.exports=globalThis.luma});var Ur={};On(Ur,{GLTFAnimator:()=>G,createScenegraphsFromGLTF:()=>yn,loadPBREnvironment:()=>fe,parsePBRMaterial:()=>rt});var Ht=C(nt(),1);function rt(e,t,n,r){let s={defines:{MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},bindings:{},uniforms:{u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},parameters:{},glParameters:{},generatedTextures:[]};s.defines.USE_TEX_LOD=1;let{imageBasedLightingEnvironment:i}=r;return i&&(s.bindings.u_DiffuseEnvSampler=i.diffuseEnvSampler,s.bindings.u_SpecularEnvSampler=i.specularEnvSampler,s.bindings.u_brdfLUT=i.brdfLutTexture,s.uniforms.u_ScaleIBLAmbient=[1,1]),r?.pbrDebug&&(s.defines.PBR_DEBUG=1,s.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],s.uniforms.u_ScaleFGDSpec=[0,0,0,0]),n.NORMAL&&(s.defines.HAS_NORMALS=1),n.TANGENT&&r?.useTangents&&(s.defines.HAS_TANGENTS=1),n.TEXCOORD_0&&(s.defines.HAS_UV=1),r?.imageBasedLightingEnvironment&&(s.defines.USE_IBL=1),r?.lights&&(s.defines.USE_LIGHTS=1),t&&Ln(e,t,s),s}function Ln(e,t,n){if(n.uniforms.pbr_uUnlit=Boolean(t.unlit),t.pbrMetallicRoughness&&Rn(e,t.pbrMetallicRoughness,n),t.normalTexture){j(e,t.normalTexture,"u_NormalSampler","HAS_NORMALMAP",n);let{scale:r=1}=t.normalTexture;n.uniforms.u_NormalScale=r}if(t.occlusionTexture){j(e,t.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP",n);let{strength:r=1}=t.occlusionTexture;n.uniforms.u_OcclusionStrength=r}switch(t.emissiveTexture&&(j(e,t.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP",n),n.uniforms.u_EmissiveFactor=t.emissiveFactor||[0,0,0]),t.alphaMode){case"MASK":let{alphaCutoff:r=.5}=t;n.defines.ALPHA_CUTOFF=1,n.uniforms.u_AlphaCutoff=r;break;case"BLEND":Ht.log.warn("glTF BLEND alphaMode might not work well because it requires mesh sorting")(),n.parameters.blendColorOperation="add",n.parameters.blendColorSrcFactor="src-alpha",n.parameters.blendColorDstFactor="one-minus-src-alpha",n.parameters.blendAlphaOperation="add",n.parameters.blendAlphaSrcFactor="one",n.parameters.blendAlphaDstFactor="one-minus-src-alpha",n.glParameters.blend=!0,n.glParameters.blendEquation=32774,n.glParameters.blendFunc=[770,771,1,771];break}}function Rn(e,t,n){t.baseColorTexture&&j(e,t.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP",n),n.uniforms.u_BaseColorFactor=t.baseColorFactor||[1,1,1,1],t.metallicRoughnessTexture&&j(e,t.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP",n);let{metallicFactor:r=1,roughnessFactor:s=1}=t;n.uniforms.u_MetallicRoughnessValues=[r,s]}function j(e,t,n,r=null,s){let i=t?.texture?.sampler?.parameters||{},o=t.texture.source.image,c,a={};o.compressed?(c=o,a={[10241]:o.data.length>1?9985:9729}):c={data:o};let f=e.createTexture({id:t.uniformName||t.id,parameters:{...i,...a},pixelStore:{[37440]:!1},...c});s.bindings[n]=f,r&&(s.defines[r]=1),s.generatedTextures.push(f)}function Et(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var Pn="",Xt={};function At(e){for(let t in Xt)if(e.startsWith(t)){let n=Xt[t];e=e.replace(t,n)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${Pn}${e}`),e}var $t="4.1.3";function H(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var B={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},_n=B.self||B.window||B.global||{},Nn=B.window||B.self||B.global||{},In=B.global||B.self||B.window||{},vn=B.document||{};var St=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var Kt=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),bn=Kt&&parseFloat(Kt[1])||0;var wt,Bn=(wt=globalThis.loaders)===null||wt===void 0?void 0:wt.parseImageNode,Ot=typeof Image<"u",ut=typeof ImageBitmap<"u",kn=Boolean(Bn),Lt=St?!0:kn;function Qt(e){switch(e){case"auto":return ut||Ot||Lt;case"imagebitmap":return ut;case"image":return Ot;case"data":return Lt;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function Zt(){if(ut)return"imagebitmap";if(Ot)return"image";if(Lt)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function Jt(e){let t=Fn(e);if(!t)throw new Error("Not an image");return t}function Rt(e){return st(e)}function st(e){switch(Jt(e)){case"data":return e;case"image":case"imagebitmap":let t=document.createElement("canvas"),n=t.getContext("2d");if(!n)throw new Error("getImageData");return t.width=e.width,t.height=e.height,n.drawImage(e,0,0),n.getImageData(0,0,e.width,e.height);default:throw new Error("getImageData")}}function Fn(e){return typeof ImageBitmap<"u"&&e instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&e instanceof Image?"image":e&&typeof e=="object"&&e.data&&e.width&&e.height?"data":null}var zn=/^data:image\/svg\+xml/,qn=/\.svg((\?|#).*)?$/;function it(e){return e&&(zn.test(e)||qn.test(e))}function te(e,t){if(it(t)){let r=new TextDecoder().decode(e);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(r=unescape(encodeURIComponent(r)))}catch(i){throw new Error(i.message)}return`data:image/svg+xml;base64,${btoa(r)}`}return Pt(e,t)}function Pt(e,t){if(it(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function ot(e,t,n){let r=te(e,n),s=self.URL||self.webkitURL,i=typeof r!="string"&&s.createObjectURL(r);try{return await Cn(i||r,t)}finally{i&&s.revokeObjectURL(i)}}async function Cn(e,t){let n=new Image;return n.src=e,t.image&&t.image.decode&&n.decode?(await n.decode(),n):await new Promise((r,s)=>{try{n.onload=()=>r(n),n.onerror=i=>{let o=i instanceof Error?i.message:"error";s(new Error(o))}}catch(i){s(i)}})}var Dn={},ee=!0;async function ne(e,t,n){let r;it(n)?r=await ot(e,t,n):r=Pt(e,n);let s=t&&t.imagebitmap;return await Vn(r,s)}async function Vn(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if((Un(t)||!ee)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(n){console.warn(n),ee=!1}return await createImageBitmap(e)}function Un(e){for(let t in e||Dn)return!1;return!0}function re(e){return!jn(e,"ftyp",4)||!(e[8]&96)?null:Gn(e)}function Gn(e){switch(Yn(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function Yn(e,t,n){return String.fromCharCode(...e.slice(t,n))}function Wn(e){return[...e].map(t=>t.charCodeAt(0))}function jn(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,r=Wn(t);for(let s=0;s<r.length;++s)if(r[s]!==e[s+n])return!1;return!0}var k=!1,X=!0;function ct(e){let t=$(e);return Xn(t)||Qn(t)||$n(t)||Kn(t)||Hn(t)}function Hn(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),n=re(t);return n?{mimeType:n.mimeType,width:0,height:0}:null}function Xn(e){let t=$(e);return t.byteLength>=24&&t.getUint32(0,k)===2303741511?{mimeType:"image/png",width:t.getUint32(16,k),height:t.getUint32(20,k)}:null}function $n(e){let t=$(e);return t.byteLength>=10&&t.getUint32(0,k)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,X),height:t.getUint16(8,X)}:null}function Kn(e){let t=$(e);return t.byteLength>=14&&t.getUint16(0,k)===16973&&t.getUint32(2,X)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,X),height:t.getUint32(22,X)}:null}function Qn(e){let t=$(e);if(!(t.byteLength>=3&&t.getUint16(0,k)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:r,sofMarkers:s}=Zn(),i=2;for(;i+9<t.byteLength;){let o=t.getUint16(i,k);if(s.has(o))return{mimeType:"image/jpeg",height:t.getUint16(i+5,k),width:t.getUint16(i+7,k)};if(!r.has(o))return null;i+=2,i+=t.getUint16(i,k)}return null}function Zn(){let e=new Set([65499,65476,65484,65501,65534]);for(let n=65504;n<65520;++n)e.add(n);return{tableMarkers:e,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function $(e){if(e instanceof DataView)return e;if(ArrayBuffer.isView(e))return new DataView(e.buffer);if(e instanceof ArrayBuffer)return new DataView(e);throw new Error("toDataView")}async function se(e,t){var n;let{mimeType:r}=ct(e)||{},s=(n=globalThis.loaders)===null||n===void 0?void 0:n.parseImageNode;return H(s),await s(e,r)}async function ie(e,t,n){t=t||{};let s=(t.image||{}).type||"auto",{url:i}=n||{},o=Jn(s),c;switch(o){case"imagebitmap":c=await ne(e,t,i);break;case"image":c=await ot(e,t,i);break;case"data":c=await se(e,t);break;default:H(!1)}return s==="data"&&(c=st(c)),c}function Jn(e){switch(e){case"auto":case"data":return Zt();default:return Qt(e),e}}var tr=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],er=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],nr={image:{type:"auto",decode:!0}},at={id:"image",module:"images",name:"Images",version:$t,mimeTypes:er,extensions:tr,parse:ie,tests:[e=>Boolean(ct(new DataView(e)))],options:nr};function ft(e,t,n){let r=typeof e=="function"?e({...t,...n}):e,s=t.baseUrl;return s&&(r=s[s.length-1]==="/"?`${s}${r}`:`${s}/${r}`),At(r)}var rr=e=>e&&typeof e=="object";async function oe(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return await _t(e,t,n)}async function _t(e,t,n){return Array.isArray(e)?await ir(e,t,n):rr(e)?await sr(e,t,n):await t(e,n)}async function sr(e,t,n){let r=[],s={};for(let i in e){let o=e[i],c=_t(o,t,n).then(a=>{s[i]=a});r.push(c)}return await Promise.all(r),s}async function ir(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=e.map(s=>_t(s,t,n));return await Promise.all(r)}async function ce(e,t,n){return await oe(e,r=>Nt(r,t,n))}async function Nt(e,t,n){let s=await(await fetch(e,n.fetch)).arrayBuffer();return await t(s,n)}async function K(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=await or(e,t);return await ce(n,at.parse,t)}async function or(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=t&&t.image&&t.image.mipLevels||0;return r!==0?await cr(e,r,t,n):ft(e,t,n)}async function cr(e,t,n,r){let s=[];if(t==="auto"){let i=ft(e,n,{...r,lod:0}),o=await Nt(i,at.parse,n),{width:c,height:a}=Rt(o);t=ar({width:c,height:a}),s.push(i)}Et(t>0);for(let i=s.length;i<t;++i){let o=ft(e,n,{...r,lod:i});s.push(o)}return s}function ar(e){return 1+Math.floor(Math.log2(Math.max(e.width,e.height)))}function fe(e,t){let n=e.createTexture({id:"brdfLUT",sampler:{wrapS:"clamp-to-edge",wrapT:"clamp-to-edge",minFilter:"linear",maxFilter:"linear"},data:K(t.brdfLutUrl)}),r=ae(e,{id:"DiffuseEnvSampler",getTextureForFace:i=>K(t.getTexUrl("diffuse",i,0)),sampler:{wrapS:"clamp-to-edge",wrapT:"clamp-to-edge",minFilter:"linear",maxFilter:"linear"}}),s=ae(e,{id:"SpecularEnvSampler",getTextureForFace:i=>{let o=[];for(let c=0;c<=t.specularMipLevels-1;c++)o.push(K(t.getTexUrl("specular",i,c)));return o},sampler:{wrapS:"clamp-to-edge",wrapT:"clamp-to-edge",minFilter:"linear",maxFilter:"linear"}});return{brdfLutTexture:n,diffuseEnvSampler:r,specularEnvSampler:s}}var fr=[0,1,2,3,4,5];function ae(e,{id:t,getTextureForFace:n,sampler:r}){let s={};return fr.forEach(i=>{s[String(i)]=n(i)}),e.createTexture({id:t,dimension:"cube",mipmaps:!1,sampler:r,data:s})}var Y=C(It(),1);var Qs=1/Math.PI*180,Zs=1/180*Math.PI,hr={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...hr}};var u=globalThis.mathgl.config;function le(e,{precision:t=u.precision}={}){return e=lr(e),"".concat(parseFloat(e.toPrecision(t)))}function D(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function vt(e,t,n){let r=u.EPSILON;n&&(u.EPSILON=n);try{if(e===t)return!0;if(D(e)&&D(t)){if(e.length!==t.length)return!1;for(let s=0;s<e.length;++s)if(!vt(e[s],t[s]))return!1;return!0}return e&&e.equals?e.equals(t):t&&t.equals?t.equals(e):typeof e=="number"&&typeof t=="number"?Math.abs(e-t)<=u.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{u.EPSILON=r}}function lr(e){return Math.round(e/u.EPSILON)*u.EPSILON}function pr(e){function t(){var n=Reflect.construct(e,Array.from(arguments));return Object.setPrototypeOf(n,Object.getPrototypeOf(this)),n}return t.prototype=Object.create(e.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e,t}var q=class extends pr(Array){clone(){return new this.constructor().copy(this)}fromArray(t,n=0){for(let r=0;r<this.ELEMENTS;++r)this[r]=t[r+n];return this.check()}toArray(t=[],n=0){for(let r=0;r<this.ELEMENTS;++r)t[n+r]=this[r];return t}toObject(t){return t}from(t){return Array.isArray(t)?this.copy(t):this.fromObject(t)}to(t){return t===this?this:D(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(u)}formatString(t){let n="";for(let r=0;r<this.ELEMENTS;++r)n+=(r>0?", ":"")+le(this[r],t);return"".concat(t.printTypes?this.constructor.name:"","[").concat(n,"]")}equals(t){if(!t||this.length!==t.length)return!1;for(let n=0;n<this.ELEMENTS;++n)if(!vt(this[n],t[n]))return!1;return!0}exactEquals(t){if(!t||this.length!==t.length)return!1;for(let n=0;n<this.ELEMENTS;++n)if(this[n]!==t[n])return!1;return!0}negate(){for(let t=0;t<this.ELEMENTS;++t)this[t]=-this[t];return this.check()}lerp(t,n,r){if(r===void 0)return this.lerp(this,t,n);for(let s=0;s<this.ELEMENTS;++s){let i=t[s],o=typeof n=="number"?n:n[s];this[s]=i+r*(o-i)}return this.check()}min(t){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(t[n],this[n]);return this.check()}max(t){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.max(t[n],this[n]);return this.check()}clamp(t,n){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(Math.max(this[r],t[r]),n[r]);return this.check()}add(...t){for(let n of t)for(let r=0;r<this.ELEMENTS;++r)this[r]+=n[r];return this.check()}subtract(...t){for(let n of t)for(let r=0;r<this.ELEMENTS;++r)this[r]-=n[r];return this.check()}scale(t){if(typeof t=="number")for(let n=0;n<this.ELEMENTS;++n)this[n]*=t;else for(let n=0;n<this.ELEMENTS&&n<t.length;++n)this[n]*=t[n];return this.check()}multiplyByScalar(t){for(let n=0;n<this.ELEMENTS;++n)this[n]*=t;return this.check()}check(){if(u.debug&&!this.validate())throw new Error("math.gl: ".concat(this.constructor.name," some fields set to invalid numbers'"));return this}validate(){let t=this.length===this.ELEMENTS;for(let n=0;n<this.ELEMENTS;++n)t=t&&Number.isFinite(this[n]);return t}sub(t){return this.subtract(t)}setScalar(t){for(let n=0;n<this.ELEMENTS;++n)this[n]=t;return this.check()}addScalar(t){for(let n=0;n<this.ELEMENTS;++n)this[n]+=t;return this.check()}subScalar(t){return this.addScalar(-t)}multiplyScalar(t){for(let n=0;n<this.ELEMENTS;++n)this[n]*=t;return this.check()}divideScalar(t){return this.multiplyByScalar(1/t)}clampScalar(t,n){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(Math.max(this[r],t),n);return this.check()}get elements(){return this}};function mr(e,t){if(e.length!==t)return!1;for(let n=0;n<e.length;++n)if(!Number.isFinite(e[n]))return!1;return!0}function w(e){if(!Number.isFinite(e))throw new Error("Invalid number ".concat(JSON.stringify(e)));return e}function V(e,t,n=""){if(u.debug&&!mr(e,t))throw new Error("math.gl: ".concat(n," some fields set to invalid numbers'"));return e}function bt(e,t){if(!e)throw new Error("math.gl assertion ".concat(t))}var ht=class extends q{get x(){return this[0]}set x(t){this[0]=w(t)}get y(){return this[1]}set y(t){this[1]=w(t)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let t=0;for(let n=0;n<this.ELEMENTS;++n)t+=this[n]*this[n];return t}magnitudeSquared(){return this.lengthSquared()}distance(t){return Math.sqrt(this.distanceSquared(t))}distanceSquared(t){let n=0;for(let r=0;r<this.ELEMENTS;++r){let s=this[r]-t[r];n+=s*s}return w(n)}dot(t){let n=0;for(let r=0;r<this.ELEMENTS;++r)n+=this[r]*t[r];return w(n)}normalize(){let t=this.magnitude();if(t!==0)for(let n=0;n<this.ELEMENTS;++n)this[n]/=t;return this.check()}multiply(...t){for(let n of t)for(let r=0;r<this.ELEMENTS;++r)this[r]*=n[r];return this.check()}divide(...t){for(let n of t)for(let r=0;r<this.ELEMENTS;++r)this[r]/=n[r];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(t){return this.distance(t)}distanceToSquared(t){return this.distanceSquared(t)}getComponent(t){return bt(t>=0&&t<this.ELEMENTS,"index is out of range"),w(this[t])}setComponent(t,n){return bt(t>=0&&t<this.ELEMENTS,"index is out of range"),this[t]=n,this.check()}addVectors(t,n){return this.copy(t).add(n)}subVectors(t,n){return this.copy(t).subtract(n)}multiplyVectors(t,n){return this.copy(t).multiply(n)}addScaledVector(t,n){return this.add(new this.constructor(t).multiplyScalar(n))}};var L=typeof Float32Array<"u"?Float32Array:Array;var fi=Math.PI/180;function xr(){let e=new L(2);return L!=Float32Array&&(e[0]=0,e[1]=0),e}function xe(e,t,n){let r=t[0],s=t[1];return e[0]=n[0]*r+n[4]*s+n[12],e[1]=n[1]*r+n[5]*s+n[13],e}var hi=function(){let e=xr();return function(t,n,r,s,i,o){let c,a;for(n||(n=2),r||(r=0),s?a=Math.min(s*n+r,t.length):a=t.length,c=r;c<a;c+=n)e[0]=t[c],e[1]=t[c+1],i(e,e,o),t[c]=e[0],t[c+1]=e[1];return t}}();function de(e,t,n){let r=t[0],s=t[1],i=n[3]*r+n[7]*s||1;return e[0]=(n[0]*r+n[4]*s)/i,e[1]=(n[1]*r+n[5]*s)/i,e}function ge(e,t,n){let r=t[0],s=t[1],i=t[2],o=n[3]*r+n[7]*s+n[11]*i||1;return e[0]=(n[0]*r+n[4]*s+n[8]*i)/o,e[1]=(n[1]*r+n[5]*s+n[9]*i)/o,e[2]=(n[2]*r+n[6]*s+n[10]*i)/o,e}function Me(e,t,n){let r=t[0],s=t[1];return e[0]=n[0]*r+n[2]*s,e[1]=n[1]*r+n[3]*s,e[2]=t[2],e[3]=t[3],e}function ye(e,t,n){let r=t[0],s=t[1],i=t[2];return e[0]=n[0]*r+n[3]*s+n[6]*i,e[1]=n[1]*r+n[4]*s+n[7]*i,e[2]=n[2]*r+n[5]*s+n[8]*i,e[3]=t[3],e}function Bt(){let e=new L(3);return L!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function dr(e){let t=e[0],n=e[1],r=e[2];return Math.sqrt(t*t+n*n+r*r)}function kt(e,t,n){let r=new L(3);return r[0]=e,r[1]=t,r[2]=n,r}function Te(e,t){let n=t[0],r=t[1],s=t[2],i=n*n+r*r+s*s;return i>0&&(i=1/Math.sqrt(i)),e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e}function Ee(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function lt(e,t,n){let r=t[0],s=t[1],i=t[2],o=n[0],c=n[1],a=n[2];return e[0]=s*a-i*c,e[1]=i*o-r*a,e[2]=r*c-s*o,e}function pt(e,t,n){let r=t[0],s=t[1],i=t[2],o=n[3]*r+n[7]*s+n[11]*i+n[15];return o=o||1,e[0]=(n[0]*r+n[4]*s+n[8]*i+n[12])/o,e[1]=(n[1]*r+n[5]*s+n[9]*i+n[13])/o,e[2]=(n[2]*r+n[6]*s+n[10]*i+n[14])/o,e}function Ae(e,t,n){let r=n[0],s=n[1],i=n[2],o=n[3],c=t[0],a=t[1],f=t[2],h=s*f-i*a,l=i*c-r*f,p=r*a-s*c,m=s*p-i*l,x=i*h-r*p,d=r*l-s*h,g=o*2;return h*=g,l*=g,p*=g,m*=2,x*=2,d*=2,e[0]=c+h+m,e[1]=a+l+x,e[2]=f+p+d,e}var Se=dr;var mi=function(){let e=Bt();return function(t,n,r,s,i,o){let c,a;for(n||(n=3),r||(r=0),s?a=Math.min(s*n+r,t.length):a=t.length,c=r;c<a;c+=n)e[0]=t[c],e[1]=t[c+1],e[2]=t[c+2],i(e,e,o),t[c]=e[0],t[c+1]=e[1],t[c+2]=e[2];return t}}();var mt,U=class extends ht{static get ZERO(){return mt||(mt=new U(0,0,0,0),Object.freeze(mt)),mt}constructor(t=0,n=0,r=0,s=0){super(-0,-0,-0,-0),D(t)&&arguments.length===1?this.copy(t):(u.debug&&(w(t),w(n),w(r),w(s)),this[0]=t,this[1]=n,this[2]=r,this[3]=s)}set(t,n,r,s){return this[0]=t,this[1]=n,this[2]=r,this[3]=s,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}fromObject(t){return u.debug&&(w(t.x),w(t.y),w(t.z),w(t.w)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t.w=this[3],t}get ELEMENTS(){return 4}get z(){return this[2]}set z(t){this[2]=w(t)}get w(){return this[3]}set w(t){this[3]=w(t)}transform(t){return pt(this,this,t),this.check()}transformByMatrix3(t){return ye(this,this,t),this.check()}transformByMatrix2(t){return Me(this,this,t),this.check()}transformByQuaternion(t){return Ae(this,this,t),this.check()}applyMatrix4(t){return t.transform(this,this),this}};var xt=class extends q{toString(){let t="[";if(u.printRowMajor){t+="row-major:";for(let n=0;n<this.RANK;++n)for(let r=0;r<this.RANK;++r)t+=" ".concat(this[r*this.RANK+n])}else{t+="column-major:";for(let n=0;n<this.ELEMENTS;++n)t+=" ".concat(this[n])}return t+="]",t}getElementIndex(t,n){return n*this.RANK+t}getElement(t,n){return this[n*this.RANK+t]}setElement(t,n,r){return this[n*this.RANK+t]=w(r),this}getColumn(t,n=new Array(this.RANK).fill(-0)){let r=t*this.RANK;for(let s=0;s<this.RANK;++s)n[s]=this[r+s];return n}setColumn(t,n){let r=t*this.RANK;for(let s=0;s<this.RANK;++s)this[r+s]=n[s];return this}};function we(){let e=new L(9);return L!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function yr(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Oe(e,t){if(e===t){let n=t[1],r=t[2],s=t[3],i=t[6],o=t[7],c=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=n,e[6]=t[9],e[7]=t[13],e[8]=r,e[9]=i,e[11]=t[14],e[12]=s,e[13]=o,e[14]=c}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function ue(e,t){let n=t[0],r=t[1],s=t[2],i=t[3],o=t[4],c=t[5],a=t[6],f=t[7],h=t[8],l=t[9],p=t[10],m=t[11],x=t[12],d=t[13],g=t[14],A=t[15],O=n*c-r*o,M=n*a-s*o,y=n*f-i*o,T=r*a-s*c,E=r*f-i*c,R=s*f-i*a,P=h*d-l*x,_=h*g-p*x,N=h*A-m*x,I=l*g-p*d,v=l*A-m*d,b=p*A-m*g,S=O*b-M*v+y*I+T*N-E*_+R*P;return S?(S=1/S,e[0]=(c*b-a*v+f*I)*S,e[1]=(s*v-r*b-i*I)*S,e[2]=(d*R-g*E+A*T)*S,e[3]=(p*E-l*R-m*T)*S,e[4]=(a*N-o*b-f*_)*S,e[5]=(n*b-s*N+i*_)*S,e[6]=(g*y-x*R-A*M)*S,e[7]=(h*R-p*y+m*M)*S,e[8]=(o*v-c*N+f*P)*S,e[9]=(r*N-n*v-i*P)*S,e[10]=(x*E-d*y+A*O)*S,e[11]=(l*y-h*E-m*O)*S,e[12]=(c*_-o*I-a*P)*S,e[13]=(n*I-r*_+s*P)*S,e[14]=(d*M-x*T-g*O)*S,e[15]=(h*T-l*M+p*O)*S,e):null}function Le(e){let t=e[0],n=e[1],r=e[2],s=e[3],i=e[4],o=e[5],c=e[6],a=e[7],f=e[8],h=e[9],l=e[10],p=e[11],m=e[12],x=e[13],d=e[14],g=e[15],A=t*o-n*i,O=t*c-r*i,M=n*c-r*o,y=f*x-h*m,T=f*d-l*m,E=h*d-l*x,R=t*E-n*T+r*y,P=i*E-o*T+c*y,_=f*M-h*O+l*A,N=m*M-x*O+d*A;return a*R-s*P+g*_-p*N}function Ft(e,t,n){let r=t[0],s=t[1],i=t[2],o=t[3],c=t[4],a=t[5],f=t[6],h=t[7],l=t[8],p=t[9],m=t[10],x=t[11],d=t[12],g=t[13],A=t[14],O=t[15],M=n[0],y=n[1],T=n[2],E=n[3];return e[0]=M*r+y*c+T*l+E*d,e[1]=M*s+y*a+T*p+E*g,e[2]=M*i+y*f+T*m+E*A,e[3]=M*o+y*h+T*x+E*O,M=n[4],y=n[5],T=n[6],E=n[7],e[4]=M*r+y*c+T*l+E*d,e[5]=M*s+y*a+T*p+E*g,e[6]=M*i+y*f+T*m+E*A,e[7]=M*o+y*h+T*x+E*O,M=n[8],y=n[9],T=n[10],E=n[11],e[8]=M*r+y*c+T*l+E*d,e[9]=M*s+y*a+T*p+E*g,e[10]=M*i+y*f+T*m+E*A,e[11]=M*o+y*h+T*x+E*O,M=n[12],y=n[13],T=n[14],E=n[15],e[12]=M*r+y*c+T*l+E*d,e[13]=M*s+y*a+T*p+E*g,e[14]=M*i+y*f+T*m+E*A,e[15]=M*o+y*h+T*x+E*O,e}function Re(e,t,n){let r=n[0],s=n[1],i=n[2],o,c,a,f,h,l,p,m,x,d,g,A;return t===e?(e[12]=t[0]*r+t[4]*s+t[8]*i+t[12],e[13]=t[1]*r+t[5]*s+t[9]*i+t[13],e[14]=t[2]*r+t[6]*s+t[10]*i+t[14],e[15]=t[3]*r+t[7]*s+t[11]*i+t[15]):(o=t[0],c=t[1],a=t[2],f=t[3],h=t[4],l=t[5],p=t[6],m=t[7],x=t[8],d=t[9],g=t[10],A=t[11],e[0]=o,e[1]=c,e[2]=a,e[3]=f,e[4]=h,e[5]=l,e[6]=p,e[7]=m,e[8]=x,e[9]=d,e[10]=g,e[11]=A,e[12]=o*r+h*s+x*i+t[12],e[13]=c*r+l*s+d*i+t[13],e[14]=a*r+p*s+g*i+t[14],e[15]=f*r+m*s+A*i+t[15]),e}function Pe(e,t,n){let r=n[0],s=n[1],i=n[2];return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*s,e[5]=t[5]*s,e[6]=t[6]*s,e[7]=t[7]*s,e[8]=t[8]*i,e[9]=t[9]*i,e[10]=t[10]*i,e[11]=t[11]*i,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function _e(e,t,n,r){let s=r[0],i=r[1],o=r[2],c=Math.sqrt(s*s+i*i+o*o),a,f,h,l,p,m,x,d,g,A,O,M,y,T,E,R,P,_,N,I,v,b,S,W;return c<1e-6?null:(c=1/c,s*=c,i*=c,o*=c,f=Math.sin(n),a=Math.cos(n),h=1-a,l=t[0],p=t[1],m=t[2],x=t[3],d=t[4],g=t[5],A=t[6],O=t[7],M=t[8],y=t[9],T=t[10],E=t[11],R=s*s*h+a,P=i*s*h+o*f,_=o*s*h-i*f,N=s*i*h-o*f,I=i*i*h+a,v=o*i*h+s*f,b=s*o*h+i*f,S=i*o*h-s*f,W=o*o*h+a,e[0]=l*R+d*P+M*_,e[1]=p*R+g*P+y*_,e[2]=m*R+A*P+T*_,e[3]=x*R+O*P+E*_,e[4]=l*N+d*I+M*v,e[5]=p*N+g*I+y*v,e[6]=m*N+A*I+T*v,e[7]=x*N+O*I+E*v,e[8]=l*b+d*S+M*W,e[9]=p*b+g*S+y*W,e[10]=m*b+A*S+T*W,e[11]=x*b+O*S+E*W,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function Ne(e,t,n){let r=Math.sin(n),s=Math.cos(n),i=t[4],o=t[5],c=t[6],a=t[7],f=t[8],h=t[9],l=t[10],p=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=i*s+f*r,e[5]=o*s+h*r,e[6]=c*s+l*r,e[7]=a*s+p*r,e[8]=f*s-i*r,e[9]=h*s-o*r,e[10]=l*s-c*r,e[11]=p*s-a*r,e}function Ie(e,t,n){let r=Math.sin(n),s=Math.cos(n),i=t[0],o=t[1],c=t[2],a=t[3],f=t[8],h=t[9],l=t[10],p=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*s-f*r,e[1]=o*s-h*r,e[2]=c*s-l*r,e[3]=a*s-p*r,e[8]=i*r+f*s,e[9]=o*r+h*s,e[10]=c*r+l*s,e[11]=a*r+p*s,e}function ve(e,t,n){let r=Math.sin(n),s=Math.cos(n),i=t[0],o=t[1],c=t[2],a=t[3],f=t[4],h=t[5],l=t[6],p=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*s+f*r,e[1]=o*s+h*r,e[2]=c*s+l*r,e[3]=a*s+p*r,e[4]=f*s-i*r,e[5]=h*s-o*r,e[6]=l*s-c*r,e[7]=p*s-a*r,e}function be(e,t){let n=t[0],r=t[1],s=t[2],i=t[3],o=n+n,c=r+r,a=s+s,f=n*o,h=r*o,l=r*c,p=s*o,m=s*c,x=s*a,d=i*o,g=i*c,A=i*a;return e[0]=1-l-x,e[1]=h+A,e[2]=p-g,e[3]=0,e[4]=h-A,e[5]=1-f-x,e[6]=m+d,e[7]=0,e[8]=p+g,e[9]=m-d,e[10]=1-f-l,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Be(e,t,n,r,s,i,o){let c=1/(n-t),a=1/(s-r),f=1/(i-o);return e[0]=i*2*c,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=i*2*a,e[6]=0,e[7]=0,e[8]=(n+t)*c,e[9]=(s+r)*a,e[10]=(o+i)*f,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*i*2*f,e[15]=0,e}function Tr(e,t,n,r,s){let i=1/Math.tan(t/2);if(e[0]=i/n,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=i,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,s!=null&&s!==1/0){let o=1/(r-s);e[10]=(s+r)*o,e[14]=2*s*r*o}else e[10]=-1,e[14]=-2*r;return e}var ke=Tr;function Er(e,t,n,r,s,i,o){let c=1/(t-n),a=1/(r-s),f=1/(i-o);return e[0]=-2*c,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*f,e[11]=0,e[12]=(t+n)*c,e[13]=(s+r)*a,e[14]=(o+i)*f,e[15]=1,e}var Fe=Er;function ze(e,t,n,r){let s,i,o,c,a,f,h,l,p,m,x=t[0],d=t[1],g=t[2],A=r[0],O=r[1],M=r[2],y=n[0],T=n[1],E=n[2];return Math.abs(x-y)<1e-6&&Math.abs(d-T)<1e-6&&Math.abs(g-E)<1e-6?yr(e):(l=x-y,p=d-T,m=g-E,s=1/Math.sqrt(l*l+p*p+m*m),l*=s,p*=s,m*=s,i=O*m-M*p,o=M*l-A*m,c=A*p-O*l,s=Math.sqrt(i*i+o*o+c*c),s?(s=1/s,i*=s,o*=s,c*=s):(i=0,o=0,c=0),a=p*c-m*o,f=m*i-l*c,h=l*o-p*i,s=Math.sqrt(a*a+f*f+h*h),s?(s=1/s,a*=s,f*=s,h*=s):(a=0,f=0,h=0),e[0]=i,e[1]=a,e[2]=l,e[3]=0,e[4]=o,e[5]=f,e[6]=p,e[7]=0,e[8]=c,e[9]=h,e[10]=m,e[11]=0,e[12]=-(i*x+o*d+c*g),e[13]=-(a*x+f*d+h*g),e[14]=-(l*x+p*d+m*g),e[15]=1,e)}function Ar(){let e=new L(4);return L!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function qe(e,t,n){return e[0]=t[0]+n[0],e[1]=t[1]+n[1],e[2]=t[2]+n[2],e[3]=t[3]+n[3],e}function Ce(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e}function De(e){let t=e[0],n=e[1],r=e[2],s=e[3];return Math.sqrt(t*t+n*n+r*r+s*s)}function Ve(e){let t=e[0],n=e[1],r=e[2],s=e[3];return t*t+n*n+r*r+s*s}function Ue(e,t){let n=t[0],r=t[1],s=t[2],i=t[3],o=n*n+r*r+s*s+i*i;return o>0&&(o=1/Math.sqrt(o)),e[0]=n*o,e[1]=r*o,e[2]=s*o,e[3]=i*o,e}function Ge(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function Ye(e,t,n,r){let s=t[0],i=t[1],o=t[2],c=t[3];return e[0]=s+r*(n[0]-s),e[1]=i+r*(n[1]-i),e[2]=o+r*(n[2]-o),e[3]=c+r*(n[3]-c),e}function We(e,t,n){let r=t[0],s=t[1],i=t[2],o=t[3];return e[0]=n[0]*r+n[4]*s+n[8]*i+n[12]*o,e[1]=n[1]*r+n[5]*s+n[9]*i+n[13]*o,e[2]=n[2]*r+n[6]*s+n[10]*i+n[14]*o,e[3]=n[3]*r+n[7]*s+n[11]*i+n[15]*o,e}function je(e,t,n){let r=t[0],s=t[1],i=t[2],o=n[0],c=n[1],a=n[2],f=n[3],h=f*r+c*i-a*s,l=f*s+a*r-o*i,p=f*i+o*s-c*r,m=-o*r-c*s-a*i;return e[0]=h*f+m*-o+l*-a-p*-c,e[1]=l*f+m*-c+p*-o-h*-a,e[2]=p*f+m*-a+h*-c-l*-o,e[3]=t[3],e}var ui=function(){let e=Ar();return function(t,n,r,s,i,o){let c,a;for(n||(n=4),r||(r=0),s?a=Math.min(s*n+r,t.length):a=t.length,c=r;c<a;c+=n)e[0]=t[c],e[1]=t[c+1],e[2]=t[c+2],e[3]=t[c+3],i(e,e,o),t[c]=e[0],t[c+1]=e[1],t[c+2]=e[2],t[c+3]=e[3];return t}}();var Ct;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL0ROW3=3]="COL0ROW3",e[e.COL1ROW0=4]="COL1ROW0",e[e.COL1ROW1=5]="COL1ROW1",e[e.COL1ROW2=6]="COL1ROW2",e[e.COL1ROW3=7]="COL1ROW3",e[e.COL2ROW0=8]="COL2ROW0",e[e.COL2ROW1=9]="COL2ROW1",e[e.COL2ROW2=10]="COL2ROW2",e[e.COL2ROW3=11]="COL2ROW3",e[e.COL3ROW0=12]="COL3ROW0",e[e.COL3ROW1=13]="COL3ROW1",e[e.COL3ROW2=14]="COL3ROW2",e[e.COL3ROW3=15]="COL3ROW3"})(Ct||(Ct={}));var wr=45*Math.PI/180,Or=1,zt=.1,qt=500,ur=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),z=class extends xt{static get IDENTITY(){return Rr()}static get ZERO(){return Lr()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return Ct}constructor(t){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this[9]=t[9],this[10]=t[10],this[11]=t[11],this[12]=t[12],this[13]=t[13],this[14]=t[14],this[15]=t[15],this.check()}set(t,n,r,s,i,o,c,a,f,h,l,p,m,x,d,g){return this[0]=t,this[1]=n,this[2]=r,this[3]=s,this[4]=i,this[5]=o,this[6]=c,this[7]=a,this[8]=f,this[9]=h,this[10]=l,this[11]=p,this[12]=m,this[13]=x,this[14]=d,this[15]=g,this.check()}setRowMajor(t,n,r,s,i,o,c,a,f,h,l,p,m,x,d,g){return this[0]=t,this[1]=i,this[2]=f,this[3]=m,this[4]=n,this[5]=o,this[6]=h,this[7]=x,this[8]=r,this[9]=c,this[10]=l,this[11]=d,this[12]=s,this[13]=a,this[14]=p,this[15]=g,this.check()}toRowMajor(t){return t[0]=this[0],t[1]=this[4],t[2]=this[8],t[3]=this[12],t[4]=this[1],t[5]=this[5],t[6]=this[9],t[7]=this[13],t[8]=this[2],t[9]=this[6],t[10]=this[10],t[11]=this[14],t[12]=this[3],t[13]=this[7],t[14]=this[11],t[15]=this[15],t}identity(){return this.copy(ur)}fromObject(t){return this.check()}fromQuaternion(t){return be(this,t),this.check()}frustum(t){let{left:n,right:r,bottom:s,top:i,near:o=zt,far:c=qt}=t;return c===1/0?Pr(this,n,r,s,i,o):Be(this,n,r,s,i,o,c),this.check()}lookAt(t){let{eye:n,center:r=[0,0,0],up:s=[0,1,0]}=t;return ze(this,n,r,s),this.check()}ortho(t){let{left:n,right:r,bottom:s,top:i,near:o=zt,far:c=qt}=t;return Fe(this,n,r,s,i,o,c),this.check()}orthographic(t){let{fovy:n=wr,aspect:r=Or,focalDistance:s=1,near:i=zt,far:o=qt}=t;He(n);let c=n/2,a=s*Math.tan(c),f=a*r;return this.ortho({left:-f,right:f,bottom:-a,top:a,near:i,far:o})}perspective(t){let{fovy:n=45*Math.PI/180,aspect:r=1,near:s=.1,far:i=500}=t;return He(n),ke(this,n,r,s,i),this.check()}determinant(){return Le(this)}getScale(t=[-0,-0,-0]){return t[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),t[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),t[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),t}getTranslation(t=[-0,-0,-0]){return t[0]=this[12],t[1]=this[13],t[2]=this[14],t}getRotation(t,n){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],n=n||[-0,-0,-0];let r=this.getScale(n),s=1/r[0],i=1/r[1],o=1/r[2];return t[0]=this[0]*s,t[1]=this[1]*i,t[2]=this[2]*o,t[3]=0,t[4]=this[4]*s,t[5]=this[5]*i,t[6]=this[6]*o,t[7]=0,t[8]=this[8]*s,t[9]=this[9]*i,t[10]=this[10]*o,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}getRotationMatrix3(t,n){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0],n=n||[-0,-0,-0];let r=this.getScale(n),s=1/r[0],i=1/r[1],o=1/r[2];return t[0]=this[0]*s,t[1]=this[1]*i,t[2]=this[2]*o,t[3]=this[4]*s,t[4]=this[5]*i,t[5]=this[6]*o,t[6]=this[8]*s,t[7]=this[9]*i,t[8]=this[10]*o,t}transpose(){return Oe(this,this),this.check()}invert(){return ue(this,this),this.check()}multiplyLeft(t){return Ft(this,t,this),this.check()}multiplyRight(t){return Ft(this,this,t),this.check()}rotateX(t){return Ne(this,this,t),this.check()}rotateY(t){return Ie(this,this,t),this.check()}rotateZ(t){return ve(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,n){return _e(this,this,t,n),this.check()}scale(t){return Pe(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return Re(this,this,t),this.check()}transform(t,n){return t.length===4?(n=We(n||[-0,-0,-0,-0],t,this),V(n,4),n):this.transformAsPoint(t,n)}transformAsPoint(t,n){let{length:r}=t,s;switch(r){case 2:s=xe(n||[-0,-0],t,this);break;case 3:s=pt(n||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return V(s,t.length),s}transformAsVector(t,n){let r;switch(t.length){case 2:r=de(n||[-0,-0],t,this);break;case 3:r=ge(n||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return V(r,t.length),r}transformPoint(t,n){return this.transformAsPoint(t,n)}transformVector(t,n){return this.transformAsPoint(t,n)}transformDirection(t,n){return this.transformAsVector(t,n)}makeRotationX(t){return this.identity().rotateX(t)}makeTranslation(t,n,r){return this.identity().translate([t,n,r])}},dt,gt;function Lr(){return dt||(dt=new z([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(dt)),dt}function Rr(){return gt||(gt=new z,Object.freeze(gt)),gt}function He(e){if(e>Math.PI*2)throw Error("expected radians")}function Pr(e,t,n,r,s,i){let o=2*i/(n-t),c=2*i/(s-r),a=(n+t)/(n-t),f=(s+r)/(s-r),h=-1,l=-1,p=-2*i;return e[0]=o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=a,e[9]=f,e[10]=h,e[11]=l,e[12]=0,e[13]=0,e[14]=p,e[15]=0,e}function Xe(){let e=new L(4);return L!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function $e(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function Dt(e,t,n){n=n*.5;let r=Math.sin(n);return e[0]=r*t[0],e[1]=r*t[1],e[2]=r*t[2],e[3]=Math.cos(n),e}function Vt(e,t,n){let r=t[0],s=t[1],i=t[2],o=t[3],c=n[0],a=n[1],f=n[2],h=n[3];return e[0]=r*h+o*c+s*f-i*a,e[1]=s*h+o*a+i*c-r*f,e[2]=i*h+o*f+r*a-s*c,e[3]=o*h-r*c-s*a-i*f,e}function Ke(e,t,n){n*=.5;let r=t[0],s=t[1],i=t[2],o=t[3],c=Math.sin(n),a=Math.cos(n);return e[0]=r*a+o*c,e[1]=s*a+i*c,e[2]=i*a-s*c,e[3]=o*a-r*c,e}function Qe(e,t,n){n*=.5;let r=t[0],s=t[1],i=t[2],o=t[3],c=Math.sin(n),a=Math.cos(n);return e[0]=r*a-i*c,e[1]=s*a+o*c,e[2]=i*a+r*c,e[3]=o*a-s*c,e}function Ze(e,t,n){n*=.5;let r=t[0],s=t[1],i=t[2],o=t[3],c=Math.sin(n),a=Math.cos(n);return e[0]=r*a+s*c,e[1]=s*a-r*c,e[2]=i*a+o*c,e[3]=o*a-i*c,e}function Je(e,t){let n=t[0],r=t[1],s=t[2];return e[0]=n,e[1]=r,e[2]=s,e[3]=Math.sqrt(Math.abs(1-n*n-r*r-s*s)),e}function Z(e,t,n,r){let s=t[0],i=t[1],o=t[2],c=t[3],a=n[0],f=n[1],h=n[2],l=n[3],p,m,x,d,g;return p=s*a+i*f+o*h+c*l,p<0&&(p=-p,a=-a,f=-f,h=-h,l=-l),1-p>1e-6?(m=Math.acos(p),g=Math.sin(m),x=Math.sin((1-r)*m)/g,d=Math.sin(r*m)/g):(x=1-r,d=r),e[0]=x*s+d*a,e[1]=x*i+d*f,e[2]=x*o+d*h,e[3]=x*c+d*l,e}function tn(e,t){let n=t[0],r=t[1],s=t[2],i=t[3],o=n*n+r*r+s*s+i*i,c=o?1/o:0;return e[0]=-n*c,e[1]=-r*c,e[2]=-s*c,e[3]=i*c,e}function en(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function Ut(e,t){let n=t[0]+t[4]+t[8],r;if(n>0)r=Math.sqrt(n+1),e[3]=.5*r,r=.5/r,e[0]=(t[5]-t[7])*r,e[1]=(t[6]-t[2])*r,e[2]=(t[1]-t[3])*r;else{let s=0;t[4]>t[0]&&(s=1),t[8]>t[s*3+s]&&(s=2);let i=(s+1)%3,o=(s+2)%3;r=Math.sqrt(t[s*3+s]-t[i*3+i]-t[o*3+o]+1),e[s]=.5*r,r=.5/r,e[3]=(t[i*3+o]-t[o*3+i])*r,e[i]=(t[i*3+s]+t[s*3+i])*r,e[o]=(t[o*3+s]+t[s*3+o])*r}return e}var nn=qe;var rn=Ce,sn=Ge,on=Ye,cn=De;var an=Ve;var fn=Ue;var hn=function(){let e=Bt(),t=kt(1,0,0),n=kt(0,1,0);return function(r,s,i){let o=Ee(s,i);return o<-.999999?(lt(e,t,s),Se(e)<1e-6&&lt(e,n,s),Te(e,e),Dt(r,e,Math.PI),r):o>.999999?(r[0]=0,r[1]=0,r[2]=0,r[3]=1,r):(lt(e,s,i),r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=1+o,fn(r,r))}}(),Ci=function(){let e=Xe(),t=Xe();return function(n,r,s,i,o,c){return Z(e,r,o,c),Z(t,s,i,c),Z(n,e,t,2*c*(1-c)),n}}(),Di=function(){let e=we();return function(t,n,r,s){return e[0]=r[0],e[3]=r[1],e[6]=r[2],e[1]=s[0],e[4]=s[1],e[7]=s[2],e[2]=-n[0],e[5]=-n[1],e[8]=-n[2],fn(t,Ut(t,e))}}();var _r=[0,0,0,1],J=class extends q{constructor(t=0,n=0,r=0,s=1){super(-0,-0,-0,-0),Array.isArray(t)&&arguments.length===1?this.copy(t):this.set(t,n,r,s)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,n,r,s){return this[0]=t,this[1]=n,this[2]=r,this[3]=s,this.check()}fromObject(t){return this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this.check()}fromMatrix3(t){return Ut(this,t),this.check()}fromAxisRotation(t,n){return Dt(this,t,n),this.check()}identity(){return $e(this),this.check()}setAxisAngle(t,n){return this.fromAxisRotation(t,n)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=w(t)}get y(){return this[1]}set y(t){this[1]=w(t)}get z(){return this[2]}set z(t){this[2]=w(t)}get w(){return this[3]}set w(t){this[3]=w(t)}len(){return cn(this)}lengthSquared(){return an(this)}dot(t){return sn(this,t)}rotationTo(t,n){return hn(this,t,n),this.check()}add(t){return nn(this,this,t),this.check()}calculateW(){return Je(this,this),this.check()}conjugate(){return en(this,this),this.check()}invert(){return tn(this,this),this.check()}lerp(t,n,r){return r===void 0?this.lerp(this,t,n):(on(this,t,n,r),this.check())}multiplyRight(t){return Vt(this,this,t),this.check()}multiplyLeft(t){return Vt(this,t,this),this.check()}normalize(){let t=this.len(),n=t>0?1/t:0;return this[0]=this[0]*n,this[1]=this[1]*n,this[2]=this[2]*n,this[3]=this[3]*n,t===0&&(this[3]=1),this.check()}rotateX(t){return Ke(this,this,t),this.check()}rotateY(t){return Qe(this,this,t),this.check()}rotateZ(t){return Ze(this,this,t),this.check()}scale(t){return rn(this,this,t),this.check()}slerp(t,n,r){let s,i,o;switch(arguments.length){case 1:({start:s=_r,target:i,ratio:o}=t);break;case 2:s=this,i=t,o=n;break;default:s=t,i=n,o=r}return Z(this,s,i,o),this.check()}transformVector4(t,n=new U){return je(n,t,this),V(n,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,n){return this.setAxisAngle(t,n)}premultiply(t){return this.multiplyLeft(t)}multiply(t){return this.multiplyRight(t)}};var tt=C(nt(),1);var Nr={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Ir={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},Yt=class{name;startTime=0;playing=!0;speed=1;channels=[];constructor(t){Object.assign(this,t)}animate(t){if(!this.playing)return;let r=(t/1e3-this.startTime)*this.speed;this.channels.forEach(({sampler:s,target:i,path:o})=>{zr(r,s,i,o),br(i,i._node)})}},G=class{animations;constructor(t){this.animations=t.animations.map((n,r)=>{let s=n.name||`Animation-${r}`,i=n.samplers.map(({input:c,interpolation:a="LINEAR",output:f})=>({input:ln(t.accessors[c]),interpolation:a,output:ln(t.accessors[f])})),o=n.channels.map(({sampler:c,target:a})=>({sampler:i[c],target:t.nodes[a.node],path:a.path}));return new Yt({name:s,channels:o})})}animate(t){this.setTime(t)}setTime(t){this.animations.forEach(n=>n.animate(t))}getAnimations(){return this.animations}};function ln(e){if(!e._animation){let t=Ir[e.componentType],n=Nr[e.type],r=n*e.count,{buffer:s,byteOffset:i}=e.bufferView.data,o=new t(s,i+(e.byteOffset||0),r);if(n===1)e._animation=Array.from(o);else{let c=[];for(let a=0;a<o.length;a+=n)c.push(Array.from(o.slice(a,a+n)));e._animation=c}}return e._animation}var vr=new z;function br(e,t){if(t.matrix.identity(),e.translation&&t.matrix.translate(e.translation),e.rotation){let n=vr.fromQuaternion(e.rotation);t.matrix.multiplyRight(n)}e.scale&&t.matrix.scale(e.scale)}var Gt=new J;function Br(e,t,n,r,s){if(t==="rotation"){Gt.slerp({start:n,target:r,ratio:s});for(let i=0;i<Gt.length;i++)e[t][i]=Gt[i]}else for(let i=0;i<n.length;i++)e[t][i]=s*r[i]+(1-s)*n[i]}function kr(e,t,{p0:n,outTangent0:r,inTangent1:s,p1:i,tDiff:o,ratio:c}){for(let a=0;a<e[t].length;a++){let f=r[a]*o,h=s[a]*o;e[t][a]=(2*Math.pow(c,3)-3*Math.pow(c,2)+1)*n[a]+(Math.pow(c,3)-2*Math.pow(c,2)+c)*f+(-2*Math.pow(c,3)+3*Math.pow(c,2))*i[a]+(Math.pow(c,3)-Math.pow(c,2))*h}}function Fr(e,t,n){for(let r=0;r<n.length;r++)e[t][r]=n[r]}function zr(e,{input:t,interpolation:n,output:r},s,i){let o=t[t.length-1],c=e%o,a=t.findIndex(p=>p>=c),f=Math.max(0,a-1);if(!Array.isArray(s[i]))switch(i){case"translation":s[i]=[0,0,0];break;case"rotation":s[i]=[0,0,0,1];break;case"scale":s[i]=[1,1,1];break;default:tt.log.warn(`Bad animation path ${i}`)()}(0,tt.assert)(s[i].length===r[f].length);let h=t[f],l=t[a];switch(n){case"STEP":Fr(s,i,r[f]);break;case"LINEAR":if(l>h){let p=(c-h)/(l-h);Br(s,i,r[f],r[a],p)}break;case"CUBICSPLINE":if(l>h){let p=(c-h)/(l-h),m=l-h,x=r[3*f+1],d=r[3*f+2],g=r[3*a+0],A=r[3*a+1];kr(s,i,{p0:x,outTangent0:d,inTangent1:g,p1:A,tDiff:m,ratio:p})}break;default:tt.log.warn(`Interpolation ${n} not supported`)();break}}var dn=C(nt(),1),gn=C(mn(),1),Mt=C(It(),1);var qr=`
1218
8
  #pragma vscode_glsllint_stage: vert
1219
9
  #if (__VERSION__ < 300)
1220
10
  #define _attr attribute
@@ -1259,7 +49,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
1259
49
  pbr_setPositionNormalTangentUV(positions, _NORMAL, _TANGENT, _TEXCOORD_0);
1260
50
  gl_Position = u_MVPMatrix * positions;
1261
51
  }
1262
- `,iI=`
52
+ `,Cr=`
1263
53
  #pragma vscode_glsllint_stage: frag
1264
54
  #if (__VERSION__ < 300)
1265
55
  #define fragmentColor gl_FragColor
@@ -1271,8 +61,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
1271
61
  vec3 pos = pbr_vPosition;
1272
62
  fragmentColor = pbr_filterColor(vec4(1.0));
1273
63
  }
1274
- `;function T_(e,t){var r=t.id,n=t.geometry,o=t.material,i=t.vertexCount,a=t.materialOptions,s=t.modelOptions,f=co(e,o,n.attributes,a);x.info(4,"createGLTFModel defines: ",f.defines)();var u=[],d={depthWriteEnabled:!0,depthCompare:"less",depthFormat:"depth24plus",cullMode:"back"},m=Oe(Oe({id:r,geometry:n,topology:n.topology,vertexCount:i,modules:[va],vs:S_(e,oI),fs:S_(e,iI)},s),{},{bindings:Oe(Oe({},f.bindings),s.bindings),defines:Oe(Oe({},f.defines),s.defines),parameters:Oe(Oe(Oe({},d),f.parameters),s.parameters),uniforms:Oe(Oe({},f.uniforms),s.uniforms)}),v=new Io(e,m);return new Na({managedResources:u,model:v})}function S_(e,t){return e.info.type==="webgl2"?`#version 300 es
1275
- `.concat(t):t}function In(e){return In=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},In(e)}function aI(e,t){return uI(e)||cI(e,t)||sI(e,t)||fI()}function fI(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1276
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function sI(e,t){if(e){if(typeof e=="string")return R_(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return R_(e,t)}}function R_(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function cI(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,a,s=[],f=!0,u=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);f=!0);}catch(d){u=!0,o=d}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}function uI(e){if(Array.isArray(e))return e}function O_(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function P_(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?O_(Object(r),!0).forEach(function(n){lI(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):O_(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function lI(e,t,r){return t=N_(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function I_(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,N_(n.key),n)}}function pI(e,t,r){return t&&I_(e.prototype,t),r&&I_(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function N_(e){var t=hI(e,"string");return In(t)==="symbol"?t:String(t)}function hI(e,t){if(In(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(In(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function dI(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var _I={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1},w_=function(){function e(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};dI(this,e),this.device=void 0,this.options=void 0,this.gltf=void 0,this.device=be.attach(r),this.options=P_(P_({},_I),n)}var t=e.prototype;return t.instantiate=function(n){var o=this;this.gltf=n;var i=(n.scenes||[]).map(function(a){return o.createScene(a)});return i},t.createAnimator=function(){return Array.isArray(this.gltf.animations)?new ii(this.gltf):null},t.createScene=function(n){var o=this,i=n.nodes||[],a=i.map(function(f){return o.createNode(f)}),s=new Qr({id:n.name||n.id,children:a});return s},t.createNode=function(n){var o=this;if(!n._node){var i=n.children||[],a=i.map(function(u){return o.createNode(u)});n.mesh&&a.push(this.createMesh(n.mesh));var s=new Qr({id:n.name||n.id,children:a});if(n.matrix)s.setMatrix(n.matrix);else{if(s.matrix.identity(),n.translation&&s.matrix.translate(n.translation),n.rotation){var f=new de().fromQuaternion(n.rotation);s.matrix.multiplyRight(f)}n.scale&&s.matrix.scale(n.scale)}n._node=s}return n._node},t.createMesh=function(n){var o=this;if(!n._mesh){var i=n.primitives||[],a=i.map(function(f,u){return o.createPrimitive(f,u,n)}),s=new Qr({id:n.name||n.id,children:a});n._mesh=s}return n._mesh},t.createPrimitive=function(n,o,i){var a=n.name||"".concat(i.name||i.id,"-primitive-").concat(o),s=yI(n.mode||4),f=n.indices?n.indices.count:this.getVertexCount(n.attributes),u=T_(this.device,{id:a,geometry:this.createGeometry(a,n,s),material:n.material,materialOptions:this.options,modelOptions:this.options.modelOptions,vertexCount:f});return u.bounds=[n.attributes.POSITION.min,n.attributes.POSITION.max],u},t.getVertexCount=function(n){throw new Error("getVertexCount not implemented")},t.createGeometry=function(n,o,i){for(var a={},s=0,f=Object.entries(o.attributes);s<f.length;s++){var u=aI(f[s],2),d=u[0],m=u[1],v=m,E=v.components,A=v.size,T=v.value;a[d]={size:A??E,value:T}}return new Ta({id:n,topology:i,indices:o.indices.value,attributes:a})},t.createBuffer=function(n,o){n.bufferView||(n.bufferView={});var i=n.bufferView;return i.lumaBuffers||(i.lumaBuffers={}),i.lumaBuffers[o]||(i.lumaBuffers[o]=this.device.createBuffer({id:"from-".concat(i.id),data:i.data||n.value})),i.lumaBuffers[o]},t.createSampler=function(n){return n},t.needsPOT=function(){return!1},pI(e)}(),nt=function(e){return e[e.POINTS=0]="POINTS",e[e.LINES=1]="LINES",e[e.LINE_LOOP=2]="LINE_LOOP",e[e.LINE_STRIP=3]="LINE_STRIP",e[e.TRIANGLES=4]="TRIANGLES",e[e.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",e[e.TRIANGLE_FAN=6]="TRIANGLE_FAN",e}(nt||{});function yI(e){switch(e){case nt.POINTS:return"point-list";case nt.LINES:return"line-list";case nt.LINE_STRIP:return"line-strip";case nt.LINE_LOOP:return"line-loop-webgl";case nt.TRIANGLES:return"triangle-list";case nt.TRIANGLE_STRIP:return"triangle-strip";case nt.TRIANGLE_FAN:return"triangle-fan-webgl";default:throw new Error(e)}}function M_(e,t,r){var n=new w_(e,r),o=n.instantiate(t),i=n.createAnimator();return{scenes:o,animator:i}}return U_(mI);})();
64
+ `;function Mn(e,t){let{id:n,geometry:r,material:s,vertexCount:i,materialOptions:o,modelOptions:c}=t,a=rt(e,s,r.attributes,o);dn.log.info(4,"createGLTFModel defines: ",a.defines)();let f=[],h={depthWriteEnabled:!0,depthCompare:"less",depthFormat:"depth24plus",cullMode:"back"},l={id:n,geometry:r,topology:r.topology,vertexCount:i,modules:[gn.pbr],vs:xn(e,qr),fs:xn(e,Cr),...c,bindings:{...a.bindings,...c.bindings},defines:{...a.defines,...c.defines},parameters:{...h,...a.parameters,...c.parameters},uniforms:{...a.uniforms,...c.uniforms}},p=new Mt.Model(e,l);return new Mt.ModelNode({managedResources:f,model:p})}function xn(e,t){return`#version 300 es
65
+ ${t}`}var Dr={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1},yt=class{device;options;gltf;constructor(t,n={}){this.device=t,this.options={...Dr,...n}}instantiate(t){return this.gltf=t,(t.scenes||[]).map(r=>this.createScene(r))}createAnimator(){return Array.isArray(this.gltf.animations)?new G(this.gltf):null}createScene(t){let r=(t.nodes||[]).map(i=>this.createNode(i));return new Y.GroupNode({id:t.name||t.id,children:r})}createNode(t){if(!t._node){let r=(t.children||[]).map(i=>this.createNode(i));t.mesh&&r.push(this.createMesh(t.mesh));let s=new Y.GroupNode({id:t.name||t.id,children:r});if(t.matrix)s.setMatrix(t.matrix);else{if(s.matrix.identity(),t.translation&&s.matrix.translate(t.translation),t.rotation){let i=new z().fromQuaternion(t.rotation);s.matrix.multiplyRight(i)}t.scale&&s.matrix.scale(t.scale)}t._node=s}return t._node}createMesh(t){if(!t._mesh){let r=(t.primitives||[]).map((i,o)=>this.createPrimitive(i,o,t)),s=new Y.GroupNode({id:t.name||t.id,children:r});t._mesh=s}return t._mesh}createPrimitive(t,n,r){let s=t.name||`${r.name||r.id}-primitive-${n}`,i=Vr(t.mode||4),o=t.indices?t.indices.count:this.getVertexCount(t.attributes),c=Mn(this.device,{id:s,geometry:this.createGeometry(s,t,i),material:t.material,materialOptions:this.options,modelOptions:this.options.modelOptions,vertexCount:o});return c.bounds=[t.attributes.POSITION.min,t.attributes.POSITION.max],c}getVertexCount(t){throw new Error("getVertexCount not implemented")}createGeometry(t,n,r){let s={};for(let[i,o]of Object.entries(n.attributes)){let{components:c,size:a,value:f}=o;s[i]={size:a??c,value:f}}return new Y.Geometry({id:t,topology:r,indices:n.indices.value,attributes:s})}createBuffer(t,n){t.bufferView||(t.bufferView={});let{bufferView:r}=t;return r.lumaBuffers||(r.lumaBuffers={}),r.lumaBuffers[n]||(r.lumaBuffers[n]=this.device.createBuffer({id:`from-${r.id}`,data:r.data||t.value})),r.lumaBuffers[n]}createSampler(t){return t}needsPOT(){return!1}};function Vr(e){switch(e){case 0:return"point-list";case 1:return"line-list";case 3:return"line-strip";case 2:return"line-loop-webgl";case 4:return"triangle-list";case 5:return"triangle-strip";case 6:return"triangle-fan-webgl";default:throw new Error(e)}}function yn(e,t,n){let r=new yt(e,n),s=r.instantiate(t),i=r.createAnimator();return{scenes:s,animator:i}}return un(Ur);})();
1277
66
  return __exports__;
1278
67
  });