@luma.gl/engine 9.0.0-alpha.20 → 9.0.0-alpha.21

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 (54) hide show
  1. package/dist/dist.dev.js +134 -135
  2. package/dist/geometries/cube-geometry.d.ts +1 -1
  3. package/dist/geometries/cube-geometry.d.ts.map +1 -1
  4. package/dist/geometries/cube-geometry.js +1 -1
  5. package/dist/geometries/cube-geometry.js.map +1 -1
  6. package/dist/geometries/ico-sphere-geometry.d.ts +1 -1
  7. package/dist/geometries/ico-sphere-geometry.d.ts.map +1 -1
  8. package/dist/geometries/ico-sphere-geometry.js +1 -1
  9. package/dist/geometries/ico-sphere-geometry.js.map +1 -1
  10. package/dist/geometries/plane-geometry.d.ts +1 -1
  11. package/dist/geometries/plane-geometry.d.ts.map +1 -1
  12. package/dist/geometries/plane-geometry.js +1 -1
  13. package/dist/geometries/plane-geometry.js.map +1 -1
  14. package/dist/geometries/sphere-geometry.d.ts +1 -1
  15. package/dist/geometries/sphere-geometry.d.ts.map +1 -1
  16. package/dist/geometries/sphere-geometry.js +1 -1
  17. package/dist/geometries/sphere-geometry.js.map +1 -1
  18. package/dist/geometries/truncated-cone-geometry.d.ts +1 -1
  19. package/dist/geometries/truncated-cone-geometry.d.ts.map +1 -1
  20. package/dist/geometries/truncated-cone-geometry.js +1 -1
  21. package/dist/geometries/truncated-cone-geometry.js.map +1 -1
  22. package/dist/geometry/geometry-utils.js.map +1 -1
  23. package/dist/geometry/geometry.d.ts +1 -1
  24. package/dist/geometry/geometry.d.ts.map +1 -1
  25. package/dist/geometry/geometry.js +1 -1
  26. package/dist/geometry/geometry.js.map +1 -1
  27. package/dist/index.cjs +1 -1
  28. package/dist/index.d.ts +1 -1
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +1 -1
  31. package/dist/index.js.map +1 -1
  32. package/dist/lib/clip-space.d.ts.map +1 -1
  33. package/dist/lib/clip-space.js +2 -2
  34. package/dist/lib/clip-space.js.map +1 -1
  35. package/dist/lib/model-utils.d.ts +1 -1
  36. package/dist/lib/model-utils.d.ts.map +1 -1
  37. package/dist/lib/model-utils.js.map +1 -1
  38. package/dist/lib/model.d.ts +1 -1
  39. package/dist/lib/model.d.ts.map +1 -1
  40. package/dist/lib/model.js.map +1 -1
  41. package/dist.min.js +48 -48
  42. package/package.json +6 -6
  43. package/src/.DS_Store +0 -0
  44. package/src/geometries/cube-geometry.ts +1 -1
  45. package/src/geometries/ico-sphere-geometry.ts +1 -1
  46. package/src/geometries/plane-geometry.ts +1 -1
  47. package/src/geometries/sphere-geometry.ts +1 -1
  48. package/src/geometries/truncated-cone-geometry.ts +1 -1
  49. package/src/geometry/geometry-utils.ts +1 -1
  50. package/src/geometry/geometry.ts +1 -1
  51. package/src/index.ts +1 -1
  52. package/src/lib/clip-space.ts +2 -2
  53. package/src/lib/model-utils.ts +1 -1
  54. package/src/lib/model.ts +1 -1
package/dist.min.js CHANGED
@@ -4,21 +4,21 @@
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
- "use strict";var __exports__=(()=>{var Hu=Object.create;var ur=Object.defineProperty;var Wu=Object.getOwnPropertyDescriptor;var Vu=Object.getOwnPropertyNames;var ju=Object.getPrototypeOf,ku=Object.prototype.hasOwnProperty;var qr=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),Ku=(e,r)=>{for(var t in r)ur(e,t,{get:r[t],enumerable:!0})},hi=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of Vu(r))!ku.call(e,i)&&i!==t&&ur(e,i,{get:()=>r[i],enumerable:!(n=Wu(r,i))||n.enumerable});return e};var Be=(e,r,t)=>(t=e!=null?Hu(ju(e)):{},hi(r||!e||!e.__esModule?ur(t,"default",{value:e,enumerable:!0}):t,e)),Yu=e=>hi(ur({},"__esModule",{value:!0}),e);var gi=qr((Md,Ge)=>{function tn(e){return Ge.exports=tn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Ge.exports.__esModule=!0,Ge.exports.default=Ge.exports,tn(e)}Ge.exports=tn,Ge.exports.__esModule=!0,Ge.exports.default=Ge.exports});var Oi=qr((Fd,ze)=>{var Zu=gi().default;function Si(){"use strict";ze.exports=Si=function(){return e},ze.exports.__esModule=!0,ze.exports.default=ze.exports;var e={},r=Object.prototype,t=r.hasOwnProperty,n=Object.defineProperty||function(A,h,g){A[h]=g.value},i=typeof Symbol=="function"?Symbol:{},a=i.iterator||"@@iterator",u=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function f(A,h,g){return Object.defineProperty(A,h,{value:g,enumerable:!0,configurable:!0,writable:!0}),A[h]}try{f({},"")}catch{f=function(g,F,x){return g[F]=x}}function l(A,h,g,F){var x=h&&h.prototype instanceof d?h:d,M=Object.create(x.prototype),Y=new K(F||[]);return n(M,"_invoke",{value:B(A,g,Y)}),M}function _(A,h,g){try{return{type:"normal",arg:A.call(h,g)}}catch(F){return{type:"throw",arg:F}}}e.wrap=l;var E={};function d(){}function p(){}function m(){}var R={};f(R,a,function(){return this});var O=Object.getPrototypeOf,S=O&&O(O(Q([])));S&&S!==r&&t.call(S,a)&&(R=S);var I=m.prototype=d.prototype=Object.create(R);function y(A){["next","throw","return"].forEach(function(h){f(A,h,function(g){return this._invoke(h,g)})})}function w(A,h){function g(x,M,Y,V){var G=_(A[x],A,M);if(G.type!=="throw"){var ee=G.arg,J=ee.value;return J&&Zu(J)=="object"&&t.call(J,"__await")?h.resolve(J.__await).then(function(fe){g("next",fe,Y,V)},function(fe){g("throw",fe,Y,V)}):h.resolve(J).then(function(fe){ee.value=fe,Y(ee)},function(fe){return g("throw",fe,Y,V)})}V(G.arg)}var F;n(this,"_invoke",{value:function(M,Y){function V(){return new h(function(G,ee){g(M,Y,G,ee)})}return F=F?F.then(V,V):V()}})}function B(A,h,g){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 W()}for(g.method=x,g.arg=M;;){var Y=g.delegate;if(Y){var V=j(Y,g);if(V){if(V===E)continue;return V}}if(g.method==="next")g.sent=g._sent=g.arg;else if(g.method==="throw"){if(F==="suspendedStart")throw F="completed",g.arg;g.dispatchException(g.arg)}else g.method==="return"&&g.abrupt("return",g.arg);F="executing";var G=_(A,h,g);if(G.type==="normal"){if(F=g.done?"completed":"suspendedYield",G.arg===E)continue;return{value:G.arg,done:g.done}}G.type==="throw"&&(F="completed",g.method="throw",g.arg=G.arg)}}}function j(A,h){var g=h.method,F=A.iterator[g];if(F===void 0)return h.delegate=null,g==="throw"&&A.iterator.return&&(h.method="return",h.arg=void 0,j(A,h),h.method==="throw")||g!=="return"&&(h.method="throw",h.arg=new TypeError("The iterator does not provide a '"+g+"' method")),E;var x=_(F,A.iterator,h.arg);if(x.type==="throw")return h.method="throw",h.arg=x.arg,h.delegate=null,E;var M=x.arg;return M?M.done?(h[A.resultName]=M.value,h.next=A.nextLoc,h.method!=="return"&&(h.method="next",h.arg=void 0),h.delegate=null,E):M:(h.method="throw",h.arg=new TypeError("iterator result is not an object"),h.delegate=null,E)}function D(A){var h={tryLoc:A[0]};1 in A&&(h.catchLoc=A[1]),2 in A&&(h.finallyLoc=A[2],h.afterLoc=A[3]),this.tryEntries.push(h)}function Z(A){var h=A.completion||{};h.type="normal",delete h.arg,A.completion=h}function K(A){this.tryEntries=[{tryLoc:"root"}],A.forEach(D,this),this.reset(!0)}function Q(A){if(A){var h=A[a];if(h)return h.call(A);if(typeof A.next=="function")return A;if(!isNaN(A.length)){var g=-1,F=function x(){for(;++g<A.length;)if(t.call(A,g))return x.value=A[g],x.done=!1,x;return x.value=void 0,x.done=!0,x};return F.next=F}}return{next:W}}function W(){return{value:void 0,done:!0}}return p.prototype=m,n(I,"constructor",{value:m,configurable:!0}),n(m,"constructor",{value:p,configurable:!0}),p.displayName=f(m,c,"GeneratorFunction"),e.isGeneratorFunction=function(A){var h=typeof A=="function"&&A.constructor;return!!h&&(h===p||(h.displayName||h.name)==="GeneratorFunction")},e.mark=function(A){return Object.setPrototypeOf?Object.setPrototypeOf(A,m):(A.__proto__=m,f(A,c,"GeneratorFunction")),A.prototype=Object.create(I),A},e.awrap=function(A){return{__await:A}},y(w.prototype),f(w.prototype,u,function(){return this}),e.AsyncIterator=w,e.async=function(A,h,g,F,x){x===void 0&&(x=Promise);var M=new w(l(A,h,g,F),x);return e.isGeneratorFunction(h)?M:M.next().then(function(Y){return Y.done?Y.value:M.next()})},y(I),f(I,c,"Generator"),f(I,a,function(){return this}),f(I,"toString",function(){return"[object Generator]"}),e.keys=function(A){var h=Object(A),g=[];for(var F in h)g.push(F);return g.reverse(),function x(){for(;g.length;){var M=g.pop();if(M in h)return x.value=M,x.done=!1,x}return x.done=!0,x}},e.values=Q,K.prototype={constructor:K,reset:function(h){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(Z),!h)for(var g in this)g.charAt(0)==="t"&&t.call(this,g)&&!isNaN(+g.slice(1))&&(this[g]=void 0)},stop:function(){this.done=!0;var h=this.tryEntries[0].completion;if(h.type==="throw")throw h.arg;return this.rval},dispatchException:function(h){if(this.done)throw h;var g=this;function F(ee,J){return Y.type="throw",Y.arg=h,g.next=ee,J&&(g.method="next",g.arg=void 0),!!J}for(var x=this.tryEntries.length-1;x>=0;--x){var M=this.tryEntries[x],Y=M.completion;if(M.tryLoc==="root")return F("end");if(M.tryLoc<=this.prev){var V=t.call(M,"catchLoc"),G=t.call(M,"finallyLoc");if(V&&G){if(this.prev<M.catchLoc)return F(M.catchLoc,!0);if(this.prev<M.finallyLoc)return F(M.finallyLoc)}else if(V){if(this.prev<M.catchLoc)return F(M.catchLoc,!0)}else{if(!G)throw new Error("try statement without catch or finally");if(this.prev<M.finallyLoc)return F(M.finallyLoc)}}}},abrupt:function(h,g){for(var F=this.tryEntries.length-1;F>=0;--F){var x=this.tryEntries[F];if(x.tryLoc<=this.prev&&t.call(x,"finallyLoc")&&this.prev<x.finallyLoc){var M=x;break}}M&&(h==="break"||h==="continue")&&M.tryLoc<=g&&g<=M.finallyLoc&&(M=null);var Y=M?M.completion:{};return Y.type=h,Y.arg=g,M?(this.method="next",this.next=M.finallyLoc,E):this.complete(Y)},complete:function(h,g){if(h.type==="throw")throw h.arg;return h.type==="break"||h.type==="continue"?this.next=h.arg:h.type==="return"?(this.rval=this.arg=h.arg,this.method="return",this.next="end"):h.type==="normal"&&g&&(this.next=g),E},finish:function(h){for(var g=this.tryEntries.length-1;g>=0;--g){var F=this.tryEntries[g];if(F.finallyLoc===h)return this.complete(F.completion,F.afterLoc),Z(F),E}},catch:function(h){for(var g=this.tryEntries.length-1;g>=0;--g){var F=this.tryEntries[g];if(F.tryLoc===h){var x=F.completion;if(x.type==="throw"){var M=x.arg;Z(F)}return M}}throw new Error("illegal catch attempt")},delegateYield:function(h,g,F){return this.delegate={iterator:Q(h),resultName:g,nextLoc:F},this.method==="next"&&(this.arg=void 0),E}},e}ze.exports=Si,ze.exports.__esModule=!0,ze.exports.default=ze.exports});var Me=qr((Dd,yi)=>{var fr=Oi()();yi.exports=fr;try{regeneratorRuntime=fr}catch{typeof globalThis=="object"?globalThis.regeneratorRuntime=fr:Function("r","regeneratorRuntime = r")(fr)}});var qE={};Ku(qE,{AnimationLoop:()=>Tr,AnimationLoopTemplate:()=>bi,ClipSpace:()=>_u,ConeGeometry:()=>hu,CubeGeometry:()=>Ru,CylinderGeometry:()=>vu,Geometry:()=>ve,IcoSphereGeometry:()=>Su,KeyFrames:()=>Ti,Model:()=>Cr,PipelineFactory:()=>Nr,PlaneGeometry:()=>bu,SphereGeometry:()=>Cu,Timeline:()=>Ai,TruncatedConeGeometry:()=>Lt,makeAnimationLoop:()=>Sa});function Xt(e){if(Array.isArray(e))return e}function Qr(e,r){var t=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(t!=null){var n,i,a,u,c=[],f=!0,l=!1;try{if(a=(t=t.call(e)).next,r===0){if(Object(t)!==t)return;f=!1}else for(;!(f=(n=a.call(t)).done)&&(c.push(n.value),c.length!==r);f=!0);}catch(_){l=!0,i=_}finally{try{if(!f&&t.return!=null&&(u=t.return(),Object(u)!==u))return}finally{if(l)throw i}}return c}}function Rt(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function it(e,r){if(e){if(typeof e=="string")return Rt(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Rt(e,r)}}function Ht(){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 k(e,r){return Xt(e)||Qr(e,r)||it(e,r)||Ht()}function b(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}function Ee(e){return Ee=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Ee(e)}function Jr(e,r){if(Ee(e)!=="object"||e===null)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var n=t.call(e,r||"default");if(Ee(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(e)}function Wt(e){var r=Jr(e,"string");return Ee(r)==="symbol"?r:String(r)}function mi(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Wt(n.key),n)}}function N(e,r,t){return r&&mi(e.prototype,r),t&&mi(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function s(e,r,t){return r=Wt(r),r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function en(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=Gu(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
9
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function Gu(e,r){if(e){if(typeof e=="string")return Ri(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Ri(e,r)}}function Ri(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}var zu=1,$u=1,Ai=function(){function e(){b(this,e),s(this,"time",0),s(this,"channels",new Map),s(this,"animations",new Map),s(this,"playing",!1),s(this,"lastEngineTime",-1)}return N(e,[{key:"addChannel",value:function(t){var n=t.delay,i=n===void 0?0:n,a=t.duration,u=a===void 0?Number.POSITIVE_INFINITY:a,c=t.rate,f=c===void 0?1:c,l=t.repeat,_=l===void 0?1:l,E=zu++,d={time:0,delay:i,duration:u,rate:f,repeat:_};return this._setChannelTime(d,this.time),this.channels.set(E,d),E}},{key:"removeChannel",value:function(t){this.channels.delete(t);var n=en(this.animations),i;try{for(n.s();!(i=n.n()).done;){var a=k(i.value,2),u=a[0],c=a[1];c.channel===t&&this.detachAnimation(u)}}catch(f){n.e(f)}finally{n.f()}}},{key:"isFinished",value:function(t){var n=this.channels.get(t);return n===void 0?!1:this.time>=n.delay+n.duration*n.repeat}},{key:"getTime",value:function(t){if(t===void 0)return this.time;var n=this.channels.get(t);return n===void 0?-1:n.time}},{key:"setTime",value:function(t){this.time=Math.max(0,t);var n=this.channels.values(),i=en(n),a;try{for(i.s();!(a=i.n()).done;){var u=a.value;this._setChannelTime(u,this.time)}}catch(p){i.e(p)}finally{i.f()}var c=this.animations.values(),f=en(c),l;try{for(f.s();!(l=f.n()).done;){var _=l.value,E=_.animation,d=_.channel;E.setTime(this.getTime(d))}}catch(p){f.e(p)}finally{f.f()}}},{key:"play",value:function(){this.playing=!0}},{key:"pause",value:function(){this.playing=!1,this.lastEngineTime=-1}},{key:"reset",value:function(){this.setTime(0)}},{key:"attachAnimation",value:function(t,n){var i=$u++;return this.animations.set(i,{animation:t,channel:n}),t.setTime(this.getTime(n)),i}},{key:"detachAnimation",value:function(t){this.animations.delete(t)}},{key:"update",value:function(t){this.playing&&(this.lastEngineTime===-1&&(this.lastEngineTime=t),this.setTime(this.time+(t-this.lastEngineTime)),this.lastEngineTime=t)}},{key:"_setChannelTime",value:function(t,n){var i=n-t.delay,a=t.duration*t.repeat;i>=a?t.time=t.duration*t.rate:(t.time=Math.max(0,i)%t.duration,t.time*=t.rate)}}]),e}();var Ti=function(){function e(r){b(this,e),s(this,"startIndex",-1),s(this,"endIndex",-1),s(this,"factor",0),s(this,"times",[]),s(this,"values",[]),s(this,"_lastTime",-1),this.setKeyFrames(r),this.setTime(0)}return N(e,[{key:"setKeyFrames",value:function(t){var n=t.length;this.times.length=n,this.values.length=n;for(var i=0;i<n;++i)this.times[i]=t[i][0],this.values[i]=t[i][1];this._calculateKeys(this._lastTime)}},{key:"setTime",value:function(t){t=Math.max(0,t),t!==this._lastTime&&(this._calculateKeys(t),this._lastTime=t)}},{key:"getStartTime",value:function(){return this.times[this.startIndex]}},{key:"getEndTime",value:function(){return this.times[this.endIndex]}},{key:"getStartData",value:function(){return this.values[this.startIndex]}},{key:"getEndData",value:function(){return this.values[this.endIndex]}},{key:"_calculateKeys",value:function(t){var n=0,i=this.times.length;for(n=0;n<i-2&&!(this.times[n+1]>t);++n);this.startIndex=n,this.endIndex=n+1;var a=this.times[this.startIndex],u=this.times[this.endIndex];this.factor=Math.min(Math.max(0,(t-a)/(u-a)),1)}}]),e}();function vi(e,r,t,n,i,a,u){try{var c=e[a](u),f=c.value}catch(l){t(l);return}c.done?r(f):Promise.resolve(f).then(n,i)}function re(e){return function(){var r=this,t=arguments;return new Promise(function(n,i){var a=e.apply(r,t);function u(f){vi(a,n,i,u,c,"next",f)}function c(f){vi(a,n,i,u,c,"throw",f)}u(void 0)})}}var rn=Be(Me(),1),bi=function(){function e(r){b(this,e)}return N(e,[{key:"onInitialize",value:function(){var r=re(rn.default.mark(function n(i){return rn.default.wrap(function(u){for(;;)switch(u.prev=u.next){case 0:return u.abrupt("return",null);case 1:case"end":return u.stop()}},n)}));function t(n){return r.apply(this,arguments)}return t}()}]),e}();var $e=Be(Me(),1);function Vt(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 r=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,t=e||r;return!!(t&&t.indexOf("Electron")>=0)}function se(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||Vt()}var qu=globalThis.self||globalThis.window||globalThis.global,At=globalThis.window||globalThis.self||globalThis.global,Qu=globalThis.document||{},at=globalThis.process||{},Ju=globalThis.console,Ni=globalThis.navigator||{};var cr=typeof __VERSION__<"u"?__VERSION__:"untranspiled source",jd=se();var nn=globalThis;function lr(e){if(!e&&!se())return"Node";if(Vt(e))return"Electron";let r=e||Ni.userAgent||"";if(r.indexOf("Edge")>-1)return"Edge";let t=r.indexOf("MSIE ")!==-1,n=r.indexOf("Trident/")!==-1;return t||n?"IE":nn.chrome?"Chrome":nn.safari?"Safari":nn.mozInnerScreenX?"Firefox":"Unknown"}function ef(e){try{let r=window[e],t="__storage_test__";return r.setItem(t,t),r.removeItem(t),r}catch{return null}}var _r=class{constructor(r,t){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=ef(n),this.id=r,this.config=t,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(r){if(Object.assign(this.config,r),this.storage){let t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}}_loadConfiguration(){let r={};if(this.storage){let t=this.storage.getItem(this.id);r=t?JSON.parse(t):{}}return Object.assign(this.config,r),this}};function Ci(e){let r;return e<10?r="".concat(e.toFixed(2),"ms"):e<100?r="".concat(e.toFixed(1),"ms"):e<1e3?r="".concat(e.toFixed(0),"ms"):r="".concat((e/1e3).toFixed(2),"s"),r}function Ii(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,t=Math.max(r-e.length,0);return"".concat(" ".repeat(t)).concat(e)}function Er(e,r,t){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(t=Math.min(t,n/e.width));let a=e.width*t,u=e.height*t,c=["font-size:1px;","padding:".concat(Math.floor(u/2),"px ").concat(Math.floor(a/2),"px;"),"line-height:".concat(u,"px;"),"background:url(".concat(i,");"),"background-size:".concat(a,"px ").concat(u,"px;"),"color:transparent;"].join("");return["".concat(r," %c+"),c]}var dr;(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"})(dr||(dr={}));var tf=10;function Pi(e){return typeof e!="string"?e:(e=e.toUpperCase(),dr[e]||dr.WHITE)}function Mi(e,r,t){if(!se&&typeof e=="string"){if(r){let n=Pi(r);e="\x1B[".concat(n,"m").concat(e,"\x1B[39m")}if(t){let n=Pi(t);e="\x1B[".concat(n+tf,"m").concat(e,"\x1B[49m")}}return e}function Fi(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],t=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(t),i=e;for(let a of n){let u=i[a];typeof u=="function"&&(r.find(c=>a===c)||(i[a]=u.bind(e)))}}function Tt(e,r){if(!e)throw new Error(r||"Assertion failed")}function ot(){let e;if(se()&&At.performance){var r,t;e=At===null||At===void 0||(r=At.performance)===null||r===void 0||(t=r.now)===null||t===void 0?void 0:t.call(r)}else if("hrtime"in at){var n;let i=at===null||at===void 0||(n=at.hrtime)===null||n===void 0?void 0:n.call(at);e=i[0]*1e3+i[1]/1e6}else e=Date.now();return e}var vt={debug:se()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},rf={enabled:!0,level:0};function Fe(){}var Di={},Bi={once:!0},Je=class{constructor(){let{id:r}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};s(this,"id",void 0),s(this,"VERSION",cr),s(this,"_startTs",ot()),s(this,"_deltaTs",ot()),s(this,"_storage",void 0),s(this,"userData",{}),s(this,"LOG_THROTTLE_TIMEOUT",0),this.id=r,this.userData={},this._storage=new _r("__probe-".concat(this.id,"__"),rf),this.timeStamp("".concat(this.id," started")),Fi(this),Object.seal(this)}set level(r){this.setLevel(r)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((ot()-this._startTs).toPrecision(10))}getDelta(){return Number((ot()-this._deltaTs).toPrecision(10))}set priority(r){this.level=r}get priority(){return this.level}getPriority(){return this.level}enable(){let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:r}),this}setLevel(r){return this._storage.setConfiguration({level:r}),this}get(r){return this._storage.config[r]}set(r,t){this._storage.setConfiguration({[r]:t})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(r,t){Tt(r,t)}warn(r){return this._getLogFunction(0,r,vt.warn,arguments,Bi)}error(r){return this._getLogFunction(0,r,vt.error,arguments)}deprecated(r,t){return this.warn("`".concat(r,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}removed(r,t){return this.error("`".concat(r,"` has been removed. Use `").concat(t,"` instead"))}probe(r,t){return this._getLogFunction(r,t,vt.log,arguments,{time:!0,once:!0})}log(r,t){return this._getLogFunction(r,t,vt.debug,arguments)}info(r,t){return this._getLogFunction(r,t,console.info,arguments)}once(r,t){return this._getLogFunction(r,t,vt.debug||vt.info,arguments,Bi)}table(r,t,n){return t?this._getLogFunction(r,t,console.table||Fe,n&&[n],{tag:sf(t)}):Fe}image(r){let{logLevel:t,priority:n,image:i,message:a="",scale:u=1}=r;return this._shouldLog(t||n)?se()?of({image:i,message:a,scale:u}):af({image:i,message:a,scale:u}):Fe}time(r,t){return this._getLogFunction(r,t,console.time?console.time:console.info)}timeEnd(r,t){return this._getLogFunction(r,t,console.timeEnd?console.timeEnd:console.info)}timeStamp(r,t){return this._getLogFunction(r,t,console.timeStamp||Fe)}group(r,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},i=xi({logLevel:r,message:t,opts:n}),{collapsed:a}=n;return i.method=(a?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(r,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(r,t,Object.assign({},n,{collapsed:!0}))}groupEnd(r){return this._getLogFunction(r,"",console.groupEnd||Fe)}withGroup(r,t,n){this.group(r,t)();try{n()}finally{this.groupEnd(r)()}}trace(){console.trace&&console.trace()}_shouldLog(r){return this.isEnabled()&&this.getLevel()>=Ui(r)}_getLogFunction(r,t,n,i,a){if(this._shouldLog(r)){a=xi({logLevel:r,message:t,args:i,opts:a}),n=n||a.method,Tt(n),a.total=this.getTotal(),a.delta=this.getDelta(),this._deltaTs=ot();let u=a.tag||a.message;if(a.once&&u)if(!Di[u])Di[u]=ot();else return Fe;return t=nf(this.id,a.message,a),n.bind(console,t,...a.args)}return Fe}};s(Je,"VERSION",cr);function Ui(e){if(!e)return 0;let r;switch(typeof e){case"number":r=e;break;case"object":r=e.logLevel||e.priority||0;break;default:return 0}return Tt(Number.isFinite(r)&&r>=0),r}function xi(e){let{logLevel:r,message:t}=e;e.logLevel=Ui(r);let n=e.args?Array.from(e.args):[];for(;n.length&&n.shift()!==t;);switch(typeof r){case"string":case"function":t!==void 0&&n.unshift(t),e.message=r;break;case"object":Object.assign(e,r);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 nf(e,r,t){if(typeof r=="string"){let n=t.time?Ii(Ci(t.total)):"";r=t.time?"".concat(e,": ").concat(n," ").concat(r):"".concat(e,": ").concat(r),r=Mi(r,t.color,t.background)}return r}function af(e){let{image:r,message:t="",scale:n=1}=e;return console.warn("removed"),Fe}function of(e){let{image:r,message:t="",scale:n=1}=e;if(typeof r=="string"){let a=new Image;return a.onload=()=>{let u=Er(a,t,n);console.log(...u)},a.src=r,Fe}let i=r.nodeName||"";if(i.toLowerCase()==="img")return console.log(...Er(r,t,n)),Fe;if(i.toLowerCase()==="canvas"){let a=new Image;return a.onload=()=>console.log(...Er(a,t,n)),a.src=r.toDataURL(),Fe}return Fe}function sf(e){for(let r in e)for(let t in e[r])return t||"untitled";return"empty"}var gp=new Je({id:"@probe.gl/log"});var U=new Je({id:"luma.gl"});function jt(){let e;if(typeof window<"u"&&window.performance)e=window.performance.now();else if(typeof process<"u"&&process.hrtime){let r=process.hrtime();e=r[0]*1e3+r[1]/1e6}else e=Date.now();return e}var st=class{constructor(r,t){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=r,this.type=t,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(r){return this.sampleSize=r,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(r){return this._count+=r,this._samples++,this._checkSampling(),this}subtractCount(r){return this._count-=r,this._samples++,this._checkSampling(),this}addTime(r){return this._time+=r,this.lastTiming=r,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=jt(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(jt()-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 et=class{constructor(r){s(this,"id",void 0),s(this,"stats",{}),this.id=r.id,this.stats={},this._initializeStats(r.stats),Object.seal(this)}get(r){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"count";return this._getOrCreate({name:r,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(let r of Object.values(this.stats))r.reset();return this}forEach(r){for(let t of Object.values(this.stats))r(t)}getTable(){let r={};return this.forEach(t=>{r[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),r}_initializeStats(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).forEach(t=>this._getOrCreate(t))}_getOrCreate(r){let{name:t,type:n}=r,i=this.stats[t];return i||(r instanceof st?i=r:i=new st(t,n),this.stats[t]=i),i}};var uf=function(){function e(){b(this,e),s(this,"stats",new Map)}return N(e,[{key:"getStats",value:function(t){return this.get(t)}},{key:"get",value:function(t){return this.stats.has(t)||this.stats.set(t,new et({id:t})),this.stats.get(t)}}]),e}();var gt=new uf;function ff(){var e=typeof __VERSION__<"u"?__VERSION__:"untranspiled source",r="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||(se()&&U.log(1,"luma.gl ".concat(e," - ").concat(r))(),globalThis.luma=globalThis.luma||{VERSION:e,version:e,log:U,stats:gt}),e}var wi=ff();var Yp=globalThis.luma;var sn=Be(Me(),1);var an={};function ne(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"id";an[e]=an[e]||1;var r=an[e]++;return"".concat(e,"-").concat(r)}function pr(e){return e>0&&(e&e-1)===0}function St(e){var r=!0;for(var t in e){r=!1;break}return r}function ut(e,r){return ut=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},ut(e,r)}function L(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(r&&r.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),r&&ut(e,r)}function T(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function X(e,r){if(r&&(Ee(r)==="object"||typeof r=="function"))return r;if(r!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return T(e)}function C(e){return C=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},C(e)}function Li(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function cf(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Li(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Li(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var ye={id:"undefined",handle:void 0,userData:{}},pe=function(){function e(r,t,n){if(b(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),!r)throw new Error("no device");this._device=r,this.props=lf(t,n);var i=this.props.id!=="undefined"?this.props.id:ne(this[Symbol.toStringTag]);this.props.id=i,this.id=i,this.userData=this.props.userData||{},this.addStats()}return N(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 t=this._device.statsManager.getStats("Resource Counts"),n=this[Symbol.toStringTag];t.get("Resources Created").incrementCount(),t.get("".concat(n,"s Created")).incrementCount(),t.get("".concat(n,"s Active")).incrementCount()}},{key:"removeStats",value:function(){var t=this._device.statsManager.getStats("Resource Counts"),n=this[Symbol.toStringTag];t.get("".concat(n,"s Active")).decrementCount()}},{key:"trackAllocatedMemory",value:function(t){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(t),i.get("".concat(n," Memory")).addCount(t),this.allocatedBytes=t}},{key:"trackDeallocatedMemory",value:function(){var t=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(t," Memory")).subtractCount(this.allocatedBytes),this.allocatedBytes=0}}]),e}();function lf(e,r){var t=cf({},r);for(var n in e)e[n]!==void 0&&(t[n]=e[n]);return t}var Hi;function _f(e){var r=Ef();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function Ef(){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 Xi(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function on(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Xi(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Xi(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var df=on(on({},ye),{},{usage:0,byteLength:0,byteOffset:0,data:null,indexType:"uint16",mappedAtCreation:!1});Hi=Symbol.toStringTag;var ue=function(e){L(t,e);var r=_f(t);function t(n,i){b(this,t);var a=on({},i);return(i.usage||0)&t.INDEX&&!i.indexType&&(i.data instanceof Uint32Array?a.indexType="uint32":i.data instanceof Uint16Array&&(a.indexType="uint16")),r.call(this,n,a,df)}return N(t,[{key:Hi,get:function(){return"Buffer"}},{key:"write",value:function(i,a){throw new Error("not implemented")}},{key:"readAsync",value:function(i,a){throw new Error("not implemented")}},{key:"getData",value:function(){throw new Error("not implemented")}}]),t}(pe);s(ue,"MAP_READ",1);s(ue,"MAP_WRITE",2);s(ue,"COPY_SRC",4);s(ue,"COPY_DST",8);s(ue,"INDEX",16);s(ue,"VERTEX",32);s(ue,"UNIFORM",64);s(ue,"STORAGE",128);s(ue,"INDIRECT",256);s(ue,"QUERY_RESOLVE",512);var ji;function Wi(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Vi(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Wi(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Wi(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var hr={id:null,type:"best-available",canvas:null,container:null,webgl2:!0,webgl1:!0,manageState:!0,width:800,height:600,debug:Boolean(U.get("debug")),break:[],gl:null};ji=Symbol.toStringTag;var kt=function(){function e(r){b(this,e),s(this,"id",void 0),s(this,"statsManager",gt),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=Vi(Vi({},hr),r),this.id=this.props.id||ne(this[Symbol.toStringTag].toLowerCase())}return N(e,[{key:ji,get:function(){return"Device"}},{key:"createBuffer",value:function(t){return t instanceof ArrayBuffer||ArrayBuffer.isView(t)?this._createBuffer({data:t}):((t.usage||0)&ue.INDEX&&!t.indexType&&(t.data instanceof Uint32Array?t.indexType="uint32":t.data instanceof Uint16Array&&(t.indexType="uint16")),this._createBuffer(t))}},{key:"createTexture",value:function(t){return(t instanceof Promise||typeof t=="string")&&(t={data:t}),this._createTexture(t)}}]),e}();s(kt,"VERSION",wi);function ki(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Ki(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?ki(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ki(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function pf(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=hf(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
10
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function hf(e,r){if(e){if(typeof e=="string")return Yi(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Yi(e,r)}}function Yi(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}var Ot=new Map,ft=function(){function e(){b(this,e)}return N(e,null,[{key:"registerDevices",value:function(t){var n=pf(t),i;try{for(n.s();!(i=n.n()).done;){var a=i.value;H(a.type&&a.isSupported&&a.create),Ot.set(a.type,a)}}catch(u){n.e(u)}finally{n.f()}}},{key:"getAvailableDevices",value:function(){return Array.from(Ot).map(function(t){return t.type})}},{key:"getSupportedDevices",value:function(){return Array.from(Ot).filter(function(t){return t.isSupported()}).map(function(t){return t.type})}},{key:"setDefaultDeviceProps",value:function(t){Object.assign(hr,t)}},{key:"createDevice",value:function(){var r=re(sn.default.mark(function n(){var i,a,u=arguments;return sn.default.wrap(function(f){for(;;)switch(f.prev=f.next){case 0:i=u.length>0&&u[0]!==void 0?u[0]:{},i=Ki(Ki({},hr),i),i.gl&&(i.type="webgl"),f.t0=i.type,f.next=f.t0==="webgpu"?6:f.t0==="webgl"||f.t0==="webgl1"||f.t0==="webgl2"?12:f.t0==="best-available"?18:24;break;case 6:if(a=Ot.get("webgpu"),!a){f.next=11;break}return f.next=10,a.create(i);case 10:return f.abrupt("return",f.sent);case 11:return f.abrupt("break",24);case 12:if(a=Ot.get("webgl"),!a){f.next=17;break}return f.next=16,a.create(i);case 16:return f.abrupt("return",f.sent);case 17:return f.abrupt("break",24);case 18:if(a=Ot.get("webgl"),!(a&&a.isSupported())){f.next=23;break}return f.next=22,a.create(i);case 22:return f.abrupt("return",f.sent);case 23:return f.abrupt("break",24);case 24:throw new Error("No matching device found. Ensure `@luma.gl/webgl` and/or `@luma.gl/webgpu` modules are imported.");case 25:case"end":return f.stop()}},n)}));function t(){return r.apply(this,arguments)}return t}()}]),e}();s(ft,"stats",gt);s(ft,"log",U);function mf(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=Rf(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
11
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function Rf(e,r){if(e){if(typeof e=="string")return Gi(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Gi(e,r)}}function Gi(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function zi(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function $i(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?zi(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):zi(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var Af=se()&&typeof document<"u",mr=function(){return Af&&document.readyState==="complete"},Tf={canvas:null,width:800,height:600,useDevicePixels:!0,autoResize:!0,container:null,visible:!0,colorSpace:"srgb",alphaMode:"opaque"},yt=function(){function e(r){var t=this;if(b(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=$i($i({},Tf),r),r=this.props,!se()){this.id="node-canvas-context",this.type="node",this.width=this.props.width,this.height=this.props.height,this.canvas=null;return}if(r.canvas)typeof r.canvas=="string"?this.canvas=Sf(r.canvas):this.canvas=r.canvas;else{var n,i,a=Of(r),u=gf(((n=r)===null||n===void 0?void 0:n.container)||null);u.insertBefore(a,u.firstChild),this.canvas=a,(i=r)!==null&&i!==void 0&&i.visible||(this.canvas.style.visibility="hidden")}this.canvas instanceof HTMLCanvasElement?(this.id=this.canvas.id,this.type="html-canvas",this.htmlCanvas=this.canvas):(this.id="offscreen-canvas",this.type="offscreen-canvas",this.offscreenCanvas=this.canvas),this.canvas instanceof HTMLCanvasElement&&r.autoResize&&(this.resizeObserver=new ResizeObserver(function(c){var f=mf(c),l;try{for(f.s();!(l=f.n()).done;){var _=l.value;_.target===t.canvas&&t.update()}}catch(E){f.e(E)}finally{f.f()}}),this.resizeObserver.observe(this.canvas))}return N(e,[{key:"getDevicePixelRatio",value:function(t){return typeof OffscreenCanvas<"u"&&this.canvas instanceof OffscreenCanvas?1:typeof t=="number"?t>0?t:1:typeof this.props.useDevicePixels=="number"?this.props.useDevicePixels>0?this.props.useDevicePixels:1:(t||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 t=this.getDevicePixelRatio(),n=this.canvas;return n.parentElement?[n.clientWidth*t,n.clientHeight*t]:[this.canvas.width,this.canvas.height];default:throw new Error(this.type)}}},{key:"getAspect",value:function(){var t=this.getPixelSize(),n=k(t,2),i=n[0],a=n[1];return i/a}},{key:"cssToDeviceRatio",value:function(){try{var t=this.getDrawingBufferSize(),n=k(t,1),i=n[0],a=this._canvasSizeInfo.clientWidth;return a?i/a:1}catch{return 1}}},{key:"cssToDevicePixels",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,i=this.cssToDeviceRatio(),a=this.getDrawingBufferSize(),u=k(a,2),c=u[0],f=u[1];return yf(t,i,c,f,n)}},{key:"setDevicePixelRatio",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.htmlCanvas){var i="width"in n?n.width:this.htmlCanvas.clientWidth,a="height"in n?n.height:this.htmlCanvas.clientHeight;(!i||!a)&&(U.log(1,"Canvas clientWidth/clientHeight is 0")(),t=1,i=this.htmlCanvas.width||1,a=this.htmlCanvas.height||1);var u=this._canvasSizeInfo;if(u.clientWidth!==i||u.clientHeight!==a||u.devicePixelRatio!==t){var c=t,f=Math.floor(i*c),l=Math.floor(a*c);this.htmlCanvas.width=f,this.htmlCanvas.height=l;var _=this.getDrawingBufferSize(),E=k(_,2),d=E[0],p=E[1];(d!==f||p!==l)&&(c=Math.min(d/i,p/a),this.htmlCanvas.width=Math.floor(i*c),this.htmlCanvas.height=Math.floor(a*c),U.warn("Device pixel ratio clamped")()),this._canvasSizeInfo.clientWidth=i,this._canvasSizeInfo.clientHeight=a,this._canvasSizeInfo.devicePixelRatio=t}}}},{key:"getDrawingBufferSize",value:function(){var t=this.device.gl;if(!t)throw new Error("canvas size");return[t.drawingBufferWidth,t.drawingBufferHeight]}},{key:"_setAutoCreatedCanvasId",value:function(t){var n;((n=this.htmlCanvas)===null||n===void 0?void 0:n.id)==="lumagl-auto-created-canvas"&&(this.htmlCanvas.id=t)}}],[{key:"isPageLoaded",get:function(){return mr()}}]),e}();s(yt,"pageLoaded",vf());function vf(){return mr()||typeof window>"u"?Promise.resolve():new Promise(function(e){window.addEventListener("load",function(){return e()})})}function gf(e){if(typeof e=="string"){var r=document.getElementById(e);if(!r&&!mr())throw new Error("Accessing '".concat(e,"' before page was loaded"));if(!r)throw new Error("".concat(e," is not an HTML element"));return r}else if(e)return e;return document.body}function Sf(e){var r=document.getElementById(e);if(!r&&!mr())throw new Error("Accessing '".concat(e,"' before page was loaded"));if(!(r instanceof HTMLCanvasElement))throw new Error("'".concat(r,"' is not a canvas element"));return r}function Of(e){var r=e.width,t=e.height,n=document.createElement("canvas");return n.id="lumagl-auto-created-canvas",n.width=r||1,n.height=t||1,n.style.width=Number.isFinite(r)?"".concat(r,"px"):"100%",n.style.height=Number.isFinite(t)?"".concat(t,"px"):"100%",n}function yf(e,r,t,n,i){var a=e,u=Zi(a[0],r,t),c=qi(a[1],r,n,i),f=Zi(a[0]+1,r,t),l=f===t-1?f:f-1;f=qi(a[1]+1,r,n,i);var _;return i?(f=f===0?f:f+1,_=c,c=f):_=f===n-1?f:f-1,{x:u,y:c,width:Math.max(l-u+1,1),height:Math.max(_-c+1,1)}}function Zi(e,r,t){var n=Math.min(Math.round(e*r),t-1);return n}function qi(e,r,t,n){return n?Math.max(0,t-1-Math.round(e*r)):Math.min(Math.round(e*r),t-1)}var ea;function bf(e){var r=Nf();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}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}}function Qi(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Ji(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Qi(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Qi(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var Cf=Ji(Ji({},ye),{},{data:null,dimension:"2d",format:"rgba8unorm",depth:1,mipmaps:!0,sampler:{},compressed:!1,usage:0,parameters:{},pixelStore:{},pixels:null,border:0,recreate:!1});ea=Symbol.toStringTag;var we=function(e){L(t,e);var r=bf(t);function t(n,i){var a;return b(this,t),a=r.call(this,n,i,Cf),s(T(a),"sampler",void 0),a}return N(t,[{key:ea,get:function(){return"Texture"}}]),t}(pe);s(we,"COPY_SRC",1);s(we,"COPY_DST",2);s(we,"TEXTURE_BINDING",4);s(we,"STORAGE_BINDING",8);s(we,"RENDER_ATTACHMENT",16);var na;function If(e){var r=Pf();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function Pf(){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 ta(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function ra(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?ta(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ta(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var Mf=ra(ra({},ye),{},{stage:"vertex",source:"",sourceMap:null,language:"glsl",shaderType:0});na=Symbol.toStringTag;var un=function(e){L(t,e);var r=If(t);function t(n,i){var a;return b(this,t),a=r.call(this,n,i,Mf),s(T(a),"stage",void 0),s(T(a),"source",void 0),a.stage=a.props.stage,a.source=a.props.source,a}return N(t,[{key:na,get:function(){return"Shader"}}]),t}(pe);function Ff(e){var r=Df();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function Df(){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 ia(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function aa(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?ia(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ia(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var Bf=aa(aa({},ye),{},{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}),fn=function(e,r){L(n,e);var t=Ff(n);function n(i,a){return b(this,n),t.call(this,i,a,Bf)}return N(n,[{key:r,get:function(){return"Sampler"}}]),n}(pe,Symbol.toStringTag);var ua;function xf(e){var r=Uf();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function Uf(){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 oa(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function sa(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?oa(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):oa(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var wf=sa(sa({},ye),{},{width:1,height:1,colorAttachments:[],depthStencilAttachment:null});ua=Symbol.toStringTag;var cn=function(e){L(t,e);var r=xf(t);function t(n){var i,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return b(this,t),i=r.call(this,n,a,wf),s(T(i),"width",void 0),s(T(i),"height",void 0),s(T(i),"colorAttachments",void 0),s(T(i),"depthStencilAttachment",void 0),i.width=i.props.width,i.height=i.props.height,i}return N(t,[{key:ua,get:function(){return"Framebuffer"}},{key:"resize",value:function(i){var a=!i||i.height!==this.height||i.width!==this.width;i&&(this.width=i?.width,this.height=i?.height),a&&this._resizeAttachments(this.width,this.height)}}]),t}(pe);var la;function Lf(e){var r=Xf();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function Xf(){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 fa(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function ca(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?fa(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):fa(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var _a=ca(ca({},ye),{},{vs:null,vsEntryPoint:"",vsConstants:{},fs:null,fsEntryPoint:"",fsConstants:{},layout:null,topology:"triangle-list",parameters:{},bufferMap:[],vertexCount:0,instanceCount:0,indices:null,attributes:{},bindings:{},uniforms:{}});la=Symbol.toStringTag;var bt=function(e){L(t,e);var r=Lf(t);function t(n,i){var a;return b(this,t),a=r.call(this,n,i,_a),s(T(a),"hash",""),s(T(a),"vs",void 0),s(T(a),"fs",void 0),a}return N(t,[{key:la,get:function(){return"RenderPipeline"}}]),t}(pe);s(bt,"_DEFAULT_PROPS",_a);function Hf(e){var r=Wf();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function Wf(){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 Ea(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function da(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Ea(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Ea(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var Vf=da(da({},ye),{},{framebuffer:null,parameters:null}),ln=function(e,r){L(n,e);var t=Hf(n);function n(i,a){return b(this,n),t.call(this,i,a,Vf)}return N(n,[{key:r,get:function(){return"RenderPass"}}]),n}(pe,Symbol.toStringTag);function H(e,r){if(!e)throw new Error(r||"luma.gl: assertion failed.")}function Rr(e){var r=pa[e],t=jf(r),n=!e.startsWith("float"),i=e.includes("norm"),a=e.startsWith("s");return{dataType:pa[e],byteLength:t,integer:n,signed:a,normalized:i}}function jf(e){var r=kf[e];return r}var pa={uint8:"uint8",sint8:"sint8",unorm8:"uint8",snorm8:"sint8",uint16:"uint16",sint16:"sint16",unorm16:"uint16",snorm16:"sint16",float16:"float16",float32:"float32",uint32:"uint32",sint32:"sint32"},kf={uint8:1,sint8:1,uint16:2,sint16:2,float16:2,float32:4,uint32:4,sint32:4};function _n(e){var r=e.split("x"),t=k(r,2),n=t[0],i=t[1],a=n,u=i?parseInt(i):1,c=Rr(a);return{type:a,components:u,byteLength:c.byteLength*u,integer:c.integer,signed:c.signed,normalized:c.normalized}}function ha(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Kf(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?ha(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ha(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var Yf=/^(rg?b?a?)([0-9]*)([a-z]*)(-srgb)?(-webgl|-unsized)?$/;function Ar(e){var r=Yf.exec(e);if(r){var t=k(r,6),n=t[1],i=t[2],a=t[3],u=t[4],c=t[5];if(n){var f="".concat(a).concat(i),l=Rr(f);return Kf({format:n,components:0,srgb:u==="-srgb",unsized:c==="-unsized",webgl:c==="-webgl"},l)}}throw new Error("Unknown format ".concat(e))}function En(e,r,t,n){var i="See luma.gl ".concat(t," Upgrade Guide at https://luma.gl/docs/upgrade-guide"),a=Object.getPrototypeOf(e);n.forEach(function(u){a.methodName||(a[u]=function(){throw U.removed("Calling removed method ".concat(r,".").concat(u,": "),i)(),new Error(u)})})}function ct(e,r,t){var n=t.removedProps,i=n===void 0?{}:n,a=t.deprecatedProps,u=a===void 0?{}:a,c=t.replacedProps,f=c===void 0?{}:c;for(var l in i)if(l in r){var _=i[l],E=_?"".concat(e,".").concat(i[l]):"N/A";U.removed("".concat(e,".").concat(l),E)()}for(var d in u)if(d in r){var p=u[d];U.deprecated("".concat(e,".").concat(d),"".concat(e,".").concat(p))()}for(var m=null,R=0,O=Object.entries(f);R<O.length;R++){var S=k(O[R],2),I=S[0],y=S[1];I in r&&(U.deprecated("".concat(e,".").concat(I),"".concat(e,".").concat(y))(),m=m||Object.assign({},r),m[y]=r[I],delete m[I])}return m||r}var Kt=Be(Me(),1),Gf="";function hn(e,r){return dn.apply(this,arguments)}function dn(){return dn=re(Kt.default.mark(function e(r,t){return Kt.default.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.abrupt("return",new Promise(function(a,u){try{var c=new Image;c.onload=function(){return a(c)},c.onerror=function(){return u(new Error("Could not load image ".concat(r,".")))},c.crossOrigin=t?.crossOrigin||"anonymous",c.src=r.startsWith("http")?r:Gf+r}catch(f){u(f)}}));case 1:case"end":return i.stop()}},e)})),dn.apply(this,arguments)}function Yt(e,r){return pn.apply(this,arguments)}function pn(){return pn=re(Kt.default.mark(function e(r,t){var n,i;return Kt.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",r),t&&(i.id=t),u.abrupt("return",new Promise(function(c,f){i.onload=c,i.onerror=function(l){return f(new Error("Unable to load script '".concat(r,"': ").concat(l)))},n.appendChild(i)}));case 8:case"end":return u.stop()}},e)})),pn.apply(this,arguments)}function zf(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=$f(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
12
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function $f(e,r){if(e){if(typeof e=="string")return ma(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return ma(e,r)}}function ma(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function mn(e,r,t){var n=r.split(/\r?\n/),i="",a=zf(e),u;try{for(a.s();!(u=a.n()).done;){var c=u.value;i+=Zf(c,n,c.lineNum,t)}}catch(f){a.e(f)}finally{a.f()}return i}function Zf(e,r,t,n){if(n!=null&&n.showSourceCode){var i=e.linePos>0?"".concat(" ".repeat(e.linePos+5),`^^^
7
+ "use strict";var __exports__=(()=>{var Hu=Object.create;var ur=Object.defineProperty;var Wu=Object.getOwnPropertyDescriptor;var Vu=Object.getOwnPropertyNames;var ju=Object.getPrototypeOf,ku=Object.prototype.hasOwnProperty;var Zr=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),Ku=(e,r)=>{for(var t in r)ur(e,t,{get:r[t],enumerable:!0})},di=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of Vu(r))!ku.call(e,i)&&i!==t&&ur(e,i,{get:()=>r[i],enumerable:!(n=Wu(r,i))||n.enumerable});return e};var Be=(e,r,t)=>(t=e!=null?Hu(ju(e)):{},di(r||!e||!e.__esModule?ur(t,"default",{value:e,enumerable:!0}):t,e)),Yu=e=>di(ur({},"__esModule",{value:!0}),e);var vi=Zr((Mp,Ge)=>{function en(e){return Ge.exports=en=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Ge.exports.__esModule=!0,Ge.exports.default=Ge.exports,en(e)}Ge.exports=en,Ge.exports.__esModule=!0,Ge.exports.default=Ge.exports});var Si=Zr((Fp,ze)=>{var Zu=vi().default;function gi(){"use strict";ze.exports=gi=function(){return e},ze.exports.__esModule=!0,ze.exports.default=ze.exports;var e={},r=Object.prototype,t=r.hasOwnProperty,n=Object.defineProperty||function(A,h,g){A[h]=g.value},i=typeof Symbol=="function"?Symbol:{},a=i.iterator||"@@iterator",u=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function f(A,h,g){return Object.defineProperty(A,h,{value:g,enumerable:!0,configurable:!0,writable:!0}),A[h]}try{f({},"")}catch{f=function(g,F,x){return g[F]=x}}function l(A,h,g,F){var x=h&&h.prototype instanceof p?h:p,M=Object.create(x.prototype),Y=new K(F||[]);return n(M,"_invoke",{value:B(A,g,Y)}),M}function _(A,h,g){try{return{type:"normal",arg:A.call(h,g)}}catch(F){return{type:"throw",arg:F}}}e.wrap=l;var E={};function p(){}function d(){}function m(){}var R={};f(R,a,function(){return this});var O=Object.getPrototypeOf,S=O&&O(O(Q([])));S&&S!==r&&t.call(S,a)&&(R=S);var I=m.prototype=p.prototype=Object.create(R);function y(A){["next","throw","return"].forEach(function(h){f(A,h,function(g){return this._invoke(h,g)})})}function w(A,h){function g(x,M,Y,V){var G=_(A[x],A,M);if(G.type!=="throw"){var ee=G.arg,J=ee.value;return J&&Zu(J)=="object"&&t.call(J,"__await")?h.resolve(J.__await).then(function(fe){g("next",fe,Y,V)},function(fe){g("throw",fe,Y,V)}):h.resolve(J).then(function(fe){ee.value=fe,Y(ee)},function(fe){return g("throw",fe,Y,V)})}V(G.arg)}var F;n(this,"_invoke",{value:function(M,Y){function V(){return new h(function(G,ee){g(M,Y,G,ee)})}return F=F?F.then(V,V):V()}})}function B(A,h,g){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 W()}for(g.method=x,g.arg=M;;){var Y=g.delegate;if(Y){var V=j(Y,g);if(V){if(V===E)continue;return V}}if(g.method==="next")g.sent=g._sent=g.arg;else if(g.method==="throw"){if(F==="suspendedStart")throw F="completed",g.arg;g.dispatchException(g.arg)}else g.method==="return"&&g.abrupt("return",g.arg);F="executing";var G=_(A,h,g);if(G.type==="normal"){if(F=g.done?"completed":"suspendedYield",G.arg===E)continue;return{value:G.arg,done:g.done}}G.type==="throw"&&(F="completed",g.method="throw",g.arg=G.arg)}}}function j(A,h){var g=h.method,F=A.iterator[g];if(F===void 0)return h.delegate=null,g==="throw"&&A.iterator.return&&(h.method="return",h.arg=void 0,j(A,h),h.method==="throw")||g!=="return"&&(h.method="throw",h.arg=new TypeError("The iterator does not provide a '"+g+"' method")),E;var x=_(F,A.iterator,h.arg);if(x.type==="throw")return h.method="throw",h.arg=x.arg,h.delegate=null,E;var M=x.arg;return M?M.done?(h[A.resultName]=M.value,h.next=A.nextLoc,h.method!=="return"&&(h.method="next",h.arg=void 0),h.delegate=null,E):M:(h.method="throw",h.arg=new TypeError("iterator result is not an object"),h.delegate=null,E)}function D(A){var h={tryLoc:A[0]};1 in A&&(h.catchLoc=A[1]),2 in A&&(h.finallyLoc=A[2],h.afterLoc=A[3]),this.tryEntries.push(h)}function Z(A){var h=A.completion||{};h.type="normal",delete h.arg,A.completion=h}function K(A){this.tryEntries=[{tryLoc:"root"}],A.forEach(D,this),this.reset(!0)}function Q(A){if(A){var h=A[a];if(h)return h.call(A);if(typeof A.next=="function")return A;if(!isNaN(A.length)){var g=-1,F=function x(){for(;++g<A.length;)if(t.call(A,g))return x.value=A[g],x.done=!1,x;return x.value=void 0,x.done=!0,x};return F.next=F}}return{next:W}}function W(){return{value:void 0,done:!0}}return d.prototype=m,n(I,"constructor",{value:m,configurable:!0}),n(m,"constructor",{value:d,configurable:!0}),d.displayName=f(m,c,"GeneratorFunction"),e.isGeneratorFunction=function(A){var h=typeof A=="function"&&A.constructor;return!!h&&(h===d||(h.displayName||h.name)==="GeneratorFunction")},e.mark=function(A){return Object.setPrototypeOf?Object.setPrototypeOf(A,m):(A.__proto__=m,f(A,c,"GeneratorFunction")),A.prototype=Object.create(I),A},e.awrap=function(A){return{__await:A}},y(w.prototype),f(w.prototype,u,function(){return this}),e.AsyncIterator=w,e.async=function(A,h,g,F,x){x===void 0&&(x=Promise);var M=new w(l(A,h,g,F),x);return e.isGeneratorFunction(h)?M:M.next().then(function(Y){return Y.done?Y.value:M.next()})},y(I),f(I,c,"Generator"),f(I,a,function(){return this}),f(I,"toString",function(){return"[object Generator]"}),e.keys=function(A){var h=Object(A),g=[];for(var F in h)g.push(F);return g.reverse(),function x(){for(;g.length;){var M=g.pop();if(M in h)return x.value=M,x.done=!1,x}return x.done=!0,x}},e.values=Q,K.prototype={constructor:K,reset:function(h){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(Z),!h)for(var g in this)g.charAt(0)==="t"&&t.call(this,g)&&!isNaN(+g.slice(1))&&(this[g]=void 0)},stop:function(){this.done=!0;var h=this.tryEntries[0].completion;if(h.type==="throw")throw h.arg;return this.rval},dispatchException:function(h){if(this.done)throw h;var g=this;function F(ee,J){return Y.type="throw",Y.arg=h,g.next=ee,J&&(g.method="next",g.arg=void 0),!!J}for(var x=this.tryEntries.length-1;x>=0;--x){var M=this.tryEntries[x],Y=M.completion;if(M.tryLoc==="root")return F("end");if(M.tryLoc<=this.prev){var V=t.call(M,"catchLoc"),G=t.call(M,"finallyLoc");if(V&&G){if(this.prev<M.catchLoc)return F(M.catchLoc,!0);if(this.prev<M.finallyLoc)return F(M.finallyLoc)}else if(V){if(this.prev<M.catchLoc)return F(M.catchLoc,!0)}else{if(!G)throw new Error("try statement without catch or finally");if(this.prev<M.finallyLoc)return F(M.finallyLoc)}}}},abrupt:function(h,g){for(var F=this.tryEntries.length-1;F>=0;--F){var x=this.tryEntries[F];if(x.tryLoc<=this.prev&&t.call(x,"finallyLoc")&&this.prev<x.finallyLoc){var M=x;break}}M&&(h==="break"||h==="continue")&&M.tryLoc<=g&&g<=M.finallyLoc&&(M=null);var Y=M?M.completion:{};return Y.type=h,Y.arg=g,M?(this.method="next",this.next=M.finallyLoc,E):this.complete(Y)},complete:function(h,g){if(h.type==="throw")throw h.arg;return h.type==="break"||h.type==="continue"?this.next=h.arg:h.type==="return"?(this.rval=this.arg=h.arg,this.method="return",this.next="end"):h.type==="normal"&&g&&(this.next=g),E},finish:function(h){for(var g=this.tryEntries.length-1;g>=0;--g){var F=this.tryEntries[g];if(F.finallyLoc===h)return this.complete(F.completion,F.afterLoc),Z(F),E}},catch:function(h){for(var g=this.tryEntries.length-1;g>=0;--g){var F=this.tryEntries[g];if(F.tryLoc===h){var x=F.completion;if(x.type==="throw"){var M=x.arg;Z(F)}return M}}throw new Error("illegal catch attempt")},delegateYield:function(h,g,F){return this.delegate={iterator:Q(h),resultName:g,nextLoc:F},this.method==="next"&&(this.arg=void 0),E}},e}ze.exports=gi,ze.exports.__esModule=!0,ze.exports.default=ze.exports});var Me=Zr((Dp,Oi)=>{var fr=Si()();Oi.exports=fr;try{regeneratorRuntime=fr}catch{typeof globalThis=="object"?globalThis.regeneratorRuntime=fr:Function("r","regeneratorRuntime = r")(fr)}});var qE={};Ku(qE,{AnimationLoop:()=>Tr,AnimationLoopTemplate:()=>yi,ClipSpace:()=>_u,ConeGeometry:()=>hu,CubeGeometry:()=>Ru,CylinderGeometry:()=>vu,Geometry:()=>Se,IcoSphereGeometry:()=>Su,KeyFrames:()=>Ai,Model:()=>Nr,PipelineFactory:()=>br,PlaneGeometry:()=>bu,SphereGeometry:()=>Cu,Timeline:()=>Ri,TruncatedConeGeometry:()=>Lt,makeAnimationLoop:()=>ga});function Xt(e){if(Array.isArray(e))return e}function qr(e,r){var t=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(t!=null){var n,i,a,u,c=[],f=!0,l=!1;try{if(a=(t=t.call(e)).next,r===0){if(Object(t)!==t)return;f=!1}else for(;!(f=(n=a.call(t)).done)&&(c.push(n.value),c.length!==r);f=!0);}catch(_){l=!0,i=_}finally{try{if(!f&&t.return!=null&&(u=t.return(),Object(u)!==u))return}finally{if(l)throw i}}return c}}function Rt(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function it(e,r){if(e){if(typeof e=="string")return Rt(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Rt(e,r)}}function Ht(){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 k(e,r){return Xt(e)||qr(e,r)||it(e,r)||Ht()}function b(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}function Ee(e){return Ee=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Ee(e)}function Qr(e,r){if(Ee(e)!=="object"||e===null)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var n=t.call(e,r||"default");if(Ee(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(e)}function Wt(e){var r=Qr(e,"string");return Ee(r)==="symbol"?r:String(r)}function hi(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Wt(n.key),n)}}function N(e,r,t){return r&&hi(e.prototype,r),t&&hi(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function s(e,r,t){return r=Wt(r),r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function Jr(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=Gu(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
9
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function Gu(e,r){if(e){if(typeof e=="string")return mi(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return mi(e,r)}}function mi(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}var zu=1,$u=1,Ri=function(){function e(){b(this,e),s(this,"time",0),s(this,"channels",new Map),s(this,"animations",new Map),s(this,"playing",!1),s(this,"lastEngineTime",-1)}return N(e,[{key:"addChannel",value:function(t){var n=t.delay,i=n===void 0?0:n,a=t.duration,u=a===void 0?Number.POSITIVE_INFINITY:a,c=t.rate,f=c===void 0?1:c,l=t.repeat,_=l===void 0?1:l,E=zu++,p={time:0,delay:i,duration:u,rate:f,repeat:_};return this._setChannelTime(p,this.time),this.channels.set(E,p),E}},{key:"removeChannel",value:function(t){this.channels.delete(t);var n=Jr(this.animations),i;try{for(n.s();!(i=n.n()).done;){var a=k(i.value,2),u=a[0],c=a[1];c.channel===t&&this.detachAnimation(u)}}catch(f){n.e(f)}finally{n.f()}}},{key:"isFinished",value:function(t){var n=this.channels.get(t);return n===void 0?!1:this.time>=n.delay+n.duration*n.repeat}},{key:"getTime",value:function(t){if(t===void 0)return this.time;var n=this.channels.get(t);return n===void 0?-1:n.time}},{key:"setTime",value:function(t){this.time=Math.max(0,t);var n=this.channels.values(),i=Jr(n),a;try{for(i.s();!(a=i.n()).done;){var u=a.value;this._setChannelTime(u,this.time)}}catch(d){i.e(d)}finally{i.f()}var c=this.animations.values(),f=Jr(c),l;try{for(f.s();!(l=f.n()).done;){var _=l.value,E=_.animation,p=_.channel;E.setTime(this.getTime(p))}}catch(d){f.e(d)}finally{f.f()}}},{key:"play",value:function(){this.playing=!0}},{key:"pause",value:function(){this.playing=!1,this.lastEngineTime=-1}},{key:"reset",value:function(){this.setTime(0)}},{key:"attachAnimation",value:function(t,n){var i=$u++;return this.animations.set(i,{animation:t,channel:n}),t.setTime(this.getTime(n)),i}},{key:"detachAnimation",value:function(t){this.animations.delete(t)}},{key:"update",value:function(t){this.playing&&(this.lastEngineTime===-1&&(this.lastEngineTime=t),this.setTime(this.time+(t-this.lastEngineTime)),this.lastEngineTime=t)}},{key:"_setChannelTime",value:function(t,n){var i=n-t.delay,a=t.duration*t.repeat;i>=a?t.time=t.duration*t.rate:(t.time=Math.max(0,i)%t.duration,t.time*=t.rate)}}]),e}();var Ai=function(){function e(r){b(this,e),s(this,"startIndex",-1),s(this,"endIndex",-1),s(this,"factor",0),s(this,"times",[]),s(this,"values",[]),s(this,"_lastTime",-1),this.setKeyFrames(r),this.setTime(0)}return N(e,[{key:"setKeyFrames",value:function(t){var n=t.length;this.times.length=n,this.values.length=n;for(var i=0;i<n;++i)this.times[i]=t[i][0],this.values[i]=t[i][1];this._calculateKeys(this._lastTime)}},{key:"setTime",value:function(t){t=Math.max(0,t),t!==this._lastTime&&(this._calculateKeys(t),this._lastTime=t)}},{key:"getStartTime",value:function(){return this.times[this.startIndex]}},{key:"getEndTime",value:function(){return this.times[this.endIndex]}},{key:"getStartData",value:function(){return this.values[this.startIndex]}},{key:"getEndData",value:function(){return this.values[this.endIndex]}},{key:"_calculateKeys",value:function(t){var n=0,i=this.times.length;for(n=0;n<i-2&&!(this.times[n+1]>t);++n);this.startIndex=n,this.endIndex=n+1;var a=this.times[this.startIndex],u=this.times[this.endIndex];this.factor=Math.min(Math.max(0,(t-a)/(u-a)),1)}}]),e}();function Ti(e,r,t,n,i,a,u){try{var c=e[a](u),f=c.value}catch(l){t(l);return}c.done?r(f):Promise.resolve(f).then(n,i)}function re(e){return function(){var r=this,t=arguments;return new Promise(function(n,i){var a=e.apply(r,t);function u(f){Ti(a,n,i,u,c,"next",f)}function c(f){Ti(a,n,i,u,c,"throw",f)}u(void 0)})}}var tn=Be(Me(),1),yi=function(){function e(r){b(this,e)}return N(e,[{key:"onInitialize",value:function(){var r=re(tn.default.mark(function n(i){return tn.default.wrap(function(u){for(;;)switch(u.prev=u.next){case 0:return u.abrupt("return",null);case 1:case"end":return u.stop()}},n)}));function t(n){return r.apply(this,arguments)}return t}()}]),e}();var $e=Be(Me(),1);function Vt(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 r=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,t=e||r;return!!(t&&t.indexOf("Electron")>=0)}function se(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||Vt()}var qu=globalThis.self||globalThis.window||globalThis.global,At=globalThis.window||globalThis.self||globalThis.global,Qu=globalThis.document||{},at=globalThis.process||{},Ju=globalThis.console,bi=globalThis.navigator||{};var cr=typeof __VERSION__<"u"?__VERSION__:"untranspiled source",jp=se();var rn=globalThis;function lr(e){if(!e&&!se())return"Node";if(Vt(e))return"Electron";let r=e||bi.userAgent||"";if(r.indexOf("Edge")>-1)return"Edge";let t=r.indexOf("MSIE ")!==-1,n=r.indexOf("Trident/")!==-1;return t||n?"IE":rn.chrome?"Chrome":rn.safari?"Safari":rn.mozInnerScreenX?"Firefox":"Unknown"}function ef(e){try{let r=window[e],t="__storage_test__";return r.setItem(t,t),r.removeItem(t),r}catch{return null}}var _r=class{constructor(r,t){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=ef(n),this.id=r,this.config=t,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(r){if(Object.assign(this.config,r),this.storage){let t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}}_loadConfiguration(){let r={};if(this.storage){let t=this.storage.getItem(this.id);r=t?JSON.parse(t):{}}return Object.assign(this.config,r),this}};function Ni(e){let r;return e<10?r="".concat(e.toFixed(2),"ms"):e<100?r="".concat(e.toFixed(1),"ms"):e<1e3?r="".concat(e.toFixed(0),"ms"):r="".concat((e/1e3).toFixed(2),"s"),r}function Ci(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,t=Math.max(r-e.length,0);return"".concat(" ".repeat(t)).concat(e)}function Er(e,r,t){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(t=Math.min(t,n/e.width));let a=e.width*t,u=e.height*t,c=["font-size:1px;","padding:".concat(Math.floor(u/2),"px ").concat(Math.floor(a/2),"px;"),"line-height:".concat(u,"px;"),"background:url(".concat(i,");"),"background-size:".concat(a,"px ").concat(u,"px;"),"color:transparent;"].join("");return["".concat(r," %c+"),c]}var pr;(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"})(pr||(pr={}));var tf=10;function Ii(e){return typeof e!="string"?e:(e=e.toUpperCase(),pr[e]||pr.WHITE)}function Pi(e,r,t){if(!se&&typeof e=="string"){if(r){let n=Ii(r);e="\x1B[".concat(n,"m").concat(e,"\x1B[39m")}if(t){let n=Ii(t);e="\x1B[".concat(n+tf,"m").concat(e,"\x1B[49m")}}return e}function Mi(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],t=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(t),i=e;for(let a of n){let u=i[a];typeof u=="function"&&(r.find(c=>a===c)||(i[a]=u.bind(e)))}}function Tt(e,r){if(!e)throw new Error(r||"Assertion failed")}function ot(){let e;if(se()&&At.performance){var r,t;e=At===null||At===void 0||(r=At.performance)===null||r===void 0||(t=r.now)===null||t===void 0?void 0:t.call(r)}else if("hrtime"in at){var n;let i=at===null||at===void 0||(n=at.hrtime)===null||n===void 0?void 0:n.call(at);e=i[0]*1e3+i[1]/1e6}else e=Date.now();return e}var vt={debug:se()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},rf={enabled:!0,level:0};function Fe(){}var Fi={},Di={once:!0},Je=class{constructor(){let{id:r}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};s(this,"id",void 0),s(this,"VERSION",cr),s(this,"_startTs",ot()),s(this,"_deltaTs",ot()),s(this,"_storage",void 0),s(this,"userData",{}),s(this,"LOG_THROTTLE_TIMEOUT",0),this.id=r,this.userData={},this._storage=new _r("__probe-".concat(this.id,"__"),rf),this.timeStamp("".concat(this.id," started")),Mi(this),Object.seal(this)}set level(r){this.setLevel(r)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((ot()-this._startTs).toPrecision(10))}getDelta(){return Number((ot()-this._deltaTs).toPrecision(10))}set priority(r){this.level=r}get priority(){return this.level}getPriority(){return this.level}enable(){let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:r}),this}setLevel(r){return this._storage.setConfiguration({level:r}),this}get(r){return this._storage.config[r]}set(r,t){this._storage.setConfiguration({[r]:t})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(r,t){Tt(r,t)}warn(r){return this._getLogFunction(0,r,vt.warn,arguments,Di)}error(r){return this._getLogFunction(0,r,vt.error,arguments)}deprecated(r,t){return this.warn("`".concat(r,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}removed(r,t){return this.error("`".concat(r,"` has been removed. Use `").concat(t,"` instead"))}probe(r,t){return this._getLogFunction(r,t,vt.log,arguments,{time:!0,once:!0})}log(r,t){return this._getLogFunction(r,t,vt.debug,arguments)}info(r,t){return this._getLogFunction(r,t,console.info,arguments)}once(r,t){return this._getLogFunction(r,t,vt.debug||vt.info,arguments,Di)}table(r,t,n){return t?this._getLogFunction(r,t,console.table||Fe,n&&[n],{tag:sf(t)}):Fe}image(r){let{logLevel:t,priority:n,image:i,message:a="",scale:u=1}=r;return this._shouldLog(t||n)?se()?of({image:i,message:a,scale:u}):af({image:i,message:a,scale:u}):Fe}time(r,t){return this._getLogFunction(r,t,console.time?console.time:console.info)}timeEnd(r,t){return this._getLogFunction(r,t,console.timeEnd?console.timeEnd:console.info)}timeStamp(r,t){return this._getLogFunction(r,t,console.timeStamp||Fe)}group(r,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},i=Bi({logLevel:r,message:t,opts:n}),{collapsed:a}=n;return i.method=(a?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(r,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(r,t,Object.assign({},n,{collapsed:!0}))}groupEnd(r){return this._getLogFunction(r,"",console.groupEnd||Fe)}withGroup(r,t,n){this.group(r,t)();try{n()}finally{this.groupEnd(r)()}}trace(){console.trace&&console.trace()}_shouldLog(r){return this.isEnabled()&&this.getLevel()>=xi(r)}_getLogFunction(r,t,n,i,a){if(this._shouldLog(r)){a=Bi({logLevel:r,message:t,args:i,opts:a}),n=n||a.method,Tt(n),a.total=this.getTotal(),a.delta=this.getDelta(),this._deltaTs=ot();let u=a.tag||a.message;if(a.once&&u)if(!Fi[u])Fi[u]=ot();else return Fe;return t=nf(this.id,a.message,a),n.bind(console,t,...a.args)}return Fe}};s(Je,"VERSION",cr);function xi(e){if(!e)return 0;let r;switch(typeof e){case"number":r=e;break;case"object":r=e.logLevel||e.priority||0;break;default:return 0}return Tt(Number.isFinite(r)&&r>=0),r}function Bi(e){let{logLevel:r,message:t}=e;e.logLevel=xi(r);let n=e.args?Array.from(e.args):[];for(;n.length&&n.shift()!==t;);switch(typeof r){case"string":case"function":t!==void 0&&n.unshift(t),e.message=r;break;case"object":Object.assign(e,r);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 nf(e,r,t){if(typeof r=="string"){let n=t.time?Ci(Ni(t.total)):"";r=t.time?"".concat(e,": ").concat(n," ").concat(r):"".concat(e,": ").concat(r),r=Pi(r,t.color,t.background)}return r}function af(e){let{image:r,message:t="",scale:n=1}=e;return console.warn("removed"),Fe}function of(e){let{image:r,message:t="",scale:n=1}=e;if(typeof r=="string"){let a=new Image;return a.onload=()=>{let u=Er(a,t,n);console.log(...u)},a.src=r,Fe}let i=r.nodeName||"";if(i.toLowerCase()==="img")return console.log(...Er(r,t,n)),Fe;if(i.toLowerCase()==="canvas"){let a=new Image;return a.onload=()=>console.log(...Er(a,t,n)),a.src=r.toDataURL(),Fe}return Fe}function sf(e){for(let r in e)for(let t in e[r])return t||"untitled";return"empty"}var gd=new Je({id:"@probe.gl/log"});var U=new Je({id:"luma.gl"});function jt(){let e;if(typeof window<"u"&&window.performance)e=window.performance.now();else if(typeof process<"u"&&process.hrtime){let r=process.hrtime();e=r[0]*1e3+r[1]/1e6}else e=Date.now();return e}var st=class{constructor(r,t){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=r,this.type=t,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(r){return this.sampleSize=r,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(r){return this._count+=r,this._samples++,this._checkSampling(),this}subtractCount(r){return this._count-=r,this._samples++,this._checkSampling(),this}addTime(r){return this._time+=r,this.lastTiming=r,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=jt(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(jt()-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 et=class{constructor(r){s(this,"id",void 0),s(this,"stats",{}),this.id=r.id,this.stats={},this._initializeStats(r.stats),Object.seal(this)}get(r){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"count";return this._getOrCreate({name:r,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(let r of Object.values(this.stats))r.reset();return this}forEach(r){for(let t of Object.values(this.stats))r(t)}getTable(){let r={};return this.forEach(t=>{r[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),r}_initializeStats(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).forEach(t=>this._getOrCreate(t))}_getOrCreate(r){let{name:t,type:n}=r,i=this.stats[t];return i||(r instanceof st?i=r:i=new st(t,n),this.stats[t]=i),i}};var uf=function(){function e(){b(this,e),s(this,"stats",new Map)}return N(e,[{key:"getStats",value:function(t){return this.get(t)}},{key:"get",value:function(t){return this.stats.has(t)||this.stats.set(t,new et({id:t})),this.stats.get(t)}}]),e}(),gt=new uf;function ff(){var e=typeof __VERSION__<"u"?__VERSION__:"untranspiled source",r="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||(se()&&U.log(1,"luma.gl ".concat(e," - ").concat(r))(),globalThis.luma=globalThis.luma||{VERSION:e,version:e,log:U,stats:gt}),e}var Ui=ff();var on=Be(Me(),1);var nn={};function ne(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"id";nn[e]=nn[e]||1;var r=nn[e]++;return"".concat(e,"-").concat(r)}function dr(e){return e>0&&(e&e-1)===0}function St(e){var r=!0;for(var t in e){r=!1;break}return r}function ut(e,r){return ut=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},ut(e,r)}function L(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(r&&r.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),r&&ut(e,r)}function T(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function X(e,r){if(r&&(Ee(r)==="object"||typeof r=="function"))return r;if(r!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return T(e)}function C(e){return C=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},C(e)}function wi(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function cf(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?wi(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):wi(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var ye={id:"undefined",handle:void 0,userData:{}},de=function(){function e(r,t,n){if(b(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),!r)throw new Error("no device");this._device=r,this.props=lf(t,n);var i=this.props.id!=="undefined"?this.props.id:ne(this[Symbol.toStringTag]);this.props.id=i,this.id=i,this.userData=this.props.userData||{},this.addStats()}return N(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 t=this._device.statsManager.getStats("Resource Counts"),n=this[Symbol.toStringTag];t.get("Resources Created").incrementCount(),t.get("".concat(n,"s Created")).incrementCount(),t.get("".concat(n,"s Active")).incrementCount()}},{key:"removeStats",value:function(){var t=this._device.statsManager.getStats("Resource Counts"),n=this[Symbol.toStringTag];t.get("".concat(n,"s Active")).decrementCount()}},{key:"trackAllocatedMemory",value:function(t){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(t),i.get("".concat(n," Memory")).addCount(t),this.allocatedBytes=t}},{key:"trackDeallocatedMemory",value:function(){var t=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(t," Memory")).subtractCount(this.allocatedBytes),this.allocatedBytes=0}}]),e}();function lf(e,r){var t=cf({},r);for(var n in e)e[n]!==void 0&&(t[n]=e[n]);return t}var Xi;function _f(e){var r=Ef();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function Ef(){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 Li(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function an(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Li(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Li(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var pf=an(an({},ye),{},{usage:0,byteLength:0,byteOffset:0,data:null,indexType:"uint16",mappedAtCreation:!1});Xi=Symbol.toStringTag;var ue=function(e){L(t,e);var r=_f(t);function t(n,i){b(this,t);var a=an({},i);return(i.usage||0)&t.INDEX&&!i.indexType&&(i.data instanceof Uint32Array?a.indexType="uint32":i.data instanceof Uint16Array&&(a.indexType="uint16")),r.call(this,n,a,pf)}return N(t,[{key:Xi,get:function(){return"Buffer"}},{key:"write",value:function(i,a){throw new Error("not implemented")}},{key:"readAsync",value:function(i,a){throw new Error("not implemented")}},{key:"getData",value:function(){throw new Error("not implemented")}}]),t}(de);s(ue,"MAP_READ",1);s(ue,"MAP_WRITE",2);s(ue,"COPY_SRC",4);s(ue,"COPY_DST",8);s(ue,"INDEX",16);s(ue,"VERTEX",32);s(ue,"UNIFORM",64);s(ue,"STORAGE",128);s(ue,"INDIRECT",256);s(ue,"QUERY_RESOLVE",512);var Vi;function Hi(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Wi(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Hi(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Hi(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var hr={id:null,type:"best-available",canvas:null,container:null,webgl2:!0,webgl1:!0,manageState:!0,width:800,height:600,debug:Boolean(U.get("debug")),break:[],gl:null};Vi=Symbol.toStringTag;var kt=function(){function e(r){b(this,e),s(this,"id",void 0),s(this,"statsManager",gt),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=Wi(Wi({},hr),r),this.id=this.props.id||ne(this[Symbol.toStringTag].toLowerCase())}return N(e,[{key:Vi,get:function(){return"Device"}},{key:"createBuffer",value:function(t){return t instanceof ArrayBuffer||ArrayBuffer.isView(t)?this._createBuffer({data:t}):((t.usage||0)&ue.INDEX&&!t.indexType&&(t.data instanceof Uint32Array?t.indexType="uint32":t.data instanceof Uint16Array&&(t.indexType="uint16")),this._createBuffer(t))}},{key:"createTexture",value:function(t){return(t instanceof Promise||typeof t=="string")&&(t={data:t}),this._createTexture(t)}}]),e}();s(kt,"VERSION",Ui);function ji(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function ki(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?ji(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ji(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function df(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=hf(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
10
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function hf(e,r){if(e){if(typeof e=="string")return Ki(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Ki(e,r)}}function Ki(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}var Ot=new Map,ft=function(){function e(){b(this,e)}return N(e,null,[{key:"registerDevices",value:function(t){var n=df(t),i;try{for(n.s();!(i=n.n()).done;){var a=i.value;H(a.type&&a.isSupported&&a.create),Ot.set(a.type,a)}}catch(u){n.e(u)}finally{n.f()}}},{key:"getAvailableDevices",value:function(){return Array.from(Ot).map(function(t){return t.type})}},{key:"getSupportedDevices",value:function(){return Array.from(Ot).filter(function(t){return t.isSupported()}).map(function(t){return t.type})}},{key:"setDefaultDeviceProps",value:function(t){Object.assign(hr,t)}},{key:"createDevice",value:function(){var r=re(on.default.mark(function n(){var i,a,u=arguments;return on.default.wrap(function(f){for(;;)switch(f.prev=f.next){case 0:i=u.length>0&&u[0]!==void 0?u[0]:{},i=ki(ki({},hr),i),i.gl&&(i.type="webgl"),f.t0=i.type,f.next=f.t0==="webgpu"?6:f.t0==="webgl"||f.t0==="webgl1"||f.t0==="webgl2"?12:f.t0==="best-available"?18:24;break;case 6:if(a=Ot.get("webgpu"),!a){f.next=11;break}return f.next=10,a.create(i);case 10:return f.abrupt("return",f.sent);case 11:return f.abrupt("break",24);case 12:if(a=Ot.get("webgl"),!a){f.next=17;break}return f.next=16,a.create(i);case 16:return f.abrupt("return",f.sent);case 17:return f.abrupt("break",24);case 18:if(a=Ot.get("webgl"),!(a&&a.isSupported())){f.next=23;break}return f.next=22,a.create(i);case 22:return f.abrupt("return",f.sent);case 23:return f.abrupt("break",24);case 24:throw new Error("No matching device found. Ensure `@luma.gl/webgl` and/or `@luma.gl/webgpu` modules are imported.");case 25:case"end":return f.stop()}},n)}));function t(){return r.apply(this,arguments)}return t}()}]),e}();s(ft,"stats",gt);s(ft,"log",U);function mf(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=Rf(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
11
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function Rf(e,r){if(e){if(typeof e=="string")return Yi(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Yi(e,r)}}function Yi(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function Gi(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function zi(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Gi(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Gi(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var Af=se()&&typeof document<"u",mr=function(){return Af&&document.readyState==="complete"},Tf={canvas:null,width:800,height:600,useDevicePixels:!0,autoResize:!0,container:null,visible:!0,colorSpace:"srgb",alphaMode:"opaque"},yt=function(){function e(r){var t=this;if(b(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=zi(zi({},Tf),r),r=this.props,!se()){this.id="node-canvas-context",this.type="node",this.width=this.props.width,this.height=this.props.height,this.canvas=null;return}if(r.canvas)typeof r.canvas=="string"?this.canvas=Sf(r.canvas):this.canvas=r.canvas;else{var n,i,a=Of(r),u=gf(((n=r)===null||n===void 0?void 0:n.container)||null);u.insertBefore(a,u.firstChild),this.canvas=a,(i=r)!==null&&i!==void 0&&i.visible||(this.canvas.style.visibility="hidden")}this.canvas instanceof HTMLCanvasElement?(this.id=this.canvas.id,this.type="html-canvas",this.htmlCanvas=this.canvas):(this.id="offscreen-canvas",this.type="offscreen-canvas",this.offscreenCanvas=this.canvas),this.canvas instanceof HTMLCanvasElement&&r.autoResize&&(this.resizeObserver=new ResizeObserver(function(c){var f=mf(c),l;try{for(f.s();!(l=f.n()).done;){var _=l.value;_.target===t.canvas&&t.update()}}catch(E){f.e(E)}finally{f.f()}}),this.resizeObserver.observe(this.canvas))}return N(e,[{key:"getDevicePixelRatio",value:function(t){return typeof OffscreenCanvas<"u"&&this.canvas instanceof OffscreenCanvas?1:typeof t=="number"?t>0?t:1:typeof this.props.useDevicePixels=="number"?this.props.useDevicePixels>0?this.props.useDevicePixels:1:(t||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 t=this.getDevicePixelRatio(),n=this.canvas;return n.parentElement?[n.clientWidth*t,n.clientHeight*t]:[this.canvas.width,this.canvas.height];default:throw new Error(this.type)}}},{key:"getAspect",value:function(){var t=this.getPixelSize(),n=k(t,2),i=n[0],a=n[1];return i/a}},{key:"cssToDeviceRatio",value:function(){try{var t=this.getDrawingBufferSize(),n=k(t,1),i=n[0],a=this._canvasSizeInfo.clientWidth;return a?i/a:1}catch{return 1}}},{key:"cssToDevicePixels",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,i=this.cssToDeviceRatio(),a=this.getDrawingBufferSize(),u=k(a,2),c=u[0],f=u[1];return yf(t,i,c,f,n)}},{key:"setDevicePixelRatio",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.htmlCanvas){var i="width"in n?n.width:this.htmlCanvas.clientWidth,a="height"in n?n.height:this.htmlCanvas.clientHeight;(!i||!a)&&(U.log(1,"Canvas clientWidth/clientHeight is 0")(),t=1,i=this.htmlCanvas.width||1,a=this.htmlCanvas.height||1);var u=this._canvasSizeInfo;if(u.clientWidth!==i||u.clientHeight!==a||u.devicePixelRatio!==t){var c=t,f=Math.floor(i*c),l=Math.floor(a*c);this.htmlCanvas.width=f,this.htmlCanvas.height=l;var _=this.getDrawingBufferSize(),E=k(_,2),p=E[0],d=E[1];(p!==f||d!==l)&&(c=Math.min(p/i,d/a),this.htmlCanvas.width=Math.floor(i*c),this.htmlCanvas.height=Math.floor(a*c),U.warn("Device pixel ratio clamped")()),this._canvasSizeInfo.clientWidth=i,this._canvasSizeInfo.clientHeight=a,this._canvasSizeInfo.devicePixelRatio=t}}}},{key:"getDrawingBufferSize",value:function(){var t=this.device.gl;if(!t)throw new Error("canvas size");return[t.drawingBufferWidth,t.drawingBufferHeight]}},{key:"_setAutoCreatedCanvasId",value:function(t){var n;((n=this.htmlCanvas)===null||n===void 0?void 0:n.id)==="lumagl-auto-created-canvas"&&(this.htmlCanvas.id=t)}}],[{key:"isPageLoaded",get:function(){return mr()}}]),e}();s(yt,"pageLoaded",vf());function vf(){return mr()||typeof window>"u"?Promise.resolve():new Promise(function(e){window.addEventListener("load",function(){return e()})})}function gf(e){if(typeof e=="string"){var r=document.getElementById(e);if(!r&&!mr())throw new Error("Accessing '".concat(e,"' before page was loaded"));if(!r)throw new Error("".concat(e," is not an HTML element"));return r}else if(e)return e;return document.body}function Sf(e){var r=document.getElementById(e);if(!r&&!mr())throw new Error("Accessing '".concat(e,"' before page was loaded"));if(!(r instanceof HTMLCanvasElement))throw new Error("'".concat(r,"' is not a canvas element"));return r}function Of(e){var r=e.width,t=e.height,n=document.createElement("canvas");return n.id="lumagl-auto-created-canvas",n.width=r||1,n.height=t||1,n.style.width=Number.isFinite(r)?"".concat(r,"px"):"100%",n.style.height=Number.isFinite(t)?"".concat(t,"px"):"100%",n}function yf(e,r,t,n,i){var a=e,u=$i(a[0],r,t),c=Zi(a[1],r,n,i),f=$i(a[0]+1,r,t),l=f===t-1?f:f-1;f=Zi(a[1]+1,r,n,i);var _;return i?(f=f===0?f:f+1,_=c,c=f):_=f===n-1?f:f-1,{x:u,y:c,width:Math.max(l-u+1,1),height:Math.max(_-c+1,1)}}function $i(e,r,t){var n=Math.min(Math.round(e*r),t-1);return n}function Zi(e,r,t,n){return n?Math.max(0,t-1-Math.round(e*r)):Math.min(Math.round(e*r),t-1)}var Ji;function bf(e){var r=Nf();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}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}}function qi(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Qi(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?qi(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):qi(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var Cf=Qi(Qi({},ye),{},{data:null,dimension:"2d",format:"rgba8unorm",depth:1,mipmaps:!0,sampler:{},compressed:!1,usage:0,parameters:{},pixelStore:{},pixels:null,border:0,recreate:!1});Ji=Symbol.toStringTag;var we=function(e){L(t,e);var r=bf(t);function t(n,i){var a;return b(this,t),a=r.call(this,n,i,Cf),s(T(a),"sampler",void 0),a}return N(t,[{key:Ji,get:function(){return"Texture"}}]),t}(de);s(we,"COPY_SRC",1);s(we,"COPY_DST",2);s(we,"TEXTURE_BINDING",4);s(we,"STORAGE_BINDING",8);s(we,"RENDER_ATTACHMENT",16);var ra;function If(e){var r=Pf();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function Pf(){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 ea(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function ta(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?ea(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ea(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var Mf=ta(ta({},ye),{},{stage:"vertex",source:"",sourceMap:null,language:"glsl",shaderType:0});ra=Symbol.toStringTag;var sn=function(e){L(t,e);var r=If(t);function t(n,i){var a;return b(this,t),a=r.call(this,n,i,Mf),s(T(a),"stage",void 0),s(T(a),"source",void 0),a.stage=a.props.stage,a.source=a.props.source,a}return N(t,[{key:ra,get:function(){return"Shader"}}]),t}(de);function Ff(e){var r=Df();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function Df(){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,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function ia(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?na(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):na(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var Bf=ia(ia({},ye),{},{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}),un=function(e,r){L(n,e);var t=Ff(n);function n(i,a){return b(this,n),t.call(this,i,a,Bf)}return N(n,[{key:r,get:function(){return"Sampler"}}]),n}(de,Symbol.toStringTag);var sa;function xf(e){var r=Uf();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function Uf(){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,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function oa(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?aa(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):aa(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var wf=oa(oa({},ye),{},{width:1,height:1,colorAttachments:[],depthStencilAttachment:null});sa=Symbol.toStringTag;var fn=function(e){L(t,e);var r=xf(t);function t(n){var i,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return b(this,t),i=r.call(this,n,a,wf),s(T(i),"width",void 0),s(T(i),"height",void 0),s(T(i),"colorAttachments",void 0),s(T(i),"depthStencilAttachment",void 0),i.width=i.props.width,i.height=i.props.height,i}return N(t,[{key:sa,get:function(){return"Framebuffer"}},{key:"resize",value:function(i){var a=!i||i.height!==this.height||i.width!==this.width;i&&(this.width=i?.width,this.height=i?.height),a&&this._resizeAttachments(this.width,this.height)}}]),t}(de);var ca;function Lf(e){var r=Xf();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function Xf(){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 ua(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function fa(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?ua(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ua(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var la=fa(fa({},ye),{},{vs:null,vsEntryPoint:"",vsConstants:{},fs:null,fsEntryPoint:"",fsConstants:{},layout:null,topology:"triangle-list",parameters:{},bufferMap:[],vertexCount:0,instanceCount:0,indices:null,attributes:{},bindings:{},uniforms:{}});ca=Symbol.toStringTag;var bt=function(e){L(t,e);var r=Lf(t);function t(n,i){var a;return b(this,t),a=r.call(this,n,i,la),s(T(a),"hash",""),s(T(a),"vs",void 0),s(T(a),"fs",void 0),a}return N(t,[{key:ca,get:function(){return"RenderPipeline"}}]),t}(de);s(bt,"_DEFAULT_PROPS",la);function Hf(e){var r=Wf();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function Wf(){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,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Ea(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?_a(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):_a(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var Vf=Ea(Ea({},ye),{},{framebuffer:null,parameters:null}),cn=function(e,r){L(n,e);var t=Hf(n);function n(i,a){return b(this,n),t.call(this,i,a,Vf)}return N(n,[{key:r,get:function(){return"RenderPass"}}]),n}(de,Symbol.toStringTag);function H(e,r){if(!e)throw new Error(r||"luma.gl: assertion failed.")}function Rr(e){var r=pa[e],t=jf(r),n=!e.startsWith("float"),i=e.includes("norm"),a=e.startsWith("s");return{dataType:pa[e],byteLength:t,integer:n,signed:a,normalized:i}}function jf(e){var r=kf[e];return r}var pa={uint8:"uint8",sint8:"sint8",unorm8:"uint8",snorm8:"sint8",uint16:"uint16",sint16:"sint16",unorm16:"uint16",snorm16:"sint16",float16:"float16",float32:"float32",uint32:"uint32",sint32:"sint32"},kf={uint8:1,sint8:1,uint16:2,sint16:2,float16:2,float32:4,uint32:4,sint32:4};function ln(e){var r=e.split("x"),t=k(r,2),n=t[0],i=t[1],a=n,u=i?parseInt(i):1,c=Rr(a);return{type:a,components:u,byteLength:c.byteLength*u,integer:c.integer,signed:c.signed,normalized:c.normalized}}function da(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Kf(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?da(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):da(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var Yf=/^(rg?b?a?)([0-9]*)([a-z]*)(-srgb)?(-webgl|-unsized)?$/;function Ar(e){var r=Yf.exec(e);if(r){var t=k(r,6),n=t[1],i=t[2],a=t[3],u=t[4],c=t[5];if(n){var f="".concat(a).concat(i),l=Rr(f);return Kf({format:n,components:0,srgb:u==="-srgb",unsized:c==="-unsized",webgl:c==="-webgl"},l)}}throw new Error("Unknown format ".concat(e))}function _n(e,r,t,n){var i="See luma.gl ".concat(t," Upgrade Guide at https://luma.gl/docs/upgrade-guide"),a=Object.getPrototypeOf(e);n.forEach(function(u){a.methodName||(a[u]=function(){throw U.removed("Calling removed method ".concat(r,".").concat(u,": "),i)(),new Error(u)})})}function ct(e,r,t){var n=t.removedProps,i=n===void 0?{}:n,a=t.deprecatedProps,u=a===void 0?{}:a,c=t.replacedProps,f=c===void 0?{}:c;for(var l in i)if(l in r){var _=i[l],E=_?"".concat(e,".").concat(i[l]):"N/A";U.removed("".concat(e,".").concat(l),E)()}for(var p in u)if(p in r){var d=u[p];U.deprecated("".concat(e,".").concat(p),"".concat(e,".").concat(d))()}for(var m=null,R=0,O=Object.entries(f);R<O.length;R++){var S=k(O[R],2),I=S[0],y=S[1];I in r&&(U.deprecated("".concat(e,".").concat(I),"".concat(e,".").concat(y))(),m=m||Object.assign({},r),m[y]=r[I],delete m[I])}return m||r}var Kt=Be(Me(),1),Gf="";function dn(e,r){return En.apply(this,arguments)}function En(){return En=re(Kt.default.mark(function e(r,t){return Kt.default.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.abrupt("return",new Promise(function(a,u){try{var c=new Image;c.onload=function(){return a(c)},c.onerror=function(){return u(new Error("Could not load image ".concat(r,".")))},c.crossOrigin=t?.crossOrigin||"anonymous",c.src=r.startsWith("http")?r:Gf+r}catch(f){u(f)}}));case 1:case"end":return i.stop()}},e)})),En.apply(this,arguments)}function Yt(e,r){return pn.apply(this,arguments)}function pn(){return pn=re(Kt.default.mark(function e(r,t){var n,i;return Kt.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",r),t&&(i.id=t),u.abrupt("return",new Promise(function(c,f){i.onload=c,i.onerror=function(l){return f(new Error("Unable to load script '".concat(r,"': ").concat(l)))},n.appendChild(i)}));case 8:case"end":return u.stop()}},e)})),pn.apply(this,arguments)}function zf(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=$f(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
12
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function $f(e,r){if(e){if(typeof e=="string")return ha(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return ha(e,r)}}function ha(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function hn(e,r,t){var n=r.split(/\r?\n/),i="",a=zf(e),u;try{for(a.s();!(u=a.n()).done;){var c=u.value;i+=Zf(c,n,c.lineNum,t)}}catch(f){a.e(f)}finally{a.f()}return i}function Zf(e,r,t,n){if(n!=null&&n.showSourceCode){var i=e.linePos>0?"".concat(" ".repeat(e.linePos+5),`^^^
13
13
  `):"",a=qf(r,t);return"".concat(a).concat(i).concat(e.type.toUpperCase(),": ").concat(e.message,`
14
14
 
15
15
  `)}return"".concat(e.type.toUpperCase(),": ").concat(e.message,`
16
16
  `)}function qf(e,r){for(var t="",n=r-2;n<=r;n++){var i=e[n];i!==void 0&&(t+="".concat(Qf(String(n),4),": ").concat(i,`
17
- `))}return t}function Qf(e,r){for(var t="",n=e.length;n<r;++n)t+=" ";return t+e}function Rn(e){return typeof window<"u"&&window.requestAnimationFrame?window.requestAnimationFrame(e):setTimeout(e,1e3/60)}function An(e){return typeof window<"u"&&window.cancelAnimationFrame?window.cancelAnimationFrame(e):clearTimeout(e)}var Ra=function(r){return"".concat(r)};function Aa(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Ta(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Aa(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Aa(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var Jf=0,ec={device:null,onAddHTML:function(){return""},onInitialize:function(){var e=re($e.default.mark(function t(){return $e.default.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.abrupt("return",null);case 1:case"end":return i.stop()}},t)}));function r(){return e.apply(this,arguments)}return r}(),onRender:function(){},onFinalize:function(){},onError:function(r){return console.error(r)},stats:ft.stats.get("animation-loop-".concat(Jf++)),useDevicePixels:!0,autoResizeViewport:!1,autoResizeDrawingBuffer:!1},Tr=function(){function e(r){if(b(this,e),s(this,"device",null),s(this,"canvas",null),s(this,"props",void 0),s(this,"animationProps",null),s(this,"timeline",null),s(this,"stats",void 0),s(this,"cpuTime",void 0),s(this,"gpuTime",void 0),s(this,"frameRate",void 0),s(this,"display",void 0),s(this,"needsRedraw","initialized"),s(this,"_initialized",!1),s(this,"_running",!1),s(this,"_animationFrameId",null),s(this,"_nextFramePromise",null),s(this,"_resolveNextFrame",null),s(this,"_cpuStartTime",0),this.props=Ta(Ta({},ec),r),r=this.props,!r.device)throw new Error("No device provided");var t=this.props.useDevicePixels,n=t===void 0?!0:t;this.stats=r.stats||new et({id:"animation-loop-stats"}),this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this.setProps({autoResizeViewport:r.autoResizeViewport,autoResizeDrawingBuffer:r.autoResizeDrawingBuffer,useDevicePixels:n}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}return N(e,[{key:"destroy",value:function(){this.stop(),this._setDisplay(null)}},{key:"delete",value:function(){this.destroy()}},{key:"setNeedsRedraw",value:function(t){return this.needsRedraw=this.needsRedraw||t,this}},{key:"setProps",value:function(t){return"autoResizeViewport"in t&&(this.props.autoResizeViewport=t.autoResizeViewport||!1),"autoResizeDrawingBuffer"in t&&(this.props.autoResizeDrawingBuffer=t.autoResizeDrawingBuffer||!1),"useDevicePixels"in t&&(this.props.useDevicePixels=t.useDevicePixels||!1),this}},{key:"start",value:function(){var r=re($e.default.mark(function n(){var i,a;return $e.default.wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(!this._running){c.next=2;break}return c.abrupt("return",this);case 2:if(this._running=!0,c.prev=3,this._running){c.next=6;break}return c.abrupt("return",null);case 6:if(this._initialized){c.next=13;break}return this._initialized=!0,c.next=10,this._initDevice();case 10:return this._initialize(),c.next=13,this.props.onInitialize(this._getAnimationProps());case 13:if(this._running){c.next=15;break}return c.abrupt("return",null);case 15:return i!==!1&&(this._cancelAnimationFrame(),this._requestAnimationFrame()),c.abrupt("return",this);case 19:throw c.prev=19,c.t0=c.catch(3),a=c.t0 instanceof Error?c.t0:new Error("Unknown error"),this.props.onError(a),a;case 24:case"end":return c.stop()}},n,this,[[3,19]])}));function t(){return r.apply(this,arguments)}return t}()},{key:"redraw",value:function(){var t;return(t=this.device)!==null&&t!==void 0&&t.isLost?this:(this._beginTimers(),this._setupFrame(),this._updateAnimationProps(),this._renderFrame(this._getAnimationProps()),this._clearNeedsRedraw(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers(),this)}},{key:"stop",value:function(){return this._running&&(this.animationProps&&this.props.onFinalize(this.animationProps),this._cancelAnimationFrame(),this._nextFramePromise=null,this._resolveNextFrame=null,this._running=!1),this}},{key:"attachTimeline",value:function(t){return this.timeline=t,this.timeline}},{key:"detachTimeline",value:function(){this.timeline=null}},{key:"waitForRender",value:function(){var t=this;return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(function(n){t._resolveNextFrame=n})),this._nextFramePromise}},{key:"toDataURL",value:function(){var r=re($e.default.mark(function n(){return $e.default.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return this.setNeedsRedraw("toDataURL"),a.next=3,this.waitForRender();case 3:if(!(this.canvas instanceof HTMLCanvasElement)){a.next=5;break}return a.abrupt("return",this.canvas.toDataURL());case 5:throw new Error("OffscreenCanvas");case 6:case"end":return a.stop()}},n,this)}));function t(){return r.apply(this,arguments)}return t}()},{key:"_initialize",value:function(){this._startEventHandling(),this._initializeAnimationProps(),this._updateAnimationProps(),this._resizeCanvasDrawingBuffer(),this._resizeViewport()}},{key:"_setDisplay",value:function(t){this.display&&(this.display.delete(),this.display.animationLoop=null),t&&(t.animationLoop=this),this.display=t}},{key:"_requestAnimationFrame",value:function(){this._running&&(this._animationFrameId=Rn(this._animationFrame.bind(this)))}},{key:"_cancelAnimationFrame",value:function(){this._animationFrameId===null&&(An(this._animationFrameId),this._animationFrameId=null)}},{key:"_animationFrame",value:function(){this._running&&(this.redraw(),this._requestAnimationFrame())}},{key:"_renderFrame",value:function(t){if(this.display){this.display._renderFrame(t);return}this.props.onRender(this._getAnimationProps())}},{key:"_clearNeedsRedraw",value:function(){this.needsRedraw=!1}},{key:"_setupFrame",value:function(){this._resizeCanvasDrawingBuffer(),this._resizeViewport()}},{key:"_initializeAnimationProps",value:function(){var t,n;if(!this.device)throw new Error("loop");this.animationProps={animationLoop:this,device:this.device,canvas:(t=this.device)===null||t===void 0||(n=t.canvasContext)===null||n===void 0?void 0:n.canvas,timeline:this.timeline,useDevicePixels:this.props.useDevicePixels,needsRedraw:!1,width:1,height:1,aspect:1,time:0,startTime:Date.now(),engineTime:0,tick:0,tock:0,_mousePosition:null}}},{key:"_getAnimationProps",value:function(){if(!this.animationProps)throw new Error("animationProps");return this.animationProps}},{key:"_updateAnimationProps",value:function(){if(this.animationProps){var t=this._getSizeAndAspect(),n=t.width,i=t.height,a=t.aspect;(n!==this.animationProps.width||i!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),a!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=n,this.animationProps.height=i,this.animationProps.aspect=a,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime}}},{key:"_initDevice",value:function(){var r=re($e.default.mark(function n(){var i;return $e.default.wrap(function(u){for(;;)switch(u.prev=u.next){case 0:return u.next=2,this.props.device;case 2:if(this.device=u.sent,this.device){u.next=5;break}throw new Error("No device provided");case 5:this.canvas=((i=this.device.canvasContext)===null||i===void 0?void 0:i.canvas)||null;case 6:case"end":return u.stop()}},n,this)}));function t(){return r.apply(this,arguments)}return t}()},{key:"_createInfoDiv",value:function(){if(this.canvas&&this.props.onAddHTML){var t=document.createElement("div");document.body.appendChild(t),t.style.position="relative";var n=document.createElement("div");n.style.position="absolute",n.style.left="10px",n.style.bottom="10px",n.style.width="300px",n.style.background="white",this.canvas instanceof HTMLCanvasElement&&t.appendChild(this.canvas),t.appendChild(n);var i=this.props.onAddHTML(n);i&&(n.innerHTML=i)}}},{key:"_getSizeAndAspect",value:function(){var t,n,i,a;if(!this.device)return{width:1,height:1,aspect:1};var u=((t=this.device)===null||t===void 0||(n=t.canvasContext)===null||n===void 0?void 0:n.getPixelSize())||[1,1],c=k(u,2),f=c[0],l=c[1],_=1,E=(i=this.device)===null||i===void 0||(a=i.canvasContext)===null||a===void 0?void 0:a.canvas;return E&&E.clientHeight?_=E.clientWidth/E.clientHeight:f>0&&l>0&&(_=f/l),{width:f,height:l,aspect:_}}},{key:"_resizeViewport",value:function(){this.props.autoResizeViewport&&this.device.gl&&this.device.gl.viewport(0,0,this.device.gl.drawingBufferWidth,this.device.gl.drawingBufferHeight)}},{key:"_resizeCanvasDrawingBuffer",value:function(){if(this.props.autoResizeDrawingBuffer){var t,n;(t=this.device)===null||t===void 0||(n=t.canvasContext)===null||n===void 0||n.resize({useDevicePixels:this.props.useDevicePixels})}}},{key:"_beginTimers",value:function(){this.frameRate.timeEnd(),this.frameRate.timeStart()}},{key:"_endTimers",value:function(){this.cpuTime.timeEnd()}},{key:"_startEventHandling",value:function(){this.canvas&&(this.canvas.addEventListener("mousemove",this._onMousemove.bind(this)),this.canvas.addEventListener("mouseleave",this._onMouseleave.bind(this)))}},{key:"_onMousemove",value:function(t){t instanceof MouseEvent&&(this._getAnimationProps()._mousePosition=[t.offsetX,t.offsetY])}},{key:"_onMouseleave",value:function(t){this._getAnimationProps()._mousePosition=null}}]),e}();var Tn=Be(Me(),1);function va(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function ga(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?va(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):va(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function Sa(e,r){var t=this,n=null,i=r?.device||ft.createDevice(),a=new Tr(ga(ga({},r),{},{device:i,onInitialize:function(c){return re(Tn.default.mark(function f(){var l;return Tn.default.wrap(function(E){for(;;)switch(E.prev=E.next){case 0:return n=new e(c),E.next=3,(l=n)===null||l===void 0?void 0:l.onInitialize(c);case 3:return E.abrupt("return",E.sent);case 4:case"end":return E.stop()}},f)}))()},onRender:function(c){var f;return(f=n)===null||f===void 0?void 0:f.onRender(c)},onFinalize:function(c){var f;return(f=n)===null||f===void 0?void 0:f.onFinalize(c)}}));return a.getInfo=function(){return t.AnimationLoopTemplateCtor.info},a}var tc={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function Oa(e,r){if(r.indices){var t=r.indices.value||r.indices;return H(t instanceof Uint16Array||t instanceof Uint32Array,'attribute array for "indices" must be of integer type'),e.createBuffer({usage:ue.INDEX,data:t})}}function ya(e,r){for(var t={},n=0,i=Object.entries(r.attributes);n<i.length;n++){var a=k(i[n],2),u=a[0],c=a[1],f=rc(u);if(c!=null&&c.constant)throw new Error("constant attributes not supported");var l=c?.value;t[f]=e.createBuffer({data:l,id:"".concat(f,"-buffer")})}return t}function rc(e){return tc[e]||e}function de(e,r){return r||(r=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(r)}}))}var me=function(r){return"".concat(r)};function xe(e,r){if(!e)throw new Error(r||"shadertools: assertion failed.")}function ba(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function tt(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?ba(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ba(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var vn={number:{type:"number",validate:function(r,t){return Number.isFinite(r)&&Ee(t)==="object"&&(t.max===void 0||r<=t.max)&&(t.min===void 0||r>=t.min)}},array:{type:"array",validate:function(r,t){return Array.isArray(r)||ArrayBuffer.isView(r)}}};function Ca(e){for(var r={},t=0,n=Object.entries(e);t<n.length;t++){var i=k(n[t],2),a=i[0],u=i[1];r[a]=nc(u)}return r}function Ia(e,r,t){for(var n={},i=0,a=Object.entries(r);i<a.length;i++){var u=k(a[i],2),c=u[0],f=u[1];e&&c in e&&!f.private?(f.validate&&xe(f.validate(e[c],f),"".concat(t,": invalid ").concat(c)),n[c]=e[c]):n[c]=f.value}return n}function nc(e){var r=Na(e);if(r!=="object")return tt(tt({value:e},vn[r]),{},{type:r});if(Ee(e)==="object")return e?e.type!==void 0?tt(tt(tt({},e),vn[e.type]),{},{type:e.type}):e.value===void 0?{type:"object",value:e}:(r=Na(e.value),tt(tt(tt({},e),vn[r]),{},{type:r})):{type:"object",value:null};throw new Error("props")}function Na(e){return Array.isArray(e)||ArrayBuffer.isView(e)?"array":Ee(e)}var gn=function(){function e(r){b(this,e),s(this,"name",void 0),s(this,"vs",void 0),s(this,"fs",void 0),s(this,"getModuleUniforms",void 0),s(this,"dependencies",void 0),s(this,"deprecations",void 0),s(this,"defines",void 0),s(this,"injections",void 0),s(this,"uniforms",{});var t=r.name,n=r.vs,i=r.fs,a=r.dependencies,u=a===void 0?[]:a,c=r.uniforms,f=c===void 0?{}:c,l=r.getUniforms,_=r.deprecations,E=_===void 0?[]:_,d=r.defines,p=d===void 0?{}:d,m=r.inject,R=m===void 0?{}:m;xe(typeof t=="string"),this.name=t,this.vs=n,this.fs=i,this.getModuleUniforms=l,this.dependencies=u,this.deprecations=this._parseDeprecationDefinitions(E),this.defines=p,this.injections=ic(R),f&&(this.uniforms=Ca(f))}return N(e,[{key:"getModuleSource",value:function(t){var n;switch(t){case"vs":n=this.vs||"";break;case"fs":n=this.fs||"";break;default:xe(!1)}return"#define MODULE_".concat(this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_"),`
17
+ `))}return t}function Qf(e,r){for(var t="",n=e.length;n<r;++n)t+=" ";return t+e}function mn(e){return typeof window<"u"&&window.requestAnimationFrame?window.requestAnimationFrame(e):setTimeout(e,1e3/60)}function Rn(e){return typeof window<"u"&&window.cancelAnimationFrame?window.cancelAnimationFrame(e):clearTimeout(e)}var ma=function(r){return"".concat(r)};function Ra(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Aa(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Ra(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Ra(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var Jf=0,ec={device:null,onAddHTML:function(){return""},onInitialize:function(){var e=re($e.default.mark(function t(){return $e.default.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.abrupt("return",null);case 1:case"end":return i.stop()}},t)}));function r(){return e.apply(this,arguments)}return r}(),onRender:function(){},onFinalize:function(){},onError:function(r){return console.error(r)},stats:ft.stats.get("animation-loop-".concat(Jf++)),useDevicePixels:!0,autoResizeViewport:!1,autoResizeDrawingBuffer:!1},Tr=function(){function e(r){if(b(this,e),s(this,"device",null),s(this,"canvas",null),s(this,"props",void 0),s(this,"animationProps",null),s(this,"timeline",null),s(this,"stats",void 0),s(this,"cpuTime",void 0),s(this,"gpuTime",void 0),s(this,"frameRate",void 0),s(this,"display",void 0),s(this,"needsRedraw","initialized"),s(this,"_initialized",!1),s(this,"_running",!1),s(this,"_animationFrameId",null),s(this,"_nextFramePromise",null),s(this,"_resolveNextFrame",null),s(this,"_cpuStartTime",0),this.props=Aa(Aa({},ec),r),r=this.props,!r.device)throw new Error("No device provided");var t=this.props.useDevicePixels,n=t===void 0?!0:t;this.stats=r.stats||new et({id:"animation-loop-stats"}),this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this.setProps({autoResizeViewport:r.autoResizeViewport,autoResizeDrawingBuffer:r.autoResizeDrawingBuffer,useDevicePixels:n}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}return N(e,[{key:"destroy",value:function(){this.stop(),this._setDisplay(null)}},{key:"delete",value:function(){this.destroy()}},{key:"setNeedsRedraw",value:function(t){return this.needsRedraw=this.needsRedraw||t,this}},{key:"setProps",value:function(t){return"autoResizeViewport"in t&&(this.props.autoResizeViewport=t.autoResizeViewport||!1),"autoResizeDrawingBuffer"in t&&(this.props.autoResizeDrawingBuffer=t.autoResizeDrawingBuffer||!1),"useDevicePixels"in t&&(this.props.useDevicePixels=t.useDevicePixels||!1),this}},{key:"start",value:function(){var r=re($e.default.mark(function n(){var i,a;return $e.default.wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(!this._running){c.next=2;break}return c.abrupt("return",this);case 2:if(this._running=!0,c.prev=3,this._running){c.next=6;break}return c.abrupt("return",null);case 6:if(this._initialized){c.next=13;break}return this._initialized=!0,c.next=10,this._initDevice();case 10:return this._initialize(),c.next=13,this.props.onInitialize(this._getAnimationProps());case 13:if(this._running){c.next=15;break}return c.abrupt("return",null);case 15:return i!==!1&&(this._cancelAnimationFrame(),this._requestAnimationFrame()),c.abrupt("return",this);case 19:throw c.prev=19,c.t0=c.catch(3),a=c.t0 instanceof Error?c.t0:new Error("Unknown error"),this.props.onError(a),a;case 24:case"end":return c.stop()}},n,this,[[3,19]])}));function t(){return r.apply(this,arguments)}return t}()},{key:"redraw",value:function(){var t;return(t=this.device)!==null&&t!==void 0&&t.isLost?this:(this._beginTimers(),this._setupFrame(),this._updateAnimationProps(),this._renderFrame(this._getAnimationProps()),this._clearNeedsRedraw(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers(),this)}},{key:"stop",value:function(){return this._running&&(this.animationProps&&this.props.onFinalize(this.animationProps),this._cancelAnimationFrame(),this._nextFramePromise=null,this._resolveNextFrame=null,this._running=!1),this}},{key:"attachTimeline",value:function(t){return this.timeline=t,this.timeline}},{key:"detachTimeline",value:function(){this.timeline=null}},{key:"waitForRender",value:function(){var t=this;return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(function(n){t._resolveNextFrame=n})),this._nextFramePromise}},{key:"toDataURL",value:function(){var r=re($e.default.mark(function n(){return $e.default.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return this.setNeedsRedraw("toDataURL"),a.next=3,this.waitForRender();case 3:if(!(this.canvas instanceof HTMLCanvasElement)){a.next=5;break}return a.abrupt("return",this.canvas.toDataURL());case 5:throw new Error("OffscreenCanvas");case 6:case"end":return a.stop()}},n,this)}));function t(){return r.apply(this,arguments)}return t}()},{key:"_initialize",value:function(){this._startEventHandling(),this._initializeAnimationProps(),this._updateAnimationProps(),this._resizeCanvasDrawingBuffer(),this._resizeViewport()}},{key:"_setDisplay",value:function(t){this.display&&(this.display.delete(),this.display.animationLoop=null),t&&(t.animationLoop=this),this.display=t}},{key:"_requestAnimationFrame",value:function(){this._running&&(this._animationFrameId=mn(this._animationFrame.bind(this)))}},{key:"_cancelAnimationFrame",value:function(){this._animationFrameId===null&&(Rn(this._animationFrameId),this._animationFrameId=null)}},{key:"_animationFrame",value:function(){this._running&&(this.redraw(),this._requestAnimationFrame())}},{key:"_renderFrame",value:function(t){if(this.display){this.display._renderFrame(t);return}this.props.onRender(this._getAnimationProps())}},{key:"_clearNeedsRedraw",value:function(){this.needsRedraw=!1}},{key:"_setupFrame",value:function(){this._resizeCanvasDrawingBuffer(),this._resizeViewport()}},{key:"_initializeAnimationProps",value:function(){var t,n;if(!this.device)throw new Error("loop");this.animationProps={animationLoop:this,device:this.device,canvas:(t=this.device)===null||t===void 0||(n=t.canvasContext)===null||n===void 0?void 0:n.canvas,timeline:this.timeline,useDevicePixels:this.props.useDevicePixels,needsRedraw:!1,width:1,height:1,aspect:1,time:0,startTime:Date.now(),engineTime:0,tick:0,tock:0,_mousePosition:null}}},{key:"_getAnimationProps",value:function(){if(!this.animationProps)throw new Error("animationProps");return this.animationProps}},{key:"_updateAnimationProps",value:function(){if(this.animationProps){var t=this._getSizeAndAspect(),n=t.width,i=t.height,a=t.aspect;(n!==this.animationProps.width||i!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),a!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=n,this.animationProps.height=i,this.animationProps.aspect=a,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime}}},{key:"_initDevice",value:function(){var r=re($e.default.mark(function n(){var i;return $e.default.wrap(function(u){for(;;)switch(u.prev=u.next){case 0:return u.next=2,this.props.device;case 2:if(this.device=u.sent,this.device){u.next=5;break}throw new Error("No device provided");case 5:this.canvas=((i=this.device.canvasContext)===null||i===void 0?void 0:i.canvas)||null;case 6:case"end":return u.stop()}},n,this)}));function t(){return r.apply(this,arguments)}return t}()},{key:"_createInfoDiv",value:function(){if(this.canvas&&this.props.onAddHTML){var t=document.createElement("div");document.body.appendChild(t),t.style.position="relative";var n=document.createElement("div");n.style.position="absolute",n.style.left="10px",n.style.bottom="10px",n.style.width="300px",n.style.background="white",this.canvas instanceof HTMLCanvasElement&&t.appendChild(this.canvas),t.appendChild(n);var i=this.props.onAddHTML(n);i&&(n.innerHTML=i)}}},{key:"_getSizeAndAspect",value:function(){var t,n,i,a;if(!this.device)return{width:1,height:1,aspect:1};var u=((t=this.device)===null||t===void 0||(n=t.canvasContext)===null||n===void 0?void 0:n.getPixelSize())||[1,1],c=k(u,2),f=c[0],l=c[1],_=1,E=(i=this.device)===null||i===void 0||(a=i.canvasContext)===null||a===void 0?void 0:a.canvas;return E&&E.clientHeight?_=E.clientWidth/E.clientHeight:f>0&&l>0&&(_=f/l),{width:f,height:l,aspect:_}}},{key:"_resizeViewport",value:function(){this.props.autoResizeViewport&&this.device.gl&&this.device.gl.viewport(0,0,this.device.gl.drawingBufferWidth,this.device.gl.drawingBufferHeight)}},{key:"_resizeCanvasDrawingBuffer",value:function(){if(this.props.autoResizeDrawingBuffer){var t,n;(t=this.device)===null||t===void 0||(n=t.canvasContext)===null||n===void 0||n.resize({useDevicePixels:this.props.useDevicePixels})}}},{key:"_beginTimers",value:function(){this.frameRate.timeEnd(),this.frameRate.timeStart()}},{key:"_endTimers",value:function(){this.cpuTime.timeEnd()}},{key:"_startEventHandling",value:function(){this.canvas&&(this.canvas.addEventListener("mousemove",this._onMousemove.bind(this)),this.canvas.addEventListener("mouseleave",this._onMouseleave.bind(this)))}},{key:"_onMousemove",value:function(t){t instanceof MouseEvent&&(this._getAnimationProps()._mousePosition=[t.offsetX,t.offsetY])}},{key:"_onMouseleave",value:function(t){this._getAnimationProps()._mousePosition=null}}]),e}();var An=Be(Me(),1);function Ta(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function va(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Ta(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Ta(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function ga(e,r){var t=this,n=null,i=r?.device||ft.createDevice(),a=new Tr(va(va({},r),{},{device:i,onInitialize:function(c){return re(An.default.mark(function f(){var l;return An.default.wrap(function(E){for(;;)switch(E.prev=E.next){case 0:return n=new e(c),E.next=3,(l=n)===null||l===void 0?void 0:l.onInitialize(c);case 3:return E.abrupt("return",E.sent);case 4:case"end":return E.stop()}},f)}))()},onRender:function(c){var f;return(f=n)===null||f===void 0?void 0:f.onRender(c)},onFinalize:function(c){var f;return(f=n)===null||f===void 0?void 0:f.onFinalize(c)}}));return a.getInfo=function(){return t.AnimationLoopTemplateCtor.info},a}var tc={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function Sa(e,r){if(r.indices){var t=r.indices.value||r.indices;return H(t instanceof Uint16Array||t instanceof Uint32Array,'attribute array for "indices" must be of integer type'),e.createBuffer({usage:ue.INDEX,data:t})}}function Oa(e,r){for(var t={},n=0,i=Object.entries(r.attributes);n<i.length;n++){var a=k(i[n],2),u=a[0],c=a[1],f=rc(u);if(c!=null&&c.constant)throw new Error("constant attributes not supported");var l=c?.value;t[f]=e.createBuffer({data:l,id:"".concat(f,"-buffer")})}return t}function rc(e){return tc[e]||e}function pe(e,r){return r||(r=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(r)}}))}var me=function(r){return"".concat(r)};function xe(e,r){if(!e)throw new Error(r||"shadertools: assertion failed.")}function ya(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function tt(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?ya(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ya(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var Tn={number:{type:"number",validate:function(r,t){return Number.isFinite(r)&&Ee(t)==="object"&&(t.max===void 0||r<=t.max)&&(t.min===void 0||r>=t.min)}},array:{type:"array",validate:function(r,t){return Array.isArray(r)||ArrayBuffer.isView(r)}}};function Na(e){for(var r={},t=0,n=Object.entries(e);t<n.length;t++){var i=k(n[t],2),a=i[0],u=i[1];r[a]=nc(u)}return r}function Ca(e,r,t){for(var n={},i=0,a=Object.entries(r);i<a.length;i++){var u=k(a[i],2),c=u[0],f=u[1];e&&c in e&&!f.private?(f.validate&&xe(f.validate(e[c],f),"".concat(t,": invalid ").concat(c)),n[c]=e[c]):n[c]=f.value}return n}function nc(e){var r=ba(e);if(r!=="object")return tt(tt({value:e},Tn[r]),{},{type:r});if(Ee(e)==="object")return e?e.type!==void 0?tt(tt(tt({},e),Tn[e.type]),{},{type:e.type}):e.value===void 0?{type:"object",value:e}:(r=ba(e.value),tt(tt(tt({},e),Tn[r]),{},{type:r})):{type:"object",value:null};throw new Error("props")}function ba(e){return Array.isArray(e)||ArrayBuffer.isView(e)?"array":Ee(e)}var vn=function(){function e(r){b(this,e),s(this,"name",void 0),s(this,"vs",void 0),s(this,"fs",void 0),s(this,"getModuleUniforms",void 0),s(this,"dependencies",void 0),s(this,"deprecations",void 0),s(this,"defines",void 0),s(this,"injections",void 0),s(this,"uniforms",{});var t=r.name,n=r.vs,i=r.fs,a=r.dependencies,u=a===void 0?[]:a,c=r.uniforms,f=c===void 0?{}:c,l=r.getUniforms,_=r.deprecations,E=_===void 0?[]:_,p=r.defines,d=p===void 0?{}:p,m=r.inject,R=m===void 0?{}:m;xe(typeof t=="string"),this.name=t,this.vs=n,this.fs=i,this.getModuleUniforms=l,this.dependencies=u,this.deprecations=this._parseDeprecationDefinitions(E),this.defines=d,this.injections=ic(R),f&&(this.uniforms=Na(f))}return N(e,[{key:"getModuleSource",value:function(t){var n;switch(t){case"vs":n=this.vs||"";break;case"fs":n=this.fs||"";break;default:xe(!1)}return"#define MODULE_".concat(this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_"),`
18
18
  `).concat(n,"// END MODULE_").concat(this.name,`
19
19
 
20
- `)}},{key:"getUniforms",value:function(t,n){return this.getModuleUniforms?this.getModuleUniforms(t,n):Ia(t,this.uniforms,this.name)}},{key:"getDefines",value:function(){return this.defines}},{key:"checkDeprecations",value:function(t,n){this.deprecations.forEach(function(i){var a;(a=i.regex)!==null&&a!==void 0&&a.test(t)&&(i.deprecated?n.deprecated(i.old,i.new)():n.removed(i.old,i.new)())})}},{key:"_parseDeprecationDefinitions",value:function(t){return t.forEach(function(n){switch(n.type){case"function":n.regex=new RegExp("\\b".concat(n.old,"\\("));break;default:n.regex=new RegExp("".concat(n.type," ").concat(n.old,";"))}}),t}},{key:"_defaultGetUniforms",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n={},i=this.uniforms;for(var a in i){var u=i[a];a in t&&!u.private?(u.validate&&xe(u.validate(t[a],u),"".concat(this.name,": invalid ").concat(a)),n[a]=t[a]):n[a]=u.value}return n}}]),e}();function ic(e){var r={vs:{},fs:{}};for(var t in e){var n=e[t],i=t.slice(0,2);if(i!=="vs"&&i!=="fs")throw new Error(i);typeof n=="string"&&(n={order:0,injection:n}),r[i][t]=n}return r}function Pa(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=ac(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
21
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function ac(e,r){if(e){if(typeof e=="string")return Ma(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Ma(e,r)}}function Ma(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function Fa(e){return oc(Da(e))}function Da(e){return e.map(function(r){if(r instanceof gn)return r;xe(typeof r!="string","Shader module use by name is deprecated. Import shader module '".concat(r,"' and use it directly.")),xe(r.name,"shader module has no name");var t=new gn(r);return t.dependencies=Da(r.dependencies||[]),t})}function oc(e){var r={},t={};return Ba({modules:e,level:0,moduleMap:r,moduleDepth:t}),Object.keys(t).sort(function(n,i){return t[i]-t[n]}).map(function(n){return r[n]})}function Ba(e){var r=e.modules,t=e.level,n=e.moduleMap,i=e.moduleDepth;if(t>=5)throw new Error("Possible loop in shader dependency graph");var a=Pa(r),u;try{for(a.s();!(u=a.n()).done;){var c=u.value;n[c.name]=c,(i[c.name]===void 0||i[c.name]<t)&&(i[c.name]=t)}}catch(E){a.e(E)}finally{a.f()}var f=Pa(r),l;try{for(f.s();!(l=f.n()).done;){var _=l.value;_.dependencies&&Ba({modules:_.dependencies,level:t+1,moduleMap:n,moduleDepth:i})}}catch(E){f.e(E)}finally{f.f()}}var xa,Ua,wa,La,Xa,Ha,Wa,Va,ja,ka;function Ka(e){switch(e?.gpu.toLowerCase()){case"apple":return me(xa||(xa=de([`#define APPLE_GPU
20
+ `)}},{key:"getUniforms",value:function(t,n){return this.getModuleUniforms?this.getModuleUniforms(t,n):Ca(t,this.uniforms,this.name)}},{key:"getDefines",value:function(){return this.defines}},{key:"checkDeprecations",value:function(t,n){this.deprecations.forEach(function(i){var a;(a=i.regex)!==null&&a!==void 0&&a.test(t)&&(i.deprecated?n.deprecated(i.old,i.new)():n.removed(i.old,i.new)())})}},{key:"_parseDeprecationDefinitions",value:function(t){return t.forEach(function(n){switch(n.type){case"function":n.regex=new RegExp("\\b".concat(n.old,"\\("));break;default:n.regex=new RegExp("".concat(n.type," ").concat(n.old,";"))}}),t}},{key:"_defaultGetUniforms",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n={},i=this.uniforms;for(var a in i){var u=i[a];a in t&&!u.private?(u.validate&&xe(u.validate(t[a],u),"".concat(this.name,": invalid ").concat(a)),n[a]=t[a]):n[a]=u.value}return n}}]),e}();function ic(e){var r={vs:{},fs:{}};for(var t in e){var n=e[t],i=t.slice(0,2);if(i!=="vs"&&i!=="fs")throw new Error(i);typeof n=="string"&&(n={order:0,injection:n}),r[i][t]=n}return r}function Ia(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=ac(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
21
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function ac(e,r){if(e){if(typeof e=="string")return Pa(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Pa(e,r)}}function Pa(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function Ma(e){return oc(Fa(e))}function Fa(e){return e.map(function(r){if(r instanceof vn)return r;xe(typeof r!="string","Shader module use by name is deprecated. Import shader module '".concat(r,"' and use it directly.")),xe(r.name,"shader module has no name");var t=new vn(r);return t.dependencies=Fa(r.dependencies||[]),t})}function oc(e){var r={},t={};return Da({modules:e,level:0,moduleMap:r,moduleDepth:t}),Object.keys(t).sort(function(n,i){return t[i]-t[n]}).map(function(n){return r[n]})}function Da(e){var r=e.modules,t=e.level,n=e.moduleMap,i=e.moduleDepth;if(t>=5)throw new Error("Possible loop in shader dependency graph");var a=Ia(r),u;try{for(a.s();!(u=a.n()).done;){var c=u.value;n[c.name]=c,(i[c.name]===void 0||i[c.name]<t)&&(i[c.name]=t)}}catch(E){a.e(E)}finally{a.f()}var f=Ia(r),l;try{for(f.s();!(l=f.n()).done;){var _=l.value;_.dependencies&&Da({modules:_.dependencies,level:t+1,moduleMap:n,moduleDepth:i})}}catch(E){f.e(E)}finally{f.f()}}var Ba,xa,Ua,wa,La,Xa,Ha,Wa,Va,ja;function ka(e){switch(e?.gpu.toLowerCase()){case"apple":return me(Ba||(Ba=pe([`#define APPLE_GPU
22
22
  // Apple optimizes away the calculation necessary for emulated fp64
23
23
  #define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1
24
24
  #define LUMA_FP32_TAN_PRECISION_WORKAROUND 1
@@ -31,14 +31,14 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
31
31
  #define LUMA_FP32_TAN_PRECISION_WORKAROUND 1
32
32
  // Intel GPU doesn't have full 32 bits precision in same cases, causes overflow
33
33
  #define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1
34
- `])));case"nvidia":return me(Ua||(Ua=de([`#define NVIDIA_GPU
34
+ `])));case"nvidia":return me(xa||(xa=pe([`#define NVIDIA_GPU
35
35
  // Nvidia optimizes away the calculation necessary for emulated fp64
36
36
  #define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1
37
37
  `],[`\\
38
38
  #define NVIDIA_GPU
39
39
  // Nvidia optimizes away the calculation necessary for emulated fp64
40
40
  #define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1
41
- `])));case"intel":return me(wa||(wa=de([`#define INTEL_GPU
41
+ `])));case"intel":return me(Ua||(Ua=pe([`#define INTEL_GPU
42
42
  // Intel optimizes away the calculation necessary for emulated fp64
43
43
  #define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1
44
44
  // Intel's built-in 'tan' function doesn't have acceptable precision
@@ -53,17 +53,17 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
53
53
  #define LUMA_FP32_TAN_PRECISION_WORKAROUND 1
54
54
  // Intel GPU doesn't have full 32 bits precision in same cases, causes overflow
55
55
  #define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1
56
- `])));case"amd":return me(La||(La=de([`#define AMD_GPU
56
+ `])));case"amd":return me(wa||(wa=pe([`#define AMD_GPU
57
57
  `],[`\\
58
58
  #define AMD_GPU
59
- `])));default:return me(Xa||(Xa=de([`#define DEFAULT_GPU
59
+ `])));default:return me(La||(La=pe([`#define DEFAULT_GPU
60
60
  // Prevent driver from optimizing away the calculation necessary for emulated fp64
61
61
  #define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1
62
62
  `],[`\\
63
63
  #define DEFAULT_GPU
64
64
  // Prevent driver from optimizing away the calculation necessary for emulated fp64
65
65
  #define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1
66
- `])))}}function Ya(e){var r=me(Ha||(Ha=de([`#if (__VERSION__ > 120)
66
+ `])))}}function Ka(e){var r=me(Xa||(Xa=pe([`#if (__VERSION__ > 120)
67
67
 
68
68
  # define FEATURE_GLSL_DERIVATIVES
69
69
  # define FEATURE_GLSL_DRAW_BUFFERS
@@ -92,7 +92,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
92
92
  # define TEXTURE_LOD
93
93
 
94
94
  #endif // __VERSION
95
- `])));return e.features.has("glsl-frag-depth")&&(r+=me(Wa||(Wa=de([`
95
+ `])));return e.features.has("glsl-frag-depth")&&(r+=me(Ha||(Ha=pe([`
96
96
  // FRAG_DEPTH => gl_FragDepth is available
97
97
  #ifdef GL_EXT_frag_depth
98
98
  #extension GL_EXT_frag_depth : enable
@@ -109,7 +109,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
109
109
  # define FRAG_DEPTH
110
110
  # define gl_FragDepth gl_FragDepthEXT
111
111
  #endif
112
- `])))),e!=null&&e.features.has("glsl-derivatives")&&(r+=me(Va||(Va=de([`
112
+ `])))),e!=null&&e.features.has("glsl-derivatives")&&(r+=me(Wa||(Wa=pe([`
113
113
  // DERIVATIVES => dxdF, dxdY and fwidth are available
114
114
  #if defined(GL_OES_standard_derivatives) || defined(FEATURE_GLSL_DERIVATIVES)
115
115
  #extension GL_OES_standard_derivatives : enable
@@ -124,7 +124,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
124
124
  # define FEATURE_GLSL_DERIVATIVES
125
125
  # define DERIVATIVES
126
126
  #endif
127
- `])))),e!=null&&e.features.has("glsl-frag-data")&&(r+=me(ja||(ja=de([`
127
+ `])))),e!=null&&e.features.has("glsl-frag-data")&&(r+=me(Va||(Va=pe([`
128
128
  // DRAW_BUFFERS => gl_FragData[] is available
129
129
  #ifdef GL_EXT_draw_buffers
130
130
  #extension GL_EXT_draw_buffers : require
@@ -139,7 +139,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
139
139
  #define FEATURE_GLSL_DRAW_BUFFERS
140
140
  #define DRAW_BUFFERS
141
141
  #endif
142
- `])))),e!=null&&e.features.has("glsl-texture-lod")&&(r+=me(ka||(ka=de([`// TEXTURE_LOD => texture2DLod etc are available
142
+ `])))),e!=null&&e.features.has("glsl-texture-lod")&&(r+=me(ja||(ja=pe([`// TEXTURE_LOD => texture2DLod etc are available
143
143
  #ifdef GL_EXT_shader_texture_lod
144
144
  #extension GL_EXT_shader_texture_lod : enable
145
145
 
@@ -156,14 +156,14 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
156
156
  # define TEXTURE_LOD
157
157
 
158
158
  #endif
159
- `])))),r}var Ga,za,$a=me(Ga||(Ga=de([`#ifdef MODULE_LOGDEPTH
159
+ `])))),r}var Ya,Ga,za=me(Ya||(Ya=pe([`#ifdef MODULE_LOGDEPTH
160
160
  logdepth_adjustPosition(gl_Position);
161
161
  #endif
162
162
  `],[`\\
163
163
  #ifdef MODULE_LOGDEPTH
164
164
  logdepth_adjustPosition(gl_Position);
165
165
  #endif
166
- `]))),Za=me(za||(za=de([`#ifdef MODULE_MATERIAL
166
+ `]))),$a=me(Ga||(Ga=pe([`#ifdef MODULE_MATERIAL
167
167
  gl_FragColor = material_filterColor(gl_FragColor);
168
168
  #endif
169
169
 
@@ -204,32 +204,32 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
204
204
  #ifdef MODULE_LOGDEPTH
205
205
  logdepth_setFragDepth();
206
206
  #endif
207
- `])));var sc={vs:$a,fs:Za},qa=/void\s+main\s*\([^)]*\)\s*\{\n?/,Qa=/}\n?[^{}]*$/,Sn=[],Gt="__LUMA_INJECT_DECLARATIONS__";function vr(e,r,t){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,i=r==="vs",a=function(){var f=t[u];f.sort(function(d,p){return d.order-p.order}),Sn.length=f.length;for(var l=0,_=f.length;l<_;++l)Sn[l]=f[l].injection;var E="".concat(Sn.join(`
207
+ `])));var sc={vs:za,fs:$a},Za=/void\s+main\s*\([^)]*\)\s*\{\n?/,qa=/}\n?[^{}]*$/,gn=[],Gt="__LUMA_INJECT_DECLARATIONS__";function Sn(e,r,t){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,i=r==="vs",a=function(){var f=t[u];f.sort(function(p,d){return p.order-d.order}),gn.length=f.length;for(var l=0,_=f.length;l<_;++l)gn[l]=f[l].injection;var E="".concat(gn.join(`
208
208
  `),`
209
- `);switch(u){case"vs:#decl":i&&(e=e.replace(Gt,E));break;case"vs:#main-start":i&&(e=e.replace(qa,function(d){return d+E}));break;case"vs:#main-end":i&&(e=e.replace(Qa,function(d){return E+d}));break;case"fs:#decl":i||(e=e.replace(Gt,E));break;case"fs:#main-start":i||(e=e.replace(qa,function(d){return d+E}));break;case"fs:#main-end":i||(e=e.replace(Qa,function(d){return E+d}));break;default:e=e.replace(u,function(d){return d+E})}};for(var u in t)a();return e=e.replace(Gt,""),n&&(e=e.replace(/\}\s*$/,function(c){return c+sc[r]})),e}function uc(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=fc(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
210
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function fc(e,r){if(e){if(typeof e=="string")return Ja(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Ja(e,r)}}function Ja(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function bn(e,r,t){switch(r){case 300:return t?gr(e,cc):pc(e);case 100:return t?gr(e,_c):hc(e);default:throw new Error("unknown GLSL version ".concat(r))}}var eo=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,`#version 300 es
211
- `],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],cc=[].concat(eo,[[Nt("attribute"),"in $1"],[Nt("varying"),"out $1"]]),lc=[].concat(eo,[[Nt("varying"),"in $1"]]),to=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],_c=[].concat(to,[[Nt("in"),"attribute $1"],[Nt("out"),"varying $1"]]),Ec=[].concat(to,[[Nt("in"),"varying $1"]]),On="gl_FragColor",yn=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,dc=/void\s+main\s*\([^)]*\)\s*\{\n?/;function gr(e,r){var t=uc(r),n;try{for(t.s();!(n=t.n()).done;){var i=k(n.value,2),a=i[0],u=i[1];e=e.replace(a,u)}}catch(c){t.e(c)}finally{t.f()}return e}function pc(e){e=gr(e,lc);var r=yn.exec(e);if(r){var t=r[1];e=e.replace(new RegExp("\\b".concat(On,"\\b"),"g"),t)}else{var n="fragmentColor";e=e.replace(dc,function(i){return"out vec4 ".concat(n,`;
212
- `).concat(i)}).replace(new RegExp("\\b".concat(On,"\\b"),"g"),n)}return e}function hc(e){e=gr(e,Ec);var r=yn.exec(e);if(r){var t=r[1];e=e.replace(yn,"").replace(new RegExp("\\b".concat(t,"\\b"),"g"),On)}return e}function Nt(e){return new RegExp("\\b".concat(e,"[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)"),"g")}var ro;function Nn(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=mc(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
213
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function mc(e,r){if(e){if(typeof e=="string")return no(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return no(e,r)}}function no(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function io(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Sr(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?io(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):io(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var Rc=`
209
+ `);switch(u){case"vs:#decl":i&&(e=e.replace(Gt,E));break;case"vs:#main-start":i&&(e=e.replace(Za,function(p){return p+E}));break;case"vs:#main-end":i&&(e=e.replace(qa,function(p){return E+p}));break;case"fs:#decl":i||(e=e.replace(Gt,E));break;case"fs:#main-start":i||(e=e.replace(Za,function(p){return p+E}));break;case"fs:#main-end":i||(e=e.replace(qa,function(p){return E+p}));break;default:e=e.replace(u,function(p){return p+E})}};for(var u in t)a();return e=e.replace(Gt,""),n&&(e=e.replace(/\}\s*$/,function(c){return c+sc[r]})),e}function uc(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=fc(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
210
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function fc(e,r){if(e){if(typeof e=="string")return Qa(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Qa(e,r)}}function Qa(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function Ja(e,r,t){switch(r){case 300:return t?vr(e,cc):dc(e);case 100:return t?vr(e,_c):hc(e);default:throw new Error("unknown GLSL version ".concat(r))}}var eo=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,`#version 300 es
211
+ `],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],cc=[].concat(eo,[[Nt("attribute"),"in $1"],[Nt("varying"),"out $1"]]),lc=[].concat(eo,[[Nt("varying"),"in $1"]]),to=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],_c=[].concat(to,[[Nt("in"),"attribute $1"],[Nt("out"),"varying $1"]]),Ec=[].concat(to,[[Nt("in"),"varying $1"]]),On="gl_FragColor",yn=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,pc=/void\s+main\s*\([^)]*\)\s*\{\n?/;function vr(e,r){var t=uc(r),n;try{for(t.s();!(n=t.n()).done;){var i=k(n.value,2),a=i[0],u=i[1];e=e.replace(a,u)}}catch(c){t.e(c)}finally{t.f()}return e}function dc(e){e=vr(e,lc);var r=yn.exec(e);if(r){var t=r[1];e=e.replace(new RegExp("\\b".concat(On,"\\b"),"g"),t)}else{var n="fragmentColor";e=e.replace(pc,function(i){return"out vec4 ".concat(n,`;
212
+ `).concat(i)}).replace(new RegExp("\\b".concat(On,"\\b"),"g"),n)}return e}function hc(e){e=vr(e,Ec);var r=yn.exec(e);if(r){var t=r[1];e=e.replace(yn,"").replace(new RegExp("\\b".concat(t,"\\b"),"g"),On)}return e}function Nt(e){return new RegExp("\\b".concat(e,"[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)"),"g")}var ro;function bn(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=mc(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
213
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function mc(e,r){if(e){if(typeof e=="string")return no(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return no(e,r)}}function no(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function io(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function gr(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?io(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):io(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var Rc=`
214
214
 
215
215
  `.concat(Gt,`
216
216
 
217
- `),oo={fs:"fragment",vs:"vertex"},Ac=me(ro||(ro=de([`precision highp float;
217
+ `),oo={fs:"fragment",vs:"vertex"},Ac=me(ro||(ro=pe([`precision highp float;
218
218
 
219
219
  `],[`\\
220
220
  precision highp float;
221
221
 
222
- `])));function Cn(e,r){var t=r.vs,n=r.fs,i=Fa(r.modules||[]);return{vs:ao(e,Sr(Sr({},r),{},{source:t,type:"vs",modules:i})),fs:ao(e,Sr(Sr({},r),{},{source:n,type:"fs",modules:i})),getUniforms:Tc(i)}}function ao(e,r){var t=r.id,n=r.source,i=r.type,a=r.modules,u=r.defines,c=u===void 0?{}:u,f=r.hookFunctions,l=f===void 0?[]:f,_=r.inject,E=_===void 0?{}:_,d=r.transpileToGLSL100,p=d===void 0?!1:d,m=r.prologue,R=m===void 0?!0:m,O=r.log;xe(typeof n=="string","shader source must be a string");var S=i==="vs",I=n.split(`
222
+ `])));function Nn(e,r){var t=r.vs,n=r.fs,i=Ma(r.modules||[]);return{vs:ao(e,gr(gr({},r),{},{source:t,type:"vs",modules:i})),fs:ao(e,gr(gr({},r),{},{source:n,type:"fs",modules:i})),getUniforms:Tc(i)}}function ao(e,r){var t=r.id,n=r.source,i=r.type,a=r.modules,u=r.defines,c=u===void 0?{}:u,f=r.hookFunctions,l=f===void 0?[]:f,_=r.inject,E=_===void 0?{}:_,p=r.transpileToGLSL100,d=p===void 0?!1:p,m=r.prologue,R=m===void 0?!0:m,O=r.log;xe(typeof n=="string","shader source must be a string");var S=i==="vs",I=n.split(`
223
223
  `),y=100,w="",B=n;I[0].indexOf("#version ")===0?(y=300,w=I[0],B=I.slice(1).join(`
224
224
  `)):w="#version ".concat(y);var j={};a.forEach(function(_e){Object.assign(j,_e.getDefines())}),Object.assign(j,c);var D=R?"".concat(w,`
225
225
  `).concat(gc({id:t,source:n,type:i}),`
226
226
  `).concat(vc(i),`
227
+ `).concat(ka(e),`
227
228
  `).concat(Ka(e),`
228
- `).concat(Ya(e),`
229
229
  `).concat(Sc(j),`
230
230
  `).concat(S?"":Ac,`
231
231
  `):"".concat(w,`
232
- `),Z=yc(l),K={},Q={},W={};for(var A in E){var h=typeof E[A]=="string"?{injection:E[A],order:0}:E[A],g=/^(v|f)s:(#)?([\w-]+)$/.exec(A);if(g){var F=g[2],x=g[3];F?x==="decl"?Q[A]=[h]:W[A]=[h]:K[A]=[h]}else W[A]=[h]}var M=Nn(a),Y;try{for(M.s();!(Y=M.n()).done;){var V=Y.value;O&&V.checkDeprecations(B,O);var G=V.getModuleSource(i,y);D+=G;var ee=V.injections[i];for(var J in ee){var fe=/^(v|f)s:#([\w-]+)$/.exec(J);if(fe){var Ae=fe[2],Oe=Ae==="decl"?Q:W;Oe[J]=Oe[J]||[],Oe[J].push(ee[J])}else K[J]=K[J]||[],K[J].push(ee[J])}}}catch(_e){M.e(_e)}finally{M.f()}return D+=Rc,D=vr(D,i,Q),D+=Oc(Z[i],K),D+=B,D=vr(D,i,W),D=bn(D,p?100:y,S),D}function Tc(e){return function(t){var n={},i=Nn(e),a;try{for(i.s();!(a=i.n()).done;){var u=a.value,c=u.getUniforms(t,n);Object.assign(n,c)}}catch(f){i.e(f)}finally{i.f()}return n}}function vc(e){return`
232
+ `),Z=yc(l),K={},Q={},W={};for(var A in E){var h=typeof E[A]=="string"?{injection:E[A],order:0}:E[A],g=/^(v|f)s:(#)?([\w-]+)$/.exec(A);if(g){var F=g[2],x=g[3];F?x==="decl"?Q[A]=[h]:W[A]=[h]:K[A]=[h]}else W[A]=[h]}var M=bn(a),Y;try{for(M.s();!(Y=M.n()).done;){var V=Y.value;O&&V.checkDeprecations(B,O);var G=V.getModuleSource(i,y);D+=G;var ee=V.injections[i];for(var J in ee){var fe=/^(v|f)s:#([\w-]+)$/.exec(J);if(fe){var Ae=fe[2],Oe=Ae==="decl"?Q:W;Oe[J]=Oe[J]||[],Oe[J].push(ee[J])}else K[J]=K[J]||[],K[J].push(ee[J])}}}catch(_e){M.e(_e)}finally{M.f()}return D+=Rc,D=Sn(D,i,Q),D+=Oc(Z[i],K),D+=B,D=Sn(D,i,W),D=Ja(D,d?100:y,S),D}function Tc(e){return function(t){var n={},i=bn(e),a;try{for(i.s();!(a=i.n()).done;){var u=a.value,c=u.getUniforms(t,n);Object.assign(n,c)}}catch(f){i.e(f)}finally{i.f()}return n}}function vc(e){return`
233
233
  #define SHADER_TYPE_`.concat(oo[e].toUpperCase(),`
234
234
  `)}function gc(e){var r=e.id,t=e.source,n=e.type,i=r&&t.indexOf("SHADER_NAME")===-1;return i?`
235
235
  #define SHADER_NAME `.concat(r,"_").concat(oo[n],`
@@ -239,24 +239,24 @@ precision highp float;
239
239
  `),r++;var i=e[n];(i||Number.isFinite(i))&&(t+="#define ".concat(n.toUpperCase()," ").concat(e[n],`
240
240
  `))}return r===0&&(t+=`
241
241
  `),t}function Oc(e,r){var t="";for(var n in e){var i=e[n];if(t+="void ".concat(i.signature,` {
242
- `),i.header&&(t+=" ".concat(i.header)),r[n]){var a=r[n];a.sort(function(l,_){return l.order-_.order});var u=Nn(a),c;try{for(u.s();!(c=u.n()).done;){var f=c.value;t+=" ".concat(f.injection,`
242
+ `),i.header&&(t+=" ".concat(i.header)),r[n]){var a=r[n];a.sort(function(l,_){return l.order-_.order});var u=bn(a),c;try{for(u.s();!(c=u.n()).done;){var f=c.value;t+=" ".concat(f.injection,`
243
243
  `)}}catch(l){u.e(l)}finally{u.f()}}i.footer&&(t+=" ".concat(i.footer)),t+=`}
244
- `}return t}function yc(e){var r={vs:{},fs:{}};return e.forEach(function(t){var n,i;typeof t!="string"?(n=t,i=n.hook):(n={},i=t),i=i.trim();var a=i.split(":"),u=k(a,2),c=u[0],f=u[1],l=i.replace(/\(.+/,"");if(c!=="vs"&&c!=="fs")throw new Error(c);r[c][l]=Object.assign(n,{signature:f})}),r}var CA=1/Math.PI*180,IA=1/180*Math.PI,bc={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...bc}};var Ce=globalThis.mathgl.config;function so(e,{precision:r=Ce.precision}={}){return e=Nc(e),"".concat(parseFloat(e.toPrecision(r)))}function Ct(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function In(e,r,t){let n=Ce.EPSILON;t&&(Ce.EPSILON=t);try{if(e===r)return!0;if(Ct(e)&&Ct(r)){if(e.length!==r.length)return!1;for(let i=0;i<e.length;++i)if(!In(e[i],r[i]))return!1;return!0}return e&&e.equals?e.equals(r):r&&r.equals?r.equals(e):typeof e=="number"&&typeof r=="number"?Math.abs(e-r)<=Ce.EPSILON*Math.max(1,Math.abs(e),Math.abs(r)):!1}finally{Ce.EPSILON=n}}function Nc(e){return Math.round(e/Ce.EPSILON)*Ce.EPSILON}function Cc(e){function r(){var t=Reflect.construct(e,Array.from(arguments));return Object.setPrototypeOf(t,Object.getPrototypeOf(this)),t}return r.prototype=Object.create(e.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(r,e):r.__proto__=e,r}var Or=class extends Cc(Array){clone(){return new this.constructor().copy(this)}fromArray(r,t=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=r[n+t];return this.check()}toArray(r=[],t=0){for(let n=0;n<this.ELEMENTS;++n)r[t+n]=this[n];return r}toObject(r){return r}from(r){return Array.isArray(r)?this.copy(r):this.fromObject(r)}to(r){return r===this?this:Ct(r)?this.toArray(r):this.toObject(r)}toTarget(r){return r?this.to(r):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(Ce)}formatString(r){let t="";for(let n=0;n<this.ELEMENTS;++n)t+=(n>0?", ":"")+so(this[n],r);return"".concat(r.printTypes?this.constructor.name:"","[").concat(t,"]")}equals(r){if(!r||this.length!==r.length)return!1;for(let t=0;t<this.ELEMENTS;++t)if(!In(this[t],r[t]))return!1;return!0}exactEquals(r){if(!r||this.length!==r.length)return!1;for(let t=0;t<this.ELEMENTS;++t)if(this[t]!==r[t])return!1;return!0}negate(){for(let r=0;r<this.ELEMENTS;++r)this[r]=-this[r];return this.check()}lerp(r,t,n){if(n===void 0)return this.lerp(this,r,t);for(let i=0;i<this.ELEMENTS;++i){let a=r[i],u=typeof t=="number"?t:t[i];this[i]=a+n*(u-a)}return this.check()}min(r){for(let t=0;t<this.ELEMENTS;++t)this[t]=Math.min(r[t],this[t]);return this.check()}max(r){for(let t=0;t<this.ELEMENTS;++t)this[t]=Math.max(r[t],this[t]);return this.check()}clamp(r,t){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],r[n]),t[n]);return this.check()}add(...r){for(let t of r)for(let n=0;n<this.ELEMENTS;++n)this[n]+=t[n];return this.check()}subtract(...r){for(let t of r)for(let n=0;n<this.ELEMENTS;++n)this[n]-=t[n];return this.check()}scale(r){if(typeof r=="number")for(let t=0;t<this.ELEMENTS;++t)this[t]*=r;else for(let t=0;t<this.ELEMENTS&&t<r.length;++t)this[t]*=r[t];return this.check()}multiplyByScalar(r){for(let t=0;t<this.ELEMENTS;++t)this[t]*=r;return this.check()}check(){if(Ce.debug&&!this.validate())throw new Error("math.gl: ".concat(this.constructor.name," some fields set to invalid numbers'"));return this}validate(){let r=this.length===this.ELEMENTS;for(let t=0;t<this.ELEMENTS;++t)r=r&&Number.isFinite(this[t]);return r}sub(r){return this.subtract(r)}setScalar(r){for(let t=0;t<this.ELEMENTS;++t)this[t]=r;return this.check()}addScalar(r){for(let t=0;t<this.ELEMENTS;++t)this[t]+=r;return this.check()}subScalar(r){return this.addScalar(-r)}multiplyScalar(r){for(let t=0;t<this.ELEMENTS;++t)this[t]*=r;return this.check()}divideScalar(r){return this.multiplyByScalar(1/r)}clampScalar(r,t){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],r),t);return this.check()}get elements(){return this}};function be(e){if(!Number.isFinite(e))throw new Error("Invalid number ".concat(JSON.stringify(e)));return e}function Pn(e,r){if(!e)throw new Error("math.gl assertion ".concat(r))}var yr=class extends Or{get x(){return this[0]}set x(r){this[0]=be(r)}get y(){return this[1]}set y(r){this[1]=be(r)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let r=0;for(let t=0;t<this.ELEMENTS;++t)r+=this[t]*this[t];return r}magnitudeSquared(){return this.lengthSquared()}distance(r){return Math.sqrt(this.distanceSquared(r))}distanceSquared(r){let t=0;for(let n=0;n<this.ELEMENTS;++n){let i=this[n]-r[n];t+=i*i}return be(t)}dot(r){let t=0;for(let n=0;n<this.ELEMENTS;++n)t+=this[n]*r[n];return be(t)}normalize(){let r=this.magnitude();if(r!==0)for(let t=0;t<this.ELEMENTS;++t)this[t]/=r;return this.check()}multiply(...r){for(let t of r)for(let n=0;n<this.ELEMENTS;++n)this[n]*=t[n];return this.check()}divide(...r){for(let t of r)for(let n=0;n<this.ELEMENTS;++n)this[n]/=t[n];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(r){return this.distance(r)}distanceToSquared(r){return this.distanceSquared(r)}getComponent(r){return Pn(r>=0&&r<this.ELEMENTS,"index is out of range"),be(this[r])}setComponent(r,t){return Pn(r>=0&&r<this.ELEMENTS,"index is out of range"),this[r]=t,this.check()}addVectors(r,t){return this.copy(r).add(t)}subVectors(r,t){return this.copy(r).subtract(t)}multiplyVectors(r,t){return this.copy(r).multiply(t)}addScaledVector(r,t){return this.add(new this.constructor(r).multiplyScalar(t))}};var Mn=typeof Float32Array<"u"?Float32Array:Array;var XA=Math.PI/180;function uo(e,r,t){let n=r[0],i=r[1],a=r[2],u=t[3]*n+t[7]*i+t[11]*a||1;return e[0]=(t[0]*n+t[4]*i+t[8]*a)/u,e[1]=(t[1]*n+t[5]*i+t[9]*a)/u,e[2]=(t[2]*n+t[6]*i+t[10]*a)/u,e}function fo(e,r,t){let n=r[0],i=r[1];return e[0]=t[0]*n+t[2]*i,e[1]=t[1]*n+t[3]*i,e[2]=r[2],e}function Pc(){let e=new Mn(3);return Mn!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function Mc(e,r){return e[0]*r[0]+e[1]*r[1]+e[2]*r[2]}function co(e,r,t){let n=r[0],i=r[1],a=r[2],u=t[0],c=t[1],f=t[2];return e[0]=i*f-a*c,e[1]=a*u-n*f,e[2]=n*c-i*u,e}function lo(e,r,t){let n=r[0],i=r[1],a=r[2],u=t[3]*n+t[7]*i+t[11]*a+t[15];return u=u||1,e[0]=(t[0]*n+t[4]*i+t[8]*a+t[12])/u,e[1]=(t[1]*n+t[5]*i+t[9]*a+t[13])/u,e[2]=(t[2]*n+t[6]*i+t[10]*a+t[14])/u,e}function _o(e,r,t){let n=r[0],i=r[1],a=r[2];return e[0]=n*t[0]+i*t[3]+a*t[6],e[1]=n*t[1]+i*t[4]+a*t[7],e[2]=n*t[2]+i*t[5]+a*t[8],e}function Eo(e,r,t){let n=t[0],i=t[1],a=t[2],u=t[3],c=r[0],f=r[1],l=r[2],_=i*l-a*f,E=a*c-n*l,d=n*f-i*c,p=i*d-a*E,m=a*_-n*d,R=n*E-i*_,O=u*2;return _*=O,E*=O,d*=O,p*=2,m*=2,R*=2,e[0]=c+_+p,e[1]=f+E+m,e[2]=l+d+R,e}function po(e,r,t,n){let i=[],a=[];return i[0]=r[0]-t[0],i[1]=r[1]-t[1],i[2]=r[2]-t[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),e[0]=a[0]+t[0],e[1]=a[1]+t[1],e[2]=a[2]+t[2],e}function ho(e,r,t,n){let i=[],a=[];return i[0]=r[0]-t[0],i[1]=r[1]-t[1],i[2]=r[2]-t[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),e[0]=a[0]+t[0],e[1]=a[1]+t[1],e[2]=a[2]+t[2],e}function mo(e,r,t,n){let i=[],a=[];return i[0]=r[0]-t[0],i[1]=r[1]-t[1],i[2]=r[2]-t[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],e[0]=a[0]+t[0],e[1]=a[1]+t[1],e[2]=a[2]+t[2],e}function Ro(e,r){let t=e[0],n=e[1],i=e[2],a=r[0],u=r[1],c=r[2],f=Math.sqrt((t*t+n*n+i*i)*(a*a+u*u+c*c)),l=f&&Mc(e,r)/f;return Math.acos(Math.min(Math.max(l,-1),1))}var kA=function(){let e=Pc();return function(r,t,n,i,a,u){let c,f;for(t||(t=3),n||(n=0),i?f=Math.min(i*t+n,r.length):f=r.length,c=n;c<f;c+=t)e[0]=r[c],e[1]=r[c+1],e[2]=r[c+2],a(e,e,u),r[c]=e[0],r[c+1]=e[1],r[c+2]=e[2];return r}}();var Fn=[0,0,0],br,lt=class extends yr{static get ZERO(){return br||(br=new lt(0,0,0),Object.freeze(br)),br}constructor(r=0,t=0,n=0){super(-0,-0,-0),arguments.length===1&&Ct(r)?this.copy(r):(Ce.debug&&(be(r),be(t),be(n)),this[0]=r,this[1]=t,this[2]=n)}set(r,t,n){return this[0]=r,this[1]=t,this[2]=n,this.check()}copy(r){return this[0]=r[0],this[1]=r[1],this[2]=r[2],this.check()}fromObject(r){return Ce.debug&&(be(r.x),be(r.y),be(r.z)),this[0]=r.x,this[1]=r.y,this[2]=r.z,this.check()}toObject(r){return r.x=this[0],r.y=this[1],r.z=this[2],r}get ELEMENTS(){return 3}get z(){return this[2]}set z(r){this[2]=be(r)}angle(r){return Ro(this,r)}cross(r){return co(this,this,r),this.check()}rotateX({radians:r,origin:t=Fn}){return po(this,this,t,r),this.check()}rotateY({radians:r,origin:t=Fn}){return ho(this,this,t,r),this.check()}rotateZ({radians:r,origin:t=Fn}){return mo(this,this,t,r),this.check()}transform(r){return this.transformAsPoint(r)}transformAsPoint(r){return lo(this,this,r),this.check()}transformAsVector(r){return uo(this,this,r),this.check()}transformByMatrix3(r){return _o(this,this,r),this.check()}transformByMatrix2(r){return fo(this,this,r),this.check()}transformByQuaternion(r){return Eo(this,this,r),this.check()}};function Ao(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=Fc(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
245
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function Fc(e,r){if(e){if(typeof e=="string")return To(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return To(e,r)}}function To(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function vo(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Le(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?vo(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):vo(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var Dc={vs:"",fs:"",modules:[],defines:{},inject:{},transpileToGLSL100:!1,layout:null,varyings:[],bufferMode:35981,topology:"triangle-list",parameters:{}},Nr=function(){function e(r){b(this,e),s(this,"device",void 0),s(this,"stateHash",0),s(this,"_hashCounter",0),s(this,"_hashes",{}),s(this,"_useCounts",{}),s(this,"_pipelineCache",{}),s(this,"_getUniforms",{}),s(this,"_hookFunctions",[]),s(this,"_defaultModules",[]),this.device=r}return N(e,[{key:"addDefaultModule",value:function(t){this._defaultModules.find(function(n){return n.name===(typeof t=="string"?t:t.name)})||this._defaultModules.push(t),this.stateHash++}},{key:"removeDefaultModule",value:function(t){var n=typeof t=="string"?t:t.name;this._defaultModules=this._defaultModules.filter(function(i){return i.name!==n}),this.stateHash++}},{key:"addShaderHook",value:function(t,n){n&&(t=Object.assign(n,{hook:t})),this._hookFunctions.push(t),this.stateHash++}},{key:"createRenderPipeline",value:function(t){var n=Le(Le({},Dc),t),i=this._getModuleList(n.modules),a=this._hashRenderPipeline(Le(Le({},n),{},{modules:i}));if(!this._pipelineCache[a]){var u=this._createRenderPipeline(Le(Le({},n),{},{modules:i})),c=u.pipeline,f=u.getUniforms;c.hash=a,this._pipelineCache[a]=c,this._getUniforms[a]=f||function(l){return{}},this._useCounts[a]=0}return this._useCounts[a]++,{pipeline:this._pipelineCache[a],getUniforms:this._getUniforms[a]}}},{key:"release",value:function(t){var n=t.hash;this._useCounts[n]--,this._useCounts[n]===0&&(this._pipelineCache[n].destroy(),delete this._pipelineCache[n],delete this._getUniforms[n],delete this._useCounts[n])}},{key:"getUniforms",value:function(t){return this._getUniforms[t.hash]||null}},{key:"_createRenderPipeline",value:function(t){var n={gpu:this.device.info.gpu,features:this.device.features};if(!t.fs)throw new Error("fs");var i=Cn(n,Le(Le({},t),{},{fs:t.fs,hookFunctions:this._hookFunctions})),a=this.device.createRenderPipeline(Le(Le({},t),{},{vs:this.device.createShader({stage:"vertex",source:i.vs}),fs:i.fs?this.device.createShader({stage:"fragment",source:i.fs}):null}));return{pipeline:a,getUniforms:i.getUniforms}}},{key:"_hashRenderPipeline",value:function(t){var n=this,i=t.modules,a=i===void 0?[]:i,u=t.varyings,c=u===void 0?[]:u,f=t.defines,l=f===void 0?{}:f,_=t.inject,E=_===void 0?{}:_,d=t.parameters,p=d===void 0?{}:d,m=this._getHash(t.vs),R=t.fs?this._getHash(t.fs):0,O=a.map(function(h){return n._getHash(typeof h=="string"?h:h.name)}).sort(),S=c.map(function(h){return n._getHash(h)}),I=Object.keys(l).sort(),y=Object.keys(E).sort(),w=[],B=[],j=Ao(I),D;try{for(j.s();!(D=j.n()).done;){var Z=D.value;w.push(this._getHash(Z)),w.push(this._getHash(String(l[Z])))}}catch(h){j.e(h)}finally{j.f()}var K=Ao(y),Q;try{for(K.s();!(Q=K.n()).done;){var W=Q.value;B.push(this._getHash(W)),B.push(this._getHash(E[W]))}}catch(h){K.e(h)}finally{K.f()}var A=JSON.stringify(p);return"".concat(m,"/").concat(R,"D").concat(w.join("/"),"M").concat(O.join("/"),"I").concat(B.join("/"),"V").concat(S.join("/"),"H").concat(this.stateHash,"B").concat(t.bufferMode).concat(t.transpileToGLSL100?"T":"","P").concat(A)}},{key:"_getHash",value:function(t){return this._hashes[t]===void 0&&(this._hashes[t]=this._hashCounter++),this._hashes[t]}},{key:"_getModuleList",value:function(){for(var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],n=new Array(this._defaultModules.length+t.length),i={},a=0,u=0,c=this._defaultModules.length;u<c;++u){var f=this._defaultModules[u],l=f.name;n[a++]=f,i[l]=!0}for(var _=0,E=t.length;_<E;++_){var d=t[_],p=d.name;i[p]||(n[a++]=d,i[p]=!0)}return n.length=a,n}}],[{key:"getDefaultPipelineFactory",value:function(t){return t.defaultPipelineFactory=t.defaultPipelineFactory||new e(t),t.defaultPipelineFactory}}]),e}();function go(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function It(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?go(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):go(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var Bc=It(It({},bt._DEFAULT_PROPS),{},{vs:null,fs:null,id:"unnamed",handle:void 0,userData:{},modules:[],moduleSettings:{},geometry:null}),Cr=function(){function e(r,t){if(b(this,e),s(this,"device",void 0),s(this,"pipeline",void 0),s(this,"id",void 0),s(this,"vs",void 0),s(this,"fs",null),s(this,"topology",void 0),s(this,"vertexCount",void 0),s(this,"props",void 0),s(this,"_getModuleUniforms",void 0),this.props=It(It({},Bc),t),t=this.props,this.id=this.props.id,this.device=r,!t.vs)throw new Error("no vertex shader");this.vs=So(this.device,t.vs),t.fs&&(this.fs=So(this.device,t.fs)),this.vertexCount=this.props.vertexCount,this.topology=this.props.topology,this.props.geometry&&(this.vertexCount=this.props.geometry.vertexCount,this.topology=this.props.geometry.topology||"triangle-list");var n=Nr.getDefaultPipelineFactory(this.device),i=n.createRenderPipeline(It(It({},this.props),{},{vs:this.vs,fs:this.fs,topology:this.topology,parameters:t.parameters,layout:t.layout})),a=i.pipeline,u=i.getUniforms;this.pipeline=a,this._getModuleUniforms=u,this.props.geometry&&this._setGeometry(this.props.geometry),this.setUniforms(this._getModuleUniforms()),this.setProps(this.props)}return N(e,[{key:"destroy",value:function(){this.pipeline.destroy()}},{key:"draw",value:function(t){return this.pipeline.draw({renderPass:t,vertexCount:this.vertexCount,instanceCount:this.props.instanceCount}),this}},{key:"setProps",value:function(t){return t.indices&&this.setIndexBuffer(t.indices),t.attributes&&this.setAttributes(t.attributes),t.bindings&&this.setBindings(t.bindings),t.uniforms&&this.setUniforms(t.uniforms),t.moduleSettings&&this.updateModuleSettings(t.moduleSettings),this}},{key:"updateModuleSettings",value:function(t){var n=this._getModuleUniforms(t);return this.setUniforms(n),this}},{key:"setIndexBuffer",value:function(t){return this.pipeline.setIndexBuffer(t),this}},{key:"setAttributes",value:function(t){return this.pipeline.setAttributes(t),Object.assign(this.props.attributes,t),this}},{key:"setBindings",value:function(t){return this.pipeline.setBindings(t),Object.assign(this.props.bindings,t),this}},{key:"setUniforms",value:function(t){return this.pipeline.setUniforms(t),Object.assign(this.props.uniforms,t),this}},{key:"_setGeometry",value:function(t){var n=ya(this.device,t);this.setAttributes(n);var i=Oa(this.device,t);i&&this.setIndexBuffer(i)}}]),e}();function So(e,r){if(typeof r=="string")return r;switch(e.info.type){case"webgpu":if(r!=null&&r.wgsl)return r.wgsl;throw new Error("WebGPU does not support GLSL shaders");default:if(r!=null&&r.glsl)return r.glsl;throw new Error("WebGL does not support WGSL shaders")}}var o=function(e){return e[e.DEPTH_BUFFER_BIT=256]="DEPTH_BUFFER_BIT",e[e.STENCIL_BUFFER_BIT=1024]="STENCIL_BUFFER_BIT",e[e.COLOR_BUFFER_BIT=16384]="COLOR_BUFFER_BIT",e[e.POINTS=0]="POINTS",e[e.LINES=1]="LINES",e[e.LINE_LOOP=2]="LINE_LOOP",e[e.LINE_STRIP=3]="LINE_STRIP",e[e.TRIANGLES=4]="TRIANGLES",e[e.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",e[e.TRIANGLE_FAN=6]="TRIANGLE_FAN",e[e.ZERO=0]="ZERO",e[e.ONE=1]="ONE",e[e.SRC_COLOR=768]="SRC_COLOR",e[e.ONE_MINUS_SRC_COLOR=769]="ONE_MINUS_SRC_COLOR",e[e.SRC_ALPHA=770]="SRC_ALPHA",e[e.ONE_MINUS_SRC_ALPHA=771]="ONE_MINUS_SRC_ALPHA",e[e.DST_ALPHA=772]="DST_ALPHA",e[e.ONE_MINUS_DST_ALPHA=773]="ONE_MINUS_DST_ALPHA",e[e.DST_COLOR=774]="DST_COLOR",e[e.ONE_MINUS_DST_COLOR=775]="ONE_MINUS_DST_COLOR",e[e.SRC_ALPHA_SATURATE=776]="SRC_ALPHA_SATURATE",e[e.CONSTANT_COLOR=32769]="CONSTANT_COLOR",e[e.ONE_MINUS_CONSTANT_COLOR=32770]="ONE_MINUS_CONSTANT_COLOR",e[e.CONSTANT_ALPHA=32771]="CONSTANT_ALPHA",e[e.ONE_MINUS_CONSTANT_ALPHA=32772]="ONE_MINUS_CONSTANT_ALPHA",e[e.FUNC_ADD=32774]="FUNC_ADD",e[e.FUNC_SUBTRACT=32778]="FUNC_SUBTRACT",e[e.FUNC_REVERSE_SUBTRACT=32779]="FUNC_REVERSE_SUBTRACT",e[e.BLEND_EQUATION=32777]="BLEND_EQUATION",e[e.BLEND_EQUATION_RGB=32777]="BLEND_EQUATION_RGB",e[e.BLEND_EQUATION_ALPHA=34877]="BLEND_EQUATION_ALPHA",e[e.BLEND_DST_RGB=32968]="BLEND_DST_RGB",e[e.BLEND_SRC_RGB=32969]="BLEND_SRC_RGB",e[e.BLEND_DST_ALPHA=32970]="BLEND_DST_ALPHA",e[e.BLEND_SRC_ALPHA=32971]="BLEND_SRC_ALPHA",e[e.BLEND_COLOR=32773]="BLEND_COLOR",e[e.ARRAY_BUFFER_BINDING=34964]="ARRAY_BUFFER_BINDING",e[e.ELEMENT_ARRAY_BUFFER_BINDING=34965]="ELEMENT_ARRAY_BUFFER_BINDING",e[e.LINE_WIDTH=2849]="LINE_WIDTH",e[e.ALIASED_POINT_SIZE_RANGE=33901]="ALIASED_POINT_SIZE_RANGE",e[e.ALIASED_LINE_WIDTH_RANGE=33902]="ALIASED_LINE_WIDTH_RANGE",e[e.CULL_FACE_MODE=2885]="CULL_FACE_MODE",e[e.FRONT_FACE=2886]="FRONT_FACE",e[e.DEPTH_RANGE=2928]="DEPTH_RANGE",e[e.DEPTH_WRITEMASK=2930]="DEPTH_WRITEMASK",e[e.DEPTH_CLEAR_VALUE=2931]="DEPTH_CLEAR_VALUE",e[e.DEPTH_FUNC=2932]="DEPTH_FUNC",e[e.STENCIL_CLEAR_VALUE=2961]="STENCIL_CLEAR_VALUE",e[e.STENCIL_FUNC=2962]="STENCIL_FUNC",e[e.STENCIL_FAIL=2964]="STENCIL_FAIL",e[e.STENCIL_PASS_DEPTH_FAIL=2965]="STENCIL_PASS_DEPTH_FAIL",e[e.STENCIL_PASS_DEPTH_PASS=2966]="STENCIL_PASS_DEPTH_PASS",e[e.STENCIL_REF=2967]="STENCIL_REF",e[e.STENCIL_VALUE_MASK=2963]="STENCIL_VALUE_MASK",e[e.STENCIL_WRITEMASK=2968]="STENCIL_WRITEMASK",e[e.STENCIL_BACK_FUNC=34816]="STENCIL_BACK_FUNC",e[e.STENCIL_BACK_FAIL=34817]="STENCIL_BACK_FAIL",e[e.STENCIL_BACK_PASS_DEPTH_FAIL=34818]="STENCIL_BACK_PASS_DEPTH_FAIL",e[e.STENCIL_BACK_PASS_DEPTH_PASS=34819]="STENCIL_BACK_PASS_DEPTH_PASS",e[e.STENCIL_BACK_REF=36003]="STENCIL_BACK_REF",e[e.STENCIL_BACK_VALUE_MASK=36004]="STENCIL_BACK_VALUE_MASK",e[e.STENCIL_BACK_WRITEMASK=36005]="STENCIL_BACK_WRITEMASK",e[e.VIEWPORT=2978]="VIEWPORT",e[e.SCISSOR_BOX=3088]="SCISSOR_BOX",e[e.COLOR_CLEAR_VALUE=3106]="COLOR_CLEAR_VALUE",e[e.COLOR_WRITEMASK=3107]="COLOR_WRITEMASK",e[e.UNPACK_ALIGNMENT=3317]="UNPACK_ALIGNMENT",e[e.PACK_ALIGNMENT=3333]="PACK_ALIGNMENT",e[e.MAX_TEXTURE_SIZE=3379]="MAX_TEXTURE_SIZE",e[e.MAX_VIEWPORT_DIMS=3386]="MAX_VIEWPORT_DIMS",e[e.SUBPIXEL_BITS=3408]="SUBPIXEL_BITS",e[e.RED_BITS=3410]="RED_BITS",e[e.GREEN_BITS=3411]="GREEN_BITS",e[e.BLUE_BITS=3412]="BLUE_BITS",e[e.ALPHA_BITS=3413]="ALPHA_BITS",e[e.DEPTH_BITS=3414]="DEPTH_BITS",e[e.STENCIL_BITS=3415]="STENCIL_BITS",e[e.POLYGON_OFFSET_UNITS=10752]="POLYGON_OFFSET_UNITS",e[e.POLYGON_OFFSET_FACTOR=32824]="POLYGON_OFFSET_FACTOR",e[e.TEXTURE_BINDING_2D=32873]="TEXTURE_BINDING_2D",e[e.SAMPLE_BUFFERS=32936]="SAMPLE_BUFFERS",e[e.SAMPLES=32937]="SAMPLES",e[e.SAMPLE_COVERAGE_VALUE=32938]="SAMPLE_COVERAGE_VALUE",e[e.SAMPLE_COVERAGE_INVERT=32939]="SAMPLE_COVERAGE_INVERT",e[e.COMPRESSED_TEXTURE_FORMATS=34467]="COMPRESSED_TEXTURE_FORMATS",e[e.VENDOR=7936]="VENDOR",e[e.RENDERER=7937]="RENDERER",e[e.VERSION=7938]="VERSION",e[e.IMPLEMENTATION_COLOR_READ_TYPE=35738]="IMPLEMENTATION_COLOR_READ_TYPE",e[e.IMPLEMENTATION_COLOR_READ_FORMAT=35739]="IMPLEMENTATION_COLOR_READ_FORMAT",e[e.BROWSER_DEFAULT_WEBGL=37444]="BROWSER_DEFAULT_WEBGL",e[e.STATIC_DRAW=35044]="STATIC_DRAW",e[e.STREAM_DRAW=35040]="STREAM_DRAW",e[e.DYNAMIC_DRAW=35048]="DYNAMIC_DRAW",e[e.ARRAY_BUFFER=34962]="ARRAY_BUFFER",e[e.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER",e[e.BUFFER_SIZE=34660]="BUFFER_SIZE",e[e.BUFFER_USAGE=34661]="BUFFER_USAGE",e[e.CURRENT_VERTEX_ATTRIB=34342]="CURRENT_VERTEX_ATTRIB",e[e.VERTEX_ATTRIB_ARRAY_ENABLED=34338]="VERTEX_ATTRIB_ARRAY_ENABLED",e[e.VERTEX_ATTRIB_ARRAY_SIZE=34339]="VERTEX_ATTRIB_ARRAY_SIZE",e[e.VERTEX_ATTRIB_ARRAY_STRIDE=34340]="VERTEX_ATTRIB_ARRAY_STRIDE",e[e.VERTEX_ATTRIB_ARRAY_TYPE=34341]="VERTEX_ATTRIB_ARRAY_TYPE",e[e.VERTEX_ATTRIB_ARRAY_NORMALIZED=34922]="VERTEX_ATTRIB_ARRAY_NORMALIZED",e[e.VERTEX_ATTRIB_ARRAY_POINTER=34373]="VERTEX_ATTRIB_ARRAY_POINTER",e[e.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING=34975]="VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",e[e.CULL_FACE=2884]="CULL_FACE",e[e.FRONT=1028]="FRONT",e[e.BACK=1029]="BACK",e[e.FRONT_AND_BACK=1032]="FRONT_AND_BACK",e[e.BLEND=3042]="BLEND",e[e.DEPTH_TEST=2929]="DEPTH_TEST",e[e.DITHER=3024]="DITHER",e[e.POLYGON_OFFSET_FILL=32823]="POLYGON_OFFSET_FILL",e[e.SAMPLE_ALPHA_TO_COVERAGE=32926]="SAMPLE_ALPHA_TO_COVERAGE",e[e.SAMPLE_COVERAGE=32928]="SAMPLE_COVERAGE",e[e.SCISSOR_TEST=3089]="SCISSOR_TEST",e[e.STENCIL_TEST=2960]="STENCIL_TEST",e[e.NO_ERROR=0]="NO_ERROR",e[e.INVALID_ENUM=1280]="INVALID_ENUM",e[e.INVALID_VALUE=1281]="INVALID_VALUE",e[e.INVALID_OPERATION=1282]="INVALID_OPERATION",e[e.OUT_OF_MEMORY=1285]="OUT_OF_MEMORY",e[e.CONTEXT_LOST_WEBGL=37442]="CONTEXT_LOST_WEBGL",e[e.CW=2304]="CW",e[e.CCW=2305]="CCW",e[e.DONT_CARE=4352]="DONT_CARE",e[e.FASTEST=4353]="FASTEST",e[e.NICEST=4354]="NICEST",e[e.GENERATE_MIPMAP_HINT=33170]="GENERATE_MIPMAP_HINT",e[e.BYTE=5120]="BYTE",e[e.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",e[e.SHORT=5122]="SHORT",e[e.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",e[e.INT=5124]="INT",e[e.UNSIGNED_INT=5125]="UNSIGNED_INT",e[e.FLOAT=5126]="FLOAT",e[e.DOUBLE=5130]="DOUBLE",e[e.DEPTH_COMPONENT=6402]="DEPTH_COMPONENT",e[e.ALPHA=6406]="ALPHA",e[e.RGB=6407]="RGB",e[e.RGBA=6408]="RGBA",e[e.LUMINANCE=6409]="LUMINANCE",e[e.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA",e[e.UNSIGNED_SHORT_4_4_4_4=32819]="UNSIGNED_SHORT_4_4_4_4",e[e.UNSIGNED_SHORT_5_5_5_1=32820]="UNSIGNED_SHORT_5_5_5_1",e[e.UNSIGNED_SHORT_5_6_5=33635]="UNSIGNED_SHORT_5_6_5",e[e.FRAGMENT_SHADER=35632]="FRAGMENT_SHADER",e[e.VERTEX_SHADER=35633]="VERTEX_SHADER",e[e.COMPILE_STATUS=35713]="COMPILE_STATUS",e[e.DELETE_STATUS=35712]="DELETE_STATUS",e[e.LINK_STATUS=35714]="LINK_STATUS",e[e.VALIDATE_STATUS=35715]="VALIDATE_STATUS",e[e.ATTACHED_SHADERS=35717]="ATTACHED_SHADERS",e[e.ACTIVE_ATTRIBUTES=35721]="ACTIVE_ATTRIBUTES",e[e.ACTIVE_UNIFORMS=35718]="ACTIVE_UNIFORMS",e[e.MAX_VERTEX_ATTRIBS=34921]="MAX_VERTEX_ATTRIBS",e[e.MAX_VERTEX_UNIFORM_VECTORS=36347]="MAX_VERTEX_UNIFORM_VECTORS",e[e.MAX_VARYING_VECTORS=36348]="MAX_VARYING_VECTORS",e[e.MAX_COMBINED_TEXTURE_IMAGE_UNITS=35661]="MAX_COMBINED_TEXTURE_IMAGE_UNITS",e[e.MAX_VERTEX_TEXTURE_IMAGE_UNITS=35660]="MAX_VERTEX_TEXTURE_IMAGE_UNITS",e[e.MAX_TEXTURE_IMAGE_UNITS=34930]="MAX_TEXTURE_IMAGE_UNITS",e[e.MAX_FRAGMENT_UNIFORM_VECTORS=36349]="MAX_FRAGMENT_UNIFORM_VECTORS",e[e.SHADER_TYPE=35663]="SHADER_TYPE",e[e.SHADING_LANGUAGE_VERSION=35724]="SHADING_LANGUAGE_VERSION",e[e.CURRENT_PROGRAM=35725]="CURRENT_PROGRAM",e[e.NEVER=512]="NEVER",e[e.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}({});function Oo(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function xc(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Oo(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Oo(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var ve=function(){function e(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,e),s(this,"id",void 0),s(this,"userData",{}),s(this,"topology",void 0),s(this,"drawMode",o.TRIANGLES),s(this,"vertexCount",void 0),s(this,"attributes",void 0),s(this,"indices",void 0);var t=r.id,n=t===void 0?ne("geometry"):t,i=r.drawMode,a=i===void 0?o.TRIANGLES:i,u=r.attributes,c=u===void 0?{}:u,f=r.indices,l=f===void 0?null:f,_=r.vertexCount,E=_===void 0?null:_;this.id=n,this.drawMode=a,this.topology=r.topology||Uc(a),l&&(this.indices=ArrayBuffer.isView(l)?{value:l,size:1}:l),this.attributes={};for(var d=0,p=Object.entries(c);d<p.length;d++){var m=k(p[d],2),R=m[0],O=m[1],S=ArrayBuffer.isView(O)?{value:O}:O;H(ArrayBuffer.isView(S.value),"".concat(this._print(R),": must be typed array or object with value as typed array")),(R==="POSITION"||R==="positions")&&!S.size&&(S.size=3),R==="indices"?(H(!this.indices),this.indices=S):this.attributes[R]=S}this.indices&&this.indices.isIndexed!==void 0&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this.vertexCount=E||this._calculateVertexCount(this.attributes,this.indices)}return N(e,[{key:"mode",get:function(){return this.drawMode}},{key:"getVertexCount",value:function(){return this.vertexCount}},{key:"getAttributes",value:function(){return this.indices?xc({indices:this.indices},this.attributes):this.attributes}},{key:"_print",value:function(t){return"Geometry ".concat(this.id," attribute ").concat(t)}},{key:"_setAttributes",value:function(t,n){return this}},{key:"_calculateVertexCount",value:function(t,n){if(n)return n.value.length;var i=1/0;for(var a in t){var u=t[a],c=u.value,f=u.size,l=u.constant;!l&&c&&f>=1&&(i=Math.min(i,c.length/f))}return H(Number.isFinite(i)),i}}]),e}();s(ve,"DRAW_MODE",{POINTS:o.POINTS,LINES:o.LINES,LINE_LOOP:o.LINE_LOOP,LINE_STRIP:o.LINE_STRIP,TRIANGLES:o.TRIANGLES,TRIANGLE_STRIP:o.TRIANGLE_STRIP,TRIANGLE_FAN:o.TRIANGLE_FAN});function Uc(e){switch(e){case o.POINTS:return"point-list";case o.LINES:return"line-list";case o.LINE_STRIP:return"line-strip";case o.TRIANGLES:return"triangle-list";case o.TRIANGLE_STRIP:return"triangle-strip";case o.TRIANGLE_FAN:return"triangle-fan";case o.LINE_LOOP:return"line-loop";default:throw new Error(String(e))}}function yo(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function bo(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?yo(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):yo(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var wc="Failed to create WebGL context in Node.js, headless gl returned null",Lc=" 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.",Xc={width:1,height:1,debug:!0,throwOnError:!1},Dn=null;function No(){return Dn!==null}function Co(e){e=bo(bo({},Xc),e);var r=e,t=r.width,n=r.height,i=r.webgl1,a=r.webgl2;if(a&&!i)throw new Error("headless-gl does not support WebGL2");if(!Dn)throw new Error(Lc);var u=Dn(t,n,e);if(!u)throw new Error(wc);return u}var Ei=Be(Me(),1);var zt={};function Hc(e){globalThis.console&&globalThis.console.error&&globalThis.console.error(e)}function Wc(e){globalThis.console&&globalThis.console.log&&globalThis.console.log(e)}function Vc(e,r){zt[e]=!0,r!==void 0&&Hc(r)}function jc(e){var r=e.getError;e.getError=function(){var n;do n=r.apply(e),n!==e.NO_ERROR&&(zt[n]=!0);while(n!==e.NO_ERROR);for(n in zt)if(zt[n])return delete zt[n],parseInt(n,10);return e.NO_ERROR}}var $t=function e(r){var t=r.gl;this.ext=r,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(r.maxVertexAttribs);for(var n=0;n<this.attribs.length;n++){var i=new e.VertexAttrib(t);this.attribs[n]=i}this.maxAttrib=0};$t.VertexAttrib=function(r){this.enabled=!1,this.buffer=null,this.size=4,this.type=r.FLOAT,this.normalized=!1,this.stride=16,this.offset=0,this.cached="",this.recache()};$t.VertexAttrib.prototype.recache=function(){this.cached=[this.size,this.type,this.normalized,this.stride,this.offset].join(":")};var _t=function(r){var t=this;this.gl=r,jc(r);var n=this.original={getParameter:r.getParameter,enableVertexAttribArray:r.enableVertexAttribArray,disableVertexAttribArray:r.disableVertexAttribArray,bindBuffer:r.bindBuffer,getVertexAttrib:r.getVertexAttrib,vertexAttribPointer:r.vertexAttribPointer};r.getParameter=function(a){return a===t.VERTEX_ARRAY_BINDING_OES?t.currentVertexArrayObject===t.defaultVertexArrayObject?null:t.currentVertexArrayObject:n.getParameter.apply(this,arguments)},r.enableVertexAttribArray=function(a){var u=t.currentVertexArrayObject;u.maxAttrib=Math.max(u.maxAttrib,a);var c=u.attribs[a];return c.enabled=!0,n.enableVertexAttribArray.apply(this,arguments)},r.disableVertexAttribArray=function(a){var u=t.currentVertexArrayObject;u.maxAttrib=Math.max(u.maxAttrib,a);var c=u.attribs[a];return c.enabled=!1,n.disableVertexAttribArray.apply(this,arguments)},r.bindBuffer=function(a,u){switch(a){case r.ARRAY_BUFFER:t.currentArrayBuffer=u;break;case r.ELEMENT_ARRAY_BUFFER:t.currentVertexArrayObject.elementArrayBuffer=u;break;default:}return n.bindBuffer.apply(this,arguments)},r.getVertexAttrib=function(a,u){var c=t.currentVertexArrayObject,f=c.attribs[a];switch(u){case r.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:return f.buffer;case r.VERTEX_ATTRIB_ARRAY_ENABLED:return f.enabled;case r.VERTEX_ATTRIB_ARRAY_SIZE:return f.size;case r.VERTEX_ATTRIB_ARRAY_STRIDE:return f.stride;case r.VERTEX_ATTRIB_ARRAY_TYPE:return f.type;case r.VERTEX_ATTRIB_ARRAY_NORMALIZED:return f.normalized;default:return n.getVertexAttrib.apply(this,arguments)}},r.vertexAttribPointer=function(a,u,c,f,l,_){var E=t.currentVertexArrayObject;E.maxAttrib=Math.max(E.maxAttrib,a);var d=E.attribs[a];return d.buffer=t.currentArrayBuffer,d.size=u,d.type=c,d.normalized=f,d.stride=l,d.offset=_,d.recache(),n.vertexAttribPointer.apply(this,arguments)},r.instrumentExtension&&r.instrumentExtension(this,"OES_vertex_array_object"),r.canvas&&r.canvas.addEventListener("webglcontextrestored",function(){Wc("OESVertexArrayObject emulation library context restored"),t.reset_()},!0),this.reset_()};_t.prototype.VERTEX_ARRAY_BINDING_OES=34229;_t.prototype.reset_=function(){var r=this.vertexArrayObjects!==void 0;if(r)for(var t=0;t<this.vertexArrayObjects.length;++t)this.vertexArrayObjects.isAlive=!1;var n=this.gl;this.maxVertexAttribs=n.getParameter(n.MAX_VERTEX_ATTRIBS),this.defaultVertexArrayObject=new $t(this),this.currentVertexArrayObject=null,this.currentArrayBuffer=null,this.vertexArrayObjects=[this.defaultVertexArrayObject],this.bindVertexArrayOES(null)};_t.prototype.createVertexArrayOES=function(){var r=new $t(this);return this.vertexArrayObjects.push(r),r};_t.prototype.deleteVertexArrayOES=function(r){r.isAlive=!1,this.vertexArrayObjects.splice(this.vertexArrayObjects.indexOf(r),1),this.currentVertexArrayObject===r&&this.bindVertexArrayOES(null)};_t.prototype.isVertexArrayOES=function(r){return!!(r&&r instanceof $t&&r.hasBeenBound&&r.ext===this)};_t.prototype.bindVertexArrayOES=function(r){var t=this.gl;if(r&&!r.isAlive){Vc(t.INVALID_OPERATION,"bindVertexArrayOES: attempt to bind deleted arrayObject");return}var n=this.original,i=this.currentVertexArrayObject;this.currentVertexArrayObject=r||this.defaultVertexArrayObject,this.currentVertexArrayObject.hasBeenBound=!0;var a=this.currentVertexArrayObject;if(i!==a){(!i||a.elementArrayBuffer!==i.elementArrayBuffer)&&n.bindBuffer.call(t,t.ELEMENT_ARRAY_BUFFER,a.elementArrayBuffer);for(var u=this.currentArrayBuffer,c=Math.max(i?i.maxAttrib:0,a.maxAttrib),f=0;f<=c;f++){var l=a.attribs[f],_=i?i.attribs[f]:null;if((!i||l.enabled!==_.enabled)&&(l.enabled?n.enableVertexAttribArray.call(t,f):n.disableVertexAttribArray.call(t,f)),l.enabled){var E=!1;(!i||l.buffer!==_.buffer)&&(u!==l.buffer&&(n.bindBuffer.call(t,t.ARRAY_BUFFER,l.buffer),u=l.buffer),E=!0),(E||l.cached!==_.cached)&&n.vertexAttribPointer.call(t,f,l.size,l.type,l.normalized,l.stride,l.offset)}}this.currentArrayBuffer!==u&&n.bindBuffer.call(t,t.ARRAY_BUFFER,this.currentArrayBuffer)}};function Io(e){if(typeof e.createVertexArray!="function"){var r=e.getSupportedExtensions;e.getSupportedExtensions=function(){var i=r.call(this)||[];return i.indexOf("OES_vertex_array_object")<0&&i.push("OES_vertex_array_object"),i};var t=e.getExtension;e.getExtension=function(i){var a=t.call(this,i);return a||(i!=="OES_vertex_array_object"?null:(e.__OESVertexArrayObject||(this.__OESVertexArrayObject=new _t(this)),this.__OESVertexArrayObject))}}}var kc="Invalid WebGLRenderingContext";var Kc="Requires WebGL2";function Yc(e){return typeof WebGLRenderingContext<"u"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&Number.isFinite(e._version))}function $(e){return typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&e._version===2)}function Bn(e){return $(e)?e:null}function Po(e){return H(Yc(e),kc),e}function Ir(e){return H($(e),Kc),e}var q,Mo="OES_element_index",Fo="WEBGL_draw_buffers",Gc="EXT_disjoint_timer_query",zc="EXT_disjoint_timer_query_webgl2",$c="EXT_texture_filter_anisotropic",Do="WEBGL_debug_renderer_info",Zc=35723,qc=4352,Qc=36795,Jc=34047,el=37445,tl=37446,ae=function(r){return $(r)?void 0:0},rl=(q={},s(q,o.READ_BUFFER,function(e){return $(e)?void 0:o.COLOR_ATTACHMENT0}),s(q,Zc,function(e){return $(e)?void 0:qc}),s(q,o.RASTERIZER_DISCARD,ae),s(q,o.SAMPLES,ae),s(q,Qc,function(e,r){var t=$(e)?e.getExtension(zc):e.getExtension(Gc);return t&&t.GPU_DISJOINT_EXT?r(t.GPU_DISJOINT_EXT):0}),s(q,el,function(e,r){var t=e.getExtension(Do);return r(t&&t.UNMASKED_VENDOR_WEBGL||o.VENDOR)}),s(q,tl,function(e,r){var t=e.getExtension(Do);return r(t&&t.UNMASKED_RENDERER_WEBGL||o.RENDERER)}),s(q,Jc,function(e,r){var t,n,i=((t=e.luma)===null||t===void 0||(n=t.extensions)===null||n===void 0?void 0:n[$c])||e.getExtension("EXT_texture_filter_anisotropic");return i?r(i.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1}),s(q,o.MAX_3D_TEXTURE_SIZE,ae),s(q,o.MAX_ARRAY_TEXTURE_LAYERS,ae),s(q,o.MAX_CLIENT_WAIT_TIMEOUT_WEBGL,ae),s(q,o.MAX_COLOR_ATTACHMENTS,function(e,r){if(!$(e)){var t=e.getExtension(Fo);return t?r(t.MAX_COLOR_ATTACHMENTS_WEBGL):0}}),s(q,o.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,ae),s(q,o.MAX_COMBINED_UNIFORM_BLOCKS,ae),s(q,o.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,ae),s(q,o.MAX_DRAW_BUFFERS,function(e){if(!$(e)){var r=e.getExtension(Fo);return r?r.MAX_DRAW_BUFFERS_WEBGL:0}}),s(q,o.MAX_ELEMENT_INDEX,function(e){return e.getExtension(Mo)?2147483647:65535}),s(q,o.MAX_ELEMENTS_INDICES,function(e){return e.getExtension(Mo)?16777216:65535}),s(q,o.MAX_ELEMENTS_VERTICES,function(e){return 16777216}),s(q,o.MAX_FRAGMENT_INPUT_COMPONENTS,ae),s(q,o.MAX_FRAGMENT_UNIFORM_BLOCKS,ae),s(q,o.MAX_FRAGMENT_UNIFORM_COMPONENTS,ae),s(q,o.MAX_SAMPLES,ae),s(q,o.MAX_SERVER_WAIT_TIMEOUT,ae),s(q,o.MAX_TEXTURE_LOD_BIAS,ae),s(q,o.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,ae),s(q,o.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,ae),s(q,o.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,ae),s(q,o.MAX_UNIFORM_BLOCK_SIZE,ae),s(q,o.MAX_UNIFORM_BUFFER_BINDINGS,ae),s(q,o.MAX_VARYING_COMPONENTS,ae),s(q,o.MAX_VERTEX_OUTPUT_COMPONENTS,ae),s(q,o.MAX_VERTEX_UNIFORM_BLOCKS,ae),s(q,o.MAX_VERTEX_UNIFORM_COMPONENTS,ae),s(q,o.MIN_PROGRAM_TEXEL_OFFSET,ae),s(q,o.MAX_PROGRAM_TEXEL_OFFSET,ae),s(q,o.UNIFORM_BUFFER_OFFSET_ALIGNMENT,ae),q);function Bo(e,r,t){var n=rl[t],i=typeof n=="function"?n(e,r,t):n,a=i!==void 0?i:r(t);return a}function Pt(e){var r=e.luma;if(!r){var t={_polyfilled:!1,_extensions:{}};e.luma=t}return e.luma}var Mt,nl="OES_vertex_array_object",xo="ANGLE_instanced_arrays",il="WEBGL_draw_buffers",al="EXT_disjoint_timer_query",ol="EXT_texture_filter_anisotropic",sl="VertexArray requires WebGL2 or OES_vertex_array_object extension";function ul(e,r){return{webgl2:$(e),ext:e.getExtension(r)}}var xn=(Mt={},s(Mt,nl,{meta:{suffix:"OES"},createVertexArray:function(){H(!1,sl)},deleteVertexArray:function(){},bindVertexArray:function(){},isVertexArray:function(){return!1}}),s(Mt,xo,{meta:{suffix:"ANGLE"},vertexAttribDivisor:function(r,t){H(t===0,"WebGL instanced rendering not supported")},drawElementsInstanced:function(){},drawArraysInstanced:function(){}}),s(Mt,il,{meta:{suffix:"WEBGL"},drawBuffers:function(){H(!1)}}),s(Mt,al,{meta:{suffix:"EXT"},createQuery:function(){H(!1)},deleteQuery:function(){H(!1)},beginQuery:function(){H(!1)},endQuery:function(){},getQuery:function(r,t){return this.getQueryObject(r,t)},getQueryParameter:function(r,t){return this.getQueryObject(r,t)},getQueryObject:function(r,t){}}),Mt),Pr={readBuffer:function(r,t,n){$(r)&&t(n)},getVertexAttrib:function(r,t,n,i){var a=ul(r,xo),u=a.webgl2,c=a.ext,f;switch(i){case o.VERTEX_ATTRIB_ARRAY_INTEGER:f=u?void 0:!1;break;case o.VERTEX_ATTRIB_ARRAY_DIVISOR:f=!u&&!c?0:void 0;break;default:}return f!==void 0?f:t(n,i)},getProgramParameter:function(r,t,n,i){if(!$(r))switch(i){case o.TRANSFORM_FEEDBACK_BUFFER_MODE:return o.SEPARATE_ATTRIBS;case o.TRANSFORM_FEEDBACK_VARYINGS:return 0;case o.ACTIVE_UNIFORM_BLOCKS:return 0;default:}return t(n,i)},getInternalformatParameter:function(r,t,n,i,a){if(!$(r))switch(a){case o.SAMPLES:return new Int32Array([0]);default:}var u=r;return u.getInternalformatParameter(n,i,a)},getTexParameter:function(r,t,n,i){switch(i){case o.TEXTURE_MAX_ANISOTROPY_EXT:var a=Pt(r),u=a._extensions,c=u[ol];i=c&&c.TEXTURE_MAX_ANISOTROPY_EXT||o.TEXTURE_MAX_ANISOTROPY_EXT;break;default:}return t(n,i)},getParameter:Bo,hint:function(r,t,n,i){return t(n,i)}};function wo(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=fl(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
246
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function fl(e,r){if(e){if(typeof e=="string")return Uo(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Uo(e,r)}}function Uo(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function Lo(e){var r=Pt(e);return r._polyfilled||(Io(e),cl(e),ll(e,xn),El(e,{target:r,target2:e}),r._polyfilled=!0),e}function cl(e){var r=Pt(e),t=e.getSupportedExtensions()||[],n=wo(t),i;try{for(n.s();!(i=n.n()).done;){var a=i.value,u=e.getExtension(a);r._extensions[a]=u}}catch(c){n.e(c)}finally{n.f()}}function ll(e,r){var t=Pt(e),n=wo(Object.getOwnPropertyNames(r)),i;try{for(n.s();!(i=n.n()).done;){var a=i.value;a!=="overrides"&&_l(e,{extension:a,target:t,target2:e})}}catch(u){n.e(u)}finally{n.f()}}function _l(e,r){var t=r.extension,n=r.target,i=r.target2,a=xn[t];H(a);for(var u=a.meta,c=u===void 0?{}:u,f=c.suffix,l=f===void 0?"":f,_=e.getExtension(t),E=function(){var R=p[d],O="".concat(R).concat(l),S=null;R==="meta"||typeof e[R]=="function"||(_&&typeof _[O]=="function"?S=function(){return _[O].apply(_,arguments)}:typeof a[R]=="function"&&(S=a[R].bind(n))),S&&(n[R]=S,i[R]=S)},d=0,p=Object.keys(a);d<p.length;d++)E()}function El(e,r){var t=r.target,n=r.target2;Object.keys(Pr).forEach(function(i){if(typeof Pr[i]=="function"){var a=e[i]?e[i].bind(e):function(){},u=Pr[i].bind(null,e,a);t[i]=u,n[i]=u}})}function Un(e){if(Array.isArray(e))return Rt(e)}function Zt(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function wn(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
247
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function oe(e){return Un(e)||Zt(e)||it(e)||wn()}var P,v,De,Mr=(P={},s(P,o.BLEND,!1),s(P,o.BLEND_COLOR,new Float32Array([0,0,0,0])),s(P,o.BLEND_EQUATION_RGB,o.FUNC_ADD),s(P,o.BLEND_EQUATION_ALPHA,o.FUNC_ADD),s(P,o.BLEND_SRC_RGB,o.ONE),s(P,o.BLEND_DST_RGB,o.ZERO),s(P,o.BLEND_SRC_ALPHA,o.ONE),s(P,o.BLEND_DST_ALPHA,o.ZERO),s(P,o.COLOR_CLEAR_VALUE,new Float32Array([0,0,0,0])),s(P,o.COLOR_WRITEMASK,[!0,!0,!0,!0]),s(P,o.CULL_FACE,!1),s(P,o.CULL_FACE_MODE,o.BACK),s(P,o.DEPTH_TEST,!1),s(P,o.DEPTH_CLEAR_VALUE,1),s(P,o.DEPTH_FUNC,o.LESS),s(P,o.DEPTH_RANGE,new Float32Array([0,1])),s(P,o.DEPTH_WRITEMASK,!0),s(P,o.DITHER,!0),s(P,o.CURRENT_PROGRAM,null),s(P,o.FRAMEBUFFER_BINDING,null),s(P,o.RENDERBUFFER_BINDING,null),s(P,o.VERTEX_ARRAY_BINDING,null),s(P,o.ARRAY_BUFFER_BINDING,null),s(P,o.FRONT_FACE,o.CCW),s(P,o.GENERATE_MIPMAP_HINT,o.DONT_CARE),s(P,o.LINE_WIDTH,1),s(P,o.POLYGON_OFFSET_FILL,!1),s(P,o.POLYGON_OFFSET_FACTOR,0),s(P,o.POLYGON_OFFSET_UNITS,0),s(P,o.SAMPLE_ALPHA_TO_COVERAGE,!1),s(P,o.SAMPLE_COVERAGE,!1),s(P,o.SAMPLE_COVERAGE_VALUE,1),s(P,o.SAMPLE_COVERAGE_INVERT,!1),s(P,o.SCISSOR_TEST,!1),s(P,o.SCISSOR_BOX,new Int32Array([0,0,1024,1024])),s(P,o.STENCIL_TEST,!1),s(P,o.STENCIL_CLEAR_VALUE,0),s(P,o.STENCIL_WRITEMASK,4294967295),s(P,o.STENCIL_BACK_WRITEMASK,4294967295),s(P,o.STENCIL_FUNC,o.ALWAYS),s(P,o.STENCIL_REF,0),s(P,o.STENCIL_VALUE_MASK,4294967295),s(P,o.STENCIL_BACK_FUNC,o.ALWAYS),s(P,o.STENCIL_BACK_REF,0),s(P,o.STENCIL_BACK_VALUE_MASK,4294967295),s(P,o.STENCIL_FAIL,o.KEEP),s(P,o.STENCIL_PASS_DEPTH_FAIL,o.KEEP),s(P,o.STENCIL_PASS_DEPTH_PASS,o.KEEP),s(P,o.STENCIL_BACK_FAIL,o.KEEP),s(P,o.STENCIL_BACK_PASS_DEPTH_FAIL,o.KEEP),s(P,o.STENCIL_BACK_PASS_DEPTH_PASS,o.KEEP),s(P,o.VIEWPORT,[0,0,1024,1024]),s(P,o.PACK_ALIGNMENT,4),s(P,o.UNPACK_ALIGNMENT,4),s(P,o.UNPACK_FLIP_Y_WEBGL,!1),s(P,o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),s(P,o.UNPACK_COLORSPACE_CONVERSION_WEBGL,o.BROWSER_DEFAULT_WEBGL),s(P,o.TRANSFORM_FEEDBACK_BINDING,null),s(P,o.COPY_READ_BUFFER_BINDING,null),s(P,o.COPY_WRITE_BUFFER_BINDING,null),s(P,o.PIXEL_PACK_BUFFER_BINDING,null),s(P,o.PIXEL_UNPACK_BUFFER_BINDING,null),s(P,o.FRAGMENT_SHADER_DERIVATIVE_HINT,o.DONT_CARE),s(P,o.READ_FRAMEBUFFER_BINDING,null),s(P,o.RASTERIZER_DISCARD,!1),s(P,o.PACK_ROW_LENGTH,0),s(P,o.PACK_SKIP_PIXELS,0),s(P,o.PACK_SKIP_ROWS,0),s(P,o.UNPACK_ROW_LENGTH,0),s(P,o.UNPACK_IMAGE_HEIGHT,0),s(P,o.UNPACK_SKIP_PIXELS,0),s(P,o.UNPACK_SKIP_ROWS,0),s(P,o.UNPACK_SKIP_IMAGES,0),P),Xe=function(r,t,n){return t?r.enable(n):r.disable(n)},Xo=function(r,t,n){return r.hint(n,t)},Ie=function(r,t,n){return r.pixelStorei(n,t)},Ho=function(r,t,n){var i;return n===o.FRAMEBUFFER_BINDING?i=$(r)?o.DRAW_FRAMEBUFFER:o.FRAMEBUFFER:i=o.READ_FRAMEBUFFER,r.bindFramebuffer(i,t)},qt=function(r,t,n){var i,a=(i={},s(i,o.ARRAY_BUFFER_BINDING,o.ARRAY_BUFFER),s(i,o.COPY_READ_BUFFER_BINDING,o.COPY_READ_BUFFER),s(i,o.COPY_WRITE_BUFFER_BINDING,o.COPY_WRITE_BUFFER),s(i,o.PIXEL_PACK_BUFFER_BINDING,o.PIXEL_PACK_BUFFER),s(i,o.PIXEL_UNPACK_BUFFER_BINDING,o.PIXEL_UNPACK_BUFFER),i),u=a[n];r.bindBuffer(u,t)};function Ln(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}var Wo=(v={},s(v,o.BLEND,Xe),s(v,o.BLEND_COLOR,function(e,r){return e.blendColor.apply(e,oe(r))}),s(v,o.BLEND_EQUATION_RGB,"blendEquation"),s(v,o.BLEND_EQUATION_ALPHA,"blendEquation"),s(v,o.BLEND_SRC_RGB,"blendFunc"),s(v,o.BLEND_DST_RGB,"blendFunc"),s(v,o.BLEND_SRC_ALPHA,"blendFunc"),s(v,o.BLEND_DST_ALPHA,"blendFunc"),s(v,o.COLOR_CLEAR_VALUE,function(e,r){return e.clearColor.apply(e,oe(r))}),s(v,o.COLOR_WRITEMASK,function(e,r){return e.colorMask.apply(e,oe(r))}),s(v,o.CULL_FACE,Xe),s(v,o.CULL_FACE_MODE,function(e,r){return e.cullFace(r)}),s(v,o.DEPTH_TEST,Xe),s(v,o.DEPTH_CLEAR_VALUE,function(e,r){return e.clearDepth(r)}),s(v,o.DEPTH_FUNC,function(e,r){return e.depthFunc(r)}),s(v,o.DEPTH_RANGE,function(e,r){return e.depthRange.apply(e,oe(r))}),s(v,o.DEPTH_WRITEMASK,function(e,r){return e.depthMask(r)}),s(v,o.DITHER,Xe),s(v,o.FRAGMENT_SHADER_DERIVATIVE_HINT,Xo),s(v,o.CURRENT_PROGRAM,function(e,r){return e.useProgram(r)}),s(v,o.RENDERBUFFER_BINDING,function(e,r){return e.bindRenderbuffer(o.RENDERBUFFER,r)}),s(v,o.TRANSFORM_FEEDBACK_BINDING,function(e,r){var t,n;return(t=(n=e).bindTransformFeedback)===null||t===void 0?void 0:t.call(n,o.TRANSFORM_FEEDBACK,r)}),s(v,o.VERTEX_ARRAY_BINDING,function(e,r){return e.bindVertexArray(r)}),s(v,o.FRAMEBUFFER_BINDING,Ho),s(v,o.READ_FRAMEBUFFER_BINDING,Ho),s(v,o.ARRAY_BUFFER_BINDING,qt),s(v,o.COPY_READ_BUFFER_BINDING,qt),s(v,o.COPY_WRITE_BUFFER_BINDING,qt),s(v,o.PIXEL_PACK_BUFFER_BINDING,qt),s(v,o.PIXEL_UNPACK_BUFFER_BINDING,qt),s(v,o.FRONT_FACE,function(e,r){return e.frontFace(r)}),s(v,o.GENERATE_MIPMAP_HINT,Xo),s(v,o.LINE_WIDTH,function(e,r){return e.lineWidth(r)}),s(v,o.POLYGON_OFFSET_FILL,Xe),s(v,o.POLYGON_OFFSET_FACTOR,"polygonOffset"),s(v,o.POLYGON_OFFSET_UNITS,"polygonOffset"),s(v,o.RASTERIZER_DISCARD,Xe),s(v,o.SAMPLE_ALPHA_TO_COVERAGE,Xe),s(v,o.SAMPLE_COVERAGE,Xe),s(v,o.SAMPLE_COVERAGE_VALUE,"sampleCoverage"),s(v,o.SAMPLE_COVERAGE_INVERT,"sampleCoverage"),s(v,o.SCISSOR_TEST,Xe),s(v,o.SCISSOR_BOX,function(e,r){return e.scissor.apply(e,oe(r))}),s(v,o.STENCIL_TEST,Xe),s(v,o.STENCIL_CLEAR_VALUE,function(e,r){return e.clearStencil(r)}),s(v,o.STENCIL_WRITEMASK,function(e,r){return e.stencilMaskSeparate(o.FRONT,r)}),s(v,o.STENCIL_BACK_WRITEMASK,function(e,r){return e.stencilMaskSeparate(o.BACK,r)}),s(v,o.STENCIL_FUNC,"stencilFuncFront"),s(v,o.STENCIL_REF,"stencilFuncFront"),s(v,o.STENCIL_VALUE_MASK,"stencilFuncFront"),s(v,o.STENCIL_BACK_FUNC,"stencilFuncBack"),s(v,o.STENCIL_BACK_REF,"stencilFuncBack"),s(v,o.STENCIL_BACK_VALUE_MASK,"stencilFuncBack"),s(v,o.STENCIL_FAIL,"stencilOpFront"),s(v,o.STENCIL_PASS_DEPTH_FAIL,"stencilOpFront"),s(v,o.STENCIL_PASS_DEPTH_PASS,"stencilOpFront"),s(v,o.STENCIL_BACK_FAIL,"stencilOpBack"),s(v,o.STENCIL_BACK_PASS_DEPTH_FAIL,"stencilOpBack"),s(v,o.STENCIL_BACK_PASS_DEPTH_PASS,"stencilOpBack"),s(v,o.VIEWPORT,function(e,r){return e.viewport.apply(e,oe(r))}),s(v,o.PACK_ALIGNMENT,Ie),s(v,o.UNPACK_ALIGNMENT,Ie),s(v,o.UNPACK_FLIP_Y_WEBGL,Ie),s(v,o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,Ie),s(v,o.UNPACK_COLORSPACE_CONVERSION_WEBGL,Ie),s(v,o.PACK_ROW_LENGTH,Ie),s(v,o.PACK_SKIP_PIXELS,Ie),s(v,o.PACK_SKIP_ROWS,Ie),s(v,o.UNPACK_ROW_LENGTH,Ie),s(v,o.UNPACK_IMAGE_HEIGHT,Ie),s(v,o.UNPACK_SKIP_PIXELS,Ie),s(v,o.UNPACK_SKIP_ROWS,Ie),s(v,o.UNPACK_SKIP_IMAGES,Ie),s(v,"framebuffer",function(r,t){var n=t&&"handle"in t?t.handle:t;return r.bindFramebuffer(o.FRAMEBUFFER,n)}),s(v,"blend",function(r,t){return t?r.enable(o.BLEND):r.disable(o.BLEND)}),s(v,"blendColor",function(r,t){return r.blendColor.apply(r,oe(t))}),s(v,"blendEquation",function(r,t){var n=typeof t=="number"?[t,t]:t;r.blendEquationSeparate.apply(r,oe(n))}),s(v,"blendFunc",function(r,t){var n=t?.length===2?[].concat(oe(t),oe(t)):t;r.blendFuncSeparate.apply(r,oe(n))}),s(v,"clearColor",function(r,t){return r.clearColor.apply(r,oe(t))}),s(v,"clearDepth",function(r,t){return r.clearDepth(t)}),s(v,"clearStencil",function(r,t){return r.clearStencil(t)}),s(v,"colorMask",function(r,t){return r.colorMask.apply(r,oe(t))}),s(v,"cull",function(r,t){return t?r.enable(o.CULL_FACE):r.disable(o.CULL_FACE)}),s(v,"cullFace",function(r,t){return r.cullFace(t)}),s(v,"depthTest",function(r,t){return t?r.enable(o.DEPTH_TEST):r.disable(o.DEPTH_TEST)}),s(v,"depthFunc",function(r,t){return r.depthFunc(t)}),s(v,"depthMask",function(r,t){return r.depthMask(t)}),s(v,"depthRange",function(r,t){return r.depthRange.apply(r,oe(t))}),s(v,"dither",function(r,t){return t?r.enable(o.DITHER):r.disable(o.DITHER)}),s(v,"derivativeHint",function(r,t){r.hint(o.FRAGMENT_SHADER_DERIVATIVE_HINT,t)}),s(v,"frontFace",function(r,t){return r.frontFace(t)}),s(v,"mipmapHint",function(r,t){return r.hint(o.GENERATE_MIPMAP_HINT,t)}),s(v,"lineWidth",function(r,t){return r.lineWidth(t)}),s(v,"polygonOffsetFill",function(r,t){return t?r.enable(o.POLYGON_OFFSET_FILL):r.disable(o.POLYGON_OFFSET_FILL)}),s(v,"polygonOffset",function(r,t){return r.polygonOffset.apply(r,oe(t))}),s(v,"sampleCoverage",function(r,t){return r.sampleCoverage.apply(r,oe(t))}),s(v,"scissorTest",function(r,t){return t?r.enable(o.SCISSOR_TEST):r.disable(o.SCISSOR_TEST)}),s(v,"scissor",function(r,t){return r.scissor.apply(r,oe(t))}),s(v,"stencilTest",function(r,t){return t?r.enable(o.STENCIL_TEST):r.disable(o.STENCIL_TEST)}),s(v,"stencilMask",function(r,t){t=Ln(t)?t:[t,t];var n=t,i=k(n,2),a=i[0],u=i[1];r.stencilMaskSeparate(o.FRONT,a),r.stencilMaskSeparate(o.BACK,u)}),s(v,"stencilFunc",function(r,t){t=Ln(t)&&t.length===3?[].concat(oe(t),oe(t)):t;var n=t,i=k(n,6),a=i[0],u=i[1],c=i[2],f=i[3],l=i[4],_=i[5];r.stencilFuncSeparate(o.FRONT,a,u,c),r.stencilFuncSeparate(o.BACK,f,l,_)}),s(v,"stencilOp",function(r,t){t=Ln(t)&&t.length===3?[].concat(oe(t),oe(t)):t;var n=t,i=k(n,6),a=i[0],u=i[1],c=i[2],f=i[3],l=i[4],_=i[5];r.stencilOpSeparate(o.FRONT,a,u,c),r.stencilOpSeparate(o.BACK,f,l,_)}),s(v,"viewport",function(r,t){return r.viewport.apply(r,oe(t))}),v);function ce(e,r,t){return r[e]!==void 0?r[e]:t[e]}var Vo={blendEquation:function(r,t,n){return r.blendEquationSeparate(ce(o.BLEND_EQUATION_RGB,t,n),ce(o.BLEND_EQUATION_ALPHA,t,n))},blendFunc:function(r,t,n){return r.blendFuncSeparate(ce(o.BLEND_SRC_RGB,t,n),ce(o.BLEND_DST_RGB,t,n),ce(o.BLEND_SRC_ALPHA,t,n),ce(o.BLEND_DST_ALPHA,t,n))},polygonOffset:function(r,t,n){return r.polygonOffset(ce(o.POLYGON_OFFSET_FACTOR,t,n),ce(o.POLYGON_OFFSET_UNITS,t,n))},sampleCoverage:function(r,t,n){return r.sampleCoverage(ce(o.SAMPLE_COVERAGE_VALUE,t,n),ce(o.SAMPLE_COVERAGE_INVERT,t,n))},stencilFuncFront:function(r,t,n){return r.stencilFuncSeparate(o.FRONT,ce(o.STENCIL_FUNC,t,n),ce(o.STENCIL_REF,t,n),ce(o.STENCIL_VALUE_MASK,t,n))},stencilFuncBack:function(r,t,n){return r.stencilFuncSeparate(o.BACK,ce(o.STENCIL_BACK_FUNC,t,n),ce(o.STENCIL_BACK_REF,t,n),ce(o.STENCIL_BACK_VALUE_MASK,t,n))},stencilOpFront:function(r,t,n){return r.stencilOpSeparate(o.FRONT,ce(o.STENCIL_FAIL,t,n),ce(o.STENCIL_PASS_DEPTH_FAIL,t,n),ce(o.STENCIL_PASS_DEPTH_PASS,t,n))},stencilOpBack:function(r,t,n){return r.stencilOpSeparate(o.BACK,ce(o.STENCIL_BACK_FAIL,t,n),ce(o.STENCIL_BACK_PASS_DEPTH_FAIL,t,n),ce(o.STENCIL_BACK_PASS_DEPTH_PASS,t,n))}},Xn={enable:function(r,t){return r(s({},t,!0))},disable:function(r,t){return r(s({},t,!1))},pixelStorei:function(r,t,n){return r(s({},t,n))},hint:function(r,t,n){return r(s({},t,n))},useProgram:function(r,t){return r(s({},o.CURRENT_PROGRAM,t))},bindRenderbuffer:function(r,t,n){return r(s({},o.RENDERBUFFER_BINDING,n))},bindTransformFeedback:function(r,t,n){return r(s({},o.TRANSFORM_FEEDBACK_BINDING,n))},bindVertexArray:function(r,t){return r(s({},o.VERTEX_ARRAY_BINDING,t))},bindFramebuffer:function(r,t,n){var i;switch(t){case o.FRAMEBUFFER:return r((i={},s(i,o.DRAW_FRAMEBUFFER_BINDING,n),s(i,o.READ_FRAMEBUFFER_BINDING,n),i));case o.DRAW_FRAMEBUFFER:return r(s({},o.DRAW_FRAMEBUFFER_BINDING,n));case o.READ_FRAMEBUFFER:return r(s({},o.READ_FRAMEBUFFER_BINDING,n));default:return null}},bindBuffer:function(r,t,n){var i,a=(i={},s(i,o.ARRAY_BUFFER,[o.ARRAY_BUFFER_BINDING]),s(i,o.COPY_READ_BUFFER,[o.COPY_READ_BUFFER_BINDING]),s(i,o.COPY_WRITE_BUFFER,[o.COPY_WRITE_BUFFER_BINDING]),s(i,o.PIXEL_PACK_BUFFER,[o.PIXEL_PACK_BUFFER_BINDING]),s(i,o.PIXEL_UNPACK_BUFFER,[o.PIXEL_UNPACK_BUFFER_BINDING]),i)[t];return a?r(s({},a,n)):{valueChanged:!0}},blendColor:function(r,t,n,i,a){return r(s({},o.BLEND_COLOR,new Float32Array([t,n,i,a])))},blendEquation:function(r,t){var n;return r((n={},s(n,o.BLEND_EQUATION_RGB,t),s(n,o.BLEND_EQUATION_ALPHA,t),n))},blendEquationSeparate:function(r,t,n){var i;return r((i={},s(i,o.BLEND_EQUATION_RGB,t),s(i,o.BLEND_EQUATION_ALPHA,n),i))},blendFunc:function(r,t,n){var i;return r((i={},s(i,o.BLEND_SRC_RGB,t),s(i,o.BLEND_DST_RGB,n),s(i,o.BLEND_SRC_ALPHA,t),s(i,o.BLEND_DST_ALPHA,n),i))},blendFuncSeparate:function(r,t,n,i,a){var u;return r((u={},s(u,o.BLEND_SRC_RGB,t),s(u,o.BLEND_DST_RGB,n),s(u,o.BLEND_SRC_ALPHA,i),s(u,o.BLEND_DST_ALPHA,a),u))},clearColor:function(r,t,n,i,a){return r(s({},o.COLOR_CLEAR_VALUE,new Float32Array([t,n,i,a])))},clearDepth:function(r,t){return r(s({},o.DEPTH_CLEAR_VALUE,t))},clearStencil:function(r,t){return r(s({},o.STENCIL_CLEAR_VALUE,t))},colorMask:function(r,t,n,i,a){return r(s({},o.COLOR_WRITEMASK,[t,n,i,a]))},cullFace:function(r,t){return r(s({},o.CULL_FACE_MODE,t))},depthFunc:function(r,t){return r(s({},o.DEPTH_FUNC,t))},depthRange:function(r,t,n){return r(s({},o.DEPTH_RANGE,new Float32Array([t,n])))},depthMask:function(r,t){return r(s({},o.DEPTH_WRITEMASK,t))},frontFace:function(r,t){return r(s({},o.FRONT_FACE,t))},lineWidth:function(r,t){return r(s({},o.LINE_WIDTH,t))},polygonOffset:function(r,t,n){var i;return r((i={},s(i,o.POLYGON_OFFSET_FACTOR,t),s(i,o.POLYGON_OFFSET_UNITS,n),i))},sampleCoverage:function(r,t,n){var i;return r((i={},s(i,o.SAMPLE_COVERAGE_VALUE,t),s(i,o.SAMPLE_COVERAGE_INVERT,n),i))},scissor:function(r,t,n,i,a){return r(s({},o.SCISSOR_BOX,new Int32Array([t,n,i,a])))},stencilMask:function(r,t){var n;return r((n={},s(n,o.STENCIL_WRITEMASK,t),s(n,o.STENCIL_BACK_WRITEMASK,t),n))},stencilMaskSeparate:function(r,t,n){return r(s({},t===o.FRONT?o.STENCIL_WRITEMASK:o.STENCIL_BACK_WRITEMASK,n))},stencilFunc:function(r,t,n,i){var a;return r((a={},s(a,o.STENCIL_FUNC,t),s(a,o.STENCIL_REF,n),s(a,o.STENCIL_VALUE_MASK,i),s(a,o.STENCIL_BACK_FUNC,t),s(a,o.STENCIL_BACK_REF,n),s(a,o.STENCIL_BACK_VALUE_MASK,i),a))},stencilFuncSeparate:function(r,t,n,i,a){var u;return r((u={},s(u,t===o.FRONT?o.STENCIL_FUNC:o.STENCIL_BACK_FUNC,n),s(u,t===o.FRONT?o.STENCIL_REF:o.STENCIL_BACK_REF,i),s(u,t===o.FRONT?o.STENCIL_VALUE_MASK:o.STENCIL_BACK_VALUE_MASK,a),u))},stencilOp:function(r,t,n,i){var a;return r((a={},s(a,o.STENCIL_FAIL,t),s(a,o.STENCIL_PASS_DEPTH_FAIL,n),s(a,o.STENCIL_PASS_DEPTH_PASS,i),s(a,o.STENCIL_BACK_FAIL,t),s(a,o.STENCIL_BACK_PASS_DEPTH_FAIL,n),s(a,o.STENCIL_BACK_PASS_DEPTH_PASS,i),a))},stencilOpSeparate:function(r,t,n,i,a){var u;return r((u={},s(u,t===o.FRONT?o.STENCIL_FAIL:o.STENCIL_BACK_FAIL,n),s(u,t===o.FRONT?o.STENCIL_PASS_DEPTH_FAIL:o.STENCIL_BACK_PASS_DEPTH_FAIL,i),s(u,t===o.FRONT?o.STENCIL_PASS_DEPTH_PASS:o.STENCIL_BACK_PASS_DEPTH_PASS,a),u))},viewport:function(r,t,n,i,a){return r(s({},o.VIEWPORT,[t,n,i,a]))}},He=function(r,t){return r.isEnabled(t)},Hn=(De={},s(De,o.BLEND,He),s(De,o.CULL_FACE,He),s(De,o.DEPTH_TEST,He),s(De,o.DITHER,He),s(De,o.POLYGON_OFFSET_FILL,He),s(De,o.SAMPLE_ALPHA_TO_COVERAGE,He),s(De,o.SAMPLE_COVERAGE,He),s(De,o.SCISSOR_TEST,He),s(De,o.STENCIL_TEST,He),s(De,o.RASTERIZER_DISCARD,He),De),jo=new Set([o.ACTIVE_TEXTURE,o.TRANSFORM_FEEDBACK_ACTIVE,o.TRANSFORM_FEEDBACK_PAUSED,o.TRANSFORM_FEEDBACK_BUFFER_BINDING,o.UNIFORM_BUFFER_BINDING,o.ELEMENT_ARRAY_BUFFER_BINDING,o.IMPLEMENTATION_COLOR_READ_FORMAT,o.IMPLEMENTATION_COLOR_READ_TYPE,o.READ_BUFFER,o.DRAW_BUFFER0,o.DRAW_BUFFER1,o.DRAW_BUFFER2,o.DRAW_BUFFER3,o.DRAW_BUFFER4,o.DRAW_BUFFER5,o.DRAW_BUFFER6,o.DRAW_BUFFER7,o.DRAW_BUFFER8,o.DRAW_BUFFER9,o.DRAW_BUFFER10,o.DRAW_BUFFER11,o.DRAW_BUFFER12,o.DRAW_BUFFER13,o.DRAW_BUFFER14,o.DRAW_BUFFER15,o.SAMPLER_BINDING,o.TEXTURE_BINDING_2D,o.TEXTURE_BINDING_2D_ARRAY,o.TEXTURE_BINDING_3D,o.TEXTURE_BINDING_CUBE_MAP]);function dl(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=pl(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
248
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function pl(e,r){if(e){if(typeof e=="string")return ko(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return ko(e,r)}}function ko(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function Ft(e,r){var t=ge.attach(e),n=t.gl;if(!hl(r)){var i={};for(var a in r){var u=Number(a),c=Wo[a];c&&(typeof c=="string"?i[c]=!0:c(n,r[a],u))}var f=n.state&&n.state.cache;if(f)for(var l in i){var _=Vo[l];_(n,r,f)}}}function Ko(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Mr,t=ge.attach(e),n=t.gl;if(typeof r=="number"){var i=r,a=Hn[i];return a?a(n,i):n.getParameter(i)}var u=Array.isArray(r)?r:Object.keys(r),c={},f=dl(u),l;try{for(f.s();!(l=f.n()).done;){var _=l.value,E=Hn[_];c[_]=E?E(n,Number(_)):n.getParameter(Number(_))}}catch(d){f.e(d)}finally{f.f()}return c}function hl(e){for(var r in e)return!1;return!0}function Yo(e,r){if(e===r)return!0;var t=Array.isArray(e)||ArrayBuffer.isView(e),n=Array.isArray(r)||ArrayBuffer.isView(r);if(t&&n&&e.length===r.length){for(var i=0;i<e.length;++i)if(e[i]!==r[i])return!1;return!0}return!1}var ml=function(){function e(r){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.copyState,i=n===void 0?!1:n,a=t.log,u=a===void 0?function(){}:a;b(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=r,this.cache=i?Ko(r):Object.assign({},Mr),this.log=u,this._updateCache=this._updateCache.bind(this),Object.seal(this)}return N(e,[{key:"push",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.stateStack.push({})}},{key:"pop",value:function(){H(this.stateStack.length>0);var t=this.stateStack[this.stateStack.length-1];Ft(this.gl,t),this.stateStack.pop()}},{key:"_updateCache",value:function(t){var n=!1,i,a=this.stateStack.length>0?this.stateStack[this.stateStack.length-1]:null;for(var u in t){H(u!==void 0);var c=t[u],f=this.cache[u];Yo(c,f)||(n=!0,i=f,a&&!(u in a)&&(a[u]=f),this.cache[u]=c)}return{valueChanged:n,oldValue:i}}}]),e}();function Et(e){return e.state}function Wn(e,r){var t=r.enable,n=t===void 0?!0:t,i=r.copyState;if(H(i!==void 0),!e.state){e.state=new ml(e,{copyState:i}),Al(e);for(var a in Xn){var u=Xn[a];Rl(e,a,u)}Go(e,"getParameter"),Go(e,"isEnabled")}var c=Et(e);return c.enable=n,e}function dt(e){var r=Et(e);r||(Wn(e,{copyState:!1}),r=Et(e)),r.push()}function rt(e){var r=Et(e);H(r),r.pop()}function Go(e,r){var t=e[r].bind(e);e[r]=function(i){if(i===void 0||jo.has(i))return t(i);var a=Et(e);return i in a.cache||(a.cache[i]=t(i)),a.enable?a.cache[i]:t(i)},Object.defineProperty(e[r],"name",{value:"".concat(r,"-from-cache"),configurable:!1})}function Rl(e,r,t){if(e[r]){var n=e[r].bind(e);e[r]=function(){for(var a=Et(e),u=arguments.length,c=new Array(u),f=0;f<u;f++)c[f]=arguments[f];var l=t.apply(void 0,[a._updateCache].concat(c)),_=l.valueChanged,E=l.oldValue;return _&&n.apply(void 0,c),E},Object.defineProperty(e[r],"name",{value:"".concat(r,"-to-cache"),configurable:!1})}}function Al(e){var r=e.useProgram.bind(e);e.useProgram=function(n){var i=Et(e);i.program!==n&&(r(n),i.program=n)}}function zo(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Dt(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?zo(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):zo(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var Tl={webgl2:!0,webgl1:!0,powerPreference:"high-performance",onContextLost:function(){return console.error("WebGL context lost")},onContextRestored:function(){return console.info("WebGL context restored")}};function $o(e,r){r=Dt(Dt({},Tl),r);var t=null,n=function(_){return t=_.statusMessage||t};e.addEventListener("webglcontextcreationerror",n,!1);var i=null;if(r.type==="webgl2"&&(r=Dt(Dt({},r),{},{webgl1:!1})),r.type==="webgl1"&&(r=Dt(Dt({},r),{},{webgl2:!1})),r.webgl2&&(i=i||e.getContext("webgl2",r)),r.webgl1&&(i=i||e.getContext("webgl",r)),e.removeEventListener("webglcontextcreationerror",n,!1),!i)throw new Error("Failed to create ".concat(r.webgl2&&!r.webgl1?"WebGL2":"WebGL"," context: ").concat(t||"Unknown error"));if(r.onContextLost){var a=r,u=a.onContextLost;e.addEventListener("webglcontextlost",function(l){return u(l)},!1)}if(r.onContextRestored){var c=r,f=c.onContextRestored;e.addEventListener("webglcontextrestored",function(l){return f(l)},!1)}return i}function Zo(e){var r=e.getParameter(o.VENDOR),t=e.getParameter(o.RENDERER),n=e.getExtension("WEBGL_debug_renderer_info"),i=e.getParameter(n?n.UNMASKED_VENDOR_WEBGL:o.VENDOR),a=e.getParameter(n?n.UNMASKED_RENDERER_WEBGL:o.RENDERER),u=i||r,c=a||t,f=vl(u,c);return{type:$(e)?"webgl2":"webgl",gpu:f,vendor:i||r,renderer:a||t,version:e.getParameter(o.VERSION),shadingLanguages:["glsl"],shadingLanguageVersions:{glsl:e.getParameter(o.SHADING_LANGUAGE_VERSION)}}}function vl(e,r){return/NVIDIA/i.exec(e)||/NVIDIA/i.exec(r)?"nvidia":/INTEL/i.exec(e)||/INTEL/i.exec(r)?"intel":/Apple/i.exec(e)||/Apple/i.exec(r)?"apple":/AMD/i.exec(e)||/AMD/i.exec(r)||/ATI/i.exec(e)||/ATI/i.exec(r)?"amd":/SwiftShader/i.exec(e)||/SwiftShader/i.exec(r)?"software":"unknown"}function qo(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=typeof window<"u"?window.navigator||{}:{},t=e.userAgent||r.userAgent||"",n=t.indexOf("MSIE ")!==-1,i=t.indexOf("Trident/")!==-1;return n||i}var Se,We,Re="texture-compression-bc",te="texture-compression-astc",Ve="texture-compression-etc2",gl="texture-compression-etc1-webgl",Fr="texture-compression-pvrtc-webgl",Vn="texture-compression-atc-webgl",Qt="WEBGL_compressed_texture_s3tc",Jt="WEBGL_compressed_texture_s3tc_srgb",Bt="EXT_texture_compression_rgtc",er="EXT_texture_compression_bptc",Sl="WEBGL_compressed_texture_etc",Ol="WEBGL_compressed_texture_astc",yl="WEBGL_compressed_texture_etc1",bl="WEBGL_compressed_texture_pvrtc",Nl="WEBGL_compressed_texture_atc",Qo="EXT_sRGB",Cl="EXT_texture_norm16",Il="WEBGL_color_buffer_float",Pl="EXT_color_buffer_float",Ue=function(r,t){return r.getExtension(t)},pt=function(r,t){return t.every(function(n){return r.getExtension(n)})},jn={"texture-blend-float-webgl1":function(r){return $(r)?!0:Ue(r,"EXT_float_blend")},"texture-formats-srgb-webgl1":function(r){return $(r)?!0:Ue(r,Qo)},"texture-formats-depth-webgl1":function(r){return $(r)?!0:Ue(r,"WEBGL_depth_texture")},"texture-formats-float32-webgl1":function(r){return $(r)?!0:Ue(r,"OES_texture_float")},"texture-formats-float16-webgl1":function(r){return $(r)?!0:Ue(r,"OES_texture_half_float")},"texture-formats-norm16-webgl":function(r){return $(r)?Ue(r,Cl):!1},"texture-filter-linear-float32-webgl":function(r){return Ue(r,"OES_texture_float_linear")},"texture-filter-linear-float16-webgl":function(r){return Ue(r,"OES_texture_half_float_linear")},"texture-filter-anisotropic-webgl":function(r){return Ue(r,"EXT_texture_filter_anisotropic")},"texture-renderable-float32-webgl":function(r){return Ue(r,"EXT_color_buffer_float")},"texture-renderable-float16-webgl":function(r){return Ue(r,"EXT_color_buffer_half_float")},"texture-compression-bc":function(r){return pt(r,[Qt,Jt,Bt,er])},"texture-compression-bc5-webgl":function(r){return pt(r,[Bt])},"texture-compression-etc2":function(r){return pt(r,[Sl])},"texture-compression-astc":function(r){return pt(r,[Ol])},"texture-compression-etc1-webgl":function(r){return pt(r,[yl])},"texture-compression-pvrtc-webgl":function(r){return pt(r,[bl])},"texture-compression-atc-webgl":function(r){return pt(r,[Nl])}};function Ml(e,r){var t;return((t=jn[r])===null||t===void 0?void 0:t.call(jn,e))||!1}function Jo(e){var r=Object.keys(jn);return r.filter(function(t){return Ml(e,t)})}var Dr={"rgb8unorm-unsized":{gl:o.RGB,gl1:o.RGB,b:4,c:2,bpp:4,dataFormat:o.RGB,types:[o.UNSIGNED_BYTE,o.UNSIGNED_SHORT_5_6_5]},"rgba8unorm-unsized":{gl:o.RGBA,gl1:o.RGBA,b:4,c:2,bpp:4,dataFormat:o.RGBA,types:[o.UNSIGNED_BYTE,o.UNSIGNED_SHORT_4_4_4_4,o.UNSIGNED_SHORT_5_5_5_1]},r8unorm:{gl:o.R8,b:1,c:1},r8snorm:{gl:o.R8_SNORM,b:1,c:1},r8uint:{gl:o.R8UI,b:1,c:1},r8sint:{gl:o.R8I,b:1,c:1},rg8unorm:{gl:o.RG8,b:2,c:2},rg8snorm:{gl:o.RG8_SNORM,b:2,c:2},rg8uint:{gl:o.RG8UI,b:2,c:2},rg8sint:{gl:o.RG8I,b:2,c:2},r16uint:{gl:o.R16UI,b:2,c:1},r16sint:{gl:o.R16I,b:2,c:1},r16float:{gl:o.R16F,b:2,c:1,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},"r16unorm-webgl":{gl:o.R16_EXT,b:2,c:1,f:"texture-formats-norm16-webgl"},"r16snorm-webgl":{gl:o.R16_SNORM_EXT,b:2,c:1,f:"texture-formats-norm16-webgl"},"rgba4unorm-webgl":{gl:o.RGBA4,b:2,c:4,wgpu:!1},"rgb565unorm-webgl":{gl:o.RGB565,b:2,c:4,wgpu:!1},"rgb5a1unorm-webgl":{gl:o.RGB5_A1,b:2,c:4,wgpu:!1},"rbg8unorm-webgl":{gl:o.RGB8,b:3,c:3,wgpu:!1},"rbg8snorm-webgl":{gl:o.RGB8_SNORM,b:3,c:3,wgpu:!1},rgba8unorm:{gl:o.RGBA8,gl1:o.RGBA,b:4,c:2,bpp:4},"rgba8unorm-srgb":{gl:o.SRGB8_ALPHA8,gl1:o.SRGB_ALPHA_EXT,b:4,c:4,gl1ext:Qo,bpp:4},rgba8snorm:{gl:o.RGBA8_SNORM,b:4,c:4},rgba8uint:{gl:o.RGBA8UI,b:4,c:4,bpp:4},rgba8sint:{gl:o.RGBA8I,b:4,c:4,bpp:4},bgra8unorm:{b:4,c:4},"bgra8unorm-srgb":{b:4,c:4},rg16uint:{gl:o.RG16UI,b:4,c:1,bpp:4},rg16sint:{gl:o.RG16I,b:4,c:2,bpp:4},rg16float:{gl:o.RG16F,bpp:4,b:4,c:2,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},"rg16unorm-webgl":{gl:o.RG16_EXT,b:2,c:2,f:"texture-formats-norm16-webgl"},"rg16snorm-webgl":{gl:o.RG16_SNORM_EXT,b:2,c:2,f:"texture-formats-norm16-webgl"},r32uint:{gl:o.R32UI,b:4,c:1,bpp:4},r32sint:{gl:o.R32I,b:4,c:1,bpp:4},r32float:{gl:o.R32F,bpp:4,b:4,c:1,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl"},rgb9e5ufloat:{gl:o.RGB9_E5,b:4,c:3,p:1,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},rg11b10ufloat:{gl:o.R11F_G11F_B10F,b:4,c:3,p:1,render:"texture-renderable-float32-webgl"},rgb10a2unorm:{gl:o.RGB10_A2,b:4,c:4,p:1},"rgb10a2unorm-webgl":{b:4,c:4,gl:o.RGB10_A2UI,p:1,wgpu:!1,bpp:4},"rgb16unorm-webgl":{gl:o.RGB16_EXT,b:2,c:3,f:"texture-formats-norm16-webgl"},"rgb16snorm-webgl":{gl:o.RGB16_SNORM_EXT,b:2,c:3,f:"texture-formats-norm16-webgl"},rg32uint:{gl:o.RG32UI,b:8,c:2},rg32sint:{gl:o.RG32I,b:8,c:2},rg32float:{gl:o.RG32F,b:8,c:2,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl"},rgba16uint:{gl:o.RGBA16UI,b:8,c:4},rgba16sint:{gl:o.RGBA16I,b:8,c:4},rgba16float:{gl:o.RGBA16F,gl1:o.RGBA,b:8,c:4,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},"rgba16unorm-webgl":{gl:o.RGBA16_EXT,b:2,c:4,f:"texture-formats-norm16-webgl"},"rgba16snorm-webgl":{gl:o.RGBA16_SNORM_EXT,b:2,c:4,f:"texture-formats-norm16-webgl"},"rgb32float-webgl":{gl:o.RGB32F,gl1:o.RGB,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",gl2ext:Pl,gl1ext:Il,dataFormat:o.RGB,types:[o.FLOAT]},rgba32uint:{gl:o.RGBA32UI,b:16,c:4},rgba32sint:{gl:o.RGBA32I,b:16,c:4},rgba32float:{gl:o.RGBA32F,gl1:o.RGBA,b:16,c:4,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl"},stencil8:{gl:o.STENCIL_INDEX8,b:1,c:1,attachment:o.STENCIL_ATTACHMENT},depth16unorm:{gl:o.DEPTH_COMPONENT16,gl1:o.DEPTH_COMPONENT16,b:2,c:1,attachment:o.DEPTH_ATTACHMENT},depth24plus:{gl:o.DEPTH_COMPONENT24,b:3,c:1,attachment:o.DEPTH_ATTACHMENT},depth32float:{gl:o.DEPTH_COMPONENT32F,b:4,c:1,attachment:o.DEPTH_ATTACHMENT},"depth24plus-stencil8":{b:4,gl:o.UNSIGNED_INT_24_8,gl1:o.DEPTH_STENCIL,c:2,p:1,attachment:o.DEPTH_STENCIL_ATTACHMENT},"depth24unorm-stencil8":{gl:o.DEPTH24_STENCIL8,b:4,c:2,p:1,attachment:o.DEPTH_STENCIL_ATTACHMENT},"depth32float-stencil8":{gl:o.DEPTH32F_STENCIL8,b:5,c:2,p:1,attachment:o.DEPTH_STENCIL_ATTACHMENT},"bc1-rgb-unorm-webgl":{gl:o.COMPRESSED_RGB_S3TC_DXT1_EXT,x:Qt,f:Re},"bc1-rgb-unorm-srgb-webgl":{gl:o.COMPRESSED_SRGB_S3TC_DXT1_EXT,x:Jt,f:Re},"bc1-rgba-unorm":{gl:o.COMPRESSED_RGBA_S3TC_DXT1_EXT,x:Qt,f:Re},"bc1-rgba-unorm-srgb":{gl:o.COMPRESSED_SRGB_S3TC_DXT1_EXT,x:Jt,f:Re},"bc2-rgba-unorm":{gl:o.COMPRESSED_RGBA_S3TC_DXT3_EXT,x:Qt,f:Re},"bc2-rgba-unorm-srgb":{gl:o.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,x:Jt,f:Re},"bc3-rgba-unorm":{gl:o.COMPRESSED_RGBA_S3TC_DXT5_EXT,x:Qt,f:Re},"bc3-rgba-unorm-srgb":{gl:o.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,x:Jt,f:Re},"bc4-r-unorm":{gl:o.COMPRESSED_RED_RGTC1_EXT,x:Bt,f:Re},"bc4-r-snorm":{gl:o.COMPRESSED_SIGNED_RED_RGTC1_EXT,x:Bt,f:Re},"bc5-rg-unorm":{gl:o.COMPRESSED_RED_GREEN_RGTC2_EXT,x:Bt,f:Re},"bc5-rg-snorm":{gl:o.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,x:Bt,f:Re},"bc6h-rgb-ufloat":{gl:o.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT,x:er,f:Re},"bc6h-rgb-float":{gl:o.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT,x:er,f:Re},"bc7-rgba-unorm":{gl:o.COMPRESSED_RGBA_BPTC_UNORM_EXT,x:er,f:Re},"bc7-rgba-unorm-srgb":{gl:o.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT,x:er,f:Re},"etc2-rgb8unorm":{gl:o.COMPRESSED_RGB8_ETC2,f:Ve},"etc2-rgb8unorm-srgb":{gl:o.COMPRESSED_SRGB8_ETC2,f:Ve},"etc2-rgb8a1unorm":{gl:o.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,f:Ve},"etc2-rgb8a1unorm-srgb":{gl:o.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,f:Ve},"etc2-rgba8unorm":{gl:o.COMPRESSED_RGBA8_ETC2_EAC,f:Ve},"etc2-rgba8unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,f:Ve},"eac-r11unorm":{gl:o.COMPRESSED_R11_EAC,f:Ve},"eac-r11snorm":{gl:o.COMPRESSED_SIGNED_R11_EAC,f:Ve},"eac-rg11unorm":{gl:o.COMPRESSED_RG11_EAC,f:Ve},"eac-rg11snorm":{gl:o.COMPRESSED_SIGNED_RG11_EAC,f:Ve},"astc-4x4-unorm":{gl:o.COMPRESSED_RGBA_ASTC_4x4_KHR,f:te},"astc-4x4-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,f:te},"astc-5x4-unorm":{gl:o.COMPRESSED_RGBA_ASTC_5x4_KHR,f:te},"astc-5x4-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR,f:te},"astc-5x5-unorm":{gl:o.COMPRESSED_RGBA_ASTC_5x5_KHR,f:te},"astc-5x5-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,f:te},"astc-6x5-unorm":{gl:o.COMPRESSED_RGBA_ASTC_6x5_KHR,f:te},"astc-6x5-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,f:te},"astc-6x6-unorm":{gl:o.COMPRESSED_RGBA_ASTC_6x6_KHR,f:te},"astc-6x6-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,f:te},"astc-8x5-unorm":{gl:o.COMPRESSED_RGBA_ASTC_8x5_KHR,f:te},"astc-8x5-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,f:te},"astc-8x6-unorm":{gl:o.COMPRESSED_RGBA_ASTC_8x6_KHR,f:te},"astc-8x6-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,f:te},"astc-8x8-unorm":{gl:o.COMPRESSED_RGBA_ASTC_8x8_KHR,f:te},"astc-8x8-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,f:te},"astc-10x5-unorm":{gl:o.COMPRESSED_RGBA_ASTC_10x10_KHR,f:te},"astc-10x5-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,f:te},"astc-10x6-unorm":{gl:o.COMPRESSED_RGBA_ASTC_10x6_KHR,f:te},"astc-10x6-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,f:te},"astc-10x8-unorm":{gl:o.COMPRESSED_RGBA_ASTC_10x8_KHR,f:te},"astc-10x8-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,f:te},"astc-10x10-unorm":{gl:o.COMPRESSED_RGBA_ASTC_10x10_KHR,f:te},"astc-10x10-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,f:te},"astc-12x10-unorm":{gl:o.COMPRESSED_RGBA_ASTC_12x10_KHR,f:te},"astc-12x10-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,f:te},"astc-12x12-unorm":{gl:o.COMPRESSED_RGBA_ASTC_12x12_KHR,f:te},"astc-12x12-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,f:te},"pvrtc-rgb4unorm-webgl":{gl:o.COMPRESSED_RGB_PVRTC_4BPPV1_IMG,f:Fr},"pvrtc-rgba4unorm-webgl":{gl:o.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,f:Fr},"pvrtc-rbg2unorm-webgl":{gl:o.COMPRESSED_RGB_PVRTC_2BPPV1_IMG,f:Fr},"pvrtc-rgba2unorm-webgl":{gl:o.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,f:Fr},"etc1-rbg-unorm-webgl":{gl:o.COMPRESSED_RGB_ETC1_WEBGL,f:gl},"atc-rgb-unorm-webgl":{gl:o.COMPRESSED_RGB_ATC_WEBGL,f:Vn},"atc-rgba-unorm-webgl":{gl:o.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,f:Vn},"atc-rgbai-unorm-webgl":{gl:o.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL,f:Vn}};function ht(e){if(typeof e=="string")return e;var r=Object.entries(Dr).find(function(t){var n=k(t,2),i=n[1];return i.gl===e||i.gl1===e});if(!r)throw new Error("Unknown texture format ".concat(e));return r[0]}function Br(e,r){var t=ht(r),n=Dr[t];if(!n||($(e)?n.gl===void 0:n.gl1===void 0))return!1;var i=n.x||$(e)&&n.gl2ext||n.gl1ext;return i?Boolean(e.getExtension(i)):!0}function es(e,r){var t=ht(r);if(!Br(e,t))return!1;try{var n=Ar(t);if(n.signed)return!1}catch{return!1}return t.endsWith("32float")?Boolean(e.getExtension("OES_texture_float_linear")):t.endsWith("16float")?Boolean(e.getExtension("OES_texture_half_float_linear")):!0}function ts(e,r){var t=ht(r);return!(!Br(e,t)||typeof t=="number")}function tr(e,r){var t=ht(r),n=Dr[t],i=$(e)?n?.gl:n?.gl1;if(typeof t=="number")return i||t;if(i===void 0)throw new Error("Unsupported texture format ".concat(t));return i}function xr(e,r){var t=ht(r),n=tr(e,t),i=Ar(t);return{format:n,dataFormat:Bl(i.format,i.integer,i.normalized,n),type:Kn(i.dataType),compressed:i.compressed}}function rs(e){var r=ht(e);if(typeof r=="number")throw new Error("unsupported depth stencil format");var t=Dr[r],n=t.attachment;if(!n)throw new Error("not a depth stencil format");return n}function ns(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e.RGBA,t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:o.RGBA,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:o.UNSIGNED_BYTE,i=null,a=null;try{i=e.createTexture(),e.bindTexture(o.TEXTURE_2D,i);var u=0,c=1,f=1,l=0,_=new Uint8Array([0,0,255,255]);e.texImage2D(e.TEXTURE_2D,u,r,c,f,l,t,n,_),a=e.createFramebuffer(),e.bindFramebuffer(o.FRAMEBUFFER,a),e.framebufferTexture2D(o.FRAMEBUFFER,o.COLOR_ATTACHMENT0,o.TEXTURE_2D,i,0);var E=e.checkFramebufferStatus(o.FRAMEBUFFER)===o.FRAMEBUFFER_COMPLETE;return e.bindTexture(o.TEXTURE_2D,null),E}finally{e.deleteTexture(i),e.deleteFramebuffer(a)}}var Fl=(Se={},s(Se,o.RED,1),s(Se,o.RED_INTEGER,1),s(Se,o.RG,2),s(Se,o.RG_INTEGER,2),s(Se,o.RGB,3),s(Se,o.RGB_INTEGER,3),s(Se,o.RGBA,4),s(Se,o.RGBA_INTEGER,4),s(Se,o.DEPTH_COMPONENT,1),s(Se,o.DEPTH_STENCIL,1),s(Se,o.ALPHA,1),s(Se,o.LUMINANCE,1),s(Se,o.LUMINANCE_ALPHA,2),Se),Dl=(We={},s(We,o.FLOAT,4),s(We,o.UNSIGNED_INT,4),s(We,o.INT,4),s(We,o.UNSIGNED_SHORT,2),s(We,o.SHORT,2),s(We,o.HALF_FLOAT,2),s(We,o.BYTE,1),s(We,o.UNSIGNED_BYTE,1),We);function kn(e,r){var t=ht(r),n=xr(e,t),i=Fl[n.dataFormat]||4,a=Dl[n.type]||1;return i*a}function Bl(e,r,t,n){if(n===o.RGBA||n===o.RGB)return n;switch(e){case"r":return r&&!t?o.RED_INTEGER:o.RED;case"rg":return r&&!t?o.RG_INTEGER:o.RG;case"rgb":return r&&!t?o.RGB_INTEGER:o.RGB;case"rgba":return r&&!t?o.RGBA_INTEGER:o.RGBA;default:return o.RGBA}}function Kn(e){switch(e){case"uint8":return o.UNSIGNED_BYTE;case"sint8":return o.BYTE;case"uint16":return o.UNSIGNED_SHORT;case"sint16":return o.SHORT;case"uint32":return o.UNSIGNED_INT;case"sint32":return o.INT;case"float16":return o.HALF_FLOAT;case"float32":return o.FLOAT;default:return o.UNSIGNED_BYTE}}function xl(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=Ul(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
249
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function Ul(e,r){if(e){if(typeof e=="string")return is(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return is(e,r)}}function is(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function as(e){var r=wl(e),t=xl(Jo(e)),n;try{for(t.s();!(n=t.n()).done;){var i=n.value;r.add(i)}}catch(a){t.e(a)}finally{t.f()}return r}function wl(e){e.getExtension("EXT_color_buffer_float"),e.getExtension("WEBGL_color_buffer_float"),e.getExtension("EXT_float_blend");for(var r=new Set,t=0,n=Object.keys(os);t<n.length;t++){var i=n[t];Ll(e,i)&&r.add(i)}return r}function Ll(e,r){var t=os[r];if(!t)return!1;var n=t||[],i=k(n,2),a=i[0],u=i[1],c=$(e)?u:a;if(typeof c=="boolean")return c;switch(r){case"texture-renderable-rgba32float-webgl":return $(e)?Boolean(e.getExtension(c)):ns(e);case"glsl-derivatives":return Gn(e,c);case"glsl-frag-data":return Gn(e,c,{behavior:"require"});case"glsl-frag-depth":return Gn(e,c);default:return Boolean(e.getExtension(c))}}var Yn={};function Gn(e,r){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!qo(t))return!0;if(r in Yn)return Yn[r];var n=t.behavior||"enable",i="#extension GL_".concat(r," : ").concat(n,`
250
- void main(void) {}`),a=e.createShader(e.VERTEX_SHADER);if(!a)throw new Error("shader");e.shaderSource(a,i),e.compileShader(a);var u=e.getShaderParameter(a,e.COMPILE_STATUS);return e.deleteShader(a),Yn[r]=u,u}var os={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 ss(e){var r=Bn(e);return{maxTextureDimension1D:0,maxTextureDimension2D:e.getParameter(o.MAX_TEXTURE_SIZE),maxTextureDimension3D:r?r.getParameter(o.MAX_3D_TEXTURE_SIZE):0,maxTextureArrayLayers:r?r.getParameter(o.MAX_ARRAY_TEXTURE_LAYERS):0,maxBindGroups:1,maxDynamicUniformBuffersPerPipelineLayout:0,maxDynamicStorageBuffersPerPipelineLayout:0,maxSampledTexturesPerShaderStage:e.getParameter(o.MAX_VERTEX_TEXTURE_IMAGE_UNITS),maxSamplersPerShaderStage:e.getParameter(o.MAX_COMBINED_TEXTURE_IMAGE_UNITS),maxStorageBuffersPerShaderStage:0,maxStorageTexturesPerShaderStage:0,maxUniformBuffersPerShaderStage:r?r.getParameter(o.MAX_UNIFORM_BUFFER_BINDINGS):0,maxUniformBufferBindingSize:r?r.getParameter(o.MAX_UNIFORM_BLOCK_SIZE):0,maxStorageBufferBindingSize:0,minUniformBufferOffsetAlignment:r?r.getParameter(o.UNIFORM_BUFFER_OFFSET_ALIGNMENT):0,minStorageBufferOffsetAlignment:0,maxVertexBuffers:0,maxVertexAttributes:e.getParameter(o.MAX_VERTEX_ATTRIBS),maxVertexBufferArrayStride:2048,maxInterStageShaderComponents:r?r.getParameter(o.MAX_VARYING_COMPONENTS):0,maxComputeWorkgroupStorageSize:0,maxComputeInvocationsPerWorkgroup:0,maxComputeWorkgroupSizeX:0,maxComputeWorkgroupSizeY:0,maxComputeWorkgroupSizeZ:0,maxComputeWorkgroupsPerDimension:0}}function us(e){var r,t=Bn(e);function n(a){return e.getParameter(a)}function i(a,u){return t?t.getParameter(a):u||0}return r={},s(r,o.ALIASED_LINE_WIDTH_RANGE,n(o.ALIASED_LINE_WIDTH_RANGE)),s(r,o.ALIASED_POINT_SIZE_RANGE,n(o.ALIASED_POINT_SIZE_RANGE)),s(r,o.MAX_TEXTURE_SIZE,n(o.MAX_TEXTURE_SIZE)),s(r,o.MAX_CUBE_MAP_TEXTURE_SIZE,n(o.MAX_CUBE_MAP_TEXTURE_SIZE)),s(r,o.MAX_TEXTURE_IMAGE_UNITS,n(o.MAX_TEXTURE_IMAGE_UNITS)),s(r,o.MAX_COMBINED_TEXTURE_IMAGE_UNITS,n(o.MAX_COMBINED_TEXTURE_IMAGE_UNITS)),s(r,o.MAX_VERTEX_TEXTURE_IMAGE_UNITS,n(o.MAX_VERTEX_TEXTURE_IMAGE_UNITS)),s(r,o.MAX_RENDERBUFFER_SIZE,n(o.MAX_RENDERBUFFER_SIZE)),s(r,o.MAX_VARYING_VECTORS,n(o.MAX_VARYING_VECTORS)),s(r,o.MAX_VERTEX_ATTRIBS,n(o.MAX_VERTEX_ATTRIBS)),s(r,o.MAX_VERTEX_UNIFORM_VECTORS,n(o.MAX_VERTEX_UNIFORM_VECTORS)),s(r,o.MAX_FRAGMENT_UNIFORM_VECTORS,n(o.MAX_FRAGMENT_UNIFORM_VECTORS)),s(r,o.MAX_VIEWPORT_DIMS,n(o.MAX_VIEWPORT_DIMS)),s(r,o.MAX_TEXTURE_MAX_ANISOTROPY_EXT,n(o.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),s(r,o.MAX_3D_TEXTURE_SIZE,i(o.MAX_3D_TEXTURE_SIZE)),s(r,o.MAX_ARRAY_TEXTURE_LAYERS,i(o.MAX_ARRAY_TEXTURE_LAYERS)),s(r,o.MAX_CLIENT_WAIT_TIMEOUT_WEBGL,i(o.MAX_CLIENT_WAIT_TIMEOUT_WEBGL)),s(r,o.MAX_COLOR_ATTACHMENTS,i(o.MAX_COLOR_ATTACHMENTS)),s(r,o.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,i(o.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS)),s(r,o.MAX_COMBINED_UNIFORM_BLOCKS,i(o.MAX_COMBINED_UNIFORM_BLOCKS)),s(r,o.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,i(o.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS)),s(r,o.MAX_DRAW_BUFFERS,i(o.MAX_DRAW_BUFFERS)),s(r,o.MAX_ELEMENT_INDEX,i(o.MAX_ELEMENT_INDEX)),s(r,o.MAX_ELEMENTS_INDICES,i(o.MAX_ELEMENTS_INDICES)),s(r,o.MAX_ELEMENTS_VERTICES,i(o.MAX_ELEMENTS_VERTICES)),s(r,o.MAX_FRAGMENT_INPUT_COMPONENTS,i(o.MAX_FRAGMENT_INPUT_COMPONENTS)),s(r,o.MAX_FRAGMENT_UNIFORM_BLOCKS,i(o.MAX_FRAGMENT_UNIFORM_BLOCKS)),s(r,o.MAX_FRAGMENT_UNIFORM_COMPONENTS,i(o.MAX_FRAGMENT_UNIFORM_COMPONENTS)),s(r,o.MAX_SAMPLES,i(o.MAX_SAMPLES)),s(r,o.MAX_SERVER_WAIT_TIMEOUT,i(o.MAX_SERVER_WAIT_TIMEOUT)),s(r,o.MAX_TEXTURE_LOD_BIAS,i(o.MAX_TEXTURE_LOD_BIAS)),s(r,o.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,i(o.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS)),s(r,o.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,i(o.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS)),s(r,o.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,i(o.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS)),s(r,o.MAX_UNIFORM_BLOCK_SIZE,i(o.MAX_UNIFORM_BLOCK_SIZE)),s(r,o.MAX_UNIFORM_BUFFER_BINDINGS,i(o.MAX_UNIFORM_BUFFER_BINDINGS)),s(r,o.MAX_VARYING_COMPONENTS,i(o.MAX_VARYING_COMPONENTS)),s(r,o.MAX_VERTEX_OUTPUT_COMPONENTS,i(o.MAX_VERTEX_OUTPUT_COMPONENTS)),s(r,o.MAX_VERTEX_UNIFORM_BLOCKS,i(o.MAX_VERTEX_UNIFORM_BLOCKS)),s(r,o.MAX_VERTEX_UNIFORM_COMPONENTS,i(o.MAX_VERTEX_UNIFORM_COMPONENTS)),s(r,o.MIN_PROGRAM_TEXEL_OFFSET,i(o.MIN_PROGRAM_TEXEL_OFFSET)),s(r,o.MAX_PROGRAM_TEXEL_OFFSET,i(o.MAX_PROGRAM_TEXEL_OFFSET)),s(r,o.UNIFORM_BUFFER_OFFSET_ALIGNMENT,i(o.UNIFORM_BUFFER_OFFSET_ALIGNMENT)),r}var Jn=Be(Me(),1);function rr(e,r,t){var n=ge.attach(e),i=n.gl;if(Xl(r))return t(e);var a=r.nocatch,u=a===void 0?!0:a;dt(i),Ft(i,r);var c;if(u)c=t(i),rt(i);else try{c=t(i)}finally{rt(i)}return c}function Xl(e){for(var r in e)return!1;return!0}function fs(e,r,t){if(St(r))return t(e);dt(e.gl);try{return Ft(e,r),t(e)}finally{rt(e.gl)}}function cs(e,r,t){if(St(r))return t(e);dt(e.gl);try{return Hl(e,r),t(e)}finally{rt(e.gl)}}function Hl(e,r){var t=ge.attach(e),n=t.gl;if(r.cullMode)switch(r.cullMode){case"none":n.disable(o.CULL_FACE);break;case"front":n.enable(o.CULL_FACE),n.cullFace(o.FRONT);break;case"back":n.enable(o.CULL_FACE),n.cullFace(o.BACK);break}if(r.frontFace&&n.frontFace($n("frontFace",r.frontFace,{ccw:o.CCW,cw:o.CW})),r.depthBias!==void 0&&n.polygonOffset(r.depthBias,r.depthBiasSlopeScale||0),r.depthWriteEnabled!==void 0&&n.depthMask(Vl("depthWriteEnabled",r.depthWriteEnabled)),r.depthCompare&&(r.depthCompare!=="always"?n.enable(o.DEPTH_TEST):n.disable(o.DEPTH_TEST),n.depthFunc(Ur("depthCompare",r.depthCompare))),r.stencilWriteMask){var i=r.stencilWriteMask;n.stencilMaskSeparate(o.FRONT,i),n.stencilMaskSeparate(o.BACK,i)}if(r.stencilReadMask&&U.warn("stencilReadMask not supported under WebGL"),r.stencilCompare){var a=r.stencilReadMask||4294967295,u=Ur("depthCompare",r.stencilCompare);r.stencilCompare!=="always"?n.enable(o.STENCIL_TEST):n.disable(o.STENCIL_TEST),n.stencilFuncSeparate(o.FRONT,u,0,a),n.stencilFuncSeparate(o.BACK,u,0,a)}if(r.stencilPassOperation&&r.stencilFailOperation&&r.stencilDepthFailOperation){var c=zn("stencilPassOperation",r.stencilPassOperation),f=zn("stencilFailOperation",r.stencilFailOperation),l=zn("stencilDepthFailOperation",r.stencilDepthFailOperation);n.stencilOpSeparate(o.FRONT,f,l,c),n.stencilOpSeparate(o.BACK,f,l,c)}}function Ur(e,r){return $n(e,r,{never:o.NEVER,less:o.LESS,equal:o.EQUAL,"less-equal":o.LEQUAL,greater:o.GREATER,"not-equal":o.NOTEQUAL,"greater-equal":o.GEQUAL,always:o.ALWAYS})}function zn(e,r){return $n(e,r,{keep:o.KEEP,zero:o.ZERO,replace:o.REPLACE,invert:o.INVERT,"increment-clamp":o.INCR,"decrement-clamp":o.DECR,"increment-wrap":o.INCR_WRAP,"decrement-wrap":o.DECR_WRAP})}function Wl(e,r){return"Illegal parameter ".concat(r," for ").concat(e)}function $n(e,r,t){if(!(r in t))throw new Error(Wl(e,r));return t[r]}function Vl(e,r){return r}function ls(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function jl(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?ls(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ls(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function wr(e){var r={};return e.addressModeU&&(r[o.TEXTURE_WRAP_S]=Zn(e.addressModeU)),e.addressModeV&&(r[o.TEXTURE_WRAP_T]=Zn(e.addressModeV)),e.addressModeW&&(r[o.TEXTURE_WRAP_R]=Zn(e.addressModeW)),e.magFilter&&(r[o.TEXTURE_MAG_FILTER]=_s(e.magFilter)),(e.minFilter||e.mipmapFilter)&&(r[o.TEXTURE_MIN_FILTER]=kl(e.minFilter||"linear",e.mipmapFilter)),e.lodMinClamp!==void 0&&(r[o.TEXTURE_MIN_LOD]=e.lodMinClamp),e.lodMaxClamp!==void 0&&(r[o.TEXTURE_MAX_LOD]=e.lodMaxClamp),e.type==="comparison-sampler"&&(r[o.TEXTURE_COMPARE_MODE]=o.COMPARE_REF_TO_TEXTURE),e.compare&&(r[o.TEXTURE_COMPARE_FUNC]=Ur("compare",e.compare)),e.maxAnisotropy&&(r[o.TEXTURE_MAX_ANISOTROPY_EXT]=e.maxAnisotropy),r}function Zn(e){switch(e){case"clamp-to-edge":return o.CLAMP_TO_EDGE;case"repeat":return o.REPEAT;case"mirror-repeat":return o.MIRRORED_REPEAT}}function _s(e){switch(e){case"nearest":return o.NEAREST;case"linear":return o.LINEAR}}function kl(e,r){if(!r)return _s(e);switch(e){case"nearest":return r==="nearest"?o.NEAREST_MIPMAP_NEAREST:o.NEAREST_MIPMAP_LINEAR;case"linear":return r==="nearest"?o.LINEAR_MIPMAP_NEAREST:o.LINEAR_MIPMAP_LINEAR}}function Es(e){var r=jl({},e);return e[o.TEXTURE_MIN_FILTER]!==o.NEAREST&&(r[o.TEXTURE_MIN_FILTER]=o.LINEAR),r[o.TEXTURE_WRAP_S]=o.CLAMP_TO_EDGE,r[o.TEXTURE_WRAP_T]=o.CLAMP_TO_EDGE,r}var qn=Be(Me(),1);function ds(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function ps(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?ds(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ds(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function Kl(e){var r=Yl();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function Yl(){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 Gl=10,je=function(e){L(t,e);var r=Kl(t);function t(n){var i,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};b(this,t),i=r.call(this,n,a),s(T(i),"device",void 0),s(T(i),"gl",void 0),s(T(i),"gl2",void 0),s(T(i),"handle",void 0),s(T(i),"target",void 0),s(T(i),"byteLength",void 0),s(T(i),"bytesUsed",void 0),s(T(i),"debugData",null),s(T(i),"webglUsage",void 0),i.device=n,i.gl=i.device.gl,i.gl2=i.device.gl2;var u=Ee(a)==="object"?a.handle:void 0;return i.handle=u||i.gl.createBuffer(),n.setSpectorMetadata(i.handle,ps(ps({},i.props),{},{data:Ee(i.props.data)})),i.target=i.props.target||zl(i.props.usage),i.webglUsage=i.props.webglUsage||$l(i.props.usage),i.debugData=null,a.data?i._initWithData(a.data,a.byteOffset,a.byteLength):i._initWithByteLength(a.byteLength||0),i}return N(t,[{key:"_initWithData",value:function(i){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:i.byteLength+a;H(ArrayBuffer.isView(i));var c=this._getWriteTarget();return this.gl.bindBuffer(c,this.handle),this.gl.bufferData(c,u,this.webglUsage),this.gl.bufferSubData(c,a,i),this.gl.bindBuffer(c,null),this.debugData=i.slice(0,Gl),this.bytesUsed=u,this.byteLength=u,this.trackAllocatedMemory(u),this}},{key:"_initWithByteLength",value:function(i){H(i>=0);var a=i;i===0&&(a=new Float32Array(0));var u=this._getWriteTarget();return this.gl.bindBuffer(u,this.handle),this.gl.bufferData(u,a,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 a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,u=0,c=i.byteLength,f=this.device.isWebGL2?o.COPY_WRITE_BUFFER:this.target;this.gl.bindBuffer(f,this.handle),u!==0||c!==void 0?(this.device.assertWebGL2(),this.gl.bufferSubData(this.target,a,i,u,c)):this.gl.bufferSubData(f,a,i),this.gl.bindBuffer(f,null)}},{key:"readAsync",value:function(){var n=re(qn.default.mark(function a(){var u,c,f,l,_=arguments;return qn.default.wrap(function(d){for(;;)switch(d.prev=d.next){case 0:return u=_.length>0&&_[0]!==void 0?_[0]:0,c=_.length>1?_[1]:void 0,this.device.assertWebGL2(),f=new Uint8Array(c),l=0,this.gl.bindBuffer(o.COPY_READ_BUFFER,this.handle),this.gl2.getBufferSubData(o.COPY_READ_BUFFER,u,f,l,c),this.gl.bindBuffer(o.COPY_READ_BUFFER,null),d.abrupt("return",f);case 9:case"end":return d.stop()}},a,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}}]),t}(ue);function zl(e){return e&ue.INDEX?o.ELEMENT_ARRAY_BUFFER:e&ue.VERTEX?o.ARRAY_BUFFER:e&ue.UNIFORM?o.UNIFORM_BUFFER:o.ARRAY_BUFFER}function $l(e){return e&ue.INDEX?o.STATIC_DRAW:e&ue.VERTEX?o.STATIC_DRAW:e&ue.UNIFORM?o.DYNAMIC_DRAW:o.DYNAMIC_DRAW}function Zl(e){var r=ql();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function ql(){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 nr=function(e){L(t,e);var r=Zl(t);function t(n,i){var a;return b(this,t),a=r.call(this,n,i),s(T(a),"device",void 0),s(T(a),"handle",void 0),s(T(a),"parameters",void 0),a.device=n,a.parameters=wr(i),a.device.isWebGL2&&(a.handle=a.handle||a.device.gl2.createSampler(),a._setSamplerParameters(a.parameters)),a}return N(t,[{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 a=0,u=Object.entries(i);a<u.length;a++){var c=k(u[a],2),f=c[0],l=c[1],_=Number(f);switch(_){case o.TEXTURE_MIN_LOD:case o.TEXTURE_MAX_LOD:this.device.gl2.samplerParameterf(this.handle,_,l);break;default:this.device.gl2.samplerParameteri(this.handle,_,l);break}}}}]),t}(fn);function Jl(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=e_(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
251
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function e_(e,r){if(e){if(typeof e=="string")return hs(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return hs(e,r)}}function hs(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function ms(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Qn(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?ms(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ms(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function t_(e){var r=r_();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function r_(){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 Ze=function(e){L(t,e);var r=t_(t);function t(n,i){var a,u;return b(this,t),u=r.call(this,n,Qn({format:o.RGBA},i)),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),"data",void 0),s(T(u),"width",void 0),s(T(u),"height",void 0),s(T(u),"depth",void 0),s(T(u),"format",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),"sampler",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,Qn(Qn({},u.props),{},{data:Ee(u.props.data)})),u.target=n_(u.props),u.loaded=!1,typeof((a=u.props)===null||a===void 0?void 0:a.data)=="string"&&Object.assign(u.props,{data:hn(u.props.data)}),u.initialize(u.props),Object.seal(T(u)),u}return N(t,[{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,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(this.props.dimension==="cube")return this.initializeCube(a);var u=a.data;if(u instanceof Promise)return u.then(function(g){return i.initialize(Object.assign({},a,{pixels:g,data:g}))}),this;var c=typeof HTMLVideoElement<"u"&&u instanceof HTMLVideoElement;if(c&&u.readyState<HTMLVideoElement.HAVE_METADATA)return this._video=null,u.addEventListener("loadeddata",function(){return i.initialize(a)}),this;var f=a.parameters,l=f===void 0?{}:f,_=a.pixels,E=_===void 0?null:_,d=a.recreate,p=d===void 0?!1:d,m=a.pixelStore,R=m===void 0?{}:m,O=a.textureUnit,S=O===void 0?void 0:O;u||(u=E);var I=a.width,y=a.height,w=a.dataFormat,B=a.type,j=a.compressed,D=j===void 0?!1:j,Z=a.mipmaps,K=Z===void 0?!0:Z,Q=a.depth,W=Q===void 0?0:Q,A=this._deduceParameters({format:a.format,type:B,dataFormat:w,compressed:D,data:u,width:I,height:y});I=A.width,y=A.height,D=A.compressed,w=A.dataFormat,B=A.type;var h=tr(this.gl,a.format);return this.width=I,this.height=y,this.depth=W,this.format=h,this.type=B,this.dataFormat=w,this.textureUnit=S,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(o.TEXTURE0+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),K&&this.device.isWebGL1&&Lr(this.width,this.height)&&(U.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaps"))(),K=!1),this.mipmaps=K,this.setImageData({data:u,width:I,height:y,depth:W,format:h,type:B,dataFormat:w,parameters:R,compressed:D}),this.setSampler(a.sampler),this._setSamplerParameters(l),K&&this.generateMipmap(),p&&(this.data=u),c&&(this._video={video:u,parameters:l,lastTime:u.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?u.currentTime:-1}),this}},{key:"initializeCube",value:function(i){var a=this,u=i.mipmaps,c=u===void 0?!0:u,f=i.parameters,l=f===void 0?{}:f;return this.setCubeMapImageData(i).then(function(){a.loaded=!0,c&&a.generateMipmap(i),a.setSampler(i.sampler),a._setSamplerParameters(l)}),this}},{key:"setSampler",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a;i instanceof nr?(this.sampler=i,a=i.props):(this.sampler=new nr(this.device,i),a=i);var u=wr(a);return this._setSamplerParameters(u),this}},{key:"resize",value:function(i){var a=i.height,u=i.width,c=i.mipmaps,f=c===void 0?!1:c;return u!==this.width||a!==this.height?this.initialize({width:u,height:a,format:this.format,type:this.type,dataFormat:this.dataFormat,mipmaps:f}):this}},{key:"update",value:function(){if(this._video){var i=this._video,a=i.video,u=i.parameters,c=i.lastTime;if(c===a.currentTime||a.readyState<HTMLVideoElement.HAVE_CURRENT_DATA)return;this.setSubImageData({data:a,parameters:u}),this.mipmaps&&this.generateMipmap(),this._video.lastTime=a.currentTime}}},{key:"generateMipmap",value:function(){var i=this,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.device.isWebGL1&&Lr(this.width,this.height)?(U.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaping"))(),this):(this.mipmaps=!0,this.gl.bindTexture(this.target,this.handle),rr(this.gl,a,function(){i.gl.generateMipmap(i.target)}),this.gl.bindTexture(this.target,null),this)}},{key:"setImageData",value:function(i){var a=this;if(this.props.dimension==="3d")return this.setImageData3D(i);this.trackDeallocatedMemory("Texture");var u=i.target,c=u===void 0?this.target:u,f=i.pixels,l=f===void 0?null:f,_=i.level,E=_===void 0?0:_,d=i.format,p=d===void 0?this.format:d,m=i.offset,R=m===void 0?0:m,O=i.parameters,S=O===void 0?{}:O,I=i.data,y=I===void 0?null:I,w=i.type,B=w===void 0?this.type:w,j=i.width,D=j===void 0?this.width:j,Z=i.height,K=Z===void 0?this.height:Z,Q=i.dataFormat,W=Q===void 0?this.dataFormat:Q,A=i.compressed,h=A===void 0?!1:A;y||(y=l);var g=this._deduceParameters({format:this.props.format,type:B,dataFormat:W,compressed:h,data:y,width:D,height:K});B=g.type,W=g.dataFormat,h=g.compressed,D=g.width,K=g.height;var F=this.gl;F.bindTexture(this.target,this.handle);var x=null,M=this._getDataType({data:y,compressed:h});y=M.data,x=M.dataType;var Y;if(rr(this.gl,S,function(){switch(x){case"null":F.texImage2D(c,E,p,D,K,0,W,B,y);break;case"typed-array":F.texImage2D(c,E,p,D,K,0,W,B,y,R);break;case"buffer":Y=a.device.assertWebGL2(),Y.bindBuffer(o.PIXEL_UNPACK_BUFFER,y.handle||y),Y.texImage2D(c,E,p,D,K,0,W,B,R),Y.bindBuffer(o.PIXEL_UNPACK_BUFFER,null);break;case"browser-object":a.device.isWebGL2?F.texImage2D(c,E,p,D,K,0,W,B,y):F.texImage2D(c,E,p,W,B,y);break;case"compressed":var G=Jl(y.entries()),ee;try{for(G.s();!(ee=G.n()).done;){var J=k(ee.value,2),fe=J[0],Ae=J[1];F.compressedTexImage2D(c,fe,Ae.format,Ae.width,Ae.height,0,Ae.data)}}catch(Oe){G.e(Oe)}finally{G.f()}break;default:H(!1,"Unknown image data type")}}),y&&y.byteLength)this.trackAllocatedMemory(y.byteLength,"Texture");else{var V=kn(this.gl,this.props.format);this.trackAllocatedMemory(this.width*this.height*V,"Texture")}return this.loaded=!0,this}},{key:"setSubImageData",value:function(i){var a=this,u=i.target,c=u===void 0?this.target:u,f=i.pixels,l=f===void 0?null:f,_=i.data,E=_===void 0?null:_,d=i.x,p=d===void 0?0:d,m=i.y,R=m===void 0?0:m,O=i.width,S=O===void 0?this.width:O,I=i.height,y=I===void 0?this.height:I,w=i.level,B=w===void 0?0:w,j=i.format,D=j===void 0?this.format:j,Z=i.type,K=Z===void 0?this.type:Z,Q=i.dataFormat,W=Q===void 0?this.dataFormat:Q,A=i.compressed,h=A===void 0?!1:A,g=i.offset,F=g===void 0?0:g,x=i.parameters,M=x===void 0?{}:x,Y=this._deduceParameters({format:this.props.format,type:K,dataFormat:W,compressed:h,data:E,width:S,height:y});if(K=Y.type,W=Y.dataFormat,h=Y.compressed,S=Y.width,y=Y.height,H(this.depth===1,"texSubImage not supported for 3D textures"),E||(E=l),E&&E.data){var V=E;E=V.data,S=V.shape[0],y=V.shape[1]}E instanceof je&&(E=E.handle),this.gl.bindTexture(this.target,this.handle),rr(this.gl,M,function(){if(h)a.gl.compressedTexSubImage2D(c,B,p,R,S,y,D,E);else if(E===null)a.gl.texSubImage2D(c,B,p,R,S,y,W,K,null);else if(ArrayBuffer.isView(E))a.gl.texSubImage2D(c,B,p,R,S,y,W,K,E,F);else if(typeof WebGLBuffer<"u"&&E instanceof WebGLBuffer){var G=a.device.assertWebGL2();G.bindBuffer(o.PIXEL_UNPACK_BUFFER,E),G.texSubImage2D(c,B,p,R,S,y,W,K,F),G.bindBuffer(o.PIXEL_UNPACK_BUFFER,null)}else if(a.device.isWebGL2){var ee=a.device.assertWebGL2();ee.texSubImage2D(c,B,p,R,S,y,W,K,E)}else a.gl.texSubImage2D(c,B,p,R,W,K,E)}),this.gl.bindTexture(this.target,null)}},{key:"copyFramebuffer",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return U.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}},{key:"getActiveUnit",value:function(){return this.gl.getParameter(o.ACTIVE_TEXTURE)-o.TEXTURE0}},{key:"bind",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.textureUnit,a=this.gl;return i!==void 0&&(this.textureUnit=i,a.activeTexture(a.TEXTURE0+i)),a.bindTexture(this.target,this.handle),i}},{key:"unbind",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.textureUnit,a=this.gl;return i!==void 0&&(this.textureUnit=i,a.activeTexture(a.TEXTURE0+i)),a.bindTexture(this.target,null),i}},{key:"_getDataType",value:function(i){var a=i.data,u=i.compressed,c=u===void 0?!1:u;return c?{data:a,dataType:"compressed"}:a===null?{data:a,dataType:"null"}:ArrayBuffer.isView(a)?{data:a,dataType:"typed-array"}:a instanceof je?{data:a.handle,dataType:"buffer"}:typeof WebGLBuffer<"u"&&a instanceof WebGLBuffer?{data:a,dataType:"buffer"}:{data:a,dataType:"browser-object"}}},{key:"_deduceParameters",value:function(i){var a=i.format,u=i.data,c=i.width,f=i.height,l=i.dataFormat,_=i.type,E=i.compressed,d=xr(this.gl,a);l=l||d.dataFormat,_=_||d.type,E=E||d.compressed;var p=this._deduceImageSize(u,c,f);return c=p.width,f=p.height,{dataFormat:l,type:_,compressed:E,width:c,height:f,format:a,data:u}}},{key:"_deduceImageSize",value:function(i,a,u){var c;return typeof ImageData<"u"&&i instanceof ImageData?c={width:i.width,height:i.height}:typeof HTMLImageElement<"u"&&i instanceof HTMLImageElement?c={width:i.naturalWidth,height:i.naturalHeight}:typeof HTMLCanvasElement<"u"&&i instanceof HTMLCanvasElement?c={width:i.width,height:i.height}:typeof ImageBitmap<"u"&&i instanceof ImageBitmap?c={width:i.width,height:i.height}:typeof HTMLVideoElement<"u"&&i instanceof HTMLVideoElement?c={width:i.videoWidth,height:i.videoHeight}:i?c={width:a,height:u}:c={width:a>=0?a:1,height:u>=0?u:1},H(c,"Could not deduced texture size"),H(a===void 0||c.width===a,"Deduced texture width does not match supplied width"),H(u===void 0||c.height===u,"Deduced texture height does not match supplied height"),c}},{key:"setCubeMapImageData",value:function(){var n=re(Jn.default.mark(function a(u){var c=this,f,l,_,E,d,p,m,R,O,S,I;return Jn.default.wrap(function(w){for(;;)switch(w.prev=w.next){case 0:return f=this.gl,l=u.width,_=u.height,E=u.pixels,d=u.data,p=u.format,m=p===void 0?o.RGBA:p,R=u.type,O=R===void 0?o.UNSIGNED_BYTE:R,S=E||d,w.next=5,Promise.all(t.FACES.map(function(B){var j=S[B];return Promise.all(Array.isArray(j)?j:[j])}));case 5:I=w.sent,this.bind(),t.FACES.forEach(function(B,j){I[j].length>1&&c.props.mipmaps!==!1&&U.warn("".concat(c.id," has mipmap and multiple LODs."))(),I[j].forEach(function(D,Z){l&&_?f.texImage2D(B,Z,m,l,_,0,m,O,D):f.texImage2D(B,Z,m,m,O,D)})}),this.unbind();case 9:case"end":return w.stop()}},a,this)}));function i(a){return n.apply(this,arguments)}return i}()},{key:"setImageDataForFace",value:function(i){var a=this,u=i.face,c=i.width,f=i.height,l=i.pixels,_=i.data,E=i.format,d=E===void 0?o.RGBA:E,p=i.type,m=p===void 0?o.UNSIGNED_BYTE:p,R=this.gl,O=l||_;return this.bind(),O instanceof Promise?O.then(function(S){return a.setImageDataForFace(Object.assign({},i,{face:u,data:S,pixels:S}))}):this.width||this.height?R.texImage2D(u,0,d,c,f,0,d,m,O):R.texImage2D(u,0,d,d,m,O),this}},{key:"setImageData3D",value:function(i){var a=this,u=i.level,c=u===void 0?0:u,f=i.dataFormat,l=i.format,_=i.type,E=i.width,d=i.height,p=i.depth,m=p===void 0?1:p,R=i.offset,O=R===void 0?0:R,S=i.data,I=i.parameters,y=I===void 0?{}:I;this.trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle);var w=xr(this.gl,l);if(rr(this.gl,y,function(){ArrayBuffer.isView(S)&&a.gl.texImage3D(a.target,c,w.format,E,d,m,0,w.dataFormat,w.type,S),S instanceof je&&(a.gl.bindBuffer(o.PIXEL_UNPACK_BUFFER,S.handle),a.gl.texImage3D(a.target,c,f,E,d,m,0,l,_,O))}),S&&S.byteLength)this.trackAllocatedMemory(S.byteLength,"Texture");else{var B=kn(this.gl,this.props.format);this.trackAllocatedMemory(this.width*this.height*this.depth*B,"Texture")}return this.loaded=!0,this}},{key:"_setSamplerParameters",value:function(i){if(this.device.isWebGL1&&Lr(this.width,this.height)&&(i=Es(i)),!St(i)){i_(i),this.gl.bindTexture(this.target,this.handle);for(var a=0,u=Object.entries(i);a<u.length;a++){var c=k(u[a],2),f=c[0],l=c[1],_=Number(f),E=l;switch(_){case o.TEXTURE_MIN_LOD:case o.TEXTURE_MAX_LOD:this.gl.texParameterf(this.target,_,E);break;default:this.gl.texParameteri(this.target,_,E);break}}this.gl.bindTexture(this.target,null)}}},{key:"_getWebGL1NPOTParameterOverride",value:function(i,a){var u=this.device.isWebGL1&&Lr(this.width,this.height);if(u)switch(i){case o.TEXTURE_MIN_FILTER:if(a!==o.LINEAR&&a!==o.NEAREST)return o.LINEAR;break;case o.TEXTURE_WRAP_S:case o.TEXTURE_WRAP_T:return o.CLAMP_TO_EDGE;default:break}return a}}]),t}(we);s(Ze,"FACES",[o.TEXTURE_CUBE_MAP_POSITIVE_X,o.TEXTURE_CUBE_MAP_NEGATIVE_X,o.TEXTURE_CUBE_MAP_POSITIVE_Y,o.TEXTURE_CUBE_MAP_NEGATIVE_Y,o.TEXTURE_CUBE_MAP_POSITIVE_Z,o.TEXTURE_CUBE_MAP_NEGATIVE_Z]);function n_(e){switch(e.dimension){case"2d":return o.TEXTURE_2D;case"cube":return o.TEXTURE_CUBE_MAP;case"2d-array":return o.TEXTURE_2D_ARRAY;case"3d":return o.TEXTURE_3D;case"1d":case"cube-array":default:throw new Error(e.dimension)}}function Lr(e,r){return!e||!r?!1:!pr(e)||!pr(r)}function i_(e){U.log(1,"texture sampler parameters",e)()}function Xr(e,r){if(typeof r!="string")return r;var t=Number(r);if(!isNaN(t))return t;r=r.replace(/^.*\./,"");var n=e[r];return H(n!==void 0,"Accessing undefined constant GL.".concat(r)),n}function ei(e,r){e=e.gl||e,r=Number(r);for(var t in e)if(e[t]===r)return"GL.".concat(t);return String(r)}function a_(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=o_(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
252
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function o_(e,r){if(e){if(typeof e=="string")return Rs(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Rs(e,r)}}function Rs(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function s_(e){var r=u_();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function u_(){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 xt="Resource subclass must define virtual methods",Hr=function(e){L(t,e);var r=s_(t);function t(n,i,a){var u;b(this,t),u=r.call(this,n,i,a),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=ge.attach(n);var c=u.device.gl;Po(c);var f=i||{},l=f.id;return u.gl=c,u.gl2=c,u.id=l||ne(u.constructor.name),u._handle=i?.handle,u._handle===void 0&&(u._handle=u._createHandle()),u.byteLength=0,u}return N(t,[{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]:{},a=i.deleteChildren,u=a===void 0?!1:a,c=this._handle&&this._deleteHandle(this._handle);return this._handle&&this.removeStats(),this._handle=null,c&&u&&c.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 a;return this._bound?a=i():(this._bindHandle(this.handle),this._bound=!0,a=i(),this._bound=!1,this._bindHandle(null)),a}},{key:"unbind",value:function(){this.bind(null)}},{key:"getParameter",value:function(i){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};i=Xr(this.gl,i),H(i);var u=this.constructor.PARAMETERS||{},c=u[i];if(c){var f=$(this.gl),l=(!("webgl2"in c)||f)&&(!("extension"in c)||this.gl.getExtension(c.extension));if(!l){var _=c.webgl1,E="webgl2"in c?c.webgl2:c.webgl1,d=f?E:_;return d}}return this._getParameter(i,a)}},{key:"getParameters",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=i.parameters,u=i.keys,c=this.constructor.PARAMETERS||{},f=$(this.gl),l={},_=a||Object.keys(c),E=a_(_),d;try{for(E.s();!(d=E.n()).done;){var p=d.value,m=c[p],R=m&&(!("webgl2"in m)||f)&&(!("extension"in m)||this.gl.getExtension(m.extension));if(R){var O=u?ei(this.gl,p):p;l[O]=this.getParameter(p,i),u&&m.type==="GLenum"&&(l[O]=ei(this.gl,l[O]))}}}catch(S){E.e(S)}finally{E.f()}return l}},{key:"setParameter",value:function(i,a){i=Xr(this.gl,i),H(i);var u=this.constructor.PARAMETERS||{},c=u[i];if(c){var f=$(this.gl),l=(!("webgl2"in c)||f)&&(!("extension"in c)||this.gl.getExtension(c.extension));if(!l)throw new Error("Parameter not available on this platform");c.type==="GLenum"&&(a=Xr(a))}return this._setParameter(i,a),this}},{key:"setParameters",value:function(i){for(var a in i)this.setParameter(a,i[a]);return this}},{key:"stubRemovedMethods",value:function(i,a,u){return En(this,i,a,u)}},{key:"initialize",value:function(i){}},{key:"_createHandle",value:function(){throw new Error(xt)}},{key:"_deleteHandle",value:function(){throw new Error(xt)}},{key:"_bindHandle",value:function(i){throw new Error(xt)}},{key:"_getOptsFromHandle",value:function(){throw new Error(xt)}},{key:"_getParameter",value:function(i,a){throw new Error(xt)}},{key:"_setParameter",value:function(i,a){throw new Error(xt)}}]),t}(pe);var z;function As(e,r){var t=vs[r];return t?t.ext?Boolean(e.getExtension(t.ext)):t.gl2?$(e):!0:!1}function Ts(e){return vs[e].bpp}var mt="EXT_color_buffer_float",vs=(z={},s(z,o.DEPTH_COMPONENT16,{bpp:2}),s(z,o.DEPTH_COMPONENT24,{gl2:!0,bpp:3}),s(z,o.DEPTH_COMPONENT32F,{gl2:!0,bpp:4}),s(z,o.STENCIL_INDEX8,{bpp:1}),s(z,o.DEPTH_STENCIL,{bpp:4}),s(z,o.DEPTH24_STENCIL8,{gl2:!0,bpp:4}),s(z,o.DEPTH32F_STENCIL8,{gl2:!0,bpp:5}),s(z,o.RGBA4,{bpp:2}),s(z,o.RGB565,{bpp:2}),s(z,o.RGB5_A1,{bpp:2}),s(z,o.R8,{gl2:!0,bpp:1}),s(z,o.R8UI,{gl2:!0,bpp:1}),s(z,o.R8I,{gl2:!0,bpp:1}),s(z,o.R16UI,{gl2:!0,bpp:2}),s(z,o.R16I,{gl2:!0,bpp:2}),s(z,o.R32UI,{gl2:!0,bpp:4}),s(z,o.R32I,{gl2:!0,bpp:4}),s(z,o.RG8,{gl2:!0,bpp:2}),s(z,o.RG8UI,{gl2:!0,bpp:2}),s(z,o.RG8I,{gl2:!0,bpp:2}),s(z,o.RG16UI,{gl2:!0,bpp:4}),s(z,o.RG16I,{gl2:!0,bpp:4}),s(z,o.RG32UI,{gl2:!0,bpp:8}),s(z,o.RG32I,{gl2:!0,bpp:8}),s(z,o.RGB8,{gl2:!0,bpp:3}),s(z,o.RGBA8,{gl2:!0,bpp:4}),s(z,o.RGB10_A2,{gl2:!0,bpp:4}),s(z,o.RGBA8UI,{gl2:!0,bpp:4}),s(z,o.RGBA8I,{gl2:!0,bpp:4}),s(z,o.RGB10_A2UI,{gl2:!0,bpp:4}),s(z,o.RGBA16UI,{gl2:!0,bpp:8}),s(z,o.RGBA16I,{gl2:!0,bpp:8}),s(z,o.RGBA32I,{gl2:!0,bpp:16}),s(z,o.RGBA32UI,{gl2:!0,bpp:16}),s(z,o.R16F,{ext:mt,bpp:2}),s(z,o.RG16F,{ext:mt,bpp:4}),s(z,o.RGBA16F,{ext:mt,bpp:8}),s(z,o.R32F,{ext:mt,bpp:4}),s(z,o.RG32F,{ext:mt,bpp:8}),s(z,o.RGBA32F,{ext:mt,bpp:16}),s(z,o.R11F_G11F_B10F,{ext:mt,bpp:4}),z);function gs(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Ss(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?gs(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):gs(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function f_(e){var r=c_();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function c_(){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 l_={id:void 0,handle:void 0,userData:void 0,format:0,width:1,height:1,samples:0},Wr=function(e,r){L(n,e);var t=f_(n);function n(i,a){var u;return b(this,n),u=t.call(this,i,a,l_),u._initialize(u.props),u}return N(n,[{key:r,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(a){return(a.width!==this.width||a.height!==this.height)&&(Object.assign(this.props,Ss(Ss({},a),{},{format:this.format,samples:this.samples})),this._initialize(this.props)),this}},{key:"_initialize",value:function(a){var u=a.format,c=a.width,f=a.height,l=a.samples;return H(u,"Needs format"),this.trackDeallocatedMemory(),this.gl.bindRenderbuffer(o.RENDERBUFFER,this.handle),l!==0&&this.device.isWebGL2?this.gl.renderbufferStorageMultisample(o.RENDERBUFFER,l,u,c,f):this.gl.renderbufferStorage(o.RENDERBUFFER,u,c,f),this.gl.bindRenderbuffer(o.RENDERBUFFER,null),this.trackAllocatedMemory(c*f*(l||1)*Ts(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(a){this.gl.bindRenderbuffer(o.RENDERBUFFER,a)}}],[{key:"isSupported",value:function(a,u){return!(u!=null&&u.format)||As(a,u.format)}}]),n}(Hr,Symbol.toStringTag);function Os(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=__(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
253
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function __(e,r){if(e){if(typeof e=="string")return ys(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return ys(e,r)}}function ys(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function E_(e){var r=d_();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(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 Vr=function(e){L(t,e);var r=E_(t);function t(n,i){var a;b(this,t),a=r.call(this,n,i),s(T(a),"device",void 0),s(T(a),"gl",void 0),s(T(a),"handle",void 0),s(T(a),"colorAttachments",[]),s(T(a),"depthStencilAttachment",null),s(T(a),"_ownResources",[]),a.device=n,a.gl=n.gl,a.handle=a.props.handle!==void 0?a.props.handle:a.gl.createFramebuffer(),a.handle&&n.setSpectorMetadata(a.handle,{id:a.props.id,props:a.props}),a.colorAttachments=a._createColorAttachments(),a.depthStencilAttachment=a._createDepthStencilAttachment();for(var u=a.gl.bindFramebuffer(o.FRAMEBUFFER,a.handle),c=0;c<a.colorAttachments.length;++c){var f=a.colorAttachments[c],l=o.COLOR_ATTACHMENT0+c;f&&a._attachOne(l,f)}return a.props.depthStencilAttachment&&a._attachOne(rs(a.depthStencilAttachment.format),a.depthStencilAttachment),a.gl.bindFramebuffer(o.FRAMEBUFFER,u||null),i.check!==!1&&a._checkStatus(),a}return N(t,[{key:"texture",get:function(){return this.colorAttachments[0]}},{key:"destroy",value:function(){if(this.handle!==null){var i=Os(this._ownResources),a;try{for(i.s();!(a=i.n()).done;){var u=a.value;u.destroy()}}catch(c){i.e(c)}finally{i.f()}this.gl.deleteFramebuffer(this.handle),this.destroyed=!0}}},{key:"_checkStatus",value:function(){var i=this.gl,a=i.bindFramebuffer(o.FRAMEBUFFER,this.handle),u=i.checkFramebufferStatus(o.FRAMEBUFFER);if(i.bindFramebuffer(o.FRAMEBUFFER,a||null),u!==i.FRAMEBUFFER_COMPLETE)throw new Error("Framebuffer ".concat(h_(u)))}},{key:"_createColorAttachments",value:function(){var i=this;return this.props.colorAttachments.map(function(a){if(a)return a instanceof Ze?a:i._createColorAttachment(a,i.width,i.height)})}},{key:"_createColorAttachment",value:function(i,a,u){var c=this.device._createTexture({id:"".concat(this.id,"-color"),data:null,format:i,width:a,height:u,mipmaps:!1,sampler:{minFilter:"linear",magFilter:"linear",addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge"}});return this._ownResources.push(c),c}},{key:"_createDepthStencilAttachment",value:function(){if(this.props.depthStencilAttachment){if(this.props.depthStencilAttachment instanceof Wr)return this.props.depthStencilAttachment;if(this.props.depthStencilAttachment instanceof we)return this.props.depthStencilAttachment;var i=this.props.depthStencilAttachment,a=tr(this.gl,i),u=new Wr(this.device,{id:"".concat(this.id,"-depth-stencil"),format:a,width:this.width,height:this.height});return this._ownResources.push(u),u}}},{key:"_resizeAttachments",value:function(i,a){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),a===void 0&&(a=this.gl.drawingBufferHeight),i!==this.width&&a!==this.height&&U.log(2,"Resizing framebuffer ".concat(this.id," to ").concat(i,"x").concat(a))();var c=Os(this.colorAttachments),f;try{for(c.s();!(f=c.n()).done;){var l=f.value;l.resize({width:i,height:a})}}catch(_){c.e(_)}finally{c.f()}return(u=this.depthStencilAttachment)===null||u===void 0||u.resize({width:i,height:a}),this}},{key:"_attachOne",value:function(i,a){if(a instanceof Wr)return this._attachRenderbuffer(i,a),a;if(Array.isArray(a)){var u=k(a,3),c=u[0],f=u[1],l=f===void 0?0:f,_=u[2],E=_===void 0?0:_;return this._attachTexture(i,c,l,E),c}else if(a instanceof Ze)return this._attachTexture(i,a,0,0),a;throw new Error("attach")}},{key:"_attachRenderbuffer",value:function(i,a){this.gl.framebufferRenderbuffer(o.FRAMEBUFFER,i,o.RENDERBUFFER,a.handle)}},{key:"_attachTexture",value:function(i,a,u,c){var f=this.device,l=f.gl,_=f.gl2;switch(l.bindTexture(a.target,a.handle),a.target){case o.TEXTURE_2D_ARRAY:case o.TEXTURE_3D:this.device.assertWebGL2(),_?.framebufferTextureLayer(o.FRAMEBUFFER,i,a.target,c,u);break;case o.TEXTURE_CUBE_MAP:var E=p_(u);l.framebufferTexture2D(o.FRAMEBUFFER,i,E,a.handle,c);break;case o.TEXTURE_2D:l.framebufferTexture2D(o.FRAMEBUFFER,i,o.TEXTURE_2D,a.handle,c);break;default:H(!1,"Illegal texture type")}l.bindTexture(a.target,null)}}]),t}(cn);function p_(e){return e<o.TEXTURE_CUBE_MAP_POSITIVE_X?e+o.TEXTURE_CUBE_MAP_POSITIVE_X:e}function h_(e){switch(e){case o.FRAMEBUFFER_COMPLETE:return"success";case o.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:return"Mismatched attachments";case o.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:return"No attachments";case o.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:return"Height/width mismatch";case o.FRAMEBUFFER_UNSUPPORTED:return"Unsupported or split attachments";case o.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:return"Samples mismatch";default:return"".concat(e)}}function m_(e){var r=R_();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function R_(){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 bs=function(e){L(t,e);var r=m_(t);function t(n,i){var a;return b(this,t),a=r.call(this,i),s(T(a),"device",void 0),s(T(a),"presentationSize",void 0),s(T(a),"_framebuffer",null),a.device=n,a.presentationSize=[-1,-1],a._setAutoCreatedCanvasId("".concat(a.device.id,"-canvas")),a.update(),a}return N(t,[{key:"getCurrentFramebuffer",value:function(){return this.update(),this._framebuffer=this._framebuffer||new Vr(this.device,{handle:null}),this._framebuffer}},{key:"update",value:function(){var i=this.getPixelSize(),a=i[0]!==this.presentationSize[0]||i[1]!==this.presentationSize[1];a&&(this.presentationSize=i)}},{key:"resize",value:function(i){if(this.canvas){this.setDevicePixelRatio(devicePixelRatio,i);return}var a=this.device.gl.getExtension("STACKGL_resize_drawingbuffer");a&&i&&"width"in i&&"height"in i&&a.resize(i.width,i.height)}},{key:"commit",value:function(){}}]),t}(yt);var ti=Be(Me(),1);function Ns(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Cs(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Ns(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Ns(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var A_={spector:U.get("spector")||U.get("inspect")},T_="https://spectorcdn.babylonjs.com/spector.bundle.js",v_=1,Ne=null,Is=!1;function Ps(e){return ri.apply(this,arguments)}function ri(){return ri=re(ti.default.mark(function e(r){return ti.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,Yt(T_);case 4:n.next=9;break;case 6:n.prev=6,n.t0=n.catch(1),U.warn(String(n.t0));case 9:case"end":return n.stop()}},e,null,[[1,6]])})),ri.apply(this,arguments)}function Ms(e){var r,t;if(e=Cs(Cs({},A_),e),!((r=e)!==null&&r!==void 0&&r.spector)||(!Ne&&globalThis.SPECTOR&&(U.probe(v_,"SPECTOR found and initialized")(),Ne=new globalThis.SPECTOR.Spector,globalThis.luma&&(globalThis.luma.spector=Ne)),!Ne))return null;if(!Is){var n,i;Is=!0,Ne.spyCanvases(),(n=Ne)===null||n===void 0||n.onCaptureStarted.add(function(c){return U.info("Spector capture started:",c)()}),(i=Ne)===null||i===void 0||i.onCapture.add(function(c){var f,l,_;U.info("Spector capture complete:",c)(),(f=Ne)===null||f===void 0||f.getResultUI(),(l=Ne)===null||l===void 0||l.resultView.display(),(_=Ne)===null||_===void 0||_.resultView.addCapture(c)})}if((t=e)!==null&&t!==void 0&&t.canvas){var a,u;if(typeof e.spector=="string"&&e.spector!==e.canvas.id)return Ne;(a=Ne)===null||a===void 0||a.startCapture((u=e)===null||u===void 0?void 0:u.canvas,500),new Promise(function(c){return setTimeout(c,2e3)}).then(function(c){var f;U.info("Spector capture stopped after 2 seconds")(),(f=Ne)===null||f===void 0||f.stopCapture()})}return Ne}var ii=Be(Me(),1);function g_(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=S_(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
254
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function S_(e,r){if(e){if(typeof e=="string")return Fs(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Fs(e,r)}}function Fs(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function Ds(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Bs(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Ds(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Ds(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var O_="https://unpkg.com/webgl-debug@2.0.1/index.js";function xs(e){return e.luma=e.luma||{},e.luma}function Us(){return ai.apply(this,arguments)}function ai(){return ai=re(ii.default.mark(function e(){return ii.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(globalThis.WebGLDebugUtils){t.next=5;break}return globalThis.global=globalThis.global||globalThis,globalThis.global.module={},t.next=5,Yt(O_);case 5:case"end":return t.stop()}},e)})),ai.apply(this,arguments)}function ws(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return e?r.debug?b_(e,r):y_(e):null}function y_(e){var r=xs(e);return r.realContext?r.realContext:e}function b_(e,r){if(!globalThis.WebGLDebugUtils)return U.warn("webgl-debug not loaded")(),e;var t=xs(e);if(t.debugContext)return t.debugContext;globalThis.WebGLDebugUtils.init(Bs(Bs({},o),e));var n=globalThis.WebGLDebugUtils.makeDebugContext(e,N_.bind(null,r),C_.bind(null,r));for(var i in o)!(i in n)&&typeof o[i]=="number"&&(n[i]=o[i]);var a=N(function c(){b(this,c)});Object.setPrototypeOf(n,Object.getPrototypeOf(e)),Object.setPrototypeOf(a,n);var u=Object.create(a);return t.realContext=e,t.debugContext=u,u.debug=!0,u}function ni(e,r){r=Array.from(r).map(function(n){return n===void 0?"undefined":n});var t=globalThis.WebGLDebugUtils.glFunctionArgsToString(e,r);return t="".concat(t.slice(0,100)).concat(t.length>100?"...":""),"gl.".concat(e,"(").concat(t,")")}function N_(e,r,t,n){n=Array.from(n).map(function(f){return f===void 0?"undefined":f});var i=globalThis.WebGLDebugUtils.glEnumToString(r),a=globalThis.WebGLDebugUtils.glFunctionArgsToString(t,n),u=e.webgl2?"gl2":"gl1",c="".concat(i," in ").concat(u,".").concat(t,"(").concat(a,")");U.error(c)();debugger;if(e.throwOnError)throw new Error(c)}function C_(e,r,t){var n="";if(U.level>=1&&(n=ni(r,t),U.log(1,n)()),e.break&&e.break.length>0){n=n||ni(r,t);var i=e.break.every(function(f){return n.indexOf(f)!==-1});if(i)debugger}var a=g_(t),u;try{for(a.s();!(u=a.n()).done;){var c=u.value;if(c===void 0){if(n=n||ni(r,t),e.throwOnError)throw new Error("Undefined argument: ".concat(n));U.error("Undefined argument: ".concat(n))();debugger}}}catch(f){a.e(f)}finally{a.f()}}function oi(){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 Ut(e,r,t){return oi()?Ut=Reflect.construct.bind():Ut=function(i,a,u){var c=[null];c.push.apply(c,a);var f=Function.bind.apply(i,c),l=new f;return u&&ut(l,u.prototype),l},Ut.apply(null,arguments)}var I_="Failed to deduce GL constant from typed array";function jr(e){var r=ArrayBuffer.isView(e)?e.constructor:e;switch(r){case Float32Array:return o.FLOAT;case Uint16Array:return o.UNSIGNED_SHORT;case Uint32Array:return o.UNSIGNED_INT;case Uint8Array:return o.UNSIGNED_BYTE;case Uint8ClampedArray:return o.UNSIGNED_BYTE;case Int8Array:return o.BYTE;case Int16Array:return o.SHORT;case Int32Array:return o.INT;default:throw new Error(I_)}}function wt(e,r){var t=r||{},n=t.clamped,i=n===void 0?!0:n;switch(e){case o.FLOAT:return Float32Array;case o.UNSIGNED_SHORT:case o.UNSIGNED_SHORT_5_6_5:case o.UNSIGNED_SHORT_4_4_4_4:case o.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;case o.UNSIGNED_INT:return Uint32Array;case o.UNSIGNED_BYTE:return i?Uint8ClampedArray:Uint8Array;case o.BYTE:return Int8Array;case o.SHORT:return Int16Array;case o.INT:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}var P_={offset:0,stride:0,type:o.FLOAT,size:1,divisor:0,normalized:!1,integer:!1},M_={deprecatedProps:{instanced:"divisor",isInstanced:"divisor"}},ke=function(){function e(){var r=this;b(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 t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];n.forEach(function(a){return r._assign(a)}),Object.freeze(this)}return N(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 t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return t=ct("Accessor",t,M_),t.type!==void 0&&(this.type=t.type,(t.type===o.INT||t.type===o.UNSIGNED_INT)&&(this.integer=!0)),t.size!==void 0&&(this.size=t.size),t.offset!==void 0&&(this.offset=t.offset),t.stride!==void 0&&(this.stride=t.stride),t.normalize!==void 0&&(this.normalized=t.normalize),t.normalized!==void 0&&(this.normalized=t.normalized),t.integer!==void 0&&(this.integer=t.integer),t.divisor!==void 0&&(this.divisor=t.divisor),t.buffer!==void 0&&(this.buffer=t.buffer),t.index!==void 0&&(typeof t.index=="boolean"?this.index=t.index?1:0:this.index=t.index),t.instanced!==void 0&&(this.divisor=t.instanced?1:0),t.isInstanced!==void 0&&(this.divisor=t.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(t){var n=wt(t.type||o.FLOAT);return n.BYTES_PER_ELEMENT}},{key:"getBytesPerVertex",value:function(t){H(t.size);var n=wt(t.type||o.FLOAT);return n.BYTES_PER_ELEMENT*t.size}},{key:"resolve",value:function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return Ut(e,[P_].concat(n))}}]),e}();function F_(e){var r=D_();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(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}}function Ls(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function B_(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Ls(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Ls(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var Xs=10,Hs={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"},Ws={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:Hs},x_={removedProps:Hs};function U_(e){if(ArrayBuffer.isView(e))return{data:e};if(typeof e=="number")return{byteLength:e};e=ct("Buffer",e,Ws);var r=B_({},e);return r.offset&&(r.byteOffset=r.offset),r}var Vs=function(e){L(t,e);var r=F_(t);function t(n){var i,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(b(this,t),i=r.call(this,ge.attach(n),U_(a)),s(T(i),"usage",void 0),s(T(i),"accessor",void 0),i.setAccessor(Object.assign({},a,a.accessor)),i.props.data){var u=jr(i.props.data);H(u),i.setAccessor(new ke(i.accessor,{type:u}))}return Object.seal(T(i)),i}return N(t,[{key:"write",value:function(i,a){this.subData({data:i,offset:a})}},{key:"getElementCount",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.accessor;return Math.round(this.byteLength/ke.getBytesPerElement(i))}},{key:"getVertexCount",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.accessor;return Math.round(this.byteLength/ke.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=ct("Buffer",i,Ws),this.webglUsage=i.webglUsage||o.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=ct("Buffer",i,x_),"accessor"in i&&this.setAccessor(i.accessor),this}},{key:"setAccessor",value:function(i){return i=Object.assign({},i),delete i.buffer,this.accessor=new ke(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 a=i,u=a.data,c=a.offset,f=c===void 0?0:c,l=a.srcOffset,_=l===void 0?0:l,E=i.byteLength||i.length;H(u);var d=this.gl.webgl2?o.COPY_WRITE_BUFFER:this.target;return this.gl.bindBuffer(d,this.handle),_!==0||E!==void 0?(Ir(this.gl),this.gl.bufferSubData(this.target,f,u,_,E)):this.gl.bufferSubData(d,f,u),this.gl.bindBuffer(d,null),this.debugData=null,this._inferType(u),this}},{key:"copyData",value:function(i){var a=i.sourceBuffer,u=i.readOffset,c=u===void 0?0:u,f=i.writeOffset,l=f===void 0?0:f,_=i.size,E=this.gl,d=this.gl2;return Ir(E),E.bindBuffer(o.COPY_READ_BUFFER,a.handle),E.bindBuffer(o.COPY_WRITE_BUFFER,this.handle),d?.copyBufferSubData(o.COPY_READ_BUFFER,o.COPY_WRITE_BUFFER,c,l,_),E.bindBuffer(o.COPY_READ_BUFFER,null),E.bindBuffer(o.COPY_WRITE_BUFFER,null),this.debugData=null,this}},{key:"getData",value:function(i){var a,u=i||{},c=u.dstData,f=c===void 0?null:c,l=u.length,_=l===void 0?0:l,E=i||{},d=E.srcByteOffset,p=d===void 0?0:d,m=E.dstOffset,R=m===void 0?0:m;Ir(this.gl);var O=wt(this.accessor.type||o.FLOAT,{clamped:!1}),S=this._getAvailableElementCount(p),I=R,y,w;f?(w=f.length,y=w-I):(y=Math.min(S,_||S),w=I+y);var B=Math.min(S,y);return _=_||B,H(_<=B),f=f||new O(w),this.gl.bindBuffer(o.COPY_READ_BUFFER,this.handle),(a=this.gl2)===null||a===void 0||a.getBufferSubData(o.COPY_READ_BUFFER,p,f,R,_),this.gl.bindBuffer(o.COPY_READ_BUFFER,null),f}},{key:"bind",value:function(i){var a=i||{},u=a.target,c=u===void 0?this.target:u,f=a.index,l=f===void 0?this.accessor&&this.accessor.index:f,_=a.offset,E=_===void 0?0:_,d=a.size;if(c===o.UNIFORM_BUFFER||c===o.TRANSFORM_FEEDBACK_BUFFER)if(d!==void 0){var p;(p=this.gl2)===null||p===void 0||p.bindBufferRange(c,l,this.handle,E,d)}else{var m;H(E===0),(m=this.gl2)===null||m===void 0||m.bindBufferBase(c,l,this.handle)}else this.gl.bindBuffer(c,this.handle);return this}},{key:"unbind",value:function(i){var a=i||{},u=a.target,c=u===void 0?this.target:u,f=a.index,l=f===void 0?this.accessor&&this.accessor.index:f,_=c===o.UNIFORM_BUFFER||c===o.TRANSFORM_FEEDBACK_BUFFER;if(_){var E;(E=this.gl2)===null||E===void 0||E.bindBufferBase(c,l,null)}else this.gl.bindBuffer(c,null);return this}},{key:"getDebugData",value:function(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(Xs,this.byteLength)}),{data:this.debugData,changed:!0})}},{key:"invalidateDebugData",value:function(){this.debugData=null}},{key:"_setData",value:function(i){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:i.byteLength+a;H(ArrayBuffer.isView(i)),this.trackDeallocatedMemory();var c=this._getTarget();this.gl.bindBuffer(c,this.handle),this.gl.bufferData(c,u,this.webglUsage),this.gl.bufferSubData(c,a,i),this.gl.bindBuffer(c,null),this.debugData=i.slice(0,Xs),this.bytesUsed=u,this.byteLength=u,this.trackAllocatedMemory(u);var f=jr(i);return H(f),this.setAccessor(new ke(this.accessor,{type:f})),this}},{key:"_setByteLength",value:function(i){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.webglUsage;H(i>=0),this.trackDeallocatedMemory();var u=i;i===0&&(u=new Float32Array(0));var c=this._getTarget();return this.gl.bindBuffer(c,this.handle),this.gl.bufferData(c,u,a),this.gl.bindBuffer(c,null),this.webglUsage=a,this.debugData=null,this.bytesUsed=i,this.byteLength=i,this.trackAllocatedMemory(i),this}},{key:"_getTarget",value:function(){return this.gl.webgl2?o.COPY_WRITE_BUFFER:this.target}},{key:"_getAvailableElementCount",value:function(i){var a=wt(this.accessor.type||o.FLOAT,{clamped:!1}),u=i/a.BYTES_PER_ELEMENT;return this.getElementCount()-u}},{key:"_inferType",value:function(i){this.accessor.type||this.setAccessor(new ke(this.accessor,{type:jr(i)}))}},{key:"getParameter",value:function(i){this.gl.bindBuffer(this.target,this.handle);var a=this.gl.getBufferParameter(this.target,i);return this.gl.bindBuffer(this.target,null),a}},{key:"type",get:function(){return this.accessor.type}}]),t}(je);var ci=Be(Me(),1);function si(e,r){return{name:w_(e,r),language:"glsl",version:L_(e)}}function w_(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"unnamed",t=/#define[\s*]SHADER_NAME[\s*]([A-Za-z0-9_-]+)[\s*]/,n=t.exec(e);return n?n[1]:r}function L_(e){var r=100,t=e.match(/[^\s]+/g);if(t&&t.length>=2&&t[0]==="#version"){var n=parseInt(t[1],10);Number.isFinite(n)&&(r=n)}return r}function ui(e){return Xt(e)||Zt(e)||it(e)||Ht()}function X_(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=H_(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
255
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function H_(e,r){if(e){if(typeof e=="string")return js(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return js(e,r)}}function js(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}var W_=["warning","error","info"];function fi(e){var r=e.split(/\r?\n/),t=[],n=X_(r),i;try{for(n.s();!(i=n.n()).done;){var a=i.value;if(!(a.length<=1)){var u=a.split(":"),c=ui(u),f=c[0],l=c[1],_=c[2],E=c.slice(3),d=parseInt(_,10);isNaN(d)&&(d=0);var p=parseInt(l,10);isNaN(p)&&(p=0);var m=f.toLowerCase(),R=W_.includes(m)?m:"info";t.push({message:E.join(":").trim(),type:R,lineNum:d,linePos:p})}}}catch(O){n.e(O)}finally{n.f()}return t}function ks(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function V_(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?ks(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ks(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function j_(e){var r=k_();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function k_(){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 Ks=function(e){L(t,e);var r=j_(t);function t(n,i){var a;switch(b(this,t),a=r.call(this,n,V_({id:K_(i)},i)),s(T(a),"device",void 0),s(T(a),"handle",void 0),a.device=n,a.props.stage){case"vertex":a.handle=a.props.handle||a.device.gl.createShader(o.VERTEX_SHADER);break;case"fragment":a.handle=a.props.handle||a.device.gl.createShader(o.FRAGMENT_SHADER);break;default:throw new Error(a.props.stage)}return a._compile(a.source),a}return N(t,[{key:"destroy",value:function(){this.handle&&(this.removeStats(),this.device.gl.deleteShader(this.handle),this.destroyed=!0)}},{key:"compilationInfo",value:function(){var n=re(ci.default.mark(function a(){var u;return ci.default.wrap(function(f){for(;;)switch(f.prev=f.next){case 0:return u=this.device.gl.getShaderInfoLog(this.handle),f.abrupt("return",u?fi(u):[]);case 2:case"end":return f.stop()}},a,this)}));function i(){return n.apply(this,arguments)}return i}()},{key:"_compile",value:function(i){var a=function(R){return R.startsWith("#version ")?R:`#version 100
256
- `.concat(R)};i=a(i);var u=this.device.gl;u.shaderSource(this.handle,i),u.compileShader(this.handle);var c=u.getShaderParameter(this.handle,o.COMPILE_STATUS);if(!c){var f=u.getShaderInfoLog(this.handle),l=f?fi(f):[],_=l.filter(function(m){return m.type==="error"}),E=mn(_,i),d=si(i).name,p="".concat(this.stage," shader ").concat(d);throw U.error("GLSL compilation errors in ".concat(p,`
257
- `).concat(E))(),new Error("GLSL compilation errors in ".concat(d))}}}]),t}(un);function K_(e){return si(e.source).name||e.id||ne("unnamed ".concat(e.stage,"-shader"))}function Y_(e){var r=G_();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function G_(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var Ys=function(e){L(t,e);var r=Y_(t);function t(n,i){var a;return b(this,t),a=r.call(this,n,i),s(T(a),"device",void 0),a.device=n,a}return N(t,[{key:"end",value:function(){}},{key:"pushDebugGroup",value:function(i){}},{key:"popDebugGroup",value:function(){}},{key:"insertDebugMarker",value:function(i){}}]),t}(ln);var ie;function Gs(e){return z_.includes(e)}var z_=[o.SAMPLER_2D,o.SAMPLER_CUBE,o.SAMPLER_3D,o.SAMPLER_2D_SHADOW,o.SAMPLER_2D_ARRAY,o.SAMPLER_2D_ARRAY_SHADOW,o.SAMPLER_CUBE_SHADOW,o.INT_SAMPLER_2D,o.INT_SAMPLER_3D,o.INT_SAMPLER_CUBE,o.INT_SAMPLER_2D_ARRAY,o.UNSIGNED_INT_SAMPLER_2D,o.UNSIGNED_INT_SAMPLER_3D,o.UNSIGNED_INT_SAMPLER_CUBE,o.UNSIGNED_INT_SAMPLER_2D_ARRAY],zs=(ie={},s(ie,o.FLOAT,[o.FLOAT,1,"float","f32","float32"]),s(ie,o.FLOAT_VEC2,[o.FLOAT,2,"vec2","vec2<f32>","float32x2"]),s(ie,o.FLOAT_VEC3,[o.FLOAT,3,"vec3","vec3<f32>","float32x3"]),s(ie,o.FLOAT_VEC4,[o.FLOAT,4,"vec4","vec4<f32>","float32x4"]),s(ie,o.INT,[o.INT,1,"int","i32","sint32"]),s(ie,o.INT_VEC2,[o.INT,2,"ivec2","vec2<i32>","sint32x2"]),s(ie,o.INT_VEC3,[o.INT,3,"ivec3","vec3<i32>","sint32x3"]),s(ie,o.INT_VEC4,[o.INT,4,"ivec4","vec4<i32>","sint32x4"]),s(ie,o.UNSIGNED_INT,[o.UNSIGNED_INT,1,"uint","u32","uint32"]),s(ie,o.UNSIGNED_INT_VEC2,[o.UNSIGNED_INT,2,"uvec2","vec2<u32>","uint32x2"]),s(ie,o.UNSIGNED_INT_VEC3,[o.UNSIGNED_INT,3,"uvec3","vec3<u32>","uint32x3"]),s(ie,o.UNSIGNED_INT_VEC4,[o.UNSIGNED_INT,4,"uvec4","vec4<u32>","uint32x4"]),s(ie,o.BOOL,[o.FLOAT,1,"bool","f32","float32x2"]),s(ie,o.BOOL_VEC2,[o.FLOAT,2,"bvec2","vec2<f32>"]),s(ie,o.BOOL_VEC3,[o.FLOAT,3,"bvec3","vec3<f32>"]),s(ie,o.BOOL_VEC4,[o.FLOAT,4,"bvec4","vec4<f32>"]),s(ie,o.FLOAT_MAT2,[o.FLOAT,8,"mat2","mat2x2<f32>"]),s(ie,o.FLOAT_MAT2x3,[o.FLOAT,8,"mat2x3","mat2x3<f32>"]),s(ie,o.FLOAT_MAT2x4,[o.FLOAT,8,"mat2x4","mat2x4<f32>"]),s(ie,o.FLOAT_MAT3x2,[o.FLOAT,12,"mat3x2","mat3x2<f32>"]),s(ie,o.FLOAT_MAT3,[o.FLOAT,12,"mat3","mat3x3<f32>"]),s(ie,o.FLOAT_MAT3x4,[o.FLOAT,12,"mat3x4","mat3x4<f32>"]),s(ie,o.FLOAT_MAT4x2,[o.FLOAT,16,"mat4x2","mat4x2<f32>"]),s(ie,o.FLOAT_MAT4x3,[o.FLOAT,16,"mat4x3","mat4x3<f32>"]),s(ie,o.FLOAT_MAT4,[o.FLOAT,16,"mat4","mat4x4<f32>"]),ie);function li(e){var r=zs[e];if(!r)throw new Error("uniform");var t=k(r,4),n=t[0],i=t[1],a=t[3];return{format:a,components:i,glType:n}}function $s(e){var r=zs[e];if(!r)throw new Error("attribute");var t=k(r,5),n=t[0],i=t[1],a=t[4];return{format:a,components:i,glType:n}}function Zs(e,r){var t=$_(e);switch(r){case 1:return t;case 2:return"".concat(t,"x2");case 3:return"".concat(t,"x3");case 4:return"".concat(t,"x4");default:throw new Error(String(r))}}function $_(e){switch(e){case o.INT:return"sint32";case o.UNSIGNED_INT:return"uint32";case o.FLOAT:return"float32";default:throw new Error(String(e))}}var he;function qs(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Qs(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?qs(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):qs(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function _i(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=Z_(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
258
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function Z_(e,r){if(e){if(typeof e=="string")return Js(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Js(e,r)}}function Js(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function eu(e,r){var t,n,i=q_(e,r),a={attributes:[],bindings:[]},u=_i(i.attributes),c;try{for(u.s();!(c=u.n()).done;){var f=c.value,l=Math.min(f.accessor.size,4),_=Zs(f.accessor.type||o.FLOAT,l);a.attributes.push({name:f.name,location:f.location,format:_,stepMode:f.accessor.divisor===1?"instance":"vertex"})}}catch(D){u.e(D)}finally{u.f()}var E=_i(i.uniformBlocks),d;try{for(E.s();!(d=E.n()).done;){var p=d.value,m=p.uniforms.map(function(D){return{name:D.name,format:D.format,byteOffset:D.byteOffset,byteStride:D.byteStride,arrayLength:D.arrayLength}});a.bindings.push({type:"uniform",name:p.name,location:p.location,visibility:(p.vertex?1:0)&(p.fragment?2:0),minBindingSize:p.byteLength,uniforms:m})}}catch(D){E.e(D)}finally{E.f()}var R=0,O=_i(i.uniforms),S;try{for(O.s();!(S=O.n()).done;){var I=S.value;if(Gs(I.type)){var y=nE(I.type),w=y.viewDimension,B=y.sampleType;a.bindings.push({type:"texture",name:I.name,location:R,viewDimension:w,sampleType:B}),I.textureUnit=R,R+=1}}}catch(D){O.e(D)}finally{O.f()}var j=((t=i.uniforms)===null||t===void 0?void 0:t.filter(function(D){return D.location!==null}))||[];return j.length&&(a.uniforms=j),(n=i.varyings)!==null&&n!==void 0&&n.length&&(a.varyings=i.varyings),a}function q_(e,r){var t={attributes:Q_(e,r),uniforms:eE(e,r),uniformBlocks:tE(e,r),varyings:J_(e,r)};return Object.seal(t),t}function Q_(e,r){for(var t=[],n=e.getProgramParameter(r,e.ACTIVE_ATTRIBUTES),i=0;i<n;i++){var a=e.getActiveAttrib(r,i);if(!a)throw new Error("activeInfo");var u=a.name,c=a.type,f=a.size,l=e.getAttribLocation(r,u);if(l>=0){var _=$s(c),E=_.glType,d=_.components,p={type:E,size:f*d};/instance/i.test(u)&&(p.divisor=1);var m={location:l,name:u,accessor:new ke(p)};t.push(m)}}return t.sort(function(R,O){return R.location-O.location}),t}function J_(e,r){if(!$(e))return[];for(var t=e,n=[],i=e.getProgramParameter(r,o.TRANSFORM_FEEDBACK_VARYINGS),a=0;a<i;a++){var u=t.getTransformFeedbackVarying(r,a);if(!u)throw new Error("activeInfo");var c=u.name,f=u.type,l=u.size,_=li(f),E=_.glType,d=_.components,p=new ke({type:E,size:l*d}),m={location:a,name:c,accessor:p};n.push(m)}return n.sort(function(R,O){return R.location-O.location}),n}function eE(e,r){for(var t=[],n=e.getProgramParameter(r,o.ACTIVE_UNIFORMS),i=0;i<n;i++){var a=e.getActiveUniform(r,i);if(!a)throw new Error("activeInfo");var u=a.name,c=a.size,f=a.type,l=iE(u),_=l.name,E=l.isArray,d=e.getUniformLocation(r,_),p={location:d,name:_,size:c,type:f,isArray:E};if(t.push(p),p.size>1)for(var m=0;m<p.size;m++){var R="".concat(_,"[").concat(m,"]");d=e.getUniformLocation(r,R);var O=Qs(Qs({},p),{},{name:R,location:d});t.push(O)}}return t}function tE(e,r){if(!$(e))return[];for(var t=e,n=function(O,S){return t.getActiveUniformBlockParameter(r,O,S)},i=[],a=t.getProgramParameter(r,o.ACTIVE_UNIFORM_BLOCKS),u=0;u<a;u++){for(var c={name:t.getActiveUniformBlockName(r,u)||"",location:n(u,o.UNIFORM_BLOCK_BINDING),byteLength:n(u,o.UNIFORM_BLOCK_DATA_SIZE),vertex:n(u,o.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER),fragment:n(u,o.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER),uniformCount:n(u,o.UNIFORM_BLOCK_ACTIVE_UNIFORMS),uniforms:[]},f=n(u,o.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES)||[],l=t.getActiveUniforms(r,f,o.UNIFORM_TYPE),_=t.getActiveUniforms(r,f,o.UNIFORM_SIZE),E=t.getActiveUniforms(r,f,o.UNIFORM_OFFSET),d=t.getActiveUniforms(r,f,o.UNIFORM_ARRAY_STRIDE),p=0;p<c.uniformCount;++p){var m=t.getActiveUniform(r,f[p]);if(!m)throw new Error("activeInfo");c.uniforms.push({name:m.name,format:li(l[p]).format,type:l[p],arrayLength:_[p],byteOffset:E[p],byteStride:d[p]})}i.push(c)}return i.sort(function(R,O){return R.location-O.location}),i}var rE=(he={},s(he,o.SAMPLER_2D,["2d","float"]),s(he,o.SAMPLER_CUBE,["cube","float"]),s(he,o.SAMPLER_3D,["3d","float"]),s(he,o.SAMPLER_2D_SHADOW,["3d","depth"]),s(he,o.SAMPLER_2D_ARRAY,["2d-array","float"]),s(he,o.SAMPLER_2D_ARRAY_SHADOW,["2d-array","depth"]),s(he,o.SAMPLER_CUBE_SHADOW,["cube","float"]),s(he,o.INT_SAMPLER_2D,["2d","sint"]),s(he,o.INT_SAMPLER_3D,["3d","sint"]),s(he,o.INT_SAMPLER_CUBE,["cube","sint"]),s(he,o.INT_SAMPLER_2D_ARRAY,["2d-array","uint"]),s(he,o.UNSIGNED_INT_SAMPLER_2D,["2d","uint"]),s(he,o.UNSIGNED_INT_SAMPLER_3D,["3d","uint"]),s(he,o.UNSIGNED_INT_SAMPLER_CUBE,["cube","uint"]),s(he,o.UNSIGNED_INT_SAMPLER_2D_ARRAY,["2d-array","uint"]),he);function nE(e){var r=rE[e];if(!r)throw new Error("sampler");var t=k(r,2),n=t[0],i=t[1];return{viewDimension:n,sampleType:i}}function iE(e){if(e[e.length-1]!=="]")return{name:e,length:1,isArray:!1};var r=/([^[]*)(\[[0-9]+\])?/,t=r.exec(e);if(!t||t.length<2)throw new Error("Failed to parse GLSL uniform name ".concat(e));return{name:t[1],length:t[2]?1:0,isArray:Boolean(t[2])}}function tu(e,r,t,n){var i=e;if(typeof n=="number")switch(t){case o.SAMPLER_2D:case o.SAMPLER_CUBE:case o.SAMPLER_3D:case o.SAMPLER_2D_SHADOW:case o.SAMPLER_2D_ARRAY:case o.SAMPLER_2D_ARRAY_SHADOW:case o.SAMPLER_CUBE_SHADOW:case o.INT_SAMPLER_2D:case o.INT_SAMPLER_3D:case o.INT_SAMPLER_CUBE:case o.INT_SAMPLER_2D_ARRAY:case o.UNSIGNED_INT_SAMPLER_2D:case o.UNSIGNED_INT_SAMPLER_3D:case o.UNSIGNED_INT_SAMPLER_CUBE:case o.UNSIGNED_INT_SAMPLER_2D_ARRAY:return e.uniform1i(r,n)}n===!0&&(n=1),n===!1&&(n=1);var a=typeof n=="number"?[n]:n;switch(t){case o.FLOAT:return e.uniform1fv(r,a);case o.FLOAT_VEC2:return e.uniform2fv(r,a);case o.FLOAT_VEC3:return e.uniform3fv(r,a);case o.FLOAT_VEC4:return e.uniform4fv(r,a);case o.INT:return e.uniform1iv(r,a);case o.INT_VEC2:return e.uniform2iv(r,a);case o.INT_VEC3:return e.uniform3iv(r,a);case o.INT_VEC4:return e.uniform4iv(r,a);case o.BOOL:return e.uniform1iv(r,a);case o.BOOL_VEC2:return e.uniform2iv(r,a);case o.BOOL_VEC3:return e.uniform3iv(r,a);case o.BOOL_VEC4:return e.uniform4iv(r,a);case o.UNSIGNED_INT:return i.uniform1uiv(r,a,1);case o.UNSIGNED_INT_VEC2:return i.uniform2uiv(r,a,2);case o.UNSIGNED_INT_VEC3:return i.uniform3uiv(r,a,3);case o.UNSIGNED_INT_VEC4:return i.uniform4uiv(r,a,4);case o.FLOAT_MAT2:return e.uniformMatrix2fv(r,!1,a);case o.FLOAT_MAT3:return e.uniformMatrix3fv(r,!1,a);case o.FLOAT_MAT4:return e.uniformMatrix4fv(r,!1,a);case o.FLOAT_MAT2x3:return i.uniformMatrix2x3fv(r,!1,a);case o.FLOAT_MAT2x4:return i.uniformMatrix2x4fv(r,!1,a);case o.FLOAT_MAT3x2:return i.uniformMatrix3x2fv(r,!1,a);case o.FLOAT_MAT3x4:return i.uniformMatrix3x4fv(r,!1,a);case o.FLOAT_MAT4x2:return i.uniformMatrix4x2fv(r,!1,a);case o.FLOAT_MAT4x3:return i.uniformMatrix4x3fv(r,!1,a)}throw new Error("Illegal uniform")}function aE(e){var r=oE();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function oE(){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 sE="elements must be GL.ELEMENT_ARRAY_BUFFER",ru=function(e,r){L(n,e);var t=aE(n);function n(i,a){return b(this,n),t.call(this,i,a,{})}return N(n,[{key:r,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(a){this.gl2.bindVertexArray(a)}},{key:"setElementBuffer",value:function(){var a=this,u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return H(!u||u.target===o.ELEMENT_ARRAY_BUFFER,sE),this.bind(function(){a.gl.bindBuffer(o.ELEMENT_ARRAY_BUFFER,u?u.handle:null)}),this}},{key:"setBuffer",value:function(a,u,c){var f=this;if(u.target===o.ELEMENT_ARRAY_BUFFER)return this.setElementBuffer(u,c);var l=c.size,_=c.type,E=c.stride,d=c.offset,p=c.normalized,m=c.integer,R=c.divisor,O=this.gl,S=this.gl2;return a=Number(a),this.bind(function(){O.bindBuffer(O.ARRAY_BUFFER,u.handle),m?(f.device.assertWebGL2(),S.vertexAttribIPointer(a,l,_,E,d)):O.vertexAttribPointer(a,l,_,p,E,d),O.enableVertexAttribArray(a),S.vertexAttribDivisor(a,R||0)}),this}},{key:"enable",value:function(a){var u=this,c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,f=this.device.isWebGL2||lr()==="Chrome",l=f||a!==0;return(c||l)&&(a=Number(a),this.bind(function(){return c?u.gl.enableVertexAttribArray(a):u.gl.disableVertexAttribArray(a)})),this}}]),n}(Hr,Symbol.toStringTag);function nu(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=uE(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
259
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function uE(e,r){if(e){if(typeof e=="string")return iu(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return iu(e,r)}}function iu(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function fE(e){var r=cE();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function cE(){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 au=4,ou=function(e){L(t,e);var r=fE(t);function t(n,i){var a;b(this,t),a=r.call(this,n,i),s(T(a),"device",void 0),s(T(a),"handle",void 0),s(T(a),"vs",void 0),s(T(a),"fs",void 0),s(T(a),"layout",void 0),s(T(a),"varyings",null),s(T(a),"vertexArrayObject",void 0),s(T(a),"_indexBuffer",void 0),s(T(a),"uniforms",{}),s(T(a),"bindings",{}),s(T(a),"_textureUniforms",{}),s(T(a),"_textureIndexCounter",0),s(T(a),"_uniformCount",0),s(T(a),"_uniformSetters",{}),a.device=n,a.handle=a.props.handle||a.device.gl.createProgram(),a.device.setSpectorMetadata(a.handle,{id:a.props.id}),a.vs=i.vs,a.fs=i.fs;var u=i.varyings,c=i.bufferMode,f=c===void 0?o.SEPARATE_ATTRIBS:c;if(u&&u.length>0){var l;a.device.assertWebGL2(),a.varyings=u,(l=a.device.gl2)===null||l===void 0||l.transformFeedbackVaryings(a.handle,u,f)}return a._compileAndLink(),a.layout=i.layout||eu(a.device.gl,a.handle),a.vertexArrayObject=new ru(a.device),a}return N(t,[{key:"destroy",value:function(){this.handle&&(this.device.gl.deleteProgram(this.handle),this.destroyed=!0)}},{key:"setIndexBuffer",value:function(i){var a=i;this.vertexArrayObject.setElementBuffer(a),this._indexBuffer=i}},{key:"setAttributes",value:function(i){for(var a=0,u=Object.entries(i);a<u.length;a++){var c=k(u[a],2),f=c[0],l=c[1],_=l,E=EE(this.layout,f);if(!E){U.warn('Ignoring buffer supplied for unknown attribute "'.concat(f,'" in pipeline "').concat(this.id,'" (buffer "').concat(l.id,'")'))();continue}var d=_n(E.format),p=d.type,m=d.components,R=d.byteLength,O=d.normalized,S=d.integer,I=E.stepMode==="instance"?1:0,y=Kn(p);this.vertexArrayObject.setBuffer(E.location,_,{size:m,type:y,stride:R,offset:0,normalized:O,integer:S,divisor:I})}}},{key:"setBindings",value:function(i){for(var a=this,u=function(){var E=k(f[c],2),d=E[0],p=E[1],m=a.layout.bindings.find(function(R){return R.name===d});if(!m)return U.warn("Unknown binding ".concat(d," in render pipeline ").concat(a.id))(),"continue";switch(p||U.warn("Unsetting binding ".concat(d," in render pipeline ").concat(a.id))(),m.type){case"uniform":if(!(p instanceof je)&&!(p.buffer instanceof je))throw new Error("buffer value");break;case"texture":if(!(p instanceof Ze))throw new Error("texture value");break;case"sampler":U.warn("Ignoring sampler ".concat(d))();break;default:throw new Error(m.type)}a.bindings[d]=p},c=0,f=Object.entries(i);c<f.length;c++)var l=u()}},{key:"setUniforms",value:function(i){Object.assign(this.uniforms,i)}},{key:"draw",value:function(i){var a,u=this,c=i.renderPass,f=c===void 0?this.device.getDefaultRenderPass():c,l=i.vertexCount,_=i.instanceCount,E=i.firstVertex,d=E===void 0?0:E,p=lE(this.props.topology),m=Boolean(this._indexBuffer),R=((a=this._indexBuffer)===null||a===void 0?void 0:a.props.indexType)==="uint16"?o.UNSIGNED_SHORT:o.UNSIGNED_INT,O=Number(i.instanceCount)>0;return!this._areTexturesRenderable()||i.vertexCount===0?!1:(this.device.gl.useProgram(this.handle),this.vertexArrayObject.bind(function(){var S=_E(u.props.topology),I=null;I&&I.begin(S),u._applyBindings(),u._applyUniforms(),cs(u.device,u.props.parameters,function(){fs(u.device,{framebuffer:f.props.framebuffer},function(){if(m&&O){var y;(y=u.device.gl2)===null||y===void 0||y.drawElementsInstanced(p,l||0,R,d,_||0)}else if(m)u.device.gl.drawElements(p,l||0,R,d);else if(O){var w;(w=u.device.gl2)===null||w===void 0||w.drawArraysInstanced(p,d,l||0,_||0)}else u.device.gl.drawArrays(p,d,l||0)}),I&&I.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),U.time(au,"linkProgram for ".concat(this.id))(),i.linkProgram(this.handle),U.timeEnd(au,"linkProgram for ".concat(this.id))(),i.debug||U.level>0){var a=i.getProgramParameter(this.handle,i.LINK_STATUS);if(!a)throw new Error("Error linking: ".concat(i.getProgramInfoLog(this.handle)));i.validateProgram(this.handle);var 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,a=0,u=Object.entries(this._textureUniforms);a<u.length;a++){var c=k(u[a],2),f=c[1];f.update(),i=i&&f.loaded}for(var l=0,_=Object.entries(this.bindings);l<_.length;l++){var E=k(_[l],2),d=E[1];d.loaded!==void 0&&(i=i&&d.loaded)}return i}},{key:"_applyBindings",value:function(){this.device.gl.useProgram(this.handle);var i=this.device.gl2;if(!i)throw new Error("bindings");var a=0,u=0,c=nu(this.layout.bindings),f;try{for(c.s();!(f=c.n()).done;){var l=f.value,_=this.bindings[l.name];if(!_)throw new Error("No value for binding ".concat(l.name," in ").concat(this.id));switch(l.type){case"uniform":var E=l.name,d=i.getUniformBlockIndex(this.handle,E);if(d===o.INVALID_INDEX)throw new Error("Invalid uniform block name ".concat(E));i.uniformBlockBinding(this.handle,u,d),_ instanceof je?i.bindBufferBase(o.UNIFORM_BUFFER,u,_.handle):i.bindBufferRange(o.UNIFORM_BUFFER,u,_.buffer.handle,_.offset||0,_.size||_.buffer.byteLength-_.offset),u+=1;break;case"texture":if(!(_ instanceof Ze))throw new Error("texture");var p=_;i.activeTexture(o.TEXTURE0+a),i.bindTexture(p.target,p.handle),a+=1;break;case"sampler":break;case"storage":case"read-only-storage":throw new Error("binding type '".concat(l.type,"' not supported in WebGL"))}}}catch(m){c.e(m)}finally{c.f()}}},{key:"_applyUniforms",value:function(){var i=nu(this.layout.uniforms||[]),a;try{for(i.s();!(a=i.n()).done;){var u=a.value,c=u.name,f=u.location,l=u.type,_=u.textureUnit,E=this.uniforms[c]||_;E!==void 0&&tu(this.device.gl,f,l,E)}}catch(d){i.e(d)}finally{i.f()}}}]),t}(bt);function lE(e){switch(e){case"point-list":return o.POINTS;case"line-list":return o.LINES;case"line-strip":return o.LINE_STRIP;case"line-loop":return o.LINE_LOOP;case"triangle-list":return o.TRIANGLES;case"triangle-strip":return o.TRIANGLE_STRIP;case"triangle-fan":return o.TRIANGLE_FAN;default:throw new Error(e)}}function _E(e){switch(e){case"point-list":return o.POINTS;case"line-list":return o.LINES;case"line-strip":return o.LINES;case"line-loop":return o.LINES;case"triangle-list":return o.TRIANGLES;case"triangle-strip":return o.TRIANGLES;case"triangle-fan":return o.TRIANGLES;default:throw new Error(e)}}function EE(e,r){return e.attributes.find(function(t){return t.name===r})||null}function su(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Ke(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?su(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):su(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function dE(e){var r=pE();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function pE(){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 kr=1,ge=function(e){L(t,e);var r=dE(t);function t(n){var i,a;b(this,t),a=r.call(this,Ke(Ke({},n),{},{id:n.id||ne("webgl-device")})),s(T(a),"info",void 0),s(T(a),"canvasContext",void 0),s(T(a),"handle",void 0),s(T(a),"lost",void 0),s(T(a),"_resolveContextLost",void 0),s(T(a),"_features",void 0),s(T(a),"_limits",void 0),s(T(a),"renderPass",null),s(T(a),"gl",void 0),s(T(a),"gl2",null),s(T(a),"debug",!1),s(T(a),"isWebGL1",void 0),s(T(a),"isWebGL2",void 0),s(T(a),"_canvasSizeInfo",{clientWidth:0,clientHeight:0,devicePixelRatio:1}),s(T(a),"_extensions",{}),s(T(a),"_polyfilled",!1),s(T(a),"spector",void 0),s(T(a),"_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));a.canvasContext=new bs(T(a),n),a.lost=new Promise(function(R){a._resolveContextLost=R});var c=function(O){var S,I;return(S=(I=a)._resolveContextLost)===null||S===void 0?void 0:S.call(I,{reason:"destroyed",message:"Computer entered sleep mode, or too many apps or browser tabs are using the GPU."})},f=n.gl||null;if(f=f||(se()?$o(a.canvasContext.canvas,Ke(Ke({},n),{},{onContextLost:c})):null),f=f||(se()?null:Co(Ke(Ke({},n),{},{onContextLost:c}))),!f)throw new Error("WebGL context creation failed");a.handle=f,a.gl=a.handle,a.gl2=a.gl,a.isWebGL2=mE(a.gl),a.isWebGL1=!a.isWebGL2,a.info=Zo(a.gl),a.gl.device=T(a),a.gl._version=a.isWebGL2?2:1,Lo(a.gl);var l=n.enable,_=l===void 0?!0:l,E=n.copyState,d=E===void 0?!1:E;if(Wn(a.gl,{enable:_,copyState:d,log:function(){for(var O=arguments.length,S=new Array(O),I=0;I<O;I++)S[I]=arguments[I];return U.log.apply(U,[1].concat(S))()}}),se()&&n.debug&&(a.gl=ws(a.gl,Ke(Ke({},n),{},{webgl2:a.isWebGL2,throwOnError:!0})),a.gl2=a.gl,a.debug=!0,U.level=Math.max(U.level,1),U.warn("WebGL debug mode activated. Performance reduced.")()),se()&&n.spector){var p=a.handle.canvas||n.canvas;a.spector=Ms(Ke(Ke({},a.props),{},{canvas:p}))}var m="Created ".concat(a.info.type).concat(a.debug?" debug":""," context: ").concat(a.info.vendor,", ").concat(a.info.renderer," for canvas: ").concat(a.canvasContext.id);return U.probe(kr,m)(),U.groupEnd(kr)(),a}return N(t,[{key:"features",get:function(){return this._features=this._features||as(this.gl),this._features}},{key:"limits",get:function(){return this._limits=this._limits||ss(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 Br(this.gl,i)}},{key:"isTextureFormatFilterable",value:function(i){return es(this.gl,i)}},{key:"isTextureFormatRenderable",value:function(i){return ts(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 Vs(this,i)}},{key:"_createTexture",value:function(i){return new Ze(this,i)}},{key:"createExternalTexture",value:function(i){throw new Error("createExternalTexture() not implemented")}},{key:"createSampler",value:function(i){return new nr(this,i)}},{key:"createShader",value:function(i){return new Ks(this,i)}},{key:"createFramebuffer",value:function(i){return new Vr(this,i)}},{key:"createRenderPipeline",value:function(i){return new ou(this,i)}},{key:"beginRenderPass",value:function(i){return new Ys(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||us(this.gl),this._webglLimits}},{key:"loseDevice",value:function(){var i,a=this.gl.getExtension("WEBGL_lose_context");a&&a.loseContext(),(i=this._resolveContextLost)===null||i===void 0||i.call(this,{reason:"destroyed",message:"Application triggered context loss"})}},{key:"pushState",value:function(){dt(this.gl)}},{key:"popState",value:function(){rt(this.gl)}},{key:"setSpectorMetadata",value:function(i,a){i.__SPECTOR_Metadata=a}}],[{key:"isSupported",value:function(){return typeof WebGLRenderingContext<"u"||No()}},{key:"attach",value:function(i){if(i instanceof t)return i;if(i?.device instanceof kt)return i.device;if(!hE(i))throw new Error("Invalid WebGLRenderingContext");return new t({gl:i})}},{key:"create",value:function(){var n=re(Ei.default.mark(function a(){var u,c=arguments;return Ei.default.wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(u=c.length>0&&c[0]!==void 0?c[0]:{},U.groupCollapsed(kr,"WebGLDevice created"),typeof u.canvas!="string"){l.next=5;break}return l.next=5,yt.pageLoaded;case 5:if(!u.debug){l.next=8;break}return l.next=8,Us();case 8:if(!u.spector){l.next=11;break}return l.next=11,Ps();case 11:if(U.probe(kr+1,"DOM is loaded")(),!(u.gl&&u.gl.device)){l.next=14;break}return l.abrupt("return",t.attach(u.gl));case 14:return l.abrupt("return",new t(u));case 15:case"end":return l.stop()}},a)}));function i(){return n.apply(this,arguments)}return i}()}]),t}(kt);s(ge,"type","webgl");function hE(e){return typeof WebGLRenderingContext<"u"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&Number.isFinite(e._version))}function mE(e){return typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&e._version===2)}var uu;function fu(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function cu(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?fu(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):fu(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function RE(e){var r=AE();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function AE(){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 TE=Ra(uu||(uu=de([`attribute vec2 aClipSpacePosition;
244
+ `}return t}function yc(e){var r={vs:{},fs:{}};return e.forEach(function(t){var n,i;typeof t!="string"?(n=t,i=n.hook):(n={},i=t),i=i.trim();var a=i.split(":"),u=k(a,2),c=u[0],f=u[1],l=i.replace(/\(.+/,"");if(c!=="vs"&&c!=="fs")throw new Error(c);r[c][l]=Object.assign(n,{signature:f})}),r}var NA=1/Math.PI*180,CA=1/180*Math.PI,bc={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...bc}};var Ce=globalThis.mathgl.config;function so(e,{precision:r=Ce.precision}={}){return e=Nc(e),"".concat(parseFloat(e.toPrecision(r)))}function Ct(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Cn(e,r,t){let n=Ce.EPSILON;t&&(Ce.EPSILON=t);try{if(e===r)return!0;if(Ct(e)&&Ct(r)){if(e.length!==r.length)return!1;for(let i=0;i<e.length;++i)if(!Cn(e[i],r[i]))return!1;return!0}return e&&e.equals?e.equals(r):r&&r.equals?r.equals(e):typeof e=="number"&&typeof r=="number"?Math.abs(e-r)<=Ce.EPSILON*Math.max(1,Math.abs(e),Math.abs(r)):!1}finally{Ce.EPSILON=n}}function Nc(e){return Math.round(e/Ce.EPSILON)*Ce.EPSILON}function Cc(e){function r(){var t=Reflect.construct(e,Array.from(arguments));return Object.setPrototypeOf(t,Object.getPrototypeOf(this)),t}return r.prototype=Object.create(e.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(r,e):r.__proto__=e,r}var Sr=class extends Cc(Array){clone(){return new this.constructor().copy(this)}fromArray(r,t=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=r[n+t];return this.check()}toArray(r=[],t=0){for(let n=0;n<this.ELEMENTS;++n)r[t+n]=this[n];return r}toObject(r){return r}from(r){return Array.isArray(r)?this.copy(r):this.fromObject(r)}to(r){return r===this?this:Ct(r)?this.toArray(r):this.toObject(r)}toTarget(r){return r?this.to(r):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(Ce)}formatString(r){let t="";for(let n=0;n<this.ELEMENTS;++n)t+=(n>0?", ":"")+so(this[n],r);return"".concat(r.printTypes?this.constructor.name:"","[").concat(t,"]")}equals(r){if(!r||this.length!==r.length)return!1;for(let t=0;t<this.ELEMENTS;++t)if(!Cn(this[t],r[t]))return!1;return!0}exactEquals(r){if(!r||this.length!==r.length)return!1;for(let t=0;t<this.ELEMENTS;++t)if(this[t]!==r[t])return!1;return!0}negate(){for(let r=0;r<this.ELEMENTS;++r)this[r]=-this[r];return this.check()}lerp(r,t,n){if(n===void 0)return this.lerp(this,r,t);for(let i=0;i<this.ELEMENTS;++i){let a=r[i],u=typeof t=="number"?t:t[i];this[i]=a+n*(u-a)}return this.check()}min(r){for(let t=0;t<this.ELEMENTS;++t)this[t]=Math.min(r[t],this[t]);return this.check()}max(r){for(let t=0;t<this.ELEMENTS;++t)this[t]=Math.max(r[t],this[t]);return this.check()}clamp(r,t){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],r[n]),t[n]);return this.check()}add(...r){for(let t of r)for(let n=0;n<this.ELEMENTS;++n)this[n]+=t[n];return this.check()}subtract(...r){for(let t of r)for(let n=0;n<this.ELEMENTS;++n)this[n]-=t[n];return this.check()}scale(r){if(typeof r=="number")for(let t=0;t<this.ELEMENTS;++t)this[t]*=r;else for(let t=0;t<this.ELEMENTS&&t<r.length;++t)this[t]*=r[t];return this.check()}multiplyByScalar(r){for(let t=0;t<this.ELEMENTS;++t)this[t]*=r;return this.check()}check(){if(Ce.debug&&!this.validate())throw new Error("math.gl: ".concat(this.constructor.name," some fields set to invalid numbers'"));return this}validate(){let r=this.length===this.ELEMENTS;for(let t=0;t<this.ELEMENTS;++t)r=r&&Number.isFinite(this[t]);return r}sub(r){return this.subtract(r)}setScalar(r){for(let t=0;t<this.ELEMENTS;++t)this[t]=r;return this.check()}addScalar(r){for(let t=0;t<this.ELEMENTS;++t)this[t]+=r;return this.check()}subScalar(r){return this.addScalar(-r)}multiplyScalar(r){for(let t=0;t<this.ELEMENTS;++t)this[t]*=r;return this.check()}divideScalar(r){return this.multiplyByScalar(1/r)}clampScalar(r,t){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],r),t);return this.check()}get elements(){return this}};function be(e){if(!Number.isFinite(e))throw new Error("Invalid number ".concat(JSON.stringify(e)));return e}function In(e,r){if(!e)throw new Error("math.gl assertion ".concat(r))}var Or=class extends Sr{get x(){return this[0]}set x(r){this[0]=be(r)}get y(){return this[1]}set y(r){this[1]=be(r)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let r=0;for(let t=0;t<this.ELEMENTS;++t)r+=this[t]*this[t];return r}magnitudeSquared(){return this.lengthSquared()}distance(r){return Math.sqrt(this.distanceSquared(r))}distanceSquared(r){let t=0;for(let n=0;n<this.ELEMENTS;++n){let i=this[n]-r[n];t+=i*i}return be(t)}dot(r){let t=0;for(let n=0;n<this.ELEMENTS;++n)t+=this[n]*r[n];return be(t)}normalize(){let r=this.magnitude();if(r!==0)for(let t=0;t<this.ELEMENTS;++t)this[t]/=r;return this.check()}multiply(...r){for(let t of r)for(let n=0;n<this.ELEMENTS;++n)this[n]*=t[n];return this.check()}divide(...r){for(let t of r)for(let n=0;n<this.ELEMENTS;++n)this[n]/=t[n];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(r){return this.distance(r)}distanceToSquared(r){return this.distanceSquared(r)}getComponent(r){return In(r>=0&&r<this.ELEMENTS,"index is out of range"),be(this[r])}setComponent(r,t){return In(r>=0&&r<this.ELEMENTS,"index is out of range"),this[r]=t,this.check()}addVectors(r,t){return this.copy(r).add(t)}subVectors(r,t){return this.copy(r).subtract(t)}multiplyVectors(r,t){return this.copy(r).multiply(t)}addScaledVector(r,t){return this.add(new this.constructor(r).multiplyScalar(t))}};var Pn=typeof Float32Array<"u"?Float32Array:Array;var LA=Math.PI/180;function uo(e,r,t){let n=r[0],i=r[1],a=r[2],u=t[3]*n+t[7]*i+t[11]*a||1;return e[0]=(t[0]*n+t[4]*i+t[8]*a)/u,e[1]=(t[1]*n+t[5]*i+t[9]*a)/u,e[2]=(t[2]*n+t[6]*i+t[10]*a)/u,e}function fo(e,r,t){let n=r[0],i=r[1];return e[0]=t[0]*n+t[2]*i,e[1]=t[1]*n+t[3]*i,e[2]=r[2],e}function Pc(){let e=new Pn(3);return Pn!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function Mc(e,r){return e[0]*r[0]+e[1]*r[1]+e[2]*r[2]}function co(e,r,t){let n=r[0],i=r[1],a=r[2],u=t[0],c=t[1],f=t[2];return e[0]=i*f-a*c,e[1]=a*u-n*f,e[2]=n*c-i*u,e}function lo(e,r,t){let n=r[0],i=r[1],a=r[2],u=t[3]*n+t[7]*i+t[11]*a+t[15];return u=u||1,e[0]=(t[0]*n+t[4]*i+t[8]*a+t[12])/u,e[1]=(t[1]*n+t[5]*i+t[9]*a+t[13])/u,e[2]=(t[2]*n+t[6]*i+t[10]*a+t[14])/u,e}function _o(e,r,t){let n=r[0],i=r[1],a=r[2];return e[0]=n*t[0]+i*t[3]+a*t[6],e[1]=n*t[1]+i*t[4]+a*t[7],e[2]=n*t[2]+i*t[5]+a*t[8],e}function Eo(e,r,t){let n=t[0],i=t[1],a=t[2],u=t[3],c=r[0],f=r[1],l=r[2],_=i*l-a*f,E=a*c-n*l,p=n*f-i*c,d=i*p-a*E,m=a*_-n*p,R=n*E-i*_,O=u*2;return _*=O,E*=O,p*=O,d*=2,m*=2,R*=2,e[0]=c+_+d,e[1]=f+E+m,e[2]=l+p+R,e}function po(e,r,t,n){let i=[],a=[];return i[0]=r[0]-t[0],i[1]=r[1]-t[1],i[2]=r[2]-t[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),e[0]=a[0]+t[0],e[1]=a[1]+t[1],e[2]=a[2]+t[2],e}function ho(e,r,t,n){let i=[],a=[];return i[0]=r[0]-t[0],i[1]=r[1]-t[1],i[2]=r[2]-t[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),e[0]=a[0]+t[0],e[1]=a[1]+t[1],e[2]=a[2]+t[2],e}function mo(e,r,t,n){let i=[],a=[];return i[0]=r[0]-t[0],i[1]=r[1]-t[1],i[2]=r[2]-t[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],e[0]=a[0]+t[0],e[1]=a[1]+t[1],e[2]=a[2]+t[2],e}function Ro(e,r){let t=e[0],n=e[1],i=e[2],a=r[0],u=r[1],c=r[2],f=Math.sqrt((t*t+n*n+i*i)*(a*a+u*u+c*c)),l=f&&Mc(e,r)/f;return Math.acos(Math.min(Math.max(l,-1),1))}var jA=function(){let e=Pc();return function(r,t,n,i,a,u){let c,f;for(t||(t=3),n||(n=0),i?f=Math.min(i*t+n,r.length):f=r.length,c=n;c<f;c+=t)e[0]=r[c],e[1]=r[c+1],e[2]=r[c+2],a(e,e,u),r[c]=e[0],r[c+1]=e[1],r[c+2]=e[2];return r}}();var Mn=[0,0,0],yr,lt=class extends Or{static get ZERO(){return yr||(yr=new lt(0,0,0),Object.freeze(yr)),yr}constructor(r=0,t=0,n=0){super(-0,-0,-0),arguments.length===1&&Ct(r)?this.copy(r):(Ce.debug&&(be(r),be(t),be(n)),this[0]=r,this[1]=t,this[2]=n)}set(r,t,n){return this[0]=r,this[1]=t,this[2]=n,this.check()}copy(r){return this[0]=r[0],this[1]=r[1],this[2]=r[2],this.check()}fromObject(r){return Ce.debug&&(be(r.x),be(r.y),be(r.z)),this[0]=r.x,this[1]=r.y,this[2]=r.z,this.check()}toObject(r){return r.x=this[0],r.y=this[1],r.z=this[2],r}get ELEMENTS(){return 3}get z(){return this[2]}set z(r){this[2]=be(r)}angle(r){return Ro(this,r)}cross(r){return co(this,this,r),this.check()}rotateX({radians:r,origin:t=Mn}){return po(this,this,t,r),this.check()}rotateY({radians:r,origin:t=Mn}){return ho(this,this,t,r),this.check()}rotateZ({radians:r,origin:t=Mn}){return mo(this,this,t,r),this.check()}transform(r){return this.transformAsPoint(r)}transformAsPoint(r){return lo(this,this,r),this.check()}transformAsVector(r){return uo(this,this,r),this.check()}transformByMatrix3(r){return _o(this,this,r),this.check()}transformByMatrix2(r){return fo(this,this,r),this.check()}transformByQuaternion(r){return Eo(this,this,r),this.check()}};function Ao(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=Fc(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
245
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function Fc(e,r){if(e){if(typeof e=="string")return To(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return To(e,r)}}function To(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function vo(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Le(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?vo(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):vo(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var Dc={vs:"",fs:"",modules:[],defines:{},inject:{},transpileToGLSL100:!1,layout:null,varyings:[],bufferMode:35981,topology:"triangle-list",parameters:{}},br=function(){function e(r){b(this,e),s(this,"device",void 0),s(this,"stateHash",0),s(this,"_hashCounter",0),s(this,"_hashes",{}),s(this,"_useCounts",{}),s(this,"_pipelineCache",{}),s(this,"_getUniforms",{}),s(this,"_hookFunctions",[]),s(this,"_defaultModules",[]),this.device=r}return N(e,[{key:"addDefaultModule",value:function(t){this._defaultModules.find(function(n){return n.name===(typeof t=="string"?t:t.name)})||this._defaultModules.push(t),this.stateHash++}},{key:"removeDefaultModule",value:function(t){var n=typeof t=="string"?t:t.name;this._defaultModules=this._defaultModules.filter(function(i){return i.name!==n}),this.stateHash++}},{key:"addShaderHook",value:function(t,n){n&&(t=Object.assign(n,{hook:t})),this._hookFunctions.push(t),this.stateHash++}},{key:"createRenderPipeline",value:function(t){var n=Le(Le({},Dc),t),i=this._getModuleList(n.modules),a=this._hashRenderPipeline(Le(Le({},n),{},{modules:i}));if(!this._pipelineCache[a]){var u=this._createRenderPipeline(Le(Le({},n),{},{modules:i})),c=u.pipeline,f=u.getUniforms;c.hash=a,this._pipelineCache[a]=c,this._getUniforms[a]=f||function(l){return{}},this._useCounts[a]=0}return this._useCounts[a]++,{pipeline:this._pipelineCache[a],getUniforms:this._getUniforms[a]}}},{key:"release",value:function(t){var n=t.hash;this._useCounts[n]--,this._useCounts[n]===0&&(this._pipelineCache[n].destroy(),delete this._pipelineCache[n],delete this._getUniforms[n],delete this._useCounts[n])}},{key:"getUniforms",value:function(t){return this._getUniforms[t.hash]||null}},{key:"_createRenderPipeline",value:function(t){var n={gpu:this.device.info.gpu,features:this.device.features};if(!t.fs)throw new Error("fs");var i=Nn(n,Le(Le({},t),{},{fs:t.fs,hookFunctions:this._hookFunctions})),a=this.device.createRenderPipeline(Le(Le({},t),{},{vs:this.device.createShader({stage:"vertex",source:i.vs}),fs:i.fs?this.device.createShader({stage:"fragment",source:i.fs}):null}));return{pipeline:a,getUniforms:i.getUniforms}}},{key:"_hashRenderPipeline",value:function(t){var n=this,i=t.modules,a=i===void 0?[]:i,u=t.varyings,c=u===void 0?[]:u,f=t.defines,l=f===void 0?{}:f,_=t.inject,E=_===void 0?{}:_,p=t.parameters,d=p===void 0?{}:p,m=this._getHash(t.vs),R=t.fs?this._getHash(t.fs):0,O=a.map(function(h){return n._getHash(typeof h=="string"?h:h.name)}).sort(),S=c.map(function(h){return n._getHash(h)}),I=Object.keys(l).sort(),y=Object.keys(E).sort(),w=[],B=[],j=Ao(I),D;try{for(j.s();!(D=j.n()).done;){var Z=D.value;w.push(this._getHash(Z)),w.push(this._getHash(String(l[Z])))}}catch(h){j.e(h)}finally{j.f()}var K=Ao(y),Q;try{for(K.s();!(Q=K.n()).done;){var W=Q.value;B.push(this._getHash(W)),B.push(this._getHash(E[W]))}}catch(h){K.e(h)}finally{K.f()}var A=JSON.stringify(d);return"".concat(m,"/").concat(R,"D").concat(w.join("/"),"M").concat(O.join("/"),"I").concat(B.join("/"),"V").concat(S.join("/"),"H").concat(this.stateHash,"B").concat(t.bufferMode).concat(t.transpileToGLSL100?"T":"","P").concat(A)}},{key:"_getHash",value:function(t){return this._hashes[t]===void 0&&(this._hashes[t]=this._hashCounter++),this._hashes[t]}},{key:"_getModuleList",value:function(){for(var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],n=new Array(this._defaultModules.length+t.length),i={},a=0,u=0,c=this._defaultModules.length;u<c;++u){var f=this._defaultModules[u],l=f.name;n[a++]=f,i[l]=!0}for(var _=0,E=t.length;_<E;++_){var p=t[_],d=p.name;i[d]||(n[a++]=p,i[d]=!0)}return n.length=a,n}}],[{key:"getDefaultPipelineFactory",value:function(t){return t.defaultPipelineFactory=t.defaultPipelineFactory||new e(t),t.defaultPipelineFactory}}]),e}();function go(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function It(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?go(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):go(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var Bc=It(It({},bt._DEFAULT_PROPS),{},{vs:null,fs:null,id:"unnamed",handle:void 0,userData:{},modules:[],moduleSettings:{},geometry:null}),Nr=function(){function e(r,t){if(b(this,e),s(this,"device",void 0),s(this,"pipeline",void 0),s(this,"id",void 0),s(this,"vs",void 0),s(this,"fs",null),s(this,"topology",void 0),s(this,"vertexCount",void 0),s(this,"props",void 0),s(this,"_getModuleUniforms",void 0),this.props=It(It({},Bc),t),t=this.props,this.id=this.props.id,this.device=r,!t.vs)throw new Error("no vertex shader");this.vs=So(this.device,t.vs),t.fs&&(this.fs=So(this.device,t.fs)),this.vertexCount=this.props.vertexCount,this.topology=this.props.topology,this.props.geometry&&(this.vertexCount=this.props.geometry.vertexCount,this.topology=this.props.geometry.topology||"triangle-list");var n=br.getDefaultPipelineFactory(this.device),i=n.createRenderPipeline(It(It({},this.props),{},{vs:this.vs,fs:this.fs,topology:this.topology,parameters:t.parameters,layout:t.layout})),a=i.pipeline,u=i.getUniforms;this.pipeline=a,this._getModuleUniforms=u,this.props.geometry&&this._setGeometry(this.props.geometry),this.setUniforms(this._getModuleUniforms()),this.setProps(this.props)}return N(e,[{key:"destroy",value:function(){this.pipeline.destroy()}},{key:"draw",value:function(t){return this.pipeline.draw({renderPass:t,vertexCount:this.vertexCount,instanceCount:this.props.instanceCount}),this}},{key:"setProps",value:function(t){return t.indices&&this.setIndexBuffer(t.indices),t.attributes&&this.setAttributes(t.attributes),t.bindings&&this.setBindings(t.bindings),t.uniforms&&this.setUniforms(t.uniforms),t.moduleSettings&&this.updateModuleSettings(t.moduleSettings),this}},{key:"updateModuleSettings",value:function(t){var n=this._getModuleUniforms(t);return this.setUniforms(n),this}},{key:"setIndexBuffer",value:function(t){return this.pipeline.setIndexBuffer(t),this}},{key:"setAttributes",value:function(t){return this.pipeline.setAttributes(t),Object.assign(this.props.attributes,t),this}},{key:"setBindings",value:function(t){return this.pipeline.setBindings(t),Object.assign(this.props.bindings,t),this}},{key:"setUniforms",value:function(t){return this.pipeline.setUniforms(t),Object.assign(this.props.uniforms,t),this}},{key:"_setGeometry",value:function(t){var n=Oa(this.device,t);this.setAttributes(n);var i=Sa(this.device,t);i&&this.setIndexBuffer(i)}}]),e}();function So(e,r){if(typeof r=="string")return r;switch(e.info.type){case"webgpu":if(r!=null&&r.wgsl)return r.wgsl;throw new Error("WebGPU does not support GLSL shaders");default:if(r!=null&&r.glsl)return r.glsl;throw new Error("WebGL does not support WGSL shaders")}}var o=function(e){return e[e.DEPTH_BUFFER_BIT=256]="DEPTH_BUFFER_BIT",e[e.STENCIL_BUFFER_BIT=1024]="STENCIL_BUFFER_BIT",e[e.COLOR_BUFFER_BIT=16384]="COLOR_BUFFER_BIT",e[e.POINTS=0]="POINTS",e[e.LINES=1]="LINES",e[e.LINE_LOOP=2]="LINE_LOOP",e[e.LINE_STRIP=3]="LINE_STRIP",e[e.TRIANGLES=4]="TRIANGLES",e[e.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",e[e.TRIANGLE_FAN=6]="TRIANGLE_FAN",e[e.ZERO=0]="ZERO",e[e.ONE=1]="ONE",e[e.SRC_COLOR=768]="SRC_COLOR",e[e.ONE_MINUS_SRC_COLOR=769]="ONE_MINUS_SRC_COLOR",e[e.SRC_ALPHA=770]="SRC_ALPHA",e[e.ONE_MINUS_SRC_ALPHA=771]="ONE_MINUS_SRC_ALPHA",e[e.DST_ALPHA=772]="DST_ALPHA",e[e.ONE_MINUS_DST_ALPHA=773]="ONE_MINUS_DST_ALPHA",e[e.DST_COLOR=774]="DST_COLOR",e[e.ONE_MINUS_DST_COLOR=775]="ONE_MINUS_DST_COLOR",e[e.SRC_ALPHA_SATURATE=776]="SRC_ALPHA_SATURATE",e[e.CONSTANT_COLOR=32769]="CONSTANT_COLOR",e[e.ONE_MINUS_CONSTANT_COLOR=32770]="ONE_MINUS_CONSTANT_COLOR",e[e.CONSTANT_ALPHA=32771]="CONSTANT_ALPHA",e[e.ONE_MINUS_CONSTANT_ALPHA=32772]="ONE_MINUS_CONSTANT_ALPHA",e[e.FUNC_ADD=32774]="FUNC_ADD",e[e.FUNC_SUBTRACT=32778]="FUNC_SUBTRACT",e[e.FUNC_REVERSE_SUBTRACT=32779]="FUNC_REVERSE_SUBTRACT",e[e.BLEND_EQUATION=32777]="BLEND_EQUATION",e[e.BLEND_EQUATION_RGB=32777]="BLEND_EQUATION_RGB",e[e.BLEND_EQUATION_ALPHA=34877]="BLEND_EQUATION_ALPHA",e[e.BLEND_DST_RGB=32968]="BLEND_DST_RGB",e[e.BLEND_SRC_RGB=32969]="BLEND_SRC_RGB",e[e.BLEND_DST_ALPHA=32970]="BLEND_DST_ALPHA",e[e.BLEND_SRC_ALPHA=32971]="BLEND_SRC_ALPHA",e[e.BLEND_COLOR=32773]="BLEND_COLOR",e[e.ARRAY_BUFFER_BINDING=34964]="ARRAY_BUFFER_BINDING",e[e.ELEMENT_ARRAY_BUFFER_BINDING=34965]="ELEMENT_ARRAY_BUFFER_BINDING",e[e.LINE_WIDTH=2849]="LINE_WIDTH",e[e.ALIASED_POINT_SIZE_RANGE=33901]="ALIASED_POINT_SIZE_RANGE",e[e.ALIASED_LINE_WIDTH_RANGE=33902]="ALIASED_LINE_WIDTH_RANGE",e[e.CULL_FACE_MODE=2885]="CULL_FACE_MODE",e[e.FRONT_FACE=2886]="FRONT_FACE",e[e.DEPTH_RANGE=2928]="DEPTH_RANGE",e[e.DEPTH_WRITEMASK=2930]="DEPTH_WRITEMASK",e[e.DEPTH_CLEAR_VALUE=2931]="DEPTH_CLEAR_VALUE",e[e.DEPTH_FUNC=2932]="DEPTH_FUNC",e[e.STENCIL_CLEAR_VALUE=2961]="STENCIL_CLEAR_VALUE",e[e.STENCIL_FUNC=2962]="STENCIL_FUNC",e[e.STENCIL_FAIL=2964]="STENCIL_FAIL",e[e.STENCIL_PASS_DEPTH_FAIL=2965]="STENCIL_PASS_DEPTH_FAIL",e[e.STENCIL_PASS_DEPTH_PASS=2966]="STENCIL_PASS_DEPTH_PASS",e[e.STENCIL_REF=2967]="STENCIL_REF",e[e.STENCIL_VALUE_MASK=2963]="STENCIL_VALUE_MASK",e[e.STENCIL_WRITEMASK=2968]="STENCIL_WRITEMASK",e[e.STENCIL_BACK_FUNC=34816]="STENCIL_BACK_FUNC",e[e.STENCIL_BACK_FAIL=34817]="STENCIL_BACK_FAIL",e[e.STENCIL_BACK_PASS_DEPTH_FAIL=34818]="STENCIL_BACK_PASS_DEPTH_FAIL",e[e.STENCIL_BACK_PASS_DEPTH_PASS=34819]="STENCIL_BACK_PASS_DEPTH_PASS",e[e.STENCIL_BACK_REF=36003]="STENCIL_BACK_REF",e[e.STENCIL_BACK_VALUE_MASK=36004]="STENCIL_BACK_VALUE_MASK",e[e.STENCIL_BACK_WRITEMASK=36005]="STENCIL_BACK_WRITEMASK",e[e.VIEWPORT=2978]="VIEWPORT",e[e.SCISSOR_BOX=3088]="SCISSOR_BOX",e[e.COLOR_CLEAR_VALUE=3106]="COLOR_CLEAR_VALUE",e[e.COLOR_WRITEMASK=3107]="COLOR_WRITEMASK",e[e.UNPACK_ALIGNMENT=3317]="UNPACK_ALIGNMENT",e[e.PACK_ALIGNMENT=3333]="PACK_ALIGNMENT",e[e.MAX_TEXTURE_SIZE=3379]="MAX_TEXTURE_SIZE",e[e.MAX_VIEWPORT_DIMS=3386]="MAX_VIEWPORT_DIMS",e[e.SUBPIXEL_BITS=3408]="SUBPIXEL_BITS",e[e.RED_BITS=3410]="RED_BITS",e[e.GREEN_BITS=3411]="GREEN_BITS",e[e.BLUE_BITS=3412]="BLUE_BITS",e[e.ALPHA_BITS=3413]="ALPHA_BITS",e[e.DEPTH_BITS=3414]="DEPTH_BITS",e[e.STENCIL_BITS=3415]="STENCIL_BITS",e[e.POLYGON_OFFSET_UNITS=10752]="POLYGON_OFFSET_UNITS",e[e.POLYGON_OFFSET_FACTOR=32824]="POLYGON_OFFSET_FACTOR",e[e.TEXTURE_BINDING_2D=32873]="TEXTURE_BINDING_2D",e[e.SAMPLE_BUFFERS=32936]="SAMPLE_BUFFERS",e[e.SAMPLES=32937]="SAMPLES",e[e.SAMPLE_COVERAGE_VALUE=32938]="SAMPLE_COVERAGE_VALUE",e[e.SAMPLE_COVERAGE_INVERT=32939]="SAMPLE_COVERAGE_INVERT",e[e.COMPRESSED_TEXTURE_FORMATS=34467]="COMPRESSED_TEXTURE_FORMATS",e[e.VENDOR=7936]="VENDOR",e[e.RENDERER=7937]="RENDERER",e[e.VERSION=7938]="VERSION",e[e.IMPLEMENTATION_COLOR_READ_TYPE=35738]="IMPLEMENTATION_COLOR_READ_TYPE",e[e.IMPLEMENTATION_COLOR_READ_FORMAT=35739]="IMPLEMENTATION_COLOR_READ_FORMAT",e[e.BROWSER_DEFAULT_WEBGL=37444]="BROWSER_DEFAULT_WEBGL",e[e.STATIC_DRAW=35044]="STATIC_DRAW",e[e.STREAM_DRAW=35040]="STREAM_DRAW",e[e.DYNAMIC_DRAW=35048]="DYNAMIC_DRAW",e[e.ARRAY_BUFFER=34962]="ARRAY_BUFFER",e[e.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER",e[e.BUFFER_SIZE=34660]="BUFFER_SIZE",e[e.BUFFER_USAGE=34661]="BUFFER_USAGE",e[e.CURRENT_VERTEX_ATTRIB=34342]="CURRENT_VERTEX_ATTRIB",e[e.VERTEX_ATTRIB_ARRAY_ENABLED=34338]="VERTEX_ATTRIB_ARRAY_ENABLED",e[e.VERTEX_ATTRIB_ARRAY_SIZE=34339]="VERTEX_ATTRIB_ARRAY_SIZE",e[e.VERTEX_ATTRIB_ARRAY_STRIDE=34340]="VERTEX_ATTRIB_ARRAY_STRIDE",e[e.VERTEX_ATTRIB_ARRAY_TYPE=34341]="VERTEX_ATTRIB_ARRAY_TYPE",e[e.VERTEX_ATTRIB_ARRAY_NORMALIZED=34922]="VERTEX_ATTRIB_ARRAY_NORMALIZED",e[e.VERTEX_ATTRIB_ARRAY_POINTER=34373]="VERTEX_ATTRIB_ARRAY_POINTER",e[e.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING=34975]="VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",e[e.CULL_FACE=2884]="CULL_FACE",e[e.FRONT=1028]="FRONT",e[e.BACK=1029]="BACK",e[e.FRONT_AND_BACK=1032]="FRONT_AND_BACK",e[e.BLEND=3042]="BLEND",e[e.DEPTH_TEST=2929]="DEPTH_TEST",e[e.DITHER=3024]="DITHER",e[e.POLYGON_OFFSET_FILL=32823]="POLYGON_OFFSET_FILL",e[e.SAMPLE_ALPHA_TO_COVERAGE=32926]="SAMPLE_ALPHA_TO_COVERAGE",e[e.SAMPLE_COVERAGE=32928]="SAMPLE_COVERAGE",e[e.SCISSOR_TEST=3089]="SCISSOR_TEST",e[e.STENCIL_TEST=2960]="STENCIL_TEST",e[e.NO_ERROR=0]="NO_ERROR",e[e.INVALID_ENUM=1280]="INVALID_ENUM",e[e.INVALID_VALUE=1281]="INVALID_VALUE",e[e.INVALID_OPERATION=1282]="INVALID_OPERATION",e[e.OUT_OF_MEMORY=1285]="OUT_OF_MEMORY",e[e.CONTEXT_LOST_WEBGL=37442]="CONTEXT_LOST_WEBGL",e[e.CW=2304]="CW",e[e.CCW=2305]="CCW",e[e.DONT_CARE=4352]="DONT_CARE",e[e.FASTEST=4353]="FASTEST",e[e.NICEST=4354]="NICEST",e[e.GENERATE_MIPMAP_HINT=33170]="GENERATE_MIPMAP_HINT",e[e.BYTE=5120]="BYTE",e[e.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",e[e.SHORT=5122]="SHORT",e[e.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",e[e.INT=5124]="INT",e[e.UNSIGNED_INT=5125]="UNSIGNED_INT",e[e.FLOAT=5126]="FLOAT",e[e.DOUBLE=5130]="DOUBLE",e[e.DEPTH_COMPONENT=6402]="DEPTH_COMPONENT",e[e.ALPHA=6406]="ALPHA",e[e.RGB=6407]="RGB",e[e.RGBA=6408]="RGBA",e[e.LUMINANCE=6409]="LUMINANCE",e[e.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA",e[e.UNSIGNED_SHORT_4_4_4_4=32819]="UNSIGNED_SHORT_4_4_4_4",e[e.UNSIGNED_SHORT_5_5_5_1=32820]="UNSIGNED_SHORT_5_5_5_1",e[e.UNSIGNED_SHORT_5_6_5=33635]="UNSIGNED_SHORT_5_6_5",e[e.FRAGMENT_SHADER=35632]="FRAGMENT_SHADER",e[e.VERTEX_SHADER=35633]="VERTEX_SHADER",e[e.COMPILE_STATUS=35713]="COMPILE_STATUS",e[e.DELETE_STATUS=35712]="DELETE_STATUS",e[e.LINK_STATUS=35714]="LINK_STATUS",e[e.VALIDATE_STATUS=35715]="VALIDATE_STATUS",e[e.ATTACHED_SHADERS=35717]="ATTACHED_SHADERS",e[e.ACTIVE_ATTRIBUTES=35721]="ACTIVE_ATTRIBUTES",e[e.ACTIVE_UNIFORMS=35718]="ACTIVE_UNIFORMS",e[e.MAX_VERTEX_ATTRIBS=34921]="MAX_VERTEX_ATTRIBS",e[e.MAX_VERTEX_UNIFORM_VECTORS=36347]="MAX_VERTEX_UNIFORM_VECTORS",e[e.MAX_VARYING_VECTORS=36348]="MAX_VARYING_VECTORS",e[e.MAX_COMBINED_TEXTURE_IMAGE_UNITS=35661]="MAX_COMBINED_TEXTURE_IMAGE_UNITS",e[e.MAX_VERTEX_TEXTURE_IMAGE_UNITS=35660]="MAX_VERTEX_TEXTURE_IMAGE_UNITS",e[e.MAX_TEXTURE_IMAGE_UNITS=34930]="MAX_TEXTURE_IMAGE_UNITS",e[e.MAX_FRAGMENT_UNIFORM_VECTORS=36349]="MAX_FRAGMENT_UNIFORM_VECTORS",e[e.SHADER_TYPE=35663]="SHADER_TYPE",e[e.SHADING_LANGUAGE_VERSION=35724]="SHADING_LANGUAGE_VERSION",e[e.CURRENT_PROGRAM=35725]="CURRENT_PROGRAM",e[e.NEVER=512]="NEVER",e[e.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}({});function Oo(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function yo(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Oo(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Oo(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var xc="Failed to create WebGL context in Node.js, headless gl returned null",Uc=" 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.",wc={width:1,height:1,debug:!0,throwOnError:!1},Fn=null;function bo(){return Fn!==null}function No(e){e=yo(yo({},wc),e);var r=e,t=r.width,n=r.height,i=r.webgl1,a=r.webgl2;if(a&&!i)throw new Error("headless-gl does not support WebGL2");if(!Fn)throw new Error(Uc);var u=Fn(t,n,e);if(!u)throw new Error(xc);return u}var _i=Be(Me(),1);var zt={};function Lc(e){globalThis.console&&globalThis.console.error&&globalThis.console.error(e)}function Xc(e){globalThis.console&&globalThis.console.log&&globalThis.console.log(e)}function Hc(e,r){zt[e]=!0,r!==void 0&&Lc(r)}function Wc(e){var r=e.getError;e.getError=function(){var n;do n=r.apply(e),n!==e.NO_ERROR&&(zt[n]=!0);while(n!==e.NO_ERROR);for(n in zt)if(zt[n])return delete zt[n],parseInt(n,10);return e.NO_ERROR}}var $t=function e(r){var t=r.gl;this.ext=r,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(r.maxVertexAttribs);for(var n=0;n<this.attribs.length;n++){var i=new e.VertexAttrib(t);this.attribs[n]=i}this.maxAttrib=0};$t.VertexAttrib=function(r){this.enabled=!1,this.buffer=null,this.size=4,this.type=r.FLOAT,this.normalized=!1,this.stride=16,this.offset=0,this.cached="",this.recache()};$t.VertexAttrib.prototype.recache=function(){this.cached=[this.size,this.type,this.normalized,this.stride,this.offset].join(":")};var _t=function(r){var t=this;this.gl=r,Wc(r);var n=this.original={getParameter:r.getParameter,enableVertexAttribArray:r.enableVertexAttribArray,disableVertexAttribArray:r.disableVertexAttribArray,bindBuffer:r.bindBuffer,getVertexAttrib:r.getVertexAttrib,vertexAttribPointer:r.vertexAttribPointer};r.getParameter=function(a){return a===t.VERTEX_ARRAY_BINDING_OES?t.currentVertexArrayObject===t.defaultVertexArrayObject?null:t.currentVertexArrayObject:n.getParameter.apply(this,arguments)},r.enableVertexAttribArray=function(a){var u=t.currentVertexArrayObject;u.maxAttrib=Math.max(u.maxAttrib,a);var c=u.attribs[a];return c.enabled=!0,n.enableVertexAttribArray.apply(this,arguments)},r.disableVertexAttribArray=function(a){var u=t.currentVertexArrayObject;u.maxAttrib=Math.max(u.maxAttrib,a);var c=u.attribs[a];return c.enabled=!1,n.disableVertexAttribArray.apply(this,arguments)},r.bindBuffer=function(a,u){switch(a){case r.ARRAY_BUFFER:t.currentArrayBuffer=u;break;case r.ELEMENT_ARRAY_BUFFER:t.currentVertexArrayObject.elementArrayBuffer=u;break;default:}return n.bindBuffer.apply(this,arguments)},r.getVertexAttrib=function(a,u){var c=t.currentVertexArrayObject,f=c.attribs[a];switch(u){case r.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:return f.buffer;case r.VERTEX_ATTRIB_ARRAY_ENABLED:return f.enabled;case r.VERTEX_ATTRIB_ARRAY_SIZE:return f.size;case r.VERTEX_ATTRIB_ARRAY_STRIDE:return f.stride;case r.VERTEX_ATTRIB_ARRAY_TYPE:return f.type;case r.VERTEX_ATTRIB_ARRAY_NORMALIZED:return f.normalized;default:return n.getVertexAttrib.apply(this,arguments)}},r.vertexAttribPointer=function(a,u,c,f,l,_){var E=t.currentVertexArrayObject;E.maxAttrib=Math.max(E.maxAttrib,a);var p=E.attribs[a];return p.buffer=t.currentArrayBuffer,p.size=u,p.type=c,p.normalized=f,p.stride=l,p.offset=_,p.recache(),n.vertexAttribPointer.apply(this,arguments)},r.instrumentExtension&&r.instrumentExtension(this,"OES_vertex_array_object"),r.canvas&&r.canvas.addEventListener("webglcontextrestored",function(){Xc("OESVertexArrayObject emulation library context restored"),t.reset_()},!0),this.reset_()};_t.prototype.VERTEX_ARRAY_BINDING_OES=34229;_t.prototype.reset_=function(){var r=this.vertexArrayObjects!==void 0;if(r)for(var t=0;t<this.vertexArrayObjects.length;++t)this.vertexArrayObjects.isAlive=!1;var n=this.gl;this.maxVertexAttribs=n.getParameter(n.MAX_VERTEX_ATTRIBS),this.defaultVertexArrayObject=new $t(this),this.currentVertexArrayObject=null,this.currentArrayBuffer=null,this.vertexArrayObjects=[this.defaultVertexArrayObject],this.bindVertexArrayOES(null)};_t.prototype.createVertexArrayOES=function(){var r=new $t(this);return this.vertexArrayObjects.push(r),r};_t.prototype.deleteVertexArrayOES=function(r){r.isAlive=!1,this.vertexArrayObjects.splice(this.vertexArrayObjects.indexOf(r),1),this.currentVertexArrayObject===r&&this.bindVertexArrayOES(null)};_t.prototype.isVertexArrayOES=function(r){return!!(r&&r instanceof $t&&r.hasBeenBound&&r.ext===this)};_t.prototype.bindVertexArrayOES=function(r){var t=this.gl;if(r&&!r.isAlive){Hc(t.INVALID_OPERATION,"bindVertexArrayOES: attempt to bind deleted arrayObject");return}var n=this.original,i=this.currentVertexArrayObject;this.currentVertexArrayObject=r||this.defaultVertexArrayObject,this.currentVertexArrayObject.hasBeenBound=!0;var a=this.currentVertexArrayObject;if(i!==a){(!i||a.elementArrayBuffer!==i.elementArrayBuffer)&&n.bindBuffer.call(t,t.ELEMENT_ARRAY_BUFFER,a.elementArrayBuffer);for(var u=this.currentArrayBuffer,c=Math.max(i?i.maxAttrib:0,a.maxAttrib),f=0;f<=c;f++){var l=a.attribs[f],_=i?i.attribs[f]:null;if((!i||l.enabled!==_.enabled)&&(l.enabled?n.enableVertexAttribArray.call(t,f):n.disableVertexAttribArray.call(t,f)),l.enabled){var E=!1;(!i||l.buffer!==_.buffer)&&(u!==l.buffer&&(n.bindBuffer.call(t,t.ARRAY_BUFFER,l.buffer),u=l.buffer),E=!0),(E||l.cached!==_.cached)&&n.vertexAttribPointer.call(t,f,l.size,l.type,l.normalized,l.stride,l.offset)}}this.currentArrayBuffer!==u&&n.bindBuffer.call(t,t.ARRAY_BUFFER,this.currentArrayBuffer)}};function Co(e){if(typeof e.createVertexArray!="function"){var r=e.getSupportedExtensions;e.getSupportedExtensions=function(){var i=r.call(this)||[];return i.indexOf("OES_vertex_array_object")<0&&i.push("OES_vertex_array_object"),i};var t=e.getExtension;e.getExtension=function(i){var a=t.call(this,i);return a||(i!=="OES_vertex_array_object"?null:(e.__OESVertexArrayObject||(this.__OESVertexArrayObject=new _t(this)),this.__OESVertexArrayObject))}}}var Vc="Invalid WebGLRenderingContext";var jc="Requires WebGL2";function kc(e){return typeof WebGLRenderingContext<"u"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&Number.isFinite(e._version))}function $(e){return typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&e._version===2)}function Dn(e){return $(e)?e:null}function Io(e){return H(kc(e),Vc),e}function Cr(e){return H($(e),jc),e}var q,Po="OES_element_index",Mo="WEBGL_draw_buffers",Kc="EXT_disjoint_timer_query",Yc="EXT_disjoint_timer_query_webgl2",Gc="EXT_texture_filter_anisotropic",Fo="WEBGL_debug_renderer_info",zc=35723,$c=4352,Zc=36795,qc=34047,Qc=37445,Jc=37446,ae=function(r){return $(r)?void 0:0},el=(q={},s(q,o.READ_BUFFER,function(e){return $(e)?void 0:o.COLOR_ATTACHMENT0}),s(q,zc,function(e){return $(e)?void 0:$c}),s(q,o.RASTERIZER_DISCARD,ae),s(q,o.SAMPLES,ae),s(q,Zc,function(e,r){var t=$(e)?e.getExtension(Yc):e.getExtension(Kc);return t&&t.GPU_DISJOINT_EXT?r(t.GPU_DISJOINT_EXT):0}),s(q,Qc,function(e,r){var t=e.getExtension(Fo);return r(t&&t.UNMASKED_VENDOR_WEBGL||o.VENDOR)}),s(q,Jc,function(e,r){var t=e.getExtension(Fo);return r(t&&t.UNMASKED_RENDERER_WEBGL||o.RENDERER)}),s(q,qc,function(e,r){var t,n,i=((t=e.luma)===null||t===void 0||(n=t.extensions)===null||n===void 0?void 0:n[Gc])||e.getExtension("EXT_texture_filter_anisotropic");return i?r(i.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1}),s(q,o.MAX_3D_TEXTURE_SIZE,ae),s(q,o.MAX_ARRAY_TEXTURE_LAYERS,ae),s(q,o.MAX_CLIENT_WAIT_TIMEOUT_WEBGL,ae),s(q,o.MAX_COLOR_ATTACHMENTS,function(e,r){if(!$(e)){var t=e.getExtension(Mo);return t?r(t.MAX_COLOR_ATTACHMENTS_WEBGL):0}}),s(q,o.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,ae),s(q,o.MAX_COMBINED_UNIFORM_BLOCKS,ae),s(q,o.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,ae),s(q,o.MAX_DRAW_BUFFERS,function(e){if(!$(e)){var r=e.getExtension(Mo);return r?r.MAX_DRAW_BUFFERS_WEBGL:0}}),s(q,o.MAX_ELEMENT_INDEX,function(e){return e.getExtension(Po)?2147483647:65535}),s(q,o.MAX_ELEMENTS_INDICES,function(e){return e.getExtension(Po)?16777216:65535}),s(q,o.MAX_ELEMENTS_VERTICES,function(e){return 16777216}),s(q,o.MAX_FRAGMENT_INPUT_COMPONENTS,ae),s(q,o.MAX_FRAGMENT_UNIFORM_BLOCKS,ae),s(q,o.MAX_FRAGMENT_UNIFORM_COMPONENTS,ae),s(q,o.MAX_SAMPLES,ae),s(q,o.MAX_SERVER_WAIT_TIMEOUT,ae),s(q,o.MAX_TEXTURE_LOD_BIAS,ae),s(q,o.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,ae),s(q,o.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,ae),s(q,o.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,ae),s(q,o.MAX_UNIFORM_BLOCK_SIZE,ae),s(q,o.MAX_UNIFORM_BUFFER_BINDINGS,ae),s(q,o.MAX_VARYING_COMPONENTS,ae),s(q,o.MAX_VERTEX_OUTPUT_COMPONENTS,ae),s(q,o.MAX_VERTEX_UNIFORM_BLOCKS,ae),s(q,o.MAX_VERTEX_UNIFORM_COMPONENTS,ae),s(q,o.MIN_PROGRAM_TEXEL_OFFSET,ae),s(q,o.MAX_PROGRAM_TEXEL_OFFSET,ae),s(q,o.UNIFORM_BUFFER_OFFSET_ALIGNMENT,ae),q);function Do(e,r,t){var n=el[t],i=typeof n=="function"?n(e,r,t):n,a=i!==void 0?i:r(t);return a}function Pt(e){var r=e.luma;if(!r){var t={_polyfilled:!1,_extensions:{}};e.luma=t}return e.luma}var Mt,tl="OES_vertex_array_object",Bo="ANGLE_instanced_arrays",rl="WEBGL_draw_buffers",nl="EXT_disjoint_timer_query",il="EXT_texture_filter_anisotropic",al="VertexArray requires WebGL2 or OES_vertex_array_object extension";function ol(e,r){return{webgl2:$(e),ext:e.getExtension(r)}}var Bn=(Mt={},s(Mt,tl,{meta:{suffix:"OES"},createVertexArray:function(){H(!1,al)},deleteVertexArray:function(){},bindVertexArray:function(){},isVertexArray:function(){return!1}}),s(Mt,Bo,{meta:{suffix:"ANGLE"},vertexAttribDivisor:function(r,t){H(t===0,"WebGL instanced rendering not supported")},drawElementsInstanced:function(){},drawArraysInstanced:function(){}}),s(Mt,rl,{meta:{suffix:"WEBGL"},drawBuffers:function(){H(!1)}}),s(Mt,nl,{meta:{suffix:"EXT"},createQuery:function(){H(!1)},deleteQuery:function(){H(!1)},beginQuery:function(){H(!1)},endQuery:function(){},getQuery:function(r,t){return this.getQueryObject(r,t)},getQueryParameter:function(r,t){return this.getQueryObject(r,t)},getQueryObject:function(r,t){}}),Mt),Ir={readBuffer:function(r,t,n){$(r)&&t(n)},getVertexAttrib:function(r,t,n,i){var a=ol(r,Bo),u=a.webgl2,c=a.ext,f;switch(i){case o.VERTEX_ATTRIB_ARRAY_INTEGER:f=u?void 0:!1;break;case o.VERTEX_ATTRIB_ARRAY_DIVISOR:f=!u&&!c?0:void 0;break;default:}return f!==void 0?f:t(n,i)},getProgramParameter:function(r,t,n,i){if(!$(r))switch(i){case o.TRANSFORM_FEEDBACK_BUFFER_MODE:return o.SEPARATE_ATTRIBS;case o.TRANSFORM_FEEDBACK_VARYINGS:return 0;case o.ACTIVE_UNIFORM_BLOCKS:return 0;default:}return t(n,i)},getInternalformatParameter:function(r,t,n,i,a){if(!$(r))switch(a){case o.SAMPLES:return new Int32Array([0]);default:}var u=r;return u.getInternalformatParameter(n,i,a)},getTexParameter:function(r,t,n,i){switch(i){case o.TEXTURE_MAX_ANISOTROPY_EXT:var a=Pt(r),u=a._extensions,c=u[il];i=c&&c.TEXTURE_MAX_ANISOTROPY_EXT||o.TEXTURE_MAX_ANISOTROPY_EXT;break;default:}return t(n,i)},getParameter:Do,hint:function(r,t,n,i){return t(n,i)}};function Uo(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=sl(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
246
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function sl(e,r){if(e){if(typeof e=="string")return xo(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return xo(e,r)}}function xo(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function wo(e){var r=Pt(e);return r._polyfilled||(Co(e),ul(e),fl(e,Bn),ll(e,{target:r,target2:e}),r._polyfilled=!0),e}function ul(e){var r=Pt(e),t=e.getSupportedExtensions()||[],n=Uo(t),i;try{for(n.s();!(i=n.n()).done;){var a=i.value,u=e.getExtension(a);r._extensions[a]=u}}catch(c){n.e(c)}finally{n.f()}}function fl(e,r){var t=Pt(e),n=Uo(Object.getOwnPropertyNames(r)),i;try{for(n.s();!(i=n.n()).done;){var a=i.value;a!=="overrides"&&cl(e,{extension:a,target:t,target2:e})}}catch(u){n.e(u)}finally{n.f()}}function cl(e,r){var t=r.extension,n=r.target,i=r.target2,a=Bn[t];H(a);for(var u=a.meta,c=u===void 0?{}:u,f=c.suffix,l=f===void 0?"":f,_=e.getExtension(t),E=function(){var R=d[p],O="".concat(R).concat(l),S=null;R==="meta"||typeof e[R]=="function"||(_&&typeof _[O]=="function"?S=function(){return _[O].apply(_,arguments)}:typeof a[R]=="function"&&(S=a[R].bind(n))),S&&(n[R]=S,i[R]=S)},p=0,d=Object.keys(a);p<d.length;p++)E()}function ll(e,r){var t=r.target,n=r.target2;Object.keys(Ir).forEach(function(i){if(typeof Ir[i]=="function"){var a=e[i]?e[i].bind(e):function(){},u=Ir[i].bind(null,e,a);t[i]=u,n[i]=u}})}function xn(e){if(Array.isArray(e))return Rt(e)}function Zt(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Un(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
247
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function oe(e){return xn(e)||Zt(e)||it(e)||Un()}var P,v,De,Pr=(P={},s(P,o.BLEND,!1),s(P,o.BLEND_COLOR,new Float32Array([0,0,0,0])),s(P,o.BLEND_EQUATION_RGB,o.FUNC_ADD),s(P,o.BLEND_EQUATION_ALPHA,o.FUNC_ADD),s(P,o.BLEND_SRC_RGB,o.ONE),s(P,o.BLEND_DST_RGB,o.ZERO),s(P,o.BLEND_SRC_ALPHA,o.ONE),s(P,o.BLEND_DST_ALPHA,o.ZERO),s(P,o.COLOR_CLEAR_VALUE,new Float32Array([0,0,0,0])),s(P,o.COLOR_WRITEMASK,[!0,!0,!0,!0]),s(P,o.CULL_FACE,!1),s(P,o.CULL_FACE_MODE,o.BACK),s(P,o.DEPTH_TEST,!1),s(P,o.DEPTH_CLEAR_VALUE,1),s(P,o.DEPTH_FUNC,o.LESS),s(P,o.DEPTH_RANGE,new Float32Array([0,1])),s(P,o.DEPTH_WRITEMASK,!0),s(P,o.DITHER,!0),s(P,o.CURRENT_PROGRAM,null),s(P,o.FRAMEBUFFER_BINDING,null),s(P,o.RENDERBUFFER_BINDING,null),s(P,o.VERTEX_ARRAY_BINDING,null),s(P,o.ARRAY_BUFFER_BINDING,null),s(P,o.FRONT_FACE,o.CCW),s(P,o.GENERATE_MIPMAP_HINT,o.DONT_CARE),s(P,o.LINE_WIDTH,1),s(P,o.POLYGON_OFFSET_FILL,!1),s(P,o.POLYGON_OFFSET_FACTOR,0),s(P,o.POLYGON_OFFSET_UNITS,0),s(P,o.SAMPLE_ALPHA_TO_COVERAGE,!1),s(P,o.SAMPLE_COVERAGE,!1),s(P,o.SAMPLE_COVERAGE_VALUE,1),s(P,o.SAMPLE_COVERAGE_INVERT,!1),s(P,o.SCISSOR_TEST,!1),s(P,o.SCISSOR_BOX,new Int32Array([0,0,1024,1024])),s(P,o.STENCIL_TEST,!1),s(P,o.STENCIL_CLEAR_VALUE,0),s(P,o.STENCIL_WRITEMASK,4294967295),s(P,o.STENCIL_BACK_WRITEMASK,4294967295),s(P,o.STENCIL_FUNC,o.ALWAYS),s(P,o.STENCIL_REF,0),s(P,o.STENCIL_VALUE_MASK,4294967295),s(P,o.STENCIL_BACK_FUNC,o.ALWAYS),s(P,o.STENCIL_BACK_REF,0),s(P,o.STENCIL_BACK_VALUE_MASK,4294967295),s(P,o.STENCIL_FAIL,o.KEEP),s(P,o.STENCIL_PASS_DEPTH_FAIL,o.KEEP),s(P,o.STENCIL_PASS_DEPTH_PASS,o.KEEP),s(P,o.STENCIL_BACK_FAIL,o.KEEP),s(P,o.STENCIL_BACK_PASS_DEPTH_FAIL,o.KEEP),s(P,o.STENCIL_BACK_PASS_DEPTH_PASS,o.KEEP),s(P,o.VIEWPORT,[0,0,1024,1024]),s(P,o.PACK_ALIGNMENT,4),s(P,o.UNPACK_ALIGNMENT,4),s(P,o.UNPACK_FLIP_Y_WEBGL,!1),s(P,o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),s(P,o.UNPACK_COLORSPACE_CONVERSION_WEBGL,o.BROWSER_DEFAULT_WEBGL),s(P,o.TRANSFORM_FEEDBACK_BINDING,null),s(P,o.COPY_READ_BUFFER_BINDING,null),s(P,o.COPY_WRITE_BUFFER_BINDING,null),s(P,o.PIXEL_PACK_BUFFER_BINDING,null),s(P,o.PIXEL_UNPACK_BUFFER_BINDING,null),s(P,o.FRAGMENT_SHADER_DERIVATIVE_HINT,o.DONT_CARE),s(P,o.READ_FRAMEBUFFER_BINDING,null),s(P,o.RASTERIZER_DISCARD,!1),s(P,o.PACK_ROW_LENGTH,0),s(P,o.PACK_SKIP_PIXELS,0),s(P,o.PACK_SKIP_ROWS,0),s(P,o.UNPACK_ROW_LENGTH,0),s(P,o.UNPACK_IMAGE_HEIGHT,0),s(P,o.UNPACK_SKIP_PIXELS,0),s(P,o.UNPACK_SKIP_ROWS,0),s(P,o.UNPACK_SKIP_IMAGES,0),P),Xe=function(r,t,n){return t?r.enable(n):r.disable(n)},Lo=function(r,t,n){return r.hint(n,t)},Ie=function(r,t,n){return r.pixelStorei(n,t)},Xo=function(r,t,n){var i;return n===o.FRAMEBUFFER_BINDING?i=$(r)?o.DRAW_FRAMEBUFFER:o.FRAMEBUFFER:i=o.READ_FRAMEBUFFER,r.bindFramebuffer(i,t)},qt=function(r,t,n){var i,a=(i={},s(i,o.ARRAY_BUFFER_BINDING,o.ARRAY_BUFFER),s(i,o.COPY_READ_BUFFER_BINDING,o.COPY_READ_BUFFER),s(i,o.COPY_WRITE_BUFFER_BINDING,o.COPY_WRITE_BUFFER),s(i,o.PIXEL_PACK_BUFFER_BINDING,o.PIXEL_PACK_BUFFER),s(i,o.PIXEL_UNPACK_BUFFER_BINDING,o.PIXEL_UNPACK_BUFFER),i),u=a[n];r.bindBuffer(u,t)};function wn(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}var Ho=(v={},s(v,o.BLEND,Xe),s(v,o.BLEND_COLOR,function(e,r){return e.blendColor.apply(e,oe(r))}),s(v,o.BLEND_EQUATION_RGB,"blendEquation"),s(v,o.BLEND_EQUATION_ALPHA,"blendEquation"),s(v,o.BLEND_SRC_RGB,"blendFunc"),s(v,o.BLEND_DST_RGB,"blendFunc"),s(v,o.BLEND_SRC_ALPHA,"blendFunc"),s(v,o.BLEND_DST_ALPHA,"blendFunc"),s(v,o.COLOR_CLEAR_VALUE,function(e,r){return e.clearColor.apply(e,oe(r))}),s(v,o.COLOR_WRITEMASK,function(e,r){return e.colorMask.apply(e,oe(r))}),s(v,o.CULL_FACE,Xe),s(v,o.CULL_FACE_MODE,function(e,r){return e.cullFace(r)}),s(v,o.DEPTH_TEST,Xe),s(v,o.DEPTH_CLEAR_VALUE,function(e,r){return e.clearDepth(r)}),s(v,o.DEPTH_FUNC,function(e,r){return e.depthFunc(r)}),s(v,o.DEPTH_RANGE,function(e,r){return e.depthRange.apply(e,oe(r))}),s(v,o.DEPTH_WRITEMASK,function(e,r){return e.depthMask(r)}),s(v,o.DITHER,Xe),s(v,o.FRAGMENT_SHADER_DERIVATIVE_HINT,Lo),s(v,o.CURRENT_PROGRAM,function(e,r){return e.useProgram(r)}),s(v,o.RENDERBUFFER_BINDING,function(e,r){return e.bindRenderbuffer(o.RENDERBUFFER,r)}),s(v,o.TRANSFORM_FEEDBACK_BINDING,function(e,r){var t,n;return(t=(n=e).bindTransformFeedback)===null||t===void 0?void 0:t.call(n,o.TRANSFORM_FEEDBACK,r)}),s(v,o.VERTEX_ARRAY_BINDING,function(e,r){return e.bindVertexArray(r)}),s(v,o.FRAMEBUFFER_BINDING,Xo),s(v,o.READ_FRAMEBUFFER_BINDING,Xo),s(v,o.ARRAY_BUFFER_BINDING,qt),s(v,o.COPY_READ_BUFFER_BINDING,qt),s(v,o.COPY_WRITE_BUFFER_BINDING,qt),s(v,o.PIXEL_PACK_BUFFER_BINDING,qt),s(v,o.PIXEL_UNPACK_BUFFER_BINDING,qt),s(v,o.FRONT_FACE,function(e,r){return e.frontFace(r)}),s(v,o.GENERATE_MIPMAP_HINT,Lo),s(v,o.LINE_WIDTH,function(e,r){return e.lineWidth(r)}),s(v,o.POLYGON_OFFSET_FILL,Xe),s(v,o.POLYGON_OFFSET_FACTOR,"polygonOffset"),s(v,o.POLYGON_OFFSET_UNITS,"polygonOffset"),s(v,o.RASTERIZER_DISCARD,Xe),s(v,o.SAMPLE_ALPHA_TO_COVERAGE,Xe),s(v,o.SAMPLE_COVERAGE,Xe),s(v,o.SAMPLE_COVERAGE_VALUE,"sampleCoverage"),s(v,o.SAMPLE_COVERAGE_INVERT,"sampleCoverage"),s(v,o.SCISSOR_TEST,Xe),s(v,o.SCISSOR_BOX,function(e,r){return e.scissor.apply(e,oe(r))}),s(v,o.STENCIL_TEST,Xe),s(v,o.STENCIL_CLEAR_VALUE,function(e,r){return e.clearStencil(r)}),s(v,o.STENCIL_WRITEMASK,function(e,r){return e.stencilMaskSeparate(o.FRONT,r)}),s(v,o.STENCIL_BACK_WRITEMASK,function(e,r){return e.stencilMaskSeparate(o.BACK,r)}),s(v,o.STENCIL_FUNC,"stencilFuncFront"),s(v,o.STENCIL_REF,"stencilFuncFront"),s(v,o.STENCIL_VALUE_MASK,"stencilFuncFront"),s(v,o.STENCIL_BACK_FUNC,"stencilFuncBack"),s(v,o.STENCIL_BACK_REF,"stencilFuncBack"),s(v,o.STENCIL_BACK_VALUE_MASK,"stencilFuncBack"),s(v,o.STENCIL_FAIL,"stencilOpFront"),s(v,o.STENCIL_PASS_DEPTH_FAIL,"stencilOpFront"),s(v,o.STENCIL_PASS_DEPTH_PASS,"stencilOpFront"),s(v,o.STENCIL_BACK_FAIL,"stencilOpBack"),s(v,o.STENCIL_BACK_PASS_DEPTH_FAIL,"stencilOpBack"),s(v,o.STENCIL_BACK_PASS_DEPTH_PASS,"stencilOpBack"),s(v,o.VIEWPORT,function(e,r){return e.viewport.apply(e,oe(r))}),s(v,o.PACK_ALIGNMENT,Ie),s(v,o.UNPACK_ALIGNMENT,Ie),s(v,o.UNPACK_FLIP_Y_WEBGL,Ie),s(v,o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,Ie),s(v,o.UNPACK_COLORSPACE_CONVERSION_WEBGL,Ie),s(v,o.PACK_ROW_LENGTH,Ie),s(v,o.PACK_SKIP_PIXELS,Ie),s(v,o.PACK_SKIP_ROWS,Ie),s(v,o.UNPACK_ROW_LENGTH,Ie),s(v,o.UNPACK_IMAGE_HEIGHT,Ie),s(v,o.UNPACK_SKIP_PIXELS,Ie),s(v,o.UNPACK_SKIP_ROWS,Ie),s(v,o.UNPACK_SKIP_IMAGES,Ie),s(v,"framebuffer",function(r,t){var n=t&&"handle"in t?t.handle:t;return r.bindFramebuffer(o.FRAMEBUFFER,n)}),s(v,"blend",function(r,t){return t?r.enable(o.BLEND):r.disable(o.BLEND)}),s(v,"blendColor",function(r,t){return r.blendColor.apply(r,oe(t))}),s(v,"blendEquation",function(r,t){var n=typeof t=="number"?[t,t]:t;r.blendEquationSeparate.apply(r,oe(n))}),s(v,"blendFunc",function(r,t){var n=t?.length===2?[].concat(oe(t),oe(t)):t;r.blendFuncSeparate.apply(r,oe(n))}),s(v,"clearColor",function(r,t){return r.clearColor.apply(r,oe(t))}),s(v,"clearDepth",function(r,t){return r.clearDepth(t)}),s(v,"clearStencil",function(r,t){return r.clearStencil(t)}),s(v,"colorMask",function(r,t){return r.colorMask.apply(r,oe(t))}),s(v,"cull",function(r,t){return t?r.enable(o.CULL_FACE):r.disable(o.CULL_FACE)}),s(v,"cullFace",function(r,t){return r.cullFace(t)}),s(v,"depthTest",function(r,t){return t?r.enable(o.DEPTH_TEST):r.disable(o.DEPTH_TEST)}),s(v,"depthFunc",function(r,t){return r.depthFunc(t)}),s(v,"depthMask",function(r,t){return r.depthMask(t)}),s(v,"depthRange",function(r,t){return r.depthRange.apply(r,oe(t))}),s(v,"dither",function(r,t){return t?r.enable(o.DITHER):r.disable(o.DITHER)}),s(v,"derivativeHint",function(r,t){r.hint(o.FRAGMENT_SHADER_DERIVATIVE_HINT,t)}),s(v,"frontFace",function(r,t){return r.frontFace(t)}),s(v,"mipmapHint",function(r,t){return r.hint(o.GENERATE_MIPMAP_HINT,t)}),s(v,"lineWidth",function(r,t){return r.lineWidth(t)}),s(v,"polygonOffsetFill",function(r,t){return t?r.enable(o.POLYGON_OFFSET_FILL):r.disable(o.POLYGON_OFFSET_FILL)}),s(v,"polygonOffset",function(r,t){return r.polygonOffset.apply(r,oe(t))}),s(v,"sampleCoverage",function(r,t){return r.sampleCoverage.apply(r,oe(t))}),s(v,"scissorTest",function(r,t){return t?r.enable(o.SCISSOR_TEST):r.disable(o.SCISSOR_TEST)}),s(v,"scissor",function(r,t){return r.scissor.apply(r,oe(t))}),s(v,"stencilTest",function(r,t){return t?r.enable(o.STENCIL_TEST):r.disable(o.STENCIL_TEST)}),s(v,"stencilMask",function(r,t){t=wn(t)?t:[t,t];var n=t,i=k(n,2),a=i[0],u=i[1];r.stencilMaskSeparate(o.FRONT,a),r.stencilMaskSeparate(o.BACK,u)}),s(v,"stencilFunc",function(r,t){t=wn(t)&&t.length===3?[].concat(oe(t),oe(t)):t;var n=t,i=k(n,6),a=i[0],u=i[1],c=i[2],f=i[3],l=i[4],_=i[5];r.stencilFuncSeparate(o.FRONT,a,u,c),r.stencilFuncSeparate(o.BACK,f,l,_)}),s(v,"stencilOp",function(r,t){t=wn(t)&&t.length===3?[].concat(oe(t),oe(t)):t;var n=t,i=k(n,6),a=i[0],u=i[1],c=i[2],f=i[3],l=i[4],_=i[5];r.stencilOpSeparate(o.FRONT,a,u,c),r.stencilOpSeparate(o.BACK,f,l,_)}),s(v,"viewport",function(r,t){return r.viewport.apply(r,oe(t))}),v);function ce(e,r,t){return r[e]!==void 0?r[e]:t[e]}var Wo={blendEquation:function(r,t,n){return r.blendEquationSeparate(ce(o.BLEND_EQUATION_RGB,t,n),ce(o.BLEND_EQUATION_ALPHA,t,n))},blendFunc:function(r,t,n){return r.blendFuncSeparate(ce(o.BLEND_SRC_RGB,t,n),ce(o.BLEND_DST_RGB,t,n),ce(o.BLEND_SRC_ALPHA,t,n),ce(o.BLEND_DST_ALPHA,t,n))},polygonOffset:function(r,t,n){return r.polygonOffset(ce(o.POLYGON_OFFSET_FACTOR,t,n),ce(o.POLYGON_OFFSET_UNITS,t,n))},sampleCoverage:function(r,t,n){return r.sampleCoverage(ce(o.SAMPLE_COVERAGE_VALUE,t,n),ce(o.SAMPLE_COVERAGE_INVERT,t,n))},stencilFuncFront:function(r,t,n){return r.stencilFuncSeparate(o.FRONT,ce(o.STENCIL_FUNC,t,n),ce(o.STENCIL_REF,t,n),ce(o.STENCIL_VALUE_MASK,t,n))},stencilFuncBack:function(r,t,n){return r.stencilFuncSeparate(o.BACK,ce(o.STENCIL_BACK_FUNC,t,n),ce(o.STENCIL_BACK_REF,t,n),ce(o.STENCIL_BACK_VALUE_MASK,t,n))},stencilOpFront:function(r,t,n){return r.stencilOpSeparate(o.FRONT,ce(o.STENCIL_FAIL,t,n),ce(o.STENCIL_PASS_DEPTH_FAIL,t,n),ce(o.STENCIL_PASS_DEPTH_PASS,t,n))},stencilOpBack:function(r,t,n){return r.stencilOpSeparate(o.BACK,ce(o.STENCIL_BACK_FAIL,t,n),ce(o.STENCIL_BACK_PASS_DEPTH_FAIL,t,n),ce(o.STENCIL_BACK_PASS_DEPTH_PASS,t,n))}},Ln={enable:function(r,t){return r(s({},t,!0))},disable:function(r,t){return r(s({},t,!1))},pixelStorei:function(r,t,n){return r(s({},t,n))},hint:function(r,t,n){return r(s({},t,n))},useProgram:function(r,t){return r(s({},o.CURRENT_PROGRAM,t))},bindRenderbuffer:function(r,t,n){return r(s({},o.RENDERBUFFER_BINDING,n))},bindTransformFeedback:function(r,t,n){return r(s({},o.TRANSFORM_FEEDBACK_BINDING,n))},bindVertexArray:function(r,t){return r(s({},o.VERTEX_ARRAY_BINDING,t))},bindFramebuffer:function(r,t,n){var i;switch(t){case o.FRAMEBUFFER:return r((i={},s(i,o.DRAW_FRAMEBUFFER_BINDING,n),s(i,o.READ_FRAMEBUFFER_BINDING,n),i));case o.DRAW_FRAMEBUFFER:return r(s({},o.DRAW_FRAMEBUFFER_BINDING,n));case o.READ_FRAMEBUFFER:return r(s({},o.READ_FRAMEBUFFER_BINDING,n));default:return null}},bindBuffer:function(r,t,n){var i,a=(i={},s(i,o.ARRAY_BUFFER,[o.ARRAY_BUFFER_BINDING]),s(i,o.COPY_READ_BUFFER,[o.COPY_READ_BUFFER_BINDING]),s(i,o.COPY_WRITE_BUFFER,[o.COPY_WRITE_BUFFER_BINDING]),s(i,o.PIXEL_PACK_BUFFER,[o.PIXEL_PACK_BUFFER_BINDING]),s(i,o.PIXEL_UNPACK_BUFFER,[o.PIXEL_UNPACK_BUFFER_BINDING]),i)[t];return a?r(s({},a,n)):{valueChanged:!0}},blendColor:function(r,t,n,i,a){return r(s({},o.BLEND_COLOR,new Float32Array([t,n,i,a])))},blendEquation:function(r,t){var n;return r((n={},s(n,o.BLEND_EQUATION_RGB,t),s(n,o.BLEND_EQUATION_ALPHA,t),n))},blendEquationSeparate:function(r,t,n){var i;return r((i={},s(i,o.BLEND_EQUATION_RGB,t),s(i,o.BLEND_EQUATION_ALPHA,n),i))},blendFunc:function(r,t,n){var i;return r((i={},s(i,o.BLEND_SRC_RGB,t),s(i,o.BLEND_DST_RGB,n),s(i,o.BLEND_SRC_ALPHA,t),s(i,o.BLEND_DST_ALPHA,n),i))},blendFuncSeparate:function(r,t,n,i,a){var u;return r((u={},s(u,o.BLEND_SRC_RGB,t),s(u,o.BLEND_DST_RGB,n),s(u,o.BLEND_SRC_ALPHA,i),s(u,o.BLEND_DST_ALPHA,a),u))},clearColor:function(r,t,n,i,a){return r(s({},o.COLOR_CLEAR_VALUE,new Float32Array([t,n,i,a])))},clearDepth:function(r,t){return r(s({},o.DEPTH_CLEAR_VALUE,t))},clearStencil:function(r,t){return r(s({},o.STENCIL_CLEAR_VALUE,t))},colorMask:function(r,t,n,i,a){return r(s({},o.COLOR_WRITEMASK,[t,n,i,a]))},cullFace:function(r,t){return r(s({},o.CULL_FACE_MODE,t))},depthFunc:function(r,t){return r(s({},o.DEPTH_FUNC,t))},depthRange:function(r,t,n){return r(s({},o.DEPTH_RANGE,new Float32Array([t,n])))},depthMask:function(r,t){return r(s({},o.DEPTH_WRITEMASK,t))},frontFace:function(r,t){return r(s({},o.FRONT_FACE,t))},lineWidth:function(r,t){return r(s({},o.LINE_WIDTH,t))},polygonOffset:function(r,t,n){var i;return r((i={},s(i,o.POLYGON_OFFSET_FACTOR,t),s(i,o.POLYGON_OFFSET_UNITS,n),i))},sampleCoverage:function(r,t,n){var i;return r((i={},s(i,o.SAMPLE_COVERAGE_VALUE,t),s(i,o.SAMPLE_COVERAGE_INVERT,n),i))},scissor:function(r,t,n,i,a){return r(s({},o.SCISSOR_BOX,new Int32Array([t,n,i,a])))},stencilMask:function(r,t){var n;return r((n={},s(n,o.STENCIL_WRITEMASK,t),s(n,o.STENCIL_BACK_WRITEMASK,t),n))},stencilMaskSeparate:function(r,t,n){return r(s({},t===o.FRONT?o.STENCIL_WRITEMASK:o.STENCIL_BACK_WRITEMASK,n))},stencilFunc:function(r,t,n,i){var a;return r((a={},s(a,o.STENCIL_FUNC,t),s(a,o.STENCIL_REF,n),s(a,o.STENCIL_VALUE_MASK,i),s(a,o.STENCIL_BACK_FUNC,t),s(a,o.STENCIL_BACK_REF,n),s(a,o.STENCIL_BACK_VALUE_MASK,i),a))},stencilFuncSeparate:function(r,t,n,i,a){var u;return r((u={},s(u,t===o.FRONT?o.STENCIL_FUNC:o.STENCIL_BACK_FUNC,n),s(u,t===o.FRONT?o.STENCIL_REF:o.STENCIL_BACK_REF,i),s(u,t===o.FRONT?o.STENCIL_VALUE_MASK:o.STENCIL_BACK_VALUE_MASK,a),u))},stencilOp:function(r,t,n,i){var a;return r((a={},s(a,o.STENCIL_FAIL,t),s(a,o.STENCIL_PASS_DEPTH_FAIL,n),s(a,o.STENCIL_PASS_DEPTH_PASS,i),s(a,o.STENCIL_BACK_FAIL,t),s(a,o.STENCIL_BACK_PASS_DEPTH_FAIL,n),s(a,o.STENCIL_BACK_PASS_DEPTH_PASS,i),a))},stencilOpSeparate:function(r,t,n,i,a){var u;return r((u={},s(u,t===o.FRONT?o.STENCIL_FAIL:o.STENCIL_BACK_FAIL,n),s(u,t===o.FRONT?o.STENCIL_PASS_DEPTH_FAIL:o.STENCIL_BACK_PASS_DEPTH_FAIL,i),s(u,t===o.FRONT?o.STENCIL_PASS_DEPTH_PASS:o.STENCIL_BACK_PASS_DEPTH_PASS,a),u))},viewport:function(r,t,n,i,a){return r(s({},o.VIEWPORT,[t,n,i,a]))}},He=function(r,t){return r.isEnabled(t)},Xn=(De={},s(De,o.BLEND,He),s(De,o.CULL_FACE,He),s(De,o.DEPTH_TEST,He),s(De,o.DITHER,He),s(De,o.POLYGON_OFFSET_FILL,He),s(De,o.SAMPLE_ALPHA_TO_COVERAGE,He),s(De,o.SAMPLE_COVERAGE,He),s(De,o.SCISSOR_TEST,He),s(De,o.STENCIL_TEST,He),s(De,o.RASTERIZER_DISCARD,He),De),Vo=new Set([o.ACTIVE_TEXTURE,o.TRANSFORM_FEEDBACK_ACTIVE,o.TRANSFORM_FEEDBACK_PAUSED,o.TRANSFORM_FEEDBACK_BUFFER_BINDING,o.UNIFORM_BUFFER_BINDING,o.ELEMENT_ARRAY_BUFFER_BINDING,o.IMPLEMENTATION_COLOR_READ_FORMAT,o.IMPLEMENTATION_COLOR_READ_TYPE,o.READ_BUFFER,o.DRAW_BUFFER0,o.DRAW_BUFFER1,o.DRAW_BUFFER2,o.DRAW_BUFFER3,o.DRAW_BUFFER4,o.DRAW_BUFFER5,o.DRAW_BUFFER6,o.DRAW_BUFFER7,o.DRAW_BUFFER8,o.DRAW_BUFFER9,o.DRAW_BUFFER10,o.DRAW_BUFFER11,o.DRAW_BUFFER12,o.DRAW_BUFFER13,o.DRAW_BUFFER14,o.DRAW_BUFFER15,o.SAMPLER_BINDING,o.TEXTURE_BINDING_2D,o.TEXTURE_BINDING_2D_ARRAY,o.TEXTURE_BINDING_3D,o.TEXTURE_BINDING_CUBE_MAP]);function _l(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=El(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
248
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function El(e,r){if(e){if(typeof e=="string")return jo(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return jo(e,r)}}function jo(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function Ft(e,r){var t=ve.attach(e),n=t.gl;if(!pl(r)){var i={};for(var a in r){var u=Number(a),c=Ho[a];c&&(typeof c=="string"?i[c]=!0:c(n,r[a],u))}var f=n.state&&n.state.cache;if(f)for(var l in i){var _=Wo[l];_(n,r,f)}}}function ko(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Pr,t=ve.attach(e),n=t.gl;if(typeof r=="number"){var i=r,a=Xn[i];return a?a(n,i):n.getParameter(i)}var u=Array.isArray(r)?r:Object.keys(r),c={},f=_l(u),l;try{for(f.s();!(l=f.n()).done;){var _=l.value,E=Xn[_];c[_]=E?E(n,Number(_)):n.getParameter(Number(_))}}catch(p){f.e(p)}finally{f.f()}return c}function pl(e){for(var r in e)return!1;return!0}function Ko(e,r){if(e===r)return!0;var t=Array.isArray(e)||ArrayBuffer.isView(e),n=Array.isArray(r)||ArrayBuffer.isView(r);if(t&&n&&e.length===r.length){for(var i=0;i<e.length;++i)if(e[i]!==r[i])return!1;return!0}return!1}var dl=function(){function e(r){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.copyState,i=n===void 0?!1:n,a=t.log,u=a===void 0?function(){}:a;b(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=r,this.cache=i?ko(r):Object.assign({},Pr),this.log=u,this._updateCache=this._updateCache.bind(this),Object.seal(this)}return N(e,[{key:"push",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.stateStack.push({})}},{key:"pop",value:function(){H(this.stateStack.length>0);var t=this.stateStack[this.stateStack.length-1];Ft(this.gl,t),this.stateStack.pop()}},{key:"_updateCache",value:function(t){var n=!1,i,a=this.stateStack.length>0?this.stateStack[this.stateStack.length-1]:null;for(var u in t){H(u!==void 0);var c=t[u],f=this.cache[u];Ko(c,f)||(n=!0,i=f,a&&!(u in a)&&(a[u]=f),this.cache[u]=c)}return{valueChanged:n,oldValue:i}}}]),e}();function Et(e){return e.state}function Hn(e,r){var t=r.enable,n=t===void 0?!0:t,i=r.copyState;if(H(i!==void 0),!e.state){e.state=new dl(e,{copyState:i}),ml(e);for(var a in Ln){var u=Ln[a];hl(e,a,u)}Yo(e,"getParameter"),Yo(e,"isEnabled")}var c=Et(e);return c.enable=n,e}function pt(e){var r=Et(e);r||(Hn(e,{copyState:!1}),r=Et(e)),r.push()}function rt(e){var r=Et(e);H(r),r.pop()}function Yo(e,r){var t=e[r].bind(e);e[r]=function(i){if(i===void 0||Vo.has(i))return t(i);var a=Et(e);return i in a.cache||(a.cache[i]=t(i)),a.enable?a.cache[i]:t(i)},Object.defineProperty(e[r],"name",{value:"".concat(r,"-from-cache"),configurable:!1})}function hl(e,r,t){if(e[r]){var n=e[r].bind(e);e[r]=function(){for(var a=Et(e),u=arguments.length,c=new Array(u),f=0;f<u;f++)c[f]=arguments[f];var l=t.apply(void 0,[a._updateCache].concat(c)),_=l.valueChanged,E=l.oldValue;return _&&n.apply(void 0,c),E},Object.defineProperty(e[r],"name",{value:"".concat(r,"-to-cache"),configurable:!1})}}function ml(e){var r=e.useProgram.bind(e);e.useProgram=function(n){var i=Et(e);i.program!==n&&(r(n),i.program=n)}}function Go(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Dt(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Go(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Go(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var Rl={webgl2:!0,webgl1:!0,powerPreference:"high-performance",onContextLost:function(){return console.error("WebGL context lost")},onContextRestored:function(){return console.info("WebGL context restored")}};function zo(e,r){r=Dt(Dt({},Rl),r);var t=null,n=function(_){return t=_.statusMessage||t};e.addEventListener("webglcontextcreationerror",n,!1);var i=null;if(r.type==="webgl2"&&(r=Dt(Dt({},r),{},{webgl1:!1})),r.type==="webgl1"&&(r=Dt(Dt({},r),{},{webgl2:!1})),r.webgl2&&(i=i||e.getContext("webgl2",r)),r.webgl1&&(i=i||e.getContext("webgl",r)),e.removeEventListener("webglcontextcreationerror",n,!1),!i)throw new Error("Failed to create ".concat(r.webgl2&&!r.webgl1?"WebGL2":"WebGL"," context: ").concat(t||"Unknown error"));if(r.onContextLost){var a=r,u=a.onContextLost;e.addEventListener("webglcontextlost",function(l){return u(l)},!1)}if(r.onContextRestored){var c=r,f=c.onContextRestored;e.addEventListener("webglcontextrestored",function(l){return f(l)},!1)}return i}function $o(e){var r=e.getParameter(o.VENDOR),t=e.getParameter(o.RENDERER),n=e.getExtension("WEBGL_debug_renderer_info"),i=e.getParameter(n?n.UNMASKED_VENDOR_WEBGL:o.VENDOR),a=e.getParameter(n?n.UNMASKED_RENDERER_WEBGL:o.RENDERER),u=i||r,c=a||t,f=Al(u,c);return{type:$(e)?"webgl2":"webgl",gpu:f,vendor:i||r,renderer:a||t,version:e.getParameter(o.VERSION),shadingLanguages:["glsl"],shadingLanguageVersions:{glsl:e.getParameter(o.SHADING_LANGUAGE_VERSION)}}}function Al(e,r){return/NVIDIA/i.exec(e)||/NVIDIA/i.exec(r)?"nvidia":/INTEL/i.exec(e)||/INTEL/i.exec(r)?"intel":/Apple/i.exec(e)||/Apple/i.exec(r)?"apple":/AMD/i.exec(e)||/AMD/i.exec(r)||/ATI/i.exec(e)||/ATI/i.exec(r)?"amd":/SwiftShader/i.exec(e)||/SwiftShader/i.exec(r)?"software":"unknown"}function Zo(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=typeof window<"u"?window.navigator||{}:{},t=e.userAgent||r.userAgent||"",n=t.indexOf("MSIE ")!==-1,i=t.indexOf("Trident/")!==-1;return n||i}var ge,We,Re="texture-compression-bc",te="texture-compression-astc",Ve="texture-compression-etc2",Tl="texture-compression-etc1-webgl",Mr="texture-compression-pvrtc-webgl",Wn="texture-compression-atc-webgl",Qt="WEBGL_compressed_texture_s3tc",Jt="WEBGL_compressed_texture_s3tc_srgb",Bt="EXT_texture_compression_rgtc",er="EXT_texture_compression_bptc",vl="WEBGL_compressed_texture_etc",gl="WEBGL_compressed_texture_astc",Sl="WEBGL_compressed_texture_etc1",Ol="WEBGL_compressed_texture_pvrtc",yl="WEBGL_compressed_texture_atc",qo="EXT_sRGB",bl="EXT_texture_norm16",Nl="WEBGL_color_buffer_float",Cl="EXT_color_buffer_float",Ue=function(r,t){return r.getExtension(t)},dt=function(r,t){return t.every(function(n){return r.getExtension(n)})},Vn={"texture-blend-float-webgl1":function(r){return $(r)?!0:Ue(r,"EXT_float_blend")},"texture-formats-srgb-webgl1":function(r){return $(r)?!0:Ue(r,qo)},"texture-formats-depth-webgl1":function(r){return $(r)?!0:Ue(r,"WEBGL_depth_texture")},"texture-formats-float32-webgl1":function(r){return $(r)?!0:Ue(r,"OES_texture_float")},"texture-formats-float16-webgl1":function(r){return $(r)?!0:Ue(r,"OES_texture_half_float")},"texture-formats-norm16-webgl":function(r){return $(r)?Ue(r,bl):!1},"texture-filter-linear-float32-webgl":function(r){return Ue(r,"OES_texture_float_linear")},"texture-filter-linear-float16-webgl":function(r){return Ue(r,"OES_texture_half_float_linear")},"texture-filter-anisotropic-webgl":function(r){return Ue(r,"EXT_texture_filter_anisotropic")},"texture-renderable-float32-webgl":function(r){return Ue(r,"EXT_color_buffer_float")},"texture-renderable-float16-webgl":function(r){return Ue(r,"EXT_color_buffer_half_float")},"texture-compression-bc":function(r){return dt(r,[Qt,Jt,Bt,er])},"texture-compression-bc5-webgl":function(r){return dt(r,[Bt])},"texture-compression-etc2":function(r){return dt(r,[vl])},"texture-compression-astc":function(r){return dt(r,[gl])},"texture-compression-etc1-webgl":function(r){return dt(r,[Sl])},"texture-compression-pvrtc-webgl":function(r){return dt(r,[Ol])},"texture-compression-atc-webgl":function(r){return dt(r,[yl])}};function Il(e,r){var t;return((t=Vn[r])===null||t===void 0?void 0:t.call(Vn,e))||!1}function Qo(e){var r=Object.keys(Vn);return r.filter(function(t){return Il(e,t)})}var Fr={"rgb8unorm-unsized":{gl:o.RGB,gl1:o.RGB,b:4,c:2,bpp:4,dataFormat:o.RGB,types:[o.UNSIGNED_BYTE,o.UNSIGNED_SHORT_5_6_5]},"rgba8unorm-unsized":{gl:o.RGBA,gl1:o.RGBA,b:4,c:2,bpp:4,dataFormat:o.RGBA,types:[o.UNSIGNED_BYTE,o.UNSIGNED_SHORT_4_4_4_4,o.UNSIGNED_SHORT_5_5_5_1]},r8unorm:{gl:o.R8,b:1,c:1},r8snorm:{gl:o.R8_SNORM,b:1,c:1},r8uint:{gl:o.R8UI,b:1,c:1},r8sint:{gl:o.R8I,b:1,c:1},rg8unorm:{gl:o.RG8,b:2,c:2},rg8snorm:{gl:o.RG8_SNORM,b:2,c:2},rg8uint:{gl:o.RG8UI,b:2,c:2},rg8sint:{gl:o.RG8I,b:2,c:2},r16uint:{gl:o.R16UI,b:2,c:1},r16sint:{gl:o.R16I,b:2,c:1},r16float:{gl:o.R16F,b:2,c:1,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},"r16unorm-webgl":{gl:o.R16_EXT,b:2,c:1,f:"texture-formats-norm16-webgl"},"r16snorm-webgl":{gl:o.R16_SNORM_EXT,b:2,c:1,f:"texture-formats-norm16-webgl"},"rgba4unorm-webgl":{gl:o.RGBA4,b:2,c:4,wgpu:!1},"rgb565unorm-webgl":{gl:o.RGB565,b:2,c:4,wgpu:!1},"rgb5a1unorm-webgl":{gl:o.RGB5_A1,b:2,c:4,wgpu:!1},"rbg8unorm-webgl":{gl:o.RGB8,b:3,c:3,wgpu:!1},"rbg8snorm-webgl":{gl:o.RGB8_SNORM,b:3,c:3,wgpu:!1},rgba8unorm:{gl:o.RGBA8,gl1:o.RGBA,b:4,c:2,bpp:4},"rgba8unorm-srgb":{gl:o.SRGB8_ALPHA8,gl1:o.SRGB_ALPHA_EXT,b:4,c:4,gl1ext:qo,bpp:4},rgba8snorm:{gl:o.RGBA8_SNORM,b:4,c:4},rgba8uint:{gl:o.RGBA8UI,b:4,c:4,bpp:4},rgba8sint:{gl:o.RGBA8I,b:4,c:4,bpp:4},bgra8unorm:{b:4,c:4},"bgra8unorm-srgb":{b:4,c:4},rg16uint:{gl:o.RG16UI,b:4,c:1,bpp:4},rg16sint:{gl:o.RG16I,b:4,c:2,bpp:4},rg16float:{gl:o.RG16F,bpp:4,b:4,c:2,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},"rg16unorm-webgl":{gl:o.RG16_EXT,b:2,c:2,f:"texture-formats-norm16-webgl"},"rg16snorm-webgl":{gl:o.RG16_SNORM_EXT,b:2,c:2,f:"texture-formats-norm16-webgl"},r32uint:{gl:o.R32UI,b:4,c:1,bpp:4},r32sint:{gl:o.R32I,b:4,c:1,bpp:4},r32float:{gl:o.R32F,bpp:4,b:4,c:1,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl"},rgb9e5ufloat:{gl:o.RGB9_E5,b:4,c:3,p:1,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},rg11b10ufloat:{gl:o.R11F_G11F_B10F,b:4,c:3,p:1,render:"texture-renderable-float32-webgl"},rgb10a2unorm:{gl:o.RGB10_A2,b:4,c:4,p:1},"rgb10a2unorm-webgl":{b:4,c:4,gl:o.RGB10_A2UI,p:1,wgpu:!1,bpp:4},"rgb16unorm-webgl":{gl:o.RGB16_EXT,b:2,c:3,f:"texture-formats-norm16-webgl"},"rgb16snorm-webgl":{gl:o.RGB16_SNORM_EXT,b:2,c:3,f:"texture-formats-norm16-webgl"},rg32uint:{gl:o.RG32UI,b:8,c:2},rg32sint:{gl:o.RG32I,b:8,c:2},rg32float:{gl:o.RG32F,b:8,c:2,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl"},rgba16uint:{gl:o.RGBA16UI,b:8,c:4},rgba16sint:{gl:o.RGBA16I,b:8,c:4},rgba16float:{gl:o.RGBA16F,gl1:o.RGBA,b:8,c:4,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},"rgba16unorm-webgl":{gl:o.RGBA16_EXT,b:2,c:4,f:"texture-formats-norm16-webgl"},"rgba16snorm-webgl":{gl:o.RGBA16_SNORM_EXT,b:2,c:4,f:"texture-formats-norm16-webgl"},"rgb32float-webgl":{gl:o.RGB32F,gl1:o.RGB,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",gl2ext:Cl,gl1ext:Nl,dataFormat:o.RGB,types:[o.FLOAT]},rgba32uint:{gl:o.RGBA32UI,b:16,c:4},rgba32sint:{gl:o.RGBA32I,b:16,c:4},rgba32float:{gl:o.RGBA32F,gl1:o.RGBA,b:16,c:4,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl"},stencil8:{gl:o.STENCIL_INDEX8,b:1,c:1,attachment:o.STENCIL_ATTACHMENT},depth16unorm:{gl:o.DEPTH_COMPONENT16,gl1:o.DEPTH_COMPONENT16,b:2,c:1,attachment:o.DEPTH_ATTACHMENT},depth24plus:{gl:o.DEPTH_COMPONENT24,b:3,c:1,attachment:o.DEPTH_ATTACHMENT},depth32float:{gl:o.DEPTH_COMPONENT32F,b:4,c:1,attachment:o.DEPTH_ATTACHMENT},"depth24plus-stencil8":{b:4,gl:o.UNSIGNED_INT_24_8,gl1:o.DEPTH_STENCIL,c:2,p:1,attachment:o.DEPTH_STENCIL_ATTACHMENT},"depth24unorm-stencil8":{gl:o.DEPTH24_STENCIL8,b:4,c:2,p:1,attachment:o.DEPTH_STENCIL_ATTACHMENT},"depth32float-stencil8":{gl:o.DEPTH32F_STENCIL8,b:5,c:2,p:1,attachment:o.DEPTH_STENCIL_ATTACHMENT},"bc1-rgb-unorm-webgl":{gl:o.COMPRESSED_RGB_S3TC_DXT1_EXT,x:Qt,f:Re},"bc1-rgb-unorm-srgb-webgl":{gl:o.COMPRESSED_SRGB_S3TC_DXT1_EXT,x:Jt,f:Re},"bc1-rgba-unorm":{gl:o.COMPRESSED_RGBA_S3TC_DXT1_EXT,x:Qt,f:Re},"bc1-rgba-unorm-srgb":{gl:o.COMPRESSED_SRGB_S3TC_DXT1_EXT,x:Jt,f:Re},"bc2-rgba-unorm":{gl:o.COMPRESSED_RGBA_S3TC_DXT3_EXT,x:Qt,f:Re},"bc2-rgba-unorm-srgb":{gl:o.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,x:Jt,f:Re},"bc3-rgba-unorm":{gl:o.COMPRESSED_RGBA_S3TC_DXT5_EXT,x:Qt,f:Re},"bc3-rgba-unorm-srgb":{gl:o.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,x:Jt,f:Re},"bc4-r-unorm":{gl:o.COMPRESSED_RED_RGTC1_EXT,x:Bt,f:Re},"bc4-r-snorm":{gl:o.COMPRESSED_SIGNED_RED_RGTC1_EXT,x:Bt,f:Re},"bc5-rg-unorm":{gl:o.COMPRESSED_RED_GREEN_RGTC2_EXT,x:Bt,f:Re},"bc5-rg-snorm":{gl:o.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,x:Bt,f:Re},"bc6h-rgb-ufloat":{gl:o.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT,x:er,f:Re},"bc6h-rgb-float":{gl:o.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT,x:er,f:Re},"bc7-rgba-unorm":{gl:o.COMPRESSED_RGBA_BPTC_UNORM_EXT,x:er,f:Re},"bc7-rgba-unorm-srgb":{gl:o.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT,x:er,f:Re},"etc2-rgb8unorm":{gl:o.COMPRESSED_RGB8_ETC2,f:Ve},"etc2-rgb8unorm-srgb":{gl:o.COMPRESSED_SRGB8_ETC2,f:Ve},"etc2-rgb8a1unorm":{gl:o.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,f:Ve},"etc2-rgb8a1unorm-srgb":{gl:o.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,f:Ve},"etc2-rgba8unorm":{gl:o.COMPRESSED_RGBA8_ETC2_EAC,f:Ve},"etc2-rgba8unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,f:Ve},"eac-r11unorm":{gl:o.COMPRESSED_R11_EAC,f:Ve},"eac-r11snorm":{gl:o.COMPRESSED_SIGNED_R11_EAC,f:Ve},"eac-rg11unorm":{gl:o.COMPRESSED_RG11_EAC,f:Ve},"eac-rg11snorm":{gl:o.COMPRESSED_SIGNED_RG11_EAC,f:Ve},"astc-4x4-unorm":{gl:o.COMPRESSED_RGBA_ASTC_4x4_KHR,f:te},"astc-4x4-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,f:te},"astc-5x4-unorm":{gl:o.COMPRESSED_RGBA_ASTC_5x4_KHR,f:te},"astc-5x4-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR,f:te},"astc-5x5-unorm":{gl:o.COMPRESSED_RGBA_ASTC_5x5_KHR,f:te},"astc-5x5-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,f:te},"astc-6x5-unorm":{gl:o.COMPRESSED_RGBA_ASTC_6x5_KHR,f:te},"astc-6x5-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,f:te},"astc-6x6-unorm":{gl:o.COMPRESSED_RGBA_ASTC_6x6_KHR,f:te},"astc-6x6-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,f:te},"astc-8x5-unorm":{gl:o.COMPRESSED_RGBA_ASTC_8x5_KHR,f:te},"astc-8x5-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,f:te},"astc-8x6-unorm":{gl:o.COMPRESSED_RGBA_ASTC_8x6_KHR,f:te},"astc-8x6-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,f:te},"astc-8x8-unorm":{gl:o.COMPRESSED_RGBA_ASTC_8x8_KHR,f:te},"astc-8x8-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,f:te},"astc-10x5-unorm":{gl:o.COMPRESSED_RGBA_ASTC_10x10_KHR,f:te},"astc-10x5-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,f:te},"astc-10x6-unorm":{gl:o.COMPRESSED_RGBA_ASTC_10x6_KHR,f:te},"astc-10x6-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,f:te},"astc-10x8-unorm":{gl:o.COMPRESSED_RGBA_ASTC_10x8_KHR,f:te},"astc-10x8-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,f:te},"astc-10x10-unorm":{gl:o.COMPRESSED_RGBA_ASTC_10x10_KHR,f:te},"astc-10x10-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,f:te},"astc-12x10-unorm":{gl:o.COMPRESSED_RGBA_ASTC_12x10_KHR,f:te},"astc-12x10-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,f:te},"astc-12x12-unorm":{gl:o.COMPRESSED_RGBA_ASTC_12x12_KHR,f:te},"astc-12x12-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,f:te},"pvrtc-rgb4unorm-webgl":{gl:o.COMPRESSED_RGB_PVRTC_4BPPV1_IMG,f:Mr},"pvrtc-rgba4unorm-webgl":{gl:o.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,f:Mr},"pvrtc-rbg2unorm-webgl":{gl:o.COMPRESSED_RGB_PVRTC_2BPPV1_IMG,f:Mr},"pvrtc-rgba2unorm-webgl":{gl:o.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,f:Mr},"etc1-rbg-unorm-webgl":{gl:o.COMPRESSED_RGB_ETC1_WEBGL,f:Tl},"atc-rgb-unorm-webgl":{gl:o.COMPRESSED_RGB_ATC_WEBGL,f:Wn},"atc-rgba-unorm-webgl":{gl:o.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,f:Wn},"atc-rgbai-unorm-webgl":{gl:o.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL,f:Wn}};function ht(e){if(typeof e=="string")return e;var r=Object.entries(Fr).find(function(t){var n=k(t,2),i=n[1];return i.gl===e||i.gl1===e});if(!r)throw new Error("Unknown texture format ".concat(e));return r[0]}function Dr(e,r){var t=ht(r),n=Fr[t];if(!n||($(e)?n.gl===void 0:n.gl1===void 0))return!1;var i=n.x||$(e)&&n.gl2ext||n.gl1ext;return i?Boolean(e.getExtension(i)):!0}function Jo(e,r){var t=ht(r);if(!Dr(e,t))return!1;try{var n=Ar(t);if(n.signed)return!1}catch{return!1}return t.endsWith("32float")?Boolean(e.getExtension("OES_texture_float_linear")):t.endsWith("16float")?Boolean(e.getExtension("OES_texture_half_float_linear")):!0}function es(e,r){var t=ht(r);return!(!Dr(e,t)||typeof t=="number")}function tr(e,r){var t=ht(r),n=Fr[t],i=$(e)?n?.gl:n?.gl1;if(typeof t=="number")return i||t;if(i===void 0)throw new Error("Unsupported texture format ".concat(t));return i}function Br(e,r){var t=ht(r),n=tr(e,t),i=Ar(t);return{format:n,dataFormat:Fl(i.format,i.integer,i.normalized,n),type:kn(i.dataType),compressed:i.compressed}}function ts(e){var r=ht(e);if(typeof r=="number")throw new Error("unsupported depth stencil format");var t=Fr[r],n=t.attachment;if(!n)throw new Error("not a depth stencil format");return n}function rs(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e.RGBA,t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:o.RGBA,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:o.UNSIGNED_BYTE,i=null,a=null;try{i=e.createTexture(),e.bindTexture(o.TEXTURE_2D,i);var u=0,c=1,f=1,l=0,_=new Uint8Array([0,0,255,255]);e.texImage2D(e.TEXTURE_2D,u,r,c,f,l,t,n,_),a=e.createFramebuffer(),e.bindFramebuffer(o.FRAMEBUFFER,a),e.framebufferTexture2D(o.FRAMEBUFFER,o.COLOR_ATTACHMENT0,o.TEXTURE_2D,i,0);var E=e.checkFramebufferStatus(o.FRAMEBUFFER)===o.FRAMEBUFFER_COMPLETE;return e.bindTexture(o.TEXTURE_2D,null),E}finally{e.deleteTexture(i),e.deleteFramebuffer(a)}}var Pl=(ge={},s(ge,o.RED,1),s(ge,o.RED_INTEGER,1),s(ge,o.RG,2),s(ge,o.RG_INTEGER,2),s(ge,o.RGB,3),s(ge,o.RGB_INTEGER,3),s(ge,o.RGBA,4),s(ge,o.RGBA_INTEGER,4),s(ge,o.DEPTH_COMPONENT,1),s(ge,o.DEPTH_STENCIL,1),s(ge,o.ALPHA,1),s(ge,o.LUMINANCE,1),s(ge,o.LUMINANCE_ALPHA,2),ge),Ml=(We={},s(We,o.FLOAT,4),s(We,o.UNSIGNED_INT,4),s(We,o.INT,4),s(We,o.UNSIGNED_SHORT,2),s(We,o.SHORT,2),s(We,o.HALF_FLOAT,2),s(We,o.BYTE,1),s(We,o.UNSIGNED_BYTE,1),We);function jn(e,r){var t=ht(r),n=Br(e,t),i=Pl[n.dataFormat]||4,a=Ml[n.type]||1;return i*a}function Fl(e,r,t,n){if(n===o.RGBA||n===o.RGB)return n;switch(e){case"r":return r&&!t?o.RED_INTEGER:o.RED;case"rg":return r&&!t?o.RG_INTEGER:o.RG;case"rgb":return r&&!t?o.RGB_INTEGER:o.RGB;case"rgba":return r&&!t?o.RGBA_INTEGER:o.RGBA;default:return o.RGBA}}function kn(e){switch(e){case"uint8":return o.UNSIGNED_BYTE;case"sint8":return o.BYTE;case"uint16":return o.UNSIGNED_SHORT;case"sint16":return o.SHORT;case"uint32":return o.UNSIGNED_INT;case"sint32":return o.INT;case"float16":return o.HALF_FLOAT;case"float32":return o.FLOAT;default:return o.UNSIGNED_BYTE}}function Dl(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=Bl(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
249
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function Bl(e,r){if(e){if(typeof e=="string")return ns(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return ns(e,r)}}function ns(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function is(e){var r=xl(e),t=Dl(Qo(e)),n;try{for(t.s();!(n=t.n()).done;){var i=n.value;r.add(i)}}catch(a){t.e(a)}finally{t.f()}return r}function xl(e){e.getExtension("EXT_color_buffer_float"),e.getExtension("WEBGL_color_buffer_float"),e.getExtension("EXT_float_blend");for(var r=new Set,t=0,n=Object.keys(as);t<n.length;t++){var i=n[t];Ul(e,i)&&r.add(i)}return r}function Ul(e,r){var t=as[r];if(!t)return!1;var n=t||[],i=k(n,2),a=i[0],u=i[1],c=$(e)?u:a;if(typeof c=="boolean")return c;switch(r){case"texture-renderable-rgba32float-webgl":return $(e)?Boolean(e.getExtension(c)):rs(e);case"glsl-derivatives":return Yn(e,c);case"glsl-frag-data":return Yn(e,c,{behavior:"require"});case"glsl-frag-depth":return Yn(e,c);default:return Boolean(e.getExtension(c))}}var Kn={};function Yn(e,r){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!Zo(t))return!0;if(r in Kn)return Kn[r];var n=t.behavior||"enable",i="#extension GL_".concat(r," : ").concat(n,`
250
+ void main(void) {}`),a=e.createShader(e.VERTEX_SHADER);if(!a)throw new Error("shader");e.shaderSource(a,i),e.compileShader(a);var u=e.getShaderParameter(a,e.COMPILE_STATUS);return e.deleteShader(a),Kn[r]=u,u}var as={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 os(e){var r=Dn(e);return{maxTextureDimension1D:0,maxTextureDimension2D:e.getParameter(o.MAX_TEXTURE_SIZE),maxTextureDimension3D:r?r.getParameter(o.MAX_3D_TEXTURE_SIZE):0,maxTextureArrayLayers:r?r.getParameter(o.MAX_ARRAY_TEXTURE_LAYERS):0,maxBindGroups:1,maxDynamicUniformBuffersPerPipelineLayout:0,maxDynamicStorageBuffersPerPipelineLayout:0,maxSampledTexturesPerShaderStage:e.getParameter(o.MAX_VERTEX_TEXTURE_IMAGE_UNITS),maxSamplersPerShaderStage:e.getParameter(o.MAX_COMBINED_TEXTURE_IMAGE_UNITS),maxStorageBuffersPerShaderStage:0,maxStorageTexturesPerShaderStage:0,maxUniformBuffersPerShaderStage:r?r.getParameter(o.MAX_UNIFORM_BUFFER_BINDINGS):0,maxUniformBufferBindingSize:r?r.getParameter(o.MAX_UNIFORM_BLOCK_SIZE):0,maxStorageBufferBindingSize:0,minUniformBufferOffsetAlignment:r?r.getParameter(o.UNIFORM_BUFFER_OFFSET_ALIGNMENT):0,minStorageBufferOffsetAlignment:0,maxVertexBuffers:0,maxVertexAttributes:e.getParameter(o.MAX_VERTEX_ATTRIBS),maxVertexBufferArrayStride:2048,maxInterStageShaderComponents:r?r.getParameter(o.MAX_VARYING_COMPONENTS):0,maxComputeWorkgroupStorageSize:0,maxComputeInvocationsPerWorkgroup:0,maxComputeWorkgroupSizeX:0,maxComputeWorkgroupSizeY:0,maxComputeWorkgroupSizeZ:0,maxComputeWorkgroupsPerDimension:0}}function ss(e){var r,t=Dn(e);function n(a){return e.getParameter(a)}function i(a,u){return t?t.getParameter(a):u||0}return r={},s(r,o.ALIASED_LINE_WIDTH_RANGE,n(o.ALIASED_LINE_WIDTH_RANGE)),s(r,o.ALIASED_POINT_SIZE_RANGE,n(o.ALIASED_POINT_SIZE_RANGE)),s(r,o.MAX_TEXTURE_SIZE,n(o.MAX_TEXTURE_SIZE)),s(r,o.MAX_CUBE_MAP_TEXTURE_SIZE,n(o.MAX_CUBE_MAP_TEXTURE_SIZE)),s(r,o.MAX_TEXTURE_IMAGE_UNITS,n(o.MAX_TEXTURE_IMAGE_UNITS)),s(r,o.MAX_COMBINED_TEXTURE_IMAGE_UNITS,n(o.MAX_COMBINED_TEXTURE_IMAGE_UNITS)),s(r,o.MAX_VERTEX_TEXTURE_IMAGE_UNITS,n(o.MAX_VERTEX_TEXTURE_IMAGE_UNITS)),s(r,o.MAX_RENDERBUFFER_SIZE,n(o.MAX_RENDERBUFFER_SIZE)),s(r,o.MAX_VARYING_VECTORS,n(o.MAX_VARYING_VECTORS)),s(r,o.MAX_VERTEX_ATTRIBS,n(o.MAX_VERTEX_ATTRIBS)),s(r,o.MAX_VERTEX_UNIFORM_VECTORS,n(o.MAX_VERTEX_UNIFORM_VECTORS)),s(r,o.MAX_FRAGMENT_UNIFORM_VECTORS,n(o.MAX_FRAGMENT_UNIFORM_VECTORS)),s(r,o.MAX_VIEWPORT_DIMS,n(o.MAX_VIEWPORT_DIMS)),s(r,o.MAX_TEXTURE_MAX_ANISOTROPY_EXT,n(o.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),s(r,o.MAX_3D_TEXTURE_SIZE,i(o.MAX_3D_TEXTURE_SIZE)),s(r,o.MAX_ARRAY_TEXTURE_LAYERS,i(o.MAX_ARRAY_TEXTURE_LAYERS)),s(r,o.MAX_CLIENT_WAIT_TIMEOUT_WEBGL,i(o.MAX_CLIENT_WAIT_TIMEOUT_WEBGL)),s(r,o.MAX_COLOR_ATTACHMENTS,i(o.MAX_COLOR_ATTACHMENTS)),s(r,o.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,i(o.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS)),s(r,o.MAX_COMBINED_UNIFORM_BLOCKS,i(o.MAX_COMBINED_UNIFORM_BLOCKS)),s(r,o.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,i(o.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS)),s(r,o.MAX_DRAW_BUFFERS,i(o.MAX_DRAW_BUFFERS)),s(r,o.MAX_ELEMENT_INDEX,i(o.MAX_ELEMENT_INDEX)),s(r,o.MAX_ELEMENTS_INDICES,i(o.MAX_ELEMENTS_INDICES)),s(r,o.MAX_ELEMENTS_VERTICES,i(o.MAX_ELEMENTS_VERTICES)),s(r,o.MAX_FRAGMENT_INPUT_COMPONENTS,i(o.MAX_FRAGMENT_INPUT_COMPONENTS)),s(r,o.MAX_FRAGMENT_UNIFORM_BLOCKS,i(o.MAX_FRAGMENT_UNIFORM_BLOCKS)),s(r,o.MAX_FRAGMENT_UNIFORM_COMPONENTS,i(o.MAX_FRAGMENT_UNIFORM_COMPONENTS)),s(r,o.MAX_SAMPLES,i(o.MAX_SAMPLES)),s(r,o.MAX_SERVER_WAIT_TIMEOUT,i(o.MAX_SERVER_WAIT_TIMEOUT)),s(r,o.MAX_TEXTURE_LOD_BIAS,i(o.MAX_TEXTURE_LOD_BIAS)),s(r,o.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,i(o.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS)),s(r,o.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,i(o.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS)),s(r,o.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,i(o.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS)),s(r,o.MAX_UNIFORM_BLOCK_SIZE,i(o.MAX_UNIFORM_BLOCK_SIZE)),s(r,o.MAX_UNIFORM_BUFFER_BINDINGS,i(o.MAX_UNIFORM_BUFFER_BINDINGS)),s(r,o.MAX_VARYING_COMPONENTS,i(o.MAX_VARYING_COMPONENTS)),s(r,o.MAX_VERTEX_OUTPUT_COMPONENTS,i(o.MAX_VERTEX_OUTPUT_COMPONENTS)),s(r,o.MAX_VERTEX_UNIFORM_BLOCKS,i(o.MAX_VERTEX_UNIFORM_BLOCKS)),s(r,o.MAX_VERTEX_UNIFORM_COMPONENTS,i(o.MAX_VERTEX_UNIFORM_COMPONENTS)),s(r,o.MIN_PROGRAM_TEXEL_OFFSET,i(o.MIN_PROGRAM_TEXEL_OFFSET)),s(r,o.MAX_PROGRAM_TEXEL_OFFSET,i(o.MAX_PROGRAM_TEXEL_OFFSET)),s(r,o.UNIFORM_BUFFER_OFFSET_ALIGNMENT,i(o.UNIFORM_BUFFER_OFFSET_ALIGNMENT)),r}var Qn=Be(Me(),1);function rr(e,r,t){var n=ve.attach(e),i=n.gl;if(wl(r))return t(e);var a=r.nocatch,u=a===void 0?!0:a;pt(i),Ft(i,r);var c;if(u)c=t(i),rt(i);else try{c=t(i)}finally{rt(i)}return c}function wl(e){for(var r in e)return!1;return!0}function us(e,r,t){if(St(r))return t(e);pt(e.gl);try{return Ft(e,r),t(e)}finally{rt(e.gl)}}function fs(e,r,t){if(St(r))return t(e);pt(e.gl);try{return Ll(e,r),t(e)}finally{rt(e.gl)}}function Ll(e,r){var t=ve.attach(e),n=t.gl;if(r.cullMode)switch(r.cullMode){case"none":n.disable(o.CULL_FACE);break;case"front":n.enable(o.CULL_FACE),n.cullFace(o.FRONT);break;case"back":n.enable(o.CULL_FACE),n.cullFace(o.BACK);break}if(r.frontFace&&n.frontFace(zn("frontFace",r.frontFace,{ccw:o.CCW,cw:o.CW})),r.depthBias!==void 0&&n.polygonOffset(r.depthBias,r.depthBiasSlopeScale||0),r.depthWriteEnabled!==void 0&&n.depthMask(Hl("depthWriteEnabled",r.depthWriteEnabled)),r.depthCompare&&(r.depthCompare!=="always"?n.enable(o.DEPTH_TEST):n.disable(o.DEPTH_TEST),n.depthFunc(xr("depthCompare",r.depthCompare))),r.stencilWriteMask){var i=r.stencilWriteMask;n.stencilMaskSeparate(o.FRONT,i),n.stencilMaskSeparate(o.BACK,i)}if(r.stencilReadMask&&U.warn("stencilReadMask not supported under WebGL"),r.stencilCompare){var a=r.stencilReadMask||4294967295,u=xr("depthCompare",r.stencilCompare);r.stencilCompare!=="always"?n.enable(o.STENCIL_TEST):n.disable(o.STENCIL_TEST),n.stencilFuncSeparate(o.FRONT,u,0,a),n.stencilFuncSeparate(o.BACK,u,0,a)}if(r.stencilPassOperation&&r.stencilFailOperation&&r.stencilDepthFailOperation){var c=Gn("stencilPassOperation",r.stencilPassOperation),f=Gn("stencilFailOperation",r.stencilFailOperation),l=Gn("stencilDepthFailOperation",r.stencilDepthFailOperation);n.stencilOpSeparate(o.FRONT,f,l,c),n.stencilOpSeparate(o.BACK,f,l,c)}}function xr(e,r){return zn(e,r,{never:o.NEVER,less:o.LESS,equal:o.EQUAL,"less-equal":o.LEQUAL,greater:o.GREATER,"not-equal":o.NOTEQUAL,"greater-equal":o.GEQUAL,always:o.ALWAYS})}function Gn(e,r){return zn(e,r,{keep:o.KEEP,zero:o.ZERO,replace:o.REPLACE,invert:o.INVERT,"increment-clamp":o.INCR,"decrement-clamp":o.DECR,"increment-wrap":o.INCR_WRAP,"decrement-wrap":o.DECR_WRAP})}function Xl(e,r){return"Illegal parameter ".concat(r," for ").concat(e)}function zn(e,r,t){if(!(r in t))throw new Error(Xl(e,r));return t[r]}function Hl(e,r){return r}function cs(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Wl(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?cs(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):cs(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function Ur(e){var r={};return e.addressModeU&&(r[o.TEXTURE_WRAP_S]=$n(e.addressModeU)),e.addressModeV&&(r[o.TEXTURE_WRAP_T]=$n(e.addressModeV)),e.addressModeW&&(r[o.TEXTURE_WRAP_R]=$n(e.addressModeW)),e.magFilter&&(r[o.TEXTURE_MAG_FILTER]=ls(e.magFilter)),(e.minFilter||e.mipmapFilter)&&(r[o.TEXTURE_MIN_FILTER]=Vl(e.minFilter||"linear",e.mipmapFilter)),e.lodMinClamp!==void 0&&(r[o.TEXTURE_MIN_LOD]=e.lodMinClamp),e.lodMaxClamp!==void 0&&(r[o.TEXTURE_MAX_LOD]=e.lodMaxClamp),e.type==="comparison-sampler"&&(r[o.TEXTURE_COMPARE_MODE]=o.COMPARE_REF_TO_TEXTURE),e.compare&&(r[o.TEXTURE_COMPARE_FUNC]=xr("compare",e.compare)),e.maxAnisotropy&&(r[o.TEXTURE_MAX_ANISOTROPY_EXT]=e.maxAnisotropy),r}function $n(e){switch(e){case"clamp-to-edge":return o.CLAMP_TO_EDGE;case"repeat":return o.REPEAT;case"mirror-repeat":return o.MIRRORED_REPEAT}}function ls(e){switch(e){case"nearest":return o.NEAREST;case"linear":return o.LINEAR}}function Vl(e,r){if(!r)return ls(e);switch(e){case"nearest":return r==="nearest"?o.NEAREST_MIPMAP_NEAREST:o.NEAREST_MIPMAP_LINEAR;case"linear":return r==="nearest"?o.LINEAR_MIPMAP_NEAREST:o.LINEAR_MIPMAP_LINEAR}}function _s(e){var r=Wl({},e);return e[o.TEXTURE_MIN_FILTER]!==o.NEAREST&&(r[o.TEXTURE_MIN_FILTER]=o.LINEAR),r[o.TEXTURE_WRAP_S]=o.CLAMP_TO_EDGE,r[o.TEXTURE_WRAP_T]=o.CLAMP_TO_EDGE,r}var Zn=Be(Me(),1);function Es(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function ps(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Es(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Es(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function jl(e){var r=kl();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function kl(){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 Kl=10,je=function(e){L(t,e);var r=jl(t);function t(n){var i,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};b(this,t),i=r.call(this,n,a),s(T(i),"device",void 0),s(T(i),"gl",void 0),s(T(i),"gl2",void 0),s(T(i),"handle",void 0),s(T(i),"target",void 0),s(T(i),"byteLength",void 0),s(T(i),"bytesUsed",void 0),s(T(i),"debugData",null),s(T(i),"webglUsage",void 0),i.device=n,i.gl=i.device.gl,i.gl2=i.device.gl2;var u=Ee(a)==="object"?a.handle:void 0;return i.handle=u||i.gl.createBuffer(),n.setSpectorMetadata(i.handle,ps(ps({},i.props),{},{data:Ee(i.props.data)})),i.target=i.props.target||Yl(i.props.usage),i.webglUsage=i.props.webglUsage||Gl(i.props.usage),i.debugData=null,a.data?i._initWithData(a.data,a.byteOffset,a.byteLength):i._initWithByteLength(a.byteLength||0),i}return N(t,[{key:"_initWithData",value:function(i){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:i.byteLength+a;H(ArrayBuffer.isView(i));var c=this._getWriteTarget();return this.gl.bindBuffer(c,this.handle),this.gl.bufferData(c,u,this.webglUsage),this.gl.bufferSubData(c,a,i),this.gl.bindBuffer(c,null),this.debugData=i.slice(0,Kl),this.bytesUsed=u,this.byteLength=u,this.trackAllocatedMemory(u),this}},{key:"_initWithByteLength",value:function(i){H(i>=0);var a=i;i===0&&(a=new Float32Array(0));var u=this._getWriteTarget();return this.gl.bindBuffer(u,this.handle),this.gl.bufferData(u,a,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 a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,u=0,c=i.byteLength,f=this.device.isWebGL2?o.COPY_WRITE_BUFFER:this.target;this.gl.bindBuffer(f,this.handle),u!==0||c!==void 0?(this.device.assertWebGL2(),this.gl.bufferSubData(this.target,a,i,u,c)):this.gl.bufferSubData(f,a,i),this.gl.bindBuffer(f,null)}},{key:"readAsync",value:function(){var n=re(Zn.default.mark(function a(){var u,c,f,l,_=arguments;return Zn.default.wrap(function(p){for(;;)switch(p.prev=p.next){case 0:return u=_.length>0&&_[0]!==void 0?_[0]:0,c=_.length>1?_[1]:void 0,this.device.assertWebGL2(),f=new Uint8Array(c),l=0,this.gl.bindBuffer(o.COPY_READ_BUFFER,this.handle),this.gl2.getBufferSubData(o.COPY_READ_BUFFER,u,f,l,c),this.gl.bindBuffer(o.COPY_READ_BUFFER,null),p.abrupt("return",f);case 9:case"end":return p.stop()}},a,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}}]),t}(ue);function Yl(e){return e&ue.INDEX?o.ELEMENT_ARRAY_BUFFER:e&ue.VERTEX?o.ARRAY_BUFFER:e&ue.UNIFORM?o.UNIFORM_BUFFER:o.ARRAY_BUFFER}function Gl(e){return e&ue.INDEX?o.STATIC_DRAW:e&ue.VERTEX?o.STATIC_DRAW:e&ue.UNIFORM?o.DYNAMIC_DRAW:o.DYNAMIC_DRAW}function zl(e){var r=$l();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(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 nr=function(e){L(t,e);var r=zl(t);function t(n,i){var a;return b(this,t),a=r.call(this,n,i),s(T(a),"device",void 0),s(T(a),"handle",void 0),s(T(a),"parameters",void 0),a.device=n,a.parameters=Ur(i),a.device.isWebGL2&&(a.handle=a.handle||a.device.gl2.createSampler(),a._setSamplerParameters(a.parameters)),a}return N(t,[{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 a=0,u=Object.entries(i);a<u.length;a++){var c=k(u[a],2),f=c[0],l=c[1],_=Number(f);switch(_){case o.TEXTURE_MIN_LOD:case o.TEXTURE_MAX_LOD:this.device.gl2.samplerParameterf(this.handle,_,l);break;default:this.device.gl2.samplerParameteri(this.handle,_,l);break}}}}]),t}(un);function ql(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=Ql(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
251
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function Ql(e,r){if(e){if(typeof e=="string")return ds(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return ds(e,r)}}function ds(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function hs(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function qn(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?hs(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):hs(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function Jl(e){var r=e_();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function e_(){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 Ze=function(e){L(t,e);var r=Jl(t);function t(n,i){var a,u;return b(this,t),u=r.call(this,n,qn({format:o.RGBA},i)),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),"data",void 0),s(T(u),"width",void 0),s(T(u),"height",void 0),s(T(u),"depth",void 0),s(T(u),"format",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),"sampler",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,qn(qn({},u.props),{},{data:Ee(u.props.data)})),u.target=t_(u.props),u.loaded=!1,typeof((a=u.props)===null||a===void 0?void 0:a.data)=="string"&&Object.assign(u.props,{data:dn(u.props.data)}),u.initialize(u.props),Object.seal(T(u)),u}return N(t,[{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,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(this.props.dimension==="cube")return this.initializeCube(a);var u=a.data;if(u instanceof Promise)return u.then(function(g){return i.initialize(Object.assign({},a,{pixels:g,data:g}))}),this;var c=typeof HTMLVideoElement<"u"&&u instanceof HTMLVideoElement;if(c&&u.readyState<HTMLVideoElement.HAVE_METADATA)return this._video=null,u.addEventListener("loadeddata",function(){return i.initialize(a)}),this;var f=a.parameters,l=f===void 0?{}:f,_=a.pixels,E=_===void 0?null:_,p=a.recreate,d=p===void 0?!1:p,m=a.pixelStore,R=m===void 0?{}:m,O=a.textureUnit,S=O===void 0?void 0:O;u||(u=E);var I=a.width,y=a.height,w=a.dataFormat,B=a.type,j=a.compressed,D=j===void 0?!1:j,Z=a.mipmaps,K=Z===void 0?!0:Z,Q=a.depth,W=Q===void 0?0:Q,A=this._deduceParameters({format:a.format,type:B,dataFormat:w,compressed:D,data:u,width:I,height:y});I=A.width,y=A.height,D=A.compressed,w=A.dataFormat,B=A.type;var h=tr(this.gl,a.format);return this.width=I,this.height=y,this.depth=W,this.format=h,this.type=B,this.dataFormat=w,this.textureUnit=S,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(o.TEXTURE0+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),K&&this.device.isWebGL1&&wr(this.width,this.height)&&(U.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaps"))(),K=!1),this.mipmaps=K,this.setImageData({data:u,width:I,height:y,depth:W,format:h,type:B,dataFormat:w,parameters:R,compressed:D}),this.setSampler(a.sampler),this._setSamplerParameters(l),K&&this.generateMipmap(),d&&(this.data=u),c&&(this._video={video:u,parameters:l,lastTime:u.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?u.currentTime:-1}),this}},{key:"initializeCube",value:function(i){var a=this,u=i.mipmaps,c=u===void 0?!0:u,f=i.parameters,l=f===void 0?{}:f;return this.setCubeMapImageData(i).then(function(){a.loaded=!0,c&&a.generateMipmap(i),a.setSampler(i.sampler),a._setSamplerParameters(l)}),this}},{key:"setSampler",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a;i instanceof nr?(this.sampler=i,a=i.props):(this.sampler=new nr(this.device,i),a=i);var u=Ur(a);return this._setSamplerParameters(u),this}},{key:"resize",value:function(i){var a=i.height,u=i.width,c=i.mipmaps,f=c===void 0?!1:c;return u!==this.width||a!==this.height?this.initialize({width:u,height:a,format:this.format,type:this.type,dataFormat:this.dataFormat,mipmaps:f}):this}},{key:"update",value:function(){if(this._video){var i=this._video,a=i.video,u=i.parameters,c=i.lastTime;if(c===a.currentTime||a.readyState<HTMLVideoElement.HAVE_CURRENT_DATA)return;this.setSubImageData({data:a,parameters:u}),this.mipmaps&&this.generateMipmap(),this._video.lastTime=a.currentTime}}},{key:"generateMipmap",value:function(){var i=this,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.device.isWebGL1&&wr(this.width,this.height)?(U.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaping"))(),this):(this.mipmaps=!0,this.gl.bindTexture(this.target,this.handle),rr(this.gl,a,function(){i.gl.generateMipmap(i.target)}),this.gl.bindTexture(this.target,null),this)}},{key:"setImageData",value:function(i){var a=this;if(this.props.dimension==="3d")return this.setImageData3D(i);this.trackDeallocatedMemory("Texture");var u=i.target,c=u===void 0?this.target:u,f=i.pixels,l=f===void 0?null:f,_=i.level,E=_===void 0?0:_,p=i.format,d=p===void 0?this.format:p,m=i.offset,R=m===void 0?0:m,O=i.parameters,S=O===void 0?{}:O,I=i.data,y=I===void 0?null:I,w=i.type,B=w===void 0?this.type:w,j=i.width,D=j===void 0?this.width:j,Z=i.height,K=Z===void 0?this.height:Z,Q=i.dataFormat,W=Q===void 0?this.dataFormat:Q,A=i.compressed,h=A===void 0?!1:A;y||(y=l);var g=this._deduceParameters({format:this.props.format,type:B,dataFormat:W,compressed:h,data:y,width:D,height:K});B=g.type,W=g.dataFormat,h=g.compressed,D=g.width,K=g.height;var F=this.gl;F.bindTexture(this.target,this.handle);var x=null,M=this._getDataType({data:y,compressed:h});y=M.data,x=M.dataType;var Y;if(rr(this.gl,S,function(){switch(x){case"null":F.texImage2D(c,E,d,D,K,0,W,B,y);break;case"typed-array":F.texImage2D(c,E,d,D,K,0,W,B,y,R);break;case"buffer":Y=a.device.assertWebGL2(),Y.bindBuffer(o.PIXEL_UNPACK_BUFFER,y.handle||y),Y.texImage2D(c,E,d,D,K,0,W,B,R),Y.bindBuffer(o.PIXEL_UNPACK_BUFFER,null);break;case"browser-object":a.device.isWebGL2?F.texImage2D(c,E,d,D,K,0,W,B,y):F.texImage2D(c,E,d,W,B,y);break;case"compressed":var G=ql(y.entries()),ee;try{for(G.s();!(ee=G.n()).done;){var J=k(ee.value,2),fe=J[0],Ae=J[1];F.compressedTexImage2D(c,fe,Ae.format,Ae.width,Ae.height,0,Ae.data)}}catch(Oe){G.e(Oe)}finally{G.f()}break;default:H(!1,"Unknown image data type")}}),y&&y.byteLength)this.trackAllocatedMemory(y.byteLength,"Texture");else{var V=jn(this.gl,this.props.format);this.trackAllocatedMemory(this.width*this.height*V,"Texture")}return this.loaded=!0,this}},{key:"setSubImageData",value:function(i){var a=this,u=i.target,c=u===void 0?this.target:u,f=i.pixels,l=f===void 0?null:f,_=i.data,E=_===void 0?null:_,p=i.x,d=p===void 0?0:p,m=i.y,R=m===void 0?0:m,O=i.width,S=O===void 0?this.width:O,I=i.height,y=I===void 0?this.height:I,w=i.level,B=w===void 0?0:w,j=i.format,D=j===void 0?this.format:j,Z=i.type,K=Z===void 0?this.type:Z,Q=i.dataFormat,W=Q===void 0?this.dataFormat:Q,A=i.compressed,h=A===void 0?!1:A,g=i.offset,F=g===void 0?0:g,x=i.parameters,M=x===void 0?{}:x,Y=this._deduceParameters({format:this.props.format,type:K,dataFormat:W,compressed:h,data:E,width:S,height:y});if(K=Y.type,W=Y.dataFormat,h=Y.compressed,S=Y.width,y=Y.height,H(this.depth===1,"texSubImage not supported for 3D textures"),E||(E=l),E&&E.data){var V=E;E=V.data,S=V.shape[0],y=V.shape[1]}E instanceof je&&(E=E.handle),this.gl.bindTexture(this.target,this.handle),rr(this.gl,M,function(){if(h)a.gl.compressedTexSubImage2D(c,B,d,R,S,y,D,E);else if(E===null)a.gl.texSubImage2D(c,B,d,R,S,y,W,K,null);else if(ArrayBuffer.isView(E))a.gl.texSubImage2D(c,B,d,R,S,y,W,K,E,F);else if(typeof WebGLBuffer<"u"&&E instanceof WebGLBuffer){var G=a.device.assertWebGL2();G.bindBuffer(o.PIXEL_UNPACK_BUFFER,E),G.texSubImage2D(c,B,d,R,S,y,W,K,F),G.bindBuffer(o.PIXEL_UNPACK_BUFFER,null)}else if(a.device.isWebGL2){var ee=a.device.assertWebGL2();ee.texSubImage2D(c,B,d,R,S,y,W,K,E)}else a.gl.texSubImage2D(c,B,d,R,W,K,E)}),this.gl.bindTexture(this.target,null)}},{key:"copyFramebuffer",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return U.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}},{key:"getActiveUnit",value:function(){return this.gl.getParameter(o.ACTIVE_TEXTURE)-o.TEXTURE0}},{key:"bind",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.textureUnit,a=this.gl;return i!==void 0&&(this.textureUnit=i,a.activeTexture(a.TEXTURE0+i)),a.bindTexture(this.target,this.handle),i}},{key:"unbind",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.textureUnit,a=this.gl;return i!==void 0&&(this.textureUnit=i,a.activeTexture(a.TEXTURE0+i)),a.bindTexture(this.target,null),i}},{key:"_getDataType",value:function(i){var a=i.data,u=i.compressed,c=u===void 0?!1:u;return c?{data:a,dataType:"compressed"}:a===null?{data:a,dataType:"null"}:ArrayBuffer.isView(a)?{data:a,dataType:"typed-array"}:a instanceof je?{data:a.handle,dataType:"buffer"}:typeof WebGLBuffer<"u"&&a instanceof WebGLBuffer?{data:a,dataType:"buffer"}:{data:a,dataType:"browser-object"}}},{key:"_deduceParameters",value:function(i){var a=i.format,u=i.data,c=i.width,f=i.height,l=i.dataFormat,_=i.type,E=i.compressed,p=Br(this.gl,a);l=l||p.dataFormat,_=_||p.type,E=E||p.compressed;var d=this._deduceImageSize(u,c,f);return c=d.width,f=d.height,{dataFormat:l,type:_,compressed:E,width:c,height:f,format:a,data:u}}},{key:"_deduceImageSize",value:function(i,a,u){var c;return typeof ImageData<"u"&&i instanceof ImageData?c={width:i.width,height:i.height}:typeof HTMLImageElement<"u"&&i instanceof HTMLImageElement?c={width:i.naturalWidth,height:i.naturalHeight}:typeof HTMLCanvasElement<"u"&&i instanceof HTMLCanvasElement?c={width:i.width,height:i.height}:typeof ImageBitmap<"u"&&i instanceof ImageBitmap?c={width:i.width,height:i.height}:typeof HTMLVideoElement<"u"&&i instanceof HTMLVideoElement?c={width:i.videoWidth,height:i.videoHeight}:i?c={width:a,height:u}:c={width:a>=0?a:1,height:u>=0?u:1},H(c,"Could not deduced texture size"),H(a===void 0||c.width===a,"Deduced texture width does not match supplied width"),H(u===void 0||c.height===u,"Deduced texture height does not match supplied height"),c}},{key:"setCubeMapImageData",value:function(){var n=re(Qn.default.mark(function a(u){var c=this,f,l,_,E,p,d,m,R,O,S,I;return Qn.default.wrap(function(w){for(;;)switch(w.prev=w.next){case 0:return f=this.gl,l=u.width,_=u.height,E=u.pixels,p=u.data,d=u.format,m=d===void 0?o.RGBA:d,R=u.type,O=R===void 0?o.UNSIGNED_BYTE:R,S=E||p,w.next=5,Promise.all(t.FACES.map(function(B){var j=S[B];return Promise.all(Array.isArray(j)?j:[j])}));case 5:I=w.sent,this.bind(),t.FACES.forEach(function(B,j){I[j].length>1&&c.props.mipmaps!==!1&&U.warn("".concat(c.id," has mipmap and multiple LODs."))(),I[j].forEach(function(D,Z){l&&_?f.texImage2D(B,Z,m,l,_,0,m,O,D):f.texImage2D(B,Z,m,m,O,D)})}),this.unbind();case 9:case"end":return w.stop()}},a,this)}));function i(a){return n.apply(this,arguments)}return i}()},{key:"setImageDataForFace",value:function(i){var a=this,u=i.face,c=i.width,f=i.height,l=i.pixels,_=i.data,E=i.format,p=E===void 0?o.RGBA:E,d=i.type,m=d===void 0?o.UNSIGNED_BYTE:d,R=this.gl,O=l||_;return this.bind(),O instanceof Promise?O.then(function(S){return a.setImageDataForFace(Object.assign({},i,{face:u,data:S,pixels:S}))}):this.width||this.height?R.texImage2D(u,0,p,c,f,0,p,m,O):R.texImage2D(u,0,p,p,m,O),this}},{key:"setImageData3D",value:function(i){var a=this,u=i.level,c=u===void 0?0:u,f=i.dataFormat,l=i.format,_=i.type,E=i.width,p=i.height,d=i.depth,m=d===void 0?1:d,R=i.offset,O=R===void 0?0:R,S=i.data,I=i.parameters,y=I===void 0?{}:I;this.trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle);var w=Br(this.gl,l);if(rr(this.gl,y,function(){ArrayBuffer.isView(S)&&a.gl.texImage3D(a.target,c,w.format,E,p,m,0,w.dataFormat,w.type,S),S instanceof je&&(a.gl.bindBuffer(o.PIXEL_UNPACK_BUFFER,S.handle),a.gl.texImage3D(a.target,c,f,E,p,m,0,l,_,O))}),S&&S.byteLength)this.trackAllocatedMemory(S.byteLength,"Texture");else{var B=jn(this.gl,this.props.format);this.trackAllocatedMemory(this.width*this.height*this.depth*B,"Texture")}return this.loaded=!0,this}},{key:"_setSamplerParameters",value:function(i){if(this.device.isWebGL1&&wr(this.width,this.height)&&(i=_s(i)),!St(i)){r_(i),this.gl.bindTexture(this.target,this.handle);for(var a=0,u=Object.entries(i);a<u.length;a++){var c=k(u[a],2),f=c[0],l=c[1],_=Number(f),E=l;switch(_){case o.TEXTURE_MIN_LOD:case o.TEXTURE_MAX_LOD:this.gl.texParameterf(this.target,_,E);break;default:this.gl.texParameteri(this.target,_,E);break}}this.gl.bindTexture(this.target,null)}}},{key:"_getWebGL1NPOTParameterOverride",value:function(i,a){var u=this.device.isWebGL1&&wr(this.width,this.height);if(u)switch(i){case o.TEXTURE_MIN_FILTER:if(a!==o.LINEAR&&a!==o.NEAREST)return o.LINEAR;break;case o.TEXTURE_WRAP_S:case o.TEXTURE_WRAP_T:return o.CLAMP_TO_EDGE;default:break}return a}}]),t}(we);s(Ze,"FACES",[o.TEXTURE_CUBE_MAP_POSITIVE_X,o.TEXTURE_CUBE_MAP_NEGATIVE_X,o.TEXTURE_CUBE_MAP_POSITIVE_Y,o.TEXTURE_CUBE_MAP_NEGATIVE_Y,o.TEXTURE_CUBE_MAP_POSITIVE_Z,o.TEXTURE_CUBE_MAP_NEGATIVE_Z]);function t_(e){switch(e.dimension){case"2d":return o.TEXTURE_2D;case"cube":return o.TEXTURE_CUBE_MAP;case"2d-array":return o.TEXTURE_2D_ARRAY;case"3d":return o.TEXTURE_3D;case"1d":case"cube-array":default:throw new Error(e.dimension)}}function wr(e,r){return!e||!r?!1:!dr(e)||!dr(r)}function r_(e){U.log(1,"texture sampler parameters",e)()}function Lr(e,r){if(typeof r!="string")return r;var t=Number(r);if(!isNaN(t))return t;r=r.replace(/^.*\./,"");var n=e[r];return H(n!==void 0,"Accessing undefined constant GL.".concat(r)),n}function Jn(e,r){e=e.gl||e,r=Number(r);for(var t in e)if(e[t]===r)return"GL.".concat(t);return String(r)}function n_(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=i_(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
252
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function i_(e,r){if(e){if(typeof e=="string")return ms(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return ms(e,r)}}function ms(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function a_(e){var r=o_();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(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}}var xt="Resource subclass must define virtual methods",Xr=function(e){L(t,e);var r=a_(t);function t(n,i,a){var u;b(this,t),u=r.call(this,n,i,a),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=ve.attach(n);var c=u.device.gl;Io(c);var f=i||{},l=f.id;return u.gl=c,u.gl2=c,u.id=l||ne(u.constructor.name),u._handle=i?.handle,u._handle===void 0&&(u._handle=u._createHandle()),u.byteLength=0,u}return N(t,[{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]:{},a=i.deleteChildren,u=a===void 0?!1:a,c=this._handle&&this._deleteHandle(this._handle);return this._handle&&this.removeStats(),this._handle=null,c&&u&&c.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 a;return this._bound?a=i():(this._bindHandle(this.handle),this._bound=!0,a=i(),this._bound=!1,this._bindHandle(null)),a}},{key:"unbind",value:function(){this.bind(null)}},{key:"getParameter",value:function(i){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};i=Lr(this.gl,i),H(i);var u=this.constructor.PARAMETERS||{},c=u[i];if(c){var f=$(this.gl),l=(!("webgl2"in c)||f)&&(!("extension"in c)||this.gl.getExtension(c.extension));if(!l){var _=c.webgl1,E="webgl2"in c?c.webgl2:c.webgl1,p=f?E:_;return p}}return this._getParameter(i,a)}},{key:"getParameters",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=i.parameters,u=i.keys,c=this.constructor.PARAMETERS||{},f=$(this.gl),l={},_=a||Object.keys(c),E=n_(_),p;try{for(E.s();!(p=E.n()).done;){var d=p.value,m=c[d],R=m&&(!("webgl2"in m)||f)&&(!("extension"in m)||this.gl.getExtension(m.extension));if(R){var O=u?Jn(this.gl,d):d;l[O]=this.getParameter(d,i),u&&m.type==="GLenum"&&(l[O]=Jn(this.gl,l[O]))}}}catch(S){E.e(S)}finally{E.f()}return l}},{key:"setParameter",value:function(i,a){i=Lr(this.gl,i),H(i);var u=this.constructor.PARAMETERS||{},c=u[i];if(c){var f=$(this.gl),l=(!("webgl2"in c)||f)&&(!("extension"in c)||this.gl.getExtension(c.extension));if(!l)throw new Error("Parameter not available on this platform");c.type==="GLenum"&&(a=Lr(a))}return this._setParameter(i,a),this}},{key:"setParameters",value:function(i){for(var a in i)this.setParameter(a,i[a]);return this}},{key:"stubRemovedMethods",value:function(i,a,u){return _n(this,i,a,u)}},{key:"initialize",value:function(i){}},{key:"_createHandle",value:function(){throw new Error(xt)}},{key:"_deleteHandle",value:function(){throw new Error(xt)}},{key:"_bindHandle",value:function(i){throw new Error(xt)}},{key:"_getOptsFromHandle",value:function(){throw new Error(xt)}},{key:"_getParameter",value:function(i,a){throw new Error(xt)}},{key:"_setParameter",value:function(i,a){throw new Error(xt)}}]),t}(de);var z;function Rs(e,r){var t=Ts[r];return t?t.ext?Boolean(e.getExtension(t.ext)):t.gl2?$(e):!0:!1}function As(e){return Ts[e].bpp}var mt="EXT_color_buffer_float",Ts=(z={},s(z,o.DEPTH_COMPONENT16,{bpp:2}),s(z,o.DEPTH_COMPONENT24,{gl2:!0,bpp:3}),s(z,o.DEPTH_COMPONENT32F,{gl2:!0,bpp:4}),s(z,o.STENCIL_INDEX8,{bpp:1}),s(z,o.DEPTH_STENCIL,{bpp:4}),s(z,o.DEPTH24_STENCIL8,{gl2:!0,bpp:4}),s(z,o.DEPTH32F_STENCIL8,{gl2:!0,bpp:5}),s(z,o.RGBA4,{bpp:2}),s(z,o.RGB565,{bpp:2}),s(z,o.RGB5_A1,{bpp:2}),s(z,o.R8,{gl2:!0,bpp:1}),s(z,o.R8UI,{gl2:!0,bpp:1}),s(z,o.R8I,{gl2:!0,bpp:1}),s(z,o.R16UI,{gl2:!0,bpp:2}),s(z,o.R16I,{gl2:!0,bpp:2}),s(z,o.R32UI,{gl2:!0,bpp:4}),s(z,o.R32I,{gl2:!0,bpp:4}),s(z,o.RG8,{gl2:!0,bpp:2}),s(z,o.RG8UI,{gl2:!0,bpp:2}),s(z,o.RG8I,{gl2:!0,bpp:2}),s(z,o.RG16UI,{gl2:!0,bpp:4}),s(z,o.RG16I,{gl2:!0,bpp:4}),s(z,o.RG32UI,{gl2:!0,bpp:8}),s(z,o.RG32I,{gl2:!0,bpp:8}),s(z,o.RGB8,{gl2:!0,bpp:3}),s(z,o.RGBA8,{gl2:!0,bpp:4}),s(z,o.RGB10_A2,{gl2:!0,bpp:4}),s(z,o.RGBA8UI,{gl2:!0,bpp:4}),s(z,o.RGBA8I,{gl2:!0,bpp:4}),s(z,o.RGB10_A2UI,{gl2:!0,bpp:4}),s(z,o.RGBA16UI,{gl2:!0,bpp:8}),s(z,o.RGBA16I,{gl2:!0,bpp:8}),s(z,o.RGBA32I,{gl2:!0,bpp:16}),s(z,o.RGBA32UI,{gl2:!0,bpp:16}),s(z,o.R16F,{ext:mt,bpp:2}),s(z,o.RG16F,{ext:mt,bpp:4}),s(z,o.RGBA16F,{ext:mt,bpp:8}),s(z,o.R32F,{ext:mt,bpp:4}),s(z,o.RG32F,{ext:mt,bpp:8}),s(z,o.RGBA32F,{ext:mt,bpp:16}),s(z,o.R11F_G11F_B10F,{ext:mt,bpp:4}),z);function vs(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function gs(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?vs(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):vs(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function s_(e){var r=u_();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function u_(){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 f_={id:void 0,handle:void 0,userData:void 0,format:0,width:1,height:1,samples:0},Hr=function(e,r){L(n,e);var t=s_(n);function n(i,a){var u;return b(this,n),u=t.call(this,i,a,f_),u._initialize(u.props),u}return N(n,[{key:r,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(a){return(a.width!==this.width||a.height!==this.height)&&(Object.assign(this.props,gs(gs({},a),{},{format:this.format,samples:this.samples})),this._initialize(this.props)),this}},{key:"_initialize",value:function(a){var u=a.format,c=a.width,f=a.height,l=a.samples;return H(u,"Needs format"),this.trackDeallocatedMemory(),this.gl.bindRenderbuffer(o.RENDERBUFFER,this.handle),l!==0&&this.device.isWebGL2?this.gl.renderbufferStorageMultisample(o.RENDERBUFFER,l,u,c,f):this.gl.renderbufferStorage(o.RENDERBUFFER,u,c,f),this.gl.bindRenderbuffer(o.RENDERBUFFER,null),this.trackAllocatedMemory(c*f*(l||1)*As(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(a){this.gl.bindRenderbuffer(o.RENDERBUFFER,a)}}],[{key:"isSupported",value:function(a,u){return!(u!=null&&u.format)||Rs(a,u.format)}}]),n}(Xr,Symbol.toStringTag);function Ss(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=c_(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
253
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function c_(e,r){if(e){if(typeof e=="string")return Os(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Os(e,r)}}function Os(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function l_(e){var r=__();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function __(){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 Wr=function(e){L(t,e);var r=l_(t);function t(n,i){var a;b(this,t),a=r.call(this,n,i),s(T(a),"device",void 0),s(T(a),"gl",void 0),s(T(a),"handle",void 0),s(T(a),"colorAttachments",[]),s(T(a),"depthStencilAttachment",null),s(T(a),"_ownResources",[]),a.device=n,a.gl=n.gl,a.handle=a.props.handle!==void 0?a.props.handle:a.gl.createFramebuffer(),a.handle&&n.setSpectorMetadata(a.handle,{id:a.props.id,props:a.props}),a.colorAttachments=a._createColorAttachments(),a.depthStencilAttachment=a._createDepthStencilAttachment();for(var u=a.gl.bindFramebuffer(o.FRAMEBUFFER,a.handle),c=0;c<a.colorAttachments.length;++c){var f=a.colorAttachments[c],l=o.COLOR_ATTACHMENT0+c;f&&a._attachOne(l,f)}return a.props.depthStencilAttachment&&a._attachOne(ts(a.depthStencilAttachment.format),a.depthStencilAttachment),a.gl.bindFramebuffer(o.FRAMEBUFFER,u||null),i.check!==!1&&a._checkStatus(),a}return N(t,[{key:"texture",get:function(){return this.colorAttachments[0]}},{key:"destroy",value:function(){if(this.handle!==null){var i=Ss(this._ownResources),a;try{for(i.s();!(a=i.n()).done;){var u=a.value;u.destroy()}}catch(c){i.e(c)}finally{i.f()}this.gl.deleteFramebuffer(this.handle),this.destroyed=!0}}},{key:"_checkStatus",value:function(){var i=this.gl,a=i.bindFramebuffer(o.FRAMEBUFFER,this.handle),u=i.checkFramebufferStatus(o.FRAMEBUFFER);if(i.bindFramebuffer(o.FRAMEBUFFER,a||null),u!==i.FRAMEBUFFER_COMPLETE)throw new Error("Framebuffer ".concat(p_(u)))}},{key:"_createColorAttachments",value:function(){var i=this;return this.props.colorAttachments.map(function(a){if(a)return a instanceof Ze?a:i._createColorAttachment(a,i.width,i.height)})}},{key:"_createColorAttachment",value:function(i,a,u){var c=this.device._createTexture({id:"".concat(this.id,"-color"),data:null,format:i,width:a,height:u,mipmaps:!1,sampler:{minFilter:"linear",magFilter:"linear",addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge"}});return this._ownResources.push(c),c}},{key:"_createDepthStencilAttachment",value:function(){if(this.props.depthStencilAttachment){if(this.props.depthStencilAttachment instanceof Hr)return this.props.depthStencilAttachment;if(this.props.depthStencilAttachment instanceof we)return this.props.depthStencilAttachment;var i=this.props.depthStencilAttachment,a=tr(this.gl,i),u=new Hr(this.device,{id:"".concat(this.id,"-depth-stencil"),format:a,width:this.width,height:this.height});return this._ownResources.push(u),u}}},{key:"_resizeAttachments",value:function(i,a){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),a===void 0&&(a=this.gl.drawingBufferHeight),i!==this.width&&a!==this.height&&U.log(2,"Resizing framebuffer ".concat(this.id," to ").concat(i,"x").concat(a))();var c=Ss(this.colorAttachments),f;try{for(c.s();!(f=c.n()).done;){var l=f.value;l.resize({width:i,height:a})}}catch(_){c.e(_)}finally{c.f()}return(u=this.depthStencilAttachment)===null||u===void 0||u.resize({width:i,height:a}),this}},{key:"_attachOne",value:function(i,a){if(a instanceof Hr)return this._attachWEBGLRenderbuffer(i,a),a;if(Array.isArray(a)){var u=k(a,3),c=u[0],f=u[1],l=f===void 0?0:f,_=u[2],E=_===void 0?0:_;return this._attachTexture(i,c,l,E),c}else if(a instanceof Ze)return this._attachTexture(i,a,0,0),a;throw new Error("attach")}},{key:"_attachWEBGLRenderbuffer",value:function(i,a){this.gl.framebufferRenderbuffer(o.FRAMEBUFFER,i,o.RENDERBUFFER,a.handle)}},{key:"_attachTexture",value:function(i,a,u,c){var f=this.device,l=f.gl,_=f.gl2;switch(l.bindTexture(a.target,a.handle),a.target){case o.TEXTURE_2D_ARRAY:case o.TEXTURE_3D:this.device.assertWebGL2(),_?.framebufferTextureLayer(o.FRAMEBUFFER,i,a.target,c,u);break;case o.TEXTURE_CUBE_MAP:var E=E_(u);l.framebufferTexture2D(o.FRAMEBUFFER,i,E,a.handle,c);break;case o.TEXTURE_2D:l.framebufferTexture2D(o.FRAMEBUFFER,i,o.TEXTURE_2D,a.handle,c);break;default:H(!1,"Illegal texture type")}l.bindTexture(a.target,null)}}]),t}(fn);function E_(e){return e<o.TEXTURE_CUBE_MAP_POSITIVE_X?e+o.TEXTURE_CUBE_MAP_POSITIVE_X:e}function p_(e){switch(e){case o.FRAMEBUFFER_COMPLETE:return"success";case o.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:return"Mismatched attachments";case o.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:return"No attachments";case o.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:return"Height/width mismatch";case o.FRAMEBUFFER_UNSUPPORTED:return"Unsupported or split attachments";case o.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:return"Samples mismatch";default:return"".concat(e)}}function d_(e){var r=h_();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function h_(){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 ys=function(e){L(t,e);var r=d_(t);function t(n,i){var a;return b(this,t),a=r.call(this,i),s(T(a),"device",void 0),s(T(a),"presentationSize",void 0),s(T(a),"_framebuffer",null),a.device=n,a.presentationSize=[-1,-1],a._setAutoCreatedCanvasId("".concat(a.device.id,"-canvas")),a.update(),a}return N(t,[{key:"getCurrentFramebuffer",value:function(){return this.update(),this._framebuffer=this._framebuffer||new Wr(this.device,{handle:null}),this._framebuffer}},{key:"update",value:function(){var i=this.getPixelSize(),a=i[0]!==this.presentationSize[0]||i[1]!==this.presentationSize[1];a&&(this.presentationSize=i)}},{key:"resize",value:function(i){if(this.canvas){this.setDevicePixelRatio(devicePixelRatio,i);return}var a=this.device.gl.getExtension("STACKGL_resize_drawingbuffer");a&&i&&"width"in i&&"height"in i&&a.resize(i.width,i.height)}},{key:"commit",value:function(){}}]),t}(yt);var ei=Be(Me(),1);function bs(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Ns(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?bs(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):bs(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var m_={spector:U.get("spector")||U.get("inspect")},R_="https://spectorcdn.babylonjs.com/spector.bundle.js",A_=1,Ne=null,Cs=!1;function Is(e){return ti.apply(this,arguments)}function ti(){return ti=re(ei.default.mark(function e(r){return ei.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,Yt(R_);case 4:n.next=9;break;case 6:n.prev=6,n.t0=n.catch(1),U.warn(String(n.t0));case 9:case"end":return n.stop()}},e,null,[[1,6]])})),ti.apply(this,arguments)}function Ps(e){var r,t;if(e=Ns(Ns({},m_),e),!((r=e)!==null&&r!==void 0&&r.spector)||(!Ne&&globalThis.SPECTOR&&(U.probe(A_,"SPECTOR found and initialized")(),Ne=new globalThis.SPECTOR.Spector,globalThis.luma&&(globalThis.luma.spector=Ne)),!Ne))return null;if(!Cs){var n,i;Cs=!0,Ne.spyCanvases(),(n=Ne)===null||n===void 0||n.onCaptureStarted.add(function(c){return U.info("Spector capture started:",c)()}),(i=Ne)===null||i===void 0||i.onCapture.add(function(c){var f,l,_;U.info("Spector capture complete:",c)(),(f=Ne)===null||f===void 0||f.getResultUI(),(l=Ne)===null||l===void 0||l.resultView.display(),(_=Ne)===null||_===void 0||_.resultView.addCapture(c)})}if((t=e)!==null&&t!==void 0&&t.canvas){var a,u;if(typeof e.spector=="string"&&e.spector!==e.canvas.id)return Ne;(a=Ne)===null||a===void 0||a.startCapture((u=e)===null||u===void 0?void 0:u.canvas,500),new Promise(function(c){return setTimeout(c,2e3)}).then(function(c){var f;U.info("Spector capture stopped after 2 seconds")(),(f=Ne)===null||f===void 0||f.stopCapture()})}return Ne}var ni=Be(Me(),1);function T_(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=v_(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
254
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function v_(e,r){if(e){if(typeof e=="string")return Ms(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Ms(e,r)}}function Ms(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function Fs(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Ds(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Fs(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Fs(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var g_="https://unpkg.com/webgl-debug@2.0.1/index.js";function Bs(e){return e.luma=e.luma||{},e.luma}function xs(){return ii.apply(this,arguments)}function ii(){return ii=re(ni.default.mark(function e(){return ni.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(globalThis.WebGLDebugUtils){t.next=5;break}return globalThis.global=globalThis.global||globalThis,globalThis.global.module={},t.next=5,Yt(g_);case 5:case"end":return t.stop()}},e)})),ii.apply(this,arguments)}function Us(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return e?r.debug?O_(e,r):S_(e):null}function S_(e){var r=Bs(e);return r.realContext?r.realContext:e}function O_(e,r){if(!globalThis.WebGLDebugUtils)return U.warn("webgl-debug not loaded")(),e;var t=Bs(e);if(t.debugContext)return t.debugContext;globalThis.WebGLDebugUtils.init(Ds(Ds({},o),e));var n=globalThis.WebGLDebugUtils.makeDebugContext(e,y_.bind(null,r),b_.bind(null,r));for(var i in o)!(i in n)&&typeof o[i]=="number"&&(n[i]=o[i]);var a=N(function c(){b(this,c)});Object.setPrototypeOf(n,Object.getPrototypeOf(e)),Object.setPrototypeOf(a,n);var u=Object.create(a);return t.realContext=e,t.debugContext=u,u.debug=!0,u}function ri(e,r){r=Array.from(r).map(function(n){return n===void 0?"undefined":n});var t=globalThis.WebGLDebugUtils.glFunctionArgsToString(e,r);return t="".concat(t.slice(0,100)).concat(t.length>100?"...":""),"gl.".concat(e,"(").concat(t,")")}function y_(e,r,t,n){n=Array.from(n).map(function(f){return f===void 0?"undefined":f});var i=globalThis.WebGLDebugUtils.glEnumToString(r),a=globalThis.WebGLDebugUtils.glFunctionArgsToString(t,n),u=e.webgl2?"gl2":"gl1",c="".concat(i," in ").concat(u,".").concat(t,"(").concat(a,")");U.error(c)();debugger;if(e.throwOnError)throw new Error(c)}function b_(e,r,t){var n="";if(U.level>=1&&(n=ri(r,t),U.log(1,n)()),e.break&&e.break.length>0){n=n||ri(r,t);var i=e.break.every(function(f){return n.indexOf(f)!==-1});if(i)debugger}var a=T_(t),u;try{for(a.s();!(u=a.n()).done;){var c=u.value;if(c===void 0){if(n=n||ri(r,t),e.throwOnError)throw new Error("Undefined argument: ".concat(n));U.error("Undefined argument: ".concat(n))();debugger}}}catch(f){a.e(f)}finally{a.f()}}function ai(){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 Ut(e,r,t){return ai()?Ut=Reflect.construct.bind():Ut=function(i,a,u){var c=[null];c.push.apply(c,a);var f=Function.bind.apply(i,c),l=new f;return u&&ut(l,u.prototype),l},Ut.apply(null,arguments)}var N_="Failed to deduce GL constant from typed array";function Vr(e){var r=ArrayBuffer.isView(e)?e.constructor:e;switch(r){case Float32Array:return o.FLOAT;case Uint16Array:return o.UNSIGNED_SHORT;case Uint32Array:return o.UNSIGNED_INT;case Uint8Array:return o.UNSIGNED_BYTE;case Uint8ClampedArray:return o.UNSIGNED_BYTE;case Int8Array:return o.BYTE;case Int16Array:return o.SHORT;case Int32Array:return o.INT;default:throw new Error(N_)}}function wt(e,r){var t=r||{},n=t.clamped,i=n===void 0?!0:n;switch(e){case o.FLOAT:return Float32Array;case o.UNSIGNED_SHORT:case o.UNSIGNED_SHORT_5_6_5:case o.UNSIGNED_SHORT_4_4_4_4:case o.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;case o.UNSIGNED_INT:return Uint32Array;case o.UNSIGNED_BYTE:return i?Uint8ClampedArray:Uint8Array;case o.BYTE:return Int8Array;case o.SHORT:return Int16Array;case o.INT:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}var C_={offset:0,stride:0,type:o.FLOAT,size:1,divisor:0,normalized:!1,integer:!1},I_={deprecatedProps:{instanced:"divisor",isInstanced:"divisor"}},ke=function(){function e(){var r=this;b(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 t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];n.forEach(function(a){return r._assign(a)}),Object.freeze(this)}return N(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 t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return t=ct("Accessor",t,I_),t.type!==void 0&&(this.type=t.type,(t.type===o.INT||t.type===o.UNSIGNED_INT)&&(this.integer=!0)),t.size!==void 0&&(this.size=t.size),t.offset!==void 0&&(this.offset=t.offset),t.stride!==void 0&&(this.stride=t.stride),t.normalize!==void 0&&(this.normalized=t.normalize),t.normalized!==void 0&&(this.normalized=t.normalized),t.integer!==void 0&&(this.integer=t.integer),t.divisor!==void 0&&(this.divisor=t.divisor),t.buffer!==void 0&&(this.buffer=t.buffer),t.index!==void 0&&(typeof t.index=="boolean"?this.index=t.index?1:0:this.index=t.index),t.instanced!==void 0&&(this.divisor=t.instanced?1:0),t.isInstanced!==void 0&&(this.divisor=t.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(t){var n=wt(t.type||o.FLOAT);return n.BYTES_PER_ELEMENT}},{key:"getBytesPerVertex",value:function(t){H(t.size);var n=wt(t.type||o.FLOAT);return n.BYTES_PER_ELEMENT*t.size}},{key:"resolve",value:function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return Ut(e,[C_].concat(n))}}]),e}();function P_(e){var r=M_();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function M_(){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 ws(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function F_(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?ws(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ws(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var Ls=10,Xs={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"},Hs={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:Xs},D_={removedProps:Xs};function B_(e){if(ArrayBuffer.isView(e))return{data:e};if(typeof e=="number")return{byteLength:e};e=ct("Buffer",e,Hs);var r=F_({},e);return r.offset&&(r.byteOffset=r.offset),r}var Ws=function(e){L(t,e);var r=P_(t);function t(n){var i,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(b(this,t),i=r.call(this,ve.attach(n),B_(a)),s(T(i),"usage",void 0),s(T(i),"accessor",void 0),i.setAccessor(Object.assign({},a,a.accessor)),i.props.data){var u=Vr(i.props.data);H(u),i.setAccessor(new ke(i.accessor,{type:u}))}return Object.seal(T(i)),i}return N(t,[{key:"write",value:function(i,a){this.subData({data:i,offset:a})}},{key:"getElementCount",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.accessor;return Math.round(this.byteLength/ke.getBytesPerElement(i))}},{key:"getVertexCount",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.accessor;return Math.round(this.byteLength/ke.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=ct("Buffer",i,Hs),this.webglUsage=i.webglUsage||o.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=ct("Buffer",i,D_),"accessor"in i&&this.setAccessor(i.accessor),this}},{key:"setAccessor",value:function(i){return i=Object.assign({},i),delete i.buffer,this.accessor=new ke(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 a=i,u=a.data,c=a.offset,f=c===void 0?0:c,l=a.srcOffset,_=l===void 0?0:l,E=i.byteLength||i.length;H(u);var p=this.gl.webgl2?o.COPY_WRITE_BUFFER:this.target;return this.gl.bindBuffer(p,this.handle),_!==0||E!==void 0?(Cr(this.gl),this.gl.bufferSubData(this.target,f,u,_,E)):this.gl.bufferSubData(p,f,u),this.gl.bindBuffer(p,null),this.debugData=null,this._inferType(u),this}},{key:"copyData",value:function(i){var a=i.sourceBuffer,u=i.readOffset,c=u===void 0?0:u,f=i.writeOffset,l=f===void 0?0:f,_=i.size,E=this.gl,p=this.gl2;return Cr(E),E.bindBuffer(o.COPY_READ_BUFFER,a.handle),E.bindBuffer(o.COPY_WRITE_BUFFER,this.handle),p?.copyBufferSubData(o.COPY_READ_BUFFER,o.COPY_WRITE_BUFFER,c,l,_),E.bindBuffer(o.COPY_READ_BUFFER,null),E.bindBuffer(o.COPY_WRITE_BUFFER,null),this.debugData=null,this}},{key:"getData",value:function(i){var a,u=i||{},c=u.dstData,f=c===void 0?null:c,l=u.length,_=l===void 0?0:l,E=i||{},p=E.srcByteOffset,d=p===void 0?0:p,m=E.dstOffset,R=m===void 0?0:m;Cr(this.gl);var O=wt(this.accessor.type||o.FLOAT,{clamped:!1}),S=this._getAvailableElementCount(d),I=R,y,w;f?(w=f.length,y=w-I):(y=Math.min(S,_||S),w=I+y);var B=Math.min(S,y);return _=_||B,H(_<=B),f=f||new O(w),this.gl.bindBuffer(o.COPY_READ_BUFFER,this.handle),(a=this.gl2)===null||a===void 0||a.getBufferSubData(o.COPY_READ_BUFFER,d,f,R,_),this.gl.bindBuffer(o.COPY_READ_BUFFER,null),f}},{key:"bind",value:function(i){var a=i||{},u=a.target,c=u===void 0?this.target:u,f=a.index,l=f===void 0?this.accessor&&this.accessor.index:f,_=a.offset,E=_===void 0?0:_,p=a.size;if(c===o.UNIFORM_BUFFER||c===o.TRANSFORM_FEEDBACK_BUFFER)if(p!==void 0){var d;(d=this.gl2)===null||d===void 0||d.bindBufferRange(c,l,this.handle,E,p)}else{var m;H(E===0),(m=this.gl2)===null||m===void 0||m.bindBufferBase(c,l,this.handle)}else this.gl.bindBuffer(c,this.handle);return this}},{key:"unbind",value:function(i){var a=i||{},u=a.target,c=u===void 0?this.target:u,f=a.index,l=f===void 0?this.accessor&&this.accessor.index:f,_=c===o.UNIFORM_BUFFER||c===o.TRANSFORM_FEEDBACK_BUFFER;if(_){var E;(E=this.gl2)===null||E===void 0||E.bindBufferBase(c,l,null)}else this.gl.bindBuffer(c,null);return this}},{key:"getDebugData",value:function(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(Ls,this.byteLength)}),{data:this.debugData,changed:!0})}},{key:"invalidateDebugData",value:function(){this.debugData=null}},{key:"_setData",value:function(i){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:i.byteLength+a;H(ArrayBuffer.isView(i)),this.trackDeallocatedMemory();var c=this._getTarget();this.gl.bindBuffer(c,this.handle),this.gl.bufferData(c,u,this.webglUsage),this.gl.bufferSubData(c,a,i),this.gl.bindBuffer(c,null),this.debugData=i.slice(0,Ls),this.bytesUsed=u,this.byteLength=u,this.trackAllocatedMemory(u);var f=Vr(i);return H(f),this.setAccessor(new ke(this.accessor,{type:f})),this}},{key:"_setByteLength",value:function(i){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.webglUsage;H(i>=0),this.trackDeallocatedMemory();var u=i;i===0&&(u=new Float32Array(0));var c=this._getTarget();return this.gl.bindBuffer(c,this.handle),this.gl.bufferData(c,u,a),this.gl.bindBuffer(c,null),this.webglUsage=a,this.debugData=null,this.bytesUsed=i,this.byteLength=i,this.trackAllocatedMemory(i),this}},{key:"_getTarget",value:function(){return this.gl.webgl2?o.COPY_WRITE_BUFFER:this.target}},{key:"_getAvailableElementCount",value:function(i){var a=wt(this.accessor.type||o.FLOAT,{clamped:!1}),u=i/a.BYTES_PER_ELEMENT;return this.getElementCount()-u}},{key:"_inferType",value:function(i){this.accessor.type||this.setAccessor(new ke(this.accessor,{type:Vr(i)}))}},{key:"getParameter",value:function(i){this.gl.bindBuffer(this.target,this.handle);var a=this.gl.getBufferParameter(this.target,i);return this.gl.bindBuffer(this.target,null),a}},{key:"type",get:function(){return this.accessor.type}}]),t}(je);var fi=Be(Me(),1);function oi(e,r){return{name:x_(e,r),language:"glsl",version:U_(e)}}function x_(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"unnamed",t=/#define[\s*]SHADER_NAME[\s*]([A-Za-z0-9_-]+)[\s*]/,n=t.exec(e);return n?n[1]:r}function U_(e){var r=100,t=e.match(/[^\s]+/g);if(t&&t.length>=2&&t[0]==="#version"){var n=parseInt(t[1],10);Number.isFinite(n)&&(r=n)}return r}function si(e){return Xt(e)||Zt(e)||it(e)||Ht()}function w_(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=L_(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
255
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function L_(e,r){if(e){if(typeof e=="string")return Vs(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Vs(e,r)}}function Vs(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}var X_=["warning","error","info"];function ui(e){var r=e.split(/\r?\n/),t=[],n=w_(r),i;try{for(n.s();!(i=n.n()).done;){var a=i.value;if(!(a.length<=1)){var u=a.split(":"),c=si(u),f=c[0],l=c[1],_=c[2],E=c.slice(3),p=parseInt(_,10);isNaN(p)&&(p=0);var d=parseInt(l,10);isNaN(d)&&(d=0);var m=f.toLowerCase(),R=X_.includes(m)?m:"info";t.push({message:E.join(":").trim(),type:R,lineNum:p,linePos:d})}}}catch(O){n.e(O)}finally{n.f()}return t}function js(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function H_(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?js(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):js(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function W_(e){var r=V_();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function V_(){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 ks=function(e){L(t,e);var r=W_(t);function t(n,i){var a;switch(b(this,t),a=r.call(this,n,H_({id:j_(i)},i)),s(T(a),"device",void 0),s(T(a),"handle",void 0),a.device=n,a.props.stage){case"vertex":a.handle=a.props.handle||a.device.gl.createShader(o.VERTEX_SHADER);break;case"fragment":a.handle=a.props.handle||a.device.gl.createShader(o.FRAGMENT_SHADER);break;default:throw new Error(a.props.stage)}return a._compile(a.source),a}return N(t,[{key:"destroy",value:function(){this.handle&&(this.removeStats(),this.device.gl.deleteShader(this.handle),this.destroyed=!0)}},{key:"compilationInfo",value:function(){var n=re(fi.default.mark(function a(){var u;return fi.default.wrap(function(f){for(;;)switch(f.prev=f.next){case 0:return u=this.device.gl.getShaderInfoLog(this.handle),f.abrupt("return",u?ui(u):[]);case 2:case"end":return f.stop()}},a,this)}));function i(){return n.apply(this,arguments)}return i}()},{key:"_compile",value:function(i){var a=function(R){return R.startsWith("#version ")?R:`#version 100
256
+ `.concat(R)};i=a(i);var u=this.device.gl;u.shaderSource(this.handle,i),u.compileShader(this.handle);var c=u.getShaderParameter(this.handle,o.COMPILE_STATUS);if(!c){var f=u.getShaderInfoLog(this.handle),l=f?ui(f):[],_=l.filter(function(m){return m.type==="error"}),E=hn(_,i),p=oi(i).name,d="".concat(this.stage," shader ").concat(p);throw U.error("GLSL compilation errors in ".concat(d,`
257
+ `).concat(E))(),new Error("GLSL compilation errors in ".concat(p))}}}]),t}(sn);function j_(e){return oi(e.source).name||e.id||ne("unnamed ".concat(e.stage,"-shader"))}function k_(e){var r=K_();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function K_(){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 Ks=function(e){L(t,e);var r=k_(t);function t(n,i){var a;return b(this,t),a=r.call(this,n,i),s(T(a),"device",void 0),a.device=n,a}return N(t,[{key:"end",value:function(){}},{key:"pushDebugGroup",value:function(i){}},{key:"popDebugGroup",value:function(){}},{key:"insertDebugMarker",value:function(i){}}]),t}(cn);var ie;function Ys(e){return Y_.includes(e)}var Y_=[o.SAMPLER_2D,o.SAMPLER_CUBE,o.SAMPLER_3D,o.SAMPLER_2D_SHADOW,o.SAMPLER_2D_ARRAY,o.SAMPLER_2D_ARRAY_SHADOW,o.SAMPLER_CUBE_SHADOW,o.INT_SAMPLER_2D,o.INT_SAMPLER_3D,o.INT_SAMPLER_CUBE,o.INT_SAMPLER_2D_ARRAY,o.UNSIGNED_INT_SAMPLER_2D,o.UNSIGNED_INT_SAMPLER_3D,o.UNSIGNED_INT_SAMPLER_CUBE,o.UNSIGNED_INT_SAMPLER_2D_ARRAY],Gs=(ie={},s(ie,o.FLOAT,[o.FLOAT,1,"float","f32","float32"]),s(ie,o.FLOAT_VEC2,[o.FLOAT,2,"vec2","vec2<f32>","float32x2"]),s(ie,o.FLOAT_VEC3,[o.FLOAT,3,"vec3","vec3<f32>","float32x3"]),s(ie,o.FLOAT_VEC4,[o.FLOAT,4,"vec4","vec4<f32>","float32x4"]),s(ie,o.INT,[o.INT,1,"int","i32","sint32"]),s(ie,o.INT_VEC2,[o.INT,2,"ivec2","vec2<i32>","sint32x2"]),s(ie,o.INT_VEC3,[o.INT,3,"ivec3","vec3<i32>","sint32x3"]),s(ie,o.INT_VEC4,[o.INT,4,"ivec4","vec4<i32>","sint32x4"]),s(ie,o.UNSIGNED_INT,[o.UNSIGNED_INT,1,"uint","u32","uint32"]),s(ie,o.UNSIGNED_INT_VEC2,[o.UNSIGNED_INT,2,"uvec2","vec2<u32>","uint32x2"]),s(ie,o.UNSIGNED_INT_VEC3,[o.UNSIGNED_INT,3,"uvec3","vec3<u32>","uint32x3"]),s(ie,o.UNSIGNED_INT_VEC4,[o.UNSIGNED_INT,4,"uvec4","vec4<u32>","uint32x4"]),s(ie,o.BOOL,[o.FLOAT,1,"bool","f32","float32x2"]),s(ie,o.BOOL_VEC2,[o.FLOAT,2,"bvec2","vec2<f32>"]),s(ie,o.BOOL_VEC3,[o.FLOAT,3,"bvec3","vec3<f32>"]),s(ie,o.BOOL_VEC4,[o.FLOAT,4,"bvec4","vec4<f32>"]),s(ie,o.FLOAT_MAT2,[o.FLOAT,8,"mat2","mat2x2<f32>"]),s(ie,o.FLOAT_MAT2x3,[o.FLOAT,8,"mat2x3","mat2x3<f32>"]),s(ie,o.FLOAT_MAT2x4,[o.FLOAT,8,"mat2x4","mat2x4<f32>"]),s(ie,o.FLOAT_MAT3x2,[o.FLOAT,12,"mat3x2","mat3x2<f32>"]),s(ie,o.FLOAT_MAT3,[o.FLOAT,12,"mat3","mat3x3<f32>"]),s(ie,o.FLOAT_MAT3x4,[o.FLOAT,12,"mat3x4","mat3x4<f32>"]),s(ie,o.FLOAT_MAT4x2,[o.FLOAT,16,"mat4x2","mat4x2<f32>"]),s(ie,o.FLOAT_MAT4x3,[o.FLOAT,16,"mat4x3","mat4x3<f32>"]),s(ie,o.FLOAT_MAT4,[o.FLOAT,16,"mat4","mat4x4<f32>"]),ie);function ci(e){var r=Gs[e];if(!r)throw new Error("uniform");var t=k(r,4),n=t[0],i=t[1],a=t[3];return{format:a,components:i,glType:n}}function zs(e){var r=Gs[e];if(!r)throw new Error("attribute");var t=k(r,5),n=t[0],i=t[1],a=t[4];return{format:a,components:i,glType:n}}function $s(e,r){var t=G_(e);switch(r){case 1:return t;case 2:return"".concat(t,"x2");case 3:return"".concat(t,"x3");case 4:return"".concat(t,"x4");default:throw new Error(String(r))}}function G_(e){switch(e){case o.INT:return"sint32";case o.UNSIGNED_INT:return"uint32";case o.FLOAT:return"float32";default:throw new Error(String(e))}}var he;function Zs(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function qs(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Zs(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Zs(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function li(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=z_(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
258
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function z_(e,r){if(e){if(typeof e=="string")return Qs(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Qs(e,r)}}function Qs(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function Js(e,r){var t,n,i=$_(e,r),a={attributes:[],bindings:[]},u=li(i.attributes),c;try{for(u.s();!(c=u.n()).done;){var f=c.value,l=Math.min(f.accessor.size,4),_=$s(f.accessor.type||o.FLOAT,l);a.attributes.push({name:f.name,location:f.location,format:_,stepMode:f.accessor.divisor===1?"instance":"vertex"})}}catch(D){u.e(D)}finally{u.f()}var E=li(i.uniformBlocks),p;try{for(E.s();!(p=E.n()).done;){var d=p.value,m=d.uniforms.map(function(D){return{name:D.name,format:D.format,byteOffset:D.byteOffset,byteStride:D.byteStride,arrayLength:D.arrayLength}});a.bindings.push({type:"uniform",name:d.name,location:d.location,visibility:(d.vertex?1:0)&(d.fragment?2:0),minBindingSize:d.byteLength,uniforms:m})}}catch(D){E.e(D)}finally{E.f()}var R=0,O=li(i.uniforms),S;try{for(O.s();!(S=O.n()).done;){var I=S.value;if(Ys(I.type)){var y=tE(I.type),w=y.viewDimension,B=y.sampleType;a.bindings.push({type:"texture",name:I.name,location:R,viewDimension:w,sampleType:B}),I.textureUnit=R,R+=1}}}catch(D){O.e(D)}finally{O.f()}var j=((t=i.uniforms)===null||t===void 0?void 0:t.filter(function(D){return D.location!==null}))||[];return j.length&&(a.uniforms=j),(n=i.varyings)!==null&&n!==void 0&&n.length&&(a.varyings=i.varyings),a}function $_(e,r){var t={attributes:Z_(e,r),uniforms:Q_(e,r),uniformBlocks:J_(e,r),varyings:q_(e,r)};return Object.seal(t),t}function Z_(e,r){for(var t=[],n=e.getProgramParameter(r,e.ACTIVE_ATTRIBUTES),i=0;i<n;i++){var a=e.getActiveAttrib(r,i);if(!a)throw new Error("activeInfo");var u=a.name,c=a.type,f=a.size,l=e.getAttribLocation(r,u);if(l>=0){var _=zs(c),E=_.glType,p=_.components,d={type:E,size:f*p};/instance/i.test(u)&&(d.divisor=1);var m={location:l,name:u,accessor:new ke(d)};t.push(m)}}return t.sort(function(R,O){return R.location-O.location}),t}function q_(e,r){if(!$(e))return[];for(var t=e,n=[],i=e.getProgramParameter(r,o.TRANSFORM_FEEDBACK_VARYINGS),a=0;a<i;a++){var u=t.getTransformFeedbackVarying(r,a);if(!u)throw new Error("activeInfo");var c=u.name,f=u.type,l=u.size,_=ci(f),E=_.glType,p=_.components,d=new ke({type:E,size:l*p}),m={location:a,name:c,accessor:d};n.push(m)}return n.sort(function(R,O){return R.location-O.location}),n}function Q_(e,r){for(var t=[],n=e.getProgramParameter(r,o.ACTIVE_UNIFORMS),i=0;i<n;i++){var a=e.getActiveUniform(r,i);if(!a)throw new Error("activeInfo");var u=a.name,c=a.size,f=a.type,l=rE(u),_=l.name,E=l.isArray,p=e.getUniformLocation(r,_),d={location:p,name:_,size:c,type:f,isArray:E};if(t.push(d),d.size>1)for(var m=0;m<d.size;m++){var R="".concat(_,"[").concat(m,"]");p=e.getUniformLocation(r,R);var O=qs(qs({},d),{},{name:R,location:p});t.push(O)}}return t}function J_(e,r){if(!$(e))return[];for(var t=e,n=function(O,S){return t.getActiveUniformBlockParameter(r,O,S)},i=[],a=t.getProgramParameter(r,o.ACTIVE_UNIFORM_BLOCKS),u=0;u<a;u++){for(var c={name:t.getActiveUniformBlockName(r,u)||"",location:n(u,o.UNIFORM_BLOCK_BINDING),byteLength:n(u,o.UNIFORM_BLOCK_DATA_SIZE),vertex:n(u,o.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER),fragment:n(u,o.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER),uniformCount:n(u,o.UNIFORM_BLOCK_ACTIVE_UNIFORMS),uniforms:[]},f=n(u,o.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES)||[],l=t.getActiveUniforms(r,f,o.UNIFORM_TYPE),_=t.getActiveUniforms(r,f,o.UNIFORM_SIZE),E=t.getActiveUniforms(r,f,o.UNIFORM_OFFSET),p=t.getActiveUniforms(r,f,o.UNIFORM_ARRAY_STRIDE),d=0;d<c.uniformCount;++d){var m=t.getActiveUniform(r,f[d]);if(!m)throw new Error("activeInfo");c.uniforms.push({name:m.name,format:ci(l[d]).format,type:l[d],arrayLength:_[d],byteOffset:E[d],byteStride:p[d]})}i.push(c)}return i.sort(function(R,O){return R.location-O.location}),i}var eE=(he={},s(he,o.SAMPLER_2D,["2d","float"]),s(he,o.SAMPLER_CUBE,["cube","float"]),s(he,o.SAMPLER_3D,["3d","float"]),s(he,o.SAMPLER_2D_SHADOW,["3d","depth"]),s(he,o.SAMPLER_2D_ARRAY,["2d-array","float"]),s(he,o.SAMPLER_2D_ARRAY_SHADOW,["2d-array","depth"]),s(he,o.SAMPLER_CUBE_SHADOW,["cube","float"]),s(he,o.INT_SAMPLER_2D,["2d","sint"]),s(he,o.INT_SAMPLER_3D,["3d","sint"]),s(he,o.INT_SAMPLER_CUBE,["cube","sint"]),s(he,o.INT_SAMPLER_2D_ARRAY,["2d-array","uint"]),s(he,o.UNSIGNED_INT_SAMPLER_2D,["2d","uint"]),s(he,o.UNSIGNED_INT_SAMPLER_3D,["3d","uint"]),s(he,o.UNSIGNED_INT_SAMPLER_CUBE,["cube","uint"]),s(he,o.UNSIGNED_INT_SAMPLER_2D_ARRAY,["2d-array","uint"]),he);function tE(e){var r=eE[e];if(!r)throw new Error("sampler");var t=k(r,2),n=t[0],i=t[1];return{viewDimension:n,sampleType:i}}function rE(e){if(e[e.length-1]!=="]")return{name:e,length:1,isArray:!1};var r=/([^[]*)(\[[0-9]+\])?/,t=r.exec(e);if(!t||t.length<2)throw new Error("Failed to parse GLSL uniform name ".concat(e));return{name:t[1],length:t[2]?1:0,isArray:Boolean(t[2])}}function eu(e,r,t,n){var i=e;if(typeof n=="number")switch(t){case o.SAMPLER_2D:case o.SAMPLER_CUBE:case o.SAMPLER_3D:case o.SAMPLER_2D_SHADOW:case o.SAMPLER_2D_ARRAY:case o.SAMPLER_2D_ARRAY_SHADOW:case o.SAMPLER_CUBE_SHADOW:case o.INT_SAMPLER_2D:case o.INT_SAMPLER_3D:case o.INT_SAMPLER_CUBE:case o.INT_SAMPLER_2D_ARRAY:case o.UNSIGNED_INT_SAMPLER_2D:case o.UNSIGNED_INT_SAMPLER_3D:case o.UNSIGNED_INT_SAMPLER_CUBE:case o.UNSIGNED_INT_SAMPLER_2D_ARRAY:return e.uniform1i(r,n)}n===!0&&(n=1),n===!1&&(n=1);var a=typeof n=="number"?[n]:n;switch(t){case o.FLOAT:return e.uniform1fv(r,a);case o.FLOAT_VEC2:return e.uniform2fv(r,a);case o.FLOAT_VEC3:return e.uniform3fv(r,a);case o.FLOAT_VEC4:return e.uniform4fv(r,a);case o.INT:return e.uniform1iv(r,a);case o.INT_VEC2:return e.uniform2iv(r,a);case o.INT_VEC3:return e.uniform3iv(r,a);case o.INT_VEC4:return e.uniform4iv(r,a);case o.BOOL:return e.uniform1iv(r,a);case o.BOOL_VEC2:return e.uniform2iv(r,a);case o.BOOL_VEC3:return e.uniform3iv(r,a);case o.BOOL_VEC4:return e.uniform4iv(r,a);case o.UNSIGNED_INT:return i.uniform1uiv(r,a,1);case o.UNSIGNED_INT_VEC2:return i.uniform2uiv(r,a,2);case o.UNSIGNED_INT_VEC3:return i.uniform3uiv(r,a,3);case o.UNSIGNED_INT_VEC4:return i.uniform4uiv(r,a,4);case o.FLOAT_MAT2:return e.uniformMatrix2fv(r,!1,a);case o.FLOAT_MAT3:return e.uniformMatrix3fv(r,!1,a);case o.FLOAT_MAT4:return e.uniformMatrix4fv(r,!1,a);case o.FLOAT_MAT2x3:return i.uniformMatrix2x3fv(r,!1,a);case o.FLOAT_MAT2x4:return i.uniformMatrix2x4fv(r,!1,a);case o.FLOAT_MAT3x2:return i.uniformMatrix3x2fv(r,!1,a);case o.FLOAT_MAT3x4:return i.uniformMatrix3x4fv(r,!1,a);case o.FLOAT_MAT4x2:return i.uniformMatrix4x2fv(r,!1,a);case o.FLOAT_MAT4x3:return i.uniformMatrix4x3fv(r,!1,a)}throw new Error("Illegal uniform")}function nE(e){var r=iE();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function iE(){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 aE="elements must be GL.ELEMENT_ARRAY_BUFFER",tu=function(e,r){L(n,e);var t=nE(n);function n(i,a){return b(this,n),t.call(this,i,a,{})}return N(n,[{key:r,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(a){this.gl2.bindVertexArray(a)}},{key:"setElementBuffer",value:function(){var a=this,u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return H(!u||u.target===o.ELEMENT_ARRAY_BUFFER,aE),this.bind(function(){a.gl.bindBuffer(o.ELEMENT_ARRAY_BUFFER,u?u.handle:null)}),this}},{key:"setBuffer",value:function(a,u,c){var f=this;if(u.target===o.ELEMENT_ARRAY_BUFFER)return this.setElementBuffer(u,c);var l=c.size,_=c.type,E=c.stride,p=c.offset,d=c.normalized,m=c.integer,R=c.divisor,O=this.gl,S=this.gl2;return a=Number(a),this.bind(function(){O.bindBuffer(O.ARRAY_BUFFER,u.handle),m?(f.device.assertWebGL2(),S.vertexAttribIPointer(a,l,_,E,p)):O.vertexAttribPointer(a,l,_,d,E,p),O.enableVertexAttribArray(a),S.vertexAttribDivisor(a,R||0)}),this}},{key:"enable",value:function(a){var u=this,c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,f=this.device.isWebGL2||lr()==="Chrome",l=f||a!==0;return(c||l)&&(a=Number(a),this.bind(function(){return c?u.gl.enableVertexAttribArray(a):u.gl.disableVertexAttribArray(a)})),this}}]),n}(Xr,Symbol.toStringTag);function ru(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=oE(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
259
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,c;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,c=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw c}}}}function oE(e,r){if(e){if(typeof e=="string")return nu(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return nu(e,r)}}function nu(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function sE(e){var r=uE();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function uE(){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 iu=4,au=function(e){L(t,e);var r=sE(t);function t(n,i){var a;b(this,t),a=r.call(this,n,i),s(T(a),"device",void 0),s(T(a),"handle",void 0),s(T(a),"vs",void 0),s(T(a),"fs",void 0),s(T(a),"layout",void 0),s(T(a),"varyings",null),s(T(a),"vertexArrayObject",void 0),s(T(a),"_indexBuffer",void 0),s(T(a),"uniforms",{}),s(T(a),"bindings",{}),s(T(a),"_textureUniforms",{}),s(T(a),"_textureIndexCounter",0),s(T(a),"_uniformCount",0),s(T(a),"_uniformSetters",{}),a.device=n,a.handle=a.props.handle||a.device.gl.createProgram(),a.device.setSpectorMetadata(a.handle,{id:a.props.id}),a.vs=i.vs,a.fs=i.fs;var u=i.varyings,c=i.bufferMode,f=c===void 0?o.SEPARATE_ATTRIBS:c;if(u&&u.length>0){var l;a.device.assertWebGL2(),a.varyings=u,(l=a.device.gl2)===null||l===void 0||l.transformFeedbackVaryings(a.handle,u,f)}return a._compileAndLink(),a.layout=i.layout||Js(a.device.gl,a.handle),a.vertexArrayObject=new tu(a.device),a}return N(t,[{key:"destroy",value:function(){this.handle&&(this.device.gl.deleteProgram(this.handle),this.destroyed=!0)}},{key:"setIndexBuffer",value:function(i){var a=i;this.vertexArrayObject.setElementBuffer(a),this._indexBuffer=i}},{key:"setAttributes",value:function(i){for(var a=0,u=Object.entries(i);a<u.length;a++){var c=k(u[a],2),f=c[0],l=c[1],_=l,E=lE(this.layout,f);if(!E){U.warn('Ignoring buffer supplied for unknown attribute "'.concat(f,'" in pipeline "').concat(this.id,'" (buffer "').concat(l.id,'")'))();continue}var p=ln(E.format),d=p.type,m=p.components,R=p.byteLength,O=p.normalized,S=p.integer,I=E.stepMode==="instance"?1:0,y=kn(d);this.vertexArrayObject.setBuffer(E.location,_,{size:m,type:y,stride:R,offset:0,normalized:O,integer:S,divisor:I})}}},{key:"setBindings",value:function(i){for(var a=this,u=function(){var E=k(f[c],2),p=E[0],d=E[1],m=a.layout.bindings.find(function(R){return R.name===p});if(!m)return U.warn("Unknown binding ".concat(p," in render pipeline ").concat(a.id))(),"continue";switch(d||U.warn("Unsetting binding ".concat(p," in render pipeline ").concat(a.id))(),m.type){case"uniform":if(!(d instanceof je)&&!(d.buffer instanceof je))throw new Error("buffer value");break;case"texture":if(!(d instanceof Ze))throw new Error("texture value");break;case"sampler":U.warn("Ignoring sampler ".concat(p))();break;default:throw new Error(m.type)}a.bindings[p]=d},c=0,f=Object.entries(i);c<f.length;c++)var l=u()}},{key:"setUniforms",value:function(i){Object.assign(this.uniforms,i)}},{key:"draw",value:function(i){var a,u=this,c=i.renderPass,f=c===void 0?this.device.getDefaultRenderPass():c,l=i.vertexCount,_=i.instanceCount,E=i.firstVertex,p=E===void 0?0:E,d=fE(this.props.topology),m=Boolean(this._indexBuffer),R=((a=this._indexBuffer)===null||a===void 0?void 0:a.props.indexType)==="uint16"?o.UNSIGNED_SHORT:o.UNSIGNED_INT,O=Number(i.instanceCount)>0;return!this._areTexturesRenderable()||i.vertexCount===0?!1:(this.device.gl.useProgram(this.handle),this.vertexArrayObject.bind(function(){var S=cE(u.props.topology),I=null;I&&I.begin(S),u._applyBindings(),u._applyUniforms(),fs(u.device,u.props.parameters,function(){us(u.device,{framebuffer:f.props.framebuffer},function(){if(m&&O){var y;(y=u.device.gl2)===null||y===void 0||y.drawElementsInstanced(d,l||0,R,p,_||0)}else if(m)u.device.gl.drawElements(d,l||0,R,p);else if(O){var w;(w=u.device.gl2)===null||w===void 0||w.drawArraysInstanced(d,p,l||0,_||0)}else u.device.gl.drawArrays(d,p,l||0)}),I&&I.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),U.time(iu,"linkProgram for ".concat(this.id))(),i.linkProgram(this.handle),U.timeEnd(iu,"linkProgram for ".concat(this.id))(),i.debug||U.level>0){var a=i.getProgramParameter(this.handle,i.LINK_STATUS);if(!a)throw new Error("Error linking: ".concat(i.getProgramInfoLog(this.handle)));i.validateProgram(this.handle);var 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,a=0,u=Object.entries(this._textureUniforms);a<u.length;a++){var c=k(u[a],2),f=c[1];f.update(),i=i&&f.loaded}for(var l=0,_=Object.entries(this.bindings);l<_.length;l++){var E=k(_[l],2),p=E[1];p.loaded!==void 0&&(i=i&&p.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 a=0,u=0,c=ru(this.layout.bindings),f;try{for(c.s();!(f=c.n()).done;){var l=f.value,_=this.bindings[l.name];if(!_)throw new Error("No value for binding ".concat(l.name," in ").concat(this.id));switch(l.type){case"uniform":var E=l.name,p=i.getUniformBlockIndex(this.handle,E);if(p===o.INVALID_INDEX)throw new Error("Invalid uniform block name ".concat(E));i.uniformBlockBinding(this.handle,u,p),_ instanceof je?i.bindBufferBase(o.UNIFORM_BUFFER,u,_.handle):i.bindBufferRange(o.UNIFORM_BUFFER,u,_.buffer.handle,_.offset||0,_.size||_.buffer.byteLength-_.offset),u+=1;break;case"texture":if(!(_ instanceof Ze))throw new Error("texture");var d=_;i.activeTexture(o.TEXTURE0+a),i.bindTexture(d.target,d.handle),a+=1;break;case"sampler":break;case"storage":case"read-only-storage":throw new Error("binding type '".concat(l.type,"' not supported in WebGL"))}}}catch(m){c.e(m)}finally{c.f()}}},{key:"_applyUniforms",value:function(){var i=ru(this.layout.uniforms||[]),a;try{for(i.s();!(a=i.n()).done;){var u=a.value,c=u.name,f=u.location,l=u.type,_=u.textureUnit,E=this.uniforms[c]||_;E!==void 0&&eu(this.device.gl,f,l,E)}}catch(p){i.e(p)}finally{i.f()}}}]),t}(bt);function fE(e){switch(e){case"point-list":return o.POINTS;case"line-list":return o.LINES;case"line-strip":return o.LINE_STRIP;case"line-loop":return o.LINE_LOOP;case"triangle-list":return o.TRIANGLES;case"triangle-strip":return o.TRIANGLE_STRIP;case"triangle-fan":return o.TRIANGLE_FAN;default:throw new Error(e)}}function cE(e){switch(e){case"point-list":return o.POINTS;case"line-list":return o.LINES;case"line-strip":return o.LINES;case"line-loop":return o.LINES;case"triangle-list":return o.TRIANGLES;case"triangle-strip":return o.TRIANGLES;case"triangle-fan":return o.TRIANGLES;default:throw new Error(e)}}function lE(e,r){return e.attributes.find(function(t){return t.name===r})||null}function ou(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Ke(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?ou(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ou(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function _E(e){var r=EE();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function EE(){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 jr=1,ve=function(e){L(t,e);var r=_E(t);function t(n){var i,a;b(this,t),a=r.call(this,Ke(Ke({},n),{},{id:n.id||ne("webgl-device")})),s(T(a),"info",void 0),s(T(a),"canvasContext",void 0),s(T(a),"handle",void 0),s(T(a),"lost",void 0),s(T(a),"_resolveContextLost",void 0),s(T(a),"_features",void 0),s(T(a),"_limits",void 0),s(T(a),"renderPass",null),s(T(a),"gl",void 0),s(T(a),"gl2",null),s(T(a),"debug",!1),s(T(a),"isWebGL1",void 0),s(T(a),"isWebGL2",void 0),s(T(a),"_canvasSizeInfo",{clientWidth:0,clientHeight:0,devicePixelRatio:1}),s(T(a),"_extensions",{}),s(T(a),"_polyfilled",!1),s(T(a),"spector",void 0),s(T(a),"_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));a.canvasContext=new ys(T(a),n),a.lost=new Promise(function(R){a._resolveContextLost=R});var c=function(O){var S,I;return(S=(I=a)._resolveContextLost)===null||S===void 0?void 0:S.call(I,{reason:"destroyed",message:"Computer entered sleep mode, or too many apps or browser tabs are using the GPU."})},f=n.gl||null;if(f=f||(se()?zo(a.canvasContext.canvas,Ke(Ke({},n),{},{onContextLost:c})):null),f=f||(se()?null:No(Ke(Ke({},n),{},{onContextLost:c}))),!f)throw new Error("WebGL context creation failed");a.handle=f,a.gl=a.handle,a.gl2=a.gl,a.isWebGL2=dE(a.gl),a.isWebGL1=!a.isWebGL2,a.info=$o(a.gl),a.gl.device=T(a),a.gl._version=a.isWebGL2?2:1,wo(a.gl);var l=n.enable,_=l===void 0?!0:l,E=n.copyState,p=E===void 0?!1:E;if(Hn(a.gl,{enable:_,copyState:p,log:function(){for(var O=arguments.length,S=new Array(O),I=0;I<O;I++)S[I]=arguments[I];return U.log.apply(U,[1].concat(S))()}}),se()&&n.debug&&(a.gl=Us(a.gl,Ke(Ke({},n),{},{webgl2:a.isWebGL2,throwOnError:!0})),a.gl2=a.gl,a.debug=!0,U.level=Math.max(U.level,1),U.warn("WebGL debug mode activated. Performance reduced.")()),se()&&n.spector){var d=a.handle.canvas||n.canvas;a.spector=Ps(Ke(Ke({},a.props),{},{canvas:d}))}var m="Created ".concat(a.info.type).concat(a.debug?" debug":""," context: ").concat(a.info.vendor,", ").concat(a.info.renderer," for canvas: ").concat(a.canvasContext.id);return U.probe(jr,m)(),U.groupEnd(jr)(),a}return N(t,[{key:"features",get:function(){return this._features=this._features||is(this.gl),this._features}},{key:"limits",get:function(){return this._limits=this._limits||os(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 Dr(this.gl,i)}},{key:"isTextureFormatFilterable",value:function(i){return Jo(this.gl,i)}},{key:"isTextureFormatRenderable",value:function(i){return es(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 Ws(this,i)}},{key:"_createTexture",value:function(i){return new Ze(this,i)}},{key:"createExternalTexture",value:function(i){throw new Error("createExternalTexture() not implemented")}},{key:"createSampler",value:function(i){return new nr(this,i)}},{key:"createShader",value:function(i){return new ks(this,i)}},{key:"createFramebuffer",value:function(i){return new Wr(this,i)}},{key:"createRenderPipeline",value:function(i){return new au(this,i)}},{key:"beginRenderPass",value:function(i){return new Ks(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||ss(this.gl),this._webglLimits}},{key:"loseDevice",value:function(){var i,a=this.gl.getExtension("WEBGL_lose_context");a&&a.loseContext(),(i=this._resolveContextLost)===null||i===void 0||i.call(this,{reason:"destroyed",message:"Application triggered context loss"})}},{key:"pushState",value:function(){pt(this.gl)}},{key:"popState",value:function(){rt(this.gl)}},{key:"setSpectorMetadata",value:function(i,a){i.__SPECTOR_Metadata=a}}],[{key:"isSupported",value:function(){return typeof WebGLRenderingContext<"u"||bo()}},{key:"attach",value:function(i){if(i instanceof t)return i;if(i?.device instanceof kt)return i.device;if(!pE(i))throw new Error("Invalid WebGLRenderingContext");return new t({gl:i})}},{key:"create",value:function(){var n=re(_i.default.mark(function a(){var u,c=arguments;return _i.default.wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(u=c.length>0&&c[0]!==void 0?c[0]:{},U.groupCollapsed(jr,"WebGLDevice created"),typeof u.canvas!="string"){l.next=5;break}return l.next=5,yt.pageLoaded;case 5:if(!u.debug){l.next=8;break}return l.next=8,xs();case 8:if(!u.spector){l.next=11;break}return l.next=11,Is();case 11:if(U.probe(jr+1,"DOM is loaded")(),!(u.gl&&u.gl.device)){l.next=14;break}return l.abrupt("return",t.attach(u.gl));case 14:return l.abrupt("return",new t(u));case 15:case"end":return l.stop()}},a)}));function i(){return n.apply(this,arguments)}return i}()}]),t}(kt);s(ve,"type","webgl");function pE(e){return typeof WebGLRenderingContext<"u"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&Number.isFinite(e._version))}function dE(e){return typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&e._version===2)}function su(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function hE(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?su(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):su(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var Se=function(){function e(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,e),s(this,"id",void 0),s(this,"userData",{}),s(this,"topology",void 0),s(this,"drawMode",o.TRIANGLES),s(this,"vertexCount",void 0),s(this,"attributes",void 0),s(this,"indices",void 0);var t=r.id,n=t===void 0?ne("geometry"):t,i=r.drawMode,a=i===void 0?o.TRIANGLES:i,u=r.attributes,c=u===void 0?{}:u,f=r.indices,l=f===void 0?null:f,_=r.vertexCount,E=_===void 0?null:_;this.id=n,this.drawMode=a,this.topology=r.topology||mE(a),l&&(this.indices=ArrayBuffer.isView(l)?{value:l,size:1}:l),this.attributes={};for(var p=0,d=Object.entries(c);p<d.length;p++){var m=k(d[p],2),R=m[0],O=m[1],S=ArrayBuffer.isView(O)?{value:O}:O;H(ArrayBuffer.isView(S.value),"".concat(this._print(R),": must be typed array or object with value as typed array")),(R==="POSITION"||R==="positions")&&!S.size&&(S.size=3),R==="indices"?(H(!this.indices),this.indices=S):this.attributes[R]=S}this.indices&&this.indices.isIndexed!==void 0&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this.vertexCount=E||this._calculateVertexCount(this.attributes,this.indices)}return N(e,[{key:"mode",get:function(){return this.drawMode}},{key:"getVertexCount",value:function(){return this.vertexCount}},{key:"getAttributes",value:function(){return this.indices?hE({indices:this.indices},this.attributes):this.attributes}},{key:"_print",value:function(t){return"Geometry ".concat(this.id," attribute ").concat(t)}},{key:"_setAttributes",value:function(t,n){return this}},{key:"_calculateVertexCount",value:function(t,n){if(n)return n.value.length;var i=1/0;for(var a in t){var u=t[a],c=u.value,f=u.size,l=u.constant;!l&&c&&f>=1&&(i=Math.min(i,c.length/f))}return H(Number.isFinite(i)),i}}]),e}();s(Se,"DRAW_MODE",{POINTS:o.POINTS,LINES:o.LINES,LINE_LOOP:o.LINE_LOOP,LINE_STRIP:o.LINE_STRIP,TRIANGLES:o.TRIANGLES,TRIANGLE_STRIP:o.TRIANGLE_STRIP,TRIANGLE_FAN:o.TRIANGLE_FAN});function mE(e){switch(e){case o.POINTS:return"point-list";case o.LINES:return"line-list";case o.LINE_STRIP:return"line-strip";case o.TRIANGLES:return"triangle-list";case o.TRIANGLE_STRIP:return"triangle-strip";case o.TRIANGLE_FAN:return"triangle-fan";case o.LINE_LOOP:return"line-loop";default:throw new Error(String(e))}}var uu;function fu(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function cu(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?fu(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):fu(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function RE(e){var r=AE();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function AE(){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 TE=ma(uu||(uu=pe([`attribute vec2 aClipSpacePosition;
260
260
  attribute vec2 aTexCoord;
261
261
  attribute vec2 aCoordinate;
262
262
 
@@ -285,7 +285,7 @@ void main(void) {
285
285
  coordinate = aCoordinate;
286
286
  uv = aTexCoord;
287
287
  }
288
- `]))),lu=[-1,-1,1,-1,-1,1,1,1],_u=function(e){L(t,e);var r=RE(t);function t(n,i){b(this,t);var a=lu.map(function(u){return u===-1?0:u});return r.call(this,ge.attach(n),cu(cu({},i),{},{vs:TE,vertexCount:4,geometry:new ve({drawMode:o.TRIANGLE_STRIP,vertexCount:4,attributes:{aClipSpacePosition:{size:2,value:new Float32Array(lu)},aTexCoord:{size:2,value:new Float32Array(a)},aCoordinate:{size:2,value:new Float32Array(a)}}})}))}return N(t)}(Cr);function Eu(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function di(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Eu(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Eu(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function vE(e){var r=gE();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function gE(){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 SE={x:[2,0,1],y:[0,1,2],z:[1,2,0]};var Lt=function(e){L(t,e);var r=vE(t);function t(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,t);var i=n.id,a=i===void 0?ne("truncated-code-geometry"):i,u=OE(n),c=u.indices,f=u.attributes;return r.call(this,di(di({},n),{},{id:a,indices:c,attributes:di({POSITION:{size:3,value:f.POSITION},NORMAL:{size:3,value:f.NORMAL},TEXCOORD_0:{size:2,value:f.TEXCOORD_0}},n.attributes)}))}return N(t)}(ve);function OE(){for(var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=e.bottomRadius,t=r===void 0?0:r,n=e.topRadius,i=n===void 0?0:n,a=e.height,u=a===void 0?1:a,c=e.nradial,f=c===void 0?10:c,l=e.nvertical,_=l===void 0?10:l,E=e.verticalAxis,d=E===void 0?"y":E,p=e.topCap,m=p===void 0?!1:p,R=e.bottomCap,O=R===void 0?!1:R,S=(m?2:0)+(O?2:0),I=(f+1)*(_+1+S),y=Math.atan2(t-i,u),w=Math.sin,B=Math.cos,j=Math.PI,D=B(y),Z=w(y),K=m?-2:0,Q=_+(O?2:0),W=f+1,A=new Uint16Array(f*(_+S)*6),h=SE[d],g=new Float32Array(I*3),F=new Float32Array(I*3),x=new Float32Array(I*2),M=0,Y=0,V=K;V<=Q;V++){var G=V/_,ee=u*G,J=void 0;V<0?(ee=0,G=1,J=t):V>_?(ee=u,G=1,J=i):J=t+(i-t)*(V/_),(V===-2||V===_+2)&&(J=0,G=0),ee-=u/2;for(var fe=0;fe<W;fe++){var Ae=w(fe*j*2/f),Oe=B(fe*j*2/f);g[M+h[0]]=Ae*J,g[M+h[1]]=ee,g[M+h[2]]=Oe*J,F[M+h[0]]=V<0||V>_?0:Ae*D,F[M+h[1]]=V<0?-1:V>_?1:Z,F[M+h[2]]=V<0||V>_?0:Oe*D,x[Y+0]=fe/f,x[Y+1]=G,Y+=2,M+=3}}for(var _e=0;_e<_+S;_e++)for(var Te=0;Te<f;Te++){var Ye=(_e*f+Te)*6;A[Ye+0]=W*(_e+0)+0+Te,A[Ye+1]=W*(_e+0)+1+Te,A[Ye+2]=W*(_e+1)+1+Te,A[Ye+3]=W*(_e+0)+0+Te,A[Ye+4]=W*(_e+1)+1+Te,A[Ye+5]=W*(_e+1)+0+Te}return{indices:A,attributes:{POSITION:g,NORMAL:F,TEXCOORD_0:x}}}function du(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function pu(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?du(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):du(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function yE(e){var r=bE();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function bE(){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 hu=function(e){L(t,e);var r=yE(t);function t(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,t);var i=n.id,a=i===void 0?ne("cone-geometry"):i,u=n.radius,c=u===void 0?1:u,f=n.cap,l=f===void 0?!0:f;return r.call(this,pu(pu({},n),{},{id:a,topRadius:0,topCap:Boolean(l),bottomCap:Boolean(l),bottomRadius:c}))}return N(t)}(Lt);function mu(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function nt(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?mu(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):mu(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function NE(e){var r=CE();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function CE(){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 Ru=function(e){L(t,e);var r=NE(t);function t(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,t);var i=n.id,a=i===void 0?ne("cube-geometry"):i,u=n.indices,c=u===void 0?!0:u;return r.call(this,c?nt(nt({},n),{},{id:a,indices:{size:1,value:IE},attributes:nt(nt({},UE),n.attributes)}):nt(nt({},n),{},{id:a,indices:void 0,attributes:nt(nt({},wE),n.attributes)}))}return N(t)}(ve),IE=new Uint16Array([0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]),PE=new Float32Array([-1,-1,1,1,-1,1,1,1,1,-1,1,1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1,-1,-1,1,-1,-1,1,1,1,1,1,1,1,-1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,-1,1,-1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1]),ME=new Float32Array([0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0]),FE=new Float32Array([0,0,1,0,1,1,0,1,1,0,1,1,0,1,0,0,0,1,0,0,1,0,1,1,1,1,0,1,0,0,1,0,1,0,1,1,0,1,0,0,0,0,1,0,1,1,0,1]),DE=new Float32Array([1,-1,1,1,-1,-1,1,1,-1,-1,-1,1,1,-1,-1,1,1,-1,1,1,-1,-1,-1,1,1,1,1,1,1,-1,1,1,1,-1,-1,1,1,1,-1,1,1,1,1,1,1,-1,-1,1,-1,1,1,1,1,1,1,1,1,1,-1,1,-1,1,-1,1,-1,1,1,1,1,1,-1,1,-1,-1,1,1,-1,1,1,1,-1,1,-1,1,-1,-1,-1,1,-1,-1,1,1,-1,1,-1,1,1,1,1,1,-1,1,1,1,-1,-1,1,1,-1,-1,1,1,1,-1,1,1,1,1,1,1,1,-1,-1,1,-1,-1,-1,1,-1,1,-1,1,1,1,-1,1,1,-1,-1,1,-1,1,-1,1]),BE=new Float32Array([1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,0,0,1,0,1,1,1,1,0,1,0,0,1,0,1,1,0,0]),xE=new Float32Array([1,0,1,1,0,0,1,1,0,0,0,1,1,0,0,1,1,0,1,1,0,0,0,1,1,1,1,1,1,0,1,1,1,0,0,1,1,1,0,1,1,1,1,1,1,0,0,1,0,1,1,1,1,1,1,1,1,1,0,1,0,1,0,1,0,1,1,1,1,1,0,1,0,0,1,1,0,1,1,1,0,1,0,1,0,0,0,1,0,0,1,1,0,1,0,1,1,1,1,1,0,1,1,1,0,0,1,1,0,0,1,1,1,0,1,1,1,1,1,1,1,0,0,1,0,0,0,1,0,1,0,1,1,1,0,1,1,0,0,1,0,1,0,1]),UE={POSITION:{size:3,value:PE},NORMAL:{size:3,value:ME},TEXCOORD_0:{size:2,value:FE}},wE={POSITION:{size:4,value:DE},TEXCOORD_0:{size:2,value:BE},COLOR_0:{size:3,value:xE}};function Au(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Tu(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Au(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Au(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function LE(e){var r=XE();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function XE(){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 vu=function(e){L(t,e);var r=LE(t);function t(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,t);var i=n.id,a=i===void 0?ne("cylinder-geometry"):i,u=n.radius,c=u===void 0?1:u;return r.call(this,Tu(Tu({},n),{},{id:a,bottomRadius:c,topRadius:c}))}return N(t)}(Lt);function gu(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Kr(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?gu(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):gu(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function HE(e){var r=WE();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function WE(){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=[-1,0,0,0,1,0,0,0,-1,0,0,1,0,-1,0,1,0,0],jE=[3,4,5,3,5,1,3,1,0,3,0,4,4,0,2,4,2,5,2,0,1,5,2,1],Su=function(e){L(t,e);var r=HE(t);function t(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,t);var i=n.id,a=i===void 0?ne("ico-sphere-geometry"):i,u=kE(n),c=u.indices,f=u.attributes;return r.call(this,Kr(Kr({},n),{},{id:a,indices:c,attributes:Kr(Kr({},f),n.attributes)}))}return N(t)}(ve);function kE(e){var r=e.iterations,t=r===void 0?0:r,n=Math.PI,i=n*2,a=[].concat(VE),u=[].concat(jE);a.push(),u.push();for(var c=function(){var zr={};return function(qe,Qe){qe*=3,Qe*=3;var Fu=qe<Qe?qe:Qe,Du=qe>Qe?qe:Qe,$r="".concat(Fu,"|").concat(Du);if($r in zr)return zr[$r];var Bu=a[qe],xu=a[qe+1],Uu=a[qe+2],wu=a[Qe],Lu=a[Qe+1],Xu=a[Qe+2],ar=(Bu+wu)/2,or=(xu+Lu)/2,sr=(Uu+Xu)/2,Zr=Math.sqrt(ar*ar+or*or+sr*sr);return ar/=Zr,or/=Zr,sr/=Zr,a.push(ar,or,sr),zr[$r]=a.length/3-1}}(),f=0;f<t;f++){for(var l=[],_=0;_<u.length;_+=3){var E=c(u[_+0],u[_+1]),d=c(u[_+1],u[_+2]),p=c(u[_+2],u[_+0]);l.push(p,u[_+0],E,E,u[_+1],d,d,u[_+2],p,E,d,p)}u=l}for(var m=new Array(a.length),R=new Array(a.length/3*2),O=u.length,S=O-3;S>=0;S-=3){var I=u[S+0],y=u[S+1],w=u[S+2],B=I*3,j=y*3,D=w*3,Z=I*2,K=y*2,Q=w*2,W=a[B+0],A=a[B+1],h=a[B+2],g=Math.acos(h/Math.sqrt(W*W+A*A+h*h)),F=Math.atan2(A,W)+n,x=g/n,M=1-F/i,Y=a[j+0],V=a[j+1],G=a[j+2],ee=Math.acos(G/Math.sqrt(Y*Y+V*V+G*G)),J=Math.atan2(V,Y)+n,fe=ee/n,Ae=1-J/i,Oe=a[D+0],_e=a[D+1],Te=a[D+2],Ye=Math.acos(Te/Math.sqrt(Oe*Oe+_e*_e+Te*Te)),Iu=Math.atan2(_e,Oe)+n,pi=Ye/n,ir=1-Iu/i,Pu=[Oe-Y,_e-V,Te-G],Mu=[W-Y,A-V,h-G],Pe=new lt(Pu).cross(Mu).normalize(),le=void 0;(M===0||Ae===0||ir===0)&&(M===0||M>.5)&&(Ae===0||Ae>.5)&&(ir===0||ir>.5)&&(a.push(a[B+0],a[B+1],a[B+2]),le=a.length/3-1,u.push(le),R[le*2+0]=1,R[le*2+1]=x,m[le*3+0]=Pe.x,m[le*3+1]=Pe.y,m[le*3+2]=Pe.z,a.push(a[j+0],a[j+1],a[j+2]),le=a.length/3-1,u.push(le),R[le*2+0]=1,R[le*2+1]=fe,m[le*3+0]=Pe.x,m[le*3+1]=Pe.y,m[le*3+2]=Pe.z,a.push(a[D+0],a[D+1],a[D+2]),le=a.length/3-1,u.push(le),R[le*2+0]=1,R[le*2+1]=pi,m[le*3+0]=Pe.x,m[le*3+1]=Pe.y,m[le*3+2]=Pe.z),m[B+0]=m[j+0]=m[D+0]=Pe.x,m[B+1]=m[j+1]=m[D+1]=Pe.y,m[B+2]=m[j+2]=m[D+2]=Pe.z,R[Z+0]=M,R[Z+1]=x,R[K+0]=Ae,R[K+1]=fe,R[Q+0]=ir,R[Q+1]=pi}return{indices:{size:1,value:new Uint16Array(u)},attributes:{POSITION:{size:3,value:new Float32Array(a)},NORMAL:{size:3,value:new Float32Array(m)},TEXCOORD_0:{size:2,value:new Float32Array(R)}}}}function Ou(e){var r=e.indices,t=e.attributes;if(!r)return e;var n=r.value.length,i={};for(var a in t){var u=t[a],c=u.constant,f=u.value,l=u.size;if(!(c||!l)){for(var _=new f.constructor(n*l),E=0;E<n;++E)for(var d=r.value[E],p=0;p<l;p++)_[E*l+p]=f[d*l+p];i[a]={size:l,value:_}}}return{attributes:Object.assign({},t,i)}}function yu(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Yr(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?yu(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):yu(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function KE(e){var r=YE();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function YE(){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=function(e){L(t,e);var r=KE(t);function t(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,t);var i=n.id,a=i===void 0?ne("plane-geometry"):i,u=GE(n),c=u.indices,f=u.attributes;return r.call(this,Yr(Yr({},n),{},{id:a,indices:c,attributes:Yr(Yr({},f),n.attributes)}))}return N(t)}(ve);function GE(e){var r=e.type,t=r===void 0?"x,y":r,n=e.offset,i=n===void 0?0:n,a=e.flipCull,u=a===void 0?!1:a,c=e.unpack,f=c===void 0?!1:c,l=t.split(","),_=e["".concat(l[0],"len")]||1,E=e["".concat(l[1],"len")]||1,d=e["n".concat(l[0])]||1,p=e["n".concat(l[1])]||1,m=(d+1)*(p+1),R=new Float32Array(m*3),O=new Float32Array(m*3),S=new Float32Array(m*2);u&&(_=-_);for(var I=0,y=0,w=0;w<=p;w++)for(var B=0;B<=d;B++){var j=B/d,D=w/p;switch(S[I+0]=u?1-j:j,S[I+1]=D,t){case"x,y":R[y+0]=_*j-_*.5,R[y+1]=E*D-E*.5,R[y+2]=i,O[y+0]=0,O[y+1]=0,O[y+2]=u?1:-1;break;case"x,z":R[y+0]=_*j-_*.5,R[y+1]=i,R[y+2]=E*D-E*.5,O[y+0]=0,O[y+1]=u?1:-1,O[y+2]=0;break;case"y,z":R[y+0]=i,R[y+1]=_*j-_*.5,R[y+2]=E*D-E*.5,O[y+0]=u?1:-1,O[y+1]=0,O[y+2]=0;break;default:throw new Error("PlaneGeometry: unknown type")}I+=2,y+=3}for(var Z=d+1,K=new Uint16Array(d*p*6),Q=0;Q<p;Q++)for(var W=0;W<d;W++){var A=(Q*d+W)*6;K[A+0]=(Q+0)*Z+W,K[A+1]=(Q+1)*Z+W,K[A+2]=(Q+0)*Z+W+1,K[A+3]=(Q+1)*Z+W,K[A+4]=(Q+1)*Z+W+1,K[A+5]=(Q+0)*Z+W+1}var h={indices:{size:1,value:K},attributes:{POSITION:{size:3,value:R},NORMAL:{size:3,value:O},TEXCOORD_0:{size:2,value:S}}};return f?Ou(h):h}function Nu(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Gr(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Nu(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Nu(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function zE(e){var r=$E();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function $E(){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 Cu=function(e){L(t,e);var r=zE(t);function t(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,t);var i=n.id,a=i===void 0?ne("sphere-geometry"):i,u=ZE(n),c=u.indices,f=u.attributes;return r.call(this,Gr(Gr({},n),{},{id:a,indices:c,attributes:Gr(Gr({},f),n.attributes)}))}return N(t)}(ve);function ZE(e){for(var r=e.nlat,t=r===void 0?10:r,n=e.nlong,i=n===void 0?10:n,a=0,u=Math.PI,c=u-a,f=0,l=2*Math.PI,_=l-f,E=(t+1)*(i+1),d=function(Ae,Oe,_e,Te,Ye){return e.radius||1},p=new Float32Array(E*3),m=new Float32Array(E*3),R=new Float32Array(E*2),O=E>65535?Uint32Array:Uint16Array,S=new O(t*i*6),I=0;I<=t;I++)for(var y=0;y<=i;y++){var w=y/i,B=I/t,j=y+I*(i+1),D=j*2,Z=j*3,K=_*w,Q=c*B,W=Math.sin(K),A=Math.cos(K),h=Math.sin(Q),g=Math.cos(Q),F=A*h,x=g,M=W*h,Y=d(F,x,M,w,B);p[Z+0]=Y*F,p[Z+1]=Y*x,p[Z+2]=Y*M,m[Z+0]=F,m[Z+1]=x,m[Z+2]=M,R[D+0]=w,R[D+1]=1-B}for(var V=i+1,G=0;G<i;G++)for(var ee=0;ee<t;ee++){var J=(G*t+ee)*6;S[J+0]=ee*V+G,S[J+1]=ee*V+G+1,S[J+2]=(ee+1)*V+G,S[J+3]=(ee+1)*V+G,S[J+4]=ee*V+G+1,S[J+5]=(ee+1)*V+G+1}return{indices:{size:1,value:S},attributes:{POSITION:{size:3,value:p},NORMAL:{size:3,value:m},TEXCOORD_0:{size:2,value:R}}}}return Yu(qE);})();
288
+ `]))),lu=[-1,-1,1,-1,-1,1,1,1],_u=function(e){L(t,e);var r=RE(t);function t(n,i){b(this,t);var a=lu.map(function(u){return u===-1?0:u});return r.call(this,ve.attach(n),cu(cu({},i),{},{vs:TE,vertexCount:4,geometry:new Se({drawMode:o.TRIANGLE_STRIP,vertexCount:4,attributes:{aClipSpacePosition:{size:2,value:new Float32Array(lu)},aTexCoord:{size:2,value:new Float32Array(a)},aCoordinate:{size:2,value:new Float32Array(a)}}})}))}return N(t)}(Nr);function Eu(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Ei(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Eu(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Eu(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function vE(e){var r=gE();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function gE(){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 SE={x:[2,0,1],y:[0,1,2],z:[1,2,0]};var Lt=function(e){L(t,e);var r=vE(t);function t(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,t);var i=n.id,a=i===void 0?ne("truncated-code-geometry"):i,u=OE(n),c=u.indices,f=u.attributes;return r.call(this,Ei(Ei({},n),{},{id:a,indices:c,attributes:Ei({POSITION:{size:3,value:f.POSITION},NORMAL:{size:3,value:f.NORMAL},TEXCOORD_0:{size:2,value:f.TEXCOORD_0}},n.attributes)}))}return N(t)}(Se);function OE(){for(var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=e.bottomRadius,t=r===void 0?0:r,n=e.topRadius,i=n===void 0?0:n,a=e.height,u=a===void 0?1:a,c=e.nradial,f=c===void 0?10:c,l=e.nvertical,_=l===void 0?10:l,E=e.verticalAxis,p=E===void 0?"y":E,d=e.topCap,m=d===void 0?!1:d,R=e.bottomCap,O=R===void 0?!1:R,S=(m?2:0)+(O?2:0),I=(f+1)*(_+1+S),y=Math.atan2(t-i,u),w=Math.sin,B=Math.cos,j=Math.PI,D=B(y),Z=w(y),K=m?-2:0,Q=_+(O?2:0),W=f+1,A=new Uint16Array(f*(_+S)*6),h=SE[p],g=new Float32Array(I*3),F=new Float32Array(I*3),x=new Float32Array(I*2),M=0,Y=0,V=K;V<=Q;V++){var G=V/_,ee=u*G,J=void 0;V<0?(ee=0,G=1,J=t):V>_?(ee=u,G=1,J=i):J=t+(i-t)*(V/_),(V===-2||V===_+2)&&(J=0,G=0),ee-=u/2;for(var fe=0;fe<W;fe++){var Ae=w(fe*j*2/f),Oe=B(fe*j*2/f);g[M+h[0]]=Ae*J,g[M+h[1]]=ee,g[M+h[2]]=Oe*J,F[M+h[0]]=V<0||V>_?0:Ae*D,F[M+h[1]]=V<0?-1:V>_?1:Z,F[M+h[2]]=V<0||V>_?0:Oe*D,x[Y+0]=fe/f,x[Y+1]=G,Y+=2,M+=3}}for(var _e=0;_e<_+S;_e++)for(var Te=0;Te<f;Te++){var Ye=(_e*f+Te)*6;A[Ye+0]=W*(_e+0)+0+Te,A[Ye+1]=W*(_e+0)+1+Te,A[Ye+2]=W*(_e+1)+1+Te,A[Ye+3]=W*(_e+0)+0+Te,A[Ye+4]=W*(_e+1)+1+Te,A[Ye+5]=W*(_e+1)+0+Te}return{indices:A,attributes:{POSITION:g,NORMAL:F,TEXCOORD_0:x}}}function pu(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function du(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?pu(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):pu(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function yE(e){var r=bE();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function bE(){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 hu=function(e){L(t,e);var r=yE(t);function t(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,t);var i=n.id,a=i===void 0?ne("cone-geometry"):i,u=n.radius,c=u===void 0?1:u,f=n.cap,l=f===void 0?!0:f;return r.call(this,du(du({},n),{},{id:a,topRadius:0,topCap:Boolean(l),bottomCap:Boolean(l),bottomRadius:c}))}return N(t)}(Lt);function mu(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function nt(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?mu(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):mu(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function NE(e){var r=CE();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function CE(){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 Ru=function(e){L(t,e);var r=NE(t);function t(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,t);var i=n.id,a=i===void 0?ne("cube-geometry"):i,u=n.indices,c=u===void 0?!0:u;return r.call(this,c?nt(nt({},n),{},{id:a,indices:{size:1,value:IE},attributes:nt(nt({},UE),n.attributes)}):nt(nt({},n),{},{id:a,indices:void 0,attributes:nt(nt({},wE),n.attributes)}))}return N(t)}(Se),IE=new Uint16Array([0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]),PE=new Float32Array([-1,-1,1,1,-1,1,1,1,1,-1,1,1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1,-1,-1,1,-1,-1,1,1,1,1,1,1,1,-1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,-1,1,-1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1]),ME=new Float32Array([0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0]),FE=new Float32Array([0,0,1,0,1,1,0,1,1,0,1,1,0,1,0,0,0,1,0,0,1,0,1,1,1,1,0,1,0,0,1,0,1,0,1,1,0,1,0,0,0,0,1,0,1,1,0,1]),DE=new Float32Array([1,-1,1,1,-1,-1,1,1,-1,-1,-1,1,1,-1,-1,1,1,-1,1,1,-1,-1,-1,1,1,1,1,1,1,-1,1,1,1,-1,-1,1,1,1,-1,1,1,1,1,1,1,-1,-1,1,-1,1,1,1,1,1,1,1,1,1,-1,1,-1,1,-1,1,-1,1,1,1,1,1,-1,1,-1,-1,1,1,-1,1,1,1,-1,1,-1,1,-1,-1,-1,1,-1,-1,1,1,-1,1,-1,1,1,1,1,1,-1,1,1,1,-1,-1,1,1,-1,-1,1,1,1,-1,1,1,1,1,1,1,1,-1,-1,1,-1,-1,-1,1,-1,1,-1,1,1,1,-1,1,1,-1,-1,1,-1,1,-1,1]),BE=new Float32Array([1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,0,0,1,0,1,1,1,1,0,1,0,0,1,0,1,1,0,0]),xE=new Float32Array([1,0,1,1,0,0,1,1,0,0,0,1,1,0,0,1,1,0,1,1,0,0,0,1,1,1,1,1,1,0,1,1,1,0,0,1,1,1,0,1,1,1,1,1,1,0,0,1,0,1,1,1,1,1,1,1,1,1,0,1,0,1,0,1,0,1,1,1,1,1,0,1,0,0,1,1,0,1,1,1,0,1,0,1,0,0,0,1,0,0,1,1,0,1,0,1,1,1,1,1,0,1,1,1,0,0,1,1,0,0,1,1,1,0,1,1,1,1,1,1,1,0,0,1,0,0,0,1,0,1,0,1,1,1,0,1,1,0,0,1,0,1,0,1]),UE={POSITION:{size:3,value:PE},NORMAL:{size:3,value:ME},TEXCOORD_0:{size:2,value:FE}},wE={POSITION:{size:4,value:DE},TEXCOORD_0:{size:2,value:BE},COLOR_0:{size:3,value:xE}};function Au(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Tu(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Au(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Au(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function LE(e){var r=XE();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function XE(){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 vu=function(e){L(t,e);var r=LE(t);function t(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,t);var i=n.id,a=i===void 0?ne("cylinder-geometry"):i,u=n.radius,c=u===void 0?1:u;return r.call(this,Tu(Tu({},n),{},{id:a,bottomRadius:c,topRadius:c}))}return N(t)}(Lt);function gu(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function kr(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?gu(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):gu(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function HE(e){var r=WE();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function WE(){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=[-1,0,0,0,1,0,0,0,-1,0,0,1,0,-1,0,1,0,0],jE=[3,4,5,3,5,1,3,1,0,3,0,4,4,0,2,4,2,5,2,0,1,5,2,1],Su=function(e){L(t,e);var r=HE(t);function t(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,t);var i=n.id,a=i===void 0?ne("ico-sphere-geometry"):i,u=kE(n),c=u.indices,f=u.attributes;return r.call(this,kr(kr({},n),{},{id:a,indices:c,attributes:kr(kr({},f),n.attributes)}))}return N(t)}(Se);function kE(e){var r=e.iterations,t=r===void 0?0:r,n=Math.PI,i=n*2,a=[].concat(VE),u=[].concat(jE);a.push(),u.push();for(var c=function(){var Gr={};return function(qe,Qe){qe*=3,Qe*=3;var Fu=qe<Qe?qe:Qe,Du=qe>Qe?qe:Qe,zr="".concat(Fu,"|").concat(Du);if(zr in Gr)return Gr[zr];var Bu=a[qe],xu=a[qe+1],Uu=a[qe+2],wu=a[Qe],Lu=a[Qe+1],Xu=a[Qe+2],ar=(Bu+wu)/2,or=(xu+Lu)/2,sr=(Uu+Xu)/2,$r=Math.sqrt(ar*ar+or*or+sr*sr);return ar/=$r,or/=$r,sr/=$r,a.push(ar,or,sr),Gr[zr]=a.length/3-1}}(),f=0;f<t;f++){for(var l=[],_=0;_<u.length;_+=3){var E=c(u[_+0],u[_+1]),p=c(u[_+1],u[_+2]),d=c(u[_+2],u[_+0]);l.push(d,u[_+0],E,E,u[_+1],p,p,u[_+2],d,E,p,d)}u=l}for(var m=new Array(a.length),R=new Array(a.length/3*2),O=u.length,S=O-3;S>=0;S-=3){var I=u[S+0],y=u[S+1],w=u[S+2],B=I*3,j=y*3,D=w*3,Z=I*2,K=y*2,Q=w*2,W=a[B+0],A=a[B+1],h=a[B+2],g=Math.acos(h/Math.sqrt(W*W+A*A+h*h)),F=Math.atan2(A,W)+n,x=g/n,M=1-F/i,Y=a[j+0],V=a[j+1],G=a[j+2],ee=Math.acos(G/Math.sqrt(Y*Y+V*V+G*G)),J=Math.atan2(V,Y)+n,fe=ee/n,Ae=1-J/i,Oe=a[D+0],_e=a[D+1],Te=a[D+2],Ye=Math.acos(Te/Math.sqrt(Oe*Oe+_e*_e+Te*Te)),Iu=Math.atan2(_e,Oe)+n,pi=Ye/n,ir=1-Iu/i,Pu=[Oe-Y,_e-V,Te-G],Mu=[W-Y,A-V,h-G],Pe=new lt(Pu).cross(Mu).normalize(),le=void 0;(M===0||Ae===0||ir===0)&&(M===0||M>.5)&&(Ae===0||Ae>.5)&&(ir===0||ir>.5)&&(a.push(a[B+0],a[B+1],a[B+2]),le=a.length/3-1,u.push(le),R[le*2+0]=1,R[le*2+1]=x,m[le*3+0]=Pe.x,m[le*3+1]=Pe.y,m[le*3+2]=Pe.z,a.push(a[j+0],a[j+1],a[j+2]),le=a.length/3-1,u.push(le),R[le*2+0]=1,R[le*2+1]=fe,m[le*3+0]=Pe.x,m[le*3+1]=Pe.y,m[le*3+2]=Pe.z,a.push(a[D+0],a[D+1],a[D+2]),le=a.length/3-1,u.push(le),R[le*2+0]=1,R[le*2+1]=pi,m[le*3+0]=Pe.x,m[le*3+1]=Pe.y,m[le*3+2]=Pe.z),m[B+0]=m[j+0]=m[D+0]=Pe.x,m[B+1]=m[j+1]=m[D+1]=Pe.y,m[B+2]=m[j+2]=m[D+2]=Pe.z,R[Z+0]=M,R[Z+1]=x,R[K+0]=Ae,R[K+1]=fe,R[Q+0]=ir,R[Q+1]=pi}return{indices:{size:1,value:new Uint16Array(u)},attributes:{POSITION:{size:3,value:new Float32Array(a)},NORMAL:{size:3,value:new Float32Array(m)},TEXCOORD_0:{size:2,value:new Float32Array(R)}}}}function Ou(e){var r=e.indices,t=e.attributes;if(!r)return e;var n=r.value.length,i={};for(var a in t){var u=t[a],c=u.constant,f=u.value,l=u.size;if(!(c||!l)){for(var _=new f.constructor(n*l),E=0;E<n;++E)for(var p=r.value[E],d=0;d<l;d++)_[E*l+d]=f[p*l+d];i[a]={size:l,value:_}}}return{attributes:Object.assign({},t,i)}}function yu(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Kr(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?yu(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):yu(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function KE(e){var r=YE();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function YE(){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=function(e){L(t,e);var r=KE(t);function t(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,t);var i=n.id,a=i===void 0?ne("plane-geometry"):i,u=GE(n),c=u.indices,f=u.attributes;return r.call(this,Kr(Kr({},n),{},{id:a,indices:c,attributes:Kr(Kr({},f),n.attributes)}))}return N(t)}(Se);function GE(e){var r=e.type,t=r===void 0?"x,y":r,n=e.offset,i=n===void 0?0:n,a=e.flipCull,u=a===void 0?!1:a,c=e.unpack,f=c===void 0?!1:c,l=t.split(","),_=e["".concat(l[0],"len")]||1,E=e["".concat(l[1],"len")]||1,p=e["n".concat(l[0])]||1,d=e["n".concat(l[1])]||1,m=(p+1)*(d+1),R=new Float32Array(m*3),O=new Float32Array(m*3),S=new Float32Array(m*2);u&&(_=-_);for(var I=0,y=0,w=0;w<=d;w++)for(var B=0;B<=p;B++){var j=B/p,D=w/d;switch(S[I+0]=u?1-j:j,S[I+1]=D,t){case"x,y":R[y+0]=_*j-_*.5,R[y+1]=E*D-E*.5,R[y+2]=i,O[y+0]=0,O[y+1]=0,O[y+2]=u?1:-1;break;case"x,z":R[y+0]=_*j-_*.5,R[y+1]=i,R[y+2]=E*D-E*.5,O[y+0]=0,O[y+1]=u?1:-1,O[y+2]=0;break;case"y,z":R[y+0]=i,R[y+1]=_*j-_*.5,R[y+2]=E*D-E*.5,O[y+0]=u?1:-1,O[y+1]=0,O[y+2]=0;break;default:throw new Error("PlaneGeometry: unknown type")}I+=2,y+=3}for(var Z=p+1,K=new Uint16Array(p*d*6),Q=0;Q<d;Q++)for(var W=0;W<p;W++){var A=(Q*p+W)*6;K[A+0]=(Q+0)*Z+W,K[A+1]=(Q+1)*Z+W,K[A+2]=(Q+0)*Z+W+1,K[A+3]=(Q+1)*Z+W,K[A+4]=(Q+1)*Z+W+1,K[A+5]=(Q+0)*Z+W+1}var h={indices:{size:1,value:K},attributes:{POSITION:{size:3,value:R},NORMAL:{size:3,value:O},TEXCOORD_0:{size:2,value:S}}};return f?Ou(h):h}function Nu(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Yr(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Nu(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Nu(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function zE(e){var r=$E();return function(){var n=C(e),i;if(r){var a=C(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function $E(){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 Cu=function(e){L(t,e);var r=zE(t);function t(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,t);var i=n.id,a=i===void 0?ne("sphere-geometry"):i,u=ZE(n),c=u.indices,f=u.attributes;return r.call(this,Yr(Yr({},n),{},{id:a,indices:c,attributes:Yr(Yr({},f),n.attributes)}))}return N(t)}(Se);function ZE(e){for(var r=e.nlat,t=r===void 0?10:r,n=e.nlong,i=n===void 0?10:n,a=0,u=Math.PI,c=u-a,f=0,l=2*Math.PI,_=l-f,E=(t+1)*(i+1),p=function(Ae,Oe,_e,Te,Ye){return e.radius||1},d=new Float32Array(E*3),m=new Float32Array(E*3),R=new Float32Array(E*2),O=E>65535?Uint32Array:Uint16Array,S=new O(t*i*6),I=0;I<=t;I++)for(var y=0;y<=i;y++){var w=y/i,B=I/t,j=y+I*(i+1),D=j*2,Z=j*3,K=_*w,Q=c*B,W=Math.sin(K),A=Math.cos(K),h=Math.sin(Q),g=Math.cos(Q),F=A*h,x=g,M=W*h,Y=p(F,x,M,w,B);d[Z+0]=Y*F,d[Z+1]=Y*x,d[Z+2]=Y*M,m[Z+0]=F,m[Z+1]=x,m[Z+2]=M,R[D+0]=w,R[D+1]=1-B}for(var V=i+1,G=0;G<i;G++)for(var ee=0;ee<t;ee++){var J=(G*t+ee)*6;S[J+0]=ee*V+G,S[J+1]=ee*V+G+1,S[J+2]=(ee+1)*V+G,S[J+3]=(ee+1)*V+G,S[J+4]=ee*V+G+1,S[J+5]=(ee+1)*V+G+1}return{indices:{size:1,value:S},attributes:{POSITION:{size:3,value:d},NORMAL:{size:3,value:m},TEXCOORD_0:{size:2,value:R}}}}return Yu(qE);})();
289
289
  /*! Bundled license information:
290
290
 
291
291
  @babel/runtime/helpers/regeneratorRuntime.js: