@luma.gl/engine 9.0.0-alpha.32 → 9.0.0-alpha.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist.min.js CHANGED
@@ -243,7 +243,7 @@ precision highp float;
243
243
  `),r}function zl(e,t){var r="";for(var n in e){var i=e[n];if(r+="void ".concat(i.signature,` {
244
244
  `),i.header&&(r+=" ".concat(i.header)),t[n]){var a=t[n];a.sort(function(l,_){return l.order-_.order});var s=Jn(a),c;try{for(s.s();!(c=s.n()).done;){var f=c.value;r+=" ".concat(f.injection,`
245
245
  `)}}catch(l){s.e(l)}finally{s.f()}}i.footer&&(r+=" ".concat(i.footer)),r+=`}
246
- `}return r}function Gl(e){var t={vs:{},fs:{}};return e.forEach(function(r){var n,i;typeof r!="string"?(n=r,i=n.hook):(n={},i=r),i=i.trim();var a=i.split(":"),s=k(a,2),c=s[0],f=s[1],l=i.replace(/\(.+/,"");if(c!=="vs"&&c!=="fs")throw new Error(c);t[c][l]=Object.assign(n,{signature:f})}),t}function Vo(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function jo(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Vo(Object(r),!0).forEach(function(n){u(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Vo(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var jr=function(){function e(){b(this,e),u(this,"_hookFunctions",[]),u(this,"_defaultModules",[])}return C(e,[{key:"addDefaultModule",value:function(r){this._defaultModules.find(function(n){return n.name===(typeof r=="string"?r:r.name)})||this._defaultModules.push(r)}},{key:"removeDefaultModule",value:function(r){var n=typeof r=="string"?r:r.name;this._defaultModules=this._defaultModules.filter(function(i){return i.name!==n})}},{key:"addShaderHook",value:function(r,n){n&&(r=Object.assign(n,{hook:r})),this._hookFunctions.push(r)}},{key:"assembleShaders",value:function(r,n){var i=this._getModuleList(n.modules),a=this._hookFunctions,s=ko(r,jo(jo({},n),{},{modules:i,hookFunctions:a}));return s}},{key:"_getModuleList",value:function(){for(var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],n=new Array(this._defaultModules.length+r.length),i={},a=0,s=0,c=this._defaultModules.length;s<c;++s){var f=this._defaultModules[s],l=f.name;n[a++]=f,i[l]=!0}for(var _=0,E=r.length;_<E;++_){var d=r[_],p=d.name;i[p]||(n[a++]=d,i[p]=!0)}return n.length=a,n}}],[{key:"getDefaultShaderAssembler",value:function(){return e.defaultShaderAssembler=e.defaultShaderAssembler||new e,e.defaultShaderAssembler}}]),e}();u(jr,"defaultShaderAssembler",void 0);function ei(e,t){return{name:$l(e,t),language:"glsl",version:ql(e)}}function $l(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 ql(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}var Ko,Yo,Zl=de(Ko||(Ko=fe(["void main() {gl_FragColor = vec4(0);}"]))),zo=de(Yo||(Yo=fe([`out vec4 transform_output;
246
+ `}return r}function Gl(e){var t={vs:{},fs:{}};return e.forEach(function(r){var n,i;typeof r!="string"?(n=r,i=n.hook):(n={},i=r),i=i.trim();var a=i.split(":"),s=k(a,2),c=s[0],f=s[1],l=i.replace(/\(.+/,"");if(c!=="vs"&&c!=="fs")throw new Error(c);t[c][l]=Object.assign(n,{signature:f})}),t}function Vo(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function jo(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Vo(Object(r),!0).forEach(function(n){u(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Vo(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Yo(e,t){if(!t.vs)throw new Error("no vertex shader");var r=Ko(e,t.vs),n;return t.fs&&(n=Ko(e,t.fs)),jo(jo({},t),{},{vs:r,fs:n})}function Ko(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 zo(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).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?zo(Object(r),!0).forEach(function(n){u(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):zo(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var jr=function(){function e(){b(this,e),u(this,"_hookFunctions",[]),u(this,"_defaultModules",[])}return C(e,[{key:"addDefaultModule",value:function(r){this._defaultModules.find(function(n){return n.name===(typeof r=="string"?r:r.name)})||this._defaultModules.push(r)}},{key:"removeDefaultModule",value:function(r){var n=typeof r=="string"?r:r.name;this._defaultModules=this._defaultModules.filter(function(i){return i.name!==n})}},{key:"addShaderHook",value:function(r,n){n&&(r=Object.assign(n,{hook:r})),this._hookFunctions.push(r)}},{key:"assembleShaders",value:function(r,n){var i=this._getModuleList(n.modules),a=this._hookFunctions,s=Yo(r,n),c=ko(r,Go(Go({},s),{},{modules:i,hookFunctions:a}));return c}},{key:"_getModuleList",value:function(){for(var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],n=new Array(this._defaultModules.length+r.length),i={},a=0,s=0,c=this._defaultModules.length;s<c;++s){var f=this._defaultModules[s],l=f.name;n[a++]=f,i[l]=!0}for(var _=0,E=r.length;_<E;++_){var d=r[_],p=d.name;i[p]||(n[a++]=d,i[p]=!0)}return n.length=a,n}}],[{key:"getDefaultShaderAssembler",value:function(){return e.defaultShaderAssembler=e.defaultShaderAssembler||new e,e.defaultShaderAssembler}}]),e}();u(jr,"defaultShaderAssembler",void 0);function ei(e,t){return{name:$l(e,t),language:"glsl",version:ql(e)}}function $l(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 ql(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}var $o,qo,Zl=de($o||($o=fe(["void main() {gl_FragColor = vec4(0);}"]))),Zo=de(qo||(qo=fe([`out vec4 transform_output;
247
247
  void main() {
248
248
  transform_output = vec4(0);
249
249
  }`],[`\\
@@ -251,8 +251,8 @@ out vec4 transform_output;
251
251
  void main() {
252
252
  transform_output = vec4(0);
253
253
  }`]))),Ql=`#version 300 es
254
- `.concat(zo);function ti(e){var t=e||{},r=t.version,n=r===void 0?100:r,i=t.input,a=t.inputType,s=t.output;if(!i)return n===300?Ql:n>300?"#version ".concat(n,`
255
- `).concat(zo):Zl;if(!a)throw new Error("inputType");var c=Go(i,a);return n>=300?"#version ".concat(n," ").concat(n===300?"es":"",`
254
+ `.concat(Zo);function ti(e){var t=e||{},r=t.version,n=r===void 0?100:r,i=t.input,a=t.inputType,s=t.output;if(!i)return n===300?Ql:n>300?"#version ".concat(n,`
255
+ `).concat(Zo):Zl;if(!a)throw new Error("inputType");var c=Qo(i,a);return n>=300?"#version ".concat(n," ").concat(n===300?"es":"",`
256
256
  in `).concat(a," ").concat(i,`;
257
257
  out vec4 `).concat(s,`;
258
258
  void main() {
@@ -260,8 +260,8 @@ void main() {
260
260
  }`):"varying ".concat(a," ").concat(i,`;
261
261
  void main() {
262
262
  gl_FragColor = `).concat(c,`;
263
- }`)}function Go(e,t){switch(t){case"float":return"vec4(".concat(e,", 0.0, 0.0, 1.0)");case"vec2":return"vec4(".concat(e,", 0.0, 1.0)");case"vec3":return"vec4(".concat(e,", 1.0)");case"vec4":return e;default:throw new Error(t)}}var Og=1/Math.PI*180,yg=1/180*Math.PI,Jl={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...Jl}};var pe=globalThis.mathgl.config;function $o(e,{precision:t=pe.precision}={}){return e=e_(e),"".concat(parseFloat(e.toPrecision(t)))}function Ft(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function ri(e,t,r){let n=pe.EPSILON;r&&(pe.EPSILON=r);try{if(e===t)return!0;if(Ft(e)&&Ft(t)){if(e.length!==t.length)return!1;for(let i=0;i<e.length;++i)if(!ri(e[i],t[i]))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)<=pe.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{pe.EPSILON=n}}function e_(e){return Math.round(e/pe.EPSILON)*pe.EPSILON}function t_(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 xt=class extends t_(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:Ft(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(pe)}formatString(t){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+$o(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(!ri(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 i=0;i<this.ELEMENTS;++i){let a=t[i],s=typeof r=="number"?r:r[i];this[i]=a+n*(s-a)}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(pe.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 r_(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 Re(e){if(!Number.isFinite(e))throw new Error("Invalid number ".concat(JSON.stringify(e)));return e}function Kr(e,t,r=""){if(pe.debug&&!r_(e,t))throw new Error("math.gl: ".concat(r," some fields set to invalid numbers'"));return e}function ni(e,t){if(!e)throw new Error("math.gl assertion ".concat(t))}var Yr=class extends xt{get x(){return this[0]}set x(t){this[0]=Re(t)}get y(){return this[1]}set y(t){this[1]=Re(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 i=this[n]-t[n];r+=i*i}return Re(r)}dot(t){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*t[n];return Re(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 ni(t>=0&&t<this.ELEMENTS,"index is out of range"),Re(this[t])}setComponent(t,r){return ni(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 qe=typeof Float32Array<"u"?Float32Array:Array;var wg=Math.PI/180;function n_(){let e=new qe(2);return qe!=Float32Array&&(e[0]=0,e[1]=0),e}function Qo(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[4]*i+r[12],e[1]=r[1]*n+r[5]*i+r[13],e}var Ug=function(){let e=n_();return function(t,r,n,i,a,s){let c,f;for(r||(r=2),n||(n=0),i?f=Math.min(i*r+n,t.length):f=t.length,c=n;c<f;c+=r)e[0]=t[c],e[1]=t[c+1],a(e,e,s),t[c]=e[0],t[c+1]=e[1];return t}}();function Jo(e,t,r){let n=t[0],i=t[1],a=r[3]*n+r[7]*i||1;return e[0]=(r[0]*n+r[4]*i)/a,e[1]=(r[1]*n+r[5]*i)/a,e}function zr(e,t,r){let n=t[0],i=t[1],a=t[2],s=r[3]*n+r[7]*i+r[11]*a||1;return e[0]=(r[0]*n+r[4]*i+r[8]*a)/s,e[1]=(r[1]*n+r[5]*i+r[9]*a)/s,e[2]=(r[2]*n+r[6]*i+r[10]*a)/s,e}function es(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e[2]=t[2],e}function i_(){let e=new qe(3);return qe!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function a_(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function ts(e,t,r){let n=t[0],i=t[1],a=t[2],s=r[0],c=r[1],f=r[2];return e[0]=i*f-a*c,e[1]=a*s-n*f,e[2]=n*c-i*s,e}function Gr(e,t,r){let n=t[0],i=t[1],a=t[2],s=r[3]*n+r[7]*i+r[11]*a+r[15];return s=s||1,e[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/s,e[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/s,e[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/s,e}function rs(e,t,r){let n=t[0],i=t[1],a=t[2];return e[0]=n*r[0]+i*r[3]+a*r[6],e[1]=n*r[1]+i*r[4]+a*r[7],e[2]=n*r[2]+i*r[5]+a*r[8],e}function ns(e,t,r){let n=r[0],i=r[1],a=r[2],s=r[3],c=t[0],f=t[1],l=t[2],_=i*l-a*f,E=a*c-n*l,d=n*f-i*c,p=i*d-a*E,h=a*_-n*d,m=n*E-i*_,A=s*2;return _*=A,E*=A,d*=A,p*=2,h*=2,m*=2,e[0]=c+_+p,e[1]=f+E+h,e[2]=l+d+m,e}function is(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function as(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function os(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function ss(e,t){let r=e[0],n=e[1],i=e[2],a=t[0],s=t[1],c=t[2],f=Math.sqrt((r*r+n*n+i*i)*(a*a+s*s+c*c)),l=f&&a_(e,t)/f;return Math.acos(Math.min(Math.max(l,-1),1))}var Hg=function(){let e=i_();return function(t,r,n,i,a,s){let c,f;for(r||(r=3),n||(n=0),i?f=Math.min(i*r+n,t.length):f=t.length,c=n;c<f;c+=r)e[0]=t[c],e[1]=t[c+1],e[2]=t[c+2],a(e,e,s),t[c]=e[0],t[c+1]=e[1],t[c+2]=e[2];return t}}();var ai=[0,0,0],$r,ge=class extends Yr{static get ZERO(){return $r||($r=new ge(0,0,0),Object.freeze($r)),$r}constructor(t=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&Ft(t)?this.copy(t):(pe.debug&&(Re(t),Re(r),Re(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 pe.debug&&(Re(t.x),Re(t.y),Re(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]=Re(t)}angle(t){return ss(this,t)}cross(t){return ts(this,this,t),this.check()}rotateX({radians:t,origin:r=ai}){return is(this,this,r,t),this.check()}rotateY({radians:t,origin:r=ai}){return as(this,this,r,t),this.check()}rotateZ({radians:t,origin:r=ai}){return os(this,this,r,t),this.check()}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return Gr(this,this,t),this.check()}transformAsVector(t){return zr(this,this,t),this.check()}transformByMatrix3(t){return rs(this,this,t),this.check()}transformByMatrix2(t){return es(this,this,t),this.check()}transformByQuaternion(t){return ns(this,this,t),this.check()}};var qr=class extends xt{toString(){let t="[";if(pe.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]=Re(n),this}getColumn(t,r=new Array(this.RANK).fill(-0)){let n=t*this.RANK;for(let i=0;i<this.RANK;++i)r[i]=this[n+i];return r}setColumn(t,r){let n=t*this.RANK;for(let i=0;i<this.RANK;++i)this[n+i]=r[i];return this}};function o_(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 us(e,t){if(e===t){let r=t[1],n=t[2],i=t[3],a=t[6],s=t[7],c=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]=a,e[11]=t[14],e[12]=i,e[13]=s,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 cs(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],s=t[4],c=t[5],f=t[6],l=t[7],_=t[8],E=t[9],d=t[10],p=t[11],h=t[12],m=t[13],A=t[14],S=t[15],F=r*c-n*s,g=r*f-i*s,N=r*l-a*s,I=n*f-i*c,x=n*l-a*c,X=i*l-a*f,j=_*m-E*h,V=_*A-d*h,Y=_*S-p*h,v=E*A-d*m,R=E*S-p*m,O=d*S-p*A,M=F*O-g*R+N*v+I*Y-x*V+X*j;return M?(M=1/M,e[0]=(c*O-f*R+l*v)*M,e[1]=(i*R-n*O-a*v)*M,e[2]=(m*X-A*x+S*I)*M,e[3]=(d*x-E*X-p*I)*M,e[4]=(f*Y-s*O-l*V)*M,e[5]=(r*O-i*Y+a*V)*M,e[6]=(A*N-h*X-S*g)*M,e[7]=(_*X-d*N+p*g)*M,e[8]=(s*R-c*Y+l*j)*M,e[9]=(n*Y-r*R-a*j)*M,e[10]=(h*x-m*N+S*F)*M,e[11]=(E*N-_*x-p*F)*M,e[12]=(c*V-s*v-f*j)*M,e[13]=(r*v-n*V+i*j)*M,e[14]=(m*g-h*I-A*F)*M,e[15]=(_*I-E*g+d*F)*M,e):null}function fs(e){let t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],s=e[5],c=e[6],f=e[7],l=e[8],_=e[9],E=e[10],d=e[11],p=e[12],h=e[13],m=e[14],A=e[15],S=t*s-r*a,F=t*c-n*a,g=r*c-n*s,N=l*h-_*p,I=l*m-E*p,x=_*m-E*h,X=t*x-r*I+n*N,j=a*x-s*I+c*N,V=l*g-_*F+E*S,Y=p*g-h*F+m*S;return f*X-i*j+A*V-d*Y}function oi(e,t,r){let n=t[0],i=t[1],a=t[2],s=t[3],c=t[4],f=t[5],l=t[6],_=t[7],E=t[8],d=t[9],p=t[10],h=t[11],m=t[12],A=t[13],S=t[14],F=t[15],g=r[0],N=r[1],I=r[2],x=r[3];return e[0]=g*n+N*c+I*E+x*m,e[1]=g*i+N*f+I*d+x*A,e[2]=g*a+N*l+I*p+x*S,e[3]=g*s+N*_+I*h+x*F,g=r[4],N=r[5],I=r[6],x=r[7],e[4]=g*n+N*c+I*E+x*m,e[5]=g*i+N*f+I*d+x*A,e[6]=g*a+N*l+I*p+x*S,e[7]=g*s+N*_+I*h+x*F,g=r[8],N=r[9],I=r[10],x=r[11],e[8]=g*n+N*c+I*E+x*m,e[9]=g*i+N*f+I*d+x*A,e[10]=g*a+N*l+I*p+x*S,e[11]=g*s+N*_+I*h+x*F,g=r[12],N=r[13],I=r[14],x=r[15],e[12]=g*n+N*c+I*E+x*m,e[13]=g*i+N*f+I*d+x*A,e[14]=g*a+N*l+I*p+x*S,e[15]=g*s+N*_+I*h+x*F,e}function ls(e,t,r){let n=r[0],i=r[1],a=r[2],s,c,f,l,_,E,d,p,h,m,A,S;return t===e?(e[12]=t[0]*n+t[4]*i+t[8]*a+t[12],e[13]=t[1]*n+t[5]*i+t[9]*a+t[13],e[14]=t[2]*n+t[6]*i+t[10]*a+t[14],e[15]=t[3]*n+t[7]*i+t[11]*a+t[15]):(s=t[0],c=t[1],f=t[2],l=t[3],_=t[4],E=t[5],d=t[6],p=t[7],h=t[8],m=t[9],A=t[10],S=t[11],e[0]=s,e[1]=c,e[2]=f,e[3]=l,e[4]=_,e[5]=E,e[6]=d,e[7]=p,e[8]=h,e[9]=m,e[10]=A,e[11]=S,e[12]=s*n+_*i+h*a+t[12],e[13]=c*n+E*i+m*a+t[13],e[14]=f*n+d*i+A*a+t[14],e[15]=l*n+p*i+S*a+t[15]),e}function _s(e,t,r){let n=r[0],i=r[1],a=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]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Es(e,t,r,n){let i=n[0],a=n[1],s=n[2],c=Math.sqrt(i*i+a*a+s*s),f,l,_,E,d,p,h,m,A,S,F,g,N,I,x,X,j,V,Y,v,R,O,M,w;return c<1e-6?null:(c=1/c,i*=c,a*=c,s*=c,l=Math.sin(r),f=Math.cos(r),_=1-f,E=t[0],d=t[1],p=t[2],h=t[3],m=t[4],A=t[5],S=t[6],F=t[7],g=t[8],N=t[9],I=t[10],x=t[11],X=i*i*_+f,j=a*i*_+s*l,V=s*i*_-a*l,Y=i*a*_-s*l,v=a*a*_+f,R=s*a*_+i*l,O=i*s*_+a*l,M=a*s*_-i*l,w=s*s*_+f,e[0]=E*X+m*j+g*V,e[1]=d*X+A*j+N*V,e[2]=p*X+S*j+I*V,e[3]=h*X+F*j+x*V,e[4]=E*Y+m*v+g*R,e[5]=d*Y+A*v+N*R,e[6]=p*Y+S*v+I*R,e[7]=h*Y+F*v+x*R,e[8]=E*O+m*M+g*w,e[9]=d*O+A*M+N*w,e[10]=p*O+S*M+I*w,e[11]=h*O+F*M+x*w,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function ds(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[4],s=t[5],c=t[6],f=t[7],l=t[8],_=t[9],E=t[10],d=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]=a*i+l*n,e[5]=s*i+_*n,e[6]=c*i+E*n,e[7]=f*i+d*n,e[8]=l*i-a*n,e[9]=_*i-s*n,e[10]=E*i-c*n,e[11]=d*i-f*n,e}function ps(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],s=t[1],c=t[2],f=t[3],l=t[8],_=t[9],E=t[10],d=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]=a*i-l*n,e[1]=s*i-_*n,e[2]=c*i-E*n,e[3]=f*i-d*n,e[8]=a*n+l*i,e[9]=s*n+_*i,e[10]=c*n+E*i,e[11]=f*n+d*i,e}function hs(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],s=t[1],c=t[2],f=t[3],l=t[4],_=t[5],E=t[6],d=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]=a*i+l*n,e[1]=s*i+_*n,e[2]=c*i+E*n,e[3]=f*i+d*n,e[4]=l*i-a*n,e[5]=_*i-s*n,e[6]=E*i-c*n,e[7]=d*i-f*n,e}function ms(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],s=r+r,c=n+n,f=i+i,l=r*s,_=n*s,E=n*c,d=i*s,p=i*c,h=i*f,m=a*s,A=a*c,S=a*f;return e[0]=1-E-h,e[1]=_+S,e[2]=d-A,e[3]=0,e[4]=_-S,e[5]=1-l-h,e[6]=p+m,e[7]=0,e[8]=d+A,e[9]=p-m,e[10]=1-l-E,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Rs(e,t,r,n,i,a,s){let c=1/(r-t),f=1/(i-n),l=1/(a-s);return e[0]=a*2*c,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a*2*f,e[6]=0,e[7]=0,e[8]=(r+t)*c,e[9]=(i+n)*f,e[10]=(s+a)*l,e[11]=-1,e[12]=0,e[13]=0,e[14]=s*a*2*l,e[15]=0,e}function s_(e,t,r,n,i){let a=1/Math.tan(t/2);if(e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let s=1/(n-i);e[10]=(i+n)*s,e[14]=2*i*n*s}else e[10]=-1,e[14]=-2*n;return e}var As=s_;function u_(e,t,r,n,i,a,s){let c=1/(t-r),f=1/(n-i),l=1/(a-s);return e[0]=-2*c,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*l,e[11]=0,e[12]=(t+r)*c,e[13]=(i+n)*f,e[14]=(s+a)*l,e[15]=1,e}var Ts=u_;function vs(e,t,r,n){let i,a,s,c,f,l,_,E,d,p,h=t[0],m=t[1],A=t[2],S=n[0],F=n[1],g=n[2],N=r[0],I=r[1],x=r[2];return Math.abs(h-N)<1e-6&&Math.abs(m-I)<1e-6&&Math.abs(A-x)<1e-6?o_(e):(E=h-N,d=m-I,p=A-x,i=1/Math.sqrt(E*E+d*d+p*p),E*=i,d*=i,p*=i,a=F*p-g*d,s=g*E-S*p,c=S*d-F*E,i=Math.sqrt(a*a+s*s+c*c),i?(i=1/i,a*=i,s*=i,c*=i):(a=0,s=0,c=0),f=d*c-p*s,l=p*a-E*c,_=E*s-d*a,i=Math.sqrt(f*f+l*l+_*_),i?(i=1/i,f*=i,l*=i,_*=i):(f=0,l=0,_=0),e[0]=a,e[1]=f,e[2]=E,e[3]=0,e[4]=s,e[5]=l,e[6]=d,e[7]=0,e[8]=c,e[9]=_,e[10]=p,e[11]=0,e[12]=-(a*h+s*m+c*A),e[13]=-(f*h+l*m+_*A),e[14]=-(E*h+d*m+p*A),e[15]=1,e)}function c_(){let e=new qe(4);return qe!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function gs(e,t,r){let n=t[0],i=t[1],a=t[2],s=t[3];return e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*s,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*s,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*s,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*s,e}var Jg=function(){let e=c_();return function(t,r,n,i,a,s){let c,f;for(r||(r=4),n||(n=0),i?f=Math.min(i*r+n,t.length):f=t.length,c=n;c<f;c+=r)e[0]=t[c],e[1]=t[c+1],e[2]=t[c+2],e[3]=t[c+3],a(e,e,s),t[c]=e[0],t[c+1]=e[1],t[c+2]=e[2],t[c+3]=e[3];return t}}();var ci;(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"})(ci||(ci={}));var f_=45*Math.PI/180,l_=1,si=.1,ui=500,__=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),Be=class extends qr{static get IDENTITY(){return d_()}static get ZERO(){return E_()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return ci}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,i,a,s,c,f,l,_,E,d,p,h,m,A){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this[4]=a,this[5]=s,this[6]=c,this[7]=f,this[8]=l,this[9]=_,this[10]=E,this[11]=d,this[12]=p,this[13]=h,this[14]=m,this[15]=A,this.check()}setRowMajor(t,r,n,i,a,s,c,f,l,_,E,d,p,h,m,A){return this[0]=t,this[1]=a,this[2]=l,this[3]=p,this[4]=r,this[5]=s,this[6]=_,this[7]=h,this[8]=n,this[9]=c,this[10]=E,this[11]=m,this[12]=i,this[13]=f,this[14]=d,this[15]=A,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(__)}fromObject(t){return this.check()}fromQuaternion(t){return ms(this,t),this.check()}frustum(t){let{left:r,right:n,bottom:i,top:a,near:s=si,far:c=ui}=t;return c===1/0?p_(this,r,n,i,a,s):Rs(this,r,n,i,a,s,c),this.check()}lookAt(t){let{eye:r,center:n=[0,0,0],up:i=[0,1,0]}=t;return vs(this,r,n,i),this.check()}ortho(t){let{left:r,right:n,bottom:i,top:a,near:s=si,far:c=ui}=t;return Ts(this,r,n,i,a,s,c),this.check()}orthographic(t){let{fovy:r=f_,aspect:n=l_,focalDistance:i=1,near:a=si,far:s=ui}=t;Ss(r);let c=r/2,f=i*Math.tan(c),l=f*n;return this.ortho({left:-l,right:l,bottom:-f,top:f,near:a,far:s})}perspective(t){let{fovy:r=45*Math.PI/180,aspect:n=1,near:i=.1,far:a=500}=t;return Ss(r),As(this,r,n,i,a),this.check()}determinant(){return fs(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),i=1/n[0],a=1/n[1],s=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*s,t[3]=0,t[4]=this[4]*i,t[5]=this[5]*a,t[6]=this[6]*s,t[7]=0,t[8]=this[8]*i,t[9]=this[9]*a,t[10]=this[10]*s,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),i=1/n[0],a=1/n[1],s=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*s,t[3]=this[4]*i,t[4]=this[5]*a,t[5]=this[6]*s,t[6]=this[8]*i,t[7]=this[9]*a,t[8]=this[10]*s,t}transpose(){return us(this,this),this.check()}invert(){return cs(this,this),this.check()}multiplyLeft(t){return oi(this,t,this),this.check()}multiplyRight(t){return oi(this,this,t),this.check()}rotateX(t){return ds(this,this,t),this.check()}rotateY(t){return ps(this,this,t),this.check()}rotateZ(t){return hs(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,r){return Es(this,this,t,r),this.check()}scale(t){return _s(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return ls(this,this,t),this.check()}transform(t,r){return t.length===4?(r=gs(r||[-0,-0,-0,-0],t,this),Kr(r,4),r):this.transformAsPoint(t,r)}transformAsPoint(t,r){let{length:n}=t,i;switch(n){case 2:i=Qo(r||[-0,-0],t,this);break;case 3:i=Gr(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Kr(i,t.length),i}transformAsVector(t,r){let n;switch(t.length){case 2:n=Jo(r||[-0,-0],t,this);break;case 3:n=zr(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Kr(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])}},Zr,Qr;function E_(){return Zr||(Zr=new Be([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(Zr)),Zr}function d_(){return Qr||(Qr=new Be,Object.freeze(Qr)),Qr}function Ss(e){if(e>Math.PI*2)throw Error("expected radians")}function p_(e,t,r,n,i,a){let s=2*a/(r-t),c=2*a/(i-n),f=(r+t)/(r-t),l=(i+n)/(i-n),_=-1,E=-1,d=-2*a;return e[0]=s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=f,e[9]=l,e[10]=_,e[11]=E,e[12]=0,e[13]=0,e[14]=d,e[15]=0,e}var Os=function(){function e(t){b(this,e),u(this,"id",void 0),u(this,"userData",{}),u(this,"topology",void 0),u(this,"bufferLayout",[]),u(this,"vertexCount",void 0),u(this,"indices",void 0),u(this,"attributes",void 0),this.id=t.id||ee("geometry"),this.topology=t.topology,this.indices=t.indices||null,this.attributes=t.attributes,this.vertexCount=t.vertexCount||this._calculateVertexCount(this.attributes.positions),this.bufferLayout=t.bufferLayout||[],this.bufferLayout.find(function(r){return r.name==="positions"})||this.bufferLayout.push({name:"positions",format:"float32x3"}),this.bufferLayout.find(function(r){return r.name==="normals"})||this.bufferLayout.push({name:"normals",format:"float32x3"}),this.bufferLayout.find(function(r){return r.name==="texCoords"})||this.bufferLayout.push({name:"texCoords",format:"float32x2"}),this.bufferLayout.find(function(r){return r.name==="colors"})||this.bufferLayout.push({name:"colors",format:"float32x3"}),this.indices&&W(this.indices.usage===ue.INDEX)}return C(e,[{key:"destroy",value:function(){var r;this.indices.destroy(),this.attributes.positions.destroy(),this.attributes.normals.destroy(),this.attributes.texCoords.destroy(),(r=this.attributes.colors)===null||r===void 0||r.destroy()}},{key:"getVertexCount",value:function(){return this.vertexCount}},{key:"getAttributes",value:function(){return this.attributes}},{key:"getIndexes",value:function(){return this.indices}},{key:"_calculateVertexCount",value:function(r){var n=r.byteLength/12;return n}}]),e}();function ys(e,t){if(t instanceof Os)return t;var r=h_(e,t),n=m_(e,t);return new Os({topology:t.topology,vertexCount:t.vertexCount,indices:r,attributes:n})}function h_(e,t){if(t.indices){var r=t.indices.value||t.indices;return W(r instanceof Uint16Array||r instanceof Uint32Array,'attribute array for "indices" must be of integer type'),e.createBuffer({usage:ue.INDEX,data:r})}}function m_(e,t){var r=t.attributes.positions||t.attributes.POSITION,n=t.attributes.normals||t.attributes.NORMAL,i=t.attributes.texCoords||t.attributes.TEXCOORD_0,a={positions:e.createBuffer({data:r.value,id:"positions-buffer"}),normals:e.createBuffer({data:n.value,id:"normals-buffer"}),texCoords:e.createBuffer({data:i.value,id:"texCoords-buffer"})};return a}function bs(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ze(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?bs(Object(r),!0).forEach(function(n){u(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):bs(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var ir=function(){function e(t){b(this,e),u(this,"device",void 0),u(this,"_hashCounter",0),u(this,"_hashes",{}),u(this,"_useCounts",{}),u(this,"_pipelineCache",{}),this.device=t}return C(e,[{key:"createRenderPipeline",value:function(r){var n=Ze(Ze({},e.defaultProps),r),i=this._hashRenderPipeline(Ze({},n));if(!this._pipelineCache[i]){var a=this.device.createRenderPipeline(Ze(Ze({},n),{},{vs:this.device.createShader({stage:"vertex",source:n.vs}),fs:n.fs?this.device.createShader({stage:"fragment",source:n.fs}):null}));a.hash=i,this._pipelineCache[i]=a,this._useCounts[i]=0}return this._useCounts[i]++,this._pipelineCache[i]}},{key:"release",value:function(r){var n=r.hash;this._useCounts[n]--,this._useCounts[n]===0&&(this._pipelineCache[n].destroy(),delete this._pipelineCache[n],delete this._useCounts[n])}},{key:"_createRenderPipeline",value:function(r){if(!r.fs)throw new Error("fs");var n=this.device.createRenderPipeline(Ze(Ze({},r),{},{vs:this.device.createShader({stage:"vertex",source:r.vs}),fs:r.fs?this.device.createShader({stage:"fragment",source:r.fs}):null}));return n}},{key:"_hashRenderPipeline",value:function(r){var n=this._getHash(r.vs),i=r.fs?this._getHash(r.fs):0,a=this._getHash(JSON.stringify(r.parameters)),s=this._getHash(JSON.stringify(r.bufferLayout)),c="-";return"".concat(n,"/").concat(i,"V").concat(c,"T").concat(r.topology,"P").concat(a,"BL").concat(s,"}")}},{key:"_getHash",value:function(r){return this._hashes[r]===void 0&&(this._hashes[r]=this._hashCounter++),this._hashes[r]}}],[{key:"getDefaultPipelineFactory",value:function(r){return r._lumaData.defaultPipelineFactory=r._lumaData.defaultPipelineFactory||new e(r),r._lumaData.defaultPipelineFactory}}]),e}();u(ir,"defaultProps",Ze(Ze({},it.defaultProps),{},{vs:void 0,fs:void 0}));function Cs(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).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?Cs(Object(r),!0).forEach(function(n){u(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Cs(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Ms(e,t){if(!t.vs)throw new Error("no vertex shader");var r=Ns(e,t.vs),n;t.fs&&(n=Ns(e,t.fs));var i={type:e.info.type,gpu:e.info.gpu,features:e.features};return t.shaderAssembler.assembleShaders(i,Ps(Ps({},t),{},{fs:n,vs:r}))}function Ns(e,t){if(typeof t=="string")return t;switch(e.info.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 R_(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=A_(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
264
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,c;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,c=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw c}}}}function A_(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 Fs(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Bt(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Fs(Object(r),!0).forEach(function(n){u(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Fs(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var ht=function(){function e(t,r){b(this,e),u(this,"device",void 0),u(this,"id",void 0),u(this,"vs",void 0),u(this,"fs",void 0),u(this,"pipelineFactory",void 0),u(this,"userData",{}),u(this,"parameters",void 0),u(this,"topology",void 0),u(this,"bufferLayout",void 0),u(this,"vertexCount",void 0),u(this,"instanceCount",0),u(this,"indices",null),u(this,"bufferAttributes",{}),u(this,"constantAttributes",{}),u(this,"bindings",{}),u(this,"uniforms",{}),u(this,"pipeline",void 0),u(this,"_pipelineNeedsUpdate","newly created"),u(this,"_getModuleUniforms",void 0),u(this,"props",void 0),this.props=Bt(Bt({},e.defaultProps),r),r=this.props,this.id=r.id||ee("model"),this.device=t,Object.assign(this.userData,r.userData);var n=Ms(t,this.props),i=n.vs,a=n.fs,s=n.getUniforms;this.vs=i,this.fs=a,this._getModuleUniforms=s,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;var c=r.geometry&&ys(t,r.geometry);c&&this.setGeometry(c),this.pipelineFactory=r.pipelineFactory||ir.getDefaultPipelineFactory(this.device),this.pipeline=this._updatePipeline(),r.vertexCount&&this.setVertexCount(r.vertexCount),r.instanceCount&&this.setInstanceCount(r.instanceCount),r.indices&&this.setIndexBuffer(r.indices),r.attributes&&this.setAttributes(r.attributes),r.bindings&&this.setBindings(r.bindings),r.uniforms&&this.setUniforms(r.uniforms),r.moduleSettings&&this.updateModuleSettings(r.moduleSettings),this.setUniforms(this._getModuleUniforms()),Object.seal(this)}return C(e,[{key:"destroy",value:function(){this.pipelineFactory.release(this.pipeline)}},{key:"draw",value:function(r){this.pipeline=this._updatePipeline(),this.pipeline.setIndexBuffer(this.indices),this.pipeline.setAttributes(this.bufferAttributes),this.pipeline.setConstantAttributes(this.constantAttributes),this.pipeline.setBindings(this.bindings),this.pipeline.setUniforms(this.uniforms),this.pipeline.draw({renderPass:r,vertexCount:this.vertexCount,instanceCount:this.instanceCount})}},{key:"setGeometry",value:function(r){this.setTopology(r.topology||"triangle-list"),this.bufferLayout=T_(this.bufferLayout,r.bufferLayout),this.vertexCount=r.vertexCount,this.setAttributes(r.attributes),this.setIndexBuffer(r.indices)}},{key:"setTopology",value:function(r){r!==this.topology&&(this.topology=r,this.device.info.type==="webgpu"&&this._setPipelineNeedsUpdate("topology"))}},{key:"setBufferLayout",value:function(r){r!==this.bufferLayout&&(this.bufferLayout=r,this.device.info.type==="webgpu"&&this._setPipelineNeedsUpdate("bufferLayout"))}},{key:"setParameters",value:function(r){tr(r,this.parameters,2)||(this.parameters=r,this.device.info.type==="webgpu"&&this._setPipelineNeedsUpdate("parameters"))}},{key:"setVertexCount",value:function(r){this.vertexCount=r}},{key:"setInstanceCount",value:function(r){this.instanceCount=r}},{key:"setShaderModuleProps",value:function(r){var n=this._getModuleUniforms(r);Object.assign(this.uniforms,n)}},{key:"updateModuleSettings",value:function(r){this.setShaderModuleProps(r)}},{key:"setIndexBuffer",value:function(r){this.indices=r}},{key:"setAttributes",value:function(r){r.indices&&B.warn("Model:".concat(this.id," setAttributes() - indices should be set using setIndexBuffer()")),Object.assign(this.bufferAttributes,r)}},{key:"setConstantAttributes",value:function(r){Object.assign(this.constantAttributes,r)}},{key:"setBindings",value:function(r){Object.assign(this.bindings,r)}},{key:"setUniforms",value:function(r){this.pipeline.setUniforms(r),Object.assign(this.uniforms,r)}},{key:"_setPipelineNeedsUpdate",value:function(r){this._pipelineNeedsUpdate=this._pipelineNeedsUpdate||r}},{key:"_updatePipeline",value:function(){return this._pipelineNeedsUpdate&&(B.log(1,"Model ".concat(this.id,': Recreating pipeline because "').concat(this._pipelineNeedsUpdate,'".'))(),this._pipelineNeedsUpdate=!1,this.pipeline=this.device.createRenderPipeline(Bt(Bt({},this.props),{},{bufferLayout:this.bufferLayout,topology:this.topology,parameters:this.parameters,vs:this.device.createShader({stage:"vertex",source:this.vs}),fs:this.fs?this.device.createShader({stage:"fragment",source:this.fs}):null}))),this.pipeline}}]),e}();u(ht,"defaultProps",Bt(Bt({},it.defaultProps),{},{vs:null,fs:null,id:"unnamed",handle:void 0,userData:{},defines:{},modules:[],moduleSettings:{},geometry:null,pipelineFactory:void 0,shaderAssembler:jr.getDefaultShaderAssembler()}));function T_(e,t){var r=re(e),n=R_(t),i;try{var a=function(){var c=i.value,f=r.findIndex(function(l){return l.name===c.name});f<0?r.push(c):r[f]=c};for(n.s();!(i=n.n()).done;)a()}catch(s){n.e(s)}finally{n.f()}return r}var o=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}({});function xs(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ds(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?xs(Object(r),!0).forEach(function(n){u(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):xs(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var v_="Failed to create WebGL context in Node.js, headless gl returned null",g_=" 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.",S_={width:1,height:1,debug:!0,throwOnError:!1},fi=null;function Bs(){return fi!==null}function ws(e){e=Ds(Ds({},S_),e);var t=e,r=t.width,n=t.height,i=t.webgl1,a=t.webgl2;if(a&&!i)throw new Error("headless-gl does not support WebGL2");if(!fi)throw new Error(g_);var s=fi(r,n,e);if(!s)throw new Error(v_);return s}var Xi=De(Ie(),1);var ar={};function O_(e){globalThis.console&&globalThis.console.error&&globalThis.console.error(e)}function y_(e){globalThis.console&&globalThis.console.log&&globalThis.console.log(e)}function b_(e,t){ar[e]=!0,t!==void 0&&O_(t)}function C_(e){var t=e.getError;e.getError=function(){var n;do n=t.apply(e),n!==e.NO_ERROR&&(ar[n]=!0);while(n!==e.NO_ERROR);for(n in ar)if(ar[n])return delete ar[n],parseInt(n,10);return e.NO_ERROR}}var or=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 i=new e.VertexAttrib(r);this.attribs[n]=i}this.maxAttrib=0};or.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()};or.VertexAttrib.prototype.recache=function(){this.cached=[this.size,this.type,this.normalized,this.stride,this.offset].join(":")};var mt=function(t){var r=this;this.gl=t,C_(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(a){return a===r.VERTEX_ARRAY_BINDING_OES?r.currentVertexArrayObject===r.defaultVertexArrayObject?null:r.currentVertexArrayObject:n.getParameter.apply(this,arguments)},t.enableVertexAttribArray=function(a){var s=r.currentVertexArrayObject;s.maxAttrib=Math.max(s.maxAttrib,a);var c=s.attribs[a];return c.enabled=!0,n.enableVertexAttribArray.apply(this,arguments)},t.disableVertexAttribArray=function(a){var s=r.currentVertexArrayObject;s.maxAttrib=Math.max(s.maxAttrib,a);var c=s.attribs[a];return c.enabled=!1,n.disableVertexAttribArray.apply(this,arguments)},t.bindBuffer=function(a,s){switch(a){case t.ARRAY_BUFFER:r.currentArrayBuffer=s;break;case t.ELEMENT_ARRAY_BUFFER:r.currentVertexArrayObject.elementArrayBuffer=s;break;default:}return n.bindBuffer.apply(this,arguments)},t.getVertexAttrib=function(a,s){var c=r.currentVertexArrayObject,f=c.attribs[a];switch(s){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(a,s,c,f,l,_){var E=r.currentVertexArrayObject;E.maxAttrib=Math.max(E.maxAttrib,a);var d=E.attribs[a];return d.buffer=r.currentArrayBuffer,d.size=s,d.type=c,d.normalized=f,d.stride=l,d.offset=_,d.recache(),n.vertexAttribPointer.apply(this,arguments)},t.instrumentExtension&&t.instrumentExtension(this,"OES_vertex_array_object"),t.canvas&&t.canvas.addEventListener("webglcontextrestored",function(){y_("OESVertexArrayObject emulation library context restored"),r.reset_()},!0),this.reset_()};mt.prototype.VERTEX_ARRAY_BINDING_OES=34229;mt.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 or(this),this.currentVertexArrayObject=null,this.currentArrayBuffer=null,this.vertexArrayObjects=[this.defaultVertexArrayObject],this.bindVertexArrayOES(null)};mt.prototype.createVertexArrayOES=function(){var t=new or(this);return this.vertexArrayObjects.push(t),t};mt.prototype.deleteVertexArrayOES=function(t){t.isAlive=!1,this.vertexArrayObjects.splice(this.vertexArrayObjects.indexOf(t),1),this.currentVertexArrayObject===t&&this.bindVertexArrayOES(null)};mt.prototype.isVertexArrayOES=function(t){return!!(t&&t instanceof or&&t.hasBeenBound&&t.ext===this)};mt.prototype.bindVertexArrayOES=function(t){var r=this.gl;if(t&&!t.isAlive){b_(r.INVALID_OPERATION,"bindVertexArrayOES: attempt to bind deleted arrayObject");return}var n=this.original,i=this.currentVertexArrayObject;this.currentVertexArrayObject=t||this.defaultVertexArrayObject,this.currentVertexArrayObject.hasBeenBound=!0;var a=this.currentVertexArrayObject;if(i!==a){(!i||a.elementArrayBuffer!==i.elementArrayBuffer)&&n.bindBuffer.call(r,r.ELEMENT_ARRAY_BUFFER,a.elementArrayBuffer);for(var s=this.currentArrayBuffer,c=Math.max(i?i.maxAttrib:0,a.maxAttrib),f=0;f<=c;f++){var l=a.attribs[f],_=i?i.attribs[f]:null;if((!i||l.enabled!==_.enabled)&&(l.enabled?n.enableVertexAttribArray.call(r,f):n.disableVertexAttribArray.call(r,f)),l.enabled){var E=!1;(!i||l.buffer!==_.buffer)&&(s!==l.buffer&&(n.bindBuffer.call(r,r.ARRAY_BUFFER,l.buffer),s=l.buffer),E=!0),(E||l.cached!==_.cached)&&n.vertexAttribPointer.call(r,f,l.size,l.type,l.normalized,l.stride,l.offset)}}this.currentArrayBuffer!==s&&n.bindBuffer.call(r,r.ARRAY_BUFFER,this.currentArrayBuffer)}};function Us(e){if(typeof e.createVertexArray!="function"){var t=e.getSupportedExtensions;e.getSupportedExtensions=function(){var i=t.call(this)||[];return i.indexOf("OES_vertex_array_object")<0&&i.push("OES_vertex_array_object"),i};var r=e.getExtension;e.getExtension=function(i){var a=r.call(this,i);return a||(i!=="OES_vertex_array_object"?null:(e.__OESVertexArrayObject||(this.__OESVertexArrayObject=new mt(this)),this.__OESVertexArrayObject))}}}var P_="Invalid WebGLRenderingContext";var N_="Requires WebGL2";function M_(e){return typeof WebGLRenderingContext<"u"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&Number.isFinite(e._version))}function Z(e){return typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&e._version===2)}function li(e){return Z(e)?e:null}function Ls(e){return W(M_(e),P_),e}function Jr(e){return W(Z(e),N_),e}var q,Xs="OES_element_index",Hs="WEBGL_draw_buffers",I_="EXT_disjoint_timer_query",F_="EXT_disjoint_timer_query_webgl2",x_="EXT_texture_filter_anisotropic",Ws="WEBGL_debug_renderer_info",D_=35723,B_=4352,w_=36795,U_=34047,L_=37445,X_=37446,oe=function(t){return Z(t)?void 0:0},H_=(q={},u(q,o.READ_BUFFER,function(e){return Z(e)?void 0:o.COLOR_ATTACHMENT0}),u(q,D_,function(e){return Z(e)?void 0:B_}),u(q,o.RASTERIZER_DISCARD,oe),u(q,o.SAMPLES,oe),u(q,w_,function(e,t){var r=Z(e)?e.getExtension(F_):e.getExtension(I_);return r&&r.GPU_DISJOINT_EXT?t(r.GPU_DISJOINT_EXT):0}),u(q,L_,function(e,t){var r=e.getExtension(Ws);return t(r&&r.UNMASKED_VENDOR_WEBGL||o.VENDOR)}),u(q,X_,function(e,t){var r=e.getExtension(Ws);return t(r&&r.UNMASKED_RENDERER_WEBGL||o.RENDERER)}),u(q,U_,function(e,t){var r,n=((r=e.luma)===null||r===void 0||(r=r.extensions)===null||r===void 0?void 0:r[x_])||e.getExtension("EXT_texture_filter_anisotropic");return n?t(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1}),u(q,o.MAX_3D_TEXTURE_SIZE,oe),u(q,o.MAX_ARRAY_TEXTURE_LAYERS,oe),u(q,o.MAX_CLIENT_WAIT_TIMEOUT_WEBGL,oe),u(q,o.MAX_COLOR_ATTACHMENTS,function(e,t){if(!Z(e)){var r=e.getExtension(Hs);return r?t(r.MAX_COLOR_ATTACHMENTS_WEBGL):0}}),u(q,o.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,oe),u(q,o.MAX_COMBINED_UNIFORM_BLOCKS,oe),u(q,o.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,oe),u(q,o.MAX_DRAW_BUFFERS,function(e){if(!Z(e)){var t=e.getExtension(Hs);return t?t.MAX_DRAW_BUFFERS_WEBGL:0}}),u(q,o.MAX_ELEMENT_INDEX,function(e){return e.getExtension(Xs)?2147483647:65535}),u(q,o.MAX_ELEMENTS_INDICES,function(e){return e.getExtension(Xs)?16777216:65535}),u(q,o.MAX_ELEMENTS_VERTICES,function(e){return 16777216}),u(q,o.MAX_FRAGMENT_INPUT_COMPONENTS,oe),u(q,o.MAX_FRAGMENT_UNIFORM_BLOCKS,oe),u(q,o.MAX_FRAGMENT_UNIFORM_COMPONENTS,oe),u(q,o.MAX_SAMPLES,oe),u(q,o.MAX_SERVER_WAIT_TIMEOUT,oe),u(q,o.MAX_TEXTURE_LOD_BIAS,oe),u(q,o.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,oe),u(q,o.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,oe),u(q,o.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,oe),u(q,o.MAX_UNIFORM_BLOCK_SIZE,oe),u(q,o.MAX_UNIFORM_BUFFER_BINDINGS,oe),u(q,o.MAX_VARYING_COMPONENTS,oe),u(q,o.MAX_VERTEX_OUTPUT_COMPONENTS,oe),u(q,o.MAX_VERTEX_UNIFORM_BLOCKS,oe),u(q,o.MAX_VERTEX_UNIFORM_COMPONENTS,oe),u(q,o.MIN_PROGRAM_TEXEL_OFFSET,oe),u(q,o.MAX_PROGRAM_TEXEL_OFFSET,oe),u(q,o.UNIFORM_BUFFER_OFFSET_ALIGNMENT,oe),q);function ks(e,t,r){var n=H_[r],i=typeof n=="function"?n(e,t,r):n,a=i!==void 0?i:t(r);return a}function wt(e){var t=e.luma;if(!t){var r={_polyfilled:!1,_extensions:{}};e.luma=r}return e.luma}var Ut,W_="OES_vertex_array_object",Vs="ANGLE_instanced_arrays",k_="WEBGL_draw_buffers",V_="EXT_disjoint_timer_query",j_="EXT_texture_filter_anisotropic",K_="VertexArray requires WebGL2 or OES_vertex_array_object extension";function Y_(e,t){return{webgl2:Z(e),ext:e.getExtension(t)}}var _i=(Ut={},u(Ut,W_,{meta:{suffix:"OES"},createVertexArray:function(){W(!1,K_)},deleteVertexArray:function(){},bindVertexArray:function(){},isVertexArray:function(){return!1}}),u(Ut,Vs,{meta:{suffix:"ANGLE"},vertexAttribDivisor:function(t,r){W(r===0,"WebGL instanced rendering not supported")},drawElementsInstanced:function(){},drawArraysInstanced:function(){}}),u(Ut,k_,{meta:{suffix:"WEBGL"},drawBuffers:function(){W(!1)}}),u(Ut,V_,{meta:{suffix:"EXT"},createQuery:function(){W(!1)},deleteQuery:function(){W(!1)},beginQuery:function(){W(!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){}}),Ut),en={readBuffer:function(t,r,n){Z(t)&&r(n)},getVertexAttrib:function(t,r,n,i){var a=Y_(t,Vs),s=a.webgl2,c=a.ext,f;switch(i){case o.VERTEX_ATTRIB_ARRAY_INTEGER:f=s?void 0:!1;break;case o.VERTEX_ATTRIB_ARRAY_DIVISOR:f=!s&&!c?0:void 0;break;default:}return f!==void 0?f:r(n,i)},getProgramParameter:function(t,r,n,i){if(!Z(t))switch(i){case o.TRANSFORM_FEEDBACK_BUFFER_MODE:return o.SEPARATE_ATTRIBS;case o.TRANSFORM_FEEDBACK_VARYINGS:return 0;case o.ACTIVE_UNIFORM_BLOCKS:return 0;default:}return r(n,i)},getInternalformatParameter:function(t,r,n,i,a){if(!Z(t))switch(a){case o.SAMPLES:return new Int32Array([0]);default:}var s=t;return s.getInternalformatParameter(n,i,a)},getTexParameter:function(t,r,n,i){switch(i){case o.TEXTURE_MAX_ANISOTROPY_EXT:var a=wt(t),s=a._extensions,c=s[j_];i=c&&c.TEXTURE_MAX_ANISOTROPY_EXT||o.TEXTURE_MAX_ANISOTROPY_EXT;break;default:}return r(n,i)},getParameter:ks,hint:function(t,r,n,i){return r(n,i)}};function Ks(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=z_(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
263
+ }`)}function Qo(e,t){switch(t){case"float":return"vec4(".concat(e,", 0.0, 0.0, 1.0)");case"vec2":return"vec4(".concat(e,", 0.0, 1.0)");case"vec3":return"vec4(".concat(e,", 1.0)");case"vec4":return e;default:throw new Error(t)}}var Cg=1/Math.PI*180,Pg=1/180*Math.PI,Jl={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...Jl}};var pe=globalThis.mathgl.config;function Jo(e,{precision:t=pe.precision}={}){return e=e_(e),"".concat(parseFloat(e.toPrecision(t)))}function Ft(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function ri(e,t,r){let n=pe.EPSILON;r&&(pe.EPSILON=r);try{if(e===t)return!0;if(Ft(e)&&Ft(t)){if(e.length!==t.length)return!1;for(let i=0;i<e.length;++i)if(!ri(e[i],t[i]))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)<=pe.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{pe.EPSILON=n}}function e_(e){return Math.round(e/pe.EPSILON)*pe.EPSILON}function t_(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 xt=class extends t_(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:Ft(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(pe)}formatString(t){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+Jo(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(!ri(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 i=0;i<this.ELEMENTS;++i){let a=t[i],s=typeof r=="number"?r:r[i];this[i]=a+n*(s-a)}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(pe.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 r_(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 Re(e){if(!Number.isFinite(e))throw new Error("Invalid number ".concat(JSON.stringify(e)));return e}function Kr(e,t,r=""){if(pe.debug&&!r_(e,t))throw new Error("math.gl: ".concat(r," some fields set to invalid numbers'"));return e}function ni(e,t){if(!e)throw new Error("math.gl assertion ".concat(t))}var Yr=class extends xt{get x(){return this[0]}set x(t){this[0]=Re(t)}get y(){return this[1]}set y(t){this[1]=Re(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 i=this[n]-t[n];r+=i*i}return Re(r)}dot(t){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*t[n];return Re(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 ni(t>=0&&t<this.ELEMENTS,"index is out of range"),Re(this[t])}setComponent(t,r){return ni(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 qe=typeof Float32Array<"u"?Float32Array:Array;var Xg=Math.PI/180;function n_(){let e=new qe(2);return qe!=Float32Array&&(e[0]=0,e[1]=0),e}function rs(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[4]*i+r[12],e[1]=r[1]*n+r[5]*i+r[13],e}var Hg=function(){let e=n_();return function(t,r,n,i,a,s){let c,f;for(r||(r=2),n||(n=0),i?f=Math.min(i*r+n,t.length):f=t.length,c=n;c<f;c+=r)e[0]=t[c],e[1]=t[c+1],a(e,e,s),t[c]=e[0],t[c+1]=e[1];return t}}();function ns(e,t,r){let n=t[0],i=t[1],a=r[3]*n+r[7]*i||1;return e[0]=(r[0]*n+r[4]*i)/a,e[1]=(r[1]*n+r[5]*i)/a,e}function zr(e,t,r){let n=t[0],i=t[1],a=t[2],s=r[3]*n+r[7]*i+r[11]*a||1;return e[0]=(r[0]*n+r[4]*i+r[8]*a)/s,e[1]=(r[1]*n+r[5]*i+r[9]*a)/s,e[2]=(r[2]*n+r[6]*i+r[10]*a)/s,e}function is(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e[2]=t[2],e}function i_(){let e=new qe(3);return qe!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function a_(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function as(e,t,r){let n=t[0],i=t[1],a=t[2],s=r[0],c=r[1],f=r[2];return e[0]=i*f-a*c,e[1]=a*s-n*f,e[2]=n*c-i*s,e}function Gr(e,t,r){let n=t[0],i=t[1],a=t[2],s=r[3]*n+r[7]*i+r[11]*a+r[15];return s=s||1,e[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/s,e[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/s,e[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/s,e}function os(e,t,r){let n=t[0],i=t[1],a=t[2];return e[0]=n*r[0]+i*r[3]+a*r[6],e[1]=n*r[1]+i*r[4]+a*r[7],e[2]=n*r[2]+i*r[5]+a*r[8],e}function ss(e,t,r){let n=r[0],i=r[1],a=r[2],s=r[3],c=t[0],f=t[1],l=t[2],_=i*l-a*f,E=a*c-n*l,d=n*f-i*c,p=i*d-a*E,h=a*_-n*d,m=n*E-i*_,A=s*2;return _*=A,E*=A,d*=A,p*=2,h*=2,m*=2,e[0]=c+_+p,e[1]=f+E+h,e[2]=l+d+m,e}function us(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function cs(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function fs(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function ls(e,t){let r=e[0],n=e[1],i=e[2],a=t[0],s=t[1],c=t[2],f=Math.sqrt((r*r+n*n+i*i)*(a*a+s*s+c*c)),l=f&&a_(e,t)/f;return Math.acos(Math.min(Math.max(l,-1),1))}var Vg=function(){let e=i_();return function(t,r,n,i,a,s){let c,f;for(r||(r=3),n||(n=0),i?f=Math.min(i*r+n,t.length):f=t.length,c=n;c<f;c+=r)e[0]=t[c],e[1]=t[c+1],e[2]=t[c+2],a(e,e,s),t[c]=e[0],t[c+1]=e[1],t[c+2]=e[2];return t}}();var ai=[0,0,0],$r,ge=class extends Yr{static get ZERO(){return $r||($r=new ge(0,0,0),Object.freeze($r)),$r}constructor(t=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&Ft(t)?this.copy(t):(pe.debug&&(Re(t),Re(r),Re(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 pe.debug&&(Re(t.x),Re(t.y),Re(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]=Re(t)}angle(t){return ls(this,t)}cross(t){return as(this,this,t),this.check()}rotateX({radians:t,origin:r=ai}){return us(this,this,r,t),this.check()}rotateY({radians:t,origin:r=ai}){return cs(this,this,r,t),this.check()}rotateZ({radians:t,origin:r=ai}){return fs(this,this,r,t),this.check()}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return Gr(this,this,t),this.check()}transformAsVector(t){return zr(this,this,t),this.check()}transformByMatrix3(t){return os(this,this,t),this.check()}transformByMatrix2(t){return is(this,this,t),this.check()}transformByQuaternion(t){return ss(this,this,t),this.check()}};var qr=class extends xt{toString(){let t="[";if(pe.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]=Re(n),this}getColumn(t,r=new Array(this.RANK).fill(-0)){let n=t*this.RANK;for(let i=0;i<this.RANK;++i)r[i]=this[n+i];return r}setColumn(t,r){let n=t*this.RANK;for(let i=0;i<this.RANK;++i)this[n+i]=r[i];return this}};function o_(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 _s(e,t){if(e===t){let r=t[1],n=t[2],i=t[3],a=t[6],s=t[7],c=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]=a,e[11]=t[14],e[12]=i,e[13]=s,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 Es(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],s=t[4],c=t[5],f=t[6],l=t[7],_=t[8],E=t[9],d=t[10],p=t[11],h=t[12],m=t[13],A=t[14],S=t[15],F=r*c-n*s,g=r*f-i*s,N=r*l-a*s,I=n*f-i*c,x=n*l-a*c,X=i*l-a*f,j=_*m-E*h,V=_*A-d*h,Y=_*S-p*h,v=E*A-d*m,R=E*S-p*m,O=d*S-p*A,M=F*O-g*R+N*v+I*Y-x*V+X*j;return M?(M=1/M,e[0]=(c*O-f*R+l*v)*M,e[1]=(i*R-n*O-a*v)*M,e[2]=(m*X-A*x+S*I)*M,e[3]=(d*x-E*X-p*I)*M,e[4]=(f*Y-s*O-l*V)*M,e[5]=(r*O-i*Y+a*V)*M,e[6]=(A*N-h*X-S*g)*M,e[7]=(_*X-d*N+p*g)*M,e[8]=(s*R-c*Y+l*j)*M,e[9]=(n*Y-r*R-a*j)*M,e[10]=(h*x-m*N+S*F)*M,e[11]=(E*N-_*x-p*F)*M,e[12]=(c*V-s*v-f*j)*M,e[13]=(r*v-n*V+i*j)*M,e[14]=(m*g-h*I-A*F)*M,e[15]=(_*I-E*g+d*F)*M,e):null}function ds(e){let t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],s=e[5],c=e[6],f=e[7],l=e[8],_=e[9],E=e[10],d=e[11],p=e[12],h=e[13],m=e[14],A=e[15],S=t*s-r*a,F=t*c-n*a,g=r*c-n*s,N=l*h-_*p,I=l*m-E*p,x=_*m-E*h,X=t*x-r*I+n*N,j=a*x-s*I+c*N,V=l*g-_*F+E*S,Y=p*g-h*F+m*S;return f*X-i*j+A*V-d*Y}function oi(e,t,r){let n=t[0],i=t[1],a=t[2],s=t[3],c=t[4],f=t[5],l=t[6],_=t[7],E=t[8],d=t[9],p=t[10],h=t[11],m=t[12],A=t[13],S=t[14],F=t[15],g=r[0],N=r[1],I=r[2],x=r[3];return e[0]=g*n+N*c+I*E+x*m,e[1]=g*i+N*f+I*d+x*A,e[2]=g*a+N*l+I*p+x*S,e[3]=g*s+N*_+I*h+x*F,g=r[4],N=r[5],I=r[6],x=r[7],e[4]=g*n+N*c+I*E+x*m,e[5]=g*i+N*f+I*d+x*A,e[6]=g*a+N*l+I*p+x*S,e[7]=g*s+N*_+I*h+x*F,g=r[8],N=r[9],I=r[10],x=r[11],e[8]=g*n+N*c+I*E+x*m,e[9]=g*i+N*f+I*d+x*A,e[10]=g*a+N*l+I*p+x*S,e[11]=g*s+N*_+I*h+x*F,g=r[12],N=r[13],I=r[14],x=r[15],e[12]=g*n+N*c+I*E+x*m,e[13]=g*i+N*f+I*d+x*A,e[14]=g*a+N*l+I*p+x*S,e[15]=g*s+N*_+I*h+x*F,e}function ps(e,t,r){let n=r[0],i=r[1],a=r[2],s,c,f,l,_,E,d,p,h,m,A,S;return t===e?(e[12]=t[0]*n+t[4]*i+t[8]*a+t[12],e[13]=t[1]*n+t[5]*i+t[9]*a+t[13],e[14]=t[2]*n+t[6]*i+t[10]*a+t[14],e[15]=t[3]*n+t[7]*i+t[11]*a+t[15]):(s=t[0],c=t[1],f=t[2],l=t[3],_=t[4],E=t[5],d=t[6],p=t[7],h=t[8],m=t[9],A=t[10],S=t[11],e[0]=s,e[1]=c,e[2]=f,e[3]=l,e[4]=_,e[5]=E,e[6]=d,e[7]=p,e[8]=h,e[9]=m,e[10]=A,e[11]=S,e[12]=s*n+_*i+h*a+t[12],e[13]=c*n+E*i+m*a+t[13],e[14]=f*n+d*i+A*a+t[14],e[15]=l*n+p*i+S*a+t[15]),e}function hs(e,t,r){let n=r[0],i=r[1],a=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]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function ms(e,t,r,n){let i=n[0],a=n[1],s=n[2],c=Math.sqrt(i*i+a*a+s*s),f,l,_,E,d,p,h,m,A,S,F,g,N,I,x,X,j,V,Y,v,R,O,M,w;return c<1e-6?null:(c=1/c,i*=c,a*=c,s*=c,l=Math.sin(r),f=Math.cos(r),_=1-f,E=t[0],d=t[1],p=t[2],h=t[3],m=t[4],A=t[5],S=t[6],F=t[7],g=t[8],N=t[9],I=t[10],x=t[11],X=i*i*_+f,j=a*i*_+s*l,V=s*i*_-a*l,Y=i*a*_-s*l,v=a*a*_+f,R=s*a*_+i*l,O=i*s*_+a*l,M=a*s*_-i*l,w=s*s*_+f,e[0]=E*X+m*j+g*V,e[1]=d*X+A*j+N*V,e[2]=p*X+S*j+I*V,e[3]=h*X+F*j+x*V,e[4]=E*Y+m*v+g*R,e[5]=d*Y+A*v+N*R,e[6]=p*Y+S*v+I*R,e[7]=h*Y+F*v+x*R,e[8]=E*O+m*M+g*w,e[9]=d*O+A*M+N*w,e[10]=p*O+S*M+I*w,e[11]=h*O+F*M+x*w,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function Rs(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[4],s=t[5],c=t[6],f=t[7],l=t[8],_=t[9],E=t[10],d=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]=a*i+l*n,e[5]=s*i+_*n,e[6]=c*i+E*n,e[7]=f*i+d*n,e[8]=l*i-a*n,e[9]=_*i-s*n,e[10]=E*i-c*n,e[11]=d*i-f*n,e}function As(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],s=t[1],c=t[2],f=t[3],l=t[8],_=t[9],E=t[10],d=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]=a*i-l*n,e[1]=s*i-_*n,e[2]=c*i-E*n,e[3]=f*i-d*n,e[8]=a*n+l*i,e[9]=s*n+_*i,e[10]=c*n+E*i,e[11]=f*n+d*i,e}function Ts(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],s=t[1],c=t[2],f=t[3],l=t[4],_=t[5],E=t[6],d=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]=a*i+l*n,e[1]=s*i+_*n,e[2]=c*i+E*n,e[3]=f*i+d*n,e[4]=l*i-a*n,e[5]=_*i-s*n,e[6]=E*i-c*n,e[7]=d*i-f*n,e}function vs(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],s=r+r,c=n+n,f=i+i,l=r*s,_=n*s,E=n*c,d=i*s,p=i*c,h=i*f,m=a*s,A=a*c,S=a*f;return e[0]=1-E-h,e[1]=_+S,e[2]=d-A,e[3]=0,e[4]=_-S,e[5]=1-l-h,e[6]=p+m,e[7]=0,e[8]=d+A,e[9]=p-m,e[10]=1-l-E,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function gs(e,t,r,n,i,a,s){let c=1/(r-t),f=1/(i-n),l=1/(a-s);return e[0]=a*2*c,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a*2*f,e[6]=0,e[7]=0,e[8]=(r+t)*c,e[9]=(i+n)*f,e[10]=(s+a)*l,e[11]=-1,e[12]=0,e[13]=0,e[14]=s*a*2*l,e[15]=0,e}function s_(e,t,r,n,i){let a=1/Math.tan(t/2);if(e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let s=1/(n-i);e[10]=(i+n)*s,e[14]=2*i*n*s}else e[10]=-1,e[14]=-2*n;return e}var Ss=s_;function u_(e,t,r,n,i,a,s){let c=1/(t-r),f=1/(n-i),l=1/(a-s);return e[0]=-2*c,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*l,e[11]=0,e[12]=(t+r)*c,e[13]=(i+n)*f,e[14]=(s+a)*l,e[15]=1,e}var Os=u_;function ys(e,t,r,n){let i,a,s,c,f,l,_,E,d,p,h=t[0],m=t[1],A=t[2],S=n[0],F=n[1],g=n[2],N=r[0],I=r[1],x=r[2];return Math.abs(h-N)<1e-6&&Math.abs(m-I)<1e-6&&Math.abs(A-x)<1e-6?o_(e):(E=h-N,d=m-I,p=A-x,i=1/Math.sqrt(E*E+d*d+p*p),E*=i,d*=i,p*=i,a=F*p-g*d,s=g*E-S*p,c=S*d-F*E,i=Math.sqrt(a*a+s*s+c*c),i?(i=1/i,a*=i,s*=i,c*=i):(a=0,s=0,c=0),f=d*c-p*s,l=p*a-E*c,_=E*s-d*a,i=Math.sqrt(f*f+l*l+_*_),i?(i=1/i,f*=i,l*=i,_*=i):(f=0,l=0,_=0),e[0]=a,e[1]=f,e[2]=E,e[3]=0,e[4]=s,e[5]=l,e[6]=d,e[7]=0,e[8]=c,e[9]=_,e[10]=p,e[11]=0,e[12]=-(a*h+s*m+c*A),e[13]=-(f*h+l*m+_*A),e[14]=-(E*h+d*m+p*A),e[15]=1,e)}function c_(){let e=new qe(4);return qe!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function bs(e,t,r){let n=t[0],i=t[1],a=t[2],s=t[3];return e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*s,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*s,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*s,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*s,e}var rS=function(){let e=c_();return function(t,r,n,i,a,s){let c,f;for(r||(r=4),n||(n=0),i?f=Math.min(i*r+n,t.length):f=t.length,c=n;c<f;c+=r)e[0]=t[c],e[1]=t[c+1],e[2]=t[c+2],e[3]=t[c+3],a(e,e,s),t[c]=e[0],t[c+1]=e[1],t[c+2]=e[2],t[c+3]=e[3];return t}}();var ci;(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"})(ci||(ci={}));var f_=45*Math.PI/180,l_=1,si=.1,ui=500,__=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),Be=class extends qr{static get IDENTITY(){return d_()}static get ZERO(){return E_()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return ci}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,i,a,s,c,f,l,_,E,d,p,h,m,A){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this[4]=a,this[5]=s,this[6]=c,this[7]=f,this[8]=l,this[9]=_,this[10]=E,this[11]=d,this[12]=p,this[13]=h,this[14]=m,this[15]=A,this.check()}setRowMajor(t,r,n,i,a,s,c,f,l,_,E,d,p,h,m,A){return this[0]=t,this[1]=a,this[2]=l,this[3]=p,this[4]=r,this[5]=s,this[6]=_,this[7]=h,this[8]=n,this[9]=c,this[10]=E,this[11]=m,this[12]=i,this[13]=f,this[14]=d,this[15]=A,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(__)}fromObject(t){return this.check()}fromQuaternion(t){return vs(this,t),this.check()}frustum(t){let{left:r,right:n,bottom:i,top:a,near:s=si,far:c=ui}=t;return c===1/0?p_(this,r,n,i,a,s):gs(this,r,n,i,a,s,c),this.check()}lookAt(t){let{eye:r,center:n=[0,0,0],up:i=[0,1,0]}=t;return ys(this,r,n,i),this.check()}ortho(t){let{left:r,right:n,bottom:i,top:a,near:s=si,far:c=ui}=t;return Os(this,r,n,i,a,s,c),this.check()}orthographic(t){let{fovy:r=f_,aspect:n=l_,focalDistance:i=1,near:a=si,far:s=ui}=t;Cs(r);let c=r/2,f=i*Math.tan(c),l=f*n;return this.ortho({left:-l,right:l,bottom:-f,top:f,near:a,far:s})}perspective(t){let{fovy:r=45*Math.PI/180,aspect:n=1,near:i=.1,far:a=500}=t;return Cs(r),Ss(this,r,n,i,a),this.check()}determinant(){return ds(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),i=1/n[0],a=1/n[1],s=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*s,t[3]=0,t[4]=this[4]*i,t[5]=this[5]*a,t[6]=this[6]*s,t[7]=0,t[8]=this[8]*i,t[9]=this[9]*a,t[10]=this[10]*s,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),i=1/n[0],a=1/n[1],s=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*s,t[3]=this[4]*i,t[4]=this[5]*a,t[5]=this[6]*s,t[6]=this[8]*i,t[7]=this[9]*a,t[8]=this[10]*s,t}transpose(){return _s(this,this),this.check()}invert(){return Es(this,this),this.check()}multiplyLeft(t){return oi(this,t,this),this.check()}multiplyRight(t){return oi(this,this,t),this.check()}rotateX(t){return Rs(this,this,t),this.check()}rotateY(t){return As(this,this,t),this.check()}rotateZ(t){return Ts(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,r){return ms(this,this,t,r),this.check()}scale(t){return hs(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return ps(this,this,t),this.check()}transform(t,r){return t.length===4?(r=bs(r||[-0,-0,-0,-0],t,this),Kr(r,4),r):this.transformAsPoint(t,r)}transformAsPoint(t,r){let{length:n}=t,i;switch(n){case 2:i=rs(r||[-0,-0],t,this);break;case 3:i=Gr(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Kr(i,t.length),i}transformAsVector(t,r){let n;switch(t.length){case 2:n=ns(r||[-0,-0],t,this);break;case 3:n=zr(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Kr(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])}},Zr,Qr;function E_(){return Zr||(Zr=new Be([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(Zr)),Zr}function d_(){return Qr||(Qr=new Be,Object.freeze(Qr)),Qr}function Cs(e){if(e>Math.PI*2)throw Error("expected radians")}function p_(e,t,r,n,i,a){let s=2*a/(r-t),c=2*a/(i-n),f=(r+t)/(r-t),l=(i+n)/(i-n),_=-1,E=-1,d=-2*a;return e[0]=s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=f,e[9]=l,e[10]=_,e[11]=E,e[12]=0,e[13]=0,e[14]=d,e[15]=0,e}var Ps=function(){function e(t){b(this,e),u(this,"id",void 0),u(this,"userData",{}),u(this,"topology",void 0),u(this,"bufferLayout",[]),u(this,"vertexCount",void 0),u(this,"indices",void 0),u(this,"attributes",void 0),this.id=t.id||ee("geometry"),this.topology=t.topology,this.indices=t.indices||null,this.attributes=t.attributes,this.vertexCount=t.vertexCount,this.bufferLayout=t.bufferLayout||[],this.bufferLayout.find(function(r){return r.name==="positions"})||this.bufferLayout.push({name:"positions",format:"float32x3"}),this.attributes.normals&&!this.bufferLayout.find(function(r){return r.name==="normals"})&&this.bufferLayout.push({name:"normals",format:"float32x3"}),this.attributes.texCoords&&!this.bufferLayout.find(function(r){return r.name==="texCoords"})&&this.bufferLayout.push({name:"texCoords",format:"float32x2"}),this.attributes.colors&&!this.bufferLayout.find(function(r){return r.name==="colors"})&&this.bufferLayout.push({name:"colors",format:"float32x3"}),this.indices&&W(this.indices.usage===ue.INDEX)}return C(e,[{key:"destroy",value:function(){var r;this.indices.destroy(),this.attributes.positions.destroy(),this.attributes.normals.destroy(),this.attributes.texCoords.destroy(),(r=this.attributes.colors)===null||r===void 0||r.destroy()}},{key:"getVertexCount",value:function(){return this.vertexCount}},{key:"getAttributes",value:function(){return this.attributes}},{key:"getIndexes",value:function(){return this.indices}},{key:"_calculateVertexCount",value:function(r){var n=r.byteLength/12;return n}}]),e}();function Ns(e,t){if(t instanceof Ps)return t;var r=h_(e,t),n=m_(e,t),i=n.attributes,a=n.bufferLayout;return new Ps({topology:t.topology||"triangle-list",bufferLayout:a,vertexCount:t.vertexCount,indices:r,attributes:i})}function h_(e,t){if(t.indices){var r=t.indices.value;return W(r instanceof Uint16Array||r instanceof Uint32Array,'attribute array for "indices" must be of integer type'),e.createBuffer({usage:ue.INDEX,data:r})}}function m_(e,t){var r=t.attributes.positions||t.attributes.POSITION,n=t.attributes.normals||t.attributes.NORMAL,i=t.attributes.texCoords||t.attributes.TEXCOORD_0,a={positions:e.createBuffer({data:r.value,id:"positions-buffer"})},s=[{name:"positions",format:"float32x".concat(r.size)}];n&&(a.normals=e.createBuffer({data:n.value,id:"normals-buffer"}),s.push({name:"normals",format:"float32x".concat(n.size)})),i&&(a.texCoords=e.createBuffer({data:i.value,id:"texCoords-buffer"}),s.push({name:"texCoords",format:"float32x".concat(i.size)}));var c=t._calculateVertexCount(t.attributes,t.indices);return{attributes:a,bufferLayout:s,vertexCount:c}}function Ms(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ze(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){u(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}var ir=function(){function e(t){b(this,e),u(this,"device",void 0),u(this,"_hashCounter",0),u(this,"_hashes",{}),u(this,"_useCounts",{}),u(this,"_pipelineCache",{}),this.device=t}return C(e,[{key:"createRenderPipeline",value:function(r){var n=Ze(Ze({},e.defaultProps),r),i=this._hashRenderPipeline(Ze({},n));if(!this._pipelineCache[i]){var a=this.device.createRenderPipeline(Ze(Ze({},n),{},{vs:this.device.createShader({stage:"vertex",source:n.vs}),fs:n.fs?this.device.createShader({stage:"fragment",source:n.fs}):null}));a.hash=i,this._pipelineCache[i]=a,this._useCounts[i]=0}return this._useCounts[i]++,this._pipelineCache[i]}},{key:"release",value:function(r){var n=r.hash;this._useCounts[n]--,this._useCounts[n]===0&&(this._pipelineCache[n].destroy(),delete this._pipelineCache[n],delete this._useCounts[n])}},{key:"_createRenderPipeline",value:function(r){if(!r.fs)throw new Error("fs");var n=this.device.createRenderPipeline(Ze(Ze({},r),{},{vs:this.device.createShader({stage:"vertex",source:r.vs}),fs:r.fs?this.device.createShader({stage:"fragment",source:r.fs}):null}));return n}},{key:"_hashRenderPipeline",value:function(r){var n=this._getHash(r.vs),i=r.fs?this._getHash(r.fs):0,a=this._getHash(JSON.stringify(r.parameters)),s=this._getHash(JSON.stringify(r.bufferLayout)),c="-";return"".concat(n,"/").concat(i,"V").concat(c,"T").concat(r.topology,"P").concat(a,"BL").concat(s,"}")}},{key:"_getHash",value:function(r){return this._hashes[r]===void 0&&(this._hashes[r]=this._hashCounter++),this._hashes[r]}}],[{key:"getDefaultPipelineFactory",value:function(r){return r._lumaData.defaultPipelineFactory=r._lumaData.defaultPipelineFactory||new e(r),r._lumaData.defaultPipelineFactory}}]),e}();u(ir,"defaultProps",Ze(Ze({},it.defaultProps),{},{vs:void 0,fs:void 0}));function R_(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=A_(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
264
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,c;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,c=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw c}}}}function A_(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 Fs(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Bt(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Fs(Object(r),!0).forEach(function(n){u(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Fs(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var ht=function(){function e(t,r){b(this,e),u(this,"device",void 0),u(this,"id",void 0),u(this,"vs",void 0),u(this,"fs",void 0),u(this,"pipelineFactory",void 0),u(this,"userData",{}),u(this,"parameters",void 0),u(this,"topology",void 0),u(this,"bufferLayout",void 0),u(this,"vertexCount",void 0),u(this,"instanceCount",0),u(this,"indices",null),u(this,"bufferAttributes",{}),u(this,"constantAttributes",{}),u(this,"bindings",{}),u(this,"uniforms",{}),u(this,"pipeline",void 0),u(this,"_pipelineNeedsUpdate","newly created"),u(this,"_getModuleUniforms",void 0),u(this,"props",void 0),this.props=Bt(Bt({},e.defaultProps),r),r=this.props,this.id=r.id||ee("model"),this.device=t,Object.assign(this.userData,r.userData);var n={type:t.info.type,shaderLanguage:t.info.shadingLanguages[0],gpu:t.info.gpu,features:t.features},i=this.props.shaderAssembler.assembleShaders(n,this.props),a=i.vs,s=i.fs,c=i.getUniforms;this.vs=a,this.fs=s,this._getModuleUniforms=c,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,r.geometry&&this.setGeometry(r.geometry),this.pipelineFactory=r.pipelineFactory||ir.getDefaultPipelineFactory(this.device),this.pipeline=this._updatePipeline(),r.vertexCount&&this.setVertexCount(r.vertexCount),r.instanceCount&&this.setInstanceCount(r.instanceCount),r.indices&&this.setIndexBuffer(r.indices),r.attributes&&this.setAttributes(r.attributes),r.bindings&&this.setBindings(r.bindings),r.uniforms&&this.setUniforms(r.uniforms),r.moduleSettings&&this.updateModuleSettings(r.moduleSettings),this.setUniforms(this._getModuleUniforms()),Object.seal(this)}return C(e,[{key:"destroy",value:function(){this.pipelineFactory.release(this.pipeline)}},{key:"draw",value:function(r){this.pipeline=this._updatePipeline(),this.pipeline.setIndexBuffer(this.indices),this.pipeline.setAttributes(this.bufferAttributes),this.pipeline.setConstantAttributes(this.constantAttributes),this.pipeline.setBindings(this.bindings),this.pipeline.setUniforms(this.uniforms),this.pipeline.draw({renderPass:r,vertexCount:this.vertexCount,instanceCount:this.instanceCount})}},{key:"setGeometry",value:function(r){var n=r&&Ns(this.device,r);this.setTopology(n.topology||"triangle-list"),this.bufferLayout=T_(this.bufferLayout,n.bufferLayout),this.vertexCount=n.vertexCount,this.setAttributes(n.attributes),this.setIndexBuffer(n.indices)}},{key:"setTopology",value:function(r){r!==this.topology&&(this.topology=r,this.device.info.type==="webgpu"&&this._setPipelineNeedsUpdate("topology"))}},{key:"setBufferLayout",value:function(r){r!==this.bufferLayout&&(this.bufferLayout=r,this.device.info.type==="webgpu"&&this._setPipelineNeedsUpdate("bufferLayout"))}},{key:"setParameters",value:function(r){tr(r,this.parameters,2)||(this.parameters=r,this.device.info.type==="webgpu"&&this._setPipelineNeedsUpdate("parameters"))}},{key:"setVertexCount",value:function(r){this.vertexCount=r}},{key:"setInstanceCount",value:function(r){this.instanceCount=r}},{key:"setShaderModuleProps",value:function(r){var n=this._getModuleUniforms(r);Object.assign(this.uniforms,n)}},{key:"updateModuleSettings",value:function(r){this.setShaderModuleProps(r)}},{key:"setIndexBuffer",value:function(r){this.indices=r}},{key:"setAttributes",value:function(r){r.indices&&B.warn("Model:".concat(this.id," setAttributes() - indices should be set using setIndexBuffer()")),Object.assign(this.bufferAttributes,r)}},{key:"setConstantAttributes",value:function(r){Object.assign(this.constantAttributes,r)}},{key:"setBindings",value:function(r){Object.assign(this.bindings,r)}},{key:"setUniforms",value:function(r){this.pipeline.setUniforms(r),Object.assign(this.uniforms,r)}},{key:"_setPipelineNeedsUpdate",value:function(r){this._pipelineNeedsUpdate=this._pipelineNeedsUpdate||r}},{key:"_updatePipeline",value:function(){return this._pipelineNeedsUpdate&&(B.log(1,"Model ".concat(this.id,': Recreating pipeline because "').concat(this._pipelineNeedsUpdate,'".'))(),this._pipelineNeedsUpdate=!1,this.pipeline=this.device.createRenderPipeline(Bt(Bt({},this.props),{},{bufferLayout:this.bufferLayout,topology:this.topology,parameters:this.parameters,vs:this.device.createShader({stage:"vertex",source:this.vs}),fs:this.fs?this.device.createShader({stage:"fragment",source:this.fs}):null}))),this.pipeline}}]),e}();u(ht,"defaultProps",Bt(Bt({},it.defaultProps),{},{vs:null,fs:null,id:"unnamed",handle:void 0,userData:{},defines:{},modules:[],moduleSettings:{},geometry:null,pipelineFactory:void 0,shaderAssembler:jr.getDefaultShaderAssembler()}));function T_(e,t){var r=re(e),n=R_(t),i;try{var a=function(){var c=i.value,f=r.findIndex(function(l){return l.name===c.name});f<0?r.push(c):r[f]=c};for(n.s();!(i=n.n()).done;)a()}catch(s){n.e(s)}finally{n.f()}return r}var o=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}({});function xs(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ds(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?xs(Object(r),!0).forEach(function(n){u(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):xs(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var v_="Failed to create WebGL context in Node.js, headless gl returned null",g_=" 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.",S_={width:1,height:1,debug:!0,throwOnError:!1},fi=null;function Bs(){return fi!==null}function ws(e){e=Ds(Ds({},S_),e);var t=e,r=t.width,n=t.height,i=t.webgl1,a=t.webgl2;if(a&&!i)throw new Error("headless-gl does not support WebGL2");if(!fi)throw new Error(g_);var s=fi(r,n,e);if(!s)throw new Error(v_);return s}var Xi=De(Ie(),1);var ar={};function O_(e){globalThis.console&&globalThis.console.error&&globalThis.console.error(e)}function y_(e){globalThis.console&&globalThis.console.log&&globalThis.console.log(e)}function b_(e,t){ar[e]=!0,t!==void 0&&O_(t)}function C_(e){var t=e.getError;e.getError=function(){var n;do n=t.apply(e),n!==e.NO_ERROR&&(ar[n]=!0);while(n!==e.NO_ERROR);for(n in ar)if(ar[n])return delete ar[n],parseInt(n,10);return e.NO_ERROR}}var or=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 i=new e.VertexAttrib(r);this.attribs[n]=i}this.maxAttrib=0};or.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()};or.VertexAttrib.prototype.recache=function(){this.cached=[this.size,this.type,this.normalized,this.stride,this.offset].join(":")};var mt=function(t){var r=this;this.gl=t,C_(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(a){return a===r.VERTEX_ARRAY_BINDING_OES?r.currentVertexArrayObject===r.defaultVertexArrayObject?null:r.currentVertexArrayObject:n.getParameter.apply(this,arguments)},t.enableVertexAttribArray=function(a){var s=r.currentVertexArrayObject;s.maxAttrib=Math.max(s.maxAttrib,a);var c=s.attribs[a];return c.enabled=!0,n.enableVertexAttribArray.apply(this,arguments)},t.disableVertexAttribArray=function(a){var s=r.currentVertexArrayObject;s.maxAttrib=Math.max(s.maxAttrib,a);var c=s.attribs[a];return c.enabled=!1,n.disableVertexAttribArray.apply(this,arguments)},t.bindBuffer=function(a,s){switch(a){case t.ARRAY_BUFFER:r.currentArrayBuffer=s;break;case t.ELEMENT_ARRAY_BUFFER:r.currentVertexArrayObject.elementArrayBuffer=s;break;default:}return n.bindBuffer.apply(this,arguments)},t.getVertexAttrib=function(a,s){var c=r.currentVertexArrayObject,f=c.attribs[a];switch(s){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(a,s,c,f,l,_){var E=r.currentVertexArrayObject;E.maxAttrib=Math.max(E.maxAttrib,a);var d=E.attribs[a];return d.buffer=r.currentArrayBuffer,d.size=s,d.type=c,d.normalized=f,d.stride=l,d.offset=_,d.recache(),n.vertexAttribPointer.apply(this,arguments)},t.instrumentExtension&&t.instrumentExtension(this,"OES_vertex_array_object"),t.canvas&&t.canvas.addEventListener("webglcontextrestored",function(){y_("OESVertexArrayObject emulation library context restored"),r.reset_()},!0),this.reset_()};mt.prototype.VERTEX_ARRAY_BINDING_OES=34229;mt.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 or(this),this.currentVertexArrayObject=null,this.currentArrayBuffer=null,this.vertexArrayObjects=[this.defaultVertexArrayObject],this.bindVertexArrayOES(null)};mt.prototype.createVertexArrayOES=function(){var t=new or(this);return this.vertexArrayObjects.push(t),t};mt.prototype.deleteVertexArrayOES=function(t){t.isAlive=!1,this.vertexArrayObjects.splice(this.vertexArrayObjects.indexOf(t),1),this.currentVertexArrayObject===t&&this.bindVertexArrayOES(null)};mt.prototype.isVertexArrayOES=function(t){return!!(t&&t instanceof or&&t.hasBeenBound&&t.ext===this)};mt.prototype.bindVertexArrayOES=function(t){var r=this.gl;if(t&&!t.isAlive){b_(r.INVALID_OPERATION,"bindVertexArrayOES: attempt to bind deleted arrayObject");return}var n=this.original,i=this.currentVertexArrayObject;this.currentVertexArrayObject=t||this.defaultVertexArrayObject,this.currentVertexArrayObject.hasBeenBound=!0;var a=this.currentVertexArrayObject;if(i!==a){(!i||a.elementArrayBuffer!==i.elementArrayBuffer)&&n.bindBuffer.call(r,r.ELEMENT_ARRAY_BUFFER,a.elementArrayBuffer);for(var s=this.currentArrayBuffer,c=Math.max(i?i.maxAttrib:0,a.maxAttrib),f=0;f<=c;f++){var l=a.attribs[f],_=i?i.attribs[f]:null;if((!i||l.enabled!==_.enabled)&&(l.enabled?n.enableVertexAttribArray.call(r,f):n.disableVertexAttribArray.call(r,f)),l.enabled){var E=!1;(!i||l.buffer!==_.buffer)&&(s!==l.buffer&&(n.bindBuffer.call(r,r.ARRAY_BUFFER,l.buffer),s=l.buffer),E=!0),(E||l.cached!==_.cached)&&n.vertexAttribPointer.call(r,f,l.size,l.type,l.normalized,l.stride,l.offset)}}this.currentArrayBuffer!==s&&n.bindBuffer.call(r,r.ARRAY_BUFFER,this.currentArrayBuffer)}};function Us(e){if(typeof e.createVertexArray!="function"){var t=e.getSupportedExtensions;e.getSupportedExtensions=function(){var i=t.call(this)||[];return i.indexOf("OES_vertex_array_object")<0&&i.push("OES_vertex_array_object"),i};var r=e.getExtension;e.getExtension=function(i){var a=r.call(this,i);return a||(i!=="OES_vertex_array_object"?null:(e.__OESVertexArrayObject||(this.__OESVertexArrayObject=new mt(this)),this.__OESVertexArrayObject))}}}var P_="Invalid WebGLRenderingContext";var N_="Requires WebGL2";function M_(e){return typeof WebGLRenderingContext<"u"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&Number.isFinite(e._version))}function Z(e){return typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&e._version===2)}function li(e){return Z(e)?e:null}function Ls(e){return W(M_(e),P_),e}function Jr(e){return W(Z(e),N_),e}var q,Xs="OES_element_index",Hs="WEBGL_draw_buffers",I_="EXT_disjoint_timer_query",F_="EXT_disjoint_timer_query_webgl2",x_="EXT_texture_filter_anisotropic",Ws="WEBGL_debug_renderer_info",D_=35723,B_=4352,w_=36795,U_=34047,L_=37445,X_=37446,oe=function(t){return Z(t)?void 0:0},H_=(q={},u(q,o.READ_BUFFER,function(e){return Z(e)?void 0:o.COLOR_ATTACHMENT0}),u(q,D_,function(e){return Z(e)?void 0:B_}),u(q,o.RASTERIZER_DISCARD,oe),u(q,o.SAMPLES,oe),u(q,w_,function(e,t){var r=Z(e)?e.getExtension(F_):e.getExtension(I_);return r&&r.GPU_DISJOINT_EXT?t(r.GPU_DISJOINT_EXT):0}),u(q,L_,function(e,t){var r=e.getExtension(Ws);return t(r&&r.UNMASKED_VENDOR_WEBGL||o.VENDOR)}),u(q,X_,function(e,t){var r=e.getExtension(Ws);return t(r&&r.UNMASKED_RENDERER_WEBGL||o.RENDERER)}),u(q,U_,function(e,t){var r,n=((r=e.luma)===null||r===void 0||(r=r.extensions)===null||r===void 0?void 0:r[x_])||e.getExtension("EXT_texture_filter_anisotropic");return n?t(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1}),u(q,o.MAX_3D_TEXTURE_SIZE,oe),u(q,o.MAX_ARRAY_TEXTURE_LAYERS,oe),u(q,o.MAX_CLIENT_WAIT_TIMEOUT_WEBGL,oe),u(q,o.MAX_COLOR_ATTACHMENTS,function(e,t){if(!Z(e)){var r=e.getExtension(Hs);return r?t(r.MAX_COLOR_ATTACHMENTS_WEBGL):0}}),u(q,o.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,oe),u(q,o.MAX_COMBINED_UNIFORM_BLOCKS,oe),u(q,o.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,oe),u(q,o.MAX_DRAW_BUFFERS,function(e){if(!Z(e)){var t=e.getExtension(Hs);return t?t.MAX_DRAW_BUFFERS_WEBGL:0}}),u(q,o.MAX_ELEMENT_INDEX,function(e){return e.getExtension(Xs)?2147483647:65535}),u(q,o.MAX_ELEMENTS_INDICES,function(e){return e.getExtension(Xs)?16777216:65535}),u(q,o.MAX_ELEMENTS_VERTICES,function(e){return 16777216}),u(q,o.MAX_FRAGMENT_INPUT_COMPONENTS,oe),u(q,o.MAX_FRAGMENT_UNIFORM_BLOCKS,oe),u(q,o.MAX_FRAGMENT_UNIFORM_COMPONENTS,oe),u(q,o.MAX_SAMPLES,oe),u(q,o.MAX_SERVER_WAIT_TIMEOUT,oe),u(q,o.MAX_TEXTURE_LOD_BIAS,oe),u(q,o.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,oe),u(q,o.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,oe),u(q,o.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,oe),u(q,o.MAX_UNIFORM_BLOCK_SIZE,oe),u(q,o.MAX_UNIFORM_BUFFER_BINDINGS,oe),u(q,o.MAX_VARYING_COMPONENTS,oe),u(q,o.MAX_VERTEX_OUTPUT_COMPONENTS,oe),u(q,o.MAX_VERTEX_UNIFORM_BLOCKS,oe),u(q,o.MAX_VERTEX_UNIFORM_COMPONENTS,oe),u(q,o.MIN_PROGRAM_TEXEL_OFFSET,oe),u(q,o.MAX_PROGRAM_TEXEL_OFFSET,oe),u(q,o.UNIFORM_BUFFER_OFFSET_ALIGNMENT,oe),q);function ks(e,t,r){var n=H_[r],i=typeof n=="function"?n(e,t,r):n,a=i!==void 0?i:t(r);return a}function wt(e){var t=e.luma;if(!t){var r={_polyfilled:!1,_extensions:{}};e.luma=r}return e.luma}var Ut,W_="OES_vertex_array_object",Vs="ANGLE_instanced_arrays",k_="WEBGL_draw_buffers",V_="EXT_disjoint_timer_query",j_="EXT_texture_filter_anisotropic",K_="VertexArray requires WebGL2 or OES_vertex_array_object extension";function Y_(e,t){return{webgl2:Z(e),ext:e.getExtension(t)}}var _i=(Ut={},u(Ut,W_,{meta:{suffix:"OES"},createVertexArray:function(){W(!1,K_)},deleteVertexArray:function(){},bindVertexArray:function(){},isVertexArray:function(){return!1}}),u(Ut,Vs,{meta:{suffix:"ANGLE"},vertexAttribDivisor:function(t,r){W(r===0,"WebGL instanced rendering not supported")},drawElementsInstanced:function(){},drawArraysInstanced:function(){}}),u(Ut,k_,{meta:{suffix:"WEBGL"},drawBuffers:function(){W(!1)}}),u(Ut,V_,{meta:{suffix:"EXT"},createQuery:function(){W(!1)},deleteQuery:function(){W(!1)},beginQuery:function(){W(!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){}}),Ut),en={readBuffer:function(t,r,n){Z(t)&&r(n)},getVertexAttrib:function(t,r,n,i){var a=Y_(t,Vs),s=a.webgl2,c=a.ext,f;switch(i){case o.VERTEX_ATTRIB_ARRAY_INTEGER:f=s?void 0:!1;break;case o.VERTEX_ATTRIB_ARRAY_DIVISOR:f=!s&&!c?0:void 0;break;default:}return f!==void 0?f:r(n,i)},getProgramParameter:function(t,r,n,i){if(!Z(t))switch(i){case o.TRANSFORM_FEEDBACK_BUFFER_MODE:return o.SEPARATE_ATTRIBS;case o.TRANSFORM_FEEDBACK_VARYINGS:return 0;case o.ACTIVE_UNIFORM_BLOCKS:return 0;default:}return r(n,i)},getInternalformatParameter:function(t,r,n,i,a){if(!Z(t))switch(a){case o.SAMPLES:return new Int32Array([0]);default:}var s=t;return s.getInternalformatParameter(n,i,a)},getTexParameter:function(t,r,n,i){switch(i){case o.TEXTURE_MAX_ANISOTROPY_EXT:var a=wt(t),s=a._extensions,c=s[j_];i=c&&c.TEXTURE_MAX_ANISOTROPY_EXT||o.TEXTURE_MAX_ANISOTROPY_EXT;break;default:}return r(n,i)},getParameter:ks,hint:function(t,r,n,i){return r(n,i)}};function Ks(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=z_(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
265
265
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,c;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,c=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw c}}}}function z_(e,t){if(e){if(typeof e=="string")return js(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 js(e,t)}}function js(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 Ys(e){var t=wt(e);return t._polyfilled||(Us(e),G_(e),$_(e,_i),Z_(e,{target:t,target2:e}),t._polyfilled=!0),e}function G_(e){var t=wt(e),r=e.getSupportedExtensions()||[],n=Ks(r),i;try{for(n.s();!(i=n.n()).done;){var a=i.value,s=e.getExtension(a);t._extensions[a]=s}}catch(c){n.e(c)}finally{n.f()}}function $_(e,t){var r=wt(e),n=Ks(Object.getOwnPropertyNames(t)),i;try{for(n.s();!(i=n.n()).done;){var a=i.value;a!=="overrides"&&q_(e,{extension:a,target:r,target2:e})}}catch(s){n.e(s)}finally{n.f()}}function q_(e,t){var r=t.extension,n=t.target,i=t.target2,a=_i[r];W(a);for(var s=a.meta,c=s===void 0?{}:s,f=c.suffix,l=f===void 0?"":f,_=e.getExtension(r),E=function(){var m=p[d],A="".concat(m).concat(l),S=null;m==="meta"||typeof e[m]=="function"||(_&&typeof _[A]=="function"?S=function(){return _[A].apply(_,arguments)}:typeof a[m]=="function"&&(S=a[m].bind(n))),S&&(n[m]=S,i[m]=S)},d=0,p=Object.keys(a);d<p.length;d++)E()}function Z_(e,t){var r=t.target,n=t.target2;Object.keys(en).forEach(function(i){if(typeof en[i]=="function"){var a=e[i]?e[i].bind(e):function(){},s=en[i].bind(null,e,a);r[i]=s,n[i]=s}})}var D,P,xe,tn=(D={},u(D,o.BLEND,!1),u(D,o.BLEND_COLOR,new Float32Array([0,0,0,0])),u(D,o.BLEND_EQUATION_RGB,o.FUNC_ADD),u(D,o.BLEND_EQUATION_ALPHA,o.FUNC_ADD),u(D,o.BLEND_SRC_RGB,o.ONE),u(D,o.BLEND_DST_RGB,o.ZERO),u(D,o.BLEND_SRC_ALPHA,o.ONE),u(D,o.BLEND_DST_ALPHA,o.ZERO),u(D,o.COLOR_CLEAR_VALUE,new Float32Array([0,0,0,0])),u(D,o.COLOR_WRITEMASK,[!0,!0,!0,!0]),u(D,o.CULL_FACE,!1),u(D,o.CULL_FACE_MODE,o.BACK),u(D,o.DEPTH_TEST,!1),u(D,o.DEPTH_CLEAR_VALUE,1),u(D,o.DEPTH_FUNC,o.LESS),u(D,o.DEPTH_RANGE,new Float32Array([0,1])),u(D,o.DEPTH_WRITEMASK,!0),u(D,o.DITHER,!0),u(D,o.CURRENT_PROGRAM,null),u(D,o.FRAMEBUFFER_BINDING,null),u(D,o.RENDERBUFFER_BINDING,null),u(D,o.VERTEX_ARRAY_BINDING,null),u(D,o.ARRAY_BUFFER_BINDING,null),u(D,o.FRONT_FACE,o.CCW),u(D,o.GENERATE_MIPMAP_HINT,o.DONT_CARE),u(D,o.LINE_WIDTH,1),u(D,o.POLYGON_OFFSET_FILL,!1),u(D,o.POLYGON_OFFSET_FACTOR,0),u(D,o.POLYGON_OFFSET_UNITS,0),u(D,o.SAMPLE_ALPHA_TO_COVERAGE,!1),u(D,o.SAMPLE_COVERAGE,!1),u(D,o.SAMPLE_COVERAGE_VALUE,1),u(D,o.SAMPLE_COVERAGE_INVERT,!1),u(D,o.SCISSOR_TEST,!1),u(D,o.SCISSOR_BOX,new Int32Array([0,0,1024,1024])),u(D,o.STENCIL_TEST,!1),u(D,o.STENCIL_CLEAR_VALUE,0),u(D,o.STENCIL_WRITEMASK,4294967295),u(D,o.STENCIL_BACK_WRITEMASK,4294967295),u(D,o.STENCIL_FUNC,o.ALWAYS),u(D,o.STENCIL_REF,0),u(D,o.STENCIL_VALUE_MASK,4294967295),u(D,o.STENCIL_BACK_FUNC,o.ALWAYS),u(D,o.STENCIL_BACK_REF,0),u(D,o.STENCIL_BACK_VALUE_MASK,4294967295),u(D,o.STENCIL_FAIL,o.KEEP),u(D,o.STENCIL_PASS_DEPTH_FAIL,o.KEEP),u(D,o.STENCIL_PASS_DEPTH_PASS,o.KEEP),u(D,o.STENCIL_BACK_FAIL,o.KEEP),u(D,o.STENCIL_BACK_PASS_DEPTH_FAIL,o.KEEP),u(D,o.STENCIL_BACK_PASS_DEPTH_PASS,o.KEEP),u(D,o.VIEWPORT,[0,0,1024,1024]),u(D,o.PACK_ALIGNMENT,4),u(D,o.UNPACK_ALIGNMENT,4),u(D,o.UNPACK_FLIP_Y_WEBGL,!1),u(D,o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),u(D,o.UNPACK_COLORSPACE_CONVERSION_WEBGL,o.BROWSER_DEFAULT_WEBGL),u(D,o.TRANSFORM_FEEDBACK_BINDING,null),u(D,o.COPY_READ_BUFFER_BINDING,null),u(D,o.COPY_WRITE_BUFFER_BINDING,null),u(D,o.PIXEL_PACK_BUFFER_BINDING,null),u(D,o.PIXEL_UNPACK_BUFFER_BINDING,null),u(D,o.FRAGMENT_SHADER_DERIVATIVE_HINT,o.DONT_CARE),u(D,o.READ_FRAMEBUFFER_BINDING,null),u(D,o.RASTERIZER_DISCARD,!1),u(D,o.PACK_ROW_LENGTH,0),u(D,o.PACK_SKIP_PIXELS,0),u(D,o.PACK_SKIP_ROWS,0),u(D,o.UNPACK_ROW_LENGTH,0),u(D,o.UNPACK_IMAGE_HEIGHT,0),u(D,o.UNPACK_SKIP_PIXELS,0),u(D,o.UNPACK_SKIP_ROWS,0),u(D,o.UNPACK_SKIP_IMAGES,0),D),Le=function(t,r,n){return r?t.enable(n):t.disable(n)},zs=function(t,r,n){return t.hint(n,r)},Ne=function(t,r,n){return t.pixelStorei(n,r)},Gs=function(t,r,n){var i;return n===o.FRAMEBUFFER_BINDING?i=Z(t)?o.DRAW_FRAMEBUFFER:o.FRAMEBUFFER:i=o.READ_FRAMEBUFFER,t.bindFramebuffer(i,r)},sr=function(t,r,n){var i,a=(i={},u(i,o.ARRAY_BUFFER_BINDING,o.ARRAY_BUFFER),u(i,o.COPY_READ_BUFFER_BINDING,o.COPY_READ_BUFFER),u(i,o.COPY_WRITE_BUFFER_BINDING,o.COPY_WRITE_BUFFER),u(i,o.PIXEL_PACK_BUFFER_BINDING,o.PIXEL_PACK_BUFFER),u(i,o.PIXEL_UNPACK_BUFFER_BINDING,o.PIXEL_UNPACK_BUFFER),i),s=a[n];t.bindBuffer(s,r)};function Ei(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}var $s=(P={},u(P,o.BLEND,Le),u(P,o.BLEND_COLOR,function(e,t){return e.blendColor.apply(e,re(t))}),u(P,o.BLEND_EQUATION_RGB,"blendEquation"),u(P,o.BLEND_EQUATION_ALPHA,"blendEquation"),u(P,o.BLEND_SRC_RGB,"blendFunc"),u(P,o.BLEND_DST_RGB,"blendFunc"),u(P,o.BLEND_SRC_ALPHA,"blendFunc"),u(P,o.BLEND_DST_ALPHA,"blendFunc"),u(P,o.COLOR_CLEAR_VALUE,function(e,t){return e.clearColor.apply(e,re(t))}),u(P,o.COLOR_WRITEMASK,function(e,t){return e.colorMask.apply(e,re(t))}),u(P,o.CULL_FACE,Le),u(P,o.CULL_FACE_MODE,function(e,t){return e.cullFace(t)}),u(P,o.DEPTH_TEST,Le),u(P,o.DEPTH_CLEAR_VALUE,function(e,t){return e.clearDepth(t)}),u(P,o.DEPTH_FUNC,function(e,t){return e.depthFunc(t)}),u(P,o.DEPTH_RANGE,function(e,t){return e.depthRange.apply(e,re(t))}),u(P,o.DEPTH_WRITEMASK,function(e,t){return e.depthMask(t)}),u(P,o.DITHER,Le),u(P,o.FRAGMENT_SHADER_DERIVATIVE_HINT,zs),u(P,o.CURRENT_PROGRAM,function(e,t){return e.useProgram(t)}),u(P,o.RENDERBUFFER_BINDING,function(e,t){return e.bindRenderbuffer(o.RENDERBUFFER,t)}),u(P,o.TRANSFORM_FEEDBACK_BINDING,function(e,t){var r,n;return(r=(n=e).bindTransformFeedback)===null||r===void 0?void 0:r.call(n,o.TRANSFORM_FEEDBACK,t)}),u(P,o.VERTEX_ARRAY_BINDING,function(e,t){return e.bindVertexArray(t)}),u(P,o.FRAMEBUFFER_BINDING,Gs),u(P,o.READ_FRAMEBUFFER_BINDING,Gs),u(P,o.ARRAY_BUFFER_BINDING,sr),u(P,o.COPY_READ_BUFFER_BINDING,sr),u(P,o.COPY_WRITE_BUFFER_BINDING,sr),u(P,o.PIXEL_PACK_BUFFER_BINDING,sr),u(P,o.PIXEL_UNPACK_BUFFER_BINDING,sr),u(P,o.FRONT_FACE,function(e,t){return e.frontFace(t)}),u(P,o.GENERATE_MIPMAP_HINT,zs),u(P,o.LINE_WIDTH,function(e,t){return e.lineWidth(t)}),u(P,o.POLYGON_OFFSET_FILL,Le),u(P,o.POLYGON_OFFSET_FACTOR,"polygonOffset"),u(P,o.POLYGON_OFFSET_UNITS,"polygonOffset"),u(P,o.RASTERIZER_DISCARD,Le),u(P,o.SAMPLE_ALPHA_TO_COVERAGE,Le),u(P,o.SAMPLE_COVERAGE,Le),u(P,o.SAMPLE_COVERAGE_VALUE,"sampleCoverage"),u(P,o.SAMPLE_COVERAGE_INVERT,"sampleCoverage"),u(P,o.SCISSOR_TEST,Le),u(P,o.SCISSOR_BOX,function(e,t){return e.scissor.apply(e,re(t))}),u(P,o.STENCIL_TEST,Le),u(P,o.STENCIL_CLEAR_VALUE,function(e,t){return e.clearStencil(t)}),u(P,o.STENCIL_WRITEMASK,function(e,t){return e.stencilMaskSeparate(o.FRONT,t)}),u(P,o.STENCIL_BACK_WRITEMASK,function(e,t){return e.stencilMaskSeparate(o.BACK,t)}),u(P,o.STENCIL_FUNC,"stencilFuncFront"),u(P,o.STENCIL_REF,"stencilFuncFront"),u(P,o.STENCIL_VALUE_MASK,"stencilFuncFront"),u(P,o.STENCIL_BACK_FUNC,"stencilFuncBack"),u(P,o.STENCIL_BACK_REF,"stencilFuncBack"),u(P,o.STENCIL_BACK_VALUE_MASK,"stencilFuncBack"),u(P,o.STENCIL_FAIL,"stencilOpFront"),u(P,o.STENCIL_PASS_DEPTH_FAIL,"stencilOpFront"),u(P,o.STENCIL_PASS_DEPTH_PASS,"stencilOpFront"),u(P,o.STENCIL_BACK_FAIL,"stencilOpBack"),u(P,o.STENCIL_BACK_PASS_DEPTH_FAIL,"stencilOpBack"),u(P,o.STENCIL_BACK_PASS_DEPTH_PASS,"stencilOpBack"),u(P,o.VIEWPORT,function(e,t){return e.viewport.apply(e,re(t))}),u(P,o.PACK_ALIGNMENT,Ne),u(P,o.UNPACK_ALIGNMENT,Ne),u(P,o.UNPACK_FLIP_Y_WEBGL,Ne),u(P,o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,Ne),u(P,o.UNPACK_COLORSPACE_CONVERSION_WEBGL,Ne),u(P,o.PACK_ROW_LENGTH,Ne),u(P,o.PACK_SKIP_PIXELS,Ne),u(P,o.PACK_SKIP_ROWS,Ne),u(P,o.UNPACK_ROW_LENGTH,Ne),u(P,o.UNPACK_IMAGE_HEIGHT,Ne),u(P,o.UNPACK_SKIP_PIXELS,Ne),u(P,o.UNPACK_SKIP_ROWS,Ne),u(P,o.UNPACK_SKIP_IMAGES,Ne),u(P,"framebuffer",function(t,r){var n=r&&"handle"in r?r.handle:r;return t.bindFramebuffer(o.FRAMEBUFFER,n)}),u(P,"blend",function(t,r){return r?t.enable(o.BLEND):t.disable(o.BLEND)}),u(P,"blendColor",function(t,r){return t.blendColor.apply(t,re(r))}),u(P,"blendEquation",function(t,r){var n=typeof r=="number"?[r,r]:r;t.blendEquationSeparate.apply(t,re(n))}),u(P,"blendFunc",function(t,r){var n=r?.length===2?[].concat(re(r),re(r)):r;t.blendFuncSeparate.apply(t,re(n))}),u(P,"clearColor",function(t,r){return t.clearColor.apply(t,re(r))}),u(P,"clearDepth",function(t,r){return t.clearDepth(r)}),u(P,"clearStencil",function(t,r){return t.clearStencil(r)}),u(P,"colorMask",function(t,r){return t.colorMask.apply(t,re(r))}),u(P,"cull",function(t,r){return r?t.enable(o.CULL_FACE):t.disable(o.CULL_FACE)}),u(P,"cullFace",function(t,r){return t.cullFace(r)}),u(P,"depthTest",function(t,r){return r?t.enable(o.DEPTH_TEST):t.disable(o.DEPTH_TEST)}),u(P,"depthFunc",function(t,r){return t.depthFunc(r)}),u(P,"depthMask",function(t,r){return t.depthMask(r)}),u(P,"depthRange",function(t,r){return t.depthRange.apply(t,re(r))}),u(P,"dither",function(t,r){return r?t.enable(o.DITHER):t.disable(o.DITHER)}),u(P,"derivativeHint",function(t,r){t.hint(o.FRAGMENT_SHADER_DERIVATIVE_HINT,r)}),u(P,"frontFace",function(t,r){return t.frontFace(r)}),u(P,"mipmapHint",function(t,r){return t.hint(o.GENERATE_MIPMAP_HINT,r)}),u(P,"lineWidth",function(t,r){return t.lineWidth(r)}),u(P,"polygonOffsetFill",function(t,r){return r?t.enable(o.POLYGON_OFFSET_FILL):t.disable(o.POLYGON_OFFSET_FILL)}),u(P,"polygonOffset",function(t,r){return t.polygonOffset.apply(t,re(r))}),u(P,"sampleCoverage",function(t,r){return t.sampleCoverage.apply(t,re(r))}),u(P,"scissorTest",function(t,r){return r?t.enable(o.SCISSOR_TEST):t.disable(o.SCISSOR_TEST)}),u(P,"scissor",function(t,r){return t.scissor.apply(t,re(r))}),u(P,"stencilTest",function(t,r){return r?t.enable(o.STENCIL_TEST):t.disable(o.STENCIL_TEST)}),u(P,"stencilMask",function(t,r){r=Ei(r)?r:[r,r];var n=r,i=k(n,2),a=i[0],s=i[1];t.stencilMaskSeparate(o.FRONT,a),t.stencilMaskSeparate(o.BACK,s)}),u(P,"stencilFunc",function(t,r){r=Ei(r)&&r.length===3?[].concat(re(r),re(r)):r;var n=r,i=k(n,6),a=i[0],s=i[1],c=i[2],f=i[3],l=i[4],_=i[5];t.stencilFuncSeparate(o.FRONT,a,s,c),t.stencilFuncSeparate(o.BACK,f,l,_)}),u(P,"stencilOp",function(t,r){r=Ei(r)&&r.length===3?[].concat(re(r),re(r)):r;var n=r,i=k(n,6),a=i[0],s=i[1],c=i[2],f=i[3],l=i[4],_=i[5];t.stencilOpSeparate(o.FRONT,a,s,c),t.stencilOpSeparate(o.BACK,f,l,_)}),u(P,"viewport",function(t,r){return t.viewport.apply(t,re(r))}),P);function le(e,t,r){return t[e]!==void 0?t[e]:r[e]}var qs={blendEquation:function(t,r,n){return t.blendEquationSeparate(le(o.BLEND_EQUATION_RGB,r,n),le(o.BLEND_EQUATION_ALPHA,r,n))},blendFunc:function(t,r,n){return t.blendFuncSeparate(le(o.BLEND_SRC_RGB,r,n),le(o.BLEND_DST_RGB,r,n),le(o.BLEND_SRC_ALPHA,r,n),le(o.BLEND_DST_ALPHA,r,n))},polygonOffset:function(t,r,n){return t.polygonOffset(le(o.POLYGON_OFFSET_FACTOR,r,n),le(o.POLYGON_OFFSET_UNITS,r,n))},sampleCoverage:function(t,r,n){return t.sampleCoverage(le(o.SAMPLE_COVERAGE_VALUE,r,n),le(o.SAMPLE_COVERAGE_INVERT,r,n))},stencilFuncFront:function(t,r,n){return t.stencilFuncSeparate(o.FRONT,le(o.STENCIL_FUNC,r,n),le(o.STENCIL_REF,r,n),le(o.STENCIL_VALUE_MASK,r,n))},stencilFuncBack:function(t,r,n){return t.stencilFuncSeparate(o.BACK,le(o.STENCIL_BACK_FUNC,r,n),le(o.STENCIL_BACK_REF,r,n),le(o.STENCIL_BACK_VALUE_MASK,r,n))},stencilOpFront:function(t,r,n){return t.stencilOpSeparate(o.FRONT,le(o.STENCIL_FAIL,r,n),le(o.STENCIL_PASS_DEPTH_FAIL,r,n),le(o.STENCIL_PASS_DEPTH_PASS,r,n))},stencilOpBack:function(t,r,n){return t.stencilOpSeparate(o.BACK,le(o.STENCIL_BACK_FAIL,r,n),le(o.STENCIL_BACK_PASS_DEPTH_FAIL,r,n),le(o.STENCIL_BACK_PASS_DEPTH_PASS,r,n))}},di={enable:function(t,r){return t(u({},r,!0))},disable:function(t,r){return t(u({},r,!1))},pixelStorei:function(t,r,n){return t(u({},r,n))},hint:function(t,r,n){return t(u({},r,n))},useProgram:function(t,r){return t(u({},o.CURRENT_PROGRAM,r))},bindRenderbuffer:function(t,r,n){return t(u({},o.RENDERBUFFER_BINDING,n))},bindTransformFeedback:function(t,r,n){return t(u({},o.TRANSFORM_FEEDBACK_BINDING,n))},bindVertexArray:function(t,r){return t(u({},o.VERTEX_ARRAY_BINDING,r))},bindFramebuffer:function(t,r,n){var i;switch(r){case o.FRAMEBUFFER:return t((i={},u(i,o.DRAW_FRAMEBUFFER_BINDING,n),u(i,o.READ_FRAMEBUFFER_BINDING,n),i));case o.DRAW_FRAMEBUFFER:return t(u({},o.DRAW_FRAMEBUFFER_BINDING,n));case o.READ_FRAMEBUFFER:return t(u({},o.READ_FRAMEBUFFER_BINDING,n));default:return null}},bindBuffer:function(t,r,n){var i,a=(i={},u(i,o.ARRAY_BUFFER,[o.ARRAY_BUFFER_BINDING]),u(i,o.COPY_READ_BUFFER,[o.COPY_READ_BUFFER_BINDING]),u(i,o.COPY_WRITE_BUFFER,[o.COPY_WRITE_BUFFER_BINDING]),u(i,o.PIXEL_PACK_BUFFER,[o.PIXEL_PACK_BUFFER_BINDING]),u(i,o.PIXEL_UNPACK_BUFFER,[o.PIXEL_UNPACK_BUFFER_BINDING]),i)[r];return a?t(u({},a,n)):{valueChanged:!0}},blendColor:function(t,r,n,i,a){return t(u({},o.BLEND_COLOR,new Float32Array([r,n,i,a])))},blendEquation:function(t,r){var n;return t((n={},u(n,o.BLEND_EQUATION_RGB,r),u(n,o.BLEND_EQUATION_ALPHA,r),n))},blendEquationSeparate:function(t,r,n){var i;return t((i={},u(i,o.BLEND_EQUATION_RGB,r),u(i,o.BLEND_EQUATION_ALPHA,n),i))},blendFunc:function(t,r,n){var i;return t((i={},u(i,o.BLEND_SRC_RGB,r),u(i,o.BLEND_DST_RGB,n),u(i,o.BLEND_SRC_ALPHA,r),u(i,o.BLEND_DST_ALPHA,n),i))},blendFuncSeparate:function(t,r,n,i,a){var s;return t((s={},u(s,o.BLEND_SRC_RGB,r),u(s,o.BLEND_DST_RGB,n),u(s,o.BLEND_SRC_ALPHA,i),u(s,o.BLEND_DST_ALPHA,a),s))},clearColor:function(t,r,n,i,a){return t(u({},o.COLOR_CLEAR_VALUE,new Float32Array([r,n,i,a])))},clearDepth:function(t,r){return t(u({},o.DEPTH_CLEAR_VALUE,r))},clearStencil:function(t,r){return t(u({},o.STENCIL_CLEAR_VALUE,r))},colorMask:function(t,r,n,i,a){return t(u({},o.COLOR_WRITEMASK,[r,n,i,a]))},cullFace:function(t,r){return t(u({},o.CULL_FACE_MODE,r))},depthFunc:function(t,r){return t(u({},o.DEPTH_FUNC,r))},depthRange:function(t,r,n){return t(u({},o.DEPTH_RANGE,new Float32Array([r,n])))},depthMask:function(t,r){return t(u({},o.DEPTH_WRITEMASK,r))},frontFace:function(t,r){return t(u({},o.FRONT_FACE,r))},lineWidth:function(t,r){return t(u({},o.LINE_WIDTH,r))},polygonOffset:function(t,r,n){var i;return t((i={},u(i,o.POLYGON_OFFSET_FACTOR,r),u(i,o.POLYGON_OFFSET_UNITS,n),i))},sampleCoverage:function(t,r,n){var i;return t((i={},u(i,o.SAMPLE_COVERAGE_VALUE,r),u(i,o.SAMPLE_COVERAGE_INVERT,n),i))},scissor:function(t,r,n,i,a){return t(u({},o.SCISSOR_BOX,new Int32Array([r,n,i,a])))},stencilMask:function(t,r){var n;return t((n={},u(n,o.STENCIL_WRITEMASK,r),u(n,o.STENCIL_BACK_WRITEMASK,r),n))},stencilMaskSeparate:function(t,r,n){return t(u({},r===o.FRONT?o.STENCIL_WRITEMASK:o.STENCIL_BACK_WRITEMASK,n))},stencilFunc:function(t,r,n,i){var a;return t((a={},u(a,o.STENCIL_FUNC,r),u(a,o.STENCIL_REF,n),u(a,o.STENCIL_VALUE_MASK,i),u(a,o.STENCIL_BACK_FUNC,r),u(a,o.STENCIL_BACK_REF,n),u(a,o.STENCIL_BACK_VALUE_MASK,i),a))},stencilFuncSeparate:function(t,r,n,i,a){var s;return t((s={},u(s,r===o.FRONT?o.STENCIL_FUNC:o.STENCIL_BACK_FUNC,n),u(s,r===o.FRONT?o.STENCIL_REF:o.STENCIL_BACK_REF,i),u(s,r===o.FRONT?o.STENCIL_VALUE_MASK:o.STENCIL_BACK_VALUE_MASK,a),s))},stencilOp:function(t,r,n,i){var a;return t((a={},u(a,o.STENCIL_FAIL,r),u(a,o.STENCIL_PASS_DEPTH_FAIL,n),u(a,o.STENCIL_PASS_DEPTH_PASS,i),u(a,o.STENCIL_BACK_FAIL,r),u(a,o.STENCIL_BACK_PASS_DEPTH_FAIL,n),u(a,o.STENCIL_BACK_PASS_DEPTH_PASS,i),a))},stencilOpSeparate:function(t,r,n,i,a){var s;return t((s={},u(s,r===o.FRONT?o.STENCIL_FAIL:o.STENCIL_BACK_FAIL,n),u(s,r===o.FRONT?o.STENCIL_PASS_DEPTH_FAIL:o.STENCIL_BACK_PASS_DEPTH_FAIL,i),u(s,r===o.FRONT?o.STENCIL_PASS_DEPTH_PASS:o.STENCIL_BACK_PASS_DEPTH_PASS,a),s))},viewport:function(t,r,n,i,a){return t(u({},o.VIEWPORT,[r,n,i,a]))}},Xe=function(t,r){return t.isEnabled(r)},pi=(xe={},u(xe,o.BLEND,Xe),u(xe,o.CULL_FACE,Xe),u(xe,o.DEPTH_TEST,Xe),u(xe,o.DITHER,Xe),u(xe,o.POLYGON_OFFSET_FILL,Xe),u(xe,o.SAMPLE_ALPHA_TO_COVERAGE,Xe),u(xe,o.SAMPLE_COVERAGE,Xe),u(xe,o.SCISSOR_TEST,Xe),u(xe,o.STENCIL_TEST,Xe),u(xe,o.RASTERIZER_DISCARD,Xe),xe),Zs=new Set([o.ACTIVE_TEXTURE,o.TRANSFORM_FEEDBACK_ACTIVE,o.TRANSFORM_FEEDBACK_PAUSED,o.TRANSFORM_FEEDBACK_BUFFER_BINDING,o.UNIFORM_BUFFER_BINDING,o.ELEMENT_ARRAY_BUFFER_BINDING,o.IMPLEMENTATION_COLOR_READ_FORMAT,o.IMPLEMENTATION_COLOR_READ_TYPE,o.READ_BUFFER,o.DRAW_BUFFER0,o.DRAW_BUFFER1,o.DRAW_BUFFER2,o.DRAW_BUFFER3,o.DRAW_BUFFER4,o.DRAW_BUFFER5,o.DRAW_BUFFER6,o.DRAW_BUFFER7,o.DRAW_BUFFER8,o.DRAW_BUFFER9,o.DRAW_BUFFER10,o.DRAW_BUFFER11,o.DRAW_BUFFER12,o.DRAW_BUFFER13,o.DRAW_BUFFER14,o.DRAW_BUFFER15,o.SAMPLER_BINDING,o.TEXTURE_BINDING_2D,o.TEXTURE_BINDING_2D_ARRAY,o.TEXTURE_BINDING_3D,o.TEXTURE_BINDING_CUBE_MAP]);function Q_(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=J_(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
266
266
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,c;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,c=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw c}}}}function J_(e,t){if(e){if(typeof e=="string")return Qs(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 Qs(e,t)}}function Qs(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 Lt(e,t){var r=he.attach(e),n=r.gl;if(!eE(t)){var i={};for(var a in t){var s=Number(a),c=$s[a];c&&(typeof c=="string"?i[c]=!0:c(n,t[a],s))}var f=n.state&&n.state.cache;if(f)for(var l in i){var _=qs[l];_(n,t,f)}}}function Js(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:tn,r=he.attach(e),n=r.gl;if(typeof t=="number"){var i=t,a=pi[i];return a?a(n,i):n.getParameter(i)}var s=Array.isArray(t)?t:Object.keys(t),c={},f=Q_(s),l;try{for(f.s();!(l=f.n()).done;){var _=l.value,E=pi[_];c[_]=E?E(n,Number(_)):n.getParameter(Number(_))}}catch(d){f.e(d)}finally{f.f()}return c}function eE(e){for(var t in e)return!1;return!0}function eu(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 i=0;i<e.length;++i)if(e[i]!==t[i])return!1;return!0}return!1}var tE=function(){function e(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=r.copyState,i=n===void 0?!1:n,a=r.log,s=a===void 0?function(){}:a;b(this,e),u(this,"gl",void 0),u(this,"program",null),u(this,"stateStack",[]),u(this,"enable",!0),u(this,"cache",void 0),u(this,"log",void 0),this.gl=t,this.cache=i?Js(t):Object.assign({},tn),this.log=s,this._updateCache=this._updateCache.bind(this),Object.seal(this)}return C(e,[{key:"push",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.stateStack.push({})}},{key:"pop",value:function(){W(this.stateStack.length>0);var r=this.stateStack[this.stateStack.length-1];Lt(this.gl,r),this.stateStack.pop()}},{key:"_updateCache",value:function(r){var n=!1,i,a=this.stateStack.length>0?this.stateStack[this.stateStack.length-1]:null;for(var s in r){W(s!==void 0);var c=r[s],f=this.cache[s];eu(c,f)||(n=!0,i=f,a&&!(s in a)&&(a[s]=f),this.cache[s]=c)}return{valueChanged:n,oldValue:i}}}]),e}();function Rt(e){return e.state}function hi(e,t){var r=t.enable,n=r===void 0?!0:r,i=t.copyState;if(W(i!==void 0),!e.state){e.state=new tE(e,{copyState:i}),nE(e);for(var a in di){var s=di[a];rE(e,a,s)}tu(e,"getParameter"),tu(e,"isEnabled")}var c=Rt(e);return c.enable=n,e}function At(e){var t=Rt(e);t||(hi(e,{copyState:!1}),t=Rt(e)),t.push()}function ot(e){var t=Rt(e);W(t),t.pop()}function tu(e,t){var r=e[t].bind(e);e[t]=function(i){if(i===void 0||Zs.has(i))return r(i);var a=Rt(e);return i in a.cache||(a.cache[i]=r(i)),a.enable?a.cache[i]:r(i)},Object.defineProperty(e[t],"name",{value:"".concat(t,"-from-cache"),configurable:!1})}function rE(e,t,r){if(e[t]){var n=e[t].bind(e);e[t]=function(){for(var a=Rt(e),s=arguments.length,c=new Array(s),f=0;f<s;f++)c[f]=arguments[f];var l=r.apply(void 0,[a._updateCache].concat(c)),_=l.valueChanged,E=l.oldValue;return _&&n.apply(void 0,c),E},Object.defineProperty(e[t],"name",{value:"".concat(t,"-to-cache"),configurable:!1})}}function nE(e){var t=e.useProgram.bind(e);e.useProgram=function(n){var i=Rt(e);i.program!==n&&(t(n),i.program=n)}}function ru(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Xt(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ru(Object(r),!0).forEach(function(n){u(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ru(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var iE={webgl2:!0,webgl1:!0,powerPreference:"high-performance",onContextLost:function(){return console.error("WebGL context lost")},onContextRestored:function(){return console.info("WebGL context restored")}};function nu(e,t){t=Xt(Xt({},iE),t);var r=null,n=function(_){return r=_.statusMessage||r};e.addEventListener("webglcontextcreationerror",n,!1);var i=null;if(t.type==="webgl2"&&(t=Xt(Xt({},t),{},{webgl1:!1})),t.type==="webgl1"&&(t=Xt(Xt({},t),{},{webgl2:!1})),!i&&t.webgl2&&(i=e.getContext("webgl2",t)),!i&&t.webgl1&&(i=e.getContext("webgl",t)),e.removeEventListener("webglcontextcreationerror",n,!1),!i)throw new Error("Failed to create ".concat(t.webgl2&&!t.webgl1?"WebGL2":"WebGL"," context: ").concat(r||"Unknown error"));if(t.onContextLost){var a=t,s=a.onContextLost;e.addEventListener("webglcontextlost",function(l){return s(l)},!1)}if(t.onContextRestored){var c=t,f=c.onContextRestored;e.addEventListener("webglcontextrestored",function(l){return f(l)},!1)}return i}function iu(e){var t=e.getParameter(o.VENDOR),r=e.getParameter(o.RENDERER),n=e.getExtension("WEBGL_debug_renderer_info"),i=e.getParameter(n?n.UNMASKED_VENDOR_WEBGL:o.VENDOR),a=e.getParameter(n?n.UNMASKED_RENDERER_WEBGL:o.RENDERER),s=i||t,c=a||r,f=aE(s,c);return{type:Z(e)?"webgl2":"webgl",gpu:f,vendor:i||t,renderer:a||r,version:e.getParameter(o.VERSION),shadingLanguages:["glsl"],shadingLanguageVersions:{glsl:e.getParameter(o.SHADING_LANGUAGE_VERSION)}}}function aE(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 au(){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,i=r.indexOf("Trident/")!==-1;return n||i}function rn(e){switch(e){case"uint8":return o.UNSIGNED_BYTE;case"sint8":return o.BYTE;case"unorm8":return o.UNSIGNED_BYTE;case"snorm8":return o.BYTE;case"uint16":return o.UNSIGNED_SHORT;case"sint16":return o.SHORT;case"unorm16":return o.UNSIGNED_SHORT;case"snorm16":return o.SHORT;case"uint32":return o.UNSIGNED_INT;case"sint32":return o.INT;case"float16":return o.HALF_FLOAT;case"float32":return o.FLOAT}throw new Error(String(e))}var Se,He,Ae="texture-compression-bc",ne="texture-compression-astc",We="texture-compression-etc2",oE="texture-compression-etc1-webgl",nn="texture-compression-pvrtc-webgl",mi="texture-compression-atc-webgl",ur="WEBGL_compressed_texture_s3tc",cr="WEBGL_compressed_texture_s3tc_srgb",Ht="EXT_texture_compression_rgtc",fr="EXT_texture_compression_bptc",sE="WEBGL_compressed_texture_etc",uE="WEBGL_compressed_texture_astc",cE="WEBGL_compressed_texture_etc1",fE="WEBGL_compressed_texture_pvrtc",lE="WEBGL_compressed_texture_atc",ou="EXT_sRGB",Qe="EXT_texture_norm16",_E="WEBGL_color_buffer_float",EE="EXT_color_buffer_float",we=function(t,r){return t.getExtension(r)},Tt=function(t,r){return r.every(function(n){return t.getExtension(n)})},Ri={"texture-blend-float-webgl1":function(t){return Z(t)?!0:we(t,"EXT_float_blend")},"texture-formats-srgb-webgl1":function(t){return Z(t)?!0:we(t,ou)},"texture-formats-depth-webgl1":function(t){return Z(t)?!0:we(t,"WEBGL_depth_texture")},"texture-formats-float32-webgl1":function(t){return Z(t)?!0:we(t,"OES_texture_float")},"texture-formats-float16-webgl1":function(t){return Z(t)?!0:we(t,"OES_texture_half_float")},"texture-formats-norm16-webgl":function(t){return Z(t)?we(t,Qe):!1},"texture-filter-linear-float32-webgl":function(t){return we(t,"OES_texture_float_linear")},"texture-filter-linear-float16-webgl":function(t){return we(t,"OES_texture_half_float_linear")},"texture-filter-anisotropic-webgl":function(t){return we(t,"EXT_texture_filter_anisotropic")},"texture-renderable-float32-webgl":function(t){return we(t,"EXT_color_buffer_float")},"texture-renderable-float16-webgl":function(t){return we(t,"EXT_color_buffer_half_float")},"texture-compression-bc":function(t){return Tt(t,[ur,cr,Ht,fr])},"texture-compression-bc5-webgl":function(t){return Tt(t,[Ht])},"texture-compression-etc2":function(t){return Tt(t,[sE])},"texture-compression-astc":function(t){return Tt(t,[uE])},"texture-compression-etc1-webgl":function(t){return Tt(t,[cE])},"texture-compression-pvrtc-webgl":function(t){return Tt(t,[fE])},"texture-compression-atc-webgl":function(t){return Tt(t,[lE])}};function dE(e,t){var r;return((r=Ri[t])===null||r===void 0?void 0:r.call(Ri,e))||!1}function su(e){var t=Object.keys(Ri);return t.filter(function(r){return dE(e,r)})}var lr={"rgb8unorm-unsized":{gl:o.RGB,gl1:o.RGB,b:4,c:2,bpp:4,dataFormat:o.RGB,types:[o.UNSIGNED_BYTE,o.UNSIGNED_SHORT_5_6_5]},"rgba8unorm-unsized":{gl:o.RGBA,gl1:o.RGBA,b:4,c:2,bpp:4,dataFormat:o.RGBA,types:[o.UNSIGNED_BYTE,o.UNSIGNED_SHORT_4_4_4_4,o.UNSIGNED_SHORT_5_5_5_1]},r8unorm:{gl:o.R8,b:1,c:1,renderbuffer:!0},r8snorm:{gl:o.R8_SNORM,b:1,c:1},r8uint:{gl:o.R8UI,b:1,c:1,renderbuffer:!0},r8sint:{gl:o.R8I,b:1,c:1,renderbuffer:!0},rg8unorm:{gl:o.RG8,b:2,c:2,renderbuffer:!0},rg8snorm:{gl:o.RG8_SNORM,b:2,c:2},rg8uint:{gl:o.RG8UI,b:2,c:2,renderbuffer:!0},rg8sint:{gl:o.RG8I,b:2,c:2,renderbuffer:!0},r16uint:{gl:o.R16UI,b:2,c:1,renderbuffer:!0},r16sint:{gl:o.R16I,b:2,c:1,renderbuffer:!0},r16float:{gl:o.R16F,b:2,c:1,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl",renderbuffer:!0},"r16unorm-webgl":{gl:o.R16_EXT,b:2,c:1,f:"texture-formats-norm16-webgl",renderbuffer:!0,x:Qe},"r16snorm-webgl":{gl:o.R16_SNORM_EXT,b:2,c:1,f:"texture-formats-norm16-webgl",x:Qe},"rgba4unorm-webgl":{gl:o.RGBA4,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb565unorm-webgl":{gl:o.RGB565,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb5a1unorm-webgl":{gl:o.RGB5_A1,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb8unorm-webgl":{gl:o.RGB8,b:3,c:3,wgpu:!1},"rgb8snorm-webgl":{gl:o.RGB8_SNORM,b:3,c:3,wgpu:!1},rgba8unorm:{gl:o.RGBA8,gl1:o.RGBA,b:4,c:2,bpp:4},"rgba8unorm-srgb":{gl:o.SRGB8_ALPHA8,gl1:o.SRGB_ALPHA_EXT,b:4,c:4,gl1ext:ou,bpp:4},rgba8snorm:{gl:o.RGBA8_SNORM,b:4,c:4},rgba8uint:{gl:o.RGBA8UI,b:4,c:4,bpp:4},rgba8sint:{gl:o.RGBA8I,b:4,c:4,bpp:4},bgra8unorm:{b:4,c:4},"bgra8unorm-srgb":{b:4,c:4},rg16uint:{gl:o.RG16UI,b:4,c:1,bpp:4},rg16sint:{gl:o.RG16I,b:4,c:2,bpp:4},rg16float:{gl:o.RG16F,bpp:4,b:4,c:2,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl",renderbuffer:!0},"rg16unorm-webgl":{gl:o.RG16_EXT,b:2,c:2,f:"texture-formats-norm16-webgl",x:Qe},"rg16snorm-webgl":{gl:o.RG16_SNORM_EXT,b:2,c:2,f:"texture-formats-norm16-webgl",x:Qe},r32uint:{gl:o.R32UI,b:4,c:1,bpp:4,renderbuffer:!0},r32sint:{gl:o.R32I,b:4,c:1,bpp:4,renderbuffer:!0},r32float:{gl:o.R32F,bpp:4,b:4,c:1,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl"},rgb9e5ufloat:{gl:o.RGB9_E5,b:4,c:3,p:1,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},rg11b10ufloat:{gl:o.R11F_G11F_B10F,b:4,c:3,p:1,render:"texture-renderable-float32-webgl",renderbuffer:!0},rgb10a2unorm:{gl:o.RGB10_A2,b:4,c:4,p:1,renderbuffer:!0},"rgb10a2unorm-webgl":{b:4,c:4,gl:o.RGB10_A2UI,p:1,wgpu:!1,bpp:4,renderbuffer:!0},"rgb16unorm-webgl":{gl:o.RGB16_EXT,b:2,c:3,f:"texture-formats-norm16-webgl",x:Qe},"rgb16snorm-webgl":{gl:o.RGB16_SNORM_EXT,b:2,c:3,f:"texture-formats-norm16-webgl",x:Qe},rg32uint:{gl:o.RG32UI,b:8,c:2,renderbuffer:!0},rg32sint:{gl:o.RG32I,b:8,c:2,renderbuffer:!0},rg32float:{gl:o.RG32F,b:8,c:2,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",renderbuffer:!0},rgba16uint:{gl:o.RGBA16UI,b:8,c:4,renderbuffer:!0},rgba16sint:{gl:o.RGBA16I,b:8,c:4,renderbuffer:!0},rgba16float:{gl:o.RGBA16F,gl1:o.RGBA,b:8,c:4,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},"rgba16unorm-webgl":{gl:o.RGBA16_EXT,b:2,c:4,f:"texture-formats-norm16-webgl",renderbuffer:!0,x:Qe},"rgba16snorm-webgl":{gl:o.RGBA16_SNORM_EXT,b:2,c:4,f:"texture-formats-norm16-webgl",x:Qe},"rgb32float-webgl":{gl:o.RGB32F,gl1:o.RGB,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",gl2ext:EE,gl1ext:_E,dataFormat:o.RGB,types:[o.FLOAT]},rgba32uint:{gl:o.RGBA32UI,b:16,c:4,renderbuffer:!0},rgba32sint:{gl:o.RGBA32I,b:16,c:4,renderbuffer:!0},rgba32float:{gl:o.RGBA32F,b:16,c:4,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",renderbuffer:!0},stencil8:{gl:o.STENCIL_INDEX8,gl1:o.STENCIL_INDEX8,b:1,c:1,attachment:o.STENCIL_ATTACHMENT,renderbuffer:!0},depth16unorm:{gl:o.DEPTH_COMPONENT16,gl1:o.DEPTH_COMPONENT16,b:2,c:1,attachment:o.DEPTH_ATTACHMENT,renderbuffer:!0},depth24plus:{gl:o.DEPTH_COMPONENT24,b:3,c:1,attachment:o.DEPTH_ATTACHMENT},depth32float:{gl:o.DEPTH_COMPONENT32F,b:4,c:1,attachment:o.DEPTH_ATTACHMENT,renderbuffer:!0},"depth24plus-stencil8":{gl:o.DEPTH_STENCIL,gl1:o.DEPTH_STENCIL,b:4,c:2,p:1,attachment:o.DEPTH_STENCIL_ATTACHMENT,renderbuffer:!0,depthTexture:!0},"depth24unorm-stencil8":{gl:o.DEPTH24_STENCIL8,b:4,c:2,p:1,attachment:o.DEPTH_STENCIL_ATTACHMENT,renderbuffer:!0},"depth32float-stencil8":{gl:o.DEPTH32F_STENCIL8,b:5,c:2,p:1,attachment:o.DEPTH_STENCIL_ATTACHMENT,renderbuffer:!0},"bc1-rgb-unorm-webgl":{gl:o.COMPRESSED_RGB_S3TC_DXT1_EXT,x:ur,f:Ae},"bc1-rgb-unorm-srgb-webgl":{gl:o.COMPRESSED_SRGB_S3TC_DXT1_EXT,x:cr,f:Ae},"bc1-rgba-unorm":{gl:o.COMPRESSED_RGBA_S3TC_DXT1_EXT,x:ur,f:Ae},"bc1-rgba-unorm-srgb":{gl:o.COMPRESSED_SRGB_S3TC_DXT1_EXT,x:cr,f:Ae},"bc2-rgba-unorm":{gl:o.COMPRESSED_RGBA_S3TC_DXT3_EXT,x:ur,f:Ae},"bc2-rgba-unorm-srgb":{gl:o.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,x:cr,f:Ae},"bc3-rgba-unorm":{gl:o.COMPRESSED_RGBA_S3TC_DXT5_EXT,x:ur,f:Ae},"bc3-rgba-unorm-srgb":{gl:o.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,x:cr,f:Ae},"bc4-r-unorm":{gl:o.COMPRESSED_RED_RGTC1_EXT,x:Ht,f:Ae},"bc4-r-snorm":{gl:o.COMPRESSED_SIGNED_RED_RGTC1_EXT,x:Ht,f:Ae},"bc5-rg-unorm":{gl:o.COMPRESSED_RED_GREEN_RGTC2_EXT,x:Ht,f:Ae},"bc5-rg-snorm":{gl:o.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,x:Ht,f:Ae},"bc6h-rgb-ufloat":{gl:o.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT,x:fr,f:Ae},"bc6h-rgb-float":{gl:o.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT,x:fr,f:Ae},"bc7-rgba-unorm":{gl:o.COMPRESSED_RGBA_BPTC_UNORM_EXT,x:fr,f:Ae},"bc7-rgba-unorm-srgb":{gl:o.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT,x:fr,f:Ae},"etc2-rgb8unorm":{gl:o.COMPRESSED_RGB8_ETC2,f:We},"etc2-rgb8unorm-srgb":{gl:o.COMPRESSED_SRGB8_ETC2,f:We},"etc2-rgb8a1unorm":{gl:o.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,f:We},"etc2-rgb8a1unorm-srgb":{gl:o.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,f:We},"etc2-rgba8unorm":{gl:o.COMPRESSED_RGBA8_ETC2_EAC,f:We},"etc2-rgba8unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,f:We},"eac-r11unorm":{gl:o.COMPRESSED_R11_EAC,f:We},"eac-r11snorm":{gl:o.COMPRESSED_SIGNED_R11_EAC,f:We},"eac-rg11unorm":{gl:o.COMPRESSED_RG11_EAC,f:We},"eac-rg11snorm":{gl:o.COMPRESSED_SIGNED_RG11_EAC,f:We},"astc-4x4-unorm":{gl:o.COMPRESSED_RGBA_ASTC_4x4_KHR,f:ne},"astc-4x4-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,f:ne},"astc-5x4-unorm":{gl:o.COMPRESSED_RGBA_ASTC_5x4_KHR,f:ne},"astc-5x4-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR,f:ne},"astc-5x5-unorm":{gl:o.COMPRESSED_RGBA_ASTC_5x5_KHR,f:ne},"astc-5x5-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,f:ne},"astc-6x5-unorm":{gl:o.COMPRESSED_RGBA_ASTC_6x5_KHR,f:ne},"astc-6x5-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,f:ne},"astc-6x6-unorm":{gl:o.COMPRESSED_RGBA_ASTC_6x6_KHR,f:ne},"astc-6x6-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,f:ne},"astc-8x5-unorm":{gl:o.COMPRESSED_RGBA_ASTC_8x5_KHR,f:ne},"astc-8x5-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,f:ne},"astc-8x6-unorm":{gl:o.COMPRESSED_RGBA_ASTC_8x6_KHR,f:ne},"astc-8x6-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,f:ne},"astc-8x8-unorm":{gl:o.COMPRESSED_RGBA_ASTC_8x8_KHR,f:ne},"astc-8x8-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,f:ne},"astc-10x5-unorm":{gl:o.COMPRESSED_RGBA_ASTC_10x10_KHR,f:ne},"astc-10x5-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,f:ne},"astc-10x6-unorm":{gl:o.COMPRESSED_RGBA_ASTC_10x6_KHR,f:ne},"astc-10x6-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,f:ne},"astc-10x8-unorm":{gl:o.COMPRESSED_RGBA_ASTC_10x8_KHR,f:ne},"astc-10x8-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,f:ne},"astc-10x10-unorm":{gl:o.COMPRESSED_RGBA_ASTC_10x10_KHR,f:ne},"astc-10x10-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,f:ne},"astc-12x10-unorm":{gl:o.COMPRESSED_RGBA_ASTC_12x10_KHR,f:ne},"astc-12x10-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,f:ne},"astc-12x12-unorm":{gl:o.COMPRESSED_RGBA_ASTC_12x12_KHR,f:ne},"astc-12x12-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,f:ne},"pvrtc-rgb4unorm-webgl":{gl:o.COMPRESSED_RGB_PVRTC_4BPPV1_IMG,f:nn},"pvrtc-rgba4unorm-webgl":{gl:o.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,f:nn},"pvrtc-rbg2unorm-webgl":{gl:o.COMPRESSED_RGB_PVRTC_2BPPV1_IMG,f:nn},"pvrtc-rgba2unorm-webgl":{gl:o.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,f:nn},"etc1-rbg-unorm-webgl":{gl:o.COMPRESSED_RGB_ETC1_WEBGL,f:oE},"atc-rgb-unorm-webgl":{gl:o.COMPRESSED_RGB_ATC_WEBGL,f:mi},"atc-rgba-unorm-webgl":{gl:o.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,f:mi},"atc-rgbai-unorm-webgl":{gl:o.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL,f:mi}},pE=(Se={},u(Se,o.RED,1),u(Se,o.RED_INTEGER,1),u(Se,o.RG,2),u(Se,o.RG_INTEGER,2),u(Se,o.RGB,3),u(Se,o.RGB_INTEGER,3),u(Se,o.RGBA,4),u(Se,o.RGBA_INTEGER,4),u(Se,o.DEPTH_COMPONENT,1),u(Se,o.DEPTH_STENCIL,1),u(Se,o.ALPHA,1),u(Se,o.LUMINANCE,1),u(Se,o.LUMINANCE_ALPHA,2),Se),hE=(He={},u(He,o.FLOAT,4),u(He,o.UNSIGNED_INT,4),u(He,o.INT,4),u(He,o.UNSIGNED_SHORT,2),u(He,o.SHORT,2),u(He,o.HALF_FLOAT,2),u(He,o.BYTE,1),u(He,o.UNSIGNED_BYTE,1),He);function _r(e,t){var r=Er(t),n=lr[r];if(!n||(Z(e)?n.gl===void 0:n.gl1===void 0))return!1;var i=n.x||Z(e)&&n.gl2ext||n.gl1ext;return i?Boolean(e.getExtension(i)):!0}function uu(e,t){var r;return _r(e,t)&&((r=lr[t])===null||r===void 0?void 0:r.renderbuffer)}function Er(e){if(typeof e=="string")return e;var t=Object.entries(lr).find(function(r){var n=k(r,2),i=n[1];return i.gl===e||i.gl1===e});if(!t)throw new Error("Unknown texture format ".concat(e));return t[0]}function dr(e,t){var r=lr[e],n=t?r?.gl:r?.gl1;if(n===void 0)throw new Error("Unsupported texture format ".concat(e));return n}function cu(e,t){var r=Er(t);if(!_r(e,r))return!1;try{var n=Lr(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 fu(e,t){var r=Er(t);return!(!_r(e,r)||typeof r=="number")}function an(e,t){var r=Er(e),n=dr(r,t),i=Lr(r);return{format:n,dataFormat:mE(i.format,i.integer,i.normalized,n),type:i.dataType?rn(i.dataType):o.UNSIGNED_BYTE,compressed:i.compressed}}function lu(e){var t=lr[e];if(!(t!=null&&t.attachment))throw new Error("".concat(e," is not a depth stencil format"));return t.attachment}function _u(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e.RGBA,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:o.RGBA,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:o.UNSIGNED_BYTE,i=null,a=null;try{i=e.createTexture(),e.bindTexture(o.TEXTURE_2D,i);var s=0,c=1,f=1,l=0,_=new Uint8Array([0,0,255,255]);e.texImage2D(e.TEXTURE_2D,s,t,c,f,l,r,n,_),a=e.createFramebuffer(),e.bindFramebuffer(o.FRAMEBUFFER,a),e.framebufferTexture2D(o.FRAMEBUFFER,o.COLOR_ATTACHMENT0,o.TEXTURE_2D,i,0);var E=e.checkFramebufferStatus(o.FRAMEBUFFER)===o.FRAMEBUFFER_COMPLETE;return e.bindTexture(o.TEXTURE_2D,null),E}finally{e.deleteTexture(i),e.deleteFramebuffer(a)}}function pr(e,t){var r=Er(e),n=an(r,t),i=pE[n.dataFormat]||4,a=hE[n.type]||1;return i*a}function mE(e,t,r,n){if(n===o.RGBA||n===o.RGB)return n;switch(e){case"r":return t&&!r?o.RED_INTEGER:o.RED;case"rg":return t&&!r?o.RG_INTEGER:o.RG;case"rgb":return t&&!r?o.RGB_INTEGER:o.RGB;case"rgba":return t&&!r?o.RGBA_INTEGER:o.RGBA;default:return o.RGBA}}function RE(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=AE(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
267
267
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,c;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,c=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw c}}}}function AE(e,t){if(e){if(typeof e=="string")return Eu(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 Eu(e,t)}}function Eu(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 du(e){var t=TE(e),r=RE(su(e)),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;t.add(i)}}catch(a){r.e(a)}finally{r.f()}return t}function TE(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(pu);r<n.length;r++){var i=n[r];vE(e,i)&&t.add(i)}return t}function vE(e,t){var r=pu[t];if(!r)return!1;var n=r||[],i=k(n,2),a=i[0],s=i[1],c=Z(e)?s:a;if(typeof c=="boolean")return c;switch(t){case"texture-renderable-rgba32float-webgl":return Z(e)?Boolean(e.getExtension(c)):_u(e);case"glsl-derivatives":return Ti(e,c);case"glsl-frag-data":return Ti(e,c,{behavior:"require"});case"glsl-frag-depth":return Ti(e,c);default:return Boolean(e.getExtension(c))}}var Ai={};function Ti(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!au(r))return!0;if(t in Ai)return Ai[t];var n=r.behavior||"enable",i="#extension GL_".concat(t," : ").concat(n,`
@@ -274,7 +274,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
274
274
  `.concat(m)};i=a(i);var s=this.device.gl;s.shaderSource(this.handle,i),s.compileShader(this.handle);var c=s.getShaderParameter(this.handle,o.COMPILE_STATUS);if(!c){var f=s.getShaderInfoLog(this.handle),l=f?Bi(f):[],_=l.filter(function(h){return h.type==="error"}),E=Dn(_,i),d=xi(i).name,p="".concat(this.stage," shader ").concat(d);throw B.error("GLSL compilation errors in ".concat(p,`
275
275
  `).concat(E))(),new Error("GLSL compilation errors in ".concat(d))}}}]),r}(Mr);function Nd(e){return xi(e.source).name||e.id||ee("unnamed ".concat(e.stage,"-shader"))}function Qu(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Md(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Qu(Object(r),!0).forEach(function(n){u(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Qu(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Id(e){var t=Fd();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return L(this,i)}}function Fd(){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}}var xd=256,Dd=1024,Bd=16384,Ui=6144,Ju=function(e){U(r,e);var t=Id(r);function r(n,i){var a;return b(this,r),a=t.call(this,n,i),u(T(a),"device",void 0),u(T(a),"glParameters",void 0),a.device=n,a.setParameters(a.props.parameters),a.clear(),a}return C(r,[{key:"end",value:function(){}},{key:"pushDebugGroup",value:function(i){}},{key:"popDebugGroup",value:function(){}},{key:"insertDebugMarker",value:function(i){}},{key:"setParameters",value: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[o.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[o.STENCIL_REF]=i.stencilReference),this.glParameters=a}},{key:"clear",value:function(){var i=this,a=Md({},this.glParameters),s=0;this.props.clearColor!==!1&&(s|=Bd,a.clearColor=this.props.clearColor),this.props.clearDepth!==!1&&(s|=xd,a.clearDepth=this.props.clearDepth),this.props.clearStencil!==!1&&(s|=Dd,a.clearStencil=this.props.clearStencil),s!==0&&st(this.device,a,function(){i.device.gl.clear(s)})}},{key:"clearColorBuffer",value: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];st(this.device.gl2,{framebuffer:this.props.framebuffer},function(){switch(s.constructor){case Int32Array:i.device.gl2.clearBufferiv(Ui,a,s);break;case Uint32Array:i.device.gl2.clearBufferuiv(Ui,a,s);break;case Float32Array:default:i.device.gl2.clearBufferfv(Ui,a,s);break}})}}]),r}(xr);var ae;function ec(e){return wd.includes(e)}var wd=[o.SAMPLER_2D,o.SAMPLER_CUBE,o.SAMPLER_3D,o.SAMPLER_2D_SHADOW,o.SAMPLER_2D_ARRAY,o.SAMPLER_2D_ARRAY_SHADOW,o.SAMPLER_CUBE_SHADOW,o.INT_SAMPLER_2D,o.INT_SAMPLER_3D,o.INT_SAMPLER_CUBE,o.INT_SAMPLER_2D_ARRAY,o.UNSIGNED_INT_SAMPLER_2D,o.UNSIGNED_INT_SAMPLER_3D,o.UNSIGNED_INT_SAMPLER_CUBE,o.UNSIGNED_INT_SAMPLER_2D_ARRAY],tc=(ae={},u(ae,o.FLOAT,[o.FLOAT,1,"float","f32","float32"]),u(ae,o.FLOAT_VEC2,[o.FLOAT,2,"vec2","vec2<f32>","float32x2"]),u(ae,o.FLOAT_VEC3,[o.FLOAT,3,"vec3","vec3<f32>","float32x3"]),u(ae,o.FLOAT_VEC4,[o.FLOAT,4,"vec4","vec4<f32>","float32x4"]),u(ae,o.INT,[o.INT,1,"int","i32","sint32"]),u(ae,o.INT_VEC2,[o.INT,2,"ivec2","vec2<i32>","sint32x2"]),u(ae,o.INT_VEC3,[o.INT,3,"ivec3","vec3<i32>","sint32x3"]),u(ae,o.INT_VEC4,[o.INT,4,"ivec4","vec4<i32>","sint32x4"]),u(ae,o.UNSIGNED_INT,[o.UNSIGNED_INT,1,"uint","u32","uint32"]),u(ae,o.UNSIGNED_INT_VEC2,[o.UNSIGNED_INT,2,"uvec2","vec2<u32>","uint32x2"]),u(ae,o.UNSIGNED_INT_VEC3,[o.UNSIGNED_INT,3,"uvec3","vec3<u32>","uint32x3"]),u(ae,o.UNSIGNED_INT_VEC4,[o.UNSIGNED_INT,4,"uvec4","vec4<u32>","uint32x4"]),u(ae,o.BOOL,[o.FLOAT,1,"bool","f32","float32"]),u(ae,o.BOOL_VEC2,[o.FLOAT,2,"bvec2","vec2<f32>","float32x2"]),u(ae,o.BOOL_VEC3,[o.FLOAT,3,"bvec3","vec3<f32>","float32x3"]),u(ae,o.BOOL_VEC4,[o.FLOAT,4,"bvec4","vec4<f32>","float32x4"]),u(ae,o.FLOAT_MAT2,[o.FLOAT,8,"mat2","mat2x2<f32>"]),u(ae,o.FLOAT_MAT2x3,[o.FLOAT,8,"mat2x3","mat2x3<f32>"]),u(ae,o.FLOAT_MAT2x4,[o.FLOAT,8,"mat2x4","mat2x4<f32>"]),u(ae,o.FLOAT_MAT3x2,[o.FLOAT,12,"mat3x2","mat3x2<f32>"]),u(ae,o.FLOAT_MAT3,[o.FLOAT,12,"mat3","mat3x3<f32>"]),u(ae,o.FLOAT_MAT3x4,[o.FLOAT,12,"mat3x4","mat3x4<f32>"]),u(ae,o.FLOAT_MAT4x2,[o.FLOAT,16,"mat4x2","mat4x2<f32>"]),u(ae,o.FLOAT_MAT4x3,[o.FLOAT,16,"mat4x3","mat4x3<f32>"]),u(ae,o.FLOAT_MAT4,[o.FLOAT,16,"mat4","mat4x4<f32>"]),ae);function Li(e){var t=tc[e];if(!t)throw new Error("uniform");var r=k(t,4),n=r[0],i=r[1],a=r[3];return{format:a,components:i,glType:n}}function rc(e){var t=tc[e];if(!t)throw new Error("attribute");var r=k(t,5),n=r[1],i=r[3],a=r[4],s=i;return{attributeType:s,vertexFormat:a,components:n}}var me;function nc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ic(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){u(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 ac(e,t){var r={attributes:[],bindings:[]};r.attributes=Ud(e,t);for(var n=Hd(e,t),i=0,a=n;i<a.length;i++){var s=a[i],c=s.uniforms.map(function(S){return{name:S.name,format:S.format,byteOffset:S.byteOffset,byteStride:S.byteStride,arrayLength:S.arrayLength}});r.bindings.push({type:"uniform",name:s.name,location:s.location,visibility:(s.vertex?1:0)&(s.fragment?2:0),minBindingSize:s.byteLength,uniforms:c})}for(var f=Xd(e,t),l=0,_=0,E=f;_<E.length;_++){var d=E[_];if(ec(d.type)){var p=kd(d.type),h=p.viewDimension,m=p.sampleType;r.bindings.push({type:"texture",name:d.name,location:l,viewDimension:h,sampleType:m}),d.textureUnit=l,l+=1}}f.length&&(r.uniforms=f);var A=Ld(e,t);return A!=null&&A.length&&(r.varyings=A),r}function Ud(e,t){for(var r=[],n=e.getProgramParameter(t,e.ACTIVE_ATTRIBUTES),i=0;i<n;i++){var a=e.getActiveAttrib(t,i);if(!a)throw new Error("activeInfo");var s=a.name,c=a.type,f=e.getAttribLocation(t,s);if(f>=0){var l=rc(c),_=l.attributeType,E=/instance/i.test(s)?"instance":"vertex";r.push({name:s,location:f,stepMode:E,type:_})}}return r.sort(function(d,p){return d.location-p.location}),r}function Ld(e,t){if(!Z(e))return[];for(var r=e,n=[],i=e.getProgramParameter(t,o.TRANSFORM_FEEDBACK_VARYINGS),a=0;a<i;a++){var s=r.getTransformFeedbackVarying(t,a);if(!s)throw new Error("activeInfo");var c=s.name,f=s.type,l=s.size,_=Li(f),E=_.glType,d=_.components,p=new Je({type:E,size:l*d}),h={location:a,name:c,accessor:p};n.push(h)}return n.sort(function(m,A){return m.location-A.location}),n}function Xd(e,t){for(var r=[],n=e.getProgramParameter(t,o.ACTIVE_UNIFORMS),i=0;i<n;i++){var a=e.getActiveUniform(t,i);if(!a)throw new Error("activeInfo");var s=a.name,c=a.size,f=a.type,l=Vd(s),_=l.name,E=l.isArray,d=e.getUniformLocation(t,_),p={location:d,name:_,size:c,type:f,isArray:E};if(r.push(p),p.size>1)for(var h=0;h<p.size;h++){var m="".concat(_,"[").concat(h,"]");d=e.getUniformLocation(t,m);var A=ic(ic({},p),{},{name:m,location:d});r.push(A)}}return r}function Hd(e,t){if(!Z(e))return[];for(var r=e,n=function(A,S){return r.getActiveUniformBlockParameter(t,A,S)},i=[],a=r.getProgramParameter(t,o.ACTIVE_UNIFORM_BLOCKS),s=0;s<a;s++){for(var c={name:r.getActiveUniformBlockName(t,s)||"",location:n(s,o.UNIFORM_BLOCK_BINDING),byteLength:n(s,o.UNIFORM_BLOCK_DATA_SIZE),vertex:n(s,o.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER),fragment:n(s,o.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER),uniformCount:n(s,o.UNIFORM_BLOCK_ACTIVE_UNIFORMS),uniforms:[]},f=n(s,o.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES)||[],l=r.getActiveUniforms(t,f,o.UNIFORM_TYPE),_=r.getActiveUniforms(t,f,o.UNIFORM_SIZE),E=r.getActiveUniforms(t,f,o.UNIFORM_OFFSET),d=r.getActiveUniforms(t,f,o.UNIFORM_ARRAY_STRIDE),p=0;p<c.uniformCount;++p){var h=r.getActiveUniform(t,f[p]);if(!h)throw new Error("activeInfo");c.uniforms.push({name:h.name,format:Li(l[p]).format,type:l[p],arrayLength:_[p],byteOffset:E[p],byteStride:d[p]})}i.push(c)}return i.sort(function(m,A){return m.location-A.location}),i}var Wd=(me={},u(me,o.SAMPLER_2D,["2d","float"]),u(me,o.SAMPLER_CUBE,["cube","float"]),u(me,o.SAMPLER_3D,["3d","float"]),u(me,o.SAMPLER_2D_SHADOW,["3d","depth"]),u(me,o.SAMPLER_2D_ARRAY,["2d-array","float"]),u(me,o.SAMPLER_2D_ARRAY_SHADOW,["2d-array","depth"]),u(me,o.SAMPLER_CUBE_SHADOW,["cube","float"]),u(me,o.INT_SAMPLER_2D,["2d","sint"]),u(me,o.INT_SAMPLER_3D,["3d","sint"]),u(me,o.INT_SAMPLER_CUBE,["cube","sint"]),u(me,o.INT_SAMPLER_2D_ARRAY,["2d-array","uint"]),u(me,o.UNSIGNED_INT_SAMPLER_2D,["2d","uint"]),u(me,o.UNSIGNED_INT_SAMPLER_3D,["3d","uint"]),u(me,o.UNSIGNED_INT_SAMPLER_CUBE,["cube","uint"]),u(me,o.UNSIGNED_INT_SAMPLER_2D_ARRAY,["2d-array","uint"]),me);function kd(e){var t=Wd[e];if(!t)throw new Error("sampler");var r=k(t,2),n=r[0],i=r[1];return{viewDimension:n,sampleType:i}}function Vd(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 oc(e,t,r,n){var i=e,a=n;a===!0&&(a=1),a===!1&&(a=0);var s=typeof a=="number"?[a]:a;switch(r){case o.SAMPLER_2D:case o.SAMPLER_CUBE:case o.SAMPLER_3D:case o.SAMPLER_2D_SHADOW:case o.SAMPLER_2D_ARRAY:case o.SAMPLER_2D_ARRAY_SHADOW:case o.SAMPLER_CUBE_SHADOW:case o.INT_SAMPLER_2D:case o.INT_SAMPLER_3D:case o.INT_SAMPLER_CUBE:case o.INT_SAMPLER_2D_ARRAY:case o.UNSIGNED_INT_SAMPLER_2D:case o.UNSIGNED_INT_SAMPLER_3D:case o.UNSIGNED_INT_SAMPLER_CUBE:case o.UNSIGNED_INT_SAMPLER_2D_ARRAY:if(typeof n!="number")throw new Error("samplers must be set to integers");return e.uniform1i(t,n);case o.FLOAT:return e.uniform1fv(t,s);case o.FLOAT_VEC2:return e.uniform2fv(t,s);case o.FLOAT_VEC3:return e.uniform3fv(t,s);case o.FLOAT_VEC4:return e.uniform4fv(t,s);case o.INT:return e.uniform1iv(t,s);case o.INT_VEC2:return e.uniform2iv(t,s);case o.INT_VEC3:return e.uniform3iv(t,s);case o.INT_VEC4:return e.uniform4iv(t,s);case o.BOOL:return e.uniform1iv(t,s);case o.BOOL_VEC2:return e.uniform2iv(t,s);case o.BOOL_VEC3:return e.uniform3iv(t,s);case o.BOOL_VEC4:return e.uniform4iv(t,s);case o.UNSIGNED_INT:return i.uniform1uiv(t,s,1);case o.UNSIGNED_INT_VEC2:return i.uniform2uiv(t,s,2);case o.UNSIGNED_INT_VEC3:return i.uniform3uiv(t,s,3);case o.UNSIGNED_INT_VEC4:return i.uniform4uiv(t,s,4);case o.FLOAT_MAT2:return e.uniformMatrix2fv(t,!1,s);case o.FLOAT_MAT3:return e.uniformMatrix3fv(t,!1,s);case o.FLOAT_MAT4:return e.uniformMatrix4fv(t,!1,s);case o.FLOAT_MAT2x3:return i.uniformMatrix2x3fv(t,!1,s);case o.FLOAT_MAT2x4:return i.uniformMatrix2x4fv(t,!1,s);case o.FLOAT_MAT3x2:return i.uniformMatrix3x2fv(t,!1,s);case o.FLOAT_MAT3x4:return i.uniformMatrix3x4fv(t,!1,s);case o.FLOAT_MAT4x2:return i.uniformMatrix4x2fv(t,!1,s);case o.FLOAT_MAT4x3:return i.uniformMatrix4x3fv(t,!1,s)}throw new Error("Illegal uniform")}var cc;function sc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function uc(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?sc(Object(r),!0).forEach(function(n){u(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):sc(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function jd(e){var t=Kd();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return L(this,i)}}function Kd(){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}}var Yd="elements must be GL.ELEMENT_ARRAY_BUFFER";cc=Symbol.toStringTag;var fc=function(e){U(r,e);var t=jd(r);function r(n,i){var a;return b(this,r),a=t.call(this,n,i,uc(uc({},te.defaultProps),{},{constantAttributeZero:!1})),u(T(a),"buffer",null),u(T(a),"bufferValue",null),Object.seal(T(a)),a}return C(r,[{key:cc,get:function(){return"BaseVertexArrayObject"}},{key:"destroy",value:function(){if(ke(y(r.prototype),"destroy",this).call(this),this.buffer){var i;(i=this.buffer)===null||i===void 0||i.destroy()}}},{key:"_createHandle",value:function(){return this.gl2.createVertexArray()}},{key:"_deleteHandle",value:function(){return this.gl2.deleteVertexArray(this.handle),[this.elements]}},{key:"_bindHandle",value:function(i){this.gl2.bindVertexArray(i)}},{key:"enable",value:function(i){var a=this,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,c=this.device.isWebGL2||$t()==="Chrome",f=c||i!==0;(s||f)&&(i=Number(i),this.bind(function(){return s?a.gl.enableVertexAttribArray(i):a.gl.disableVertexAttribArray(i)}))}},{key:"setElementBuffer",value:function(){var i=this,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};W(!a||a.glTarget===o.ELEMENT_ARRAY_BUFFER,Yd),this.bind(function(){i.gl.bindBuffer(o.ELEMENT_ARRAY_BUFFER,a?a.handle:null)})}},{key:"setBuffer",value:function(i,a,s){var c=this;if(a.glTarget===o.ELEMENT_ARRAY_BUFFER){this.setElementBuffer(a,s);return}var f=s.size,l=s.type,_=s.stride,E=s.offset,d=s.normalized,p=s.integer,h=s.divisor,m=this.gl,A=this.gl2;i=Number(i),this.bind(function(){m.bindBuffer(m.ARRAY_BUFFER,a.handle),p?(c.device.assertWebGL2(),A.vertexAttribIPointer(i,f,l,_,E)):m.vertexAttribPointer(i,f,l,d,_,E),m.enableVertexAttribArray(i),A.vertexAttribDivisor(i,h||0)})}},{key:"setConstant",value:function(i,a){switch(a.constructor){case Float32Array:zd(this.device,i,a);break;case Int32Array:Gd(this.device,i,a);break;case Uint32Array:$d(this.device,i,a);break;default:W(!1)}}},{key:"getConstantBuffer",value:function(i,a){var s=qd(a),c=s.byteLength*i,f=s.length*i,l=!this.buffer;if(this.buffer=this.buffer||this.device.createBuffer({byteLength:c}),l=l||this.buffer.reallocate(c),l=l||!Zd(s,this.bufferValue),l){var _=Wn(a.constructor,f);kn({target:_,source:s,start:0,count:f}),this.buffer.subData(_),this.bufferValue=a}return this.buffer}}],[{key:"isConstantAttributeZeroSupported",value:function(i){return i.info.type==="webgl2"||$t()==="Chrome"}}]),r}(ln);function zd(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:W(!1)}}function Gd(e,t,r){var n;e.assertWebGL2(),(n=e.gl2)===null||n===void 0||n.vertexAttribI4iv(t,r)}function $d(e,t,r){var n;e.assertWebGL2(),(n=e.gl2)===null||n===void 0||n.vertexAttribI4uiv(t,r)}function qd(e){return Array.isArray(e)?new Float32Array(e):e}function Zd(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 lc(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Qd(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
276
276
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,c;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,c=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw c}}}}function Qd(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 Jd(e){var t=ep();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return L(this,i)}}function ep(){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}}var Ec=4,dc=function(e){U(r,e);var t=Jd(r);function r(n,i){var a;b(this,r),a=t.call(this,n,i),u(T(a),"device",void 0),u(T(a),"handle",void 0),u(T(a),"vs",void 0),u(T(a),"fs",void 0),u(T(a),"introspectedLayout",void 0),u(T(a),"shaderLayout",void 0),u(T(a),"bufferLayout",void 0),u(T(a),"uniforms",{}),u(T(a),"bindings",{}),u(T(a),"constantAttributes",{}),u(T(a),"_indexBuffer",void 0),u(T(a),"varyings",null),u(T(a),"vertexArrayObject",void 0),u(T(a),"_textureUniforms",{}),u(T(a),"_textureIndexCounter",0),u(T(a),"_uniformCount",0),u(T(a),"_uniformSetters",{}),a.device=n,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,c=i.bufferMode,f=c===void 0?o.SEPARATE_ATTRIBS:c;if(s&&s.length>0){var l;a.device.assertWebGL2(),a.varyings=s,(l=a.device.gl2)===null||l===void 0||l.transformFeedbackVaryings(a.handle,s,f)}return a._compileAndLink(),a.introspectedLayout=ac(a.device.gl,a.handle),a.shaderLayout=wn(a.introspectedLayout,i.shaderLayout),a.bufferLayout=i.bufferLayout||[],a.vertexArrayObject=new fc(a.device),a}return C(r,[{key:"destroy",value:function(){this.handle&&(this.device.gl.deleteProgram(this.handle),this.destroyed=!0)}},{key:"setIndexBuffer",value:function(i){var a=i;this.vertexArrayObject.setElementBuffer(a),this._indexBuffer=a}},{key:"setAttributes",value:function(i){for(var a=Xr(this.shaderLayout,this.bufferLayout),s=0,c=Object.entries(i);s<c.length;s++){for(var f=k(c[s],2),l=f[0],_=f[1],E=!1,d=0,p=Object.values(a);d<p.length;d++){var h=p[d];if(h.bufferName===l){var m=_,A=rn(h.bufferDataType);B.log(1,{setAttribute:h.name,toBuffer:l,size:h.bufferComponents,type:A,stride:h.byteStride,offset:h.byteOffset,normalized:h.normalized,integer:h.integer,divisor:h.stepMode==="instance"?1:0})(),this.vertexArrayObject.setBuffer(h.location,m,{size:h.bufferComponents,type:A,stride:h.byteStride,offset:h.byteOffset,normalized:h.normalized,integer:h.integer,divisor:h.stepMode==="instance"?1:0}),E=!0}}E||B.warn('setAttributes(): Ignoring (buffer "'.concat(_.id,'" for unknown attribute "').concat(name,'" in pipeline "').concat(this.id,'"'))()}}},{key:"setConstantAttributes",value:function(i){Object.assign(this.constantAttributes,i)}},{key:"setBindings",value:function(i){for(var a=this,s=function(){var E=k(f[c],2),d=E[0],p=E[1],h=a.shaderLayout.bindings.find(function(m){return m.name===d});if(!h)return B.warn("Unknown binding ".concat(d," in render pipeline ").concat(a.id))(),"continue";switch(p||B.warn("Unsetting binding ".concat(d," in render pipeline ").concat(a.id))(),h.type){case"uniform":if(!(p instanceof Ve)&&!(p.buffer instanceof Ve))throw new Error("buffer value");break;case"texture":if(!(p instanceof je))throw new Error("texture value");break;case"sampler":B.warn("Ignoring sampler ".concat(d))();break;default:throw new Error(h.type)}a.bindings[d]=p},c=0,f=Object.entries(i);c<f.length;c++)var l=s()}},{key:"setUniforms",value:function(i){Object.assign(this.uniforms,i)}},{key:"draw",value:function(i){var a,s=this,c=i.renderPass,f=i.vertexCount,l=i.instanceCount,_=i.firstVertex,E=_===void 0?0:_,d=tp(this.props.topology),p=Boolean(this._indexBuffer),h=(a=this._indexBuffer)===null||a===void 0?void 0:a.glIndexType,m=Number(i.instanceCount)>0;return!this._areTexturesRenderable()||i.vertexCount===0?!1:(this.device.gl.useProgram(this.handle),this.vertexArrayObject.bind(function(){var A=rp(s.props.topology),S=null;S&&S.begin(A),s._applyBindings(),s._applyUniforms(),s._applyConstantAttributes();var F=c;Au(s.device,s.props.parameters,function(){Ru(s.device,F.glParameters,function(){if(p&&m){var g;(g=s.device.gl2)===null||g===void 0||g.drawElementsInstanced(d,f||0,h,E,l||0)}else if(p)s.device.gl.drawElements(d,f||0,h,E);else if(m){var N;(N=s.device.gl2)===null||N===void 0||N.drawArraysInstanced(d,E,f||0,l||0)}else s.device.gl.drawArrays(d,E,f||0)}),S&&S.end()})}),!0)}},{key:"_compileAndLink",value:function(){var i=this.device.gl;if(i.attachShader(this.handle,this.vs.handle),i.attachShader(this.handle,this.fs.handle),B.time(Ec,"linkProgram for ".concat(this.id))(),i.linkProgram(this.handle),B.timeEnd(Ec,"linkProgram for ".concat(this.id))(),i.debug||B.level>0){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)))}}},{key:"_areTexturesRenderable",value:function(){for(var i=!0,a=0,s=Object.entries(this._textureUniforms);a<s.length;a++){var c=k(s[a],2),f=c[1];f.update(),i=i&&f.loaded}for(var l=0,_=Object.entries(this.bindings);l<_.length;l++){var E=k(_[l],2),d=E[1];d.loaded!==void 0&&(i=i&&d.loaded)}return i}},{key:"_applyConstantAttributes",value:function(){for(var i=Xr(this.shaderLayout,this.bufferLayout),a=0,s=Object.entries(this.constantAttributes);a<s.length;a++){var c=k(s[a],2),f=c[0],l=c[1],_=i[f];if(!_){B.warn('Ignoring constant value supplied for unknown attribute "'.concat(f,'" in pipeline "').concat(this.id,'"'))();continue}this.vertexArrayObject.setConstant(_.location,l)}}},{key:"_applyBindings",value:function(){this.device.gl.useProgram(this.handle);var i=this.device.gl2;if(!i)throw new Error("bindings");var a=0,s=0,c=lc(this.shaderLayout.bindings),f;try{for(c.s();!(f=c.n()).done;){var l=f.value,_=this.bindings[l.name];if(!_)throw new Error("No value for binding ".concat(l.name," in ").concat(this.id));switch(l.type){case"uniform":var E=l.name,d=i.getUniformBlockIndex(this.handle,E);if(d===o.INVALID_INDEX)throw new Error("Invalid uniform block name ".concat(E));i.uniformBlockBinding(this.handle,s,d),_ instanceof Ve?i.bindBufferBase(o.UNIFORM_BUFFER,s,_.handle):i.bindBufferRange(o.UNIFORM_BUFFER,s,_.buffer.handle,_.offset||0,_.size||_.buffer.byteLength-_.offset),s+=1;break;case"texture":if(!(_ instanceof je))throw new Error("texture");var p=_;i.activeTexture(o.TEXTURE0+a),i.bindTexture(p.target,p.handle),a+=1;break;case"sampler":break;case"storage":case"read-only-storage":throw new Error("binding type '".concat(l.type,"' not supported in WebGL"))}}}catch(h){c.e(h)}finally{c.f()}}},{key:"_applyUniforms",value:function(){var i=lc(this.shaderLayout.uniforms||[]),a;try{for(i.s();!(a=i.n()).done;){var s,c=a.value,f=c.name,l=c.location,_=c.type,E=c.textureUnit,d=(s=this.uniforms[f])!==null&&s!==void 0?s:E;d!==void 0&&oc(this.device.gl,l,_,d)}}catch(p){i.e(p)}finally{i.f()}}}]),r}(it);function tp(e){switch(e){case"point-list":return o.POINTS;case"line-list":return o.LINES;case"line-strip":return o.LINE_STRIP;case"line-loop-webgl":return o.LINE_LOOP;case"triangle-list":return o.TRIANGLES;case"triangle-strip":return o.TRIANGLE_STRIP;case"triangle-fan-webgl":return o.TRIANGLE_FAN;default:throw new Error(e)}}function rp(e){switch(e){case"point-list":return o.POINTS;case"line-list":return o.LINES;case"line-strip":return o.LINES;case"line-loop-webgl":return o.LINES;case"triangle-list":return o.TRIANGLES;case"triangle-strip":return o.TRIANGLES;case"triangle-fan-webgl":return o.TRIANGLES;default:throw new Error(e)}}function np(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=ip(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
277
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,c;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,c=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw c}}}}function ip(e,t){if(e){if(typeof e=="string")return pc(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 pc(e,t)}}function pc(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){var t=op();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return L(this,i)}}function op(){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}}var hc=function(e){U(r,e);var t=ap(r);function r(n){var i;return b(this,r),i=t.call(this,{}),u(T(i),"device",void 0),u(T(i),"commands",[]),i.device=n,i}return C(r,[{key:"submitCommands",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.commands,a=np(i),s;try{for(a.s();!(s=a.n()).done;){var c=s.value;switch(c.name){case"copy-buffer-to-buffer":sp(this.device,c.options);break;case"copy-buffer-to-texture":up(this.device,c.options);break;case"copy-texture-to-buffer":cp(this.device,c.options);break;case"copy-texture-to-texture":fp(this.device,c.options);break}}}catch(f){a.e(f)}finally{a.f()}}}]),r}(Br);function sp(e,t){var r=t.source,n=t.destination,i=e.assertWebGL2();if(i){var a,s;i.bindBuffer(o.COPY_READ_BUFFER,r.handle),i.bindBuffer(o.COPY_WRITE_BUFFER,n.handle),i.copyBufferSubData(o.COPY_READ_BUFFER,o.COPY_WRITE_BUFFER,(a=t.sourceOffset)!==null&&a!==void 0?a:0,(s=t.destinationOffset)!==null&&s!==void 0?s:0,t.size),i.bindBuffer(o.COPY_READ_BUFFER,null),i.bindBuffer(o.COPY_WRITE_BUFFER,null)}else throw new Error("copyBufferToBuffer not implemented in WebGL1")}function up(e,t){throw new Error("Not implemented")}function cp(e,t){var r=t.source,n=t.mipLevel,i=n===void 0?0:n,a=t.aspect,s=a===void 0?"all":a,c=t.width,f=c===void 0?t.source.width:c,l=t.height,_=l===void 0?t.source.height:l,E=t.depthOrArrayLayers,d=E===void 0?0:E,p=t.origin,h=p===void 0?[0,0]:p,m=t.destination,A=t.byteOffset,S=A===void 0?0:A,F=t.bytesPerRow,g=t.rowsPerImage;if(s!=="all")throw new Error("not supported");if(i!==0||d!==void 0||F||g)throw new Error("not implemented");var N=e.assertWebGL2(),I=mc(r),x=I.framebuffer,X=I.destroyFramebuffer;try{var j=m,V=f||x.width,Y=_||x.height,v=o.RGBA,R=o.UNSIGNED_BYTE;N.bindBuffer(o.PIXEL_PACK_BUFFER,j.handle),N.bindFramebuffer(o.FRAMEBUFFER,x.handle),N.readPixels(h[0],h[1],V,Y,v,R,S)}finally{N.bindBuffer(o.PIXEL_PACK_BUFFER,null),N.bindFramebuffer(o.FRAMEBUFFER,null),X&&x.destroy()}}function fp(e,t){var r=t.source,n=t.origin,i=n===void 0?[0,0]:n,a=t.destination,s=t.width,c=s===void 0?t.destination.width:s,f=t.height,l=f===void 0?t.destination.width:f,_=0,E=o.RGBA,d=mc(r),p=d.framebuffer,h=d.destroyFramebuffer,m=k(i,2),A=m[0],S=m[1],F=!1;e.gl.bindFramebuffer(o.FRAMEBUFFER,p.handle);var g=null,N;if(a instanceof je)g=a,c=Number.isFinite(c)?c:g.width,l=Number.isFinite(l)?l:g.height,g.bind(0),N=g.destination;else throw new Error("whoops");return F||e.gl.copyTexImage2D(N,_,E,A,S,c,l,0),g&&g.unbind(),e.gl.bindFramebuffer(o.FRAMEBUFFER,prevHandle||null),h&&p.destroy(),g}function mc(e){if(e instanceof be){var t=e.width,r=e.height,n=e.id,i=e.device.createFramebuffer({id:"framebuffer-for-".concat(n),width:t,height:r,colorAttachments:[e]});return{framebuffer:i,destroyFramebuffer:!0}}return{framebuffer:e,destroyFramebuffer:!1}}function lp(e){var t=_p();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return L(this,i)}}function _p(){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}}var Rc=function(e){U(r,e);var t=lp(r);function r(n,i){var a;return b(this,r),a=t.call(this,n,i),u(T(a),"device",void 0),u(T(a),"commandBuffer",void 0),a.device=n,a.commandBuffer=new hc(n),a}return C(r,[{key:"destroy",value:function(){}},{key:"finish",value:function(){this.commandBuffer.submitCommands()}},{key:"copyBufferToBuffer",value:function(i){this.commandBuffer.commands.push({name:"copy-buffer-to-buffer",options:i})}},{key:"copyBufferToTexture",value:function(i){this.commandBuffer.commands.push({name:"copy-buffer-to-texture",options:i})}},{key:"copyTextureToBuffer",value:function(i){this.commandBuffer.commands.push({name:"copy-texture-to-buffer",options:i})}},{key:"copyTextureToTexture",value:function(i){this.commandBuffer.commands.push({name:"copy-texture-to-texture",options:i})}},{key:"pushDebugGroup",value:function(i){}},{key:"popDebugGroup",value:function(){}},{key:"insertDebugMarker",value:function(i){}}]),r}(Dr);function Ac(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ke(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ac(Object(r),!0).forEach(function(n){u(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ac(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Ep(e){var t=dp();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return L(this,i)}}function dp(){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}}var pn=1,he=function(e){U(r,e);var t=Ep(r);function r(n){var i,a;b(this,r),a=t.call(this,Ke(Ke({},n),{},{id:n.id||ee("webgl-device")})),u(T(a),"info",void 0),u(T(a),"canvasContext",void 0),u(T(a),"handle",void 0),u(T(a),"lost",void 0),u(T(a),"_resolveContextLost",void 0),u(T(a),"_features",void 0),u(T(a),"_limits",void 0),u(T(a),"renderPass",null),u(T(a),"gl",void 0),u(T(a),"gl2",null),u(T(a),"debug",!1),u(T(a),"isWebGL1",void 0),u(T(a),"isWebGL2",void 0),u(T(a),"_canvasSizeInfo",{clientWidth:0,clientHeight:0,devicePixelRatio:1}),u(T(a),"_extensions",{}),u(T(a),"_polyfilled",!1),u(T(a),"spector",void 0),u(T(a),"_webglLimits",void 0);var s=(i=n.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 Fu(T(a),n),a.lost=new Promise(function(m){a._resolveContextLost=m});var c=function(A){var S,F;return(S=(F=a)._resolveContextLost)===null||S===void 0?void 0:S.call(F,{reason:"destroyed",message:"Computer entered sleep mode, or too many apps or browser tabs are using the GPU."})},f=n.gl||null;if(f=f||(se()?nu(a.canvasContext.canvas,Ke(Ke({},n),{},{onContextLost:c})):null),f=f||(se()?null:ws(Ke(Ke({},n),{},{onContextLost:c}))),!f)throw new Error("WebGL context creation failed");a.handle=f,a.gl=a.handle,a.gl2=a.gl,a.isWebGL2=hp(a.gl),a.isWebGL1=!a.isWebGL2,a.info=iu(a.gl),a.gl.device=T(a),a.gl._version=a.isWebGL2?2:1,Ys(a.gl);var l=n.enable,_=l===void 0?!0:l,E=n.copyState,d=E===void 0?!1:E;if(hi(a.gl,{enable:_,copyState:d,log:function(){for(var A=arguments.length,S=new Array(A),F=0;F<A;F++)S[F]=arguments[F];return B.log.apply(B,[1].concat(S))()}}),se()&&n.debug&&(a.gl=Vu(a.gl,Ke(Ke({},n),{},{webgl2:a.isWebGL2,throwOnError:!0})),a.gl2=a.gl,a.debug=!0,B.level=Math.max(B.level,1),B.warn("WebGL debug mode activated. Performance reduced.")()),se()&&n.spector){var p=a.handle.canvas||n.canvas;a.spector=Uu(Ke(Ke({},a.props),{},{canvas:p}))}var h="Created ".concat(a.info.type).concat(a.debug?" debug":""," context: ").concat(a.info.vendor,", ").concat(a.info.renderer," for canvas: ").concat(a.canvasContext.id);return B.probe(pn,h)(),B.groupEnd(pn)(),a}return C(r,[{key:"features",get:function(){return this._features=this._features||du(this.gl),this._features}},{key:"limits",get:function(){return this._limits=this._limits||hu(this.gl),this._limits}},{key:"destroy",value:function(){var i=this.gl.getExtension("STACKGL_destroy_context");i&&i.destroy()}},{key:"isLost",get:function(){return this.gl.isContextLost()}},{key:"getSize",value:function(){return[this.gl.drawingBufferWidth,this.gl.drawingBufferHeight]}},{key:"isTextureFormatSupported",value:function(i){return _r(this.gl,i)}},{key:"isTextureFormatFilterable",value:function(i){return cu(this.gl,i)}},{key:"isTextureFormatRenderable",value:function(i){return fu(this.gl,i)}},{key:"assertWebGL2",value:function(){if(!this.gl2)throw new Error("Requires WebGL2");return this.gl2}},{key:"createCanvasContext",value:function(i){throw new Error("WebGL only supports a single canvas")}},{key:"createBuffer",value:function(i){var a=this._getBufferProps(i);return new Gu(this,a)}},{key:"_createTexture",value:function(i){return new je(this,i)}},{key:"createExternalTexture",value:function(i){throw new Error("createExternalTexture() not implemented")}},{key:"createSampler",value:function(i){return new hr(this,i)}},{key:"createShader",value:function(i){return new Zu(this,i)}},{key:"createFramebuffer",value:function(i){return new En(this,i)}},{key:"createRenderPipeline",value:function(i){return new dc(this,i)}},{key:"beginRenderPass",value:function(i){return new Ju(this,i)}},{key:"createComputePipeline",value:function(i){throw new Error("ComputePipeline not supported in WebGL")}},{key:"beginComputePass",value:function(i){throw new Error("compute shaders not supported in WebGL")}},{key:"getDefaultRenderPass",value:function(){return this.renderPass=this.renderPass||this.beginRenderPass({framebuffer:this.canvasContext.getCurrentFramebuffer()}),this.renderPass}},{key:"createCommandEncoder",value:function(i){return new Rc(this,i)}},{key:"submit",value:function(){var i;(i=this.renderPass)===null||i===void 0||i.end(),this.renderPass=null}},{key:"webglLimits",get:function(){return this._webglLimits=this._webglLimits||mu(this.gl),this._webglLimits}},{key:"loseDevice",value: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}},{key:"pushState",value:function(){At(this.gl)}},{key:"popState",value:function(){ot(this.gl)}},{key:"setSpectorMetadata",value:function(i,a){i.__SPECTOR_Metadata=a}},{key:"getGLKey",value:function(i,a){a=a||this.gl2||this.gl;var s=Number(i);for(var c in a)if(a[c]===s)return"GL.".concat(c);return String(i)}}],[{key:"isSupported",value:function(){return typeof WebGLRenderingContext<"u"||Bs()}},{key:"attach",value:function(i){if(i instanceof r)return i;if(i?.device instanceof Zt)return i.device;if(!pp(i))throw new Error("Invalid WebGLRenderingContext");return new r({gl:i})}},{key:"create",value:function(){var n=ie(Xi.default.mark(function a(){var s,c,f=arguments;return Xi.default.wrap(function(_){for(;;)switch(_.prev=_.next){case 0:if(s=f.length>0&&f[0]!==void 0?f[0]:{},B.groupCollapsed(pn,"WebGLDevice created"),typeof s.canvas!="string"){_.next=5;break}return _.next=5,Nt.pageLoaded;case 5:if(!(B.get("debug")||s.debug)){_.next=8;break}return _.next=8,ku();case 8:if(c=s.spector,!(B.get("spector")||c)){_.next=12;break}return _.next=12,wu();case 12:if(B.probe(pn+1,"DOM is loaded")(),!(s.gl&&s.gl.device)){_.next=15;break}return _.abrupt("return",r.attach(s.gl));case 15:return _.abrupt("return",new r(s));case 16:case"end":return _.stop()}},a)}));function i(){return n.apply(this,arguments)}return i}()}]),r}(Zt);u(he,"type","webgl");function pp(e){return typeof WebGLRenderingContext<"u"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&Number.isFinite(e._version))}function hp(e){return typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&e._version===2)}function Tc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function hn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Tc(Object(r),!0).forEach(function(n){u(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Tc(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var vc=function(){function e(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};b(this,e),u(this,"device",void 0),u(this,"gl",void 0),u(this,"elementCount",0),u(this,"elementIDBuffer",null),this.device=he.attach(t),this.gl=this.device.gl2,this._buildResourceTransforms(r),r=this._updateModelProps(r),this.model=new ht(this.device,hn(hn({},r),{},{fs:r.fs||ti({version:ei(r.vs).version}),id:r.id||"transform-model",drawMode:r.drawMode||o.POINTS,vertexCount:r.elementCount})),Object.seal(this)}return C(e,[{key:"destroy",value:function(){}},{key:"delete",value:function(){this.destroy()}},{key:"run",value:function(r){var n=r||{},i=n.clearRenderTarget,a=i===void 0?!0:i,s=this._updateDrawOptions(r);a&&s.framebuffer}},{key:"swap",value:function(){}},{key:"getBuffer",value:function(r){return null}},{key:"getData",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{}}},{key:"getFramebuffer",value:function(){return null}},{key:"update",value:function(r){}},{key:"_updateModelProps",value:function(r){var n=hn({},r);return n}},{key:"_buildResourceTransforms",value:function(r){}},{key:"_updateDrawOptions",value:function(r){var n=hn({},r);return n}}],[{key:"isSupported",value:function(r){return!1}}]),e}();function gc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function mp(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?gc(Object(r),!0).forEach(function(n){u(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):gc(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Pe=function(){function e(t){b(this,e),u(this,"id",void 0),u(this,"topology",void 0),u(this,"vertexCount",void 0),u(this,"indices",void 0),u(this,"attributes",void 0),u(this,"userData",{});var r=t.attributes,n=r===void 0?{}:r,i=t.indices,a=i===void 0?null:i,s=t.vertexCount,c=s===void 0?null:s;this.id=t.id||ee("geometry"),this.topology=t.topology,a&&(this.indices=ArrayBuffer.isView(a)?{value:a,size:1}:a),this.attributes={};for(var f=0,l=Object.entries(n);f<l.length;f++){var _=k(l[f],2),E=_[0],d=_[1],p=ArrayBuffer.isView(d)?{value:d}:d;W(ArrayBuffer.isView(p.value),"".concat(this._print(E),": must be typed array or object with value as typed array")),(E==="POSITION"||E==="positions")&&!p.size&&(p.size=3),E==="indices"?(W(!this.indices),this.indices=p):this.attributes[E]=p}this.indices&&this.indices.isIndexed!==void 0&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this.vertexCount=c||this._calculateVertexCount(this.attributes,this.indices)}return C(e,[{key:"getVertexCount",value:function(){return this.vertexCount}},{key:"getAttributes",value:function(){return this.indices?mp({indices:this.indices},this.attributes):this.attributes}},{key:"_print",value:function(r){return"Geometry ".concat(this.id," attribute ").concat(r)}},{key:"_setAttributes",value:function(r,n){return this}},{key:"_calculateVertexCount",value:function(r,n){if(n)return n.value.length;var i=1/0;for(var a in r){var s=r[a],c=s.value,f=s.size,l=s.constant;!l&&c&&f>=1&&(i=Math.min(i,c.length/f))}return W(Number.isFinite(i)),i}}]),e}();var Sc;function Oc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function yc(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Oc(Object(r),!0).forEach(function(n){u(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Oc(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Rp(e){var t=Ap();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return L(this,i)}}function Ap(){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}}var Tp=Ja(Sc||(Sc=fe([`attribute vec2 aClipSpacePosition;
277
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,c;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,c=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw c}}}}function ip(e,t){if(e){if(typeof e=="string")return pc(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 pc(e,t)}}function pc(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){var t=op();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return L(this,i)}}function op(){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}}var hc=function(e){U(r,e);var t=ap(r);function r(n){var i;return b(this,r),i=t.call(this,{}),u(T(i),"device",void 0),u(T(i),"commands",[]),i.device=n,i}return C(r,[{key:"submitCommands",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.commands,a=np(i),s;try{for(a.s();!(s=a.n()).done;){var c=s.value;switch(c.name){case"copy-buffer-to-buffer":sp(this.device,c.options);break;case"copy-buffer-to-texture":up(this.device,c.options);break;case"copy-texture-to-buffer":cp(this.device,c.options);break;case"copy-texture-to-texture":fp(this.device,c.options);break}}}catch(f){a.e(f)}finally{a.f()}}}]),r}(Br);function sp(e,t){var r=t.source,n=t.destination,i=e.assertWebGL2();if(i){var a,s;i.bindBuffer(o.COPY_READ_BUFFER,r.handle),i.bindBuffer(o.COPY_WRITE_BUFFER,n.handle),i.copyBufferSubData(o.COPY_READ_BUFFER,o.COPY_WRITE_BUFFER,(a=t.sourceOffset)!==null&&a!==void 0?a:0,(s=t.destinationOffset)!==null&&s!==void 0?s:0,t.size),i.bindBuffer(o.COPY_READ_BUFFER,null),i.bindBuffer(o.COPY_WRITE_BUFFER,null)}else throw new Error("copyBufferToBuffer not implemented in WebGL1")}function up(e,t){throw new Error("Not implemented")}function cp(e,t){var r=t.source,n=t.mipLevel,i=n===void 0?0:n,a=t.aspect,s=a===void 0?"all":a,c=t.width,f=c===void 0?t.source.width:c,l=t.height,_=l===void 0?t.source.height:l,E=t.depthOrArrayLayers,d=E===void 0?0:E,p=t.origin,h=p===void 0?[0,0]:p,m=t.destination,A=t.byteOffset,S=A===void 0?0:A,F=t.bytesPerRow,g=t.rowsPerImage;if(s!=="all")throw new Error("not supported");if(i!==0||d!==void 0||F||g)throw new Error("not implemented");var N=e.assertWebGL2(),I=mc(r),x=I.framebuffer,X=I.destroyFramebuffer;try{var j=m,V=f||x.width,Y=_||x.height,v=o.RGBA,R=o.UNSIGNED_BYTE;N.bindBuffer(o.PIXEL_PACK_BUFFER,j.handle),N.bindFramebuffer(o.FRAMEBUFFER,x.handle),N.readPixels(h[0],h[1],V,Y,v,R,S)}finally{N.bindBuffer(o.PIXEL_PACK_BUFFER,null),N.bindFramebuffer(o.FRAMEBUFFER,null),X&&x.destroy()}}function fp(e,t){var r=t.source,n=t.origin,i=n===void 0?[0,0]:n,a=t.destination,s=t.width,c=s===void 0?t.destination.width:s,f=t.height,l=f===void 0?t.destination.width:f,_=0,E=o.RGBA,d=mc(r),p=d.framebuffer,h=d.destroyFramebuffer,m=k(i,2),A=m[0],S=m[1],F=!1;e.gl.bindFramebuffer(o.FRAMEBUFFER,p.handle);var g=null,N;if(a instanceof je)g=a,c=Number.isFinite(c)?c:g.width,l=Number.isFinite(l)?l:g.height,g.bind(0),N=g.destination;else throw new Error("whoops");return F||e.gl.copyTexImage2D(N,_,E,A,S,c,l,0),g&&g.unbind(),e.gl.bindFramebuffer(o.FRAMEBUFFER,prevHandle||null),h&&p.destroy(),g}function mc(e){if(e instanceof be){var t=e.width,r=e.height,n=e.id,i=e.device.createFramebuffer({id:"framebuffer-for-".concat(n),width:t,height:r,colorAttachments:[e]});return{framebuffer:i,destroyFramebuffer:!0}}return{framebuffer:e,destroyFramebuffer:!1}}function lp(e){var t=_p();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return L(this,i)}}function _p(){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}}var Rc=function(e){U(r,e);var t=lp(r);function r(n,i){var a;return b(this,r),a=t.call(this,n,i),u(T(a),"device",void 0),u(T(a),"commandBuffer",void 0),a.device=n,a.commandBuffer=new hc(n),a}return C(r,[{key:"destroy",value:function(){}},{key:"finish",value:function(){this.commandBuffer.submitCommands()}},{key:"copyBufferToBuffer",value:function(i){this.commandBuffer.commands.push({name:"copy-buffer-to-buffer",options:i})}},{key:"copyBufferToTexture",value:function(i){this.commandBuffer.commands.push({name:"copy-buffer-to-texture",options:i})}},{key:"copyTextureToBuffer",value:function(i){this.commandBuffer.commands.push({name:"copy-texture-to-buffer",options:i})}},{key:"copyTextureToTexture",value:function(i){this.commandBuffer.commands.push({name:"copy-texture-to-texture",options:i})}},{key:"pushDebugGroup",value:function(i){}},{key:"popDebugGroup",value:function(){}},{key:"insertDebugMarker",value:function(i){}}]),r}(Dr);function Ac(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ke(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ac(Object(r),!0).forEach(function(n){u(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ac(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Ep(e){var t=dp();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return L(this,i)}}function dp(){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}}var pn=1,he=function(e){U(r,e);var t=Ep(r);function r(n){var i,a;b(this,r),a=t.call(this,Ke(Ke({},n),{},{id:n.id||ee("webgl-device")})),u(T(a),"info",void 0),u(T(a),"canvasContext",void 0),u(T(a),"handle",void 0),u(T(a),"lost",void 0),u(T(a),"_resolveContextLost",void 0),u(T(a),"_features",void 0),u(T(a),"_limits",void 0),u(T(a),"renderPass",null),u(T(a),"gl",void 0),u(T(a),"gl2",null),u(T(a),"debug",!1),u(T(a),"isWebGL1",void 0),u(T(a),"isWebGL2",void 0),u(T(a),"_canvasSizeInfo",{clientWidth:0,clientHeight:0,devicePixelRatio:1}),u(T(a),"_extensions",{}),u(T(a),"_polyfilled",!1),u(T(a),"spector",void 0),u(T(a),"_webglLimits",void 0);var s=(i=n.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 Fu(T(a),n),a.lost=new Promise(function(m){a._resolveContextLost=m});var c=function(A){var S,F;return(S=(F=a)._resolveContextLost)===null||S===void 0?void 0:S.call(F,{reason:"destroyed",message:"Computer entered sleep mode, or too many apps or browser tabs are using the GPU."})},f=n.gl||null;if(f=f||(se()?nu(a.canvasContext.canvas,Ke(Ke({},n),{},{onContextLost:c})):null),f=f||(se()?null:ws(Ke(Ke({},n),{},{onContextLost:c}))),!f)throw new Error("WebGL context creation failed");a.handle=f,a.gl=a.handle,a.gl2=a.gl,a.isWebGL2=hp(a.gl),a.isWebGL1=!a.isWebGL2,a.info=iu(a.gl),a.gl.device=T(a),a.gl._version=a.isWebGL2?2:1,Ys(a.gl);var l=n.enable,_=l===void 0?!0:l,E=n.copyState,d=E===void 0?!1:E;if(hi(a.gl,{enable:_,copyState:d,log:function(){for(var A=arguments.length,S=new Array(A),F=0;F<A;F++)S[F]=arguments[F];return B.log.apply(B,[1].concat(S))()}}),se()&&n.debug&&(a.gl=Vu(a.gl,Ke(Ke({},n),{},{webgl2:a.isWebGL2,throwOnError:!0})),a.gl2=a.gl,a.debug=!0,B.level=Math.max(B.level,1),B.warn("WebGL debug mode activated. Performance reduced.")()),se()&&n.spector){var p=a.handle.canvas||n.canvas;a.spector=Uu(Ke(Ke({},a.props),{},{canvas:p}))}var h="Created ".concat(a.info.type).concat(a.debug?" debug":""," context: ").concat(a.info.vendor,", ").concat(a.info.renderer," for canvas: ").concat(a.canvasContext.id);return B.probe(pn,h)(),B.groupEnd(pn)(),a}return C(r,[{key:"features",get:function(){return this._features=this._features||du(this.gl),this._features}},{key:"limits",get:function(){return this._limits=this._limits||hu(this.gl),this._limits}},{key:"destroy",value:function(){var i=this.gl.getExtension("STACKGL_destroy_context");i&&i.destroy()}},{key:"isLost",get:function(){return this.gl.isContextLost()}},{key:"getSize",value:function(){return[this.gl.drawingBufferWidth,this.gl.drawingBufferHeight]}},{key:"isTextureFormatSupported",value:function(i){return _r(this.gl,i)}},{key:"isTextureFormatFilterable",value:function(i){return cu(this.gl,i)}},{key:"isTextureFormatRenderable",value:function(i){return fu(this.gl,i)}},{key:"assertWebGL2",value:function(){if(!this.gl2)throw new Error("Requires WebGL2");return this.gl2}},{key:"createCanvasContext",value:function(i){throw new Error("WebGL only supports a single canvas")}},{key:"createBuffer",value:function(i){var a=this._getBufferProps(i);return new Gu(this,a)}},{key:"_createTexture",value:function(i){return new je(this,i)}},{key:"createExternalTexture",value:function(i){throw new Error("createExternalTexture() not implemented")}},{key:"createSampler",value:function(i){return new hr(this,i)}},{key:"createShader",value:function(i){return new Zu(this,i)}},{key:"createFramebuffer",value:function(i){return new En(this,i)}},{key:"createRenderPipeline",value:function(i){return new dc(this,i)}},{key:"beginRenderPass",value:function(i){return new Ju(this,i)}},{key:"createComputePipeline",value:function(i){throw new Error("ComputePipeline not supported in WebGL")}},{key:"beginComputePass",value:function(i){throw new Error("compute shaders not supported in WebGL")}},{key:"getDefaultRenderPass",value:function(){return this.renderPass=this.renderPass||this.beginRenderPass({framebuffer:this.canvasContext.getCurrentFramebuffer()}),this.renderPass}},{key:"createCommandEncoder",value:function(i){return new Rc(this,i)}},{key:"submit",value:function(){var i;(i=this.renderPass)===null||i===void 0||i.end(),this.renderPass=null}},{key:"webglLimits",get:function(){return this._webglLimits=this._webglLimits||mu(this.gl),this._webglLimits}},{key:"loseDevice",value: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}},{key:"pushState",value:function(){At(this.gl)}},{key:"popState",value:function(){ot(this.gl)}},{key:"setSpectorMetadata",value:function(i,a){i.__SPECTOR_Metadata=a}},{key:"getGLKey",value:function(i,a){a=a||this.gl2||this.gl;var s=Number(i);for(var c in a)if(a[c]===s)return"GL.".concat(c);return String(i)}}],[{key:"isSupported",value:function(){return typeof WebGLRenderingContext<"u"||Bs()}},{key:"attach",value:function(i){if(i instanceof r)return i;if(i?.device instanceof Zt)return i.device;if(!pp(i))throw new Error("Invalid WebGLRenderingContext");return new r({gl:i})}},{key:"create",value:function(){var n=ie(Xi.default.mark(function a(){var s,c,f=arguments;return Xi.default.wrap(function(_){for(;;)switch(_.prev=_.next){case 0:if(s=f.length>0&&f[0]!==void 0?f[0]:{},B.groupCollapsed(pn,"WebGLDevice created"),typeof s.canvas!="string"){_.next=5;break}return _.next=5,Nt.pageLoaded;case 5:if(!(B.get("debug")||s.debug)){_.next=8;break}return _.next=8,ku();case 8:if(c=s.spector,!(B.get("spector")||c)){_.next=12;break}return _.next=12,wu();case 12:if(B.probe(pn+1,"DOM is loaded")(),!(s.gl&&s.gl.device)){_.next=15;break}return _.abrupt("return",r.attach(s.gl));case 15:return _.abrupt("return",new r(s));case 16:case"end":return _.stop()}},a)}));function i(){return n.apply(this,arguments)}return i}()}]),r}(Zt);u(he,"type","webgl");function pp(e){return typeof WebGLRenderingContext<"u"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&Number.isFinite(e._version))}function hp(e){return typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&e._version===2)}function Tc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function hn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Tc(Object(r),!0).forEach(function(n){u(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Tc(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var vc=function(){function e(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};b(this,e),u(this,"device",void 0),u(this,"gl",void 0),u(this,"elementCount",0),u(this,"elementIDBuffer",null),this.device=he.attach(t),this.gl=this.device.gl2,this._buildResourceTransforms(r),r=this._updateModelProps(r),this.model=new ht(this.device,hn(hn({},r),{},{fs:r.fs||ti({version:ei(r.vs).version}),id:r.id||"transform-model",drawMode:r.drawMode||o.POINTS,vertexCount:r.elementCount})),Object.seal(this)}return C(e,[{key:"destroy",value:function(){}},{key:"delete",value:function(){this.destroy()}},{key:"run",value:function(r){var n=r||{},i=n.clearRenderTarget,a=i===void 0?!0:i,s=this._updateDrawOptions(r);a&&s.framebuffer}},{key:"swap",value:function(){}},{key:"getBuffer",value:function(r){return null}},{key:"getData",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{}}},{key:"getFramebuffer",value:function(){return null}},{key:"update",value:function(r){}},{key:"_updateModelProps",value:function(r){var n=hn({},r);return n}},{key:"_buildResourceTransforms",value:function(r){}},{key:"_updateDrawOptions",value:function(r){var n=hn({},r);return n}}],[{key:"isSupported",value:function(r){return!1}}]),e}();function gc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function mp(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?gc(Object(r),!0).forEach(function(n){u(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):gc(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Pe=function(){function e(t){b(this,e),u(this,"id",void 0),u(this,"topology",void 0),u(this,"vertexCount",void 0),u(this,"indices",void 0),u(this,"attributes",void 0),u(this,"userData",{});var r=t.attributes,n=r===void 0?{}:r,i=t.indices,a=i===void 0?null:i,s=t.vertexCount,c=s===void 0?null:s;this.id=t.id||ee("geometry"),this.topology=t.topology,a&&(this.indices=ArrayBuffer.isView(a)?{value:a,size:1}:a),this.attributes={};for(var f=0,l=Object.entries(n);f<l.length;f++){var _=k(l[f],2),E=_[0],d=_[1],p=ArrayBuffer.isView(d)?{value:d}:d;W(ArrayBuffer.isView(p.value),"".concat(this._print(E),": must be typed array or object with value as typed array")),(E==="POSITION"||E==="positions")&&!p.size&&(p.size=3),E==="indices"?(W(!this.indices),this.indices=p):this.attributes[E]=p}this.indices&&this.indices.isIndexed!==void 0&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this.vertexCount=c||this._calculateVertexCount(this.attributes,this.indices)}return C(e,[{key:"getVertexCount",value:function(){return this.vertexCount}},{key:"getAttributes",value:function(){return this.indices?mp({indices:this.indices},this.attributes):this.attributes}},{key:"_print",value:function(r){return"Geometry ".concat(this.id," attribute ").concat(r)}},{key:"_setAttributes",value:function(r,n){return this}},{key:"_calculateVertexCount",value:function(r,n){if(n)return n.value.length;for(var i=1/0,a=0,s=Object.values(r);a<s.length;a++){var c=s[a],f=c.value,l=c.size,_=c.constant;!_&&f&&l>=1&&(i=Math.min(i,f.length/l))}return W(Number.isFinite(i)),i}}]),e}();var Sc;function Oc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function yc(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Oc(Object(r),!0).forEach(function(n){u(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Oc(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Rp(e){var t=Ap();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return L(this,i)}}function Ap(){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}}var Tp=Ja(Sc||(Sc=fe([`attribute vec2 aClipSpacePosition;
278
278
  attribute vec2 aTexCoord;
279
279
  attribute vec2 aCoordinate;
280
280