@luma.gl/webgl 9.0.0-alpha.21 → 9.0.0-alpha.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/dist/adapter/converters/device-parameters.d.ts +1 -1
  2. package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
  3. package/dist/adapter/converters/device-parameters.js +9 -9
  4. package/dist/adapter/converters/device-parameters.js.map +1 -1
  5. package/dist/adapter/converters/sampler-parameters.d.ts +1 -1
  6. package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
  7. package/dist/adapter/converters/sampler-parameters.js +1 -1
  8. package/dist/adapter/converters/sampler-parameters.js.map +1 -1
  9. package/dist/adapter/converters/texture-formats.d.ts +27 -38
  10. package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
  11. package/dist/adapter/converters/texture-formats.js +152 -114
  12. package/dist/adapter/converters/texture-formats.js.map +1 -1
  13. package/dist/adapter/helpers/attribute-utils.d.ts +1 -1
  14. package/dist/adapter/helpers/attribute-utils.d.ts.map +1 -1
  15. package/dist/adapter/helpers/attribute-utils.js +1 -1
  16. package/dist/adapter/helpers/attribute-utils.js.map +1 -1
  17. package/dist/adapter/helpers/get-shader-info.d.ts.map +1 -1
  18. package/dist/adapter/helpers/get-shader-info.js.map +1 -1
  19. package/dist/adapter/helpers/uniforms.d.ts +7 -8
  20. package/dist/adapter/helpers/uniforms.d.ts.map +1 -1
  21. package/dist/adapter/helpers/uniforms.js +4 -4
  22. package/dist/adapter/helpers/uniforms.js.map +1 -1
  23. package/dist/adapter/objects/constants-to-keys.d.ts +0 -2
  24. package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -1
  25. package/dist/adapter/objects/constants-to-keys.js +0 -20
  26. package/dist/adapter/objects/constants-to-keys.js.map +1 -1
  27. package/dist/adapter/objects/webgl-renderbuffer.d.ts +11 -8
  28. package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
  29. package/dist/adapter/objects/webgl-renderbuffer.js +29 -19
  30. package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -1
  31. package/dist/adapter/objects/webgl-resource.d.ts +0 -1
  32. package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
  33. package/dist/adapter/objects/webgl-resource.js +4 -7
  34. package/dist/adapter/objects/webgl-resource.js.map +1 -1
  35. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
  36. package/dist/adapter/resources/webgl-buffer.js +3 -2
  37. package/dist/adapter/resources/webgl-buffer.js.map +1 -1
  38. package/dist/adapter/resources/webgl-command-buffer.d.ts +8 -2
  39. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
  40. package/dist/adapter/resources/webgl-command-buffer.js +168 -25
  41. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -1
  42. package/dist/adapter/resources/webgl-command-encoder.d.ts +3 -2
  43. package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
  44. package/dist/adapter/resources/webgl-command-encoder.js +6 -2
  45. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -1
  46. package/dist/adapter/resources/webgl-framebuffer.d.ts +9 -12
  47. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
  48. package/dist/adapter/resources/webgl-framebuffer.js +29 -79
  49. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
  50. package/dist/adapter/resources/webgl-render-pass.d.ts +16 -1
  51. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
  52. package/dist/adapter/resources/webgl-render-pass.js +80 -0
  53. package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
  54. package/dist/adapter/resources/webgl-render-pipeline.d.ts +1 -1
  55. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
  56. package/dist/adapter/resources/webgl-render-pipeline.js +3 -4
  57. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
  58. package/dist/adapter/resources/webgl-sampler.d.ts +1 -1
  59. package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
  60. package/dist/adapter/resources/webgl-sampler.js +1 -1
  61. package/dist/adapter/resources/webgl-sampler.js.map +1 -1
  62. package/dist/adapter/resources/webgl-texture.d.ts +39 -19
  63. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  64. package/dist/adapter/resources/webgl-texture.js +32 -30
  65. package/dist/adapter/resources/webgl-texture.js.map +1 -1
  66. package/dist/adapter/webgl-canvas-context.d.ts +1 -2
  67. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
  68. package/dist/adapter/webgl-canvas-context.js.map +1 -1
  69. package/dist/adapter/webgl-device.d.ts +13 -6
  70. package/dist/adapter/webgl-device.d.ts.map +1 -1
  71. package/dist/adapter/webgl-device.js +20 -2
  72. package/dist/adapter/webgl-device.js.map +1 -1
  73. package/dist/classic/buffer.d.ts +0 -1
  74. package/dist/classic/buffer.d.ts.map +1 -1
  75. package/dist/classic/buffer.js +0 -6
  76. package/dist/classic/buffer.js.map +1 -1
  77. package/dist/classic/typed-array-utils.d.ts +15 -17
  78. package/dist/classic/typed-array-utils.d.ts.map +1 -1
  79. package/dist/classic/typed-array-utils.js +1 -1
  80. package/dist/classic/typed-array-utils.js.map +1 -1
  81. package/dist/context/context/create-browser-context.js.map +1 -1
  82. package/dist/context/parameters/unified-parameter-api.d.ts +1 -1
  83. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
  84. package/dist/context/parameters/unified-parameter-api.js.map +1 -1
  85. package/dist/context/parameters/webgl-parameter-tables.d.ts +1 -2
  86. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  87. package/dist/context/parameters/webgl-parameter-tables.js +1 -1
  88. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
  89. package/dist/dist.dev.js +1102 -670
  90. package/dist/index.cjs +1085 -898
  91. package/dist/index.d.ts +3 -2
  92. package/dist/index.d.ts.map +1 -1
  93. package/dist/index.js +2 -1
  94. package/dist/index.js.map +1 -1
  95. package/dist.min.js +22 -21
  96. package/package.json +7 -4
  97. package/src/adapter/converters/device-parameters.ts +46 -22
  98. package/src/adapter/converters/sampler-parameters.ts +1 -2
  99. package/src/adapter/converters/texture-formats.ts +242 -161
  100. package/src/adapter/helpers/attribute-utils.ts +1 -2
  101. package/src/adapter/helpers/get-shader-info.ts +3 -0
  102. package/src/adapter/helpers/uniforms.ts +9 -10
  103. package/src/adapter/objects/constants-to-keys.ts +0 -25
  104. package/src/adapter/objects/webgl-renderbuffer.ts +32 -29
  105. package/src/adapter/objects/webgl-resource.ts +4 -8
  106. package/src/adapter/resources/webgl-buffer.ts +4 -5
  107. package/src/adapter/resources/webgl-command-buffer.ts +328 -21
  108. package/src/adapter/resources/webgl-command-encoder.ts +7 -2
  109. package/src/adapter/resources/webgl-framebuffer.ts +63 -111
  110. package/src/adapter/resources/webgl-render-pass.ts +146 -2
  111. package/src/adapter/resources/webgl-render-pipeline.ts +6 -3
  112. package/src/adapter/resources/webgl-sampler.ts +1 -2
  113. package/src/adapter/resources/webgl-texture.ts +61 -43
  114. package/src/adapter/webgl-canvas-context.ts +2 -2
  115. package/src/adapter/webgl-device.ts +37 -8
  116. package/src/classic/buffer.ts +3 -3
  117. package/src/classic/typed-array-utils.ts +15 -26
  118. package/src/context/context/create-browser-context.ts +2 -2
  119. package/src/context/parameters/unified-parameter-api.ts +1 -1
  120. package/src/context/parameters/webgl-parameter-tables.ts +2 -2
  121. package/src/index.ts +5 -3
  122. package/dist/adapter/converters/renderbuffer-formats.d.ts +0 -16
  123. package/dist/adapter/converters/renderbuffer-formats.d.ts.map +0 -1
  124. package/dist/adapter/converters/renderbuffer-formats.js +0 -180
  125. package/dist/adapter/converters/renderbuffer-formats.js.map +0 -1
  126. package/dist/types/webgl.d.ts +0 -145
  127. package/dist/types/webgl.d.ts.map +0 -1
  128. package/dist/types/webgl.js +0 -2
  129. package/dist/types/webgl.js.map +0 -1
  130. package/src/.DS_Store +0 -0
  131. package/src/adapter/.DS_Store +0 -0
  132. package/src/adapter/converters/renderbuffer-formats.ts +0 -90
  133. package/src/context/.DS_Store +0 -0
  134. package/src/types/webgl.ts +0 -286
package/dist.min.js CHANGED
@@ -4,29 +4,30 @@
4
4
  else if (typeof define === 'function' && define.amd) define([], factory);
5
5
  else if (typeof exports === 'object') exports['luma'] = factory();
6
6
  else root['luma'] = factory();})(globalThis, function () {
7
- var __exports__=(()=>{var Ya=Object.create;var Xt=Object.defineProperty;var za=Object.getOwnPropertyDescriptor;var Ga=Object.getOwnPropertyNames;var Za=Object.getPrototypeOf,$a=Object.prototype.hasOwnProperty;var hr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Qa=(e,t)=>{for(var r in t)Xt(e,r,{get:t[r],enumerable:!0})},hn=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ga(t))!$a.call(e,i)&&i!==r&&Xt(e,i,{get:()=>t[i],enumerable:!(n=za(t,i))||n.enumerable});return e};var He=(e,t,r)=>(r=e!=null?Ya(Za(e)):{},hn(t||!e||!e.__esModule?Xt(r,"default",{value:e,enumerable:!0}):r,e)),qa=e=>hn(Xt({},"__esModule",{value:!0}),e);var bn=hr((ff,Me)=>{function gr(e){return Me.exports=gr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Me.exports.__esModule=!0,Me.exports.default=Me.exports,gr(e)}Me.exports=gr,Me.exports.__esModule=!0,Me.exports.default=Me.exports});var yn=hr((Ef,De)=>{var ro=bn().default;function Pn(){"use strict";De.exports=Pn=function(){return e},De.exports.__esModule=!0,De.exports.default=De.exports;var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(S,p,m){S[p]=m.value},i=typeof Symbol=="function"?Symbol:{},o=i.iterator||"@@iterator",u=i.asyncIterator||"@@asyncIterator",_=i.toStringTag||"@@toStringTag";function f(S,p,m){return Object.defineProperty(S,p,{value:m,enumerable:!0,configurable:!0,writable:!0}),S[p]}try{f({},"")}catch{f=function(m,y,D){return m[y]=D}}function E(S,p,m,y){var D=p&&p.prototype instanceof R?p:R,M=Object.create(D.prototype),K=new $(y||[]);return n(M,"_invoke",{value:k(S,m,K)}),M}function c(S,p,m){try{return{type:"normal",arg:S.call(p,m)}}catch(y){return{type:"throw",arg:y}}}e.wrap=E;var l={};function R(){}function d(){}function h(){}var g={};f(g,o,function(){return this});var N=Object.getPrototypeOf,C=N&&N(N(Ae([])));C&&C!==t&&r.call(C,o)&&(g=C);var F=h.prototype=R.prototype=Object.create(g);function B(S){["next","throw","return"].forEach(function(p){f(S,p,function(m){return this._invoke(p,m)})})}function V(S,p){function m(D,M,K,re){var Q=c(S[D],S,M);if(Q.type!=="throw"){var Te=Q.arg,Se=Te.value;return Se&&ro(Se)=="object"&&r.call(Se,"__await")?p.resolve(Se.__await).then(function(Be){m("next",Be,K,re)},function(Be){m("throw",Be,K,re)}):p.resolve(Se).then(function(Be){Te.value=Be,K(Te)},function(Be){return m("throw",Be,K,re)})}re(Q.arg)}var y;n(this,"_invoke",{value:function(M,K){function re(){return new p(function(Q,Te){m(M,K,Q,Te)})}return y=y?y.then(re,re):re()}})}function k(S,p,m){var y="suspendedStart";return function(D,M){if(y==="executing")throw new Error("Generator is already running");if(y==="completed"){if(D==="throw")throw M;return te()}for(m.method=D,m.arg=M;;){var K=m.delegate;if(K){var re=ee(K,m);if(re){if(re===l)continue;return re}}if(m.method==="next")m.sent=m._sent=m.arg;else if(m.method==="throw"){if(y==="suspendedStart")throw y="completed",m.arg;m.dispatchException(m.arg)}else m.method==="return"&&m.abrupt("return",m.arg);y="executing";var Q=c(S,p,m);if(Q.type==="normal"){if(y=m.done?"completed":"suspendedYield",Q.arg===l)continue;return{value:Q.arg,done:m.done}}Q.type==="throw"&&(y="completed",m.method="throw",m.arg=Q.arg)}}}function ee(S,p){var m=p.method,y=S.iterator[m];if(y===void 0)return p.delegate=null,m==="throw"&&S.iterator.return&&(p.method="return",p.arg=void 0,ee(S,p),p.method==="throw")||m!=="return"&&(p.method="throw",p.arg=new TypeError("The iterator does not provide a '"+m+"' method")),l;var D=c(y,S.iterator,p.arg);if(D.type==="throw")return p.method="throw",p.arg=D.arg,p.delegate=null,l;var M=D.arg;return M?M.done?(p[S.resultName]=M.value,p.next=S.nextLoc,p.method!=="return"&&(p.method="next",p.arg=void 0),p.delegate=null,l):M:(p.method="throw",p.arg=new TypeError("iterator result is not an object"),p.delegate=null,l)}function j(S){var p={tryLoc:S[0]};1 in S&&(p.catchLoc=S[1]),2 in S&&(p.finallyLoc=S[2],p.afterLoc=S[3]),this.tryEntries.push(p)}function _e(S){var p=S.completion||{};p.type="normal",delete p.arg,S.completion=p}function $(S){this.tryEntries=[{tryLoc:"root"}],S.forEach(j,this),this.reset(!0)}function Ae(S){if(S){var p=S[o];if(p)return p.call(S);if(typeof S.next=="function")return S;if(!isNaN(S.length)){var m=-1,y=function D(){for(;++m<S.length;)if(r.call(S,m))return D.value=S[m],D.done=!1,D;return D.value=void 0,D.done=!0,D};return y.next=y}}return{next:te}}function te(){return{value:void 0,done:!0}}return d.prototype=h,n(F,"constructor",{value:h,configurable:!0}),n(h,"constructor",{value:d,configurable:!0}),d.displayName=f(h,_,"GeneratorFunction"),e.isGeneratorFunction=function(S){var p=typeof S=="function"&&S.constructor;return!!p&&(p===d||(p.displayName||p.name)==="GeneratorFunction")},e.mark=function(S){return Object.setPrototypeOf?Object.setPrototypeOf(S,h):(S.__proto__=h,f(S,_,"GeneratorFunction")),S.prototype=Object.create(F),S},e.awrap=function(S){return{__await:S}},B(V.prototype),f(V.prototype,u,function(){return this}),e.AsyncIterator=V,e.async=function(S,p,m,y,D){D===void 0&&(D=Promise);var M=new V(E(S,p,m,y),D);return e.isGeneratorFunction(p)?M:M.next().then(function(K){return K.done?K.value:M.next()})},B(F),f(F,_,"Generator"),f(F,o,function(){return this}),f(F,"toString",function(){return"[object Generator]"}),e.keys=function(S){var p=Object(S),m=[];for(var y in p)m.push(y);return m.reverse(),function D(){for(;m.length;){var M=m.pop();if(M in p)return D.value=M,D.done=!1,D}return D.done=!0,D}},e.values=Ae,$.prototype={constructor:$,reset:function(p){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_e),!p)for(var m in this)m.charAt(0)==="t"&&r.call(this,m)&&!isNaN(+m.slice(1))&&(this[m]=void 0)},stop:function(){this.done=!0;var p=this.tryEntries[0].completion;if(p.type==="throw")throw p.arg;return this.rval},dispatchException:function(p){if(this.done)throw p;var m=this;function y(Te,Se){return K.type="throw",K.arg=p,m.next=Te,Se&&(m.method="next",m.arg=void 0),!!Se}for(var D=this.tryEntries.length-1;D>=0;--D){var M=this.tryEntries[D],K=M.completion;if(M.tryLoc==="root")return y("end");if(M.tryLoc<=this.prev){var re=r.call(M,"catchLoc"),Q=r.call(M,"finallyLoc");if(re&&Q){if(this.prev<M.catchLoc)return y(M.catchLoc,!0);if(this.prev<M.finallyLoc)return y(M.finallyLoc)}else if(re){if(this.prev<M.catchLoc)return y(M.catchLoc,!0)}else{if(!Q)throw new Error("try statement without catch or finally");if(this.prev<M.finallyLoc)return y(M.finallyLoc)}}}},abrupt:function(p,m){for(var y=this.tryEntries.length-1;y>=0;--y){var D=this.tryEntries[y];if(D.tryLoc<=this.prev&&r.call(D,"finallyLoc")&&this.prev<D.finallyLoc){var M=D;break}}M&&(p==="break"||p==="continue")&&M.tryLoc<=m&&m<=M.finallyLoc&&(M=null);var K=M?M.completion:{};return K.type=p,K.arg=m,M?(this.method="next",this.next=M.finallyLoc,l):this.complete(K)},complete:function(p,m){if(p.type==="throw")throw p.arg;return p.type==="break"||p.type==="continue"?this.next=p.arg:p.type==="return"?(this.rval=this.arg=p.arg,this.method="return",this.next="end"):p.type==="normal"&&m&&(this.next=m),l},finish:function(p){for(var m=this.tryEntries.length-1;m>=0;--m){var y=this.tryEntries[m];if(y.finallyLoc===p)return this.complete(y.completion,y.afterLoc),_e(y),l}},catch:function(p){for(var m=this.tryEntries.length-1;m>=0;--m){var y=this.tryEntries[m];if(y.tryLoc===p){var D=y.completion;if(D.type==="throw"){var M=D.arg;_e(y)}return M}}throw new Error("illegal catch attempt")},delegateYield:function(p,m,y){return this.delegate={iterator:Ae(p),resultName:m,nextLoc:y},this.method==="next"&&(this.arg=void 0),l}},e}De.exports=Pn,De.exports.__esModule=!0,De.exports.default=De.exports});var we=hr((cf,Fn)=>{var Wt=yn()();Fn.exports=Wt;try{regeneratorRuntime=Wt}catch{typeof globalThis=="object"?globalThis.regeneratorRuntime=Wt:Function("r","regeneratorRuntime = r")(Wt)}});var H_={};Qa(H_,{Accessor:()=>he,Buffer:()=>xt,ClassicBuffer:()=>xt,WEBGLBuffer:()=>me,WEBGLCommandEncoder:()=>Ka,WEBGLFramebuffer:()=>Rt,WEBGLRenderPass:()=>Ar,WEBGLRenderPipeline:()=>pr,WEBGLRenderbuffer:()=>lt,WEBGLResource:()=>qe,WEBGLSampler:()=>Qe,WEBGLShader:()=>Rr,WEBGLTexture:()=>ve,WEBGLVertexArrayObject:()=>dr,WebGLCanvasContext:()=>cr,WebGLDevice:()=>ce,WebGLResource:()=>qe,_checkFloat32ColorAttachment:()=>or,assertWebGL2Context:()=>st,assertWebGLContext:()=>qt,getParameters:()=>tr,getProgramBindings:()=>pn,getShaderLayout:()=>Tr,getWebGL2Context:()=>It,isWebGL:()=>Xr,isWebGL2:()=>H,polyfillContext:()=>er,popContextState:()=>be,pushContextState:()=>xe,registerHeadlessGL:()=>On,resetParameters:()=>Ui,setDeviceParameters:()=>qr,setParameters:()=>Ue,trackContextState:()=>Ft,withDeviceParameters:()=>ur,withParameters:()=>$e});function fe(e){return fe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},fe(e)}function Sr(e,t){if(fe(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(fe(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function dt(e){var t=Sr(e,"string");return fe(t)==="symbol"?t:String(t)}function s(e,t,r){return t=dt(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Sn(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 gn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Sn(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Sn(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Ja="Failed to create WebGL context in Node.js, headless gl returned null",eo=" 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.",to={width:1,height:1,debug:!0,throwOnError:!1},Ht=null;function On(e){Ht=e}function vn(){return Ht!==null}function Nn(e){e=gn(gn({},to),e);var t=e,r=t.width,n=t.height,i=t.webgl1,o=t.webgl2;if(o&&!i)throw new Error("headless-gl does not support WebGL2");if(!Ht)throw new Error(eo);var u=Ht(r,n,e);if(!u)throw new Error(Ja);return u}function Cn(e,t,r,n,i,o,u){try{var _=e[o](u),f=_.value}catch(E){r(E);return}_.done?t(f):Promise.resolve(f).then(n,i)}function oe(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function u(f){Cn(o,n,i,u,_,"next",f)}function _(f){Cn(o,n,i,u,_,"throw",f)}u(void 0)})}}function I(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function In(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,dt(n.key),n)}}function b(e,t,r){return t&&In(e.prototype,t),r&&In(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function A(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function We(e,t){return We=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},We(e,t)}function x(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&We(e,t)}function w(e,t){if(t&&(fe(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return A(e)}function v(e){return v=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},v(e)}var mn=He(we(),1);function pt(e){if(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&Boolean(process.versions.electron))return!0;let t=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,r=e||t;return!!(r&&r.indexOf("Electron")>=0)}function q(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||pt()}var no=globalThis.self||globalThis.window||globalThis.global,et=globalThis.window||globalThis.self||globalThis.global,io=globalThis.document||{},Le=globalThis.process||{},ao=globalThis.console,Bn=globalThis.navigator||{};var Lt=typeof __VERSION__<"u"?__VERSION__:"untranspiled source",pf=q();var Or=globalThis;function Vt(e){if(!e&&!q())return"Node";if(pt(e))return"Electron";let t=e||Bn.userAgent||"";if(t.indexOf("Edge")>-1)return"Edge";let r=t.indexOf("MSIE ")!==-1,n=t.indexOf("Trident/")!==-1;return r||n?"IE":Or.chrome?"Chrome":Or.safari?"Safari":Or.mozInnerScreenX?"Firefox":"Unknown"}function oo(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var kt=class{constructor(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";s(this,"storage",void 0),s(this,"id",void 0),s(this,"config",void 0),this.storage=oo(n),this.id=t,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){if(Object.assign(this.config,t),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let t={};if(this.storage){let r=this.storage.getItem(this.id);t=r?JSON.parse(r):{}}return Object.assign(this.config,t),this}};function Mn(e){let t;return e<10?t="".concat(e.toFixed(2),"ms"):e<100?t="".concat(e.toFixed(1),"ms"):e<1e3?t="".concat(e.toFixed(0),"ms"):t="".concat((e/1e3).toFixed(2),"s"),t}function Dn(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(t-e.length,0);return"".concat(" ".repeat(r)).concat(e)}function Kt(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(r=Math.min(r,n/e.width));let o=e.width*r,u=e.height*r,_=["font-size:1px;","padding:".concat(Math.floor(u/2),"px ").concat(Math.floor(o/2),"px;"),"line-height:".concat(u,"px;"),"background:url(".concat(i,");"),"background-size:".concat(o,"px ").concat(u,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),_]}var jt;(function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(jt||(jt={}));var so=10;function Un(e){return typeof e!="string"?e:(e=e.toUpperCase(),jt[e]||jt.WHITE)}function xn(e,t,r){if(!q&&typeof e=="string"){if(t){let n=Un(t);e="\x1B[".concat(n,"m").concat(e,"\x1B[39m")}if(r){let n=Un(r);e="\x1B[".concat(n+so,"m").concat(e,"\x1B[49m")}}return e}function wn(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(r),i=e;for(let o of n){let u=i[o];typeof u=="function"&&(t.find(_=>o===_)||(i[o]=u.bind(e)))}}function tt(e,t){if(!e)throw new Error(t||"Assertion failed")}function Ve(){let e;if(q()&&et.performance){var t,r;e=et===null||et===void 0||(t=et.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if("hrtime"in Le){var n;let i=Le===null||Le===void 0||(n=Le.hrtime)===null||n===void 0?void 0:n.call(Le);e=i[0]*1e3+i[1]/1e6}else e=Date.now();return e}var rt={debug:q()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},uo={enabled:!0,level:0};function de(){}var Xn={},Hn={once:!0},Xe=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};s(this,"id",void 0),s(this,"VERSION",Lt),s(this,"_startTs",Ve()),s(this,"_deltaTs",Ve()),s(this,"_storage",void 0),s(this,"userData",{}),s(this,"LOG_THROTTLE_TIMEOUT",0),this.id=t,this.userData={},this._storage=new kt("__probe-".concat(this.id,"__"),uo),this.timeStamp("".concat(this.id," started")),wn(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((Ve()-this._startTs).toPrecision(10))}getDelta(){return Number((Ve()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:t}),this}setLevel(t){return this._storage.setConfiguration({level:t}),this}get(t){return this._storage.config[t]}set(t,r){this._storage.setConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){tt(t,r)}warn(t){return this._getLogFunction(0,t,rt.warn,arguments,Hn)}error(t){return this._getLogFunction(0,t,rt.error,arguments)}deprecated(t,r){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(r,"` instead"))}removed(t,r){return this.error("`".concat(t,"` has been removed. Use `").concat(r,"` instead"))}probe(t,r){return this._getLogFunction(t,r,rt.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,rt.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,rt.debug||rt.info,arguments,Hn)}table(t,r,n){return r?this._getLogFunction(t,r,console.table||de,n&&[n],{tag:co(r)}):de}image(t){let{logLevel:r,priority:n,image:i,message:o="",scale:u=1}=t;return this._shouldLog(r||n)?q()?Eo({image:i,message:o,scale:u}):fo({image:i,message:o,scale:u}):de}time(t,r){return this._getLogFunction(t,r,console.time?console.time:console.info)}timeEnd(t,r){return this._getLogFunction(t,r,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,r){return this._getLogFunction(t,r,console.timeStamp||de)}group(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},i=Wn({logLevel:t,message:r,opts:n}),{collapsed:o}=n;return i.method=(o?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(t,r,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||de)}withGroup(t,r,n){this.group(t,r)();try{n()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=Ln(t)}_getLogFunction(t,r,n,i,o){if(this._shouldLog(t)){o=Wn({logLevel:t,message:r,args:i,opts:o}),n=n||o.method,tt(n),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=Ve();let u=o.tag||o.message;if(o.once&&u)if(!Xn[u])Xn[u]=Ve();else return de;return r=_o(this.id,o.message,o),n.bind(console,r,...o.args)}return de}};s(Xe,"VERSION",Lt);function Ln(e){if(!e)return 0;let t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return tt(Number.isFinite(t)&&t>=0),t}function Wn(e){let{logLevel:t,message:r}=e;e.logLevel=Ln(t);let n=e.args?Array.from(e.args):[];for(;n.length&&n.shift()!==r;);switch(typeof t){case"string":case"function":r!==void 0&&n.unshift(r),e.message=t;break;case"object":Object.assign(e,t);break;default:}typeof e.message=="function"&&(e.message=e.message());let i=typeof e.message;return tt(i==="string"||i==="object"),Object.assign(e,{args:n},e.opts)}function _o(e,t,r){if(typeof t=="string"){let n=r.time?Dn(Mn(r.total)):"";t=r.time?"".concat(e,": ").concat(n," ").concat(t):"".concat(e,": ").concat(t),t=xn(t,r.color,r.background)}return t}function fo(e){let{image:t,message:r="",scale:n=1}=e;return console.warn("removed"),de}function Eo(e){let{image:t,message:r="",scale:n=1}=e;if(typeof t=="string"){let o=new Image;return o.onload=()=>{let u=Kt(o,r,n);console.log(...u)},o.src=t,de}let i=t.nodeName||"";if(i.toLowerCase()==="img")return console.log(...Kt(t,r,n)),de;if(i.toLowerCase()==="canvas"){let o=new Image;return o.onload=()=>console.log(...Kt(o,r,n)),o.src=t.toDataURL(),de}return de}function co(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}var Qf=new Xe({id:"@probe.gl/log"});var P=new Xe({id:"luma.gl"});function mt(){let e;if(typeof window<"u"&&window.performance)e=window.performance.now();else if(typeof process<"u"&&process.hrtime){let t=process.hrtime();e=t[0]*1e3+t[1]/1e6}else e=Date.now();return e}var ke=class{constructor(t,r){s(this,"name",void 0),s(this,"type",void 0),s(this,"sampleSize",1),s(this,"time",0),s(this,"count",0),s(this,"samples",0),s(this,"lastTiming",0),s(this,"lastSampleTime",0),s(this,"lastSampleCount",0),s(this,"_count",0),s(this,"_time",0),s(this,"_samples",0),s(this,"_startTime",0),s(this,"_timerPending",!1),this.name=t,this.type=r,this.reset()}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}setSampleSize(t){return this.sampleSize=t,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(t){return this._count+=t,this._samples++,this._checkSampling(),this}subtractCount(t){return this._count-=t,this._samples++,this._checkSampling(),this}addTime(t){return this._time+=t,this.lastTiming=t,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=mt(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(mt()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}};var nt=class{constructor(t){s(this,"id",void 0),s(this,"stats",{}),this.id=t.id,this.stats={},this._initializeStats(t.stats),Object.seal(this)}get(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"count";return this._getOrCreate({name:t,type:r})}get size(){return Object.keys(this.stats).length}reset(){for(let t of Object.values(this.stats))t.reset();return this}forEach(t){for(let r of Object.values(this.stats))t(r)}getTable(){let t={};return this.forEach(r=>{t[r.name]={time:r.time||0,count:r.count||0,average:r.getAverageTime()||0,hz:r.getHz()||0}}),t}_initializeStats(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).forEach(r=>this._getOrCreate(r))}_getOrCreate(t){let{name:r,type:n}=t,i=this.stats[r];return i||(t instanceof ke?i=t:i=new ke(r,n),this.stats[r]=i),i}};var lo=function(){function e(){I(this,e),s(this,"stats",new Map)}return b(e,[{key:"getStats",value:function(r){return this.get(r)}},{key:"get",value:function(r){return this.stats.has(r)||this.stats.set(r,new nt({id:r})),this.stats.get(r)}}]),e}(),Yt=new lo;function Ro(){var e=typeof __VERSION__<"u"?__VERSION__:"untranspiled source",t="set luma.log.level=1 (or higher) to trace rendering";if(globalThis.luma&&globalThis.luma.VERSION!==e)throw new Error("luma.gl - multiple VERSIONs detected: ".concat(globalThis.luma.VERSION," vs ").concat(e));return globalThis.luma||(q()&&P.log(1,"luma.gl ".concat(e," - ").concat(t))(),globalThis.luma=globalThis.luma||{VERSION:e,version:e,log:P,stats:Yt}),e}var Vn=Ro();var vr={};function ge(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"id";vr[e]=vr[e]||1;var t=vr[e]++;return"".concat(e,"-").concat(t)}function zt(e){return e>0&&(e&e-1)===0}function it(e){var t=!0;for(var r in e){t=!1;break}return t}function kn(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 Ao(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?kn(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):kn(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var se={id:"undefined",handle:void 0,userData:{}},ie=function(){function e(t,r,n){if(I(this,e),s(this,"id",void 0),s(this,"props",void 0),s(this,"userData",{}),s(this,"device",void 0),s(this,"_device",void 0),s(this,"destroyed",!1),s(this,"allocatedBytes",0),!t)throw new Error("no device");this._device=t,this.props=To(r,n);var i=this.props.id!=="undefined"?this.props.id:ge(this[Symbol.toStringTag]);this.props.id=i,this.id=i,this.userData=this.props.userData||{},this.addStats()}return b(e,[{key:"destroy",value:function(){this.removeStats()}},{key:"delete",value:function(){return this.destroy(),this}},{key:"toString",value:function(){return"".concat(this[Symbol.toStringTag]||this.constructor.name,"(").concat(this.id,")")}},{key:"getProps",value:function(){return this.props}},{key:"addStats",value:function(){var r=this._device.statsManager.getStats("Resource Counts"),n=this[Symbol.toStringTag];r.get("Resources Created").incrementCount(),r.get("".concat(n,"s Created")).incrementCount(),r.get("".concat(n,"s Active")).incrementCount()}},{key:"removeStats",value:function(){var r=this._device.statsManager.getStats("Resource Counts"),n=this[Symbol.toStringTag];r.get("".concat(n,"s Active")).decrementCount()}},{key:"trackAllocatedMemory",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this[Symbol.toStringTag],i=this._device.statsManager.getStats("Resource Counts");i.get("GPU Memory").addCount(r),i.get("".concat(n," Memory")).addCount(r),this.allocatedBytes=r}},{key:"trackDeallocatedMemory",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this[Symbol.toStringTag],n=this._device.statsManager.getStats("Resource Counts");n.get("GPU Memory").subtractCount(this.allocatedBytes),n.get("".concat(r," Memory")).subtractCount(this.allocatedBytes),this.allocatedBytes=0}}]),e}();function To(e,t){var r=Ao({},t);for(var n in e)e[n]!==void 0&&(r[n]=e[n]);return r}var jn;function po(e){var t=mo();return function(){var n=v(e),i;if(t){var o=v(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return w(this,i)}}function mo(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Kn(e,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 Nr(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Kn(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Kn(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var ho=Nr(Nr({},se),{},{usage:0,byteLength:0,byteOffset:0,data:null,indexType:"uint16",mappedAtCreation:!1});jn=Symbol.toStringTag;var ne=function(e){x(r,e);var t=po(r);function r(n,i){I(this,r);var o=Nr({},i);return(i.usage||0)&r.INDEX&&!i.indexType&&(i.data instanceof Uint32Array?o.indexType="uint32":i.data instanceof Uint16Array&&(o.indexType="uint16")),t.call(this,n,o,ho)}return b(r,[{key:jn,get:function(){return"Buffer"}},{key:"write",value:function(i,o){throw new Error("not implemented")}},{key:"readAsync",value:function(i,o){throw new Error("not implemented")}},{key:"getData",value:function(){throw new Error("not implemented")}}]),r}(ie);s(ne,"MAP_READ",1);s(ne,"MAP_WRITE",2);s(ne,"COPY_SRC",4);s(ne,"COPY_DST",8);s(ne,"INDEX",16);s(ne,"VERTEX",32);s(ne,"UNIFORM",64);s(ne,"STORAGE",128);s(ne,"INDIRECT",256);s(ne,"QUERY_RESOLVE",512);var Gn;function Yn(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 zn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Yn(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Yn(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var So={id:null,type:"best-available",canvas:null,container:null,webgl2:!0,webgl1:!0,manageState:!0,width:800,height:600,debug:Boolean(P.get("debug")),break:[],gl:null};Gn=Symbol.toStringTag;var ht=function(){function e(t){I(this,e),s(this,"id",void 0),s(this,"statsManager",Yt),s(this,"props",void 0),s(this,"userData",{}),s(this,"info",void 0),s(this,"lost",void 0),s(this,"canvasContext",void 0),this.props=zn(zn({},So),t),this.id=this.props.id||ge(this[Symbol.toStringTag].toLowerCase())}return b(e,[{key:Gn,get:function(){return"Device"}},{key:"createBuffer",value:function(r){return r instanceof ArrayBuffer||ArrayBuffer.isView(r)?this._createBuffer({data:r}):((r.usage||0)&ne.INDEX&&!r.indexType&&(r.data instanceof Uint32Array?r.indexType="uint32":r.data instanceof Uint16Array&&(r.indexType="uint16")),this._createBuffer(r))}},{key:"createTexture",value:function(r){return(r instanceof Promise||typeof r=="string")&&(r={data:r}),this._createTexture(r)}}]),e}();s(ht,"VERSION",Vn);function St(e){if(Array.isArray(e))return e}function Cr(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,u,_=[],f=!0,E=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=o.call(r)).done)&&(_.push(n.value),_.length!==t);f=!0);}catch(c){E=!0,i=c}finally{try{if(!f&&r.return!=null&&(u=r.return(),Object(u)!==u))return}finally{if(E)throw i}}return _}}function at(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 Ke(e,t){if(e){if(typeof e=="string")return at(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 at(e,t)}}function gt(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
8
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function L(e,t){return St(e)||Cr(e,t)||Ke(e,t)||gt()}function go(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Oo(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(E){throw E},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
9
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,u=!1,_;return{s:function(){r=r.call(e)},n:function(){var E=r.next();return o=E.done,E},e:function(E){u=!0,_=E},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(u)throw _}}}}function Oo(e,t){if(e){if(typeof e=="string")return Zn(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 Zn(e,t)}}function Zn(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 $n(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 Qn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?$n(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):$n(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var vo=q()&&typeof document<"u",Gt=function(){return vo&&document.readyState==="complete"},No={canvas:null,width:800,height:600,useDevicePixels:!0,autoResize:!0,container:null,visible:!0,colorSpace:"srgb",alphaMode:"opaque"},ot=function(){function e(t){var r=this;if(I(this,e),s(this,"device",void 0),s(this,"id",void 0),s(this,"props",void 0),s(this,"canvas",void 0),s(this,"htmlCanvas",void 0),s(this,"offscreenCanvas",void 0),s(this,"type",void 0),s(this,"width",1),s(this,"height",1),s(this,"resizeObserver",void 0),s(this,"_canvasSizeInfo",{clientWidth:0,clientHeight:0,devicePixelRatio:1}),this.props=Qn(Qn({},No),t),t=this.props,!q()){this.id="node-canvas-context",this.type="node",this.width=this.props.width,this.height=this.props.height,this.canvas=null;return}if(t.canvas)typeof t.canvas=="string"?this.canvas=bo(t.canvas):this.canvas=t.canvas;else{var n,i,o=Po(t),u=Io(((n=t)===null||n===void 0?void 0:n.container)||null);u.insertBefore(o,u.firstChild),this.canvas=o,(i=t)!==null&&i!==void 0&&i.visible||(this.canvas.style.visibility="hidden")}this.canvas instanceof HTMLCanvasElement?(this.id=this.canvas.id,this.type="html-canvas",this.htmlCanvas=this.canvas):(this.id="offscreen-canvas",this.type="offscreen-canvas",this.offscreenCanvas=this.canvas),this.canvas instanceof HTMLCanvasElement&&t.autoResize&&(this.resizeObserver=new ResizeObserver(function(_){var f=go(_),E;try{for(f.s();!(E=f.n()).done;){var c=E.value;c.target===r.canvas&&r.update()}}catch(l){f.e(l)}finally{f.f()}}),this.resizeObserver.observe(this.canvas))}return b(e,[{key:"getDevicePixelRatio",value:function(r){return typeof OffscreenCanvas<"u"&&this.canvas instanceof OffscreenCanvas?1:typeof r=="number"?r>0?r:1:typeof this.props.useDevicePixels=="number"?this.props.useDevicePixels>0?this.props.useDevicePixels:1:(r||this.props.useDevicePixels)&&typeof window<"u"&&window.devicePixelRatio||1}},{key:"getPixelSize",value:function(){switch(this.type){case"node":return[this.width,this.height];case"offscreen-canvas":return[this.canvas.width,this.canvas.height];case"html-canvas":var r=this.getDevicePixelRatio(),n=this.canvas;return n.parentElement?[n.clientWidth*r,n.clientHeight*r]:[this.canvas.width,this.canvas.height];default:throw new Error(this.type)}}},{key:"getAspect",value:function(){var r=this.getPixelSize(),n=L(r,2),i=n[0],o=n[1];return i/o}},{key:"cssToDeviceRatio",value:function(){try{var r=this.getDrawingBufferSize(),n=L(r,1),i=n[0],o=this._canvasSizeInfo.clientWidth;return o?i/o:1}catch{return 1}}},{key:"cssToDevicePixels",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,i=this.cssToDeviceRatio(),o=this.getDrawingBufferSize(),u=L(o,2),_=u[0],f=u[1];return yo(r,i,_,f,n)}},{key:"setDevicePixelRatio",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.htmlCanvas){var i="width"in n?n.width:this.htmlCanvas.clientWidth,o="height"in n?n.height:this.htmlCanvas.clientHeight;(!i||!o)&&(P.log(1,"Canvas clientWidth/clientHeight is 0")(),r=1,i=this.htmlCanvas.width||1,o=this.htmlCanvas.height||1);var u=this._canvasSizeInfo;if(u.clientWidth!==i||u.clientHeight!==o||u.devicePixelRatio!==r){var _=r,f=Math.floor(i*_),E=Math.floor(o*_);this.htmlCanvas.width=f,this.htmlCanvas.height=E;var c=this.getDrawingBufferSize(),l=L(c,2),R=l[0],d=l[1];(R!==f||d!==E)&&(_=Math.min(R/i,d/o),this.htmlCanvas.width=Math.floor(i*_),this.htmlCanvas.height=Math.floor(o*_),P.warn("Device pixel ratio clamped")()),this._canvasSizeInfo.clientWidth=i,this._canvasSizeInfo.clientHeight=o,this._canvasSizeInfo.devicePixelRatio=r}}}},{key:"getDrawingBufferSize",value:function(){var r=this.device.gl;if(!r)throw new Error("canvas size");return[r.drawingBufferWidth,r.drawingBufferHeight]}},{key:"_setAutoCreatedCanvasId",value:function(r){var n;((n=this.htmlCanvas)===null||n===void 0?void 0:n.id)==="lumagl-auto-created-canvas"&&(this.htmlCanvas.id=r)}}],[{key:"isPageLoaded",get:function(){return Gt()}}]),e}();s(ot,"pageLoaded",Co());function Co(){return Gt()||typeof window>"u"?Promise.resolve():new Promise(function(e){window.addEventListener("load",function(){return e()})})}function Io(e){if(typeof e=="string"){var t=document.getElementById(e);if(!t&&!Gt())throw new Error("Accessing '".concat(e,"' before page was loaded"));if(!t)throw new Error("".concat(e," is not an HTML element"));return t}else if(e)return e;return document.body}function bo(e){var t=document.getElementById(e);if(!t&&!Gt())throw new Error("Accessing '".concat(e,"' before page was loaded"));if(!(t instanceof HTMLCanvasElement))throw new Error("'".concat(t,"' is not a canvas element"));return t}function Po(e){var t=e.width,r=e.height,n=document.createElement("canvas");return n.id="lumagl-auto-created-canvas",n.width=t||1,n.height=r||1,n.style.width=Number.isFinite(t)?"".concat(t,"px"):"100%",n.style.height=Number.isFinite(r)?"".concat(r,"px"):"100%",n}function yo(e,t,r,n,i){var o=e,u=qn(o[0],t,r),_=Jn(o[1],t,n,i),f=qn(o[0]+1,t,r),E=f===r-1?f:f-1;f=Jn(o[1]+1,t,n,i);var c;return i?(f=f===0?f:f+1,c=_,_=f):c=f===n-1?f:f-1,{x:u,y:_,width:Math.max(E-u+1,1),height:Math.max(c-_+1,1)}}function qn(e,t,r){var n=Math.min(Math.round(e*t),r-1);return n}function Jn(e,t,r,n){return n?Math.max(0,r-1-Math.round(e*t)):Math.min(Math.round(e*t),r-1)}var ri;function Fo(e){var t=Bo();return function(){var n=v(e),i;if(t){var o=v(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return w(this,i)}}function Bo(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function ei(e,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 ti(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ei(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ei(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Mo=ti(ti({},se),{},{data:null,dimension:"2d",format:"rgba8unorm",depth:1,mipmaps:!0,sampler:{},compressed:!1,usage:0,parameters:{},pixelStore:{},pixels:null,border:0,recreate:!1});ri=Symbol.toStringTag;var Ne=function(e){x(r,e);var t=Fo(r);function r(n,i){var o;return I(this,r),o=t.call(this,n,i,Mo),s(A(o),"sampler",void 0),o}return b(r,[{key:ri,get:function(){return"Texture"}}]),r}(ie);s(Ne,"COPY_SRC",1);s(Ne,"COPY_DST",2);s(Ne,"TEXTURE_BINDING",4);s(Ne,"STORAGE_BINDING",8);s(Ne,"RENDER_ATTACHMENT",16);var ai;function Do(e){var t=Uo();return function(){var n=v(e),i;if(t){var o=v(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return w(this,i)}}function Uo(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function ni(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 ii(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ni(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ni(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var xo=ii(ii({},se),{},{stage:"vertex",source:"",sourceMap:null,language:"glsl",shaderType:0});ai=Symbol.toStringTag;var Ir=function(e){x(r,e);var t=Do(r);function r(n,i){var o;return I(this,r),o=t.call(this,n,i,xo),s(A(o),"stage",void 0),s(A(o),"source",void 0),o.stage=o.props.stage,o.source=o.props.source,o}return b(r,[{key:ai,get:function(){return"Shader"}}]),r}(ie);function wo(e){var t=Xo();return function(){var n=v(e),i;if(t){var o=v(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return w(this,i)}}function Xo(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function oi(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 si(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?oi(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):oi(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Ho=si(si({},se),{},{type:"color-sampler",addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge",addressModeW:"clamp-to-edge",magFilter:"nearest",minFilter:"nearest",mipmapFilter:"nearest",lodMinClamp:0,lodMaxClamp:32,compare:"less-equal",maxAnisotropy:1}),br=function(e,t){x(n,e);var r=wo(n);function n(i,o){return I(this,n),r.call(this,i,o,Ho)}return b(n,[{key:t,get:function(){return"Sampler"}}]),n}(ie,Symbol.toStringTag);var fi;function Wo(e){var t=Lo();return function(){var n=v(e),i;if(t){var o=v(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return w(this,i)}}function Lo(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function ui(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 _i(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ui(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ui(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Vo=_i(_i({},se),{},{width:1,height:1,colorAttachments:[],depthStencilAttachment:null});fi=Symbol.toStringTag;var Pr=function(e){x(r,e);var t=Wo(r);function r(n){var i,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return I(this,r),i=t.call(this,n,o,Vo),s(A(i),"width",void 0),s(A(i),"height",void 0),s(A(i),"colorAttachments",void 0),s(A(i),"depthStencilAttachment",void 0),i.width=i.props.width,i.height=i.props.height,i}return b(r,[{key:fi,get:function(){return"Framebuffer"}},{key:"resize",value:function(i){var o=!i||i.height!==this.height||i.width!==this.width;i&&(this.width=i?.width,this.height=i?.height),o&&this._resizeAttachments(this.width,this.height)}}]),r}(ie);var li;function ko(e){var t=Ko();return function(){var n=v(e),i;if(t){var o=v(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return w(this,i)}}function Ko(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Ei(e,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 ci(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ei(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ei(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Ri=ci(ci({},se),{},{vs:null,vsEntryPoint:"",vsConstants:{},fs:null,fsEntryPoint:"",fsConstants:{},layout:null,topology:"triangle-list",parameters:{},bufferMap:[],vertexCount:0,instanceCount:0,indices:null,attributes:{},bindings:{},uniforms:{}});li=Symbol.toStringTag;var Zt=function(e){x(r,e);var t=ko(r);function r(n,i){var o;return I(this,r),o=t.call(this,n,i,Ri),s(A(o),"hash",""),s(A(o),"vs",void 0),s(A(o),"fs",void 0),o}return b(r,[{key:li,get:function(){return"RenderPipeline"}}]),r}(ie);s(Zt,"_DEFAULT_PROPS",Ri);function jo(e){var t=Yo();return function(){var n=v(e),i;if(t){var o=v(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return w(this,i)}}function Yo(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Ai(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 zo(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ai(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ai(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Go=zo({},se),yr=function(e,t){x(n,e);var r=jo(n);function n(i){return I(this,n),r.call(this,i,Go)}return b(n,[{key:t,get:function(){return"CommandEncoder"}},{key:"pushDebugGroup",value:function(o){}},{key:"popDebugGroup",value:function(){}},{key:"insertDebugMarker",value:function(o){}}]),n}(ie,Symbol.toStringTag);function Zo(e){var t=$o();return function(){var n=v(e),i;if(t){var o=v(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return w(this,i)}}function $o(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Ti(e,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 di(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ti(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ti(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Qo=di(di({},se),{},{framebuffer:null,parameters:null}),Fr=function(e,t){x(n,e);var r=Zo(n);function n(i,o){return I(this,n),r.call(this,i,o,Qo)}return b(n,[{key:t,get:function(){return"RenderPass"}}]),n}(ie,Symbol.toStringTag);function U(e,t){if(!e)throw new Error(t||"luma.gl: assertion failed.")}function $t(e){var t=pi[e],r=qo(t),n=!e.startsWith("float"),i=e.includes("norm"),o=e.startsWith("s");return{dataType:pi[e],byteLength:r,integer:n,signed:o,normalized:i}}function qo(e){var t=Jo[e];return t}var pi={uint8:"uint8",sint8:"sint8",unorm8:"uint8",snorm8:"sint8",uint16:"uint16",sint16:"sint16",unorm16:"uint16",snorm16:"sint16",float16:"float16",float32:"float32",uint32:"uint32",sint32:"sint32"},Jo={uint8:1,sint8:1,uint16:2,sint16:2,float16:2,float32:4,uint32:4,sint32:4};function Br(e){var t=e.split("x"),r=L(t,2),n=r[0],i=r[1],o=n,u=i?parseInt(i):1,_=$t(o);return{type:o,components:u,byteLength:_.byteLength*u,integer:_.integer,signed:_.signed,normalized:_.normalized}}function mi(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 es(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?mi(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):mi(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var ts=/^(rg?b?a?)([0-9]*)([a-z]*)(-srgb)?(-webgl|-unsized)?$/;function Qt(e){var t=ts.exec(e);if(t){var r=L(t,6),n=r[1],i=r[2],o=r[3],u=r[4],_=r[5];if(n){var f="".concat(o).concat(i),E=$t(f);return es({format:n,components:0,srgb:u==="-srgb",unsized:_==="-unsized",webgl:_==="-webgl"},E)}}throw new Error("Unknown format ".concat(e))}function Mr(e,t,r,n){var i="See luma.gl ".concat(r," Upgrade Guide at https://luma.gl/docs/upgrade-guide"),o=Object.getPrototypeOf(e);n.forEach(function(u){o.methodName||(o[u]=function(){throw P.removed("Calling removed method ".concat(t,".").concat(u,": "),i)(),new Error(u)})})}function je(e,t,r){var n=r.removedProps,i=n===void 0?{}:n,o=r.deprecatedProps,u=o===void 0?{}:o,_=r.replacedProps,f=_===void 0?{}:_;for(var E in i)if(E in t){var c=i[E],l=c?"".concat(e,".").concat(i[E]):"N/A";P.removed("".concat(e,".").concat(E),l)()}for(var R in u)if(R in t){var d=u[R];P.deprecated("".concat(e,".").concat(R),"".concat(e,".").concat(d))()}for(var h=null,g=0,N=Object.entries(f);g<N.length;g++){var C=L(N[g],2),F=C[0],B=C[1];F in t&&(P.deprecated("".concat(e,".").concat(F),"".concat(e,".").concat(B))(),h=h||Object.assign({},t),h[B]=t[F],delete h[F])}return h||t}var Ot=He(we(),1),rs="";function xr(e,t){return Dr.apply(this,arguments)}function Dr(){return Dr=oe(Ot.default.mark(function e(t,r){return Ot.default.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.abrupt("return",new Promise(function(o,u){try{var _=new Image;_.onload=function(){return o(_)},_.onerror=function(){return u(new Error("Could not load image ".concat(t,".")))},_.crossOrigin=r?.crossOrigin||"anonymous",_.src=t.startsWith("http")?t:rs+t}catch(f){u(f)}}));case 1:case"end":return i.stop()}},e)})),Dr.apply(this,arguments)}function vt(e,t){return Ur.apply(this,arguments)}function Ur(){return Ur=oe(Ot.default.mark(function e(t,r){var n,i;return Ot.default.wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(n=document.getElementsByTagName("head")[0],n){u.next=3;break}throw new Error("loadScript");case 3:return i=document.createElement("script"),i.setAttribute("type","text/javascript"),i.setAttribute("src",t),r&&(i.id=r),u.abrupt("return",new Promise(function(_,f){i.onload=_,i.onerror=function(E){return f(new Error("Unable to load script '".concat(t,"': ").concat(E)))},n.appendChild(i)}));case 8:case"end":return u.stop()}},e)})),Ur.apply(this,arguments)}function ns(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=is(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(E){throw E},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
10
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,u=!1,_;return{s:function(){r=r.call(e)},n:function(){var E=r.next();return o=E.done,E},e:function(E){u=!0,_=E},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(u)throw _}}}}function is(e,t){if(e){if(typeof e=="string")return hi(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 hi(e,t)}}function hi(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 wr(e,t,r){var n=t.split(/\r?\n/),i="",o=ns(e),u;try{for(o.s();!(u=o.n()).done;){var _=u.value;i+=as(_,n,_.lineNum,r)}}catch(f){o.e(f)}finally{o.f()}return i}function as(e,t,r,n){if(n!=null&&n.showSourceCode){var i=e.linePos>0?"".concat(" ".repeat(e.linePos+5),`^^^
11
- `):"",o=os(t,r);return"".concat(o).concat(i).concat(e.type.toUpperCase(),": ").concat(e.message,`
7
+ var __exports__=(()=>{var Qi=Object.create;var Vt=Object.defineProperty;var qi=Object.getOwnPropertyDescriptor;var Ji=Object.getOwnPropertyNames;var eo=Object.getPrototypeOf,to=Object.prototype.hasOwnProperty;var Nr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ro=(e,t)=>{for(var r in t)Vt(e,r,{get:t[r],enumerable:!0})},Nn=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of Ji(t))!to.call(e,a)&&a!==r&&Vt(e,a,{get:()=>t[a],enumerable:!(n=qi(t,a))||n.enumerable});return e};var Le=(e,t,r)=>(r=e!=null?Qi(eo(e)):{},Nn(t||!e||!e.__esModule?Vt(r,"default",{value:e,enumerable:!0}):r,e)),no=e=>Nn(Vt({},"__esModule",{value:!0}),e);var Mn=Nr((B_,Me)=>{function br(e){return Me.exports=br=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Me.exports.__esModule=!0,Me.exports.default=Me.exports,br(e)}Me.exports=br,Me.exports.__esModule=!0,Me.exports.default=Me.exports});var Un=Nr((M_,De)=>{var so=Mn().default;function Dn(){"use strict";De.exports=Dn=function(){return e},De.exports.__esModule=!0,De.exports.default=De.exports;var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(g,p,m){g[p]=m.value},a=typeof Symbol=="function"?Symbol:{},o=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",f=a.toStringTag||"@@toStringTag";function _(g,p,m){return Object.defineProperty(g,p,{value:m,enumerable:!0,configurable:!0,writable:!0}),g[p]}try{_({},"")}catch{_=function(m,F,x){return m[F]=x}}function E(g,p,m,F){var x=p&&p.prototype instanceof R?p:R,M=Object.create(x.prototype),K=new ee(F||[]);return n(M,"_invoke",{value:V(g,m,K)}),M}function c(g,p,m){try{return{type:"normal",arg:g.call(p,m)}}catch(F){return{type:"throw",arg:F}}}e.wrap=E;var l={};function R(){}function A(){}function h(){}var S={};_(S,o,function(){return this});var C=Object.getPrototypeOf,v=C&&C(C(Ee([])));v&&v!==t&&r.call(v,o)&&(S=v);var B=h.prototype=R.prototype=Object.create(S);function b(g){["next","throw","return"].forEach(function(p){_(g,p,function(m){return this._invoke(p,m)})})}function X(g,p){function m(x,M,K,re){var Q=c(g[x],g,M);if(Q.type!=="throw"){var Ae=Q.arg,ge=Ae.value;return ge&&so(ge)=="object"&&r.call(ge,"__await")?p.resolve(ge.__await).then(function(Be){m("next",Be,K,re)},function(Be){m("throw",Be,K,re)}):p.resolve(ge).then(function(Be){Ae.value=Be,K(Ae)},function(Be){return m("throw",Be,K,re)})}re(Q.arg)}var F;n(this,"_invoke",{value:function(M,K){function re(){return new p(function(Q,Ae){m(M,K,Q,Ae)})}return F=F?F.then(re,re):re()}})}function V(g,p,m){var F="suspendedStart";return function(x,M){if(F==="executing")throw new Error("Generator is already running");if(F==="completed"){if(x==="throw")throw M;return G()}for(m.method=x,m.arg=M;;){var K=m.delegate;if(K){var re=z(K,m);if(re){if(re===l)continue;return re}}if(m.method==="next")m.sent=m._sent=m.arg;else if(m.method==="throw"){if(F==="suspendedStart")throw F="completed",m.arg;m.dispatchException(m.arg)}else m.method==="return"&&m.abrupt("return",m.arg);F="executing";var Q=c(g,p,m);if(Q.type==="normal"){if(F=m.done?"completed":"suspendedYield",Q.arg===l)continue;return{value:Q.arg,done:m.done}}Q.type==="throw"&&(F="completed",m.method="throw",m.arg=Q.arg)}}}function z(g,p){var m=p.method,F=g.iterator[m];if(F===void 0)return p.delegate=null,m==="throw"&&g.iterator.return&&(p.method="return",p.arg=void 0,z(g,p),p.method==="throw")||m!=="return"&&(p.method="throw",p.arg=new TypeError("The iterator does not provide a '"+m+"' method")),l;var x=c(F,g.iterator,p.arg);if(x.type==="throw")return p.method="throw",p.arg=x.arg,p.delegate=null,l;var M=x.arg;return M?M.done?(p[g.resultName]=M.value,p.next=g.nextLoc,p.method!=="return"&&(p.method="next",p.arg=void 0),p.delegate=null,l):M:(p.method="throw",p.arg=new TypeError("iterator result is not an object"),p.delegate=null,l)}function k(g){var p={tryLoc:g[0]};1 in g&&(p.catchLoc=g[1]),2 in g&&(p.finallyLoc=g[2],p.afterLoc=g[3]),this.tryEntries.push(p)}function ae(g){var p=g.completion||{};p.type="normal",delete p.arg,g.completion=p}function ee(g){this.tryEntries=[{tryLoc:"root"}],g.forEach(k,this),this.reset(!0)}function Ee(g){if(g){var p=g[o];if(p)return p.call(g);if(typeof g.next=="function")return g;if(!isNaN(g.length)){var m=-1,F=function x(){for(;++m<g.length;)if(r.call(g,m))return x.value=g[m],x.done=!1,x;return x.value=void 0,x.done=!0,x};return F.next=F}}return{next:G}}function G(){return{value:void 0,done:!0}}return A.prototype=h,n(B,"constructor",{value:h,configurable:!0}),n(h,"constructor",{value:A,configurable:!0}),A.displayName=_(h,f,"GeneratorFunction"),e.isGeneratorFunction=function(g){var p=typeof g=="function"&&g.constructor;return!!p&&(p===A||(p.displayName||p.name)==="GeneratorFunction")},e.mark=function(g){return Object.setPrototypeOf?Object.setPrototypeOf(g,h):(g.__proto__=h,_(g,f,"GeneratorFunction")),g.prototype=Object.create(B),g},e.awrap=function(g){return{__await:g}},b(X.prototype),_(X.prototype,u,function(){return this}),e.AsyncIterator=X,e.async=function(g,p,m,F,x){x===void 0&&(x=Promise);var M=new X(E(g,p,m,F),x);return e.isGeneratorFunction(p)?M:M.next().then(function(K){return K.done?K.value:M.next()})},b(B),_(B,f,"Generator"),_(B,o,function(){return this}),_(B,"toString",function(){return"[object Generator]"}),e.keys=function(g){var p=Object(g),m=[];for(var F in p)m.push(F);return m.reverse(),function x(){for(;m.length;){var M=m.pop();if(M in p)return x.value=M,x.done=!1,x}return x.done=!0,x}},e.values=Ee,ee.prototype={constructor:ee,reset:function(p){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(ae),!p)for(var m in this)m.charAt(0)==="t"&&r.call(this,m)&&!isNaN(+m.slice(1))&&(this[m]=void 0)},stop:function(){this.done=!0;var p=this.tryEntries[0].completion;if(p.type==="throw")throw p.arg;return this.rval},dispatchException:function(p){if(this.done)throw p;var m=this;function F(Ae,ge){return K.type="throw",K.arg=p,m.next=Ae,ge&&(m.method="next",m.arg=void 0),!!ge}for(var x=this.tryEntries.length-1;x>=0;--x){var M=this.tryEntries[x],K=M.completion;if(M.tryLoc==="root")return F("end");if(M.tryLoc<=this.prev){var re=r.call(M,"catchLoc"),Q=r.call(M,"finallyLoc");if(re&&Q){if(this.prev<M.catchLoc)return F(M.catchLoc,!0);if(this.prev<M.finallyLoc)return F(M.finallyLoc)}else if(re){if(this.prev<M.catchLoc)return F(M.catchLoc,!0)}else{if(!Q)throw new Error("try statement without catch or finally");if(this.prev<M.finallyLoc)return F(M.finallyLoc)}}}},abrupt:function(p,m){for(var F=this.tryEntries.length-1;F>=0;--F){var x=this.tryEntries[F];if(x.tryLoc<=this.prev&&r.call(x,"finallyLoc")&&this.prev<x.finallyLoc){var M=x;break}}M&&(p==="break"||p==="continue")&&M.tryLoc<=m&&m<=M.finallyLoc&&(M=null);var K=M?M.completion:{};return K.type=p,K.arg=m,M?(this.method="next",this.next=M.finallyLoc,l):this.complete(K)},complete:function(p,m){if(p.type==="throw")throw p.arg;return p.type==="break"||p.type==="continue"?this.next=p.arg:p.type==="return"?(this.rval=this.arg=p.arg,this.method="return",this.next="end"):p.type==="normal"&&m&&(this.next=m),l},finish:function(p){for(var m=this.tryEntries.length-1;m>=0;--m){var F=this.tryEntries[m];if(F.finallyLoc===p)return this.complete(F.completion,F.afterLoc),ae(F),l}},catch:function(p){for(var m=this.tryEntries.length-1;m>=0;--m){var F=this.tryEntries[m];if(F.tryLoc===p){var x=F.completion;if(x.type==="throw"){var M=x.arg;ae(F)}return M}}throw new Error("illegal catch attempt")},delegateYield:function(p,m,F){return this.delegate={iterator:Ee(p),resultName:m,nextLoc:F},this.method==="next"&&(this.arg=void 0),l}},e}De.exports=Dn,De.exports.__esModule=!0,De.exports.default=De.exports});var Xe=Nr((D_,xn)=>{var Kt=Un()();xn.exports=Kt;try{regeneratorRuntime=Kt}catch{typeof globalThis=="object"?globalThis.regeneratorRuntime=Kt:Function("r","regeneratorRuntime = r")(Kt)}});var u_={};ro(u_,{Accessor:()=>Se,Buffer:()=>Lt,ClassicBuffer:()=>Lt,WEBGLBuffer:()=>me,WEBGLCommandEncoder:()=>Or,WEBGLFramebuffer:()=>At,WEBGLRenderPass:()=>mr,WEBGLRenderPipeline:()=>gr,WEBGLRenderbuffer:()=>Tt,WEBGLResource:()=>Je,WEBGLSampler:()=>qe,WEBGLShader:()=>pr,WEBGLTexture:()=>he,WEBGLVertexArrayObject:()=>Sr,WebGLCanvasContext:()=>Ar,WebGLDevice:()=>ce,WebGLResource:()=>Je,_TEXTURE_FORMATS:()=>$e,_checkFloat32ColorAttachment:()=>fr,assertWebGL2Context:()=>ut,assertWebGLContext:()=>nr,convertGLToTextureFormat:()=>Qe,getParameters:()=>or,getProgramBindings:()=>On,getShaderLayout:()=>hr,getWebGL2Context:()=>yt,isWebGL:()=>Kr,isWebGL2:()=>L,polyfillContext:()=>ir,popContextState:()=>be,pushContextState:()=>xe,registerHeadlessGL:()=>In,resetParameters:()=>La,setDeviceParameters:()=>an,setParameters:()=>Ue,trackContextState:()=>Mt,withDeviceParameters:()=>Er,withParameters:()=>Pe});function fe(e){return fe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},fe(e)}function Cr(e,t){if(fe(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(fe(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function mt(e){var t=Cr(e,"string");return fe(t)==="symbol"?t:String(t)}function s(e,t,r){return t=mt(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Cn(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function bn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Cn(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Cn(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var ao="Failed to create WebGL context in Node.js, headless gl returned null",io=" 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.",oo={width:1,height:1,debug:!0,throwOnError:!1},kt=null;function In(e){kt=e}function yn(){return kt!==null}function Pn(e){e=bn(bn({},oo),e);var t=e,r=t.width,n=t.height,a=t.webgl1,o=t.webgl2;if(o&&!a)throw new Error("headless-gl does not support WebGL2");if(!kt)throw new Error(io);var u=kt(r,n,e);if(!u)throw new Error(ao);return u}function Fn(e,t,r,n,a,o,u){try{var f=e[o](u),_=f.value}catch(E){r(E);return}f.done?t(_):Promise.resolve(_).then(n,a)}function se(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var o=e.apply(t,r);function u(_){Fn(o,n,a,u,f,"next",_)}function f(_){Fn(o,n,a,u,f,"throw",_)}u(void 0)})}}function I(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Bn(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,mt(n.key),n)}}function y(e,t,r){return t&&Bn(e.prototype,t),r&&Bn(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function T(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function We(e,t){return We=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,a){return n.__proto__=a,n},We(e,t)}function D(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&We(e,t)}function U(e,t){if(t&&(fe(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return T(e)}function O(e){return O=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},O(e)}var vn=Le(Xe(),1);function ht(e){if(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&Boolean(process.versions.electron))return!0;let t=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,r=e||t;return!!(r&&r.indexOf("Electron")>=0)}function q(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||ht()}var uo=globalThis.self||globalThis.window||globalThis.global,et=globalThis.window||globalThis.self||globalThis.global,fo=globalThis.document||{},Ve=globalThis.process||{},_o=globalThis.console,wn=globalThis.navigator||{};var jt=typeof __VERSION__<"u"?__VERSION__:"untranspiled source",L_=q();var Ir=globalThis;function Yt(e){if(!e&&!q())return"Node";if(ht(e))return"Electron";let t=e||wn.userAgent||"";if(t.indexOf("Edge")>-1)return"Edge";let r=t.indexOf("MSIE ")!==-1,n=t.indexOf("Trident/")!==-1;return r||n?"IE":Ir.chrome?"Chrome":Ir.safari?"Safari":Ir.mozInnerScreenX?"Firefox":"Unknown"}function Eo(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var zt=class{constructor(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";s(this,"storage",void 0),s(this,"id",void 0),s(this,"config",void 0),this.storage=Eo(n),this.id=t,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){if(Object.assign(this.config,t),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let t={};if(this.storage){let r=this.storage.getItem(this.id);t=r?JSON.parse(r):{}}return Object.assign(this.config,t),this}};function Xn(e){let t;return e<10?t="".concat(e.toFixed(2),"ms"):e<100?t="".concat(e.toFixed(1),"ms"):e<1e3?t="".concat(e.toFixed(0),"ms"):t="".concat((e/1e3).toFixed(2),"s"),t}function Hn(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(t-e.length,0);return"".concat(" ".repeat(r)).concat(e)}function Gt(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,a=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(r=Math.min(r,n/e.width));let o=e.width*r,u=e.height*r,f=["font-size:1px;","padding:".concat(Math.floor(u/2),"px ").concat(Math.floor(o/2),"px;"),"line-height:".concat(u,"px;"),"background:url(".concat(a,");"),"background-size:".concat(o,"px ").concat(u,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),f]}var Zt;(function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(Zt||(Zt={}));var co=10;function Ln(e){return typeof e!="string"?e:(e=e.toUpperCase(),Zt[e]||Zt.WHITE)}function Wn(e,t,r){if(!q&&typeof e=="string"){if(t){let n=Ln(t);e="\x1B[".concat(n,"m").concat(e,"\x1B[39m")}if(r){let n=Ln(r);e="\x1B[".concat(n+co,"m").concat(e,"\x1B[49m")}}return e}function Vn(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(r),a=e;for(let o of n){let u=a[o];typeof u=="function"&&(t.find(f=>o===f)||(a[o]=u.bind(e)))}}function tt(e,t){if(!e)throw new Error(t||"Assertion failed")}function ke(){let e;if(q()&&et.performance){var t,r;e=et===null||et===void 0||(t=et.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if("hrtime"in Ve){var n;let a=Ve===null||Ve===void 0||(n=Ve.hrtime)===null||n===void 0?void 0:n.call(Ve);e=a[0]*1e3+a[1]/1e6}else e=Date.now();return e}var rt={debug:q()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},lo={enabled:!0,level:0};function de(){}var kn={},Kn={once:!0},He=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};s(this,"id",void 0),s(this,"VERSION",jt),s(this,"_startTs",ke()),s(this,"_deltaTs",ke()),s(this,"_storage",void 0),s(this,"userData",{}),s(this,"LOG_THROTTLE_TIMEOUT",0),this.id=t,this.userData={},this._storage=new zt("__probe-".concat(this.id,"__"),lo),this.timeStamp("".concat(this.id," started")),Vn(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((ke()-this._startTs).toPrecision(10))}getDelta(){return Number((ke()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:t}),this}setLevel(t){return this._storage.setConfiguration({level:t}),this}get(t){return this._storage.config[t]}set(t,r){this._storage.setConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){tt(t,r)}warn(t){return this._getLogFunction(0,t,rt.warn,arguments,Kn)}error(t){return this._getLogFunction(0,t,rt.error,arguments)}deprecated(t,r){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(r,"` instead"))}removed(t,r){return this.error("`".concat(t,"` has been removed. Use `").concat(r,"` instead"))}probe(t,r){return this._getLogFunction(t,r,rt.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,rt.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,rt.debug||rt.info,arguments,Kn)}table(t,r,n){return r?this._getLogFunction(t,r,console.table||de,n&&[n],{tag:po(r)}):de}image(t){let{logLevel:r,priority:n,image:a,message:o="",scale:u=1}=t;return this._shouldLog(r||n)?q()?Ao({image:a,message:o,scale:u}):To({image:a,message:o,scale:u}):de}time(t,r){return this._getLogFunction(t,r,console.time?console.time:console.info)}timeEnd(t,r){return this._getLogFunction(t,r,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,r){return this._getLogFunction(t,r,console.timeStamp||de)}group(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},a=jn({logLevel:t,message:r,opts:n}),{collapsed:o}=n;return a.method=(o?console.groupCollapsed:console.group)||console.info,this._getLogFunction(a)}groupCollapsed(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(t,r,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||de)}withGroup(t,r,n){this.group(t,r)();try{n()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=Yn(t)}_getLogFunction(t,r,n,a,o){if(this._shouldLog(t)){o=jn({logLevel:t,message:r,args:a,opts:o}),n=n||o.method,tt(n),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=ke();let u=o.tag||o.message;if(o.once&&u)if(!kn[u])kn[u]=ke();else return de;return r=Ro(this.id,o.message,o),n.bind(console,r,...o.args)}return de}};s(He,"VERSION",jt);function Yn(e){if(!e)return 0;let t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return tt(Number.isFinite(t)&&t>=0),t}function jn(e){let{logLevel:t,message:r}=e;e.logLevel=Yn(t);let n=e.args?Array.from(e.args):[];for(;n.length&&n.shift()!==r;);switch(typeof t){case"string":case"function":r!==void 0&&n.unshift(r),e.message=t;break;case"object":Object.assign(e,t);break;default:}typeof e.message=="function"&&(e.message=e.message());let a=typeof e.message;return tt(a==="string"||a==="object"),Object.assign(e,{args:n},e.opts)}function Ro(e,t,r){if(typeof t=="string"){let n=r.time?Hn(Xn(r.total)):"";t=r.time?"".concat(e,": ").concat(n," ").concat(t):"".concat(e,": ").concat(t),t=Wn(t,r.color,r.background)}return t}function To(e){let{image:t,message:r="",scale:n=1}=e;return console.warn("removed"),de}function Ao(e){let{image:t,message:r="",scale:n=1}=e;if(typeof t=="string"){let o=new Image;return o.onload=()=>{let u=Gt(o,r,n);console.log(...u)},o.src=t,de}let a=t.nodeName||"";if(a.toLowerCase()==="img")return console.log(...Gt(t,r,n)),de;if(a.toLowerCase()==="canvas"){let o=new Image;return o.onload=()=>console.log(...Gt(o,r,n)),o.src=t.toDataURL(),de}return de}function po(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}var mE=new He({id:"@probe.gl/log"});var P=new He({id:"luma.gl"});function St(){let e;if(typeof window<"u"&&window.performance)e=window.performance.now();else if(typeof process<"u"&&process.hrtime){let t=process.hrtime();e=t[0]*1e3+t[1]/1e6}else e=Date.now();return e}var Ke=class{constructor(t,r){s(this,"name",void 0),s(this,"type",void 0),s(this,"sampleSize",1),s(this,"time",0),s(this,"count",0),s(this,"samples",0),s(this,"lastTiming",0),s(this,"lastSampleTime",0),s(this,"lastSampleCount",0),s(this,"_count",0),s(this,"_time",0),s(this,"_samples",0),s(this,"_startTime",0),s(this,"_timerPending",!1),this.name=t,this.type=r,this.reset()}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}setSampleSize(t){return this.sampleSize=t,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(t){return this._count+=t,this._samples++,this._checkSampling(),this}subtractCount(t){return this._count-=t,this._samples++,this._checkSampling(),this}addTime(t){return this._time+=t,this.lastTiming=t,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=St(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(St()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}};var nt=class{constructor(t){s(this,"id",void 0),s(this,"stats",{}),this.id=t.id,this.stats={},this._initializeStats(t.stats),Object.seal(this)}get(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"count";return this._getOrCreate({name:t,type:r})}get size(){return Object.keys(this.stats).length}reset(){for(let t of Object.values(this.stats))t.reset();return this}forEach(t){for(let r of Object.values(this.stats))t(r)}getTable(){let t={};return this.forEach(r=>{t[r.name]={time:r.time||0,count:r.count||0,average:r.getAverageTime()||0,hz:r.getHz()||0}}),t}_initializeStats(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).forEach(r=>this._getOrCreate(r))}_getOrCreate(t){let{name:r,type:n}=t,a=this.stats[r];return a||(t instanceof Ke?a=t:a=new Ke(r,n),this.stats[r]=a),a}};var mo=function(){function e(){I(this,e),s(this,"stats",new Map)}return y(e,[{key:"getStats",value:function(r){return this.get(r)}},{key:"get",value:function(r){return this.stats.has(r)||this.stats.set(r,new nt({id:r})),this.stats.get(r)}}]),e}(),$t=new mo;function ho(){var e=typeof __VERSION__<"u"?__VERSION__:"untranspiled source",t="set luma.log.level=1 (or higher) to trace rendering";if(globalThis.luma&&globalThis.luma.VERSION!==e)throw new Error("luma.gl - multiple VERSIONs detected: ".concat(globalThis.luma.VERSION," vs ").concat(e));return globalThis.luma||(q()&&P.log(1,"luma.gl ".concat(e," - ").concat(t))(),globalThis.luma=globalThis.luma||{VERSION:e,version:e,log:P,stats:$t}),e}var zn=ho();var yr={};function Oe(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"id";yr[e]=yr[e]||1;var t=yr[e]++;return"".concat(e,"-").concat(t)}function Qt(e){return e>0&&(e&e-1)===0}function at(e){var t=!0;for(var r in e){t=!1;break}return t}function Gn(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function So(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Gn(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Gn(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var ie={id:"undefined",handle:void 0,userData:void 0},J=function(){function e(t,r,n){if(I(this,e),s(this,"id",void 0),s(this,"props",void 0),s(this,"userData",{}),s(this,"device",void 0),s(this,"_device",void 0),s(this,"destroyed",!1),s(this,"allocatedBytes",0),s(this,"_attachedResources",new Set),!t)throw new Error("no device");this._device=t,this.props=go(r,n);var a=this.props.id!=="undefined"?this.props.id:Oe(this[Symbol.toStringTag]);this.props.id=a,this.id=a,this.userData=this.props.userData||{},this.addStats()}return y(e,[{key:"destroy",value:function(){this.destroyResource()}},{key:"delete",value:function(){return this.destroy(),this}},{key:"toString",value:function(){return"".concat(this[Symbol.toStringTag]||this.constructor.name,"(").concat(this.id,")")}},{key:"getProps",value:function(){return this.props}},{key:"attachResource",value:function(r){this._attachedResources.add(r)}},{key:"detachResource",value:function(r){this._attachedResources.delete(r)}},{key:"destroyAttachedResource",value:function(r){this._attachedResources.delete(r)&&r.destroy()}},{key:"destroyAttachedResources",value:function(){for(var r=0,n=Object.values(this._attachedResources);r<n.length;r++){var a=n[r];a.destroy()}this._attachedResources=new Set}},{key:"destroyResource",value:function(){this.destroyAttachedResources(),this.removeStats(),this.destroyed=!0}},{key:"removeStats",value:function(){var r=this._device.statsManager.getStats("Resource Counts"),n=this[Symbol.toStringTag];r.get("".concat(n,"s Active")).decrementCount()}},{key:"trackAllocatedMemory",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this[Symbol.toStringTag],a=this._device.statsManager.getStats("Resource Counts");a.get("GPU Memory").addCount(r),a.get("".concat(n," Memory")).addCount(r),this.allocatedBytes=r}},{key:"trackDeallocatedMemory",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this[Symbol.toStringTag],n=this._device.statsManager.getStats("Resource Counts");n.get("GPU Memory").subtractCount(this.allocatedBytes),n.get("".concat(r," Memory")).subtractCount(this.allocatedBytes),this.allocatedBytes=0}},{key:"addStats",value:function(){var r=this._device.statsManager.getStats("Resource Counts"),n=this[Symbol.toStringTag];r.get("Resources Created").incrementCount(),r.get("".concat(n,"s Created")).incrementCount(),r.get("".concat(n,"s Active")).incrementCount()}}]),e}();s(J,"defaultProps",ie);function go(e,t){var r=So({},t);for(var n in e)e[n]!==void 0&&(r[n]=e[n]);return r}var $n;function Oo(e){var t=vo();return function(){var n=O(e),a;if(t){var o=O(this).constructor;a=Reflect.construct(n,arguments,o)}else a=n.apply(this,arguments);return U(this,a)}}function vo(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Zn(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Pr(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Zn(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Zn(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var No=Pr(Pr({},ie),{},{usage:0,byteLength:0,byteOffset:0,data:null,indexType:"uint16",mappedAtCreation:!1});$n=Symbol.toStringTag;var ne=function(e){D(r,e);var t=Oo(r);function r(n,a){var o;I(this,r);var u=Pr({},a);return(a.usage||0)&r.INDEX&&!a.indexType&&(a.data instanceof Uint32Array?u.indexType="uint32":a.data instanceof Uint16Array&&(u.indexType="uint16")),o=t.call(this,n,u,No),s(T(o),"byteLength",void 0),o}return y(r,[{key:$n,get:function(){return"Buffer"}},{key:"write",value:function(a,o){throw new Error("not implemented")}},{key:"readAsync",value:function(a,o){throw new Error("not implemented")}},{key:"getData",value:function(){throw new Error("not implemented")}}]),r}(J);s(ne,"MAP_READ",1);s(ne,"MAP_WRITE",2);s(ne,"COPY_SRC",4);s(ne,"COPY_DST",8);s(ne,"INDEX",16);s(ne,"VERTEX",32);s(ne,"UNIFORM",64);s(ne,"STORAGE",128);s(ne,"INDIRECT",256);s(ne,"QUERY_RESOLVE",512);var qn;function Qn(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Fr(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Qn(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Qn(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Co={id:null,type:"best-available",canvas:null,container:null,webgl2:!0,webgl1:!0,manageState:!0,width:800,height:600,debug:Boolean(P.get("debug")),break:[],gl:null};qn=Symbol.toStringTag;var gt=function(){function e(t){I(this,e),s(this,"id",void 0),s(this,"statsManager",$t),s(this,"props",void 0),s(this,"userData",{}),s(this,"info",void 0),s(this,"lost",void 0),s(this,"canvasContext",void 0),this.props=Fr(Fr({},Co),t),this.id=this.props.id||Oe(this[Symbol.toStringTag].toLowerCase())}return y(e,[{key:qn,get:function(){return"Device"}},{key:"loseDevice",value:function(){return!1}},{key:"createTexture",value:function(r){return(r instanceof Promise||typeof r=="string")&&(r={data:r}),this._createTexture(r)}},{key:"createCommandEncoder",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};throw new Error("not implemented")}},{key:"_getBufferProps",value:function(r){if(r instanceof ArrayBuffer||ArrayBuffer.isView(r))return{data:r};var n=Fr({},r);return(r.usage||0)&ne.INDEX&&!r.indexType&&(r.data instanceof Uint32Array?r.indexType="uint32":r.data instanceof Uint16Array&&(r.indexType="uint16")),n}}]),e}();s(gt,"VERSION",zn);function Ot(e){if(Array.isArray(e))return e}function Br(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,a,o,u,f=[],_=!0,E=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;_=!1}else for(;!(_=(n=o.call(r)).done)&&(f.push(n.value),f.length!==t);_=!0);}catch(c){E=!0,a=c}finally{try{if(!_&&r.return!=null&&(u=r.return(),Object(u)!==u))return}finally{if(E)throw a}}return f}}function it(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function je(e,t){if(e){if(typeof e=="string")return it(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 it(e,t)}}function vt(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
8
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function H(e,t){return Ot(e)||Br(e,t)||je(e,t)||vt()}function bo(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Io(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(E){throw E},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
9
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,u=!1,f;return{s:function(){r=r.call(e)},n:function(){var E=r.next();return o=E.done,E},e:function(E){u=!0,f=E},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(u)throw f}}}}function Io(e,t){if(e){if(typeof e=="string")return Jn(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 Jn(e,t)}}function Jn(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 ea(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function ta(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ea(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ea(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var yo=q()&&typeof document<"u",qt=function(){return yo&&document.readyState==="complete"},Po={canvas:null,width:800,height:600,useDevicePixels:!0,autoResize:!0,container:null,visible:!0,colorSpace:"srgb",alphaMode:"opaque"},ot=function(){function e(t){var r=this;if(I(this,e),s(this,"device",void 0),s(this,"id",void 0),s(this,"props",void 0),s(this,"canvas",void 0),s(this,"htmlCanvas",void 0),s(this,"offscreenCanvas",void 0),s(this,"type",void 0),s(this,"width",1),s(this,"height",1),s(this,"resizeObserver",void 0),s(this,"_canvasSizeInfo",{clientWidth:0,clientHeight:0,devicePixelRatio:1}),this.props=ta(ta({},Po),t),t=this.props,!q()){this.id="node-canvas-context",this.type="node",this.width=this.props.width,this.height=this.props.height,this.canvas=null;return}if(t.canvas)typeof t.canvas=="string"?this.canvas=Mo(t.canvas):this.canvas=t.canvas;else{var n,a,o=Do(t),u=Bo(((n=t)===null||n===void 0?void 0:n.container)||null);u.insertBefore(o,u.firstChild),this.canvas=o,(a=t)!==null&&a!==void 0&&a.visible||(this.canvas.style.visibility="hidden")}this.canvas instanceof HTMLCanvasElement?(this.id=this.canvas.id,this.type="html-canvas",this.htmlCanvas=this.canvas):(this.id="offscreen-canvas",this.type="offscreen-canvas",this.offscreenCanvas=this.canvas),this.canvas instanceof HTMLCanvasElement&&t.autoResize&&(this.resizeObserver=new ResizeObserver(function(f){var _=bo(f),E;try{for(_.s();!(E=_.n()).done;){var c=E.value;c.target===r.canvas&&r.update()}}catch(l){_.e(l)}finally{_.f()}}),this.resizeObserver.observe(this.canvas))}return y(e,[{key:"getDevicePixelRatio",value:function(r){if(typeof OffscreenCanvas<"u"&&this.canvas instanceof OffscreenCanvas||(r=r===void 0?this.props.useDevicePixels:r,!r||r<=0))return 1;if(r===!0){var n=typeof window<"u"&&window.devicePixelRatio;return n||1}return r}},{key:"getPixelSize",value:function(){switch(this.type){case"node":return[this.width,this.height];case"offscreen-canvas":return[this.canvas.width,this.canvas.height];case"html-canvas":var r=this.getDevicePixelRatio(),n=this.canvas;return n.parentElement?[n.clientWidth*r,n.clientHeight*r]:[this.canvas.width,this.canvas.height];default:throw new Error(this.type)}}},{key:"getAspect",value:function(){var r=this.getPixelSize(),n=H(r,2),a=n[0],o=n[1];return a/o}},{key:"cssToDeviceRatio",value:function(){try{var r=this.getDrawingBufferSize(),n=H(r,1),a=n[0],o=this._canvasSizeInfo.clientWidth;return o?a/o:1}catch{return 1}}},{key:"cssToDevicePixels",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,a=this.cssToDeviceRatio(),o=this.getDrawingBufferSize(),u=H(o,2),f=u[0],_=u[1];return Uo(r,a,f,_,n)}},{key:"setDevicePixelRatio",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.htmlCanvas){var a="width"in n?n.width:this.htmlCanvas.clientWidth,o="height"in n?n.height:this.htmlCanvas.clientHeight;(!a||!o)&&(P.log(1,"Canvas clientWidth/clientHeight is 0")(),r=1,a=this.htmlCanvas.width||1,o=this.htmlCanvas.height||1);var u=this._canvasSizeInfo;if(u.clientWidth!==a||u.clientHeight!==o||u.devicePixelRatio!==r){var f=r,_=Math.floor(a*f),E=Math.floor(o*f);this.htmlCanvas.width=_,this.htmlCanvas.height=E;var c=this.getDrawingBufferSize(),l=H(c,2),R=l[0],A=l[1];(R!==_||A!==E)&&(f=Math.min(R/a,A/o),this.htmlCanvas.width=Math.floor(a*f),this.htmlCanvas.height=Math.floor(o*f),P.warn("Device pixel ratio clamped")()),this._canvasSizeInfo.clientWidth=a,this._canvasSizeInfo.clientHeight=o,this._canvasSizeInfo.devicePixelRatio=r}}}},{key:"getDrawingBufferSize",value:function(){var r=this.device.gl;if(!r)throw new Error("canvas size");return[r.drawingBufferWidth,r.drawingBufferHeight]}},{key:"_setAutoCreatedCanvasId",value:function(r){var n;((n=this.htmlCanvas)===null||n===void 0?void 0:n.id)==="lumagl-auto-created-canvas"&&(this.htmlCanvas.id=r)}}],[{key:"isPageLoaded",get:function(){return qt()}}]),e}();s(ot,"pageLoaded",Fo());function Fo(){return qt()||typeof window>"u"?Promise.resolve():new Promise(function(e){window.addEventListener("load",function(){return e()})})}function Bo(e){if(typeof e=="string"){var t=document.getElementById(e);if(!t&&!qt())throw new Error("Accessing '".concat(e,"' before page was loaded"));if(!t)throw new Error("".concat(e," is not an HTML element"));return t}else if(e)return e;return document.body}function Mo(e){var t=document.getElementById(e);if(!t&&!qt())throw new Error("Accessing '".concat(e,"' before page was loaded"));if(!(t instanceof HTMLCanvasElement))throw new Error("'".concat(t,"' is not a canvas element"));return t}function Do(e){var t=e.width,r=e.height,n=document.createElement("canvas");return n.id="lumagl-auto-created-canvas",n.width=t||1,n.height=r||1,n.style.width=Number.isFinite(t)?"".concat(t,"px"):"100%",n.style.height=Number.isFinite(r)?"".concat(r,"px"):"100%",n}function Uo(e,t,r,n,a){var o=e,u=ra(o[0],t,r),f=na(o[1],t,n,a),_=ra(o[0]+1,t,r),E=_===r-1?_:_-1;_=na(o[1]+1,t,n,a);var c;return a?(_=_===0?_:_+1,c=f,f=_):c=_===n-1?_:_-1,{x:u,y:f,width:Math.max(E-u+1,1),height:Math.max(c-f+1,1)}}function ra(e,t,r){var n=Math.min(Math.round(e*t),r-1);return n}function na(e,t,r,n){return n?Math.max(0,r-1-Math.round(e*t)):Math.min(Math.round(e*t),r-1)}var oa;function xo(e){var t=wo();return function(){var n=O(e),a;if(t){var o=O(this).constructor;a=Reflect.construct(n,arguments,o)}else a=n.apply(this,arguments);return U(this,a)}}function wo(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function aa(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function ia(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?aa(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):aa(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Xo=ia(ia({},ie),{},{data:null,dimension:"2d",format:"rgba8unorm",width:void 0,height:void 0,depth:1,mipmaps:!0,sampler:{},compressed:!1,usage:0,mipLevels:void 0,samples:void 0,type:void 0});oa=Symbol.toStringTag;var Re=function(e){D(r,e);var t=xo(r);function r(n,a){var o,u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Xo;return I(this,r),o=t.call(this,n,a,u),s(T(o),"dimension",void 0),s(T(o),"format",void 0),s(T(o),"width",void 0),s(T(o),"height",void 0),s(T(o),"depth",void 0),s(T(o),"sampler",void 0),o.dimension=o.props.dimension,o.format=o.props.format,o.width=o.props.width,o.height=o.props.height,o.depth=o.props.depth,o}return y(r,[{key:oa,get:function(){return"Texture"}}]),r}(J);s(Re,"COPY_SRC",1);s(Re,"COPY_DST",2);s(Re,"TEXTURE_BINDING",4);s(Re,"STORAGE_BINDING",8);s(Re,"RENDER_ATTACHMENT",16);var fa;function Ho(e){var t=Lo();return function(){var n=O(e),a;if(t){var o=O(this).constructor;a=Reflect.construct(n,arguments,o)}else a=n.apply(this,arguments);return U(this,a)}}function Lo(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function sa(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function ua(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?sa(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):sa(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Wo=ua(ua({},ie),{},{stage:"vertex",source:"",sourceMap:null,language:"glsl",shaderType:0});fa=Symbol.toStringTag;var Mr=function(e){D(r,e);var t=Ho(r);function r(n,a){var o;return I(this,r),o=t.call(this,n,a,Wo),s(T(o),"stage",void 0),s(T(o),"source",void 0),o.stage=o.props.stage,o.source=o.props.source,o}return y(r,[{key:fa,get:function(){return"Shader"}}]),r}(J);function Vo(e){var t=ko();return function(){var n=O(e),a;if(t){var o=O(this).constructor;a=Reflect.construct(n,arguments,o)}else a=n.apply(this,arguments);return U(this,a)}}function ko(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function _a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Ea(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?_a(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):_a(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Ko=Ea(Ea({},ie),{},{type:"color-sampler",addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge",addressModeW:"clamp-to-edge",magFilter:"nearest",minFilter:"nearest",mipmapFilter:"nearest",lodMinClamp:0,lodMaxClamp:32,compare:"less-equal",maxAnisotropy:1}),Dr=function(e,t){D(n,e);var r=Vo(n);function n(a,o){return I(this,n),r.call(this,a,o,Ko)}return y(n,[{key:t,get:function(){return"Sampler"}}]),n}(J,Symbol.toStringTag);var la;function jo(e){var t=Yo();return function(){var n=O(e),a;if(t){var o=O(this).constructor;a=Reflect.construct(n,arguments,o)}else a=n.apply(this,arguments);return U(this,a)}}function Yo(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function ca(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function st(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ca(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ca(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var zo=st(st({},ie),{},{width:1,height:1,colorAttachments:[],depthStencilAttachment:null});la=Symbol.toStringTag;var Ur=function(e){D(r,e);var t=jo(r);function r(n){var a,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return I(this,r),a=t.call(this,n,o,zo),s(T(a),"width",void 0),s(T(a),"height",void 0),s(T(a),"colorAttachments",[]),s(T(a),"depthStencilAttachment",null),a.width=a.props.width,a.height=a.props.height,a}return y(r,[{key:la,get:function(){return"Framebuffer"}},{key:"resize",value:function(a){var o=!a;if(a){var u=Array.isArray(a)?a:[a.width,a.height],f=H(u,2),_=f[0],E=f[1];o=o||E!==this.height||_!==this.width,this.width=_,this.height=E}o&&(P.log(2,"Resizing framebuffer ".concat(this.id," to ").concat(this.width,"x").concat(this.height))(),this.resizeAttachments(this.width,this.height))}},{key:"autoCreateAttachmentTextures",value:function(){var a=this;if(this.colorAttachments=this.props.colorAttachments.map(function(u){if(typeof u=="string"){var f=a.createColorTexture(u);return a.attachResource(f),f}return u}),this.props.depthStencilAttachment)if(typeof this.props.depthStencilAttachment=="string"){var o=this.createDepthStencilTexture(this.props.depthStencilAttachment);this.attachResource(o),this.depthStencilAttachment=o}else this.depthStencilAttachment=this.props.depthStencilAttachment}},{key:"createColorTexture",value:function(a){return this.device.createTexture({id:"color-attachment",usage:Re.RENDER_ATTACHMENT,format:a,width:this.width,height:this.height})}},{key:"createDepthStencilTexture",value:function(a){return this.device.createTexture({id:"depth-stencil-attachment",usage:Re.RENDER_ATTACHMENT,format:a,width:this.width,height:this.height})}},{key:"resizeAttachments",value:function(a,o){for(var u=0;u<this.colorAttachments.length;++u)if(this.colorAttachments[u]){var f=this.device._createTexture(st(st({},this.colorAttachments[u].props),{},{width:a,height:o}));this.destroyAttachedResource(this.colorAttachments[u]),this.colorAttachments[u]=f,this.attachResource(f)}if(this.depthStencilAttachment){var _=this.device._createTexture(st(st({},this.depthStencilAttachment.props),{},{width:a,height:o}));this.destroyAttachedResource(this.depthStencilAttachment),this.depthStencilAttachment=_,this.attachResource(_)}}}]),r}(J);var Aa;function Go(e){var t=Zo();return function(){var n=O(e),a;if(t){var o=O(this).constructor;a=Reflect.construct(n,arguments,o)}else a=n.apply(this,arguments);return U(this,a)}}function Zo(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Ra(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Ta(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ra(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ra(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var da=Ta(Ta({},ie),{},{vs:null,vsEntryPoint:"",vsConstants:{},fs:null,fsEntryPoint:"",fsConstants:{},layout:null,topology:"triangle-list",parameters:{},bufferMap:[],vertexCount:0,instanceCount:0,indices:null,attributes:{},bindings:{},uniforms:{}});Aa=Symbol.toStringTag;var Jt=function(e){D(r,e);var t=Go(r);function r(n,a){var o;return I(this,r),o=t.call(this,n,a,da),s(T(o),"hash",""),s(T(o),"vs",void 0),s(T(o),"fs",void 0),o}return y(r,[{key:Aa,get:function(){return"RenderPipeline"}}]),r}(J);s(Jt,"_DEFAULT_PROPS",da);var ha;function pa(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function ma(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?pa(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):pa(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function $o(e){var t=Qo();return function(){var n=O(e),a;if(t){var o=O(this).constructor;a=Reflect.construct(n,arguments,o)}else a=n.apply(this,arguments);return U(this,a)}}function Qo(){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}}ha=Symbol.toStringTag;var er=function(e){D(r,e);var t=$o(r);function r(n,a){return I(this,r),t.call(this,n,a,r.defaultProps)}return y(r,[{key:ha,get:function(){return"RenderPass"}}]),r}(J);s(er,"defaultProps",ma(ma({},J.defaultProps),{},{framebuffer:null,parameters:void 0,clearColor:[0,0,0,0],clearDepth:1,clearStencil:0,depthReadOnly:!1,stencilReadOnly:!1,discard:!1}));function qo(e){var t=Jo();return function(){var n=O(e),a;if(t){var o=O(this).constructor;a=Reflect.construct(n,arguments,o)}else a=n.apply(this,arguments);return U(this,a)}}function Jo(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Sa(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function es(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Sa(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Sa(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var ts=es({},ie),xr=function(e,t){D(n,e);var r=qo(n);function n(a){return I(this,n),r.call(this,a,ts)}return y(n,[{key:t,get:function(){return"CommandEncoder"}},{key:"pushDebugGroup",value:function(o){}},{key:"popDebugGroup",value:function(){}},{key:"insertDebugMarker",value:function(o){}}]),n}(J,Symbol.toStringTag);function rs(e){var t=ns();return function(){var n=O(e),a;if(t){var o=O(this).constructor;a=Reflect.construct(n,arguments,o)}else a=n.apply(this,arguments);return U(this,a)}}function ns(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function ga(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function as(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ga(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ga(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var is=as({},ie),wr=function(e,t){D(n,e);var r=rs(n);function n(a){return I(this,n),r.call(this,a,is)}return y(n,[{key:t,get:function(){return"CommandBuffer"}}]),n}(J,Symbol.toStringTag);function w(e,t){if(!e)throw new Error(t||"luma.gl: assertion failed.")}function tr(e){var t=Oa[e],r=os(t),n=!e.startsWith("float"),a=e.includes("norm"),o=e.startsWith("s");return{dataType:Oa[e],byteLength:r,integer:n,signed:o,normalized:a}}function os(e){var t=ss[e];return t}var Oa={uint8:"uint8",sint8:"sint8",unorm8:"uint8",snorm8:"sint8",uint16:"uint16",sint16:"sint16",unorm16:"uint16",snorm16:"sint16",float16:"float16",float32:"float32",uint32:"uint32",sint32:"sint32"},ss={uint8:1,sint8:1,uint16:2,sint16:2,float16:2,float32:4,uint32:4,sint32:4};function Xr(e){var t=e.split("x"),r=H(t,2),n=r[0],a=r[1],o=n,u=a?parseInt(a):1,f=tr(o);return{type:o,components:u,byteLength:f.byteLength*u,integer:f.integer,signed:f.signed,normalized:f.normalized}}function va(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function us(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?va(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):va(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var fs=/^(rg?b?a?)([0-9]*)([a-z]*)(-srgb)?(-webgl|-unsized)?$/;function rr(e){var t=fs.exec(e);if(t){var r=H(t,6),n=r[1],a=r[2],o=r[3],u=r[4],f=r[5];if(n){var _="".concat(o).concat(a),E=tr(_);return us({format:n,components:0,srgb:u==="-srgb",unsized:f==="-unsized",webgl:f==="-webgl"},E)}}return Es(e)}var _s={"rgba4unorm-webgl":{format:"rgba",bpp:2},"rgb565unorm-webgl":{format:"rgb",bpp:2},"rgb5a1unorm-webgl":{format:"rgba",bbp:2},rgb9e5ufloat:{format:"rgb",bbp:4},rg11b10ufloat:{format:"rgb",bbp:4},rgb10a2unorm:{format:"rgba",bbp:4},"rgb10a2unorm-webgl":{format:"rgba",bbp:4},stencil8:{components:1,bpp:1,a:"stencil"},depth16unorm:{components:1,bpp:2,a:"depth"},depth24plus:{components:1,bpp:3,a:"depth"},depth32float:{components:1,bpp:4,a:"depth"},"depth24plus-stencil8":{components:2,bpp:4,a:"depth-stencil"},"depth24unorm-stencil8":{components:2,bpp:4,a:"depth-stencil"},"depth32float-stencil8":{components:2,bpp:4,a:"depth-stencil"}};function Es(e){var t=_s[e];if(!t)throw new Error("Unknown format ".concat(e));return{format:t.format||"",components:t.components||1,byteLength:t.bpp||1,srgb:!1,unsized:!1}}function cs(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=ls(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(E){throw E},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
10
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,u=!1,f;return{s:function(){r=r.call(e)},n:function(){var E=r.next();return o=E.done,E},e:function(E){u=!0,f=E},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(u)throw f}}}}function ls(e,t){if(e){if(typeof e=="string")return Na(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 Na(e,t)}}function Na(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 Hr(e,t,r){var n=t.split(/\r?\n/),a="",o=cs(e),u;try{for(o.s();!(u=o.n()).done;){var f=u.value;a+=Rs(f,n,f.lineNum,r)}}catch(_){o.e(_)}finally{o.f()}return a}function Rs(e,t,r,n){if(n!=null&&n.showSourceCode){var a=e.linePos>0?"".concat(" ".repeat(e.linePos+5),`^^^
11
+ `):"",o=Ts(t,r);return"".concat(o).concat(a).concat(e.type.toUpperCase(),": ").concat(e.message,`
12
12
 
13
13
  `)}return"".concat(e.type.toUpperCase(),": ").concat(e.message,`
14
- `)}function os(e,t){for(var r="",n=t-2;n<=t;n++){var i=e[n];i!==void 0&&(r+="".concat(ss(String(n),4),": ").concat(i,`
15
- `))}return r}function ss(e,t){for(var r="",n=e.length;n<t;++n)r+=" ";return r+e}var Nt={};function us(e){globalThis.console&&globalThis.console.error&&globalThis.console.error(e)}function _s(e){globalThis.console&&globalThis.console.log&&globalThis.console.log(e)}function fs(e,t){Nt[e]=!0,t!==void 0&&us(t)}function Es(e){var t=e.getError;e.getError=function(){var n;do n=t.apply(e),n!==e.NO_ERROR&&(Nt[n]=!0);while(n!==e.NO_ERROR);for(n in Nt)if(Nt[n])return delete Nt[n],parseInt(n,10);return e.NO_ERROR}}var Ct=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};Ct.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()};Ct.VertexAttrib.prototype.recache=function(){this.cached=[this.size,this.type,this.normalized,this.stride,this.offset].join(":")};var Ye=function(t){var r=this;this.gl=t,Es(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(o){return o===r.VERTEX_ARRAY_BINDING_OES?r.currentVertexArrayObject===r.defaultVertexArrayObject?null:r.currentVertexArrayObject:n.getParameter.apply(this,arguments)},t.enableVertexAttribArray=function(o){var u=r.currentVertexArrayObject;u.maxAttrib=Math.max(u.maxAttrib,o);var _=u.attribs[o];return _.enabled=!0,n.enableVertexAttribArray.apply(this,arguments)},t.disableVertexAttribArray=function(o){var u=r.currentVertexArrayObject;u.maxAttrib=Math.max(u.maxAttrib,o);var _=u.attribs[o];return _.enabled=!1,n.disableVertexAttribArray.apply(this,arguments)},t.bindBuffer=function(o,u){switch(o){case t.ARRAY_BUFFER:r.currentArrayBuffer=u;break;case t.ELEMENT_ARRAY_BUFFER:r.currentVertexArrayObject.elementArrayBuffer=u;break;default:}return n.bindBuffer.apply(this,arguments)},t.getVertexAttrib=function(o,u){var _=r.currentVertexArrayObject,f=_.attribs[o];switch(u){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(o,u,_,f,E,c){var l=r.currentVertexArrayObject;l.maxAttrib=Math.max(l.maxAttrib,o);var R=l.attribs[o];return R.buffer=r.currentArrayBuffer,R.size=u,R.type=_,R.normalized=f,R.stride=E,R.offset=c,R.recache(),n.vertexAttribPointer.apply(this,arguments)},t.instrumentExtension&&t.instrumentExtension(this,"OES_vertex_array_object"),t.canvas&&t.canvas.addEventListener("webglcontextrestored",function(){_s("OESVertexArrayObject emulation library context restored"),r.reset_()},!0),this.reset_()};Ye.prototype.VERTEX_ARRAY_BINDING_OES=34229;Ye.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 Ct(this),this.currentVertexArrayObject=null,this.currentArrayBuffer=null,this.vertexArrayObjects=[this.defaultVertexArrayObject],this.bindVertexArrayOES(null)};Ye.prototype.createVertexArrayOES=function(){var t=new Ct(this);return this.vertexArrayObjects.push(t),t};Ye.prototype.deleteVertexArrayOES=function(t){t.isAlive=!1,this.vertexArrayObjects.splice(this.vertexArrayObjects.indexOf(t),1),this.currentVertexArrayObject===t&&this.bindVertexArrayOES(null)};Ye.prototype.isVertexArrayOES=function(t){return!!(t&&t instanceof Ct&&t.hasBeenBound&&t.ext===this)};Ye.prototype.bindVertexArrayOES=function(t){var r=this.gl;if(t&&!t.isAlive){fs(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 o=this.currentVertexArrayObject;if(i!==o){(!i||o.elementArrayBuffer!==i.elementArrayBuffer)&&n.bindBuffer.call(r,r.ELEMENT_ARRAY_BUFFER,o.elementArrayBuffer);for(var u=this.currentArrayBuffer,_=Math.max(i?i.maxAttrib:0,o.maxAttrib),f=0;f<=_;f++){var E=o.attribs[f],c=i?i.attribs[f]:null;if((!i||E.enabled!==c.enabled)&&(E.enabled?n.enableVertexAttribArray.call(r,f):n.disableVertexAttribArray.call(r,f)),E.enabled){var l=!1;(!i||E.buffer!==c.buffer)&&(u!==E.buffer&&(n.bindBuffer.call(r,r.ARRAY_BUFFER,E.buffer),u=E.buffer),l=!0),(l||E.cached!==c.cached)&&n.vertexAttribPointer.call(r,f,E.size,E.type,E.normalized,E.stride,E.offset)}}this.currentArrayBuffer!==u&&n.bindBuffer.call(r,r.ARRAY_BUFFER,this.currentArrayBuffer)}};function Si(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 o=r.call(this,i);return o||(i!=="OES_vertex_array_object"?null:(e.__OESVertexArrayObject||(this.__OESVertexArrayObject=new Ye(this)),this.__OESVertexArrayObject))}}}var a=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.ALWAYS=519]="ALWAYS",e[e.LESS=513]="LESS",e[e.EQUAL=514]="EQUAL",e[e.LEQUAL=515]="LEQUAL",e[e.GREATER=516]="GREATER",e[e.GEQUAL=518]="GEQUAL",e[e.NOTEQUAL=517]="NOTEQUAL",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}({});var cs="Invalid WebGLRenderingContext";var ls="Requires WebGL2";function Xr(e){return typeof WebGLRenderingContext<"u"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&Number.isFinite(e._version))}function H(e){return typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&e._version===2)}function It(e){return H(e)?e:null}function qt(e){return U(Xr(e),cs),e}function st(e){return U(H(e),ls),e}var W,gi="OES_element_index",Oi="WEBGL_draw_buffers",Rs="EXT_disjoint_timer_query",As="EXT_disjoint_timer_query_webgl2",Ts="EXT_texture_filter_anisotropic",vi="WEBGL_debug_renderer_info",ds=35723,ps=4352,ms=36795,hs=34047,Ss=37445,gs=37446,G=function(t){return H(t)?void 0:0},Os=(W={},s(W,a.READ_BUFFER,function(e){return H(e)?void 0:a.COLOR_ATTACHMENT0}),s(W,ds,function(e){return H(e)?void 0:ps}),s(W,a.RASTERIZER_DISCARD,G),s(W,a.SAMPLES,G),s(W,ms,function(e,t){var r=H(e)?e.getExtension(As):e.getExtension(Rs);return r&&r.GPU_DISJOINT_EXT?t(r.GPU_DISJOINT_EXT):0}),s(W,Ss,function(e,t){var r=e.getExtension(vi);return t(r&&r.UNMASKED_VENDOR_WEBGL||a.VENDOR)}),s(W,gs,function(e,t){var r=e.getExtension(vi);return t(r&&r.UNMASKED_RENDERER_WEBGL||a.RENDERER)}),s(W,hs,function(e,t){var r,n,i=((r=e.luma)===null||r===void 0||(n=r.extensions)===null||n===void 0?void 0:n[Ts])||e.getExtension("EXT_texture_filter_anisotropic");return i?t(i.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1}),s(W,a.MAX_3D_TEXTURE_SIZE,G),s(W,a.MAX_ARRAY_TEXTURE_LAYERS,G),s(W,a.MAX_CLIENT_WAIT_TIMEOUT_WEBGL,G),s(W,a.MAX_COLOR_ATTACHMENTS,function(e,t){if(!H(e)){var r=e.getExtension(Oi);return r?t(r.MAX_COLOR_ATTACHMENTS_WEBGL):0}}),s(W,a.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,G),s(W,a.MAX_COMBINED_UNIFORM_BLOCKS,G),s(W,a.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,G),s(W,a.MAX_DRAW_BUFFERS,function(e){if(!H(e)){var t=e.getExtension(Oi);return t?t.MAX_DRAW_BUFFERS_WEBGL:0}}),s(W,a.MAX_ELEMENT_INDEX,function(e){return e.getExtension(gi)?2147483647:65535}),s(W,a.MAX_ELEMENTS_INDICES,function(e){return e.getExtension(gi)?16777216:65535}),s(W,a.MAX_ELEMENTS_VERTICES,function(e){return 16777216}),s(W,a.MAX_FRAGMENT_INPUT_COMPONENTS,G),s(W,a.MAX_FRAGMENT_UNIFORM_BLOCKS,G),s(W,a.MAX_FRAGMENT_UNIFORM_COMPONENTS,G),s(W,a.MAX_SAMPLES,G),s(W,a.MAX_SERVER_WAIT_TIMEOUT,G),s(W,a.MAX_TEXTURE_LOD_BIAS,G),s(W,a.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,G),s(W,a.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,G),s(W,a.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,G),s(W,a.MAX_UNIFORM_BLOCK_SIZE,G),s(W,a.MAX_UNIFORM_BUFFER_BINDINGS,G),s(W,a.MAX_VARYING_COMPONENTS,G),s(W,a.MAX_VERTEX_OUTPUT_COMPONENTS,G),s(W,a.MAX_VERTEX_UNIFORM_BLOCKS,G),s(W,a.MAX_VERTEX_UNIFORM_COMPONENTS,G),s(W,a.MIN_PROGRAM_TEXEL_OFFSET,G),s(W,a.MAX_PROGRAM_TEXEL_OFFSET,G),s(W,a.UNIFORM_BUFFER_OFFSET_ALIGNMENT,G),W);function Ni(e,t,r){var n=Os[r],i=typeof n=="function"?n(e,t,r):n,o=i!==void 0?i:t(r);return o}function ut(e){var t=e.luma;if(!t){var r={_polyfilled:!1,_extensions:{}};e.luma=r}return e.luma}var _t,vs="OES_vertex_array_object",Ci="ANGLE_instanced_arrays",Ns="WEBGL_draw_buffers",Cs="EXT_disjoint_timer_query",Is="EXT_texture_filter_anisotropic",bs="VertexArray requires WebGL2 or OES_vertex_array_object extension";function Ps(e,t){return{webgl2:H(e),ext:e.getExtension(t)}}var Hr=(_t={},s(_t,vs,{meta:{suffix:"OES"},createVertexArray:function(){U(!1,bs)},deleteVertexArray:function(){},bindVertexArray:function(){},isVertexArray:function(){return!1}}),s(_t,Ci,{meta:{suffix:"ANGLE"},vertexAttribDivisor:function(t,r){U(r===0,"WebGL instanced rendering not supported")},drawElementsInstanced:function(){},drawArraysInstanced:function(){}}),s(_t,Ns,{meta:{suffix:"WEBGL"},drawBuffers:function(){U(!1)}}),s(_t,Cs,{meta:{suffix:"EXT"},createQuery:function(){U(!1)},deleteQuery:function(){U(!1)},beginQuery:function(){U(!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){}}),_t),Jt={readBuffer:function(t,r,n){H(t)&&r(n)},getVertexAttrib:function(t,r,n,i){var o=Ps(t,Ci),u=o.webgl2,_=o.ext,f;switch(i){case a.VERTEX_ATTRIB_ARRAY_INTEGER:f=u?void 0:!1;break;case a.VERTEX_ATTRIB_ARRAY_DIVISOR:f=!u&&!_?0:void 0;break;default:}return f!==void 0?f:r(n,i)},getProgramParameter:function(t,r,n,i){if(!H(t))switch(i){case a.TRANSFORM_FEEDBACK_BUFFER_MODE:return a.SEPARATE_ATTRIBS;case a.TRANSFORM_FEEDBACK_VARYINGS:return 0;case a.ACTIVE_UNIFORM_BLOCKS:return 0;default:}return r(n,i)},getInternalformatParameter:function(t,r,n,i,o){if(!H(t))switch(o){case a.SAMPLES:return new Int32Array([0]);default:}var u=t;return u.getInternalformatParameter(n,i,o)},getTexParameter:function(t,r,n,i){switch(i){case a.TEXTURE_MAX_ANISOTROPY_EXT:var o=ut(t),u=o._extensions,_=u[Is];i=_&&_.TEXTURE_MAX_ANISOTROPY_EXT||a.TEXTURE_MAX_ANISOTROPY_EXT;break;default:}return r(n,i)},getParameter:Ni,hint:function(t,r,n,i){return r(n,i)}};function bi(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=ys(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(E){throw E},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
16
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,u=!1,_;return{s:function(){r=r.call(e)},n:function(){var E=r.next();return o=E.done,E},e:function(E){u=!0,_=E},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(u)throw _}}}}function ys(e,t){if(e){if(typeof e=="string")return Ii(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 Ii(e,t)}}function Ii(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 er(e){var t=ut(e);return t._polyfilled||(Si(e),Fs(e),Bs(e,Hr),Ds(e,{target:t,target2:e}),t._polyfilled=!0),e}function Fs(e){var t=ut(e),r=e.getSupportedExtensions()||[],n=bi(r),i;try{for(n.s();!(i=n.n()).done;){var o=i.value,u=e.getExtension(o);t._extensions[o]=u}}catch(_){n.e(_)}finally{n.f()}}function Bs(e,t){var r=ut(e),n=bi(Object.getOwnPropertyNames(t)),i;try{for(n.s();!(i=n.n()).done;){var o=i.value;o!=="overrides"&&Ms(e,{extension:o,target:r,target2:e})}}catch(u){n.e(u)}finally{n.f()}}function Ms(e,t){var r=t.extension,n=t.target,i=t.target2,o=Hr[r];U(o);for(var u=o.meta,_=u===void 0?{}:u,f=_.suffix,E=f===void 0?"":f,c=e.getExtension(r),l=function(){var g=d[R],N="".concat(g).concat(E),C=null;g==="meta"||typeof e[g]=="function"||(c&&typeof c[N]=="function"?C=function(){return c[N].apply(c,arguments)}:typeof o[g]=="function"&&(C=o[g].bind(n))),C&&(n[g]=C,i[g]=C)},R=0,d=Object.keys(o);R<d.length;R++)l()}function Ds(e,t){var r=t.target,n=t.target2;Object.keys(Jt).forEach(function(i){if(typeof Jt[i]=="function"){var o=e[i]?e[i].bind(e):function(){},u=Jt[i].bind(null,e,o);r[i]=u,n[i]=u}})}function Wr(e){if(Array.isArray(e))return at(e)}function bt(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Lr(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
17
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Z(e){return Wr(e)||bt(e)||Ke(e)||Lr()}var O,T,pe,yt=(O={},s(O,a.BLEND,!1),s(O,a.BLEND_COLOR,new Float32Array([0,0,0,0])),s(O,a.BLEND_EQUATION_RGB,a.FUNC_ADD),s(O,a.BLEND_EQUATION_ALPHA,a.FUNC_ADD),s(O,a.BLEND_SRC_RGB,a.ONE),s(O,a.BLEND_DST_RGB,a.ZERO),s(O,a.BLEND_SRC_ALPHA,a.ONE),s(O,a.BLEND_DST_ALPHA,a.ZERO),s(O,a.COLOR_CLEAR_VALUE,new Float32Array([0,0,0,0])),s(O,a.COLOR_WRITEMASK,[!0,!0,!0,!0]),s(O,a.CULL_FACE,!1),s(O,a.CULL_FACE_MODE,a.BACK),s(O,a.DEPTH_TEST,!1),s(O,a.DEPTH_CLEAR_VALUE,1),s(O,a.DEPTH_FUNC,a.LESS),s(O,a.DEPTH_RANGE,new Float32Array([0,1])),s(O,a.DEPTH_WRITEMASK,!0),s(O,a.DITHER,!0),s(O,a.CURRENT_PROGRAM,null),s(O,a.FRAMEBUFFER_BINDING,null),s(O,a.RENDERBUFFER_BINDING,null),s(O,a.VERTEX_ARRAY_BINDING,null),s(O,a.ARRAY_BUFFER_BINDING,null),s(O,a.FRONT_FACE,a.CCW),s(O,a.GENERATE_MIPMAP_HINT,a.DONT_CARE),s(O,a.LINE_WIDTH,1),s(O,a.POLYGON_OFFSET_FILL,!1),s(O,a.POLYGON_OFFSET_FACTOR,0),s(O,a.POLYGON_OFFSET_UNITS,0),s(O,a.SAMPLE_ALPHA_TO_COVERAGE,!1),s(O,a.SAMPLE_COVERAGE,!1),s(O,a.SAMPLE_COVERAGE_VALUE,1),s(O,a.SAMPLE_COVERAGE_INVERT,!1),s(O,a.SCISSOR_TEST,!1),s(O,a.SCISSOR_BOX,new Int32Array([0,0,1024,1024])),s(O,a.STENCIL_TEST,!1),s(O,a.STENCIL_CLEAR_VALUE,0),s(O,a.STENCIL_WRITEMASK,4294967295),s(O,a.STENCIL_BACK_WRITEMASK,4294967295),s(O,a.STENCIL_FUNC,a.ALWAYS),s(O,a.STENCIL_REF,0),s(O,a.STENCIL_VALUE_MASK,4294967295),s(O,a.STENCIL_BACK_FUNC,a.ALWAYS),s(O,a.STENCIL_BACK_REF,0),s(O,a.STENCIL_BACK_VALUE_MASK,4294967295),s(O,a.STENCIL_FAIL,a.KEEP),s(O,a.STENCIL_PASS_DEPTH_FAIL,a.KEEP),s(O,a.STENCIL_PASS_DEPTH_PASS,a.KEEP),s(O,a.STENCIL_BACK_FAIL,a.KEEP),s(O,a.STENCIL_BACK_PASS_DEPTH_FAIL,a.KEEP),s(O,a.STENCIL_BACK_PASS_DEPTH_PASS,a.KEEP),s(O,a.VIEWPORT,[0,0,1024,1024]),s(O,a.PACK_ALIGNMENT,4),s(O,a.UNPACK_ALIGNMENT,4),s(O,a.UNPACK_FLIP_Y_WEBGL,!1),s(O,a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),s(O,a.UNPACK_COLORSPACE_CONVERSION_WEBGL,a.BROWSER_DEFAULT_WEBGL),s(O,a.TRANSFORM_FEEDBACK_BINDING,null),s(O,a.COPY_READ_BUFFER_BINDING,null),s(O,a.COPY_WRITE_BUFFER_BINDING,null),s(O,a.PIXEL_PACK_BUFFER_BINDING,null),s(O,a.PIXEL_UNPACK_BUFFER_BINDING,null),s(O,a.FRAGMENT_SHADER_DERIVATIVE_HINT,a.DONT_CARE),s(O,a.READ_FRAMEBUFFER_BINDING,null),s(O,a.RASTERIZER_DISCARD,!1),s(O,a.PACK_ROW_LENGTH,0),s(O,a.PACK_SKIP_PIXELS,0),s(O,a.PACK_SKIP_ROWS,0),s(O,a.UNPACK_ROW_LENGTH,0),s(O,a.UNPACK_IMAGE_HEIGHT,0),s(O,a.UNPACK_SKIP_PIXELS,0),s(O,a.UNPACK_SKIP_ROWS,0),s(O,a.UNPACK_SKIP_IMAGES,0),O),Ce=function(t,r,n){return r?t.enable(n):t.disable(n)},Pi=function(t,r,n){return t.hint(n,r)},Re=function(t,r,n){return t.pixelStorei(n,r)},yi=function(t,r,n){var i;return n===a.FRAMEBUFFER_BINDING?i=H(t)?a.DRAW_FRAMEBUFFER:a.FRAMEBUFFER:i=a.READ_FRAMEBUFFER,t.bindFramebuffer(i,r)},Pt=function(t,r,n){var i,o=(i={},s(i,a.ARRAY_BUFFER_BINDING,a.ARRAY_BUFFER),s(i,a.COPY_READ_BUFFER_BINDING,a.COPY_READ_BUFFER),s(i,a.COPY_WRITE_BUFFER_BINDING,a.COPY_WRITE_BUFFER),s(i,a.PIXEL_PACK_BUFFER_BINDING,a.PIXEL_PACK_BUFFER),s(i,a.PIXEL_UNPACK_BUFFER_BINDING,a.PIXEL_UNPACK_BUFFER),i),u=o[n];t.bindBuffer(u,r)};function Vr(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}var Fi=(T={},s(T,a.BLEND,Ce),s(T,a.BLEND_COLOR,function(e,t){return e.blendColor.apply(e,Z(t))}),s(T,a.BLEND_EQUATION_RGB,"blendEquation"),s(T,a.BLEND_EQUATION_ALPHA,"blendEquation"),s(T,a.BLEND_SRC_RGB,"blendFunc"),s(T,a.BLEND_DST_RGB,"blendFunc"),s(T,a.BLEND_SRC_ALPHA,"blendFunc"),s(T,a.BLEND_DST_ALPHA,"blendFunc"),s(T,a.COLOR_CLEAR_VALUE,function(e,t){return e.clearColor.apply(e,Z(t))}),s(T,a.COLOR_WRITEMASK,function(e,t){return e.colorMask.apply(e,Z(t))}),s(T,a.CULL_FACE,Ce),s(T,a.CULL_FACE_MODE,function(e,t){return e.cullFace(t)}),s(T,a.DEPTH_TEST,Ce),s(T,a.DEPTH_CLEAR_VALUE,function(e,t){return e.clearDepth(t)}),s(T,a.DEPTH_FUNC,function(e,t){return e.depthFunc(t)}),s(T,a.DEPTH_RANGE,function(e,t){return e.depthRange.apply(e,Z(t))}),s(T,a.DEPTH_WRITEMASK,function(e,t){return e.depthMask(t)}),s(T,a.DITHER,Ce),s(T,a.FRAGMENT_SHADER_DERIVATIVE_HINT,Pi),s(T,a.CURRENT_PROGRAM,function(e,t){return e.useProgram(t)}),s(T,a.RENDERBUFFER_BINDING,function(e,t){return e.bindRenderbuffer(a.RENDERBUFFER,t)}),s(T,a.TRANSFORM_FEEDBACK_BINDING,function(e,t){var r,n;return(r=(n=e).bindTransformFeedback)===null||r===void 0?void 0:r.call(n,a.TRANSFORM_FEEDBACK,t)}),s(T,a.VERTEX_ARRAY_BINDING,function(e,t){return e.bindVertexArray(t)}),s(T,a.FRAMEBUFFER_BINDING,yi),s(T,a.READ_FRAMEBUFFER_BINDING,yi),s(T,a.ARRAY_BUFFER_BINDING,Pt),s(T,a.COPY_READ_BUFFER_BINDING,Pt),s(T,a.COPY_WRITE_BUFFER_BINDING,Pt),s(T,a.PIXEL_PACK_BUFFER_BINDING,Pt),s(T,a.PIXEL_UNPACK_BUFFER_BINDING,Pt),s(T,a.FRONT_FACE,function(e,t){return e.frontFace(t)}),s(T,a.GENERATE_MIPMAP_HINT,Pi),s(T,a.LINE_WIDTH,function(e,t){return e.lineWidth(t)}),s(T,a.POLYGON_OFFSET_FILL,Ce),s(T,a.POLYGON_OFFSET_FACTOR,"polygonOffset"),s(T,a.POLYGON_OFFSET_UNITS,"polygonOffset"),s(T,a.RASTERIZER_DISCARD,Ce),s(T,a.SAMPLE_ALPHA_TO_COVERAGE,Ce),s(T,a.SAMPLE_COVERAGE,Ce),s(T,a.SAMPLE_COVERAGE_VALUE,"sampleCoverage"),s(T,a.SAMPLE_COVERAGE_INVERT,"sampleCoverage"),s(T,a.SCISSOR_TEST,Ce),s(T,a.SCISSOR_BOX,function(e,t){return e.scissor.apply(e,Z(t))}),s(T,a.STENCIL_TEST,Ce),s(T,a.STENCIL_CLEAR_VALUE,function(e,t){return e.clearStencil(t)}),s(T,a.STENCIL_WRITEMASK,function(e,t){return e.stencilMaskSeparate(a.FRONT,t)}),s(T,a.STENCIL_BACK_WRITEMASK,function(e,t){return e.stencilMaskSeparate(a.BACK,t)}),s(T,a.STENCIL_FUNC,"stencilFuncFront"),s(T,a.STENCIL_REF,"stencilFuncFront"),s(T,a.STENCIL_VALUE_MASK,"stencilFuncFront"),s(T,a.STENCIL_BACK_FUNC,"stencilFuncBack"),s(T,a.STENCIL_BACK_REF,"stencilFuncBack"),s(T,a.STENCIL_BACK_VALUE_MASK,"stencilFuncBack"),s(T,a.STENCIL_FAIL,"stencilOpFront"),s(T,a.STENCIL_PASS_DEPTH_FAIL,"stencilOpFront"),s(T,a.STENCIL_PASS_DEPTH_PASS,"stencilOpFront"),s(T,a.STENCIL_BACK_FAIL,"stencilOpBack"),s(T,a.STENCIL_BACK_PASS_DEPTH_FAIL,"stencilOpBack"),s(T,a.STENCIL_BACK_PASS_DEPTH_PASS,"stencilOpBack"),s(T,a.VIEWPORT,function(e,t){return e.viewport.apply(e,Z(t))}),s(T,a.PACK_ALIGNMENT,Re),s(T,a.UNPACK_ALIGNMENT,Re),s(T,a.UNPACK_FLIP_Y_WEBGL,Re),s(T,a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,Re),s(T,a.UNPACK_COLORSPACE_CONVERSION_WEBGL,Re),s(T,a.PACK_ROW_LENGTH,Re),s(T,a.PACK_SKIP_PIXELS,Re),s(T,a.PACK_SKIP_ROWS,Re),s(T,a.UNPACK_ROW_LENGTH,Re),s(T,a.UNPACK_IMAGE_HEIGHT,Re),s(T,a.UNPACK_SKIP_PIXELS,Re),s(T,a.UNPACK_SKIP_ROWS,Re),s(T,a.UNPACK_SKIP_IMAGES,Re),s(T,"framebuffer",function(t,r){var n=r&&"handle"in r?r.handle:r;return t.bindFramebuffer(a.FRAMEBUFFER,n)}),s(T,"blend",function(t,r){return r?t.enable(a.BLEND):t.disable(a.BLEND)}),s(T,"blendColor",function(t,r){return t.blendColor.apply(t,Z(r))}),s(T,"blendEquation",function(t,r){var n=typeof r=="number"?[r,r]:r;t.blendEquationSeparate.apply(t,Z(n))}),s(T,"blendFunc",function(t,r){var n=r?.length===2?[].concat(Z(r),Z(r)):r;t.blendFuncSeparate.apply(t,Z(n))}),s(T,"clearColor",function(t,r){return t.clearColor.apply(t,Z(r))}),s(T,"clearDepth",function(t,r){return t.clearDepth(r)}),s(T,"clearStencil",function(t,r){return t.clearStencil(r)}),s(T,"colorMask",function(t,r){return t.colorMask.apply(t,Z(r))}),s(T,"cull",function(t,r){return r?t.enable(a.CULL_FACE):t.disable(a.CULL_FACE)}),s(T,"cullFace",function(t,r){return t.cullFace(r)}),s(T,"depthTest",function(t,r){return r?t.enable(a.DEPTH_TEST):t.disable(a.DEPTH_TEST)}),s(T,"depthFunc",function(t,r){return t.depthFunc(r)}),s(T,"depthMask",function(t,r){return t.depthMask(r)}),s(T,"depthRange",function(t,r){return t.depthRange.apply(t,Z(r))}),s(T,"dither",function(t,r){return r?t.enable(a.DITHER):t.disable(a.DITHER)}),s(T,"derivativeHint",function(t,r){t.hint(a.FRAGMENT_SHADER_DERIVATIVE_HINT,r)}),s(T,"frontFace",function(t,r){return t.frontFace(r)}),s(T,"mipmapHint",function(t,r){return t.hint(a.GENERATE_MIPMAP_HINT,r)}),s(T,"lineWidth",function(t,r){return t.lineWidth(r)}),s(T,"polygonOffsetFill",function(t,r){return r?t.enable(a.POLYGON_OFFSET_FILL):t.disable(a.POLYGON_OFFSET_FILL)}),s(T,"polygonOffset",function(t,r){return t.polygonOffset.apply(t,Z(r))}),s(T,"sampleCoverage",function(t,r){return t.sampleCoverage.apply(t,Z(r))}),s(T,"scissorTest",function(t,r){return r?t.enable(a.SCISSOR_TEST):t.disable(a.SCISSOR_TEST)}),s(T,"scissor",function(t,r){return t.scissor.apply(t,Z(r))}),s(T,"stencilTest",function(t,r){return r?t.enable(a.STENCIL_TEST):t.disable(a.STENCIL_TEST)}),s(T,"stencilMask",function(t,r){r=Vr(r)?r:[r,r];var n=r,i=L(n,2),o=i[0],u=i[1];t.stencilMaskSeparate(a.FRONT,o),t.stencilMaskSeparate(a.BACK,u)}),s(T,"stencilFunc",function(t,r){r=Vr(r)&&r.length===3?[].concat(Z(r),Z(r)):r;var n=r,i=L(n,6),o=i[0],u=i[1],_=i[2],f=i[3],E=i[4],c=i[5];t.stencilFuncSeparate(a.FRONT,o,u,_),t.stencilFuncSeparate(a.BACK,f,E,c)}),s(T,"stencilOp",function(t,r){r=Vr(r)&&r.length===3?[].concat(Z(r),Z(r)):r;var n=r,i=L(n,6),o=i[0],u=i[1],_=i[2],f=i[3],E=i[4],c=i[5];t.stencilOpSeparate(a.FRONT,o,u,_),t.stencilOpSeparate(a.BACK,f,E,c)}),s(T,"viewport",function(t,r){return t.viewport.apply(t,Z(r))}),T);function J(e,t,r){return t[e]!==void 0?t[e]:r[e]}var Bi={blendEquation:function(t,r,n){return t.blendEquationSeparate(J(a.BLEND_EQUATION_RGB,r,n),J(a.BLEND_EQUATION_ALPHA,r,n))},blendFunc:function(t,r,n){return t.blendFuncSeparate(J(a.BLEND_SRC_RGB,r,n),J(a.BLEND_DST_RGB,r,n),J(a.BLEND_SRC_ALPHA,r,n),J(a.BLEND_DST_ALPHA,r,n))},polygonOffset:function(t,r,n){return t.polygonOffset(J(a.POLYGON_OFFSET_FACTOR,r,n),J(a.POLYGON_OFFSET_UNITS,r,n))},sampleCoverage:function(t,r,n){return t.sampleCoverage(J(a.SAMPLE_COVERAGE_VALUE,r,n),J(a.SAMPLE_COVERAGE_INVERT,r,n))},stencilFuncFront:function(t,r,n){return t.stencilFuncSeparate(a.FRONT,J(a.STENCIL_FUNC,r,n),J(a.STENCIL_REF,r,n),J(a.STENCIL_VALUE_MASK,r,n))},stencilFuncBack:function(t,r,n){return t.stencilFuncSeparate(a.BACK,J(a.STENCIL_BACK_FUNC,r,n),J(a.STENCIL_BACK_REF,r,n),J(a.STENCIL_BACK_VALUE_MASK,r,n))},stencilOpFront:function(t,r,n){return t.stencilOpSeparate(a.FRONT,J(a.STENCIL_FAIL,r,n),J(a.STENCIL_PASS_DEPTH_FAIL,r,n),J(a.STENCIL_PASS_DEPTH_PASS,r,n))},stencilOpBack:function(t,r,n){return t.stencilOpSeparate(a.BACK,J(a.STENCIL_BACK_FAIL,r,n),J(a.STENCIL_BACK_PASS_DEPTH_FAIL,r,n),J(a.STENCIL_BACK_PASS_DEPTH_PASS,r,n))}},kr={enable:function(t,r){return t(s({},r,!0))},disable:function(t,r){return t(s({},r,!1))},pixelStorei:function(t,r,n){return t(s({},r,n))},hint:function(t,r,n){return t(s({},r,n))},useProgram:function(t,r){return t(s({},a.CURRENT_PROGRAM,r))},bindRenderbuffer:function(t,r,n){return t(s({},a.RENDERBUFFER_BINDING,n))},bindTransformFeedback:function(t,r,n){return t(s({},a.TRANSFORM_FEEDBACK_BINDING,n))},bindVertexArray:function(t,r){return t(s({},a.VERTEX_ARRAY_BINDING,r))},bindFramebuffer:function(t,r,n){var i;switch(r){case a.FRAMEBUFFER:return t((i={},s(i,a.DRAW_FRAMEBUFFER_BINDING,n),s(i,a.READ_FRAMEBUFFER_BINDING,n),i));case a.DRAW_FRAMEBUFFER:return t(s({},a.DRAW_FRAMEBUFFER_BINDING,n));case a.READ_FRAMEBUFFER:return t(s({},a.READ_FRAMEBUFFER_BINDING,n));default:return null}},bindBuffer:function(t,r,n){var i,o=(i={},s(i,a.ARRAY_BUFFER,[a.ARRAY_BUFFER_BINDING]),s(i,a.COPY_READ_BUFFER,[a.COPY_READ_BUFFER_BINDING]),s(i,a.COPY_WRITE_BUFFER,[a.COPY_WRITE_BUFFER_BINDING]),s(i,a.PIXEL_PACK_BUFFER,[a.PIXEL_PACK_BUFFER_BINDING]),s(i,a.PIXEL_UNPACK_BUFFER,[a.PIXEL_UNPACK_BUFFER_BINDING]),i)[r];return o?t(s({},o,n)):{valueChanged:!0}},blendColor:function(t,r,n,i,o){return t(s({},a.BLEND_COLOR,new Float32Array([r,n,i,o])))},blendEquation:function(t,r){var n;return t((n={},s(n,a.BLEND_EQUATION_RGB,r),s(n,a.BLEND_EQUATION_ALPHA,r),n))},blendEquationSeparate:function(t,r,n){var i;return t((i={},s(i,a.BLEND_EQUATION_RGB,r),s(i,a.BLEND_EQUATION_ALPHA,n),i))},blendFunc:function(t,r,n){var i;return t((i={},s(i,a.BLEND_SRC_RGB,r),s(i,a.BLEND_DST_RGB,n),s(i,a.BLEND_SRC_ALPHA,r),s(i,a.BLEND_DST_ALPHA,n),i))},blendFuncSeparate:function(t,r,n,i,o){var u;return t((u={},s(u,a.BLEND_SRC_RGB,r),s(u,a.BLEND_DST_RGB,n),s(u,a.BLEND_SRC_ALPHA,i),s(u,a.BLEND_DST_ALPHA,o),u))},clearColor:function(t,r,n,i,o){return t(s({},a.COLOR_CLEAR_VALUE,new Float32Array([r,n,i,o])))},clearDepth:function(t,r){return t(s({},a.DEPTH_CLEAR_VALUE,r))},clearStencil:function(t,r){return t(s({},a.STENCIL_CLEAR_VALUE,r))},colorMask:function(t,r,n,i,o){return t(s({},a.COLOR_WRITEMASK,[r,n,i,o]))},cullFace:function(t,r){return t(s({},a.CULL_FACE_MODE,r))},depthFunc:function(t,r){return t(s({},a.DEPTH_FUNC,r))},depthRange:function(t,r,n){return t(s({},a.DEPTH_RANGE,new Float32Array([r,n])))},depthMask:function(t,r){return t(s({},a.DEPTH_WRITEMASK,r))},frontFace:function(t,r){return t(s({},a.FRONT_FACE,r))},lineWidth:function(t,r){return t(s({},a.LINE_WIDTH,r))},polygonOffset:function(t,r,n){var i;return t((i={},s(i,a.POLYGON_OFFSET_FACTOR,r),s(i,a.POLYGON_OFFSET_UNITS,n),i))},sampleCoverage:function(t,r,n){var i;return t((i={},s(i,a.SAMPLE_COVERAGE_VALUE,r),s(i,a.SAMPLE_COVERAGE_INVERT,n),i))},scissor:function(t,r,n,i,o){return t(s({},a.SCISSOR_BOX,new Int32Array([r,n,i,o])))},stencilMask:function(t,r){var n;return t((n={},s(n,a.STENCIL_WRITEMASK,r),s(n,a.STENCIL_BACK_WRITEMASK,r),n))},stencilMaskSeparate:function(t,r,n){return t(s({},r===a.FRONT?a.STENCIL_WRITEMASK:a.STENCIL_BACK_WRITEMASK,n))},stencilFunc:function(t,r,n,i){var o;return t((o={},s(o,a.STENCIL_FUNC,r),s(o,a.STENCIL_REF,n),s(o,a.STENCIL_VALUE_MASK,i),s(o,a.STENCIL_BACK_FUNC,r),s(o,a.STENCIL_BACK_REF,n),s(o,a.STENCIL_BACK_VALUE_MASK,i),o))},stencilFuncSeparate:function(t,r,n,i,o){var u;return t((u={},s(u,r===a.FRONT?a.STENCIL_FUNC:a.STENCIL_BACK_FUNC,n),s(u,r===a.FRONT?a.STENCIL_REF:a.STENCIL_BACK_REF,i),s(u,r===a.FRONT?a.STENCIL_VALUE_MASK:a.STENCIL_BACK_VALUE_MASK,o),u))},stencilOp:function(t,r,n,i){var o;return t((o={},s(o,a.STENCIL_FAIL,r),s(o,a.STENCIL_PASS_DEPTH_FAIL,n),s(o,a.STENCIL_PASS_DEPTH_PASS,i),s(o,a.STENCIL_BACK_FAIL,r),s(o,a.STENCIL_BACK_PASS_DEPTH_FAIL,n),s(o,a.STENCIL_BACK_PASS_DEPTH_PASS,i),o))},stencilOpSeparate:function(t,r,n,i,o){var u;return t((u={},s(u,r===a.FRONT?a.STENCIL_FAIL:a.STENCIL_BACK_FAIL,n),s(u,r===a.FRONT?a.STENCIL_PASS_DEPTH_FAIL:a.STENCIL_BACK_PASS_DEPTH_FAIL,i),s(u,r===a.FRONT?a.STENCIL_PASS_DEPTH_PASS:a.STENCIL_BACK_PASS_DEPTH_PASS,o),u))},viewport:function(t,r,n,i,o){return t(s({},a.VIEWPORT,[r,n,i,o]))}},Ie=function(t,r){return t.isEnabled(r)},Kr=(pe={},s(pe,a.BLEND,Ie),s(pe,a.CULL_FACE,Ie),s(pe,a.DEPTH_TEST,Ie),s(pe,a.DITHER,Ie),s(pe,a.POLYGON_OFFSET_FILL,Ie),s(pe,a.SAMPLE_ALPHA_TO_COVERAGE,Ie),s(pe,a.SAMPLE_COVERAGE,Ie),s(pe,a.SCISSOR_TEST,Ie),s(pe,a.STENCIL_TEST,Ie),s(pe,a.RASTERIZER_DISCARD,Ie),pe),Mi=new Set([a.ACTIVE_TEXTURE,a.TRANSFORM_FEEDBACK_ACTIVE,a.TRANSFORM_FEEDBACK_PAUSED,a.TRANSFORM_FEEDBACK_BUFFER_BINDING,a.UNIFORM_BUFFER_BINDING,a.ELEMENT_ARRAY_BUFFER_BINDING,a.IMPLEMENTATION_COLOR_READ_FORMAT,a.IMPLEMENTATION_COLOR_READ_TYPE,a.READ_BUFFER,a.DRAW_BUFFER0,a.DRAW_BUFFER1,a.DRAW_BUFFER2,a.DRAW_BUFFER3,a.DRAW_BUFFER4,a.DRAW_BUFFER5,a.DRAW_BUFFER6,a.DRAW_BUFFER7,a.DRAW_BUFFER8,a.DRAW_BUFFER9,a.DRAW_BUFFER10,a.DRAW_BUFFER11,a.DRAW_BUFFER12,a.DRAW_BUFFER13,a.DRAW_BUFFER14,a.DRAW_BUFFER15,a.SAMPLER_BINDING,a.TEXTURE_BINDING_2D,a.TEXTURE_BINDING_2D_ARRAY,a.TEXTURE_BINDING_3D,a.TEXTURE_BINDING_CUBE_MAP]);function Us(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=xs(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(E){throw E},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
18
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,u=!1,_;return{s:function(){r=r.call(e)},n:function(){var E=r.next();return o=E.done,E},e:function(E){u=!0,_=E},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(u)throw _}}}}function xs(e,t){if(e){if(typeof e=="string")return Di(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 Di(e,t)}}function Di(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 Ue(e,t){var r=ce.attach(e),n=r.gl;if(!ws(t)){var i={};for(var o in t){var u=Number(o),_=Fi[o];_&&(typeof _=="string"?i[_]=!0:_(n,t[o],u))}var f=n.state&&n.state.cache;if(f)for(var E in i){var c=Bi[E];c(n,t,f)}}}function tr(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:yt,r=ce.attach(e),n=r.gl;if(typeof t=="number"){var i=t,o=Kr[i];return o?o(n,i):n.getParameter(i)}var u=Array.isArray(t)?t:Object.keys(t),_={},f=Us(u),E;try{for(f.s();!(E=f.n()).done;){var c=E.value,l=Kr[c];_[c]=l?l(n,Number(c)):n.getParameter(Number(c))}}catch(R){f.e(R)}finally{f.f()}return _}function Ui(e){Ue(e,yt)}function ws(e){for(var t in e)return!1;return!0}function xi(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 Xs=function(){function e(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=r.copyState,i=n===void 0?!1:n,o=r.log,u=o===void 0?function(){}:o;I(this,e),s(this,"gl",void 0),s(this,"program",null),s(this,"stateStack",[]),s(this,"enable",!0),s(this,"cache",void 0),s(this,"log",void 0),this.gl=t,this.cache=i?tr(t):Object.assign({},yt),this.log=u,this._updateCache=this._updateCache.bind(this),Object.seal(this)}return b(e,[{key:"push",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.stateStack.push({})}},{key:"pop",value:function(){U(this.stateStack.length>0);var r=this.stateStack[this.stateStack.length-1];Ue(this.gl,r),this.stateStack.pop()}},{key:"_updateCache",value:function(r){var n=!1,i,o=this.stateStack.length>0?this.stateStack[this.stateStack.length-1]:null;for(var u in r){U(u!==void 0);var _=r[u],f=this.cache[u];xi(_,f)||(n=!0,i=f,o&&!(u in o)&&(o[u]=f),this.cache[u]=_)}return{valueChanged:n,oldValue:i}}}]),e}();function ze(e){return e.state}function Ft(e,t){var r=t.enable,n=r===void 0?!0:r,i=t.copyState;if(U(i!==void 0),!e.state){e.state=new Xs(e,{copyState:i}),Ws(e);for(var o in kr){var u=kr[o];Hs(e,o,u)}wi(e,"getParameter"),wi(e,"isEnabled")}var _=ze(e);return _.enable=n,e}function xe(e){var t=ze(e);t||(Ft(e,{copyState:!1}),t=ze(e)),t.push()}function be(e){var t=ze(e);U(t),t.pop()}function wi(e,t){var r=e[t].bind(e);e[t]=function(i){if(i===void 0||Mi.has(i))return r(i);var o=ze(e);return i in o.cache||(o.cache[i]=r(i)),o.enable?o.cache[i]:r(i)},Object.defineProperty(e[t],"name",{value:"".concat(t,"-from-cache"),configurable:!1})}function Hs(e,t,r){if(e[t]){var n=e[t].bind(e);e[t]=function(){for(var o=ze(e),u=arguments.length,_=new Array(u),f=0;f<u;f++)_[f]=arguments[f];var E=r.apply(void 0,[o._updateCache].concat(_)),c=E.valueChanged,l=E.oldValue;return c&&n.apply(void 0,_),l},Object.defineProperty(e[t],"name",{value:"".concat(t,"-to-cache"),configurable:!1})}}function Ws(e){var t=e.useProgram.bind(e);e.useProgram=function(n){var i=ze(e);i.program!==n&&(t(n),i.program=n)}}function Xi(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 ft(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Xi(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Xi(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Ls={webgl2:!0,webgl1:!0,powerPreference:"high-performance",onContextLost:function(){return console.error("WebGL context lost")},onContextRestored:function(){return console.info("WebGL context restored")}};function Hi(e,t){t=ft(ft({},Ls),t);var r=null,n=function(c){return r=c.statusMessage||r};e.addEventListener("webglcontextcreationerror",n,!1);var i=null;if(t.type==="webgl2"&&(t=ft(ft({},t),{},{webgl1:!1})),t.type==="webgl1"&&(t=ft(ft({},t),{},{webgl2:!1})),t.webgl2&&(i=i||e.getContext("webgl2",t)),t.webgl1&&(i=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 o=t,u=o.onContextLost;e.addEventListener("webglcontextlost",function(E){return u(E)},!1)}if(t.onContextRestored){var _=t,f=_.onContextRestored;e.addEventListener("webglcontextrestored",function(E){return f(E)},!1)}return i}function Wi(e){var t=e.getParameter(a.VENDOR),r=e.getParameter(a.RENDERER),n=e.getExtension("WEBGL_debug_renderer_info"),i=e.getParameter(n?n.UNMASKED_VENDOR_WEBGL:a.VENDOR),o=e.getParameter(n?n.UNMASKED_RENDERER_WEBGL:a.RENDERER),u=i||t,_=o||r,f=Vs(u,_);return{type:H(e)?"webgl2":"webgl",gpu:f,vendor:i||t,renderer:o||r,version:e.getParameter(a.VERSION),shadingLanguages:["glsl"],shadingLanguageVersions:{glsl:e.getParameter(a.SHADING_LANGUAGE_VERSION)}}}function Vs(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 Li(){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}var Ee,Pe,ue="texture-compression-bc",Y="texture-compression-astc",ye="texture-compression-etc2",ks="texture-compression-etc1-webgl",rr="texture-compression-pvrtc-webgl",jr="texture-compression-atc-webgl",Bt="WEBGL_compressed_texture_s3tc",Mt="WEBGL_compressed_texture_s3tc_srgb",Et="EXT_texture_compression_rgtc",Dt="EXT_texture_compression_bptc",Ks="WEBGL_compressed_texture_etc",js="WEBGL_compressed_texture_astc",Ys="WEBGL_compressed_texture_etc1",zs="WEBGL_compressed_texture_pvrtc",Gs="WEBGL_compressed_texture_atc",Vi="EXT_sRGB",Zs="EXT_texture_norm16",$s="WEBGL_color_buffer_float",Qs="EXT_color_buffer_float",Oe=function(t,r){return t.getExtension(r)},Ge=function(t,r){return r.every(function(n){return t.getExtension(n)})},Yr={"texture-blend-float-webgl1":function(t){return H(t)?!0:Oe(t,"EXT_float_blend")},"texture-formats-srgb-webgl1":function(t){return H(t)?!0:Oe(t,Vi)},"texture-formats-depth-webgl1":function(t){return H(t)?!0:Oe(t,"WEBGL_depth_texture")},"texture-formats-float32-webgl1":function(t){return H(t)?!0:Oe(t,"OES_texture_float")},"texture-formats-float16-webgl1":function(t){return H(t)?!0:Oe(t,"OES_texture_half_float")},"texture-formats-norm16-webgl":function(t){return H(t)?Oe(t,Zs):!1},"texture-filter-linear-float32-webgl":function(t){return Oe(t,"OES_texture_float_linear")},"texture-filter-linear-float16-webgl":function(t){return Oe(t,"OES_texture_half_float_linear")},"texture-filter-anisotropic-webgl":function(t){return Oe(t,"EXT_texture_filter_anisotropic")},"texture-renderable-float32-webgl":function(t){return Oe(t,"EXT_color_buffer_float")},"texture-renderable-float16-webgl":function(t){return Oe(t,"EXT_color_buffer_half_float")},"texture-compression-bc":function(t){return Ge(t,[Bt,Mt,Et,Dt])},"texture-compression-bc5-webgl":function(t){return Ge(t,[Et])},"texture-compression-etc2":function(t){return Ge(t,[Ks])},"texture-compression-astc":function(t){return Ge(t,[js])},"texture-compression-etc1-webgl":function(t){return Ge(t,[Ys])},"texture-compression-pvrtc-webgl":function(t){return Ge(t,[zs])},"texture-compression-atc-webgl":function(t){return Ge(t,[Gs])}};function qs(e,t){var r;return((r=Yr[t])===null||r===void 0?void 0:r.call(Yr,e))||!1}function ki(e){var t=Object.keys(Yr);return t.filter(function(r){return qs(e,r)})}var nr={"rgb8unorm-unsized":{gl:a.RGB,gl1:a.RGB,b:4,c:2,bpp:4,dataFormat:a.RGB,types:[a.UNSIGNED_BYTE,a.UNSIGNED_SHORT_5_6_5]},"rgba8unorm-unsized":{gl:a.RGBA,gl1:a.RGBA,b:4,c:2,bpp:4,dataFormat:a.RGBA,types:[a.UNSIGNED_BYTE,a.UNSIGNED_SHORT_4_4_4_4,a.UNSIGNED_SHORT_5_5_5_1]},r8unorm:{gl:a.R8,b:1,c:1},r8snorm:{gl:a.R8_SNORM,b:1,c:1},r8uint:{gl:a.R8UI,b:1,c:1},r8sint:{gl:a.R8I,b:1,c:1},rg8unorm:{gl:a.RG8,b:2,c:2},rg8snorm:{gl:a.RG8_SNORM,b:2,c:2},rg8uint:{gl:a.RG8UI,b:2,c:2},rg8sint:{gl:a.RG8I,b:2,c:2},r16uint:{gl:a.R16UI,b:2,c:1},r16sint:{gl:a.R16I,b:2,c:1},r16float:{gl:a.R16F,b:2,c:1,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},"r16unorm-webgl":{gl:a.R16_EXT,b:2,c:1,f:"texture-formats-norm16-webgl"},"r16snorm-webgl":{gl:a.R16_SNORM_EXT,b:2,c:1,f:"texture-formats-norm16-webgl"},"rgba4unorm-webgl":{gl:a.RGBA4,b:2,c:4,wgpu:!1},"rgb565unorm-webgl":{gl:a.RGB565,b:2,c:4,wgpu:!1},"rgb5a1unorm-webgl":{gl:a.RGB5_A1,b:2,c:4,wgpu:!1},"rbg8unorm-webgl":{gl:a.RGB8,b:3,c:3,wgpu:!1},"rbg8snorm-webgl":{gl:a.RGB8_SNORM,b:3,c:3,wgpu:!1},rgba8unorm:{gl:a.RGBA8,gl1:a.RGBA,b:4,c:2,bpp:4},"rgba8unorm-srgb":{gl:a.SRGB8_ALPHA8,gl1:a.SRGB_ALPHA_EXT,b:4,c:4,gl1ext:Vi,bpp:4},rgba8snorm:{gl:a.RGBA8_SNORM,b:4,c:4},rgba8uint:{gl:a.RGBA8UI,b:4,c:4,bpp:4},rgba8sint:{gl:a.RGBA8I,b:4,c:4,bpp:4},bgra8unorm:{b:4,c:4},"bgra8unorm-srgb":{b:4,c:4},rg16uint:{gl:a.RG16UI,b:4,c:1,bpp:4},rg16sint:{gl:a.RG16I,b:4,c:2,bpp:4},rg16float:{gl:a.RG16F,bpp:4,b:4,c:2,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},"rg16unorm-webgl":{gl:a.RG16_EXT,b:2,c:2,f:"texture-formats-norm16-webgl"},"rg16snorm-webgl":{gl:a.RG16_SNORM_EXT,b:2,c:2,f:"texture-formats-norm16-webgl"},r32uint:{gl:a.R32UI,b:4,c:1,bpp:4},r32sint:{gl:a.R32I,b:4,c:1,bpp:4},r32float:{gl:a.R32F,bpp:4,b:4,c:1,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl"},rgb9e5ufloat:{gl:a.RGB9_E5,b:4,c:3,p:1,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},rg11b10ufloat:{gl:a.R11F_G11F_B10F,b:4,c:3,p:1,render:"texture-renderable-float32-webgl"},rgb10a2unorm:{gl:a.RGB10_A2,b:4,c:4,p:1},"rgb10a2unorm-webgl":{b:4,c:4,gl:a.RGB10_A2UI,p:1,wgpu:!1,bpp:4},"rgb16unorm-webgl":{gl:a.RGB16_EXT,b:2,c:3,f:"texture-formats-norm16-webgl"},"rgb16snorm-webgl":{gl:a.RGB16_SNORM_EXT,b:2,c:3,f:"texture-formats-norm16-webgl"},rg32uint:{gl:a.RG32UI,b:8,c:2},rg32sint:{gl:a.RG32I,b:8,c:2},rg32float:{gl:a.RG32F,b:8,c:2,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl"},rgba16uint:{gl:a.RGBA16UI,b:8,c:4},rgba16sint:{gl:a.RGBA16I,b:8,c:4},rgba16float:{gl:a.RGBA16F,gl1:a.RGBA,b:8,c:4,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},"rgba16unorm-webgl":{gl:a.RGBA16_EXT,b:2,c:4,f:"texture-formats-norm16-webgl"},"rgba16snorm-webgl":{gl:a.RGBA16_SNORM_EXT,b:2,c:4,f:"texture-formats-norm16-webgl"},"rgb32float-webgl":{gl:a.RGB32F,gl1:a.RGB,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",gl2ext:Qs,gl1ext:$s,dataFormat:a.RGB,types:[a.FLOAT]},rgba32uint:{gl:a.RGBA32UI,b:16,c:4},rgba32sint:{gl:a.RGBA32I,b:16,c:4},rgba32float:{gl:a.RGBA32F,gl1:a.RGBA,b:16,c:4,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl"},stencil8:{gl:a.STENCIL_INDEX8,b:1,c:1,attachment:a.STENCIL_ATTACHMENT},depth16unorm:{gl:a.DEPTH_COMPONENT16,gl1:a.DEPTH_COMPONENT16,b:2,c:1,attachment:a.DEPTH_ATTACHMENT},depth24plus:{gl:a.DEPTH_COMPONENT24,b:3,c:1,attachment:a.DEPTH_ATTACHMENT},depth32float:{gl:a.DEPTH_COMPONENT32F,b:4,c:1,attachment:a.DEPTH_ATTACHMENT},"depth24plus-stencil8":{b:4,gl:a.UNSIGNED_INT_24_8,gl1:a.DEPTH_STENCIL,c:2,p:1,attachment:a.DEPTH_STENCIL_ATTACHMENT},"depth24unorm-stencil8":{gl:a.DEPTH24_STENCIL8,b:4,c:2,p:1,attachment:a.DEPTH_STENCIL_ATTACHMENT},"depth32float-stencil8":{gl:a.DEPTH32F_STENCIL8,b:5,c:2,p:1,attachment:a.DEPTH_STENCIL_ATTACHMENT},"bc1-rgb-unorm-webgl":{gl:a.COMPRESSED_RGB_S3TC_DXT1_EXT,x:Bt,f:ue},"bc1-rgb-unorm-srgb-webgl":{gl:a.COMPRESSED_SRGB_S3TC_DXT1_EXT,x:Mt,f:ue},"bc1-rgba-unorm":{gl:a.COMPRESSED_RGBA_S3TC_DXT1_EXT,x:Bt,f:ue},"bc1-rgba-unorm-srgb":{gl:a.COMPRESSED_SRGB_S3TC_DXT1_EXT,x:Mt,f:ue},"bc2-rgba-unorm":{gl:a.COMPRESSED_RGBA_S3TC_DXT3_EXT,x:Bt,f:ue},"bc2-rgba-unorm-srgb":{gl:a.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,x:Mt,f:ue},"bc3-rgba-unorm":{gl:a.COMPRESSED_RGBA_S3TC_DXT5_EXT,x:Bt,f:ue},"bc3-rgba-unorm-srgb":{gl:a.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,x:Mt,f:ue},"bc4-r-unorm":{gl:a.COMPRESSED_RED_RGTC1_EXT,x:Et,f:ue},"bc4-r-snorm":{gl:a.COMPRESSED_SIGNED_RED_RGTC1_EXT,x:Et,f:ue},"bc5-rg-unorm":{gl:a.COMPRESSED_RED_GREEN_RGTC2_EXT,x:Et,f:ue},"bc5-rg-snorm":{gl:a.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,x:Et,f:ue},"bc6h-rgb-ufloat":{gl:a.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT,x:Dt,f:ue},"bc6h-rgb-float":{gl:a.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT,x:Dt,f:ue},"bc7-rgba-unorm":{gl:a.COMPRESSED_RGBA_BPTC_UNORM_EXT,x:Dt,f:ue},"bc7-rgba-unorm-srgb":{gl:a.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT,x:Dt,f:ue},"etc2-rgb8unorm":{gl:a.COMPRESSED_RGB8_ETC2,f:ye},"etc2-rgb8unorm-srgb":{gl:a.COMPRESSED_SRGB8_ETC2,f:ye},"etc2-rgb8a1unorm":{gl:a.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,f:ye},"etc2-rgb8a1unorm-srgb":{gl:a.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,f:ye},"etc2-rgba8unorm":{gl:a.COMPRESSED_RGBA8_ETC2_EAC,f:ye},"etc2-rgba8unorm-srgb":{gl:a.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,f:ye},"eac-r11unorm":{gl:a.COMPRESSED_R11_EAC,f:ye},"eac-r11snorm":{gl:a.COMPRESSED_SIGNED_R11_EAC,f:ye},"eac-rg11unorm":{gl:a.COMPRESSED_RG11_EAC,f:ye},"eac-rg11snorm":{gl:a.COMPRESSED_SIGNED_RG11_EAC,f:ye},"astc-4x4-unorm":{gl:a.COMPRESSED_RGBA_ASTC_4x4_KHR,f:Y},"astc-4x4-unorm-srgb":{gl:a.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,f:Y},"astc-5x4-unorm":{gl:a.COMPRESSED_RGBA_ASTC_5x4_KHR,f:Y},"astc-5x4-unorm-srgb":{gl:a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR,f:Y},"astc-5x5-unorm":{gl:a.COMPRESSED_RGBA_ASTC_5x5_KHR,f:Y},"astc-5x5-unorm-srgb":{gl:a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,f:Y},"astc-6x5-unorm":{gl:a.COMPRESSED_RGBA_ASTC_6x5_KHR,f:Y},"astc-6x5-unorm-srgb":{gl:a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,f:Y},"astc-6x6-unorm":{gl:a.COMPRESSED_RGBA_ASTC_6x6_KHR,f:Y},"astc-6x6-unorm-srgb":{gl:a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,f:Y},"astc-8x5-unorm":{gl:a.COMPRESSED_RGBA_ASTC_8x5_KHR,f:Y},"astc-8x5-unorm-srgb":{gl:a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,f:Y},"astc-8x6-unorm":{gl:a.COMPRESSED_RGBA_ASTC_8x6_KHR,f:Y},"astc-8x6-unorm-srgb":{gl:a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,f:Y},"astc-8x8-unorm":{gl:a.COMPRESSED_RGBA_ASTC_8x8_KHR,f:Y},"astc-8x8-unorm-srgb":{gl:a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,f:Y},"astc-10x5-unorm":{gl:a.COMPRESSED_RGBA_ASTC_10x10_KHR,f:Y},"astc-10x5-unorm-srgb":{gl:a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,f:Y},"astc-10x6-unorm":{gl:a.COMPRESSED_RGBA_ASTC_10x6_KHR,f:Y},"astc-10x6-unorm-srgb":{gl:a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,f:Y},"astc-10x8-unorm":{gl:a.COMPRESSED_RGBA_ASTC_10x8_KHR,f:Y},"astc-10x8-unorm-srgb":{gl:a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,f:Y},"astc-10x10-unorm":{gl:a.COMPRESSED_RGBA_ASTC_10x10_KHR,f:Y},"astc-10x10-unorm-srgb":{gl:a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,f:Y},"astc-12x10-unorm":{gl:a.COMPRESSED_RGBA_ASTC_12x10_KHR,f:Y},"astc-12x10-unorm-srgb":{gl:a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,f:Y},"astc-12x12-unorm":{gl:a.COMPRESSED_RGBA_ASTC_12x12_KHR,f:Y},"astc-12x12-unorm-srgb":{gl:a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,f:Y},"pvrtc-rgb4unorm-webgl":{gl:a.COMPRESSED_RGB_PVRTC_4BPPV1_IMG,f:rr},"pvrtc-rgba4unorm-webgl":{gl:a.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,f:rr},"pvrtc-rbg2unorm-webgl":{gl:a.COMPRESSED_RGB_PVRTC_2BPPV1_IMG,f:rr},"pvrtc-rgba2unorm-webgl":{gl:a.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,f:rr},"etc1-rbg-unorm-webgl":{gl:a.COMPRESSED_RGB_ETC1_WEBGL,f:ks},"atc-rgb-unorm-webgl":{gl:a.COMPRESSED_RGB_ATC_WEBGL,f:jr},"atc-rgba-unorm-webgl":{gl:a.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,f:jr},"atc-rgbai-unorm-webgl":{gl:a.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL,f:jr}};function Ze(e){if(typeof e=="string")return e;var t=Object.entries(nr).find(function(r){var n=L(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 ir(e,t){var r=Ze(t),n=nr[r];if(!n||(H(e)?n.gl===void 0:n.gl1===void 0))return!1;var i=n.x||H(e)&&n.gl2ext||n.gl1ext;return i?Boolean(e.getExtension(i)):!0}function Ki(e,t){var r=Ze(t);if(!ir(e,r))return!1;try{var n=Qt(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 ji(e,t){var r=Ze(t);return!(!ir(e,r)||typeof r=="number")}function Ut(e,t){var r=Ze(t),n=nr[r],i=H(e)?n?.gl:n?.gl1;if(typeof r=="number")return i||r;if(i===void 0)throw new Error("Unsupported texture format ".concat(r));return i}function ar(e,t){var r=Ze(t),n=Ut(e,r),i=Qt(r);return{format:n,dataFormat:tu(i.format,i.integer,i.normalized,n),type:Gr(i.dataType),compressed:i.compressed}}function Yi(e){var t=Ze(e);if(typeof t=="number")throw new Error("unsupported depth stencil format");var r=nr[t],n=r.attachment;if(!n)throw new Error("not a depth stencil format");return n}function or(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e.RGBA,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:a.RGBA,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:a.UNSIGNED_BYTE,i=null,o=null;try{i=e.createTexture(),e.bindTexture(a.TEXTURE_2D,i);var u=0,_=1,f=1,E=0,c=new Uint8Array([0,0,255,255]);e.texImage2D(e.TEXTURE_2D,u,t,_,f,E,r,n,c),o=e.createFramebuffer(),e.bindFramebuffer(a.FRAMEBUFFER,o),e.framebufferTexture2D(a.FRAMEBUFFER,a.COLOR_ATTACHMENT0,a.TEXTURE_2D,i,0);var l=e.checkFramebufferStatus(a.FRAMEBUFFER)===a.FRAMEBUFFER_COMPLETE;return e.bindTexture(a.TEXTURE_2D,null),l}finally{e.deleteTexture(i),e.deleteFramebuffer(o)}}var Js=(Ee={},s(Ee,a.RED,1),s(Ee,a.RED_INTEGER,1),s(Ee,a.RG,2),s(Ee,a.RG_INTEGER,2),s(Ee,a.RGB,3),s(Ee,a.RGB_INTEGER,3),s(Ee,a.RGBA,4),s(Ee,a.RGBA_INTEGER,4),s(Ee,a.DEPTH_COMPONENT,1),s(Ee,a.DEPTH_STENCIL,1),s(Ee,a.ALPHA,1),s(Ee,a.LUMINANCE,1),s(Ee,a.LUMINANCE_ALPHA,2),Ee),eu=(Pe={},s(Pe,a.FLOAT,4),s(Pe,a.UNSIGNED_INT,4),s(Pe,a.INT,4),s(Pe,a.UNSIGNED_SHORT,2),s(Pe,a.SHORT,2),s(Pe,a.HALF_FLOAT,2),s(Pe,a.BYTE,1),s(Pe,a.UNSIGNED_BYTE,1),Pe);function zr(e,t){var r=Ze(t),n=ar(e,r),i=Js[n.dataFormat]||4,o=eu[n.type]||1;return i*o}function tu(e,t,r,n){if(n===a.RGBA||n===a.RGB)return n;switch(e){case"r":return t&&!r?a.RED_INTEGER:a.RED;case"rg":return t&&!r?a.RG_INTEGER:a.RG;case"rgb":return t&&!r?a.RGB_INTEGER:a.RGB;case"rgba":return t&&!r?a.RGBA_INTEGER:a.RGBA;default:return a.RGBA}}function Gr(e){switch(e){case"uint8":return a.UNSIGNED_BYTE;case"sint8":return a.BYTE;case"uint16":return a.UNSIGNED_SHORT;case"sint16":return a.SHORT;case"uint32":return a.UNSIGNED_INT;case"sint32":return a.INT;case"float16":return a.HALF_FLOAT;case"float32":return a.FLOAT;default:return a.UNSIGNED_BYTE}}function ru(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=nu(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(E){throw E},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
19
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,u=!1,_;return{s:function(){r=r.call(e)},n:function(){var E=r.next();return o=E.done,E},e:function(E){u=!0,_=E},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(u)throw _}}}}function nu(e,t){if(e){if(typeof e=="string")return zi(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 zi(e,t)}}function zi(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 Gi(e){var t=iu(e),r=ru(ki(e)),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;t.add(i)}}catch(o){r.e(o)}finally{r.f()}return t}function iu(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(Zi);r<n.length;r++){var i=n[r];au(e,i)&&t.add(i)}return t}function au(e,t){var r=Zi[t];if(!r)return!1;var n=r||[],i=L(n,2),o=i[0],u=i[1],_=H(e)?u:o;if(typeof _=="boolean")return _;switch(t){case"texture-renderable-rgba32float-webgl":return H(e)?Boolean(e.getExtension(_)):or(e);case"glsl-derivatives":return $r(e,_);case"glsl-frag-data":return $r(e,_,{behavior:"require"});case"glsl-frag-depth":return $r(e,_);default:return Boolean(e.getExtension(_))}}var Zr={};function $r(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!Li(r))return!0;if(t in Zr)return Zr[t];var n=r.behavior||"enable",i="#extension GL_".concat(t," : ").concat(n,`
20
- void main(void) {}`),o=e.createShader(e.VERTEX_SHADER);if(!o)throw new Error("shader");e.shaderSource(o,i),e.compileShader(o);var u=e.getShaderParameter(o,e.COMPILE_STATUS);return e.deleteShader(o),Zr[t]=u,u}var Zi={webgl:[!0,!0],webgl2:[!1,!0],"timer-query-webgl":["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],"vertex-array-object-webgl1":["OES_vertex_array_object",!0],"instanced-rendering-webgl1":["ANGLE_instanced_arrays",!0],"multiple-render-targets-webgl1":["WEBGL_draw_buffers",!0],"index-uint32-webgl1":["OES_element_index_uint",!0],"blend-minmax-webgl1":["EXT_blend_minmax",!0],"texture-blend-float-webgl1":["EXT_float_blend","EXT_float_blend"],"texture-formats-srgb-webgl1":["EXT_sRGB",!0],"texture-formats-depth-webgl1":["WEBGL_depth_texture",!0],"texture-formats-float32-webgl1":["OES_texture_float",!0],"texture-formats-float16-webgl1":["OES_texture_half_float",!0],"texture-filter-linear-float32-webgl":["OES_texture_float_linear","OES_texture_float_linear"],"texture-filter-linear-float16-webgl":["OES_texture_half_float_linear","OES_texture_half_float_linear"],"texture-filter-anisotropic-webgl":["EXT_texture_filter_anisotropic","EXT_texture_filter_anisotropic"],"texture-renderable-rgba32float-webgl":["WEBGL_color_buffer_float","EXT_color_buffer_float"],"texture-renderable-float32-webgl":[!1,"EXT_color_buffer_float"],"texture-renderable-float16-webgl":["EXT_color_buffer_half_float","EXT_color_buffer_half_float"],"glsl-frag-data":["WEBGL_draw_buffers",!0],"glsl-frag-depth":["EXT_frag_depth",!0],"glsl-derivatives":["OES_standard_derivatives",!0],"glsl-texture-lod":["EXT_shader_texture_lod",!0]};function $i(e){var t=It(e);return{maxTextureDimension1D:0,maxTextureDimension2D:e.getParameter(a.MAX_TEXTURE_SIZE),maxTextureDimension3D:t?t.getParameter(a.MAX_3D_TEXTURE_SIZE):0,maxTextureArrayLayers:t?t.getParameter(a.MAX_ARRAY_TEXTURE_LAYERS):0,maxBindGroups:1,maxDynamicUniformBuffersPerPipelineLayout:0,maxDynamicStorageBuffersPerPipelineLayout:0,maxSampledTexturesPerShaderStage:e.getParameter(a.MAX_VERTEX_TEXTURE_IMAGE_UNITS),maxSamplersPerShaderStage:e.getParameter(a.MAX_COMBINED_TEXTURE_IMAGE_UNITS),maxStorageBuffersPerShaderStage:0,maxStorageTexturesPerShaderStage:0,maxUniformBuffersPerShaderStage:t?t.getParameter(a.MAX_UNIFORM_BUFFER_BINDINGS):0,maxUniformBufferBindingSize:t?t.getParameter(a.MAX_UNIFORM_BLOCK_SIZE):0,maxStorageBufferBindingSize:0,minUniformBufferOffsetAlignment:t?t.getParameter(a.UNIFORM_BUFFER_OFFSET_ALIGNMENT):0,minStorageBufferOffsetAlignment:0,maxVertexBuffers:0,maxVertexAttributes:e.getParameter(a.MAX_VERTEX_ATTRIBS),maxVertexBufferArrayStride:2048,maxInterStageShaderComponents:t?t.getParameter(a.MAX_VARYING_COMPONENTS):0,maxComputeWorkgroupStorageSize:0,maxComputeInvocationsPerWorkgroup:0,maxComputeWorkgroupSizeX:0,maxComputeWorkgroupSizeY:0,maxComputeWorkgroupSizeZ:0,maxComputeWorkgroupsPerDimension:0}}function Qi(e){var t,r=It(e);function n(o){return e.getParameter(o)}function i(o,u){return r?r.getParameter(o):u||0}return t={},s(t,a.ALIASED_LINE_WIDTH_RANGE,n(a.ALIASED_LINE_WIDTH_RANGE)),s(t,a.ALIASED_POINT_SIZE_RANGE,n(a.ALIASED_POINT_SIZE_RANGE)),s(t,a.MAX_TEXTURE_SIZE,n(a.MAX_TEXTURE_SIZE)),s(t,a.MAX_CUBE_MAP_TEXTURE_SIZE,n(a.MAX_CUBE_MAP_TEXTURE_SIZE)),s(t,a.MAX_TEXTURE_IMAGE_UNITS,n(a.MAX_TEXTURE_IMAGE_UNITS)),s(t,a.MAX_COMBINED_TEXTURE_IMAGE_UNITS,n(a.MAX_COMBINED_TEXTURE_IMAGE_UNITS)),s(t,a.MAX_VERTEX_TEXTURE_IMAGE_UNITS,n(a.MAX_VERTEX_TEXTURE_IMAGE_UNITS)),s(t,a.MAX_RENDERBUFFER_SIZE,n(a.MAX_RENDERBUFFER_SIZE)),s(t,a.MAX_VARYING_VECTORS,n(a.MAX_VARYING_VECTORS)),s(t,a.MAX_VERTEX_ATTRIBS,n(a.MAX_VERTEX_ATTRIBS)),s(t,a.MAX_VERTEX_UNIFORM_VECTORS,n(a.MAX_VERTEX_UNIFORM_VECTORS)),s(t,a.MAX_FRAGMENT_UNIFORM_VECTORS,n(a.MAX_FRAGMENT_UNIFORM_VECTORS)),s(t,a.MAX_VIEWPORT_DIMS,n(a.MAX_VIEWPORT_DIMS)),s(t,a.MAX_TEXTURE_MAX_ANISOTROPY_EXT,n(a.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),s(t,a.MAX_3D_TEXTURE_SIZE,i(a.MAX_3D_TEXTURE_SIZE)),s(t,a.MAX_ARRAY_TEXTURE_LAYERS,i(a.MAX_ARRAY_TEXTURE_LAYERS)),s(t,a.MAX_CLIENT_WAIT_TIMEOUT_WEBGL,i(a.MAX_CLIENT_WAIT_TIMEOUT_WEBGL)),s(t,a.MAX_COLOR_ATTACHMENTS,i(a.MAX_COLOR_ATTACHMENTS)),s(t,a.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,i(a.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS)),s(t,a.MAX_COMBINED_UNIFORM_BLOCKS,i(a.MAX_COMBINED_UNIFORM_BLOCKS)),s(t,a.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,i(a.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS)),s(t,a.MAX_DRAW_BUFFERS,i(a.MAX_DRAW_BUFFERS)),s(t,a.MAX_ELEMENT_INDEX,i(a.MAX_ELEMENT_INDEX)),s(t,a.MAX_ELEMENTS_INDICES,i(a.MAX_ELEMENTS_INDICES)),s(t,a.MAX_ELEMENTS_VERTICES,i(a.MAX_ELEMENTS_VERTICES)),s(t,a.MAX_FRAGMENT_INPUT_COMPONENTS,i(a.MAX_FRAGMENT_INPUT_COMPONENTS)),s(t,a.MAX_FRAGMENT_UNIFORM_BLOCKS,i(a.MAX_FRAGMENT_UNIFORM_BLOCKS)),s(t,a.MAX_FRAGMENT_UNIFORM_COMPONENTS,i(a.MAX_FRAGMENT_UNIFORM_COMPONENTS)),s(t,a.MAX_SAMPLES,i(a.MAX_SAMPLES)),s(t,a.MAX_SERVER_WAIT_TIMEOUT,i(a.MAX_SERVER_WAIT_TIMEOUT)),s(t,a.MAX_TEXTURE_LOD_BIAS,i(a.MAX_TEXTURE_LOD_BIAS)),s(t,a.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,i(a.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS)),s(t,a.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,i(a.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS)),s(t,a.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,i(a.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS)),s(t,a.MAX_UNIFORM_BLOCK_SIZE,i(a.MAX_UNIFORM_BLOCK_SIZE)),s(t,a.MAX_UNIFORM_BUFFER_BINDINGS,i(a.MAX_UNIFORM_BUFFER_BINDINGS)),s(t,a.MAX_VARYING_COMPONENTS,i(a.MAX_VARYING_COMPONENTS)),s(t,a.MAX_VERTEX_OUTPUT_COMPONENTS,i(a.MAX_VERTEX_OUTPUT_COMPONENTS)),s(t,a.MAX_VERTEX_UNIFORM_BLOCKS,i(a.MAX_VERTEX_UNIFORM_BLOCKS)),s(t,a.MAX_VERTEX_UNIFORM_COMPONENTS,i(a.MAX_VERTEX_UNIFORM_COMPONENTS)),s(t,a.MIN_PROGRAM_TEXEL_OFFSET,i(a.MIN_PROGRAM_TEXEL_OFFSET)),s(t,a.MAX_PROGRAM_TEXEL_OFFSET,i(a.MAX_PROGRAM_TEXEL_OFFSET)),s(t,a.UNIFORM_BUFFER_OFFSET_ALIGNMENT,i(a.UNIFORM_BUFFER_OFFSET_ALIGNMENT)),t}var nn=He(we(),1);function $e(e,t,r){var n=ce.attach(e),i=n.gl;if(ou(t))return r(e);var o=t.nocatch,u=o===void 0?!0:o;xe(i),Ue(i,t);var _;if(u)_=r(i),be(i);else try{_=r(i)}finally{be(i)}return _}function ou(e){for(var t in e)return!1;return!0}function qi(e,t,r){if(it(t))return r(e);xe(e.gl);try{return Ue(e,t),r(e)}finally{be(e.gl)}}function ur(e,t,r){if(it(t))return r(e);xe(e.gl);try{return qr(e,t),r(e)}finally{be(e.gl)}}function qr(e,t){var r=ce.attach(e),n=r.gl;if(t.cullMode)switch(t.cullMode){case"none":n.disable(a.CULL_FACE);break;case"front":n.enable(a.CULL_FACE),n.cullFace(a.FRONT);break;case"back":n.enable(a.CULL_FACE),n.cullFace(a.BACK);break}if(t.frontFace&&n.frontFace(Jr("frontFace",t.frontFace,{ccw:a.CCW,cw:a.CW})),t.depthBias!==void 0&&n.polygonOffset(t.depthBias,t.depthBiasSlopeScale||0),t.depthWriteEnabled!==void 0&&n.depthMask(uu("depthWriteEnabled",t.depthWriteEnabled)),t.depthCompare&&(t.depthCompare!=="always"?n.enable(a.DEPTH_TEST):n.disable(a.DEPTH_TEST),n.depthFunc(sr("depthCompare",t.depthCompare))),t.stencilWriteMask){var i=t.stencilWriteMask;n.stencilMaskSeparate(a.FRONT,i),n.stencilMaskSeparate(a.BACK,i)}if(t.stencilReadMask&&P.warn("stencilReadMask not supported under WebGL"),t.stencilCompare){var o=t.stencilReadMask||4294967295,u=sr("depthCompare",t.stencilCompare);t.stencilCompare!=="always"?n.enable(a.STENCIL_TEST):n.disable(a.STENCIL_TEST),n.stencilFuncSeparate(a.FRONT,u,0,o),n.stencilFuncSeparate(a.BACK,u,0,o)}if(t.stencilPassOperation&&t.stencilFailOperation&&t.stencilDepthFailOperation){var _=Qr("stencilPassOperation",t.stencilPassOperation),f=Qr("stencilFailOperation",t.stencilFailOperation),E=Qr("stencilDepthFailOperation",t.stencilDepthFailOperation);n.stencilOpSeparate(a.FRONT,f,E,_),n.stencilOpSeparate(a.BACK,f,E,_)}}function sr(e,t){return Jr(e,t,{never:a.NEVER,less:a.LESS,equal:a.EQUAL,"less-equal":a.LEQUAL,greater:a.GREATER,"not-equal":a.NOTEQUAL,"greater-equal":a.GEQUAL,always:a.ALWAYS})}function Qr(e,t){return Jr(e,t,{keep:a.KEEP,zero:a.ZERO,replace:a.REPLACE,invert:a.INVERT,"increment-clamp":a.INCR,"decrement-clamp":a.DECR,"increment-wrap":a.INCR_WRAP,"decrement-wrap":a.DECR_WRAP})}function su(e,t){return"Illegal parameter ".concat(t," for ").concat(e)}function Jr(e,t,r){if(!(t in r))throw new Error(su(e,t));return r[t]}function uu(e,t){return t}function Ji(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 _u(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ji(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ji(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function _r(e){var t={};return e.addressModeU&&(t[a.TEXTURE_WRAP_S]=en(e.addressModeU)),e.addressModeV&&(t[a.TEXTURE_WRAP_T]=en(e.addressModeV)),e.addressModeW&&(t[a.TEXTURE_WRAP_R]=en(e.addressModeW)),e.magFilter&&(t[a.TEXTURE_MAG_FILTER]=ea(e.magFilter)),(e.minFilter||e.mipmapFilter)&&(t[a.TEXTURE_MIN_FILTER]=fu(e.minFilter||"linear",e.mipmapFilter)),e.lodMinClamp!==void 0&&(t[a.TEXTURE_MIN_LOD]=e.lodMinClamp),e.lodMaxClamp!==void 0&&(t[a.TEXTURE_MAX_LOD]=e.lodMaxClamp),e.type==="comparison-sampler"&&(t[a.TEXTURE_COMPARE_MODE]=a.COMPARE_REF_TO_TEXTURE),e.compare&&(t[a.TEXTURE_COMPARE_FUNC]=sr("compare",e.compare)),e.maxAnisotropy&&(t[a.TEXTURE_MAX_ANISOTROPY_EXT]=e.maxAnisotropy),t}function en(e){switch(e){case"clamp-to-edge":return a.CLAMP_TO_EDGE;case"repeat":return a.REPEAT;case"mirror-repeat":return a.MIRRORED_REPEAT}}function ea(e){switch(e){case"nearest":return a.NEAREST;case"linear":return a.LINEAR}}function fu(e,t){if(!t)return ea(e);switch(e){case"nearest":return t==="nearest"?a.NEAREST_MIPMAP_NEAREST:a.NEAREST_MIPMAP_LINEAR;case"linear":return t==="nearest"?a.LINEAR_MIPMAP_NEAREST:a.LINEAR_MIPMAP_LINEAR}}function ta(e){var t=_u({},e);return e[a.TEXTURE_MIN_FILTER]!==a.NEAREST&&(t[a.TEXTURE_MIN_FILTER]=a.LINEAR),t[a.TEXTURE_WRAP_S]=a.CLAMP_TO_EDGE,t[a.TEXTURE_WRAP_T]=a.CLAMP_TO_EDGE,t}var tn=He(we(),1);function ra(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 na(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ra(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ra(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Eu(e){var t=cu();return function(){var n=v(e),i;if(t){var o=v(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return w(this,i)}}function cu(){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 lu=10,me=function(e){x(r,e);var t=Eu(r);function r(n){var i,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};I(this,r),i=t.call(this,n,o),s(A(i),"device",void 0),s(A(i),"gl",void 0),s(A(i),"gl2",void 0),s(A(i),"handle",void 0),s(A(i),"target",void 0),s(A(i),"byteLength",void 0),s(A(i),"bytesUsed",void 0),s(A(i),"debugData",null),s(A(i),"webglUsage",void 0),i.device=n,i.gl=i.device.gl,i.gl2=i.device.gl2;var u=fe(o)==="object"?o.handle:void 0;return i.handle=u||i.gl.createBuffer(),n.setSpectorMetadata(i.handle,na(na({},i.props),{},{data:fe(i.props.data)})),i.target=i.props.target||Ru(i.props.usage),i.webglUsage=i.props.webglUsage||Au(i.props.usage),i.debugData=null,o.data?i._initWithData(o.data,o.byteOffset,o.byteLength):i._initWithByteLength(o.byteLength||0),i}return b(r,[{key:"_initWithData",value:function(i){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:i.byteLength+o;U(ArrayBuffer.isView(i));var _=this._getWriteTarget();return this.gl.bindBuffer(_,this.handle),this.gl.bufferData(_,u,this.webglUsage),this.gl.bufferSubData(_,o,i),this.gl.bindBuffer(_,null),this.debugData=i.slice(0,lu),this.bytesUsed=u,this.byteLength=u,this.trackAllocatedMemory(u),this}},{key:"_initWithByteLength",value:function(i){U(i>=0);var o=i;i===0&&(o=new Float32Array(0));var u=this._getWriteTarget();return this.gl.bindBuffer(u,this.handle),this.gl.bufferData(u,o,this.webglUsage),this.gl.bindBuffer(u,null),this.debugData=null,this.bytesUsed=i,this.byteLength=i,this}},{key:"destroy",value:function(){!this.destroyed&&this.handle&&(this.removeStats(),this.trackDeallocatedMemory(),this.gl.deleteBuffer(this.handle),this.destroyed=!0)}},{key:"write",value:function(i){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,u=0,_=i.byteLength,f=this.device.isWebGL2?a.COPY_WRITE_BUFFER:this.target;this.gl.bindBuffer(f,this.handle),u!==0||_!==void 0?(this.device.assertWebGL2(),this.gl.bufferSubData(this.target,o,i,u,_)):this.gl.bufferSubData(f,o,i),this.gl.bindBuffer(f,null)}},{key:"readAsync",value:function(){var n=oe(tn.default.mark(function o(){var u,_,f,E,c=arguments;return tn.default.wrap(function(R){for(;;)switch(R.prev=R.next){case 0:return u=c.length>0&&c[0]!==void 0?c[0]:0,_=c.length>1?c[1]:void 0,this.device.assertWebGL2(),f=new Uint8Array(_),E=0,this.gl.bindBuffer(a.COPY_READ_BUFFER,this.handle),this.gl2.getBufferSubData(a.COPY_READ_BUFFER,u,f,E,_),this.gl.bindBuffer(a.COPY_READ_BUFFER,null),R.abrupt("return",f);case 9:case"end":return R.stop()}},o,this)}));function i(){return n.apply(this,arguments)}return i}()},{key:"_invalidateDebugData",value:function(){this.debugData=null}},{key:"_getWriteTarget",value:function(){return this.target}},{key:"_getReadTarget",value:function(){return this.target}}]),r}(ne);function Ru(e){return e&ne.INDEX?a.ELEMENT_ARRAY_BUFFER:e&ne.VERTEX?a.ARRAY_BUFFER:e&ne.UNIFORM?a.UNIFORM_BUFFER:a.ARRAY_BUFFER}function Au(e){return e&ne.INDEX?a.STATIC_DRAW:e&ne.VERTEX?a.STATIC_DRAW:e&ne.UNIFORM?a.DYNAMIC_DRAW:a.DYNAMIC_DRAW}function Tu(e){var t=du();return function(){var n=v(e),i;if(t){var o=v(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return w(this,i)}}function du(){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 Qe=function(e){x(r,e);var t=Tu(r);function r(n,i){var o;return I(this,r),o=t.call(this,n,i),s(A(o),"device",void 0),s(A(o),"handle",void 0),s(A(o),"parameters",void 0),o.device=n,o.parameters=_r(i),o.device.isWebGL2&&(o.handle=o.handle||o.device.gl2.createSampler(),o._setSamplerParameters(o.parameters)),o}return b(r,[{key:"destroy",value:function(){this.handle&&(this.device.gl2.deleteSampler(this.handle),this.handle=void 0)}},{key:"toString",value:function(){return"Sampler(".concat(this.id,",").concat(JSON.stringify(this.props),")")}},{key:"_setSamplerParameters",value:function(i){for(var o=0,u=Object.entries(i);o<u.length;o++){var _=L(u[o],2),f=_[0],E=_[1],c=Number(f);switch(c){case a.TEXTURE_MIN_LOD:case a.TEXTURE_MAX_LOD:this.device.gl2.samplerParameterf(this.handle,c,E);break;default:this.device.gl2.samplerParameteri(this.handle,c,E);break}}}}]),r}(br);function mu(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=hu(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(E){throw E},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
21
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,u=!1,_;return{s:function(){r=r.call(e)},n:function(){var E=r.next();return o=E.done,E},e:function(E){u=!0,_=E},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(u)throw _}}}}function hu(e,t){if(e){if(typeof e=="string")return ia(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 ia(e,t)}}function ia(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 aa(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 rn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?aa(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):aa(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Su(e){var t=gu();return function(){var n=v(e),i;if(t){var o=v(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return w(this,i)}}function gu(){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 ve=function(e){x(r,e);var t=Su(r);function r(n,i){var o,u;return I(this,r),u=t.call(this,n,rn({format:a.RGBA},i)),s(A(u),"MAX_ATTRIBUTES",void 0),s(A(u),"device",void 0),s(A(u),"gl",void 0),s(A(u),"gl2",void 0),s(A(u),"handle",void 0),s(A(u),"data",void 0),s(A(u),"width",void 0),s(A(u),"height",void 0),s(A(u),"depth",void 0),s(A(u),"format",void 0),s(A(u),"type",void 0),s(A(u),"dataFormat",void 0),s(A(u),"mipmaps",void 0),s(A(u),"target",void 0),s(A(u),"textureUnit",void 0),s(A(u),"sampler",void 0),s(A(u),"loaded",!1),s(A(u),"_video",void 0),u.device=n,u.gl=u.device.gl,u.gl2=u.device.gl2,u.handle=u.props.handle||u.gl.createTexture(),u.device.setSpectorMetadata(u.handle,rn(rn({},u.props),{},{data:fe(u.props.data)})),u.target=Ou(u.props),u.loaded=!1,typeof((o=u.props)===null||o===void 0?void 0:o.data)=="string"&&Object.assign(u.props,{data:xr(u.props.data)}),u.initialize(u.props),Object.seal(A(u)),u}return b(r,[{key:"destroy",value:function(){this.handle&&(this.gl.deleteTexture(this.handle),this.removeStats(),this.trackDeallocatedMemory("Texture"),this.destroyed=!0)}},{key:"toString",value:function(){return"Texture(".concat(this.id,",").concat(this.width,"x").concat(this.height,")")}},{key:"initialize",value:function(){var i=this,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(this.props.dimension==="cube")return this.initializeCube(o);var u=o.data;if(u instanceof Promise)return u.then(function(m){return i.initialize(Object.assign({},o,{pixels:m,data:m}))}),this;var _=typeof HTMLVideoElement<"u"&&u instanceof HTMLVideoElement;if(_&&u.readyState<HTMLVideoElement.HAVE_METADATA)return this._video=null,u.addEventListener("loadeddata",function(){return i.initialize(o)}),this;var f=o.parameters,E=f===void 0?{}:f,c=o.pixels,l=c===void 0?null:c,R=o.recreate,d=R===void 0?!1:R,h=o.pixelStore,g=h===void 0?{}:h,N=o.textureUnit,C=N===void 0?void 0:N;u||(u=l);var F=o.width,B=o.height,V=o.dataFormat,k=o.type,ee=o.compressed,j=ee===void 0?!1:ee,_e=o.mipmaps,$=_e===void 0?!0:_e,Ae=o.depth,te=Ae===void 0?0:Ae,S=this._deduceParameters({format:o.format,type:k,dataFormat:V,compressed:j,data:u,width:F,height:B});F=S.width,B=S.height,j=S.compressed,V=S.dataFormat,k=S.type;var p=Ut(this.gl,o.format);return this.width=F,this.height=B,this.depth=te,this.format=p,this.type=k,this.dataFormat=V,this.textureUnit=C,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(a.TEXTURE0+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),$&&this.device.isWebGL1&&fr(this.width,this.height)&&(P.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaps"))(),$=!1),this.mipmaps=$,this.setImageData({data:u,width:F,height:B,depth:te,format:p,type:k,dataFormat:V,parameters:g,compressed:j}),this.setSampler(o.sampler),this._setSamplerParameters(E),$&&this.generateMipmap(),d&&(this.data=u),_&&(this._video={video:u,parameters:E,lastTime:u.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?u.currentTime:-1}),this}},{key:"initializeCube",value:function(i){var o=this,u=i.mipmaps,_=u===void 0?!0:u,f=i.parameters,E=f===void 0?{}:f;return this.setCubeMapImageData(i).then(function(){o.loaded=!0,_&&o.generateMipmap(i),o.setSampler(i.sampler),o._setSamplerParameters(E)}),this}},{key:"setSampler",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o;i instanceof Qe?(this.sampler=i,o=i.props):(this.sampler=new Qe(this.device,i),o=i);var u=_r(o);return this._setSamplerParameters(u),this}},{key:"resize",value:function(i){var o=i.height,u=i.width,_=i.mipmaps,f=_===void 0?!1:_;return u!==this.width||o!==this.height?this.initialize({width:u,height:o,format:this.format,type:this.type,dataFormat:this.dataFormat,mipmaps:f}):this}},{key:"update",value:function(){if(this._video){var i=this._video,o=i.video,u=i.parameters,_=i.lastTime;if(_===o.currentTime||o.readyState<HTMLVideoElement.HAVE_CURRENT_DATA)return;this.setSubImageData({data:o,parameters:u}),this.mipmaps&&this.generateMipmap(),this._video.lastTime=o.currentTime}}},{key:"generateMipmap",value:function(){var i=this,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.device.isWebGL1&&fr(this.width,this.height)?(P.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaping"))(),this):(this.mipmaps=!0,this.gl.bindTexture(this.target,this.handle),$e(this.gl,o,function(){i.gl.generateMipmap(i.target)}),this.gl.bindTexture(this.target,null),this)}},{key:"setImageData",value:function(i){var o=this;if(this.props.dimension==="3d")return this.setImageData3D(i);this.trackDeallocatedMemory("Texture");var u=i.target,_=u===void 0?this.target:u,f=i.pixels,E=f===void 0?null:f,c=i.level,l=c===void 0?0:c,R=i.format,d=R===void 0?this.format:R,h=i.offset,g=h===void 0?0:h,N=i.parameters,C=N===void 0?{}:N,F=i.data,B=F===void 0?null:F,V=i.type,k=V===void 0?this.type:V,ee=i.width,j=ee===void 0?this.width:ee,_e=i.height,$=_e===void 0?this.height:_e,Ae=i.dataFormat,te=Ae===void 0?this.dataFormat:Ae,S=i.compressed,p=S===void 0?!1:S;B||(B=E);var m=this._deduceParameters({format:this.props.format,type:k,dataFormat:te,compressed:p,data:B,width:j,height:$});k=m.type,te=m.dataFormat,p=m.compressed,j=m.width,$=m.height;var y=this.gl;y.bindTexture(this.target,this.handle);var D=null,M=this._getDataType({data:B,compressed:p});B=M.data,D=M.dataType;var K;if($e(this.gl,C,function(){switch(D){case"null":y.texImage2D(_,l,d,j,$,0,te,k,B);break;case"typed-array":y.texImage2D(_,l,d,j,$,0,te,k,B,g);break;case"buffer":K=o.device.assertWebGL2(),K.bindBuffer(a.PIXEL_UNPACK_BUFFER,B.handle||B),K.texImage2D(_,l,d,j,$,0,te,k,g),K.bindBuffer(a.PIXEL_UNPACK_BUFFER,null);break;case"browser-object":o.device.isWebGL2?y.texImage2D(_,l,d,j,$,0,te,k,B):y.texImage2D(_,l,d,te,k,B);break;case"compressed":var Q=mu(B.entries()),Te;try{for(Q.s();!(Te=Q.n()).done;){var Se=L(Te.value,2),Be=Se[0],wt=Se[1];y.compressedTexImage2D(_,Be,wt.format,wt.width,wt.height,0,wt.data)}}catch(ja){Q.e(ja)}finally{Q.f()}break;default:U(!1,"Unknown image data type")}}),B&&B.byteLength)this.trackAllocatedMemory(B.byteLength,"Texture");else{var re=zr(this.gl,this.props.format);this.trackAllocatedMemory(this.width*this.height*re,"Texture")}return this.loaded=!0,this}},{key:"setSubImageData",value:function(i){var o=this,u=i.target,_=u===void 0?this.target:u,f=i.pixels,E=f===void 0?null:f,c=i.data,l=c===void 0?null:c,R=i.x,d=R===void 0?0:R,h=i.y,g=h===void 0?0:h,N=i.width,C=N===void 0?this.width:N,F=i.height,B=F===void 0?this.height:F,V=i.level,k=V===void 0?0:V,ee=i.format,j=ee===void 0?this.format:ee,_e=i.type,$=_e===void 0?this.type:_e,Ae=i.dataFormat,te=Ae===void 0?this.dataFormat:Ae,S=i.compressed,p=S===void 0?!1:S,m=i.offset,y=m===void 0?0:m,D=i.parameters,M=D===void 0?{}:D,K=this._deduceParameters({format:this.props.format,type:$,dataFormat:te,compressed:p,data:l,width:C,height:B});if($=K.type,te=K.dataFormat,p=K.compressed,C=K.width,B=K.height,U(this.depth===1,"texSubImage not supported for 3D textures"),l||(l=E),l&&l.data){var re=l;l=re.data,C=re.shape[0],B=re.shape[1]}l instanceof me&&(l=l.handle),this.gl.bindTexture(this.target,this.handle),$e(this.gl,M,function(){if(p)o.gl.compressedTexSubImage2D(_,k,d,g,C,B,j,l);else if(l===null)o.gl.texSubImage2D(_,k,d,g,C,B,te,$,null);else if(ArrayBuffer.isView(l))o.gl.texSubImage2D(_,k,d,g,C,B,te,$,l,y);else if(typeof WebGLBuffer<"u"&&l instanceof WebGLBuffer){var Q=o.device.assertWebGL2();Q.bindBuffer(a.PIXEL_UNPACK_BUFFER,l),Q.texSubImage2D(_,k,d,g,C,B,te,$,y),Q.bindBuffer(a.PIXEL_UNPACK_BUFFER,null)}else if(o.device.isWebGL2){var Te=o.device.assertWebGL2();Te.texSubImage2D(_,k,d,g,C,B,te,$,l)}else o.gl.texSubImage2D(_,k,d,g,te,$,l)}),this.gl.bindTexture(this.target,null)}},{key:"copyFramebuffer",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return P.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}},{key:"getActiveUnit",value:function(){return this.gl.getParameter(a.ACTIVE_TEXTURE)-a.TEXTURE0}},{key:"bind",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.textureUnit,o=this.gl;return i!==void 0&&(this.textureUnit=i,o.activeTexture(o.TEXTURE0+i)),o.bindTexture(this.target,this.handle),i}},{key:"unbind",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.textureUnit,o=this.gl;return i!==void 0&&(this.textureUnit=i,o.activeTexture(o.TEXTURE0+i)),o.bindTexture(this.target,null),i}},{key:"_getDataType",value:function(i){var o=i.data,u=i.compressed,_=u===void 0?!1:u;return _?{data:o,dataType:"compressed"}:o===null?{data:o,dataType:"null"}:ArrayBuffer.isView(o)?{data:o,dataType:"typed-array"}:o instanceof me?{data:o.handle,dataType:"buffer"}:typeof WebGLBuffer<"u"&&o instanceof WebGLBuffer?{data:o,dataType:"buffer"}:{data:o,dataType:"browser-object"}}},{key:"_deduceParameters",value:function(i){var o=i.format,u=i.data,_=i.width,f=i.height,E=i.dataFormat,c=i.type,l=i.compressed,R=ar(this.gl,o);E=E||R.dataFormat,c=c||R.type,l=l||R.compressed;var d=this._deduceImageSize(u,_,f);return _=d.width,f=d.height,{dataFormat:E,type:c,compressed:l,width:_,height:f,format:o,data:u}}},{key:"_deduceImageSize",value:function(i,o,u){var _;return typeof ImageData<"u"&&i instanceof ImageData?_={width:i.width,height:i.height}:typeof HTMLImageElement<"u"&&i instanceof HTMLImageElement?_={width:i.naturalWidth,height:i.naturalHeight}:typeof HTMLCanvasElement<"u"&&i instanceof HTMLCanvasElement?_={width:i.width,height:i.height}:typeof ImageBitmap<"u"&&i instanceof ImageBitmap?_={width:i.width,height:i.height}:typeof HTMLVideoElement<"u"&&i instanceof HTMLVideoElement?_={width:i.videoWidth,height:i.videoHeight}:i?_={width:o,height:u}:_={width:o>=0?o:1,height:u>=0?u:1},U(_,"Could not deduced texture size"),U(o===void 0||_.width===o,"Deduced texture width does not match supplied width"),U(u===void 0||_.height===u,"Deduced texture height does not match supplied height"),_}},{key:"setCubeMapImageData",value:function(){var n=oe(nn.default.mark(function o(u){var _=this,f,E,c,l,R,d,h,g,N,C,F;return nn.default.wrap(function(V){for(;;)switch(V.prev=V.next){case 0:return f=this.gl,E=u.width,c=u.height,l=u.pixels,R=u.data,d=u.format,h=d===void 0?a.RGBA:d,g=u.type,N=g===void 0?a.UNSIGNED_BYTE:g,C=l||R,V.next=5,Promise.all(r.FACES.map(function(k){var ee=C[k];return Promise.all(Array.isArray(ee)?ee:[ee])}));case 5:F=V.sent,this.bind(),r.FACES.forEach(function(k,ee){F[ee].length>1&&_.props.mipmaps!==!1&&P.warn("".concat(_.id," has mipmap and multiple LODs."))(),F[ee].forEach(function(j,_e){E&&c?f.texImage2D(k,_e,h,E,c,0,h,N,j):f.texImage2D(k,_e,h,h,N,j)})}),this.unbind();case 9:case"end":return V.stop()}},o,this)}));function i(o){return n.apply(this,arguments)}return i}()},{key:"setImageDataForFace",value:function(i){var o=this,u=i.face,_=i.width,f=i.height,E=i.pixels,c=i.data,l=i.format,R=l===void 0?a.RGBA:l,d=i.type,h=d===void 0?a.UNSIGNED_BYTE:d,g=this.gl,N=E||c;return this.bind(),N instanceof Promise?N.then(function(C){return o.setImageDataForFace(Object.assign({},i,{face:u,data:C,pixels:C}))}):this.width||this.height?g.texImage2D(u,0,R,_,f,0,R,h,N):g.texImage2D(u,0,R,R,h,N),this}},{key:"setImageData3D",value:function(i){var o=this,u=i.level,_=u===void 0?0:u,f=i.dataFormat,E=i.format,c=i.type,l=i.width,R=i.height,d=i.depth,h=d===void 0?1:d,g=i.offset,N=g===void 0?0:g,C=i.data,F=i.parameters,B=F===void 0?{}:F;this.trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle);var V=ar(this.gl,E);if($e(this.gl,B,function(){ArrayBuffer.isView(C)&&o.gl.texImage3D(o.target,_,V.format,l,R,h,0,V.dataFormat,V.type,C),C instanceof me&&(o.gl.bindBuffer(a.PIXEL_UNPACK_BUFFER,C.handle),o.gl.texImage3D(o.target,_,f,l,R,h,0,E,c,N))}),C&&C.byteLength)this.trackAllocatedMemory(C.byteLength,"Texture");else{var k=zr(this.gl,this.props.format);this.trackAllocatedMemory(this.width*this.height*this.depth*k,"Texture")}return this.loaded=!0,this}},{key:"_setSamplerParameters",value:function(i){if(this.device.isWebGL1&&fr(this.width,this.height)&&(i=ta(i)),!it(i)){vu(i),this.gl.bindTexture(this.target,this.handle);for(var o=0,u=Object.entries(i);o<u.length;o++){var _=L(u[o],2),f=_[0],E=_[1],c=Number(f),l=E;switch(c){case a.TEXTURE_MIN_LOD:case a.TEXTURE_MAX_LOD:this.gl.texParameterf(this.target,c,l);break;default:this.gl.texParameteri(this.target,c,l);break}}this.gl.bindTexture(this.target,null)}}},{key:"_getWebGL1NPOTParameterOverride",value:function(i,o){var u=this.device.isWebGL1&&fr(this.width,this.height);if(u)switch(i){case a.TEXTURE_MIN_FILTER:if(o!==a.LINEAR&&o!==a.NEAREST)return a.LINEAR;break;case a.TEXTURE_WRAP_S:case a.TEXTURE_WRAP_T:return a.CLAMP_TO_EDGE;default:break}return o}}]),r}(Ne);s(ve,"FACES",[a.TEXTURE_CUBE_MAP_POSITIVE_X,a.TEXTURE_CUBE_MAP_NEGATIVE_X,a.TEXTURE_CUBE_MAP_POSITIVE_Y,a.TEXTURE_CUBE_MAP_NEGATIVE_Y,a.TEXTURE_CUBE_MAP_POSITIVE_Z,a.TEXTURE_CUBE_MAP_NEGATIVE_Z]);function Ou(e){switch(e.dimension){case"2d":return a.TEXTURE_2D;case"cube":return a.TEXTURE_CUBE_MAP;case"2d-array":return a.TEXTURE_2D_ARRAY;case"3d":return a.TEXTURE_3D;case"1d":case"cube-array":default:throw new Error(e.dimension)}}function fr(e,t){return!e||!t?!1:!zt(e)||!zt(t)}function vu(e){P.log(1,"texture sampler parameters",e)()}function Er(e,t){if(typeof t!="string")return t;var r=Number(t);if(!isNaN(r))return r;t=t.replace(/^.*\./,"");var n=e[t];return U(n!==void 0,"Accessing undefined constant GL.".concat(t)),n}function an(e,t){e=e.gl||e,t=Number(t);for(var r in e)if(e[r]===t)return"GL.".concat(r);return String(t)}function Nu(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Cu(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(E){throw E},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
22
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,u=!1,_;return{s:function(){r=r.call(e)},n:function(){var E=r.next();return o=E.done,E},e:function(E){u=!0,_=E},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(u)throw _}}}}function Cu(e,t){if(e){if(typeof e=="string")return oa(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 oa(e,t)}}function oa(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Iu(e){var t=bu();return function(){var n=v(e),i;if(t){var o=v(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return w(this,i)}}function bu(){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 ct="Resource subclass must define virtual methods",qe=function(e){x(r,e);var t=Iu(r);function r(n,i,o){var u;I(this,r),u=t.call(this,n,i,o),s(A(u),"device",void 0),s(A(u),"gl",void 0),s(A(u),"gl2",void 0),s(A(u),"_handle",void 0),s(A(u),"_bound",!1),s(A(u),"byteLength",0),u.device=ce.attach(n);var _=u.device.gl;qt(_);var f=i||{},E=f.id;return u.gl=_,u.gl2=_,u.id=E||ge(u.constructor.name),u._handle=i?.handle,u._handle===void 0&&(u._handle=u._createHandle()),u.byteLength=0,u}return b(r,[{key:"toString",value:function(){return"".concat(this.constructor.name,"(").concat(this.id,")")}},{key:"handle",get:function(){return this._handle}},{key:"destroy",value:function(){this.delete()}},{key:"delete",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o=i.deleteChildren,u=o===void 0?!1:o,_=this._handle&&this._deleteHandle(this._handle);return this._handle&&this.removeStats(),this._handle=null,_&&u&&_.filter(Boolean).forEach(function(f){return f.delete()}),this}},{key:"bind",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.handle;if(typeof i!="function")return this._bindHandle(i),this;var o;return this._bound?o=i():(this._bindHandle(this.handle),this._bound=!0,o=i(),this._bound=!1,this._bindHandle(null)),o}},{key:"unbind",value:function(){this.bind(null)}},{key:"getParameter",value:function(i){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};i=Er(this.gl,i),U(i);var u=this.constructor.PARAMETERS||{},_=u[i];if(_){var f=H(this.gl),E=(!("webgl2"in _)||f)&&(!("extension"in _)||this.gl.getExtension(_.extension));if(!E){var c=_.webgl1,l="webgl2"in _?_.webgl2:_.webgl1,R=f?l:c;return R}}return this._getParameter(i,o)}},{key:"getParameters",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o=i.parameters,u=i.keys,_=this.constructor.PARAMETERS||{},f=H(this.gl),E={},c=o||Object.keys(_),l=Nu(c),R;try{for(l.s();!(R=l.n()).done;){var d=R.value,h=_[d],g=h&&(!("webgl2"in h)||f)&&(!("extension"in h)||this.gl.getExtension(h.extension));if(g){var N=u?an(this.gl,d):d;E[N]=this.getParameter(d,i),u&&h.type==="GLenum"&&(E[N]=an(this.gl,E[N]))}}}catch(C){l.e(C)}finally{l.f()}return E}},{key:"setParameter",value:function(i,o){i=Er(this.gl,i),U(i);var u=this.constructor.PARAMETERS||{},_=u[i];if(_){var f=H(this.gl),E=(!("webgl2"in _)||f)&&(!("extension"in _)||this.gl.getExtension(_.extension));if(!E)throw new Error("Parameter not available on this platform");_.type==="GLenum"&&(o=Er(o))}return this._setParameter(i,o),this}},{key:"setParameters",value:function(i){for(var o in i)this.setParameter(o,i[o]);return this}},{key:"stubRemovedMethods",value:function(i,o,u){return Mr(this,i,o,u)}},{key:"initialize",value:function(i){}},{key:"_createHandle",value:function(){throw new Error(ct)}},{key:"_deleteHandle",value:function(){throw new Error(ct)}},{key:"_bindHandle",value:function(i){throw new Error(ct)}},{key:"_getOptsFromHandle",value:function(){throw new Error(ct)}},{key:"_getParameter",value:function(i,o){throw new Error(ct)}},{key:"_setParameter",value:function(i,o){throw new Error(ct)}}]),r}(ie);var X;function sa(e,t){var r=_a[t];return r?r.ext?Boolean(e.getExtension(r.ext)):r.gl2?H(e):!0:!1}function ua(e){return _a[e].bpp}var Je="EXT_color_buffer_float",_a=(X={},s(X,a.DEPTH_COMPONENT16,{bpp:2}),s(X,a.DEPTH_COMPONENT24,{gl2:!0,bpp:3}),s(X,a.DEPTH_COMPONENT32F,{gl2:!0,bpp:4}),s(X,a.STENCIL_INDEX8,{bpp:1}),s(X,a.DEPTH_STENCIL,{bpp:4}),s(X,a.DEPTH24_STENCIL8,{gl2:!0,bpp:4}),s(X,a.DEPTH32F_STENCIL8,{gl2:!0,bpp:5}),s(X,a.RGBA4,{bpp:2}),s(X,a.RGB565,{bpp:2}),s(X,a.RGB5_A1,{bpp:2}),s(X,a.R8,{gl2:!0,bpp:1}),s(X,a.R8UI,{gl2:!0,bpp:1}),s(X,a.R8I,{gl2:!0,bpp:1}),s(X,a.R16UI,{gl2:!0,bpp:2}),s(X,a.R16I,{gl2:!0,bpp:2}),s(X,a.R32UI,{gl2:!0,bpp:4}),s(X,a.R32I,{gl2:!0,bpp:4}),s(X,a.RG8,{gl2:!0,bpp:2}),s(X,a.RG8UI,{gl2:!0,bpp:2}),s(X,a.RG8I,{gl2:!0,bpp:2}),s(X,a.RG16UI,{gl2:!0,bpp:4}),s(X,a.RG16I,{gl2:!0,bpp:4}),s(X,a.RG32UI,{gl2:!0,bpp:8}),s(X,a.RG32I,{gl2:!0,bpp:8}),s(X,a.RGB8,{gl2:!0,bpp:3}),s(X,a.RGBA8,{gl2:!0,bpp:4}),s(X,a.RGB10_A2,{gl2:!0,bpp:4}),s(X,a.RGBA8UI,{gl2:!0,bpp:4}),s(X,a.RGBA8I,{gl2:!0,bpp:4}),s(X,a.RGB10_A2UI,{gl2:!0,bpp:4}),s(X,a.RGBA16UI,{gl2:!0,bpp:8}),s(X,a.RGBA16I,{gl2:!0,bpp:8}),s(X,a.RGBA32I,{gl2:!0,bpp:16}),s(X,a.RGBA32UI,{gl2:!0,bpp:16}),s(X,a.R16F,{ext:Je,bpp:2}),s(X,a.RG16F,{ext:Je,bpp:4}),s(X,a.RGBA16F,{ext:Je,bpp:8}),s(X,a.R32F,{ext:Je,bpp:4}),s(X,a.RG32F,{ext:Je,bpp:8}),s(X,a.RGBA32F,{ext:Je,bpp:16}),s(X,a.R11F_G11F_B10F,{ext:Je,bpp:4}),X);function fa(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 Ea(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?fa(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):fa(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Pu(e){var t=yu();return function(){var n=v(e),i;if(t){var o=v(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return w(this,i)}}function yu(){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 Fu={id:void 0,handle:void 0,userData:void 0,format:0,width:1,height:1,samples:0},lt=function(e,t){x(n,e);var r=Pu(n);function n(i,o){var u;return I(this,n),u=r.call(this,i,o,Fu),u._initialize(u.props),u}return b(n,[{key:t,get:function(){return"Renderbuffer"}},{key:"width",get:function(){return this.props.width}},{key:"height",get:function(){return this.props.height}},{key:"format",get:function(){return this.props.format}},{key:"samples",get:function(){return this.props.samples}},{key:"resize",value:function(o){return(o.width!==this.width||o.height!==this.height)&&(Object.assign(this.props,Ea(Ea({},o),{},{format:this.format,samples:this.samples})),this._initialize(this.props)),this}},{key:"_initialize",value:function(o){var u=o.format,_=o.width,f=o.height,E=o.samples;return U(u,"Needs format"),this.trackDeallocatedMemory(),this.gl.bindRenderbuffer(a.RENDERBUFFER,this.handle),E!==0&&this.device.isWebGL2?this.gl.renderbufferStorageMultisample(a.RENDERBUFFER,E,u,_,f):this.gl.renderbufferStorage(a.RENDERBUFFER,u,_,f),this.gl.bindRenderbuffer(a.RENDERBUFFER,null),this.trackAllocatedMemory(_*f*(E||1)*ua(u)),this}},{key:"_createHandle",value:function(){return this.gl.createRenderbuffer()}},{key:"_deleteHandle",value:function(){this.gl.deleteRenderbuffer(this.handle),this.trackDeallocatedMemory()}},{key:"_bindHandle",value:function(o){this.gl.bindRenderbuffer(a.RENDERBUFFER,o)}}],[{key:"isSupported",value:function(o,u){return!(u!=null&&u.format)||sa(o,u.format)}}]),n}(qe,Symbol.toStringTag);function ca(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Bu(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(E){throw E},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
23
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,u=!1,_;return{s:function(){r=r.call(e)},n:function(){var E=r.next();return o=E.done,E},e:function(E){u=!0,_=E},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(u)throw _}}}}function Bu(e,t){if(e){if(typeof e=="string")return la(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 la(e,t)}}function la(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 Mu(e){var t=Du();return function(){var n=v(e),i;if(t){var o=v(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return w(this,i)}}function Du(){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 Rt=function(e){x(r,e);var t=Mu(r);function r(n,i){var o;I(this,r),o=t.call(this,n,i),s(A(o),"device",void 0),s(A(o),"gl",void 0),s(A(o),"handle",void 0),s(A(o),"colorAttachments",[]),s(A(o),"depthStencilAttachment",null),s(A(o),"_ownResources",[]),o.device=n,o.gl=n.gl,o.handle=o.props.handle!==void 0?o.props.handle:o.gl.createFramebuffer(),o.handle&&n.setSpectorMetadata(o.handle,{id:o.props.id,props:o.props}),o.colorAttachments=o._createColorAttachments(),o.depthStencilAttachment=o._createDepthStencilAttachment();for(var u=o.gl.bindFramebuffer(a.FRAMEBUFFER,o.handle),_=0;_<o.colorAttachments.length;++_){var f=o.colorAttachments[_],E=a.COLOR_ATTACHMENT0+_;f&&o._attachOne(E,f)}return o.props.depthStencilAttachment&&o._attachOne(Yi(o.depthStencilAttachment.format),o.depthStencilAttachment),o.gl.bindFramebuffer(a.FRAMEBUFFER,u||null),i.check!==!1&&o._checkStatus(),o}return b(r,[{key:"texture",get:function(){return this.colorAttachments[0]}},{key:"destroy",value:function(){if(this.handle!==null){var i=ca(this._ownResources),o;try{for(i.s();!(o=i.n()).done;){var u=o.value;u.destroy()}}catch(_){i.e(_)}finally{i.f()}this.gl.deleteFramebuffer(this.handle),this.destroyed=!0}}},{key:"_checkStatus",value:function(){var i=this.gl,o=i.bindFramebuffer(a.FRAMEBUFFER,this.handle),u=i.checkFramebufferStatus(a.FRAMEBUFFER);if(i.bindFramebuffer(a.FRAMEBUFFER,o||null),u!==i.FRAMEBUFFER_COMPLETE)throw new Error("Framebuffer ".concat(xu(u)))}},{key:"_createColorAttachments",value:function(){var i=this;return this.props.colorAttachments.map(function(o){if(o)return o instanceof ve?o:i._createColorAttachment(o,i.width,i.height)})}},{key:"_createColorAttachment",value:function(i,o,u){var _=this.device._createTexture({id:"".concat(this.id,"-color"),data:null,format:i,width:o,height:u,mipmaps:!1,sampler:{minFilter:"linear",magFilter:"linear",addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge"}});return this._ownResources.push(_),_}},{key:"_createDepthStencilAttachment",value:function(){if(this.props.depthStencilAttachment){if(this.props.depthStencilAttachment instanceof lt)return this.props.depthStencilAttachment;if(this.props.depthStencilAttachment instanceof Ne)return this.props.depthStencilAttachment;var i=this.props.depthStencilAttachment,o=Ut(this.gl,i),u=new lt(this.device,{id:"".concat(this.id,"-depth-stencil"),format:o,width:this.width,height:this.height});return this._ownResources.push(u),u}}},{key:"_resizeAttachments",value:function(i,o){var u;if(this.handle===null)return this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;i===void 0&&(i=this.gl.drawingBufferWidth),o===void 0&&(o=this.gl.drawingBufferHeight),i!==this.width&&o!==this.height&&P.log(2,"Resizing framebuffer ".concat(this.id," to ").concat(i,"x").concat(o))();var _=ca(this.colorAttachments),f;try{for(_.s();!(f=_.n()).done;){var E=f.value;E.resize({width:i,height:o})}}catch(c){_.e(c)}finally{_.f()}return(u=this.depthStencilAttachment)===null||u===void 0||u.resize({width:i,height:o}),this}},{key:"_attachOne",value:function(i,o){if(o instanceof lt)return this._attachWEBGLRenderbuffer(i,o),o;if(Array.isArray(o)){var u=L(o,3),_=u[0],f=u[1],E=f===void 0?0:f,c=u[2],l=c===void 0?0:c;return this._attachTexture(i,_,E,l),_}else if(o instanceof ve)return this._attachTexture(i,o,0,0),o;throw new Error("attach")}},{key:"_attachWEBGLRenderbuffer",value:function(i,o){this.gl.framebufferRenderbuffer(a.FRAMEBUFFER,i,a.RENDERBUFFER,o.handle)}},{key:"_attachTexture",value:function(i,o,u,_){var f=this.device,E=f.gl,c=f.gl2;switch(E.bindTexture(o.target,o.handle),o.target){case a.TEXTURE_2D_ARRAY:case a.TEXTURE_3D:this.device.assertWebGL2(),c?.framebufferTextureLayer(a.FRAMEBUFFER,i,o.target,_,u);break;case a.TEXTURE_CUBE_MAP:var l=Uu(u);E.framebufferTexture2D(a.FRAMEBUFFER,i,l,o.handle,_);break;case a.TEXTURE_2D:E.framebufferTexture2D(a.FRAMEBUFFER,i,a.TEXTURE_2D,o.handle,_);break;default:U(!1,"Illegal texture type")}E.bindTexture(o.target,null)}}]),r}(Pr);function Uu(e){return e<a.TEXTURE_CUBE_MAP_POSITIVE_X?e+a.TEXTURE_CUBE_MAP_POSITIVE_X:e}function xu(e){switch(e){case a.FRAMEBUFFER_COMPLETE:return"success";case a.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:return"Mismatched attachments";case a.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:return"No attachments";case a.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:return"Height/width mismatch";case a.FRAMEBUFFER_UNSUPPORTED:return"Unsupported or split attachments";case a.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:return"Samples mismatch";default:return"".concat(e)}}function wu(e){var t=Xu();return function(){var n=v(e),i;if(t){var o=v(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return w(this,i)}}function Xu(){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 cr=function(e){x(r,e);var t=wu(r);function r(n,i){var o;return I(this,r),o=t.call(this,i),s(A(o),"device",void 0),s(A(o),"presentationSize",void 0),s(A(o),"_framebuffer",null),o.device=n,o.presentationSize=[-1,-1],o._setAutoCreatedCanvasId("".concat(o.device.id,"-canvas")),o.update(),o}return b(r,[{key:"getCurrentFramebuffer",value:function(){return this.update(),this._framebuffer=this._framebuffer||new Rt(this.device,{handle:null}),this._framebuffer}},{key:"update",value:function(){var i=this.getPixelSize(),o=i[0]!==this.presentationSize[0]||i[1]!==this.presentationSize[1];o&&(this.presentationSize=i)}},{key:"resize",value:function(i){if(this.canvas){this.setDevicePixelRatio(devicePixelRatio,i);return}var o=this.device.gl.getExtension("STACKGL_resize_drawingbuffer");o&&i&&"width"in i&&"height"in i&&o.resize(i.width,i.height)}},{key:"commit",value:function(){}}]),r}(ot);var on=He(we(),1);function Ra(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 Aa(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ra(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ra(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Hu={spector:P.get("spector")||P.get("inspect")},Wu="https://spectorcdn.babylonjs.com/spector.bundle.js",Lu=1,le=null,Ta=!1;function da(e){return sn.apply(this,arguments)}function sn(){return sn=oe(on.default.mark(function e(t){return on.default.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(globalThis.SPECTOR){n.next=9;break}return n.prev=1,n.next=4,vt(Wu);case 4:n.next=9;break;case 6:n.prev=6,n.t0=n.catch(1),P.warn(String(n.t0));case 9:case"end":return n.stop()}},e,null,[[1,6]])})),sn.apply(this,arguments)}function pa(e){var t,r;if(e=Aa(Aa({},Hu),e),!((t=e)!==null&&t!==void 0&&t.spector)||(!le&&globalThis.SPECTOR&&(P.probe(Lu,"SPECTOR found and initialized")(),le=new globalThis.SPECTOR.Spector,globalThis.luma&&(globalThis.luma.spector=le)),!le))return null;if(!Ta){var n,i;Ta=!0,le.spyCanvases(),(n=le)===null||n===void 0||n.onCaptureStarted.add(function(_){return P.info("Spector capture started:",_)()}),(i=le)===null||i===void 0||i.onCapture.add(function(_){var f,E,c;P.info("Spector capture complete:",_)(),(f=le)===null||f===void 0||f.getResultUI(),(E=le)===null||E===void 0||E.resultView.display(),(c=le)===null||c===void 0||c.resultView.addCapture(_)})}if((r=e)!==null&&r!==void 0&&r.canvas){var o,u;if(typeof e.spector=="string"&&e.spector!==e.canvas.id)return le;(o=le)===null||o===void 0||o.startCapture((u=e)===null||u===void 0?void 0:u.canvas,500),new Promise(function(_){return setTimeout(_,2e3)}).then(function(_){var f;P.info("Spector capture stopped after 2 seconds")(),(f=le)===null||f===void 0||f.stopCapture()})}return le}var _n=He(we(),1);function Vu(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=ku(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(E){throw E},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
24
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,u=!1,_;return{s:function(){r=r.call(e)},n:function(){var E=r.next();return o=E.done,E},e:function(E){u=!0,_=E},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(u)throw _}}}}function ku(e,t){if(e){if(typeof e=="string")return ma(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 ma(e,t)}}function ma(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function ha(e,t){var r=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 Sa(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ha(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ha(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Ku="https://unpkg.com/webgl-debug@2.0.1/index.js";function ga(e){return e.luma=e.luma||{},e.luma}function Oa(){return fn.apply(this,arguments)}function fn(){return fn=oe(_n.default.mark(function e(){return _n.default.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:if(globalThis.WebGLDebugUtils){r.next=5;break}return globalThis.global=globalThis.global||globalThis,globalThis.global.module={},r.next=5,vt(Ku);case 5:case"end":return r.stop()}},e)})),fn.apply(this,arguments)}function va(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return e?t.debug?Yu(e,t):ju(e):null}function ju(e){var t=ga(e);return t.realContext?t.realContext:e}function Yu(e,t){if(!globalThis.WebGLDebugUtils)return P.warn("webgl-debug not loaded")(),e;var r=ga(e);if(r.debugContext)return r.debugContext;globalThis.WebGLDebugUtils.init(Sa(Sa({},a),e));var n=globalThis.WebGLDebugUtils.makeDebugContext(e,zu.bind(null,t),Gu.bind(null,t));for(var i in a)!(i in n)&&typeof a[i]=="number"&&(n[i]=a[i]);var o=b(function _(){I(this,_)});Object.setPrototypeOf(n,Object.getPrototypeOf(e)),Object.setPrototypeOf(o,n);var u=Object.create(o);return r.realContext=e,r.debugContext=u,u.debug=!0,u}function un(e,t){t=Array.from(t).map(function(n){return n===void 0?"undefined":n});var r=globalThis.WebGLDebugUtils.glFunctionArgsToString(e,t);return r="".concat(r.slice(0,100)).concat(r.length>100?"...":""),"gl.".concat(e,"(").concat(r,")")}function zu(e,t,r,n){n=Array.from(n).map(function(f){return f===void 0?"undefined":f});var i=globalThis.WebGLDebugUtils.glEnumToString(t),o=globalThis.WebGLDebugUtils.glFunctionArgsToString(r,n),u=e.webgl2?"gl2":"gl1",_="".concat(i," in ").concat(u,".").concat(r,"(").concat(o,")");P.error(_)();debugger;if(e.throwOnError)throw new Error(_)}function Gu(e,t,r){var n="";if(P.level>=1&&(n=un(t,r),P.log(1,n)()),e.break&&e.break.length>0){n=n||un(t,r);var i=e.break.every(function(f){return n.indexOf(f)!==-1});if(i)debugger}var o=Vu(r),u;try{for(o.s();!(u=o.n()).done;){var _=u.value;if(_===void 0){if(n=n||un(t,r),e.throwOnError)throw new Error("Undefined argument: ".concat(n));P.error("Undefined argument: ".concat(n))();debugger}}}catch(f){o.e(f)}finally{o.f()}}function En(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function At(e,t,r){return En()?At=Reflect.construct.bind():At=function(i,o,u){var _=[null];_.push.apply(_,o);var f=Function.bind.apply(i,_),E=new f;return u&&We(E,u.prototype),E},At.apply(null,arguments)}var Zu="Failed to deduce GL constant from typed array";function lr(e){var t=ArrayBuffer.isView(e)?e.constructor:e;switch(t){case Float32Array:return a.FLOAT;case Uint16Array:return a.UNSIGNED_SHORT;case Uint32Array:return a.UNSIGNED_INT;case Uint8Array:return a.UNSIGNED_BYTE;case Uint8ClampedArray:return a.UNSIGNED_BYTE;case Int8Array:return a.BYTE;case Int16Array:return a.SHORT;case Int32Array:return a.INT;default:throw new Error(Zu)}}function Tt(e,t){var r=t||{},n=r.clamped,i=n===void 0?!0:n;switch(e){case a.FLOAT:return Float32Array;case a.UNSIGNED_SHORT:case a.UNSIGNED_SHORT_5_6_5:case a.UNSIGNED_SHORT_4_4_4_4:case a.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;case a.UNSIGNED_INT:return Uint32Array;case a.UNSIGNED_BYTE:return i?Uint8ClampedArray:Uint8Array;case a.BYTE:return Int8Array;case a.SHORT:return Int16Array;case a.INT:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}var $u={offset:0,stride:0,type:a.FLOAT,size:1,divisor:0,normalized:!1,integer:!1},Qu={deprecatedProps:{instanced:"divisor",isInstanced:"divisor"}},he=function(){function e(){var t=this;I(this,e),s(this,"offset",void 0),s(this,"stride",void 0),s(this,"type",void 0),s(this,"size",void 0),s(this,"divisor",void 0),s(this,"normalized",void 0),s(this,"integer",void 0),s(this,"buffer",void 0),s(this,"index",void 0);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];n.forEach(function(o){return t._assign(o)}),Object.freeze(this)}return b(e,[{key:"toString",value:function(){return JSON.stringify(this)}},{key:"BYTES_PER_ELEMENT",get:function(){return e.getBytesPerElement(this)}},{key:"BYTES_PER_VERTEX",get:function(){return e.getBytesPerVertex(this)}},{key:"_assign",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return r=je("Accessor",r,Qu),r.type!==void 0&&(this.type=r.type,(r.type===a.INT||r.type===a.UNSIGNED_INT)&&(this.integer=!0)),r.size!==void 0&&(this.size=r.size),r.offset!==void 0&&(this.offset=r.offset),r.stride!==void 0&&(this.stride=r.stride),r.normalize!==void 0&&(this.normalized=r.normalize),r.normalized!==void 0&&(this.normalized=r.normalized),r.integer!==void 0&&(this.integer=r.integer),r.divisor!==void 0&&(this.divisor=r.divisor),r.buffer!==void 0&&(this.buffer=r.buffer),r.index!==void 0&&(typeof r.index=="boolean"?this.index=r.index?1:0:this.index=r.index),r.instanced!==void 0&&(this.divisor=r.instanced?1:0),r.isInstanced!==void 0&&(this.divisor=r.isInstanced?1:0),this.offset===void 0&&delete this.offset,this.stride===void 0&&delete this.stride,this.type===void 0&&delete this.type,this.size===void 0&&delete this.size,this.divisor===void 0&&delete this.divisor,this.normalized===void 0&&delete this.normalized,this.integer===void 0&&delete this.integer,this.buffer===void 0&&delete this.buffer,this.index===void 0&&delete this.index,this}}],[{key:"getBytesPerElement",value:function(r){var n=Tt(r.type||a.FLOAT);return n.BYTES_PER_ELEMENT}},{key:"getBytesPerVertex",value:function(r){U(r.size);var n=Tt(r.type||a.FLOAT);return n.BYTES_PER_ELEMENT*r.size}},{key:"resolve",value:function(){for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return At(e,[$u].concat(n))}}]),e}();function qu(e){var t=Ju();return function(){var n=v(e),i;if(t){var o=v(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return w(this,i)}}function Ju(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Na(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 e_(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Na(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Na(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Ca=10,Ia={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},ba={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:Ia},t_={removedProps:Ia};function r_(e){if(ArrayBuffer.isView(e))return{data:e};if(typeof e=="number")return{byteLength:e};e=je("Buffer",e,ba);var t=e_({},e);return t.offset&&(t.byteOffset=t.offset),t}var xt=function(e){x(r,e);var t=qu(r);function r(n){var i,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(I(this,r),i=t.call(this,ce.attach(n),r_(o)),s(A(i),"usage",void 0),s(A(i),"accessor",void 0),i.setAccessor(Object.assign({},o,o.accessor)),i.props.data){var u=lr(i.props.data);U(u),i.setAccessor(new he(i.accessor,{type:u}))}return Object.seal(A(i)),i}return b(r,[{key:"write",value:function(i,o){this.subData({data:i,offset:o})}},{key:"getElementCount",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.accessor;return Math.round(this.byteLength/he.getBytesPerElement(i))}},{key:"getVertexCount",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.accessor;return Math.round(this.byteLength/he.getBytesPerVertex(i))}},{key:"initialize",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return ArrayBuffer.isView(i)&&(i={data:i}),Number.isFinite(i)&&(i={byteLength:i}),i=je("Buffer",i,ba),this.webglUsage=i.webglUsage||a.STATIC_DRAW,this.debugData=null,this.setAccessor(Object.assign({},i,i.accessor)),i.data?this._setData(i.data,i.offset,i.byteLength):this._setByteLength(i.byteLength||0),this}},{key:"setProps",value:function(i){return i=je("Buffer",i,t_),"accessor"in i&&this.setAccessor(i.accessor),this}},{key:"setAccessor",value:function(i){return i=Object.assign({},i),delete i.buffer,this.accessor=new he(i),this}},{key:"reallocate",value:function(i){return i>this.byteLength?(this._setByteLength(i),!0):(this.bytesUsed=i,!1)}},{key:"setData",value:function(i){return this.initialize(i)}},{key:"subData",value:function(i){ArrayBuffer.isView(i)&&(i={data:i});var o=i,u=o.data,_=o.offset,f=_===void 0?0:_,E=o.srcOffset,c=E===void 0?0:E,l=i.byteLength||i.length;U(u);var R=this.gl.webgl2?a.COPY_WRITE_BUFFER:this.target;return this.gl.bindBuffer(R,this.handle),c!==0||l!==void 0?(st(this.gl),this.gl.bufferSubData(this.target,f,u,c,l)):this.gl.bufferSubData(R,f,u),this.gl.bindBuffer(R,null),this.debugData=null,this._inferType(u),this}},{key:"copyData",value:function(i){var o=i.sourceBuffer,u=i.readOffset,_=u===void 0?0:u,f=i.writeOffset,E=f===void 0?0:f,c=i.size,l=this.gl,R=this.gl2;return st(l),l.bindBuffer(a.COPY_READ_BUFFER,o.handle),l.bindBuffer(a.COPY_WRITE_BUFFER,this.handle),R?.copyBufferSubData(a.COPY_READ_BUFFER,a.COPY_WRITE_BUFFER,_,E,c),l.bindBuffer(a.COPY_READ_BUFFER,null),l.bindBuffer(a.COPY_WRITE_BUFFER,null),this.debugData=null,this}},{key:"getData",value:function(i){var o,u=i||{},_=u.dstData,f=_===void 0?null:_,E=u.length,c=E===void 0?0:E,l=i||{},R=l.srcByteOffset,d=R===void 0?0:R,h=l.dstOffset,g=h===void 0?0:h;st(this.gl);var N=Tt(this.accessor.type||a.FLOAT,{clamped:!1}),C=this._getAvailableElementCount(d),F=g,B,V;f?(V=f.length,B=V-F):(B=Math.min(C,c||C),V=F+B);var k=Math.min(C,B);return c=c||k,U(c<=k),f=f||new N(V),this.gl.bindBuffer(a.COPY_READ_BUFFER,this.handle),(o=this.gl2)===null||o===void 0||o.getBufferSubData(a.COPY_READ_BUFFER,d,f,g,c),this.gl.bindBuffer(a.COPY_READ_BUFFER,null),f}},{key:"bind",value:function(i){var o=i||{},u=o.target,_=u===void 0?this.target:u,f=o.index,E=f===void 0?this.accessor&&this.accessor.index:f,c=o.offset,l=c===void 0?0:c,R=o.size;if(_===a.UNIFORM_BUFFER||_===a.TRANSFORM_FEEDBACK_BUFFER)if(R!==void 0){var d;(d=this.gl2)===null||d===void 0||d.bindBufferRange(_,E,this.handle,l,R)}else{var h;U(l===0),(h=this.gl2)===null||h===void 0||h.bindBufferBase(_,E,this.handle)}else this.gl.bindBuffer(_,this.handle);return this}},{key:"unbind",value:function(i){var o=i||{},u=o.target,_=u===void 0?this.target:u,f=o.index,E=f===void 0?this.accessor&&this.accessor.index:f,c=_===a.UNIFORM_BUFFER||_===a.TRANSFORM_FEEDBACK_BUFFER;if(c){var l;(l=this.gl2)===null||l===void 0||l.bindBufferBase(_,E,null)}else this.gl.bindBuffer(_,null);return this}},{key:"getDebugData",value:function(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(Ca,this.byteLength)}),{data:this.debugData,changed:!0})}},{key:"invalidateDebugData",value:function(){this.debugData=null}},{key:"_setData",value:function(i){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:i.byteLength+o;U(ArrayBuffer.isView(i)),this.trackDeallocatedMemory();var _=this._getTarget();this.gl.bindBuffer(_,this.handle),this.gl.bufferData(_,u,this.webglUsage),this.gl.bufferSubData(_,o,i),this.gl.bindBuffer(_,null),this.debugData=i.slice(0,Ca),this.bytesUsed=u,this.byteLength=u,this.trackAllocatedMemory(u);var f=lr(i);return U(f),this.setAccessor(new he(this.accessor,{type:f})),this}},{key:"_setByteLength",value:function(i){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.webglUsage;U(i>=0),this.trackDeallocatedMemory();var u=i;i===0&&(u=new Float32Array(0));var _=this._getTarget();return this.gl.bindBuffer(_,this.handle),this.gl.bufferData(_,u,o),this.gl.bindBuffer(_,null),this.webglUsage=o,this.debugData=null,this.bytesUsed=i,this.byteLength=i,this.trackAllocatedMemory(i),this}},{key:"_getTarget",value:function(){return this.gl.webgl2?a.COPY_WRITE_BUFFER:this.target}},{key:"_getAvailableElementCount",value:function(i){var o=Tt(this.accessor.type||a.FLOAT,{clamped:!1}),u=i/o.BYTES_PER_ELEMENT;return this.getElementCount()-u}},{key:"_inferType",value:function(i){this.accessor.type||this.setAccessor(new he(this.accessor,{type:lr(i)}))}},{key:"getParameter",value:function(i){this.gl.bindBuffer(this.target,this.handle);var o=this.gl.getBufferParameter(this.target,i);return this.gl.bindBuffer(this.target,null),o}},{key:"type",get:function(){return this.accessor.type}}]),r}(me);var An=He(we(),1);function cn(e,t){return{name:n_(e,t),language:"glsl",version:i_(e)}}function n_(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 i_(e){var t=100,r=e.match(/[^\s]+/g);if(r&&r.length>=2&&r[0]==="#version"){var n=parseInt(r[1],10);Number.isFinite(n)&&(t=n)}return t}function ln(e){return St(e)||bt(e)||Ke(e)||gt()}function a_(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=o_(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(E){throw E},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
25
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,u=!1,_;return{s:function(){r=r.call(e)},n:function(){var E=r.next();return o=E.done,E},e:function(E){u=!0,_=E},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(u)throw _}}}}function o_(e,t){if(e){if(typeof e=="string")return Pa(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 Pa(e,t)}}function Pa(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var s_=["warning","error","info"];function Rn(e){var t=e.split(/\r?\n/),r=[],n=a_(t),i;try{for(n.s();!(i=n.n()).done;){var o=i.value;if(!(o.length<=1)){var u=o.split(":"),_=ln(u),f=_[0],E=_[1],c=_[2],l=_.slice(3),R=parseInt(c,10);isNaN(R)&&(R=0);var d=parseInt(E,10);isNaN(d)&&(d=0);var h=f.toLowerCase(),g=s_.includes(h)?h:"info";r.push({message:l.join(":").trim(),type:g,lineNum:R,linePos:d})}}}catch(N){n.e(N)}finally{n.f()}return r}function ya(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 u_(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ya(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ya(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function __(e){var t=f_();return function(){var n=v(e),i;if(t){var o=v(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return w(this,i)}}function f_(){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 Rr=function(e){x(r,e);var t=__(r);function r(n,i){var o;switch(I(this,r),o=t.call(this,n,u_({id:E_(i)},i)),s(A(o),"device",void 0),s(A(o),"handle",void 0),o.device=n,o.props.stage){case"vertex":o.handle=o.props.handle||o.device.gl.createShader(a.VERTEX_SHADER);break;case"fragment":o.handle=o.props.handle||o.device.gl.createShader(a.FRAGMENT_SHADER);break;default:throw new Error(o.props.stage)}return o._compile(o.source),o}return b(r,[{key:"destroy",value:function(){this.handle&&(this.removeStats(),this.device.gl.deleteShader(this.handle),this.destroyed=!0)}},{key:"compilationInfo",value:function(){var n=oe(An.default.mark(function o(){var u;return An.default.wrap(function(f){for(;;)switch(f.prev=f.next){case 0:return u=this.device.gl.getShaderInfoLog(this.handle),f.abrupt("return",u?Rn(u):[]);case 2:case"end":return f.stop()}},o,this)}));function i(){return n.apply(this,arguments)}return i}()},{key:"_compile",value:function(i){var o=function(g){return g.startsWith("#version ")?g:`#version 100
26
- `.concat(g)};i=o(i);var u=this.device.gl;u.shaderSource(this.handle,i),u.compileShader(this.handle);var _=u.getShaderParameter(this.handle,a.COMPILE_STATUS);if(!_){var f=u.getShaderInfoLog(this.handle),E=f?Rn(f):[],c=E.filter(function(h){return h.type==="error"}),l=wr(c,i),R=cn(i).name,d="".concat(this.stage," shader ").concat(R);throw P.error("GLSL compilation errors in ".concat(d,`
27
- `).concat(l))(),new Error("GLSL compilation errors in ".concat(R))}}}]),r}(Ir);function E_(e){return cn(e.source).name||e.id||ge("unnamed ".concat(e.stage,"-shader"))}function c_(e){var t=l_();return function(){var n=v(e),i;if(t){var o=v(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return w(this,i)}}function l_(){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 Ar=function(e){x(r,e);var t=c_(r);function r(n,i){var o;return I(this,r),o=t.call(this,n,i),s(A(o),"device",void 0),o.device=n,o}return b(r,[{key:"end",value:function(){}},{key:"pushDebugGroup",value:function(i){}},{key:"popDebugGroup",value:function(){}},{key:"insertDebugMarker",value:function(i){}}]),r}(Fr);var z;function Fa(e){return R_.includes(e)}var R_=[a.SAMPLER_2D,a.SAMPLER_CUBE,a.SAMPLER_3D,a.SAMPLER_2D_SHADOW,a.SAMPLER_2D_ARRAY,a.SAMPLER_2D_ARRAY_SHADOW,a.SAMPLER_CUBE_SHADOW,a.INT_SAMPLER_2D,a.INT_SAMPLER_3D,a.INT_SAMPLER_CUBE,a.INT_SAMPLER_2D_ARRAY,a.UNSIGNED_INT_SAMPLER_2D,a.UNSIGNED_INT_SAMPLER_3D,a.UNSIGNED_INT_SAMPLER_CUBE,a.UNSIGNED_INT_SAMPLER_2D_ARRAY],Ba=(z={},s(z,a.FLOAT,[a.FLOAT,1,"float","f32","float32"]),s(z,a.FLOAT_VEC2,[a.FLOAT,2,"vec2","vec2<f32>","float32x2"]),s(z,a.FLOAT_VEC3,[a.FLOAT,3,"vec3","vec3<f32>","float32x3"]),s(z,a.FLOAT_VEC4,[a.FLOAT,4,"vec4","vec4<f32>","float32x4"]),s(z,a.INT,[a.INT,1,"int","i32","sint32"]),s(z,a.INT_VEC2,[a.INT,2,"ivec2","vec2<i32>","sint32x2"]),s(z,a.INT_VEC3,[a.INT,3,"ivec3","vec3<i32>","sint32x3"]),s(z,a.INT_VEC4,[a.INT,4,"ivec4","vec4<i32>","sint32x4"]),s(z,a.UNSIGNED_INT,[a.UNSIGNED_INT,1,"uint","u32","uint32"]),s(z,a.UNSIGNED_INT_VEC2,[a.UNSIGNED_INT,2,"uvec2","vec2<u32>","uint32x2"]),s(z,a.UNSIGNED_INT_VEC3,[a.UNSIGNED_INT,3,"uvec3","vec3<u32>","uint32x3"]),s(z,a.UNSIGNED_INT_VEC4,[a.UNSIGNED_INT,4,"uvec4","vec4<u32>","uint32x4"]),s(z,a.BOOL,[a.FLOAT,1,"bool","f32","float32x2"]),s(z,a.BOOL_VEC2,[a.FLOAT,2,"bvec2","vec2<f32>"]),s(z,a.BOOL_VEC3,[a.FLOAT,3,"bvec3","vec3<f32>"]),s(z,a.BOOL_VEC4,[a.FLOAT,4,"bvec4","vec4<f32>"]),s(z,a.FLOAT_MAT2,[a.FLOAT,8,"mat2","mat2x2<f32>"]),s(z,a.FLOAT_MAT2x3,[a.FLOAT,8,"mat2x3","mat2x3<f32>"]),s(z,a.FLOAT_MAT2x4,[a.FLOAT,8,"mat2x4","mat2x4<f32>"]),s(z,a.FLOAT_MAT3x2,[a.FLOAT,12,"mat3x2","mat3x2<f32>"]),s(z,a.FLOAT_MAT3,[a.FLOAT,12,"mat3","mat3x3<f32>"]),s(z,a.FLOAT_MAT3x4,[a.FLOAT,12,"mat3x4","mat3x4<f32>"]),s(z,a.FLOAT_MAT4x2,[a.FLOAT,16,"mat4x2","mat4x2<f32>"]),s(z,a.FLOAT_MAT4x3,[a.FLOAT,16,"mat4x3","mat4x3<f32>"]),s(z,a.FLOAT_MAT4,[a.FLOAT,16,"mat4","mat4x4<f32>"]),z);function Tn(e){var t=Ba[e];if(!t)throw new Error("uniform");var r=L(t,4),n=r[0],i=r[1],o=r[3];return{format:o,components:i,glType:n}}function Ma(e){var t=Ba[e];if(!t)throw new Error("attribute");var r=L(t,5),n=r[0],i=r[1],o=r[4];return{format:o,components:i,glType:n}}function Da(e,t){var r=A_(e);switch(t){case 1:return r;case 2:return"".concat(r,"x2");case 3:return"".concat(r,"x3");case 4:return"".concat(r,"x4");default:throw new Error(String(t))}}function A_(e){switch(e){case a.INT:return"sint32";case a.UNSIGNED_INT:return"uint32";case a.FLOAT:return"float32";default:throw new Error(String(e))}}var ae;function Ua(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 xa(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ua(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ua(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function dn(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=T_(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(E){throw E},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
28
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,u=!1,_;return{s:function(){r=r.call(e)},n:function(){var E=r.next();return o=E.done,E},e:function(E){u=!0,_=E},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(u)throw _}}}}function T_(e,t){if(e){if(typeof e=="string")return wa(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 wa(e,t)}}function wa(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 Tr(e,t){var r,n,i=pn(e,t),o={attributes:[],bindings:[]},u=dn(i.attributes),_;try{for(u.s();!(_=u.n()).done;){var f=_.value,E=Math.min(f.accessor.size,4),c=Da(f.accessor.type||a.FLOAT,E);o.attributes.push({name:f.name,location:f.location,format:c,stepMode:f.accessor.divisor===1?"instance":"vertex"})}}catch(j){u.e(j)}finally{u.f()}var l=dn(i.uniformBlocks),R;try{for(l.s();!(R=l.n()).done;){var d=R.value,h=d.uniforms.map(function(j){return{name:j.name,format:j.format,byteOffset:j.byteOffset,byteStride:j.byteStride,arrayLength:j.arrayLength}});o.bindings.push({type:"uniform",name:d.name,location:d.location,visibility:(d.vertex?1:0)&(d.fragment?2:0),minBindingSize:d.byteLength,uniforms:h})}}catch(j){l.e(j)}finally{l.f()}var g=0,N=dn(i.uniforms),C;try{for(N.s();!(C=N.n()).done;){var F=C.value;if(Fa(F.type)){var B=g_(F.type),V=B.viewDimension,k=B.sampleType;o.bindings.push({type:"texture",name:F.name,location:g,viewDimension:V,sampleType:k}),F.textureUnit=g,g+=1}}}catch(j){N.e(j)}finally{N.f()}var ee=((r=i.uniforms)===null||r===void 0?void 0:r.filter(function(j){return j.location!==null}))||[];return ee.length&&(o.uniforms=ee),(n=i.varyings)!==null&&n!==void 0&&n.length&&(o.varyings=i.varyings),o}function pn(e,t){var r={attributes:d_(e,t),uniforms:m_(e,t),uniformBlocks:h_(e,t),varyings:p_(e,t)};return Object.seal(r),r}function d_(e,t){for(var r=[],n=e.getProgramParameter(t,e.ACTIVE_ATTRIBUTES),i=0;i<n;i++){var o=e.getActiveAttrib(t,i);if(!o)throw new Error("activeInfo");var u=o.name,_=o.type,f=o.size,E=e.getAttribLocation(t,u);if(E>=0){var c=Ma(_),l=c.glType,R=c.components,d={type:l,size:f*R};/instance/i.test(u)&&(d.divisor=1);var h={location:E,name:u,accessor:new he(d)};r.push(h)}}return r.sort(function(g,N){return g.location-N.location}),r}function p_(e,t){if(!H(e))return[];for(var r=e,n=[],i=e.getProgramParameter(t,a.TRANSFORM_FEEDBACK_VARYINGS),o=0;o<i;o++){var u=r.getTransformFeedbackVarying(t,o);if(!u)throw new Error("activeInfo");var _=u.name,f=u.type,E=u.size,c=Tn(f),l=c.glType,R=c.components,d=new he({type:l,size:E*R}),h={location:o,name:_,accessor:d};n.push(h)}return n.sort(function(g,N){return g.location-N.location}),n}function m_(e,t){for(var r=[],n=e.getProgramParameter(t,a.ACTIVE_UNIFORMS),i=0;i<n;i++){var o=e.getActiveUniform(t,i);if(!o)throw new Error("activeInfo");var u=o.name,_=o.size,f=o.type,E=O_(u),c=E.name,l=E.isArray,R=e.getUniformLocation(t,c),d={location:R,name:c,size:_,type:f,isArray:l};if(r.push(d),d.size>1)for(var h=0;h<d.size;h++){var g="".concat(c,"[").concat(h,"]");R=e.getUniformLocation(t,g);var N=xa(xa({},d),{},{name:g,location:R});r.push(N)}}return r}function h_(e,t){if(!H(e))return[];for(var r=e,n=function(N,C){return r.getActiveUniformBlockParameter(t,N,C)},i=[],o=r.getProgramParameter(t,a.ACTIVE_UNIFORM_BLOCKS),u=0;u<o;u++){for(var _={name:r.getActiveUniformBlockName(t,u)||"",location:n(u,a.UNIFORM_BLOCK_BINDING),byteLength:n(u,a.UNIFORM_BLOCK_DATA_SIZE),vertex:n(u,a.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER),fragment:n(u,a.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER),uniformCount:n(u,a.UNIFORM_BLOCK_ACTIVE_UNIFORMS),uniforms:[]},f=n(u,a.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES)||[],E=r.getActiveUniforms(t,f,a.UNIFORM_TYPE),c=r.getActiveUniforms(t,f,a.UNIFORM_SIZE),l=r.getActiveUniforms(t,f,a.UNIFORM_OFFSET),R=r.getActiveUniforms(t,f,a.UNIFORM_ARRAY_STRIDE),d=0;d<_.uniformCount;++d){var h=r.getActiveUniform(t,f[d]);if(!h)throw new Error("activeInfo");_.uniforms.push({name:h.name,format:Tn(E[d]).format,type:E[d],arrayLength:c[d],byteOffset:l[d],byteStride:R[d]})}i.push(_)}return i.sort(function(g,N){return g.location-N.location}),i}var S_=(ae={},s(ae,a.SAMPLER_2D,["2d","float"]),s(ae,a.SAMPLER_CUBE,["cube","float"]),s(ae,a.SAMPLER_3D,["3d","float"]),s(ae,a.SAMPLER_2D_SHADOW,["3d","depth"]),s(ae,a.SAMPLER_2D_ARRAY,["2d-array","float"]),s(ae,a.SAMPLER_2D_ARRAY_SHADOW,["2d-array","depth"]),s(ae,a.SAMPLER_CUBE_SHADOW,["cube","float"]),s(ae,a.INT_SAMPLER_2D,["2d","sint"]),s(ae,a.INT_SAMPLER_3D,["3d","sint"]),s(ae,a.INT_SAMPLER_CUBE,["cube","sint"]),s(ae,a.INT_SAMPLER_2D_ARRAY,["2d-array","uint"]),s(ae,a.UNSIGNED_INT_SAMPLER_2D,["2d","uint"]),s(ae,a.UNSIGNED_INT_SAMPLER_3D,["3d","uint"]),s(ae,a.UNSIGNED_INT_SAMPLER_CUBE,["cube","uint"]),s(ae,a.UNSIGNED_INT_SAMPLER_2D_ARRAY,["2d-array","uint"]),ae);function g_(e){var t=S_[e];if(!t)throw new Error("sampler");var r=L(t,2),n=r[0],i=r[1];return{viewDimension:n,sampleType:i}}function O_(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 Xa(e,t,r,n){var i=e;if(typeof n=="number")switch(r){case a.SAMPLER_2D:case a.SAMPLER_CUBE:case a.SAMPLER_3D:case a.SAMPLER_2D_SHADOW:case a.SAMPLER_2D_ARRAY:case a.SAMPLER_2D_ARRAY_SHADOW:case a.SAMPLER_CUBE_SHADOW:case a.INT_SAMPLER_2D:case a.INT_SAMPLER_3D:case a.INT_SAMPLER_CUBE:case a.INT_SAMPLER_2D_ARRAY:case a.UNSIGNED_INT_SAMPLER_2D:case a.UNSIGNED_INT_SAMPLER_3D:case a.UNSIGNED_INT_SAMPLER_CUBE:case a.UNSIGNED_INT_SAMPLER_2D_ARRAY:return e.uniform1i(t,n)}n===!0&&(n=1),n===!1&&(n=1);var o=typeof n=="number"?[n]:n;switch(r){case a.FLOAT:return e.uniform1fv(t,o);case a.FLOAT_VEC2:return e.uniform2fv(t,o);case a.FLOAT_VEC3:return e.uniform3fv(t,o);case a.FLOAT_VEC4:return e.uniform4fv(t,o);case a.INT:return e.uniform1iv(t,o);case a.INT_VEC2:return e.uniform2iv(t,o);case a.INT_VEC3:return e.uniform3iv(t,o);case a.INT_VEC4:return e.uniform4iv(t,o);case a.BOOL:return e.uniform1iv(t,o);case a.BOOL_VEC2:return e.uniform2iv(t,o);case a.BOOL_VEC3:return e.uniform3iv(t,o);case a.BOOL_VEC4:return e.uniform4iv(t,o);case a.UNSIGNED_INT:return i.uniform1uiv(t,o,1);case a.UNSIGNED_INT_VEC2:return i.uniform2uiv(t,o,2);case a.UNSIGNED_INT_VEC3:return i.uniform3uiv(t,o,3);case a.UNSIGNED_INT_VEC4:return i.uniform4uiv(t,o,4);case a.FLOAT_MAT2:return e.uniformMatrix2fv(t,!1,o);case a.FLOAT_MAT3:return e.uniformMatrix3fv(t,!1,o);case a.FLOAT_MAT4:return e.uniformMatrix4fv(t,!1,o);case a.FLOAT_MAT2x3:return i.uniformMatrix2x3fv(t,!1,o);case a.FLOAT_MAT2x4:return i.uniformMatrix2x4fv(t,!1,o);case a.FLOAT_MAT3x2:return i.uniformMatrix3x2fv(t,!1,o);case a.FLOAT_MAT3x4:return i.uniformMatrix3x4fv(t,!1,o);case a.FLOAT_MAT4x2:return i.uniformMatrix4x2fv(t,!1,o);case a.FLOAT_MAT4x3:return i.uniformMatrix4x3fv(t,!1,o)}throw new Error("Illegal uniform")}function v_(e){var t=N_();return function(){var n=v(e),i;if(t){var o=v(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return w(this,i)}}function N_(){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 C_="elements must be GL.ELEMENT_ARRAY_BUFFER",dr=function(e,t){x(n,e);var r=v_(n);function n(i,o){return I(this,n),r.call(this,i,o,{})}return b(n,[{key:t,get:function(){return"BaseVertexArrayObject"}},{key:"_createHandle",value:function(){return this.gl2.createVertexArray()}},{key:"_deleteHandle",value:function(){return this.gl2.deleteVertexArray(this.handle),[this.elements]}},{key:"_bindHandle",value:function(o){this.gl2.bindVertexArray(o)}},{key:"setElementBuffer",value:function(){var o=this,u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,_=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return U(!u||u.target===a.ELEMENT_ARRAY_BUFFER,C_),this.bind(function(){o.gl.bindBuffer(a.ELEMENT_ARRAY_BUFFER,u?u.handle:null)}),this}},{key:"setBuffer",value:function(o,u,_){var f=this;if(u.target===a.ELEMENT_ARRAY_BUFFER)return this.setElementBuffer(u,_);var E=_.size,c=_.type,l=_.stride,R=_.offset,d=_.normalized,h=_.integer,g=_.divisor,N=this.gl,C=this.gl2;return o=Number(o),this.bind(function(){N.bindBuffer(N.ARRAY_BUFFER,u.handle),h?(f.device.assertWebGL2(),C.vertexAttribIPointer(o,E,c,l,R)):N.vertexAttribPointer(o,E,c,d,l,R),N.enableVertexAttribArray(o),C.vertexAttribDivisor(o,g||0)}),this}},{key:"enable",value:function(o){var u=this,_=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,f=this.device.isWebGL2||Vt()==="Chrome",E=f||o!==0;return(_||E)&&(o=Number(o),this.bind(function(){return _?u.gl.enableVertexAttribArray(o):u.gl.disableVertexAttribArray(o)})),this}}]),n}(qe,Symbol.toStringTag);function Ha(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=I_(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(E){throw E},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
29
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,u=!1,_;return{s:function(){r=r.call(e)},n:function(){var E=r.next();return o=E.done,E},e:function(E){u=!0,_=E},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(u)throw _}}}}function I_(e,t){if(e){if(typeof e=="string")return Wa(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 Wa(e,t)}}function Wa(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function b_(e){var t=P_();return function(){var n=v(e),i;if(t){var o=v(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return w(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 La=4,pr=function(e){x(r,e);var t=b_(r);function r(n,i){var o;I(this,r),o=t.call(this,n,i),s(A(o),"device",void 0),s(A(o),"handle",void 0),s(A(o),"vs",void 0),s(A(o),"fs",void 0),s(A(o),"layout",void 0),s(A(o),"varyings",null),s(A(o),"vertexArrayObject",void 0),s(A(o),"_indexBuffer",void 0),s(A(o),"uniforms",{}),s(A(o),"bindings",{}),s(A(o),"_textureUniforms",{}),s(A(o),"_textureIndexCounter",0),s(A(o),"_uniformCount",0),s(A(o),"_uniformSetters",{}),o.device=n,o.handle=o.props.handle||o.device.gl.createProgram(),o.device.setSpectorMetadata(o.handle,{id:o.props.id}),o.vs=i.vs,o.fs=i.fs;var u=i.varyings,_=i.bufferMode,f=_===void 0?a.SEPARATE_ATTRIBS:_;if(u&&u.length>0){var E;o.device.assertWebGL2(),o.varyings=u,(E=o.device.gl2)===null||E===void 0||E.transformFeedbackVaryings(o.handle,u,f)}return o._compileAndLink(),o.layout=i.layout||Tr(o.device.gl,o.handle),o.vertexArrayObject=new dr(o.device),o}return b(r,[{key:"destroy",value:function(){this.handle&&(this.device.gl.deleteProgram(this.handle),this.destroyed=!0)}},{key:"setIndexBuffer",value:function(i){var o=i;this.vertexArrayObject.setElementBuffer(o),this._indexBuffer=i}},{key:"setAttributes",value:function(i){for(var o=0,u=Object.entries(i);o<u.length;o++){var _=L(u[o],2),f=_[0],E=_[1],c=E,l=B_(this.layout,f);if(!l){P.warn('Ignoring buffer supplied for unknown attribute "'.concat(f,'" in pipeline "').concat(this.id,'" (buffer "').concat(E.id,'")'))();continue}var R=Br(l.format),d=R.type,h=R.components,g=R.byteLength,N=R.normalized,C=R.integer,F=l.stepMode==="instance"?1:0,B=Gr(d);this.vertexArrayObject.setBuffer(l.location,c,{size:h,type:B,stride:g,offset:0,normalized:N,integer:C,divisor:F})}}},{key:"setBindings",value:function(i){for(var o=this,u=function(){var l=L(f[_],2),R=l[0],d=l[1],h=o.layout.bindings.find(function(g){return g.name===R});if(!h)return P.warn("Unknown binding ".concat(R," in render pipeline ").concat(o.id))(),"continue";switch(d||P.warn("Unsetting binding ".concat(R," in render pipeline ").concat(o.id))(),h.type){case"uniform":if(!(d instanceof me)&&!(d.buffer instanceof me))throw new Error("buffer value");break;case"texture":if(!(d instanceof ve))throw new Error("texture value");break;case"sampler":P.warn("Ignoring sampler ".concat(R))();break;default:throw new Error(h.type)}o.bindings[R]=d},_=0,f=Object.entries(i);_<f.length;_++)var E=u()}},{key:"setUniforms",value:function(i){Object.assign(this.uniforms,i)}},{key:"draw",value:function(i){var o,u=this,_=i.renderPass,f=_===void 0?this.device.getDefaultRenderPass():_,E=i.vertexCount,c=i.instanceCount,l=i.firstVertex,R=l===void 0?0:l,d=y_(this.props.topology),h=Boolean(this._indexBuffer),g=((o=this._indexBuffer)===null||o===void 0?void 0:o.props.indexType)==="uint16"?a.UNSIGNED_SHORT:a.UNSIGNED_INT,N=Number(i.instanceCount)>0;return!this._areTexturesRenderable()||i.vertexCount===0?!1:(this.device.gl.useProgram(this.handle),this.vertexArrayObject.bind(function(){var C=F_(u.props.topology),F=null;F&&F.begin(C),u._applyBindings(),u._applyUniforms(),ur(u.device,u.props.parameters,function(){qi(u.device,{framebuffer:f.props.framebuffer},function(){if(h&&N){var B;(B=u.device.gl2)===null||B===void 0||B.drawElementsInstanced(d,E||0,g,R,c||0)}else if(h)u.device.gl.drawElements(d,E||0,g,R);else if(N){var V;(V=u.device.gl2)===null||V===void 0||V.drawArraysInstanced(d,R,E||0,c||0)}else u.device.gl.drawArrays(d,R,E||0)}),F&&F.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),P.time(La,"linkProgram for ".concat(this.id))(),i.linkProgram(this.handle),P.timeEnd(La,"linkProgram for ".concat(this.id))(),i.debug||P.level>0){var o=i.getProgramParameter(this.handle,i.LINK_STATUS);if(!o)throw new Error("Error linking: ".concat(i.getProgramInfoLog(this.handle)));i.validateProgram(this.handle);var u=i.getProgramParameter(this.handle,i.VALIDATE_STATUS);if(!u)throw new Error("Error validating: ".concat(i.getProgramInfoLog(this.handle)))}}},{key:"_areTexturesRenderable",value:function(){for(var i=!0,o=0,u=Object.entries(this._textureUniforms);o<u.length;o++){var _=L(u[o],2),f=_[1];f.update(),i=i&&f.loaded}for(var E=0,c=Object.entries(this.bindings);E<c.length;E++){var l=L(c[E],2),R=l[1];R.loaded!==void 0&&(i=i&&R.loaded)}return i}},{key:"_applyBindings",value:function(){this.device.gl.useProgram(this.handle);var i=this.device.gl2;if(!i)throw new Error("bindings");var o=0,u=0,_=Ha(this.layout.bindings),f;try{for(_.s();!(f=_.n()).done;){var E=f.value,c=this.bindings[E.name];if(!c)throw new Error("No value for binding ".concat(E.name," in ").concat(this.id));switch(E.type){case"uniform":var l=E.name,R=i.getUniformBlockIndex(this.handle,l);if(R===a.INVALID_INDEX)throw new Error("Invalid uniform block name ".concat(l));i.uniformBlockBinding(this.handle,u,R),c instanceof me?i.bindBufferBase(a.UNIFORM_BUFFER,u,c.handle):i.bindBufferRange(a.UNIFORM_BUFFER,u,c.buffer.handle,c.offset||0,c.size||c.buffer.byteLength-c.offset),u+=1;break;case"texture":if(!(c instanceof ve))throw new Error("texture");var d=c;i.activeTexture(a.TEXTURE0+o),i.bindTexture(d.target,d.handle),o+=1;break;case"sampler":break;case"storage":case"read-only-storage":throw new Error("binding type '".concat(E.type,"' not supported in WebGL"))}}}catch(h){_.e(h)}finally{_.f()}}},{key:"_applyUniforms",value:function(){var i=Ha(this.layout.uniforms||[]),o;try{for(i.s();!(o=i.n()).done;){var u=o.value,_=u.name,f=u.location,E=u.type,c=u.textureUnit,l=this.uniforms[_]||c;l!==void 0&&Xa(this.device.gl,f,E,l)}}catch(R){i.e(R)}finally{i.f()}}}]),r}(Zt);function y_(e){switch(e){case"point-list":return a.POINTS;case"line-list":return a.LINES;case"line-strip":return a.LINE_STRIP;case"line-loop":return a.LINE_LOOP;case"triangle-list":return a.TRIANGLES;case"triangle-strip":return a.TRIANGLE_STRIP;case"triangle-fan":return a.TRIANGLE_FAN;default:throw new Error(e)}}function F_(e){switch(e){case"point-list":return a.POINTS;case"line-list":return a.LINES;case"line-strip":return a.LINES;case"line-loop":return a.LINES;case"triangle-list":return a.TRIANGLES;case"triangle-strip":return a.TRIANGLES;case"triangle-fan":return a.TRIANGLES;default:throw new Error(e)}}function B_(e,t){return e.attributes.find(function(r){return r.name===t})||null}function Va(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 Fe(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Va(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Va(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function M_(e){var t=D_();return function(){var n=v(e),i;if(t){var o=v(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return w(this,i)}}function D_(){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 mr=1,ce=function(e){x(r,e);var t=M_(r);function r(n){var i,o;I(this,r),o=t.call(this,Fe(Fe({},n),{},{id:n.id||ge("webgl-device")})),s(A(o),"info",void 0),s(A(o),"canvasContext",void 0),s(A(o),"handle",void 0),s(A(o),"lost",void 0),s(A(o),"_resolveContextLost",void 0),s(A(o),"_features",void 0),s(A(o),"_limits",void 0),s(A(o),"renderPass",null),s(A(o),"gl",void 0),s(A(o),"gl2",null),s(A(o),"debug",!1),s(A(o),"isWebGL1",void 0),s(A(o),"isWebGL2",void 0),s(A(o),"_canvasSizeInfo",{clientWidth:0,clientHeight:0,devicePixelRatio:1}),s(A(o),"_extensions",{}),s(A(o),"_polyfilled",!1),s(A(o),"spector",void 0),s(A(o),"_webglLimits",void 0);var u=(i=n.gl)===null||i===void 0?void 0:i.device;if(u)throw new Error("WebGL context already attached to device ".concat(u.id));o.canvasContext=new cr(A(o),n),o.lost=new Promise(function(g){o._resolveContextLost=g});var _=function(N){var C,F;return(C=(F=o)._resolveContextLost)===null||C===void 0?void 0:C.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||(q()?Hi(o.canvasContext.canvas,Fe(Fe({},n),{},{onContextLost:_})):null),f=f||(q()?null:Nn(Fe(Fe({},n),{},{onContextLost:_}))),!f)throw new Error("WebGL context creation failed");o.handle=f,o.gl=o.handle,o.gl2=o.gl,o.isWebGL2=x_(o.gl),o.isWebGL1=!o.isWebGL2,o.info=Wi(o.gl),o.gl.device=A(o),o.gl._version=o.isWebGL2?2:1,er(o.gl);var E=n.enable,c=E===void 0?!0:E,l=n.copyState,R=l===void 0?!1:l;if(Ft(o.gl,{enable:c,copyState:R,log:function(){for(var N=arguments.length,C=new Array(N),F=0;F<N;F++)C[F]=arguments[F];return P.log.apply(P,[1].concat(C))()}}),q()&&n.debug&&(o.gl=va(o.gl,Fe(Fe({},n),{},{webgl2:o.isWebGL2,throwOnError:!0})),o.gl2=o.gl,o.debug=!0,P.level=Math.max(P.level,1),P.warn("WebGL debug mode activated. Performance reduced.")()),q()&&n.spector){var d=o.handle.canvas||n.canvas;o.spector=pa(Fe(Fe({},o.props),{},{canvas:d}))}var h="Created ".concat(o.info.type).concat(o.debug?" debug":""," context: ").concat(o.info.vendor,", ").concat(o.info.renderer," for canvas: ").concat(o.canvasContext.id);return P.probe(mr,h)(),P.groupEnd(mr)(),o}return b(r,[{key:"features",get:function(){return this._features=this._features||Gi(this.gl),this._features}},{key:"limits",get:function(){return this._limits=this._limits||$i(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 ir(this.gl,i)}},{key:"isTextureFormatFilterable",value:function(i){return Ki(this.gl,i)}},{key:"isTextureFormatRenderable",value:function(i){return ji(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){return new xt(this,i)}},{key:"_createTexture",value:function(i){return new ve(this,i)}},{key:"createExternalTexture",value:function(i){throw new Error("createExternalTexture() not implemented")}},{key:"createSampler",value:function(i){return new Qe(this,i)}},{key:"createShader",value:function(i){return new Rr(this,i)}},{key:"createFramebuffer",value:function(i){return new Rt(this,i)}},{key:"createRenderPipeline",value:function(i){return new pr(this,i)}},{key:"beginRenderPass",value:function(i){return new Ar(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:"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||Qi(this.gl),this._webglLimits}},{key:"loseDevice",value:function(){var i,o=this.gl.getExtension("WEBGL_lose_context");o&&o.loseContext(),(i=this._resolveContextLost)===null||i===void 0||i.call(this,{reason:"destroyed",message:"Application triggered context loss"})}},{key:"pushState",value:function(){xe(this.gl)}},{key:"popState",value:function(){be(this.gl)}},{key:"setSpectorMetadata",value:function(i,o){i.__SPECTOR_Metadata=o}}],[{key:"isSupported",value:function(){return typeof WebGLRenderingContext<"u"||vn()}},{key:"attach",value:function(i){if(i instanceof r)return i;if(i?.device instanceof ht)return i.device;if(!U_(i))throw new Error("Invalid WebGLRenderingContext");return new r({gl:i})}},{key:"create",value:function(){var n=oe(mn.default.mark(function o(){var u,_=arguments;return mn.default.wrap(function(E){for(;;)switch(E.prev=E.next){case 0:if(u=_.length>0&&_[0]!==void 0?_[0]:{},P.groupCollapsed(mr,"WebGLDevice created"),typeof u.canvas!="string"){E.next=5;break}return E.next=5,ot.pageLoaded;case 5:if(!u.debug){E.next=8;break}return E.next=8,Oa();case 8:if(!u.spector){E.next=11;break}return E.next=11,da();case 11:if(P.probe(mr+1,"DOM is loaded")(),!(u.gl&&u.gl.device)){E.next=14;break}return E.abrupt("return",r.attach(u.gl));case 14:return E.abrupt("return",new r(u));case 15:case"end":return E.stop()}},o)}));function i(){return n.apply(this,arguments)}return i}()}]),r}(ht);s(ce,"type","webgl");function U_(e){return typeof WebGLRenderingContext<"u"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&Number.isFinite(e._version))}function x_(e){return typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&e._version===2)}var ka=b(function e(){I(this,e),s(this,"commands",[])});function w_(e){var t=X_();return function(){var n=v(e),i;if(t){var o=v(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return w(this,i)}}function X_(){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 Ka=function(e){x(r,e);var t=w_(r);function r(n,i){var o;return I(this,r),o=t.call(this,i),s(A(o),"device",void 0),s(A(o),"commandBuffer",new ka),o.device=n,o}return b(r,[{key:"destroy",value:function(){}},{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}(yr);return qa(H_);})();
14
+ `)}function Ts(e,t){for(var r="",n=t-2;n<=t;n++){var a=e[n];a!==void 0&&(r+="".concat(As(String(n),4),": ").concat(a,`
15
+ `))}return r}function As(e,t){for(var r="",n=e.length;n<t;++n)r+=" ";return r+e}function Lr(e,t,r,n){var a="See luma.gl ".concat(r," Upgrade Guide at https://luma.gl/docs/upgrade-guide"),o=Object.getPrototypeOf(e);n.forEach(function(u){o.methodName||(o[u]=function(){throw P.removed("Calling removed method ".concat(t,".").concat(u,": "),a)(),new Error(u)})})}function Ye(e,t,r){var n=r.removedProps,a=n===void 0?{}:n,o=r.deprecatedProps,u=o===void 0?{}:o,f=r.replacedProps,_=f===void 0?{}:f;for(var E in a)if(E in t){var c=a[E],l=c?"".concat(e,".").concat(a[E]):"N/A";P.removed("".concat(e,".").concat(E),l)()}for(var R in u)if(R in t){var A=u[R];P.deprecated("".concat(e,".").concat(R),"".concat(e,".").concat(A))()}for(var h=null,S=0,C=Object.entries(_);S<C.length;S++){var v=H(C[S],2),B=v[0],b=v[1];B in t&&(P.deprecated("".concat(e,".").concat(B),"".concat(e,".").concat(b))(),h=h||Object.assign({},t),h[b]=t[B],delete h[B])}return h||t}var Nt=Le(Xe(),1),ds="";function kr(e,t){return Wr.apply(this,arguments)}function Wr(){return Wr=se(Nt.default.mark(function e(t,r){return Nt.default.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return a.abrupt("return",new Promise(function(o,u){try{var f=new Image;f.onload=function(){return o(f)},f.onerror=function(){return u(new Error("Could not load image ".concat(t,".")))},f.crossOrigin=r?.crossOrigin||"anonymous",f.src=t.startsWith("http")?t:ds+t}catch(_){u(_)}}));case 1:case"end":return a.stop()}},e)})),Wr.apply(this,arguments)}function Ct(e,t){return Vr.apply(this,arguments)}function Vr(){return Vr=se(Nt.default.mark(function e(t,r){var n,a;return Nt.default.wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(n=document.getElementsByTagName("head")[0],n){u.next=3;break}throw new Error("loadScript");case 3:return a=document.createElement("script"),a.setAttribute("type","text/javascript"),a.setAttribute("src",t),r&&(a.id=r),u.abrupt("return",new Promise(function(f,_){a.onload=f,a.onerror=function(E){return _(new Error("Unable to load script '".concat(t,"': ").concat(E)))},n.appendChild(a)}));case 8:case"end":return u.stop()}},e)})),Vr.apply(this,arguments)}var bt={};function ps(e){globalThis.console&&globalThis.console.error&&globalThis.console.error(e)}function ms(e){globalThis.console&&globalThis.console.log&&globalThis.console.log(e)}function hs(e,t){bt[e]=!0,t!==void 0&&ps(t)}function Ss(e){var t=e.getError;e.getError=function(){var n;do n=t.apply(e),n!==e.NO_ERROR&&(bt[n]=!0);while(n!==e.NO_ERROR);for(n in bt)if(bt[n])return delete bt[n],parseInt(n,10);return e.NO_ERROR}}var It=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 a=new e.VertexAttrib(r);this.attribs[n]=a}this.maxAttrib=0};It.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()};It.VertexAttrib.prototype.recache=function(){this.cached=[this.size,this.type,this.normalized,this.stride,this.offset].join(":")};var ze=function(t){var r=this;this.gl=t,Ss(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(o){return o===r.VERTEX_ARRAY_BINDING_OES?r.currentVertexArrayObject===r.defaultVertexArrayObject?null:r.currentVertexArrayObject:n.getParameter.apply(this,arguments)},t.enableVertexAttribArray=function(o){var u=r.currentVertexArrayObject;u.maxAttrib=Math.max(u.maxAttrib,o);var f=u.attribs[o];return f.enabled=!0,n.enableVertexAttribArray.apply(this,arguments)},t.disableVertexAttribArray=function(o){var u=r.currentVertexArrayObject;u.maxAttrib=Math.max(u.maxAttrib,o);var f=u.attribs[o];return f.enabled=!1,n.disableVertexAttribArray.apply(this,arguments)},t.bindBuffer=function(o,u){switch(o){case t.ARRAY_BUFFER:r.currentArrayBuffer=u;break;case t.ELEMENT_ARRAY_BUFFER:r.currentVertexArrayObject.elementArrayBuffer=u;break;default:}return n.bindBuffer.apply(this,arguments)},t.getVertexAttrib=function(o,u){var f=r.currentVertexArrayObject,_=f.attribs[o];switch(u){case t.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:return _.buffer;case t.VERTEX_ATTRIB_ARRAY_ENABLED:return _.enabled;case t.VERTEX_ATTRIB_ARRAY_SIZE:return _.size;case t.VERTEX_ATTRIB_ARRAY_STRIDE:return _.stride;case t.VERTEX_ATTRIB_ARRAY_TYPE:return _.type;case t.VERTEX_ATTRIB_ARRAY_NORMALIZED:return _.normalized;default:return n.getVertexAttrib.apply(this,arguments)}},t.vertexAttribPointer=function(o,u,f,_,E,c){var l=r.currentVertexArrayObject;l.maxAttrib=Math.max(l.maxAttrib,o);var R=l.attribs[o];return R.buffer=r.currentArrayBuffer,R.size=u,R.type=f,R.normalized=_,R.stride=E,R.offset=c,R.recache(),n.vertexAttribPointer.apply(this,arguments)},t.instrumentExtension&&t.instrumentExtension(this,"OES_vertex_array_object"),t.canvas&&t.canvas.addEventListener("webglcontextrestored",function(){ms("OESVertexArrayObject emulation library context restored"),r.reset_()},!0),this.reset_()};ze.prototype.VERTEX_ARRAY_BINDING_OES=34229;ze.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 It(this),this.currentVertexArrayObject=null,this.currentArrayBuffer=null,this.vertexArrayObjects=[this.defaultVertexArrayObject],this.bindVertexArrayOES(null)};ze.prototype.createVertexArrayOES=function(){var t=new It(this);return this.vertexArrayObjects.push(t),t};ze.prototype.deleteVertexArrayOES=function(t){t.isAlive=!1,this.vertexArrayObjects.splice(this.vertexArrayObjects.indexOf(t),1),this.currentVertexArrayObject===t&&this.bindVertexArrayOES(null)};ze.prototype.isVertexArrayOES=function(t){return!!(t&&t instanceof It&&t.hasBeenBound&&t.ext===this)};ze.prototype.bindVertexArrayOES=function(t){var r=this.gl;if(t&&!t.isAlive){hs(r.INVALID_OPERATION,"bindVertexArrayOES: attempt to bind deleted arrayObject");return}var n=this.original,a=this.currentVertexArrayObject;this.currentVertexArrayObject=t||this.defaultVertexArrayObject,this.currentVertexArrayObject.hasBeenBound=!0;var o=this.currentVertexArrayObject;if(a!==o){(!a||o.elementArrayBuffer!==a.elementArrayBuffer)&&n.bindBuffer.call(r,r.ELEMENT_ARRAY_BUFFER,o.elementArrayBuffer);for(var u=this.currentArrayBuffer,f=Math.max(a?a.maxAttrib:0,o.maxAttrib),_=0;_<=f;_++){var E=o.attribs[_],c=a?a.attribs[_]:null;if((!a||E.enabled!==c.enabled)&&(E.enabled?n.enableVertexAttribArray.call(r,_):n.disableVertexAttribArray.call(r,_)),E.enabled){var l=!1;(!a||E.buffer!==c.buffer)&&(u!==E.buffer&&(n.bindBuffer.call(r,r.ARRAY_BUFFER,E.buffer),u=E.buffer),l=!0),(l||E.cached!==c.cached)&&n.vertexAttribPointer.call(r,_,E.size,E.type,E.normalized,E.stride,E.offset)}}this.currentArrayBuffer!==u&&n.bindBuffer.call(r,r.ARRAY_BUFFER,this.currentArrayBuffer)}};function Ca(e){if(typeof e.createVertexArray!="function"){var t=e.getSupportedExtensions;e.getSupportedExtensions=function(){var a=t.call(this)||[];return a.indexOf("OES_vertex_array_object")<0&&a.push("OES_vertex_array_object"),a};var r=e.getExtension;e.getExtension=function(a){var o=r.call(this,a);return o||(a!=="OES_vertex_array_object"?null:(e.__OESVertexArrayObject||(this.__OESVertexArrayObject=new ze(this)),this.__OESVertexArrayObject))}}}var i=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}({});var gs="Invalid WebGLRenderingContext";var Os="Requires WebGL2";function Kr(e){return typeof WebGLRenderingContext<"u"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&Number.isFinite(e._version))}function L(e){return typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&e._version===2)}function yt(e){return L(e)?e:null}function nr(e){return w(Kr(e),gs),e}function ut(e){return w(L(e),Os),e}var W,ba="OES_element_index",Ia="WEBGL_draw_buffers",vs="EXT_disjoint_timer_query",Ns="EXT_disjoint_timer_query_webgl2",Cs="EXT_texture_filter_anisotropic",ya="WEBGL_debug_renderer_info",bs=35723,Is=4352,ys=36795,Ps=34047,Fs=37445,Bs=37446,Z=function(t){return L(t)?void 0:0},Ms=(W={},s(W,i.READ_BUFFER,function(e){return L(e)?void 0:i.COLOR_ATTACHMENT0}),s(W,bs,function(e){return L(e)?void 0:Is}),s(W,i.RASTERIZER_DISCARD,Z),s(W,i.SAMPLES,Z),s(W,ys,function(e,t){var r=L(e)?e.getExtension(Ns):e.getExtension(vs);return r&&r.GPU_DISJOINT_EXT?t(r.GPU_DISJOINT_EXT):0}),s(W,Fs,function(e,t){var r=e.getExtension(ya);return t(r&&r.UNMASKED_VENDOR_WEBGL||i.VENDOR)}),s(W,Bs,function(e,t){var r=e.getExtension(ya);return t(r&&r.UNMASKED_RENDERER_WEBGL||i.RENDERER)}),s(W,Ps,function(e,t){var r,n,a=((r=e.luma)===null||r===void 0||(n=r.extensions)===null||n===void 0?void 0:n[Cs])||e.getExtension("EXT_texture_filter_anisotropic");return a?t(a.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1}),s(W,i.MAX_3D_TEXTURE_SIZE,Z),s(W,i.MAX_ARRAY_TEXTURE_LAYERS,Z),s(W,i.MAX_CLIENT_WAIT_TIMEOUT_WEBGL,Z),s(W,i.MAX_COLOR_ATTACHMENTS,function(e,t){if(!L(e)){var r=e.getExtension(Ia);return r?t(r.MAX_COLOR_ATTACHMENTS_WEBGL):0}}),s(W,i.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,Z),s(W,i.MAX_COMBINED_UNIFORM_BLOCKS,Z),s(W,i.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,Z),s(W,i.MAX_DRAW_BUFFERS,function(e){if(!L(e)){var t=e.getExtension(Ia);return t?t.MAX_DRAW_BUFFERS_WEBGL:0}}),s(W,i.MAX_ELEMENT_INDEX,function(e){return e.getExtension(ba)?2147483647:65535}),s(W,i.MAX_ELEMENTS_INDICES,function(e){return e.getExtension(ba)?16777216:65535}),s(W,i.MAX_ELEMENTS_VERTICES,function(e){return 16777216}),s(W,i.MAX_FRAGMENT_INPUT_COMPONENTS,Z),s(W,i.MAX_FRAGMENT_UNIFORM_BLOCKS,Z),s(W,i.MAX_FRAGMENT_UNIFORM_COMPONENTS,Z),s(W,i.MAX_SAMPLES,Z),s(W,i.MAX_SERVER_WAIT_TIMEOUT,Z),s(W,i.MAX_TEXTURE_LOD_BIAS,Z),s(W,i.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,Z),s(W,i.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,Z),s(W,i.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,Z),s(W,i.MAX_UNIFORM_BLOCK_SIZE,Z),s(W,i.MAX_UNIFORM_BUFFER_BINDINGS,Z),s(W,i.MAX_VARYING_COMPONENTS,Z),s(W,i.MAX_VERTEX_OUTPUT_COMPONENTS,Z),s(W,i.MAX_VERTEX_UNIFORM_BLOCKS,Z),s(W,i.MAX_VERTEX_UNIFORM_COMPONENTS,Z),s(W,i.MIN_PROGRAM_TEXEL_OFFSET,Z),s(W,i.MAX_PROGRAM_TEXEL_OFFSET,Z),s(W,i.UNIFORM_BUFFER_OFFSET_ALIGNMENT,Z),W);function Pa(e,t,r){var n=Ms[r],a=typeof n=="function"?n(e,t,r):n,o=a!==void 0?a:t(r);return o}function ft(e){var t=e.luma;if(!t){var r={_polyfilled:!1,_extensions:{}};e.luma=r}return e.luma}var _t,Ds="OES_vertex_array_object",Fa="ANGLE_instanced_arrays",Us="WEBGL_draw_buffers",xs="EXT_disjoint_timer_query",ws="EXT_texture_filter_anisotropic",Xs="VertexArray requires WebGL2 or OES_vertex_array_object extension";function Hs(e,t){return{webgl2:L(e),ext:e.getExtension(t)}}var jr=(_t={},s(_t,Ds,{meta:{suffix:"OES"},createVertexArray:function(){w(!1,Xs)},deleteVertexArray:function(){},bindVertexArray:function(){},isVertexArray:function(){return!1}}),s(_t,Fa,{meta:{suffix:"ANGLE"},vertexAttribDivisor:function(t,r){w(r===0,"WebGL instanced rendering not supported")},drawElementsInstanced:function(){},drawArraysInstanced:function(){}}),s(_t,Us,{meta:{suffix:"WEBGL"},drawBuffers:function(){w(!1)}}),s(_t,xs,{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){}}),_t),ar={readBuffer:function(t,r,n){L(t)&&r(n)},getVertexAttrib:function(t,r,n,a){var o=Hs(t,Fa),u=o.webgl2,f=o.ext,_;switch(a){case i.VERTEX_ATTRIB_ARRAY_INTEGER:_=u?void 0:!1;break;case i.VERTEX_ATTRIB_ARRAY_DIVISOR:_=!u&&!f?0:void 0;break;default:}return _!==void 0?_:r(n,a)},getProgramParameter:function(t,r,n,a){if(!L(t))switch(a){case i.TRANSFORM_FEEDBACK_BUFFER_MODE:return i.SEPARATE_ATTRIBS;case i.TRANSFORM_FEEDBACK_VARYINGS:return 0;case i.ACTIVE_UNIFORM_BLOCKS:return 0;default:}return r(n,a)},getInternalformatParameter:function(t,r,n,a,o){if(!L(t))switch(o){case i.SAMPLES:return new Int32Array([0]);default:}var u=t;return u.getInternalformatParameter(n,a,o)},getTexParameter:function(t,r,n,a){switch(a){case i.TEXTURE_MAX_ANISOTROPY_EXT:var o=ft(t),u=o._extensions,f=u[ws];a=f&&f.TEXTURE_MAX_ANISOTROPY_EXT||i.TEXTURE_MAX_ANISOTROPY_EXT;break;default:}return r(n,a)},getParameter:Pa,hint:function(t,r,n,a){return r(n,a)}};function Ma(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Ls(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(E){throw E},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
16
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,u=!1,f;return{s:function(){r=r.call(e)},n:function(){var E=r.next();return o=E.done,E},e:function(E){u=!0,f=E},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(u)throw f}}}}function Ls(e,t){if(e){if(typeof e=="string")return Ba(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ba(e,t)}}function Ba(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function ir(e){var t=ft(e);return t._polyfilled||(Ca(e),Ws(e),Vs(e,jr),Ks(e,{target:t,target2:e}),t._polyfilled=!0),e}function Ws(e){var t=ft(e),r=e.getSupportedExtensions()||[],n=Ma(r),a;try{for(n.s();!(a=n.n()).done;){var o=a.value,u=e.getExtension(o);t._extensions[o]=u}}catch(f){n.e(f)}finally{n.f()}}function Vs(e,t){var r=ft(e),n=Ma(Object.getOwnPropertyNames(t)),a;try{for(n.s();!(a=n.n()).done;){var o=a.value;o!=="overrides"&&ks(e,{extension:o,target:r,target2:e})}}catch(u){n.e(u)}finally{n.f()}}function ks(e,t){var r=t.extension,n=t.target,a=t.target2,o=jr[r];w(o);for(var u=o.meta,f=u===void 0?{}:u,_=f.suffix,E=_===void 0?"":_,c=e.getExtension(r),l=function(){var S=A[R],C="".concat(S).concat(E),v=null;S==="meta"||typeof e[S]=="function"||(c&&typeof c[C]=="function"?v=function(){return c[C].apply(c,arguments)}:typeof o[S]=="function"&&(v=o[S].bind(n))),v&&(n[S]=v,a[S]=v)},R=0,A=Object.keys(o);R<A.length;R++)l()}function Ks(e,t){var r=t.target,n=t.target2;Object.keys(ar).forEach(function(a){if(typeof ar[a]=="function"){var o=e[a]?e[a].bind(e):function(){},u=ar[a].bind(null,e,o);r[a]=u,n[a]=u}})}function Yr(e){if(Array.isArray(e))return it(e)}function Pt(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function zr(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
17
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function $(e){return Yr(e)||Pt(e)||je(e)||zr()}var N,d,pe,Bt=(N={},s(N,i.BLEND,!1),s(N,i.BLEND_COLOR,new Float32Array([0,0,0,0])),s(N,i.BLEND_EQUATION_RGB,i.FUNC_ADD),s(N,i.BLEND_EQUATION_ALPHA,i.FUNC_ADD),s(N,i.BLEND_SRC_RGB,i.ONE),s(N,i.BLEND_DST_RGB,i.ZERO),s(N,i.BLEND_SRC_ALPHA,i.ONE),s(N,i.BLEND_DST_ALPHA,i.ZERO),s(N,i.COLOR_CLEAR_VALUE,new Float32Array([0,0,0,0])),s(N,i.COLOR_WRITEMASK,[!0,!0,!0,!0]),s(N,i.CULL_FACE,!1),s(N,i.CULL_FACE_MODE,i.BACK),s(N,i.DEPTH_TEST,!1),s(N,i.DEPTH_CLEAR_VALUE,1),s(N,i.DEPTH_FUNC,i.LESS),s(N,i.DEPTH_RANGE,new Float32Array([0,1])),s(N,i.DEPTH_WRITEMASK,!0),s(N,i.DITHER,!0),s(N,i.CURRENT_PROGRAM,null),s(N,i.FRAMEBUFFER_BINDING,null),s(N,i.RENDERBUFFER_BINDING,null),s(N,i.VERTEX_ARRAY_BINDING,null),s(N,i.ARRAY_BUFFER_BINDING,null),s(N,i.FRONT_FACE,i.CCW),s(N,i.GENERATE_MIPMAP_HINT,i.DONT_CARE),s(N,i.LINE_WIDTH,1),s(N,i.POLYGON_OFFSET_FILL,!1),s(N,i.POLYGON_OFFSET_FACTOR,0),s(N,i.POLYGON_OFFSET_UNITS,0),s(N,i.SAMPLE_ALPHA_TO_COVERAGE,!1),s(N,i.SAMPLE_COVERAGE,!1),s(N,i.SAMPLE_COVERAGE_VALUE,1),s(N,i.SAMPLE_COVERAGE_INVERT,!1),s(N,i.SCISSOR_TEST,!1),s(N,i.SCISSOR_BOX,new Int32Array([0,0,1024,1024])),s(N,i.STENCIL_TEST,!1),s(N,i.STENCIL_CLEAR_VALUE,0),s(N,i.STENCIL_WRITEMASK,4294967295),s(N,i.STENCIL_BACK_WRITEMASK,4294967295),s(N,i.STENCIL_FUNC,i.ALWAYS),s(N,i.STENCIL_REF,0),s(N,i.STENCIL_VALUE_MASK,4294967295),s(N,i.STENCIL_BACK_FUNC,i.ALWAYS),s(N,i.STENCIL_BACK_REF,0),s(N,i.STENCIL_BACK_VALUE_MASK,4294967295),s(N,i.STENCIL_FAIL,i.KEEP),s(N,i.STENCIL_PASS_DEPTH_FAIL,i.KEEP),s(N,i.STENCIL_PASS_DEPTH_PASS,i.KEEP),s(N,i.STENCIL_BACK_FAIL,i.KEEP),s(N,i.STENCIL_BACK_PASS_DEPTH_FAIL,i.KEEP),s(N,i.STENCIL_BACK_PASS_DEPTH_PASS,i.KEEP),s(N,i.VIEWPORT,[0,0,1024,1024]),s(N,i.PACK_ALIGNMENT,4),s(N,i.UNPACK_ALIGNMENT,4),s(N,i.UNPACK_FLIP_Y_WEBGL,!1),s(N,i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),s(N,i.UNPACK_COLORSPACE_CONVERSION_WEBGL,i.BROWSER_DEFAULT_WEBGL),s(N,i.TRANSFORM_FEEDBACK_BINDING,null),s(N,i.COPY_READ_BUFFER_BINDING,null),s(N,i.COPY_WRITE_BUFFER_BINDING,null),s(N,i.PIXEL_PACK_BUFFER_BINDING,null),s(N,i.PIXEL_UNPACK_BUFFER_BINDING,null),s(N,i.FRAGMENT_SHADER_DERIVATIVE_HINT,i.DONT_CARE),s(N,i.READ_FRAMEBUFFER_BINDING,null),s(N,i.RASTERIZER_DISCARD,!1),s(N,i.PACK_ROW_LENGTH,0),s(N,i.PACK_SKIP_PIXELS,0),s(N,i.PACK_SKIP_ROWS,0),s(N,i.UNPACK_ROW_LENGTH,0),s(N,i.UNPACK_IMAGE_HEIGHT,0),s(N,i.UNPACK_SKIP_PIXELS,0),s(N,i.UNPACK_SKIP_ROWS,0),s(N,i.UNPACK_SKIP_IMAGES,0),N),Ne=function(t,r,n){return r?t.enable(n):t.disable(n)},Da=function(t,r,n){return t.hint(n,r)},Te=function(t,r,n){return t.pixelStorei(n,r)},Ua=function(t,r,n){var a;return n===i.FRAMEBUFFER_BINDING?a=L(t)?i.DRAW_FRAMEBUFFER:i.FRAMEBUFFER:a=i.READ_FRAMEBUFFER,t.bindFramebuffer(a,r)},Ft=function(t,r,n){var a,o=(a={},s(a,i.ARRAY_BUFFER_BINDING,i.ARRAY_BUFFER),s(a,i.COPY_READ_BUFFER_BINDING,i.COPY_READ_BUFFER),s(a,i.COPY_WRITE_BUFFER_BINDING,i.COPY_WRITE_BUFFER),s(a,i.PIXEL_PACK_BUFFER_BINDING,i.PIXEL_PACK_BUFFER),s(a,i.PIXEL_UNPACK_BUFFER_BINDING,i.PIXEL_UNPACK_BUFFER),a),u=o[n];t.bindBuffer(u,r)};function Gr(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}var xa=(d={},s(d,i.BLEND,Ne),s(d,i.BLEND_COLOR,function(e,t){return e.blendColor.apply(e,$(t))}),s(d,i.BLEND_EQUATION_RGB,"blendEquation"),s(d,i.BLEND_EQUATION_ALPHA,"blendEquation"),s(d,i.BLEND_SRC_RGB,"blendFunc"),s(d,i.BLEND_DST_RGB,"blendFunc"),s(d,i.BLEND_SRC_ALPHA,"blendFunc"),s(d,i.BLEND_DST_ALPHA,"blendFunc"),s(d,i.COLOR_CLEAR_VALUE,function(e,t){return e.clearColor.apply(e,$(t))}),s(d,i.COLOR_WRITEMASK,function(e,t){return e.colorMask.apply(e,$(t))}),s(d,i.CULL_FACE,Ne),s(d,i.CULL_FACE_MODE,function(e,t){return e.cullFace(t)}),s(d,i.DEPTH_TEST,Ne),s(d,i.DEPTH_CLEAR_VALUE,function(e,t){return e.clearDepth(t)}),s(d,i.DEPTH_FUNC,function(e,t){return e.depthFunc(t)}),s(d,i.DEPTH_RANGE,function(e,t){return e.depthRange.apply(e,$(t))}),s(d,i.DEPTH_WRITEMASK,function(e,t){return e.depthMask(t)}),s(d,i.DITHER,Ne),s(d,i.FRAGMENT_SHADER_DERIVATIVE_HINT,Da),s(d,i.CURRENT_PROGRAM,function(e,t){return e.useProgram(t)}),s(d,i.RENDERBUFFER_BINDING,function(e,t){return e.bindRenderbuffer(i.RENDERBUFFER,t)}),s(d,i.TRANSFORM_FEEDBACK_BINDING,function(e,t){var r,n;return(r=(n=e).bindTransformFeedback)===null||r===void 0?void 0:r.call(n,i.TRANSFORM_FEEDBACK,t)}),s(d,i.VERTEX_ARRAY_BINDING,function(e,t){return e.bindVertexArray(t)}),s(d,i.FRAMEBUFFER_BINDING,Ua),s(d,i.READ_FRAMEBUFFER_BINDING,Ua),s(d,i.ARRAY_BUFFER_BINDING,Ft),s(d,i.COPY_READ_BUFFER_BINDING,Ft),s(d,i.COPY_WRITE_BUFFER_BINDING,Ft),s(d,i.PIXEL_PACK_BUFFER_BINDING,Ft),s(d,i.PIXEL_UNPACK_BUFFER_BINDING,Ft),s(d,i.FRONT_FACE,function(e,t){return e.frontFace(t)}),s(d,i.GENERATE_MIPMAP_HINT,Da),s(d,i.LINE_WIDTH,function(e,t){return e.lineWidth(t)}),s(d,i.POLYGON_OFFSET_FILL,Ne),s(d,i.POLYGON_OFFSET_FACTOR,"polygonOffset"),s(d,i.POLYGON_OFFSET_UNITS,"polygonOffset"),s(d,i.RASTERIZER_DISCARD,Ne),s(d,i.SAMPLE_ALPHA_TO_COVERAGE,Ne),s(d,i.SAMPLE_COVERAGE,Ne),s(d,i.SAMPLE_COVERAGE_VALUE,"sampleCoverage"),s(d,i.SAMPLE_COVERAGE_INVERT,"sampleCoverage"),s(d,i.SCISSOR_TEST,Ne),s(d,i.SCISSOR_BOX,function(e,t){return e.scissor.apply(e,$(t))}),s(d,i.STENCIL_TEST,Ne),s(d,i.STENCIL_CLEAR_VALUE,function(e,t){return e.clearStencil(t)}),s(d,i.STENCIL_WRITEMASK,function(e,t){return e.stencilMaskSeparate(i.FRONT,t)}),s(d,i.STENCIL_BACK_WRITEMASK,function(e,t){return e.stencilMaskSeparate(i.BACK,t)}),s(d,i.STENCIL_FUNC,"stencilFuncFront"),s(d,i.STENCIL_REF,"stencilFuncFront"),s(d,i.STENCIL_VALUE_MASK,"stencilFuncFront"),s(d,i.STENCIL_BACK_FUNC,"stencilFuncBack"),s(d,i.STENCIL_BACK_REF,"stencilFuncBack"),s(d,i.STENCIL_BACK_VALUE_MASK,"stencilFuncBack"),s(d,i.STENCIL_FAIL,"stencilOpFront"),s(d,i.STENCIL_PASS_DEPTH_FAIL,"stencilOpFront"),s(d,i.STENCIL_PASS_DEPTH_PASS,"stencilOpFront"),s(d,i.STENCIL_BACK_FAIL,"stencilOpBack"),s(d,i.STENCIL_BACK_PASS_DEPTH_FAIL,"stencilOpBack"),s(d,i.STENCIL_BACK_PASS_DEPTH_PASS,"stencilOpBack"),s(d,i.VIEWPORT,function(e,t){return e.viewport.apply(e,$(t))}),s(d,i.PACK_ALIGNMENT,Te),s(d,i.UNPACK_ALIGNMENT,Te),s(d,i.UNPACK_FLIP_Y_WEBGL,Te),s(d,i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,Te),s(d,i.UNPACK_COLORSPACE_CONVERSION_WEBGL,Te),s(d,i.PACK_ROW_LENGTH,Te),s(d,i.PACK_SKIP_PIXELS,Te),s(d,i.PACK_SKIP_ROWS,Te),s(d,i.UNPACK_ROW_LENGTH,Te),s(d,i.UNPACK_IMAGE_HEIGHT,Te),s(d,i.UNPACK_SKIP_PIXELS,Te),s(d,i.UNPACK_SKIP_ROWS,Te),s(d,i.UNPACK_SKIP_IMAGES,Te),s(d,"framebuffer",function(t,r){var n=r&&"handle"in r?r.handle:r;return t.bindFramebuffer(i.FRAMEBUFFER,n)}),s(d,"blend",function(t,r){return r?t.enable(i.BLEND):t.disable(i.BLEND)}),s(d,"blendColor",function(t,r){return t.blendColor.apply(t,$(r))}),s(d,"blendEquation",function(t,r){var n=typeof r=="number"?[r,r]:r;t.blendEquationSeparate.apply(t,$(n))}),s(d,"blendFunc",function(t,r){var n=r?.length===2?[].concat($(r),$(r)):r;t.blendFuncSeparate.apply(t,$(n))}),s(d,"clearColor",function(t,r){return t.clearColor.apply(t,$(r))}),s(d,"clearDepth",function(t,r){return t.clearDepth(r)}),s(d,"clearStencil",function(t,r){return t.clearStencil(r)}),s(d,"colorMask",function(t,r){return t.colorMask.apply(t,$(r))}),s(d,"cull",function(t,r){return r?t.enable(i.CULL_FACE):t.disable(i.CULL_FACE)}),s(d,"cullFace",function(t,r){return t.cullFace(r)}),s(d,"depthTest",function(t,r){return r?t.enable(i.DEPTH_TEST):t.disable(i.DEPTH_TEST)}),s(d,"depthFunc",function(t,r){return t.depthFunc(r)}),s(d,"depthMask",function(t,r){return t.depthMask(r)}),s(d,"depthRange",function(t,r){return t.depthRange.apply(t,$(r))}),s(d,"dither",function(t,r){return r?t.enable(i.DITHER):t.disable(i.DITHER)}),s(d,"derivativeHint",function(t,r){t.hint(i.FRAGMENT_SHADER_DERIVATIVE_HINT,r)}),s(d,"frontFace",function(t,r){return t.frontFace(r)}),s(d,"mipmapHint",function(t,r){return t.hint(i.GENERATE_MIPMAP_HINT,r)}),s(d,"lineWidth",function(t,r){return t.lineWidth(r)}),s(d,"polygonOffsetFill",function(t,r){return r?t.enable(i.POLYGON_OFFSET_FILL):t.disable(i.POLYGON_OFFSET_FILL)}),s(d,"polygonOffset",function(t,r){return t.polygonOffset.apply(t,$(r))}),s(d,"sampleCoverage",function(t,r){return t.sampleCoverage.apply(t,$(r))}),s(d,"scissorTest",function(t,r){return r?t.enable(i.SCISSOR_TEST):t.disable(i.SCISSOR_TEST)}),s(d,"scissor",function(t,r){return t.scissor.apply(t,$(r))}),s(d,"stencilTest",function(t,r){return r?t.enable(i.STENCIL_TEST):t.disable(i.STENCIL_TEST)}),s(d,"stencilMask",function(t,r){r=Gr(r)?r:[r,r];var n=r,a=H(n,2),o=a[0],u=a[1];t.stencilMaskSeparate(i.FRONT,o),t.stencilMaskSeparate(i.BACK,u)}),s(d,"stencilFunc",function(t,r){r=Gr(r)&&r.length===3?[].concat($(r),$(r)):r;var n=r,a=H(n,6),o=a[0],u=a[1],f=a[2],_=a[3],E=a[4],c=a[5];t.stencilFuncSeparate(i.FRONT,o,u,f),t.stencilFuncSeparate(i.BACK,_,E,c)}),s(d,"stencilOp",function(t,r){r=Gr(r)&&r.length===3?[].concat($(r),$(r)):r;var n=r,a=H(n,6),o=a[0],u=a[1],f=a[2],_=a[3],E=a[4],c=a[5];t.stencilOpSeparate(i.FRONT,o,u,f),t.stencilOpSeparate(i.BACK,_,E,c)}),s(d,"viewport",function(t,r){return t.viewport.apply(t,$(r))}),d);function te(e,t,r){return t[e]!==void 0?t[e]:r[e]}var wa={blendEquation:function(t,r,n){return t.blendEquationSeparate(te(i.BLEND_EQUATION_RGB,r,n),te(i.BLEND_EQUATION_ALPHA,r,n))},blendFunc:function(t,r,n){return t.blendFuncSeparate(te(i.BLEND_SRC_RGB,r,n),te(i.BLEND_DST_RGB,r,n),te(i.BLEND_SRC_ALPHA,r,n),te(i.BLEND_DST_ALPHA,r,n))},polygonOffset:function(t,r,n){return t.polygonOffset(te(i.POLYGON_OFFSET_FACTOR,r,n),te(i.POLYGON_OFFSET_UNITS,r,n))},sampleCoverage:function(t,r,n){return t.sampleCoverage(te(i.SAMPLE_COVERAGE_VALUE,r,n),te(i.SAMPLE_COVERAGE_INVERT,r,n))},stencilFuncFront:function(t,r,n){return t.stencilFuncSeparate(i.FRONT,te(i.STENCIL_FUNC,r,n),te(i.STENCIL_REF,r,n),te(i.STENCIL_VALUE_MASK,r,n))},stencilFuncBack:function(t,r,n){return t.stencilFuncSeparate(i.BACK,te(i.STENCIL_BACK_FUNC,r,n),te(i.STENCIL_BACK_REF,r,n),te(i.STENCIL_BACK_VALUE_MASK,r,n))},stencilOpFront:function(t,r,n){return t.stencilOpSeparate(i.FRONT,te(i.STENCIL_FAIL,r,n),te(i.STENCIL_PASS_DEPTH_FAIL,r,n),te(i.STENCIL_PASS_DEPTH_PASS,r,n))},stencilOpBack:function(t,r,n){return t.stencilOpSeparate(i.BACK,te(i.STENCIL_BACK_FAIL,r,n),te(i.STENCIL_BACK_PASS_DEPTH_FAIL,r,n),te(i.STENCIL_BACK_PASS_DEPTH_PASS,r,n))}},Zr={enable:function(t,r){return t(s({},r,!0))},disable:function(t,r){return t(s({},r,!1))},pixelStorei:function(t,r,n){return t(s({},r,n))},hint:function(t,r,n){return t(s({},r,n))},useProgram:function(t,r){return t(s({},i.CURRENT_PROGRAM,r))},bindRenderbuffer:function(t,r,n){return t(s({},i.RENDERBUFFER_BINDING,n))},bindTransformFeedback:function(t,r,n){return t(s({},i.TRANSFORM_FEEDBACK_BINDING,n))},bindVertexArray:function(t,r){return t(s({},i.VERTEX_ARRAY_BINDING,r))},bindFramebuffer:function(t,r,n){var a;switch(r){case i.FRAMEBUFFER:return t((a={},s(a,i.DRAW_FRAMEBUFFER_BINDING,n),s(a,i.READ_FRAMEBUFFER_BINDING,n),a));case i.DRAW_FRAMEBUFFER:return t(s({},i.DRAW_FRAMEBUFFER_BINDING,n));case i.READ_FRAMEBUFFER:return t(s({},i.READ_FRAMEBUFFER_BINDING,n));default:return null}},bindBuffer:function(t,r,n){var a,o=(a={},s(a,i.ARRAY_BUFFER,[i.ARRAY_BUFFER_BINDING]),s(a,i.COPY_READ_BUFFER,[i.COPY_READ_BUFFER_BINDING]),s(a,i.COPY_WRITE_BUFFER,[i.COPY_WRITE_BUFFER_BINDING]),s(a,i.PIXEL_PACK_BUFFER,[i.PIXEL_PACK_BUFFER_BINDING]),s(a,i.PIXEL_UNPACK_BUFFER,[i.PIXEL_UNPACK_BUFFER_BINDING]),a)[r];return o?t(s({},o,n)):{valueChanged:!0}},blendColor:function(t,r,n,a,o){return t(s({},i.BLEND_COLOR,new Float32Array([r,n,a,o])))},blendEquation:function(t,r){var n;return t((n={},s(n,i.BLEND_EQUATION_RGB,r),s(n,i.BLEND_EQUATION_ALPHA,r),n))},blendEquationSeparate:function(t,r,n){var a;return t((a={},s(a,i.BLEND_EQUATION_RGB,r),s(a,i.BLEND_EQUATION_ALPHA,n),a))},blendFunc:function(t,r,n){var a;return t((a={},s(a,i.BLEND_SRC_RGB,r),s(a,i.BLEND_DST_RGB,n),s(a,i.BLEND_SRC_ALPHA,r),s(a,i.BLEND_DST_ALPHA,n),a))},blendFuncSeparate:function(t,r,n,a,o){var u;return t((u={},s(u,i.BLEND_SRC_RGB,r),s(u,i.BLEND_DST_RGB,n),s(u,i.BLEND_SRC_ALPHA,a),s(u,i.BLEND_DST_ALPHA,o),u))},clearColor:function(t,r,n,a,o){return t(s({},i.COLOR_CLEAR_VALUE,new Float32Array([r,n,a,o])))},clearDepth:function(t,r){return t(s({},i.DEPTH_CLEAR_VALUE,r))},clearStencil:function(t,r){return t(s({},i.STENCIL_CLEAR_VALUE,r))},colorMask:function(t,r,n,a,o){return t(s({},i.COLOR_WRITEMASK,[r,n,a,o]))},cullFace:function(t,r){return t(s({},i.CULL_FACE_MODE,r))},depthFunc:function(t,r){return t(s({},i.DEPTH_FUNC,r))},depthRange:function(t,r,n){return t(s({},i.DEPTH_RANGE,new Float32Array([r,n])))},depthMask:function(t,r){return t(s({},i.DEPTH_WRITEMASK,r))},frontFace:function(t,r){return t(s({},i.FRONT_FACE,r))},lineWidth:function(t,r){return t(s({},i.LINE_WIDTH,r))},polygonOffset:function(t,r,n){var a;return t((a={},s(a,i.POLYGON_OFFSET_FACTOR,r),s(a,i.POLYGON_OFFSET_UNITS,n),a))},sampleCoverage:function(t,r,n){var a;return t((a={},s(a,i.SAMPLE_COVERAGE_VALUE,r),s(a,i.SAMPLE_COVERAGE_INVERT,n),a))},scissor:function(t,r,n,a,o){return t(s({},i.SCISSOR_BOX,new Int32Array([r,n,a,o])))},stencilMask:function(t,r){var n;return t((n={},s(n,i.STENCIL_WRITEMASK,r),s(n,i.STENCIL_BACK_WRITEMASK,r),n))},stencilMaskSeparate:function(t,r,n){return t(s({},r===i.FRONT?i.STENCIL_WRITEMASK:i.STENCIL_BACK_WRITEMASK,n))},stencilFunc:function(t,r,n,a){var o;return t((o={},s(o,i.STENCIL_FUNC,r),s(o,i.STENCIL_REF,n),s(o,i.STENCIL_VALUE_MASK,a),s(o,i.STENCIL_BACK_FUNC,r),s(o,i.STENCIL_BACK_REF,n),s(o,i.STENCIL_BACK_VALUE_MASK,a),o))},stencilFuncSeparate:function(t,r,n,a,o){var u;return t((u={},s(u,r===i.FRONT?i.STENCIL_FUNC:i.STENCIL_BACK_FUNC,n),s(u,r===i.FRONT?i.STENCIL_REF:i.STENCIL_BACK_REF,a),s(u,r===i.FRONT?i.STENCIL_VALUE_MASK:i.STENCIL_BACK_VALUE_MASK,o),u))},stencilOp:function(t,r,n,a){var o;return t((o={},s(o,i.STENCIL_FAIL,r),s(o,i.STENCIL_PASS_DEPTH_FAIL,n),s(o,i.STENCIL_PASS_DEPTH_PASS,a),s(o,i.STENCIL_BACK_FAIL,r),s(o,i.STENCIL_BACK_PASS_DEPTH_FAIL,n),s(o,i.STENCIL_BACK_PASS_DEPTH_PASS,a),o))},stencilOpSeparate:function(t,r,n,a,o){var u;return t((u={},s(u,r===i.FRONT?i.STENCIL_FAIL:i.STENCIL_BACK_FAIL,n),s(u,r===i.FRONT?i.STENCIL_PASS_DEPTH_FAIL:i.STENCIL_BACK_PASS_DEPTH_FAIL,a),s(u,r===i.FRONT?i.STENCIL_PASS_DEPTH_PASS:i.STENCIL_BACK_PASS_DEPTH_PASS,o),u))},viewport:function(t,r,n,a,o){return t(s({},i.VIEWPORT,[r,n,a,o]))}},Ce=function(t,r){return t.isEnabled(r)},$r=(pe={},s(pe,i.BLEND,Ce),s(pe,i.CULL_FACE,Ce),s(pe,i.DEPTH_TEST,Ce),s(pe,i.DITHER,Ce),s(pe,i.POLYGON_OFFSET_FILL,Ce),s(pe,i.SAMPLE_ALPHA_TO_COVERAGE,Ce),s(pe,i.SAMPLE_COVERAGE,Ce),s(pe,i.SCISSOR_TEST,Ce),s(pe,i.STENCIL_TEST,Ce),s(pe,i.RASTERIZER_DISCARD,Ce),pe),Xa=new Set([i.ACTIVE_TEXTURE,i.TRANSFORM_FEEDBACK_ACTIVE,i.TRANSFORM_FEEDBACK_PAUSED,i.TRANSFORM_FEEDBACK_BUFFER_BINDING,i.UNIFORM_BUFFER_BINDING,i.ELEMENT_ARRAY_BUFFER_BINDING,i.IMPLEMENTATION_COLOR_READ_FORMAT,i.IMPLEMENTATION_COLOR_READ_TYPE,i.READ_BUFFER,i.DRAW_BUFFER0,i.DRAW_BUFFER1,i.DRAW_BUFFER2,i.DRAW_BUFFER3,i.DRAW_BUFFER4,i.DRAW_BUFFER5,i.DRAW_BUFFER6,i.DRAW_BUFFER7,i.DRAW_BUFFER8,i.DRAW_BUFFER9,i.DRAW_BUFFER10,i.DRAW_BUFFER11,i.DRAW_BUFFER12,i.DRAW_BUFFER13,i.DRAW_BUFFER14,i.DRAW_BUFFER15,i.SAMPLER_BINDING,i.TEXTURE_BINDING_2D,i.TEXTURE_BINDING_2D_ARRAY,i.TEXTURE_BINDING_3D,i.TEXTURE_BINDING_CUBE_MAP]);function js(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Ys(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(E){throw E},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
18
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,u=!1,f;return{s:function(){r=r.call(e)},n:function(){var E=r.next();return o=E.done,E},e:function(E){u=!0,f=E},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(u)throw f}}}}function Ys(e,t){if(e){if(typeof e=="string")return Ha(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 Ha(e,t)}}function Ha(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 Ue(e,t){var r=ce.attach(e),n=r.gl;if(!zs(t)){var a={};for(var o in t){var u=Number(o),f=xa[o];f&&(typeof f=="string"?a[f]=!0:f(n,t[o],u))}var _=n.state&&n.state.cache;if(_)for(var E in a){var c=wa[E];c(n,t,_)}}}function or(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Bt,r=ce.attach(e),n=r.gl;if(typeof t=="number"){var a=t,o=$r[a];return o?o(n,a):n.getParameter(a)}var u=Array.isArray(t)?t:Object.keys(t),f={},_=js(u),E;try{for(_.s();!(E=_.n()).done;){var c=E.value,l=$r[c];f[c]=l?l(n,Number(c)):n.getParameter(Number(c))}}catch(R){_.e(R)}finally{_.f()}return f}function La(e){Ue(e,Bt)}function zs(e){for(var t in e)return!1;return!0}function Wa(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 a=0;a<e.length;++a)if(e[a]!==t[a])return!1;return!0}return!1}var Gs=function(){function e(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=r.copyState,a=n===void 0?!1:n,o=r.log,u=o===void 0?function(){}:o;I(this,e),s(this,"gl",void 0),s(this,"program",null),s(this,"stateStack",[]),s(this,"enable",!0),s(this,"cache",void 0),s(this,"log",void 0),this.gl=t,this.cache=a?or(t):Object.assign({},Bt),this.log=u,this._updateCache=this._updateCache.bind(this),Object.seal(this)}return y(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];Ue(this.gl,r),this.stateStack.pop()}},{key:"_updateCache",value:function(r){var n=!1,a,o=this.stateStack.length>0?this.stateStack[this.stateStack.length-1]:null;for(var u in r){w(u!==void 0);var f=r[u],_=this.cache[u];Wa(f,_)||(n=!0,a=_,o&&!(u in o)&&(o[u]=_),this.cache[u]=f)}return{valueChanged:n,oldValue:a}}}]),e}();function Ge(e){return e.state}function Mt(e,t){var r=t.enable,n=r===void 0?!0:r,a=t.copyState;if(w(a!==void 0),!e.state){e.state=new Gs(e,{copyState:a}),$s(e);for(var o in Zr){var u=Zr[o];Zs(e,o,u)}Va(e,"getParameter"),Va(e,"isEnabled")}var f=Ge(e);return f.enable=n,e}function xe(e){var t=Ge(e);t||(Mt(e,{copyState:!1}),t=Ge(e)),t.push()}function be(e){var t=Ge(e);w(t),t.pop()}function Va(e,t){var r=e[t].bind(e);e[t]=function(a){if(a===void 0||Xa.has(a))return r(a);var o=Ge(e);return a in o.cache||(o.cache[a]=r(a)),o.enable?o.cache[a]:r(a)},Object.defineProperty(e[t],"name",{value:"".concat(t,"-from-cache"),configurable:!1})}function Zs(e,t,r){if(e[t]){var n=e[t].bind(e);e[t]=function(){for(var o=Ge(e),u=arguments.length,f=new Array(u),_=0;_<u;_++)f[_]=arguments[_];var E=r.apply(void 0,[o._updateCache].concat(f)),c=E.valueChanged,l=E.oldValue;return c&&n.apply(void 0,f),l},Object.defineProperty(e[t],"name",{value:"".concat(t,"-to-cache"),configurable:!1})}}function $s(e){var t=e.useProgram.bind(e);e.useProgram=function(n){var a=Ge(e);a.program!==n&&(t(n),a.program=n)}}function ka(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Et(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ka(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ka(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Qs={webgl2:!0,webgl1:!0,powerPreference:"high-performance",onContextLost:function(){return console.error("WebGL context lost")},onContextRestored:function(){return console.info("WebGL context restored")}};function Ka(e,t){t=Et(Et({},Qs),t);var r=null,n=function(c){return r=c.statusMessage||r};e.addEventListener("webglcontextcreationerror",n,!1);var a=null;if(t.type==="webgl2"&&(t=Et(Et({},t),{},{webgl1:!1})),t.type==="webgl1"&&(t=Et(Et({},t),{},{webgl2:!1})),t.webgl2&&(a=a||e.getContext("webgl2",t)),t.webgl1&&(a=a||e.getContext("webgl",t)),e.removeEventListener("webglcontextcreationerror",n,!1),!a)throw new Error("Failed to create ".concat(t.webgl2&&!t.webgl1?"WebGL2":"WebGL"," context: ").concat(r||"Unknown error"));if(t.onContextLost){var o=t,u=o.onContextLost;e.addEventListener("webglcontextlost",function(E){return u(E)},!1)}if(t.onContextRestored){var f=t,_=f.onContextRestored;e.addEventListener("webglcontextrestored",function(E){return _(E)},!1)}return a}function ja(e){var t=e.getParameter(i.VENDOR),r=e.getParameter(i.RENDERER),n=e.getExtension("WEBGL_debug_renderer_info"),a=e.getParameter(n?n.UNMASKED_VENDOR_WEBGL:i.VENDOR),o=e.getParameter(n?n.UNMASKED_RENDERER_WEBGL:i.RENDERER),u=a||t,f=o||r,_=qs(u,f);return{type:L(e)?"webgl2":"webgl",gpu:_,vendor:a||t,renderer:o||r,version:e.getParameter(i.VERSION),shadingLanguages:["glsl"],shadingLanguageVersions:{glsl:e.getParameter(i.SHADING_LANGUAGE_VERSION)}}}function qs(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 Ya(){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,a=r.indexOf("Trident/")!==-1;return n||a}var _e,Ie,ue="texture-compression-bc",j="texture-compression-astc",ye="texture-compression-etc2",Js="texture-compression-etc1-webgl",sr="texture-compression-pvrtc-webgl",Qr="texture-compression-atc-webgl",Dt="WEBGL_compressed_texture_s3tc",Ut="WEBGL_compressed_texture_s3tc_srgb",ct="EXT_texture_compression_rgtc",xt="EXT_texture_compression_bptc",eu="WEBGL_compressed_texture_etc",tu="WEBGL_compressed_texture_astc",ru="WEBGL_compressed_texture_etc1",nu="WEBGL_compressed_texture_pvrtc",au="WEBGL_compressed_texture_atc",za="EXT_sRGB",we="EXT_texture_norm16",iu="WEBGL_color_buffer_float",ou="EXT_color_buffer_float",ve=function(t,r){return t.getExtension(r)},Ze=function(t,r){return r.every(function(n){return t.getExtension(n)})},qr={"texture-blend-float-webgl1":function(t){return L(t)?!0:ve(t,"EXT_float_blend")},"texture-formats-srgb-webgl1":function(t){return L(t)?!0:ve(t,za)},"texture-formats-depth-webgl1":function(t){return L(t)?!0:ve(t,"WEBGL_depth_texture")},"texture-formats-float32-webgl1":function(t){return L(t)?!0:ve(t,"OES_texture_float")},"texture-formats-float16-webgl1":function(t){return L(t)?!0:ve(t,"OES_texture_half_float")},"texture-formats-norm16-webgl":function(t){return L(t)?ve(t,we):!1},"texture-filter-linear-float32-webgl":function(t){return ve(t,"OES_texture_float_linear")},"texture-filter-linear-float16-webgl":function(t){return ve(t,"OES_texture_half_float_linear")},"texture-filter-anisotropic-webgl":function(t){return ve(t,"EXT_texture_filter_anisotropic")},"texture-renderable-float32-webgl":function(t){return ve(t,"EXT_color_buffer_float")},"texture-renderable-float16-webgl":function(t){return ve(t,"EXT_color_buffer_half_float")},"texture-compression-bc":function(t){return Ze(t,[Dt,Ut,ct,xt])},"texture-compression-bc5-webgl":function(t){return Ze(t,[ct])},"texture-compression-etc2":function(t){return Ze(t,[eu])},"texture-compression-astc":function(t){return Ze(t,[tu])},"texture-compression-etc1-webgl":function(t){return Ze(t,[ru])},"texture-compression-pvrtc-webgl":function(t){return Ze(t,[nu])},"texture-compression-atc-webgl":function(t){return Ze(t,[au])}};function su(e,t){var r;return((r=qr[t])===null||r===void 0?void 0:r.call(qr,e))||!1}function Ga(e){var t=Object.keys(qr);return t.filter(function(r){return su(e,r)})}var $e={"rgb8unorm-unsized":{gl:i.RGB,gl1:i.RGB,b:4,c:2,bpp:4,dataFormat:i.RGB,types:[i.UNSIGNED_BYTE,i.UNSIGNED_SHORT_5_6_5]},"rgba8unorm-unsized":{gl:i.RGBA,gl1:i.RGBA,b:4,c:2,bpp:4,dataFormat:i.RGBA,types:[i.UNSIGNED_BYTE,i.UNSIGNED_SHORT_4_4_4_4,i.UNSIGNED_SHORT_5_5_5_1]},r8unorm:{gl:i.R8,b:1,c:1,renderbuffer:!0},r8snorm:{gl:i.R8_SNORM,b:1,c:1},r8uint:{gl:i.R8UI,b:1,c:1,renderbuffer:!0},r8sint:{gl:i.R8I,b:1,c:1,renderbuffer:!0},rg8unorm:{gl:i.RG8,b:2,c:2,renderbuffer:!0},rg8snorm:{gl:i.RG8_SNORM,b:2,c:2},rg8uint:{gl:i.RG8UI,b:2,c:2,renderbuffer:!0},rg8sint:{gl:i.RG8I,b:2,c:2,renderbuffer:!0},r16uint:{gl:i.R16UI,b:2,c:1,renderbuffer:!0},r16sint:{gl:i.R16I,b:2,c:1,renderbuffer:!0},r16float:{gl:i.R16F,b:2,c:1,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl",renderbuffer:!0},"r16unorm-webgl":{gl:i.R16_EXT,b:2,c:1,f:"texture-formats-norm16-webgl",renderbuffer:!0,x:we},"r16snorm-webgl":{gl:i.R16_SNORM_EXT,b:2,c:1,f:"texture-formats-norm16-webgl",x:we},"rgba4unorm-webgl":{gl:i.RGBA4,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb565unorm-webgl":{gl:i.RGB565,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb5a1unorm-webgl":{gl:i.RGB5_A1,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb8unorm-webgl":{gl:i.RGB8,b:3,c:3,wgpu:!1},"rgb8snorm-webgl":{gl:i.RGB8_SNORM,b:3,c:3,wgpu:!1},rgba8unorm:{gl:i.RGBA8,gl1:i.RGBA,b:4,c:2,bpp:4},"rgba8unorm-srgb":{gl:i.SRGB8_ALPHA8,gl1:i.SRGB_ALPHA_EXT,b:4,c:4,gl1ext:za,bpp:4},rgba8snorm:{gl:i.RGBA8_SNORM,b:4,c:4},rgba8uint:{gl:i.RGBA8UI,b:4,c:4,bpp:4},rgba8sint:{gl:i.RGBA8I,b:4,c:4,bpp:4},bgra8unorm:{b:4,c:4},"bgra8unorm-srgb":{b:4,c:4},rg16uint:{gl:i.RG16UI,b:4,c:1,bpp:4},rg16sint:{gl:i.RG16I,b:4,c:2,bpp:4},rg16float:{gl:i.RG16F,bpp:4,b:4,c:2,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl",renderbuffer:!0},"rg16unorm-webgl":{gl:i.RG16_EXT,b:2,c:2,f:"texture-formats-norm16-webgl",x:we},"rg16snorm-webgl":{gl:i.RG16_SNORM_EXT,b:2,c:2,f:"texture-formats-norm16-webgl",x:we},r32uint:{gl:i.R32UI,b:4,c:1,bpp:4,renderbuffer:!0},r32sint:{gl:i.R32I,b:4,c:1,bpp:4,renderbuffer:!0},r32float:{gl:i.R32F,bpp:4,b:4,c:1,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl"},rgb9e5ufloat:{gl:i.RGB9_E5,b:4,c:3,p:1,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},rg11b10ufloat:{gl:i.R11F_G11F_B10F,b:4,c:3,p:1,render:"texture-renderable-float32-webgl",renderbuffer:!0},rgb10a2unorm:{gl:i.RGB10_A2,b:4,c:4,p:1,renderbuffer:!0},"rgb10a2unorm-webgl":{b:4,c:4,gl:i.RGB10_A2UI,p:1,wgpu:!1,bpp:4,renderbuffer:!0},"rgb16unorm-webgl":{gl:i.RGB16_EXT,b:2,c:3,f:"texture-formats-norm16-webgl",x:we},"rgb16snorm-webgl":{gl:i.RGB16_SNORM_EXT,b:2,c:3,f:"texture-formats-norm16-webgl",x:we},rg32uint:{gl:i.RG32UI,b:8,c:2,renderbuffer:!0},rg32sint:{gl:i.RG32I,b:8,c:2,renderbuffer:!0},rg32float:{gl:i.RG32F,b:8,c:2,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",renderbuffer:!0},rgba16uint:{gl:i.RGBA16UI,b:8,c:4,renderbuffer:!0},rgba16sint:{gl:i.RGBA16I,b:8,c:4,renderbuffer:!0},rgba16float:{gl:i.RGBA16F,gl1:i.RGBA,b:8,c:4,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},"rgba16unorm-webgl":{gl:i.RGBA16_EXT,b:2,c:4,f:"texture-formats-norm16-webgl",renderbuffer:!0,x:we},"rgba16snorm-webgl":{gl:i.RGBA16_SNORM_EXT,b:2,c:4,f:"texture-formats-norm16-webgl",x:we},"rgb32float-webgl":{gl:i.RGB32F,gl1:i.RGB,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",gl2ext:ou,gl1ext:iu,dataFormat:i.RGB,types:[i.FLOAT]},rgba32uint:{gl:i.RGBA32UI,b:16,c:4,renderbuffer:!0},rgba32sint:{gl:i.RGBA32I,b:16,c:4,renderbuffer:!0},rgba32float:{gl:i.RGBA32F,b:16,c:4,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",renderbuffer:!0},stencil8:{gl:i.STENCIL_INDEX8,gl1:i.STENCIL_INDEX8,b:1,c:1,attachment:i.STENCIL_ATTACHMENT,renderbuffer:!0},depth16unorm:{gl:i.DEPTH_COMPONENT16,gl1:i.DEPTH_COMPONENT16,b:2,c:1,attachment:i.DEPTH_ATTACHMENT,renderbuffer:!0},depth24plus:{gl:i.DEPTH_COMPONENT24,b:3,c:1,attachment:i.DEPTH_ATTACHMENT},depth32float:{gl:i.DEPTH_COMPONENT32F,b:4,c:1,attachment:i.DEPTH_ATTACHMENT,renderbuffer:!0},"depth24plus-stencil8":{gl:i.DEPTH_STENCIL,gl1:i.DEPTH_STENCIL,b:4,c:2,p:1,attachment:i.DEPTH_STENCIL_ATTACHMENT,renderbuffer:!0,depthTexture:!0},"depth24unorm-stencil8":{gl:i.DEPTH24_STENCIL8,b:4,c:2,p:1,attachment:i.DEPTH_STENCIL_ATTACHMENT,renderbuffer:!0},"depth32float-stencil8":{gl:i.DEPTH32F_STENCIL8,b:5,c:2,p:1,attachment:i.DEPTH_STENCIL_ATTACHMENT,renderbuffer:!0},"bc1-rgb-unorm-webgl":{gl:i.COMPRESSED_RGB_S3TC_DXT1_EXT,x:Dt,f:ue},"bc1-rgb-unorm-srgb-webgl":{gl:i.COMPRESSED_SRGB_S3TC_DXT1_EXT,x:Ut,f:ue},"bc1-rgba-unorm":{gl:i.COMPRESSED_RGBA_S3TC_DXT1_EXT,x:Dt,f:ue},"bc1-rgba-unorm-srgb":{gl:i.COMPRESSED_SRGB_S3TC_DXT1_EXT,x:Ut,f:ue},"bc2-rgba-unorm":{gl:i.COMPRESSED_RGBA_S3TC_DXT3_EXT,x:Dt,f:ue},"bc2-rgba-unorm-srgb":{gl:i.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,x:Ut,f:ue},"bc3-rgba-unorm":{gl:i.COMPRESSED_RGBA_S3TC_DXT5_EXT,x:Dt,f:ue},"bc3-rgba-unorm-srgb":{gl:i.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,x:Ut,f:ue},"bc4-r-unorm":{gl:i.COMPRESSED_RED_RGTC1_EXT,x:ct,f:ue},"bc4-r-snorm":{gl:i.COMPRESSED_SIGNED_RED_RGTC1_EXT,x:ct,f:ue},"bc5-rg-unorm":{gl:i.COMPRESSED_RED_GREEN_RGTC2_EXT,x:ct,f:ue},"bc5-rg-snorm":{gl:i.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,x:ct,f:ue},"bc6h-rgb-ufloat":{gl:i.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT,x:xt,f:ue},"bc6h-rgb-float":{gl:i.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT,x:xt,f:ue},"bc7-rgba-unorm":{gl:i.COMPRESSED_RGBA_BPTC_UNORM_EXT,x:xt,f:ue},"bc7-rgba-unorm-srgb":{gl:i.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT,x:xt,f:ue},"etc2-rgb8unorm":{gl:i.COMPRESSED_RGB8_ETC2,f:ye},"etc2-rgb8unorm-srgb":{gl:i.COMPRESSED_SRGB8_ETC2,f:ye},"etc2-rgb8a1unorm":{gl:i.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,f:ye},"etc2-rgb8a1unorm-srgb":{gl:i.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,f:ye},"etc2-rgba8unorm":{gl:i.COMPRESSED_RGBA8_ETC2_EAC,f:ye},"etc2-rgba8unorm-srgb":{gl:i.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,f:ye},"eac-r11unorm":{gl:i.COMPRESSED_R11_EAC,f:ye},"eac-r11snorm":{gl:i.COMPRESSED_SIGNED_R11_EAC,f:ye},"eac-rg11unorm":{gl:i.COMPRESSED_RG11_EAC,f:ye},"eac-rg11snorm":{gl:i.COMPRESSED_SIGNED_RG11_EAC,f:ye},"astc-4x4-unorm":{gl:i.COMPRESSED_RGBA_ASTC_4x4_KHR,f:j},"astc-4x4-unorm-srgb":{gl:i.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,f:j},"astc-5x4-unorm":{gl:i.COMPRESSED_RGBA_ASTC_5x4_KHR,f:j},"astc-5x4-unorm-srgb":{gl:i.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR,f:j},"astc-5x5-unorm":{gl:i.COMPRESSED_RGBA_ASTC_5x5_KHR,f:j},"astc-5x5-unorm-srgb":{gl:i.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,f:j},"astc-6x5-unorm":{gl:i.COMPRESSED_RGBA_ASTC_6x5_KHR,f:j},"astc-6x5-unorm-srgb":{gl:i.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,f:j},"astc-6x6-unorm":{gl:i.COMPRESSED_RGBA_ASTC_6x6_KHR,f:j},"astc-6x6-unorm-srgb":{gl:i.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,f:j},"astc-8x5-unorm":{gl:i.COMPRESSED_RGBA_ASTC_8x5_KHR,f:j},"astc-8x5-unorm-srgb":{gl:i.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,f:j},"astc-8x6-unorm":{gl:i.COMPRESSED_RGBA_ASTC_8x6_KHR,f:j},"astc-8x6-unorm-srgb":{gl:i.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,f:j},"astc-8x8-unorm":{gl:i.COMPRESSED_RGBA_ASTC_8x8_KHR,f:j},"astc-8x8-unorm-srgb":{gl:i.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,f:j},"astc-10x5-unorm":{gl:i.COMPRESSED_RGBA_ASTC_10x10_KHR,f:j},"astc-10x5-unorm-srgb":{gl:i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,f:j},"astc-10x6-unorm":{gl:i.COMPRESSED_RGBA_ASTC_10x6_KHR,f:j},"astc-10x6-unorm-srgb":{gl:i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,f:j},"astc-10x8-unorm":{gl:i.COMPRESSED_RGBA_ASTC_10x8_KHR,f:j},"astc-10x8-unorm-srgb":{gl:i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,f:j},"astc-10x10-unorm":{gl:i.COMPRESSED_RGBA_ASTC_10x10_KHR,f:j},"astc-10x10-unorm-srgb":{gl:i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,f:j},"astc-12x10-unorm":{gl:i.COMPRESSED_RGBA_ASTC_12x10_KHR,f:j},"astc-12x10-unorm-srgb":{gl:i.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,f:j},"astc-12x12-unorm":{gl:i.COMPRESSED_RGBA_ASTC_12x12_KHR,f:j},"astc-12x12-unorm-srgb":{gl:i.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,f:j},"pvrtc-rgb4unorm-webgl":{gl:i.COMPRESSED_RGB_PVRTC_4BPPV1_IMG,f:sr},"pvrtc-rgba4unorm-webgl":{gl:i.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,f:sr},"pvrtc-rbg2unorm-webgl":{gl:i.COMPRESSED_RGB_PVRTC_2BPPV1_IMG,f:sr},"pvrtc-rgba2unorm-webgl":{gl:i.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,f:sr},"etc1-rbg-unorm-webgl":{gl:i.COMPRESSED_RGB_ETC1_WEBGL,f:Js},"atc-rgb-unorm-webgl":{gl:i.COMPRESSED_RGB_ATC_WEBGL,f:Qr},"atc-rgba-unorm-webgl":{gl:i.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,f:Qr},"atc-rgbai-unorm-webgl":{gl:i.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL,f:Qr}},uu=(_e={},s(_e,i.RED,1),s(_e,i.RED_INTEGER,1),s(_e,i.RG,2),s(_e,i.RG_INTEGER,2),s(_e,i.RGB,3),s(_e,i.RGB_INTEGER,3),s(_e,i.RGBA,4),s(_e,i.RGBA_INTEGER,4),s(_e,i.DEPTH_COMPONENT,1),s(_e,i.DEPTH_STENCIL,1),s(_e,i.ALPHA,1),s(_e,i.LUMINANCE,1),s(_e,i.LUMINANCE_ALPHA,2),_e),fu=(Ie={},s(Ie,i.FLOAT,4),s(Ie,i.UNSIGNED_INT,4),s(Ie,i.INT,4),s(Ie,i.UNSIGNED_SHORT,2),s(Ie,i.SHORT,2),s(Ie,i.HALF_FLOAT,2),s(Ie,i.BYTE,1),s(Ie,i.UNSIGNED_BYTE,1),Ie);function wt(e,t){var r=Qe(t),n=$e[r];if(!n||(L(e)?n.gl===void 0:n.gl1===void 0))return!1;var a=n.x||L(e)&&n.gl2ext||n.gl1ext;return a?Boolean(e.getExtension(a)):!0}function Za(e,t){var r;return wt(e,t)&&((r=$e[t])===null||r===void 0?void 0:r.renderbuffer)}function Qe(e){if(typeof e=="string")return e;var t=Object.entries($e).find(function(r){var n=H(r,2),a=n[1];return a.gl===e||a.gl1===e});if(!t)throw new Error("Unknown texture format ".concat(e));return t[0]}function Xt(e,t){var r=$e[e],n=t?r?.gl:r?.gl1;if(n===void 0)throw new Error("Unsupported texture format ".concat(e));return n}function $a(e,t){var r=Qe(t);if(!wt(e,r))return!1;try{var n=rr(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 Qa(e,t){var r=Qe(t);return!(!wt(e,r)||typeof r=="number")}function ur(e,t){var r=Qe(e),n=Xt(r,t),a=rr(r);return{format:n,dataFormat:_u(a.format,a.integer,a.normalized,n),type:Jr(a.dataType),compressed:a.compressed}}function qa(e){var t=$e[e];if(!(t!=null&&t.attachment))throw new Error("".concat(e," is not a depth stencil format"));return t.attachment}function fr(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e.RGBA,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:i.RGBA,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:i.UNSIGNED_BYTE,a=null,o=null;try{a=e.createTexture(),e.bindTexture(i.TEXTURE_2D,a);var u=0,f=1,_=1,E=0,c=new Uint8Array([0,0,255,255]);e.texImage2D(e.TEXTURE_2D,u,t,f,_,E,r,n,c),o=e.createFramebuffer(),e.bindFramebuffer(i.FRAMEBUFFER,o),e.framebufferTexture2D(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0,i.TEXTURE_2D,a,0);var l=e.checkFramebufferStatus(i.FRAMEBUFFER)===i.FRAMEBUFFER_COMPLETE;return e.bindTexture(i.TEXTURE_2D,null),l}finally{e.deleteTexture(a),e.deleteFramebuffer(o)}}function Ht(e,t){var r=Qe(e),n=ur(r,t),a=uu[n.dataFormat]||4,o=fu[n.type]||1;return a*o}function _u(e,t,r,n){if(n===i.RGBA||n===i.RGB)return n;switch(e){case"r":return t&&!r?i.RED_INTEGER:i.RED;case"rg":return t&&!r?i.RG_INTEGER:i.RG;case"rgb":return t&&!r?i.RGB_INTEGER:i.RGB;case"rgba":return t&&!r?i.RGBA_INTEGER:i.RGBA;default:return i.RGBA}}function Jr(e){switch(e){case"uint8":return i.UNSIGNED_BYTE;case"sint8":return i.BYTE;case"uint16":return i.UNSIGNED_SHORT;case"sint16":return i.SHORT;case"uint32":return i.UNSIGNED_INT;case"sint32":return i.INT;case"float16":return i.HALF_FLOAT;case"float32":return i.FLOAT;default:return i.UNSIGNED_BYTE}}function Eu(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=cu(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(E){throw E},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
19
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,u=!1,f;return{s:function(){r=r.call(e)},n:function(){var E=r.next();return o=E.done,E},e:function(E){u=!0,f=E},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(u)throw f}}}}function cu(e,t){if(e){if(typeof e=="string")return Ja(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 Ja(e,t)}}function Ja(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 ei(e){var t=lu(e),r=Eu(Ga(e)),n;try{for(r.s();!(n=r.n()).done;){var a=n.value;t.add(a)}}catch(o){r.e(o)}finally{r.f()}return t}function lu(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(ti);r<n.length;r++){var a=n[r];Ru(e,a)&&t.add(a)}return t}function Ru(e,t){var r=ti[t];if(!r)return!1;var n=r||[],a=H(n,2),o=a[0],u=a[1],f=L(e)?u:o;if(typeof f=="boolean")return f;switch(t){case"texture-renderable-rgba32float-webgl":return L(e)?Boolean(e.getExtension(f)):fr(e);case"glsl-derivatives":return tn(e,f);case"glsl-frag-data":return tn(e,f,{behavior:"require"});case"glsl-frag-depth":return tn(e,f);default:return Boolean(e.getExtension(f))}}var en={};function tn(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!Ya(r))return!0;if(t in en)return en[t];var n=r.behavior||"enable",a="#extension GL_".concat(t," : ").concat(n,`
20
+ void main(void) {}`),o=e.createShader(e.VERTEX_SHADER);if(!o)throw new Error("shader");e.shaderSource(o,a),e.compileShader(o);var u=e.getShaderParameter(o,e.COMPILE_STATUS);return e.deleteShader(o),en[t]=u,u}var ti={webgl:[!0,!0],webgl2:[!1,!0],"timer-query-webgl":["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],"vertex-array-object-webgl1":["OES_vertex_array_object",!0],"instanced-rendering-webgl1":["ANGLE_instanced_arrays",!0],"multiple-render-targets-webgl1":["WEBGL_draw_buffers",!0],"index-uint32-webgl1":["OES_element_index_uint",!0],"blend-minmax-webgl1":["EXT_blend_minmax",!0],"texture-blend-float-webgl1":["EXT_float_blend","EXT_float_blend"],"texture-formats-srgb-webgl1":["EXT_sRGB",!0],"texture-formats-depth-webgl1":["WEBGL_depth_texture",!0],"texture-formats-float32-webgl1":["OES_texture_float",!0],"texture-formats-float16-webgl1":["OES_texture_half_float",!0],"texture-filter-linear-float32-webgl":["OES_texture_float_linear","OES_texture_float_linear"],"texture-filter-linear-float16-webgl":["OES_texture_half_float_linear","OES_texture_half_float_linear"],"texture-filter-anisotropic-webgl":["EXT_texture_filter_anisotropic","EXT_texture_filter_anisotropic"],"texture-renderable-rgba32float-webgl":["WEBGL_color_buffer_float","EXT_color_buffer_float"],"texture-renderable-float32-webgl":[!1,"EXT_color_buffer_float"],"texture-renderable-float16-webgl":["EXT_color_buffer_half_float","EXT_color_buffer_half_float"],"glsl-frag-data":["WEBGL_draw_buffers",!0],"glsl-frag-depth":["EXT_frag_depth",!0],"glsl-derivatives":["OES_standard_derivatives",!0],"glsl-texture-lod":["EXT_shader_texture_lod",!0]};function ri(e){var t=yt(e);return{maxTextureDimension1D:0,maxTextureDimension2D:e.getParameter(i.MAX_TEXTURE_SIZE),maxTextureDimension3D:t?t.getParameter(i.MAX_3D_TEXTURE_SIZE):0,maxTextureArrayLayers:t?t.getParameter(i.MAX_ARRAY_TEXTURE_LAYERS):0,maxBindGroups:1,maxDynamicUniformBuffersPerPipelineLayout:0,maxDynamicStorageBuffersPerPipelineLayout:0,maxSampledTexturesPerShaderStage:e.getParameter(i.MAX_VERTEX_TEXTURE_IMAGE_UNITS),maxSamplersPerShaderStage:e.getParameter(i.MAX_COMBINED_TEXTURE_IMAGE_UNITS),maxStorageBuffersPerShaderStage:0,maxStorageTexturesPerShaderStage:0,maxUniformBuffersPerShaderStage:t?t.getParameter(i.MAX_UNIFORM_BUFFER_BINDINGS):0,maxUniformBufferBindingSize:t?t.getParameter(i.MAX_UNIFORM_BLOCK_SIZE):0,maxStorageBufferBindingSize:0,minUniformBufferOffsetAlignment:t?t.getParameter(i.UNIFORM_BUFFER_OFFSET_ALIGNMENT):0,minStorageBufferOffsetAlignment:0,maxVertexBuffers:0,maxVertexAttributes:e.getParameter(i.MAX_VERTEX_ATTRIBS),maxVertexBufferArrayStride:2048,maxInterStageShaderComponents:t?t.getParameter(i.MAX_VARYING_COMPONENTS):0,maxComputeWorkgroupStorageSize:0,maxComputeInvocationsPerWorkgroup:0,maxComputeWorkgroupSizeX:0,maxComputeWorkgroupSizeY:0,maxComputeWorkgroupSizeZ:0,maxComputeWorkgroupsPerDimension:0}}function ni(e){var t,r=yt(e);function n(o){return e.getParameter(o)}function a(o,u){return r?r.getParameter(o):u||0}return t={},s(t,i.ALIASED_LINE_WIDTH_RANGE,n(i.ALIASED_LINE_WIDTH_RANGE)),s(t,i.ALIASED_POINT_SIZE_RANGE,n(i.ALIASED_POINT_SIZE_RANGE)),s(t,i.MAX_TEXTURE_SIZE,n(i.MAX_TEXTURE_SIZE)),s(t,i.MAX_CUBE_MAP_TEXTURE_SIZE,n(i.MAX_CUBE_MAP_TEXTURE_SIZE)),s(t,i.MAX_TEXTURE_IMAGE_UNITS,n(i.MAX_TEXTURE_IMAGE_UNITS)),s(t,i.MAX_COMBINED_TEXTURE_IMAGE_UNITS,n(i.MAX_COMBINED_TEXTURE_IMAGE_UNITS)),s(t,i.MAX_VERTEX_TEXTURE_IMAGE_UNITS,n(i.MAX_VERTEX_TEXTURE_IMAGE_UNITS)),s(t,i.MAX_RENDERBUFFER_SIZE,n(i.MAX_RENDERBUFFER_SIZE)),s(t,i.MAX_VARYING_VECTORS,n(i.MAX_VARYING_VECTORS)),s(t,i.MAX_VERTEX_ATTRIBS,n(i.MAX_VERTEX_ATTRIBS)),s(t,i.MAX_VERTEX_UNIFORM_VECTORS,n(i.MAX_VERTEX_UNIFORM_VECTORS)),s(t,i.MAX_FRAGMENT_UNIFORM_VECTORS,n(i.MAX_FRAGMENT_UNIFORM_VECTORS)),s(t,i.MAX_VIEWPORT_DIMS,n(i.MAX_VIEWPORT_DIMS)),s(t,i.MAX_TEXTURE_MAX_ANISOTROPY_EXT,n(i.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),s(t,i.MAX_3D_TEXTURE_SIZE,a(i.MAX_3D_TEXTURE_SIZE)),s(t,i.MAX_ARRAY_TEXTURE_LAYERS,a(i.MAX_ARRAY_TEXTURE_LAYERS)),s(t,i.MAX_CLIENT_WAIT_TIMEOUT_WEBGL,a(i.MAX_CLIENT_WAIT_TIMEOUT_WEBGL)),s(t,i.MAX_COLOR_ATTACHMENTS,a(i.MAX_COLOR_ATTACHMENTS)),s(t,i.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,a(i.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS)),s(t,i.MAX_COMBINED_UNIFORM_BLOCKS,a(i.MAX_COMBINED_UNIFORM_BLOCKS)),s(t,i.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,a(i.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS)),s(t,i.MAX_DRAW_BUFFERS,a(i.MAX_DRAW_BUFFERS)),s(t,i.MAX_ELEMENT_INDEX,a(i.MAX_ELEMENT_INDEX)),s(t,i.MAX_ELEMENTS_INDICES,a(i.MAX_ELEMENTS_INDICES)),s(t,i.MAX_ELEMENTS_VERTICES,a(i.MAX_ELEMENTS_VERTICES)),s(t,i.MAX_FRAGMENT_INPUT_COMPONENTS,a(i.MAX_FRAGMENT_INPUT_COMPONENTS)),s(t,i.MAX_FRAGMENT_UNIFORM_BLOCKS,a(i.MAX_FRAGMENT_UNIFORM_BLOCKS)),s(t,i.MAX_FRAGMENT_UNIFORM_COMPONENTS,a(i.MAX_FRAGMENT_UNIFORM_COMPONENTS)),s(t,i.MAX_SAMPLES,a(i.MAX_SAMPLES)),s(t,i.MAX_SERVER_WAIT_TIMEOUT,a(i.MAX_SERVER_WAIT_TIMEOUT)),s(t,i.MAX_TEXTURE_LOD_BIAS,a(i.MAX_TEXTURE_LOD_BIAS)),s(t,i.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,a(i.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS)),s(t,i.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,a(i.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS)),s(t,i.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,a(i.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS)),s(t,i.MAX_UNIFORM_BLOCK_SIZE,a(i.MAX_UNIFORM_BLOCK_SIZE)),s(t,i.MAX_UNIFORM_BUFFER_BINDINGS,a(i.MAX_UNIFORM_BUFFER_BINDINGS)),s(t,i.MAX_VARYING_COMPONENTS,a(i.MAX_VARYING_COMPONENTS)),s(t,i.MAX_VERTEX_OUTPUT_COMPONENTS,a(i.MAX_VERTEX_OUTPUT_COMPONENTS)),s(t,i.MAX_VERTEX_UNIFORM_BLOCKS,a(i.MAX_VERTEX_UNIFORM_BLOCKS)),s(t,i.MAX_VERTEX_UNIFORM_COMPONENTS,a(i.MAX_VERTEX_UNIFORM_COMPONENTS)),s(t,i.MIN_PROGRAM_TEXEL_OFFSET,a(i.MIN_PROGRAM_TEXEL_OFFSET)),s(t,i.MAX_PROGRAM_TEXEL_OFFSET,a(i.MAX_PROGRAM_TEXEL_OFFSET)),s(t,i.UNIFORM_BUFFER_OFFSET_ALIGNMENT,a(i.UNIFORM_BUFFER_OFFSET_ALIGNMENT)),t}function rn(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&(e=O(e),e!==null););return e}function lt(){return typeof Reflect<"u"&&Reflect.get?lt=Reflect.get.bind():lt=function(t,r,n){var a=rn(t,r);if(a){var o=Object.getOwnPropertyDescriptor(a,r);return o.get?o.get.call(arguments.length<3?t:n):o.value}},lt.apply(this,arguments)}var fn=Le(Xe(),1);function Pe(e,t,r){var n=ce.attach(e),a=n.gl;if(Tu(t))return r(e);var o=t.nocatch,u=o===void 0?!0:o;xe(a),Ue(a,t);var f;if(u)f=r(a),be(a);else try{f=r(a)}finally{be(a)}return f}function Tu(e){for(var t in e)return!1;return!0}function ai(e,t,r){if(at(t))return r(e);xe(e.gl);try{return Ue(e,t),r(e)}finally{be(e.gl)}}function Er(e,t,r){if(at(t))return r(e);xe(e.gl);try{return an(e,t),r(e)}finally{be(e.gl)}}function an(e,t){var r=ce.attach(e),n=r.gl;if(t.cullMode)switch(t.cullMode){case"none":n.disable(i.CULL_FACE);break;case"front":n.enable(i.CULL_FACE),n.cullFace(i.FRONT);break;case"back":n.enable(i.CULL_FACE),n.cullFace(i.BACK);break}if(t.frontFace&&n.frontFace(on("frontFace",t.frontFace,{ccw:i.CCW,cw:i.CW})),t.depthBias!==void 0&&n.polygonOffset(t.depthBias,t.depthBiasSlopeScale||0),t.depthWriteEnabled!==void 0&&n.depthMask(du("depthWriteEnabled",t.depthWriteEnabled)),t.depthCompare&&(t.depthCompare!=="always"?n.enable(i.DEPTH_TEST):n.disable(i.DEPTH_TEST),n.depthFunc(_r("depthCompare",t.depthCompare))),t.stencilWriteMask){var a=t.stencilWriteMask;n.stencilMaskSeparate(i.FRONT,a),n.stencilMaskSeparate(i.BACK,a)}if(t.stencilReadMask&&P.warn("stencilReadMask not supported under WebGL"),t.stencilCompare){var o=t.stencilReadMask||4294967295,u=_r("depthCompare",t.stencilCompare);t.stencilCompare!=="always"?n.enable(i.STENCIL_TEST):n.disable(i.STENCIL_TEST),n.stencilFuncSeparate(i.FRONT,u,0,o),n.stencilFuncSeparate(i.BACK,u,0,o)}if(t.stencilPassOperation&&t.stencilFailOperation&&t.stencilDepthFailOperation){var f=nn("stencilPassOperation",t.stencilPassOperation),_=nn("stencilFailOperation",t.stencilFailOperation),E=nn("stencilDepthFailOperation",t.stencilDepthFailOperation);n.stencilOpSeparate(i.FRONT,_,E,f),n.stencilOpSeparate(i.BACK,_,E,f)}}function _r(e,t){return on(e,t,{never:i.NEVER,less:i.LESS,equal:i.EQUAL,"less-equal":i.LEQUAL,greater:i.GREATER,"not-equal":i.NOTEQUAL,"greater-equal":i.GEQUAL,always:i.ALWAYS})}function nn(e,t){return on(e,t,{keep:i.KEEP,zero:i.ZERO,replace:i.REPLACE,invert:i.INVERT,"increment-clamp":i.INCR,"decrement-clamp":i.DECR,"increment-wrap":i.INCR_WRAP,"decrement-wrap":i.DECR_WRAP})}function Au(e,t){return"Illegal parameter ".concat(t," for ").concat(e)}function on(e,t,r){if(!(t in r))throw new Error(Au(e,t));return r[t]}function du(e,t){return t}function ii(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function pu(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ii(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ii(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function cr(e){var t={};return e.addressModeU&&(t[i.TEXTURE_WRAP_S]=sn(e.addressModeU)),e.addressModeV&&(t[i.TEXTURE_WRAP_T]=sn(e.addressModeV)),e.addressModeW&&(t[i.TEXTURE_WRAP_R]=sn(e.addressModeW)),e.magFilter&&(t[i.TEXTURE_MAG_FILTER]=oi(e.magFilter)),(e.minFilter||e.mipmapFilter)&&(t[i.TEXTURE_MIN_FILTER]=mu(e.minFilter||"linear",e.mipmapFilter)),e.lodMinClamp!==void 0&&(t[i.TEXTURE_MIN_LOD]=e.lodMinClamp),e.lodMaxClamp!==void 0&&(t[i.TEXTURE_MAX_LOD]=e.lodMaxClamp),e.type==="comparison-sampler"&&(t[i.TEXTURE_COMPARE_MODE]=i.COMPARE_REF_TO_TEXTURE),e.compare&&(t[i.TEXTURE_COMPARE_FUNC]=_r("compare",e.compare)),e.maxAnisotropy&&(t[i.TEXTURE_MAX_ANISOTROPY_EXT]=e.maxAnisotropy),t}function sn(e){switch(e){case"clamp-to-edge":return i.CLAMP_TO_EDGE;case"repeat":return i.REPEAT;case"mirror-repeat":return i.MIRRORED_REPEAT}}function oi(e){switch(e){case"nearest":return i.NEAREST;case"linear":return i.LINEAR}}function mu(e,t){if(!t)return oi(e);switch(e){case"nearest":return t==="nearest"?i.NEAREST_MIPMAP_NEAREST:i.NEAREST_MIPMAP_LINEAR;case"linear":return t==="nearest"?i.LINEAR_MIPMAP_NEAREST:i.LINEAR_MIPMAP_LINEAR}}function si(e){var t=pu({},e);return e[i.TEXTURE_MIN_FILTER]!==i.NEAREST&&(t[i.TEXTURE_MIN_FILTER]=i.LINEAR),t[i.TEXTURE_WRAP_S]=i.CLAMP_TO_EDGE,t[i.TEXTURE_WRAP_T]=i.CLAMP_TO_EDGE,t}var un=Le(Xe(),1);function ui(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function fi(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ui(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ui(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function hu(e){var t=Su();return function(){var n=O(e),a;if(t){var o=O(this).constructor;a=Reflect.construct(n,arguments,o)}else a=n.apply(this,arguments);return U(this,a)}}function Su(){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 gu=10,me=function(e){D(r,e);var t=hu(r);function r(n){var a,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};I(this,r),a=t.call(this,n,o),s(T(a),"device",void 0),s(T(a),"gl",void 0),s(T(a),"gl2",void 0),s(T(a),"handle",void 0),s(T(a),"target",void 0),s(T(a),"byteLength",void 0),s(T(a),"bytesUsed",void 0),s(T(a),"debugData",null),s(T(a),"webglUsage",void 0),a.device=n,a.gl=a.device.gl,a.gl2=a.device.gl2;var u=fe(o)==="object"?o.handle:void 0;return a.handle=u||a.gl.createBuffer(),n.setSpectorMetadata(a.handle,fi(fi({},a.props),{},{data:fe(a.props.data)})),a.target=a.props.target||Ou(a.props.usage),a.webglUsage=a.props.webglUsage||vu(a.props.usage),a.debugData=null,o.data?a._initWithData(o.data,o.byteOffset,o.byteLength):a._initWithByteLength(o.byteLength||0),a}return y(r,[{key:"_initWithData",value:function(a){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:a.byteLength+o;w(ArrayBuffer.isView(a));var f=this._getWriteTarget();return this.gl.bindBuffer(f,this.handle),this.gl.bufferData(f,u,this.webglUsage),this.gl.bufferSubData(f,o,a),this.gl.bindBuffer(f,null),this.debugData=a.slice(0,gu),this.bytesUsed=u,this.byteLength=u,this.trackAllocatedMemory(u),this}},{key:"_initWithByteLength",value:function(a){w(a>=0);var o=a;a===0&&(o=new Float32Array(0));var u=this._getWriteTarget();return this.gl.bindBuffer(u,this.handle),this.gl.bufferData(u,o,this.webglUsage),this.gl.bindBuffer(u,null),this.debugData=null,this.bytesUsed=a,this.byteLength=a,this}},{key:"destroy",value:function(){!this.destroyed&&this.handle&&(this.removeStats(),this.trackDeallocatedMemory(),this.gl.deleteBuffer(this.handle),this.destroyed=!0,this.handle=null)}},{key:"write",value:function(a){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,u=0,f=void 0,_=this.device.isWebGL2?i.COPY_WRITE_BUFFER:this.target;this.gl.bindBuffer(_,this.handle),u!==0||f!==void 0?(this.device.assertWebGL2(),this.gl2.bufferSubData(_,o,a,u,f)):this.gl.bufferSubData(_,o,a),this.gl.bindBuffer(_,null)}},{key:"readAsync",value:function(){var n=se(un.default.mark(function o(){var u,f,_,E,c=arguments;return un.default.wrap(function(R){for(;;)switch(R.prev=R.next){case 0:return u=c.length>0&&c[0]!==void 0?c[0]:0,f=c.length>1?c[1]:void 0,this.device.assertWebGL2(),_=new Uint8Array(f),E=0,this.gl.bindBuffer(i.COPY_READ_BUFFER,this.handle),this.gl2.getBufferSubData(i.COPY_READ_BUFFER,u,_,E,f),this.gl.bindBuffer(i.COPY_READ_BUFFER,null),R.abrupt("return",_);case 9:case"end":return R.stop()}},o,this)}));function a(){return n.apply(this,arguments)}return a}()},{key:"_invalidateDebugData",value:function(){this.debugData=null}},{key:"_getWriteTarget",value:function(){return this.target}},{key:"_getReadTarget",value:function(){return this.target}}]),r}(ne);function Ou(e){return e&ne.INDEX?i.ELEMENT_ARRAY_BUFFER:e&ne.VERTEX?i.ARRAY_BUFFER:e&ne.UNIFORM?i.UNIFORM_BUFFER:i.ARRAY_BUFFER}function vu(e){return e&ne.INDEX?i.STATIC_DRAW:e&ne.VERTEX?i.STATIC_DRAW:e&ne.UNIFORM?i.DYNAMIC_DRAW:i.DYNAMIC_DRAW}function Nu(e){var t=Cu();return function(){var n=O(e),a;if(t){var o=O(this).constructor;a=Reflect.construct(n,arguments,o)}else a=n.apply(this,arguments);return U(this,a)}}function Cu(){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 qe=function(e){D(r,e);var t=Nu(r);function r(n,a){var o;return I(this,r),o=t.call(this,n,a),s(T(o),"device",void 0),s(T(o),"handle",void 0),s(T(o),"parameters",void 0),o.device=n,o.parameters=cr(a),o.device.isWebGL2&&(o.handle=o.handle||o.device.gl2.createSampler(),o._setSamplerParameters(o.parameters)),o}return y(r,[{key:"destroy",value:function(){this.handle&&(this.device.gl2.deleteSampler(this.handle),this.handle=void 0)}},{key:"toString",value:function(){return"Sampler(".concat(this.id,",").concat(JSON.stringify(this.props),")")}},{key:"_setSamplerParameters",value:function(a){for(var o=0,u=Object.entries(a);o<u.length;o++){var f=H(u[o],2),_=f[0],E=f[1],c=Number(_);switch(c){case i.TEXTURE_MIN_LOD:case i.TEXTURE_MAX_LOD:this.device.gl2.samplerParameterf(this.handle,c,E);break;default:this.device.gl2.samplerParameteri(this.handle,c,E);break}}}}]),r}(Dr);function Iu(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=yu(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(E){throw E},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
21
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,u=!1,f;return{s:function(){r=r.call(e)},n:function(){var E=r.next();return o=E.done,E},e:function(E){u=!0,f=E},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(u)throw f}}}}function yu(e,t){if(e){if(typeof e=="string")return _i(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 _i(e,t)}}function _i(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 Ei(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function lr(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ei(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ei(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Pu(e){var t=Fu();return function(){var n=O(e),a;if(t){var o=O(this).constructor;a=Reflect.construct(n,arguments,o)}else a=n.apply(this,arguments);return U(this,a)}}function Fu(){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 Bu={parameters:{},pixelStore:{},pixels:null,border:0,dataFormat:void 0,textureUnit:void 0,target:void 0},he=function(e){D(r,e);var t=Pu(r);function r(n,a){var o,u;return I(this,r),u=t.call(this,n,lr(lr({},Bu),{},{format:"rgba8unorm"},a)),s(T(u),"MAX_ATTRIBUTES",void 0),s(T(u),"device",void 0),s(T(u),"gl",void 0),s(T(u),"gl2",void 0),s(T(u),"handle",void 0),s(T(u),"sampler",void 0),s(T(u),"glFormat",void 0),s(T(u),"type",void 0),s(T(u),"dataFormat",void 0),s(T(u),"mipmaps",void 0),s(T(u),"target",void 0),s(T(u),"textureUnit",void 0),s(T(u),"loaded",!1),s(T(u),"_video",void 0),u.device=n,u.gl=u.device.gl,u.gl2=u.device.gl2,u.handle=u.props.handle||u.gl.createTexture(),u.device.setSpectorMetadata(u.handle,lr(lr({},u.props),{},{data:fe(u.props.data)})),u.glFormat=i.RGBA,u.target=Mu(u.props),u.loaded=!1,typeof((o=u.props)===null||o===void 0?void 0:o.data)=="string"&&Object.assign(u.props,{data:kr(u.props.data)}),u.initialize(u.props),Object.seal(T(u)),u}return y(r,[{key:"destroy",value:function(){this.handle&&(this.gl.deleteTexture(this.handle),this.removeStats(),this.trackDeallocatedMemory("Texture"),this.destroyed=!0)}},{key:"toString",value:function(){return"Texture(".concat(this.id,",").concat(this.width,"x").concat(this.height,")")}},{key:"initialize",value:function(){var a=this,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(this.props.dimension==="cube")return this.initializeCube(o);var u=o.data;if(u instanceof Promise)return u.then(function(g){return a.initialize(Object.assign({},o,{pixels:g,data:g}))}),this;var f=typeof HTMLVideoElement<"u"&&u instanceof HTMLVideoElement;if(f&&u.readyState<HTMLVideoElement.HAVE_METADATA)return this._video=null,u.addEventListener("loadeddata",function(){return a.initialize(o)}),this;var _=o.parameters,E=_===void 0?{}:_,c=o.pixels,l=c===void 0?null:c,R=o.pixelStore,A=R===void 0?{}:R,h=o.textureUnit,S=h===void 0?void 0:h;u||(u=l);var C=o.width,v=o.height,B=o.dataFormat,b=o.type,X=o.compressed,V=X===void 0?!1:X,z=o.mipmaps,k=z===void 0?!0:z,ae=o.depth,ee=ae===void 0?0:ae,Ee=Xt(o.format,this.device.isWebGL2),G=this._deduceParameters({format:o.format,type:b,dataFormat:B,compressed:V,data:u,width:C,height:v});return C=G.width,v=G.height,V=G.compressed,B=G.dataFormat,b=G.type,this.width=C,this.height=v,this.glFormat=Ee,this.type=b,this.dataFormat=B,this.textureUnit=S,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(i.TEXTURE0+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),k&&this.device.isWebGL1&&Rr(this.width,this.height)&&(P.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaps"))(),k=!1),this.mipmaps=k,this.setImageData({data:u,width:C,height:v,depth:ee,format:Ee,type:b,dataFormat:B,parameters:A,compressed:V}),this.setSampler(o.sampler),this._setSamplerParameters(E),k&&this.generateMipmap(),f&&(this._video={video:u,parameters:E,lastTime:u.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?u.currentTime:-1}),this}},{key:"initializeCube",value:function(a){var o=this,u=a.mipmaps,f=u===void 0?!0:u,_=a.parameters,E=_===void 0?{}:_;return this.setCubeMapImageData(a).then(function(){o.loaded=!0,f&&o.generateMipmap(a),o.setSampler(a.sampler),o._setSamplerParameters(E)}),this}},{key:"setSampler",value:function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o;a instanceof qe?(this.sampler=a,o=a.props):(this.sampler=new qe(this.device,a),o=a);var u=cr(o);return this._setSamplerParameters(u),this}},{key:"resize",value:function(a){var o=a.height,u=a.width,f=a.mipmaps,_=f===void 0?!1:f;return u!==this.width||o!==this.height?this.initialize({width:u,height:o,format:this.format,type:this.type,dataFormat:this.dataFormat,mipmaps:_}):this}},{key:"update",value:function(){if(this._video){var a=this._video,o=a.video,u=a.parameters,f=a.lastTime;if(f===o.currentTime||o.readyState<HTMLVideoElement.HAVE_CURRENT_DATA)return;this.setSubImageData({data:o,parameters:u}),this.mipmaps&&this.generateMipmap(),this._video.lastTime=o.currentTime}}},{key:"generateMipmap",value:function(){var a=this,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.device.isWebGL1&&Rr(this.width,this.height)?(P.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaping"))(),this):(this.mipmaps=!0,this.gl.bindTexture(this.target,this.handle),Pe(this.gl,o,function(){a.gl.generateMipmap(a.target)}),this.gl.bindTexture(this.target,null),this)}},{key:"setImageData",value:function(a){var o=this;if(this.props.dimension==="3d"||this.props.dimension==="2d-array")return this.setImageData3D(a);this.trackDeallocatedMemory("Texture");var u=a.target,f=u===void 0?this.target:u,_=a.pixels,E=_===void 0?null:_,c=a.level,l=c===void 0?0:c,R=a.glFormat,A=R===void 0?this.glFormat:R,h=a.offset,S=h===void 0?0:h,C=a.parameters,v=C===void 0?{}:C,B=a.data,b=B===void 0?null:B,X=a.type,V=X===void 0?this.type:X,z=a.width,k=z===void 0?this.width:z,ae=a.height,ee=ae===void 0?this.height:ae,Ee=a.dataFormat,G=Ee===void 0?this.dataFormat:Ee,g=a.compressed,p=g===void 0?!1:g;b||(b=E);var m=this._deduceParameters({format:this.props.format,type:V,dataFormat:G,compressed:p,data:b,width:k,height:ee});V=m.type,G=m.dataFormat,p=m.compressed,k=m.width,ee=m.height;var F=this.gl;F.bindTexture(this.target,this.handle);var x=null,M=this._getDataType({data:b,compressed:p});b=M.data,x=M.dataType;var K;if(Pe(this.gl,v,function(){switch(x){case"null":F.texImage2D(f,l,A,k,ee,0,G,V,b);break;case"typed-array":F.texImage2D(f,l,A,k,ee,0,G,V,b,S);break;case"buffer":K=o.device.assertWebGL2(),K.bindBuffer(i.PIXEL_UNPACK_BUFFER,b.handle||b),K.texImage2D(f,l,A,k,ee,0,G,V,S),K.bindBuffer(i.PIXEL_UNPACK_BUFFER,null);break;case"browser-object":o.device.isWebGL2?F.texImage2D(f,l,A,k,ee,0,G,V,b):F.texImage2D(f,l,A,G,V,b);break;case"compressed":var Q=Iu(b.entries()),Ae;try{for(Q.s();!(Ae=Q.n()).done;){var ge=H(Ae.value,2),Be=ge[0],Wt=ge[1];F.compressedTexImage2D(f,Be,Wt.format,Wt.width,Wt.height,0,Wt.data)}}catch($i){Q.e($i)}finally{Q.f()}break;default:w(!1,"Unknown image data type")}}),b&&b.byteLength)this.trackAllocatedMemory(b.byteLength,"Texture");else{var re=Ht(this.props.format,this.device.isWebGL2);this.trackAllocatedMemory(this.width*this.height*re,"Texture")}return this.loaded=!0,this}},{key:"setSubImageData",value:function(a){var o=this,u=a.target,f=u===void 0?this.target:u,_=a.pixels,E=_===void 0?null:_,c=a.data,l=c===void 0?null:c,R=a.x,A=R===void 0?0:R,h=a.y,S=h===void 0?0:h,C=a.width,v=C===void 0?this.width:C,B=a.height,b=B===void 0?this.height:B,X=a.level,V=X===void 0?0:X,z=a.glFormat,k=z===void 0?this.glFormat:z,ae=a.type,ee=ae===void 0?this.type:ae,Ee=a.dataFormat,G=Ee===void 0?this.dataFormat:Ee,g=a.compressed,p=g===void 0?!1:g,m=a.offset,F=m===void 0?0:m,x=a.parameters,M=x===void 0?{}:x,K=this._deduceParameters({format:this.props.format,type:ee,dataFormat:G,compressed:p,data:l,width:v,height:b});if(ee=K.type,G=K.dataFormat,p=K.compressed,v=K.width,b=K.height,w(this.depth===1,"texSubImage not supported for 3D textures"),l||(l=E),l&&l.data){var re=l;l=re.data,v=re.shape[0],b=re.shape[1]}l instanceof me&&(l=l.handle),this.gl.bindTexture(this.target,this.handle),Pe(this.gl,M,function(){if(p)o.gl.compressedTexSubImage2D(f,V,A,S,v,b,k,l);else if(l===null)o.gl.texSubImage2D(f,V,A,S,v,b,G,ee,null);else if(ArrayBuffer.isView(l))o.gl.texSubImage2D(f,V,A,S,v,b,G,ee,l,F);else if(typeof WebGLBuffer<"u"&&l instanceof WebGLBuffer){var Q=o.device.assertWebGL2();Q.bindBuffer(i.PIXEL_UNPACK_BUFFER,l),Q.texSubImage2D(f,V,A,S,v,b,G,ee,F),Q.bindBuffer(i.PIXEL_UNPACK_BUFFER,null)}else if(o.device.isWebGL2){var Ae=o.device.assertWebGL2();Ae.texSubImage2D(f,V,A,S,v,b,G,ee,l)}else o.gl.texSubImage2D(f,V,A,S,G,ee,l)}),this.gl.bindTexture(this.target,null)}},{key:"copyFramebuffer",value:function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return P.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}},{key:"getActiveUnit",value:function(){return this.gl.getParameter(i.ACTIVE_TEXTURE)-i.TEXTURE0}},{key:"bind",value:function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.textureUnit,o=this.gl;return a!==void 0&&(this.textureUnit=a,o.activeTexture(o.TEXTURE0+a)),o.bindTexture(this.target,this.handle),a}},{key:"unbind",value:function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.textureUnit,o=this.gl;return a!==void 0&&(this.textureUnit=a,o.activeTexture(o.TEXTURE0+a)),o.bindTexture(this.target,null),a}},{key:"_getDataType",value:function(a){var o=a.data,u=a.compressed,f=u===void 0?!1:u;return f?{data:o,dataType:"compressed"}:o===null?{data:o,dataType:"null"}:ArrayBuffer.isView(o)?{data:o,dataType:"typed-array"}:o instanceof me?{data:o.handle,dataType:"buffer"}:typeof WebGLBuffer<"u"&&o instanceof WebGLBuffer?{data:o,dataType:"buffer"}:{data:o,dataType:"browser-object"}}},{key:"_deduceParameters",value:function(a){var o=a.format,u=a.data,f=a.width,_=a.height,E=a.dataFormat,c=a.type,l=a.compressed,R=ur(o,this.device.isWebGL2);E=E||R.dataFormat,c=c||R.type,l=l||R.compressed;var A=this._deduceImageSize(u,f,_);return f=A.width,_=A.height,{dataFormat:E,type:c,compressed:l,width:f,height:_,format:o,data:u}}},{key:"_deduceImageSize",value:function(a,o,u){var f;return typeof ImageData<"u"&&a instanceof ImageData?f={width:a.width,height:a.height}:typeof HTMLImageElement<"u"&&a instanceof HTMLImageElement?f={width:a.naturalWidth,height:a.naturalHeight}:typeof HTMLCanvasElement<"u"&&a instanceof HTMLCanvasElement?f={width:a.width,height:a.height}:typeof ImageBitmap<"u"&&a instanceof ImageBitmap?f={width:a.width,height:a.height}:typeof HTMLVideoElement<"u"&&a instanceof HTMLVideoElement?f={width:a.videoWidth,height:a.videoHeight}:a?f={width:o,height:u}:f={width:o>=0?o:1,height:u>=0?u:1},w(f,"Could not deduced texture size"),w(o===void 0||f.width===o,"Deduced texture width does not match supplied width"),w(u===void 0||f.height===u,"Deduced texture height does not match supplied height"),f}},{key:"setCubeMapImageData",value:function(){var n=se(fn.default.mark(function o(u){var f=this,_,E,c,l,R,A,h,S,C,v,B;return fn.default.wrap(function(X){for(;;)switch(X.prev=X.next){case 0:return _=this.gl,E=u.width,c=u.height,l=u.pixels,R=u.data,A=u.format,h=A===void 0?i.RGBA:A,S=u.type,C=S===void 0?i.UNSIGNED_BYTE:S,v=l||R,X.next=5,Promise.all(r.FACES.map(function(V){var z=v[V];return Promise.all(Array.isArray(z)?z:[z])}));case 5:B=X.sent,this.bind(),r.FACES.forEach(function(V,z){B[z].length>1&&f.props.mipmaps!==!1&&P.warn("".concat(f.id," has mipmap and multiple LODs."))(),B[z].forEach(function(k,ae){E&&c?_.texImage2D(V,ae,h,E,c,0,h,C,k):_.texImage2D(V,ae,h,h,C,k)})}),this.unbind();case 9:case"end":return X.stop()}},o,this)}));function a(o){return n.apply(this,arguments)}return a}()},{key:"setImageDataForFace",value:function(a){var o=this,u=a.face,f=a.width,_=a.height,E=a.pixels,c=a.data,l=a.format,R=l===void 0?i.RGBA:l,A=a.type,h=A===void 0?i.UNSIGNED_BYTE:A,S=this.gl,C=E||c;return this.bind(),C instanceof Promise?C.then(function(v){return o.setImageDataForFace(Object.assign({},a,{face:u,data:v,pixels:v}))}):this.width||this.height?S.texImage2D(u,0,R,f,_,0,R,h,C):S.texImage2D(u,0,R,R,h,C),this}},{key:"setImageData3D",value:function(a){var o=this,u=a.level,f=u===void 0?0:u,_=a.dataFormat,E=a.format,c=a.type,l=a.width,R=a.height,A=a.depth,h=A===void 0?1:A,S=a.offset,C=S===void 0?0:S,v=a.data,B=a.parameters,b=B===void 0?{}:B;this.trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle);var X=ur(E,this.device.isWebGL2);if(Pe(this.gl,b,function(){ArrayBuffer.isView(v)&&o.gl.texImage3D(o.target,f,X.format,l,R,h,0,X.dataFormat,X.type,v),v instanceof me&&(o.gl.bindBuffer(i.PIXEL_UNPACK_BUFFER,v.handle),o.gl.texImage3D(o.target,f,_,l,R,h,0,E,c,C))}),v&&v.byteLength)this.trackAllocatedMemory(v.byteLength,"Texture");else{var V=Ht(this.props.format,this.device.isWebGL2);this.trackAllocatedMemory(this.width*this.height*this.depth*V,"Texture")}return this.loaded=!0,this}},{key:"_setSamplerParameters",value:function(a){if(this.device.isWebGL1&&Rr(this.width,this.height)&&(a=si(a)),!at(a)){Du(a),this.gl.bindTexture(this.target,this.handle);for(var o=0,u=Object.entries(a);o<u.length;o++){var f=H(u[o],2),_=f[0],E=f[1],c=Number(_),l=E;switch(c){case i.TEXTURE_MIN_LOD:case i.TEXTURE_MAX_LOD:this.gl.texParameterf(this.target,c,l);break;default:this.gl.texParameteri(this.target,c,l);break}}this.gl.bindTexture(this.target,null)}}},{key:"_getWebGL1NPOTParameterOverride",value:function(a,o){var u=this.device.isWebGL1&&Rr(this.width,this.height);if(u)switch(a){case i.TEXTURE_MIN_FILTER:if(o!==i.LINEAR&&o!==i.NEAREST)return i.LINEAR;break;case i.TEXTURE_WRAP_S:case i.TEXTURE_WRAP_T:return i.CLAMP_TO_EDGE;default:break}return o}}]),r}(Re);s(he,"FACES",[i.TEXTURE_CUBE_MAP_POSITIVE_X,i.TEXTURE_CUBE_MAP_NEGATIVE_X,i.TEXTURE_CUBE_MAP_POSITIVE_Y,i.TEXTURE_CUBE_MAP_NEGATIVE_Y,i.TEXTURE_CUBE_MAP_POSITIVE_Z,i.TEXTURE_CUBE_MAP_NEGATIVE_Z]);function Mu(e){switch(e.dimension){case"2d":return i.TEXTURE_2D;case"cube":return i.TEXTURE_CUBE_MAP;case"2d-array":return i.TEXTURE_2D_ARRAY;case"3d":return i.TEXTURE_3D;case"1d":case"cube-array":default:throw new Error(e.dimension)}}function Rr(e,t){return!e||!t?!1:!Qt(e)||!Qt(t)}function Du(e){P.log(1,"texture sampler parameters",e)()}function Tr(e,t){if(typeof t!="string")return t;var r=Number(t);if(!isNaN(r))return r;t=t.replace(/^.*\./,"");var n=e[t];return w(n!==void 0,"Accessing undefined constant GL.".concat(t)),n}function Uu(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=xu(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(E){throw E},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
22
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,u=!1,f;return{s:function(){r=r.call(e)},n:function(){var E=r.next();return o=E.done,E},e:function(E){u=!0,f=E},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(u)throw f}}}}function xu(e,t){if(e){if(typeof e=="string")return ci(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 ci(e,t)}}function ci(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 wu(e){var t=Xu();return function(){var n=O(e),a;if(t){var o=O(this).constructor;a=Reflect.construct(n,arguments,o)}else a=n.apply(this,arguments);return U(this,a)}}function Xu(){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 Rt="Resource subclass must define virtual methods",Je=function(e){D(r,e);var t=wu(r);function r(n,a,o){var u;I(this,r),u=t.call(this,n,a,o),s(T(u),"device",void 0),s(T(u),"gl",void 0),s(T(u),"gl2",void 0),s(T(u),"_handle",void 0),s(T(u),"_bound",!1),s(T(u),"byteLength",0),u.device=ce.attach(n);var f=u.device.gl;nr(f);var _=a||{},E=_.id;return u.gl=f,u.gl2=f,u.id=E||Oe(u.constructor.name),u._handle=a?.handle,u._handle===void 0&&(u._handle=u._createHandle()),u.byteLength=0,u}return y(r,[{key:"toString",value:function(){return"".concat(this.constructor.name,"(").concat(this.id,")")}},{key:"handle",get:function(){return this._handle}},{key:"delete",value:function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o=a.deleteChildren,u=o===void 0?!1:o,f=this._handle&&this._deleteHandle(this._handle);return this._handle&&this.removeStats(),this._handle=null,f&&u&&f.filter(Boolean).forEach(function(_){return _.destroy()}),this}},{key:"bind",value:function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.handle;if(typeof a!="function")return this._bindHandle(a),this;var o;return this._bound?o=a():(this._bindHandle(this.handle),this._bound=!0,o=a(),this._bound=!1,this._bindHandle(null)),o}},{key:"unbind",value:function(){this.bind(null)}},{key:"getParameter",value:function(a){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};a=Tr(this.gl,a),w(a);var u=this.constructor.PARAMETERS||{},f=u[a];if(f){var _=L(this.gl),E=(!("webgl2"in f)||_)&&(!("extension"in f)||this.gl.getExtension(f.extension));if(!E){var c=f.webgl1,l="webgl2"in f?f.webgl2:f.webgl1,R=_?l:c;return R}}return this._getParameter(a,o)}},{key:"getParameters",value:function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o=a.parameters,u=a.keys,f=this.constructor.PARAMETERS||{},_=L(this.gl),E={},c=o||Object.keys(f),l=Uu(c),R;try{for(l.s();!(R=l.n()).done;){var A=R.value,h=f[A],S=h&&(!("webgl2"in h)||_)&&(!("extension"in h)||this.gl.getExtension(h.extension));if(S){var C=u?this.device.getGLKey(A):A;E[C]=this.getParameter(A,a),u&&h.type==="GLenum"&&(E[C]=this.device.getGLKey(E[C]))}}}catch(v){l.e(v)}finally{l.f()}return E}},{key:"setParameter",value:function(a,o){a=Tr(this.gl,a),w(a);var u=this.constructor.PARAMETERS||{},f=u[a];if(f){var _=L(this.gl),E=(!("webgl2"in f)||_)&&(!("extension"in f)||this.gl.getExtension(f.extension));if(!E)throw new Error("Parameter not available on this platform");f.type==="GLenum"&&(o=Tr(o))}return this._setParameter(a,o),this}},{key:"setParameters",value:function(a){for(var o in a)this.setParameter(o,a[o]);return this}},{key:"stubRemovedMethods",value:function(a,o,u){return Lr(this,a,o,u)}},{key:"initialize",value:function(a){}},{key:"_createHandle",value:function(){throw new Error(Rt)}},{key:"_deleteHandle",value:function(){throw new Error(Rt)}},{key:"_bindHandle",value:function(a){throw new Error(Rt)}},{key:"_getOptsFromHandle",value:function(){throw new Error(Rt)}},{key:"_getParameter",value:function(a,o){throw new Error(Rt)}},{key:"_setParameter",value:function(a,o){throw new Error(Rt)}}]),r}(J);var Ti;function li(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Ri(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?li(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):li(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Hu(e){var t=Lu();return function(){var n=O(e),a;if(t){var o=O(this).constructor;a=Reflect.construct(n,arguments,o)}else a=n.apply(this,arguments);return U(this,a)}}function Lu(){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}}Ti=Symbol.toStringTag;var Tt=function(e){D(r,e);var t=Hu(r);function r(n,a){var o;if(I(this,r),typeof a.format=="number")throw new Error("Renderbuffer");return o=t.call(this,n,a,r.defaultProps),s(T(o),"glFormat",void 0),o.glFormat=Xt(o.props.format,n.isWebGL2),o._initialize(o.props),o}return y(r,[{key:Ti,get:function(){return"Renderbuffer"}},{key:"width",get:function(){return this.props.width}},{key:"height",get:function(){return this.props.height}},{key:"format",get:function(){return this.props.format}},{key:"samples",get:function(){return this.props.samples}},{key:"attachment",get:function(){}},{key:"resize",value:function(a){(a.width!==this.width||a.height!==this.height)&&(Object.assign(this.props,Ri(Ri({},a),{},{format:this.format,samples:this.samples})),this._initialize(this.props))}},{key:"_initialize",value:function(a){var o=a.format,u=a.width,f=a.height,_=a.samples;w(o,"Needs format"),this.trackDeallocatedMemory(),this.gl.bindRenderbuffer(i.RENDERBUFFER,this.handle),_!==0&&this.device.isWebGL2?this.gl2.renderbufferStorageMultisample(i.RENDERBUFFER,_,this.glFormat,u,f):this.gl.renderbufferStorage(i.RENDERBUFFER,this.glFormat,u,f),this.gl.bindRenderbuffer(i.RENDERBUFFER,null),this.trackAllocatedMemory(u*f*(_||1)*Ht(this.glFormat,this.device.isWebGL2))}},{key:"_createHandle",value:function(){return this.gl.createRenderbuffer()}},{key:"_deleteHandle",value:function(){this.gl.deleteRenderbuffer(this.handle),this.trackDeallocatedMemory()}},{key:"_bindHandle",value:function(a){this.gl.bindRenderbuffer(i.RENDERBUFFER,a)}}],[{key:"isTextureFormatSupported",value:function(a,o){return Za(a.gl,o)}}]),r}(Je);s(Tt,"defaultProps",{id:void 0,handle:void 0,userData:void 0,format:void 0,width:1,height:1,samples:0});function Wu(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Vu(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(E){throw E},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
23
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,u=!1,f;return{s:function(){r=r.call(e)},n:function(){var E=r.next();return o=E.done,E},e:function(E){u=!0,f=E},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(u)throw f}}}}function Vu(e,t){if(e){if(typeof e=="string")return Ai(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 Ai(e,t)}}function Ai(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 ku(e){var t=Ku();return function(){var n=O(e),a;if(t){var o=O(this).constructor;a=Reflect.construct(n,arguments,o)}else a=n.apply(this,arguments);return U(this,a)}}function Ku(){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 At=function(e){D(r,e);var t=ku(r);function r(n,a){var o;I(this,r),o=t.call(this,n,a),s(T(o),"device",void 0),s(T(o),"gl",void 0),s(T(o),"handle",void 0);var u=a.handle===null;if(o.device=n,o.gl=n.gl,o.handle=o.props.handle||u?o.props.handle:o.gl.createFramebuffer(),!u){n.setSpectorMetadata(o.handle,{id:o.props.id,props:o.props}),o.autoCreateAttachmentTextures(),o.gl.bindFramebuffer(i.FRAMEBUFFER,o.handle);for(var f=0;f<o.colorAttachments.length;++f){var _=o.colorAttachments[f],E=i.COLOR_ATTACHMENT0+f;_&&o._attachOne(E,_)}o.depthStencilAttachment&&o._attachOne(qa(o.depthStencilAttachment.format),o.depthStencilAttachment),o.gl.bindFramebuffer(i.FRAMEBUFFER,null)}return a.check!==!1&&o._checkStatus(),o}return y(r,[{key:"texture",get:function(){return this.colorAttachments[0]}},{key:"destroy",value:function(){lt(O(r.prototype),"destroy",this).call(this),!this.destroyed&&this.handle!==null&&this.gl.deleteFramebuffer(this.handle)}},{key:"_checkStatus",value:function(){var a=this.gl,o=a.bindFramebuffer(i.FRAMEBUFFER,this.handle),u=a.checkFramebufferStatus(i.FRAMEBUFFER);if(a.bindFramebuffer(i.FRAMEBUFFER,o||null),u!==a.FRAMEBUFFER_COMPLETE)throw new Error("Framebuffer ".concat(Yu(u)))}},{key:"createDepthStencilTexture",value:function(a){return new Tt(this.device,{id:"".concat(this.id,"-depth-stencil"),format:a,width:this.width,height:this.height})}},{key:"resizeAttachments",value:function(a,o){if(this.handle===null)return this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;a===void 0&&(a=this.gl.drawingBufferWidth),o===void 0&&(o=this.gl.drawingBufferHeight);var u=Wu(this.colorAttachments),f;try{for(u.s();!(f=u.n()).done;){var _=f.value;_.resize({width:a,height:o})}}catch(E){u.e(E)}finally{u.f()}return this.depthStencilAttachment&&this.depthStencilAttachment.resize({width:a,height:o}),this}},{key:"_attachOne",value:function(a,o){if(o instanceof Tt)return this._attachWEBGLRenderbuffer(a,o),o;if(Array.isArray(o)){var u=H(o,3),f=u[0],_=u[1],E=_===void 0?0:_,c=u[2],l=c===void 0?0:c;return this._attachTexture(a,f,E,l),f}else if(o instanceof he)return this._attachTexture(a,o,0,0),o;throw new Error("attach")}},{key:"_attachWEBGLRenderbuffer",value:function(a,o){this.gl.framebufferRenderbuffer(i.FRAMEBUFFER,a,i.RENDERBUFFER,o.handle)}},{key:"_attachTexture",value:function(a,o,u,f){var _=this.device,E=_.gl,c=_.gl2;switch(E.bindTexture(o.target,o.handle),o.target){case i.TEXTURE_2D_ARRAY:case i.TEXTURE_3D:this.device.assertWebGL2(),c?.framebufferTextureLayer(i.FRAMEBUFFER,a,o.target,f,u);break;case i.TEXTURE_CUBE_MAP:var l=ju(u);E.framebufferTexture2D(i.FRAMEBUFFER,a,l,o.handle,f);break;case i.TEXTURE_2D:E.framebufferTexture2D(i.FRAMEBUFFER,a,i.TEXTURE_2D,o.handle,f);break;default:w(!1,"Illegal texture type")}E.bindTexture(o.target,null)}}]),r}(Ur);function ju(e){return e<i.TEXTURE_CUBE_MAP_POSITIVE_X?e+i.TEXTURE_CUBE_MAP_POSITIVE_X:e}function Yu(e){switch(e){case i.FRAMEBUFFER_COMPLETE:return"success";case i.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:return"Mismatched attachments";case i.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:return"No attachments";case i.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:return"Height/width mismatch";case i.FRAMEBUFFER_UNSUPPORTED:return"Unsupported or split attachments";case i.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:return"Samples mismatch";default:return"".concat(e)}}function zu(e){var t=Gu();return function(){var n=O(e),a;if(t){var o=O(this).constructor;a=Reflect.construct(n,arguments,o)}else a=n.apply(this,arguments);return U(this,a)}}function Gu(){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 Ar=function(e){D(r,e);var t=zu(r);function r(n,a){var o;return I(this,r),o=t.call(this,a),s(T(o),"device",void 0),s(T(o),"presentationSize",void 0),s(T(o),"_framebuffer",null),o.device=n,o.presentationSize=[-1,-1],o._setAutoCreatedCanvasId("".concat(o.device.id,"-canvas")),o.update(),o}return y(r,[{key:"getCurrentFramebuffer",value:function(){return this.update(),this._framebuffer=this._framebuffer||new At(this.device,{handle:null}),this._framebuffer}},{key:"update",value:function(){var a=this.getPixelSize(),o=a[0]!==this.presentationSize[0]||a[1]!==this.presentationSize[1];o&&(this.presentationSize=a)}},{key:"resize",value:function(a){if(this.canvas){this.setDevicePixelRatio(devicePixelRatio,a);return}var o=this.device.gl.getExtension("STACKGL_resize_drawingbuffer");o&&a&&"width"in a&&"height"in a&&o.resize(a.width,a.height)}},{key:"commit",value:function(){}}]),r}(ot);var _n=Le(Xe(),1);function di(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function pi(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?di(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):di(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Zu={spector:P.get("spector")||P.get("inspect")},$u="https://spectorcdn.babylonjs.com/spector.bundle.js",Qu=1,le=null,mi=!1;function hi(e){return En.apply(this,arguments)}function En(){return En=se(_n.default.mark(function e(t){return _n.default.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(globalThis.SPECTOR){n.next=9;break}return n.prev=1,n.next=4,Ct($u);case 4:n.next=9;break;case 6:n.prev=6,n.t0=n.catch(1),P.warn(String(n.t0));case 9:case"end":return n.stop()}},e,null,[[1,6]])})),En.apply(this,arguments)}function Si(e){var t,r;if(e=pi(pi({},Zu),e),!((t=e)!==null&&t!==void 0&&t.spector)||(!le&&globalThis.SPECTOR&&(P.probe(Qu,"SPECTOR found and initialized")(),le=new globalThis.SPECTOR.Spector,globalThis.luma&&(globalThis.luma.spector=le)),!le))return null;if(!mi){var n,a;mi=!0,le.spyCanvases(),(n=le)===null||n===void 0||n.onCaptureStarted.add(function(f){return P.info("Spector capture started:",f)()}),(a=le)===null||a===void 0||a.onCapture.add(function(f){var _,E,c;P.info("Spector capture complete:",f)(),(_=le)===null||_===void 0||_.getResultUI(),(E=le)===null||E===void 0||E.resultView.display(),(c=le)===null||c===void 0||c.resultView.addCapture(f)})}if((r=e)!==null&&r!==void 0&&r.canvas){var o,u;if(typeof e.spector=="string"&&e.spector!==e.canvas.id)return le;(o=le)===null||o===void 0||o.startCapture((u=e)===null||u===void 0?void 0:u.canvas,500),new Promise(function(f){return setTimeout(f,2e3)}).then(function(f){var _;P.info("Spector capture stopped after 2 seconds")(),(_=le)===null||_===void 0||_.stopCapture()})}return le}var ln=Le(Xe(),1);function qu(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Ju(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(E){throw E},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
24
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,u=!1,f;return{s:function(){r=r.call(e)},n:function(){var E=r.next();return o=E.done,E},e:function(E){u=!0,f=E},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(u)throw f}}}}function Ju(e,t){if(e){if(typeof e=="string")return gi(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 gi(e,t)}}function gi(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 Oi(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function vi(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Oi(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Oi(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var ef="https://unpkg.com/webgl-debug@2.0.1/index.js";function Ni(e){return e.luma=e.luma||{},e.luma}function Ci(){return Rn.apply(this,arguments)}function Rn(){return Rn=se(ln.default.mark(function e(){return ln.default.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:if(globalThis.WebGLDebugUtils){r.next=5;break}return globalThis.global=globalThis.global||globalThis,globalThis.global.module={},r.next=5,Ct(ef);case 5:case"end":return r.stop()}},e)})),Rn.apply(this,arguments)}function bi(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return e?t.debug?rf(e,t):tf(e):null}function tf(e){var t=Ni(e);return t.realContext?t.realContext:e}function rf(e,t){if(!globalThis.WebGLDebugUtils)return P.warn("webgl-debug not loaded")(),e;var r=Ni(e);if(r.debugContext)return r.debugContext;globalThis.WebGLDebugUtils.init(vi(vi({},i),e));var n=globalThis.WebGLDebugUtils.makeDebugContext(e,nf.bind(null,t),af.bind(null,t));for(var a in i)!(a in n)&&typeof i[a]=="number"&&(n[a]=i[a]);var o=y(function f(){I(this,f)});Object.setPrototypeOf(n,Object.getPrototypeOf(e)),Object.setPrototypeOf(o,n);var u=Object.create(o);return r.realContext=e,r.debugContext=u,u.debug=!0,u}function cn(e,t){t=Array.from(t).map(function(n){return n===void 0?"undefined":n});var r=globalThis.WebGLDebugUtils.glFunctionArgsToString(e,t);return r="".concat(r.slice(0,100)).concat(r.length>100?"...":""),"gl.".concat(e,"(").concat(r,")")}function nf(e,t,r,n){n=Array.from(n).map(function(_){return _===void 0?"undefined":_});var a=globalThis.WebGLDebugUtils.glEnumToString(t),o=globalThis.WebGLDebugUtils.glFunctionArgsToString(r,n),u=e.webgl2?"gl2":"gl1",f="".concat(a," in ").concat(u,".").concat(r,"(").concat(o,")");P.error(f)();debugger;if(e.throwOnError)throw new Error(f)}function af(e,t,r){var n="";if(P.level>=1&&(n=cn(t,r),P.log(1,n)()),e.break&&e.break.length>0){n=n||cn(t,r);var a=e.break.every(function(_){return n.indexOf(_)!==-1});if(a)debugger}var o=qu(r),u;try{for(o.s();!(u=o.n()).done;){var f=u.value;if(f===void 0){if(n=n||cn(t,r),e.throwOnError)throw new Error("Undefined argument: ".concat(n));P.error("Undefined argument: ".concat(n))();debugger}}}catch(_){o.e(_)}finally{o.f()}}function Tn(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function dt(e,t,r){return Tn()?dt=Reflect.construct.bind():dt=function(a,o,u){var f=[null];f.push.apply(f,o);var _=Function.bind.apply(a,f),E=new _;return u&&We(E,u.prototype),E},dt.apply(null,arguments)}var of="Failed to deduce GL constant from typed array";function dr(e){var t=ArrayBuffer.isView(e)?e.constructor:e;switch(t){case Float32Array:return i.FLOAT;case Uint16Array:return i.UNSIGNED_SHORT;case Uint32Array:return i.UNSIGNED_INT;case Uint8Array:return i.UNSIGNED_BYTE;case Uint8ClampedArray:return i.UNSIGNED_BYTE;case Int8Array:return i.BYTE;case Int16Array:return i.SHORT;case Int32Array:return i.INT;default:throw new Error(of)}}function pt(e,t){var r=t||{},n=r.clamped,a=n===void 0?!0:n;switch(e){case i.FLOAT:return Float32Array;case i.UNSIGNED_SHORT:case i.UNSIGNED_SHORT_5_6_5:case i.UNSIGNED_SHORT_4_4_4_4:case i.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;case i.UNSIGNED_INT:return Uint32Array;case i.UNSIGNED_BYTE:return a?Uint8ClampedArray:Uint8Array;case i.BYTE:return Int8Array;case i.SHORT:return Int16Array;case i.INT:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}var sf={offset:0,stride:0,type:i.FLOAT,size:1,divisor:0,normalized:!1,integer:!1},uf={deprecatedProps:{instanced:"divisor",isInstanced:"divisor"}},Se=function(){function e(){var t=this;I(this,e),s(this,"offset",void 0),s(this,"stride",void 0),s(this,"type",void 0),s(this,"size",void 0),s(this,"divisor",void 0),s(this,"normalized",void 0),s(this,"integer",void 0),s(this,"buffer",void 0),s(this,"index",void 0);for(var r=arguments.length,n=new Array(r),a=0;a<r;a++)n[a]=arguments[a];n.forEach(function(o){return t._assign(o)}),Object.freeze(this)}return y(e,[{key:"toString",value:function(){return JSON.stringify(this)}},{key:"BYTES_PER_ELEMENT",get:function(){return e.getBytesPerElement(this)}},{key:"BYTES_PER_VERTEX",get:function(){return e.getBytesPerVertex(this)}},{key:"_assign",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return r=Ye("Accessor",r,uf),r.type!==void 0&&(this.type=r.type,(r.type===i.INT||r.type===i.UNSIGNED_INT)&&(this.integer=!0)),r.size!==void 0&&(this.size=r.size),r.offset!==void 0&&(this.offset=r.offset),r.stride!==void 0&&(this.stride=r.stride),r.normalize!==void 0&&(this.normalized=r.normalize),r.normalized!==void 0&&(this.normalized=r.normalized),r.integer!==void 0&&(this.integer=r.integer),r.divisor!==void 0&&(this.divisor=r.divisor),r.buffer!==void 0&&(this.buffer=r.buffer),r.index!==void 0&&(typeof r.index=="boolean"?this.index=r.index?1:0:this.index=r.index),r.instanced!==void 0&&(this.divisor=r.instanced?1:0),r.isInstanced!==void 0&&(this.divisor=r.isInstanced?1:0),this.offset===void 0&&delete this.offset,this.stride===void 0&&delete this.stride,this.type===void 0&&delete this.type,this.size===void 0&&delete this.size,this.divisor===void 0&&delete this.divisor,this.normalized===void 0&&delete this.normalized,this.integer===void 0&&delete this.integer,this.buffer===void 0&&delete this.buffer,this.index===void 0&&delete this.index,this}}],[{key:"getBytesPerElement",value:function(r){var n=pt(r.type||i.FLOAT);return n.BYTES_PER_ELEMENT}},{key:"getBytesPerVertex",value:function(r){w(r.size);var n=pt(r.type||i.FLOAT);return n.BYTES_PER_ELEMENT*r.size}},{key:"resolve",value:function(){for(var r=arguments.length,n=new Array(r),a=0;a<r;a++)n[a]=arguments[a];return dt(e,[sf].concat(n))}}]),e}();function ff(e){var t=_f();return function(){var n=O(e),a;if(t){var o=O(this).constructor;a=Reflect.construct(n,arguments,o)}else a=n.apply(this,arguments);return U(this,a)}}function _f(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Ii(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Ef(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ii(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ii(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var yi=10,Pi={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},Fi={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:Pi},cf={removedProps:Pi};function lf(e){if(ArrayBuffer.isView(e))return{data:e};if(typeof e=="number")return{byteLength:e};e=Ye("Buffer",e,Fi);var t=Ef({},e);return t.offset&&(t.byteOffset=t.offset),t}var Lt=function(e){D(r,e);var t=ff(r);function r(n){var a,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(I(this,r),a=t.call(this,ce.attach(n),lf(o)),s(T(a),"usage",void 0),s(T(a),"accessor",void 0),a.setAccessor(Object.assign({},o,o.accessor)),a.props.data){var u=dr(a.props.data);w(u),a.setAccessor(new Se(a.accessor,{type:u}))}return Object.seal(T(a)),a}return y(r,[{key:"getElementCount",value:function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.accessor;return Math.round(this.byteLength/Se.getBytesPerElement(a))}},{key:"getVertexCount",value:function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.accessor;return Math.round(this.byteLength/Se.getBytesPerVertex(a))}},{key:"initialize",value:function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return ArrayBuffer.isView(a)&&(a={data:a}),Number.isFinite(a)&&(a={byteLength:a}),a=Ye("Buffer",a,Fi),this.webglUsage=a.webglUsage||i.STATIC_DRAW,this.debugData=null,this.setAccessor(Object.assign({},a,a.accessor)),a.data?this._setData(a.data,a.offset,a.byteLength):this._setByteLength(a.byteLength||0),this}},{key:"setProps",value:function(a){return a=Ye("Buffer",a,cf),"accessor"in a&&this.setAccessor(a.accessor),this}},{key:"setAccessor",value:function(a){return a=Object.assign({},a),delete a.buffer,this.accessor=new Se(a),this}},{key:"reallocate",value:function(a){return a>this.byteLength?(this._setByteLength(a),!0):(this.bytesUsed=a,!1)}},{key:"setData",value:function(a){return this.initialize(a)}},{key:"subData",value:function(a){ArrayBuffer.isView(a)&&(a={data:a});var o=a,u=o.data,f=o.offset,_=f===void 0?0:f,E=o.srcOffset,c=E===void 0?0:E,l=a.byteLength||a.length;w(u);var R=this.gl.webgl2?i.COPY_WRITE_BUFFER:this.target;return this.gl.bindBuffer(R,this.handle),c!==0||l!==void 0?(ut(this.gl),this.gl.bufferSubData(this.target,_,u,c,l)):this.gl.bufferSubData(R,_,u),this.gl.bindBuffer(R,null),this.debugData=null,this._inferType(u),this}},{key:"copyData",value:function(a){var o=a.sourceBuffer,u=a.readOffset,f=u===void 0?0:u,_=a.writeOffset,E=_===void 0?0:_,c=a.size,l=this.gl,R=this.gl2;return ut(l),l.bindBuffer(i.COPY_READ_BUFFER,o.handle),l.bindBuffer(i.COPY_WRITE_BUFFER,this.handle),R?.copyBufferSubData(i.COPY_READ_BUFFER,i.COPY_WRITE_BUFFER,f,E,c),l.bindBuffer(i.COPY_READ_BUFFER,null),l.bindBuffer(i.COPY_WRITE_BUFFER,null),this.debugData=null,this}},{key:"getData",value:function(a){var o,u=a||{},f=u.dstData,_=f===void 0?null:f,E=u.length,c=E===void 0?0:E,l=a||{},R=l.srcByteOffset,A=R===void 0?0:R,h=l.dstOffset,S=h===void 0?0:h;ut(this.gl);var C=pt(this.accessor.type||i.FLOAT,{clamped:!1}),v=this._getAvailableElementCount(A),B=S,b,X;_?(X=_.length,b=X-B):(b=Math.min(v,c||v),X=B+b);var V=Math.min(v,b);return c=c||V,w(c<=V),_=_||new C(X),this.gl.bindBuffer(i.COPY_READ_BUFFER,this.handle),(o=this.gl2)===null||o===void 0||o.getBufferSubData(i.COPY_READ_BUFFER,A,_,S,c),this.gl.bindBuffer(i.COPY_READ_BUFFER,null),_}},{key:"bind",value:function(a){var o=a||{},u=o.target,f=u===void 0?this.target:u,_=o.index,E=_===void 0?this.accessor&&this.accessor.index:_,c=o.offset,l=c===void 0?0:c,R=o.size;if(f===i.UNIFORM_BUFFER||f===i.TRANSFORM_FEEDBACK_BUFFER)if(R!==void 0){var A;(A=this.gl2)===null||A===void 0||A.bindBufferRange(f,E,this.handle,l,R)}else{var h;w(l===0),(h=this.gl2)===null||h===void 0||h.bindBufferBase(f,E,this.handle)}else this.gl.bindBuffer(f,this.handle);return this}},{key:"unbind",value:function(a){var o=a||{},u=o.target,f=u===void 0?this.target:u,_=o.index,E=_===void 0?this.accessor&&this.accessor.index:_,c=f===i.UNIFORM_BUFFER||f===i.TRANSFORM_FEEDBACK_BUFFER;if(c){var l;(l=this.gl2)===null||l===void 0||l.bindBufferBase(f,E,null)}else this.gl.bindBuffer(f,null);return this}},{key:"getDebugData",value:function(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(yi,this.byteLength)}),{data:this.debugData,changed:!0})}},{key:"invalidateDebugData",value:function(){this.debugData=null}},{key:"_setData",value:function(a){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:a.byteLength+o;w(ArrayBuffer.isView(a)),this.trackDeallocatedMemory();var f=this._getTarget();this.gl.bindBuffer(f,this.handle),this.gl.bufferData(f,u,this.webglUsage),this.gl.bufferSubData(f,o,a),this.gl.bindBuffer(f,null),this.debugData=a.slice(0,yi),this.bytesUsed=u,this.byteLength=u,this.trackAllocatedMemory(u);var _=dr(a);return w(_),this.setAccessor(new Se(this.accessor,{type:_})),this}},{key:"_setByteLength",value:function(a){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.webglUsage;w(a>=0),this.trackDeallocatedMemory();var u=a;a===0&&(u=new Float32Array(0));var f=this._getTarget();return this.gl.bindBuffer(f,this.handle),this.gl.bufferData(f,u,o),this.gl.bindBuffer(f,null),this.webglUsage=o,this.debugData=null,this.bytesUsed=a,this.byteLength=a,this.trackAllocatedMemory(a),this}},{key:"_getTarget",value:function(){return this.gl.webgl2?i.COPY_WRITE_BUFFER:this.target}},{key:"_getAvailableElementCount",value:function(a){var o=pt(this.accessor.type||i.FLOAT,{clamped:!1}),u=a/o.BYTES_PER_ELEMENT;return this.getElementCount()-u}},{key:"_inferType",value:function(a){this.accessor.type||this.setAccessor(new Se(this.accessor,{type:dr(a)}))}},{key:"getParameter",value:function(a){this.gl.bindBuffer(this.target,this.handle);var o=this.gl.getBufferParameter(this.target,a);return this.gl.bindBuffer(this.target,null),o}},{key:"type",get:function(){return this.accessor.type}}]),r}(me);var mn=Le(Xe(),1);function An(e,t){return{name:Rf(e,t),language:"glsl",version:Tf(e)}}function Rf(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 Tf(e){var t=100,r=e.match(/[^\s]+/g);if(r&&r.length>=2&&r[0]==="#version"){var n=parseInt(r[1],10);Number.isFinite(n)&&(t=n)}return t}function dn(e){return Ot(e)||Pt(e)||je(e)||vt()}function Af(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=df(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(E){throw E},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
25
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,u=!1,f;return{s:function(){r=r.call(e)},n:function(){var E=r.next();return o=E.done,E},e:function(E){u=!0,f=E},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(u)throw f}}}}function df(e,t){if(e){if(typeof e=="string")return Bi(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 Bi(e,t)}}function Bi(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var pf=["warning","error","info"];function pn(e){var t=e.split(/\r?\n/),r=[],n=Af(t),a;try{for(n.s();!(a=n.n()).done;){var o=a.value;if(!(o.length<=1)){var u=o.split(":"),f=dn(u),_=f[0],E=f[1],c=f[2],l=f.slice(3),R=parseInt(c,10);isNaN(R)&&(R=0);var A=parseInt(E,10);isNaN(A)&&(A=0);var h=_.toLowerCase(),S=pf.includes(h)?h:"info";r.push({message:l.join(":").trim(),type:S,lineNum:R,linePos:A})}}}catch(C){n.e(C)}finally{n.f()}return r}function Mi(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function mf(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Mi(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Mi(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function hf(e){var t=Sf();return function(){var n=O(e),a;if(t){var o=O(this).constructor;a=Reflect.construct(n,arguments,o)}else a=n.apply(this,arguments);return U(this,a)}}function Sf(){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 pr=function(e){D(r,e);var t=hf(r);function r(n,a){var o;switch(I(this,r),o=t.call(this,n,mf({id:gf(a)},a)),s(T(o),"device",void 0),s(T(o),"handle",void 0),o.device=n,o.props.stage){case"vertex":o.handle=o.props.handle||o.device.gl.createShader(i.VERTEX_SHADER);break;case"fragment":o.handle=o.props.handle||o.device.gl.createShader(i.FRAGMENT_SHADER);break;default:throw new Error(o.props.stage)}return o._compile(o.source),o}return y(r,[{key:"destroy",value:function(){this.handle&&(this.removeStats(),this.device.gl.deleteShader(this.handle),this.destroyed=!0)}},{key:"compilationInfo",value:function(){var n=se(mn.default.mark(function o(){var u;return mn.default.wrap(function(_){for(;;)switch(_.prev=_.next){case 0:return u=this.device.gl.getShaderInfoLog(this.handle),_.abrupt("return",u?pn(u):[]);case 2:case"end":return _.stop()}},o,this)}));function a(){return n.apply(this,arguments)}return a}()},{key:"_compile",value:function(a){var o=function(S){return S.startsWith("#version ")?S:`#version 100
26
+ `.concat(S)};a=o(a);var u=this.device.gl;u.shaderSource(this.handle,a),u.compileShader(this.handle);var f=u.getShaderParameter(this.handle,i.COMPILE_STATUS);if(!f){var _=u.getShaderInfoLog(this.handle),E=_?pn(_):[],c=E.filter(function(h){return h.type==="error"}),l=Hr(c,a),R=An(a).name,A="".concat(this.stage," shader ").concat(R);throw P.error("GLSL compilation errors in ".concat(A,`
27
+ `).concat(l))(),new Error("GLSL compilation errors in ".concat(R))}}}]),r}(Mr);function gf(e){return An(e.source).name||e.id||Oe("unnamed ".concat(e.stage,"-shader"))}function Di(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Of(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Di(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Di(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function vf(e){var t=Nf();return function(){var n=O(e),a;if(t){var o=O(this).constructor;a=Reflect.construct(n,arguments,o)}else a=n.apply(this,arguments);return U(this,a)}}function Nf(){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 Cf=256,bf=1024,If=16384,hn=6144,mr=function(e){D(r,e);var t=vf(r);function r(n,a){var o;return I(this,r),o=t.call(this,n,a),s(T(o),"device",void 0),s(T(o),"glParameters",void 0),o.device=n,o.setParameters(o.props.parameters),o.clear(),o}return y(r,[{key:"end",value:function(){}},{key:"pushDebugGroup",value:function(a){}},{key:"popDebugGroup",value:function(){}},{key:"insertDebugMarker",value:function(a){}},{key:"setParameters",value:function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o={};this.props.framebuffer&&(o.framebuffer=this.props.framebuffer),this.props.depthReadOnly&&(o.depthMask=!this.props.depthReadOnly),o.stencilMask=this.props.stencilReadOnly?0:1,o[i.RASTERIZER_DISCARD]=this.props.discard,a.viewport&&(o.viewport=a.viewport,o.depthRange=[a.viewport[4],a.viewport[5]]),o.scissorTest=Boolean(a.scissorRect),a.scissorRect&&(o.scissor=a.scissorRect),a.blendConstant&&(o.blendColor=a.blendConstant),a.stencilReference&&(console.warn("RenderPassParameters.stencilReference not yet implemented in WebGL"),a[i.STENCIL_REF]=a.stencilReference),this.glParameters=o}},{key:"clear",value:function(){var a=this,o=Of({},this.glParameters),u=0;this.props.clearColor!==!1&&(u|=If,o.clearColor=this.props.clearColor),this.props.clearDepth!==!1&&(u|=Cf,o.clearDepth=this.props.clearDepth),this.props.clearStencil!==!1&&(u|=bf,o.clearStencil=this.props.clearStencil),u!==0&&Pe(this.device,o,function(){a.device.gl.clear(u)})}},{key:"clearColorBuffer",value:function(){var a=this,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0,0,0,0];Pe(this.device.gl2,{framebuffer:this.props.framebuffer},function(){switch(u.constructor){case Int32Array:a.device.gl2.clearBufferiv(hn,o,u);break;case Uint32Array:a.device.gl2.clearBufferuiv(hn,o,u);break;case Float32Array:default:a.device.gl2.clearBufferfv(hn,o,u);break}})}}]),r}(er);var Y;function Ui(e){return yf.includes(e)}var yf=[i.SAMPLER_2D,i.SAMPLER_CUBE,i.SAMPLER_3D,i.SAMPLER_2D_SHADOW,i.SAMPLER_2D_ARRAY,i.SAMPLER_2D_ARRAY_SHADOW,i.SAMPLER_CUBE_SHADOW,i.INT_SAMPLER_2D,i.INT_SAMPLER_3D,i.INT_SAMPLER_CUBE,i.INT_SAMPLER_2D_ARRAY,i.UNSIGNED_INT_SAMPLER_2D,i.UNSIGNED_INT_SAMPLER_3D,i.UNSIGNED_INT_SAMPLER_CUBE,i.UNSIGNED_INT_SAMPLER_2D_ARRAY],xi=(Y={},s(Y,i.FLOAT,[i.FLOAT,1,"float","f32","float32"]),s(Y,i.FLOAT_VEC2,[i.FLOAT,2,"vec2","vec2<f32>","float32x2"]),s(Y,i.FLOAT_VEC3,[i.FLOAT,3,"vec3","vec3<f32>","float32x3"]),s(Y,i.FLOAT_VEC4,[i.FLOAT,4,"vec4","vec4<f32>","float32x4"]),s(Y,i.INT,[i.INT,1,"int","i32","sint32"]),s(Y,i.INT_VEC2,[i.INT,2,"ivec2","vec2<i32>","sint32x2"]),s(Y,i.INT_VEC3,[i.INT,3,"ivec3","vec3<i32>","sint32x3"]),s(Y,i.INT_VEC4,[i.INT,4,"ivec4","vec4<i32>","sint32x4"]),s(Y,i.UNSIGNED_INT,[i.UNSIGNED_INT,1,"uint","u32","uint32"]),s(Y,i.UNSIGNED_INT_VEC2,[i.UNSIGNED_INT,2,"uvec2","vec2<u32>","uint32x2"]),s(Y,i.UNSIGNED_INT_VEC3,[i.UNSIGNED_INT,3,"uvec3","vec3<u32>","uint32x3"]),s(Y,i.UNSIGNED_INT_VEC4,[i.UNSIGNED_INT,4,"uvec4","vec4<u32>","uint32x4"]),s(Y,i.BOOL,[i.FLOAT,1,"bool","f32","float32x2"]),s(Y,i.BOOL_VEC2,[i.FLOAT,2,"bvec2","vec2<f32>"]),s(Y,i.BOOL_VEC3,[i.FLOAT,3,"bvec3","vec3<f32>"]),s(Y,i.BOOL_VEC4,[i.FLOAT,4,"bvec4","vec4<f32>"]),s(Y,i.FLOAT_MAT2,[i.FLOAT,8,"mat2","mat2x2<f32>"]),s(Y,i.FLOAT_MAT2x3,[i.FLOAT,8,"mat2x3","mat2x3<f32>"]),s(Y,i.FLOAT_MAT2x4,[i.FLOAT,8,"mat2x4","mat2x4<f32>"]),s(Y,i.FLOAT_MAT3x2,[i.FLOAT,12,"mat3x2","mat3x2<f32>"]),s(Y,i.FLOAT_MAT3,[i.FLOAT,12,"mat3","mat3x3<f32>"]),s(Y,i.FLOAT_MAT3x4,[i.FLOAT,12,"mat3x4","mat3x4<f32>"]),s(Y,i.FLOAT_MAT4x2,[i.FLOAT,16,"mat4x2","mat4x2<f32>"]),s(Y,i.FLOAT_MAT4x3,[i.FLOAT,16,"mat4x3","mat4x3<f32>"]),s(Y,i.FLOAT_MAT4,[i.FLOAT,16,"mat4","mat4x4<f32>"]),Y);function Sn(e){var t=xi[e];if(!t)throw new Error("uniform");var r=H(t,4),n=r[0],a=r[1],o=r[3];return{format:o,components:a,glType:n}}function wi(e){var t=xi[e];if(!t)throw new Error("attribute");var r=H(t,5),n=r[0],a=r[1],o=r[4];return{format:o,components:a,glType:n}}function Xi(e,t){var r=Pf(e);switch(t){case 1:return r;case 2:return"".concat(r,"x2");case 3:return"".concat(r,"x3");case 4:return"".concat(r,"x4");default:throw new Error(String(t))}}function Pf(e){switch(e){case i.INT:return"sint32";case i.UNSIGNED_INT:return"uint32";case i.FLOAT:return"float32";default:throw new Error(String(e))}}var oe;function Hi(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Li(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Hi(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Hi(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function gn(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Ff(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(E){throw E},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
28
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,u=!1,f;return{s:function(){r=r.call(e)},n:function(){var E=r.next();return o=E.done,E},e:function(E){u=!0,f=E},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(u)throw f}}}}function Ff(e,t){if(e){if(typeof e=="string")return Wi(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 Wi(e,t)}}function Wi(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 hr(e,t){var r,n,a=On(e,t),o={attributes:[],bindings:[]},u=gn(a.attributes),f;try{for(u.s();!(f=u.n()).done;){var _=f.value,E=Math.min(_.accessor.size,4),c=Xi(_.accessor.type||i.FLOAT,E);o.attributes.push({name:_.name,location:_.location,format:c,stepMode:_.accessor.divisor===1?"instance":"vertex"})}}catch(k){u.e(k)}finally{u.f()}var l=gn(a.uniformBlocks),R;try{for(l.s();!(R=l.n()).done;){var A=R.value,h=A.uniforms.map(function(k){return{name:k.name,format:k.format,byteOffset:k.byteOffset,byteStride:k.byteStride,arrayLength:k.arrayLength}});o.bindings.push({type:"uniform",name:A.name,location:A.location,visibility:(A.vertex?1:0)&(A.fragment?2:0),minBindingSize:A.byteLength,uniforms:h})}}catch(k){l.e(k)}finally{l.f()}var S=0,C=gn(a.uniforms),v;try{for(C.s();!(v=C.n()).done;){var B=v.value;if(Ui(B.type)){var b=wf(B.type),X=b.viewDimension,V=b.sampleType;o.bindings.push({type:"texture",name:B.name,location:S,viewDimension:X,sampleType:V}),B.textureUnit=S,S+=1}}}catch(k){C.e(k)}finally{C.f()}var z=((r=a.uniforms)===null||r===void 0?void 0:r.filter(function(k){return k.location!==null}))||[];return z.length&&(o.uniforms=z),(n=a.varyings)!==null&&n!==void 0&&n.length&&(o.varyings=a.varyings),o}function On(e,t){var r={attributes:Bf(e,t),uniforms:Df(e,t),uniformBlocks:Uf(e,t),varyings:Mf(e,t)};return Object.seal(r),r}function Bf(e,t){for(var r=[],n=e.getProgramParameter(t,e.ACTIVE_ATTRIBUTES),a=0;a<n;a++){var o=e.getActiveAttrib(t,a);if(!o)throw new Error("activeInfo");var u=o.name,f=o.type,_=o.size,E=e.getAttribLocation(t,u);if(E>=0){var c=wi(f),l=c.glType,R=c.components,A={type:l,size:_*R};/instance/i.test(u)&&(A.divisor=1);var h={location:E,name:u,accessor:new Se(A)};r.push(h)}}return r.sort(function(S,C){return S.location-C.location}),r}function Mf(e,t){if(!L(e))return[];for(var r=e,n=[],a=e.getProgramParameter(t,i.TRANSFORM_FEEDBACK_VARYINGS),o=0;o<a;o++){var u=r.getTransformFeedbackVarying(t,o);if(!u)throw new Error("activeInfo");var f=u.name,_=u.type,E=u.size,c=Sn(_),l=c.glType,R=c.components,A=new Se({type:l,size:E*R}),h={location:o,name:f,accessor:A};n.push(h)}return n.sort(function(S,C){return S.location-C.location}),n}function Df(e,t){for(var r=[],n=e.getProgramParameter(t,i.ACTIVE_UNIFORMS),a=0;a<n;a++){var o=e.getActiveUniform(t,a);if(!o)throw new Error("activeInfo");var u=o.name,f=o.size,_=o.type,E=Xf(u),c=E.name,l=E.isArray,R=e.getUniformLocation(t,c),A={location:R,name:c,size:f,type:_,isArray:l};if(r.push(A),A.size>1)for(var h=0;h<A.size;h++){var S="".concat(c,"[").concat(h,"]");R=e.getUniformLocation(t,S);var C=Li(Li({},A),{},{name:S,location:R});r.push(C)}}return r}function Uf(e,t){if(!L(e))return[];for(var r=e,n=function(C,v){return r.getActiveUniformBlockParameter(t,C,v)},a=[],o=r.getProgramParameter(t,i.ACTIVE_UNIFORM_BLOCKS),u=0;u<o;u++){for(var f={name:r.getActiveUniformBlockName(t,u)||"",location:n(u,i.UNIFORM_BLOCK_BINDING),byteLength:n(u,i.UNIFORM_BLOCK_DATA_SIZE),vertex:n(u,i.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER),fragment:n(u,i.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER),uniformCount:n(u,i.UNIFORM_BLOCK_ACTIVE_UNIFORMS),uniforms:[]},_=n(u,i.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES)||[],E=r.getActiveUniforms(t,_,i.UNIFORM_TYPE),c=r.getActiveUniforms(t,_,i.UNIFORM_SIZE),l=r.getActiveUniforms(t,_,i.UNIFORM_OFFSET),R=r.getActiveUniforms(t,_,i.UNIFORM_ARRAY_STRIDE),A=0;A<f.uniformCount;++A){var h=r.getActiveUniform(t,_[A]);if(!h)throw new Error("activeInfo");f.uniforms.push({name:h.name,format:Sn(E[A]).format,type:E[A],arrayLength:c[A],byteOffset:l[A],byteStride:R[A]})}a.push(f)}return a.sort(function(S,C){return S.location-C.location}),a}var xf=(oe={},s(oe,i.SAMPLER_2D,["2d","float"]),s(oe,i.SAMPLER_CUBE,["cube","float"]),s(oe,i.SAMPLER_3D,["3d","float"]),s(oe,i.SAMPLER_2D_SHADOW,["3d","depth"]),s(oe,i.SAMPLER_2D_ARRAY,["2d-array","float"]),s(oe,i.SAMPLER_2D_ARRAY_SHADOW,["2d-array","depth"]),s(oe,i.SAMPLER_CUBE_SHADOW,["cube","float"]),s(oe,i.INT_SAMPLER_2D,["2d","sint"]),s(oe,i.INT_SAMPLER_3D,["3d","sint"]),s(oe,i.INT_SAMPLER_CUBE,["cube","sint"]),s(oe,i.INT_SAMPLER_2D_ARRAY,["2d-array","uint"]),s(oe,i.UNSIGNED_INT_SAMPLER_2D,["2d","uint"]),s(oe,i.UNSIGNED_INT_SAMPLER_3D,["3d","uint"]),s(oe,i.UNSIGNED_INT_SAMPLER_CUBE,["cube","uint"]),s(oe,i.UNSIGNED_INT_SAMPLER_2D_ARRAY,["2d-array","uint"]),oe);function wf(e){var t=xf[e];if(!t)throw new Error("sampler");var r=H(t,2),n=r[0],a=r[1];return{viewDimension:n,sampleType:a}}function Xf(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 Vi(e,t,r,n){var a=e;if(typeof n=="number")switch(r){case i.SAMPLER_2D:case i.SAMPLER_CUBE:case i.SAMPLER_3D:case i.SAMPLER_2D_SHADOW:case i.SAMPLER_2D_ARRAY:case i.SAMPLER_2D_ARRAY_SHADOW:case i.SAMPLER_CUBE_SHADOW:case i.INT_SAMPLER_2D:case i.INT_SAMPLER_3D:case i.INT_SAMPLER_CUBE:case i.INT_SAMPLER_2D_ARRAY:case i.UNSIGNED_INT_SAMPLER_2D:case i.UNSIGNED_INT_SAMPLER_3D:case i.UNSIGNED_INT_SAMPLER_CUBE:case i.UNSIGNED_INT_SAMPLER_2D_ARRAY:return e.uniform1i(t,n)}n===!0&&(n=1),n===!1&&(n=1);var o=typeof n=="number"?[n]:n;switch(r){case i.FLOAT:return e.uniform1fv(t,o);case i.FLOAT_VEC2:return e.uniform2fv(t,o);case i.FLOAT_VEC3:return e.uniform3fv(t,o);case i.FLOAT_VEC4:return e.uniform4fv(t,o);case i.INT:return e.uniform1iv(t,o);case i.INT_VEC2:return e.uniform2iv(t,o);case i.INT_VEC3:return e.uniform3iv(t,o);case i.INT_VEC4:return e.uniform4iv(t,o);case i.BOOL:return e.uniform1iv(t,o);case i.BOOL_VEC2:return e.uniform2iv(t,o);case i.BOOL_VEC3:return e.uniform3iv(t,o);case i.BOOL_VEC4:return e.uniform4iv(t,o);case i.UNSIGNED_INT:return a.uniform1uiv(t,o,1);case i.UNSIGNED_INT_VEC2:return a.uniform2uiv(t,o,2);case i.UNSIGNED_INT_VEC3:return a.uniform3uiv(t,o,3);case i.UNSIGNED_INT_VEC4:return a.uniform4uiv(t,o,4);case i.FLOAT_MAT2:return e.uniformMatrix2fv(t,!1,o);case i.FLOAT_MAT3:return e.uniformMatrix3fv(t,!1,o);case i.FLOAT_MAT4:return e.uniformMatrix4fv(t,!1,o);case i.FLOAT_MAT2x3:return a.uniformMatrix2x3fv(t,!1,o);case i.FLOAT_MAT2x4:return a.uniformMatrix2x4fv(t,!1,o);case i.FLOAT_MAT3x2:return a.uniformMatrix3x2fv(t,!1,o);case i.FLOAT_MAT3x4:return a.uniformMatrix3x4fv(t,!1,o);case i.FLOAT_MAT4x2:return a.uniformMatrix4x2fv(t,!1,o);case i.FLOAT_MAT4x3:return a.uniformMatrix4x3fv(t,!1,o)}throw new Error("Illegal uniform")}function Hf(e){var t=Lf();return function(){var n=O(e),a;if(t){var o=O(this).constructor;a=Reflect.construct(n,arguments,o)}else a=n.apply(this,arguments);return U(this,a)}}function Lf(){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 Wf="elements must be GL.ELEMENT_ARRAY_BUFFER",Sr=function(e,t){D(n,e);var r=Hf(n);function n(a,o){return I(this,n),r.call(this,a,o,{})}return y(n,[{key:t,get:function(){return"BaseVertexArrayObject"}},{key:"_createHandle",value:function(){return this.gl2.createVertexArray()}},{key:"_deleteHandle",value:function(){return this.gl2.deleteVertexArray(this.handle),[this.elements]}},{key:"_bindHandle",value:function(o){this.gl2.bindVertexArray(o)}},{key:"setElementBuffer",value:function(){var o=this,u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return w(!u||u.target===i.ELEMENT_ARRAY_BUFFER,Wf),this.bind(function(){o.gl.bindBuffer(i.ELEMENT_ARRAY_BUFFER,u?u.handle:null)}),this}},{key:"setBuffer",value:function(o,u,f){var _=this;if(u.target===i.ELEMENT_ARRAY_BUFFER)return this.setElementBuffer(u,f);var E=f.size,c=f.type,l=f.stride,R=f.offset,A=f.normalized,h=f.integer,S=f.divisor,C=this.gl,v=this.gl2;return o=Number(o),this.bind(function(){C.bindBuffer(C.ARRAY_BUFFER,u.handle),h?(_.device.assertWebGL2(),v.vertexAttribIPointer(o,E,c,l,R)):C.vertexAttribPointer(o,E,c,A,l,R),C.enableVertexAttribArray(o),v.vertexAttribDivisor(o,S||0)}),this}},{key:"enable",value:function(o){var u=this,f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,_=this.device.isWebGL2||Yt()==="Chrome",E=_||o!==0;return(f||E)&&(o=Number(o),this.bind(function(){return f?u.gl.enableVertexAttribArray(o):u.gl.disableVertexAttribArray(o)})),this}}]),n}(Je,Symbol.toStringTag);function ki(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Vf(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(E){throw E},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
29
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,u=!1,f;return{s:function(){r=r.call(e)},n:function(){var E=r.next();return o=E.done,E},e:function(E){u=!0,f=E},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(u)throw f}}}}function Vf(e,t){if(e){if(typeof e=="string")return Ki(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 Ki(e,t)}}function Ki(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 kf(e){var t=Kf();return function(){var n=O(e),a;if(t){var o=O(this).constructor;a=Reflect.construct(n,arguments,o)}else a=n.apply(this,arguments);return U(this,a)}}function Kf(){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 ji=4,gr=function(e){D(r,e);var t=kf(r);function r(n,a){var o;I(this,r),o=t.call(this,n,a),s(T(o),"device",void 0),s(T(o),"handle",void 0),s(T(o),"vs",void 0),s(T(o),"fs",void 0),s(T(o),"layout",void 0),s(T(o),"varyings",null),s(T(o),"vertexArrayObject",void 0),s(T(o),"_indexBuffer",void 0),s(T(o),"uniforms",{}),s(T(o),"bindings",{}),s(T(o),"_textureUniforms",{}),s(T(o),"_textureIndexCounter",0),s(T(o),"_uniformCount",0),s(T(o),"_uniformSetters",{}),o.device=n,o.handle=o.props.handle||o.device.gl.createProgram(),o.device.setSpectorMetadata(o.handle,{id:o.props.id}),o.vs=a.vs,o.fs=a.fs;var u=a.varyings,f=a.bufferMode,_=f===void 0?i.SEPARATE_ATTRIBS:f;if(u&&u.length>0){var E;o.device.assertWebGL2(),o.varyings=u,(E=o.device.gl2)===null||E===void 0||E.transformFeedbackVaryings(o.handle,u,_)}return o._compileAndLink(),o.layout=a.layout||hr(o.device.gl,o.handle),o.vertexArrayObject=new Sr(o.device),o}return y(r,[{key:"destroy",value:function(){this.handle&&(this.device.gl.deleteProgram(this.handle),this.destroyed=!0)}},{key:"setIndexBuffer",value:function(a){var o=a;this.vertexArrayObject.setElementBuffer(o),this._indexBuffer=a}},{key:"setAttributes",value:function(a){for(var o=0,u=Object.entries(a);o<u.length;o++){var f=H(u[o],2),_=f[0],E=f[1],c=E,l=zf(this.layout,_);if(!l){P.warn('Ignoring buffer supplied for unknown attribute "'.concat(_,'" in pipeline "').concat(this.id,'" (buffer "').concat(E.id,'")'))();continue}var R=Xr(l.format),A=R.type,h=R.components,S=R.byteLength,C=R.normalized,v=R.integer,B=l.stepMode==="instance"?1:0,b=Jr(A);this.vertexArrayObject.setBuffer(l.location,c,{size:h,type:b,stride:S,offset:0,normalized:C,integer:v,divisor:B})}}},{key:"setBindings",value:function(a){for(var o=this,u=function(){var l=H(_[f],2),R=l[0],A=l[1],h=o.layout.bindings.find(function(S){return S.name===R});if(!h)return P.warn("Unknown binding ".concat(R," in render pipeline ").concat(o.id))(),"continue";switch(A||P.warn("Unsetting binding ".concat(R," in render pipeline ").concat(o.id))(),h.type){case"uniform":if(!(A instanceof me)&&!(A.buffer instanceof me))throw new Error("buffer value");break;case"texture":if(!(A instanceof he))throw new Error("texture value");break;case"sampler":P.warn("Ignoring sampler ".concat(R))();break;default:throw new Error(h.type)}o.bindings[R]=A},f=0,_=Object.entries(a);f<_.length;f++)var E=u()}},{key:"setUniforms",value:function(a){Object.assign(this.uniforms,a)}},{key:"draw",value:function(a){var o,u=this,f=a.renderPass,_=a.vertexCount,E=a.instanceCount,c=a.firstVertex,l=c===void 0?0:c,R=jf(this.props.topology),A=Boolean(this._indexBuffer),h=((o=this._indexBuffer)===null||o===void 0?void 0:o.props.indexType)==="uint16"?i.UNSIGNED_SHORT:i.UNSIGNED_INT,S=Number(a.instanceCount)>0;return!this._areTexturesRenderable()||a.vertexCount===0?!1:(this.device.gl.useProgram(this.handle),this.vertexArrayObject.bind(function(){var C=Yf(u.props.topology),v=null;v&&v.begin(C),u._applyBindings(),u._applyUniforms();var B=f;Er(u.device,u.props.parameters,function(){ai(u.device,B.glParameters,function(){if(A&&S){var b;(b=u.device.gl2)===null||b===void 0||b.drawElementsInstanced(R,_||0,h,l,E||0)}else if(A)u.device.gl.drawElements(R,_||0,h,l);else if(S){var X;(X=u.device.gl2)===null||X===void 0||X.drawArraysInstanced(R,l,_||0,E||0)}else u.device.gl.drawArrays(R,l,_||0)}),v&&v.end()})}),!0)}},{key:"_compileAndLink",value:function(){var a=this.device.gl;if(a.attachShader(this.handle,this.vs.handle),a.attachShader(this.handle,this.fs.handle),P.time(ji,"linkProgram for ".concat(this.id))(),a.linkProgram(this.handle),P.timeEnd(ji,"linkProgram for ".concat(this.id))(),a.debug||P.level>0){var o=a.getProgramParameter(this.handle,a.LINK_STATUS);if(!o)throw new Error("Error linking: ".concat(a.getProgramInfoLog(this.handle)));a.validateProgram(this.handle);var u=a.getProgramParameter(this.handle,a.VALIDATE_STATUS);if(!u)throw new Error("Error validating: ".concat(a.getProgramInfoLog(this.handle)))}}},{key:"_areTexturesRenderable",value:function(){for(var a=!0,o=0,u=Object.entries(this._textureUniforms);o<u.length;o++){var f=H(u[o],2),_=f[1];_.update(),a=a&&_.loaded}for(var E=0,c=Object.entries(this.bindings);E<c.length;E++){var l=H(c[E],2),R=l[1];R.loaded!==void 0&&(a=a&&R.loaded)}return a}},{key:"_applyBindings",value:function(){this.device.gl.useProgram(this.handle);var a=this.device.gl2;if(!a)throw new Error("bindings");var o=0,u=0,f=ki(this.layout.bindings),_;try{for(f.s();!(_=f.n()).done;){var E=_.value,c=this.bindings[E.name];if(!c)throw new Error("No value for binding ".concat(E.name," in ").concat(this.id));switch(E.type){case"uniform":var l=E.name,R=a.getUniformBlockIndex(this.handle,l);if(R===i.INVALID_INDEX)throw new Error("Invalid uniform block name ".concat(l));a.uniformBlockBinding(this.handle,u,R),c instanceof me?a.bindBufferBase(i.UNIFORM_BUFFER,u,c.handle):a.bindBufferRange(i.UNIFORM_BUFFER,u,c.buffer.handle,c.offset||0,c.size||c.buffer.byteLength-c.offset),u+=1;break;case"texture":if(!(c instanceof he))throw new Error("texture");var A=c;a.activeTexture(i.TEXTURE0+o),a.bindTexture(A.target,A.handle),o+=1;break;case"sampler":break;case"storage":case"read-only-storage":throw new Error("binding type '".concat(E.type,"' not supported in WebGL"))}}}catch(h){f.e(h)}finally{f.f()}}},{key:"_applyUniforms",value:function(){var a=ki(this.layout.uniforms||[]),o;try{for(a.s();!(o=a.n()).done;){var u=o.value,f=u.name,_=u.location,E=u.type,c=u.textureUnit,l=this.uniforms[f]||c;l!==void 0&&Vi(this.device.gl,_,E,l)}}catch(R){a.e(R)}finally{a.f()}}}]),r}(Jt);function jf(e){switch(e){case"point-list":return i.POINTS;case"line-list":return i.LINES;case"line-strip":return i.LINE_STRIP;case"line-loop":return i.LINE_LOOP;case"triangle-list":return i.TRIANGLES;case"triangle-strip":return i.TRIANGLE_STRIP;case"triangle-fan":return i.TRIANGLE_FAN;default:throw new Error(e)}}function Yf(e){switch(e){case"point-list":return i.POINTS;case"line-list":return i.LINES;case"line-strip":return i.LINES;case"line-loop":return i.LINES;case"triangle-list":return i.TRIANGLES;case"triangle-strip":return i.TRIANGLES;case"triangle-fan":return i.TRIANGLES;default:throw new Error(e)}}function zf(e,t){return e.attributes.find(function(r){return r.name===t})||null}function Gf(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Zf(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(E){throw E},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
30
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,u=!1,f;return{s:function(){r=r.call(e)},n:function(){var E=r.next();return o=E.done,E},e:function(E){u=!0,f=E},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(u)throw f}}}}function Zf(e,t){if(e){if(typeof e=="string")return Yi(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 Yi(e,t)}}function Yi(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 $f(e){var t=Qf();return function(){var n=O(e),a;if(t){var o=O(this).constructor;a=Reflect.construct(n,arguments,o)}else a=n.apply(this,arguments);return U(this,a)}}function Qf(){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 zi=function(e){D(r,e);var t=$f(r);function r(n){var a;return I(this,r),a=t.call(this,{}),s(T(a),"device",void 0),s(T(a),"commands",[]),a.device=n,a}return y(r,[{key:"submitCommands",value:function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.commands,o=Gf(a),u;try{for(o.s();!(u=o.n()).done;){var f=u.value;switch(f.name){case"copy-buffer-to-buffer":qf(this.device,f.options);break;case"copy-buffer-to-texture":Jf(this.device,f.options);break;case"copy-texture-to-buffer":e_(this.device,f.options);break;case"copy-texture-to-texture":t_(this.device,f.options);break}}}catch(_){o.e(_)}finally{o.f()}}}]),r}(wr);function qf(e,t){var r=t.source,n=t.destination,a=e.assertWebGL2();if(a){var o,u;a.bindBuffer(i.COPY_READ_BUFFER,r.handle),a.bindBuffer(i.COPY_WRITE_BUFFER,n.handle),a.copyBufferSubData(i.COPY_READ_BUFFER,i.COPY_WRITE_BUFFER,(o=t.sourceOffset)!==null&&o!==void 0?o:0,(u=t.destinationOffset)!==null&&u!==void 0?u:0,t.size),a.bindBuffer(i.COPY_READ_BUFFER,null),a.bindBuffer(i.COPY_WRITE_BUFFER,null)}else throw new Error("copyBufferToBuffer not implemented in WebGL1")}function Jf(e,t){throw new Error("Not implemented")}function e_(e,t){var r=t.source,n=t.mipLevel,a=n===void 0?0:n,o=t.aspect,u=o===void 0?"all":o,f=t.width,_=f===void 0?t.source.width:f,E=t.height,c=E===void 0?t.source.height:E,l=t.depthOrArrayLayers,R=l===void 0?0:l,A=t.origin,h=A===void 0?[0,0]:A,S=t.destination,C=t.byteOffset,v=C===void 0?0:C,B=t.bytesPerRow,b=t.rowsPerImage;if(u!=="all")throw new Error("not supported");if(a!==0||R!==void 0||B||b)throw new Error("not implemented");var X=e.assertWebGL2(),V=Gi(r),z=V.framebuffer,k=V.destroyFramebuffer;try{var ae=S,ee=_||z.width,Ee=c||z.height,G=i.RGBA,g=i.UNSIGNED_BYTE;X.bindBuffer(i.PIXEL_PACK_BUFFER,ae.handle),X.bindFramebuffer(i.FRAMEBUFFER,z.handle),X.readPixels(h[0],h[1],ee,Ee,G,g,v)}finally{X.bindBuffer(i.PIXEL_PACK_BUFFER,null),X.bindFramebuffer(i.FRAMEBUFFER,null),k&&z.destroy()}}function t_(e,t){var r=t.source,n=t.origin,a=n===void 0?[0,0]:n,o=t.destination,u=t.width,f=u===void 0?t.destination.width:u,_=t.height,E=_===void 0?t.destination.width:_,c=0,l=i.RGBA,R=Gi(r),A=R.framebuffer,h=R.destroyFramebuffer,S=H(a,2),C=S[0],v=S[1],B=!1;e.gl.bindFramebuffer(i.FRAMEBUFFER,A.handle);var b=null,X;if(o instanceof he)b=o,f=Number.isFinite(f)?f:b.width,E=Number.isFinite(E)?E:b.height,b.bind(0),X=b.destination;else throw new Error("whoops");return B||e.gl.copyTexImage2D(X,c,l,C,v,f,E,0),b&&b.unbind(),e.gl.bindFramebuffer(i.FRAMEBUFFER,prevHandle||null),h&&A.destroy(),b}function Gi(e){if(e instanceof Re){var t=e.width,r=e.height,n=e.id,a=e.device.createFramebuffer({id:"framebuffer-for-".concat(n),width:t,height:r,colorAttachments:[e]});return{framebuffer:a,destroyFramebuffer:!0}}return{framebuffer:e,destroyFramebuffer:!1}}function r_(e){var t=n_();return function(){var n=O(e),a;if(t){var o=O(this).constructor;a=Reflect.construct(n,arguments,o)}else a=n.apply(this,arguments);return U(this,a)}}function n_(){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 Or=function(e){D(r,e);var t=r_(r);function r(n,a){var o;return I(this,r),o=t.call(this,a),s(T(o),"device",void 0),s(T(o),"commandBuffer",void 0),o.device=n,o.commandBuffer=new zi(n),o}return y(r,[{key:"destroy",value:function(){}},{key:"finish",value:function(){this.commandBuffer.submitCommands()}},{key:"copyBufferToBuffer",value:function(a){this.commandBuffer.commands.push({name:"copy-buffer-to-buffer",options:a})}},{key:"copyBufferToTexture",value:function(a){this.commandBuffer.commands.push({name:"copy-buffer-to-texture",options:a})}},{key:"copyTextureToBuffer",value:function(a){this.commandBuffer.commands.push({name:"copy-texture-to-buffer",options:a})}},{key:"copyTextureToTexture",value:function(a){this.commandBuffer.commands.push({name:"copy-texture-to-texture",options:a})}},{key:"pushDebugGroup",value:function(a){}},{key:"popDebugGroup",value:function(){}},{key:"insertDebugMarker",value:function(a){}}]),r}(xr);function Zi(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Fe(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Zi(Object(r),!0).forEach(function(n){s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Zi(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function a_(e){var t=i_();return function(){var n=O(e),a;if(t){var o=O(this).constructor;a=Reflect.construct(n,arguments,o)}else a=n.apply(this,arguments);return U(this,a)}}function i_(){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 vr=1,ce=function(e){D(r,e);var t=a_(r);function r(n){var a,o;I(this,r),o=t.call(this,Fe(Fe({},n),{},{id:n.id||Oe("webgl-device")})),s(T(o),"info",void 0),s(T(o),"canvasContext",void 0),s(T(o),"handle",void 0),s(T(o),"lost",void 0),s(T(o),"_resolveContextLost",void 0),s(T(o),"_features",void 0),s(T(o),"_limits",void 0),s(T(o),"renderPass",null),s(T(o),"gl",void 0),s(T(o),"gl2",null),s(T(o),"debug",!1),s(T(o),"isWebGL1",void 0),s(T(o),"isWebGL2",void 0),s(T(o),"_canvasSizeInfo",{clientWidth:0,clientHeight:0,devicePixelRatio:1}),s(T(o),"_extensions",{}),s(T(o),"_polyfilled",!1),s(T(o),"spector",void 0),s(T(o),"_webglLimits",void 0);var u=(a=n.gl)===null||a===void 0?void 0:a.device;if(u)throw new Error("WebGL context already attached to device ".concat(u.id));o.canvasContext=new Ar(T(o),n),o.lost=new Promise(function(S){o._resolveContextLost=S});var f=function(C){var v,B;return(v=(B=o)._resolveContextLost)===null||v===void 0?void 0:v.call(B,{reason:"destroyed",message:"Computer entered sleep mode, or too many apps or browser tabs are using the GPU."})},_=n.gl||null;if(_=_||(q()?Ka(o.canvasContext.canvas,Fe(Fe({},n),{},{onContextLost:f})):null),_=_||(q()?null:Pn(Fe(Fe({},n),{},{onContextLost:f}))),!_)throw new Error("WebGL context creation failed");o.handle=_,o.gl=o.handle,o.gl2=o.gl,o.isWebGL2=s_(o.gl),o.isWebGL1=!o.isWebGL2,o.info=ja(o.gl),o.gl.device=T(o),o.gl._version=o.isWebGL2?2:1,ir(o.gl);var E=n.enable,c=E===void 0?!0:E,l=n.copyState,R=l===void 0?!1:l;if(Mt(o.gl,{enable:c,copyState:R,log:function(){for(var C=arguments.length,v=new Array(C),B=0;B<C;B++)v[B]=arguments[B];return P.log.apply(P,[1].concat(v))()}}),q()&&n.debug&&(o.gl=bi(o.gl,Fe(Fe({},n),{},{webgl2:o.isWebGL2,throwOnError:!0})),o.gl2=o.gl,o.debug=!0,P.level=Math.max(P.level,1),P.warn("WebGL debug mode activated. Performance reduced.")()),q()&&n.spector){var A=o.handle.canvas||n.canvas;o.spector=Si(Fe(Fe({},o.props),{},{canvas:A}))}var h="Created ".concat(o.info.type).concat(o.debug?" debug":""," context: ").concat(o.info.vendor,", ").concat(o.info.renderer," for canvas: ").concat(o.canvasContext.id);return P.probe(vr,h)(),P.groupEnd(vr)(),o}return y(r,[{key:"features",get:function(){return this._features=this._features||ei(this.gl),this._features}},{key:"limits",get:function(){return this._limits=this._limits||ri(this.gl),this._limits}},{key:"destroy",value:function(){var a=this.gl.getExtension("STACKGL_destroy_context");a&&a.destroy()}},{key:"isLost",get:function(){return this.gl.isContextLost()}},{key:"getSize",value:function(){return[this.gl.drawingBufferWidth,this.gl.drawingBufferHeight]}},{key:"isTextureFormatSupported",value:function(a){return wt(this.gl,a)}},{key:"isTextureFormatFilterable",value:function(a){return $a(this.gl,a)}},{key:"isTextureFormatRenderable",value:function(a){return Qa(this.gl,a)}},{key:"assertWebGL2",value:function(){if(!this.gl2)throw new Error("Requires WebGL2");return this.gl2}},{key:"createCanvasContext",value:function(a){throw new Error("WebGL only supports a single canvas")}},{key:"createBuffer",value:function(a){var o=this._getBufferProps(a);return new Lt(this,o)}},{key:"_createTexture",value:function(a){return new he(this,a)}},{key:"createExternalTexture",value:function(a){throw new Error("createExternalTexture() not implemented")}},{key:"createSampler",value:function(a){return new qe(this,a)}},{key:"createShader",value:function(a){return new pr(this,a)}},{key:"createFramebuffer",value:function(a){return new At(this,a)}},{key:"createRenderPipeline",value:function(a){return new gr(this,a)}},{key:"beginRenderPass",value:function(a){return new mr(this,a)}},{key:"createComputePipeline",value:function(a){throw new Error("ComputePipeline not supported in WebGL")}},{key:"beginComputePass",value:function(a){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(a){return new Or(this,a)}},{key:"submit",value:function(){var a;(a=this.renderPass)===null||a===void 0||a.end(),this.renderPass=null}},{key:"webglLimits",get:function(){return this._webglLimits=this._webglLimits||ni(this.gl),this._webglLimits}},{key:"loseDevice",value:function(){var a,o=!1,u=this.gl.getExtension("WEBGL_lose_context");return u&&(o=!0,u.loseContext()),(a=this._resolveContextLost)===null||a===void 0||a.call(this,{reason:"destroyed",message:"Application triggered context loss"}),o}},{key:"pushState",value:function(){xe(this.gl)}},{key:"popState",value:function(){be(this.gl)}},{key:"setSpectorMetadata",value:function(a,o){a.__SPECTOR_Metadata=o}},{key:"getGLKey",value:function(a,o){o=o||this.gl2||this.gl;var u=Number(a);for(var f in o)if(o[f]===u)return"GL.".concat(f);return String(a)}}],[{key:"isSupported",value:function(){return typeof WebGLRenderingContext<"u"||yn()}},{key:"attach",value:function(a){if(a instanceof r)return a;if(a?.device instanceof gt)return a.device;if(!o_(a))throw new Error("Invalid WebGLRenderingContext");return new r({gl:a})}},{key:"create",value:function(){var n=se(vn.default.mark(function o(){var u,f=arguments;return vn.default.wrap(function(E){for(;;)switch(E.prev=E.next){case 0:if(u=f.length>0&&f[0]!==void 0?f[0]:{},P.groupCollapsed(vr,"WebGLDevice created"),typeof u.canvas!="string"){E.next=5;break}return E.next=5,ot.pageLoaded;case 5:if(!u.debug){E.next=8;break}return E.next=8,Ci();case 8:if(!u.spector){E.next=11;break}return E.next=11,hi();case 11:if(P.probe(vr+1,"DOM is loaded")(),!(u.gl&&u.gl.device)){E.next=14;break}return E.abrupt("return",r.attach(u.gl));case 14:return E.abrupt("return",new r(u));case 15:case"end":return E.stop()}},o)}));function a(){return n.apply(this,arguments)}return a}()}]),r}(gt);s(ce,"type","webgl");function o_(e){return typeof WebGLRenderingContext<"u"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&Number.isFinite(e._version))}function s_(e){return typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&e._version===2)}return no(u_);})();
30
31
  /*! Bundled license information:
31
32
 
32
33
  @babel/runtime/helpers/regeneratorRuntime.js: