@luma.gl/engine 9.0.0-alpha.25 → 9.0.0-alpha.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist.min.js CHANGED
@@ -4,11 +4,11 @@
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 Lu=Object.create;var Rr=Object.defineProperty;var Xu=Object.getOwnPropertyDescriptor;var Hu=Object.getOwnPropertyNames;var Wu=Object.getPrototypeOf,ku=Object.prototype.hasOwnProperty;var _n=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Vu=(e,t)=>{for(var r in t)Rr(e,r,{get:t[r],enumerable:!0})},Ui=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Hu(t))!ku.call(e,i)&&i!==r&&Rr(e,i,{get:()=>t[i],enumerable:!(n=Xu(t,i))||n.enumerable});return e};var Be=(e,t,r)=>(r=e!=null?Lu(Wu(e)):{},Ui(t||!e||!e.__esModule?Rr(r,"default",{value:e,enumerable:!0}):r,e)),ju=e=>Ui(Rr({},"__esModule",{value:!0}),e);var ki=_n((Ah,$e)=>{function hn(e){return $e.exports=hn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},$e.exports.__esModule=!0,$e.exports.default=$e.exports,hn(e)}$e.exports=hn,$e.exports.__esModule=!0,$e.exports.default=$e.exports});var ji=_n((Th,qe)=>{var Gu=ki().default;function Vi(){"use strict";qe.exports=Vi=function(){return e},qe.exports.__esModule=!0,qe.exports.default=qe.exports;var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(O,A,S){O[A]=S.value},i=typeof Symbol=="function"?Symbol:{},a=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function f(O,A,S){return Object.defineProperty(O,A,{value:S,enumerable:!0,configurable:!0,writable:!0}),O[A]}try{f({},"")}catch{f=function(S,x,k){return S[x]=k}}function l(O,A,S,x){var k=A&&A.prototype instanceof p?A:p,U=Object.create(k.prototype),G=new H(x||[]);return n(U,"_invoke",{value:M(O,S,G)}),U}function _(O,A,S){try{return{type:"normal",arg:O.call(A,S)}}catch(x){return{type:"throw",arg:x}}}e.wrap=l;var E={};function p(){}function d(){}function h(){}var m={};f(m,a,function(){return this});var R=Object.getPrototypeOf,T=R&&R(R(Y([])));T&&T!==t&&r.call(T,a)&&(m=T);var I=h.prototype=p.prototype=Object.create(m);function v(O){["next","throw","return"].forEach(function(A){f(O,A,function(S){return this._invoke(A,S)})})}function N(O,A){function S(k,U,G,z){var $=_(O[k],O,U);if($.type!=="throw"){var J=$.arg,Z=J.value;return Z&&Gu(Z)=="object"&&r.call(Z,"__await")?A.resolve(Z.__await).then(function(ue){S("next",ue,G,z)},function(ue){S("throw",ue,G,z)}):A.resolve(Z).then(function(ue){J.value=ue,G(J)},function(ue){return S("throw",ue,G,z)})}z($.arg)}var x;n(this,"_invoke",{value:function(U,G){function z(){return new A(function($,J){S(U,G,$,J)})}return x=x?x.then(z,z):z()}})}function M(O,A,S){var x="suspendedStart";return function(k,U){if(x==="executing")throw new Error("Generator is already running");if(x==="completed"){if(k==="throw")throw U;return w()}for(S.method=k,S.arg=U;;){var G=S.delegate;if(G){var z=F(G,S);if(z){if(z===E)continue;return z}}if(S.method==="next")S.sent=S._sent=S.arg;else if(S.method==="throw"){if(x==="suspendedStart")throw x="completed",S.arg;S.dispatchException(S.arg)}else S.method==="return"&&S.abrupt("return",S.arg);x="executing";var $=_(O,A,S);if($.type==="normal"){if(x=S.done?"completed":"suspendedYield",$.arg===E)continue;return{value:$.arg,done:S.done}}$.type==="throw"&&(x="completed",S.method="throw",S.arg=$.arg)}}}function F(O,A){var S=A.method,x=O.iterator[S];if(x===void 0)return A.delegate=null,S==="throw"&&O.iterator.return&&(A.method="return",A.arg=void 0,F(O,A),A.method==="throw")||S!=="return"&&(A.method="throw",A.arg=new TypeError("The iterator does not provide a '"+S+"' method")),E;var k=_(x,O.iterator,A.arg);if(k.type==="throw")return A.method="throw",A.arg=k.arg,A.delegate=null,E;var U=k.arg;return U?U.done?(A[O.resultName]=U.value,A.next=O.nextLoc,A.method!=="return"&&(A.method="next",A.arg=void 0),A.delegate=null,E):U:(A.method="throw",A.arg=new TypeError("iterator result is not an object"),A.delegate=null,E)}function D(O){var A={tryLoc:O[0]};1 in O&&(A.catchLoc=O[1]),2 in O&&(A.finallyLoc=O[2],A.afterLoc=O[3]),this.tryEntries.push(A)}function K(O){var A=O.completion||{};A.type="normal",delete A.arg,O.completion=A}function H(O){this.tryEntries=[{tryLoc:"root"}],O.forEach(D,this),this.reset(!0)}function Y(O){if(O){var A=O[a];if(A)return A.call(O);if(typeof O.next=="function")return O;if(!isNaN(O.length)){var S=-1,x=function k(){for(;++S<O.length;)if(r.call(O,S))return k.value=O[S],k.done=!1,k;return k.value=void 0,k.done=!0,k};return x.next=x}}return{next:w}}function w(){return{value:void 0,done:!0}}return d.prototype=h,n(I,"constructor",{value:h,configurable:!0}),n(h,"constructor",{value:d,configurable:!0}),d.displayName=f(h,u,"GeneratorFunction"),e.isGeneratorFunction=function(O){var A=typeof O=="function"&&O.constructor;return!!A&&(A===d||(A.displayName||A.name)==="GeneratorFunction")},e.mark=function(O){return Object.setPrototypeOf?Object.setPrototypeOf(O,h):(O.__proto__=h,f(O,u,"GeneratorFunction")),O.prototype=Object.create(I),O},e.awrap=function(O){return{__await:O}},v(N.prototype),f(N.prototype,s,function(){return this}),e.AsyncIterator=N,e.async=function(O,A,S,x,k){k===void 0&&(k=Promise);var U=new N(l(O,A,S,x),k);return e.isGeneratorFunction(A)?U:U.next().then(function(G){return G.done?G.value:U.next()})},v(I),f(I,u,"Generator"),f(I,a,function(){return this}),f(I,"toString",function(){return"[object Generator]"}),e.keys=function(O){var A=Object(O),S=[];for(var x in A)S.push(x);return S.reverse(),function k(){for(;S.length;){var U=S.pop();if(U in A)return k.value=U,k.done=!1,k}return k.done=!0,k}},e.values=Y,H.prototype={constructor:H,reset:function(A){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(K),!A)for(var S in this)S.charAt(0)==="t"&&r.call(this,S)&&!isNaN(+S.slice(1))&&(this[S]=void 0)},stop:function(){this.done=!0;var A=this.tryEntries[0].completion;if(A.type==="throw")throw A.arg;return this.rval},dispatchException:function(A){if(this.done)throw A;var S=this;function x(J,Z){return G.type="throw",G.arg=A,S.next=J,Z&&(S.method="next",S.arg=void 0),!!Z}for(var k=this.tryEntries.length-1;k>=0;--k){var U=this.tryEntries[k],G=U.completion;if(U.tryLoc==="root")return x("end");if(U.tryLoc<=this.prev){var z=r.call(U,"catchLoc"),$=r.call(U,"finallyLoc");if(z&&$){if(this.prev<U.catchLoc)return x(U.catchLoc,!0);if(this.prev<U.finallyLoc)return x(U.finallyLoc)}else if(z){if(this.prev<U.catchLoc)return x(U.catchLoc,!0)}else{if(!$)throw new Error("try statement without catch or finally");if(this.prev<U.finallyLoc)return x(U.finallyLoc)}}}},abrupt:function(A,S){for(var x=this.tryEntries.length-1;x>=0;--x){var k=this.tryEntries[x];if(k.tryLoc<=this.prev&&r.call(k,"finallyLoc")&&this.prev<k.finallyLoc){var U=k;break}}U&&(A==="break"||A==="continue")&&U.tryLoc<=S&&S<=U.finallyLoc&&(U=null);var G=U?U.completion:{};return G.type=A,G.arg=S,U?(this.method="next",this.next=U.finallyLoc,E):this.complete(G)},complete:function(A,S){if(A.type==="throw")throw A.arg;return A.type==="break"||A.type==="continue"?this.next=A.arg:A.type==="return"?(this.rval=this.arg=A.arg,this.method="return",this.next="end"):A.type==="normal"&&S&&(this.next=S),E},finish:function(A){for(var S=this.tryEntries.length-1;S>=0;--S){var x=this.tryEntries[S];if(x.finallyLoc===A)return this.complete(x.completion,x.afterLoc),K(x),E}},catch:function(A){for(var S=this.tryEntries.length-1;S>=0;--S){var x=this.tryEntries[S];if(x.tryLoc===A){var k=x.completion;if(k.type==="throw"){var U=k.arg;K(x)}return U}}throw new Error("illegal catch attempt")},delegateYield:function(A,S,x){return this.delegate={iterator:Y(A),resultName:S,nextLoc:x},this.method==="next"&&(this.arg=void 0),E}},e}qe.exports=Vi,qe.exports.__esModule=!0,qe.exports.default=qe.exports});var Fe=_n((vh,Ki)=>{var Ar=ji()();Ki.exports=Ar;try{regeneratorRuntime=Ar}catch{typeof globalThis=="object"?globalThis.regeneratorRuntime=Ar:Function("r","regeneratorRuntime = r")(Ar)}});var Xd={};Vu(Xd,{AnimationLoop:()=>Ir,AnimationLoopTemplate:()=>Yi,ClipSpace:()=>su,ConeGeometry:()=>pu,CubeGeometry:()=>hu,CylinderGeometry:()=>Au,Geometry:()=>be,GroupNode:()=>uu,IcoSphereGeometry:()=>vu,KeyFrames:()=>Hi,Model:()=>Ut,ModelNode:()=>fu,PipelineFactory:()=>kr,PlaneGeometry:()=>Ou,ScenegraphNode:()=>Tt,SphereGeometry:()=>bu,Timeline:()=>Xi,Transform:()=>tu,TruncatedConeGeometry:()=>Kt,makeAnimationLoop:()=>ja});function Yt(e){if(Array.isArray(e))return e}function En(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,a,s,u=[],f=!0,l=!1;try{if(a=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=a.call(r)).done)&&(u.push(n.value),u.length!==t);f=!0);}catch(_){l=!0,i=_}finally{try{if(!f&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(l)throw i}}return u}}function vt(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function ut(e,t){if(e){if(typeof e=="string")return vt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return vt(e,t)}}function zt(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
7
+ "use strict";var __exports__=(()=>{var Lu=Object.create;var Rr=Object.defineProperty;var Xu=Object.getOwnPropertyDescriptor;var Hu=Object.getOwnPropertyNames;var Wu=Object.getPrototypeOf,ku=Object.prototype.hasOwnProperty;var _n=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Vu=(e,t)=>{for(var r in t)Rr(e,r,{get:t[r],enumerable:!0})},Ui=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Hu(t))!ku.call(e,i)&&i!==r&&Rr(e,i,{get:()=>t[i],enumerable:!(n=Xu(t,i))||n.enumerable});return e};var Be=(e,t,r)=>(r=e!=null?Lu(Wu(e)):{},Ui(t||!e||!e.__esModule?Rr(r,"default",{value:e,enumerable:!0}):r,e)),ju=e=>Ui(Rr({},"__esModule",{value:!0}),e);var ki=_n((Ah,$e)=>{function hn(e){return $e.exports=hn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},$e.exports.__esModule=!0,$e.exports.default=$e.exports,hn(e)}$e.exports=hn,$e.exports.__esModule=!0,$e.exports.default=$e.exports});var ji=_n((Th,qe)=>{var Gu=ki().default;function Vi(){"use strict";qe.exports=Vi=function(){return e},qe.exports.__esModule=!0,qe.exports.default=qe.exports;var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(O,A,S){O[A]=S.value},i=typeof Symbol=="function"?Symbol:{},a=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function f(O,A,S){return Object.defineProperty(O,A,{value:S,enumerable:!0,configurable:!0,writable:!0}),O[A]}try{f({},"")}catch{f=function(S,x,k){return S[x]=k}}function l(O,A,S,x){var k=A&&A.prototype instanceof p?A:p,U=Object.create(k.prototype),G=new H(x||[]);return n(U,"_invoke",{value:M(O,S,G)}),U}function _(O,A,S){try{return{type:"normal",arg:O.call(A,S)}}catch(x){return{type:"throw",arg:x}}}e.wrap=l;var E={};function p(){}function d(){}function h(){}var m={};f(m,a,function(){return this});var R=Object.getPrototypeOf,T=R&&R(R(Y([])));T&&T!==t&&r.call(T,a)&&(m=T);var I=h.prototype=p.prototype=Object.create(m);function v(O){["next","throw","return"].forEach(function(A){f(O,A,function(S){return this._invoke(A,S)})})}function N(O,A){function S(k,U,G,z){var $=_(O[k],O,U);if($.type!=="throw"){var J=$.arg,Z=J.value;return Z&&Gu(Z)=="object"&&r.call(Z,"__await")?A.resolve(Z.__await).then(function(ue){S("next",ue,G,z)},function(ue){S("throw",ue,G,z)}):A.resolve(Z).then(function(ue){J.value=ue,G(J)},function(ue){return S("throw",ue,G,z)})}z($.arg)}var x;n(this,"_invoke",{value:function(U,G){function z(){return new A(function($,J){S(U,G,$,J)})}return x=x?x.then(z,z):z()}})}function M(O,A,S){var x="suspendedStart";return function(k,U){if(x==="executing")throw new Error("Generator is already running");if(x==="completed"){if(k==="throw")throw U;return w()}for(S.method=k,S.arg=U;;){var G=S.delegate;if(G){var z=F(G,S);if(z){if(z===E)continue;return z}}if(S.method==="next")S.sent=S._sent=S.arg;else if(S.method==="throw"){if(x==="suspendedStart")throw x="completed",S.arg;S.dispatchException(S.arg)}else S.method==="return"&&S.abrupt("return",S.arg);x="executing";var $=_(O,A,S);if($.type==="normal"){if(x=S.done?"completed":"suspendedYield",$.arg===E)continue;return{value:$.arg,done:S.done}}$.type==="throw"&&(x="completed",S.method="throw",S.arg=$.arg)}}}function F(O,A){var S=A.method,x=O.iterator[S];if(x===void 0)return A.delegate=null,S==="throw"&&O.iterator.return&&(A.method="return",A.arg=void 0,F(O,A),A.method==="throw")||S!=="return"&&(A.method="throw",A.arg=new TypeError("The iterator does not provide a '"+S+"' method")),E;var k=_(x,O.iterator,A.arg);if(k.type==="throw")return A.method="throw",A.arg=k.arg,A.delegate=null,E;var U=k.arg;return U?U.done?(A[O.resultName]=U.value,A.next=O.nextLoc,A.method!=="return"&&(A.method="next",A.arg=void 0),A.delegate=null,E):U:(A.method="throw",A.arg=new TypeError("iterator result is not an object"),A.delegate=null,E)}function D(O){var A={tryLoc:O[0]};1 in O&&(A.catchLoc=O[1]),2 in O&&(A.finallyLoc=O[2],A.afterLoc=O[3]),this.tryEntries.push(A)}function K(O){var A=O.completion||{};A.type="normal",delete A.arg,O.completion=A}function H(O){this.tryEntries=[{tryLoc:"root"}],O.forEach(D,this),this.reset(!0)}function Y(O){if(O){var A=O[a];if(A)return A.call(O);if(typeof O.next=="function")return O;if(!isNaN(O.length)){var S=-1,x=function k(){for(;++S<O.length;)if(r.call(O,S))return k.value=O[S],k.done=!1,k;return k.value=void 0,k.done=!0,k};return x.next=x}}return{next:w}}function w(){return{value:void 0,done:!0}}return d.prototype=h,n(I,"constructor",{value:h,configurable:!0}),n(h,"constructor",{value:d,configurable:!0}),d.displayName=f(h,u,"GeneratorFunction"),e.isGeneratorFunction=function(O){var A=typeof O=="function"&&O.constructor;return!!A&&(A===d||(A.displayName||A.name)==="GeneratorFunction")},e.mark=function(O){return Object.setPrototypeOf?Object.setPrototypeOf(O,h):(O.__proto__=h,f(O,u,"GeneratorFunction")),O.prototype=Object.create(I),O},e.awrap=function(O){return{__await:O}},v(N.prototype),f(N.prototype,s,function(){return this}),e.AsyncIterator=N,e.async=function(O,A,S,x,k){k===void 0&&(k=Promise);var U=new N(l(O,A,S,x),k);return e.isGeneratorFunction(A)?U:U.next().then(function(G){return G.done?G.value:U.next()})},v(I),f(I,u,"Generator"),f(I,a,function(){return this}),f(I,"toString",function(){return"[object Generator]"}),e.keys=function(O){var A=Object(O),S=[];for(var x in A)S.push(x);return S.reverse(),function k(){for(;S.length;){var U=S.pop();if(U in A)return k.value=U,k.done=!1,k}return k.done=!0,k}},e.values=Y,H.prototype={constructor:H,reset:function(A){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(K),!A)for(var S in this)S.charAt(0)==="t"&&r.call(this,S)&&!isNaN(+S.slice(1))&&(this[S]=void 0)},stop:function(){this.done=!0;var A=this.tryEntries[0].completion;if(A.type==="throw")throw A.arg;return this.rval},dispatchException:function(A){if(this.done)throw A;var S=this;function x(J,Z){return G.type="throw",G.arg=A,S.next=J,Z&&(S.method="next",S.arg=void 0),!!Z}for(var k=this.tryEntries.length-1;k>=0;--k){var U=this.tryEntries[k],G=U.completion;if(U.tryLoc==="root")return x("end");if(U.tryLoc<=this.prev){var z=r.call(U,"catchLoc"),$=r.call(U,"finallyLoc");if(z&&$){if(this.prev<U.catchLoc)return x(U.catchLoc,!0);if(this.prev<U.finallyLoc)return x(U.finallyLoc)}else if(z){if(this.prev<U.catchLoc)return x(U.catchLoc,!0)}else{if(!$)throw new Error("try statement without catch or finally");if(this.prev<U.finallyLoc)return x(U.finallyLoc)}}}},abrupt:function(A,S){for(var x=this.tryEntries.length-1;x>=0;--x){var k=this.tryEntries[x];if(k.tryLoc<=this.prev&&r.call(k,"finallyLoc")&&this.prev<k.finallyLoc){var U=k;break}}U&&(A==="break"||A==="continue")&&U.tryLoc<=S&&S<=U.finallyLoc&&(U=null);var G=U?U.completion:{};return G.type=A,G.arg=S,U?(this.method="next",this.next=U.finallyLoc,E):this.complete(G)},complete:function(A,S){if(A.type==="throw")throw A.arg;return A.type==="break"||A.type==="continue"?this.next=A.arg:A.type==="return"?(this.rval=this.arg=A.arg,this.method="return",this.next="end"):A.type==="normal"&&S&&(this.next=S),E},finish:function(A){for(var S=this.tryEntries.length-1;S>=0;--S){var x=this.tryEntries[S];if(x.finallyLoc===A)return this.complete(x.completion,x.afterLoc),K(x),E}},catch:function(A){for(var S=this.tryEntries.length-1;S>=0;--S){var x=this.tryEntries[S];if(x.tryLoc===A){var k=x.completion;if(k.type==="throw"){var U=k.arg;K(x)}return U}}throw new Error("illegal catch attempt")},delegateYield:function(A,S,x){return this.delegate={iterator:Y(A),resultName:S,nextLoc:x},this.method==="next"&&(this.arg=void 0),E}},e}qe.exports=Vi,qe.exports.__esModule=!0,qe.exports.default=qe.exports});var Fe=_n((vh,Ki)=>{var Ar=ji()();Ki.exports=Ar;try{regeneratorRuntime=Ar}catch{typeof globalThis=="object"?globalThis.regeneratorRuntime=Ar:Function("r","regeneratorRuntime = r")(Ar)}});var Xd={};Vu(Xd,{AnimationLoop:()=>Ir,AnimationLoopTemplate:()=>Yi,ClipSpace:()=>su,ConeGeometry:()=>pu,CubeGeometry:()=>hu,CylinderGeometry:()=>Au,Geometry:()=>be,GroupNode:()=>uu,IcoSphereGeometry:()=>vu,KeyFrames:()=>Hi,Model:()=>Ut,ModelNode:()=>fu,PipelineFactory:()=>kr,PlaneGeometry:()=>Ou,ScenegraphNode:()=>vt,SphereGeometry:()=>bu,Timeline:()=>Xi,Transform:()=>tu,TruncatedConeGeometry:()=>Kt,makeAnimationLoop:()=>ja});function Yt(e){if(Array.isArray(e))return e}function En(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,a,s,u=[],f=!0,l=!1;try{if(a=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=a.call(r)).done)&&(u.push(n.value),u.length!==t);f=!0);}catch(_){l=!0,i=_}finally{try{if(!f&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(l)throw i}}return u}}function gt(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function ut(e,t){if(e){if(typeof e=="string")return gt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return gt(e,t)}}function zt(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
8
8
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function j(e,t){return Yt(e)||En(e,t)||ut(e,t)||zt()}function b(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function pe(e){return pe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},pe(e)}function pn(e,t){if(pe(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(pe(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Gt(e){var t=pn(e,"string");return pe(t)==="symbol"?t:String(t)}function wi(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Gt(n.key),n)}}function C(e,t,r){return t&&wi(e.prototype,t),r&&wi(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function c(e,t,r){return t=Gt(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function dn(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Ku(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(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,s=!1,u;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,u=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw u}}}}function Ku(e,t){if(e){if(typeof e=="string")return Li(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Li(e,t)}}function Li(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var Yu=1,zu=1,Xi=function(){function e(){b(this,e),c(this,"time",0),c(this,"channels",new Map),c(this,"animations",new Map),c(this,"playing",!1),c(this,"lastEngineTime",-1)}return C(e,[{key:"addChannel",value:function(r){var n=r.delay,i=n===void 0?0:n,a=r.duration,s=a===void 0?Number.POSITIVE_INFINITY:a,u=r.rate,f=u===void 0?1:u,l=r.repeat,_=l===void 0?1:l,E=Yu++,p={time:0,delay:i,duration:s,rate:f,repeat:_};return this._setChannelTime(p,this.time),this.channels.set(E,p),E}},{key:"removeChannel",value:function(r){this.channels.delete(r);var n=dn(this.animations),i;try{for(n.s();!(i=n.n()).done;){var a=j(i.value,2),s=a[0],u=a[1];u.channel===r&&this.detachAnimation(s)}}catch(f){n.e(f)}finally{n.f()}}},{key:"isFinished",value:function(r){var n=this.channels.get(r);return n===void 0?!1:this.time>=n.delay+n.duration*n.repeat}},{key:"getTime",value:function(r){if(r===void 0)return this.time;var n=this.channels.get(r);return n===void 0?-1:n.time}},{key:"setTime",value:function(r){this.time=Math.max(0,r);var n=this.channels.values(),i=dn(n),a;try{for(i.s();!(a=i.n()).done;){var s=a.value;this._setChannelTime(s,this.time)}}catch(d){i.e(d)}finally{i.f()}var u=this.animations.values(),f=dn(u),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(r,n){var i=zu++;return this.animations.set(i,{animation:r,channel:n}),r.setTime(this.getTime(n)),i}},{key:"detachAnimation",value:function(r){this.animations.delete(r)}},{key:"update",value:function(r){this.playing&&(this.lastEngineTime===-1&&(this.lastEngineTime=r),this.setTime(this.time+(r-this.lastEngineTime)),this.lastEngineTime=r)}},{key:"_setChannelTime",value:function(r,n){var i=n-r.delay,a=r.duration*r.repeat;i>=a?r.time=r.duration*r.rate:(r.time=Math.max(0,i)%r.duration,r.time*=r.rate)}}]),e}();var Hi=function(){function e(t){b(this,e),c(this,"startIndex",-1),c(this,"endIndex",-1),c(this,"factor",0),c(this,"times",[]),c(this,"values",[]),c(this,"_lastTime",-1),this.setKeyFrames(t),this.setTime(0)}return C(e,[{key:"setKeyFrames",value:function(r){var n=r.length;this.times.length=n,this.values.length=n;for(var i=0;i<n;++i)this.times[i]=r[i][0],this.values[i]=r[i][1];this._calculateKeys(this._lastTime)}},{key:"setTime",value:function(r){r=Math.max(0,r),r!==this._lastTime&&(this._calculateKeys(r),this._lastTime=r)}},{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(r){var n=0,i=this.times.length;for(n=0;n<i-2&&!(this.times[n+1]>r);++n);this.startIndex=n,this.endIndex=n+1;var a=this.times[this.startIndex],s=this.times[this.endIndex];this.factor=Math.min(Math.max(0,(r-a)/(s-a)),1)}}]),e}();function Wi(e,t,r,n,i,a,s){try{var u=e[a](s),f=u.value}catch(l){r(l);return}u.done?t(f):Promise.resolve(f).then(n,i)}function re(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var a=e.apply(t,r);function s(f){Wi(a,n,i,s,u,"next",f)}function u(f){Wi(a,n,i,s,u,"throw",f)}s(void 0)})}}var mn=Be(Fe(),1),Yi=function(){function e(t){b(this,e)}return C(e,[{key:"onInitialize",value:function(){var t=re(mn.default.mark(function n(i){return mn.default.wrap(function(s){for(;;)switch(s.prev=s.next){case 0:return s.abrupt("return",null);case 1:case"end":return s.stop()}},n)}));function r(n){return t.apply(this,arguments)}return r}()}]),e}();var Ze=Be(Fe(),1);function $t(e){if(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&Boolean(process.versions.electron))return!0;let t=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,r=e||t;return!!(r&&r.indexOf("Electron")>=0)}function oe(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||$t()}var $u=globalThis.self||globalThis.window||globalThis.global,gt=globalThis.window||globalThis.self||globalThis.global,qu=globalThis.document||{},ft=globalThis.process||{},Zu=globalThis.console,zi=globalThis.navigator||{};var Tr=typeof __VERSION__<"u"?__VERSION__:"untranspiled source",Ih=oe();var Rn=globalThis;function vr(e){if(!e&&!oe())return"Node";if($t(e))return"Electron";let t=e||zi.userAgent||"";if(t.indexOf("Edge")>-1)return"Edge";let r=t.indexOf("MSIE ")!==-1,n=t.indexOf("Trident/")!==-1;return r||n?"IE":Rn.chrome?"Chrome":Rn.safari?"Safari":Rn.mozInnerScreenX?"Firefox":"Unknown"}function Qu(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var gr=class{constructor(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";this.storage=void 0,this.id=void 0,this.config=void 0,this.storage=Qu(n),this.id=t,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){if(Object.assign(this.config,t),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let t={};if(this.storage){let r=this.storage.getItem(this.id);t=r?JSON.parse(r):{}}return Object.assign(this.config,t),this}};function Gi(e){let t;return e<10?t="".concat(e.toFixed(2),"ms"):e<100?t="".concat(e.toFixed(1),"ms"):e<1e3?t="".concat(e.toFixed(0),"ms"):t="".concat((e/1e3).toFixed(2),"s"),t}function $i(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(t-e.length,0);return"".concat(" ".repeat(r)).concat(e)}function Sr(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(r=Math.min(r,n/e.width));let a=e.width*r,s=e.height*r,u=["font-size:1px;","padding:".concat(Math.floor(s/2),"px ").concat(Math.floor(a/2),"px;"),"line-height:".concat(s,"px;"),"background:url(".concat(i,");"),"background-size:".concat(a,"px ").concat(s,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),u]}var Or;(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"})(Or||(Or={}));var Ju=10;function qi(e){return typeof e!="string"?e:(e=e.toUpperCase(),Or[e]||Or.WHITE)}function Zi(e,t,r){if(!oe&&typeof e=="string"){if(t){let n=qi(t);e="\x1B[".concat(n,"m").concat(e,"\x1B[39m")}if(r){let n=qi(r);e="\x1B[".concat(n+Ju,"m").concat(e,"\x1B[49m")}}return e}function Qi(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(r),i=e;for(let a of n){let s=i[a];typeof s=="function"&&(t.find(u=>a===u)||(i[a]=s.bind(e)))}}function St(e,t){if(!e)throw new Error(t||"Assertion failed")}function lt(){let e;if(oe()&&gt.performance){var t,r;e=gt===null||gt===void 0||(t=gt.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if("hrtime"in ft){var n;let i=ft===null||ft===void 0||(n=ft.hrtime)===null||n===void 0?void 0:n.call(ft);e=i[0]*1e3+i[1]/1e6}else e=Date.now();return e}var Ot={debug:oe()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},ef={enabled:!0,level:0};function De(){}var Ji={},ea={once:!0},rt=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};this.id=void 0,this.VERSION=Tr,this._startTs=lt(),this._deltaTs=lt(),this._storage=void 0,this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new gr("__probe-".concat(this.id,"__"),ef),this.timeStamp("".concat(this.id," started")),Qi(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((lt()-this._startTs).toPrecision(10))}getDelta(){return Number((lt()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:t}),this}setLevel(t){return this._storage.setConfiguration({level:t}),this}get(t){return this._storage.config[t]}set(t,r){this._storage.setConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){St(t,r)}warn(t){return this._getLogFunction(0,t,Ot.warn,arguments,ea)}error(t){return this._getLogFunction(0,t,Ot.error,arguments)}deprecated(t,r){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(r,"` instead"))}removed(t,r){return this.error("`".concat(t,"` has been removed. Use `").concat(r,"` instead"))}probe(t,r){return this._getLogFunction(t,r,Ot.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,Ot.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,Ot.debug||Ot.info,arguments,ea)}table(t,r,n){return r?this._getLogFunction(t,r,console.table||De,n&&[n],{tag:af(r)}):De}image(t){let{logLevel:r,priority:n,image:i,message:a="",scale:s=1}=t;return this._shouldLog(r||n)?oe()?nf({image:i,message:a,scale:s}):rf({image:i,message:a,scale:s}):De}time(t,r){return this._getLogFunction(t,r,console.time?console.time:console.info)}timeEnd(t,r){return this._getLogFunction(t,r,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,r){return this._getLogFunction(t,r,console.timeStamp||De)}group(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},i=ta({logLevel:t,message:r,opts:n}),{collapsed:a}=n;return i.method=(a?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(t,r,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||De)}withGroup(t,r,n){this.group(t,r)();try{n()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=ra(t)}_getLogFunction(t,r,n,i,a){if(this._shouldLog(t)){a=ta({logLevel:t,message:r,args:i,opts:a}),n=n||a.method,St(n),a.total=this.getTotal(),a.delta=this.getDelta(),this._deltaTs=lt();let s=a.tag||a.message;if(a.once&&s)if(!Ji[s])Ji[s]=lt();else return De;return r=tf(this.id,a.message,a),n.bind(console,r,...a.args)}return De}};rt.VERSION=Tr;function ra(e){if(!e)return 0;let t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return St(Number.isFinite(t)&&t>=0),t}function ta(e){let{logLevel:t,message:r}=e;e.logLevel=ra(t);let n=e.args?Array.from(e.args):[];for(;n.length&&n.shift()!==r;);switch(typeof t){case"string":case"function":r!==void 0&&n.unshift(r),e.message=t;break;case"object":Object.assign(e,t);break;default:}typeof e.message=="function"&&(e.message=e.message());let i=typeof e.message;return St(i==="string"||i==="object"),Object.assign(e,{args:n},e.opts)}function tf(e,t,r){if(typeof t=="string"){let n=r.time?$i(Gi(r.total)):"";t=r.time?"".concat(e,": ").concat(n," ").concat(t):"".concat(e,": ").concat(t),t=Zi(t,r.color,r.background)}return t}function rf(e){let{image:t,message:r="",scale:n=1}=e;return console.warn("removed"),De}function nf(e){let{image:t,message:r="",scale:n=1}=e;if(typeof t=="string"){let a=new Image;return a.onload=()=>{let s=Sr(a,r,n);console.log(...s)},a.src=t,De}let i=t.nodeName||"";if(i.toLowerCase()==="img")return console.log(...Sr(t,r,n)),De;if(i.toLowerCase()==="canvas"){let a=new Image;return a.onload=()=>console.log(...Sr(a,r,n)),a.src=t.toDataURL(),De}return De}function af(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}var cm=new rt({id:"@probe.gl/log"});var W=new rt({id:"luma.gl"});function qt(){let e;if(typeof window<"u"&&window.performance)e=window.performance.now();else if(typeof process<"u"&&process.hrtime){let t=process.hrtime();e=t[0]*1e3+t[1]/1e6}else e=Date.now();return e}var _t=class{constructor(t,r){this.name=void 0,this.type=void 0,this.sampleSize=1,this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this.name=t,this.type=r,this.reset()}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}setSampleSize(t){return this.sampleSize=t,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(t){return this._count+=t,this._samples++,this._checkSampling(),this}subtractCount(t){return this._count-=t,this._samples++,this._checkSampling(),this}addTime(t){return this._time+=t,this.lastTiming=t,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=qt(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(qt()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}};var nt=class{constructor(t){this.id=void 0,this.stats={},this.id=t.id,this.stats={},this._initializeStats(t.stats),Object.seal(this)}get(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"count";return this._getOrCreate({name:t,type:r})}get size(){return Object.keys(this.stats).length}reset(){for(let t of Object.values(this.stats))t.reset();return this}forEach(t){for(let r of Object.values(this.stats))t(r)}getTable(){let t={};return this.forEach(r=>{t[r.name]={time:r.time||0,count:r.count||0,average:r.getAverageTime()||0,hz:r.getHz()||0}}),t}_initializeStats(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).forEach(r=>this._getOrCreate(r))}_getOrCreate(t){let{name:r,type:n}=t,i=this.stats[r];return i||(t instanceof _t?i=t:i=new _t(r,n),this.stats[r]=i),i}};var of=function(){function e(){b(this,e),c(this,"stats",new Map)}return C(e,[{key:"getStats",value:function(r){return this.get(r)}},{key:"get",value:function(r){return this.stats.has(r)||this.stats.set(r,new nt({id:r})),this.stats.get(r)}}]),e}(),yt=new of;function sf(){var e=typeof __VERSION__<"u"?__VERSION__:"untranspiled source",t="set luma.log.level=1 (or higher) to trace rendering";if(globalThis.luma&&globalThis.luma.VERSION!==e)throw new Error("luma.gl - multiple VERSIONs detected: ".concat(globalThis.luma.VERSION," vs ").concat(e));return globalThis.luma||(oe()&&W.log(1,"luma.gl ".concat(e," - ").concat(t))(),globalThis.luma=globalThis.luma||{VERSION:e,version:e,log:W,stats:yt}),e}var na=sf();var gn=Be(Fe(),1);var An={};function ee(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"id";An[e]=An[e]||1;var t=An[e]++;return"".concat(e,"-").concat(t)}function yr(e){return e>0&&(e&e-1)===0}function bt(e){var t=!0;for(var r in e){t=!1;break}return t}function g(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Et(e,t){return Et=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Et(e,t)}function L(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Et(e,t)}function X(e,t){if(t&&(pe(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return g(e)}function y(e){return y=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},y(e)}function ia(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function cf(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ia(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ia(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var he={id:"undefined",handle:void 0,userData:void 0},se=function(){function e(t,r,n){if(b(this,e),c(this,"id",void 0),c(this,"props",void 0),c(this,"userData",{}),c(this,"device",void 0),c(this,"_device",void 0),c(this,"destroyed",!1),c(this,"allocatedBytes",0),c(this,"_attachedResources",new Set),!t)throw new Error("no device");this._device=t,this.props=uf(r,n);var i=this.props.id!=="undefined"?this.props.id:ee(this[Symbol.toStringTag]);this.props.id=i,this.id=i,this.userData=this.props.userData||{},this.addStats()}return C(e,[{key:"destroy",value:function(){this.destroyResource()}},{key:"delete",value:function(){return this.destroy(),this}},{key:"toString",value:function(){return"".concat(this[Symbol.toStringTag]||this.constructor.name,"(").concat(this.id,")")}},{key:"getProps",value:function(){return this.props}},{key:"attachResource",value:function(r){this._attachedResources.add(r)}},{key:"detachResource",value:function(r){this._attachedResources.delete(r)}},{key:"destroyAttachedResource",value:function(r){this._attachedResources.delete(r)&&r.destroy()}},{key:"destroyAttachedResources",value:function(){for(var r=0,n=Object.values(this._attachedResources);r<n.length;r++){var i=n[r];i.destroy()}this._attachedResources=new Set}},{key:"destroyResource",value:function(){this.destroyAttachedResources(),this.removeStats(),this.destroyed=!0}},{key:"removeStats",value:function(){var r=this._device.statsManager.getStats("Resource Counts"),n=this[Symbol.toStringTag];r.get("".concat(n,"s Active")).decrementCount()}},{key:"trackAllocatedMemory",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this[Symbol.toStringTag],i=this._device.statsManager.getStats("Resource Counts");i.get("GPU Memory").addCount(r),i.get("".concat(n," Memory")).addCount(r),this.allocatedBytes=r}},{key:"trackDeallocatedMemory",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this[Symbol.toStringTag],n=this._device.statsManager.getStats("Resource Counts");n.get("GPU Memory").subtractCount(this.allocatedBytes),n.get("".concat(r," Memory")).subtractCount(this.allocatedBytes),this.allocatedBytes=0}},{key:"addStats",value:function(){var r=this._device.statsManager.getStats("Resource Counts"),n=this[Symbol.toStringTag];r.get("Resources Created").incrementCount(),r.get("".concat(n,"s Created")).incrementCount(),r.get("".concat(n,"s Active")).incrementCount()}}]),e}();c(se,"defaultProps",he);function uf(e,t){var r=cf({},t);for(var n in e)e[n]!==void 0&&(r[n]=e[n]);return r}var oa;function ff(e){var t=lf();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function lf(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function aa(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Tn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?aa(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):aa(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var _f=Tn(Tn({},he),{},{usage:0,byteLength:0,byteOffset:0,data:null,indexType:"uint16",mappedAtCreation:!1});oa=Symbol.toStringTag;var ce=function(e){L(r,e);var t=ff(r);function r(n,i){var a;b(this,r);var s=Tn({},i);return(i.usage||0)&r.INDEX&&!i.indexType&&(i.data instanceof Uint32Array?s.indexType="uint32":i.data instanceof Uint16Array&&(s.indexType="uint16")),a=t.call(this,n,s,_f),c(g(a),"byteLength",void 0),a}return C(r,[{key:oa,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")}}]),r}(se);c(ce,"MAP_READ",1);c(ce,"MAP_WRITE",2);c(ce,"COPY_SRC",4);c(ce,"COPY_DST",8);c(ce,"INDEX",16);c(ce,"VERTEX",32);c(ce,"UNIFORM",64);c(ce,"STORAGE",128);c(ce,"INDIRECT",256);c(ce,"QUERY_RESOLVE",512);var ca;function sa(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function vn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?sa(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):sa(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var br={id:null,type:"best-available",canvas:null,container:null,webgl2:!0,webgl1:!0,manageState:!0,width:800,height:600,debug:Boolean(W.get("debug")),break:[],gl:null};ca=Symbol.toStringTag;var Zt=function(){function e(t){b(this,e),c(this,"id",void 0),c(this,"statsManager",yt),c(this,"props",void 0),c(this,"userData",{}),c(this,"info",void 0),c(this,"lost",void 0),c(this,"canvasContext",void 0),this.props=vn(vn({},br),t),this.id=this.props.id||ee(this[Symbol.toStringTag].toLowerCase())}return C(e,[{key:ca,get:function(){return"Device"}},{key:"loseDevice",value:function(){return!1}},{key:"createTexture",value:function(r){return(r instanceof Promise||typeof r=="string")&&(r={data:r}),this._createTexture(r)}},{key:"createCommandEncoder",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};throw new Error("not implemented")}},{key:"_getBufferProps",value:function(r){if(r instanceof ArrayBuffer||ArrayBuffer.isView(r))return{data:r};var n=vn({},r);return(r.usage||0)&ce.INDEX&&!r.indexType&&(r.data instanceof Uint32Array?r.indexType="uint32":r.data instanceof Uint16Array&&(r.indexType="uint16")),n}}]),e}();c(Zt,"VERSION",na);function ua(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function fa(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ua(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ua(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Ef(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=pf(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
10
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,u;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,u=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw u}}}}function pf(e,t){if(e){if(typeof e=="string")return la(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return la(e,t)}}function la(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var Ct=new Map,pt=function(){function e(){b(this,e)}return C(e,null,[{key:"registerDevices",value:function(r){var n=Ef(r),i;try{for(n.s();!(i=n.n()).done;){var a=i.value;V(a.type&&a.isSupported&&a.create),Ct.set(a.type,a)}}catch(s){n.e(s)}finally{n.f()}}},{key:"getAvailableDevices",value:function(){return Array.from(Ct).map(function(r){return r.type})}},{key:"getSupportedDevices",value:function(){return Array.from(Ct).filter(function(r){return r.isSupported()}).map(function(r){return r.type})}},{key:"setDefaultDeviceProps",value:function(r){Object.assign(br,r)}},{key:"createDevice",value:function(){var t=re(gn.default.mark(function n(){var i,a,s=arguments;return gn.default.wrap(function(f){for(;;)switch(f.prev=f.next){case 0:i=s.length>0&&s[0]!==void 0?s[0]:{},i=fa(fa({},br),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=Ct.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=Ct.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=Ct.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 r(){return t.apply(this,arguments)}return r}()}]),e}();c(pt,"stats",yt);c(pt,"log",W);function df(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=hf(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
11
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,u;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,u=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw u}}}}function hf(e,t){if(e){if(typeof e=="string")return _a(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _a(e,t)}}function _a(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Ea(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function pa(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ea(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ea(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var mf=oe()&&typeof document<"u",Cr=function(){return mf&&document.readyState==="complete"},Rf={canvas:null,width:800,height:600,useDevicePixels:!0,autoResize:!0,container:null,visible:!0,colorSpace:"srgb",alphaMode:"opaque"},Pt=function(){function e(t){var r=this;if(b(this,e),c(this,"device",void 0),c(this,"id",void 0),c(this,"props",void 0),c(this,"canvas",void 0),c(this,"htmlCanvas",void 0),c(this,"offscreenCanvas",void 0),c(this,"type",void 0),c(this,"width",1),c(this,"height",1),c(this,"resizeObserver",void 0),c(this,"_canvasSizeInfo",{clientWidth:0,clientHeight:0,devicePixelRatio:1}),this.props=pa(pa({},Rf),t),t=this.props,!oe()){this.id="node-canvas-context",this.type="node",this.width=this.props.width,this.height=this.props.height,this.canvas=null;return}if(t.canvas)typeof t.canvas=="string"?this.canvas=vf(t.canvas):this.canvas=t.canvas;else{var n,i,a=gf(t),s=Tf(((n=t)===null||n===void 0?void 0:n.container)||null);s.insertBefore(a,s.firstChild),this.canvas=a,(i=t)!==null&&i!==void 0&&i.visible||(this.canvas.style.visibility="hidden")}this.canvas instanceof HTMLCanvasElement?(this.id=this.canvas.id,this.type="html-canvas",this.htmlCanvas=this.canvas):(this.id="offscreen-canvas",this.type="offscreen-canvas",this.offscreenCanvas=this.canvas),this.canvas instanceof HTMLCanvasElement&&t.autoResize&&(this.resizeObserver=new ResizeObserver(function(u){var f=df(u),l;try{for(f.s();!(l=f.n()).done;){var _=l.value;_.target===r.canvas&&r.update()}}catch(E){f.e(E)}finally{f.f()}}),this.resizeObserver.observe(this.canvas))}return C(e,[{key:"getDevicePixelRatio",value:function(r){if(typeof OffscreenCanvas<"u"&&this.canvas instanceof OffscreenCanvas||(r=r===void 0?this.props.useDevicePixels:r,!r||r<=0))return 1;if(r===!0){var n=typeof window<"u"&&window.devicePixelRatio;return n||1}return r}},{key:"getPixelSize",value:function(){switch(this.type){case"node":return[this.width,this.height];case"offscreen-canvas":return[this.canvas.width,this.canvas.height];case"html-canvas":var r=this.getDevicePixelRatio(),n=this.canvas;return n.parentElement?[n.clientWidth*r,n.clientHeight*r]:[this.canvas.width,this.canvas.height];default:throw new Error(this.type)}}},{key:"getAspect",value:function(){var r=this.getPixelSize(),n=j(r,2),i=n[0],a=n[1];return i/a}},{key:"cssToDeviceRatio",value:function(){try{var r=this.getDrawingBufferSize(),n=j(r,1),i=n[0],a=this._canvasSizeInfo.clientWidth;return a?i/a:1}catch{return 1}}},{key:"cssToDevicePixels",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,i=this.cssToDeviceRatio(),a=this.getDrawingBufferSize(),s=j(a,2),u=s[0],f=s[1];return Sf(r,i,u,f,n)}},{key:"setDevicePixelRatio",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.htmlCanvas){var i="width"in n?n.width:this.htmlCanvas.clientWidth,a="height"in n?n.height:this.htmlCanvas.clientHeight;(!i||!a)&&(W.log(1,"Canvas clientWidth/clientHeight is 0")(),r=1,i=this.htmlCanvas.width||1,a=this.htmlCanvas.height||1);var s=this._canvasSizeInfo;if(s.clientWidth!==i||s.clientHeight!==a||s.devicePixelRatio!==r){var u=r,f=Math.floor(i*u),l=Math.floor(a*u);this.htmlCanvas.width=f,this.htmlCanvas.height=l;var _=this.getDrawingBufferSize(),E=j(_,2),p=E[0],d=E[1];(p!==f||d!==l)&&(u=Math.min(p/i,d/a),this.htmlCanvas.width=Math.floor(i*u),this.htmlCanvas.height=Math.floor(a*u),W.warn("Device pixel ratio clamped")()),this._canvasSizeInfo.clientWidth=i,this._canvasSizeInfo.clientHeight=a,this._canvasSizeInfo.devicePixelRatio=r}}}},{key:"getDrawingBufferSize",value:function(){var r=this.device.gl;if(!r)throw new Error("canvas size");return[r.drawingBufferWidth,r.drawingBufferHeight]}},{key:"_setAutoCreatedCanvasId",value:function(r){var n;((n=this.htmlCanvas)===null||n===void 0?void 0:n.id)==="lumagl-auto-created-canvas"&&(this.htmlCanvas.id=r)}}],[{key:"isPageLoaded",get:function(){return Cr()}}]),e}();c(Pt,"pageLoaded",Af());function Af(){return Cr()||typeof window>"u"?Promise.resolve():new Promise(function(e){window.addEventListener("load",function(){return e()})})}function Tf(e){if(typeof e=="string"){var t=document.getElementById(e);if(!t&&!Cr())throw new Error("Accessing '".concat(e,"' before page was loaded"));if(!t)throw new Error("".concat(e," is not an HTML element"));return t}else if(e)return e;return document.body}function vf(e){var t=document.getElementById(e);if(!t&&!Cr())throw new Error("Accessing '".concat(e,"' before page was loaded"));if(!(t instanceof HTMLCanvasElement))throw new Error("'".concat(t,"' is not a canvas element"));return t}function gf(e){var t=e.width,r=e.height,n=document.createElement("canvas");return n.id="lumagl-auto-created-canvas",n.width=t||1,n.height=r||1,n.style.width=Number.isFinite(t)?"".concat(t,"px"):"100%",n.style.height=Number.isFinite(r)?"".concat(r,"px"):"100%",n}function Sf(e,t,r,n,i){var a=e,s=da(a[0],t,r),u=ha(a[1],t,n,i),f=da(a[0]+1,t,r),l=f===r-1?f:f-1;f=ha(a[1]+1,t,n,i);var _;return i?(f=f===0?f:f+1,_=u,u=f):_=f===n-1?f:f-1,{x:s,y:u,width:Math.max(l-s+1,1),height:Math.max(_-u+1,1)}}function da(e,t,r){var n=Math.min(Math.round(e*t),r-1);return n}function ha(e,t,r,n){return n?Math.max(0,r-1-Math.round(e*t)):Math.min(Math.round(e*t),r-1)}var Aa;function Of(e){var t=yf();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function yf(){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 ma(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ra(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ma(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ma(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var bf=Ra(Ra({},he),{},{data:null,dimension:"2d",format:"rgba8unorm",width:void 0,height:void 0,depth:1,mipmaps:!0,sampler:{},compressed:!1,usage:0,mipLevels:void 0,samples:void 0,type:void 0});Aa=Symbol.toStringTag;var Ne=function(e){L(r,e);var t=Of(r);function r(n,i){var a,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:bf;return b(this,r),a=t.call(this,n,i,s),c(g(a),"dimension",void 0),c(g(a),"format",void 0),c(g(a),"width",void 0),c(g(a),"height",void 0),c(g(a),"depth",void 0),c(g(a),"sampler",void 0),a.dimension=a.props.dimension,a.format=a.props.format,a.width=a.props.width,a.height=a.props.height,a.depth=a.props.depth,a}return C(r,[{key:Aa,get:function(){return"Texture"}}]),r}(se);c(Ne,"COPY_SRC",1);c(Ne,"COPY_DST",2);c(Ne,"TEXTURE_BINDING",4);c(Ne,"STORAGE_BINDING",8);c(Ne,"RENDER_ATTACHMENT",16);var ga;function Cf(e){var t=Pf();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return 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,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function va(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ta(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ta(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Nf=va(va({},he),{},{stage:"vertex",source:"",sourceMap:null,language:"glsl",shaderType:0});ga=Symbol.toStringTag;var Sn=function(e){L(r,e);var t=Cf(r);function r(n,i){var a;return b(this,r),a=t.call(this,n,i,Nf),c(g(a),"stage",void 0),c(g(a),"source",void 0),a.stage=a.props.stage,a.source=a.props.source,a}return C(r,[{key:ga,get:function(){return"Shader"}}]),r}(se);function Mf(e){var t=If();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function If(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Sa(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Oa(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Sa(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Sa(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Ff=Oa(Oa({},he),{},{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}),On=function(e,t){L(n,e);var r=Mf(n);function n(i,a){return b(this,n),r.call(this,i,a,Ff)}return C(n,[{key:t,get:function(){return"Sampler"}}]),n}(se,Symbol.toStringTag);var ba;function Df(e){var t=xf();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return 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 ya(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Nt(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ya(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ya(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Bf=Nt(Nt({},he),{},{width:1,height:1,colorAttachments:[],depthStencilAttachment:null});ba=Symbol.toStringTag;var yn=function(e){L(r,e);var t=Df(r);function r(n){var i,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return b(this,r),i=t.call(this,n,a,Bf),c(g(i),"width",void 0),c(g(i),"height",void 0),c(g(i),"colorAttachments",[]),c(g(i),"depthStencilAttachment",null),i.width=i.props.width,i.height=i.props.height,i}return C(r,[{key:ba,get:function(){return"Framebuffer"}},{key:"resize",value:function(i){var a=!i;if(i){var s=Array.isArray(i)?i:[i.width,i.height],u=j(s,2),f=u[0],l=u[1];a=a||l!==this.height||f!==this.width,this.width=f,this.height=l}a&&(W.log(2,"Resizing framebuffer ".concat(this.id," to ").concat(this.width,"x").concat(this.height))(),this.resizeAttachments(this.width,this.height))}},{key:"autoCreateAttachmentTextures",value:function(){var i=this;if(this.colorAttachments=this.props.colorAttachments.map(function(s){if(typeof s=="string"){var u=i.createColorTexture(s);return i.attachResource(u),u}return s}),this.props.depthStencilAttachment)if(typeof this.props.depthStencilAttachment=="string"){var a=this.createDepthStencilTexture(this.props.depthStencilAttachment);this.attachResource(a),this.depthStencilAttachment=a}else this.depthStencilAttachment=this.props.depthStencilAttachment}},{key:"createColorTexture",value:function(i){return this.device.createTexture({id:"color-attachment",usage:Ne.RENDER_ATTACHMENT,format:i,width:this.width,height:this.height})}},{key:"createDepthStencilTexture",value:function(i){return this.device.createTexture({id:"depth-stencil-attachment",usage:Ne.RENDER_ATTACHMENT,format:i,width:this.width,height:this.height})}},{key:"resizeAttachments",value:function(i,a){for(var s=0;s<this.colorAttachments.length;++s)if(this.colorAttachments[s]){var u=this.device._createTexture(Nt(Nt({},this.colorAttachments[s].props),{},{width:i,height:a}));this.destroyAttachedResource(this.colorAttachments[s]),this.colorAttachments[s]=u,this.attachResource(u)}if(this.depthStencilAttachment){var f=this.device._createTexture(Nt(Nt({},this.depthStencilAttachment.props),{},{width:i,height:a}));this.destroyAttachedResource(this.depthStencilAttachment),this.depthStencilAttachment=f,this.attachResource(f)}}}]),r}(se);var Na;function Uf(e){var t=wf();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return 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 Ca(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Pa(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ca(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ca(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Ma=Pa(Pa({},he),{},{vs:null,vsEntryPoint:"",vsConstants:{},fs:null,fsEntryPoint:"",fsConstants:{},layout:null,topology:"triangle-list",parameters:{},bufferMap:[],vertexCount:0,instanceCount:0,indices:null,attributes:{},bindings:{},uniforms:{}});Na=Symbol.toStringTag;var Mt=function(e){L(r,e);var t=Uf(r);function r(n,i){var a;return b(this,r),a=t.call(this,n,i,Ma),c(g(a),"hash",""),c(g(a),"vs",void 0),c(g(a),"fs",void 0),a}return C(r,[{key:Na,get:function(){return"RenderPipeline"}}]),r}(se);c(Mt,"_DEFAULT_PROPS",Ma);var Da;function Ia(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Fa(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ia(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ia(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Lf(e){var t=Xf();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return 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}}Da=Symbol.toStringTag;var Pr=function(e){L(r,e);var t=Lf(r);function r(n,i){return b(this,r),t.call(this,n,i,r.defaultProps)}return C(r,[{key:Da,get:function(){return"RenderPass"}}]),r}(se);c(Pr,"defaultProps",Fa(Fa({},se.defaultProps),{},{framebuffer:null,parameters:void 0,clearColor:[0,0,0,0],clearDepth:1,clearStencil:0,depthReadOnly:!1,stencilReadOnly:!1,discard:!1}));function Hf(e){var t=Wf();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return 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 xa(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function kf(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?xa(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):xa(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Vf=kf({},he),bn=function(e,t){L(n,e);var r=Hf(n);function n(i){return b(this,n),r.call(this,i,Vf)}return C(n,[{key:t,get:function(){return"CommandEncoder"}},{key:"pushDebugGroup",value:function(a){}},{key:"popDebugGroup",value:function(){}},{key:"insertDebugMarker",value:function(a){}}]),n}(se,Symbol.toStringTag);function jf(e){var t=Kf();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function Kf(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Ba(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Yf(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ba(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ba(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var zf=Yf({},he),Cn=function(e,t){L(n,e);var r=jf(n);function n(i){return b(this,n),r.call(this,i,zf)}return C(n,[{key:t,get:function(){return"CommandBuffer"}}]),n}(se,Symbol.toStringTag);function V(e,t){if(!e)throw new Error(t||"luma.gl: assertion failed.")}function Nr(e){var t=Ua[e],r=Gf(t),n=!e.startsWith("float"),i=e.includes("norm"),a=e.startsWith("s");return{dataType:Ua[e],byteLength:r,integer:n,signed:a,normalized:i}}function Gf(e){var t=$f[e];return t}var Ua={uint8:"uint8",sint8:"sint8",unorm8:"uint8",snorm8:"sint8",uint16:"uint16",sint16:"sint16",unorm16:"uint16",snorm16:"sint16",float16:"float16",float32:"float32",uint32:"uint32",sint32:"sint32"},$f={uint8:1,sint8:1,uint16:2,sint16:2,float16:2,float32:4,uint32:4,sint32:4};function Pn(e){var t=e.split("x"),r=j(t,2),n=r[0],i=r[1],a=n,s=i?parseInt(i):1,u=Nr(a);return{type:a,components:s,byteLength:u.byteLength*s,integer:u.integer,signed:u.signed,normalized:u.normalized}}function wa(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function qf(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?wa(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):wa(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Zf=/^(rg?b?a?)([0-9]*)([a-z]*)(-srgb)?(-webgl|-unsized)?$/;function Mr(e){var t=Zf.exec(e);if(t){var r=j(t,6),n=r[1],i=r[2],a=r[3],s=r[4],u=r[5];if(n){var f="".concat(a).concat(i),l=Nr(f);return qf({format:n,components:0,srgb:s==="-srgb",unsized:u==="-unsized",webgl:u==="-webgl"},l)}}return Jf(e)}var Qf={"rgba4unorm-webgl":{format:"rgba",bpp:2},"rgb565unorm-webgl":{format:"rgb",bpp:2},"rgb5a1unorm-webgl":{format:"rgba",bbp:2},rgb9e5ufloat:{format:"rgb",bbp:4},rg11b10ufloat:{format:"rgb",bbp:4},rgb10a2unorm:{format:"rgba",bbp:4},"rgb10a2unorm-webgl":{format:"rgba",bbp:4},stencil8:{components:1,bpp:1,a:"stencil"},depth16unorm:{components:1,bpp:2,a:"depth"},depth24plus:{components:1,bpp:3,a:"depth"},depth32float:{components:1,bpp:4,a:"depth"},"depth24plus-stencil8":{components:2,bpp:4,a:"depth-stencil"},"depth24unorm-stencil8":{components:2,bpp:4,a:"depth-stencil"},"depth32float-stencil8":{components:2,bpp:4,a:"depth-stencil"}};function Jf(e){var t=Qf[e];if(!t)throw new Error("Unknown format ".concat(e));return{format:t.format||"",components:t.components||1,byteLength:t.bpp||1,srgb:!1,unsized:!1}}function el(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=tl(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
9
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,u;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,u=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw u}}}}function Ku(e,t){if(e){if(typeof e=="string")return Li(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Li(e,t)}}function Li(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var Yu=1,zu=1,Xi=function(){function e(){b(this,e),c(this,"time",0),c(this,"channels",new Map),c(this,"animations",new Map),c(this,"playing",!1),c(this,"lastEngineTime",-1)}return C(e,[{key:"addChannel",value:function(r){var n=r.delay,i=n===void 0?0:n,a=r.duration,s=a===void 0?Number.POSITIVE_INFINITY:a,u=r.rate,f=u===void 0?1:u,l=r.repeat,_=l===void 0?1:l,E=Yu++,p={time:0,delay:i,duration:s,rate:f,repeat:_};return this._setChannelTime(p,this.time),this.channels.set(E,p),E}},{key:"removeChannel",value:function(r){this.channels.delete(r);var n=dn(this.animations),i;try{for(n.s();!(i=n.n()).done;){var a=j(i.value,2),s=a[0],u=a[1];u.channel===r&&this.detachAnimation(s)}}catch(f){n.e(f)}finally{n.f()}}},{key:"isFinished",value:function(r){var n=this.channels.get(r);return n===void 0?!1:this.time>=n.delay+n.duration*n.repeat}},{key:"getTime",value:function(r){if(r===void 0)return this.time;var n=this.channels.get(r);return n===void 0?-1:n.time}},{key:"setTime",value:function(r){this.time=Math.max(0,r);var n=this.channels.values(),i=dn(n),a;try{for(i.s();!(a=i.n()).done;){var s=a.value;this._setChannelTime(s,this.time)}}catch(d){i.e(d)}finally{i.f()}var u=this.animations.values(),f=dn(u),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(r,n){var i=zu++;return this.animations.set(i,{animation:r,channel:n}),r.setTime(this.getTime(n)),i}},{key:"detachAnimation",value:function(r){this.animations.delete(r)}},{key:"update",value:function(r){this.playing&&(this.lastEngineTime===-1&&(this.lastEngineTime=r),this.setTime(this.time+(r-this.lastEngineTime)),this.lastEngineTime=r)}},{key:"_setChannelTime",value:function(r,n){var i=n-r.delay,a=r.duration*r.repeat;i>=a?r.time=r.duration*r.rate:(r.time=Math.max(0,i)%r.duration,r.time*=r.rate)}}]),e}();var Hi=function(){function e(t){b(this,e),c(this,"startIndex",-1),c(this,"endIndex",-1),c(this,"factor",0),c(this,"times",[]),c(this,"values",[]),c(this,"_lastTime",-1),this.setKeyFrames(t),this.setTime(0)}return C(e,[{key:"setKeyFrames",value:function(r){var n=r.length;this.times.length=n,this.values.length=n;for(var i=0;i<n;++i)this.times[i]=r[i][0],this.values[i]=r[i][1];this._calculateKeys(this._lastTime)}},{key:"setTime",value:function(r){r=Math.max(0,r),r!==this._lastTime&&(this._calculateKeys(r),this._lastTime=r)}},{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(r){var n=0,i=this.times.length;for(n=0;n<i-2&&!(this.times[n+1]>r);++n);this.startIndex=n,this.endIndex=n+1;var a=this.times[this.startIndex],s=this.times[this.endIndex];this.factor=Math.min(Math.max(0,(r-a)/(s-a)),1)}}]),e}();function Wi(e,t,r,n,i,a,s){try{var u=e[a](s),f=u.value}catch(l){r(l);return}u.done?t(f):Promise.resolve(f).then(n,i)}function re(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var a=e.apply(t,r);function s(f){Wi(a,n,i,s,u,"next",f)}function u(f){Wi(a,n,i,s,u,"throw",f)}s(void 0)})}}var mn=Be(Fe(),1),Yi=function(){function e(t){b(this,e)}return C(e,[{key:"onInitialize",value:function(){var t=re(mn.default.mark(function n(i){return mn.default.wrap(function(s){for(;;)switch(s.prev=s.next){case 0:return s.abrupt("return",null);case 1:case"end":return s.stop()}},n)}));function r(n){return t.apply(this,arguments)}return r}()}]),e}();var Ze=Be(Fe(),1);function $t(e){if(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&Boolean(process.versions.electron))return!0;let t=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,r=e||t;return!!(r&&r.indexOf("Electron")>=0)}function oe(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||$t()}var $u=globalThis.self||globalThis.window||globalThis.global,St=globalThis.window||globalThis.self||globalThis.global,qu=globalThis.document||{},ft=globalThis.process||{},Zu=globalThis.console,zi=globalThis.navigator||{};var Tr=typeof __VERSION__<"u"?__VERSION__:"untranspiled source",Ih=oe();var Rn=globalThis;function vr(e){if(!e&&!oe())return"Node";if($t(e))return"Electron";let t=e||zi.userAgent||"";if(t.indexOf("Edge")>-1)return"Edge";let r=t.indexOf("MSIE ")!==-1,n=t.indexOf("Trident/")!==-1;return r||n?"IE":Rn.chrome?"Chrome":Rn.safari?"Safari":Rn.mozInnerScreenX?"Firefox":"Unknown"}function Qu(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var gr=class{constructor(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";this.storage=void 0,this.id=void 0,this.config=void 0,this.storage=Qu(n),this.id=t,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){if(Object.assign(this.config,t),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let t={};if(this.storage){let r=this.storage.getItem(this.id);t=r?JSON.parse(r):{}}return Object.assign(this.config,t),this}};function Gi(e){let t;return e<10?t="".concat(e.toFixed(2),"ms"):e<100?t="".concat(e.toFixed(1),"ms"):e<1e3?t="".concat(e.toFixed(0),"ms"):t="".concat((e/1e3).toFixed(2),"s"),t}function $i(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(t-e.length,0);return"".concat(" ".repeat(r)).concat(e)}function Sr(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(r=Math.min(r,n/e.width));let a=e.width*r,s=e.height*r,u=["font-size:1px;","padding:".concat(Math.floor(s/2),"px ").concat(Math.floor(a/2),"px;"),"line-height:".concat(s,"px;"),"background:url(".concat(i,");"),"background-size:".concat(a,"px ").concat(s,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),u]}var Or;(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"})(Or||(Or={}));var Ju=10;function qi(e){return typeof e!="string"?e:(e=e.toUpperCase(),Or[e]||Or.WHITE)}function Zi(e,t,r){if(!oe&&typeof e=="string"){if(t){let n=qi(t);e="\x1B[".concat(n,"m").concat(e,"\x1B[39m")}if(r){let n=qi(r);e="\x1B[".concat(n+Ju,"m").concat(e,"\x1B[49m")}}return e}function Qi(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(r),i=e;for(let a of n){let s=i[a];typeof s=="function"&&(t.find(u=>a===u)||(i[a]=s.bind(e)))}}function Ot(e,t){if(!e)throw new Error(t||"Assertion failed")}function lt(){let e;if(oe()&&St.performance){var t,r;e=St===null||St===void 0||(t=St.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if("hrtime"in ft){var n;let i=ft===null||ft===void 0||(n=ft.hrtime)===null||n===void 0?void 0:n.call(ft);e=i[0]*1e3+i[1]/1e6}else e=Date.now();return e}var yt={debug:oe()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},ef={enabled:!0,level:0};function De(){}var Ji={},ea={once:!0},rt=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};this.id=void 0,this.VERSION=Tr,this._startTs=lt(),this._deltaTs=lt(),this._storage=void 0,this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new gr("__probe-".concat(this.id,"__"),ef),this.timeStamp("".concat(this.id," started")),Qi(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((lt()-this._startTs).toPrecision(10))}getDelta(){return Number((lt()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:t}),this}setLevel(t){return this._storage.setConfiguration({level:t}),this}get(t){return this._storage.config[t]}set(t,r){this._storage.setConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){Ot(t,r)}warn(t){return this._getLogFunction(0,t,yt.warn,arguments,ea)}error(t){return this._getLogFunction(0,t,yt.error,arguments)}deprecated(t,r){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(r,"` instead"))}removed(t,r){return this.error("`".concat(t,"` has been removed. Use `").concat(r,"` instead"))}probe(t,r){return this._getLogFunction(t,r,yt.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,yt.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,yt.debug||yt.info,arguments,ea)}table(t,r,n){return r?this._getLogFunction(t,r,console.table||De,n&&[n],{tag:af(r)}):De}image(t){let{logLevel:r,priority:n,image:i,message:a="",scale:s=1}=t;return this._shouldLog(r||n)?oe()?nf({image:i,message:a,scale:s}):rf({image:i,message:a,scale:s}):De}time(t,r){return this._getLogFunction(t,r,console.time?console.time:console.info)}timeEnd(t,r){return this._getLogFunction(t,r,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,r){return this._getLogFunction(t,r,console.timeStamp||De)}group(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},i=ta({logLevel:t,message:r,opts:n}),{collapsed:a}=n;return i.method=(a?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(t,r,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||De)}withGroup(t,r,n){this.group(t,r)();try{n()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=ra(t)}_getLogFunction(t,r,n,i,a){if(this._shouldLog(t)){a=ta({logLevel:t,message:r,args:i,opts:a}),n=n||a.method,Ot(n),a.total=this.getTotal(),a.delta=this.getDelta(),this._deltaTs=lt();let s=a.tag||a.message;if(a.once&&s)if(!Ji[s])Ji[s]=lt();else return De;return r=tf(this.id,a.message,a),n.bind(console,r,...a.args)}return De}};rt.VERSION=Tr;function ra(e){if(!e)return 0;let t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return Ot(Number.isFinite(t)&&t>=0),t}function ta(e){let{logLevel:t,message:r}=e;e.logLevel=ra(t);let n=e.args?Array.from(e.args):[];for(;n.length&&n.shift()!==r;);switch(typeof t){case"string":case"function":r!==void 0&&n.unshift(r),e.message=t;break;case"object":Object.assign(e,t);break;default:}typeof e.message=="function"&&(e.message=e.message());let i=typeof e.message;return Ot(i==="string"||i==="object"),Object.assign(e,{args:n},e.opts)}function tf(e,t,r){if(typeof t=="string"){let n=r.time?$i(Gi(r.total)):"";t=r.time?"".concat(e,": ").concat(n," ").concat(t):"".concat(e,": ").concat(t),t=Zi(t,r.color,r.background)}return t}function rf(e){let{image:t,message:r="",scale:n=1}=e;return console.warn("removed"),De}function nf(e){let{image:t,message:r="",scale:n=1}=e;if(typeof t=="string"){let a=new Image;return a.onload=()=>{let s=Sr(a,r,n);console.log(...s)},a.src=t,De}let i=t.nodeName||"";if(i.toLowerCase()==="img")return console.log(...Sr(t,r,n)),De;if(i.toLowerCase()==="canvas"){let a=new Image;return a.onload=()=>console.log(...Sr(a,r,n)),a.src=t.toDataURL(),De}return De}function af(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}var cm=new rt({id:"@probe.gl/log"});var W=new rt({id:"luma.gl"});function qt(){let e;if(typeof window<"u"&&window.performance)e=window.performance.now();else if(typeof process<"u"&&process.hrtime){let t=process.hrtime();e=t[0]*1e3+t[1]/1e6}else e=Date.now();return e}var _t=class{constructor(t,r){this.name=void 0,this.type=void 0,this.sampleSize=1,this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this.name=t,this.type=r,this.reset()}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}setSampleSize(t){return this.sampleSize=t,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(t){return this._count+=t,this._samples++,this._checkSampling(),this}subtractCount(t){return this._count-=t,this._samples++,this._checkSampling(),this}addTime(t){return this._time+=t,this.lastTiming=t,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=qt(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(qt()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}};var nt=class{constructor(t){this.id=void 0,this.stats={},this.id=t.id,this.stats={},this._initializeStats(t.stats),Object.seal(this)}get(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"count";return this._getOrCreate({name:t,type:r})}get size(){return Object.keys(this.stats).length}reset(){for(let t of Object.values(this.stats))t.reset();return this}forEach(t){for(let r of Object.values(this.stats))t(r)}getTable(){let t={};return this.forEach(r=>{t[r.name]={time:r.time||0,count:r.count||0,average:r.getAverageTime()||0,hz:r.getHz()||0}}),t}_initializeStats(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).forEach(r=>this._getOrCreate(r))}_getOrCreate(t){let{name:r,type:n}=t,i=this.stats[r];return i||(t instanceof _t?i=t:i=new _t(r,n),this.stats[r]=i),i}};var of=function(){function e(){b(this,e),c(this,"stats",new Map)}return C(e,[{key:"getStats",value:function(r){return this.get(r)}},{key:"get",value:function(r){return this.stats.has(r)||this.stats.set(r,new nt({id:r})),this.stats.get(r)}}]),e}(),bt=new of;function sf(){var e=typeof __VERSION__<"u"?__VERSION__:"untranspiled source",t="set luma.log.level=1 (or higher) to trace rendering";if(globalThis.luma&&globalThis.luma.VERSION!==e)throw new Error("luma.gl - multiple VERSIONs detected: ".concat(globalThis.luma.VERSION," vs ").concat(e));return globalThis.luma||(oe()&&W.log(1,"luma.gl ".concat(e," - ").concat(t))(),globalThis.luma=globalThis.luma||{VERSION:e,version:e,log:W,stats:bt}),e}var na=sf();var gn=Be(Fe(),1);var An={};function ee(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"id";An[e]=An[e]||1;var t=An[e]++;return"".concat(e,"-").concat(t)}function yr(e){return e>0&&(e&e-1)===0}function Ct(e){var t=!0;for(var r in e){t=!1;break}return t}function g(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Et(e,t){return Et=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Et(e,t)}function L(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Et(e,t)}function X(e,t){if(t&&(pe(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return g(e)}function y(e){return y=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},y(e)}function ia(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function cf(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ia(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ia(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var he={id:"undefined",handle:void 0,userData:void 0},se=function(){function e(t,r,n){if(b(this,e),c(this,"id",void 0),c(this,"props",void 0),c(this,"userData",{}),c(this,"device",void 0),c(this,"_device",void 0),c(this,"destroyed",!1),c(this,"allocatedBytes",0),c(this,"_attachedResources",new Set),!t)throw new Error("no device");this._device=t,this.props=uf(r,n);var i=this.props.id!=="undefined"?this.props.id:ee(this[Symbol.toStringTag]);this.props.id=i,this.id=i,this.userData=this.props.userData||{},this.addStats()}return C(e,[{key:"destroy",value:function(){this.destroyResource()}},{key:"delete",value:function(){return this.destroy(),this}},{key:"toString",value:function(){return"".concat(this[Symbol.toStringTag]||this.constructor.name,"(").concat(this.id,")")}},{key:"getProps",value:function(){return this.props}},{key:"attachResource",value:function(r){this._attachedResources.add(r)}},{key:"detachResource",value:function(r){this._attachedResources.delete(r)}},{key:"destroyAttachedResource",value:function(r){this._attachedResources.delete(r)&&r.destroy()}},{key:"destroyAttachedResources",value:function(){for(var r=0,n=Object.values(this._attachedResources);r<n.length;r++){var i=n[r];i.destroy()}this._attachedResources=new Set}},{key:"destroyResource",value:function(){this.destroyAttachedResources(),this.removeStats(),this.destroyed=!0}},{key:"removeStats",value:function(){var r=this._device.statsManager.getStats("Resource Counts"),n=this[Symbol.toStringTag];r.get("".concat(n,"s Active")).decrementCount()}},{key:"trackAllocatedMemory",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this[Symbol.toStringTag],i=this._device.statsManager.getStats("Resource Counts");i.get("GPU Memory").addCount(r),i.get("".concat(n," Memory")).addCount(r),this.allocatedBytes=r}},{key:"trackDeallocatedMemory",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this[Symbol.toStringTag],n=this._device.statsManager.getStats("Resource Counts");n.get("GPU Memory").subtractCount(this.allocatedBytes),n.get("".concat(r," Memory")).subtractCount(this.allocatedBytes),this.allocatedBytes=0}},{key:"addStats",value:function(){var r=this._device.statsManager.getStats("Resource Counts"),n=this[Symbol.toStringTag];r.get("Resources Created").incrementCount(),r.get("".concat(n,"s Created")).incrementCount(),r.get("".concat(n,"s Active")).incrementCount()}}]),e}();c(se,"defaultProps",he);function uf(e,t){var r=cf({},t);for(var n in e)e[n]!==void 0&&(r[n]=e[n]);return r}var oa;function ff(e){var t=lf();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function lf(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function aa(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Tn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?aa(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):aa(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var _f=Tn(Tn({},he),{},{usage:0,byteLength:0,byteOffset:0,data:null,indexType:"uint16",mappedAtCreation:!1});oa=Symbol.toStringTag;var ce=function(e){L(r,e);var t=ff(r);function r(n,i){var a;b(this,r);var s=Tn({},i);return(i.usage||0)&r.INDEX&&!i.indexType&&(i.data instanceof Uint32Array?s.indexType="uint32":i.data instanceof Uint16Array&&(s.indexType="uint16")),a=t.call(this,n,s,_f),c(g(a),"byteLength",void 0),a}return C(r,[{key:oa,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")}}]),r}(se);c(ce,"MAP_READ",1);c(ce,"MAP_WRITE",2);c(ce,"COPY_SRC",4);c(ce,"COPY_DST",8);c(ce,"INDEX",16);c(ce,"VERTEX",32);c(ce,"UNIFORM",64);c(ce,"STORAGE",128);c(ce,"INDIRECT",256);c(ce,"QUERY_RESOLVE",512);var ca;function sa(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function vn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?sa(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):sa(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var br={id:null,type:"best-available",canvas:null,container:null,webgl2:!0,webgl1:!0,manageState:!0,width:800,height:600,debug:Boolean(W.get("debug")),break:[],gl:null};ca=Symbol.toStringTag;var Zt=function(){function e(t){b(this,e),c(this,"id",void 0),c(this,"statsManager",bt),c(this,"props",void 0),c(this,"userData",{}),c(this,"info",void 0),c(this,"lost",void 0),c(this,"canvasContext",void 0),this.props=vn(vn({},br),t),this.id=this.props.id||ee(this[Symbol.toStringTag].toLowerCase())}return C(e,[{key:ca,get:function(){return"Device"}},{key:"loseDevice",value:function(){return!1}},{key:"createTexture",value:function(r){return(r instanceof Promise||typeof r=="string")&&(r={data:r}),this._createTexture(r)}},{key:"createCommandEncoder",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};throw new Error("not implemented")}},{key:"_getBufferProps",value:function(r){if(r instanceof ArrayBuffer||ArrayBuffer.isView(r))return{data:r};var n=vn({},r);return(r.usage||0)&ce.INDEX&&!r.indexType&&(r.data instanceof Uint32Array?n.indexType="uint32":r.data instanceof Uint16Array&&(n.indexType="uint16")),n}}]),e}();c(Zt,"VERSION",na);function ua(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function fa(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ua(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ua(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Ef(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=pf(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
10
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,u;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,u=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw u}}}}function pf(e,t){if(e){if(typeof e=="string")return la(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return la(e,t)}}function la(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var Pt=new Map,pt=function(){function e(){b(this,e)}return C(e,null,[{key:"registerDevices",value:function(r){var n=Ef(r),i;try{for(n.s();!(i=n.n()).done;){var a=i.value;V(a.type&&a.isSupported&&a.create),Pt.set(a.type,a)}}catch(s){n.e(s)}finally{n.f()}}},{key:"getAvailableDevices",value:function(){return Array.from(Pt).map(function(r){return r.type})}},{key:"getSupportedDevices",value:function(){return Array.from(Pt).filter(function(r){return r.isSupported()}).map(function(r){return r.type})}},{key:"setDefaultDeviceProps",value:function(r){Object.assign(br,r)}},{key:"createDevice",value:function(){var t=re(gn.default.mark(function n(){var i,a,s=arguments;return gn.default.wrap(function(f){for(;;)switch(f.prev=f.next){case 0:i=s.length>0&&s[0]!==void 0?s[0]:{},i=fa(fa({},br),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=Pt.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=Pt.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=Pt.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 r(){return t.apply(this,arguments)}return r}()}]),e}();c(pt,"stats",bt);c(pt,"log",W);function df(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=hf(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
11
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,u;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,u=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw u}}}}function hf(e,t){if(e){if(typeof e=="string")return _a(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _a(e,t)}}function _a(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Ea(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function pa(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ea(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ea(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var mf=oe()&&typeof document<"u",Cr=function(){return mf&&document.readyState==="complete"},Rf={canvas:null,width:800,height:600,useDevicePixels:!0,autoResize:!0,container:null,visible:!0,colorSpace:"srgb",alphaMode:"opaque"},Nt=function(){function e(t){var r=this;if(b(this,e),c(this,"device",void 0),c(this,"id",void 0),c(this,"props",void 0),c(this,"canvas",void 0),c(this,"htmlCanvas",void 0),c(this,"offscreenCanvas",void 0),c(this,"type",void 0),c(this,"width",1),c(this,"height",1),c(this,"resizeObserver",void 0),c(this,"_canvasSizeInfo",{clientWidth:0,clientHeight:0,devicePixelRatio:1}),this.props=pa(pa({},Rf),t),t=this.props,!oe()){this.id="node-canvas-context",this.type="node",this.width=this.props.width,this.height=this.props.height,this.canvas=null;return}if(t.canvas)typeof t.canvas=="string"?this.canvas=vf(t.canvas):this.canvas=t.canvas;else{var n,i,a=gf(t),s=Tf(((n=t)===null||n===void 0?void 0:n.container)||null);s.insertBefore(a,s.firstChild),this.canvas=a,(i=t)!==null&&i!==void 0&&i.visible||(this.canvas.style.visibility="hidden")}this.canvas instanceof HTMLCanvasElement?(this.id=this.canvas.id,this.type="html-canvas",this.htmlCanvas=this.canvas):(this.id="offscreen-canvas",this.type="offscreen-canvas",this.offscreenCanvas=this.canvas),this.canvas instanceof HTMLCanvasElement&&t.autoResize&&(this.resizeObserver=new ResizeObserver(function(u){var f=df(u),l;try{for(f.s();!(l=f.n()).done;){var _=l.value;_.target===r.canvas&&r.update()}}catch(E){f.e(E)}finally{f.f()}}),this.resizeObserver.observe(this.canvas))}return C(e,[{key:"getDevicePixelRatio",value:function(r){if(typeof OffscreenCanvas<"u"&&this.canvas instanceof OffscreenCanvas||(r=r===void 0?this.props.useDevicePixels:r,!r||r<=0))return 1;if(r===!0){var n=typeof window<"u"&&window.devicePixelRatio;return n||1}return r}},{key:"getPixelSize",value:function(){switch(this.type){case"node":return[this.width,this.height];case"offscreen-canvas":return[this.canvas.width,this.canvas.height];case"html-canvas":var r=this.getDevicePixelRatio(),n=this.canvas;return n.parentElement?[n.clientWidth*r,n.clientHeight*r]:[this.canvas.width,this.canvas.height];default:throw new Error(this.type)}}},{key:"getAspect",value:function(){var r=this.getPixelSize(),n=j(r,2),i=n[0],a=n[1];return i/a}},{key:"cssToDeviceRatio",value:function(){try{var r=this.getDrawingBufferSize(),n=j(r,1),i=n[0],a=this._canvasSizeInfo.clientWidth;return a?i/a:1}catch{return 1}}},{key:"cssToDevicePixels",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,i=this.cssToDeviceRatio(),a=this.getDrawingBufferSize(),s=j(a,2),u=s[0],f=s[1];return Sf(r,i,u,f,n)}},{key:"setDevicePixelRatio",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.htmlCanvas){var i="width"in n?n.width:this.htmlCanvas.clientWidth,a="height"in n?n.height:this.htmlCanvas.clientHeight;(!i||!a)&&(W.log(1,"Canvas clientWidth/clientHeight is 0")(),r=1,i=this.htmlCanvas.width||1,a=this.htmlCanvas.height||1);var s=this._canvasSizeInfo;if(s.clientWidth!==i||s.clientHeight!==a||s.devicePixelRatio!==r){var u=r,f=Math.floor(i*u),l=Math.floor(a*u);this.htmlCanvas.width=f,this.htmlCanvas.height=l;var _=this.getDrawingBufferSize(),E=j(_,2),p=E[0],d=E[1];(p!==f||d!==l)&&(u=Math.min(p/i,d/a),this.htmlCanvas.width=Math.floor(i*u),this.htmlCanvas.height=Math.floor(a*u),W.warn("Device pixel ratio clamped")()),this._canvasSizeInfo.clientWidth=i,this._canvasSizeInfo.clientHeight=a,this._canvasSizeInfo.devicePixelRatio=r}}}},{key:"getDrawingBufferSize",value:function(){var r=this.device.gl;if(!r)throw new Error("canvas size");return[r.drawingBufferWidth,r.drawingBufferHeight]}},{key:"_setAutoCreatedCanvasId",value:function(r){var n;((n=this.htmlCanvas)===null||n===void 0?void 0:n.id)==="lumagl-auto-created-canvas"&&(this.htmlCanvas.id=r)}}],[{key:"isPageLoaded",get:function(){return Cr()}}]),e}();c(Nt,"pageLoaded",Af());function Af(){return Cr()||typeof window>"u"?Promise.resolve():new Promise(function(e){window.addEventListener("load",function(){return e()})})}function Tf(e){if(typeof e=="string"){var t=document.getElementById(e);if(!t&&!Cr())throw new Error("Accessing '".concat(e,"' before page was loaded"));if(!t)throw new Error("".concat(e," is not an HTML element"));return t}else if(e)return e;return document.body}function vf(e){var t=document.getElementById(e);if(!t&&!Cr())throw new Error("Accessing '".concat(e,"' before page was loaded"));if(!(t instanceof HTMLCanvasElement))throw new Error("'".concat(t,"' is not a canvas element"));return t}function gf(e){var t=e.width,r=e.height,n=document.createElement("canvas");return n.id="lumagl-auto-created-canvas",n.width=t||1,n.height=r||1,n.style.width=Number.isFinite(t)?"".concat(t,"px"):"100%",n.style.height=Number.isFinite(r)?"".concat(r,"px"):"100%",n}function Sf(e,t,r,n,i){var a=e,s=da(a[0],t,r),u=ha(a[1],t,n,i),f=da(a[0]+1,t,r),l=f===r-1?f:f-1;f=ha(a[1]+1,t,n,i);var _;return i?(f=f===0?f:f+1,_=u,u=f):_=f===n-1?f:f-1,{x:s,y:u,width:Math.max(l-s+1,1),height:Math.max(_-u+1,1)}}function da(e,t,r){var n=Math.min(Math.round(e*t),r-1);return n}function ha(e,t,r,n){return n?Math.max(0,r-1-Math.round(e*t)):Math.min(Math.round(e*t),r-1)}var Aa;function Of(e){var t=yf();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function yf(){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 ma(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ra(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ma(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ma(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var bf=Ra(Ra({},he),{},{data:null,dimension:"2d",format:"rgba8unorm",width:void 0,height:void 0,depth:1,mipmaps:!0,sampler:{},compressed:!1,usage:0,mipLevels:void 0,samples:void 0,type:void 0});Aa=Symbol.toStringTag;var Ne=function(e){L(r,e);var t=Of(r);function r(n,i){var a,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:bf;return b(this,r),a=t.call(this,n,i,s),c(g(a),"dimension",void 0),c(g(a),"format",void 0),c(g(a),"width",void 0),c(g(a),"height",void 0),c(g(a),"depth",void 0),c(g(a),"sampler",void 0),a.dimension=a.props.dimension,a.format=a.props.format,a.width=a.props.width,a.height=a.props.height,a.depth=a.props.depth,a}return C(r,[{key:Aa,get:function(){return"Texture"}}]),r}(se);c(Ne,"COPY_SRC",1);c(Ne,"COPY_DST",2);c(Ne,"TEXTURE_BINDING",4);c(Ne,"STORAGE_BINDING",8);c(Ne,"RENDER_ATTACHMENT",16);var ga;function Cf(e){var t=Pf();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return 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,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function va(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ta(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ta(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Nf=va(va({},he),{},{stage:"vertex",source:"",sourceMap:null,language:"glsl",shaderType:0});ga=Symbol.toStringTag;var Sn=function(e){L(r,e);var t=Cf(r);function r(n,i){var a;return b(this,r),a=t.call(this,n,i,Nf),c(g(a),"stage",void 0),c(g(a),"source",void 0),a.stage=a.props.stage,a.source=a.props.source,a}return C(r,[{key:ga,get:function(){return"Shader"}}]),r}(se);function Mf(e){var t=If();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function If(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Sa(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Oa(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Sa(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Sa(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Ff=Oa(Oa({},he),{},{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}),On=function(e,t){L(n,e);var r=Mf(n);function n(i,a){return b(this,n),r.call(this,i,a,Ff)}return C(n,[{key:t,get:function(){return"Sampler"}}]),n}(se,Symbol.toStringTag);var ba;function Df(e){var t=xf();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return 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 ya(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Mt(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ya(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ya(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Bf=Mt(Mt({},he),{},{width:1,height:1,colorAttachments:[],depthStencilAttachment:null});ba=Symbol.toStringTag;var yn=function(e){L(r,e);var t=Df(r);function r(n){var i,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return b(this,r),i=t.call(this,n,a,Bf),c(g(i),"width",void 0),c(g(i),"height",void 0),c(g(i),"colorAttachments",[]),c(g(i),"depthStencilAttachment",null),i.width=i.props.width,i.height=i.props.height,i}return C(r,[{key:ba,get:function(){return"Framebuffer"}},{key:"resize",value:function(i){var a=!i;if(i){var s=Array.isArray(i)?i:[i.width,i.height],u=j(s,2),f=u[0],l=u[1];a=a||l!==this.height||f!==this.width,this.width=f,this.height=l}a&&(W.log(2,"Resizing framebuffer ".concat(this.id," to ").concat(this.width,"x").concat(this.height))(),this.resizeAttachments(this.width,this.height))}},{key:"autoCreateAttachmentTextures",value:function(){var i=this;if(this.colorAttachments=this.props.colorAttachments.map(function(s){if(typeof s=="string"){var u=i.createColorTexture(s);return i.attachResource(u),u}return s}),this.props.depthStencilAttachment)if(typeof this.props.depthStencilAttachment=="string"){var a=this.createDepthStencilTexture(this.props.depthStencilAttachment);this.attachResource(a),this.depthStencilAttachment=a}else this.depthStencilAttachment=this.props.depthStencilAttachment}},{key:"createColorTexture",value:function(i){return this.device.createTexture({id:"color-attachment",usage:Ne.RENDER_ATTACHMENT,format:i,width:this.width,height:this.height})}},{key:"createDepthStencilTexture",value:function(i){return this.device.createTexture({id:"depth-stencil-attachment",usage:Ne.RENDER_ATTACHMENT,format:i,width:this.width,height:this.height})}},{key:"resizeAttachments",value:function(i,a){for(var s=0;s<this.colorAttachments.length;++s)if(this.colorAttachments[s]){var u=this.device._createTexture(Mt(Mt({},this.colorAttachments[s].props),{},{width:i,height:a}));this.destroyAttachedResource(this.colorAttachments[s]),this.colorAttachments[s]=u,this.attachResource(u)}if(this.depthStencilAttachment){var f=this.device._createTexture(Mt(Mt({},this.depthStencilAttachment.props),{},{width:i,height:a}));this.destroyAttachedResource(this.depthStencilAttachment),this.depthStencilAttachment=f,this.attachResource(f)}}}]),r}(se);var Na;function Uf(e){var t=wf();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return 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 Ca(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Pa(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ca(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ca(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Ma=Pa(Pa({},he),{},{vs:null,vsEntryPoint:"",vsConstants:{},fs:null,fsEntryPoint:"",fsConstants:{},layout:null,topology:"triangle-list",parameters:{},bufferMap:[],vertexCount:0,instanceCount:0,indices:null,attributes:{},bindings:{},uniforms:{}});Na=Symbol.toStringTag;var It=function(e){L(r,e);var t=Uf(r);function r(n,i){var a;return b(this,r),a=t.call(this,n,i,Ma),c(g(a),"hash",""),c(g(a),"vs",void 0),c(g(a),"fs",void 0),a}return C(r,[{key:Na,get:function(){return"RenderPipeline"}}]),r}(se);c(It,"_DEFAULT_PROPS",Ma);var Da;function Ia(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Fa(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ia(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ia(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Lf(e){var t=Xf();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return 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}}Da=Symbol.toStringTag;var Pr=function(e){L(r,e);var t=Lf(r);function r(n,i){return b(this,r),t.call(this,n,i,r.defaultProps)}return C(r,[{key:Da,get:function(){return"RenderPass"}}]),r}(se);c(Pr,"defaultProps",Fa(Fa({},se.defaultProps),{},{framebuffer:null,parameters:void 0,clearColor:[0,0,0,0],clearDepth:1,clearStencil:0,depthReadOnly:!1,stencilReadOnly:!1,discard:!1}));function Hf(e){var t=Wf();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return 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 xa(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function kf(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?xa(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):xa(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Vf=kf({},he),bn=function(e,t){L(n,e);var r=Hf(n);function n(i){return b(this,n),r.call(this,i,Vf)}return C(n,[{key:t,get:function(){return"CommandEncoder"}},{key:"pushDebugGroup",value:function(a){}},{key:"popDebugGroup",value:function(){}},{key:"insertDebugMarker",value:function(a){}}]),n}(se,Symbol.toStringTag);function jf(e){var t=Kf();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function Kf(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Ba(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Yf(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ba(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ba(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var zf=Yf({},he),Cn=function(e,t){L(n,e);var r=jf(n);function n(i){return b(this,n),r.call(this,i,zf)}return C(n,[{key:t,get:function(){return"CommandBuffer"}}]),n}(se,Symbol.toStringTag);function V(e,t){if(!e)throw new Error(t||"luma.gl: assertion failed.")}function Nr(e){var t=Ua[e],r=Gf(t),n=!e.startsWith("float"),i=e.includes("norm"),a=e.startsWith("s");return{dataType:Ua[e],byteLength:r,integer:n,signed:a,normalized:i}}function Gf(e){var t=$f[e];return t}var Ua={uint8:"uint8",sint8:"sint8",unorm8:"uint8",snorm8:"sint8",uint16:"uint16",sint16:"sint16",unorm16:"uint16",snorm16:"sint16",float16:"float16",float32:"float32",uint32:"uint32",sint32:"sint32"},$f={uint8:1,sint8:1,uint16:2,sint16:2,float16:2,float32:4,uint32:4,sint32:4};function Pn(e){var t=e.split("x"),r=j(t,2),n=r[0],i=r[1],a=n,s=i?parseInt(i):1,u=Nr(a);return{type:a,components:s,byteLength:u.byteLength*s,integer:u.integer,signed:u.signed,normalized:u.normalized}}function wa(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function qf(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?wa(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):wa(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Zf=/^(rg?b?a?)([0-9]*)([a-z]*)(-srgb)?(-webgl|-unsized)?$/;function Mr(e){var t=Zf.exec(e);if(t){var r=j(t,6),n=r[1],i=r[2],a=r[3],s=r[4],u=r[5];if(n){var f="".concat(a).concat(i),l=Nr(f);return qf({format:n,components:0,srgb:s==="-srgb",unsized:u==="-unsized",webgl:u==="-webgl"},l)}}return Jf(e)}var Qf={"rgba4unorm-webgl":{format:"rgba",bpp:2},"rgb565unorm-webgl":{format:"rgb",bpp:2},"rgb5a1unorm-webgl":{format:"rgba",bbp:2},rgb9e5ufloat:{format:"rgb",bbp:4},rg11b10ufloat:{format:"rgb",bbp:4},rgb10a2unorm:{format:"rgba",bbp:4},"rgb10a2unorm-webgl":{format:"rgba",bbp:4},stencil8:{components:1,bpp:1,a:"stencil"},depth16unorm:{components:1,bpp:2,a:"depth"},depth24plus:{components:1,bpp:3,a:"depth"},depth32float:{components:1,bpp:4,a:"depth"},"depth24plus-stencil8":{components:2,bpp:4,a:"depth-stencil"},"depth24unorm-stencil8":{components:2,bpp:4,a:"depth-stencil"},"depth32float-stencil8":{components:2,bpp:4,a:"depth-stencil"}};function Jf(e){var t=Qf[e];if(!t)throw new Error("Unknown format ".concat(e));return{format:t.format||"",components:t.components||1,byteLength:t.bpp||1,srgb:!1,unsized:!1}}function el(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=tl(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
12
12
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,u;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,u=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw u}}}}function tl(e,t){if(e){if(typeof e=="string")return La(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return La(e,t)}}function La(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Nn(e,t,r){var n=t.split(/\r?\n/),i="",a=el(e),s;try{for(a.s();!(s=a.n()).done;){var u=s.value;i+=rl(u,n,u.lineNum,r)}}catch(f){a.e(f)}finally{a.f()}return i}function rl(e,t,r,n){if(n!=null&&n.showSourceCode){var i=e.linePos>0?"".concat(" ".repeat(e.linePos+5),`^^^
13
13
  `):"",a=nl(t,r);return"".concat(a).concat(i).concat(e.type.toUpperCase(),": ").concat(e.message,`
14
14
 
@@ -208,8 +208,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
208
208
  `),`
209
209
  `);switch(s){case"vs:#decl":i&&(e=e.replace(er,E));break;case"vs:#main-start":i&&(e=e.replace(Ao,function(p){return p+E}));break;case"vs:#main-end":i&&(e=e.replace(To,function(p){return E+p}));break;case"fs:#decl":i||(e=e.replace(er,E));break;case"fs:#main-start":i||(e=e.replace(Ao,function(p){return p+E}));break;case"fs:#main-end":i||(e=e.replace(To,function(p){return E+p}));break;default:e=e.replace(s,function(p){return p+E})}};for(var s in r)a();return e=e.replace(er,""),n&&(e=e.replace(/\}\s*$/,function(u){return u+pl[t]})),e}function dl(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=hl(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
210
210
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,u;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,u=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw u}}}}function hl(e,t){if(e){if(typeof e=="string")return vo(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return vo(e,t)}}function vo(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function go(e,t,r){switch(t){case 300:return r?Fr(e,ml):gl(e);case 100:return r?Fr(e,Al):Sl(e);default:throw new Error("unknown GLSL version ".concat(t))}}var So=[[/^(#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("]],ml=[].concat(So,[[It("attribute"),"in $1"],[It("varying"),"out $1"]]),Rl=[].concat(So,[[It("varying"),"in $1"]]),Oo=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],Al=[].concat(Oo,[[It("in"),"attribute $1"],[It("out"),"varying $1"]]),Tl=[].concat(Oo,[[It("in"),"varying $1"]]),Hn="gl_FragColor",Wn=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,vl=/void\s+main\s*\([^)]*\)\s*\{\n?/;function Fr(e,t){var r=dl(t),n;try{for(r.s();!(n=r.n()).done;){var i=j(n.value,2),a=i[0],s=i[1];e=e.replace(a,s)}}catch(u){r.e(u)}finally{r.f()}return e}function gl(e){e=Fr(e,Rl);var t=Wn.exec(e);if(t){var r=t[1];e=e.replace(new RegExp("\\b".concat(Hn,"\\b"),"g"),r)}else{var n="fragmentColor";e=e.replace(vl,function(i){return"out vec4 ".concat(n,`;
212
- `).concat(i)}).replace(new RegExp("\\b".concat(Hn,"\\b"),"g"),n)}return e}function Sl(e){e=Fr(e,Tl);var t=Wn.exec(e);if(t){var r=t[1];e=e.replace(Wn,"").replace(new RegExp("\\b".concat(r,"\\b"),"g"),Hn)}return e}function It(e){return new RegExp("\\b".concat(e,"[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)"),"g")}var yo;function kn(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Ol(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
211
+ `],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],ml=[].concat(So,[[Ft("attribute"),"in $1"],[Ft("varying"),"out $1"]]),Rl=[].concat(So,[[Ft("varying"),"in $1"]]),Oo=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],Al=[].concat(Oo,[[Ft("in"),"attribute $1"],[Ft("out"),"varying $1"]]),Tl=[].concat(Oo,[[Ft("in"),"varying $1"]]),Hn="gl_FragColor",Wn=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,vl=/void\s+main\s*\([^)]*\)\s*\{\n?/;function Fr(e,t){var r=dl(t),n;try{for(r.s();!(n=r.n()).done;){var i=j(n.value,2),a=i[0],s=i[1];e=e.replace(a,s)}}catch(u){r.e(u)}finally{r.f()}return e}function gl(e){e=Fr(e,Rl);var t=Wn.exec(e);if(t){var r=t[1];e=e.replace(new RegExp("\\b".concat(Hn,"\\b"),"g"),r)}else{var n="fragmentColor";e=e.replace(vl,function(i){return"out vec4 ".concat(n,`;
212
+ `).concat(i)}).replace(new RegExp("\\b".concat(Hn,"\\b"),"g"),n)}return e}function Sl(e){e=Fr(e,Tl);var t=Wn.exec(e);if(t){var r=t[1];e=e.replace(Wn,"").replace(new RegExp("\\b".concat(r,"\\b"),"g"),Hn)}return e}function Ft(e){return new RegExp("\\b".concat(e,"[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)"),"g")}var yo;function kn(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Ol(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
213
213
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,u;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,u=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw u}}}}function Ol(e,t){if(e){if(typeof e=="string")return bo(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return bo(e,t)}}function bo(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Co(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Dr(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Co(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Co(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var yl=`
214
214
 
215
215
  `.concat(er,`
@@ -258,23 +258,23 @@ void main() {
258
258
  }`):"varying ".concat(a," ").concat(i,`;
259
259
  void main() {
260
260
  gl_FragColor = `).concat(u,`;
261
- }`)}function Do(e,t){switch(t){case"float":return"vec4(".concat(e,", 0.0, 0.0, 1.0)");case"vec2":return"vec4(".concat(e,", 0.0, 1.0)");case"vec3":return"vec4(".concat(e,", 1.0)");case"vec4":return e;default:throw new Error(t)}}var wv=1/Math.PI*180,Lv=1/180*Math.PI,wl={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...wl}};var me=globalThis.mathgl.config;function xo(e,{precision:t=me.precision}={}){return e=Ll(e),"".concat(parseFloat(e.toPrecision(t)))}function Ft(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Yn(e,t,r){let n=me.EPSILON;r&&(me.EPSILON=r);try{if(e===t)return!0;if(Ft(e)&&Ft(t)){if(e.length!==t.length)return!1;for(let i=0;i<e.length;++i)if(!Yn(e[i],t[i]))return!1;return!0}return e&&e.equals?e.equals(t):t&&t.equals?t.equals(e):typeof e=="number"&&typeof t=="number"?Math.abs(e-t)<=me.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{me.EPSILON=n}}function Ll(e){return Math.round(e/me.EPSILON)*me.EPSILON}function Xl(e){function t(){var r=Reflect.construct(e,Array.from(arguments));return Object.setPrototypeOf(r,Object.getPrototypeOf(this)),r}return t.prototype=Object.create(e.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e,t}var Dt=class extends Xl(Array){clone(){return new this.constructor().copy(this)}fromArray(t,r=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=t[n+r];return this.check()}toArray(t=[],r=0){for(let n=0;n<this.ELEMENTS;++n)t[r+n]=this[n];return t}toObject(t){return t}from(t){return Array.isArray(t)?this.copy(t):this.fromObject(t)}to(t){return t===this?this:Ft(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(me)}formatString(t){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+xo(this[n],t);return"".concat(t.printTypes?this.constructor.name:"","[").concat(r,"]")}equals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(!Yn(this[r],t[r]))return!1;return!0}exactEquals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(this[r]!==t[r])return!1;return!0}negate(){for(let t=0;t<this.ELEMENTS;++t)this[t]=-this[t];return this.check()}lerp(t,r,n){if(n===void 0)return this.lerp(this,t,r);for(let i=0;i<this.ELEMENTS;++i){let a=t[i],s=typeof r=="number"?r:r[i];this[i]=a+n*(s-a)}return this.check()}min(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(t[r],this[r]);return this.check()}max(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.max(t[r],this[r]);return this.check()}clamp(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t[n]),r[n]);return this.check()}add(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]+=r[n];return this.check()}subtract(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]-=r[n];return this.check()}scale(t){if(typeof t=="number")for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;else for(let r=0;r<this.ELEMENTS&&r<t.length;++r)this[r]*=t[r];return this.check()}multiplyByScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}check(){if(me.debug&&!this.validate())throw new Error("math.gl: ".concat(this.constructor.name," some fields set to invalid numbers'"));return this}validate(){let t=this.length===this.ELEMENTS;for(let r=0;r<this.ELEMENTS;++r)t=t&&Number.isFinite(this[r]);return t}sub(t){return this.subtract(t)}setScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=t;return this.check()}addScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]+=t;return this.check()}subScalar(t){return this.addScalar(-t)}multiplyScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}divideScalar(t){return this.multiplyByScalar(1/t)}clampScalar(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t),r);return this.check()}get elements(){return this}};function Hl(e,t){if(e.length!==t)return!1;for(let r=0;r<e.length;++r)if(!Number.isFinite(e[r]))return!1;return!0}function Te(e){if(!Number.isFinite(e))throw new Error("Invalid number ".concat(JSON.stringify(e)));return e}function xr(e,t,r=""){if(me.debug&&!Hl(e,t))throw new Error("math.gl: ".concat(r," some fields set to invalid numbers'"));return e}function zn(e,t){if(!e)throw new Error("math.gl assertion ".concat(t))}var Br=class extends Dt{get x(){return this[0]}set x(t){this[0]=Te(t)}get y(){return this[1]}set y(t){this[1]=Te(t)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let t=0;for(let r=0;r<this.ELEMENTS;++r)t+=this[r]*this[r];return t}magnitudeSquared(){return this.lengthSquared()}distance(t){return Math.sqrt(this.distanceSquared(t))}distanceSquared(t){let r=0;for(let n=0;n<this.ELEMENTS;++n){let i=this[n]-t[n];r+=i*i}return Te(r)}dot(t){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*t[n];return Te(r)}normalize(){let t=this.magnitude();if(t!==0)for(let r=0;r<this.ELEMENTS;++r)this[r]/=t;return this.check()}multiply(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]*=r[n];return this.check()}divide(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]/=r[n];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(t){return this.distance(t)}distanceToSquared(t){return this.distanceSquared(t)}getComponent(t){return zn(t>=0&&t<this.ELEMENTS,"index is out of range"),Te(this[t])}setComponent(t,r){return zn(t>=0&&t<this.ELEMENTS,"index is out of range"),this[t]=r,this.check()}addVectors(t,r){return this.copy(t).add(r)}subVectors(t,r){return this.copy(t).subtract(r)}multiplyVectors(t,r){return this.copy(t).multiply(r)}addScaledVector(t,r){return this.add(new this.constructor(t).multiplyScalar(r))}};var Qe=typeof Float32Array<"u"?Float32Array:Array;var $v=Math.PI/180;function Wl(){let e=new Qe(2);return Qe!=Float32Array&&(e[0]=0,e[1]=0),e}function wo(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[4]*i+r[12],e[1]=r[1]*n+r[5]*i+r[13],e}var qv=function(){let e=Wl();return function(t,r,n,i,a,s){let u,f;for(r||(r=2),n||(n=0),i?f=Math.min(i*r+n,t.length):f=t.length,u=n;u<f;u+=r)e[0]=t[u],e[1]=t[u+1],a(e,e,s),t[u]=e[0],t[u+1]=e[1];return t}}();function Lo(e,t,r){let n=t[0],i=t[1],a=r[3]*n+r[7]*i||1;return e[0]=(r[0]*n+r[4]*i)/a,e[1]=(r[1]*n+r[5]*i)/a,e}function Ur(e,t,r){let n=t[0],i=t[1],a=t[2],s=r[3]*n+r[7]*i+r[11]*a||1;return e[0]=(r[0]*n+r[4]*i+r[8]*a)/s,e[1]=(r[1]*n+r[5]*i+r[9]*a)/s,e[2]=(r[2]*n+r[6]*i+r[10]*a)/s,e}function Xo(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e[2]=t[2],e}function kl(){let e=new Qe(3);return Qe!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function Vl(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Ho(e,t,r){let n=t[0],i=t[1],a=t[2],s=r[0],u=r[1],f=r[2];return e[0]=i*f-a*u,e[1]=a*s-n*f,e[2]=n*u-i*s,e}function wr(e,t,r){let n=t[0],i=t[1],a=t[2],s=r[3]*n+r[7]*i+r[11]*a+r[15];return s=s||1,e[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/s,e[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/s,e[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/s,e}function Wo(e,t,r){let n=t[0],i=t[1],a=t[2];return e[0]=n*r[0]+i*r[3]+a*r[6],e[1]=n*r[1]+i*r[4]+a*r[7],e[2]=n*r[2]+i*r[5]+a*r[8],e}function ko(e,t,r){let n=r[0],i=r[1],a=r[2],s=r[3],u=t[0],f=t[1],l=t[2],_=i*l-a*f,E=a*u-n*l,p=n*f-i*u,d=i*p-a*E,h=a*_-n*p,m=n*E-i*_,R=s*2;return _*=R,E*=R,p*=R,d*=2,h*=2,m*=2,e[0]=u+_+d,e[1]=f+E+h,e[2]=l+p+m,e}function Vo(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function jo(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function Ko(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function Yo(e,t){let r=e[0],n=e[1],i=e[2],a=t[0],s=t[1],u=t[2],f=Math.sqrt((r*r+n*n+i*i)*(a*a+s*s+u*u)),l=f&&Vl(e,t)/f;return Math.acos(Math.min(Math.max(l,-1),1))}var Jv=function(){let e=kl();return function(t,r,n,i,a,s){let u,f;for(r||(r=3),n||(n=0),i?f=Math.min(i*r+n,t.length):f=t.length,u=n;u<f;u+=r)e[0]=t[u],e[1]=t[u+1],e[2]=t[u+2],a(e,e,s),t[u]=e[0],t[u+1]=e[1],t[u+2]=e[2];return t}}();var $n=[0,0,0],Lr,Oe=class extends Br{static get ZERO(){return Lr||(Lr=new Oe(0,0,0),Object.freeze(Lr)),Lr}constructor(t=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&Ft(t)?this.copy(t):(me.debug&&(Te(t),Te(r),Te(n)),this[0]=t,this[1]=r,this[2]=n)}set(t,r,n){return this[0]=t,this[1]=r,this[2]=n,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this.check()}fromObject(t){return me.debug&&(Te(t.x),Te(t.y),Te(t.z)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this.check()}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t}get ELEMENTS(){return 3}get z(){return this[2]}set z(t){this[2]=Te(t)}angle(t){return Yo(this,t)}cross(t){return Ho(this,this,t),this.check()}rotateX({radians:t,origin:r=$n}){return Vo(this,this,r,t),this.check()}rotateY({radians:t,origin:r=$n}){return jo(this,this,r,t),this.check()}rotateZ({radians:t,origin:r=$n}){return Ko(this,this,r,t),this.check()}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return wr(this,this,t),this.check()}transformAsVector(t){return Ur(this,this,t),this.check()}transformByMatrix3(t){return Wo(this,this,t),this.check()}transformByMatrix2(t){return Xo(this,this,t),this.check()}transformByQuaternion(t){return ko(this,this,t),this.check()}};var Xr=class extends Dt{toString(){let t="[";if(me.printRowMajor){t+="row-major:";for(let r=0;r<this.RANK;++r)for(let n=0;n<this.RANK;++n)t+=" ".concat(this[n*this.RANK+r])}else{t+="column-major:";for(let r=0;r<this.ELEMENTS;++r)t+=" ".concat(this[r])}return t+="]",t}getElementIndex(t,r){return r*this.RANK+t}getElement(t,r){return this[r*this.RANK+t]}setElement(t,r,n){return this[r*this.RANK+t]=Te(n),this}getColumn(t,r=new Array(this.RANK).fill(-0)){let n=t*this.RANK;for(let i=0;i<this.RANK;++i)r[i]=this[n+i];return r}setColumn(t,r){let n=t*this.RANK;for(let i=0;i<this.RANK;++i)this[n+i]=r[i];return this}};function jl(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function zo(e,t){if(e===t){let r=t[1],n=t[2],i=t[3],a=t[6],s=t[7],u=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=a,e[11]=t[14],e[12]=i,e[13]=s,e[14]=u}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function Go(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],s=t[4],u=t[5],f=t[6],l=t[7],_=t[8],E=t[9],p=t[10],d=t[11],h=t[12],m=t[13],R=t[14],T=t[15],I=r*u-n*s,v=r*f-i*s,N=r*l-a*s,M=n*f-i*u,F=n*l-a*u,D=i*l-a*f,K=_*m-E*h,H=_*R-p*h,Y=_*T-d*h,w=E*R-p*m,O=E*T-d*m,A=p*T-d*R,S=I*A-v*O+N*w+M*Y-F*H+D*K;return S?(S=1/S,e[0]=(u*A-f*O+l*w)*S,e[1]=(i*O-n*A-a*w)*S,e[2]=(m*D-R*F+T*M)*S,e[3]=(p*F-E*D-d*M)*S,e[4]=(f*Y-s*A-l*H)*S,e[5]=(r*A-i*Y+a*H)*S,e[6]=(R*N-h*D-T*v)*S,e[7]=(_*D-p*N+d*v)*S,e[8]=(s*O-u*Y+l*K)*S,e[9]=(n*Y-r*O-a*K)*S,e[10]=(h*F-m*N+T*I)*S,e[11]=(E*N-_*F-d*I)*S,e[12]=(u*H-s*w-f*K)*S,e[13]=(r*w-n*H+i*K)*S,e[14]=(m*v-h*M-R*I)*S,e[15]=(_*M-E*v+p*I)*S,e):null}function $o(e){let t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],s=e[5],u=e[6],f=e[7],l=e[8],_=e[9],E=e[10],p=e[11],d=e[12],h=e[13],m=e[14],R=e[15],T=t*s-r*a,I=t*u-n*a,v=r*u-n*s,N=l*h-_*d,M=l*m-E*d,F=_*m-E*h,D=t*F-r*M+n*N,K=a*F-s*M+u*N,H=l*v-_*I+E*T,Y=d*v-h*I+m*T;return f*D-i*K+R*H-p*Y}function qn(e,t,r){let n=t[0],i=t[1],a=t[2],s=t[3],u=t[4],f=t[5],l=t[6],_=t[7],E=t[8],p=t[9],d=t[10],h=t[11],m=t[12],R=t[13],T=t[14],I=t[15],v=r[0],N=r[1],M=r[2],F=r[3];return e[0]=v*n+N*u+M*E+F*m,e[1]=v*i+N*f+M*p+F*R,e[2]=v*a+N*l+M*d+F*T,e[3]=v*s+N*_+M*h+F*I,v=r[4],N=r[5],M=r[6],F=r[7],e[4]=v*n+N*u+M*E+F*m,e[5]=v*i+N*f+M*p+F*R,e[6]=v*a+N*l+M*d+F*T,e[7]=v*s+N*_+M*h+F*I,v=r[8],N=r[9],M=r[10],F=r[11],e[8]=v*n+N*u+M*E+F*m,e[9]=v*i+N*f+M*p+F*R,e[10]=v*a+N*l+M*d+F*T,e[11]=v*s+N*_+M*h+F*I,v=r[12],N=r[13],M=r[14],F=r[15],e[12]=v*n+N*u+M*E+F*m,e[13]=v*i+N*f+M*p+F*R,e[14]=v*a+N*l+M*d+F*T,e[15]=v*s+N*_+M*h+F*I,e}function qo(e,t,r){let n=r[0],i=r[1],a=r[2],s,u,f,l,_,E,p,d,h,m,R,T;return t===e?(e[12]=t[0]*n+t[4]*i+t[8]*a+t[12],e[13]=t[1]*n+t[5]*i+t[9]*a+t[13],e[14]=t[2]*n+t[6]*i+t[10]*a+t[14],e[15]=t[3]*n+t[7]*i+t[11]*a+t[15]):(s=t[0],u=t[1],f=t[2],l=t[3],_=t[4],E=t[5],p=t[6],d=t[7],h=t[8],m=t[9],R=t[10],T=t[11],e[0]=s,e[1]=u,e[2]=f,e[3]=l,e[4]=_,e[5]=E,e[6]=p,e[7]=d,e[8]=h,e[9]=m,e[10]=R,e[11]=T,e[12]=s*n+_*i+h*a+t[12],e[13]=u*n+E*i+m*a+t[13],e[14]=f*n+p*i+R*a+t[14],e[15]=l*n+d*i+T*a+t[15]),e}function Zo(e,t,r){let n=r[0],i=r[1],a=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Qo(e,t,r,n){let i=n[0],a=n[1],s=n[2],u=Math.sqrt(i*i+a*a+s*s),f,l,_,E,p,d,h,m,R,T,I,v,N,M,F,D,K,H,Y,w,O,A,S,x;return u<1e-6?null:(u=1/u,i*=u,a*=u,s*=u,l=Math.sin(r),f=Math.cos(r),_=1-f,E=t[0],p=t[1],d=t[2],h=t[3],m=t[4],R=t[5],T=t[6],I=t[7],v=t[8],N=t[9],M=t[10],F=t[11],D=i*i*_+f,K=a*i*_+s*l,H=s*i*_-a*l,Y=i*a*_-s*l,w=a*a*_+f,O=s*a*_+i*l,A=i*s*_+a*l,S=a*s*_-i*l,x=s*s*_+f,e[0]=E*D+m*K+v*H,e[1]=p*D+R*K+N*H,e[2]=d*D+T*K+M*H,e[3]=h*D+I*K+F*H,e[4]=E*Y+m*w+v*O,e[5]=p*Y+R*w+N*O,e[6]=d*Y+T*w+M*O,e[7]=h*Y+I*w+F*O,e[8]=E*A+m*S+v*x,e[9]=p*A+R*S+N*x,e[10]=d*A+T*S+M*x,e[11]=h*A+I*S+F*x,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function Jo(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[4],s=t[5],u=t[6],f=t[7],l=t[8],_=t[9],E=t[10],p=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+l*n,e[5]=s*i+_*n,e[6]=u*i+E*n,e[7]=f*i+p*n,e[8]=l*i-a*n,e[9]=_*i-s*n,e[10]=E*i-u*n,e[11]=p*i-f*n,e}function es(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],s=t[1],u=t[2],f=t[3],l=t[8],_=t[9],E=t[10],p=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-l*n,e[1]=s*i-_*n,e[2]=u*i-E*n,e[3]=f*i-p*n,e[8]=a*n+l*i,e[9]=s*n+_*i,e[10]=u*n+E*i,e[11]=f*n+p*i,e}function ts(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],s=t[1],u=t[2],f=t[3],l=t[4],_=t[5],E=t[6],p=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+l*n,e[1]=s*i+_*n,e[2]=u*i+E*n,e[3]=f*i+p*n,e[4]=l*i-a*n,e[5]=_*i-s*n,e[6]=E*i-u*n,e[7]=p*i-f*n,e}function rs(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],s=r+r,u=n+n,f=i+i,l=r*s,_=n*s,E=n*u,p=i*s,d=i*u,h=i*f,m=a*s,R=a*u,T=a*f;return e[0]=1-E-h,e[1]=_+T,e[2]=p-R,e[3]=0,e[4]=_-T,e[5]=1-l-h,e[6]=d+m,e[7]=0,e[8]=p+R,e[9]=d-m,e[10]=1-l-E,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function ns(e,t,r,n,i,a,s){let u=1/(r-t),f=1/(i-n),l=1/(a-s);return e[0]=a*2*u,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a*2*f,e[6]=0,e[7]=0,e[8]=(r+t)*u,e[9]=(i+n)*f,e[10]=(s+a)*l,e[11]=-1,e[12]=0,e[13]=0,e[14]=s*a*2*l,e[15]=0,e}function Kl(e,t,r,n,i){let a=1/Math.tan(t/2);if(e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let s=1/(n-i);e[10]=(i+n)*s,e[14]=2*i*n*s}else e[10]=-1,e[14]=-2*n;return e}var is=Kl;function Yl(e,t,r,n,i,a,s){let u=1/(t-r),f=1/(n-i),l=1/(a-s);return e[0]=-2*u,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*f,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*l,e[11]=0,e[12]=(t+r)*u,e[13]=(i+n)*f,e[14]=(s+a)*l,e[15]=1,e}var as=Yl;function os(e,t,r,n){let i,a,s,u,f,l,_,E,p,d,h=t[0],m=t[1],R=t[2],T=n[0],I=n[1],v=n[2],N=r[0],M=r[1],F=r[2];return Math.abs(h-N)<1e-6&&Math.abs(m-M)<1e-6&&Math.abs(R-F)<1e-6?jl(e):(E=h-N,p=m-M,d=R-F,i=1/Math.sqrt(E*E+p*p+d*d),E*=i,p*=i,d*=i,a=I*d-v*p,s=v*E-T*d,u=T*p-I*E,i=Math.sqrt(a*a+s*s+u*u),i?(i=1/i,a*=i,s*=i,u*=i):(a=0,s=0,u=0),f=p*u-d*s,l=d*a-E*u,_=E*s-p*a,i=Math.sqrt(f*f+l*l+_*_),i?(i=1/i,f*=i,l*=i,_*=i):(f=0,l=0,_=0),e[0]=a,e[1]=f,e[2]=E,e[3]=0,e[4]=s,e[5]=l,e[6]=p,e[7]=0,e[8]=u,e[9]=_,e[10]=d,e[11]=0,e[12]=-(a*h+s*m+u*R),e[13]=-(f*h+l*m+_*R),e[14]=-(E*h+p*m+d*R),e[15]=1,e)}function zl(){let e=new Qe(4);return Qe!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function ss(e,t,r){let n=t[0],i=t[1],a=t[2],s=t[3];return e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*s,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*s,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*s,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*s,e}var _g=function(){let e=zl();return function(t,r,n,i,a,s){let u,f;for(r||(r=4),n||(n=0),i?f=Math.min(i*r+n,t.length):f=t.length,u=n;u<f;u+=r)e[0]=t[u],e[1]=t[u+1],e[2]=t[u+2],e[3]=t[u+3],a(e,e,s),t[u]=e[0],t[u+1]=e[1],t[u+2]=e[2],t[u+3]=e[3];return t}}();var Jn;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL0ROW3=3]="COL0ROW3",e[e.COL1ROW0=4]="COL1ROW0",e[e.COL1ROW1=5]="COL1ROW1",e[e.COL1ROW2=6]="COL1ROW2",e[e.COL1ROW3=7]="COL1ROW3",e[e.COL2ROW0=8]="COL2ROW0",e[e.COL2ROW1=9]="COL2ROW1",e[e.COL2ROW2=10]="COL2ROW2",e[e.COL2ROW3=11]="COL2ROW3",e[e.COL3ROW0=12]="COL3ROW0",e[e.COL3ROW1=13]="COL3ROW1",e[e.COL3ROW2=14]="COL3ROW2",e[e.COL3ROW3=15]="COL3ROW3"})(Jn||(Jn={}));var Gl=45*Math.PI/180,$l=1,Zn=.1,Qn=500,ql=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),Ue=class extends Xr{static get IDENTITY(){return Ql()}static get ZERO(){return Zl()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return Jn}constructor(t){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this[9]=t[9],this[10]=t[10],this[11]=t[11],this[12]=t[12],this[13]=t[13],this[14]=t[14],this[15]=t[15],this.check()}set(t,r,n,i,a,s,u,f,l,_,E,p,d,h,m,R){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this[4]=a,this[5]=s,this[6]=u,this[7]=f,this[8]=l,this[9]=_,this[10]=E,this[11]=p,this[12]=d,this[13]=h,this[14]=m,this[15]=R,this.check()}setRowMajor(t,r,n,i,a,s,u,f,l,_,E,p,d,h,m,R){return this[0]=t,this[1]=a,this[2]=l,this[3]=d,this[4]=r,this[5]=s,this[6]=_,this[7]=h,this[8]=n,this[9]=u,this[10]=E,this[11]=m,this[12]=i,this[13]=f,this[14]=p,this[15]=R,this.check()}toRowMajor(t){return t[0]=this[0],t[1]=this[4],t[2]=this[8],t[3]=this[12],t[4]=this[1],t[5]=this[5],t[6]=this[9],t[7]=this[13],t[8]=this[2],t[9]=this[6],t[10]=this[10],t[11]=this[14],t[12]=this[3],t[13]=this[7],t[14]=this[11],t[15]=this[15],t}identity(){return this.copy(ql)}fromObject(t){return this.check()}fromQuaternion(t){return rs(this,t),this.check()}frustum(t){let{left:r,right:n,bottom:i,top:a,near:s=Zn,far:u=Qn}=t;return u===1/0?Jl(this,r,n,i,a,s):ns(this,r,n,i,a,s,u),this.check()}lookAt(t){let{eye:r,center:n=[0,0,0],up:i=[0,1,0]}=t;return os(this,r,n,i),this.check()}ortho(t){let{left:r,right:n,bottom:i,top:a,near:s=Zn,far:u=Qn}=t;return as(this,r,n,i,a,s,u),this.check()}orthographic(t){let{fovy:r=Gl,aspect:n=$l,focalDistance:i=1,near:a=Zn,far:s=Qn}=t;cs(r);let u=r/2,f=i*Math.tan(u),l=f*n;return this.ortho({left:-l,right:l,bottom:-f,top:f,near:a,far:s})}perspective(t){let{fovy:r=45*Math.PI/180,aspect:n=1,near:i=.1,far:a=500}=t;return cs(r),is(this,r,n,i,a),this.check()}determinant(){return $o(this)}getScale(t=[-0,-0,-0]){return t[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),t[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),t[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),t}getTranslation(t=[-0,-0,-0]){return t[0]=this[12],t[1]=this[13],t[2]=this[14],t}getRotation(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),i=1/n[0],a=1/n[1],s=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*s,t[3]=0,t[4]=this[4]*i,t[5]=this[5]*a,t[6]=this[6]*s,t[7]=0,t[8]=this[8]*i,t[9]=this[9]*a,t[10]=this[10]*s,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}getRotationMatrix3(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),i=1/n[0],a=1/n[1],s=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*s,t[3]=this[4]*i,t[4]=this[5]*a,t[5]=this[6]*s,t[6]=this[8]*i,t[7]=this[9]*a,t[8]=this[10]*s,t}transpose(){return zo(this,this),this.check()}invert(){return Go(this,this),this.check()}multiplyLeft(t){return qn(this,t,this),this.check()}multiplyRight(t){return qn(this,this,t),this.check()}rotateX(t){return Jo(this,this,t),this.check()}rotateY(t){return es(this,this,t),this.check()}rotateZ(t){return ts(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,r){return Qo(this,this,t,r),this.check()}scale(t){return Zo(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return qo(this,this,t),this.check()}transform(t,r){return t.length===4?(r=ss(r||[-0,-0,-0,-0],t,this),xr(r,4),r):this.transformAsPoint(t,r)}transformAsPoint(t,r){let{length:n}=t,i;switch(n){case 2:i=wo(r||[-0,-0],t,this);break;case 3:i=wr(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return xr(i,t.length),i}transformAsVector(t,r){let n;switch(t.length){case 2:n=Lo(r||[-0,-0],t,this);break;case 3:n=Ur(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return xr(n,t.length),n}transformPoint(t,r){return this.transformAsPoint(t,r)}transformVector(t,r){return this.transformAsPoint(t,r)}transformDirection(t,r){return this.transformAsVector(t,r)}makeRotationX(t){return this.identity().rotateX(t)}makeTranslation(t,r,n){return this.identity().translate([t,r,n])}},Hr,Wr;function Zl(){return Hr||(Hr=new Ue([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(Hr)),Hr}function Ql(){return Wr||(Wr=new Ue,Object.freeze(Wr)),Wr}function cs(e){if(e>Math.PI*2)throw Error("expected radians")}function Jl(e,t,r,n,i,a){let s=2*a/(r-t),u=2*a/(i-n),f=(r+t)/(r-t),l=(i+n)/(i-n),_=-1,E=-1,p=-2*a;return e[0]=s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=u,e[6]=0,e[7]=0,e[8]=f,e[9]=l,e[10]=_,e[11]=E,e[12]=0,e[13]=0,e[14]=p,e[15]=0,e}function us(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=e_(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,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.
262
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,u;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,u=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw u}}}}function e_(e,t){if(e){if(typeof e=="string")return fs(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return fs(e,t)}}function fs(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function ls(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Xe(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ls(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ls(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var t_={vs:"",fs:"",modules:[],defines:{},inject:{},transpileToGLSL100:!1,layout:null,varyings:[],bufferMode:35981,topology:"triangle-list",parameters:{}},kr=function(){function e(t){b(this,e),c(this,"device",void 0),c(this,"stateHash",0),c(this,"_hashCounter",0),c(this,"_hashes",{}),c(this,"_useCounts",{}),c(this,"_pipelineCache",{}),c(this,"_getUniforms",{}),c(this,"_hookFunctions",[]),c(this,"_defaultModules",[]),this.device=t}return C(e,[{key:"addDefaultModule",value:function(r){this._defaultModules.find(function(n){return n.name===(typeof r=="string"?r:r.name)})||this._defaultModules.push(r),this.stateHash++}},{key:"removeDefaultModule",value:function(r){var n=typeof r=="string"?r:r.name;this._defaultModules=this._defaultModules.filter(function(i){return i.name!==n}),this.stateHash++}},{key:"addShaderHook",value:function(r,n){n&&(r=Object.assign(n,{hook:r})),this._hookFunctions.push(r),this.stateHash++}},{key:"createRenderPipeline",value:function(r){var n=Xe(Xe({},t_),r),i=this._getModuleList(n.modules),a=this._hashRenderPipeline(Xe(Xe({},n),{},{modules:i}));if(!this._pipelineCache[a]){var s=this._createRenderPipeline(Xe(Xe({},n),{},{modules:i})),u=s.pipeline,f=s.getUniforms;u.hash=a,this._pipelineCache[a]=u,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(r){var n=r.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(r){return this._getUniforms[r.hash]||null}},{key:"_createRenderPipeline",value:function(r){var n={gpu:this.device.info.gpu,features:this.device.features};if(!r.fs)throw new Error("fs");var i=Vn(n,Xe(Xe({},r),{},{fs:r.fs,hookFunctions:this._hookFunctions})),a=this.device.createRenderPipeline(Xe(Xe({},r),{},{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(r){var n=this,i=r.modules,a=i===void 0?[]:i,s=r.varyings,u=s===void 0?[]:s,f=r.defines,l=f===void 0?{}:f,_=r.inject,E=_===void 0?{}:_,p=r.parameters,d=p===void 0?{}:p,h=this._getHash(r.vs),m=r.fs?this._getHash(r.fs):0,R=a.map(function(A){return n._getHash(typeof A=="string"?A:A.name)}).sort(),T=u.map(function(A){return n._getHash(A)}),I=Object.keys(l).sort(),v=Object.keys(E).sort(),N=[],M=[],F=us(I),D;try{for(F.s();!(D=F.n()).done;){var K=D.value;N.push(this._getHash(K)),N.push(this._getHash(String(l[K])))}}catch(A){F.e(A)}finally{F.f()}var H=us(v),Y;try{for(H.s();!(Y=H.n()).done;){var w=Y.value;M.push(this._getHash(w)),M.push(this._getHash(E[w]))}}catch(A){H.e(A)}finally{H.f()}var O=JSON.stringify(d);return"".concat(h,"/").concat(m,"D").concat(N.join("/"),"M").concat(R.join("/"),"I").concat(M.join("/"),"V").concat(T.join("/"),"H").concat(this.stateHash,"B").concat(r.bufferMode).concat(r.transpileToGLSL100?"T":"","P").concat(O)}},{key:"_getHash",value:function(r){return this._hashes[r]===void 0&&(this._hashes[r]=this._hashCounter++),this._hashes[r]}},{key:"_getModuleList",value:function(){for(var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],n=new Array(this._defaultModules.length+r.length),i={},a=0,s=0,u=this._defaultModules.length;s<u;++s){var f=this._defaultModules[s],l=f.name;n[a++]=f,i[l]=!0}for(var _=0,E=r.length;_<E;++_){var p=r[_],d=p.name;i[d]||(n[a++]=p,i[d]=!0)}return n.length=a,n}}],[{key:"getDefaultPipelineFactory",value:function(r){return r.defaultPipelineFactory=r.defaultPipelineFactory||new e(r),r.defaultPipelineFactory}}]),e}();function _s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Bt(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?_s(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):_s(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var r_=Bt(Bt({},Mt._DEFAULT_PROPS),{},{vs:null,fs:null,id:"unnamed",handle:void 0,userData:{},defines:{},modules:[],moduleSettings:{},geometry:null,pipelineFactory:void 0}),Ut=function(){function e(t,r){if(b(this,e),c(this,"device",void 0),c(this,"id",void 0),c(this,"vs",void 0),c(this,"fs",null),c(this,"topology",void 0),c(this,"vertexCount",void 0),c(this,"pipelineFactory",void 0),c(this,"pipeline",void 0),c(this,"props",void 0),c(this,"_getModuleUniforms",void 0),this.props=Bt(Bt({},r_),r),r=this.props,this.id=this.props.id,this.device=t,!r.vs)throw new Error("no vertex shader");this.vs=Es(this.device,r.vs),r.fs&&(this.fs=Es(this.device,r.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"),this.pipelineFactory=this.props.pipelineFactory||kr.getDefaultPipelineFactory(this.device);var n=this.pipelineFactory.createRenderPipeline(Bt(Bt({},this.props),{},{vs:this.vs,fs:this.fs,topology:this.topology,defines:r.defines,parameters:r.parameters,layout:r.layout})),i=n.pipeline,a=n.getUniforms;this.pipeline=i,this._getModuleUniforms=a,this.props.geometry&&this._setGeometry(this.props.geometry),this.setUniforms(this._getModuleUniforms()),this.setProps(this.props)}return C(e,[{key:"destroy",value:function(){this.pipelineFactory.release(this.pipeline)}},{key:"draw",value:function(r){return this.pipeline.draw({renderPass:r,vertexCount:this.vertexCount,instanceCount:this.props.instanceCount}),this}},{key:"setProps",value:function(r){return r.indices&&this.setIndexBuffer(r.indices),r.attributes&&this.setAttributes(r.attributes),r.bindings&&this.setBindings(r.bindings),r.uniforms&&this.setUniforms(r.uniforms),r.moduleSettings&&this.updateModuleSettings(r.moduleSettings),this}},{key:"updateModuleSettings",value:function(r){var n=this._getModuleUniforms(r);return this.setUniforms(n),this}},{key:"setIndexBuffer",value:function(r){return this.pipeline.setIndexBuffer(r),this}},{key:"setAttributes",value:function(r){return this.pipeline.setAttributes(r),Object.assign(this.props.attributes,r),this}},{key:"setBindings",value:function(r){return this.pipeline.setBindings(r),Object.assign(this.props.bindings,r),this}},{key:"setUniforms",value:function(r){return this.pipeline.setUniforms(r),Object.assign(this.props.uniforms,r),this}},{key:"_setGeometry",value:function(r){var n=Ya(this.device,r);this.setAttributes(n);var i=Ka(this.device,r);i&&this.setIndexBuffer(i)}}]),e}();function Es(e,t){if(typeof t=="string")return t;switch(e.info.type){case"webgpu":if(t!=null&&t.wgsl)return t.wgsl;throw new Error("WebGPU does not support GLSL shaders");default:if(t!=null&&t.glsl)return t.glsl;throw new Error("WebGL does not support WGSL shaders")}}var o=function(e){return e[e.DEPTH_BUFFER_BIT=256]="DEPTH_BUFFER_BIT",e[e.STENCIL_BUFFER_BIT=1024]="STENCIL_BUFFER_BIT",e[e.COLOR_BUFFER_BIT=16384]="COLOR_BUFFER_BIT",e[e.POINTS=0]="POINTS",e[e.LINES=1]="LINES",e[e.LINE_LOOP=2]="LINE_LOOP",e[e.LINE_STRIP=3]="LINE_STRIP",e[e.TRIANGLES=4]="TRIANGLES",e[e.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",e[e.TRIANGLE_FAN=6]="TRIANGLE_FAN",e[e.ZERO=0]="ZERO",e[e.ONE=1]="ONE",e[e.SRC_COLOR=768]="SRC_COLOR",e[e.ONE_MINUS_SRC_COLOR=769]="ONE_MINUS_SRC_COLOR",e[e.SRC_ALPHA=770]="SRC_ALPHA",e[e.ONE_MINUS_SRC_ALPHA=771]="ONE_MINUS_SRC_ALPHA",e[e.DST_ALPHA=772]="DST_ALPHA",e[e.ONE_MINUS_DST_ALPHA=773]="ONE_MINUS_DST_ALPHA",e[e.DST_COLOR=774]="DST_COLOR",e[e.ONE_MINUS_DST_COLOR=775]="ONE_MINUS_DST_COLOR",e[e.SRC_ALPHA_SATURATE=776]="SRC_ALPHA_SATURATE",e[e.CONSTANT_COLOR=32769]="CONSTANT_COLOR",e[e.ONE_MINUS_CONSTANT_COLOR=32770]="ONE_MINUS_CONSTANT_COLOR",e[e.CONSTANT_ALPHA=32771]="CONSTANT_ALPHA",e[e.ONE_MINUS_CONSTANT_ALPHA=32772]="ONE_MINUS_CONSTANT_ALPHA",e[e.FUNC_ADD=32774]="FUNC_ADD",e[e.FUNC_SUBTRACT=32778]="FUNC_SUBTRACT",e[e.FUNC_REVERSE_SUBTRACT=32779]="FUNC_REVERSE_SUBTRACT",e[e.BLEND_EQUATION=32777]="BLEND_EQUATION",e[e.BLEND_EQUATION_RGB=32777]="BLEND_EQUATION_RGB",e[e.BLEND_EQUATION_ALPHA=34877]="BLEND_EQUATION_ALPHA",e[e.BLEND_DST_RGB=32968]="BLEND_DST_RGB",e[e.BLEND_SRC_RGB=32969]="BLEND_SRC_RGB",e[e.BLEND_DST_ALPHA=32970]="BLEND_DST_ALPHA",e[e.BLEND_SRC_ALPHA=32971]="BLEND_SRC_ALPHA",e[e.BLEND_COLOR=32773]="BLEND_COLOR",e[e.ARRAY_BUFFER_BINDING=34964]="ARRAY_BUFFER_BINDING",e[e.ELEMENT_ARRAY_BUFFER_BINDING=34965]="ELEMENT_ARRAY_BUFFER_BINDING",e[e.LINE_WIDTH=2849]="LINE_WIDTH",e[e.ALIASED_POINT_SIZE_RANGE=33901]="ALIASED_POINT_SIZE_RANGE",e[e.ALIASED_LINE_WIDTH_RANGE=33902]="ALIASED_LINE_WIDTH_RANGE",e[e.CULL_FACE_MODE=2885]="CULL_FACE_MODE",e[e.FRONT_FACE=2886]="FRONT_FACE",e[e.DEPTH_RANGE=2928]="DEPTH_RANGE",e[e.DEPTH_WRITEMASK=2930]="DEPTH_WRITEMASK",e[e.DEPTH_CLEAR_VALUE=2931]="DEPTH_CLEAR_VALUE",e[e.DEPTH_FUNC=2932]="DEPTH_FUNC",e[e.STENCIL_CLEAR_VALUE=2961]="STENCIL_CLEAR_VALUE",e[e.STENCIL_FUNC=2962]="STENCIL_FUNC",e[e.STENCIL_FAIL=2964]="STENCIL_FAIL",e[e.STENCIL_PASS_DEPTH_FAIL=2965]="STENCIL_PASS_DEPTH_FAIL",e[e.STENCIL_PASS_DEPTH_PASS=2966]="STENCIL_PASS_DEPTH_PASS",e[e.STENCIL_REF=2967]="STENCIL_REF",e[e.STENCIL_VALUE_MASK=2963]="STENCIL_VALUE_MASK",e[e.STENCIL_WRITEMASK=2968]="STENCIL_WRITEMASK",e[e.STENCIL_BACK_FUNC=34816]="STENCIL_BACK_FUNC",e[e.STENCIL_BACK_FAIL=34817]="STENCIL_BACK_FAIL",e[e.STENCIL_BACK_PASS_DEPTH_FAIL=34818]="STENCIL_BACK_PASS_DEPTH_FAIL",e[e.STENCIL_BACK_PASS_DEPTH_PASS=34819]="STENCIL_BACK_PASS_DEPTH_PASS",e[e.STENCIL_BACK_REF=36003]="STENCIL_BACK_REF",e[e.STENCIL_BACK_VALUE_MASK=36004]="STENCIL_BACK_VALUE_MASK",e[e.STENCIL_BACK_WRITEMASK=36005]="STENCIL_BACK_WRITEMASK",e[e.VIEWPORT=2978]="VIEWPORT",e[e.SCISSOR_BOX=3088]="SCISSOR_BOX",e[e.COLOR_CLEAR_VALUE=3106]="COLOR_CLEAR_VALUE",e[e.COLOR_WRITEMASK=3107]="COLOR_WRITEMASK",e[e.UNPACK_ALIGNMENT=3317]="UNPACK_ALIGNMENT",e[e.PACK_ALIGNMENT=3333]="PACK_ALIGNMENT",e[e.MAX_TEXTURE_SIZE=3379]="MAX_TEXTURE_SIZE",e[e.MAX_VIEWPORT_DIMS=3386]="MAX_VIEWPORT_DIMS",e[e.SUBPIXEL_BITS=3408]="SUBPIXEL_BITS",e[e.RED_BITS=3410]="RED_BITS",e[e.GREEN_BITS=3411]="GREEN_BITS",e[e.BLUE_BITS=3412]="BLUE_BITS",e[e.ALPHA_BITS=3413]="ALPHA_BITS",e[e.DEPTH_BITS=3414]="DEPTH_BITS",e[e.STENCIL_BITS=3415]="STENCIL_BITS",e[e.POLYGON_OFFSET_UNITS=10752]="POLYGON_OFFSET_UNITS",e[e.POLYGON_OFFSET_FACTOR=32824]="POLYGON_OFFSET_FACTOR",e[e.TEXTURE_BINDING_2D=32873]="TEXTURE_BINDING_2D",e[e.SAMPLE_BUFFERS=32936]="SAMPLE_BUFFERS",e[e.SAMPLES=32937]="SAMPLES",e[e.SAMPLE_COVERAGE_VALUE=32938]="SAMPLE_COVERAGE_VALUE",e[e.SAMPLE_COVERAGE_INVERT=32939]="SAMPLE_COVERAGE_INVERT",e[e.COMPRESSED_TEXTURE_FORMATS=34467]="COMPRESSED_TEXTURE_FORMATS",e[e.VENDOR=7936]="VENDOR",e[e.RENDERER=7937]="RENDERER",e[e.VERSION=7938]="VERSION",e[e.IMPLEMENTATION_COLOR_READ_TYPE=35738]="IMPLEMENTATION_COLOR_READ_TYPE",e[e.IMPLEMENTATION_COLOR_READ_FORMAT=35739]="IMPLEMENTATION_COLOR_READ_FORMAT",e[e.BROWSER_DEFAULT_WEBGL=37444]="BROWSER_DEFAULT_WEBGL",e[e.STATIC_DRAW=35044]="STATIC_DRAW",e[e.STREAM_DRAW=35040]="STREAM_DRAW",e[e.DYNAMIC_DRAW=35048]="DYNAMIC_DRAW",e[e.ARRAY_BUFFER=34962]="ARRAY_BUFFER",e[e.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER",e[e.BUFFER_SIZE=34660]="BUFFER_SIZE",e[e.BUFFER_USAGE=34661]="BUFFER_USAGE",e[e.CURRENT_VERTEX_ATTRIB=34342]="CURRENT_VERTEX_ATTRIB",e[e.VERTEX_ATTRIB_ARRAY_ENABLED=34338]="VERTEX_ATTRIB_ARRAY_ENABLED",e[e.VERTEX_ATTRIB_ARRAY_SIZE=34339]="VERTEX_ATTRIB_ARRAY_SIZE",e[e.VERTEX_ATTRIB_ARRAY_STRIDE=34340]="VERTEX_ATTRIB_ARRAY_STRIDE",e[e.VERTEX_ATTRIB_ARRAY_TYPE=34341]="VERTEX_ATTRIB_ARRAY_TYPE",e[e.VERTEX_ATTRIB_ARRAY_NORMALIZED=34922]="VERTEX_ATTRIB_ARRAY_NORMALIZED",e[e.VERTEX_ATTRIB_ARRAY_POINTER=34373]="VERTEX_ATTRIB_ARRAY_POINTER",e[e.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING=34975]="VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",e[e.CULL_FACE=2884]="CULL_FACE",e[e.FRONT=1028]="FRONT",e[e.BACK=1029]="BACK",e[e.FRONT_AND_BACK=1032]="FRONT_AND_BACK",e[e.BLEND=3042]="BLEND",e[e.DEPTH_TEST=2929]="DEPTH_TEST",e[e.DITHER=3024]="DITHER",e[e.POLYGON_OFFSET_FILL=32823]="POLYGON_OFFSET_FILL",e[e.SAMPLE_ALPHA_TO_COVERAGE=32926]="SAMPLE_ALPHA_TO_COVERAGE",e[e.SAMPLE_COVERAGE=32928]="SAMPLE_COVERAGE",e[e.SCISSOR_TEST=3089]="SCISSOR_TEST",e[e.STENCIL_TEST=2960]="STENCIL_TEST",e[e.NO_ERROR=0]="NO_ERROR",e[e.INVALID_ENUM=1280]="INVALID_ENUM",e[e.INVALID_VALUE=1281]="INVALID_VALUE",e[e.INVALID_OPERATION=1282]="INVALID_OPERATION",e[e.OUT_OF_MEMORY=1285]="OUT_OF_MEMORY",e[e.CONTEXT_LOST_WEBGL=37442]="CONTEXT_LOST_WEBGL",e[e.CW=2304]="CW",e[e.CCW=2305]="CCW",e[e.DONT_CARE=4352]="DONT_CARE",e[e.FASTEST=4353]="FASTEST",e[e.NICEST=4354]="NICEST",e[e.GENERATE_MIPMAP_HINT=33170]="GENERATE_MIPMAP_HINT",e[e.BYTE=5120]="BYTE",e[e.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",e[e.SHORT=5122]="SHORT",e[e.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",e[e.INT=5124]="INT",e[e.UNSIGNED_INT=5125]="UNSIGNED_INT",e[e.FLOAT=5126]="FLOAT",e[e.DOUBLE=5130]="DOUBLE",e[e.DEPTH_COMPONENT=6402]="DEPTH_COMPONENT",e[e.ALPHA=6406]="ALPHA",e[e.RGB=6407]="RGB",e[e.RGBA=6408]="RGBA",e[e.LUMINANCE=6409]="LUMINANCE",e[e.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA",e[e.UNSIGNED_SHORT_4_4_4_4=32819]="UNSIGNED_SHORT_4_4_4_4",e[e.UNSIGNED_SHORT_5_5_5_1=32820]="UNSIGNED_SHORT_5_5_5_1",e[e.UNSIGNED_SHORT_5_6_5=33635]="UNSIGNED_SHORT_5_6_5",e[e.FRAGMENT_SHADER=35632]="FRAGMENT_SHADER",e[e.VERTEX_SHADER=35633]="VERTEX_SHADER",e[e.COMPILE_STATUS=35713]="COMPILE_STATUS",e[e.DELETE_STATUS=35712]="DELETE_STATUS",e[e.LINK_STATUS=35714]="LINK_STATUS",e[e.VALIDATE_STATUS=35715]="VALIDATE_STATUS",e[e.ATTACHED_SHADERS=35717]="ATTACHED_SHADERS",e[e.ACTIVE_ATTRIBUTES=35721]="ACTIVE_ATTRIBUTES",e[e.ACTIVE_UNIFORMS=35718]="ACTIVE_UNIFORMS",e[e.MAX_VERTEX_ATTRIBS=34921]="MAX_VERTEX_ATTRIBS",e[e.MAX_VERTEX_UNIFORM_VECTORS=36347]="MAX_VERTEX_UNIFORM_VECTORS",e[e.MAX_VARYING_VECTORS=36348]="MAX_VARYING_VECTORS",e[e.MAX_COMBINED_TEXTURE_IMAGE_UNITS=35661]="MAX_COMBINED_TEXTURE_IMAGE_UNITS",e[e.MAX_VERTEX_TEXTURE_IMAGE_UNITS=35660]="MAX_VERTEX_TEXTURE_IMAGE_UNITS",e[e.MAX_TEXTURE_IMAGE_UNITS=34930]="MAX_TEXTURE_IMAGE_UNITS",e[e.MAX_FRAGMENT_UNIFORM_VECTORS=36349]="MAX_FRAGMENT_UNIFORM_VECTORS",e[e.SHADER_TYPE=35663]="SHADER_TYPE",e[e.SHADING_LANGUAGE_VERSION=35724]="SHADING_LANGUAGE_VERSION",e[e.CURRENT_PROGRAM=35725]="CURRENT_PROGRAM",e[e.NEVER=512]="NEVER",e[e.LESS=513]="LESS",e[e.EQUAL=514]="EQUAL",e[e.LEQUAL=515]="LEQUAL",e[e.GREATER=516]="GREATER",e[e.NOTEQUAL=517]="NOTEQUAL",e[e.GEQUAL=518]="GEQUAL",e[e.ALWAYS=519]="ALWAYS",e[e.KEEP=7680]="KEEP",e[e.REPLACE=7681]="REPLACE",e[e.INCR=7682]="INCR",e[e.DECR=7683]="DECR",e[e.INVERT=5386]="INVERT",e[e.INCR_WRAP=34055]="INCR_WRAP",e[e.DECR_WRAP=34056]="DECR_WRAP",e[e.NEAREST=9728]="NEAREST",e[e.LINEAR=9729]="LINEAR",e[e.NEAREST_MIPMAP_NEAREST=9984]="NEAREST_MIPMAP_NEAREST",e[e.LINEAR_MIPMAP_NEAREST=9985]="LINEAR_MIPMAP_NEAREST",e[e.NEAREST_MIPMAP_LINEAR=9986]="NEAREST_MIPMAP_LINEAR",e[e.LINEAR_MIPMAP_LINEAR=9987]="LINEAR_MIPMAP_LINEAR",e[e.TEXTURE_MAG_FILTER=10240]="TEXTURE_MAG_FILTER",e[e.TEXTURE_MIN_FILTER=10241]="TEXTURE_MIN_FILTER",e[e.TEXTURE_WRAP_S=10242]="TEXTURE_WRAP_S",e[e.TEXTURE_WRAP_T=10243]="TEXTURE_WRAP_T",e[e.TEXTURE_2D=3553]="TEXTURE_2D",e[e.TEXTURE=5890]="TEXTURE",e[e.TEXTURE_CUBE_MAP=34067]="TEXTURE_CUBE_MAP",e[e.TEXTURE_BINDING_CUBE_MAP=34068]="TEXTURE_BINDING_CUBE_MAP",e[e.TEXTURE_CUBE_MAP_POSITIVE_X=34069]="TEXTURE_CUBE_MAP_POSITIVE_X",e[e.TEXTURE_CUBE_MAP_NEGATIVE_X=34070]="TEXTURE_CUBE_MAP_NEGATIVE_X",e[e.TEXTURE_CUBE_MAP_POSITIVE_Y=34071]="TEXTURE_CUBE_MAP_POSITIVE_Y",e[e.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072]="TEXTURE_CUBE_MAP_NEGATIVE_Y",e[e.TEXTURE_CUBE_MAP_POSITIVE_Z=34073]="TEXTURE_CUBE_MAP_POSITIVE_Z",e[e.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074]="TEXTURE_CUBE_MAP_NEGATIVE_Z",e[e.MAX_CUBE_MAP_TEXTURE_SIZE=34076]="MAX_CUBE_MAP_TEXTURE_SIZE",e[e.TEXTURE0=33984]="TEXTURE0",e[e.ACTIVE_TEXTURE=34016]="ACTIVE_TEXTURE",e[e.REPEAT=10497]="REPEAT",e[e.CLAMP_TO_EDGE=33071]="CLAMP_TO_EDGE",e[e.MIRRORED_REPEAT=33648]="MIRRORED_REPEAT",e[e.TEXTURE_WIDTH=4096]="TEXTURE_WIDTH",e[e.TEXTURE_HEIGHT=4097]="TEXTURE_HEIGHT",e[e.FLOAT_VEC2=35664]="FLOAT_VEC2",e[e.FLOAT_VEC3=35665]="FLOAT_VEC3",e[e.FLOAT_VEC4=35666]="FLOAT_VEC4",e[e.INT_VEC2=35667]="INT_VEC2",e[e.INT_VEC3=35668]="INT_VEC3",e[e.INT_VEC4=35669]="INT_VEC4",e[e.BOOL=35670]="BOOL",e[e.BOOL_VEC2=35671]="BOOL_VEC2",e[e.BOOL_VEC3=35672]="BOOL_VEC3",e[e.BOOL_VEC4=35673]="BOOL_VEC4",e[e.FLOAT_MAT2=35674]="FLOAT_MAT2",e[e.FLOAT_MAT3=35675]="FLOAT_MAT3",e[e.FLOAT_MAT4=35676]="FLOAT_MAT4",e[e.SAMPLER_2D=35678]="SAMPLER_2D",e[e.SAMPLER_CUBE=35680]="SAMPLER_CUBE",e[e.LOW_FLOAT=36336]="LOW_FLOAT",e[e.MEDIUM_FLOAT=36337]="MEDIUM_FLOAT",e[e.HIGH_FLOAT=36338]="HIGH_FLOAT",e[e.LOW_INT=36339]="LOW_INT",e[e.MEDIUM_INT=36340]="MEDIUM_INT",e[e.HIGH_INT=36341]="HIGH_INT",e[e.FRAMEBUFFER=36160]="FRAMEBUFFER",e[e.RENDERBUFFER=36161]="RENDERBUFFER",e[e.RGBA4=32854]="RGBA4",e[e.RGB5_A1=32855]="RGB5_A1",e[e.RGB565=36194]="RGB565",e[e.DEPTH_COMPONENT16=33189]="DEPTH_COMPONENT16",e[e.STENCIL_INDEX=6401]="STENCIL_INDEX",e[e.STENCIL_INDEX8=36168]="STENCIL_INDEX8",e[e.DEPTH_STENCIL=34041]="DEPTH_STENCIL",e[e.RENDERBUFFER_WIDTH=36162]="RENDERBUFFER_WIDTH",e[e.RENDERBUFFER_HEIGHT=36163]="RENDERBUFFER_HEIGHT",e[e.RENDERBUFFER_INTERNAL_FORMAT=36164]="RENDERBUFFER_INTERNAL_FORMAT",e[e.RENDERBUFFER_RED_SIZE=36176]="RENDERBUFFER_RED_SIZE",e[e.RENDERBUFFER_GREEN_SIZE=36177]="RENDERBUFFER_GREEN_SIZE",e[e.RENDERBUFFER_BLUE_SIZE=36178]="RENDERBUFFER_BLUE_SIZE",e[e.RENDERBUFFER_ALPHA_SIZE=36179]="RENDERBUFFER_ALPHA_SIZE",e[e.RENDERBUFFER_DEPTH_SIZE=36180]="RENDERBUFFER_DEPTH_SIZE",e[e.RENDERBUFFER_STENCIL_SIZE=36181]="RENDERBUFFER_STENCIL_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE=36048]="FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",e[e.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME=36049]="FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",e[e.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL=36050]="FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",e[e.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE=36051]="FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",e[e.COLOR_ATTACHMENT0=36064]="COLOR_ATTACHMENT0",e[e.DEPTH_ATTACHMENT=36096]="DEPTH_ATTACHMENT",e[e.STENCIL_ATTACHMENT=36128]="STENCIL_ATTACHMENT",e[e.DEPTH_STENCIL_ATTACHMENT=33306]="DEPTH_STENCIL_ATTACHMENT",e[e.NONE=0]="NONE",e[e.FRAMEBUFFER_COMPLETE=36053]="FRAMEBUFFER_COMPLETE",e[e.FRAMEBUFFER_INCOMPLETE_ATTACHMENT=36054]="FRAMEBUFFER_INCOMPLETE_ATTACHMENT",e[e.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT=36055]="FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",e[e.FRAMEBUFFER_INCOMPLETE_DIMENSIONS=36057]="FRAMEBUFFER_INCOMPLETE_DIMENSIONS",e[e.FRAMEBUFFER_UNSUPPORTED=36061]="FRAMEBUFFER_UNSUPPORTED",e[e.FRAMEBUFFER_BINDING=36006]="FRAMEBUFFER_BINDING",e[e.RENDERBUFFER_BINDING=36007]="RENDERBUFFER_BINDING",e[e.READ_FRAMEBUFFER=36008]="READ_FRAMEBUFFER",e[e.DRAW_FRAMEBUFFER=36009]="DRAW_FRAMEBUFFER",e[e.MAX_RENDERBUFFER_SIZE=34024]="MAX_RENDERBUFFER_SIZE",e[e.INVALID_FRAMEBUFFER_OPERATION=1286]="INVALID_FRAMEBUFFER_OPERATION",e[e.UNPACK_FLIP_Y_WEBGL=37440]="UNPACK_FLIP_Y_WEBGL",e[e.UNPACK_PREMULTIPLY_ALPHA_WEBGL=37441]="UNPACK_PREMULTIPLY_ALPHA_WEBGL",e[e.UNPACK_COLORSPACE_CONVERSION_WEBGL=37443]="UNPACK_COLORSPACE_CONVERSION_WEBGL",e[e.READ_BUFFER=3074]="READ_BUFFER",e[e.UNPACK_ROW_LENGTH=3314]="UNPACK_ROW_LENGTH",e[e.UNPACK_SKIP_ROWS=3315]="UNPACK_SKIP_ROWS",e[e.UNPACK_SKIP_PIXELS=3316]="UNPACK_SKIP_PIXELS",e[e.PACK_ROW_LENGTH=3330]="PACK_ROW_LENGTH",e[e.PACK_SKIP_ROWS=3331]="PACK_SKIP_ROWS",e[e.PACK_SKIP_PIXELS=3332]="PACK_SKIP_PIXELS",e[e.TEXTURE_BINDING_3D=32874]="TEXTURE_BINDING_3D",e[e.UNPACK_SKIP_IMAGES=32877]="UNPACK_SKIP_IMAGES",e[e.UNPACK_IMAGE_HEIGHT=32878]="UNPACK_IMAGE_HEIGHT",e[e.MAX_3D_TEXTURE_SIZE=32883]="MAX_3D_TEXTURE_SIZE",e[e.MAX_ELEMENTS_VERTICES=33e3]="MAX_ELEMENTS_VERTICES",e[e.MAX_ELEMENTS_INDICES=33001]="MAX_ELEMENTS_INDICES",e[e.MAX_TEXTURE_LOD_BIAS=34045]="MAX_TEXTURE_LOD_BIAS",e[e.MAX_FRAGMENT_UNIFORM_COMPONENTS=35657]="MAX_FRAGMENT_UNIFORM_COMPONENTS",e[e.MAX_VERTEX_UNIFORM_COMPONENTS=35658]="MAX_VERTEX_UNIFORM_COMPONENTS",e[e.MAX_ARRAY_TEXTURE_LAYERS=35071]="MAX_ARRAY_TEXTURE_LAYERS",e[e.MIN_PROGRAM_TEXEL_OFFSET=35076]="MIN_PROGRAM_TEXEL_OFFSET",e[e.MAX_PROGRAM_TEXEL_OFFSET=35077]="MAX_PROGRAM_TEXEL_OFFSET",e[e.MAX_VARYING_COMPONENTS=35659]="MAX_VARYING_COMPONENTS",e[e.FRAGMENT_SHADER_DERIVATIVE_HINT=35723]="FRAGMENT_SHADER_DERIVATIVE_HINT",e[e.RASTERIZER_DISCARD=35977]="RASTERIZER_DISCARD",e[e.VERTEX_ARRAY_BINDING=34229]="VERTEX_ARRAY_BINDING",e[e.MAX_VERTEX_OUTPUT_COMPONENTS=37154]="MAX_VERTEX_OUTPUT_COMPONENTS",e[e.MAX_FRAGMENT_INPUT_COMPONENTS=37157]="MAX_FRAGMENT_INPUT_COMPONENTS",e[e.MAX_SERVER_WAIT_TIMEOUT=37137]="MAX_SERVER_WAIT_TIMEOUT",e[e.MAX_ELEMENT_INDEX=36203]="MAX_ELEMENT_INDEX",e[e.RED=6403]="RED",e[e.RGB8=32849]="RGB8",e[e.RGBA8=32856]="RGBA8",e[e.RGB10_A2=32857]="RGB10_A2",e[e.TEXTURE_3D=32879]="TEXTURE_3D",e[e.TEXTURE_WRAP_R=32882]="TEXTURE_WRAP_R",e[e.TEXTURE_MIN_LOD=33082]="TEXTURE_MIN_LOD",e[e.TEXTURE_MAX_LOD=33083]="TEXTURE_MAX_LOD",e[e.TEXTURE_BASE_LEVEL=33084]="TEXTURE_BASE_LEVEL",e[e.TEXTURE_MAX_LEVEL=33085]="TEXTURE_MAX_LEVEL",e[e.TEXTURE_COMPARE_MODE=34892]="TEXTURE_COMPARE_MODE",e[e.TEXTURE_COMPARE_FUNC=34893]="TEXTURE_COMPARE_FUNC",e[e.SRGB=35904]="SRGB",e[e.SRGB8=35905]="SRGB8",e[e.SRGB8_ALPHA8=35907]="SRGB8_ALPHA8",e[e.COMPARE_REF_TO_TEXTURE=34894]="COMPARE_REF_TO_TEXTURE",e[e.RGBA32F=34836]="RGBA32F",e[e.RGB32F=34837]="RGB32F",e[e.RGBA16F=34842]="RGBA16F",e[e.RGB16F=34843]="RGB16F",e[e.TEXTURE_2D_ARRAY=35866]="TEXTURE_2D_ARRAY",e[e.TEXTURE_BINDING_2D_ARRAY=35869]="TEXTURE_BINDING_2D_ARRAY",e[e.R11F_G11F_B10F=35898]="R11F_G11F_B10F",e[e.RGB9_E5=35901]="RGB9_E5",e[e.RGBA32UI=36208]="RGBA32UI",e[e.RGB32UI=36209]="RGB32UI",e[e.RGBA16UI=36214]="RGBA16UI",e[e.RGB16UI=36215]="RGB16UI",e[e.RGBA8UI=36220]="RGBA8UI",e[e.RGB8UI=36221]="RGB8UI",e[e.RGBA32I=36226]="RGBA32I",e[e.RGB32I=36227]="RGB32I",e[e.RGBA16I=36232]="RGBA16I",e[e.RGB16I=36233]="RGB16I",e[e.RGBA8I=36238]="RGBA8I",e[e.RGB8I=36239]="RGB8I",e[e.RED_INTEGER=36244]="RED_INTEGER",e[e.RGB_INTEGER=36248]="RGB_INTEGER",e[e.RGBA_INTEGER=36249]="RGBA_INTEGER",e[e.R8=33321]="R8",e[e.RG8=33323]="RG8",e[e.R16F=33325]="R16F",e[e.R32F=33326]="R32F",e[e.RG16F=33327]="RG16F",e[e.RG32F=33328]="RG32F",e[e.R8I=33329]="R8I",e[e.R8UI=33330]="R8UI",e[e.R16I=33331]="R16I",e[e.R16UI=33332]="R16UI",e[e.R32I=33333]="R32I",e[e.R32UI=33334]="R32UI",e[e.RG8I=33335]="RG8I",e[e.RG8UI=33336]="RG8UI",e[e.RG16I=33337]="RG16I",e[e.RG16UI=33338]="RG16UI",e[e.RG32I=33339]="RG32I",e[e.RG32UI=33340]="RG32UI",e[e.R8_SNORM=36756]="R8_SNORM",e[e.RG8_SNORM=36757]="RG8_SNORM",e[e.RGB8_SNORM=36758]="RGB8_SNORM",e[e.RGBA8_SNORM=36759]="RGBA8_SNORM",e[e.RGB10_A2UI=36975]="RGB10_A2UI",e[e.TEXTURE_IMMUTABLE_FORMAT=37167]="TEXTURE_IMMUTABLE_FORMAT",e[e.TEXTURE_IMMUTABLE_LEVELS=33503]="TEXTURE_IMMUTABLE_LEVELS",e[e.UNSIGNED_INT_2_10_10_10_REV=33640]="UNSIGNED_INT_2_10_10_10_REV",e[e.UNSIGNED_INT_10F_11F_11F_REV=35899]="UNSIGNED_INT_10F_11F_11F_REV",e[e.UNSIGNED_INT_5_9_9_9_REV=35902]="UNSIGNED_INT_5_9_9_9_REV",e[e.FLOAT_32_UNSIGNED_INT_24_8_REV=36269]="FLOAT_32_UNSIGNED_INT_24_8_REV",e[e.UNSIGNED_INT_24_8=34042]="UNSIGNED_INT_24_8",e[e.HALF_FLOAT=5131]="HALF_FLOAT",e[e.RG=33319]="RG",e[e.RG_INTEGER=33320]="RG_INTEGER",e[e.INT_2_10_10_10_REV=36255]="INT_2_10_10_10_REV",e[e.CURRENT_QUERY=34917]="CURRENT_QUERY",e[e.QUERY_RESULT=34918]="QUERY_RESULT",e[e.QUERY_RESULT_AVAILABLE=34919]="QUERY_RESULT_AVAILABLE",e[e.ANY_SAMPLES_PASSED=35887]="ANY_SAMPLES_PASSED",e[e.ANY_SAMPLES_PASSED_CONSERVATIVE=36202]="ANY_SAMPLES_PASSED_CONSERVATIVE",e[e.MAX_DRAW_BUFFERS=34852]="MAX_DRAW_BUFFERS",e[e.DRAW_BUFFER0=34853]="DRAW_BUFFER0",e[e.DRAW_BUFFER1=34854]="DRAW_BUFFER1",e[e.DRAW_BUFFER2=34855]="DRAW_BUFFER2",e[e.DRAW_BUFFER3=34856]="DRAW_BUFFER3",e[e.DRAW_BUFFER4=34857]="DRAW_BUFFER4",e[e.DRAW_BUFFER5=34858]="DRAW_BUFFER5",e[e.DRAW_BUFFER6=34859]="DRAW_BUFFER6",e[e.DRAW_BUFFER7=34860]="DRAW_BUFFER7",e[e.DRAW_BUFFER8=34861]="DRAW_BUFFER8",e[e.DRAW_BUFFER9=34862]="DRAW_BUFFER9",e[e.DRAW_BUFFER10=34863]="DRAW_BUFFER10",e[e.DRAW_BUFFER11=34864]="DRAW_BUFFER11",e[e.DRAW_BUFFER12=34865]="DRAW_BUFFER12",e[e.DRAW_BUFFER13=34866]="DRAW_BUFFER13",e[e.DRAW_BUFFER14=34867]="DRAW_BUFFER14",e[e.DRAW_BUFFER15=34868]="DRAW_BUFFER15",e[e.MAX_COLOR_ATTACHMENTS=36063]="MAX_COLOR_ATTACHMENTS",e[e.COLOR_ATTACHMENT1=36065]="COLOR_ATTACHMENT1",e[e.COLOR_ATTACHMENT2=36066]="COLOR_ATTACHMENT2",e[e.COLOR_ATTACHMENT3=36067]="COLOR_ATTACHMENT3",e[e.COLOR_ATTACHMENT4=36068]="COLOR_ATTACHMENT4",e[e.COLOR_ATTACHMENT5=36069]="COLOR_ATTACHMENT5",e[e.COLOR_ATTACHMENT6=36070]="COLOR_ATTACHMENT6",e[e.COLOR_ATTACHMENT7=36071]="COLOR_ATTACHMENT7",e[e.COLOR_ATTACHMENT8=36072]="COLOR_ATTACHMENT8",e[e.COLOR_ATTACHMENT9=36073]="COLOR_ATTACHMENT9",e[e.COLOR_ATTACHMENT10=36074]="COLOR_ATTACHMENT10",e[e.COLOR_ATTACHMENT11=36075]="COLOR_ATTACHMENT11",e[e.COLOR_ATTACHMENT12=36076]="COLOR_ATTACHMENT12",e[e.COLOR_ATTACHMENT13=36077]="COLOR_ATTACHMENT13",e[e.COLOR_ATTACHMENT14=36078]="COLOR_ATTACHMENT14",e[e.COLOR_ATTACHMENT15=36079]="COLOR_ATTACHMENT15",e[e.SAMPLER_3D=35679]="SAMPLER_3D",e[e.SAMPLER_2D_SHADOW=35682]="SAMPLER_2D_SHADOW",e[e.SAMPLER_2D_ARRAY=36289]="SAMPLER_2D_ARRAY",e[e.SAMPLER_2D_ARRAY_SHADOW=36292]="SAMPLER_2D_ARRAY_SHADOW",e[e.SAMPLER_CUBE_SHADOW=36293]="SAMPLER_CUBE_SHADOW",e[e.INT_SAMPLER_2D=36298]="INT_SAMPLER_2D",e[e.INT_SAMPLER_3D=36299]="INT_SAMPLER_3D",e[e.INT_SAMPLER_CUBE=36300]="INT_SAMPLER_CUBE",e[e.INT_SAMPLER_2D_ARRAY=36303]="INT_SAMPLER_2D_ARRAY",e[e.UNSIGNED_INT_SAMPLER_2D=36306]="UNSIGNED_INT_SAMPLER_2D",e[e.UNSIGNED_INT_SAMPLER_3D=36307]="UNSIGNED_INT_SAMPLER_3D",e[e.UNSIGNED_INT_SAMPLER_CUBE=36308]="UNSIGNED_INT_SAMPLER_CUBE",e[e.UNSIGNED_INT_SAMPLER_2D_ARRAY=36311]="UNSIGNED_INT_SAMPLER_2D_ARRAY",e[e.MAX_SAMPLES=36183]="MAX_SAMPLES",e[e.SAMPLER_BINDING=35097]="SAMPLER_BINDING",e[e.PIXEL_PACK_BUFFER=35051]="PIXEL_PACK_BUFFER",e[e.PIXEL_UNPACK_BUFFER=35052]="PIXEL_UNPACK_BUFFER",e[e.PIXEL_PACK_BUFFER_BINDING=35053]="PIXEL_PACK_BUFFER_BINDING",e[e.PIXEL_UNPACK_BUFFER_BINDING=35055]="PIXEL_UNPACK_BUFFER_BINDING",e[e.COPY_READ_BUFFER=36662]="COPY_READ_BUFFER",e[e.COPY_WRITE_BUFFER=36663]="COPY_WRITE_BUFFER",e[e.COPY_READ_BUFFER_BINDING=36662]="COPY_READ_BUFFER_BINDING",e[e.COPY_WRITE_BUFFER_BINDING=36663]="COPY_WRITE_BUFFER_BINDING",e[e.FLOAT_MAT2x3=35685]="FLOAT_MAT2x3",e[e.FLOAT_MAT2x4=35686]="FLOAT_MAT2x4",e[e.FLOAT_MAT3x2=35687]="FLOAT_MAT3x2",e[e.FLOAT_MAT3x4=35688]="FLOAT_MAT3x4",e[e.FLOAT_MAT4x2=35689]="FLOAT_MAT4x2",e[e.FLOAT_MAT4x3=35690]="FLOAT_MAT4x3",e[e.UNSIGNED_INT_VEC2=36294]="UNSIGNED_INT_VEC2",e[e.UNSIGNED_INT_VEC3=36295]="UNSIGNED_INT_VEC3",e[e.UNSIGNED_INT_VEC4=36296]="UNSIGNED_INT_VEC4",e[e.UNSIGNED_NORMALIZED=35863]="UNSIGNED_NORMALIZED",e[e.SIGNED_NORMALIZED=36764]="SIGNED_NORMALIZED",e[e.VERTEX_ATTRIB_ARRAY_INTEGER=35069]="VERTEX_ATTRIB_ARRAY_INTEGER",e[e.VERTEX_ATTRIB_ARRAY_DIVISOR=35070]="VERTEX_ATTRIB_ARRAY_DIVISOR",e[e.TRANSFORM_FEEDBACK_BUFFER_MODE=35967]="TRANSFORM_FEEDBACK_BUFFER_MODE",e[e.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS=35968]="MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS",e[e.TRANSFORM_FEEDBACK_VARYINGS=35971]="TRANSFORM_FEEDBACK_VARYINGS",e[e.TRANSFORM_FEEDBACK_BUFFER_START=35972]="TRANSFORM_FEEDBACK_BUFFER_START",e[e.TRANSFORM_FEEDBACK_BUFFER_SIZE=35973]="TRANSFORM_FEEDBACK_BUFFER_SIZE",e[e.TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN=35976]="TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN",e[e.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS=35978]="MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS",e[e.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS=35979]="MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS",e[e.INTERLEAVED_ATTRIBS=35980]="INTERLEAVED_ATTRIBS",e[e.SEPARATE_ATTRIBS=35981]="SEPARATE_ATTRIBS",e[e.TRANSFORM_FEEDBACK_BUFFER=35982]="TRANSFORM_FEEDBACK_BUFFER",e[e.TRANSFORM_FEEDBACK_BUFFER_BINDING=35983]="TRANSFORM_FEEDBACK_BUFFER_BINDING",e[e.TRANSFORM_FEEDBACK=36386]="TRANSFORM_FEEDBACK",e[e.TRANSFORM_FEEDBACK_PAUSED=36387]="TRANSFORM_FEEDBACK_PAUSED",e[e.TRANSFORM_FEEDBACK_ACTIVE=36388]="TRANSFORM_FEEDBACK_ACTIVE",e[e.TRANSFORM_FEEDBACK_BINDING=36389]="TRANSFORM_FEEDBACK_BINDING",e[e.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING=33296]="FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING",e[e.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE=33297]="FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE",e[e.FRAMEBUFFER_ATTACHMENT_RED_SIZE=33298]="FRAMEBUFFER_ATTACHMENT_RED_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE=33299]="FRAMEBUFFER_ATTACHMENT_GREEN_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE=33300]="FRAMEBUFFER_ATTACHMENT_BLUE_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE=33301]="FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE=33302]="FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE=33303]="FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE",e[e.FRAMEBUFFER_DEFAULT=33304]="FRAMEBUFFER_DEFAULT",e[e.DEPTH24_STENCIL8=35056]="DEPTH24_STENCIL8",e[e.DRAW_FRAMEBUFFER_BINDING=36006]="DRAW_FRAMEBUFFER_BINDING",e[e.READ_FRAMEBUFFER_BINDING=36010]="READ_FRAMEBUFFER_BINDING",e[e.RENDERBUFFER_SAMPLES=36011]="RENDERBUFFER_SAMPLES",e[e.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER=36052]="FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER",e[e.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE=36182]="FRAMEBUFFER_INCOMPLETE_MULTISAMPLE",e[e.UNIFORM_BUFFER=35345]="UNIFORM_BUFFER",e[e.UNIFORM_BUFFER_BINDING=35368]="UNIFORM_BUFFER_BINDING",e[e.UNIFORM_BUFFER_START=35369]="UNIFORM_BUFFER_START",e[e.UNIFORM_BUFFER_SIZE=35370]="UNIFORM_BUFFER_SIZE",e[e.MAX_VERTEX_UNIFORM_BLOCKS=35371]="MAX_VERTEX_UNIFORM_BLOCKS",e[e.MAX_FRAGMENT_UNIFORM_BLOCKS=35373]="MAX_FRAGMENT_UNIFORM_BLOCKS",e[e.MAX_COMBINED_UNIFORM_BLOCKS=35374]="MAX_COMBINED_UNIFORM_BLOCKS",e[e.MAX_UNIFORM_BUFFER_BINDINGS=35375]="MAX_UNIFORM_BUFFER_BINDINGS",e[e.MAX_UNIFORM_BLOCK_SIZE=35376]="MAX_UNIFORM_BLOCK_SIZE",e[e.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS=35377]="MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS",e[e.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS=35379]="MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS",e[e.UNIFORM_BUFFER_OFFSET_ALIGNMENT=35380]="UNIFORM_BUFFER_OFFSET_ALIGNMENT",e[e.ACTIVE_UNIFORM_BLOCKS=35382]="ACTIVE_UNIFORM_BLOCKS",e[e.UNIFORM_TYPE=35383]="UNIFORM_TYPE",e[e.UNIFORM_SIZE=35384]="UNIFORM_SIZE",e[e.UNIFORM_BLOCK_INDEX=35386]="UNIFORM_BLOCK_INDEX",e[e.UNIFORM_OFFSET=35387]="UNIFORM_OFFSET",e[e.UNIFORM_ARRAY_STRIDE=35388]="UNIFORM_ARRAY_STRIDE",e[e.UNIFORM_MATRIX_STRIDE=35389]="UNIFORM_MATRIX_STRIDE",e[e.UNIFORM_IS_ROW_MAJOR=35390]="UNIFORM_IS_ROW_MAJOR",e[e.UNIFORM_BLOCK_BINDING=35391]="UNIFORM_BLOCK_BINDING",e[e.UNIFORM_BLOCK_DATA_SIZE=35392]="UNIFORM_BLOCK_DATA_SIZE",e[e.UNIFORM_BLOCK_ACTIVE_UNIFORMS=35394]="UNIFORM_BLOCK_ACTIVE_UNIFORMS",e[e.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES=35395]="UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES",e[e.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER=35396]="UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER",e[e.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER=35398]="UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER",e[e.OBJECT_TYPE=37138]="OBJECT_TYPE",e[e.SYNC_CONDITION=37139]="SYNC_CONDITION",e[e.SYNC_STATUS=37140]="SYNC_STATUS",e[e.SYNC_FLAGS=37141]="SYNC_FLAGS",e[e.SYNC_FENCE=37142]="SYNC_FENCE",e[e.SYNC_GPU_COMMANDS_COMPLETE=37143]="SYNC_GPU_COMMANDS_COMPLETE",e[e.UNSIGNALED=37144]="UNSIGNALED",e[e.SIGNALED=37145]="SIGNALED",e[e.ALREADY_SIGNALED=37146]="ALREADY_SIGNALED",e[e.TIMEOUT_EXPIRED=37147]="TIMEOUT_EXPIRED",e[e.CONDITION_SATISFIED=37148]="CONDITION_SATISFIED",e[e.WAIT_FAILED=37149]="WAIT_FAILED",e[e.SYNC_FLUSH_COMMANDS_BIT=1]="SYNC_FLUSH_COMMANDS_BIT",e[e.COLOR=6144]="COLOR",e[e.DEPTH=6145]="DEPTH",e[e.STENCIL=6146]="STENCIL",e[e.MIN=32775]="MIN",e[e.MAX=32776]="MAX",e[e.DEPTH_COMPONENT24=33190]="DEPTH_COMPONENT24",e[e.STREAM_READ=35041]="STREAM_READ",e[e.STREAM_COPY=35042]="STREAM_COPY",e[e.STATIC_READ=35045]="STATIC_READ",e[e.STATIC_COPY=35046]="STATIC_COPY",e[e.DYNAMIC_READ=35049]="DYNAMIC_READ",e[e.DYNAMIC_COPY=35050]="DYNAMIC_COPY",e[e.DEPTH_COMPONENT32F=36012]="DEPTH_COMPONENT32F",e[e.DEPTH32F_STENCIL8=36013]="DEPTH32F_STENCIL8",e[e.INVALID_INDEX=4294967295]="INVALID_INDEX",e[e.TIMEOUT_IGNORED=-1]="TIMEOUT_IGNORED",e[e.MAX_CLIENT_WAIT_TIMEOUT_WEBGL=37447]="MAX_CLIENT_WAIT_TIMEOUT_WEBGL",e[e.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE=35070]="VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE",e[e.UNMASKED_VENDOR_WEBGL=37445]="UNMASKED_VENDOR_WEBGL",e[e.UNMASKED_RENDERER_WEBGL=37446]="UNMASKED_RENDERER_WEBGL",e[e.MAX_TEXTURE_MAX_ANISOTROPY_EXT=34047]="MAX_TEXTURE_MAX_ANISOTROPY_EXT",e[e.TEXTURE_MAX_ANISOTROPY_EXT=34046]="TEXTURE_MAX_ANISOTROPY_EXT",e[e.SRGB_EXT=35904]="SRGB_EXT",e[e.SRGB_ALPHA_EXT=35906]="SRGB_ALPHA_EXT",e[e.SRGB8_ALPHA8_EXT=35907]="SRGB8_ALPHA8_EXT",e[e.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT=33296]="FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT",e[e.R16_EXT=33322]="R16_EXT",e[e.RG16_EXT=33324]="RG16_EXT",e[e.RGB16_EXT=32852]="RGB16_EXT",e[e.RGBA16_EXT=32859]="RGBA16_EXT",e[e.R16_SNORM_EXT=36760]="R16_SNORM_EXT",e[e.RG16_SNORM_EXT=36761]="RG16_SNORM_EXT",e[e.RGB16_SNORM_EXT=36762]="RGB16_SNORM_EXT",e[e.RGBA16_SNORM_EXT=36763]="RGBA16_SNORM_EXT",e[e.COMPRESSED_RGB_S3TC_DXT1_EXT=33776]="COMPRESSED_RGB_S3TC_DXT1_EXT",e[e.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777]="COMPRESSED_RGBA_S3TC_DXT1_EXT",e[e.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778]="COMPRESSED_RGBA_S3TC_DXT3_EXT",e[e.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779]="COMPRESSED_RGBA_S3TC_DXT5_EXT",e[e.COMPRESSED_SRGB_S3TC_DXT1_EXT=35916]="COMPRESSED_SRGB_S3TC_DXT1_EXT",e[e.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT=35917]="COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT",e[e.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT=35918]="COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT",e[e.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT=35919]="COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT",e[e.COMPRESSED_RED_RGTC1_EXT=36283]="COMPRESSED_RED_RGTC1_EXT",e[e.COMPRESSED_SIGNED_RED_RGTC1_EXT=36284]="COMPRESSED_SIGNED_RED_RGTC1_EXT",e[e.COMPRESSED_RED_GREEN_RGTC2_EXT=36285]="COMPRESSED_RED_GREEN_RGTC2_EXT",e[e.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT=36286]="COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT",e[e.COMPRESSED_RGBA_BPTC_UNORM_EXT=36492]="COMPRESSED_RGBA_BPTC_UNORM_EXT",e[e.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT=36493]="COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT",e[e.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT=36494]="COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT",e[e.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT=36495]="COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT",e[e.COMPRESSED_R11_EAC=37488]="COMPRESSED_R11_EAC",e[e.COMPRESSED_SIGNED_R11_EAC=37489]="COMPRESSED_SIGNED_R11_EAC",e[e.COMPRESSED_RG11_EAC=37490]="COMPRESSED_RG11_EAC",e[e.COMPRESSED_SIGNED_RG11_EAC=37491]="COMPRESSED_SIGNED_RG11_EAC",e[e.COMPRESSED_RGB8_ETC2=37492]="COMPRESSED_RGB8_ETC2",e[e.COMPRESSED_RGBA8_ETC2_EAC=37493]="COMPRESSED_RGBA8_ETC2_EAC",e[e.COMPRESSED_SRGB8_ETC2=37494]="COMPRESSED_SRGB8_ETC2",e[e.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC=37495]="COMPRESSED_SRGB8_ALPHA8_ETC2_EAC",e[e.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2=37496]="COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2",e[e.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2=37497]="COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2",e[e.COMPRESSED_RGB_PVRTC_4BPPV1_IMG=35840]="COMPRESSED_RGB_PVRTC_4BPPV1_IMG",e[e.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG=35842]="COMPRESSED_RGBA_PVRTC_4BPPV1_IMG",e[e.COMPRESSED_RGB_PVRTC_2BPPV1_IMG=35841]="COMPRESSED_RGB_PVRTC_2BPPV1_IMG",e[e.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG=35843]="COMPRESSED_RGBA_PVRTC_2BPPV1_IMG",e[e.COMPRESSED_RGB_ETC1_WEBGL=36196]="COMPRESSED_RGB_ETC1_WEBGL",e[e.COMPRESSED_RGB_ATC_WEBGL=35986]="COMPRESSED_RGB_ATC_WEBGL",e[e.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL=35986]="COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL",e[e.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL=34798]="COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL",e[e.COMPRESSED_RGBA_ASTC_4x4_KHR=37808]="COMPRESSED_RGBA_ASTC_4x4_KHR",e[e.COMPRESSED_RGBA_ASTC_5x4_KHR=37809]="COMPRESSED_RGBA_ASTC_5x4_KHR",e[e.COMPRESSED_RGBA_ASTC_5x5_KHR=37810]="COMPRESSED_RGBA_ASTC_5x5_KHR",e[e.COMPRESSED_RGBA_ASTC_6x5_KHR=37811]="COMPRESSED_RGBA_ASTC_6x5_KHR",e[e.COMPRESSED_RGBA_ASTC_6x6_KHR=37812]="COMPRESSED_RGBA_ASTC_6x6_KHR",e[e.COMPRESSED_RGBA_ASTC_8x5_KHR=37813]="COMPRESSED_RGBA_ASTC_8x5_KHR",e[e.COMPRESSED_RGBA_ASTC_8x6_KHR=37814]="COMPRESSED_RGBA_ASTC_8x6_KHR",e[e.COMPRESSED_RGBA_ASTC_8x8_KHR=37815]="COMPRESSED_RGBA_ASTC_8x8_KHR",e[e.COMPRESSED_RGBA_ASTC_10x5_KHR=37816]="COMPRESSED_RGBA_ASTC_10x5_KHR",e[e.COMPRESSED_RGBA_ASTC_10x6_KHR=37817]="COMPRESSED_RGBA_ASTC_10x6_KHR",e[e.COMPRESSED_RGBA_ASTC_10x8_KHR=37818]="COMPRESSED_RGBA_ASTC_10x8_KHR",e[e.COMPRESSED_RGBA_ASTC_10x10_KHR=37819]="COMPRESSED_RGBA_ASTC_10x10_KHR",e[e.COMPRESSED_RGBA_ASTC_12x10_KHR=37820]="COMPRESSED_RGBA_ASTC_12x10_KHR",e[e.COMPRESSED_RGBA_ASTC_12x12_KHR=37821]="COMPRESSED_RGBA_ASTC_12x12_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR=37840]="COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR=37841]="COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR=37842]="COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR=37843]="COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR=37844]="COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR=37845]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR=37846]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR=37847]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR=37848]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR=37849]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR=37850]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR=37851]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR=37852]="COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR=37853]="COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR",e[e.UNSIGNED_INT_24_8_WEBGL=34042]="UNSIGNED_INT_24_8_WEBGL",e[e.HALF_FLOAT_OES=36193]="HALF_FLOAT_OES",e[e.RGBA32F_EXT=34836]="RGBA32F_EXT",e[e.RGB32F_EXT=34837]="RGB32F_EXT",e[e.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT=33297]="FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT",e[e.UNSIGNED_NORMALIZED_EXT=35863]="UNSIGNED_NORMALIZED_EXT",e[e.MIN_EXT=32775]="MIN_EXT",e[e.MAX_EXT=32776]="MAX_EXT",e[e.FRAGMENT_SHADER_DERIVATIVE_HINT_OES=35723]="FRAGMENT_SHADER_DERIVATIVE_HINT_OES",e[e.COLOR_ATTACHMENT0_WEBGL=36064]="COLOR_ATTACHMENT0_WEBGL",e[e.COLOR_ATTACHMENT1_WEBGL=36065]="COLOR_ATTACHMENT1_WEBGL",e[e.COLOR_ATTACHMENT2_WEBGL=36066]="COLOR_ATTACHMENT2_WEBGL",e[e.COLOR_ATTACHMENT3_WEBGL=36067]="COLOR_ATTACHMENT3_WEBGL",e[e.COLOR_ATTACHMENT4_WEBGL=36068]="COLOR_ATTACHMENT4_WEBGL",e[e.COLOR_ATTACHMENT5_WEBGL=36069]="COLOR_ATTACHMENT5_WEBGL",e[e.COLOR_ATTACHMENT6_WEBGL=36070]="COLOR_ATTACHMENT6_WEBGL",e[e.COLOR_ATTACHMENT7_WEBGL=36071]="COLOR_ATTACHMENT7_WEBGL",e[e.COLOR_ATTACHMENT8_WEBGL=36072]="COLOR_ATTACHMENT8_WEBGL",e[e.COLOR_ATTACHMENT9_WEBGL=36073]="COLOR_ATTACHMENT9_WEBGL",e[e.COLOR_ATTACHMENT10_WEBGL=36074]="COLOR_ATTACHMENT10_WEBGL",e[e.COLOR_ATTACHMENT11_WEBGL=36075]="COLOR_ATTACHMENT11_WEBGL",e[e.COLOR_ATTACHMENT12_WEBGL=36076]="COLOR_ATTACHMENT12_WEBGL",e[e.COLOR_ATTACHMENT13_WEBGL=36077]="COLOR_ATTACHMENT13_WEBGL",e[e.COLOR_ATTACHMENT14_WEBGL=36078]="COLOR_ATTACHMENT14_WEBGL",e[e.COLOR_ATTACHMENT15_WEBGL=36079]="COLOR_ATTACHMENT15_WEBGL",e[e.DRAW_BUFFER0_WEBGL=34853]="DRAW_BUFFER0_WEBGL",e[e.DRAW_BUFFER1_WEBGL=34854]="DRAW_BUFFER1_WEBGL",e[e.DRAW_BUFFER2_WEBGL=34855]="DRAW_BUFFER2_WEBGL",e[e.DRAW_BUFFER3_WEBGL=34856]="DRAW_BUFFER3_WEBGL",e[e.DRAW_BUFFER4_WEBGL=34857]="DRAW_BUFFER4_WEBGL",e[e.DRAW_BUFFER5_WEBGL=34858]="DRAW_BUFFER5_WEBGL",e[e.DRAW_BUFFER6_WEBGL=34859]="DRAW_BUFFER6_WEBGL",e[e.DRAW_BUFFER7_WEBGL=34860]="DRAW_BUFFER7_WEBGL",e[e.DRAW_BUFFER8_WEBGL=34861]="DRAW_BUFFER8_WEBGL",e[e.DRAW_BUFFER9_WEBGL=34862]="DRAW_BUFFER9_WEBGL",e[e.DRAW_BUFFER10_WEBGL=34863]="DRAW_BUFFER10_WEBGL",e[e.DRAW_BUFFER11_WEBGL=34864]="DRAW_BUFFER11_WEBGL",e[e.DRAW_BUFFER12_WEBGL=34865]="DRAW_BUFFER12_WEBGL",e[e.DRAW_BUFFER13_WEBGL=34866]="DRAW_BUFFER13_WEBGL",e[e.DRAW_BUFFER14_WEBGL=34867]="DRAW_BUFFER14_WEBGL",e[e.DRAW_BUFFER15_WEBGL=34868]="DRAW_BUFFER15_WEBGL",e[e.MAX_COLOR_ATTACHMENTS_WEBGL=36063]="MAX_COLOR_ATTACHMENTS_WEBGL",e[e.MAX_DRAW_BUFFERS_WEBGL=34852]="MAX_DRAW_BUFFERS_WEBGL",e[e.VERTEX_ARRAY_BINDING_OES=34229]="VERTEX_ARRAY_BINDING_OES",e[e.QUERY_COUNTER_BITS_EXT=34916]="QUERY_COUNTER_BITS_EXT",e[e.CURRENT_QUERY_EXT=34917]="CURRENT_QUERY_EXT",e[e.QUERY_RESULT_EXT=34918]="QUERY_RESULT_EXT",e[e.QUERY_RESULT_AVAILABLE_EXT=34919]="QUERY_RESULT_AVAILABLE_EXT",e[e.TIME_ELAPSED_EXT=35007]="TIME_ELAPSED_EXT",e[e.TIMESTAMP_EXT=36392]="TIMESTAMP_EXT",e[e.GPU_DISJOINT_EXT=36795]="GPU_DISJOINT_EXT",e}({});function ps(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ds(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ps(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ps(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var n_="Failed to create WebGL context in Node.js, headless gl returned null",i_=" 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.",a_={width:1,height:1,debug:!0,throwOnError:!1},ei=null;function hs(){return ei!==null}function ms(e){e=ds(ds({},a_),e);var t=e,r=t.width,n=t.height,i=t.webgl1,a=t.webgl2;if(a&&!i)throw new Error("headless-gl does not support WebGL2");if(!ei)throw new Error(i_);var s=ei(r,n,e);if(!s)throw new Error(n_);return s}var Di=Be(Fe(),1);var tr={};function o_(e){globalThis.console&&globalThis.console.error&&globalThis.console.error(e)}function s_(e){globalThis.console&&globalThis.console.log&&globalThis.console.log(e)}function c_(e,t){tr[e]=!0,t!==void 0&&o_(t)}function u_(e){var t=e.getError;e.getError=function(){var n;do n=t.apply(e),n!==e.NO_ERROR&&(tr[n]=!0);while(n!==e.NO_ERROR);for(n in tr)if(tr[n])return delete tr[n],parseInt(n,10);return e.NO_ERROR}}var rr=function e(t){var r=t.gl;this.ext=t,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(t.maxVertexAttribs);for(var n=0;n<this.attribs.length;n++){var i=new e.VertexAttrib(r);this.attribs[n]=i}this.maxAttrib=0};rr.VertexAttrib=function(t){this.enabled=!1,this.buffer=null,this.size=4,this.type=t.FLOAT,this.normalized=!1,this.stride=16,this.offset=0,this.cached="",this.recache()};rr.VertexAttrib.prototype.recache=function(){this.cached=[this.size,this.type,this.normalized,this.stride,this.offset].join(":")};var ht=function(t){var r=this;this.gl=t,u_(t);var n=this.original={getParameter:t.getParameter,enableVertexAttribArray:t.enableVertexAttribArray,disableVertexAttribArray:t.disableVertexAttribArray,bindBuffer:t.bindBuffer,getVertexAttrib:t.getVertexAttrib,vertexAttribPointer:t.vertexAttribPointer};t.getParameter=function(a){return a===r.VERTEX_ARRAY_BINDING_OES?r.currentVertexArrayObject===r.defaultVertexArrayObject?null:r.currentVertexArrayObject:n.getParameter.apply(this,arguments)},t.enableVertexAttribArray=function(a){var s=r.currentVertexArrayObject;s.maxAttrib=Math.max(s.maxAttrib,a);var u=s.attribs[a];return u.enabled=!0,n.enableVertexAttribArray.apply(this,arguments)},t.disableVertexAttribArray=function(a){var s=r.currentVertexArrayObject;s.maxAttrib=Math.max(s.maxAttrib,a);var u=s.attribs[a];return u.enabled=!1,n.disableVertexAttribArray.apply(this,arguments)},t.bindBuffer=function(a,s){switch(a){case t.ARRAY_BUFFER:r.currentArrayBuffer=s;break;case t.ELEMENT_ARRAY_BUFFER:r.currentVertexArrayObject.elementArrayBuffer=s;break;default:}return n.bindBuffer.apply(this,arguments)},t.getVertexAttrib=function(a,s){var u=r.currentVertexArrayObject,f=u.attribs[a];switch(s){case t.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:return f.buffer;case t.VERTEX_ATTRIB_ARRAY_ENABLED:return f.enabled;case t.VERTEX_ATTRIB_ARRAY_SIZE:return f.size;case t.VERTEX_ATTRIB_ARRAY_STRIDE:return f.stride;case t.VERTEX_ATTRIB_ARRAY_TYPE:return f.type;case t.VERTEX_ATTRIB_ARRAY_NORMALIZED:return f.normalized;default:return n.getVertexAttrib.apply(this,arguments)}},t.vertexAttribPointer=function(a,s,u,f,l,_){var E=r.currentVertexArrayObject;E.maxAttrib=Math.max(E.maxAttrib,a);var p=E.attribs[a];return p.buffer=r.currentArrayBuffer,p.size=s,p.type=u,p.normalized=f,p.stride=l,p.offset=_,p.recache(),n.vertexAttribPointer.apply(this,arguments)},t.instrumentExtension&&t.instrumentExtension(this,"OES_vertex_array_object"),t.canvas&&t.canvas.addEventListener("webglcontextrestored",function(){s_("OESVertexArrayObject emulation library context restored"),r.reset_()},!0),this.reset_()};ht.prototype.VERTEX_ARRAY_BINDING_OES=34229;ht.prototype.reset_=function(){var t=this.vertexArrayObjects!==void 0;if(t)for(var r=0;r<this.vertexArrayObjects.length;++r)this.vertexArrayObjects.isAlive=!1;var n=this.gl;this.maxVertexAttribs=n.getParameter(n.MAX_VERTEX_ATTRIBS),this.defaultVertexArrayObject=new rr(this),this.currentVertexArrayObject=null,this.currentArrayBuffer=null,this.vertexArrayObjects=[this.defaultVertexArrayObject],this.bindVertexArrayOES(null)};ht.prototype.createVertexArrayOES=function(){var t=new rr(this);return this.vertexArrayObjects.push(t),t};ht.prototype.deleteVertexArrayOES=function(t){t.isAlive=!1,this.vertexArrayObjects.splice(this.vertexArrayObjects.indexOf(t),1),this.currentVertexArrayObject===t&&this.bindVertexArrayOES(null)};ht.prototype.isVertexArrayOES=function(t){return!!(t&&t instanceof rr&&t.hasBeenBound&&t.ext===this)};ht.prototype.bindVertexArrayOES=function(t){var r=this.gl;if(t&&!t.isAlive){c_(r.INVALID_OPERATION,"bindVertexArrayOES: attempt to bind deleted arrayObject");return}var n=this.original,i=this.currentVertexArrayObject;this.currentVertexArrayObject=t||this.defaultVertexArrayObject,this.currentVertexArrayObject.hasBeenBound=!0;var a=this.currentVertexArrayObject;if(i!==a){(!i||a.elementArrayBuffer!==i.elementArrayBuffer)&&n.bindBuffer.call(r,r.ELEMENT_ARRAY_BUFFER,a.elementArrayBuffer);for(var s=this.currentArrayBuffer,u=Math.max(i?i.maxAttrib:0,a.maxAttrib),f=0;f<=u;f++){var l=a.attribs[f],_=i?i.attribs[f]:null;if((!i||l.enabled!==_.enabled)&&(l.enabled?n.enableVertexAttribArray.call(r,f):n.disableVertexAttribArray.call(r,f)),l.enabled){var E=!1;(!i||l.buffer!==_.buffer)&&(s!==l.buffer&&(n.bindBuffer.call(r,r.ARRAY_BUFFER,l.buffer),s=l.buffer),E=!0),(E||l.cached!==_.cached)&&n.vertexAttribPointer.call(r,f,l.size,l.type,l.normalized,l.stride,l.offset)}}this.currentArrayBuffer!==s&&n.bindBuffer.call(r,r.ARRAY_BUFFER,this.currentArrayBuffer)}};function Rs(e){if(typeof e.createVertexArray!="function"){var t=e.getSupportedExtensions;e.getSupportedExtensions=function(){var i=t.call(this)||[];return i.indexOf("OES_vertex_array_object")<0&&i.push("OES_vertex_array_object"),i};var r=e.getExtension;e.getExtension=function(i){var a=r.call(this,i);return a||(i!=="OES_vertex_array_object"?null:(e.__OESVertexArrayObject||(this.__OESVertexArrayObject=new ht(this)),this.__OESVertexArrayObject))}}}var f_="Invalid WebGLRenderingContext";var l_="Requires WebGL2";function __(e){return typeof WebGLRenderingContext<"u"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&Number.isFinite(e._version))}function Q(e){return typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&e._version===2)}function ti(e){return Q(e)?e:null}function As(e){return V(__(e),f_),e}function Vr(e){return V(Q(e),l_),e}var q,Ts="OES_element_index",vs="WEBGL_draw_buffers",E_="EXT_disjoint_timer_query",p_="EXT_disjoint_timer_query_webgl2",d_="EXT_texture_filter_anisotropic",gs="WEBGL_debug_renderer_info",h_=35723,m_=4352,R_=36795,A_=34047,T_=37445,v_=37446,ie=function(t){return Q(t)?void 0:0},g_=(q={},c(q,o.READ_BUFFER,function(e){return Q(e)?void 0:o.COLOR_ATTACHMENT0}),c(q,h_,function(e){return Q(e)?void 0:m_}),c(q,o.RASTERIZER_DISCARD,ie),c(q,o.SAMPLES,ie),c(q,R_,function(e,t){var r=Q(e)?e.getExtension(p_):e.getExtension(E_);return r&&r.GPU_DISJOINT_EXT?t(r.GPU_DISJOINT_EXT):0}),c(q,T_,function(e,t){var r=e.getExtension(gs);return t(r&&r.UNMASKED_VENDOR_WEBGL||o.VENDOR)}),c(q,v_,function(e,t){var r=e.getExtension(gs);return t(r&&r.UNMASKED_RENDERER_WEBGL||o.RENDERER)}),c(q,A_,function(e,t){var r,n=((r=e.luma)===null||r===void 0||(r=r.extensions)===null||r===void 0?void 0:r[d_])||e.getExtension("EXT_texture_filter_anisotropic");return n?t(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1}),c(q,o.MAX_3D_TEXTURE_SIZE,ie),c(q,o.MAX_ARRAY_TEXTURE_LAYERS,ie),c(q,o.MAX_CLIENT_WAIT_TIMEOUT_WEBGL,ie),c(q,o.MAX_COLOR_ATTACHMENTS,function(e,t){if(!Q(e)){var r=e.getExtension(vs);return r?t(r.MAX_COLOR_ATTACHMENTS_WEBGL):0}}),c(q,o.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,ie),c(q,o.MAX_COMBINED_UNIFORM_BLOCKS,ie),c(q,o.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,ie),c(q,o.MAX_DRAW_BUFFERS,function(e){if(!Q(e)){var t=e.getExtension(vs);return t?t.MAX_DRAW_BUFFERS_WEBGL:0}}),c(q,o.MAX_ELEMENT_INDEX,function(e){return e.getExtension(Ts)?2147483647:65535}),c(q,o.MAX_ELEMENTS_INDICES,function(e){return e.getExtension(Ts)?16777216:65535}),c(q,o.MAX_ELEMENTS_VERTICES,function(e){return 16777216}),c(q,o.MAX_FRAGMENT_INPUT_COMPONENTS,ie),c(q,o.MAX_FRAGMENT_UNIFORM_BLOCKS,ie),c(q,o.MAX_FRAGMENT_UNIFORM_COMPONENTS,ie),c(q,o.MAX_SAMPLES,ie),c(q,o.MAX_SERVER_WAIT_TIMEOUT,ie),c(q,o.MAX_TEXTURE_LOD_BIAS,ie),c(q,o.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,ie),c(q,o.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,ie),c(q,o.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,ie),c(q,o.MAX_UNIFORM_BLOCK_SIZE,ie),c(q,o.MAX_UNIFORM_BUFFER_BINDINGS,ie),c(q,o.MAX_VARYING_COMPONENTS,ie),c(q,o.MAX_VERTEX_OUTPUT_COMPONENTS,ie),c(q,o.MAX_VERTEX_UNIFORM_BLOCKS,ie),c(q,o.MAX_VERTEX_UNIFORM_COMPONENTS,ie),c(q,o.MIN_PROGRAM_TEXEL_OFFSET,ie),c(q,o.MAX_PROGRAM_TEXEL_OFFSET,ie),c(q,o.UNIFORM_BUFFER_OFFSET_ALIGNMENT,ie),q);function Ss(e,t,r){var n=g_[r],i=typeof n=="function"?n(e,t,r):n,a=i!==void 0?i:t(r);return a}function wt(e){var t=e.luma;if(!t){var r={_polyfilled:!1,_extensions:{}};e.luma=r}return e.luma}var Lt,S_="OES_vertex_array_object",Os="ANGLE_instanced_arrays",O_="WEBGL_draw_buffers",y_="EXT_disjoint_timer_query",b_="EXT_texture_filter_anisotropic",C_="VertexArray requires WebGL2 or OES_vertex_array_object extension";function P_(e,t){return{webgl2:Q(e),ext:e.getExtension(t)}}var ri=(Lt={},c(Lt,S_,{meta:{suffix:"OES"},createVertexArray:function(){V(!1,C_)},deleteVertexArray:function(){},bindVertexArray:function(){},isVertexArray:function(){return!1}}),c(Lt,Os,{meta:{suffix:"ANGLE"},vertexAttribDivisor:function(t,r){V(r===0,"WebGL instanced rendering not supported")},drawElementsInstanced:function(){},drawArraysInstanced:function(){}}),c(Lt,O_,{meta:{suffix:"WEBGL"},drawBuffers:function(){V(!1)}}),c(Lt,y_,{meta:{suffix:"EXT"},createQuery:function(){V(!1)},deleteQuery:function(){V(!1)},beginQuery:function(){V(!1)},endQuery:function(){},getQuery:function(t,r){return this.getQueryObject(t,r)},getQueryParameter:function(t,r){return this.getQueryObject(t,r)},getQueryObject:function(t,r){}}),Lt),jr={readBuffer:function(t,r,n){Q(t)&&r(n)},getVertexAttrib:function(t,r,n,i){var a=P_(t,Os),s=a.webgl2,u=a.ext,f;switch(i){case o.VERTEX_ATTRIB_ARRAY_INTEGER:f=s?void 0:!1;break;case o.VERTEX_ATTRIB_ARRAY_DIVISOR:f=!s&&!u?0:void 0;break;default:}return f!==void 0?f:r(n,i)},getProgramParameter:function(t,r,n,i){if(!Q(t))switch(i){case o.TRANSFORM_FEEDBACK_BUFFER_MODE:return o.SEPARATE_ATTRIBS;case o.TRANSFORM_FEEDBACK_VARYINGS:return 0;case o.ACTIVE_UNIFORM_BLOCKS:return 0;default:}return r(n,i)},getInternalformatParameter:function(t,r,n,i,a){if(!Q(t))switch(a){case o.SAMPLES:return new Int32Array([0]);default:}var s=t;return s.getInternalformatParameter(n,i,a)},getTexParameter:function(t,r,n,i){switch(i){case o.TEXTURE_MAX_ANISOTROPY_EXT:var a=wt(t),s=a._extensions,u=s[b_];i=u&&u.TEXTURE_MAX_ANISOTROPY_EXT||o.TEXTURE_MAX_ANISOTROPY_EXT;break;default:}return r(n,i)},getParameter:Ss,hint:function(t,r,n,i){return r(n,i)}};function bs(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=N_(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
263
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,u;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,u=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw u}}}}function N_(e,t){if(e){if(typeof e=="string")return ys(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ys(e,t)}}function ys(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Cs(e){var t=wt(e);return t._polyfilled||(Rs(e),M_(e),I_(e,ri),D_(e,{target:t,target2:e}),t._polyfilled=!0),e}function M_(e){var t=wt(e),r=e.getSupportedExtensions()||[],n=bs(r),i;try{for(n.s();!(i=n.n()).done;){var a=i.value,s=e.getExtension(a);t._extensions[a]=s}}catch(u){n.e(u)}finally{n.f()}}function I_(e,t){var r=wt(e),n=bs(Object.getOwnPropertyNames(t)),i;try{for(n.s();!(i=n.n()).done;){var a=i.value;a!=="overrides"&&F_(e,{extension:a,target:r,target2:e})}}catch(s){n.e(s)}finally{n.f()}}function F_(e,t){var r=t.extension,n=t.target,i=t.target2,a=ri[r];V(a);for(var s=a.meta,u=s===void 0?{}:s,f=u.suffix,l=f===void 0?"":f,_=e.getExtension(r),E=function(){var m=d[p],R="".concat(m).concat(l),T=null;m==="meta"||typeof e[m]=="function"||(_&&typeof _[R]=="function"?T=function(){return _[R].apply(_,arguments)}:typeof a[m]=="function"&&(T=a[m].bind(n))),T&&(n[m]=T,i[m]=T)},p=0,d=Object.keys(a);p<d.length;p++)E()}function D_(e,t){var r=t.target,n=t.target2;Object.keys(jr).forEach(function(i){if(typeof jr[i]=="function"){var a=e[i]?e[i].bind(e):function(){},s=jr[i].bind(null,e,a);r[i]=s,n[i]=s}})}function ni(e){if(Array.isArray(e))return vt(e)}function nr(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function ii(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
261
+ }`)}function Do(e,t){switch(t){case"float":return"vec4(".concat(e,", 0.0, 0.0, 1.0)");case"vec2":return"vec4(".concat(e,", 0.0, 1.0)");case"vec3":return"vec4(".concat(e,", 1.0)");case"vec4":return e;default:throw new Error(t)}}var wv=1/Math.PI*180,Lv=1/180*Math.PI,wl={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...wl}};var me=globalThis.mathgl.config;function xo(e,{precision:t=me.precision}={}){return e=Ll(e),"".concat(parseFloat(e.toPrecision(t)))}function Dt(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Yn(e,t,r){let n=me.EPSILON;r&&(me.EPSILON=r);try{if(e===t)return!0;if(Dt(e)&&Dt(t)){if(e.length!==t.length)return!1;for(let i=0;i<e.length;++i)if(!Yn(e[i],t[i]))return!1;return!0}return e&&e.equals?e.equals(t):t&&t.equals?t.equals(e):typeof e=="number"&&typeof t=="number"?Math.abs(e-t)<=me.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{me.EPSILON=n}}function Ll(e){return Math.round(e/me.EPSILON)*me.EPSILON}function Xl(e){function t(){var r=Reflect.construct(e,Array.from(arguments));return Object.setPrototypeOf(r,Object.getPrototypeOf(this)),r}return t.prototype=Object.create(e.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e,t}var xt=class extends Xl(Array){clone(){return new this.constructor().copy(this)}fromArray(t,r=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=t[n+r];return this.check()}toArray(t=[],r=0){for(let n=0;n<this.ELEMENTS;++n)t[r+n]=this[n];return t}toObject(t){return t}from(t){return Array.isArray(t)?this.copy(t):this.fromObject(t)}to(t){return t===this?this:Dt(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(me)}formatString(t){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+xo(this[n],t);return"".concat(t.printTypes?this.constructor.name:"","[").concat(r,"]")}equals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(!Yn(this[r],t[r]))return!1;return!0}exactEquals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(this[r]!==t[r])return!1;return!0}negate(){for(let t=0;t<this.ELEMENTS;++t)this[t]=-this[t];return this.check()}lerp(t,r,n){if(n===void 0)return this.lerp(this,t,r);for(let i=0;i<this.ELEMENTS;++i){let a=t[i],s=typeof r=="number"?r:r[i];this[i]=a+n*(s-a)}return this.check()}min(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(t[r],this[r]);return this.check()}max(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.max(t[r],this[r]);return this.check()}clamp(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t[n]),r[n]);return this.check()}add(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]+=r[n];return this.check()}subtract(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]-=r[n];return this.check()}scale(t){if(typeof t=="number")for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;else for(let r=0;r<this.ELEMENTS&&r<t.length;++r)this[r]*=t[r];return this.check()}multiplyByScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}check(){if(me.debug&&!this.validate())throw new Error("math.gl: ".concat(this.constructor.name," some fields set to invalid numbers'"));return this}validate(){let t=this.length===this.ELEMENTS;for(let r=0;r<this.ELEMENTS;++r)t=t&&Number.isFinite(this[r]);return t}sub(t){return this.subtract(t)}setScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=t;return this.check()}addScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]+=t;return this.check()}subScalar(t){return this.addScalar(-t)}multiplyScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}divideScalar(t){return this.multiplyByScalar(1/t)}clampScalar(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t),r);return this.check()}get elements(){return this}};function Hl(e,t){if(e.length!==t)return!1;for(let r=0;r<e.length;++r)if(!Number.isFinite(e[r]))return!1;return!0}function Te(e){if(!Number.isFinite(e))throw new Error("Invalid number ".concat(JSON.stringify(e)));return e}function xr(e,t,r=""){if(me.debug&&!Hl(e,t))throw new Error("math.gl: ".concat(r," some fields set to invalid numbers'"));return e}function zn(e,t){if(!e)throw new Error("math.gl assertion ".concat(t))}var Br=class extends xt{get x(){return this[0]}set x(t){this[0]=Te(t)}get y(){return this[1]}set y(t){this[1]=Te(t)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let t=0;for(let r=0;r<this.ELEMENTS;++r)t+=this[r]*this[r];return t}magnitudeSquared(){return this.lengthSquared()}distance(t){return Math.sqrt(this.distanceSquared(t))}distanceSquared(t){let r=0;for(let n=0;n<this.ELEMENTS;++n){let i=this[n]-t[n];r+=i*i}return Te(r)}dot(t){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*t[n];return Te(r)}normalize(){let t=this.magnitude();if(t!==0)for(let r=0;r<this.ELEMENTS;++r)this[r]/=t;return this.check()}multiply(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]*=r[n];return this.check()}divide(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]/=r[n];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(t){return this.distance(t)}distanceToSquared(t){return this.distanceSquared(t)}getComponent(t){return zn(t>=0&&t<this.ELEMENTS,"index is out of range"),Te(this[t])}setComponent(t,r){return zn(t>=0&&t<this.ELEMENTS,"index is out of range"),this[t]=r,this.check()}addVectors(t,r){return this.copy(t).add(r)}subVectors(t,r){return this.copy(t).subtract(r)}multiplyVectors(t,r){return this.copy(t).multiply(r)}addScaledVector(t,r){return this.add(new this.constructor(t).multiplyScalar(r))}};var Qe=typeof Float32Array<"u"?Float32Array:Array;var $v=Math.PI/180;function Wl(){let e=new Qe(2);return Qe!=Float32Array&&(e[0]=0,e[1]=0),e}function wo(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[4]*i+r[12],e[1]=r[1]*n+r[5]*i+r[13],e}var qv=function(){let e=Wl();return function(t,r,n,i,a,s){let u,f;for(r||(r=2),n||(n=0),i?f=Math.min(i*r+n,t.length):f=t.length,u=n;u<f;u+=r)e[0]=t[u],e[1]=t[u+1],a(e,e,s),t[u]=e[0],t[u+1]=e[1];return t}}();function Lo(e,t,r){let n=t[0],i=t[1],a=r[3]*n+r[7]*i||1;return e[0]=(r[0]*n+r[4]*i)/a,e[1]=(r[1]*n+r[5]*i)/a,e}function Ur(e,t,r){let n=t[0],i=t[1],a=t[2],s=r[3]*n+r[7]*i+r[11]*a||1;return e[0]=(r[0]*n+r[4]*i+r[8]*a)/s,e[1]=(r[1]*n+r[5]*i+r[9]*a)/s,e[2]=(r[2]*n+r[6]*i+r[10]*a)/s,e}function Xo(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e[2]=t[2],e}function kl(){let e=new Qe(3);return Qe!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function Vl(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Ho(e,t,r){let n=t[0],i=t[1],a=t[2],s=r[0],u=r[1],f=r[2];return e[0]=i*f-a*u,e[1]=a*s-n*f,e[2]=n*u-i*s,e}function wr(e,t,r){let n=t[0],i=t[1],a=t[2],s=r[3]*n+r[7]*i+r[11]*a+r[15];return s=s||1,e[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/s,e[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/s,e[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/s,e}function Wo(e,t,r){let n=t[0],i=t[1],a=t[2];return e[0]=n*r[0]+i*r[3]+a*r[6],e[1]=n*r[1]+i*r[4]+a*r[7],e[2]=n*r[2]+i*r[5]+a*r[8],e}function ko(e,t,r){let n=r[0],i=r[1],a=r[2],s=r[3],u=t[0],f=t[1],l=t[2],_=i*l-a*f,E=a*u-n*l,p=n*f-i*u,d=i*p-a*E,h=a*_-n*p,m=n*E-i*_,R=s*2;return _*=R,E*=R,p*=R,d*=2,h*=2,m*=2,e[0]=u+_+d,e[1]=f+E+h,e[2]=l+p+m,e}function Vo(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function jo(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function Ko(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function Yo(e,t){let r=e[0],n=e[1],i=e[2],a=t[0],s=t[1],u=t[2],f=Math.sqrt((r*r+n*n+i*i)*(a*a+s*s+u*u)),l=f&&Vl(e,t)/f;return Math.acos(Math.min(Math.max(l,-1),1))}var Jv=function(){let e=kl();return function(t,r,n,i,a,s){let u,f;for(r||(r=3),n||(n=0),i?f=Math.min(i*r+n,t.length):f=t.length,u=n;u<f;u+=r)e[0]=t[u],e[1]=t[u+1],e[2]=t[u+2],a(e,e,s),t[u]=e[0],t[u+1]=e[1],t[u+2]=e[2];return t}}();var $n=[0,0,0],Lr,Oe=class extends Br{static get ZERO(){return Lr||(Lr=new Oe(0,0,0),Object.freeze(Lr)),Lr}constructor(t=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&Dt(t)?this.copy(t):(me.debug&&(Te(t),Te(r),Te(n)),this[0]=t,this[1]=r,this[2]=n)}set(t,r,n){return this[0]=t,this[1]=r,this[2]=n,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this.check()}fromObject(t){return me.debug&&(Te(t.x),Te(t.y),Te(t.z)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this.check()}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t}get ELEMENTS(){return 3}get z(){return this[2]}set z(t){this[2]=Te(t)}angle(t){return Yo(this,t)}cross(t){return Ho(this,this,t),this.check()}rotateX({radians:t,origin:r=$n}){return Vo(this,this,r,t),this.check()}rotateY({radians:t,origin:r=$n}){return jo(this,this,r,t),this.check()}rotateZ({radians:t,origin:r=$n}){return Ko(this,this,r,t),this.check()}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return wr(this,this,t),this.check()}transformAsVector(t){return Ur(this,this,t),this.check()}transformByMatrix3(t){return Wo(this,this,t),this.check()}transformByMatrix2(t){return Xo(this,this,t),this.check()}transformByQuaternion(t){return ko(this,this,t),this.check()}};var Xr=class extends xt{toString(){let t="[";if(me.printRowMajor){t+="row-major:";for(let r=0;r<this.RANK;++r)for(let n=0;n<this.RANK;++n)t+=" ".concat(this[n*this.RANK+r])}else{t+="column-major:";for(let r=0;r<this.ELEMENTS;++r)t+=" ".concat(this[r])}return t+="]",t}getElementIndex(t,r){return r*this.RANK+t}getElement(t,r){return this[r*this.RANK+t]}setElement(t,r,n){return this[r*this.RANK+t]=Te(n),this}getColumn(t,r=new Array(this.RANK).fill(-0)){let n=t*this.RANK;for(let i=0;i<this.RANK;++i)r[i]=this[n+i];return r}setColumn(t,r){let n=t*this.RANK;for(let i=0;i<this.RANK;++i)this[n+i]=r[i];return this}};function jl(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function zo(e,t){if(e===t){let r=t[1],n=t[2],i=t[3],a=t[6],s=t[7],u=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=a,e[11]=t[14],e[12]=i,e[13]=s,e[14]=u}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function Go(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],s=t[4],u=t[5],f=t[6],l=t[7],_=t[8],E=t[9],p=t[10],d=t[11],h=t[12],m=t[13],R=t[14],T=t[15],I=r*u-n*s,v=r*f-i*s,N=r*l-a*s,M=n*f-i*u,F=n*l-a*u,D=i*l-a*f,K=_*m-E*h,H=_*R-p*h,Y=_*T-d*h,w=E*R-p*m,O=E*T-d*m,A=p*T-d*R,S=I*A-v*O+N*w+M*Y-F*H+D*K;return S?(S=1/S,e[0]=(u*A-f*O+l*w)*S,e[1]=(i*O-n*A-a*w)*S,e[2]=(m*D-R*F+T*M)*S,e[3]=(p*F-E*D-d*M)*S,e[4]=(f*Y-s*A-l*H)*S,e[5]=(r*A-i*Y+a*H)*S,e[6]=(R*N-h*D-T*v)*S,e[7]=(_*D-p*N+d*v)*S,e[8]=(s*O-u*Y+l*K)*S,e[9]=(n*Y-r*O-a*K)*S,e[10]=(h*F-m*N+T*I)*S,e[11]=(E*N-_*F-d*I)*S,e[12]=(u*H-s*w-f*K)*S,e[13]=(r*w-n*H+i*K)*S,e[14]=(m*v-h*M-R*I)*S,e[15]=(_*M-E*v+p*I)*S,e):null}function $o(e){let t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],s=e[5],u=e[6],f=e[7],l=e[8],_=e[9],E=e[10],p=e[11],d=e[12],h=e[13],m=e[14],R=e[15],T=t*s-r*a,I=t*u-n*a,v=r*u-n*s,N=l*h-_*d,M=l*m-E*d,F=_*m-E*h,D=t*F-r*M+n*N,K=a*F-s*M+u*N,H=l*v-_*I+E*T,Y=d*v-h*I+m*T;return f*D-i*K+R*H-p*Y}function qn(e,t,r){let n=t[0],i=t[1],a=t[2],s=t[3],u=t[4],f=t[5],l=t[6],_=t[7],E=t[8],p=t[9],d=t[10],h=t[11],m=t[12],R=t[13],T=t[14],I=t[15],v=r[0],N=r[1],M=r[2],F=r[3];return e[0]=v*n+N*u+M*E+F*m,e[1]=v*i+N*f+M*p+F*R,e[2]=v*a+N*l+M*d+F*T,e[3]=v*s+N*_+M*h+F*I,v=r[4],N=r[5],M=r[6],F=r[7],e[4]=v*n+N*u+M*E+F*m,e[5]=v*i+N*f+M*p+F*R,e[6]=v*a+N*l+M*d+F*T,e[7]=v*s+N*_+M*h+F*I,v=r[8],N=r[9],M=r[10],F=r[11],e[8]=v*n+N*u+M*E+F*m,e[9]=v*i+N*f+M*p+F*R,e[10]=v*a+N*l+M*d+F*T,e[11]=v*s+N*_+M*h+F*I,v=r[12],N=r[13],M=r[14],F=r[15],e[12]=v*n+N*u+M*E+F*m,e[13]=v*i+N*f+M*p+F*R,e[14]=v*a+N*l+M*d+F*T,e[15]=v*s+N*_+M*h+F*I,e}function qo(e,t,r){let n=r[0],i=r[1],a=r[2],s,u,f,l,_,E,p,d,h,m,R,T;return t===e?(e[12]=t[0]*n+t[4]*i+t[8]*a+t[12],e[13]=t[1]*n+t[5]*i+t[9]*a+t[13],e[14]=t[2]*n+t[6]*i+t[10]*a+t[14],e[15]=t[3]*n+t[7]*i+t[11]*a+t[15]):(s=t[0],u=t[1],f=t[2],l=t[3],_=t[4],E=t[5],p=t[6],d=t[7],h=t[8],m=t[9],R=t[10],T=t[11],e[0]=s,e[1]=u,e[2]=f,e[3]=l,e[4]=_,e[5]=E,e[6]=p,e[7]=d,e[8]=h,e[9]=m,e[10]=R,e[11]=T,e[12]=s*n+_*i+h*a+t[12],e[13]=u*n+E*i+m*a+t[13],e[14]=f*n+p*i+R*a+t[14],e[15]=l*n+d*i+T*a+t[15]),e}function Zo(e,t,r){let n=r[0],i=r[1],a=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Qo(e,t,r,n){let i=n[0],a=n[1],s=n[2],u=Math.sqrt(i*i+a*a+s*s),f,l,_,E,p,d,h,m,R,T,I,v,N,M,F,D,K,H,Y,w,O,A,S,x;return u<1e-6?null:(u=1/u,i*=u,a*=u,s*=u,l=Math.sin(r),f=Math.cos(r),_=1-f,E=t[0],p=t[1],d=t[2],h=t[3],m=t[4],R=t[5],T=t[6],I=t[7],v=t[8],N=t[9],M=t[10],F=t[11],D=i*i*_+f,K=a*i*_+s*l,H=s*i*_-a*l,Y=i*a*_-s*l,w=a*a*_+f,O=s*a*_+i*l,A=i*s*_+a*l,S=a*s*_-i*l,x=s*s*_+f,e[0]=E*D+m*K+v*H,e[1]=p*D+R*K+N*H,e[2]=d*D+T*K+M*H,e[3]=h*D+I*K+F*H,e[4]=E*Y+m*w+v*O,e[5]=p*Y+R*w+N*O,e[6]=d*Y+T*w+M*O,e[7]=h*Y+I*w+F*O,e[8]=E*A+m*S+v*x,e[9]=p*A+R*S+N*x,e[10]=d*A+T*S+M*x,e[11]=h*A+I*S+F*x,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function Jo(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[4],s=t[5],u=t[6],f=t[7],l=t[8],_=t[9],E=t[10],p=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+l*n,e[5]=s*i+_*n,e[6]=u*i+E*n,e[7]=f*i+p*n,e[8]=l*i-a*n,e[9]=_*i-s*n,e[10]=E*i-u*n,e[11]=p*i-f*n,e}function es(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],s=t[1],u=t[2],f=t[3],l=t[8],_=t[9],E=t[10],p=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-l*n,e[1]=s*i-_*n,e[2]=u*i-E*n,e[3]=f*i-p*n,e[8]=a*n+l*i,e[9]=s*n+_*i,e[10]=u*n+E*i,e[11]=f*n+p*i,e}function ts(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],s=t[1],u=t[2],f=t[3],l=t[4],_=t[5],E=t[6],p=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+l*n,e[1]=s*i+_*n,e[2]=u*i+E*n,e[3]=f*i+p*n,e[4]=l*i-a*n,e[5]=_*i-s*n,e[6]=E*i-u*n,e[7]=p*i-f*n,e}function rs(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],s=r+r,u=n+n,f=i+i,l=r*s,_=n*s,E=n*u,p=i*s,d=i*u,h=i*f,m=a*s,R=a*u,T=a*f;return e[0]=1-E-h,e[1]=_+T,e[2]=p-R,e[3]=0,e[4]=_-T,e[5]=1-l-h,e[6]=d+m,e[7]=0,e[8]=p+R,e[9]=d-m,e[10]=1-l-E,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function ns(e,t,r,n,i,a,s){let u=1/(r-t),f=1/(i-n),l=1/(a-s);return e[0]=a*2*u,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a*2*f,e[6]=0,e[7]=0,e[8]=(r+t)*u,e[9]=(i+n)*f,e[10]=(s+a)*l,e[11]=-1,e[12]=0,e[13]=0,e[14]=s*a*2*l,e[15]=0,e}function Kl(e,t,r,n,i){let a=1/Math.tan(t/2);if(e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let s=1/(n-i);e[10]=(i+n)*s,e[14]=2*i*n*s}else e[10]=-1,e[14]=-2*n;return e}var is=Kl;function Yl(e,t,r,n,i,a,s){let u=1/(t-r),f=1/(n-i),l=1/(a-s);return e[0]=-2*u,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*f,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*l,e[11]=0,e[12]=(t+r)*u,e[13]=(i+n)*f,e[14]=(s+a)*l,e[15]=1,e}var as=Yl;function os(e,t,r,n){let i,a,s,u,f,l,_,E,p,d,h=t[0],m=t[1],R=t[2],T=n[0],I=n[1],v=n[2],N=r[0],M=r[1],F=r[2];return Math.abs(h-N)<1e-6&&Math.abs(m-M)<1e-6&&Math.abs(R-F)<1e-6?jl(e):(E=h-N,p=m-M,d=R-F,i=1/Math.sqrt(E*E+p*p+d*d),E*=i,p*=i,d*=i,a=I*d-v*p,s=v*E-T*d,u=T*p-I*E,i=Math.sqrt(a*a+s*s+u*u),i?(i=1/i,a*=i,s*=i,u*=i):(a=0,s=0,u=0),f=p*u-d*s,l=d*a-E*u,_=E*s-p*a,i=Math.sqrt(f*f+l*l+_*_),i?(i=1/i,f*=i,l*=i,_*=i):(f=0,l=0,_=0),e[0]=a,e[1]=f,e[2]=E,e[3]=0,e[4]=s,e[5]=l,e[6]=p,e[7]=0,e[8]=u,e[9]=_,e[10]=d,e[11]=0,e[12]=-(a*h+s*m+u*R),e[13]=-(f*h+l*m+_*R),e[14]=-(E*h+p*m+d*R),e[15]=1,e)}function zl(){let e=new Qe(4);return Qe!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function ss(e,t,r){let n=t[0],i=t[1],a=t[2],s=t[3];return e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*s,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*s,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*s,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*s,e}var _g=function(){let e=zl();return function(t,r,n,i,a,s){let u,f;for(r||(r=4),n||(n=0),i?f=Math.min(i*r+n,t.length):f=t.length,u=n;u<f;u+=r)e[0]=t[u],e[1]=t[u+1],e[2]=t[u+2],e[3]=t[u+3],a(e,e,s),t[u]=e[0],t[u+1]=e[1],t[u+2]=e[2],t[u+3]=e[3];return t}}();var Jn;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL0ROW3=3]="COL0ROW3",e[e.COL1ROW0=4]="COL1ROW0",e[e.COL1ROW1=5]="COL1ROW1",e[e.COL1ROW2=6]="COL1ROW2",e[e.COL1ROW3=7]="COL1ROW3",e[e.COL2ROW0=8]="COL2ROW0",e[e.COL2ROW1=9]="COL2ROW1",e[e.COL2ROW2=10]="COL2ROW2",e[e.COL2ROW3=11]="COL2ROW3",e[e.COL3ROW0=12]="COL3ROW0",e[e.COL3ROW1=13]="COL3ROW1",e[e.COL3ROW2=14]="COL3ROW2",e[e.COL3ROW3=15]="COL3ROW3"})(Jn||(Jn={}));var Gl=45*Math.PI/180,$l=1,Zn=.1,Qn=500,ql=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),Ue=class extends Xr{static get IDENTITY(){return Ql()}static get ZERO(){return Zl()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return Jn}constructor(t){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this[9]=t[9],this[10]=t[10],this[11]=t[11],this[12]=t[12],this[13]=t[13],this[14]=t[14],this[15]=t[15],this.check()}set(t,r,n,i,a,s,u,f,l,_,E,p,d,h,m,R){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this[4]=a,this[5]=s,this[6]=u,this[7]=f,this[8]=l,this[9]=_,this[10]=E,this[11]=p,this[12]=d,this[13]=h,this[14]=m,this[15]=R,this.check()}setRowMajor(t,r,n,i,a,s,u,f,l,_,E,p,d,h,m,R){return this[0]=t,this[1]=a,this[2]=l,this[3]=d,this[4]=r,this[5]=s,this[6]=_,this[7]=h,this[8]=n,this[9]=u,this[10]=E,this[11]=m,this[12]=i,this[13]=f,this[14]=p,this[15]=R,this.check()}toRowMajor(t){return t[0]=this[0],t[1]=this[4],t[2]=this[8],t[3]=this[12],t[4]=this[1],t[5]=this[5],t[6]=this[9],t[7]=this[13],t[8]=this[2],t[9]=this[6],t[10]=this[10],t[11]=this[14],t[12]=this[3],t[13]=this[7],t[14]=this[11],t[15]=this[15],t}identity(){return this.copy(ql)}fromObject(t){return this.check()}fromQuaternion(t){return rs(this,t),this.check()}frustum(t){let{left:r,right:n,bottom:i,top:a,near:s=Zn,far:u=Qn}=t;return u===1/0?Jl(this,r,n,i,a,s):ns(this,r,n,i,a,s,u),this.check()}lookAt(t){let{eye:r,center:n=[0,0,0],up:i=[0,1,0]}=t;return os(this,r,n,i),this.check()}ortho(t){let{left:r,right:n,bottom:i,top:a,near:s=Zn,far:u=Qn}=t;return as(this,r,n,i,a,s,u),this.check()}orthographic(t){let{fovy:r=Gl,aspect:n=$l,focalDistance:i=1,near:a=Zn,far:s=Qn}=t;cs(r);let u=r/2,f=i*Math.tan(u),l=f*n;return this.ortho({left:-l,right:l,bottom:-f,top:f,near:a,far:s})}perspective(t){let{fovy:r=45*Math.PI/180,aspect:n=1,near:i=.1,far:a=500}=t;return cs(r),is(this,r,n,i,a),this.check()}determinant(){return $o(this)}getScale(t=[-0,-0,-0]){return t[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),t[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),t[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),t}getTranslation(t=[-0,-0,-0]){return t[0]=this[12],t[1]=this[13],t[2]=this[14],t}getRotation(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),i=1/n[0],a=1/n[1],s=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*s,t[3]=0,t[4]=this[4]*i,t[5]=this[5]*a,t[6]=this[6]*s,t[7]=0,t[8]=this[8]*i,t[9]=this[9]*a,t[10]=this[10]*s,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}getRotationMatrix3(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),i=1/n[0],a=1/n[1],s=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*s,t[3]=this[4]*i,t[4]=this[5]*a,t[5]=this[6]*s,t[6]=this[8]*i,t[7]=this[9]*a,t[8]=this[10]*s,t}transpose(){return zo(this,this),this.check()}invert(){return Go(this,this),this.check()}multiplyLeft(t){return qn(this,t,this),this.check()}multiplyRight(t){return qn(this,this,t),this.check()}rotateX(t){return Jo(this,this,t),this.check()}rotateY(t){return es(this,this,t),this.check()}rotateZ(t){return ts(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,r){return Qo(this,this,t,r),this.check()}scale(t){return Zo(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return qo(this,this,t),this.check()}transform(t,r){return t.length===4?(r=ss(r||[-0,-0,-0,-0],t,this),xr(r,4),r):this.transformAsPoint(t,r)}transformAsPoint(t,r){let{length:n}=t,i;switch(n){case 2:i=wo(r||[-0,-0],t,this);break;case 3:i=wr(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return xr(i,t.length),i}transformAsVector(t,r){let n;switch(t.length){case 2:n=Lo(r||[-0,-0],t,this);break;case 3:n=Ur(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return xr(n,t.length),n}transformPoint(t,r){return this.transformAsPoint(t,r)}transformVector(t,r){return this.transformAsPoint(t,r)}transformDirection(t,r){return this.transformAsVector(t,r)}makeRotationX(t){return this.identity().rotateX(t)}makeTranslation(t,r,n){return this.identity().translate([t,r,n])}},Hr,Wr;function Zl(){return Hr||(Hr=new Ue([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(Hr)),Hr}function Ql(){return Wr||(Wr=new Ue,Object.freeze(Wr)),Wr}function cs(e){if(e>Math.PI*2)throw Error("expected radians")}function Jl(e,t,r,n,i,a){let s=2*a/(r-t),u=2*a/(i-n),f=(r+t)/(r-t),l=(i+n)/(i-n),_=-1,E=-1,p=-2*a;return e[0]=s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=u,e[6]=0,e[7]=0,e[8]=f,e[9]=l,e[10]=_,e[11]=E,e[12]=0,e[13]=0,e[14]=p,e[15]=0,e}function us(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=e_(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,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.
262
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,u;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,u=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw u}}}}function e_(e,t){if(e){if(typeof e=="string")return fs(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return fs(e,t)}}function fs(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function ls(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Xe(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ls(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ls(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var t_={vs:"",fs:"",modules:[],defines:{},inject:{},transpileToGLSL100:!1,layout:null,varyings:[],bufferMode:35981,topology:"triangle-list",parameters:{}},kr=function(){function e(t){b(this,e),c(this,"device",void 0),c(this,"stateHash",0),c(this,"_hashCounter",0),c(this,"_hashes",{}),c(this,"_useCounts",{}),c(this,"_pipelineCache",{}),c(this,"_getUniforms",{}),c(this,"_hookFunctions",[]),c(this,"_defaultModules",[]),this.device=t}return C(e,[{key:"addDefaultModule",value:function(r){this._defaultModules.find(function(n){return n.name===(typeof r=="string"?r:r.name)})||this._defaultModules.push(r),this.stateHash++}},{key:"removeDefaultModule",value:function(r){var n=typeof r=="string"?r:r.name;this._defaultModules=this._defaultModules.filter(function(i){return i.name!==n}),this.stateHash++}},{key:"addShaderHook",value:function(r,n){n&&(r=Object.assign(n,{hook:r})),this._hookFunctions.push(r),this.stateHash++}},{key:"createRenderPipeline",value:function(r){var n=Xe(Xe({},t_),r),i=this._getModuleList(n.modules),a=this._hashRenderPipeline(Xe(Xe({},n),{},{modules:i}));if(!this._pipelineCache[a]){var s=this._createRenderPipeline(Xe(Xe({},n),{},{modules:i})),u=s.pipeline,f=s.getUniforms;u.hash=a,this._pipelineCache[a]=u,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(r){var n=r.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(r){return this._getUniforms[r.hash]||null}},{key:"_createRenderPipeline",value:function(r){var n={gpu:this.device.info.gpu,features:this.device.features};if(!r.fs)throw new Error("fs");var i=Vn(n,Xe(Xe({},r),{},{fs:r.fs,hookFunctions:this._hookFunctions})),a=this.device.createRenderPipeline(Xe(Xe({},r),{},{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(r){var n=this,i=r.modules,a=i===void 0?[]:i,s=r.varyings,u=s===void 0?[]:s,f=r.defines,l=f===void 0?{}:f,_=r.inject,E=_===void 0?{}:_,p=r.parameters,d=p===void 0?{}:p,h=this._getHash(r.vs),m=r.fs?this._getHash(r.fs):0,R=a.map(function(A){return n._getHash(typeof A=="string"?A:A.name)}).sort(),T=u.map(function(A){return n._getHash(A)}),I=Object.keys(l).sort(),v=Object.keys(E).sort(),N=[],M=[],F=us(I),D;try{for(F.s();!(D=F.n()).done;){var K=D.value;N.push(this._getHash(K)),N.push(this._getHash(String(l[K])))}}catch(A){F.e(A)}finally{F.f()}var H=us(v),Y;try{for(H.s();!(Y=H.n()).done;){var w=Y.value;M.push(this._getHash(w)),M.push(this._getHash(E[w]))}}catch(A){H.e(A)}finally{H.f()}var O=JSON.stringify(d);return"".concat(h,"/").concat(m,"D").concat(N.join("/"),"M").concat(R.join("/"),"I").concat(M.join("/"),"V").concat(T.join("/"),"H").concat(this.stateHash,"B").concat(r.bufferMode).concat(r.transpileToGLSL100?"T":"","P").concat(O)}},{key:"_getHash",value:function(r){return this._hashes[r]===void 0&&(this._hashes[r]=this._hashCounter++),this._hashes[r]}},{key:"_getModuleList",value:function(){for(var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],n=new Array(this._defaultModules.length+r.length),i={},a=0,s=0,u=this._defaultModules.length;s<u;++s){var f=this._defaultModules[s],l=f.name;n[a++]=f,i[l]=!0}for(var _=0,E=r.length;_<E;++_){var p=r[_],d=p.name;i[d]||(n[a++]=p,i[d]=!0)}return n.length=a,n}}],[{key:"getDefaultPipelineFactory",value:function(r){return r.defaultPipelineFactory=r.defaultPipelineFactory||new e(r),r.defaultPipelineFactory}}]),e}();function _s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ht(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?_s(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):_s(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var r_=ht(ht({},It._DEFAULT_PROPS),{},{vs:null,fs:null,id:"unnamed",handle:void 0,userData:{},defines:{},modules:[],moduleSettings:{},geometry:null,pipelineFactory:void 0}),Ut=function(){function e(t,r){if(b(this,e),c(this,"device",void 0),c(this,"id",void 0),c(this,"vs",void 0),c(this,"fs",null),c(this,"topology",void 0),c(this,"vertexCount",void 0),c(this,"userData",{}),c(this,"pipelineFactory",void 0),c(this,"pipeline",void 0),c(this,"props",void 0),c(this,"_getModuleUniforms",void 0),this.props=ht(ht({},r_),r),r=this.props,this.id=this.props.id,this.device=t,Object.assign(this.userData,this.props.userData),!r.vs)throw new Error("no vertex shader");this.vs=Es(this.device,r.vs),r.fs&&(this.fs=Es(this.device,r.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"),this.pipelineFactory=this.props.pipelineFactory||kr.getDefaultPipelineFactory(this.device);var n=this.pipelineFactory.createRenderPipeline(ht(ht({},this.props),{},{vs:this.vs,fs:this.fs,topology:this.topology,defines:r.defines,parameters:r.parameters,layout:r.layout})),i=n.pipeline,a=n.getUniforms;this.pipeline=i,this._getModuleUniforms=a,this.props.geometry&&this._setGeometry(this.props.geometry),this.setUniforms(this._getModuleUniforms()),this.setProps(this.props)}return C(e,[{key:"destroy",value:function(){this.pipelineFactory.release(this.pipeline)}},{key:"draw",value:function(r){return this.pipeline.draw({renderPass:r,vertexCount:this.vertexCount,instanceCount:this.props.instanceCount}),this}},{key:"setProps",value:function(r){return r.indices&&this.setIndexBuffer(r.indices),r.attributes&&this.setAttributes(r.attributes),r.bindings&&this.setBindings(r.bindings),r.uniforms&&this.setUniforms(r.uniforms),r.moduleSettings&&this.updateModuleSettings(r.moduleSettings),this}},{key:"updateModuleSettings",value:function(r){var n=this._getModuleUniforms(r);return this.setUniforms(n),this}},{key:"setIndexBuffer",value:function(r){return this.pipeline.setIndexBuffer(r),this}},{key:"setAttributes",value:function(r){return r.indices&&(this.setIndexBuffer(r.indices),r=ht({},r),delete r.indices,console.warn("luma.gl: indices should not be part of attributes")),this.pipeline.setAttributes(r),Object.assign(this.props.attributes,r),this}},{key:"setBindings",value:function(r){return this.pipeline.setBindings(r),Object.assign(this.props.bindings,r),this}},{key:"setUniforms",value:function(r){return this.pipeline.setUniforms(r),Object.assign(this.props.uniforms,r),this}},{key:"_setGeometry",value:function(r){var n=Ya(this.device,r);this.setAttributes(n);var i=Ka(this.device,r);i&&this.setIndexBuffer(i)}}]),e}();function Es(e,t){if(typeof t=="string")return t;switch(e.info.type){case"webgpu":if(t!=null&&t.wgsl)return t.wgsl;throw new Error("WebGPU does not support GLSL shaders");default:if(t!=null&&t.glsl)return t.glsl;throw new Error("WebGL does not support WGSL shaders")}}var o=function(e){return e[e.DEPTH_BUFFER_BIT=256]="DEPTH_BUFFER_BIT",e[e.STENCIL_BUFFER_BIT=1024]="STENCIL_BUFFER_BIT",e[e.COLOR_BUFFER_BIT=16384]="COLOR_BUFFER_BIT",e[e.POINTS=0]="POINTS",e[e.LINES=1]="LINES",e[e.LINE_LOOP=2]="LINE_LOOP",e[e.LINE_STRIP=3]="LINE_STRIP",e[e.TRIANGLES=4]="TRIANGLES",e[e.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",e[e.TRIANGLE_FAN=6]="TRIANGLE_FAN",e[e.ZERO=0]="ZERO",e[e.ONE=1]="ONE",e[e.SRC_COLOR=768]="SRC_COLOR",e[e.ONE_MINUS_SRC_COLOR=769]="ONE_MINUS_SRC_COLOR",e[e.SRC_ALPHA=770]="SRC_ALPHA",e[e.ONE_MINUS_SRC_ALPHA=771]="ONE_MINUS_SRC_ALPHA",e[e.DST_ALPHA=772]="DST_ALPHA",e[e.ONE_MINUS_DST_ALPHA=773]="ONE_MINUS_DST_ALPHA",e[e.DST_COLOR=774]="DST_COLOR",e[e.ONE_MINUS_DST_COLOR=775]="ONE_MINUS_DST_COLOR",e[e.SRC_ALPHA_SATURATE=776]="SRC_ALPHA_SATURATE",e[e.CONSTANT_COLOR=32769]="CONSTANT_COLOR",e[e.ONE_MINUS_CONSTANT_COLOR=32770]="ONE_MINUS_CONSTANT_COLOR",e[e.CONSTANT_ALPHA=32771]="CONSTANT_ALPHA",e[e.ONE_MINUS_CONSTANT_ALPHA=32772]="ONE_MINUS_CONSTANT_ALPHA",e[e.FUNC_ADD=32774]="FUNC_ADD",e[e.FUNC_SUBTRACT=32778]="FUNC_SUBTRACT",e[e.FUNC_REVERSE_SUBTRACT=32779]="FUNC_REVERSE_SUBTRACT",e[e.BLEND_EQUATION=32777]="BLEND_EQUATION",e[e.BLEND_EQUATION_RGB=32777]="BLEND_EQUATION_RGB",e[e.BLEND_EQUATION_ALPHA=34877]="BLEND_EQUATION_ALPHA",e[e.BLEND_DST_RGB=32968]="BLEND_DST_RGB",e[e.BLEND_SRC_RGB=32969]="BLEND_SRC_RGB",e[e.BLEND_DST_ALPHA=32970]="BLEND_DST_ALPHA",e[e.BLEND_SRC_ALPHA=32971]="BLEND_SRC_ALPHA",e[e.BLEND_COLOR=32773]="BLEND_COLOR",e[e.ARRAY_BUFFER_BINDING=34964]="ARRAY_BUFFER_BINDING",e[e.ELEMENT_ARRAY_BUFFER_BINDING=34965]="ELEMENT_ARRAY_BUFFER_BINDING",e[e.LINE_WIDTH=2849]="LINE_WIDTH",e[e.ALIASED_POINT_SIZE_RANGE=33901]="ALIASED_POINT_SIZE_RANGE",e[e.ALIASED_LINE_WIDTH_RANGE=33902]="ALIASED_LINE_WIDTH_RANGE",e[e.CULL_FACE_MODE=2885]="CULL_FACE_MODE",e[e.FRONT_FACE=2886]="FRONT_FACE",e[e.DEPTH_RANGE=2928]="DEPTH_RANGE",e[e.DEPTH_WRITEMASK=2930]="DEPTH_WRITEMASK",e[e.DEPTH_CLEAR_VALUE=2931]="DEPTH_CLEAR_VALUE",e[e.DEPTH_FUNC=2932]="DEPTH_FUNC",e[e.STENCIL_CLEAR_VALUE=2961]="STENCIL_CLEAR_VALUE",e[e.STENCIL_FUNC=2962]="STENCIL_FUNC",e[e.STENCIL_FAIL=2964]="STENCIL_FAIL",e[e.STENCIL_PASS_DEPTH_FAIL=2965]="STENCIL_PASS_DEPTH_FAIL",e[e.STENCIL_PASS_DEPTH_PASS=2966]="STENCIL_PASS_DEPTH_PASS",e[e.STENCIL_REF=2967]="STENCIL_REF",e[e.STENCIL_VALUE_MASK=2963]="STENCIL_VALUE_MASK",e[e.STENCIL_WRITEMASK=2968]="STENCIL_WRITEMASK",e[e.STENCIL_BACK_FUNC=34816]="STENCIL_BACK_FUNC",e[e.STENCIL_BACK_FAIL=34817]="STENCIL_BACK_FAIL",e[e.STENCIL_BACK_PASS_DEPTH_FAIL=34818]="STENCIL_BACK_PASS_DEPTH_FAIL",e[e.STENCIL_BACK_PASS_DEPTH_PASS=34819]="STENCIL_BACK_PASS_DEPTH_PASS",e[e.STENCIL_BACK_REF=36003]="STENCIL_BACK_REF",e[e.STENCIL_BACK_VALUE_MASK=36004]="STENCIL_BACK_VALUE_MASK",e[e.STENCIL_BACK_WRITEMASK=36005]="STENCIL_BACK_WRITEMASK",e[e.VIEWPORT=2978]="VIEWPORT",e[e.SCISSOR_BOX=3088]="SCISSOR_BOX",e[e.COLOR_CLEAR_VALUE=3106]="COLOR_CLEAR_VALUE",e[e.COLOR_WRITEMASK=3107]="COLOR_WRITEMASK",e[e.UNPACK_ALIGNMENT=3317]="UNPACK_ALIGNMENT",e[e.PACK_ALIGNMENT=3333]="PACK_ALIGNMENT",e[e.MAX_TEXTURE_SIZE=3379]="MAX_TEXTURE_SIZE",e[e.MAX_VIEWPORT_DIMS=3386]="MAX_VIEWPORT_DIMS",e[e.SUBPIXEL_BITS=3408]="SUBPIXEL_BITS",e[e.RED_BITS=3410]="RED_BITS",e[e.GREEN_BITS=3411]="GREEN_BITS",e[e.BLUE_BITS=3412]="BLUE_BITS",e[e.ALPHA_BITS=3413]="ALPHA_BITS",e[e.DEPTH_BITS=3414]="DEPTH_BITS",e[e.STENCIL_BITS=3415]="STENCIL_BITS",e[e.POLYGON_OFFSET_UNITS=10752]="POLYGON_OFFSET_UNITS",e[e.POLYGON_OFFSET_FACTOR=32824]="POLYGON_OFFSET_FACTOR",e[e.TEXTURE_BINDING_2D=32873]="TEXTURE_BINDING_2D",e[e.SAMPLE_BUFFERS=32936]="SAMPLE_BUFFERS",e[e.SAMPLES=32937]="SAMPLES",e[e.SAMPLE_COVERAGE_VALUE=32938]="SAMPLE_COVERAGE_VALUE",e[e.SAMPLE_COVERAGE_INVERT=32939]="SAMPLE_COVERAGE_INVERT",e[e.COMPRESSED_TEXTURE_FORMATS=34467]="COMPRESSED_TEXTURE_FORMATS",e[e.VENDOR=7936]="VENDOR",e[e.RENDERER=7937]="RENDERER",e[e.VERSION=7938]="VERSION",e[e.IMPLEMENTATION_COLOR_READ_TYPE=35738]="IMPLEMENTATION_COLOR_READ_TYPE",e[e.IMPLEMENTATION_COLOR_READ_FORMAT=35739]="IMPLEMENTATION_COLOR_READ_FORMAT",e[e.BROWSER_DEFAULT_WEBGL=37444]="BROWSER_DEFAULT_WEBGL",e[e.STATIC_DRAW=35044]="STATIC_DRAW",e[e.STREAM_DRAW=35040]="STREAM_DRAW",e[e.DYNAMIC_DRAW=35048]="DYNAMIC_DRAW",e[e.ARRAY_BUFFER=34962]="ARRAY_BUFFER",e[e.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER",e[e.BUFFER_SIZE=34660]="BUFFER_SIZE",e[e.BUFFER_USAGE=34661]="BUFFER_USAGE",e[e.CURRENT_VERTEX_ATTRIB=34342]="CURRENT_VERTEX_ATTRIB",e[e.VERTEX_ATTRIB_ARRAY_ENABLED=34338]="VERTEX_ATTRIB_ARRAY_ENABLED",e[e.VERTEX_ATTRIB_ARRAY_SIZE=34339]="VERTEX_ATTRIB_ARRAY_SIZE",e[e.VERTEX_ATTRIB_ARRAY_STRIDE=34340]="VERTEX_ATTRIB_ARRAY_STRIDE",e[e.VERTEX_ATTRIB_ARRAY_TYPE=34341]="VERTEX_ATTRIB_ARRAY_TYPE",e[e.VERTEX_ATTRIB_ARRAY_NORMALIZED=34922]="VERTEX_ATTRIB_ARRAY_NORMALIZED",e[e.VERTEX_ATTRIB_ARRAY_POINTER=34373]="VERTEX_ATTRIB_ARRAY_POINTER",e[e.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING=34975]="VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",e[e.CULL_FACE=2884]="CULL_FACE",e[e.FRONT=1028]="FRONT",e[e.BACK=1029]="BACK",e[e.FRONT_AND_BACK=1032]="FRONT_AND_BACK",e[e.BLEND=3042]="BLEND",e[e.DEPTH_TEST=2929]="DEPTH_TEST",e[e.DITHER=3024]="DITHER",e[e.POLYGON_OFFSET_FILL=32823]="POLYGON_OFFSET_FILL",e[e.SAMPLE_ALPHA_TO_COVERAGE=32926]="SAMPLE_ALPHA_TO_COVERAGE",e[e.SAMPLE_COVERAGE=32928]="SAMPLE_COVERAGE",e[e.SCISSOR_TEST=3089]="SCISSOR_TEST",e[e.STENCIL_TEST=2960]="STENCIL_TEST",e[e.NO_ERROR=0]="NO_ERROR",e[e.INVALID_ENUM=1280]="INVALID_ENUM",e[e.INVALID_VALUE=1281]="INVALID_VALUE",e[e.INVALID_OPERATION=1282]="INVALID_OPERATION",e[e.OUT_OF_MEMORY=1285]="OUT_OF_MEMORY",e[e.CONTEXT_LOST_WEBGL=37442]="CONTEXT_LOST_WEBGL",e[e.CW=2304]="CW",e[e.CCW=2305]="CCW",e[e.DONT_CARE=4352]="DONT_CARE",e[e.FASTEST=4353]="FASTEST",e[e.NICEST=4354]="NICEST",e[e.GENERATE_MIPMAP_HINT=33170]="GENERATE_MIPMAP_HINT",e[e.BYTE=5120]="BYTE",e[e.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",e[e.SHORT=5122]="SHORT",e[e.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",e[e.INT=5124]="INT",e[e.UNSIGNED_INT=5125]="UNSIGNED_INT",e[e.FLOAT=5126]="FLOAT",e[e.DOUBLE=5130]="DOUBLE",e[e.DEPTH_COMPONENT=6402]="DEPTH_COMPONENT",e[e.ALPHA=6406]="ALPHA",e[e.RGB=6407]="RGB",e[e.RGBA=6408]="RGBA",e[e.LUMINANCE=6409]="LUMINANCE",e[e.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA",e[e.UNSIGNED_SHORT_4_4_4_4=32819]="UNSIGNED_SHORT_4_4_4_4",e[e.UNSIGNED_SHORT_5_5_5_1=32820]="UNSIGNED_SHORT_5_5_5_1",e[e.UNSIGNED_SHORT_5_6_5=33635]="UNSIGNED_SHORT_5_6_5",e[e.FRAGMENT_SHADER=35632]="FRAGMENT_SHADER",e[e.VERTEX_SHADER=35633]="VERTEX_SHADER",e[e.COMPILE_STATUS=35713]="COMPILE_STATUS",e[e.DELETE_STATUS=35712]="DELETE_STATUS",e[e.LINK_STATUS=35714]="LINK_STATUS",e[e.VALIDATE_STATUS=35715]="VALIDATE_STATUS",e[e.ATTACHED_SHADERS=35717]="ATTACHED_SHADERS",e[e.ACTIVE_ATTRIBUTES=35721]="ACTIVE_ATTRIBUTES",e[e.ACTIVE_UNIFORMS=35718]="ACTIVE_UNIFORMS",e[e.MAX_VERTEX_ATTRIBS=34921]="MAX_VERTEX_ATTRIBS",e[e.MAX_VERTEX_UNIFORM_VECTORS=36347]="MAX_VERTEX_UNIFORM_VECTORS",e[e.MAX_VARYING_VECTORS=36348]="MAX_VARYING_VECTORS",e[e.MAX_COMBINED_TEXTURE_IMAGE_UNITS=35661]="MAX_COMBINED_TEXTURE_IMAGE_UNITS",e[e.MAX_VERTEX_TEXTURE_IMAGE_UNITS=35660]="MAX_VERTEX_TEXTURE_IMAGE_UNITS",e[e.MAX_TEXTURE_IMAGE_UNITS=34930]="MAX_TEXTURE_IMAGE_UNITS",e[e.MAX_FRAGMENT_UNIFORM_VECTORS=36349]="MAX_FRAGMENT_UNIFORM_VECTORS",e[e.SHADER_TYPE=35663]="SHADER_TYPE",e[e.SHADING_LANGUAGE_VERSION=35724]="SHADING_LANGUAGE_VERSION",e[e.CURRENT_PROGRAM=35725]="CURRENT_PROGRAM",e[e.NEVER=512]="NEVER",e[e.LESS=513]="LESS",e[e.EQUAL=514]="EQUAL",e[e.LEQUAL=515]="LEQUAL",e[e.GREATER=516]="GREATER",e[e.NOTEQUAL=517]="NOTEQUAL",e[e.GEQUAL=518]="GEQUAL",e[e.ALWAYS=519]="ALWAYS",e[e.KEEP=7680]="KEEP",e[e.REPLACE=7681]="REPLACE",e[e.INCR=7682]="INCR",e[e.DECR=7683]="DECR",e[e.INVERT=5386]="INVERT",e[e.INCR_WRAP=34055]="INCR_WRAP",e[e.DECR_WRAP=34056]="DECR_WRAP",e[e.NEAREST=9728]="NEAREST",e[e.LINEAR=9729]="LINEAR",e[e.NEAREST_MIPMAP_NEAREST=9984]="NEAREST_MIPMAP_NEAREST",e[e.LINEAR_MIPMAP_NEAREST=9985]="LINEAR_MIPMAP_NEAREST",e[e.NEAREST_MIPMAP_LINEAR=9986]="NEAREST_MIPMAP_LINEAR",e[e.LINEAR_MIPMAP_LINEAR=9987]="LINEAR_MIPMAP_LINEAR",e[e.TEXTURE_MAG_FILTER=10240]="TEXTURE_MAG_FILTER",e[e.TEXTURE_MIN_FILTER=10241]="TEXTURE_MIN_FILTER",e[e.TEXTURE_WRAP_S=10242]="TEXTURE_WRAP_S",e[e.TEXTURE_WRAP_T=10243]="TEXTURE_WRAP_T",e[e.TEXTURE_2D=3553]="TEXTURE_2D",e[e.TEXTURE=5890]="TEXTURE",e[e.TEXTURE_CUBE_MAP=34067]="TEXTURE_CUBE_MAP",e[e.TEXTURE_BINDING_CUBE_MAP=34068]="TEXTURE_BINDING_CUBE_MAP",e[e.TEXTURE_CUBE_MAP_POSITIVE_X=34069]="TEXTURE_CUBE_MAP_POSITIVE_X",e[e.TEXTURE_CUBE_MAP_NEGATIVE_X=34070]="TEXTURE_CUBE_MAP_NEGATIVE_X",e[e.TEXTURE_CUBE_MAP_POSITIVE_Y=34071]="TEXTURE_CUBE_MAP_POSITIVE_Y",e[e.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072]="TEXTURE_CUBE_MAP_NEGATIVE_Y",e[e.TEXTURE_CUBE_MAP_POSITIVE_Z=34073]="TEXTURE_CUBE_MAP_POSITIVE_Z",e[e.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074]="TEXTURE_CUBE_MAP_NEGATIVE_Z",e[e.MAX_CUBE_MAP_TEXTURE_SIZE=34076]="MAX_CUBE_MAP_TEXTURE_SIZE",e[e.TEXTURE0=33984]="TEXTURE0",e[e.ACTIVE_TEXTURE=34016]="ACTIVE_TEXTURE",e[e.REPEAT=10497]="REPEAT",e[e.CLAMP_TO_EDGE=33071]="CLAMP_TO_EDGE",e[e.MIRRORED_REPEAT=33648]="MIRRORED_REPEAT",e[e.TEXTURE_WIDTH=4096]="TEXTURE_WIDTH",e[e.TEXTURE_HEIGHT=4097]="TEXTURE_HEIGHT",e[e.FLOAT_VEC2=35664]="FLOAT_VEC2",e[e.FLOAT_VEC3=35665]="FLOAT_VEC3",e[e.FLOAT_VEC4=35666]="FLOAT_VEC4",e[e.INT_VEC2=35667]="INT_VEC2",e[e.INT_VEC3=35668]="INT_VEC3",e[e.INT_VEC4=35669]="INT_VEC4",e[e.BOOL=35670]="BOOL",e[e.BOOL_VEC2=35671]="BOOL_VEC2",e[e.BOOL_VEC3=35672]="BOOL_VEC3",e[e.BOOL_VEC4=35673]="BOOL_VEC4",e[e.FLOAT_MAT2=35674]="FLOAT_MAT2",e[e.FLOAT_MAT3=35675]="FLOAT_MAT3",e[e.FLOAT_MAT4=35676]="FLOAT_MAT4",e[e.SAMPLER_2D=35678]="SAMPLER_2D",e[e.SAMPLER_CUBE=35680]="SAMPLER_CUBE",e[e.LOW_FLOAT=36336]="LOW_FLOAT",e[e.MEDIUM_FLOAT=36337]="MEDIUM_FLOAT",e[e.HIGH_FLOAT=36338]="HIGH_FLOAT",e[e.LOW_INT=36339]="LOW_INT",e[e.MEDIUM_INT=36340]="MEDIUM_INT",e[e.HIGH_INT=36341]="HIGH_INT",e[e.FRAMEBUFFER=36160]="FRAMEBUFFER",e[e.RENDERBUFFER=36161]="RENDERBUFFER",e[e.RGBA4=32854]="RGBA4",e[e.RGB5_A1=32855]="RGB5_A1",e[e.RGB565=36194]="RGB565",e[e.DEPTH_COMPONENT16=33189]="DEPTH_COMPONENT16",e[e.STENCIL_INDEX=6401]="STENCIL_INDEX",e[e.STENCIL_INDEX8=36168]="STENCIL_INDEX8",e[e.DEPTH_STENCIL=34041]="DEPTH_STENCIL",e[e.RENDERBUFFER_WIDTH=36162]="RENDERBUFFER_WIDTH",e[e.RENDERBUFFER_HEIGHT=36163]="RENDERBUFFER_HEIGHT",e[e.RENDERBUFFER_INTERNAL_FORMAT=36164]="RENDERBUFFER_INTERNAL_FORMAT",e[e.RENDERBUFFER_RED_SIZE=36176]="RENDERBUFFER_RED_SIZE",e[e.RENDERBUFFER_GREEN_SIZE=36177]="RENDERBUFFER_GREEN_SIZE",e[e.RENDERBUFFER_BLUE_SIZE=36178]="RENDERBUFFER_BLUE_SIZE",e[e.RENDERBUFFER_ALPHA_SIZE=36179]="RENDERBUFFER_ALPHA_SIZE",e[e.RENDERBUFFER_DEPTH_SIZE=36180]="RENDERBUFFER_DEPTH_SIZE",e[e.RENDERBUFFER_STENCIL_SIZE=36181]="RENDERBUFFER_STENCIL_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE=36048]="FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",e[e.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME=36049]="FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",e[e.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL=36050]="FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",e[e.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE=36051]="FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",e[e.COLOR_ATTACHMENT0=36064]="COLOR_ATTACHMENT0",e[e.DEPTH_ATTACHMENT=36096]="DEPTH_ATTACHMENT",e[e.STENCIL_ATTACHMENT=36128]="STENCIL_ATTACHMENT",e[e.DEPTH_STENCIL_ATTACHMENT=33306]="DEPTH_STENCIL_ATTACHMENT",e[e.NONE=0]="NONE",e[e.FRAMEBUFFER_COMPLETE=36053]="FRAMEBUFFER_COMPLETE",e[e.FRAMEBUFFER_INCOMPLETE_ATTACHMENT=36054]="FRAMEBUFFER_INCOMPLETE_ATTACHMENT",e[e.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT=36055]="FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",e[e.FRAMEBUFFER_INCOMPLETE_DIMENSIONS=36057]="FRAMEBUFFER_INCOMPLETE_DIMENSIONS",e[e.FRAMEBUFFER_UNSUPPORTED=36061]="FRAMEBUFFER_UNSUPPORTED",e[e.FRAMEBUFFER_BINDING=36006]="FRAMEBUFFER_BINDING",e[e.RENDERBUFFER_BINDING=36007]="RENDERBUFFER_BINDING",e[e.READ_FRAMEBUFFER=36008]="READ_FRAMEBUFFER",e[e.DRAW_FRAMEBUFFER=36009]="DRAW_FRAMEBUFFER",e[e.MAX_RENDERBUFFER_SIZE=34024]="MAX_RENDERBUFFER_SIZE",e[e.INVALID_FRAMEBUFFER_OPERATION=1286]="INVALID_FRAMEBUFFER_OPERATION",e[e.UNPACK_FLIP_Y_WEBGL=37440]="UNPACK_FLIP_Y_WEBGL",e[e.UNPACK_PREMULTIPLY_ALPHA_WEBGL=37441]="UNPACK_PREMULTIPLY_ALPHA_WEBGL",e[e.UNPACK_COLORSPACE_CONVERSION_WEBGL=37443]="UNPACK_COLORSPACE_CONVERSION_WEBGL",e[e.READ_BUFFER=3074]="READ_BUFFER",e[e.UNPACK_ROW_LENGTH=3314]="UNPACK_ROW_LENGTH",e[e.UNPACK_SKIP_ROWS=3315]="UNPACK_SKIP_ROWS",e[e.UNPACK_SKIP_PIXELS=3316]="UNPACK_SKIP_PIXELS",e[e.PACK_ROW_LENGTH=3330]="PACK_ROW_LENGTH",e[e.PACK_SKIP_ROWS=3331]="PACK_SKIP_ROWS",e[e.PACK_SKIP_PIXELS=3332]="PACK_SKIP_PIXELS",e[e.TEXTURE_BINDING_3D=32874]="TEXTURE_BINDING_3D",e[e.UNPACK_SKIP_IMAGES=32877]="UNPACK_SKIP_IMAGES",e[e.UNPACK_IMAGE_HEIGHT=32878]="UNPACK_IMAGE_HEIGHT",e[e.MAX_3D_TEXTURE_SIZE=32883]="MAX_3D_TEXTURE_SIZE",e[e.MAX_ELEMENTS_VERTICES=33e3]="MAX_ELEMENTS_VERTICES",e[e.MAX_ELEMENTS_INDICES=33001]="MAX_ELEMENTS_INDICES",e[e.MAX_TEXTURE_LOD_BIAS=34045]="MAX_TEXTURE_LOD_BIAS",e[e.MAX_FRAGMENT_UNIFORM_COMPONENTS=35657]="MAX_FRAGMENT_UNIFORM_COMPONENTS",e[e.MAX_VERTEX_UNIFORM_COMPONENTS=35658]="MAX_VERTEX_UNIFORM_COMPONENTS",e[e.MAX_ARRAY_TEXTURE_LAYERS=35071]="MAX_ARRAY_TEXTURE_LAYERS",e[e.MIN_PROGRAM_TEXEL_OFFSET=35076]="MIN_PROGRAM_TEXEL_OFFSET",e[e.MAX_PROGRAM_TEXEL_OFFSET=35077]="MAX_PROGRAM_TEXEL_OFFSET",e[e.MAX_VARYING_COMPONENTS=35659]="MAX_VARYING_COMPONENTS",e[e.FRAGMENT_SHADER_DERIVATIVE_HINT=35723]="FRAGMENT_SHADER_DERIVATIVE_HINT",e[e.RASTERIZER_DISCARD=35977]="RASTERIZER_DISCARD",e[e.VERTEX_ARRAY_BINDING=34229]="VERTEX_ARRAY_BINDING",e[e.MAX_VERTEX_OUTPUT_COMPONENTS=37154]="MAX_VERTEX_OUTPUT_COMPONENTS",e[e.MAX_FRAGMENT_INPUT_COMPONENTS=37157]="MAX_FRAGMENT_INPUT_COMPONENTS",e[e.MAX_SERVER_WAIT_TIMEOUT=37137]="MAX_SERVER_WAIT_TIMEOUT",e[e.MAX_ELEMENT_INDEX=36203]="MAX_ELEMENT_INDEX",e[e.RED=6403]="RED",e[e.RGB8=32849]="RGB8",e[e.RGBA8=32856]="RGBA8",e[e.RGB10_A2=32857]="RGB10_A2",e[e.TEXTURE_3D=32879]="TEXTURE_3D",e[e.TEXTURE_WRAP_R=32882]="TEXTURE_WRAP_R",e[e.TEXTURE_MIN_LOD=33082]="TEXTURE_MIN_LOD",e[e.TEXTURE_MAX_LOD=33083]="TEXTURE_MAX_LOD",e[e.TEXTURE_BASE_LEVEL=33084]="TEXTURE_BASE_LEVEL",e[e.TEXTURE_MAX_LEVEL=33085]="TEXTURE_MAX_LEVEL",e[e.TEXTURE_COMPARE_MODE=34892]="TEXTURE_COMPARE_MODE",e[e.TEXTURE_COMPARE_FUNC=34893]="TEXTURE_COMPARE_FUNC",e[e.SRGB=35904]="SRGB",e[e.SRGB8=35905]="SRGB8",e[e.SRGB8_ALPHA8=35907]="SRGB8_ALPHA8",e[e.COMPARE_REF_TO_TEXTURE=34894]="COMPARE_REF_TO_TEXTURE",e[e.RGBA32F=34836]="RGBA32F",e[e.RGB32F=34837]="RGB32F",e[e.RGBA16F=34842]="RGBA16F",e[e.RGB16F=34843]="RGB16F",e[e.TEXTURE_2D_ARRAY=35866]="TEXTURE_2D_ARRAY",e[e.TEXTURE_BINDING_2D_ARRAY=35869]="TEXTURE_BINDING_2D_ARRAY",e[e.R11F_G11F_B10F=35898]="R11F_G11F_B10F",e[e.RGB9_E5=35901]="RGB9_E5",e[e.RGBA32UI=36208]="RGBA32UI",e[e.RGB32UI=36209]="RGB32UI",e[e.RGBA16UI=36214]="RGBA16UI",e[e.RGB16UI=36215]="RGB16UI",e[e.RGBA8UI=36220]="RGBA8UI",e[e.RGB8UI=36221]="RGB8UI",e[e.RGBA32I=36226]="RGBA32I",e[e.RGB32I=36227]="RGB32I",e[e.RGBA16I=36232]="RGBA16I",e[e.RGB16I=36233]="RGB16I",e[e.RGBA8I=36238]="RGBA8I",e[e.RGB8I=36239]="RGB8I",e[e.RED_INTEGER=36244]="RED_INTEGER",e[e.RGB_INTEGER=36248]="RGB_INTEGER",e[e.RGBA_INTEGER=36249]="RGBA_INTEGER",e[e.R8=33321]="R8",e[e.RG8=33323]="RG8",e[e.R16F=33325]="R16F",e[e.R32F=33326]="R32F",e[e.RG16F=33327]="RG16F",e[e.RG32F=33328]="RG32F",e[e.R8I=33329]="R8I",e[e.R8UI=33330]="R8UI",e[e.R16I=33331]="R16I",e[e.R16UI=33332]="R16UI",e[e.R32I=33333]="R32I",e[e.R32UI=33334]="R32UI",e[e.RG8I=33335]="RG8I",e[e.RG8UI=33336]="RG8UI",e[e.RG16I=33337]="RG16I",e[e.RG16UI=33338]="RG16UI",e[e.RG32I=33339]="RG32I",e[e.RG32UI=33340]="RG32UI",e[e.R8_SNORM=36756]="R8_SNORM",e[e.RG8_SNORM=36757]="RG8_SNORM",e[e.RGB8_SNORM=36758]="RGB8_SNORM",e[e.RGBA8_SNORM=36759]="RGBA8_SNORM",e[e.RGB10_A2UI=36975]="RGB10_A2UI",e[e.TEXTURE_IMMUTABLE_FORMAT=37167]="TEXTURE_IMMUTABLE_FORMAT",e[e.TEXTURE_IMMUTABLE_LEVELS=33503]="TEXTURE_IMMUTABLE_LEVELS",e[e.UNSIGNED_INT_2_10_10_10_REV=33640]="UNSIGNED_INT_2_10_10_10_REV",e[e.UNSIGNED_INT_10F_11F_11F_REV=35899]="UNSIGNED_INT_10F_11F_11F_REV",e[e.UNSIGNED_INT_5_9_9_9_REV=35902]="UNSIGNED_INT_5_9_9_9_REV",e[e.FLOAT_32_UNSIGNED_INT_24_8_REV=36269]="FLOAT_32_UNSIGNED_INT_24_8_REV",e[e.UNSIGNED_INT_24_8=34042]="UNSIGNED_INT_24_8",e[e.HALF_FLOAT=5131]="HALF_FLOAT",e[e.RG=33319]="RG",e[e.RG_INTEGER=33320]="RG_INTEGER",e[e.INT_2_10_10_10_REV=36255]="INT_2_10_10_10_REV",e[e.CURRENT_QUERY=34917]="CURRENT_QUERY",e[e.QUERY_RESULT=34918]="QUERY_RESULT",e[e.QUERY_RESULT_AVAILABLE=34919]="QUERY_RESULT_AVAILABLE",e[e.ANY_SAMPLES_PASSED=35887]="ANY_SAMPLES_PASSED",e[e.ANY_SAMPLES_PASSED_CONSERVATIVE=36202]="ANY_SAMPLES_PASSED_CONSERVATIVE",e[e.MAX_DRAW_BUFFERS=34852]="MAX_DRAW_BUFFERS",e[e.DRAW_BUFFER0=34853]="DRAW_BUFFER0",e[e.DRAW_BUFFER1=34854]="DRAW_BUFFER1",e[e.DRAW_BUFFER2=34855]="DRAW_BUFFER2",e[e.DRAW_BUFFER3=34856]="DRAW_BUFFER3",e[e.DRAW_BUFFER4=34857]="DRAW_BUFFER4",e[e.DRAW_BUFFER5=34858]="DRAW_BUFFER5",e[e.DRAW_BUFFER6=34859]="DRAW_BUFFER6",e[e.DRAW_BUFFER7=34860]="DRAW_BUFFER7",e[e.DRAW_BUFFER8=34861]="DRAW_BUFFER8",e[e.DRAW_BUFFER9=34862]="DRAW_BUFFER9",e[e.DRAW_BUFFER10=34863]="DRAW_BUFFER10",e[e.DRAW_BUFFER11=34864]="DRAW_BUFFER11",e[e.DRAW_BUFFER12=34865]="DRAW_BUFFER12",e[e.DRAW_BUFFER13=34866]="DRAW_BUFFER13",e[e.DRAW_BUFFER14=34867]="DRAW_BUFFER14",e[e.DRAW_BUFFER15=34868]="DRAW_BUFFER15",e[e.MAX_COLOR_ATTACHMENTS=36063]="MAX_COLOR_ATTACHMENTS",e[e.COLOR_ATTACHMENT1=36065]="COLOR_ATTACHMENT1",e[e.COLOR_ATTACHMENT2=36066]="COLOR_ATTACHMENT2",e[e.COLOR_ATTACHMENT3=36067]="COLOR_ATTACHMENT3",e[e.COLOR_ATTACHMENT4=36068]="COLOR_ATTACHMENT4",e[e.COLOR_ATTACHMENT5=36069]="COLOR_ATTACHMENT5",e[e.COLOR_ATTACHMENT6=36070]="COLOR_ATTACHMENT6",e[e.COLOR_ATTACHMENT7=36071]="COLOR_ATTACHMENT7",e[e.COLOR_ATTACHMENT8=36072]="COLOR_ATTACHMENT8",e[e.COLOR_ATTACHMENT9=36073]="COLOR_ATTACHMENT9",e[e.COLOR_ATTACHMENT10=36074]="COLOR_ATTACHMENT10",e[e.COLOR_ATTACHMENT11=36075]="COLOR_ATTACHMENT11",e[e.COLOR_ATTACHMENT12=36076]="COLOR_ATTACHMENT12",e[e.COLOR_ATTACHMENT13=36077]="COLOR_ATTACHMENT13",e[e.COLOR_ATTACHMENT14=36078]="COLOR_ATTACHMENT14",e[e.COLOR_ATTACHMENT15=36079]="COLOR_ATTACHMENT15",e[e.SAMPLER_3D=35679]="SAMPLER_3D",e[e.SAMPLER_2D_SHADOW=35682]="SAMPLER_2D_SHADOW",e[e.SAMPLER_2D_ARRAY=36289]="SAMPLER_2D_ARRAY",e[e.SAMPLER_2D_ARRAY_SHADOW=36292]="SAMPLER_2D_ARRAY_SHADOW",e[e.SAMPLER_CUBE_SHADOW=36293]="SAMPLER_CUBE_SHADOW",e[e.INT_SAMPLER_2D=36298]="INT_SAMPLER_2D",e[e.INT_SAMPLER_3D=36299]="INT_SAMPLER_3D",e[e.INT_SAMPLER_CUBE=36300]="INT_SAMPLER_CUBE",e[e.INT_SAMPLER_2D_ARRAY=36303]="INT_SAMPLER_2D_ARRAY",e[e.UNSIGNED_INT_SAMPLER_2D=36306]="UNSIGNED_INT_SAMPLER_2D",e[e.UNSIGNED_INT_SAMPLER_3D=36307]="UNSIGNED_INT_SAMPLER_3D",e[e.UNSIGNED_INT_SAMPLER_CUBE=36308]="UNSIGNED_INT_SAMPLER_CUBE",e[e.UNSIGNED_INT_SAMPLER_2D_ARRAY=36311]="UNSIGNED_INT_SAMPLER_2D_ARRAY",e[e.MAX_SAMPLES=36183]="MAX_SAMPLES",e[e.SAMPLER_BINDING=35097]="SAMPLER_BINDING",e[e.PIXEL_PACK_BUFFER=35051]="PIXEL_PACK_BUFFER",e[e.PIXEL_UNPACK_BUFFER=35052]="PIXEL_UNPACK_BUFFER",e[e.PIXEL_PACK_BUFFER_BINDING=35053]="PIXEL_PACK_BUFFER_BINDING",e[e.PIXEL_UNPACK_BUFFER_BINDING=35055]="PIXEL_UNPACK_BUFFER_BINDING",e[e.COPY_READ_BUFFER=36662]="COPY_READ_BUFFER",e[e.COPY_WRITE_BUFFER=36663]="COPY_WRITE_BUFFER",e[e.COPY_READ_BUFFER_BINDING=36662]="COPY_READ_BUFFER_BINDING",e[e.COPY_WRITE_BUFFER_BINDING=36663]="COPY_WRITE_BUFFER_BINDING",e[e.FLOAT_MAT2x3=35685]="FLOAT_MAT2x3",e[e.FLOAT_MAT2x4=35686]="FLOAT_MAT2x4",e[e.FLOAT_MAT3x2=35687]="FLOAT_MAT3x2",e[e.FLOAT_MAT3x4=35688]="FLOAT_MAT3x4",e[e.FLOAT_MAT4x2=35689]="FLOAT_MAT4x2",e[e.FLOAT_MAT4x3=35690]="FLOAT_MAT4x3",e[e.UNSIGNED_INT_VEC2=36294]="UNSIGNED_INT_VEC2",e[e.UNSIGNED_INT_VEC3=36295]="UNSIGNED_INT_VEC3",e[e.UNSIGNED_INT_VEC4=36296]="UNSIGNED_INT_VEC4",e[e.UNSIGNED_NORMALIZED=35863]="UNSIGNED_NORMALIZED",e[e.SIGNED_NORMALIZED=36764]="SIGNED_NORMALIZED",e[e.VERTEX_ATTRIB_ARRAY_INTEGER=35069]="VERTEX_ATTRIB_ARRAY_INTEGER",e[e.VERTEX_ATTRIB_ARRAY_DIVISOR=35070]="VERTEX_ATTRIB_ARRAY_DIVISOR",e[e.TRANSFORM_FEEDBACK_BUFFER_MODE=35967]="TRANSFORM_FEEDBACK_BUFFER_MODE",e[e.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS=35968]="MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS",e[e.TRANSFORM_FEEDBACK_VARYINGS=35971]="TRANSFORM_FEEDBACK_VARYINGS",e[e.TRANSFORM_FEEDBACK_BUFFER_START=35972]="TRANSFORM_FEEDBACK_BUFFER_START",e[e.TRANSFORM_FEEDBACK_BUFFER_SIZE=35973]="TRANSFORM_FEEDBACK_BUFFER_SIZE",e[e.TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN=35976]="TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN",e[e.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS=35978]="MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS",e[e.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS=35979]="MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS",e[e.INTERLEAVED_ATTRIBS=35980]="INTERLEAVED_ATTRIBS",e[e.SEPARATE_ATTRIBS=35981]="SEPARATE_ATTRIBS",e[e.TRANSFORM_FEEDBACK_BUFFER=35982]="TRANSFORM_FEEDBACK_BUFFER",e[e.TRANSFORM_FEEDBACK_BUFFER_BINDING=35983]="TRANSFORM_FEEDBACK_BUFFER_BINDING",e[e.TRANSFORM_FEEDBACK=36386]="TRANSFORM_FEEDBACK",e[e.TRANSFORM_FEEDBACK_PAUSED=36387]="TRANSFORM_FEEDBACK_PAUSED",e[e.TRANSFORM_FEEDBACK_ACTIVE=36388]="TRANSFORM_FEEDBACK_ACTIVE",e[e.TRANSFORM_FEEDBACK_BINDING=36389]="TRANSFORM_FEEDBACK_BINDING",e[e.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING=33296]="FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING",e[e.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE=33297]="FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE",e[e.FRAMEBUFFER_ATTACHMENT_RED_SIZE=33298]="FRAMEBUFFER_ATTACHMENT_RED_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE=33299]="FRAMEBUFFER_ATTACHMENT_GREEN_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE=33300]="FRAMEBUFFER_ATTACHMENT_BLUE_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE=33301]="FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE=33302]="FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE=33303]="FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE",e[e.FRAMEBUFFER_DEFAULT=33304]="FRAMEBUFFER_DEFAULT",e[e.DEPTH24_STENCIL8=35056]="DEPTH24_STENCIL8",e[e.DRAW_FRAMEBUFFER_BINDING=36006]="DRAW_FRAMEBUFFER_BINDING",e[e.READ_FRAMEBUFFER_BINDING=36010]="READ_FRAMEBUFFER_BINDING",e[e.RENDERBUFFER_SAMPLES=36011]="RENDERBUFFER_SAMPLES",e[e.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER=36052]="FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER",e[e.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE=36182]="FRAMEBUFFER_INCOMPLETE_MULTISAMPLE",e[e.UNIFORM_BUFFER=35345]="UNIFORM_BUFFER",e[e.UNIFORM_BUFFER_BINDING=35368]="UNIFORM_BUFFER_BINDING",e[e.UNIFORM_BUFFER_START=35369]="UNIFORM_BUFFER_START",e[e.UNIFORM_BUFFER_SIZE=35370]="UNIFORM_BUFFER_SIZE",e[e.MAX_VERTEX_UNIFORM_BLOCKS=35371]="MAX_VERTEX_UNIFORM_BLOCKS",e[e.MAX_FRAGMENT_UNIFORM_BLOCKS=35373]="MAX_FRAGMENT_UNIFORM_BLOCKS",e[e.MAX_COMBINED_UNIFORM_BLOCKS=35374]="MAX_COMBINED_UNIFORM_BLOCKS",e[e.MAX_UNIFORM_BUFFER_BINDINGS=35375]="MAX_UNIFORM_BUFFER_BINDINGS",e[e.MAX_UNIFORM_BLOCK_SIZE=35376]="MAX_UNIFORM_BLOCK_SIZE",e[e.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS=35377]="MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS",e[e.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS=35379]="MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS",e[e.UNIFORM_BUFFER_OFFSET_ALIGNMENT=35380]="UNIFORM_BUFFER_OFFSET_ALIGNMENT",e[e.ACTIVE_UNIFORM_BLOCKS=35382]="ACTIVE_UNIFORM_BLOCKS",e[e.UNIFORM_TYPE=35383]="UNIFORM_TYPE",e[e.UNIFORM_SIZE=35384]="UNIFORM_SIZE",e[e.UNIFORM_BLOCK_INDEX=35386]="UNIFORM_BLOCK_INDEX",e[e.UNIFORM_OFFSET=35387]="UNIFORM_OFFSET",e[e.UNIFORM_ARRAY_STRIDE=35388]="UNIFORM_ARRAY_STRIDE",e[e.UNIFORM_MATRIX_STRIDE=35389]="UNIFORM_MATRIX_STRIDE",e[e.UNIFORM_IS_ROW_MAJOR=35390]="UNIFORM_IS_ROW_MAJOR",e[e.UNIFORM_BLOCK_BINDING=35391]="UNIFORM_BLOCK_BINDING",e[e.UNIFORM_BLOCK_DATA_SIZE=35392]="UNIFORM_BLOCK_DATA_SIZE",e[e.UNIFORM_BLOCK_ACTIVE_UNIFORMS=35394]="UNIFORM_BLOCK_ACTIVE_UNIFORMS",e[e.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES=35395]="UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES",e[e.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER=35396]="UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER",e[e.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER=35398]="UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER",e[e.OBJECT_TYPE=37138]="OBJECT_TYPE",e[e.SYNC_CONDITION=37139]="SYNC_CONDITION",e[e.SYNC_STATUS=37140]="SYNC_STATUS",e[e.SYNC_FLAGS=37141]="SYNC_FLAGS",e[e.SYNC_FENCE=37142]="SYNC_FENCE",e[e.SYNC_GPU_COMMANDS_COMPLETE=37143]="SYNC_GPU_COMMANDS_COMPLETE",e[e.UNSIGNALED=37144]="UNSIGNALED",e[e.SIGNALED=37145]="SIGNALED",e[e.ALREADY_SIGNALED=37146]="ALREADY_SIGNALED",e[e.TIMEOUT_EXPIRED=37147]="TIMEOUT_EXPIRED",e[e.CONDITION_SATISFIED=37148]="CONDITION_SATISFIED",e[e.WAIT_FAILED=37149]="WAIT_FAILED",e[e.SYNC_FLUSH_COMMANDS_BIT=1]="SYNC_FLUSH_COMMANDS_BIT",e[e.COLOR=6144]="COLOR",e[e.DEPTH=6145]="DEPTH",e[e.STENCIL=6146]="STENCIL",e[e.MIN=32775]="MIN",e[e.MAX=32776]="MAX",e[e.DEPTH_COMPONENT24=33190]="DEPTH_COMPONENT24",e[e.STREAM_READ=35041]="STREAM_READ",e[e.STREAM_COPY=35042]="STREAM_COPY",e[e.STATIC_READ=35045]="STATIC_READ",e[e.STATIC_COPY=35046]="STATIC_COPY",e[e.DYNAMIC_READ=35049]="DYNAMIC_READ",e[e.DYNAMIC_COPY=35050]="DYNAMIC_COPY",e[e.DEPTH_COMPONENT32F=36012]="DEPTH_COMPONENT32F",e[e.DEPTH32F_STENCIL8=36013]="DEPTH32F_STENCIL8",e[e.INVALID_INDEX=4294967295]="INVALID_INDEX",e[e.TIMEOUT_IGNORED=-1]="TIMEOUT_IGNORED",e[e.MAX_CLIENT_WAIT_TIMEOUT_WEBGL=37447]="MAX_CLIENT_WAIT_TIMEOUT_WEBGL",e[e.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE=35070]="VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE",e[e.UNMASKED_VENDOR_WEBGL=37445]="UNMASKED_VENDOR_WEBGL",e[e.UNMASKED_RENDERER_WEBGL=37446]="UNMASKED_RENDERER_WEBGL",e[e.MAX_TEXTURE_MAX_ANISOTROPY_EXT=34047]="MAX_TEXTURE_MAX_ANISOTROPY_EXT",e[e.TEXTURE_MAX_ANISOTROPY_EXT=34046]="TEXTURE_MAX_ANISOTROPY_EXT",e[e.SRGB_EXT=35904]="SRGB_EXT",e[e.SRGB_ALPHA_EXT=35906]="SRGB_ALPHA_EXT",e[e.SRGB8_ALPHA8_EXT=35907]="SRGB8_ALPHA8_EXT",e[e.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT=33296]="FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT",e[e.R16_EXT=33322]="R16_EXT",e[e.RG16_EXT=33324]="RG16_EXT",e[e.RGB16_EXT=32852]="RGB16_EXT",e[e.RGBA16_EXT=32859]="RGBA16_EXT",e[e.R16_SNORM_EXT=36760]="R16_SNORM_EXT",e[e.RG16_SNORM_EXT=36761]="RG16_SNORM_EXT",e[e.RGB16_SNORM_EXT=36762]="RGB16_SNORM_EXT",e[e.RGBA16_SNORM_EXT=36763]="RGBA16_SNORM_EXT",e[e.COMPRESSED_RGB_S3TC_DXT1_EXT=33776]="COMPRESSED_RGB_S3TC_DXT1_EXT",e[e.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777]="COMPRESSED_RGBA_S3TC_DXT1_EXT",e[e.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778]="COMPRESSED_RGBA_S3TC_DXT3_EXT",e[e.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779]="COMPRESSED_RGBA_S3TC_DXT5_EXT",e[e.COMPRESSED_SRGB_S3TC_DXT1_EXT=35916]="COMPRESSED_SRGB_S3TC_DXT1_EXT",e[e.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT=35917]="COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT",e[e.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT=35918]="COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT",e[e.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT=35919]="COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT",e[e.COMPRESSED_RED_RGTC1_EXT=36283]="COMPRESSED_RED_RGTC1_EXT",e[e.COMPRESSED_SIGNED_RED_RGTC1_EXT=36284]="COMPRESSED_SIGNED_RED_RGTC1_EXT",e[e.COMPRESSED_RED_GREEN_RGTC2_EXT=36285]="COMPRESSED_RED_GREEN_RGTC2_EXT",e[e.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT=36286]="COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT",e[e.COMPRESSED_RGBA_BPTC_UNORM_EXT=36492]="COMPRESSED_RGBA_BPTC_UNORM_EXT",e[e.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT=36493]="COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT",e[e.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT=36494]="COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT",e[e.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT=36495]="COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT",e[e.COMPRESSED_R11_EAC=37488]="COMPRESSED_R11_EAC",e[e.COMPRESSED_SIGNED_R11_EAC=37489]="COMPRESSED_SIGNED_R11_EAC",e[e.COMPRESSED_RG11_EAC=37490]="COMPRESSED_RG11_EAC",e[e.COMPRESSED_SIGNED_RG11_EAC=37491]="COMPRESSED_SIGNED_RG11_EAC",e[e.COMPRESSED_RGB8_ETC2=37492]="COMPRESSED_RGB8_ETC2",e[e.COMPRESSED_RGBA8_ETC2_EAC=37493]="COMPRESSED_RGBA8_ETC2_EAC",e[e.COMPRESSED_SRGB8_ETC2=37494]="COMPRESSED_SRGB8_ETC2",e[e.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC=37495]="COMPRESSED_SRGB8_ALPHA8_ETC2_EAC",e[e.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2=37496]="COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2",e[e.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2=37497]="COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2",e[e.COMPRESSED_RGB_PVRTC_4BPPV1_IMG=35840]="COMPRESSED_RGB_PVRTC_4BPPV1_IMG",e[e.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG=35842]="COMPRESSED_RGBA_PVRTC_4BPPV1_IMG",e[e.COMPRESSED_RGB_PVRTC_2BPPV1_IMG=35841]="COMPRESSED_RGB_PVRTC_2BPPV1_IMG",e[e.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG=35843]="COMPRESSED_RGBA_PVRTC_2BPPV1_IMG",e[e.COMPRESSED_RGB_ETC1_WEBGL=36196]="COMPRESSED_RGB_ETC1_WEBGL",e[e.COMPRESSED_RGB_ATC_WEBGL=35986]="COMPRESSED_RGB_ATC_WEBGL",e[e.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL=35986]="COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL",e[e.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL=34798]="COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL",e[e.COMPRESSED_RGBA_ASTC_4x4_KHR=37808]="COMPRESSED_RGBA_ASTC_4x4_KHR",e[e.COMPRESSED_RGBA_ASTC_5x4_KHR=37809]="COMPRESSED_RGBA_ASTC_5x4_KHR",e[e.COMPRESSED_RGBA_ASTC_5x5_KHR=37810]="COMPRESSED_RGBA_ASTC_5x5_KHR",e[e.COMPRESSED_RGBA_ASTC_6x5_KHR=37811]="COMPRESSED_RGBA_ASTC_6x5_KHR",e[e.COMPRESSED_RGBA_ASTC_6x6_KHR=37812]="COMPRESSED_RGBA_ASTC_6x6_KHR",e[e.COMPRESSED_RGBA_ASTC_8x5_KHR=37813]="COMPRESSED_RGBA_ASTC_8x5_KHR",e[e.COMPRESSED_RGBA_ASTC_8x6_KHR=37814]="COMPRESSED_RGBA_ASTC_8x6_KHR",e[e.COMPRESSED_RGBA_ASTC_8x8_KHR=37815]="COMPRESSED_RGBA_ASTC_8x8_KHR",e[e.COMPRESSED_RGBA_ASTC_10x5_KHR=37816]="COMPRESSED_RGBA_ASTC_10x5_KHR",e[e.COMPRESSED_RGBA_ASTC_10x6_KHR=37817]="COMPRESSED_RGBA_ASTC_10x6_KHR",e[e.COMPRESSED_RGBA_ASTC_10x8_KHR=37818]="COMPRESSED_RGBA_ASTC_10x8_KHR",e[e.COMPRESSED_RGBA_ASTC_10x10_KHR=37819]="COMPRESSED_RGBA_ASTC_10x10_KHR",e[e.COMPRESSED_RGBA_ASTC_12x10_KHR=37820]="COMPRESSED_RGBA_ASTC_12x10_KHR",e[e.COMPRESSED_RGBA_ASTC_12x12_KHR=37821]="COMPRESSED_RGBA_ASTC_12x12_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR=37840]="COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR=37841]="COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR=37842]="COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR=37843]="COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR=37844]="COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR=37845]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR=37846]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR=37847]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR=37848]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR=37849]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR=37850]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR=37851]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR=37852]="COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR=37853]="COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR",e[e.UNSIGNED_INT_24_8_WEBGL=34042]="UNSIGNED_INT_24_8_WEBGL",e[e.HALF_FLOAT_OES=36193]="HALF_FLOAT_OES",e[e.RGBA32F_EXT=34836]="RGBA32F_EXT",e[e.RGB32F_EXT=34837]="RGB32F_EXT",e[e.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT=33297]="FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT",e[e.UNSIGNED_NORMALIZED_EXT=35863]="UNSIGNED_NORMALIZED_EXT",e[e.MIN_EXT=32775]="MIN_EXT",e[e.MAX_EXT=32776]="MAX_EXT",e[e.FRAGMENT_SHADER_DERIVATIVE_HINT_OES=35723]="FRAGMENT_SHADER_DERIVATIVE_HINT_OES",e[e.COLOR_ATTACHMENT0_WEBGL=36064]="COLOR_ATTACHMENT0_WEBGL",e[e.COLOR_ATTACHMENT1_WEBGL=36065]="COLOR_ATTACHMENT1_WEBGL",e[e.COLOR_ATTACHMENT2_WEBGL=36066]="COLOR_ATTACHMENT2_WEBGL",e[e.COLOR_ATTACHMENT3_WEBGL=36067]="COLOR_ATTACHMENT3_WEBGL",e[e.COLOR_ATTACHMENT4_WEBGL=36068]="COLOR_ATTACHMENT4_WEBGL",e[e.COLOR_ATTACHMENT5_WEBGL=36069]="COLOR_ATTACHMENT5_WEBGL",e[e.COLOR_ATTACHMENT6_WEBGL=36070]="COLOR_ATTACHMENT6_WEBGL",e[e.COLOR_ATTACHMENT7_WEBGL=36071]="COLOR_ATTACHMENT7_WEBGL",e[e.COLOR_ATTACHMENT8_WEBGL=36072]="COLOR_ATTACHMENT8_WEBGL",e[e.COLOR_ATTACHMENT9_WEBGL=36073]="COLOR_ATTACHMENT9_WEBGL",e[e.COLOR_ATTACHMENT10_WEBGL=36074]="COLOR_ATTACHMENT10_WEBGL",e[e.COLOR_ATTACHMENT11_WEBGL=36075]="COLOR_ATTACHMENT11_WEBGL",e[e.COLOR_ATTACHMENT12_WEBGL=36076]="COLOR_ATTACHMENT12_WEBGL",e[e.COLOR_ATTACHMENT13_WEBGL=36077]="COLOR_ATTACHMENT13_WEBGL",e[e.COLOR_ATTACHMENT14_WEBGL=36078]="COLOR_ATTACHMENT14_WEBGL",e[e.COLOR_ATTACHMENT15_WEBGL=36079]="COLOR_ATTACHMENT15_WEBGL",e[e.DRAW_BUFFER0_WEBGL=34853]="DRAW_BUFFER0_WEBGL",e[e.DRAW_BUFFER1_WEBGL=34854]="DRAW_BUFFER1_WEBGL",e[e.DRAW_BUFFER2_WEBGL=34855]="DRAW_BUFFER2_WEBGL",e[e.DRAW_BUFFER3_WEBGL=34856]="DRAW_BUFFER3_WEBGL",e[e.DRAW_BUFFER4_WEBGL=34857]="DRAW_BUFFER4_WEBGL",e[e.DRAW_BUFFER5_WEBGL=34858]="DRAW_BUFFER5_WEBGL",e[e.DRAW_BUFFER6_WEBGL=34859]="DRAW_BUFFER6_WEBGL",e[e.DRAW_BUFFER7_WEBGL=34860]="DRAW_BUFFER7_WEBGL",e[e.DRAW_BUFFER8_WEBGL=34861]="DRAW_BUFFER8_WEBGL",e[e.DRAW_BUFFER9_WEBGL=34862]="DRAW_BUFFER9_WEBGL",e[e.DRAW_BUFFER10_WEBGL=34863]="DRAW_BUFFER10_WEBGL",e[e.DRAW_BUFFER11_WEBGL=34864]="DRAW_BUFFER11_WEBGL",e[e.DRAW_BUFFER12_WEBGL=34865]="DRAW_BUFFER12_WEBGL",e[e.DRAW_BUFFER13_WEBGL=34866]="DRAW_BUFFER13_WEBGL",e[e.DRAW_BUFFER14_WEBGL=34867]="DRAW_BUFFER14_WEBGL",e[e.DRAW_BUFFER15_WEBGL=34868]="DRAW_BUFFER15_WEBGL",e[e.MAX_COLOR_ATTACHMENTS_WEBGL=36063]="MAX_COLOR_ATTACHMENTS_WEBGL",e[e.MAX_DRAW_BUFFERS_WEBGL=34852]="MAX_DRAW_BUFFERS_WEBGL",e[e.VERTEX_ARRAY_BINDING_OES=34229]="VERTEX_ARRAY_BINDING_OES",e[e.QUERY_COUNTER_BITS_EXT=34916]="QUERY_COUNTER_BITS_EXT",e[e.CURRENT_QUERY_EXT=34917]="CURRENT_QUERY_EXT",e[e.QUERY_RESULT_EXT=34918]="QUERY_RESULT_EXT",e[e.QUERY_RESULT_AVAILABLE_EXT=34919]="QUERY_RESULT_AVAILABLE_EXT",e[e.TIME_ELAPSED_EXT=35007]="TIME_ELAPSED_EXT",e[e.TIMESTAMP_EXT=36392]="TIMESTAMP_EXT",e[e.GPU_DISJOINT_EXT=36795]="GPU_DISJOINT_EXT",e}({});function ps(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ds(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ps(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ps(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var n_="Failed to create WebGL context in Node.js, headless gl returned null",i_=" 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.",a_={width:1,height:1,debug:!0,throwOnError:!1},ei=null;function hs(){return ei!==null}function ms(e){e=ds(ds({},a_),e);var t=e,r=t.width,n=t.height,i=t.webgl1,a=t.webgl2;if(a&&!i)throw new Error("headless-gl does not support WebGL2");if(!ei)throw new Error(i_);var s=ei(r,n,e);if(!s)throw new Error(n_);return s}var Di=Be(Fe(),1);var tr={};function o_(e){globalThis.console&&globalThis.console.error&&globalThis.console.error(e)}function s_(e){globalThis.console&&globalThis.console.log&&globalThis.console.log(e)}function c_(e,t){tr[e]=!0,t!==void 0&&o_(t)}function u_(e){var t=e.getError;e.getError=function(){var n;do n=t.apply(e),n!==e.NO_ERROR&&(tr[n]=!0);while(n!==e.NO_ERROR);for(n in tr)if(tr[n])return delete tr[n],parseInt(n,10);return e.NO_ERROR}}var rr=function e(t){var r=t.gl;this.ext=t,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(t.maxVertexAttribs);for(var n=0;n<this.attribs.length;n++){var i=new e.VertexAttrib(r);this.attribs[n]=i}this.maxAttrib=0};rr.VertexAttrib=function(t){this.enabled=!1,this.buffer=null,this.size=4,this.type=t.FLOAT,this.normalized=!1,this.stride=16,this.offset=0,this.cached="",this.recache()};rr.VertexAttrib.prototype.recache=function(){this.cached=[this.size,this.type,this.normalized,this.stride,this.offset].join(":")};var mt=function(t){var r=this;this.gl=t,u_(t);var n=this.original={getParameter:t.getParameter,enableVertexAttribArray:t.enableVertexAttribArray,disableVertexAttribArray:t.disableVertexAttribArray,bindBuffer:t.bindBuffer,getVertexAttrib:t.getVertexAttrib,vertexAttribPointer:t.vertexAttribPointer};t.getParameter=function(a){return a===r.VERTEX_ARRAY_BINDING_OES?r.currentVertexArrayObject===r.defaultVertexArrayObject?null:r.currentVertexArrayObject:n.getParameter.apply(this,arguments)},t.enableVertexAttribArray=function(a){var s=r.currentVertexArrayObject;s.maxAttrib=Math.max(s.maxAttrib,a);var u=s.attribs[a];return u.enabled=!0,n.enableVertexAttribArray.apply(this,arguments)},t.disableVertexAttribArray=function(a){var s=r.currentVertexArrayObject;s.maxAttrib=Math.max(s.maxAttrib,a);var u=s.attribs[a];return u.enabled=!1,n.disableVertexAttribArray.apply(this,arguments)},t.bindBuffer=function(a,s){switch(a){case t.ARRAY_BUFFER:r.currentArrayBuffer=s;break;case t.ELEMENT_ARRAY_BUFFER:r.currentVertexArrayObject.elementArrayBuffer=s;break;default:}return n.bindBuffer.apply(this,arguments)},t.getVertexAttrib=function(a,s){var u=r.currentVertexArrayObject,f=u.attribs[a];switch(s){case t.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:return f.buffer;case t.VERTEX_ATTRIB_ARRAY_ENABLED:return f.enabled;case t.VERTEX_ATTRIB_ARRAY_SIZE:return f.size;case t.VERTEX_ATTRIB_ARRAY_STRIDE:return f.stride;case t.VERTEX_ATTRIB_ARRAY_TYPE:return f.type;case t.VERTEX_ATTRIB_ARRAY_NORMALIZED:return f.normalized;default:return n.getVertexAttrib.apply(this,arguments)}},t.vertexAttribPointer=function(a,s,u,f,l,_){var E=r.currentVertexArrayObject;E.maxAttrib=Math.max(E.maxAttrib,a);var p=E.attribs[a];return p.buffer=r.currentArrayBuffer,p.size=s,p.type=u,p.normalized=f,p.stride=l,p.offset=_,p.recache(),n.vertexAttribPointer.apply(this,arguments)},t.instrumentExtension&&t.instrumentExtension(this,"OES_vertex_array_object"),t.canvas&&t.canvas.addEventListener("webglcontextrestored",function(){s_("OESVertexArrayObject emulation library context restored"),r.reset_()},!0),this.reset_()};mt.prototype.VERTEX_ARRAY_BINDING_OES=34229;mt.prototype.reset_=function(){var t=this.vertexArrayObjects!==void 0;if(t)for(var r=0;r<this.vertexArrayObjects.length;++r)this.vertexArrayObjects.isAlive=!1;var n=this.gl;this.maxVertexAttribs=n.getParameter(n.MAX_VERTEX_ATTRIBS),this.defaultVertexArrayObject=new rr(this),this.currentVertexArrayObject=null,this.currentArrayBuffer=null,this.vertexArrayObjects=[this.defaultVertexArrayObject],this.bindVertexArrayOES(null)};mt.prototype.createVertexArrayOES=function(){var t=new rr(this);return this.vertexArrayObjects.push(t),t};mt.prototype.deleteVertexArrayOES=function(t){t.isAlive=!1,this.vertexArrayObjects.splice(this.vertexArrayObjects.indexOf(t),1),this.currentVertexArrayObject===t&&this.bindVertexArrayOES(null)};mt.prototype.isVertexArrayOES=function(t){return!!(t&&t instanceof rr&&t.hasBeenBound&&t.ext===this)};mt.prototype.bindVertexArrayOES=function(t){var r=this.gl;if(t&&!t.isAlive){c_(r.INVALID_OPERATION,"bindVertexArrayOES: attempt to bind deleted arrayObject");return}var n=this.original,i=this.currentVertexArrayObject;this.currentVertexArrayObject=t||this.defaultVertexArrayObject,this.currentVertexArrayObject.hasBeenBound=!0;var a=this.currentVertexArrayObject;if(i!==a){(!i||a.elementArrayBuffer!==i.elementArrayBuffer)&&n.bindBuffer.call(r,r.ELEMENT_ARRAY_BUFFER,a.elementArrayBuffer);for(var s=this.currentArrayBuffer,u=Math.max(i?i.maxAttrib:0,a.maxAttrib),f=0;f<=u;f++){var l=a.attribs[f],_=i?i.attribs[f]:null;if((!i||l.enabled!==_.enabled)&&(l.enabled?n.enableVertexAttribArray.call(r,f):n.disableVertexAttribArray.call(r,f)),l.enabled){var E=!1;(!i||l.buffer!==_.buffer)&&(s!==l.buffer&&(n.bindBuffer.call(r,r.ARRAY_BUFFER,l.buffer),s=l.buffer),E=!0),(E||l.cached!==_.cached)&&n.vertexAttribPointer.call(r,f,l.size,l.type,l.normalized,l.stride,l.offset)}}this.currentArrayBuffer!==s&&n.bindBuffer.call(r,r.ARRAY_BUFFER,this.currentArrayBuffer)}};function Rs(e){if(typeof e.createVertexArray!="function"){var t=e.getSupportedExtensions;e.getSupportedExtensions=function(){var i=t.call(this)||[];return i.indexOf("OES_vertex_array_object")<0&&i.push("OES_vertex_array_object"),i};var r=e.getExtension;e.getExtension=function(i){var a=r.call(this,i);return a||(i!=="OES_vertex_array_object"?null:(e.__OESVertexArrayObject||(this.__OESVertexArrayObject=new mt(this)),this.__OESVertexArrayObject))}}}var f_="Invalid WebGLRenderingContext";var l_="Requires WebGL2";function __(e){return typeof WebGLRenderingContext<"u"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&Number.isFinite(e._version))}function Q(e){return typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&e._version===2)}function ti(e){return Q(e)?e:null}function As(e){return V(__(e),f_),e}function Vr(e){return V(Q(e),l_),e}var q,Ts="OES_element_index",vs="WEBGL_draw_buffers",E_="EXT_disjoint_timer_query",p_="EXT_disjoint_timer_query_webgl2",d_="EXT_texture_filter_anisotropic",gs="WEBGL_debug_renderer_info",h_=35723,m_=4352,R_=36795,A_=34047,T_=37445,v_=37446,ie=function(t){return Q(t)?void 0:0},g_=(q={},c(q,o.READ_BUFFER,function(e){return Q(e)?void 0:o.COLOR_ATTACHMENT0}),c(q,h_,function(e){return Q(e)?void 0:m_}),c(q,o.RASTERIZER_DISCARD,ie),c(q,o.SAMPLES,ie),c(q,R_,function(e,t){var r=Q(e)?e.getExtension(p_):e.getExtension(E_);return r&&r.GPU_DISJOINT_EXT?t(r.GPU_DISJOINT_EXT):0}),c(q,T_,function(e,t){var r=e.getExtension(gs);return t(r&&r.UNMASKED_VENDOR_WEBGL||o.VENDOR)}),c(q,v_,function(e,t){var r=e.getExtension(gs);return t(r&&r.UNMASKED_RENDERER_WEBGL||o.RENDERER)}),c(q,A_,function(e,t){var r,n=((r=e.luma)===null||r===void 0||(r=r.extensions)===null||r===void 0?void 0:r[d_])||e.getExtension("EXT_texture_filter_anisotropic");return n?t(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1}),c(q,o.MAX_3D_TEXTURE_SIZE,ie),c(q,o.MAX_ARRAY_TEXTURE_LAYERS,ie),c(q,o.MAX_CLIENT_WAIT_TIMEOUT_WEBGL,ie),c(q,o.MAX_COLOR_ATTACHMENTS,function(e,t){if(!Q(e)){var r=e.getExtension(vs);return r?t(r.MAX_COLOR_ATTACHMENTS_WEBGL):0}}),c(q,o.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,ie),c(q,o.MAX_COMBINED_UNIFORM_BLOCKS,ie),c(q,o.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,ie),c(q,o.MAX_DRAW_BUFFERS,function(e){if(!Q(e)){var t=e.getExtension(vs);return t?t.MAX_DRAW_BUFFERS_WEBGL:0}}),c(q,o.MAX_ELEMENT_INDEX,function(e){return e.getExtension(Ts)?2147483647:65535}),c(q,o.MAX_ELEMENTS_INDICES,function(e){return e.getExtension(Ts)?16777216:65535}),c(q,o.MAX_ELEMENTS_VERTICES,function(e){return 16777216}),c(q,o.MAX_FRAGMENT_INPUT_COMPONENTS,ie),c(q,o.MAX_FRAGMENT_UNIFORM_BLOCKS,ie),c(q,o.MAX_FRAGMENT_UNIFORM_COMPONENTS,ie),c(q,o.MAX_SAMPLES,ie),c(q,o.MAX_SERVER_WAIT_TIMEOUT,ie),c(q,o.MAX_TEXTURE_LOD_BIAS,ie),c(q,o.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,ie),c(q,o.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,ie),c(q,o.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,ie),c(q,o.MAX_UNIFORM_BLOCK_SIZE,ie),c(q,o.MAX_UNIFORM_BUFFER_BINDINGS,ie),c(q,o.MAX_VARYING_COMPONENTS,ie),c(q,o.MAX_VERTEX_OUTPUT_COMPONENTS,ie),c(q,o.MAX_VERTEX_UNIFORM_BLOCKS,ie),c(q,o.MAX_VERTEX_UNIFORM_COMPONENTS,ie),c(q,o.MIN_PROGRAM_TEXEL_OFFSET,ie),c(q,o.MAX_PROGRAM_TEXEL_OFFSET,ie),c(q,o.UNIFORM_BUFFER_OFFSET_ALIGNMENT,ie),q);function Ss(e,t,r){var n=g_[r],i=typeof n=="function"?n(e,t,r):n,a=i!==void 0?i:t(r);return a}function wt(e){var t=e.luma;if(!t){var r={_polyfilled:!1,_extensions:{}};e.luma=r}return e.luma}var Lt,S_="OES_vertex_array_object",Os="ANGLE_instanced_arrays",O_="WEBGL_draw_buffers",y_="EXT_disjoint_timer_query",b_="EXT_texture_filter_anisotropic",C_="VertexArray requires WebGL2 or OES_vertex_array_object extension";function P_(e,t){return{webgl2:Q(e),ext:e.getExtension(t)}}var ri=(Lt={},c(Lt,S_,{meta:{suffix:"OES"},createVertexArray:function(){V(!1,C_)},deleteVertexArray:function(){},bindVertexArray:function(){},isVertexArray:function(){return!1}}),c(Lt,Os,{meta:{suffix:"ANGLE"},vertexAttribDivisor:function(t,r){V(r===0,"WebGL instanced rendering not supported")},drawElementsInstanced:function(){},drawArraysInstanced:function(){}}),c(Lt,O_,{meta:{suffix:"WEBGL"},drawBuffers:function(){V(!1)}}),c(Lt,y_,{meta:{suffix:"EXT"},createQuery:function(){V(!1)},deleteQuery:function(){V(!1)},beginQuery:function(){V(!1)},endQuery:function(){},getQuery:function(t,r){return this.getQueryObject(t,r)},getQueryParameter:function(t,r){return this.getQueryObject(t,r)},getQueryObject:function(t,r){}}),Lt),jr={readBuffer:function(t,r,n){Q(t)&&r(n)},getVertexAttrib:function(t,r,n,i){var a=P_(t,Os),s=a.webgl2,u=a.ext,f;switch(i){case o.VERTEX_ATTRIB_ARRAY_INTEGER:f=s?void 0:!1;break;case o.VERTEX_ATTRIB_ARRAY_DIVISOR:f=!s&&!u?0:void 0;break;default:}return f!==void 0?f:r(n,i)},getProgramParameter:function(t,r,n,i){if(!Q(t))switch(i){case o.TRANSFORM_FEEDBACK_BUFFER_MODE:return o.SEPARATE_ATTRIBS;case o.TRANSFORM_FEEDBACK_VARYINGS:return 0;case o.ACTIVE_UNIFORM_BLOCKS:return 0;default:}return r(n,i)},getInternalformatParameter:function(t,r,n,i,a){if(!Q(t))switch(a){case o.SAMPLES:return new Int32Array([0]);default:}var s=t;return s.getInternalformatParameter(n,i,a)},getTexParameter:function(t,r,n,i){switch(i){case o.TEXTURE_MAX_ANISOTROPY_EXT:var a=wt(t),s=a._extensions,u=s[b_];i=u&&u.TEXTURE_MAX_ANISOTROPY_EXT||o.TEXTURE_MAX_ANISOTROPY_EXT;break;default:}return r(n,i)},getParameter:Ss,hint:function(t,r,n,i){return r(n,i)}};function bs(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=N_(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
263
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,u;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,u=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw u}}}}function N_(e,t){if(e){if(typeof e=="string")return ys(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ys(e,t)}}function ys(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Cs(e){var t=wt(e);return t._polyfilled||(Rs(e),M_(e),I_(e,ri),D_(e,{target:t,target2:e}),t._polyfilled=!0),e}function M_(e){var t=wt(e),r=e.getSupportedExtensions()||[],n=bs(r),i;try{for(n.s();!(i=n.n()).done;){var a=i.value,s=e.getExtension(a);t._extensions[a]=s}}catch(u){n.e(u)}finally{n.f()}}function I_(e,t){var r=wt(e),n=bs(Object.getOwnPropertyNames(t)),i;try{for(n.s();!(i=n.n()).done;){var a=i.value;a!=="overrides"&&F_(e,{extension:a,target:r,target2:e})}}catch(s){n.e(s)}finally{n.f()}}function F_(e,t){var r=t.extension,n=t.target,i=t.target2,a=ri[r];V(a);for(var s=a.meta,u=s===void 0?{}:s,f=u.suffix,l=f===void 0?"":f,_=e.getExtension(r),E=function(){var m=d[p],R="".concat(m).concat(l),T=null;m==="meta"||typeof e[m]=="function"||(_&&typeof _[R]=="function"?T=function(){return _[R].apply(_,arguments)}:typeof a[m]=="function"&&(T=a[m].bind(n))),T&&(n[m]=T,i[m]=T)},p=0,d=Object.keys(a);p<d.length;p++)E()}function D_(e,t){var r=t.target,n=t.target2;Object.keys(jr).forEach(function(i){if(typeof jr[i]=="function"){var a=e[i]?e[i].bind(e):function(){},s=jr[i].bind(null,e,a);r[i]=s,n[i]=s}})}function ni(e){if(Array.isArray(e))return gt(e)}function nr(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function ii(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
264
264
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ae(e){return ni(e)||nr(e)||ut(e)||ii()}var B,P,xe,Kr=(B={},c(B,o.BLEND,!1),c(B,o.BLEND_COLOR,new Float32Array([0,0,0,0])),c(B,o.BLEND_EQUATION_RGB,o.FUNC_ADD),c(B,o.BLEND_EQUATION_ALPHA,o.FUNC_ADD),c(B,o.BLEND_SRC_RGB,o.ONE),c(B,o.BLEND_DST_RGB,o.ZERO),c(B,o.BLEND_SRC_ALPHA,o.ONE),c(B,o.BLEND_DST_ALPHA,o.ZERO),c(B,o.COLOR_CLEAR_VALUE,new Float32Array([0,0,0,0])),c(B,o.COLOR_WRITEMASK,[!0,!0,!0,!0]),c(B,o.CULL_FACE,!1),c(B,o.CULL_FACE_MODE,o.BACK),c(B,o.DEPTH_TEST,!1),c(B,o.DEPTH_CLEAR_VALUE,1),c(B,o.DEPTH_FUNC,o.LESS),c(B,o.DEPTH_RANGE,new Float32Array([0,1])),c(B,o.DEPTH_WRITEMASK,!0),c(B,o.DITHER,!0),c(B,o.CURRENT_PROGRAM,null),c(B,o.FRAMEBUFFER_BINDING,null),c(B,o.RENDERBUFFER_BINDING,null),c(B,o.VERTEX_ARRAY_BINDING,null),c(B,o.ARRAY_BUFFER_BINDING,null),c(B,o.FRONT_FACE,o.CCW),c(B,o.GENERATE_MIPMAP_HINT,o.DONT_CARE),c(B,o.LINE_WIDTH,1),c(B,o.POLYGON_OFFSET_FILL,!1),c(B,o.POLYGON_OFFSET_FACTOR,0),c(B,o.POLYGON_OFFSET_UNITS,0),c(B,o.SAMPLE_ALPHA_TO_COVERAGE,!1),c(B,o.SAMPLE_COVERAGE,!1),c(B,o.SAMPLE_COVERAGE_VALUE,1),c(B,o.SAMPLE_COVERAGE_INVERT,!1),c(B,o.SCISSOR_TEST,!1),c(B,o.SCISSOR_BOX,new Int32Array([0,0,1024,1024])),c(B,o.STENCIL_TEST,!1),c(B,o.STENCIL_CLEAR_VALUE,0),c(B,o.STENCIL_WRITEMASK,4294967295),c(B,o.STENCIL_BACK_WRITEMASK,4294967295),c(B,o.STENCIL_FUNC,o.ALWAYS),c(B,o.STENCIL_REF,0),c(B,o.STENCIL_VALUE_MASK,4294967295),c(B,o.STENCIL_BACK_FUNC,o.ALWAYS),c(B,o.STENCIL_BACK_REF,0),c(B,o.STENCIL_BACK_VALUE_MASK,4294967295),c(B,o.STENCIL_FAIL,o.KEEP),c(B,o.STENCIL_PASS_DEPTH_FAIL,o.KEEP),c(B,o.STENCIL_PASS_DEPTH_PASS,o.KEEP),c(B,o.STENCIL_BACK_FAIL,o.KEEP),c(B,o.STENCIL_BACK_PASS_DEPTH_FAIL,o.KEEP),c(B,o.STENCIL_BACK_PASS_DEPTH_PASS,o.KEEP),c(B,o.VIEWPORT,[0,0,1024,1024]),c(B,o.PACK_ALIGNMENT,4),c(B,o.UNPACK_ALIGNMENT,4),c(B,o.UNPACK_FLIP_Y_WEBGL,!1),c(B,o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),c(B,o.UNPACK_COLORSPACE_CONVERSION_WEBGL,o.BROWSER_DEFAULT_WEBGL),c(B,o.TRANSFORM_FEEDBACK_BINDING,null),c(B,o.COPY_READ_BUFFER_BINDING,null),c(B,o.COPY_WRITE_BUFFER_BINDING,null),c(B,o.PIXEL_PACK_BUFFER_BINDING,null),c(B,o.PIXEL_UNPACK_BUFFER_BINDING,null),c(B,o.FRAGMENT_SHADER_DERIVATIVE_HINT,o.DONT_CARE),c(B,o.READ_FRAMEBUFFER_BINDING,null),c(B,o.RASTERIZER_DISCARD,!1),c(B,o.PACK_ROW_LENGTH,0),c(B,o.PACK_SKIP_PIXELS,0),c(B,o.PACK_SKIP_ROWS,0),c(B,o.UNPACK_ROW_LENGTH,0),c(B,o.UNPACK_IMAGE_HEIGHT,0),c(B,o.UNPACK_SKIP_PIXELS,0),c(B,o.UNPACK_SKIP_ROWS,0),c(B,o.UNPACK_SKIP_IMAGES,0),B),He=function(t,r,n){return r?t.enable(n):t.disable(n)},Ps=function(t,r,n){return t.hint(n,r)},Me=function(t,r,n){return t.pixelStorei(n,r)},Ns=function(t,r,n){var i;return n===o.FRAMEBUFFER_BINDING?i=Q(t)?o.DRAW_FRAMEBUFFER:o.FRAMEBUFFER:i=o.READ_FRAMEBUFFER,t.bindFramebuffer(i,r)},ir=function(t,r,n){var i,a=(i={},c(i,o.ARRAY_BUFFER_BINDING,o.ARRAY_BUFFER),c(i,o.COPY_READ_BUFFER_BINDING,o.COPY_READ_BUFFER),c(i,o.COPY_WRITE_BUFFER_BINDING,o.COPY_WRITE_BUFFER),c(i,o.PIXEL_PACK_BUFFER_BINDING,o.PIXEL_PACK_BUFFER),c(i,o.PIXEL_UNPACK_BUFFER_BINDING,o.PIXEL_UNPACK_BUFFER),i),s=a[n];t.bindBuffer(s,r)};function ai(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}var Ms=(P={},c(P,o.BLEND,He),c(P,o.BLEND_COLOR,function(e,t){return e.blendColor.apply(e,ae(t))}),c(P,o.BLEND_EQUATION_RGB,"blendEquation"),c(P,o.BLEND_EQUATION_ALPHA,"blendEquation"),c(P,o.BLEND_SRC_RGB,"blendFunc"),c(P,o.BLEND_DST_RGB,"blendFunc"),c(P,o.BLEND_SRC_ALPHA,"blendFunc"),c(P,o.BLEND_DST_ALPHA,"blendFunc"),c(P,o.COLOR_CLEAR_VALUE,function(e,t){return e.clearColor.apply(e,ae(t))}),c(P,o.COLOR_WRITEMASK,function(e,t){return e.colorMask.apply(e,ae(t))}),c(P,o.CULL_FACE,He),c(P,o.CULL_FACE_MODE,function(e,t){return e.cullFace(t)}),c(P,o.DEPTH_TEST,He),c(P,o.DEPTH_CLEAR_VALUE,function(e,t){return e.clearDepth(t)}),c(P,o.DEPTH_FUNC,function(e,t){return e.depthFunc(t)}),c(P,o.DEPTH_RANGE,function(e,t){return e.depthRange.apply(e,ae(t))}),c(P,o.DEPTH_WRITEMASK,function(e,t){return e.depthMask(t)}),c(P,o.DITHER,He),c(P,o.FRAGMENT_SHADER_DERIVATIVE_HINT,Ps),c(P,o.CURRENT_PROGRAM,function(e,t){return e.useProgram(t)}),c(P,o.RENDERBUFFER_BINDING,function(e,t){return e.bindRenderbuffer(o.RENDERBUFFER,t)}),c(P,o.TRANSFORM_FEEDBACK_BINDING,function(e,t){var r,n;return(r=(n=e).bindTransformFeedback)===null||r===void 0?void 0:r.call(n,o.TRANSFORM_FEEDBACK,t)}),c(P,o.VERTEX_ARRAY_BINDING,function(e,t){return e.bindVertexArray(t)}),c(P,o.FRAMEBUFFER_BINDING,Ns),c(P,o.READ_FRAMEBUFFER_BINDING,Ns),c(P,o.ARRAY_BUFFER_BINDING,ir),c(P,o.COPY_READ_BUFFER_BINDING,ir),c(P,o.COPY_WRITE_BUFFER_BINDING,ir),c(P,o.PIXEL_PACK_BUFFER_BINDING,ir),c(P,o.PIXEL_UNPACK_BUFFER_BINDING,ir),c(P,o.FRONT_FACE,function(e,t){return e.frontFace(t)}),c(P,o.GENERATE_MIPMAP_HINT,Ps),c(P,o.LINE_WIDTH,function(e,t){return e.lineWidth(t)}),c(P,o.POLYGON_OFFSET_FILL,He),c(P,o.POLYGON_OFFSET_FACTOR,"polygonOffset"),c(P,o.POLYGON_OFFSET_UNITS,"polygonOffset"),c(P,o.RASTERIZER_DISCARD,He),c(P,o.SAMPLE_ALPHA_TO_COVERAGE,He),c(P,o.SAMPLE_COVERAGE,He),c(P,o.SAMPLE_COVERAGE_VALUE,"sampleCoverage"),c(P,o.SAMPLE_COVERAGE_INVERT,"sampleCoverage"),c(P,o.SCISSOR_TEST,He),c(P,o.SCISSOR_BOX,function(e,t){return e.scissor.apply(e,ae(t))}),c(P,o.STENCIL_TEST,He),c(P,o.STENCIL_CLEAR_VALUE,function(e,t){return e.clearStencil(t)}),c(P,o.STENCIL_WRITEMASK,function(e,t){return e.stencilMaskSeparate(o.FRONT,t)}),c(P,o.STENCIL_BACK_WRITEMASK,function(e,t){return e.stencilMaskSeparate(o.BACK,t)}),c(P,o.STENCIL_FUNC,"stencilFuncFront"),c(P,o.STENCIL_REF,"stencilFuncFront"),c(P,o.STENCIL_VALUE_MASK,"stencilFuncFront"),c(P,o.STENCIL_BACK_FUNC,"stencilFuncBack"),c(P,o.STENCIL_BACK_REF,"stencilFuncBack"),c(P,o.STENCIL_BACK_VALUE_MASK,"stencilFuncBack"),c(P,o.STENCIL_FAIL,"stencilOpFront"),c(P,o.STENCIL_PASS_DEPTH_FAIL,"stencilOpFront"),c(P,o.STENCIL_PASS_DEPTH_PASS,"stencilOpFront"),c(P,o.STENCIL_BACK_FAIL,"stencilOpBack"),c(P,o.STENCIL_BACK_PASS_DEPTH_FAIL,"stencilOpBack"),c(P,o.STENCIL_BACK_PASS_DEPTH_PASS,"stencilOpBack"),c(P,o.VIEWPORT,function(e,t){return e.viewport.apply(e,ae(t))}),c(P,o.PACK_ALIGNMENT,Me),c(P,o.UNPACK_ALIGNMENT,Me),c(P,o.UNPACK_FLIP_Y_WEBGL,Me),c(P,o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,Me),c(P,o.UNPACK_COLORSPACE_CONVERSION_WEBGL,Me),c(P,o.PACK_ROW_LENGTH,Me),c(P,o.PACK_SKIP_PIXELS,Me),c(P,o.PACK_SKIP_ROWS,Me),c(P,o.UNPACK_ROW_LENGTH,Me),c(P,o.UNPACK_IMAGE_HEIGHT,Me),c(P,o.UNPACK_SKIP_PIXELS,Me),c(P,o.UNPACK_SKIP_ROWS,Me),c(P,o.UNPACK_SKIP_IMAGES,Me),c(P,"framebuffer",function(t,r){var n=r&&"handle"in r?r.handle:r;return t.bindFramebuffer(o.FRAMEBUFFER,n)}),c(P,"blend",function(t,r){return r?t.enable(o.BLEND):t.disable(o.BLEND)}),c(P,"blendColor",function(t,r){return t.blendColor.apply(t,ae(r))}),c(P,"blendEquation",function(t,r){var n=typeof r=="number"?[r,r]:r;t.blendEquationSeparate.apply(t,ae(n))}),c(P,"blendFunc",function(t,r){var n=r?.length===2?[].concat(ae(r),ae(r)):r;t.blendFuncSeparate.apply(t,ae(n))}),c(P,"clearColor",function(t,r){return t.clearColor.apply(t,ae(r))}),c(P,"clearDepth",function(t,r){return t.clearDepth(r)}),c(P,"clearStencil",function(t,r){return t.clearStencil(r)}),c(P,"colorMask",function(t,r){return t.colorMask.apply(t,ae(r))}),c(P,"cull",function(t,r){return r?t.enable(o.CULL_FACE):t.disable(o.CULL_FACE)}),c(P,"cullFace",function(t,r){return t.cullFace(r)}),c(P,"depthTest",function(t,r){return r?t.enable(o.DEPTH_TEST):t.disable(o.DEPTH_TEST)}),c(P,"depthFunc",function(t,r){return t.depthFunc(r)}),c(P,"depthMask",function(t,r){return t.depthMask(r)}),c(P,"depthRange",function(t,r){return t.depthRange.apply(t,ae(r))}),c(P,"dither",function(t,r){return r?t.enable(o.DITHER):t.disable(o.DITHER)}),c(P,"derivativeHint",function(t,r){t.hint(o.FRAGMENT_SHADER_DERIVATIVE_HINT,r)}),c(P,"frontFace",function(t,r){return t.frontFace(r)}),c(P,"mipmapHint",function(t,r){return t.hint(o.GENERATE_MIPMAP_HINT,r)}),c(P,"lineWidth",function(t,r){return t.lineWidth(r)}),c(P,"polygonOffsetFill",function(t,r){return r?t.enable(o.POLYGON_OFFSET_FILL):t.disable(o.POLYGON_OFFSET_FILL)}),c(P,"polygonOffset",function(t,r){return t.polygonOffset.apply(t,ae(r))}),c(P,"sampleCoverage",function(t,r){return t.sampleCoverage.apply(t,ae(r))}),c(P,"scissorTest",function(t,r){return r?t.enable(o.SCISSOR_TEST):t.disable(o.SCISSOR_TEST)}),c(P,"scissor",function(t,r){return t.scissor.apply(t,ae(r))}),c(P,"stencilTest",function(t,r){return r?t.enable(o.STENCIL_TEST):t.disable(o.STENCIL_TEST)}),c(P,"stencilMask",function(t,r){r=ai(r)?r:[r,r];var n=r,i=j(n,2),a=i[0],s=i[1];t.stencilMaskSeparate(o.FRONT,a),t.stencilMaskSeparate(o.BACK,s)}),c(P,"stencilFunc",function(t,r){r=ai(r)&&r.length===3?[].concat(ae(r),ae(r)):r;var n=r,i=j(n,6),a=i[0],s=i[1],u=i[2],f=i[3],l=i[4],_=i[5];t.stencilFuncSeparate(o.FRONT,a,s,u),t.stencilFuncSeparate(o.BACK,f,l,_)}),c(P,"stencilOp",function(t,r){r=ai(r)&&r.length===3?[].concat(ae(r),ae(r)):r;var n=r,i=j(n,6),a=i[0],s=i[1],u=i[2],f=i[3],l=i[4],_=i[5];t.stencilOpSeparate(o.FRONT,a,s,u),t.stencilOpSeparate(o.BACK,f,l,_)}),c(P,"viewport",function(t,r){return t.viewport.apply(t,ae(r))}),P);function le(e,t,r){return t[e]!==void 0?t[e]:r[e]}var Is={blendEquation:function(t,r,n){return t.blendEquationSeparate(le(o.BLEND_EQUATION_RGB,r,n),le(o.BLEND_EQUATION_ALPHA,r,n))},blendFunc:function(t,r,n){return t.blendFuncSeparate(le(o.BLEND_SRC_RGB,r,n),le(o.BLEND_DST_RGB,r,n),le(o.BLEND_SRC_ALPHA,r,n),le(o.BLEND_DST_ALPHA,r,n))},polygonOffset:function(t,r,n){return t.polygonOffset(le(o.POLYGON_OFFSET_FACTOR,r,n),le(o.POLYGON_OFFSET_UNITS,r,n))},sampleCoverage:function(t,r,n){return t.sampleCoverage(le(o.SAMPLE_COVERAGE_VALUE,r,n),le(o.SAMPLE_COVERAGE_INVERT,r,n))},stencilFuncFront:function(t,r,n){return t.stencilFuncSeparate(o.FRONT,le(o.STENCIL_FUNC,r,n),le(o.STENCIL_REF,r,n),le(o.STENCIL_VALUE_MASK,r,n))},stencilFuncBack:function(t,r,n){return t.stencilFuncSeparate(o.BACK,le(o.STENCIL_BACK_FUNC,r,n),le(o.STENCIL_BACK_REF,r,n),le(o.STENCIL_BACK_VALUE_MASK,r,n))},stencilOpFront:function(t,r,n){return t.stencilOpSeparate(o.FRONT,le(o.STENCIL_FAIL,r,n),le(o.STENCIL_PASS_DEPTH_FAIL,r,n),le(o.STENCIL_PASS_DEPTH_PASS,r,n))},stencilOpBack:function(t,r,n){return t.stencilOpSeparate(o.BACK,le(o.STENCIL_BACK_FAIL,r,n),le(o.STENCIL_BACK_PASS_DEPTH_FAIL,r,n),le(o.STENCIL_BACK_PASS_DEPTH_PASS,r,n))}},oi={enable:function(t,r){return t(c({},r,!0))},disable:function(t,r){return t(c({},r,!1))},pixelStorei:function(t,r,n){return t(c({},r,n))},hint:function(t,r,n){return t(c({},r,n))},useProgram:function(t,r){return t(c({},o.CURRENT_PROGRAM,r))},bindRenderbuffer:function(t,r,n){return t(c({},o.RENDERBUFFER_BINDING,n))},bindTransformFeedback:function(t,r,n){return t(c({},o.TRANSFORM_FEEDBACK_BINDING,n))},bindVertexArray:function(t,r){return t(c({},o.VERTEX_ARRAY_BINDING,r))},bindFramebuffer:function(t,r,n){var i;switch(r){case o.FRAMEBUFFER:return t((i={},c(i,o.DRAW_FRAMEBUFFER_BINDING,n),c(i,o.READ_FRAMEBUFFER_BINDING,n),i));case o.DRAW_FRAMEBUFFER:return t(c({},o.DRAW_FRAMEBUFFER_BINDING,n));case o.READ_FRAMEBUFFER:return t(c({},o.READ_FRAMEBUFFER_BINDING,n));default:return null}},bindBuffer:function(t,r,n){var i,a=(i={},c(i,o.ARRAY_BUFFER,[o.ARRAY_BUFFER_BINDING]),c(i,o.COPY_READ_BUFFER,[o.COPY_READ_BUFFER_BINDING]),c(i,o.COPY_WRITE_BUFFER,[o.COPY_WRITE_BUFFER_BINDING]),c(i,o.PIXEL_PACK_BUFFER,[o.PIXEL_PACK_BUFFER_BINDING]),c(i,o.PIXEL_UNPACK_BUFFER,[o.PIXEL_UNPACK_BUFFER_BINDING]),i)[r];return a?t(c({},a,n)):{valueChanged:!0}},blendColor:function(t,r,n,i,a){return t(c({},o.BLEND_COLOR,new Float32Array([r,n,i,a])))},blendEquation:function(t,r){var n;return t((n={},c(n,o.BLEND_EQUATION_RGB,r),c(n,o.BLEND_EQUATION_ALPHA,r),n))},blendEquationSeparate:function(t,r,n){var i;return t((i={},c(i,o.BLEND_EQUATION_RGB,r),c(i,o.BLEND_EQUATION_ALPHA,n),i))},blendFunc:function(t,r,n){var i;return t((i={},c(i,o.BLEND_SRC_RGB,r),c(i,o.BLEND_DST_RGB,n),c(i,o.BLEND_SRC_ALPHA,r),c(i,o.BLEND_DST_ALPHA,n),i))},blendFuncSeparate:function(t,r,n,i,a){var s;return t((s={},c(s,o.BLEND_SRC_RGB,r),c(s,o.BLEND_DST_RGB,n),c(s,o.BLEND_SRC_ALPHA,i),c(s,o.BLEND_DST_ALPHA,a),s))},clearColor:function(t,r,n,i,a){return t(c({},o.COLOR_CLEAR_VALUE,new Float32Array([r,n,i,a])))},clearDepth:function(t,r){return t(c({},o.DEPTH_CLEAR_VALUE,r))},clearStencil:function(t,r){return t(c({},o.STENCIL_CLEAR_VALUE,r))},colorMask:function(t,r,n,i,a){return t(c({},o.COLOR_WRITEMASK,[r,n,i,a]))},cullFace:function(t,r){return t(c({},o.CULL_FACE_MODE,r))},depthFunc:function(t,r){return t(c({},o.DEPTH_FUNC,r))},depthRange:function(t,r,n){return t(c({},o.DEPTH_RANGE,new Float32Array([r,n])))},depthMask:function(t,r){return t(c({},o.DEPTH_WRITEMASK,r))},frontFace:function(t,r){return t(c({},o.FRONT_FACE,r))},lineWidth:function(t,r){return t(c({},o.LINE_WIDTH,r))},polygonOffset:function(t,r,n){var i;return t((i={},c(i,o.POLYGON_OFFSET_FACTOR,r),c(i,o.POLYGON_OFFSET_UNITS,n),i))},sampleCoverage:function(t,r,n){var i;return t((i={},c(i,o.SAMPLE_COVERAGE_VALUE,r),c(i,o.SAMPLE_COVERAGE_INVERT,n),i))},scissor:function(t,r,n,i,a){return t(c({},o.SCISSOR_BOX,new Int32Array([r,n,i,a])))},stencilMask:function(t,r){var n;return t((n={},c(n,o.STENCIL_WRITEMASK,r),c(n,o.STENCIL_BACK_WRITEMASK,r),n))},stencilMaskSeparate:function(t,r,n){return t(c({},r===o.FRONT?o.STENCIL_WRITEMASK:o.STENCIL_BACK_WRITEMASK,n))},stencilFunc:function(t,r,n,i){var a;return t((a={},c(a,o.STENCIL_FUNC,r),c(a,o.STENCIL_REF,n),c(a,o.STENCIL_VALUE_MASK,i),c(a,o.STENCIL_BACK_FUNC,r),c(a,o.STENCIL_BACK_REF,n),c(a,o.STENCIL_BACK_VALUE_MASK,i),a))},stencilFuncSeparate:function(t,r,n,i,a){var s;return t((s={},c(s,r===o.FRONT?o.STENCIL_FUNC:o.STENCIL_BACK_FUNC,n),c(s,r===o.FRONT?o.STENCIL_REF:o.STENCIL_BACK_REF,i),c(s,r===o.FRONT?o.STENCIL_VALUE_MASK:o.STENCIL_BACK_VALUE_MASK,a),s))},stencilOp:function(t,r,n,i){var a;return t((a={},c(a,o.STENCIL_FAIL,r),c(a,o.STENCIL_PASS_DEPTH_FAIL,n),c(a,o.STENCIL_PASS_DEPTH_PASS,i),c(a,o.STENCIL_BACK_FAIL,r),c(a,o.STENCIL_BACK_PASS_DEPTH_FAIL,n),c(a,o.STENCIL_BACK_PASS_DEPTH_PASS,i),a))},stencilOpSeparate:function(t,r,n,i,a){var s;return t((s={},c(s,r===o.FRONT?o.STENCIL_FAIL:o.STENCIL_BACK_FAIL,n),c(s,r===o.FRONT?o.STENCIL_PASS_DEPTH_FAIL:o.STENCIL_BACK_PASS_DEPTH_FAIL,i),c(s,r===o.FRONT?o.STENCIL_PASS_DEPTH_PASS:o.STENCIL_BACK_PASS_DEPTH_PASS,a),s))},viewport:function(t,r,n,i,a){return t(c({},o.VIEWPORT,[r,n,i,a]))}},We=function(t,r){return t.isEnabled(r)},si=(xe={},c(xe,o.BLEND,We),c(xe,o.CULL_FACE,We),c(xe,o.DEPTH_TEST,We),c(xe,o.DITHER,We),c(xe,o.POLYGON_OFFSET_FILL,We),c(xe,o.SAMPLE_ALPHA_TO_COVERAGE,We),c(xe,o.SAMPLE_COVERAGE,We),c(xe,o.SCISSOR_TEST,We),c(xe,o.STENCIL_TEST,We),c(xe,o.RASTERIZER_DISCARD,We),xe),Fs=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 x_(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=B_(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
265
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,u;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,u=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw u}}}}function B_(e,t){if(e){if(typeof e=="string")return Ds(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ds(e,t)}}function Ds(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Xt(e,t){var r=Re.attach(e),n=r.gl;if(!U_(t)){var i={};for(var a in t){var s=Number(a),u=Ms[a];u&&(typeof u=="string"?i[u]=!0:u(n,t[a],s))}var f=n.state&&n.state.cache;if(f)for(var l in i){var _=Is[l];_(n,t,f)}}}function xs(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Kr,r=Re.attach(e),n=r.gl;if(typeof t=="number"){var i=t,a=si[i];return a?a(n,i):n.getParameter(i)}var s=Array.isArray(t)?t:Object.keys(t),u={},f=x_(s),l;try{for(f.s();!(l=f.n()).done;){var _=l.value,E=si[_];u[_]=E?E(n,Number(_)):n.getParameter(Number(_))}}catch(p){f.e(p)}finally{f.f()}return u}function U_(e){for(var t in e)return!1;return!0}function Bs(e,t){if(e===t)return!0;var r=Array.isArray(e)||ArrayBuffer.isView(e),n=Array.isArray(t)||ArrayBuffer.isView(t);if(r&&n&&e.length===t.length){for(var i=0;i<e.length;++i)if(e[i]!==t[i])return!1;return!0}return!1}var w_=function(){function e(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=r.copyState,i=n===void 0?!1:n,a=r.log,s=a===void 0?function(){}:a;b(this,e),c(this,"gl",void 0),c(this,"program",null),c(this,"stateStack",[]),c(this,"enable",!0),c(this,"cache",void 0),c(this,"log",void 0),this.gl=t,this.cache=i?xs(t):Object.assign({},Kr),this.log=s,this._updateCache=this._updateCache.bind(this),Object.seal(this)}return C(e,[{key:"push",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.stateStack.push({})}},{key:"pop",value:function(){V(this.stateStack.length>0);var r=this.stateStack[this.stateStack.length-1];Xt(this.gl,r),this.stateStack.pop()}},{key:"_updateCache",value:function(r){var n=!1,i,a=this.stateStack.length>0?this.stateStack[this.stateStack.length-1]:null;for(var s in r){V(s!==void 0);var u=r[s],f=this.cache[s];Bs(u,f)||(n=!0,i=f,a&&!(s in a)&&(a[s]=f),this.cache[s]=u)}return{valueChanged:n,oldValue:i}}}]),e}();function mt(e){return e.state}function ci(e,t){var r=t.enable,n=r===void 0?!0:r,i=t.copyState;if(V(i!==void 0),!e.state){e.state=new w_(e,{copyState:i}),X_(e);for(var a in oi){var s=oi[a];L_(e,a,s)}Us(e,"getParameter"),Us(e,"isEnabled")}var u=mt(e);return u.enable=n,e}function Rt(e){var t=mt(e);t||(ci(e,{copyState:!1}),t=mt(e)),t.push()}function at(e){var t=mt(e);V(t),t.pop()}function Us(e,t){var r=e[t].bind(e);e[t]=function(i){if(i===void 0||Fs.has(i))return r(i);var a=mt(e);return i in a.cache||(a.cache[i]=r(i)),a.enable?a.cache[i]:r(i)},Object.defineProperty(e[t],"name",{value:"".concat(t,"-from-cache"),configurable:!1})}function L_(e,t,r){if(e[t]){var n=e[t].bind(e);e[t]=function(){for(var a=mt(e),s=arguments.length,u=new Array(s),f=0;f<s;f++)u[f]=arguments[f];var l=r.apply(void 0,[a._updateCache].concat(u)),_=l.valueChanged,E=l.oldValue;return _&&n.apply(void 0,u),E},Object.defineProperty(e[t],"name",{value:"".concat(t,"-to-cache"),configurable:!1})}}function X_(e){var t=e.useProgram.bind(e);e.useProgram=function(n){var i=mt(e);i.program!==n&&(t(n),i.program=n)}}function ws(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ht(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ws(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ws(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var H_={webgl2:!0,webgl1:!0,powerPreference:"high-performance",onContextLost:function(){return console.error("WebGL context lost")},onContextRestored:function(){return console.info("WebGL context restored")}};function Ls(e,t){t=Ht(Ht({},H_),t);var r=null,n=function(_){return r=_.statusMessage||r};e.addEventListener("webglcontextcreationerror",n,!1);var i=null;if(t.type==="webgl2"&&(t=Ht(Ht({},t),{},{webgl1:!1})),t.type==="webgl1"&&(t=Ht(Ht({},t),{},{webgl2:!1})),!i&&t.webgl2&&(i=e.getContext("webgl2",t)),!i&&t.webgl1&&(i=e.getContext("webgl",t)),e.removeEventListener("webglcontextcreationerror",n,!1),!i)throw new Error("Failed to create ".concat(t.webgl2&&!t.webgl1?"WebGL2":"WebGL"," context: ").concat(r||"Unknown error"));if(t.onContextLost){var a=t,s=a.onContextLost;e.addEventListener("webglcontextlost",function(l){return s(l)},!1)}if(t.onContextRestored){var u=t,f=u.onContextRestored;e.addEventListener("webglcontextrestored",function(l){return f(l)},!1)}return i}function Xs(e){var t=e.getParameter(o.VENDOR),r=e.getParameter(o.RENDERER),n=e.getExtension("WEBGL_debug_renderer_info"),i=e.getParameter(n?n.UNMASKED_VENDOR_WEBGL:o.VENDOR),a=e.getParameter(n?n.UNMASKED_RENDERER_WEBGL:o.RENDERER),s=i||t,u=a||r,f=W_(s,u);return{type:Q(e)?"webgl2":"webgl",gpu:f,vendor:i||t,renderer:a||r,version:e.getParameter(o.VERSION),shadingLanguages:["glsl"],shadingLanguageVersions:{glsl:e.getParameter(o.SHADING_LANGUAGE_VERSION)}}}function W_(e,t){return/NVIDIA/i.exec(e)||/NVIDIA/i.exec(t)?"nvidia":/INTEL/i.exec(e)||/INTEL/i.exec(t)?"intel":/Apple/i.exec(e)||/Apple/i.exec(t)?"apple":/AMD/i.exec(e)||/AMD/i.exec(t)||/ATI/i.exec(e)||/ATI/i.exec(t)?"amd":/SwiftShader/i.exec(e)||/SwiftShader/i.exec(t)?"software":"unknown"}function Hs(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=typeof window<"u"?window.navigator||{}:{},r=e.userAgent||t.userAgent||"",n=r.indexOf("MSIE ")!==-1,i=r.indexOf("Trident/")!==-1;return n||i}var ye,ke,ve="texture-compression-bc",te="texture-compression-astc",Ve="texture-compression-etc2",k_="texture-compression-etc1-webgl",Yr="texture-compression-pvrtc-webgl",ui="texture-compression-atc-webgl",ar="WEBGL_compressed_texture_s3tc",or="WEBGL_compressed_texture_s3tc_srgb",Wt="EXT_texture_compression_rgtc",sr="EXT_texture_compression_bptc",V_="WEBGL_compressed_texture_etc",j_="WEBGL_compressed_texture_astc",K_="WEBGL_compressed_texture_etc1",Y_="WEBGL_compressed_texture_pvrtc",z_="WEBGL_compressed_texture_atc",Ws="EXT_sRGB",Je="EXT_texture_norm16",G_="WEBGL_color_buffer_float",$_="EXT_color_buffer_float",we=function(t,r){return t.getExtension(r)},At=function(t,r){return r.every(function(n){return t.getExtension(n)})},fi={"texture-blend-float-webgl1":function(t){return Q(t)?!0:we(t,"EXT_float_blend")},"texture-formats-srgb-webgl1":function(t){return Q(t)?!0:we(t,Ws)},"texture-formats-depth-webgl1":function(t){return Q(t)?!0:we(t,"WEBGL_depth_texture")},"texture-formats-float32-webgl1":function(t){return Q(t)?!0:we(t,"OES_texture_float")},"texture-formats-float16-webgl1":function(t){return Q(t)?!0:we(t,"OES_texture_half_float")},"texture-formats-norm16-webgl":function(t){return Q(t)?we(t,Je):!1},"texture-filter-linear-float32-webgl":function(t){return we(t,"OES_texture_float_linear")},"texture-filter-linear-float16-webgl":function(t){return we(t,"OES_texture_half_float_linear")},"texture-filter-anisotropic-webgl":function(t){return we(t,"EXT_texture_filter_anisotropic")},"texture-renderable-float32-webgl":function(t){return we(t,"EXT_color_buffer_float")},"texture-renderable-float16-webgl":function(t){return we(t,"EXT_color_buffer_half_float")},"texture-compression-bc":function(t){return At(t,[ar,or,Wt,sr])},"texture-compression-bc5-webgl":function(t){return At(t,[Wt])},"texture-compression-etc2":function(t){return At(t,[V_])},"texture-compression-astc":function(t){return At(t,[j_])},"texture-compression-etc1-webgl":function(t){return At(t,[K_])},"texture-compression-pvrtc-webgl":function(t){return At(t,[Y_])},"texture-compression-atc-webgl":function(t){return At(t,[z_])}};function q_(e,t){var r;return((r=fi[t])===null||r===void 0?void 0:r.call(fi,e))||!1}function ks(e){var t=Object.keys(fi);return t.filter(function(r){return q_(e,r)})}var cr={"rgb8unorm-unsized":{gl:o.RGB,gl1:o.RGB,b:4,c:2,bpp:4,dataFormat:o.RGB,types:[o.UNSIGNED_BYTE,o.UNSIGNED_SHORT_5_6_5]},"rgba8unorm-unsized":{gl:o.RGBA,gl1:o.RGBA,b:4,c:2,bpp:4,dataFormat:o.RGBA,types:[o.UNSIGNED_BYTE,o.UNSIGNED_SHORT_4_4_4_4,o.UNSIGNED_SHORT_5_5_5_1]},r8unorm:{gl:o.R8,b:1,c:1,renderbuffer:!0},r8snorm:{gl:o.R8_SNORM,b:1,c:1},r8uint:{gl:o.R8UI,b:1,c:1,renderbuffer:!0},r8sint:{gl:o.R8I,b:1,c:1,renderbuffer:!0},rg8unorm:{gl:o.RG8,b:2,c:2,renderbuffer:!0},rg8snorm:{gl:o.RG8_SNORM,b:2,c:2},rg8uint:{gl:o.RG8UI,b:2,c:2,renderbuffer:!0},rg8sint:{gl:o.RG8I,b:2,c:2,renderbuffer:!0},r16uint:{gl:o.R16UI,b:2,c:1,renderbuffer:!0},r16sint:{gl:o.R16I,b:2,c:1,renderbuffer:!0},r16float:{gl:o.R16F,b:2,c:1,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl",renderbuffer:!0},"r16unorm-webgl":{gl:o.R16_EXT,b:2,c:1,f:"texture-formats-norm16-webgl",renderbuffer:!0,x:Je},"r16snorm-webgl":{gl:o.R16_SNORM_EXT,b:2,c:1,f:"texture-formats-norm16-webgl",x:Je},"rgba4unorm-webgl":{gl:o.RGBA4,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb565unorm-webgl":{gl:o.RGB565,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb5a1unorm-webgl":{gl:o.RGB5_A1,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb8unorm-webgl":{gl:o.RGB8,b:3,c:3,wgpu:!1},"rgb8snorm-webgl":{gl:o.RGB8_SNORM,b:3,c:3,wgpu:!1},rgba8unorm:{gl:o.RGBA8,gl1:o.RGBA,b:4,c:2,bpp:4},"rgba8unorm-srgb":{gl:o.SRGB8_ALPHA8,gl1:o.SRGB_ALPHA_EXT,b:4,c:4,gl1ext:Ws,bpp:4},rgba8snorm:{gl:o.RGBA8_SNORM,b:4,c:4},rgba8uint:{gl:o.RGBA8UI,b:4,c:4,bpp:4},rgba8sint:{gl:o.RGBA8I,b:4,c:4,bpp:4},bgra8unorm:{b:4,c:4},"bgra8unorm-srgb":{b:4,c:4},rg16uint:{gl:o.RG16UI,b:4,c:1,bpp:4},rg16sint:{gl:o.RG16I,b:4,c:2,bpp:4},rg16float:{gl:o.RG16F,bpp:4,b:4,c:2,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl",renderbuffer:!0},"rg16unorm-webgl":{gl:o.RG16_EXT,b:2,c:2,f:"texture-formats-norm16-webgl",x:Je},"rg16snorm-webgl":{gl:o.RG16_SNORM_EXT,b:2,c:2,f:"texture-formats-norm16-webgl",x:Je},r32uint:{gl:o.R32UI,b:4,c:1,bpp:4,renderbuffer:!0},r32sint:{gl:o.R32I,b:4,c:1,bpp:4,renderbuffer:!0},r32float:{gl:o.R32F,bpp:4,b:4,c:1,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl"},rgb9e5ufloat:{gl:o.RGB9_E5,b:4,c:3,p:1,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},rg11b10ufloat:{gl:o.R11F_G11F_B10F,b:4,c:3,p:1,render:"texture-renderable-float32-webgl",renderbuffer:!0},rgb10a2unorm:{gl:o.RGB10_A2,b:4,c:4,p:1,renderbuffer:!0},"rgb10a2unorm-webgl":{b:4,c:4,gl:o.RGB10_A2UI,p:1,wgpu:!1,bpp:4,renderbuffer:!0},"rgb16unorm-webgl":{gl:o.RGB16_EXT,b:2,c:3,f:"texture-formats-norm16-webgl",x:Je},"rgb16snorm-webgl":{gl:o.RGB16_SNORM_EXT,b:2,c:3,f:"texture-formats-norm16-webgl",x:Je},rg32uint:{gl:o.RG32UI,b:8,c:2,renderbuffer:!0},rg32sint:{gl:o.RG32I,b:8,c:2,renderbuffer:!0},rg32float:{gl:o.RG32F,b:8,c:2,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",renderbuffer:!0},rgba16uint:{gl:o.RGBA16UI,b:8,c:4,renderbuffer:!0},rgba16sint:{gl:o.RGBA16I,b:8,c:4,renderbuffer:!0},rgba16float:{gl:o.RGBA16F,gl1:o.RGBA,b:8,c:4,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},"rgba16unorm-webgl":{gl:o.RGBA16_EXT,b:2,c:4,f:"texture-formats-norm16-webgl",renderbuffer:!0,x:Je},"rgba16snorm-webgl":{gl:o.RGBA16_SNORM_EXT,b:2,c:4,f:"texture-formats-norm16-webgl",x:Je},"rgb32float-webgl":{gl:o.RGB32F,gl1:o.RGB,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",gl2ext:$_,gl1ext:G_,dataFormat:o.RGB,types:[o.FLOAT]},rgba32uint:{gl:o.RGBA32UI,b:16,c:4,renderbuffer:!0},rgba32sint:{gl:o.RGBA32I,b:16,c:4,renderbuffer:!0},rgba32float:{gl:o.RGBA32F,b:16,c:4,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",renderbuffer:!0},stencil8:{gl:o.STENCIL_INDEX8,gl1:o.STENCIL_INDEX8,b:1,c:1,attachment:o.STENCIL_ATTACHMENT,renderbuffer:!0},depth16unorm:{gl:o.DEPTH_COMPONENT16,gl1:o.DEPTH_COMPONENT16,b:2,c:1,attachment:o.DEPTH_ATTACHMENT,renderbuffer:!0},depth24plus:{gl:o.DEPTH_COMPONENT24,b:3,c:1,attachment:o.DEPTH_ATTACHMENT},depth32float:{gl:o.DEPTH_COMPONENT32F,b:4,c:1,attachment:o.DEPTH_ATTACHMENT,renderbuffer:!0},"depth24plus-stencil8":{gl:o.DEPTH_STENCIL,gl1:o.DEPTH_STENCIL,b:4,c:2,p:1,attachment:o.DEPTH_STENCIL_ATTACHMENT,renderbuffer:!0,depthTexture:!0},"depth24unorm-stencil8":{gl:o.DEPTH24_STENCIL8,b:4,c:2,p:1,attachment:o.DEPTH_STENCIL_ATTACHMENT,renderbuffer:!0},"depth32float-stencil8":{gl:o.DEPTH32F_STENCIL8,b:5,c:2,p:1,attachment:o.DEPTH_STENCIL_ATTACHMENT,renderbuffer:!0},"bc1-rgb-unorm-webgl":{gl:o.COMPRESSED_RGB_S3TC_DXT1_EXT,x:ar,f:ve},"bc1-rgb-unorm-srgb-webgl":{gl:o.COMPRESSED_SRGB_S3TC_DXT1_EXT,x:or,f:ve},"bc1-rgba-unorm":{gl:o.COMPRESSED_RGBA_S3TC_DXT1_EXT,x:ar,f:ve},"bc1-rgba-unorm-srgb":{gl:o.COMPRESSED_SRGB_S3TC_DXT1_EXT,x:or,f:ve},"bc2-rgba-unorm":{gl:o.COMPRESSED_RGBA_S3TC_DXT3_EXT,x:ar,f:ve},"bc2-rgba-unorm-srgb":{gl:o.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,x:or,f:ve},"bc3-rgba-unorm":{gl:o.COMPRESSED_RGBA_S3TC_DXT5_EXT,x:ar,f:ve},"bc3-rgba-unorm-srgb":{gl:o.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,x:or,f:ve},"bc4-r-unorm":{gl:o.COMPRESSED_RED_RGTC1_EXT,x:Wt,f:ve},"bc4-r-snorm":{gl:o.COMPRESSED_SIGNED_RED_RGTC1_EXT,x:Wt,f:ve},"bc5-rg-unorm":{gl:o.COMPRESSED_RED_GREEN_RGTC2_EXT,x:Wt,f:ve},"bc5-rg-snorm":{gl:o.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,x:Wt,f:ve},"bc6h-rgb-ufloat":{gl:o.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT,x:sr,f:ve},"bc6h-rgb-float":{gl:o.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT,x:sr,f:ve},"bc7-rgba-unorm":{gl:o.COMPRESSED_RGBA_BPTC_UNORM_EXT,x:sr,f:ve},"bc7-rgba-unorm-srgb":{gl:o.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT,x:sr,f:ve},"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:Yr},"pvrtc-rgba4unorm-webgl":{gl:o.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,f:Yr},"pvrtc-rbg2unorm-webgl":{gl:o.COMPRESSED_RGB_PVRTC_2BPPV1_IMG,f:Yr},"pvrtc-rgba2unorm-webgl":{gl:o.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,f:Yr},"etc1-rbg-unorm-webgl":{gl:o.COMPRESSED_RGB_ETC1_WEBGL,f:k_},"atc-rgb-unorm-webgl":{gl:o.COMPRESSED_RGB_ATC_WEBGL,f:ui},"atc-rgba-unorm-webgl":{gl:o.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,f:ui},"atc-rgbai-unorm-webgl":{gl:o.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL,f:ui}},Z_=(ye={},c(ye,o.RED,1),c(ye,o.RED_INTEGER,1),c(ye,o.RG,2),c(ye,o.RG_INTEGER,2),c(ye,o.RGB,3),c(ye,o.RGB_INTEGER,3),c(ye,o.RGBA,4),c(ye,o.RGBA_INTEGER,4),c(ye,o.DEPTH_COMPONENT,1),c(ye,o.DEPTH_STENCIL,1),c(ye,o.ALPHA,1),c(ye,o.LUMINANCE,1),c(ye,o.LUMINANCE_ALPHA,2),ye),Q_=(ke={},c(ke,o.FLOAT,4),c(ke,o.UNSIGNED_INT,4),c(ke,o.INT,4),c(ke,o.UNSIGNED_SHORT,2),c(ke,o.SHORT,2),c(ke,o.HALF_FLOAT,2),c(ke,o.BYTE,1),c(ke,o.UNSIGNED_BYTE,1),ke);function ur(e,t){var r=fr(t),n=cr[r];if(!n||(Q(e)?n.gl===void 0:n.gl1===void 0))return!1;var i=n.x||Q(e)&&n.gl2ext||n.gl1ext;return i?Boolean(e.getExtension(i)):!0}function Vs(e,t){var r;return ur(e,t)&&((r=cr[t])===null||r===void 0?void 0:r.renderbuffer)}function fr(e){if(typeof e=="string")return e;var t=Object.entries(cr).find(function(r){var n=j(r,2),i=n[1];return i.gl===e||i.gl1===e});if(!t)throw new Error("Unknown texture format ".concat(e));return t[0]}function lr(e,t){var r=cr[e],n=t?r?.gl:r?.gl1;if(n===void 0)throw new Error("Unsupported texture format ".concat(e));return n}function js(e,t){var r=fr(t);if(!ur(e,r))return!1;try{var n=Mr(r);if(n.signed)return!1}catch{return!1}return r.endsWith("32float")?Boolean(e.getExtension("OES_texture_float_linear")):r.endsWith("16float")?Boolean(e.getExtension("OES_texture_half_float_linear")):!0}function Ks(e,t){var r=fr(t);return!(!ur(e,r)||typeof r=="number")}function zr(e,t){var r=fr(e),n=lr(r,t),i=Mr(r);return{format:n,dataFormat:J_(i.format,i.integer,i.normalized,n),type:li(i.dataType),compressed:i.compressed}}function Ys(e){var t=cr[e];if(!(t!=null&&t.attachment))throw new Error("".concat(e," is not a depth stencil format"));return t.attachment}function zs(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e.RGBA,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:o.RGBA,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:o.UNSIGNED_BYTE,i=null,a=null;try{i=e.createTexture(),e.bindTexture(o.TEXTURE_2D,i);var s=0,u=1,f=1,l=0,_=new Uint8Array([0,0,255,255]);e.texImage2D(e.TEXTURE_2D,s,t,u,f,l,r,n,_),a=e.createFramebuffer(),e.bindFramebuffer(o.FRAMEBUFFER,a),e.framebufferTexture2D(o.FRAMEBUFFER,o.COLOR_ATTACHMENT0,o.TEXTURE_2D,i,0);var E=e.checkFramebufferStatus(o.FRAMEBUFFER)===o.FRAMEBUFFER_COMPLETE;return e.bindTexture(o.TEXTURE_2D,null),E}finally{e.deleteTexture(i),e.deleteFramebuffer(a)}}function _r(e,t){var r=fr(e),n=zr(r,t),i=Z_[n.dataFormat]||4,a=Q_[n.type]||1;return i*a}function J_(e,t,r,n){if(n===o.RGBA||n===o.RGB)return n;switch(e){case"r":return t&&!r?o.RED_INTEGER:o.RED;case"rg":return t&&!r?o.RG_INTEGER:o.RG;case"rgb":return t&&!r?o.RGB_INTEGER:o.RGB;case"rgba":return t&&!r?o.RGBA_INTEGER:o.RGBA;default:return o.RGBA}}function li(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 eE(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=tE(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
265
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,u;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,u=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw u}}}}function B_(e,t){if(e){if(typeof e=="string")return Ds(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ds(e,t)}}function Ds(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Xt(e,t){var r=Re.attach(e),n=r.gl;if(!U_(t)){var i={};for(var a in t){var s=Number(a),u=Ms[a];u&&(typeof u=="string"?i[u]=!0:u(n,t[a],s))}var f=n.state&&n.state.cache;if(f)for(var l in i){var _=Is[l];_(n,t,f)}}}function xs(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Kr,r=Re.attach(e),n=r.gl;if(typeof t=="number"){var i=t,a=si[i];return a?a(n,i):n.getParameter(i)}var s=Array.isArray(t)?t:Object.keys(t),u={},f=x_(s),l;try{for(f.s();!(l=f.n()).done;){var _=l.value,E=si[_];u[_]=E?E(n,Number(_)):n.getParameter(Number(_))}}catch(p){f.e(p)}finally{f.f()}return u}function U_(e){for(var t in e)return!1;return!0}function Bs(e,t){if(e===t)return!0;var r=Array.isArray(e)||ArrayBuffer.isView(e),n=Array.isArray(t)||ArrayBuffer.isView(t);if(r&&n&&e.length===t.length){for(var i=0;i<e.length;++i)if(e[i]!==t[i])return!1;return!0}return!1}var w_=function(){function e(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=r.copyState,i=n===void 0?!1:n,a=r.log,s=a===void 0?function(){}:a;b(this,e),c(this,"gl",void 0),c(this,"program",null),c(this,"stateStack",[]),c(this,"enable",!0),c(this,"cache",void 0),c(this,"log",void 0),this.gl=t,this.cache=i?xs(t):Object.assign({},Kr),this.log=s,this._updateCache=this._updateCache.bind(this),Object.seal(this)}return C(e,[{key:"push",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.stateStack.push({})}},{key:"pop",value:function(){V(this.stateStack.length>0);var r=this.stateStack[this.stateStack.length-1];Xt(this.gl,r),this.stateStack.pop()}},{key:"_updateCache",value:function(r){var n=!1,i,a=this.stateStack.length>0?this.stateStack[this.stateStack.length-1]:null;for(var s in r){V(s!==void 0);var u=r[s],f=this.cache[s];Bs(u,f)||(n=!0,i=f,a&&!(s in a)&&(a[s]=f),this.cache[s]=u)}return{valueChanged:n,oldValue:i}}}]),e}();function Rt(e){return e.state}function ci(e,t){var r=t.enable,n=r===void 0?!0:r,i=t.copyState;if(V(i!==void 0),!e.state){e.state=new w_(e,{copyState:i}),X_(e);for(var a in oi){var s=oi[a];L_(e,a,s)}Us(e,"getParameter"),Us(e,"isEnabled")}var u=Rt(e);return u.enable=n,e}function At(e){var t=Rt(e);t||(ci(e,{copyState:!1}),t=Rt(e)),t.push()}function at(e){var t=Rt(e);V(t),t.pop()}function Us(e,t){var r=e[t].bind(e);e[t]=function(i){if(i===void 0||Fs.has(i))return r(i);var a=Rt(e);return i in a.cache||(a.cache[i]=r(i)),a.enable?a.cache[i]:r(i)},Object.defineProperty(e[t],"name",{value:"".concat(t,"-from-cache"),configurable:!1})}function L_(e,t,r){if(e[t]){var n=e[t].bind(e);e[t]=function(){for(var a=Rt(e),s=arguments.length,u=new Array(s),f=0;f<s;f++)u[f]=arguments[f];var l=r.apply(void 0,[a._updateCache].concat(u)),_=l.valueChanged,E=l.oldValue;return _&&n.apply(void 0,u),E},Object.defineProperty(e[t],"name",{value:"".concat(t,"-to-cache"),configurable:!1})}}function X_(e){var t=e.useProgram.bind(e);e.useProgram=function(n){var i=Rt(e);i.program!==n&&(t(n),i.program=n)}}function ws(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ht(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ws(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ws(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var H_={webgl2:!0,webgl1:!0,powerPreference:"high-performance",onContextLost:function(){return console.error("WebGL context lost")},onContextRestored:function(){return console.info("WebGL context restored")}};function Ls(e,t){t=Ht(Ht({},H_),t);var r=null,n=function(_){return r=_.statusMessage||r};e.addEventListener("webglcontextcreationerror",n,!1);var i=null;if(t.type==="webgl2"&&(t=Ht(Ht({},t),{},{webgl1:!1})),t.type==="webgl1"&&(t=Ht(Ht({},t),{},{webgl2:!1})),!i&&t.webgl2&&(i=e.getContext("webgl2",t)),!i&&t.webgl1&&(i=e.getContext("webgl",t)),e.removeEventListener("webglcontextcreationerror",n,!1),!i)throw new Error("Failed to create ".concat(t.webgl2&&!t.webgl1?"WebGL2":"WebGL"," context: ").concat(r||"Unknown error"));if(t.onContextLost){var a=t,s=a.onContextLost;e.addEventListener("webglcontextlost",function(l){return s(l)},!1)}if(t.onContextRestored){var u=t,f=u.onContextRestored;e.addEventListener("webglcontextrestored",function(l){return f(l)},!1)}return i}function Xs(e){var t=e.getParameter(o.VENDOR),r=e.getParameter(o.RENDERER),n=e.getExtension("WEBGL_debug_renderer_info"),i=e.getParameter(n?n.UNMASKED_VENDOR_WEBGL:o.VENDOR),a=e.getParameter(n?n.UNMASKED_RENDERER_WEBGL:o.RENDERER),s=i||t,u=a||r,f=W_(s,u);return{type:Q(e)?"webgl2":"webgl",gpu:f,vendor:i||t,renderer:a||r,version:e.getParameter(o.VERSION),shadingLanguages:["glsl"],shadingLanguageVersions:{glsl:e.getParameter(o.SHADING_LANGUAGE_VERSION)}}}function W_(e,t){return/NVIDIA/i.exec(e)||/NVIDIA/i.exec(t)?"nvidia":/INTEL/i.exec(e)||/INTEL/i.exec(t)?"intel":/Apple/i.exec(e)||/Apple/i.exec(t)?"apple":/AMD/i.exec(e)||/AMD/i.exec(t)||/ATI/i.exec(e)||/ATI/i.exec(t)?"amd":/SwiftShader/i.exec(e)||/SwiftShader/i.exec(t)?"software":"unknown"}function Hs(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=typeof window<"u"?window.navigator||{}:{},r=e.userAgent||t.userAgent||"",n=r.indexOf("MSIE ")!==-1,i=r.indexOf("Trident/")!==-1;return n||i}var ye,ke,ve="texture-compression-bc",te="texture-compression-astc",Ve="texture-compression-etc2",k_="texture-compression-etc1-webgl",Yr="texture-compression-pvrtc-webgl",ui="texture-compression-atc-webgl",ar="WEBGL_compressed_texture_s3tc",or="WEBGL_compressed_texture_s3tc_srgb",Wt="EXT_texture_compression_rgtc",sr="EXT_texture_compression_bptc",V_="WEBGL_compressed_texture_etc",j_="WEBGL_compressed_texture_astc",K_="WEBGL_compressed_texture_etc1",Y_="WEBGL_compressed_texture_pvrtc",z_="WEBGL_compressed_texture_atc",Ws="EXT_sRGB",Je="EXT_texture_norm16",G_="WEBGL_color_buffer_float",$_="EXT_color_buffer_float",we=function(t,r){return t.getExtension(r)},Tt=function(t,r){return r.every(function(n){return t.getExtension(n)})},fi={"texture-blend-float-webgl1":function(t){return Q(t)?!0:we(t,"EXT_float_blend")},"texture-formats-srgb-webgl1":function(t){return Q(t)?!0:we(t,Ws)},"texture-formats-depth-webgl1":function(t){return Q(t)?!0:we(t,"WEBGL_depth_texture")},"texture-formats-float32-webgl1":function(t){return Q(t)?!0:we(t,"OES_texture_float")},"texture-formats-float16-webgl1":function(t){return Q(t)?!0:we(t,"OES_texture_half_float")},"texture-formats-norm16-webgl":function(t){return Q(t)?we(t,Je):!1},"texture-filter-linear-float32-webgl":function(t){return we(t,"OES_texture_float_linear")},"texture-filter-linear-float16-webgl":function(t){return we(t,"OES_texture_half_float_linear")},"texture-filter-anisotropic-webgl":function(t){return we(t,"EXT_texture_filter_anisotropic")},"texture-renderable-float32-webgl":function(t){return we(t,"EXT_color_buffer_float")},"texture-renderable-float16-webgl":function(t){return we(t,"EXT_color_buffer_half_float")},"texture-compression-bc":function(t){return Tt(t,[ar,or,Wt,sr])},"texture-compression-bc5-webgl":function(t){return Tt(t,[Wt])},"texture-compression-etc2":function(t){return Tt(t,[V_])},"texture-compression-astc":function(t){return Tt(t,[j_])},"texture-compression-etc1-webgl":function(t){return Tt(t,[K_])},"texture-compression-pvrtc-webgl":function(t){return Tt(t,[Y_])},"texture-compression-atc-webgl":function(t){return Tt(t,[z_])}};function q_(e,t){var r;return((r=fi[t])===null||r===void 0?void 0:r.call(fi,e))||!1}function ks(e){var t=Object.keys(fi);return t.filter(function(r){return q_(e,r)})}var cr={"rgb8unorm-unsized":{gl:o.RGB,gl1:o.RGB,b:4,c:2,bpp:4,dataFormat:o.RGB,types:[o.UNSIGNED_BYTE,o.UNSIGNED_SHORT_5_6_5]},"rgba8unorm-unsized":{gl:o.RGBA,gl1:o.RGBA,b:4,c:2,bpp:4,dataFormat:o.RGBA,types:[o.UNSIGNED_BYTE,o.UNSIGNED_SHORT_4_4_4_4,o.UNSIGNED_SHORT_5_5_5_1]},r8unorm:{gl:o.R8,b:1,c:1,renderbuffer:!0},r8snorm:{gl:o.R8_SNORM,b:1,c:1},r8uint:{gl:o.R8UI,b:1,c:1,renderbuffer:!0},r8sint:{gl:o.R8I,b:1,c:1,renderbuffer:!0},rg8unorm:{gl:o.RG8,b:2,c:2,renderbuffer:!0},rg8snorm:{gl:o.RG8_SNORM,b:2,c:2},rg8uint:{gl:o.RG8UI,b:2,c:2,renderbuffer:!0},rg8sint:{gl:o.RG8I,b:2,c:2,renderbuffer:!0},r16uint:{gl:o.R16UI,b:2,c:1,renderbuffer:!0},r16sint:{gl:o.R16I,b:2,c:1,renderbuffer:!0},r16float:{gl:o.R16F,b:2,c:1,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl",renderbuffer:!0},"r16unorm-webgl":{gl:o.R16_EXT,b:2,c:1,f:"texture-formats-norm16-webgl",renderbuffer:!0,x:Je},"r16snorm-webgl":{gl:o.R16_SNORM_EXT,b:2,c:1,f:"texture-formats-norm16-webgl",x:Je},"rgba4unorm-webgl":{gl:o.RGBA4,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb565unorm-webgl":{gl:o.RGB565,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb5a1unorm-webgl":{gl:o.RGB5_A1,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb8unorm-webgl":{gl:o.RGB8,b:3,c:3,wgpu:!1},"rgb8snorm-webgl":{gl:o.RGB8_SNORM,b:3,c:3,wgpu:!1},rgba8unorm:{gl:o.RGBA8,gl1:o.RGBA,b:4,c:2,bpp:4},"rgba8unorm-srgb":{gl:o.SRGB8_ALPHA8,gl1:o.SRGB_ALPHA_EXT,b:4,c:4,gl1ext:Ws,bpp:4},rgba8snorm:{gl:o.RGBA8_SNORM,b:4,c:4},rgba8uint:{gl:o.RGBA8UI,b:4,c:4,bpp:4},rgba8sint:{gl:o.RGBA8I,b:4,c:4,bpp:4},bgra8unorm:{b:4,c:4},"bgra8unorm-srgb":{b:4,c:4},rg16uint:{gl:o.RG16UI,b:4,c:1,bpp:4},rg16sint:{gl:o.RG16I,b:4,c:2,bpp:4},rg16float:{gl:o.RG16F,bpp:4,b:4,c:2,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl",renderbuffer:!0},"rg16unorm-webgl":{gl:o.RG16_EXT,b:2,c:2,f:"texture-formats-norm16-webgl",x:Je},"rg16snorm-webgl":{gl:o.RG16_SNORM_EXT,b:2,c:2,f:"texture-formats-norm16-webgl",x:Je},r32uint:{gl:o.R32UI,b:4,c:1,bpp:4,renderbuffer:!0},r32sint:{gl:o.R32I,b:4,c:1,bpp:4,renderbuffer:!0},r32float:{gl:o.R32F,bpp:4,b:4,c:1,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl"},rgb9e5ufloat:{gl:o.RGB9_E5,b:4,c:3,p:1,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},rg11b10ufloat:{gl:o.R11F_G11F_B10F,b:4,c:3,p:1,render:"texture-renderable-float32-webgl",renderbuffer:!0},rgb10a2unorm:{gl:o.RGB10_A2,b:4,c:4,p:1,renderbuffer:!0},"rgb10a2unorm-webgl":{b:4,c:4,gl:o.RGB10_A2UI,p:1,wgpu:!1,bpp:4,renderbuffer:!0},"rgb16unorm-webgl":{gl:o.RGB16_EXT,b:2,c:3,f:"texture-formats-norm16-webgl",x:Je},"rgb16snorm-webgl":{gl:o.RGB16_SNORM_EXT,b:2,c:3,f:"texture-formats-norm16-webgl",x:Je},rg32uint:{gl:o.RG32UI,b:8,c:2,renderbuffer:!0},rg32sint:{gl:o.RG32I,b:8,c:2,renderbuffer:!0},rg32float:{gl:o.RG32F,b:8,c:2,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",renderbuffer:!0},rgba16uint:{gl:o.RGBA16UI,b:8,c:4,renderbuffer:!0},rgba16sint:{gl:o.RGBA16I,b:8,c:4,renderbuffer:!0},rgba16float:{gl:o.RGBA16F,gl1:o.RGBA,b:8,c:4,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},"rgba16unorm-webgl":{gl:o.RGBA16_EXT,b:2,c:4,f:"texture-formats-norm16-webgl",renderbuffer:!0,x:Je},"rgba16snorm-webgl":{gl:o.RGBA16_SNORM_EXT,b:2,c:4,f:"texture-formats-norm16-webgl",x:Je},"rgb32float-webgl":{gl:o.RGB32F,gl1:o.RGB,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",gl2ext:$_,gl1ext:G_,dataFormat:o.RGB,types:[o.FLOAT]},rgba32uint:{gl:o.RGBA32UI,b:16,c:4,renderbuffer:!0},rgba32sint:{gl:o.RGBA32I,b:16,c:4,renderbuffer:!0},rgba32float:{gl:o.RGBA32F,b:16,c:4,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",renderbuffer:!0},stencil8:{gl:o.STENCIL_INDEX8,gl1:o.STENCIL_INDEX8,b:1,c:1,attachment:o.STENCIL_ATTACHMENT,renderbuffer:!0},depth16unorm:{gl:o.DEPTH_COMPONENT16,gl1:o.DEPTH_COMPONENT16,b:2,c:1,attachment:o.DEPTH_ATTACHMENT,renderbuffer:!0},depth24plus:{gl:o.DEPTH_COMPONENT24,b:3,c:1,attachment:o.DEPTH_ATTACHMENT},depth32float:{gl:o.DEPTH_COMPONENT32F,b:4,c:1,attachment:o.DEPTH_ATTACHMENT,renderbuffer:!0},"depth24plus-stencil8":{gl:o.DEPTH_STENCIL,gl1:o.DEPTH_STENCIL,b:4,c:2,p:1,attachment:o.DEPTH_STENCIL_ATTACHMENT,renderbuffer:!0,depthTexture:!0},"depth24unorm-stencil8":{gl:o.DEPTH24_STENCIL8,b:4,c:2,p:1,attachment:o.DEPTH_STENCIL_ATTACHMENT,renderbuffer:!0},"depth32float-stencil8":{gl:o.DEPTH32F_STENCIL8,b:5,c:2,p:1,attachment:o.DEPTH_STENCIL_ATTACHMENT,renderbuffer:!0},"bc1-rgb-unorm-webgl":{gl:o.COMPRESSED_RGB_S3TC_DXT1_EXT,x:ar,f:ve},"bc1-rgb-unorm-srgb-webgl":{gl:o.COMPRESSED_SRGB_S3TC_DXT1_EXT,x:or,f:ve},"bc1-rgba-unorm":{gl:o.COMPRESSED_RGBA_S3TC_DXT1_EXT,x:ar,f:ve},"bc1-rgba-unorm-srgb":{gl:o.COMPRESSED_SRGB_S3TC_DXT1_EXT,x:or,f:ve},"bc2-rgba-unorm":{gl:o.COMPRESSED_RGBA_S3TC_DXT3_EXT,x:ar,f:ve},"bc2-rgba-unorm-srgb":{gl:o.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,x:or,f:ve},"bc3-rgba-unorm":{gl:o.COMPRESSED_RGBA_S3TC_DXT5_EXT,x:ar,f:ve},"bc3-rgba-unorm-srgb":{gl:o.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,x:or,f:ve},"bc4-r-unorm":{gl:o.COMPRESSED_RED_RGTC1_EXT,x:Wt,f:ve},"bc4-r-snorm":{gl:o.COMPRESSED_SIGNED_RED_RGTC1_EXT,x:Wt,f:ve},"bc5-rg-unorm":{gl:o.COMPRESSED_RED_GREEN_RGTC2_EXT,x:Wt,f:ve},"bc5-rg-snorm":{gl:o.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,x:Wt,f:ve},"bc6h-rgb-ufloat":{gl:o.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT,x:sr,f:ve},"bc6h-rgb-float":{gl:o.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT,x:sr,f:ve},"bc7-rgba-unorm":{gl:o.COMPRESSED_RGBA_BPTC_UNORM_EXT,x:sr,f:ve},"bc7-rgba-unorm-srgb":{gl:o.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT,x:sr,f:ve},"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:Yr},"pvrtc-rgba4unorm-webgl":{gl:o.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,f:Yr},"pvrtc-rbg2unorm-webgl":{gl:o.COMPRESSED_RGB_PVRTC_2BPPV1_IMG,f:Yr},"pvrtc-rgba2unorm-webgl":{gl:o.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,f:Yr},"etc1-rbg-unorm-webgl":{gl:o.COMPRESSED_RGB_ETC1_WEBGL,f:k_},"atc-rgb-unorm-webgl":{gl:o.COMPRESSED_RGB_ATC_WEBGL,f:ui},"atc-rgba-unorm-webgl":{gl:o.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,f:ui},"atc-rgbai-unorm-webgl":{gl:o.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL,f:ui}},Z_=(ye={},c(ye,o.RED,1),c(ye,o.RED_INTEGER,1),c(ye,o.RG,2),c(ye,o.RG_INTEGER,2),c(ye,o.RGB,3),c(ye,o.RGB_INTEGER,3),c(ye,o.RGBA,4),c(ye,o.RGBA_INTEGER,4),c(ye,o.DEPTH_COMPONENT,1),c(ye,o.DEPTH_STENCIL,1),c(ye,o.ALPHA,1),c(ye,o.LUMINANCE,1),c(ye,o.LUMINANCE_ALPHA,2),ye),Q_=(ke={},c(ke,o.FLOAT,4),c(ke,o.UNSIGNED_INT,4),c(ke,o.INT,4),c(ke,o.UNSIGNED_SHORT,2),c(ke,o.SHORT,2),c(ke,o.HALF_FLOAT,2),c(ke,o.BYTE,1),c(ke,o.UNSIGNED_BYTE,1),ke);function ur(e,t){var r=fr(t),n=cr[r];if(!n||(Q(e)?n.gl===void 0:n.gl1===void 0))return!1;var i=n.x||Q(e)&&n.gl2ext||n.gl1ext;return i?Boolean(e.getExtension(i)):!0}function Vs(e,t){var r;return ur(e,t)&&((r=cr[t])===null||r===void 0?void 0:r.renderbuffer)}function fr(e){if(typeof e=="string")return e;var t=Object.entries(cr).find(function(r){var n=j(r,2),i=n[1];return i.gl===e||i.gl1===e});if(!t)throw new Error("Unknown texture format ".concat(e));return t[0]}function lr(e,t){var r=cr[e],n=t?r?.gl:r?.gl1;if(n===void 0)throw new Error("Unsupported texture format ".concat(e));return n}function js(e,t){var r=fr(t);if(!ur(e,r))return!1;try{var n=Mr(r);if(n.signed)return!1}catch{return!1}return r.endsWith("32float")?Boolean(e.getExtension("OES_texture_float_linear")):r.endsWith("16float")?Boolean(e.getExtension("OES_texture_half_float_linear")):!0}function Ks(e,t){var r=fr(t);return!(!ur(e,r)||typeof r=="number")}function zr(e,t){var r=fr(e),n=lr(r,t),i=Mr(r);return{format:n,dataFormat:J_(i.format,i.integer,i.normalized,n),type:li(i.dataType),compressed:i.compressed}}function Ys(e){var t=cr[e];if(!(t!=null&&t.attachment))throw new Error("".concat(e," is not a depth stencil format"));return t.attachment}function zs(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e.RGBA,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:o.RGBA,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:o.UNSIGNED_BYTE,i=null,a=null;try{i=e.createTexture(),e.bindTexture(o.TEXTURE_2D,i);var s=0,u=1,f=1,l=0,_=new Uint8Array([0,0,255,255]);e.texImage2D(e.TEXTURE_2D,s,t,u,f,l,r,n,_),a=e.createFramebuffer(),e.bindFramebuffer(o.FRAMEBUFFER,a),e.framebufferTexture2D(o.FRAMEBUFFER,o.COLOR_ATTACHMENT0,o.TEXTURE_2D,i,0);var E=e.checkFramebufferStatus(o.FRAMEBUFFER)===o.FRAMEBUFFER_COMPLETE;return e.bindTexture(o.TEXTURE_2D,null),E}finally{e.deleteTexture(i),e.deleteFramebuffer(a)}}function _r(e,t){var r=fr(e),n=zr(r,t),i=Z_[n.dataFormat]||4,a=Q_[n.type]||1;return i*a}function J_(e,t,r,n){if(n===o.RGBA||n===o.RGB)return n;switch(e){case"r":return t&&!r?o.RED_INTEGER:o.RED;case"rg":return t&&!r?o.RG_INTEGER:o.RG;case"rgb":return t&&!r?o.RGB_INTEGER:o.RGB;case"rgba":return t&&!r?o.RGBA_INTEGER:o.RGBA;default:return o.RGBA}}function li(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 eE(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=tE(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
266
266
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,u;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,u=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw u}}}}function tE(e,t){if(e){if(typeof e=="string")return Gs(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Gs(e,t)}}function Gs(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function $s(e){var t=rE(e),r=eE(ks(e)),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;t.add(i)}}catch(a){r.e(a)}finally{r.f()}return t}function rE(e){e.getExtension("EXT_color_buffer_float"),e.getExtension("WEBGL_color_buffer_float"),e.getExtension("EXT_float_blend");for(var t=new Set,r=0,n=Object.keys(qs);r<n.length;r++){var i=n[r];nE(e,i)&&t.add(i)}return t}function nE(e,t){var r=qs[t];if(!r)return!1;var n=r||[],i=j(n,2),a=i[0],s=i[1],u=Q(e)?s:a;if(typeof u=="boolean")return u;switch(t){case"texture-renderable-rgba32float-webgl":return Q(e)?Boolean(e.getExtension(u)):zs(e);case"glsl-derivatives":return Ei(e,u);case"glsl-frag-data":return Ei(e,u,{behavior:"require"});case"glsl-frag-depth":return Ei(e,u);default:return Boolean(e.getExtension(u))}}var _i={};function Ei(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!Hs(r))return!0;if(t in _i)return _i[t];var n=r.behavior||"enable",i="#extension GL_".concat(t," : ").concat(n,`
267
- void main(void) {}`),a=e.createShader(e.VERTEX_SHADER);if(!a)throw new Error("shader");e.shaderSource(a,i),e.compileShader(a);var s=e.getShaderParameter(a,e.COMPILE_STATUS);return e.deleteShader(a),_i[t]=s,s}var qs={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 Zs(e){var t=ti(e);return{maxTextureDimension1D:0,maxTextureDimension2D:e.getParameter(o.MAX_TEXTURE_SIZE),maxTextureDimension3D:t?t.getParameter(o.MAX_3D_TEXTURE_SIZE):0,maxTextureArrayLayers:t?t.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:t?t.getParameter(o.MAX_UNIFORM_BUFFER_BINDINGS):0,maxUniformBufferBindingSize:t?t.getParameter(o.MAX_UNIFORM_BLOCK_SIZE):0,maxStorageBufferBindingSize:0,minUniformBufferOffsetAlignment:t?t.getParameter(o.UNIFORM_BUFFER_OFFSET_ALIGNMENT):0,minStorageBufferOffsetAlignment:0,maxVertexBuffers:0,maxVertexAttributes:e.getParameter(o.MAX_VERTEX_ATTRIBS),maxVertexBufferArrayStride:2048,maxInterStageShaderComponents:t?t.getParameter(o.MAX_VARYING_COMPONENTS):0,maxComputeWorkgroupStorageSize:0,maxComputeInvocationsPerWorkgroup:0,maxComputeWorkgroupSizeX:0,maxComputeWorkgroupSizeY:0,maxComputeWorkgroupSizeZ:0,maxComputeWorkgroupsPerDimension:0}}function Qs(e){var t,r=ti(e);function n(a){return e.getParameter(a)}function i(a,s){return r?r.getParameter(a):s||0}return t={},c(t,o.ALIASED_LINE_WIDTH_RANGE,n(o.ALIASED_LINE_WIDTH_RANGE)),c(t,o.ALIASED_POINT_SIZE_RANGE,n(o.ALIASED_POINT_SIZE_RANGE)),c(t,o.MAX_TEXTURE_SIZE,n(o.MAX_TEXTURE_SIZE)),c(t,o.MAX_CUBE_MAP_TEXTURE_SIZE,n(o.MAX_CUBE_MAP_TEXTURE_SIZE)),c(t,o.MAX_TEXTURE_IMAGE_UNITS,n(o.MAX_TEXTURE_IMAGE_UNITS)),c(t,o.MAX_COMBINED_TEXTURE_IMAGE_UNITS,n(o.MAX_COMBINED_TEXTURE_IMAGE_UNITS)),c(t,o.MAX_VERTEX_TEXTURE_IMAGE_UNITS,n(o.MAX_VERTEX_TEXTURE_IMAGE_UNITS)),c(t,o.MAX_RENDERBUFFER_SIZE,n(o.MAX_RENDERBUFFER_SIZE)),c(t,o.MAX_VARYING_VECTORS,n(o.MAX_VARYING_VECTORS)),c(t,o.MAX_VERTEX_ATTRIBS,n(o.MAX_VERTEX_ATTRIBS)),c(t,o.MAX_VERTEX_UNIFORM_VECTORS,n(o.MAX_VERTEX_UNIFORM_VECTORS)),c(t,o.MAX_FRAGMENT_UNIFORM_VECTORS,n(o.MAX_FRAGMENT_UNIFORM_VECTORS)),c(t,o.MAX_VIEWPORT_DIMS,n(o.MAX_VIEWPORT_DIMS)),c(t,o.MAX_TEXTURE_MAX_ANISOTROPY_EXT,n(o.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),c(t,o.MAX_3D_TEXTURE_SIZE,i(o.MAX_3D_TEXTURE_SIZE)),c(t,o.MAX_ARRAY_TEXTURE_LAYERS,i(o.MAX_ARRAY_TEXTURE_LAYERS)),c(t,o.MAX_CLIENT_WAIT_TIMEOUT_WEBGL,i(o.MAX_CLIENT_WAIT_TIMEOUT_WEBGL)),c(t,o.MAX_COLOR_ATTACHMENTS,i(o.MAX_COLOR_ATTACHMENTS)),c(t,o.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,i(o.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS)),c(t,o.MAX_COMBINED_UNIFORM_BLOCKS,i(o.MAX_COMBINED_UNIFORM_BLOCKS)),c(t,o.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,i(o.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS)),c(t,o.MAX_DRAW_BUFFERS,i(o.MAX_DRAW_BUFFERS)),c(t,o.MAX_ELEMENT_INDEX,i(o.MAX_ELEMENT_INDEX)),c(t,o.MAX_ELEMENTS_INDICES,i(o.MAX_ELEMENTS_INDICES)),c(t,o.MAX_ELEMENTS_VERTICES,i(o.MAX_ELEMENTS_VERTICES)),c(t,o.MAX_FRAGMENT_INPUT_COMPONENTS,i(o.MAX_FRAGMENT_INPUT_COMPONENTS)),c(t,o.MAX_FRAGMENT_UNIFORM_BLOCKS,i(o.MAX_FRAGMENT_UNIFORM_BLOCKS)),c(t,o.MAX_FRAGMENT_UNIFORM_COMPONENTS,i(o.MAX_FRAGMENT_UNIFORM_COMPONENTS)),c(t,o.MAX_SAMPLES,i(o.MAX_SAMPLES)),c(t,o.MAX_SERVER_WAIT_TIMEOUT,i(o.MAX_SERVER_WAIT_TIMEOUT)),c(t,o.MAX_TEXTURE_LOD_BIAS,i(o.MAX_TEXTURE_LOD_BIAS)),c(t,o.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,i(o.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS)),c(t,o.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,i(o.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS)),c(t,o.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,i(o.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS)),c(t,o.MAX_UNIFORM_BLOCK_SIZE,i(o.MAX_UNIFORM_BLOCK_SIZE)),c(t,o.MAX_UNIFORM_BUFFER_BINDINGS,i(o.MAX_UNIFORM_BUFFER_BINDINGS)),c(t,o.MAX_VARYING_COMPONENTS,i(o.MAX_VARYING_COMPONENTS)),c(t,o.MAX_VERTEX_OUTPUT_COMPONENTS,i(o.MAX_VERTEX_OUTPUT_COMPONENTS)),c(t,o.MAX_VERTEX_UNIFORM_BLOCKS,i(o.MAX_VERTEX_UNIFORM_BLOCKS)),c(t,o.MAX_VERTEX_UNIFORM_COMPONENTS,i(o.MAX_VERTEX_UNIFORM_COMPONENTS)),c(t,o.MIN_PROGRAM_TEXEL_OFFSET,i(o.MIN_PROGRAM_TEXEL_OFFSET)),c(t,o.MAX_PROGRAM_TEXEL_OFFSET,i(o.MAX_PROGRAM_TEXEL_OFFSET)),c(t,o.UNIFORM_BUFFER_OFFSET_ALIGNMENT,i(o.UNIFORM_BUFFER_OFFSET_ALIGNMENT)),t}function pi(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&(e=y(e),e!==null););return e}function ot(){return typeof Reflect<"u"&&Reflect.get?ot=Reflect.get.bind():ot=function(t,r,n){var i=pi(t,r);if(i){var a=Object.getOwnPropertyDescriptor(i,r);return a.get?a.get.call(arguments.length<3?t:n):a.value}},ot.apply(this,arguments)}var Ai=Be(Fe(),1);function st(e,t,r){var n=Re.attach(e),i=n.gl;if(iE(t))return r(e);var a=t.nocatch,s=a===void 0?!0:a;Rt(i),Xt(i,t);var u;if(s)u=r(i),at(i);else try{u=r(i)}finally{at(i)}return u}function iE(e){for(var t in e)return!1;return!0}function Js(e,t,r){if(bt(t))return r(e);Rt(e.gl);try{return Xt(e,t),r(e)}finally{at(e.gl)}}function ec(e,t,r){if(bt(t))return r(e);Rt(e.gl);try{return aE(e,t),r(e)}finally{at(e.gl)}}function aE(e,t){var r=Re.attach(e),n=r.gl;if(t.cullMode)switch(t.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(t.frontFace&&n.frontFace(hi("frontFace",t.frontFace,{ccw:o.CCW,cw:o.CW})),t.depthBias!==void 0&&n.polygonOffset(t.depthBias,t.depthBiasSlopeScale||0),t.depthWriteEnabled!==void 0&&n.depthMask(sE("depthWriteEnabled",t.depthWriteEnabled)),t.depthCompare&&(t.depthCompare!=="always"?n.enable(o.DEPTH_TEST):n.disable(o.DEPTH_TEST),n.depthFunc(Gr("depthCompare",t.depthCompare))),t.stencilWriteMask){var i=t.stencilWriteMask;n.stencilMaskSeparate(o.FRONT,i),n.stencilMaskSeparate(o.BACK,i)}if(t.stencilReadMask&&W.warn("stencilReadMask not supported under WebGL"),t.stencilCompare){var a=t.stencilReadMask||4294967295,s=Gr("depthCompare",t.stencilCompare);t.stencilCompare!=="always"?n.enable(o.STENCIL_TEST):n.disable(o.STENCIL_TEST),n.stencilFuncSeparate(o.FRONT,s,0,a),n.stencilFuncSeparate(o.BACK,s,0,a)}if(t.stencilPassOperation&&t.stencilFailOperation&&t.stencilDepthFailOperation){var u=di("stencilPassOperation",t.stencilPassOperation),f=di("stencilFailOperation",t.stencilFailOperation),l=di("stencilDepthFailOperation",t.stencilDepthFailOperation);n.stencilOpSeparate(o.FRONT,f,l,u),n.stencilOpSeparate(o.BACK,f,l,u)}}function Gr(e,t){return hi(e,t,{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 di(e,t){return hi(e,t,{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 oE(e,t){return"Illegal parameter ".concat(t," for ").concat(e)}function hi(e,t,r){if(!(t in r))throw new Error(oE(e,t));return r[t]}function sE(e,t){return t}function tc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function cE(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?tc(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):tc(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function $r(e){var t={};return e.addressModeU&&(t[o.TEXTURE_WRAP_S]=mi(e.addressModeU)),e.addressModeV&&(t[o.TEXTURE_WRAP_T]=mi(e.addressModeV)),e.addressModeW&&(t[o.TEXTURE_WRAP_R]=mi(e.addressModeW)),e.magFilter&&(t[o.TEXTURE_MAG_FILTER]=rc(e.magFilter)),(e.minFilter||e.mipmapFilter)&&(t[o.TEXTURE_MIN_FILTER]=uE(e.minFilter||"linear",e.mipmapFilter)),e.lodMinClamp!==void 0&&(t[o.TEXTURE_MIN_LOD]=e.lodMinClamp),e.lodMaxClamp!==void 0&&(t[o.TEXTURE_MAX_LOD]=e.lodMaxClamp),e.type==="comparison-sampler"&&(t[o.TEXTURE_COMPARE_MODE]=o.COMPARE_REF_TO_TEXTURE),e.compare&&(t[o.TEXTURE_COMPARE_FUNC]=Gr("compare",e.compare)),e.maxAnisotropy&&(t[o.TEXTURE_MAX_ANISOTROPY_EXT]=e.maxAnisotropy),t}function mi(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 rc(e){switch(e){case"nearest":return o.NEAREST;case"linear":return o.LINEAR}}function uE(e,t){if(!t)return rc(e);switch(e){case"nearest":return t==="nearest"?o.NEAREST_MIPMAP_NEAREST:o.NEAREST_MIPMAP_LINEAR;case"linear":return t==="nearest"?o.LINEAR_MIPMAP_NEAREST:o.LINEAR_MIPMAP_LINEAR}}function nc(e){var t=cE({},e);return e[o.TEXTURE_MIN_FILTER]!==o.NEAREST&&(t[o.TEXTURE_MIN_FILTER]=o.LINEAR),t[o.TEXTURE_WRAP_S]=o.CLAMP_TO_EDGE,t[o.TEXTURE_WRAP_T]=o.CLAMP_TO_EDGE,t}var Ri=Be(Fe(),1);function ic(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ac(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ic(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ic(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function fE(e){var t=lE();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function lE(){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 _E=10,je=function(e){L(r,e);var t=fE(r);function r(n){var i,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};b(this,r),i=t.call(this,n,a),c(g(i),"device",void 0),c(g(i),"gl",void 0),c(g(i),"gl2",void 0),c(g(i),"handle",void 0),c(g(i),"target",void 0),c(g(i),"byteLength",void 0),c(g(i),"bytesUsed",void 0),c(g(i),"debugData",null),c(g(i),"webglUsage",void 0),i.device=n,i.gl=i.device.gl,i.gl2=i.device.gl2;var s=pe(a)==="object"?a.handle:void 0;return i.handle=s||i.gl.createBuffer(),n.setSpectorMetadata(i.handle,ac(ac({},i.props),{},{data:pe(i.props.data)})),i.target=i.props.target||EE(i.props.usage),i.webglUsage=i.props.webglUsage||pE(i.props.usage),i.debugData=null,a.data?i._initWithData(a.data,a.byteOffset,a.byteLength):i._initWithByteLength(a.byteLength||0),i}return C(r,[{key:"_initWithData",value:function(i){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:i.byteLength+a;V(ArrayBuffer.isView(i));var u=this._getWriteTarget();return this.gl.bindBuffer(u,this.handle),this.gl.bufferData(u,s,this.webglUsage),this.gl.bufferSubData(u,a,i),this.gl.bindBuffer(u,null),this.debugData=i.slice(0,_E),this.bytesUsed=s,this.byteLength=s,this.trackAllocatedMemory(s),this}},{key:"_initWithByteLength",value:function(i){V(i>=0);var a=i;i===0&&(a=new Float32Array(0));var s=this._getWriteTarget();return this.gl.bindBuffer(s,this.handle),this.gl.bufferData(s,a,this.webglUsage),this.gl.bindBuffer(s,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,this.handle=null)}},{key:"write",value:function(i){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,s=0,u=void 0,f=this.device.isWebGL2?o.COPY_WRITE_BUFFER:this.target;this.gl.bindBuffer(f,this.handle),s!==0||u!==void 0?(this.device.assertWebGL2(),this.gl2.bufferSubData(f,a,i,s,u)):this.gl.bufferSubData(f,a,i),this.gl.bindBuffer(f,null)}},{key:"readAsync",value:function(){var n=re(Ri.default.mark(function a(){var s,u,f,l,_=arguments;return Ri.default.wrap(function(p){for(;;)switch(p.prev=p.next){case 0:return s=_.length>0&&_[0]!==void 0?_[0]:0,u=_.length>1?_[1]:void 0,this.device.assertWebGL2(),f=new Uint8Array(u),l=0,this.gl.bindBuffer(o.COPY_READ_BUFFER,this.handle),this.gl2.getBufferSubData(o.COPY_READ_BUFFER,s,f,l,u),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}}]),r}(ce);function EE(e){return e&ce.INDEX?o.ELEMENT_ARRAY_BUFFER:e&ce.VERTEX?o.ARRAY_BUFFER:e&ce.UNIFORM?o.UNIFORM_BUFFER:o.ARRAY_BUFFER}function pE(e){return e&ce.INDEX?o.STATIC_DRAW:e&ce.VERTEX?o.STATIC_DRAW:e&ce.UNIFORM?o.DYNAMIC_DRAW:o.DYNAMIC_DRAW}function dE(e){var t=hE();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function hE(){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 Er=function(e){L(r,e);var t=dE(r);function r(n,i){var a;return b(this,r),a=t.call(this,n,i),c(g(a),"device",void 0),c(g(a),"handle",void 0),c(g(a),"parameters",void 0),a.device=n,a.parameters=$r(i),a.device.isWebGL2&&(a.handle=a.handle||a.device.gl2.createSampler(),a._setSamplerParameters(a.parameters)),a}return C(r,[{key:"destroy",value:function(){this.handle&&(this.device.gl2.deleteSampler(this.handle),this.handle=void 0)}},{key:"toString",value:function(){return"Sampler(".concat(this.id,",").concat(JSON.stringify(this.props),")")}},{key:"_setSamplerParameters",value:function(i){for(var a=0,s=Object.entries(i);a<s.length;a++){var u=j(s[a],2),f=u[0],l=u[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}}}}]),r}(On);function RE(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=AE(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
268
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,u;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,u=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw u}}}}function AE(e,t){if(e){if(typeof e=="string")return oc(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return oc(e,t)}}function oc(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function sc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function qr(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?sc(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):sc(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function TE(e){var t=vE();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function vE(){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 gE={parameters:{},pixelStore:{},pixels:null,border:0,dataFormat:void 0,textureUnit:void 0,target:void 0},Ke=function(e){L(r,e);var t=TE(r);function r(n,i){var a,s;return b(this,r),s=t.call(this,n,qr(qr({},gE),{},{format:"rgba8unorm"},i)),c(g(s),"MAX_ATTRIBUTES",void 0),c(g(s),"device",void 0),c(g(s),"gl",void 0),c(g(s),"gl2",void 0),c(g(s),"handle",void 0),c(g(s),"sampler",void 0),c(g(s),"glFormat",void 0),c(g(s),"type",void 0),c(g(s),"dataFormat",void 0),c(g(s),"mipmaps",void 0),c(g(s),"target",void 0),c(g(s),"textureUnit",void 0),c(g(s),"loaded",!1),c(g(s),"_video",void 0),s.device=n,s.gl=s.device.gl,s.gl2=s.device.gl2,s.handle=s.props.handle||s.gl.createTexture(),s.device.setSpectorMetadata(s.handle,qr(qr({},s.props),{},{data:pe(s.props.data)})),s.glFormat=o.RGBA,s.target=SE(s.props),s.loaded=!1,typeof((a=s.props)===null||a===void 0?void 0:a.data)=="string"&&Object.assign(s.props,{data:Dn(s.props.data)}),s.initialize(s.props),Object.seal(g(s)),s}return C(r,[{key:"destroy",value:function(){this.handle&&(this.gl.deleteTexture(this.handle),this.removeStats(),this.trackDeallocatedMemory("Texture"),this.destroyed=!0)}},{key:"toString",value:function(){return"Texture(".concat(this.id,",").concat(this.width,"x").concat(this.height,")")}},{key:"initialize",value:function(){var i=this,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(this.props.dimension==="cube")return this.initializeCube(a);var s=a.data;if(s instanceof Promise)return s.then(function(O){return i.initialize(Object.assign({},a,{pixels:O,data:O}))}),this;var u=typeof HTMLVideoElement<"u"&&s instanceof HTMLVideoElement;if(u&&s.readyState<HTMLVideoElement.HAVE_METADATA)return this._video=null,s.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.pixelStore,d=p===void 0?{}:p,h=a.textureUnit,m=h===void 0?void 0:h;s||(s=E);var R=a.width,T=a.height,I=a.dataFormat,v=a.type,N=a.compressed,M=N===void 0?!1:N,F=a.mipmaps,D=F===void 0?!0:F,K=a.depth,H=K===void 0?0:K,Y=lr(a.format,this.device.isWebGL2),w=this._deduceParameters({format:a.format,type:v,dataFormat:I,compressed:M,data:s,width:R,height:T});return R=w.width,T=w.height,M=w.compressed,I=w.dataFormat,v=w.type,this.width=R,this.height=T,this.glFormat=Y,this.type=v,this.dataFormat=I,this.textureUnit=m,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(o.TEXTURE0+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),D&&this.device.isWebGL1&&Zr(this.width,this.height)&&(W.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaps"))(),D=!1),this.mipmaps=D,this.setImageData({data:s,width:R,height:T,depth:H,format:Y,type:v,dataFormat:I,parameters:d,compressed:M}),this.setSampler(a.sampler),this._setSamplerParameters(l),D&&this.generateMipmap(),u&&(this._video={video:s,parameters:l,lastTime:s.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?s.currentTime:-1}),this}},{key:"initializeCube",value:function(i){var a=this,s=i.mipmaps,u=s===void 0?!0:s,f=i.parameters,l=f===void 0?{}:f;return this.setCubeMapImageData(i).then(function(){a.loaded=!0,u&&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 Er?(this.sampler=i,a=i.props):(this.sampler=new Er(this.device,i),a=i);var s=$r(a);return this._setSamplerParameters(s),this}},{key:"resize",value:function(i){var a=i.height,s=i.width,u=i.mipmaps,f=u===void 0?!1:u;return s!==this.width||a!==this.height?this.initialize({width:s,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,s=i.parameters,u=i.lastTime;if(u===a.currentTime||a.readyState<HTMLVideoElement.HAVE_CURRENT_DATA)return;this.setSubImageData({data:a,parameters:s}),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&&Zr(this.width,this.height)?(W.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaping"))(),this):(this.mipmaps=!0,this.gl.bindTexture(this.target,this.handle),st(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"||this.props.dimension==="2d-array")return this.setImageData3D(i);this.trackDeallocatedMemory("Texture");var s=i.target,u=s===void 0?this.target:s,f=i.pixels,l=f===void 0?null:f,_=i.level,E=_===void 0?0:_,p=i.glFormat,d=p===void 0?this.glFormat:p,h=i.offset,m=h===void 0?0:h,R=i.parameters,T=R===void 0?{}:R,I=i.data,v=I===void 0?null:I,N=i.type,M=N===void 0?this.type:N,F=i.width,D=F===void 0?this.width:F,K=i.height,H=K===void 0?this.height:K,Y=i.dataFormat,w=Y===void 0?this.dataFormat:Y,O=i.compressed,A=O===void 0?!1:O;v||(v=l);var S=this._deduceParameters({format:this.props.format,type:M,dataFormat:w,compressed:A,data:v,width:D,height:H});M=S.type,w=S.dataFormat,A=S.compressed,D=S.width,H=S.height;var x=this.gl;x.bindTexture(this.target,this.handle);var k=null,U=this._getDataType({data:v,compressed:A});v=U.data,k=U.dataType;var G;if(st(this.gl,T,function(){switch(k){case"null":x.texImage2D(u,E,d,D,H,0,w,M,v);break;case"typed-array":x.texImage2D(u,E,d,D,H,0,w,M,v,m);break;case"buffer":G=a.device.assertWebGL2(),G.bindBuffer(o.PIXEL_UNPACK_BUFFER,v.handle||v),G.texImage2D(u,E,d,D,H,0,w,M,m),G.bindBuffer(o.PIXEL_UNPACK_BUFFER,null);break;case"browser-object":a.device.isWebGL2?x.texImage2D(u,E,d,D,H,0,w,M,v):x.texImage2D(u,E,d,w,M,v);break;case"compressed":var $=RE(v.entries()),J;try{for($.s();!(J=$.n()).done;){var Z=j(J.value,2),ue=Z[0],ge=Z[1];x.compressedTexImage2D(u,ue,ge.format,ge.width,ge.height,0,ge.data)}}catch(Ce){$.e(Ce)}finally{$.f()}break;default:V(!1,"Unknown image data type")}}),v&&v.byteLength)this.trackAllocatedMemory(v.byteLength,"Texture");else{var z=_r(this.props.format,this.device.isWebGL2);this.trackAllocatedMemory(this.width*this.height*z,"Texture")}return this.loaded=!0,this}},{key:"setSubImageData",value:function(i){var a=this,s=i.target,u=s===void 0?this.target:s,f=i.pixels,l=f===void 0?null:f,_=i.data,E=_===void 0?null:_,p=i.x,d=p===void 0?0:p,h=i.y,m=h===void 0?0:h,R=i.width,T=R===void 0?this.width:R,I=i.height,v=I===void 0?this.height:I,N=i.level,M=N===void 0?0:N,F=i.glFormat,D=F===void 0?this.glFormat:F,K=i.type,H=K===void 0?this.type:K,Y=i.dataFormat,w=Y===void 0?this.dataFormat:Y,O=i.compressed,A=O===void 0?!1:O,S=i.offset,x=S===void 0?0:S,k=i.parameters,U=k===void 0?{}:k,G=this._deduceParameters({format:this.props.format,type:H,dataFormat:w,compressed:A,data:E,width:T,height:v});if(H=G.type,w=G.dataFormat,A=G.compressed,T=G.width,v=G.height,V(this.depth===1,"texSubImage not supported for 3D textures"),E||(E=l),E&&E.data){var z=E;E=z.data,T=z.shape[0],v=z.shape[1]}E instanceof je&&(E=E.handle),this.gl.bindTexture(this.target,this.handle),st(this.gl,U,function(){if(A)a.gl.compressedTexSubImage2D(u,M,d,m,T,v,D,E);else if(E===null)a.gl.texSubImage2D(u,M,d,m,T,v,w,H,null);else if(ArrayBuffer.isView(E))a.gl.texSubImage2D(u,M,d,m,T,v,w,H,E,x);else if(typeof WebGLBuffer<"u"&&E instanceof WebGLBuffer){var $=a.device.assertWebGL2();$.bindBuffer(o.PIXEL_UNPACK_BUFFER,E),$.texSubImage2D(u,M,d,m,T,v,w,H,x),$.bindBuffer(o.PIXEL_UNPACK_BUFFER,null)}else if(a.device.isWebGL2){var J=a.device.assertWebGL2();J.texSubImage2D(u,M,d,m,T,v,w,H,E)}else a.gl.texSubImage2D(u,M,d,m,w,H,E)}),this.gl.bindTexture(this.target,null)}},{key:"copyFramebuffer",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return W.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,s=i.compressed,u=s===void 0?!1:s;return u?{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,s=i.data,u=i.width,f=i.height,l=i.dataFormat,_=i.type,E=i.compressed,p=zr(a,this.device.isWebGL2);l=l||p.dataFormat,_=_||p.type,E=E||p.compressed;var d=this._deduceImageSize(s,u,f);return u=d.width,f=d.height,{dataFormat:l,type:_,compressed:E,width:u,height:f,format:a,data:s}}},{key:"_deduceImageSize",value:function(i,a,s){var u;return typeof ImageData<"u"&&i instanceof ImageData?u={width:i.width,height:i.height}:typeof HTMLImageElement<"u"&&i instanceof HTMLImageElement?u={width:i.naturalWidth,height:i.naturalHeight}:typeof HTMLCanvasElement<"u"&&i instanceof HTMLCanvasElement?u={width:i.width,height:i.height}:typeof ImageBitmap<"u"&&i instanceof ImageBitmap?u={width:i.width,height:i.height}:typeof HTMLVideoElement<"u"&&i instanceof HTMLVideoElement?u={width:i.videoWidth,height:i.videoHeight}:i?u={width:a,height:s}:u={width:a>=0?a:1,height:s>=0?s:1},V(u,"Could not deduced texture size"),V(a===void 0||u.width===a,"Deduced texture width does not match supplied width"),V(s===void 0||u.height===s,"Deduced texture height does not match supplied height"),u}},{key:"setCubeMapImageData",value:function(){var n=re(Ai.default.mark(function a(s){var u=this,f,l,_,E,p,d,h,m,R,T,I;return Ai.default.wrap(function(N){for(;;)switch(N.prev=N.next){case 0:return f=this.gl,l=s.width,_=s.height,E=s.pixels,p=s.data,d=s.format,h=d===void 0?o.RGBA:d,m=s.type,R=m===void 0?o.UNSIGNED_BYTE:m,T=E||p,N.next=5,Promise.all(r.FACES.map(function(M){var F=T[M];return Promise.all(Array.isArray(F)?F:[F])}));case 5:I=N.sent,this.bind(),r.FACES.forEach(function(M,F){I[F].length>1&&u.props.mipmaps!==!1&&W.warn("".concat(u.id," has mipmap and multiple LODs."))(),I[F].forEach(function(D,K){l&&_?f.texImage2D(M,K,h,l,_,0,h,R,D):f.texImage2D(M,K,h,h,R,D)})}),this.unbind();case 9:case"end":return N.stop()}},a,this)}));function i(a){return n.apply(this,arguments)}return i}()},{key:"setImageDataForFace",value:function(i){var a=this,s=i.face,u=i.width,f=i.height,l=i.pixels,_=i.data,E=i.format,p=E===void 0?o.RGBA:E,d=i.type,h=d===void 0?o.UNSIGNED_BYTE:d,m=this.gl,R=l||_;return this.bind(),R instanceof Promise?R.then(function(T){return a.setImageDataForFace(Object.assign({},i,{face:s,data:T,pixels:T}))}):this.width||this.height?m.texImage2D(s,0,p,u,f,0,p,h,R):m.texImage2D(s,0,p,p,h,R),this}},{key:"setImageData3D",value:function(i){var a=this,s=i.level,u=s===void 0?0:s,f=i.dataFormat,l=i.format,_=i.type,E=i.width,p=i.height,d=i.depth,h=d===void 0?1:d,m=i.offset,R=m===void 0?0:m,T=i.data,I=i.parameters,v=I===void 0?{}:I;this.trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle);var N=zr(l,this.device.isWebGL2);if(st(this.gl,v,function(){ArrayBuffer.isView(T)&&a.gl.texImage3D(a.target,u,N.format,E,p,h,0,N.dataFormat,N.type,T),T instanceof je&&(a.gl.bindBuffer(o.PIXEL_UNPACK_BUFFER,T.handle),a.gl.texImage3D(a.target,u,f,E,p,h,0,l,_,R))}),T&&T.byteLength)this.trackAllocatedMemory(T.byteLength,"Texture");else{var M=_r(this.props.format,this.device.isWebGL2);this.trackAllocatedMemory(this.width*this.height*this.depth*M,"Texture")}return this.loaded=!0,this}},{key:"_setSamplerParameters",value:function(i){if(this.device.isWebGL1&&Zr(this.width,this.height)&&(i=nc(i)),!bt(i)){OE(i),this.gl.bindTexture(this.target,this.handle);for(var a=0,s=Object.entries(i);a<s.length;a++){var u=j(s[a],2),f=u[0],l=u[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 s=this.device.isWebGL1&&Zr(this.width,this.height);if(s)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}}]),r}(Ne);c(Ke,"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 SE(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 Zr(e,t){return!e||!t?!1:!yr(e)||!yr(t)}function OE(e){W.log(1,"texture sampler parameters",e)()}function Qr(e,t){if(typeof t!="string")return t;var r=Number(t);if(!isNaN(r))return r;t=t.replace(/^.*\./,"");var n=e[t];return V(n!==void 0,"Accessing undefined constant GL.".concat(t)),n}function yE(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=bE(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
267
+ void main(void) {}`),a=e.createShader(e.VERTEX_SHADER);if(!a)throw new Error("shader");e.shaderSource(a,i),e.compileShader(a);var s=e.getShaderParameter(a,e.COMPILE_STATUS);return e.deleteShader(a),_i[t]=s,s}var qs={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 Zs(e){var t=ti(e);return{maxTextureDimension1D:0,maxTextureDimension2D:e.getParameter(o.MAX_TEXTURE_SIZE),maxTextureDimension3D:t?t.getParameter(o.MAX_3D_TEXTURE_SIZE):0,maxTextureArrayLayers:t?t.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:t?t.getParameter(o.MAX_UNIFORM_BUFFER_BINDINGS):0,maxUniformBufferBindingSize:t?t.getParameter(o.MAX_UNIFORM_BLOCK_SIZE):0,maxStorageBufferBindingSize:0,minUniformBufferOffsetAlignment:t?t.getParameter(o.UNIFORM_BUFFER_OFFSET_ALIGNMENT):0,minStorageBufferOffsetAlignment:0,maxVertexBuffers:0,maxVertexAttributes:e.getParameter(o.MAX_VERTEX_ATTRIBS),maxVertexBufferArrayStride:2048,maxInterStageShaderComponents:t?t.getParameter(o.MAX_VARYING_COMPONENTS):0,maxComputeWorkgroupStorageSize:0,maxComputeInvocationsPerWorkgroup:0,maxComputeWorkgroupSizeX:0,maxComputeWorkgroupSizeY:0,maxComputeWorkgroupSizeZ:0,maxComputeWorkgroupsPerDimension:0}}function Qs(e){var t,r=ti(e);function n(a){return e.getParameter(a)}function i(a,s){return r?r.getParameter(a):s||0}return t={},c(t,o.ALIASED_LINE_WIDTH_RANGE,n(o.ALIASED_LINE_WIDTH_RANGE)),c(t,o.ALIASED_POINT_SIZE_RANGE,n(o.ALIASED_POINT_SIZE_RANGE)),c(t,o.MAX_TEXTURE_SIZE,n(o.MAX_TEXTURE_SIZE)),c(t,o.MAX_CUBE_MAP_TEXTURE_SIZE,n(o.MAX_CUBE_MAP_TEXTURE_SIZE)),c(t,o.MAX_TEXTURE_IMAGE_UNITS,n(o.MAX_TEXTURE_IMAGE_UNITS)),c(t,o.MAX_COMBINED_TEXTURE_IMAGE_UNITS,n(o.MAX_COMBINED_TEXTURE_IMAGE_UNITS)),c(t,o.MAX_VERTEX_TEXTURE_IMAGE_UNITS,n(o.MAX_VERTEX_TEXTURE_IMAGE_UNITS)),c(t,o.MAX_RENDERBUFFER_SIZE,n(o.MAX_RENDERBUFFER_SIZE)),c(t,o.MAX_VARYING_VECTORS,n(o.MAX_VARYING_VECTORS)),c(t,o.MAX_VERTEX_ATTRIBS,n(o.MAX_VERTEX_ATTRIBS)),c(t,o.MAX_VERTEX_UNIFORM_VECTORS,n(o.MAX_VERTEX_UNIFORM_VECTORS)),c(t,o.MAX_FRAGMENT_UNIFORM_VECTORS,n(o.MAX_FRAGMENT_UNIFORM_VECTORS)),c(t,o.MAX_VIEWPORT_DIMS,n(o.MAX_VIEWPORT_DIMS)),c(t,o.MAX_TEXTURE_MAX_ANISOTROPY_EXT,n(o.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),c(t,o.MAX_3D_TEXTURE_SIZE,i(o.MAX_3D_TEXTURE_SIZE)),c(t,o.MAX_ARRAY_TEXTURE_LAYERS,i(o.MAX_ARRAY_TEXTURE_LAYERS)),c(t,o.MAX_CLIENT_WAIT_TIMEOUT_WEBGL,i(o.MAX_CLIENT_WAIT_TIMEOUT_WEBGL)),c(t,o.MAX_COLOR_ATTACHMENTS,i(o.MAX_COLOR_ATTACHMENTS)),c(t,o.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,i(o.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS)),c(t,o.MAX_COMBINED_UNIFORM_BLOCKS,i(o.MAX_COMBINED_UNIFORM_BLOCKS)),c(t,o.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,i(o.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS)),c(t,o.MAX_DRAW_BUFFERS,i(o.MAX_DRAW_BUFFERS)),c(t,o.MAX_ELEMENT_INDEX,i(o.MAX_ELEMENT_INDEX)),c(t,o.MAX_ELEMENTS_INDICES,i(o.MAX_ELEMENTS_INDICES)),c(t,o.MAX_ELEMENTS_VERTICES,i(o.MAX_ELEMENTS_VERTICES)),c(t,o.MAX_FRAGMENT_INPUT_COMPONENTS,i(o.MAX_FRAGMENT_INPUT_COMPONENTS)),c(t,o.MAX_FRAGMENT_UNIFORM_BLOCKS,i(o.MAX_FRAGMENT_UNIFORM_BLOCKS)),c(t,o.MAX_FRAGMENT_UNIFORM_COMPONENTS,i(o.MAX_FRAGMENT_UNIFORM_COMPONENTS)),c(t,o.MAX_SAMPLES,i(o.MAX_SAMPLES)),c(t,o.MAX_SERVER_WAIT_TIMEOUT,i(o.MAX_SERVER_WAIT_TIMEOUT)),c(t,o.MAX_TEXTURE_LOD_BIAS,i(o.MAX_TEXTURE_LOD_BIAS)),c(t,o.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,i(o.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS)),c(t,o.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,i(o.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS)),c(t,o.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,i(o.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS)),c(t,o.MAX_UNIFORM_BLOCK_SIZE,i(o.MAX_UNIFORM_BLOCK_SIZE)),c(t,o.MAX_UNIFORM_BUFFER_BINDINGS,i(o.MAX_UNIFORM_BUFFER_BINDINGS)),c(t,o.MAX_VARYING_COMPONENTS,i(o.MAX_VARYING_COMPONENTS)),c(t,o.MAX_VERTEX_OUTPUT_COMPONENTS,i(o.MAX_VERTEX_OUTPUT_COMPONENTS)),c(t,o.MAX_VERTEX_UNIFORM_BLOCKS,i(o.MAX_VERTEX_UNIFORM_BLOCKS)),c(t,o.MAX_VERTEX_UNIFORM_COMPONENTS,i(o.MAX_VERTEX_UNIFORM_COMPONENTS)),c(t,o.MIN_PROGRAM_TEXEL_OFFSET,i(o.MIN_PROGRAM_TEXEL_OFFSET)),c(t,o.MAX_PROGRAM_TEXEL_OFFSET,i(o.MAX_PROGRAM_TEXEL_OFFSET)),c(t,o.UNIFORM_BUFFER_OFFSET_ALIGNMENT,i(o.UNIFORM_BUFFER_OFFSET_ALIGNMENT)),t}function pi(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&(e=y(e),e!==null););return e}function ot(){return typeof Reflect<"u"&&Reflect.get?ot=Reflect.get.bind():ot=function(t,r,n){var i=pi(t,r);if(i){var a=Object.getOwnPropertyDescriptor(i,r);return a.get?a.get.call(arguments.length<3?t:n):a.value}},ot.apply(this,arguments)}var Ai=Be(Fe(),1);function st(e,t,r){var n=Re.attach(e),i=n.gl;if(iE(t))return r(e);var a=t.nocatch,s=a===void 0?!0:a;At(i),Xt(i,t);var u;if(s)u=r(i),at(i);else try{u=r(i)}finally{at(i)}return u}function iE(e){for(var t in e)return!1;return!0}function Js(e,t,r){if(Ct(t))return r(e);At(e.gl);try{return Xt(e,t),r(e)}finally{at(e.gl)}}function ec(e,t,r){if(Ct(t))return r(e);At(e.gl);try{return aE(e,t),r(e)}finally{at(e.gl)}}function aE(e,t){var r=Re.attach(e),n=r.gl;if(t.cullMode)switch(t.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(t.frontFace&&n.frontFace(hi("frontFace",t.frontFace,{ccw:o.CCW,cw:o.CW})),t.depthBias!==void 0&&n.polygonOffset(t.depthBias,t.depthBiasSlopeScale||0),t.depthWriteEnabled!==void 0&&n.depthMask(sE("depthWriteEnabled",t.depthWriteEnabled)),t.depthCompare&&(t.depthCompare!=="always"?n.enable(o.DEPTH_TEST):n.disable(o.DEPTH_TEST),n.depthFunc(Gr("depthCompare",t.depthCompare))),t.stencilWriteMask){var i=t.stencilWriteMask;n.stencilMaskSeparate(o.FRONT,i),n.stencilMaskSeparate(o.BACK,i)}if(t.stencilReadMask&&W.warn("stencilReadMask not supported under WebGL"),t.stencilCompare){var a=t.stencilReadMask||4294967295,s=Gr("depthCompare",t.stencilCompare);t.stencilCompare!=="always"?n.enable(o.STENCIL_TEST):n.disable(o.STENCIL_TEST),n.stencilFuncSeparate(o.FRONT,s,0,a),n.stencilFuncSeparate(o.BACK,s,0,a)}if(t.stencilPassOperation&&t.stencilFailOperation&&t.stencilDepthFailOperation){var u=di("stencilPassOperation",t.stencilPassOperation),f=di("stencilFailOperation",t.stencilFailOperation),l=di("stencilDepthFailOperation",t.stencilDepthFailOperation);n.stencilOpSeparate(o.FRONT,f,l,u),n.stencilOpSeparate(o.BACK,f,l,u)}}function Gr(e,t){return hi(e,t,{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 di(e,t){return hi(e,t,{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 oE(e,t){return"Illegal parameter ".concat(t," for ").concat(e)}function hi(e,t,r){if(!(t in r))throw new Error(oE(e,t));return r[t]}function sE(e,t){return t}function tc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function cE(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?tc(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):tc(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function $r(e){var t={};return e.addressModeU&&(t[o.TEXTURE_WRAP_S]=mi(e.addressModeU)),e.addressModeV&&(t[o.TEXTURE_WRAP_T]=mi(e.addressModeV)),e.addressModeW&&(t[o.TEXTURE_WRAP_R]=mi(e.addressModeW)),e.magFilter&&(t[o.TEXTURE_MAG_FILTER]=rc(e.magFilter)),(e.minFilter||e.mipmapFilter)&&(t[o.TEXTURE_MIN_FILTER]=uE(e.minFilter||"linear",e.mipmapFilter)),e.lodMinClamp!==void 0&&(t[o.TEXTURE_MIN_LOD]=e.lodMinClamp),e.lodMaxClamp!==void 0&&(t[o.TEXTURE_MAX_LOD]=e.lodMaxClamp),e.type==="comparison-sampler"&&(t[o.TEXTURE_COMPARE_MODE]=o.COMPARE_REF_TO_TEXTURE),e.compare&&(t[o.TEXTURE_COMPARE_FUNC]=Gr("compare",e.compare)),e.maxAnisotropy&&(t[o.TEXTURE_MAX_ANISOTROPY_EXT]=e.maxAnisotropy),t}function mi(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 rc(e){switch(e){case"nearest":return o.NEAREST;case"linear":return o.LINEAR}}function uE(e,t){if(!t)return rc(e);switch(e){case"nearest":return t==="nearest"?o.NEAREST_MIPMAP_NEAREST:o.NEAREST_MIPMAP_LINEAR;case"linear":return t==="nearest"?o.LINEAR_MIPMAP_NEAREST:o.LINEAR_MIPMAP_LINEAR}}function nc(e){var t=cE({},e);return e[o.TEXTURE_MIN_FILTER]!==o.NEAREST&&(t[o.TEXTURE_MIN_FILTER]=o.LINEAR),t[o.TEXTURE_WRAP_S]=o.CLAMP_TO_EDGE,t[o.TEXTURE_WRAP_T]=o.CLAMP_TO_EDGE,t}var Ri=Be(Fe(),1);function ic(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ac(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ic(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ic(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function fE(e){var t=lE();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function lE(){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 _E=10,je=function(e){L(r,e);var t=fE(r);function r(n){var i,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};b(this,r),i=t.call(this,n,a),c(g(i),"device",void 0),c(g(i),"gl",void 0),c(g(i),"gl2",void 0),c(g(i),"handle",void 0),c(g(i),"target",void 0),c(g(i),"byteLength",void 0),c(g(i),"bytesUsed",void 0),c(g(i),"debugData",null),c(g(i),"webglUsage",void 0),i.device=n,i.gl=i.device.gl,i.gl2=i.device.gl2;var s=pe(a)==="object"?a.handle:void 0;return i.handle=s||i.gl.createBuffer(),n.setSpectorMetadata(i.handle,ac(ac({},i.props),{},{data:pe(i.props.data)})),i.target=i.props.target||EE(i.props.usage),i.webglUsage=i.props.webglUsage||pE(i.props.usage),i.debugData=null,a.data?i._initWithData(a.data,a.byteOffset,a.byteLength):i._initWithByteLength(a.byteLength||0),i}return C(r,[{key:"_initWithData",value:function(i){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:i.byteLength+a;V(ArrayBuffer.isView(i));var u=this._getWriteTarget();return this.gl.bindBuffer(u,this.handle),this.gl.bufferData(u,s,this.webglUsage),this.gl.bufferSubData(u,a,i),this.gl.bindBuffer(u,null),this.debugData=i.slice(0,_E),this.bytesUsed=s,this.byteLength=s,this.trackAllocatedMemory(s),this}},{key:"_initWithByteLength",value:function(i){V(i>=0);var a=i;i===0&&(a=new Float32Array(0));var s=this._getWriteTarget();return this.gl.bindBuffer(s,this.handle),this.gl.bufferData(s,a,this.webglUsage),this.gl.bindBuffer(s,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,this.handle=null)}},{key:"write",value:function(i){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,s=0,u=void 0,f=this.device.isWebGL2?o.COPY_WRITE_BUFFER:this.target;this.gl.bindBuffer(f,this.handle),s!==0||u!==void 0?(this.device.assertWebGL2(),this.gl2.bufferSubData(f,a,i,s,u)):this.gl.bufferSubData(f,a,i),this.gl.bindBuffer(f,null)}},{key:"readAsync",value:function(){var n=re(Ri.default.mark(function a(){var s,u,f,l,_=arguments;return Ri.default.wrap(function(p){for(;;)switch(p.prev=p.next){case 0:return s=_.length>0&&_[0]!==void 0?_[0]:0,u=_.length>1?_[1]:void 0,this.device.assertWebGL2(),f=new Uint8Array(u),l=0,this.gl.bindBuffer(o.COPY_READ_BUFFER,this.handle),this.gl2.getBufferSubData(o.COPY_READ_BUFFER,s,f,l,u),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}}]),r}(ce);function EE(e){return e&ce.INDEX?o.ELEMENT_ARRAY_BUFFER:e&ce.VERTEX?o.ARRAY_BUFFER:e&ce.UNIFORM?o.UNIFORM_BUFFER:o.ARRAY_BUFFER}function pE(e){return e&ce.INDEX?o.STATIC_DRAW:e&ce.VERTEX?o.STATIC_DRAW:e&ce.UNIFORM?o.DYNAMIC_DRAW:o.DYNAMIC_DRAW}function dE(e){var t=hE();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function hE(){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 Er=function(e){L(r,e);var t=dE(r);function r(n,i){var a;return b(this,r),a=t.call(this,n,i),c(g(a),"device",void 0),c(g(a),"handle",void 0),c(g(a),"parameters",void 0),a.device=n,a.parameters=$r(i),a.device.isWebGL2&&(a.handle=a.handle||a.device.gl2.createSampler(),a._setSamplerParameters(a.parameters)),a}return C(r,[{key:"destroy",value:function(){this.handle&&(this.device.gl2.deleteSampler(this.handle),this.handle=void 0)}},{key:"toString",value:function(){return"Sampler(".concat(this.id,",").concat(JSON.stringify(this.props),")")}},{key:"_setSamplerParameters",value:function(i){for(var a=0,s=Object.entries(i);a<s.length;a++){var u=j(s[a],2),f=u[0],l=u[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}}}}]),r}(On);function RE(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=AE(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
268
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,u;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,u=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw u}}}}function AE(e,t){if(e){if(typeof e=="string")return oc(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return oc(e,t)}}function oc(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function sc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function qr(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?sc(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):sc(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function TE(e){var t=vE();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function vE(){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 gE={parameters:{},pixelStore:{},pixels:null,border:0,dataFormat:void 0,textureUnit:void 0,target:void 0},Ke=function(e){L(r,e);var t=TE(r);function r(n,i){var a,s;return b(this,r),s=t.call(this,n,qr(qr({},gE),{},{format:"rgba8unorm"},i)),c(g(s),"MAX_ATTRIBUTES",void 0),c(g(s),"device",void 0),c(g(s),"gl",void 0),c(g(s),"gl2",void 0),c(g(s),"handle",void 0),c(g(s),"sampler",void 0),c(g(s),"glFormat",void 0),c(g(s),"type",void 0),c(g(s),"dataFormat",void 0),c(g(s),"mipmaps",void 0),c(g(s),"target",void 0),c(g(s),"textureUnit",void 0),c(g(s),"loaded",!1),c(g(s),"_video",void 0),s.device=n,s.gl=s.device.gl,s.gl2=s.device.gl2,s.handle=s.props.handle||s.gl.createTexture(),s.device.setSpectorMetadata(s.handle,qr(qr({},s.props),{},{data:pe(s.props.data)})),s.glFormat=o.RGBA,s.target=SE(s.props),s.loaded=!1,typeof((a=s.props)===null||a===void 0?void 0:a.data)=="string"&&Object.assign(s.props,{data:Dn(s.props.data)}),s.initialize(s.props),Object.seal(g(s)),s}return C(r,[{key:"destroy",value:function(){this.handle&&(this.gl.deleteTexture(this.handle),this.removeStats(),this.trackDeallocatedMemory("Texture"),this.destroyed=!0)}},{key:"toString",value:function(){return"Texture(".concat(this.id,",").concat(this.width,"x").concat(this.height,")")}},{key:"initialize",value:function(){var i=this,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(this.props.dimension==="cube")return this.initializeCube(a);var s=a.data;if(s instanceof Promise)return s.then(function(O){return i.initialize(Object.assign({},a,{pixels:O,data:O}))}),this;var u=typeof HTMLVideoElement<"u"&&s instanceof HTMLVideoElement;if(u&&s.readyState<HTMLVideoElement.HAVE_METADATA)return this._video=null,s.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.pixelStore,d=p===void 0?{}:p,h=a.textureUnit,m=h===void 0?void 0:h;s||(s=E);var R=a.width,T=a.height,I=a.dataFormat,v=a.type,N=a.compressed,M=N===void 0?!1:N,F=a.mipmaps,D=F===void 0?!0:F,K=a.depth,H=K===void 0?0:K,Y=lr(a.format,this.device.isWebGL2),w=this._deduceParameters({format:a.format,type:v,dataFormat:I,compressed:M,data:s,width:R,height:T});return R=w.width,T=w.height,M=w.compressed,I=w.dataFormat,v=w.type,this.width=R,this.height=T,this.glFormat=Y,this.type=v,this.dataFormat=I,this.textureUnit=m,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(o.TEXTURE0+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),D&&this.device.isWebGL1&&Zr(this.width,this.height)&&(W.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaps"))(),D=!1),this.mipmaps=D,this.setImageData({data:s,width:R,height:T,depth:H,format:Y,type:v,dataFormat:I,parameters:d,compressed:M}),this.setSampler(a.sampler),this._setSamplerParameters(l),D&&this.generateMipmap(),u&&(this._video={video:s,parameters:l,lastTime:s.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?s.currentTime:-1}),this}},{key:"initializeCube",value:function(i){var a=this,s=i.mipmaps,u=s===void 0?!0:s,f=i.parameters,l=f===void 0?{}:f;return this.setCubeMapImageData(i).then(function(){a.loaded=!0,u&&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 Er?(this.sampler=i,a=i.props):(this.sampler=new Er(this.device,i),a=i);var s=$r(a);return this._setSamplerParameters(s),this}},{key:"resize",value:function(i){var a=i.height,s=i.width,u=i.mipmaps,f=u===void 0?!1:u;return s!==this.width||a!==this.height?this.initialize({width:s,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,s=i.parameters,u=i.lastTime;if(u===a.currentTime||a.readyState<HTMLVideoElement.HAVE_CURRENT_DATA)return;this.setSubImageData({data:a,parameters:s}),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&&Zr(this.width,this.height)?(W.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaping"))(),this):(this.mipmaps=!0,this.gl.bindTexture(this.target,this.handle),st(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"||this.props.dimension==="2d-array")return this.setImageData3D(i);this.trackDeallocatedMemory("Texture");var s=i.target,u=s===void 0?this.target:s,f=i.pixels,l=f===void 0?null:f,_=i.level,E=_===void 0?0:_,p=i.glFormat,d=p===void 0?this.glFormat:p,h=i.offset,m=h===void 0?0:h,R=i.parameters,T=R===void 0?{}:R,I=i.data,v=I===void 0?null:I,N=i.type,M=N===void 0?this.type:N,F=i.width,D=F===void 0?this.width:F,K=i.height,H=K===void 0?this.height:K,Y=i.dataFormat,w=Y===void 0?this.dataFormat:Y,O=i.compressed,A=O===void 0?!1:O;v||(v=l);var S=this._deduceParameters({format:this.props.format,type:M,dataFormat:w,compressed:A,data:v,width:D,height:H});M=S.type,w=S.dataFormat,A=S.compressed,D=S.width,H=S.height;var x=this.gl;x.bindTexture(this.target,this.handle);var k=null,U=this._getDataType({data:v,compressed:A});v=U.data,k=U.dataType;var G;if(st(this.gl,T,function(){switch(k){case"null":x.texImage2D(u,E,d,D,H,0,w,M,v);break;case"typed-array":x.texImage2D(u,E,d,D,H,0,w,M,v,m);break;case"buffer":G=a.device.assertWebGL2(),G.bindBuffer(o.PIXEL_UNPACK_BUFFER,v.handle||v),G.texImage2D(u,E,d,D,H,0,w,M,m),G.bindBuffer(o.PIXEL_UNPACK_BUFFER,null);break;case"browser-object":a.device.isWebGL2?x.texImage2D(u,E,d,D,H,0,w,M,v):x.texImage2D(u,E,d,w,M,v);break;case"compressed":var $=RE(v.entries()),J;try{for($.s();!(J=$.n()).done;){var Z=j(J.value,2),ue=Z[0],ge=Z[1];x.compressedTexImage2D(u,ue,ge.format,ge.width,ge.height,0,ge.data)}}catch(Ce){$.e(Ce)}finally{$.f()}break;default:V(!1,"Unknown image data type")}}),v&&v.byteLength)this.trackAllocatedMemory(v.byteLength,"Texture");else{var z=_r(this.props.format,this.device.isWebGL2);this.trackAllocatedMemory(this.width*this.height*z,"Texture")}return this.loaded=!0,this}},{key:"setSubImageData",value:function(i){var a=this,s=i.target,u=s===void 0?this.target:s,f=i.pixels,l=f===void 0?null:f,_=i.data,E=_===void 0?null:_,p=i.x,d=p===void 0?0:p,h=i.y,m=h===void 0?0:h,R=i.width,T=R===void 0?this.width:R,I=i.height,v=I===void 0?this.height:I,N=i.level,M=N===void 0?0:N,F=i.glFormat,D=F===void 0?this.glFormat:F,K=i.type,H=K===void 0?this.type:K,Y=i.dataFormat,w=Y===void 0?this.dataFormat:Y,O=i.compressed,A=O===void 0?!1:O,S=i.offset,x=S===void 0?0:S,k=i.parameters,U=k===void 0?{}:k,G=this._deduceParameters({format:this.props.format,type:H,dataFormat:w,compressed:A,data:E,width:T,height:v});if(H=G.type,w=G.dataFormat,A=G.compressed,T=G.width,v=G.height,V(this.depth===1,"texSubImage not supported for 3D textures"),E||(E=l),E&&E.data){var z=E;E=z.data,T=z.shape[0],v=z.shape[1]}E instanceof je&&(E=E.handle),this.gl.bindTexture(this.target,this.handle),st(this.gl,U,function(){if(A)a.gl.compressedTexSubImage2D(u,M,d,m,T,v,D,E);else if(E===null)a.gl.texSubImage2D(u,M,d,m,T,v,w,H,null);else if(ArrayBuffer.isView(E))a.gl.texSubImage2D(u,M,d,m,T,v,w,H,E,x);else if(typeof WebGLBuffer<"u"&&E instanceof WebGLBuffer){var $=a.device.assertWebGL2();$.bindBuffer(o.PIXEL_UNPACK_BUFFER,E),$.texSubImage2D(u,M,d,m,T,v,w,H,x),$.bindBuffer(o.PIXEL_UNPACK_BUFFER,null)}else if(a.device.isWebGL2){var J=a.device.assertWebGL2();J.texSubImage2D(u,M,d,m,T,v,w,H,E)}else a.gl.texSubImage2D(u,M,d,m,w,H,E)}),this.gl.bindTexture(this.target,null)}},{key:"copyFramebuffer",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return W.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,s=i.compressed,u=s===void 0?!1:s;return u?{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,s=i.data,u=i.width,f=i.height,l=i.dataFormat,_=i.type,E=i.compressed,p=zr(a,this.device.isWebGL2);l=l||p.dataFormat,_=_||p.type,E=E||p.compressed;var d=this._deduceImageSize(s,u,f);return u=d.width,f=d.height,{dataFormat:l,type:_,compressed:E,width:u,height:f,format:a,data:s}}},{key:"_deduceImageSize",value:function(i,a,s){var u;return typeof ImageData<"u"&&i instanceof ImageData?u={width:i.width,height:i.height}:typeof HTMLImageElement<"u"&&i instanceof HTMLImageElement?u={width:i.naturalWidth,height:i.naturalHeight}:typeof HTMLCanvasElement<"u"&&i instanceof HTMLCanvasElement?u={width:i.width,height:i.height}:typeof ImageBitmap<"u"&&i instanceof ImageBitmap?u={width:i.width,height:i.height}:typeof HTMLVideoElement<"u"&&i instanceof HTMLVideoElement?u={width:i.videoWidth,height:i.videoHeight}:i?u={width:a,height:s}:u={width:a>=0?a:1,height:s>=0?s:1},V(u,"Could not deduced texture size"),V(a===void 0||u.width===a,"Deduced texture width does not match supplied width"),V(s===void 0||u.height===s,"Deduced texture height does not match supplied height"),u}},{key:"setCubeMapImageData",value:function(){var n=re(Ai.default.mark(function a(s){var u=this,f,l,_,E,p,d,h,m,R,T,I;return Ai.default.wrap(function(N){for(;;)switch(N.prev=N.next){case 0:return f=this.gl,l=s.width,_=s.height,E=s.pixels,p=s.data,d=s.format,h=d===void 0?o.RGBA:d,m=s.type,R=m===void 0?o.UNSIGNED_BYTE:m,T=E||p,N.next=5,Promise.all(r.FACES.map(function(M){var F=T[M];return Promise.all(Array.isArray(F)?F:[F])}));case 5:I=N.sent,this.bind(),r.FACES.forEach(function(M,F){I[F].length>1&&u.props.mipmaps!==!1&&W.warn("".concat(u.id," has mipmap and multiple LODs."))(),I[F].forEach(function(D,K){l&&_?f.texImage2D(M,K,h,l,_,0,h,R,D):f.texImage2D(M,K,h,h,R,D)})}),this.unbind();case 9:case"end":return N.stop()}},a,this)}));function i(a){return n.apply(this,arguments)}return i}()},{key:"setImageDataForFace",value:function(i){var a=this,s=i.face,u=i.width,f=i.height,l=i.pixels,_=i.data,E=i.format,p=E===void 0?o.RGBA:E,d=i.type,h=d===void 0?o.UNSIGNED_BYTE:d,m=this.gl,R=l||_;return this.bind(),R instanceof Promise?R.then(function(T){return a.setImageDataForFace(Object.assign({},i,{face:s,data:T,pixels:T}))}):this.width||this.height?m.texImage2D(s,0,p,u,f,0,p,h,R):m.texImage2D(s,0,p,p,h,R),this}},{key:"setImageData3D",value:function(i){var a=this,s=i.level,u=s===void 0?0:s,f=i.dataFormat,l=i.format,_=i.type,E=i.width,p=i.height,d=i.depth,h=d===void 0?1:d,m=i.offset,R=m===void 0?0:m,T=i.data,I=i.parameters,v=I===void 0?{}:I;this.trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle);var N=zr(l,this.device.isWebGL2);if(st(this.gl,v,function(){ArrayBuffer.isView(T)&&a.gl.texImage3D(a.target,u,N.format,E,p,h,0,N.dataFormat,N.type,T),T instanceof je&&(a.gl.bindBuffer(o.PIXEL_UNPACK_BUFFER,T.handle),a.gl.texImage3D(a.target,u,f,E,p,h,0,l,_,R))}),T&&T.byteLength)this.trackAllocatedMemory(T.byteLength,"Texture");else{var M=_r(this.props.format,this.device.isWebGL2);this.trackAllocatedMemory(this.width*this.height*this.depth*M,"Texture")}return this.loaded=!0,this}},{key:"_setSamplerParameters",value:function(i){if(this.device.isWebGL1&&Zr(this.width,this.height)&&(i=nc(i)),!Ct(i)){OE(i),this.gl.bindTexture(this.target,this.handle);for(var a=0,s=Object.entries(i);a<s.length;a++){var u=j(s[a],2),f=u[0],l=u[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 s=this.device.isWebGL1&&Zr(this.width,this.height);if(s)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}}]),r}(Ne);c(Ke,"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 SE(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 Zr(e,t){return!e||!t?!1:!yr(e)||!yr(t)}function OE(e){W.log(1,"texture sampler parameters",e)()}function Qr(e,t){if(typeof t!="string")return t;var r=Number(t);if(!isNaN(r))return r;t=t.replace(/^.*\./,"");var n=e[t];return V(n!==void 0,"Accessing undefined constant GL.".concat(t)),n}function yE(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=bE(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
269
269
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,u;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,u=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw u}}}}function bE(e,t){if(e){if(typeof e=="string")return cc(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return cc(e,t)}}function cc(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function CE(e){var t=PE();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return 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 kt="Resource subclass must define virtual methods",Jr=function(e){L(r,e);var t=CE(r);function r(n,i,a){var s;b(this,r),s=t.call(this,n,i,a),c(g(s),"device",void 0),c(g(s),"gl",void 0),c(g(s),"gl2",void 0),c(g(s),"_handle",void 0),c(g(s),"_bound",!1),c(g(s),"byteLength",0),s.device=Re.attach(n);var u=s.device.gl;As(u);var f=i||{},l=f.id;return s.gl=u,s.gl2=u,s.id=l||ee(s.constructor.name),s._handle=i?.handle,s._handle===void 0&&(s._handle=s._createHandle()),s.byteLength=0,s}return C(r,[{key:"toString",value:function(){return"".concat(this.constructor.name,"(").concat(this.id,")")}},{key:"handle",get:function(){return this._handle}},{key:"delete",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=i.deleteChildren,s=a===void 0?!1:a,u=this._handle&&this._deleteHandle(this._handle);return this._handle&&this.removeStats(),this._handle=null,u&&s&&u.filter(Boolean).forEach(function(f){return f.destroy()}),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=Qr(this.gl,i),V(i);var s=this.constructor.PARAMETERS||{},u=s[i];if(u){var f=Q(this.gl),l=(!("webgl2"in u)||f)&&(!("extension"in u)||this.gl.getExtension(u.extension));if(!l){var _=u.webgl1,E="webgl2"in u?u.webgl2:u.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,s=i.keys,u=this.constructor.PARAMETERS||{},f=Q(this.gl),l={},_=a||Object.keys(u),E=yE(_),p;try{for(E.s();!(p=E.n()).done;){var d=p.value,h=u[d],m=h&&(!("webgl2"in h)||f)&&(!("extension"in h)||this.gl.getExtension(h.extension));if(m){var R=s?this.device.getGLKey(d):d;l[R]=this.getParameter(d,i),s&&h.type==="GLenum"&&(l[R]=this.device.getGLKey(l[R]))}}}catch(T){E.e(T)}finally{E.f()}return l}},{key:"setParameter",value:function(i,a){i=Qr(this.gl,i),V(i);var s=this.constructor.PARAMETERS||{},u=s[i];if(u){var f=Q(this.gl),l=(!("webgl2"in u)||f)&&(!("extension"in u)||this.gl.getExtension(u.extension));if(!l)throw new Error("Parameter not available on this platform");u.type==="GLenum"&&(a=Qr(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,s){return Mn(this,i,a,s)}},{key:"initialize",value:function(i){}},{key:"_createHandle",value:function(){throw new Error(kt)}},{key:"_deleteHandle",value:function(){throw new Error(kt)}},{key:"_bindHandle",value:function(i){throw new Error(kt)}},{key:"_getOptsFromHandle",value:function(){throw new Error(kt)}},{key:"_getParameter",value:function(i,a){throw new Error(kt)}},{key:"_setParameter",value:function(i,a){throw new Error(kt)}}]),r}(se);var lc;function uc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function fc(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?uc(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):uc(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function NE(e){var t=ME();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function ME(){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}}lc=Symbol.toStringTag;var en=function(e){L(r,e);var t=NE(r);function r(n,i){var a;if(b(this,r),typeof i.format=="number")throw new Error("Renderbuffer");return a=t.call(this,n,i,r.defaultProps),c(g(a),"glFormat",void 0),a.glFormat=lr(a.props.format,n.isWebGL2),a._initialize(a.props),a}return C(r,[{key:lc,get:function(){return"Renderbuffer"}},{key:"width",get:function(){return this.props.width}},{key:"height",get:function(){return this.props.height}},{key:"format",get:function(){return this.props.format}},{key:"samples",get:function(){return this.props.samples}},{key:"attachment",get:function(){}},{key:"resize",value:function(i){(i.width!==this.width||i.height!==this.height)&&(Object.assign(this.props,fc(fc({},i),{},{format:this.format,samples:this.samples})),this._initialize(this.props))}},{key:"_initialize",value:function(i){var a=i.format,s=i.width,u=i.height,f=i.samples;V(a,"Needs format"),this.trackDeallocatedMemory(),this.gl.bindRenderbuffer(o.RENDERBUFFER,this.handle),f!==0&&this.device.isWebGL2?this.gl2.renderbufferStorageMultisample(o.RENDERBUFFER,f,this.glFormat,s,u):this.gl.renderbufferStorage(o.RENDERBUFFER,this.glFormat,s,u),this.gl.bindRenderbuffer(o.RENDERBUFFER,null),this.trackAllocatedMemory(s*u*(f||1)*_r(this.glFormat,this.device.isWebGL2))}},{key:"_createHandle",value:function(){return this.gl.createRenderbuffer()}},{key:"_deleteHandle",value:function(){this.gl.deleteRenderbuffer(this.handle),this.trackDeallocatedMemory()}},{key:"_bindHandle",value:function(i){this.gl.bindRenderbuffer(o.RENDERBUFFER,i)}}],[{key:"isTextureFormatSupported",value:function(i,a){return Vs(i.gl,a)}}]),r}(Jr);c(en,"defaultProps",{id:void 0,handle:void 0,userData:void 0,format:void 0,width:1,height:1,samples:0});function IE(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=FE(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
270
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,u;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,u=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw u}}}}function FE(e,t){if(e){if(typeof e=="string")return _c(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _c(e,t)}}function _c(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function DE(e){var t=xE();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return 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 tn=function(e){L(r,e);var t=DE(r);function r(n,i){var a;b(this,r),a=t.call(this,n,i),c(g(a),"device",void 0),c(g(a),"gl",void 0),c(g(a),"handle",void 0);var s=i.handle===null;if(a.device=n,a.gl=n.gl,a.handle=a.props.handle||s?a.props.handle:a.gl.createFramebuffer(),!s){n.setSpectorMetadata(a.handle,{id:a.props.id,props:a.props}),a.autoCreateAttachmentTextures(),a.gl.bindFramebuffer(o.FRAMEBUFFER,a.handle);for(var u=0;u<a.colorAttachments.length;++u){var f=a.colorAttachments[u],l=o.COLOR_ATTACHMENT0+u;f&&a._attachOne(l,f)}a.depthStencilAttachment&&a._attachOne(Ys(a.depthStencilAttachment.format),a.depthStencilAttachment),a.gl.bindFramebuffer(o.FRAMEBUFFER,null)}return i.check!==!1&&a._checkStatus(),a}return C(r,[{key:"texture",get:function(){return this.colorAttachments[0]}},{key:"destroy",value:function(){ot(y(r.prototype),"destroy",this).call(this),!this.destroyed&&this.handle!==null&&this.gl.deleteFramebuffer(this.handle)}},{key:"_checkStatus",value:function(){var i=this.gl,a=i.bindFramebuffer(o.FRAMEBUFFER,this.handle),s=i.checkFramebufferStatus(o.FRAMEBUFFER);if(i.bindFramebuffer(o.FRAMEBUFFER,a||null),s!==i.FRAMEBUFFER_COMPLETE)throw new Error("Framebuffer ".concat(UE(s)))}},{key:"createDepthStencilTexture",value:function(i){return new en(this.device,{id:"".concat(this.id,"-depth-stencil"),format:i,width:this.width,height:this.height})}},{key:"resizeAttachments",value:function(i,a){if(this.handle===null)return this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;i===void 0&&(i=this.gl.drawingBufferWidth),a===void 0&&(a=this.gl.drawingBufferHeight);var s=IE(this.colorAttachments),u;try{for(s.s();!(u=s.n()).done;){var f=u.value;f.resize({width:i,height:a})}}catch(l){s.e(l)}finally{s.f()}return this.depthStencilAttachment&&this.depthStencilAttachment.resize({width:i,height:a}),this}},{key:"_attachOne",value:function(i,a){if(a instanceof en)return this._attachWEBGLRenderbuffer(i,a),a;if(Array.isArray(a)){var s=j(a,3),u=s[0],f=s[1],l=f===void 0?0:f,_=s[2],E=_===void 0?0:_;return this._attachTexture(i,u,l,E),u}else if(a instanceof Ke)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,s,u){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,u,s);break;case o.TEXTURE_CUBE_MAP:var E=BE(s);l.framebufferTexture2D(o.FRAMEBUFFER,i,E,a.handle,u);break;case o.TEXTURE_2D:l.framebufferTexture2D(o.FRAMEBUFFER,i,o.TEXTURE_2D,a.handle,u);break;default:V(!1,"Illegal texture type")}l.bindTexture(a.target,null)}}]),r}(yn);function BE(e){return e<o.TEXTURE_CUBE_MAP_POSITIVE_X?e+o.TEXTURE_CUBE_MAP_POSITIVE_X:e}function UE(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 wE(e){var t=LE();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function LE(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var Ec=function(e){L(r,e);var t=wE(r);function r(n,i){var a;return b(this,r),a=t.call(this,i),c(g(a),"device",void 0),c(g(a),"presentationSize",void 0),c(g(a),"_framebuffer",null),a.device=n,a.presentationSize=[-1,-1],a._setAutoCreatedCanvasId("".concat(a.device.id,"-canvas")),a.update(),a}return C(r,[{key:"getCurrentFramebuffer",value:function(){return this.update(),this._framebuffer=this._framebuffer||new tn(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(){}}]),r}(Pt);var Ti=Be(Fe(),1);function pc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function dc(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?pc(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):pc(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var XE={spector:W.get("spector")||W.get("inspect")},HE="https://spectorcdn.babylonjs.com/spector.bundle.js",WE=1,Pe=null,hc=!1;function mc(e){return vi.apply(this,arguments)}function vi(){return vi=re(Ti.default.mark(function e(t){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,Jt(HE);case 4:n.next=9;break;case 6:n.prev=6,n.t0=n.catch(1),W.warn(String(n.t0));case 9:case"end":return n.stop()}},e,null,[[1,6]])})),vi.apply(this,arguments)}function Rc(e){var t,r;if(e=dc(dc({},XE),e),!((t=e)!==null&&t!==void 0&&t.spector)||(!Pe&&globalThis.SPECTOR&&(W.probe(WE,"SPECTOR found and initialized")(),Pe=new globalThis.SPECTOR.Spector,globalThis.luma&&(globalThis.luma.spector=Pe)),!Pe))return null;if(!hc){var n,i;hc=!0,Pe.spyCanvases(),(n=Pe)===null||n===void 0||n.onCaptureStarted.add(function(u){return W.info("Spector capture started:",u)()}),(i=Pe)===null||i===void 0||i.onCapture.add(function(u){var f,l,_;W.info("Spector capture complete:",u)(),(f=Pe)===null||f===void 0||f.getResultUI(),(l=Pe)===null||l===void 0||l.resultView.display(),(_=Pe)===null||_===void 0||_.resultView.addCapture(u)})}if((r=e)!==null&&r!==void 0&&r.canvas){var a,s;if(typeof e.spector=="string"&&e.spector!==e.canvas.id)return Pe;(a=Pe)===null||a===void 0||a.startCapture((s=e)===null||s===void 0?void 0:s.canvas,500),new Promise(function(u){return setTimeout(u,2e3)}).then(function(u){var f;W.info("Spector capture stopped after 2 seconds")(),(f=Pe)===null||f===void 0||f.stopCapture()})}return Pe}var Si=Be(Fe(),1);function kE(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=VE(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
270
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,u;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,u=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw u}}}}function FE(e,t){if(e){if(typeof e=="string")return _c(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _c(e,t)}}function _c(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function DE(e){var t=xE();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return 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 tn=function(e){L(r,e);var t=DE(r);function r(n,i){var a;b(this,r),a=t.call(this,n,i),c(g(a),"device",void 0),c(g(a),"gl",void 0),c(g(a),"handle",void 0);var s=i.handle===null;if(a.device=n,a.gl=n.gl,a.handle=a.props.handle||s?a.props.handle:a.gl.createFramebuffer(),!s){n.setSpectorMetadata(a.handle,{id:a.props.id,props:a.props}),a.autoCreateAttachmentTextures(),a.gl.bindFramebuffer(o.FRAMEBUFFER,a.handle);for(var u=0;u<a.colorAttachments.length;++u){var f=a.colorAttachments[u],l=o.COLOR_ATTACHMENT0+u;f&&a._attachOne(l,f)}a.depthStencilAttachment&&a._attachOne(Ys(a.depthStencilAttachment.format),a.depthStencilAttachment),a.gl.bindFramebuffer(o.FRAMEBUFFER,null)}return i.check!==!1&&a._checkStatus(),a}return C(r,[{key:"texture",get:function(){return this.colorAttachments[0]}},{key:"destroy",value:function(){ot(y(r.prototype),"destroy",this).call(this),!this.destroyed&&this.handle!==null&&this.gl.deleteFramebuffer(this.handle)}},{key:"_checkStatus",value:function(){var i=this.gl,a=i.bindFramebuffer(o.FRAMEBUFFER,this.handle),s=i.checkFramebufferStatus(o.FRAMEBUFFER);if(i.bindFramebuffer(o.FRAMEBUFFER,a||null),s!==i.FRAMEBUFFER_COMPLETE)throw new Error("Framebuffer ".concat(UE(s)))}},{key:"createDepthStencilTexture",value:function(i){return new en(this.device,{id:"".concat(this.id,"-depth-stencil"),format:i,width:this.width,height:this.height})}},{key:"resizeAttachments",value:function(i,a){if(this.handle===null)return this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;i===void 0&&(i=this.gl.drawingBufferWidth),a===void 0&&(a=this.gl.drawingBufferHeight);var s=IE(this.colorAttachments),u;try{for(s.s();!(u=s.n()).done;){var f=u.value;f.resize({width:i,height:a})}}catch(l){s.e(l)}finally{s.f()}return this.depthStencilAttachment&&this.depthStencilAttachment.resize({width:i,height:a}),this}},{key:"_attachOne",value:function(i,a){if(a instanceof en)return this._attachWEBGLRenderbuffer(i,a),a;if(Array.isArray(a)){var s=j(a,3),u=s[0],f=s[1],l=f===void 0?0:f,_=s[2],E=_===void 0?0:_;return this._attachTexture(i,u,l,E),u}else if(a instanceof Ke)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,s,u){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,u,s);break;case o.TEXTURE_CUBE_MAP:var E=BE(s);l.framebufferTexture2D(o.FRAMEBUFFER,i,E,a.handle,u);break;case o.TEXTURE_2D:l.framebufferTexture2D(o.FRAMEBUFFER,i,o.TEXTURE_2D,a.handle,u);break;default:V(!1,"Illegal texture type")}l.bindTexture(a.target,null)}}]),r}(yn);function BE(e){return e<o.TEXTURE_CUBE_MAP_POSITIVE_X?e+o.TEXTURE_CUBE_MAP_POSITIVE_X:e}function UE(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 wE(e){var t=LE();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function LE(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var Ec=function(e){L(r,e);var t=wE(r);function r(n,i){var a;return b(this,r),a=t.call(this,i),c(g(a),"device",void 0),c(g(a),"presentationSize",void 0),c(g(a),"_framebuffer",null),a.device=n,a.presentationSize=[-1,-1],a._setAutoCreatedCanvasId("".concat(a.device.id,"-canvas")),a.update(),a}return C(r,[{key:"getCurrentFramebuffer",value:function(){return this.update(),this._framebuffer=this._framebuffer||new tn(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){var a=this.getDevicePixelRatio(i?.useDevicePixels);this.setDevicePixelRatio(a,i);return}var s=this.device.gl.getExtension("STACKGL_resize_drawingbuffer");s&&i&&"width"in i&&"height"in i&&s.resize(i.width,i.height)}},{key:"commit",value:function(){}}]),r}(Nt);var Ti=Be(Fe(),1);function pc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function dc(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?pc(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):pc(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var XE={spector:W.get("spector")||W.get("inspect")},HE="https://spectorcdn.babylonjs.com/spector.bundle.js",WE=1,Pe=null,hc=!1;function mc(e){return vi.apply(this,arguments)}function vi(){return vi=re(Ti.default.mark(function e(t){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,Jt(HE);case 4:n.next=9;break;case 6:n.prev=6,n.t0=n.catch(1),W.warn(String(n.t0));case 9:case"end":return n.stop()}},e,null,[[1,6]])})),vi.apply(this,arguments)}function Rc(e){var t,r;if(e=dc(dc({},XE),e),!((t=e)!==null&&t!==void 0&&t.spector)||(!Pe&&globalThis.SPECTOR&&(W.probe(WE,"SPECTOR found and initialized")(),Pe=new globalThis.SPECTOR.Spector,globalThis.luma&&(globalThis.luma.spector=Pe)),!Pe))return null;if(!hc){var n,i;hc=!0,Pe.spyCanvases(),(n=Pe)===null||n===void 0||n.onCaptureStarted.add(function(u){return W.info("Spector capture started:",u)()}),(i=Pe)===null||i===void 0||i.onCapture.add(function(u){var f,l,_;W.info("Spector capture complete:",u)(),(f=Pe)===null||f===void 0||f.getResultUI(),(l=Pe)===null||l===void 0||l.resultView.display(),(_=Pe)===null||_===void 0||_.resultView.addCapture(u)})}if((r=e)!==null&&r!==void 0&&r.canvas){var a,s;if(typeof e.spector=="string"&&e.spector!==e.canvas.id)return Pe;(a=Pe)===null||a===void 0||a.startCapture((s=e)===null||s===void 0?void 0:s.canvas,500),new Promise(function(u){return setTimeout(u,2e3)}).then(function(u){var f;W.info("Spector capture stopped after 2 seconds")(),(f=Pe)===null||f===void 0||f.stopCapture()})}return Pe}var Si=Be(Fe(),1);function kE(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=VE(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
271
271
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,u;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,u=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw u}}}}function VE(e,t){if(e){if(typeof e=="string")return Ac(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ac(e,t)}}function Ac(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Tc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function vc(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Tc(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Tc(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var jE="https://unpkg.com/webgl-debug@2.0.1/index.js";function gc(e){return e.luma=e.luma||{},e.luma}function Sc(){return Oi.apply(this,arguments)}function Oi(){return Oi=re(Si.default.mark(function e(){return Si.default.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:if(globalThis.WebGLDebugUtils){r.next=5;break}return globalThis.global=globalThis.global||globalThis,globalThis.global.module={},r.next=5,Jt(jE);case 5:case"end":return r.stop()}},e)})),Oi.apply(this,arguments)}function Oc(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return e?t.debug?YE(e,t):KE(e):null}function KE(e){var t=gc(e);return t.realContext?t.realContext:e}function YE(e,t){if(!globalThis.WebGLDebugUtils)return W.warn("webgl-debug not loaded")(),e;var r=gc(e);if(r.debugContext)return r.debugContext;globalThis.WebGLDebugUtils.init(vc(vc({},o),e));var n=globalThis.WebGLDebugUtils.makeDebugContext(e,zE.bind(null,t),GE.bind(null,t));for(var i in o)!(i in n)&&typeof o[i]=="number"&&(n[i]=o[i]);var a=C(function u(){b(this,u)});Object.setPrototypeOf(n,Object.getPrototypeOf(e)),Object.setPrototypeOf(a,n);var s=Object.create(a);return r.realContext=e,r.debugContext=s,s.debug=!0,s}function gi(e,t){t=Array.from(t).map(function(n){return n===void 0?"undefined":n});var r=globalThis.WebGLDebugUtils.glFunctionArgsToString(e,t);return r="".concat(r.slice(0,100)).concat(r.length>100?"...":""),"gl.".concat(e,"(").concat(r,")")}function zE(e,t,r,n){n=Array.from(n).map(function(f){return f===void 0?"undefined":f});var i=globalThis.WebGLDebugUtils.glEnumToString(t),a=globalThis.WebGLDebugUtils.glFunctionArgsToString(r,n),s=e.webgl2?"gl2":"gl1",u="".concat(i," in ").concat(s,".").concat(r,"(").concat(a,")");W.error(u)();debugger;if(e.throwOnError)throw new Error(u)}function GE(e,t,r){var n="";if(W.level>=1&&(n=gi(t,r),W.log(1,n)()),e.break&&e.break.length>0){n=n||gi(t,r);var i=e.break.every(function(f){return n.indexOf(f)!==-1});if(i)debugger}var a=kE(r),s;try{for(a.s();!(s=a.n()).done;){var u=s.value;if(u===void 0){if(n=n||gi(t,r),e.throwOnError)throw new Error("Undefined argument: ".concat(n));W.error("Undefined argument: ".concat(n))();debugger}}}catch(f){a.e(f)}finally{a.f()}}function yi(){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 Vt(e,t,r){return yi()?Vt=Reflect.construct.bind():Vt=function(i,a,s){var u=[null];u.push.apply(u,a);var f=Function.bind.apply(i,u),l=new f;return s&&Et(l,s.prototype),l},Vt.apply(null,arguments)}var $E="Failed to deduce GL constant from typed array";function rn(e){var t=ArrayBuffer.isView(e)?e.constructor:e;switch(t){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($E)}}function jt(e,t){var r=t||{},n=r.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 qE={offset:0,stride:0,type:o.FLOAT,size:1,divisor:0,normalized:!1,integer:!1},ZE={deprecatedProps:{instanced:"divisor",isInstanced:"divisor"}},Ye=function(){function e(){var t=this;b(this,e),c(this,"offset",void 0),c(this,"stride",void 0),c(this,"type",void 0),c(this,"size",void 0),c(this,"divisor",void 0),c(this,"normalized",void 0),c(this,"integer",void 0),c(this,"buffer",void 0),c(this,"index",void 0);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];n.forEach(function(a){return t._assign(a)}),Object.freeze(this)}return C(e,[{key:"toString",value:function(){return JSON.stringify(this)}},{key:"BYTES_PER_ELEMENT",get:function(){return e.getBytesPerElement(this)}},{key:"BYTES_PER_VERTEX",get:function(){return e.getBytesPerVertex(this)}},{key:"_assign",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return r=dt("Accessor",r,ZE),r.type!==void 0&&(this.type=r.type,(r.type===o.INT||r.type===o.UNSIGNED_INT)&&(this.integer=!0)),r.size!==void 0&&(this.size=r.size),r.offset!==void 0&&(this.offset=r.offset),r.stride!==void 0&&(this.stride=r.stride),r.normalize!==void 0&&(this.normalized=r.normalize),r.normalized!==void 0&&(this.normalized=r.normalized),r.integer!==void 0&&(this.integer=r.integer),r.divisor!==void 0&&(this.divisor=r.divisor),r.buffer!==void 0&&(this.buffer=r.buffer),r.index!==void 0&&(typeof r.index=="boolean"?this.index=r.index?1:0:this.index=r.index),r.instanced!==void 0&&(this.divisor=r.instanced?1:0),r.isInstanced!==void 0&&(this.divisor=r.isInstanced?1:0),this.offset===void 0&&delete this.offset,this.stride===void 0&&delete this.stride,this.type===void 0&&delete this.type,this.size===void 0&&delete this.size,this.divisor===void 0&&delete this.divisor,this.normalized===void 0&&delete this.normalized,this.integer===void 0&&delete this.integer,this.buffer===void 0&&delete this.buffer,this.index===void 0&&delete this.index,this}}],[{key:"getBytesPerElement",value:function(r){var n=jt(r.type||o.FLOAT);return n.BYTES_PER_ELEMENT}},{key:"getBytesPerVertex",value:function(r){V(r.size);var n=jt(r.type||o.FLOAT);return n.BYTES_PER_ELEMENT*r.size}},{key:"resolve",value:function(){for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return Vt(e,[qE].concat(n))}}]),e}();function QE(e){var t=JE();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function JE(){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 yc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ep(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?yc(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):yc(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var bc=10,Cc={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"},Pc={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:Cc},tp={removedProps:Cc};function rp(e){if(ArrayBuffer.isView(e))return{data:e};if(typeof e=="number")return{byteLength:e};e=dt("Buffer",e,Pc);var t=ep({},e);return t.offset&&(t.byteOffset=t.offset),t}var Nc=function(e){L(r,e);var t=QE(r);function r(n){var i,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(b(this,r),i=t.call(this,Re.attach(n),rp(a)),c(g(i),"usage",void 0),c(g(i),"accessor",void 0),i.setAccessor(Object.assign({},a,a.accessor)),i.props.data){var s=rn(i.props.data);V(s),i.setAccessor(new Ye(i.accessor,{type:s}))}return Object.seal(g(i)),i}return C(r,[{key:"getElementCount",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.accessor;return Math.round(this.byteLength/Ye.getBytesPerElement(i))}},{key:"getVertexCount",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.accessor;return Math.round(this.byteLength/Ye.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=dt("Buffer",i,Pc),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=dt("Buffer",i,tp),"accessor"in i&&this.setAccessor(i.accessor),this}},{key:"setAccessor",value:function(i){return i=Object.assign({},i),delete i.buffer,this.accessor=new Ye(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,s=a.data,u=a.offset,f=u===void 0?0:u,l=a.srcOffset,_=l===void 0?0:l,E=i.byteLength||i.length;V(s);var p=this.gl.webgl2?o.COPY_WRITE_BUFFER:this.target;return this.gl.bindBuffer(p,this.handle),_!==0||E!==void 0?(Vr(this.gl),this.gl.bufferSubData(this.target,f,s,_,E)):this.gl.bufferSubData(p,f,s),this.gl.bindBuffer(p,null),this.debugData=null,this._inferType(s),this}},{key:"copyData",value:function(i){var a=i.sourceBuffer,s=i.readOffset,u=s===void 0?0:s,f=i.writeOffset,l=f===void 0?0:f,_=i.size,E=this.gl,p=this.gl2;return Vr(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,u,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,s=i||{},u=s.dstData,f=u===void 0?null:u,l=s.length,_=l===void 0?0:l,E=i||{},p=E.srcByteOffset,d=p===void 0?0:p,h=E.dstOffset,m=h===void 0?0:h;Vr(this.gl);var R=jt(this.accessor.type||o.FLOAT,{clamped:!1}),T=this._getAvailableElementCount(d),I=m,v,N;f?(N=f.length,v=N-I):(v=Math.min(T,_||T),N=I+v);var M=Math.min(T,v);return _=_||M,V(_<=M),f=f||new R(N),this.gl.bindBuffer(o.COPY_READ_BUFFER,this.handle),(a=this.gl2)===null||a===void 0||a.getBufferSubData(o.COPY_READ_BUFFER,d,f,m,_),this.gl.bindBuffer(o.COPY_READ_BUFFER,null),f}},{key:"bind",value:function(i){var a=i||{},s=a.target,u=s===void 0?this.target:s,f=a.index,l=f===void 0?this.accessor&&this.accessor.index:f,_=a.offset,E=_===void 0?0:_,p=a.size;if(u===o.UNIFORM_BUFFER||u===o.TRANSFORM_FEEDBACK_BUFFER)if(p!==void 0){var d;(d=this.gl2)===null||d===void 0||d.bindBufferRange(u,l,this.handle,E,p)}else{var h;V(E===0),(h=this.gl2)===null||h===void 0||h.bindBufferBase(u,l,this.handle)}else this.gl.bindBuffer(u,this.handle);return this}},{key:"unbind",value:function(i){var a=i||{},s=a.target,u=s===void 0?this.target:s,f=a.index,l=f===void 0?this.accessor&&this.accessor.index:f,_=u===o.UNIFORM_BUFFER||u===o.TRANSFORM_FEEDBACK_BUFFER;if(_){var E;(E=this.gl2)===null||E===void 0||E.bindBufferBase(u,l,null)}else this.gl.bindBuffer(u,null);return this}},{key:"getDebugData",value:function(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(bc,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,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:i.byteLength+a;V(ArrayBuffer.isView(i)),this.trackDeallocatedMemory();var u=this._getTarget();this.gl.bindBuffer(u,this.handle),this.gl.bufferData(u,s,this.webglUsage),this.gl.bufferSubData(u,a,i),this.gl.bindBuffer(u,null),this.debugData=i.slice(0,bc),this.bytesUsed=s,this.byteLength=s,this.trackAllocatedMemory(s);var f=rn(i);return V(f),this.setAccessor(new Ye(this.accessor,{type:f})),this}},{key:"_setByteLength",value:function(i){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.webglUsage;V(i>=0),this.trackDeallocatedMemory();var s=i;i===0&&(s=new Float32Array(0));var u=this._getTarget();return this.gl.bindBuffer(u,this.handle),this.gl.bufferData(u,s,a),this.gl.bindBuffer(u,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=jt(this.accessor.type||o.FLOAT,{clamped:!1}),s=i/a.BYTES_PER_ELEMENT;return this.getElementCount()-s}},{key:"_inferType",value:function(i){this.accessor.type||this.setAccessor(new Ye(this.accessor,{type:rn(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}}]),r}(je);var Ni=Be(Fe(),1);function bi(e,t){return{name:np(e,t),language:"glsl",version:ip(e)}}function np(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"unnamed",r=/#define[\s*]SHADER_NAME[\s*]([A-Za-z0-9_-]+)[\s*]/,n=r.exec(e);return n?n[1]:t}function ip(e){var t=100,r=e.match(/[^\s]+/g);if(r&&r.length>=2&&r[0]==="#version"){var n=parseInt(r[1],10);Number.isFinite(n)&&(t=n)}return t}function Ci(e){return Yt(e)||nr(e)||ut(e)||zt()}function ap(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=op(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
272
272
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,u;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,u=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw u}}}}function op(e,t){if(e){if(typeof e=="string")return Mc(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Mc(e,t)}}function Mc(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var sp=["warning","error","info"];function Pi(e){var t=e.split(/\r?\n/),r=[],n=ap(t),i;try{for(n.s();!(i=n.n()).done;){var a=i.value;if(!(a.length<=1)){var s=a.split(":"),u=Ci(s),f=u[0],l=u[1],_=u[2],E=u.slice(3),p=parseInt(_,10);isNaN(p)&&(p=0);var d=parseInt(l,10);isNaN(d)&&(d=0);var h=f.toLowerCase(),m=sp.includes(h)?h:"info";r.push({message:E.join(":").trim(),type:m,lineNum:p,linePos:d})}}}catch(R){n.e(R)}finally{n.f()}return r}function Ic(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function cp(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ic(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ic(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function up(e){var t=fp();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function fp(){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 Fc=function(e){L(r,e);var t=up(r);function r(n,i){var a;switch(b(this,r),a=t.call(this,n,cp({id:lp(i)},i)),c(g(a),"device",void 0),c(g(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 C(r,[{key:"destroy",value:function(){this.handle&&(this.removeStats(),this.device.gl.deleteShader(this.handle),this.destroyed=!0)}},{key:"compilationInfo",value:function(){var n=re(Ni.default.mark(function a(){var s;return Ni.default.wrap(function(f){for(;;)switch(f.prev=f.next){case 0:return s=this.device.gl.getShaderInfoLog(this.handle),f.abrupt("return",s?Pi(s):[]);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(m){return m.startsWith("#version ")?m:`#version 100
273
273
  `.concat(m)};i=a(i);var s=this.device.gl;s.shaderSource(this.handle,i),s.compileShader(this.handle);var u=s.getShaderParameter(this.handle,o.COMPILE_STATUS);if(!u){var f=s.getShaderInfoLog(this.handle),l=f?Pi(f):[],_=l.filter(function(h){return h.type==="error"}),E=Nn(_,i),p=bi(i).name,d="".concat(this.stage," shader ").concat(p);throw W.error("GLSL compilation errors in ".concat(d,`
274
274
  `).concat(E))(),new Error("GLSL compilation errors in ".concat(p))}}}]),r}(Sn);function lp(e){return bi(e.source).name||e.id||ee("unnamed ".concat(e.stage,"-shader"))}function Dc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function _p(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Dc(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Dc(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Ep(e){var t=pp();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function pp(){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 dp=256,hp=1024,mp=16384,Mi=6144,xc=function(e){L(r,e);var t=Ep(r);function r(n,i){var a;return b(this,r),a=t.call(this,n,i),c(g(a),"device",void 0),c(g(a),"glParameters",void 0),a.device=n,a.setParameters(a.props.parameters),a.clear(),a}return C(r,[{key:"end",value:function(){}},{key:"pushDebugGroup",value:function(i){}},{key:"popDebugGroup",value:function(){}},{key:"insertDebugMarker",value:function(i){}},{key:"setParameters",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a={};this.props.framebuffer&&(a.framebuffer=this.props.framebuffer),this.props.depthReadOnly&&(a.depthMask=!this.props.depthReadOnly),a.stencilMask=this.props.stencilReadOnly?0:1,a[o.RASTERIZER_DISCARD]=this.props.discard,i.viewport&&(a.viewport=i.viewport,a.depthRange=[i.viewport[4],i.viewport[5]]),a.scissorTest=Boolean(i.scissorRect),i.scissorRect&&(a.scissor=i.scissorRect),i.blendConstant&&(a.blendColor=i.blendConstant),i.stencilReference&&(console.warn("RenderPassParameters.stencilReference not yet implemented in WebGL"),i[o.STENCIL_REF]=i.stencilReference),this.glParameters=a}},{key:"clear",value:function(){var i=this,a=_p({},this.glParameters),s=0;this.props.clearColor!==!1&&(s|=mp,a.clearColor=this.props.clearColor),this.props.clearDepth!==!1&&(s|=dp,a.clearDepth=this.props.clearDepth),this.props.clearStencil!==!1&&(s|=hp,a.clearStencil=this.props.clearStencil),s!==0&&st(this.device,a,function(){i.device.gl.clear(s)})}},{key:"clearColorBuffer",value:function(){var i=this,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0,0,0,0];st(this.device.gl2,{framebuffer:this.props.framebuffer},function(){switch(s.constructor){case Int32Array:i.device.gl2.clearBufferiv(Mi,a,s);break;case Uint32Array:i.device.gl2.clearBufferuiv(Mi,a,s);break;case Float32Array:default:i.device.gl2.clearBufferfv(Mi,a,s);break}})}}]),r}(Pr);var ne;function Bc(e){return Rp.includes(e)}var Rp=[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],Uc=(ne={},c(ne,o.FLOAT,[o.FLOAT,1,"float","f32","float32"]),c(ne,o.FLOAT_VEC2,[o.FLOAT,2,"vec2","vec2<f32>","float32x2"]),c(ne,o.FLOAT_VEC3,[o.FLOAT,3,"vec3","vec3<f32>","float32x3"]),c(ne,o.FLOAT_VEC4,[o.FLOAT,4,"vec4","vec4<f32>","float32x4"]),c(ne,o.INT,[o.INT,1,"int","i32","sint32"]),c(ne,o.INT_VEC2,[o.INT,2,"ivec2","vec2<i32>","sint32x2"]),c(ne,o.INT_VEC3,[o.INT,3,"ivec3","vec3<i32>","sint32x3"]),c(ne,o.INT_VEC4,[o.INT,4,"ivec4","vec4<i32>","sint32x4"]),c(ne,o.UNSIGNED_INT,[o.UNSIGNED_INT,1,"uint","u32","uint32"]),c(ne,o.UNSIGNED_INT_VEC2,[o.UNSIGNED_INT,2,"uvec2","vec2<u32>","uint32x2"]),c(ne,o.UNSIGNED_INT_VEC3,[o.UNSIGNED_INT,3,"uvec3","vec3<u32>","uint32x3"]),c(ne,o.UNSIGNED_INT_VEC4,[o.UNSIGNED_INT,4,"uvec4","vec4<u32>","uint32x4"]),c(ne,o.BOOL,[o.FLOAT,1,"bool","f32","float32x2"]),c(ne,o.BOOL_VEC2,[o.FLOAT,2,"bvec2","vec2<f32>"]),c(ne,o.BOOL_VEC3,[o.FLOAT,3,"bvec3","vec3<f32>"]),c(ne,o.BOOL_VEC4,[o.FLOAT,4,"bvec4","vec4<f32>"]),c(ne,o.FLOAT_MAT2,[o.FLOAT,8,"mat2","mat2x2<f32>"]),c(ne,o.FLOAT_MAT2x3,[o.FLOAT,8,"mat2x3","mat2x3<f32>"]),c(ne,o.FLOAT_MAT2x4,[o.FLOAT,8,"mat2x4","mat2x4<f32>"]),c(ne,o.FLOAT_MAT3x2,[o.FLOAT,12,"mat3x2","mat3x2<f32>"]),c(ne,o.FLOAT_MAT3,[o.FLOAT,12,"mat3","mat3x3<f32>"]),c(ne,o.FLOAT_MAT3x4,[o.FLOAT,12,"mat3x4","mat3x4<f32>"]),c(ne,o.FLOAT_MAT4x2,[o.FLOAT,16,"mat4x2","mat4x2<f32>"]),c(ne,o.FLOAT_MAT4x3,[o.FLOAT,16,"mat4x3","mat4x3<f32>"]),c(ne,o.FLOAT_MAT4,[o.FLOAT,16,"mat4","mat4x4<f32>"]),ne);function Ii(e){var t=Uc[e];if(!t)throw new Error("uniform");var r=j(t,4),n=r[0],i=r[1],a=r[3];return{format:a,components:i,glType:n}}function wc(e){var t=Uc[e];if(!t)throw new Error("attribute");var r=j(t,5),n=r[0],i=r[1],a=r[4];return{format:a,components:i,glType:n}}function Lc(e,t){var r=Ap(e);switch(t){case 1:return r;case 2:return"".concat(r,"x2");case 3:return"".concat(r,"x3");case 4:return"".concat(r,"x4");default:throw new Error(String(t))}}function Ap(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 Ae;function Xc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Hc(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Xc(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Xc(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Fi(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Tp(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
275
275
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,u;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,u=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw u}}}}function Tp(e,t){if(e){if(typeof e=="string")return Wc(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Wc(e,t)}}function Wc(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function kc(e,t){var r,n,i=vp(e,t),a={attributes:[],bindings:[]},s=Fi(i.attributes),u;try{for(s.s();!(u=s.n()).done;){var f=u.value,l=Math.min(f.accessor.size,4),_=Lc(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){s.e(D)}finally{s.f()}var E=Fi(i.uniformBlocks),p;try{for(E.s();!(p=E.n()).done;){var d=p.value,h=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:h})}}catch(D){E.e(D)}finally{E.f()}var m=0,R=Fi(i.uniforms),T;try{for(R.s();!(T=R.n()).done;){var I=T.value;if(Bc(I.type)){var v=Cp(I.type),N=v.viewDimension,M=v.sampleType;a.bindings.push({type:"texture",name:I.name,location:m,viewDimension:N,sampleType:M}),I.textureUnit=m,m+=1}}}catch(D){R.e(D)}finally{R.f()}var F=((r=i.uniforms)===null||r===void 0?void 0:r.filter(function(D){return D.location!==null}))||[];return F.length&&(a.uniforms=F),(n=i.varyings)!==null&&n!==void 0&&n.length&&(a.varyings=i.varyings),a}function vp(e,t){var r={attributes:gp(e,t),uniforms:Op(e,t),uniformBlocks:yp(e,t),varyings:Sp(e,t)};return Object.seal(r),r}function gp(e,t){for(var r=[],n=e.getProgramParameter(t,e.ACTIVE_ATTRIBUTES),i=0;i<n;i++){var a=e.getActiveAttrib(t,i);if(!a)throw new Error("activeInfo");var s=a.name,u=a.type,f=a.size,l=e.getAttribLocation(t,s);if(l>=0){var _=wc(u),E=_.glType,p=_.components,d={type:E,size:f*p};/instance/i.test(s)&&(d.divisor=1);var h={location:l,name:s,accessor:new Ye(d)};r.push(h)}}return r.sort(function(m,R){return m.location-R.location}),r}function Sp(e,t){if(!Q(e))return[];for(var r=e,n=[],i=e.getProgramParameter(t,o.TRANSFORM_FEEDBACK_VARYINGS),a=0;a<i;a++){var s=r.getTransformFeedbackVarying(t,a);if(!s)throw new Error("activeInfo");var u=s.name,f=s.type,l=s.size,_=Ii(f),E=_.glType,p=_.components,d=new Ye({type:E,size:l*p}),h={location:a,name:u,accessor:d};n.push(h)}return n.sort(function(m,R){return m.location-R.location}),n}function Op(e,t){for(var r=[],n=e.getProgramParameter(t,o.ACTIVE_UNIFORMS),i=0;i<n;i++){var a=e.getActiveUniform(t,i);if(!a)throw new Error("activeInfo");var s=a.name,u=a.size,f=a.type,l=Pp(s),_=l.name,E=l.isArray,p=e.getUniformLocation(t,_),d={location:p,name:_,size:u,type:f,isArray:E};if(r.push(d),d.size>1)for(var h=0;h<d.size;h++){var m="".concat(_,"[").concat(h,"]");p=e.getUniformLocation(t,m);var R=Hc(Hc({},d),{},{name:m,location:p});r.push(R)}}return r}function yp(e,t){if(!Q(e))return[];for(var r=e,n=function(R,T){return r.getActiveUniformBlockParameter(t,R,T)},i=[],a=r.getProgramParameter(t,o.ACTIVE_UNIFORM_BLOCKS),s=0;s<a;s++){for(var u={name:r.getActiveUniformBlockName(t,s)||"",location:n(s,o.UNIFORM_BLOCK_BINDING),byteLength:n(s,o.UNIFORM_BLOCK_DATA_SIZE),vertex:n(s,o.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER),fragment:n(s,o.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER),uniformCount:n(s,o.UNIFORM_BLOCK_ACTIVE_UNIFORMS),uniforms:[]},f=n(s,o.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES)||[],l=r.getActiveUniforms(t,f,o.UNIFORM_TYPE),_=r.getActiveUniforms(t,f,o.UNIFORM_SIZE),E=r.getActiveUniforms(t,f,o.UNIFORM_OFFSET),p=r.getActiveUniforms(t,f,o.UNIFORM_ARRAY_STRIDE),d=0;d<u.uniformCount;++d){var h=r.getActiveUniform(t,f[d]);if(!h)throw new Error("activeInfo");u.uniforms.push({name:h.name,format:Ii(l[d]).format,type:l[d],arrayLength:_[d],byteOffset:E[d],byteStride:p[d]})}i.push(u)}return i.sort(function(m,R){return m.location-R.location}),i}var bp=(Ae={},c(Ae,o.SAMPLER_2D,["2d","float"]),c(Ae,o.SAMPLER_CUBE,["cube","float"]),c(Ae,o.SAMPLER_3D,["3d","float"]),c(Ae,o.SAMPLER_2D_SHADOW,["3d","depth"]),c(Ae,o.SAMPLER_2D_ARRAY,["2d-array","float"]),c(Ae,o.SAMPLER_2D_ARRAY_SHADOW,["2d-array","depth"]),c(Ae,o.SAMPLER_CUBE_SHADOW,["cube","float"]),c(Ae,o.INT_SAMPLER_2D,["2d","sint"]),c(Ae,o.INT_SAMPLER_3D,["3d","sint"]),c(Ae,o.INT_SAMPLER_CUBE,["cube","sint"]),c(Ae,o.INT_SAMPLER_2D_ARRAY,["2d-array","uint"]),c(Ae,o.UNSIGNED_INT_SAMPLER_2D,["2d","uint"]),c(Ae,o.UNSIGNED_INT_SAMPLER_3D,["3d","uint"]),c(Ae,o.UNSIGNED_INT_SAMPLER_CUBE,["cube","uint"]),c(Ae,o.UNSIGNED_INT_SAMPLER_2D_ARRAY,["2d-array","uint"]),Ae);function Cp(e){var t=bp[e];if(!t)throw new Error("sampler");var r=j(t,2),n=r[0],i=r[1];return{viewDimension:n,sampleType:i}}function Pp(e){if(e[e.length-1]!=="]")return{name:e,length:1,isArray:!1};var t=/([^[]*)(\[[0-9]+\])?/,r=t.exec(e);if(!r||r.length<2)throw new Error("Failed to parse GLSL uniform name ".concat(e));return{name:r[1],length:r[2]?1:0,isArray:Boolean(r[2])}}function Vc(e,t,r,n){var i=e;if(typeof n=="number")switch(r){case o.SAMPLER_2D:case o.SAMPLER_CUBE:case o.SAMPLER_3D:case o.SAMPLER_2D_SHADOW:case o.SAMPLER_2D_ARRAY:case o.SAMPLER_2D_ARRAY_SHADOW:case o.SAMPLER_CUBE_SHADOW:case o.INT_SAMPLER_2D:case o.INT_SAMPLER_3D:case o.INT_SAMPLER_CUBE:case o.INT_SAMPLER_2D_ARRAY:case o.UNSIGNED_INT_SAMPLER_2D:case o.UNSIGNED_INT_SAMPLER_3D:case o.UNSIGNED_INT_SAMPLER_CUBE:case o.UNSIGNED_INT_SAMPLER_2D_ARRAY:return e.uniform1i(t,n)}n===!0&&(n=1),n===!1&&(n=1);var a=typeof n=="number"?[n]:n;switch(r){case o.FLOAT:return e.uniform1fv(t,a);case o.FLOAT_VEC2:return e.uniform2fv(t,a);case o.FLOAT_VEC3:return e.uniform3fv(t,a);case o.FLOAT_VEC4:return e.uniform4fv(t,a);case o.INT:return e.uniform1iv(t,a);case o.INT_VEC2:return e.uniform2iv(t,a);case o.INT_VEC3:return e.uniform3iv(t,a);case o.INT_VEC4:return e.uniform4iv(t,a);case o.BOOL:return e.uniform1iv(t,a);case o.BOOL_VEC2:return e.uniform2iv(t,a);case o.BOOL_VEC3:return e.uniform3iv(t,a);case o.BOOL_VEC4:return e.uniform4iv(t,a);case o.UNSIGNED_INT:return i.uniform1uiv(t,a,1);case o.UNSIGNED_INT_VEC2:return i.uniform2uiv(t,a,2);case o.UNSIGNED_INT_VEC3:return i.uniform3uiv(t,a,3);case o.UNSIGNED_INT_VEC4:return i.uniform4uiv(t,a,4);case o.FLOAT_MAT2:return e.uniformMatrix2fv(t,!1,a);case o.FLOAT_MAT3:return e.uniformMatrix3fv(t,!1,a);case o.FLOAT_MAT4:return e.uniformMatrix4fv(t,!1,a);case o.FLOAT_MAT2x3:return i.uniformMatrix2x3fv(t,!1,a);case o.FLOAT_MAT2x4:return i.uniformMatrix2x4fv(t,!1,a);case o.FLOAT_MAT3x2:return i.uniformMatrix3x2fv(t,!1,a);case o.FLOAT_MAT3x4:return i.uniformMatrix3x4fv(t,!1,a);case o.FLOAT_MAT4x2:return i.uniformMatrix4x2fv(t,!1,a);case o.FLOAT_MAT4x3:return i.uniformMatrix4x3fv(t,!1,a)}throw new Error("Illegal uniform")}function Np(e){var t=Mp();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function Mp(){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 Ip="elements must be GL.ELEMENT_ARRAY_BUFFER",jc=function(e,t){L(n,e);var r=Np(n);function n(i,a){return b(this,n),r.call(this,i,a,{})}return C(n,[{key:t,get:function(){return"BaseVertexArrayObject"}},{key:"_createHandle",value:function(){return this.gl2.createVertexArray()}},{key:"_deleteHandle",value:function(){return this.gl2.deleteVertexArray(this.handle),[this.elements]}},{key:"_bindHandle",value:function(a){this.gl2.bindVertexArray(a)}},{key:"setElementBuffer",value:function(){var a=this,s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return V(!s||s.target===o.ELEMENT_ARRAY_BUFFER,Ip),this.bind(function(){a.gl.bindBuffer(o.ELEMENT_ARRAY_BUFFER,s?s.handle:null)}),this}},{key:"setBuffer",value:function(a,s,u){var f=this;if(s.target===o.ELEMENT_ARRAY_BUFFER)return this.setElementBuffer(s,u);var l=u.size,_=u.type,E=u.stride,p=u.offset,d=u.normalized,h=u.integer,m=u.divisor,R=this.gl,T=this.gl2;return a=Number(a),this.bind(function(){R.bindBuffer(R.ARRAY_BUFFER,s.handle),h?(f.device.assertWebGL2(),T.vertexAttribIPointer(a,l,_,E,p)):R.vertexAttribPointer(a,l,_,d,E,p),R.enableVertexAttribArray(a),T.vertexAttribDivisor(a,m||0)}),this}},{key:"enable",value:function(a){var s=this,u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,f=this.device.isWebGL2||vr()==="Chrome",l=f||a!==0;return(u||l)&&(a=Number(a),this.bind(function(){return u?s.gl.enableVertexAttribArray(a):s.gl.disableVertexAttribArray(a)})),this}}]),n}(Jr,Symbol.toStringTag);function Kc(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Fp(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
276
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,u;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,u=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw u}}}}function Fp(e,t){if(e){if(typeof e=="string")return Yc(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Yc(e,t)}}function Yc(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Dp(e){var t=xp();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function xp(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var zc=4,Gc=function(e){L(r,e);var t=Dp(r);function r(n,i){var a;b(this,r),a=t.call(this,n,i),c(g(a),"device",void 0),c(g(a),"handle",void 0),c(g(a),"vs",void 0),c(g(a),"fs",void 0),c(g(a),"layout",void 0),c(g(a),"varyings",null),c(g(a),"vertexArrayObject",void 0),c(g(a),"_indexBuffer",void 0),c(g(a),"uniforms",{}),c(g(a),"bindings",{}),c(g(a),"_textureUniforms",{}),c(g(a),"_textureIndexCounter",0),c(g(a),"_uniformCount",0),c(g(a),"_uniformSetters",{}),a.device=n,a.handle=a.props.handle||a.device.gl.createProgram(),a.device.setSpectorMetadata(a.handle,{id:a.props.id}),a.vs=i.vs,a.fs=i.fs;var s=i.varyings,u=i.bufferMode,f=u===void 0?o.SEPARATE_ATTRIBS:u;if(s&&s.length>0){var l;a.device.assertWebGL2(),a.varyings=s,(l=a.device.gl2)===null||l===void 0||l.transformFeedbackVaryings(a.handle,s,f)}return a._compileAndLink(),a.layout=i.layout||kc(a.device.gl,a.handle),a.vertexArrayObject=new jc(a.device),a}return C(r,[{key:"destroy",value:function(){this.handle&&(this.device.gl.deleteProgram(this.handle),this.destroyed=!0)}},{key:"setIndexBuffer",value:function(i){var a=i;this.vertexArrayObject.setElementBuffer(a),this._indexBuffer=i}},{key:"setAttributes",value:function(i){for(var a=0,s=Object.entries(i);a<s.length;a++){var u=j(s[a],2),f=u[0],l=u[1],_=l,E=wp(this.layout,f);if(!E){W.warn('Ignoring buffer supplied for unknown attribute "'.concat(f,'" in pipeline "').concat(this.id,'" (buffer "').concat(l.id,'")'))();continue}var p=Pn(E.format),d=p.type,h=p.components,m=p.byteLength,R=p.normalized,T=p.integer,I=E.stepMode==="instance"?1:0,v=li(d);this.vertexArrayObject.setBuffer(E.location,_,{size:h,type:v,stride:m,offset:0,normalized:R,integer:T,divisor:I})}}},{key:"setBindings",value:function(i){for(var a=this,s=function(){var E=j(f[u],2),p=E[0],d=E[1],h=a.layout.bindings.find(function(m){return m.name===p});if(!h)return W.warn("Unknown binding ".concat(p," in render pipeline ").concat(a.id))(),"continue";switch(d||W.warn("Unsetting binding ".concat(p," in render pipeline ").concat(a.id))(),h.type){case"uniform":if(!(d instanceof je)&&!(d.buffer instanceof je))throw new Error("buffer value");break;case"texture":if(!(d instanceof Ke))throw new Error("texture value");break;case"sampler":W.warn("Ignoring sampler ".concat(p))();break;default:throw new Error(h.type)}a.bindings[p]=d},u=0,f=Object.entries(i);u<f.length;u++)var l=s()}},{key:"setUniforms",value:function(i){Object.assign(this.uniforms,i)}},{key:"draw",value:function(i){var a,s=this,u=i.renderPass,f=i.vertexCount,l=i.instanceCount,_=i.firstVertex,E=_===void 0?0:_,p=Bp(this.props.topology),d=Boolean(this._indexBuffer),h=((a=this._indexBuffer)===null||a===void 0?void 0:a.props.indexType)==="uint16"?o.UNSIGNED_SHORT:o.UNSIGNED_INT,m=Number(i.instanceCount)>0;return!this._areTexturesRenderable()||i.vertexCount===0?!1:(this.device.gl.useProgram(this.handle),this.vertexArrayObject.bind(function(){var R=Up(s.props.topology),T=null;T&&T.begin(R),s._applyBindings(),s._applyUniforms();var I=u;ec(s.device,s.props.parameters,function(){Js(s.device,I.glParameters,function(){if(d&&m){var v;(v=s.device.gl2)===null||v===void 0||v.drawElementsInstanced(p,f||0,h,E,l||0)}else if(d)s.device.gl.drawElements(p,f||0,h,E);else if(m){var N;(N=s.device.gl2)===null||N===void 0||N.drawArraysInstanced(p,E,f||0,l||0)}else s.device.gl.drawArrays(p,E,f||0)}),T&&T.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),W.time(zc,"linkProgram for ".concat(this.id))(),i.linkProgram(this.handle),W.timeEnd(zc,"linkProgram for ".concat(this.id))(),i.debug||W.level>0){var a=i.getProgramParameter(this.handle,i.LINK_STATUS);if(!a)throw new Error("Error linking: ".concat(i.getProgramInfoLog(this.handle)));i.validateProgram(this.handle);var s=i.getProgramParameter(this.handle,i.VALIDATE_STATUS);if(!s)throw new Error("Error validating: ".concat(i.getProgramInfoLog(this.handle)))}}},{key:"_areTexturesRenderable",value:function(){for(var i=!0,a=0,s=Object.entries(this._textureUniforms);a<s.length;a++){var u=j(s[a],2),f=u[1];f.update(),i=i&&f.loaded}for(var l=0,_=Object.entries(this.bindings);l<_.length;l++){var E=j(_[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,s=0,u=Kc(this.layout.bindings),f;try{for(u.s();!(f=u.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,s,p),_ instanceof je?i.bindBufferBase(o.UNIFORM_BUFFER,s,_.handle):i.bindBufferRange(o.UNIFORM_BUFFER,s,_.buffer.handle,_.offset||0,_.size||_.buffer.byteLength-_.offset),s+=1;break;case"texture":if(!(_ instanceof Ke))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(h){u.e(h)}finally{u.f()}}},{key:"_applyUniforms",value:function(){var i=Kc(this.layout.uniforms||[]),a;try{for(i.s();!(a=i.n()).done;){var s,u=a.value,f=u.name,l=u.location,_=u.type,E=u.textureUnit,p=(s=this.uniforms[f])!==null&&s!==void 0?s:E;p!==void 0&&Vc(this.device.gl,l,_,p)}}catch(d){i.e(d)}finally{i.f()}}}]),r}(Mt);function Bp(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 Up(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 wp(e,t){return e.attributes.find(function(r){return r.name===t})||null}function Lp(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Xp(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
277
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,u;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,u=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw u}}}}function Xp(e,t){if(e){if(typeof e=="string")return $c(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return $c(e,t)}}function $c(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Hp(e){var t=Wp();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function Wp(){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 qc=function(e){L(r,e);var t=Hp(r);function r(n){var i;return b(this,r),i=t.call(this,{}),c(g(i),"device",void 0),c(g(i),"commands",[]),i.device=n,i}return C(r,[{key:"submitCommands",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.commands,a=Lp(i),s;try{for(a.s();!(s=a.n()).done;){var u=s.value;switch(u.name){case"copy-buffer-to-buffer":kp(this.device,u.options);break;case"copy-buffer-to-texture":Vp(this.device,u.options);break;case"copy-texture-to-buffer":jp(this.device,u.options);break;case"copy-texture-to-texture":Kp(this.device,u.options);break}}}catch(f){a.e(f)}finally{a.f()}}}]),r}(Cn);function kp(e,t){var r=t.source,n=t.destination,i=e.assertWebGL2();if(i){var a,s;i.bindBuffer(o.COPY_READ_BUFFER,r.handle),i.bindBuffer(o.COPY_WRITE_BUFFER,n.handle),i.copyBufferSubData(o.COPY_READ_BUFFER,o.COPY_WRITE_BUFFER,(a=t.sourceOffset)!==null&&a!==void 0?a:0,(s=t.destinationOffset)!==null&&s!==void 0?s:0,t.size),i.bindBuffer(o.COPY_READ_BUFFER,null),i.bindBuffer(o.COPY_WRITE_BUFFER,null)}else throw new Error("copyBufferToBuffer not implemented in WebGL1")}function Vp(e,t){throw new Error("Not implemented")}function jp(e,t){var r=t.source,n=t.mipLevel,i=n===void 0?0:n,a=t.aspect,s=a===void 0?"all":a,u=t.width,f=u===void 0?t.source.width:u,l=t.height,_=l===void 0?t.source.height:l,E=t.depthOrArrayLayers,p=E===void 0?0:E,d=t.origin,h=d===void 0?[0,0]:d,m=t.destination,R=t.byteOffset,T=R===void 0?0:R,I=t.bytesPerRow,v=t.rowsPerImage;if(s!=="all")throw new Error("not supported");if(i!==0||p!==void 0||I||v)throw new Error("not implemented");var N=e.assertWebGL2(),M=Zc(r),F=M.framebuffer,D=M.destroyFramebuffer;try{var K=m,H=f||F.width,Y=_||F.height,w=o.RGBA,O=o.UNSIGNED_BYTE;N.bindBuffer(o.PIXEL_PACK_BUFFER,K.handle),N.bindFramebuffer(o.FRAMEBUFFER,F.handle),N.readPixels(h[0],h[1],H,Y,w,O,T)}finally{N.bindBuffer(o.PIXEL_PACK_BUFFER,null),N.bindFramebuffer(o.FRAMEBUFFER,null),D&&F.destroy()}}function Kp(e,t){var r=t.source,n=t.origin,i=n===void 0?[0,0]:n,a=t.destination,s=t.width,u=s===void 0?t.destination.width:s,f=t.height,l=f===void 0?t.destination.width:f,_=0,E=o.RGBA,p=Zc(r),d=p.framebuffer,h=p.destroyFramebuffer,m=j(i,2),R=m[0],T=m[1],I=!1;e.gl.bindFramebuffer(o.FRAMEBUFFER,d.handle);var v=null,N;if(a instanceof Ke)v=a,u=Number.isFinite(u)?u:v.width,l=Number.isFinite(l)?l:v.height,v.bind(0),N=v.destination;else throw new Error("whoops");return I||e.gl.copyTexImage2D(N,_,E,R,T,u,l,0),v&&v.unbind(),e.gl.bindFramebuffer(o.FRAMEBUFFER,prevHandle||null),h&&d.destroy(),v}function Zc(e){if(e instanceof Ne){var t=e.width,r=e.height,n=e.id,i=e.device.createFramebuffer({id:"framebuffer-for-".concat(n),width:t,height:r,colorAttachments:[e]});return{framebuffer:i,destroyFramebuffer:!0}}return{framebuffer:e,destroyFramebuffer:!1}}function Yp(e){var t=zp();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function zp(){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 Qc=function(e){L(r,e);var t=Yp(r);function r(n,i){var a;return b(this,r),a=t.call(this,i),c(g(a),"device",void 0),c(g(a),"commandBuffer",void 0),a.device=n,a.commandBuffer=new qc(n),a}return C(r,[{key:"destroy",value:function(){}},{key:"finish",value:function(){this.commandBuffer.submitCommands()}},{key:"copyBufferToBuffer",value:function(i){this.commandBuffer.commands.push({name:"copy-buffer-to-buffer",options:i})}},{key:"copyBufferToTexture",value:function(i){this.commandBuffer.commands.push({name:"copy-buffer-to-texture",options:i})}},{key:"copyTextureToBuffer",value:function(i){this.commandBuffer.commands.push({name:"copy-texture-to-buffer",options:i})}},{key:"copyTextureToTexture",value:function(i){this.commandBuffer.commands.push({name:"copy-texture-to-texture",options:i})}},{key:"pushDebugGroup",value:function(i){}},{key:"popDebugGroup",value:function(){}},{key:"insertDebugMarker",value:function(i){}}]),r}(bn);function Jc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ze(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Jc(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Jc(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Gp(e){var t=$p();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function $p(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var nn=1,Re=function(e){L(r,e);var t=Gp(r);function r(n){var i,a;b(this,r),a=t.call(this,ze(ze({},n),{},{id:n.id||ee("webgl-device")})),c(g(a),"info",void 0),c(g(a),"canvasContext",void 0),c(g(a),"handle",void 0),c(g(a),"lost",void 0),c(g(a),"_resolveContextLost",void 0),c(g(a),"_features",void 0),c(g(a),"_limits",void 0),c(g(a),"renderPass",null),c(g(a),"gl",void 0),c(g(a),"gl2",null),c(g(a),"debug",!1),c(g(a),"isWebGL1",void 0),c(g(a),"isWebGL2",void 0),c(g(a),"_canvasSizeInfo",{clientWidth:0,clientHeight:0,devicePixelRatio:1}),c(g(a),"_extensions",{}),c(g(a),"_polyfilled",!1),c(g(a),"spector",void 0),c(g(a),"_webglLimits",void 0);var s=(i=n.gl)===null||i===void 0?void 0:i.device;if(s)throw new Error("WebGL context already attached to device ".concat(s.id));a.canvasContext=new Ec(g(a),n),a.lost=new Promise(function(m){a._resolveContextLost=m});var u=function(R){var T,I;return(T=(I=a)._resolveContextLost)===null||T===void 0?void 0:T.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||(oe()?Ls(a.canvasContext.canvas,ze(ze({},n),{},{onContextLost:u})):null),f=f||(oe()?null:ms(ze(ze({},n),{},{onContextLost:u}))),!f)throw new Error("WebGL context creation failed");a.handle=f,a.gl=a.handle,a.gl2=a.gl,a.isWebGL2=Zp(a.gl),a.isWebGL1=!a.isWebGL2,a.info=Xs(a.gl),a.gl.device=g(a),a.gl._version=a.isWebGL2?2:1,Cs(a.gl);var l=n.enable,_=l===void 0?!0:l,E=n.copyState,p=E===void 0?!1:E;if(ci(a.gl,{enable:_,copyState:p,log:function(){for(var R=arguments.length,T=new Array(R),I=0;I<R;I++)T[I]=arguments[I];return W.log.apply(W,[1].concat(T))()}}),oe()&&n.debug&&(a.gl=Oc(a.gl,ze(ze({},n),{},{webgl2:a.isWebGL2,throwOnError:!0})),a.gl2=a.gl,a.debug=!0,W.level=Math.max(W.level,1),W.warn("WebGL debug mode activated. Performance reduced.")()),oe()&&n.spector){var d=a.handle.canvas||n.canvas;a.spector=Rc(ze(ze({},a.props),{},{canvas:d}))}var h="Created ".concat(a.info.type).concat(a.debug?" debug":""," context: ").concat(a.info.vendor,", ").concat(a.info.renderer," for canvas: ").concat(a.canvasContext.id);return W.probe(nn,h)(),W.groupEnd(nn)(),a}return C(r,[{key:"features",get:function(){return this._features=this._features||$s(this.gl),this._features}},{key:"limits",get:function(){return this._limits=this._limits||Zs(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 ur(this.gl,i)}},{key:"isTextureFormatFilterable",value:function(i){return js(this.gl,i)}},{key:"isTextureFormatRenderable",value:function(i){return Ks(this.gl,i)}},{key:"assertWebGL2",value:function(){if(!this.gl2)throw new Error("Requires WebGL2");return this.gl2}},{key:"createCanvasContext",value:function(i){throw new Error("WebGL only supports a single canvas")}},{key:"createBuffer",value:function(i){var a=this._getBufferProps(i);return new Nc(this,a)}},{key:"_createTexture",value:function(i){return new Ke(this,i)}},{key:"createExternalTexture",value:function(i){throw new Error("createExternalTexture() not implemented")}},{key:"createSampler",value:function(i){return new Er(this,i)}},{key:"createShader",value:function(i){return new Fc(this,i)}},{key:"createFramebuffer",value:function(i){return new tn(this,i)}},{key:"createRenderPipeline",value:function(i){return new Gc(this,i)}},{key:"beginRenderPass",value:function(i){return new xc(this,i)}},{key:"createComputePipeline",value:function(i){throw new Error("ComputePipeline not supported in WebGL")}},{key:"beginComputePass",value:function(i){throw new Error("compute shaders not supported in WebGL")}},{key:"getDefaultRenderPass",value:function(){return this.renderPass=this.renderPass||this.beginRenderPass({framebuffer:this.canvasContext.getCurrentFramebuffer()}),this.renderPass}},{key:"createCommandEncoder",value:function(i){return new Qc(this,i)}},{key:"submit",value:function(){var i;(i=this.renderPass)===null||i===void 0||i.end(),this.renderPass=null}},{key:"webglLimits",get:function(){return this._webglLimits=this._webglLimits||Qs(this.gl),this._webglLimits}},{key:"loseDevice",value:function(){var i,a=!1,s=this.gl.getExtension("WEBGL_lose_context");return s&&(a=!0,s.loseContext()),(i=this._resolveContextLost)===null||i===void 0||i.call(this,{reason:"destroyed",message:"Application triggered context loss"}),a}},{key:"pushState",value:function(){Rt(this.gl)}},{key:"popState",value:function(){at(this.gl)}},{key:"setSpectorMetadata",value:function(i,a){i.__SPECTOR_Metadata=a}},{key:"getGLKey",value:function(i,a){a=a||this.gl2||this.gl;var s=Number(i);for(var u in a)if(a[u]===s)return"GL.".concat(u);return String(i)}}],[{key:"isSupported",value:function(){return typeof WebGLRenderingContext<"u"||hs()}},{key:"attach",value:function(i){if(i instanceof r)return i;if(i?.device instanceof Zt)return i.device;if(!qp(i))throw new Error("Invalid WebGLRenderingContext");return new r({gl:i})}},{key:"create",value:function(){var n=re(Di.default.mark(function a(){var s,u=arguments;return Di.default.wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(s=u.length>0&&u[0]!==void 0?u[0]:{},W.groupCollapsed(nn,"WebGLDevice created"),typeof s.canvas!="string"){l.next=5;break}return l.next=5,Pt.pageLoaded;case 5:if(!s.debug){l.next=8;break}return l.next=8,Sc();case 8:if(!s.spector){l.next=11;break}return l.next=11,mc();case 11:if(W.probe(nn+1,"DOM is loaded")(),!(s.gl&&s.gl.device)){l.next=14;break}return l.abrupt("return",r.attach(s.gl));case 14:return l.abrupt("return",new r(s));case 15:case"end":return l.stop()}},a)}));function i(){return n.apply(this,arguments)}return i}()}]),r}(Zt);c(Re,"type","webgl");function qp(e){return typeof WebGLRenderingContext<"u"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&Number.isFinite(e._version))}function Zp(e){return typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&e._version===2)}function eu(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function an(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?eu(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):eu(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var tu=function(){function e(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};b(this,e),c(this,"device",void 0),c(this,"gl",void 0),c(this,"elementCount",0),c(this,"elementIDBuffer",null),this.device=Re.attach(t),this.gl=this.device.gl2,this._buildResourceTransforms(r),r=this._updateModelProps(r),this.model=new Ut(this.device,an(an({},r),{},{fs:r.fs||Kn({version:jn(r.vs).version}),id:r.id||"transform-model",drawMode:r.drawMode||o.POINTS,vertexCount:r.elementCount})),Object.seal(this)}return C(e,[{key:"destroy",value:function(){}},{key:"delete",value:function(){this.destroy()}},{key:"run",value:function(r){var n=r||{},i=n.clearRenderTarget,a=i===void 0?!0:i,s=this._updateDrawOptions(r);a&&s.framebuffer}},{key:"swap",value:function(){}},{key:"getBuffer",value:function(r){return null}},{key:"getData",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{}}},{key:"getFramebuffer",value:function(){return null}},{key:"update",value:function(r){}},{key:"_updateModelProps",value:function(r){var n=an({},r);return n}},{key:"_buildResourceTransforms",value:function(r){}},{key:"_updateDrawOptions",value:function(r){var n=an({},r);return n}}],[{key:"isSupported",value:function(r){return!1}}]),e}();function ru(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Qp(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ru(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ru(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var be=function(){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,e),c(this,"id",void 0),c(this,"userData",{}),c(this,"topology",void 0),c(this,"drawMode",o.TRIANGLES),c(this,"vertexCount",void 0),c(this,"attributes",void 0),c(this,"indices",void 0);var r=t.id,n=r===void 0?ee("geometry"):r,i=t.drawMode,a=i===void 0?o.TRIANGLES:i,s=t.attributes,u=s===void 0?{}:s,f=t.indices,l=f===void 0?null:f,_=t.vertexCount,E=_===void 0?null:_;this.id=n,this.drawMode=a,this.topology=t.topology||Jp(a),l&&(this.indices=ArrayBuffer.isView(l)?{value:l,size:1}:l),this.attributes={};for(var p=0,d=Object.entries(u);p<d.length;p++){var h=j(d[p],2),m=h[0],R=h[1],T=ArrayBuffer.isView(R)?{value:R}:R;V(ArrayBuffer.isView(T.value),"".concat(this._print(m),": must be typed array or object with value as typed array")),(m==="POSITION"||m==="positions")&&!T.size&&(T.size=3),m==="indices"?(V(!this.indices),this.indices=T):this.attributes[m]=T}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 C(e,[{key:"mode",get:function(){return this.drawMode}},{key:"getVertexCount",value:function(){return this.vertexCount}},{key:"getAttributes",value:function(){return this.indices?Qp({indices:this.indices},this.attributes):this.attributes}},{key:"_print",value:function(r){return"Geometry ".concat(this.id," attribute ").concat(r)}},{key:"_setAttributes",value:function(r,n){return this}},{key:"_calculateVertexCount",value:function(r,n){if(n)return n.value.length;var i=1/0;for(var a in r){var s=r[a],u=s.value,f=s.size,l=s.constant;!l&&u&&f>=1&&(i=Math.min(i,u.length/f))}return V(Number.isFinite(i)),i}}]),e}();c(be,"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 Jp(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 nu;function iu(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function au(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?iu(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):iu(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function ed(e){var t=td();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function td(){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 rd=Xa(nu||(nu=fe([`attribute vec2 aClipSpacePosition;
276
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,u;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,u=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw u}}}}function Fp(e,t){if(e){if(typeof e=="string")return Yc(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Yc(e,t)}}function Yc(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Dp(e){var t=xp();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function xp(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var zc=4,Gc=function(e){L(r,e);var t=Dp(r);function r(n,i){var a;b(this,r),a=t.call(this,n,i),c(g(a),"device",void 0),c(g(a),"handle",void 0),c(g(a),"vs",void 0),c(g(a),"fs",void 0),c(g(a),"layout",void 0),c(g(a),"varyings",null),c(g(a),"vertexArrayObject",void 0),c(g(a),"_indexBuffer",void 0),c(g(a),"uniforms",{}),c(g(a),"bindings",{}),c(g(a),"_textureUniforms",{}),c(g(a),"_textureIndexCounter",0),c(g(a),"_uniformCount",0),c(g(a),"_uniformSetters",{}),a.device=n,a.handle=a.props.handle||a.device.gl.createProgram(),a.device.setSpectorMetadata(a.handle,{id:a.props.id}),a.vs=i.vs,a.fs=i.fs;var s=i.varyings,u=i.bufferMode,f=u===void 0?o.SEPARATE_ATTRIBS:u;if(s&&s.length>0){var l;a.device.assertWebGL2(),a.varyings=s,(l=a.device.gl2)===null||l===void 0||l.transformFeedbackVaryings(a.handle,s,f)}return a._compileAndLink(),a.layout=i.layout||kc(a.device.gl,a.handle),a.vertexArrayObject=new jc(a.device),a}return C(r,[{key:"destroy",value:function(){this.handle&&(this.device.gl.deleteProgram(this.handle),this.destroyed=!0)}},{key:"setIndexBuffer",value:function(i){var a=i;this.vertexArrayObject.setElementBuffer(a),this._indexBuffer=i}},{key:"setAttributes",value:function(i){for(var a=0,s=Object.entries(i);a<s.length;a++){var u=j(s[a],2),f=u[0],l=u[1],_=l,E=wp(this.layout,f);if(!E){W.warn('Ignoring buffer supplied for unknown attribute "'.concat(f,'" in pipeline "').concat(this.id,'" (buffer "').concat(l.id,'")'))();continue}var p=Pn(E.format),d=p.type,h=p.components,m=p.byteLength,R=p.normalized,T=p.integer,I=E.stepMode==="instance"?1:0,v=li(d);this.vertexArrayObject.setBuffer(E.location,_,{size:h,type:v,stride:m,offset:0,normalized:R,integer:T,divisor:I})}}},{key:"setBindings",value:function(i){for(var a=this,s=function(){var E=j(f[u],2),p=E[0],d=E[1],h=a.layout.bindings.find(function(m){return m.name===p});if(!h)return W.warn("Unknown binding ".concat(p," in render pipeline ").concat(a.id))(),"continue";switch(d||W.warn("Unsetting binding ".concat(p," in render pipeline ").concat(a.id))(),h.type){case"uniform":if(!(d instanceof je)&&!(d.buffer instanceof je))throw new Error("buffer value");break;case"texture":if(!(d instanceof Ke))throw new Error("texture value");break;case"sampler":W.warn("Ignoring sampler ".concat(p))();break;default:throw new Error(h.type)}a.bindings[p]=d},u=0,f=Object.entries(i);u<f.length;u++)var l=s()}},{key:"setUniforms",value:function(i){Object.assign(this.uniforms,i)}},{key:"draw",value:function(i){var a,s=this,u=i.renderPass,f=i.vertexCount,l=i.instanceCount,_=i.firstVertex,E=_===void 0?0:_,p=Bp(this.props.topology),d=Boolean(this._indexBuffer),h=((a=this._indexBuffer)===null||a===void 0?void 0:a.props.indexType)==="uint16"?o.UNSIGNED_SHORT:o.UNSIGNED_INT,m=Number(i.instanceCount)>0;return!this._areTexturesRenderable()||i.vertexCount===0?!1:(this.device.gl.useProgram(this.handle),this.vertexArrayObject.bind(function(){var R=Up(s.props.topology),T=null;T&&T.begin(R),s._applyBindings(),s._applyUniforms();var I=u;ec(s.device,s.props.parameters,function(){Js(s.device,I.glParameters,function(){if(d&&m){var v;(v=s.device.gl2)===null||v===void 0||v.drawElementsInstanced(p,f||0,h,E,l||0)}else if(d)s.device.gl.drawElements(p,f||0,h,E);else if(m){var N;(N=s.device.gl2)===null||N===void 0||N.drawArraysInstanced(p,E,f||0,l||0)}else s.device.gl.drawArrays(p,E,f||0)}),T&&T.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),W.time(zc,"linkProgram for ".concat(this.id))(),i.linkProgram(this.handle),W.timeEnd(zc,"linkProgram for ".concat(this.id))(),i.debug||W.level>0){var a=i.getProgramParameter(this.handle,i.LINK_STATUS);if(!a)throw new Error("Error linking: ".concat(i.getProgramInfoLog(this.handle)));i.validateProgram(this.handle);var s=i.getProgramParameter(this.handle,i.VALIDATE_STATUS);if(!s)throw new Error("Error validating: ".concat(i.getProgramInfoLog(this.handle)))}}},{key:"_areTexturesRenderable",value:function(){for(var i=!0,a=0,s=Object.entries(this._textureUniforms);a<s.length;a++){var u=j(s[a],2),f=u[1];f.update(),i=i&&f.loaded}for(var l=0,_=Object.entries(this.bindings);l<_.length;l++){var E=j(_[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,s=0,u=Kc(this.layout.bindings),f;try{for(u.s();!(f=u.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,s,p),_ instanceof je?i.bindBufferBase(o.UNIFORM_BUFFER,s,_.handle):i.bindBufferRange(o.UNIFORM_BUFFER,s,_.buffer.handle,_.offset||0,_.size||_.buffer.byteLength-_.offset),s+=1;break;case"texture":if(!(_ instanceof Ke))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(h){u.e(h)}finally{u.f()}}},{key:"_applyUniforms",value:function(){var i=Kc(this.layout.uniforms||[]),a;try{for(i.s();!(a=i.n()).done;){var s,u=a.value,f=u.name,l=u.location,_=u.type,E=u.textureUnit,p=(s=this.uniforms[f])!==null&&s!==void 0?s:E;p!==void 0&&Vc(this.device.gl,l,_,p)}}catch(d){i.e(d)}finally{i.f()}}}]),r}(It);function Bp(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 Up(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 wp(e,t){return e.attributes.find(function(r){return r.name===t})||null}function Lp(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Xp(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
277
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,u;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,u=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw u}}}}function Xp(e,t){if(e){if(typeof e=="string")return $c(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return $c(e,t)}}function $c(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Hp(e){var t=Wp();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function Wp(){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 qc=function(e){L(r,e);var t=Hp(r);function r(n){var i;return b(this,r),i=t.call(this,{}),c(g(i),"device",void 0),c(g(i),"commands",[]),i.device=n,i}return C(r,[{key:"submitCommands",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.commands,a=Lp(i),s;try{for(a.s();!(s=a.n()).done;){var u=s.value;switch(u.name){case"copy-buffer-to-buffer":kp(this.device,u.options);break;case"copy-buffer-to-texture":Vp(this.device,u.options);break;case"copy-texture-to-buffer":jp(this.device,u.options);break;case"copy-texture-to-texture":Kp(this.device,u.options);break}}}catch(f){a.e(f)}finally{a.f()}}}]),r}(Cn);function kp(e,t){var r=t.source,n=t.destination,i=e.assertWebGL2();if(i){var a,s;i.bindBuffer(o.COPY_READ_BUFFER,r.handle),i.bindBuffer(o.COPY_WRITE_BUFFER,n.handle),i.copyBufferSubData(o.COPY_READ_BUFFER,o.COPY_WRITE_BUFFER,(a=t.sourceOffset)!==null&&a!==void 0?a:0,(s=t.destinationOffset)!==null&&s!==void 0?s:0,t.size),i.bindBuffer(o.COPY_READ_BUFFER,null),i.bindBuffer(o.COPY_WRITE_BUFFER,null)}else throw new Error("copyBufferToBuffer not implemented in WebGL1")}function Vp(e,t){throw new Error("Not implemented")}function jp(e,t){var r=t.source,n=t.mipLevel,i=n===void 0?0:n,a=t.aspect,s=a===void 0?"all":a,u=t.width,f=u===void 0?t.source.width:u,l=t.height,_=l===void 0?t.source.height:l,E=t.depthOrArrayLayers,p=E===void 0?0:E,d=t.origin,h=d===void 0?[0,0]:d,m=t.destination,R=t.byteOffset,T=R===void 0?0:R,I=t.bytesPerRow,v=t.rowsPerImage;if(s!=="all")throw new Error("not supported");if(i!==0||p!==void 0||I||v)throw new Error("not implemented");var N=e.assertWebGL2(),M=Zc(r),F=M.framebuffer,D=M.destroyFramebuffer;try{var K=m,H=f||F.width,Y=_||F.height,w=o.RGBA,O=o.UNSIGNED_BYTE;N.bindBuffer(o.PIXEL_PACK_BUFFER,K.handle),N.bindFramebuffer(o.FRAMEBUFFER,F.handle),N.readPixels(h[0],h[1],H,Y,w,O,T)}finally{N.bindBuffer(o.PIXEL_PACK_BUFFER,null),N.bindFramebuffer(o.FRAMEBUFFER,null),D&&F.destroy()}}function Kp(e,t){var r=t.source,n=t.origin,i=n===void 0?[0,0]:n,a=t.destination,s=t.width,u=s===void 0?t.destination.width:s,f=t.height,l=f===void 0?t.destination.width:f,_=0,E=o.RGBA,p=Zc(r),d=p.framebuffer,h=p.destroyFramebuffer,m=j(i,2),R=m[0],T=m[1],I=!1;e.gl.bindFramebuffer(o.FRAMEBUFFER,d.handle);var v=null,N;if(a instanceof Ke)v=a,u=Number.isFinite(u)?u:v.width,l=Number.isFinite(l)?l:v.height,v.bind(0),N=v.destination;else throw new Error("whoops");return I||e.gl.copyTexImage2D(N,_,E,R,T,u,l,0),v&&v.unbind(),e.gl.bindFramebuffer(o.FRAMEBUFFER,prevHandle||null),h&&d.destroy(),v}function Zc(e){if(e instanceof Ne){var t=e.width,r=e.height,n=e.id,i=e.device.createFramebuffer({id:"framebuffer-for-".concat(n),width:t,height:r,colorAttachments:[e]});return{framebuffer:i,destroyFramebuffer:!0}}return{framebuffer:e,destroyFramebuffer:!1}}function Yp(e){var t=zp();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function zp(){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 Qc=function(e){L(r,e);var t=Yp(r);function r(n,i){var a;return b(this,r),a=t.call(this,i),c(g(a),"device",void 0),c(g(a),"commandBuffer",void 0),a.device=n,a.commandBuffer=new qc(n),a}return C(r,[{key:"destroy",value:function(){}},{key:"finish",value:function(){this.commandBuffer.submitCommands()}},{key:"copyBufferToBuffer",value:function(i){this.commandBuffer.commands.push({name:"copy-buffer-to-buffer",options:i})}},{key:"copyBufferToTexture",value:function(i){this.commandBuffer.commands.push({name:"copy-buffer-to-texture",options:i})}},{key:"copyTextureToBuffer",value:function(i){this.commandBuffer.commands.push({name:"copy-texture-to-buffer",options:i})}},{key:"copyTextureToTexture",value:function(i){this.commandBuffer.commands.push({name:"copy-texture-to-texture",options:i})}},{key:"pushDebugGroup",value:function(i){}},{key:"popDebugGroup",value:function(){}},{key:"insertDebugMarker",value:function(i){}}]),r}(bn);function Jc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ze(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Jc(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Jc(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Gp(e){var t=$p();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function $p(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var nn=1,Re=function(e){L(r,e);var t=Gp(r);function r(n){var i,a;b(this,r),a=t.call(this,ze(ze({},n),{},{id:n.id||ee("webgl-device")})),c(g(a),"info",void 0),c(g(a),"canvasContext",void 0),c(g(a),"handle",void 0),c(g(a),"lost",void 0),c(g(a),"_resolveContextLost",void 0),c(g(a),"_features",void 0),c(g(a),"_limits",void 0),c(g(a),"renderPass",null),c(g(a),"gl",void 0),c(g(a),"gl2",null),c(g(a),"debug",!1),c(g(a),"isWebGL1",void 0),c(g(a),"isWebGL2",void 0),c(g(a),"_canvasSizeInfo",{clientWidth:0,clientHeight:0,devicePixelRatio:1}),c(g(a),"_extensions",{}),c(g(a),"_polyfilled",!1),c(g(a),"spector",void 0),c(g(a),"_webglLimits",void 0);var s=(i=n.gl)===null||i===void 0?void 0:i.device;if(s)throw new Error("WebGL context already attached to device ".concat(s.id));a.canvasContext=new Ec(g(a),n),a.lost=new Promise(function(m){a._resolveContextLost=m});var u=function(R){var T,I;return(T=(I=a)._resolveContextLost)===null||T===void 0?void 0:T.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||(oe()?Ls(a.canvasContext.canvas,ze(ze({},n),{},{onContextLost:u})):null),f=f||(oe()?null:ms(ze(ze({},n),{},{onContextLost:u}))),!f)throw new Error("WebGL context creation failed");a.handle=f,a.gl=a.handle,a.gl2=a.gl,a.isWebGL2=Zp(a.gl),a.isWebGL1=!a.isWebGL2,a.info=Xs(a.gl),a.gl.device=g(a),a.gl._version=a.isWebGL2?2:1,Cs(a.gl);var l=n.enable,_=l===void 0?!0:l,E=n.copyState,p=E===void 0?!1:E;if(ci(a.gl,{enable:_,copyState:p,log:function(){for(var R=arguments.length,T=new Array(R),I=0;I<R;I++)T[I]=arguments[I];return W.log.apply(W,[1].concat(T))()}}),oe()&&n.debug&&(a.gl=Oc(a.gl,ze(ze({},n),{},{webgl2:a.isWebGL2,throwOnError:!0})),a.gl2=a.gl,a.debug=!0,W.level=Math.max(W.level,1),W.warn("WebGL debug mode activated. Performance reduced.")()),oe()&&n.spector){var d=a.handle.canvas||n.canvas;a.spector=Rc(ze(ze({},a.props),{},{canvas:d}))}var h="Created ".concat(a.info.type).concat(a.debug?" debug":""," context: ").concat(a.info.vendor,", ").concat(a.info.renderer," for canvas: ").concat(a.canvasContext.id);return W.probe(nn,h)(),W.groupEnd(nn)(),a}return C(r,[{key:"features",get:function(){return this._features=this._features||$s(this.gl),this._features}},{key:"limits",get:function(){return this._limits=this._limits||Zs(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 ur(this.gl,i)}},{key:"isTextureFormatFilterable",value:function(i){return js(this.gl,i)}},{key:"isTextureFormatRenderable",value:function(i){return Ks(this.gl,i)}},{key:"assertWebGL2",value:function(){if(!this.gl2)throw new Error("Requires WebGL2");return this.gl2}},{key:"createCanvasContext",value:function(i){throw new Error("WebGL only supports a single canvas")}},{key:"createBuffer",value:function(i){var a=this._getBufferProps(i);return new Nc(this,a)}},{key:"_createTexture",value:function(i){return new Ke(this,i)}},{key:"createExternalTexture",value:function(i){throw new Error("createExternalTexture() not implemented")}},{key:"createSampler",value:function(i){return new Er(this,i)}},{key:"createShader",value:function(i){return new Fc(this,i)}},{key:"createFramebuffer",value:function(i){return new tn(this,i)}},{key:"createRenderPipeline",value:function(i){return new Gc(this,i)}},{key:"beginRenderPass",value:function(i){return new xc(this,i)}},{key:"createComputePipeline",value:function(i){throw new Error("ComputePipeline not supported in WebGL")}},{key:"beginComputePass",value:function(i){throw new Error("compute shaders not supported in WebGL")}},{key:"getDefaultRenderPass",value:function(){return this.renderPass=this.renderPass||this.beginRenderPass({framebuffer:this.canvasContext.getCurrentFramebuffer()}),this.renderPass}},{key:"createCommandEncoder",value:function(i){return new Qc(this,i)}},{key:"submit",value:function(){var i;(i=this.renderPass)===null||i===void 0||i.end(),this.renderPass=null}},{key:"webglLimits",get:function(){return this._webglLimits=this._webglLimits||Qs(this.gl),this._webglLimits}},{key:"loseDevice",value:function(){var i,a=!1,s=this.gl.getExtension("WEBGL_lose_context");return s&&(a=!0,s.loseContext()),(i=this._resolveContextLost)===null||i===void 0||i.call(this,{reason:"destroyed",message:"Application triggered context loss"}),a}},{key:"pushState",value:function(){At(this.gl)}},{key:"popState",value:function(){at(this.gl)}},{key:"setSpectorMetadata",value:function(i,a){i.__SPECTOR_Metadata=a}},{key:"getGLKey",value:function(i,a){a=a||this.gl2||this.gl;var s=Number(i);for(var u in a)if(a[u]===s)return"GL.".concat(u);return String(i)}}],[{key:"isSupported",value:function(){return typeof WebGLRenderingContext<"u"||hs()}},{key:"attach",value:function(i){if(i instanceof r)return i;if(i?.device instanceof Zt)return i.device;if(!qp(i))throw new Error("Invalid WebGLRenderingContext");return new r({gl:i})}},{key:"create",value:function(){var n=re(Di.default.mark(function a(){var s,u=arguments;return Di.default.wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(s=u.length>0&&u[0]!==void 0?u[0]:{},W.groupCollapsed(nn,"WebGLDevice created"),typeof s.canvas!="string"){l.next=5;break}return l.next=5,Nt.pageLoaded;case 5:if(!s.debug){l.next=8;break}return l.next=8,Sc();case 8:if(!s.spector){l.next=11;break}return l.next=11,mc();case 11:if(W.probe(nn+1,"DOM is loaded")(),!(s.gl&&s.gl.device)){l.next=14;break}return l.abrupt("return",r.attach(s.gl));case 14:return l.abrupt("return",new r(s));case 15:case"end":return l.stop()}},a)}));function i(){return n.apply(this,arguments)}return i}()}]),r}(Zt);c(Re,"type","webgl");function qp(e){return typeof WebGLRenderingContext<"u"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&Number.isFinite(e._version))}function Zp(e){return typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&e._version===2)}function eu(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function an(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?eu(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):eu(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var tu=function(){function e(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};b(this,e),c(this,"device",void 0),c(this,"gl",void 0),c(this,"elementCount",0),c(this,"elementIDBuffer",null),this.device=Re.attach(t),this.gl=this.device.gl2,this._buildResourceTransforms(r),r=this._updateModelProps(r),this.model=new Ut(this.device,an(an({},r),{},{fs:r.fs||Kn({version:jn(r.vs).version}),id:r.id||"transform-model",drawMode:r.drawMode||o.POINTS,vertexCount:r.elementCount})),Object.seal(this)}return C(e,[{key:"destroy",value:function(){}},{key:"delete",value:function(){this.destroy()}},{key:"run",value:function(r){var n=r||{},i=n.clearRenderTarget,a=i===void 0?!0:i,s=this._updateDrawOptions(r);a&&s.framebuffer}},{key:"swap",value:function(){}},{key:"getBuffer",value:function(r){return null}},{key:"getData",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{}}},{key:"getFramebuffer",value:function(){return null}},{key:"update",value:function(r){}},{key:"_updateModelProps",value:function(r){var n=an({},r);return n}},{key:"_buildResourceTransforms",value:function(r){}},{key:"_updateDrawOptions",value:function(r){var n=an({},r);return n}}],[{key:"isSupported",value:function(r){return!1}}]),e}();function ru(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Qp(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ru(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ru(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var be=function(){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,e),c(this,"id",void 0),c(this,"userData",{}),c(this,"topology",void 0),c(this,"drawMode",o.TRIANGLES),c(this,"vertexCount",void 0),c(this,"attributes",void 0),c(this,"indices",void 0);var r=t.id,n=r===void 0?ee("geometry"):r,i=t.drawMode,a=i===void 0?o.TRIANGLES:i,s=t.attributes,u=s===void 0?{}:s,f=t.indices,l=f===void 0?null:f,_=t.vertexCount,E=_===void 0?null:_;this.id=n,this.drawMode=a,this.topology=t.topology||Jp(a),l&&(this.indices=ArrayBuffer.isView(l)?{value:l,size:1}:l),this.attributes={};for(var p=0,d=Object.entries(u);p<d.length;p++){var h=j(d[p],2),m=h[0],R=h[1],T=ArrayBuffer.isView(R)?{value:R}:R;V(ArrayBuffer.isView(T.value),"".concat(this._print(m),": must be typed array or object with value as typed array")),(m==="POSITION"||m==="positions")&&!T.size&&(T.size=3),m==="indices"?(V(!this.indices),this.indices=T):this.attributes[m]=T}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 C(e,[{key:"mode",get:function(){return this.drawMode}},{key:"getVertexCount",value:function(){return this.vertexCount}},{key:"getAttributes",value:function(){return this.indices?Qp({indices:this.indices},this.attributes):this.attributes}},{key:"_print",value:function(r){return"Geometry ".concat(this.id," attribute ").concat(r)}},{key:"_setAttributes",value:function(r,n){return this}},{key:"_calculateVertexCount",value:function(r,n){if(n)return n.value.length;var i=1/0;for(var a in r){var s=r[a],u=s.value,f=s.size,l=s.constant;!l&&u&&f>=1&&(i=Math.min(i,u.length/f))}return V(Number.isFinite(i)),i}}]),e}();c(be,"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 Jp(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 nu;function iu(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function au(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?iu(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):iu(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function ed(e){var t=td();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function td(){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 rd=Xa(nu||(nu=fe([`attribute vec2 aClipSpacePosition;
278
278
  attribute vec2 aTexCoord;
279
279
  attribute vec2 aCoordinate;
280
280
 
@@ -303,8 +303,8 @@ void main(void) {
303
303
  coordinate = aCoordinate;
304
304
  uv = aTexCoord;
305
305
  }
306
- `]))),ou=[-1,-1,1,-1,-1,1,1,1],su=function(e){L(r,e);var t=ed(r);function r(n,i){b(this,r);var a=ou.map(function(s){return s===-1?0:s});return t.call(this,Re.attach(n),au(au({},i),{},{vs:rd,vertexCount:4,geometry:new be({drawMode:o.TRIANGLE_STRIP,vertexCount:4,attributes:{aClipSpacePosition:{size:2,value:new Float32Array(ou)},aTexCoord:{size:2,value:new Float32Array(a)},aCoordinate:{size:2,value:new Float32Array(a)}}})}))}return C(r)}(Ut);var Tt=function(){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,e),c(this,"id",void 0),c(this,"matrix",new Ue),c(this,"display",!0),c(this,"position",new Oe),c(this,"rotation",new Oe),c(this,"scale",new Oe(1,1,1)),c(this,"userData",{}),c(this,"props",{});var r=t.id;this.id=r||ee(this.constructor.name),this._setScenegraphNodeProps(t)}return C(e,[{key:"getBounds",value:function(){return null}},{key:"destroy",value:function(){}},{key:"delete",value:function(){this.destroy()}},{key:"setProps",value:function(r){return this._setScenegraphNodeProps(r),this}},{key:"toString",value:function(){return"{type: ScenegraphNode, id: ".concat(this.id,")}")}},{key:"setPosition",value:function(r){return V(r.length===3,"setPosition requires vector argument"),this.position=r,this}},{key:"setRotation",value:function(r){return V(r.length===3,"setRotation requires vector argument"),this.rotation=r,this}},{key:"setScale",value:function(r){return V(r.length===3,"setScale requires vector argument"),this.scale=r,this}},{key:"setMatrix",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;n?this.matrix.copy(r):this.matrix=r}},{key:"setMatrixComponents",value:function(r){var n=r.position,i=r.rotation,a=r.scale,s=r.update,u=s===void 0?!0:s;return n&&this.setPosition(n),i&&this.setRotation(i),a&&this.setScale(a),u&&this.updateMatrix(),this}},{key:"updateMatrix",value:function(){var r=this.position,n=this.rotation,i=this.scale;return this.matrix.identity(),this.matrix.translate(r),this.matrix.rotateXYZ(n),this.matrix.scale(i),this}},{key:"update",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=r.position,i=r.rotation,a=r.scale;return n&&this.setPosition(n),i&&this.setRotation(i),a&&this.setScale(a),this.updateMatrix(),this}},{key:"getCoordinateUniforms",value:function(r,n){V(r),n=n||this.matrix;var i=new Ue(r).multiplyRight(n),a=i.invert(),s=a.transpose();return{viewMatrix:r,modelMatrix:n,objectMatrix:n,worldMatrix:i,worldInverseMatrix:a,worldInverseTransposeMatrix:s}}},{key:"_setScenegraphNodeProps",value:function(r){"display"in r&&(this.display=r.display),"position"in r&&this.setPosition(r.position),"rotation"in r&&this.setRotation(r.rotation),"scale"in r&&this.setScale(r.scale),"matrix"in r&&this.setMatrix(r.matrix),Object.assign(this.props,r)}}]),e}();function nd(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=id(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
307
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,u;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,u=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw u}}}}function id(e,t){if(e){if(typeof e=="string")return cu(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return cu(e,t)}}function cu(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function ad(e){var t=od();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function od(){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 uu=function(e){L(r,e);var t=ad(r);function r(){var n,i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,r),i=Array.isArray(i)?{children:i}:i;var a=i,s=a.children,u=s===void 0?[]:s;return W.assert(u.every(function(f){return f instanceof Tt}),"every child must an instance of ScenegraphNode"),n=t.call(this,i),c(g(n),"children",void 0),n.children=u,n}return C(r,[{key:"getBounds",value:function(){var i=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];return this.traverse(function(a,s){var u=s.worldMatrix,f=a.getBounds();if(f){var l=j(f,2),_=l[0],E=l[1],p=new Oe(_).add(E).divide([2,2,2]);u.transformAsPoint(p,p);var d=new Oe(E).subtract(_).divide([2,2,2]);u.transformAsVector(d,d);for(var h=0;h<8;h++)for(var m=new Oe(h&1?-1:1,h&2?-1:1,h&4?-1:1).multiply(d).add(p),R=0;R<3;R++)i[0][R]=Math.min(i[0][R],m[R]),i[1][R]=Math.max(i[1][R],m[R])}}),Number.isFinite(i[0][0])?i:null}},{key:"destroy",value:function(){this.children.forEach(function(i){return i.destroy()}),this.removeAll(),ot(y(r.prototype),"destroy",this).call(this)}},{key:"add",value:function(){for(var i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];for(var u=0,f=a;u<f.length;u++){var l=f[u];Array.isArray(l)?this.add.apply(this,ae(l)):this.children.push(l)}return this}},{key:"remove",value:function(i){var a=this.children,s=a.indexOf(i);return s>-1&&a.splice(s,1),this}},{key:"removeAll",value:function(){return this.children=[],this}},{key:"traverse",value:function(i){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=a.worldMatrix,u=s===void 0?new Ue:s,f=new Ue(u).multiplyRight(this.matrix),l=nd(this.children),_;try{for(l.s();!(_=l.n()).done;){var E=_.value;E instanceof r?E.traverse(i,{worldMatrix:f}):i(E,{worldMatrix:f})}}catch(p){l.e(p)}finally{l.f()}}}]),r}(Tt);function sd(e){var t=cd();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function cd(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var fu=function(e){L(r,e);var t=sd(r);function r(n){var i;return b(this,r),i=t.call(this,n),c(g(i),"model",void 0),c(g(i),"bounds",null),c(g(i),"managedResources",void 0),i.model=n.model,i.managedResources=n.managedResources||[],i.bounds=n.bounds||null,i.setProps(n),i}return C(r,[{key:"getBounds",value:function(){return this.bounds}},{key:"destroy",value:function(){this.model&&(this.model.destroy(),this.model=null),this.managedResources.forEach(function(i){return i.destroy()}),this.managedResources=[]}},{key:"draw",value:function(i){return this.model.draw(i)}}]),r}(Tt);function lu(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function xi(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?lu(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):lu(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function ud(e){var t=fd();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function fd(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var ld={x:[2,0,1],y:[0,1,2],z:[1,2,0]};var Kt=function(e){L(r,e);var t=ud(r);function r(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,r);var i=n.id,a=i===void 0?ee("truncated-code-geometry"):i,s=_d(n),u=s.indices,f=s.attributes;return t.call(this,xi(xi({},n),{},{id:a,indices:u,attributes:xi({POSITION:{size:3,value:f.POSITION},NORMAL:{size:3,value:f.NORMAL},TEXCOORD_0:{size:2,value:f.TEXCOORD_0}},n.attributes)}))}return C(r)}(be);function _d(){for(var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.bottomRadius,r=t===void 0?0:t,n=e.topRadius,i=n===void 0?0:n,a=e.height,s=a===void 0?1:a,u=e.nradial,f=u===void 0?10:u,l=e.nvertical,_=l===void 0?10:l,E=e.verticalAxis,p=E===void 0?"y":E,d=e.topCap,h=d===void 0?!1:d,m=e.bottomCap,R=m===void 0?!1:m,T=(h?2:0)+(R?2:0),I=(f+1)*(_+1+T),v=Math.atan2(r-i,s),N=Math.sin,M=Math.cos,F=Math.PI,D=M(v),K=N(v),H=h?-2:0,Y=_+(R?2:0),w=f+1,O=new Uint16Array(f*(_+T)*6),A=ld[p],S=new Float32Array(I*3),x=new Float32Array(I*3),k=new Float32Array(I*2),U=0,G=0,z=H;z<=Y;z++){var $=z/_,J=s*$,Z=void 0;z<0?(J=0,$=1,Z=r):z>_?(J=s,$=1,Z=i):Z=r+(i-r)*(z/_),(z===-2||z===_+2)&&(Z=0,$=0),J-=s/2;for(var ue=0;ue<w;ue++){var ge=N(ue*F*2/f),Ce=M(ue*F*2/f);S[U+A[0]]=ge*Z,S[U+A[1]]=J,S[U+A[2]]=Ce*Z,x[U+A[0]]=z<0||z>_?0:ge*D,x[U+A[1]]=z<0?-1:z>_?1:K,x[U+A[2]]=z<0||z>_?0:Ce*D,k[G+0]=ue/f,k[G+1]=$,G+=2,U+=3}}for(var Ee=0;Ee<_+T;Ee++)for(var Se=0;Se<f;Se++){var Ge=(Ee*f+Se)*6;O[Ge+0]=w*(Ee+0)+0+Se,O[Ge+1]=w*(Ee+0)+1+Se,O[Ge+2]=w*(Ee+1)+1+Se,O[Ge+3]=w*(Ee+0)+0+Se,O[Ge+4]=w*(Ee+1)+1+Se,O[Ge+5]=w*(Ee+1)+0+Se}return{indices:O,attributes:{POSITION:S,NORMAL:x,TEXCOORD_0:k}}}function _u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Eu(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?_u(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):_u(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Ed(e){var t=pd();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function pd(){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 pu=function(e){L(r,e);var t=Ed(r);function r(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,r);var i=n.id,a=i===void 0?ee("cone-geometry"):i,s=n.radius,u=s===void 0?1:s,f=n.cap,l=f===void 0?!0:f;return t.call(this,Eu(Eu({},n),{},{id:a,topRadius:0,topCap:Boolean(l),bottomCap:Boolean(l),bottomRadius:u}))}return C(r)}(Kt);function du(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ct(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?du(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):du(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function dd(e){var t=hd();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function hd(){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(r,e);var t=dd(r);function r(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,r);var i=n.id,a=i===void 0?ee("cube-geometry"):i,s=n.indices,u=s===void 0?!0:s;return t.call(this,u?ct(ct({},n),{},{id:a,indices:{size:1,value:md},attributes:ct(ct({},Od),n.attributes)}):ct(ct({},n),{},{id:a,indices:void 0,attributes:ct(ct({},yd),n.attributes)}))}return C(r)}(be),md=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]),Rd=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]),Ad=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]),Td=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]),vd=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]),gd=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]),Sd=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]),Od={POSITION:{size:3,value:Rd},NORMAL:{size:3,value:Ad},TEXCOORD_0:{size:2,value:Td}},yd={POSITION:{size:4,value:vd},TEXCOORD_0:{size:2,value:gd},COLOR_0:{size:3,value:Sd}};function mu(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ru(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?mu(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):mu(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function bd(e){var t=Cd();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function Cd(){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=function(e){L(r,e);var t=bd(r);function r(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,r);var i=n.id,a=i===void 0?ee("cylinder-geometry"):i,s=n.radius,u=s===void 0?1:s;return t.call(this,Ru(Ru({},n),{},{id:a,bottomRadius:u,topRadius:u}))}return C(r)}(Kt);function Tu(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function on(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Tu(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Tu(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Pd(e){var t=Nd();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function Nd(){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 Md=[-1,0,0,0,1,0,0,0,-1,0,0,1,0,-1,0,1,0,0],Id=[3,4,5,3,5,1,3,1,0,3,0,4,4,0,2,4,2,5,2,0,1,5,2,1],vu=function(e){L(r,e);var t=Pd(r);function r(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,r);var i=n.id,a=i===void 0?ee("ico-sphere-geometry"):i,s=Fd(n),u=s.indices,f=s.attributes;return t.call(this,on(on({},n),{},{id:a,indices:u,attributes:on(on({},f),n.attributes)}))}return C(r)}(be);function Fd(e){var t=e.iterations,r=t===void 0?0:t,n=Math.PI,i=n*2,a=[].concat(Md),s=[].concat(Id);a.push(),s.push();for(var u=function(){var un={};return function(et,tt){et*=3,tt*=3;var Mu=et<tt?et:tt,Iu=et>tt?et:tt,fn="".concat(Mu,"|").concat(Iu);if(fn in un)return un[fn];var Fu=a[et],Du=a[et+1],xu=a[et+2],Bu=a[tt],Uu=a[tt+1],wu=a[tt+2],dr=(Fu+Bu)/2,hr=(Du+Uu)/2,mr=(xu+wu)/2,ln=Math.sqrt(dr*dr+hr*hr+mr*mr);return dr/=ln,hr/=ln,mr/=ln,a.push(dr,hr,mr),un[fn]=a.length/3-1}}(),f=0;f<r;f++){for(var l=[],_=0;_<s.length;_+=3){var E=u(s[_+0],s[_+1]),p=u(s[_+1],s[_+2]),d=u(s[_+2],s[_+0]);l.push(d,s[_+0],E,E,s[_+1],p,p,s[_+2],d,E,p,d)}s=l}for(var h=new Array(a.length),m=new Array(a.length/3*2),R=s.length,T=R-3;T>=0;T-=3){var I=s[T+0],v=s[T+1],N=s[T+2],M=I*3,F=v*3,D=N*3,K=I*2,H=v*2,Y=N*2,w=a[M+0],O=a[M+1],A=a[M+2],S=Math.acos(A/Math.sqrt(w*w+O*O+A*A)),x=Math.atan2(O,w)+n,k=S/n,U=1-x/i,G=a[F+0],z=a[F+1],$=a[F+2],J=Math.acos($/Math.sqrt(G*G+z*z+$*$)),Z=Math.atan2(z,G)+n,ue=J/n,ge=1-Z/i,Ce=a[D+0],Ee=a[D+1],Se=a[D+2],Ge=Math.acos(Se/Math.sqrt(Ce*Ce+Ee*Ee+Se*Se)),Cu=Math.atan2(Ee,Ce)+n,Bi=Ge/n,pr=1-Cu/i,Pu=[Ce-G,Ee-z,Se-$],Nu=[w-G,O-z,A-$],Ie=new Oe(Pu).cross(Nu).normalize(),_e=void 0;(U===0||ge===0||pr===0)&&(U===0||U>.5)&&(ge===0||ge>.5)&&(pr===0||pr>.5)&&(a.push(a[M+0],a[M+1],a[M+2]),_e=a.length/3-1,s.push(_e),m[_e*2+0]=1,m[_e*2+1]=k,h[_e*3+0]=Ie.x,h[_e*3+1]=Ie.y,h[_e*3+2]=Ie.z,a.push(a[F+0],a[F+1],a[F+2]),_e=a.length/3-1,s.push(_e),m[_e*2+0]=1,m[_e*2+1]=ue,h[_e*3+0]=Ie.x,h[_e*3+1]=Ie.y,h[_e*3+2]=Ie.z,a.push(a[D+0],a[D+1],a[D+2]),_e=a.length/3-1,s.push(_e),m[_e*2+0]=1,m[_e*2+1]=Bi,h[_e*3+0]=Ie.x,h[_e*3+1]=Ie.y,h[_e*3+2]=Ie.z),h[M+0]=h[F+0]=h[D+0]=Ie.x,h[M+1]=h[F+1]=h[D+1]=Ie.y,h[M+2]=h[F+2]=h[D+2]=Ie.z,m[K+0]=U,m[K+1]=k,m[H+0]=ge,m[H+1]=ue,m[Y+0]=pr,m[Y+1]=Bi}return{indices:{size:1,value:new Uint16Array(s)},attributes:{POSITION:{size:3,value:new Float32Array(a)},NORMAL:{size:3,value:new Float32Array(h)},TEXCOORD_0:{size:2,value:new Float32Array(m)}}}}function gu(e){var t=e.indices,r=e.attributes;if(!t)return e;var n=t.value.length,i={};for(var a in r){var s=r[a],u=s.constant,f=s.value,l=s.size;if(!(u||!l)){for(var _=new f.constructor(n*l),E=0;E<n;++E)for(var p=t.value[E],d=0;d<l;d++)_[E*l+d]=f[p*l+d];i[a]={size:l,value:_}}}return{attributes:Object.assign({},r,i)}}function Su(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function sn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Su(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Su(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Dd(e){var t=xd();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function xd(){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 Ou=function(e){L(r,e);var t=Dd(r);function r(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,r);var i=n.id,a=i===void 0?ee("plane-geometry"):i,s=Bd(n),u=s.indices,f=s.attributes;return t.call(this,sn(sn({},n),{},{id:a,indices:u,attributes:sn(sn({},f),n.attributes)}))}return C(r)}(be);function Bd(e){var t=e.type,r=t===void 0?"x,y":t,n=e.offset,i=n===void 0?0:n,a=e.flipCull,s=a===void 0?!1:a,u=e.unpack,f=u===void 0?!1:u,l=r.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,h=(p+1)*(d+1),m=new Float32Array(h*3),R=new Float32Array(h*3),T=new Float32Array(h*2);s&&(_=-_);for(var I=0,v=0,N=0;N<=d;N++)for(var M=0;M<=p;M++){var F=M/p,D=N/d;switch(T[I+0]=s?1-F:F,T[I+1]=D,r){case"x,y":m[v+0]=_*F-_*.5,m[v+1]=E*D-E*.5,m[v+2]=i,R[v+0]=0,R[v+1]=0,R[v+2]=s?1:-1;break;case"x,z":m[v+0]=_*F-_*.5,m[v+1]=i,m[v+2]=E*D-E*.5,R[v+0]=0,R[v+1]=s?1:-1,R[v+2]=0;break;case"y,z":m[v+0]=i,m[v+1]=_*F-_*.5,m[v+2]=E*D-E*.5,R[v+0]=s?1:-1,R[v+1]=0,R[v+2]=0;break;default:throw new Error("PlaneGeometry: unknown type")}I+=2,v+=3}for(var K=p+1,H=new Uint16Array(p*d*6),Y=0;Y<d;Y++)for(var w=0;w<p;w++){var O=(Y*p+w)*6;H[O+0]=(Y+0)*K+w,H[O+1]=(Y+1)*K+w,H[O+2]=(Y+0)*K+w+1,H[O+3]=(Y+1)*K+w,H[O+4]=(Y+1)*K+w+1,H[O+5]=(Y+0)*K+w+1}var A={indices:{size:1,value:H},attributes:{POSITION:{size:3,value:m},NORMAL:{size:3,value:R},TEXCOORD_0:{size:2,value:T}}};return f?gu(A):A}function yu(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function cn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?yu(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):yu(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Ud(e){var t=wd();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function wd(){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(r,e);var t=Ud(r);function r(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,r);var i=n.id,a=i===void 0?ee("sphere-geometry"):i,s=Ld(n),u=s.indices,f=s.attributes;return t.call(this,cn(cn({},n),{},{id:a,indices:u,attributes:cn(cn({},f),n.attributes)}))}return C(r)}(be);function Ld(e){for(var t=e.nlat,r=t===void 0?10:t,n=e.nlong,i=n===void 0?10:n,a=0,s=Math.PI,u=s-a,f=0,l=2*Math.PI,_=l-f,E=(r+1)*(i+1),p=function(ge,Ce,Ee,Se,Ge){return e.radius||1},d=new Float32Array(E*3),h=new Float32Array(E*3),m=new Float32Array(E*2),R=E>65535?Uint32Array:Uint16Array,T=new R(r*i*6),I=0;I<=r;I++)for(var v=0;v<=i;v++){var N=v/i,M=I/r,F=v+I*(i+1),D=F*2,K=F*3,H=_*N,Y=u*M,w=Math.sin(H),O=Math.cos(H),A=Math.sin(Y),S=Math.cos(Y),x=O*A,k=S,U=w*A,G=p(x,k,U,N,M);d[K+0]=G*x,d[K+1]=G*k,d[K+2]=G*U,h[K+0]=x,h[K+1]=k,h[K+2]=U,m[D+0]=N,m[D+1]=1-M}for(var z=i+1,$=0;$<i;$++)for(var J=0;J<r;J++){var Z=($*r+J)*6;T[Z+0]=J*z+$,T[Z+1]=J*z+$+1,T[Z+2]=(J+1)*z+$,T[Z+3]=(J+1)*z+$,T[Z+4]=J*z+$+1,T[Z+5]=(J+1)*z+$+1}return{indices:{size:1,value:T},attributes:{POSITION:{size:3,value:d},NORMAL:{size:3,value:h},TEXCOORD_0:{size:2,value:m}}}}return ju(Xd);})();
306
+ `]))),ou=[-1,-1,1,-1,-1,1,1,1],su=function(e){L(r,e);var t=ed(r);function r(n,i){b(this,r);var a=ou.map(function(s){return s===-1?0:s});return t.call(this,Re.attach(n),au(au({},i),{},{vs:rd,vertexCount:4,geometry:new be({drawMode:o.TRIANGLE_STRIP,vertexCount:4,attributes:{aClipSpacePosition:{size:2,value:new Float32Array(ou)},aTexCoord:{size:2,value:new Float32Array(a)},aCoordinate:{size:2,value:new Float32Array(a)}}})}))}return C(r)}(Ut);var vt=function(){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,e),c(this,"id",void 0),c(this,"matrix",new Ue),c(this,"display",!0),c(this,"position",new Oe),c(this,"rotation",new Oe),c(this,"scale",new Oe(1,1,1)),c(this,"userData",{}),c(this,"props",{});var r=t.id;this.id=r||ee(this.constructor.name),this._setScenegraphNodeProps(t)}return C(e,[{key:"getBounds",value:function(){return null}},{key:"destroy",value:function(){}},{key:"delete",value:function(){this.destroy()}},{key:"setProps",value:function(r){return this._setScenegraphNodeProps(r),this}},{key:"toString",value:function(){return"{type: ScenegraphNode, id: ".concat(this.id,")}")}},{key:"setPosition",value:function(r){return V(r.length===3,"setPosition requires vector argument"),this.position=r,this}},{key:"setRotation",value:function(r){return V(r.length===3,"setRotation requires vector argument"),this.rotation=r,this}},{key:"setScale",value:function(r){return V(r.length===3,"setScale requires vector argument"),this.scale=r,this}},{key:"setMatrix",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;n?this.matrix.copy(r):this.matrix=r}},{key:"setMatrixComponents",value:function(r){var n=r.position,i=r.rotation,a=r.scale,s=r.update,u=s===void 0?!0:s;return n&&this.setPosition(n),i&&this.setRotation(i),a&&this.setScale(a),u&&this.updateMatrix(),this}},{key:"updateMatrix",value:function(){var r=this.position,n=this.rotation,i=this.scale;return this.matrix.identity(),this.matrix.translate(r),this.matrix.rotateXYZ(n),this.matrix.scale(i),this}},{key:"update",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=r.position,i=r.rotation,a=r.scale;return n&&this.setPosition(n),i&&this.setRotation(i),a&&this.setScale(a),this.updateMatrix(),this}},{key:"getCoordinateUniforms",value:function(r,n){V(r),n=n||this.matrix;var i=new Ue(r).multiplyRight(n),a=i.invert(),s=a.transpose();return{viewMatrix:r,modelMatrix:n,objectMatrix:n,worldMatrix:i,worldInverseMatrix:a,worldInverseTransposeMatrix:s}}},{key:"_setScenegraphNodeProps",value:function(r){"display"in r&&(this.display=r.display),"position"in r&&this.setPosition(r.position),"rotation"in r&&this.setRotation(r.rotation),"scale"in r&&this.setScale(r.scale),"matrix"in r&&this.setMatrix(r.matrix),Object.assign(this.props,r)}}]),e}();function nd(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=id(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
307
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,u;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return a=l.done,l},e:function(l){s=!0,u=l},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw u}}}}function id(e,t){if(e){if(typeof e=="string")return cu(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return cu(e,t)}}function cu(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function ad(e){var t=od();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function od(){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 uu=function(e){L(r,e);var t=ad(r);function r(){var n,i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,r),i=Array.isArray(i)?{children:i}:i;var a=i,s=a.children,u=s===void 0?[]:s;return W.assert(u.every(function(f){return f instanceof vt}),"every child must an instance of ScenegraphNode"),n=t.call(this,i),c(g(n),"children",void 0),n.children=u,n}return C(r,[{key:"getBounds",value:function(){var i=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];return this.traverse(function(a,s){var u=s.worldMatrix,f=a.getBounds();if(f){var l=j(f,2),_=l[0],E=l[1],p=new Oe(_).add(E).divide([2,2,2]);u.transformAsPoint(p,p);var d=new Oe(E).subtract(_).divide([2,2,2]);u.transformAsVector(d,d);for(var h=0;h<8;h++)for(var m=new Oe(h&1?-1:1,h&2?-1:1,h&4?-1:1).multiply(d).add(p),R=0;R<3;R++)i[0][R]=Math.min(i[0][R],m[R]),i[1][R]=Math.max(i[1][R],m[R])}}),Number.isFinite(i[0][0])?i:null}},{key:"destroy",value:function(){this.children.forEach(function(i){return i.destroy()}),this.removeAll(),ot(y(r.prototype),"destroy",this).call(this)}},{key:"add",value:function(){for(var i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];for(var u=0,f=a;u<f.length;u++){var l=f[u];Array.isArray(l)?this.add.apply(this,ae(l)):this.children.push(l)}return this}},{key:"remove",value:function(i){var a=this.children,s=a.indexOf(i);return s>-1&&a.splice(s,1),this}},{key:"removeAll",value:function(){return this.children=[],this}},{key:"traverse",value:function(i){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=a.worldMatrix,u=s===void 0?new Ue:s,f=new Ue(u).multiplyRight(this.matrix),l=nd(this.children),_;try{for(l.s();!(_=l.n()).done;){var E=_.value;E instanceof r?E.traverse(i,{worldMatrix:f}):i(E,{worldMatrix:f})}}catch(p){l.e(p)}finally{l.f()}}}]),r}(vt);function sd(e){var t=cd();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function cd(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var fu=function(e){L(r,e);var t=sd(r);function r(n){var i;return b(this,r),i=t.call(this,n),c(g(i),"model",void 0),c(g(i),"bounds",null),c(g(i),"managedResources",void 0),i.model=n.model,i.managedResources=n.managedResources||[],i.bounds=n.bounds||null,i.setProps(n),i}return C(r,[{key:"getBounds",value:function(){return this.bounds}},{key:"destroy",value:function(){this.model&&(this.model.destroy(),this.model=null),this.managedResources.forEach(function(i){return i.destroy()}),this.managedResources=[]}},{key:"draw",value:function(i){return this.model.draw(i)}}]),r}(vt);function lu(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function xi(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?lu(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):lu(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function ud(e){var t=fd();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function fd(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var ld={x:[2,0,1],y:[0,1,2],z:[1,2,0]};var Kt=function(e){L(r,e);var t=ud(r);function r(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,r);var i=n.id,a=i===void 0?ee("truncated-code-geometry"):i,s=_d(n),u=s.indices,f=s.attributes;return t.call(this,xi(xi({},n),{},{id:a,indices:u,attributes:xi({POSITION:{size:3,value:f.POSITION},NORMAL:{size:3,value:f.NORMAL},TEXCOORD_0:{size:2,value:f.TEXCOORD_0}},n.attributes)}))}return C(r)}(be);function _d(){for(var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.bottomRadius,r=t===void 0?0:t,n=e.topRadius,i=n===void 0?0:n,a=e.height,s=a===void 0?1:a,u=e.nradial,f=u===void 0?10:u,l=e.nvertical,_=l===void 0?10:l,E=e.verticalAxis,p=E===void 0?"y":E,d=e.topCap,h=d===void 0?!1:d,m=e.bottomCap,R=m===void 0?!1:m,T=(h?2:0)+(R?2:0),I=(f+1)*(_+1+T),v=Math.atan2(r-i,s),N=Math.sin,M=Math.cos,F=Math.PI,D=M(v),K=N(v),H=h?-2:0,Y=_+(R?2:0),w=f+1,O=new Uint16Array(f*(_+T)*6),A=ld[p],S=new Float32Array(I*3),x=new Float32Array(I*3),k=new Float32Array(I*2),U=0,G=0,z=H;z<=Y;z++){var $=z/_,J=s*$,Z=void 0;z<0?(J=0,$=1,Z=r):z>_?(J=s,$=1,Z=i):Z=r+(i-r)*(z/_),(z===-2||z===_+2)&&(Z=0,$=0),J-=s/2;for(var ue=0;ue<w;ue++){var ge=N(ue*F*2/f),Ce=M(ue*F*2/f);S[U+A[0]]=ge*Z,S[U+A[1]]=J,S[U+A[2]]=Ce*Z,x[U+A[0]]=z<0||z>_?0:ge*D,x[U+A[1]]=z<0?-1:z>_?1:K,x[U+A[2]]=z<0||z>_?0:Ce*D,k[G+0]=ue/f,k[G+1]=$,G+=2,U+=3}}for(var Ee=0;Ee<_+T;Ee++)for(var Se=0;Se<f;Se++){var Ge=(Ee*f+Se)*6;O[Ge+0]=w*(Ee+0)+0+Se,O[Ge+1]=w*(Ee+0)+1+Se,O[Ge+2]=w*(Ee+1)+1+Se,O[Ge+3]=w*(Ee+0)+0+Se,O[Ge+4]=w*(Ee+1)+1+Se,O[Ge+5]=w*(Ee+1)+0+Se}return{indices:O,attributes:{POSITION:S,NORMAL:x,TEXCOORD_0:k}}}function _u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Eu(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?_u(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):_u(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Ed(e){var t=pd();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function pd(){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 pu=function(e){L(r,e);var t=Ed(r);function r(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,r);var i=n.id,a=i===void 0?ee("cone-geometry"):i,s=n.radius,u=s===void 0?1:s,f=n.cap,l=f===void 0?!0:f;return t.call(this,Eu(Eu({},n),{},{id:a,topRadius:0,topCap:Boolean(l),bottomCap:Boolean(l),bottomRadius:u}))}return C(r)}(Kt);function du(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ct(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?du(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):du(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function dd(e){var t=hd();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function hd(){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(r,e);var t=dd(r);function r(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,r);var i=n.id,a=i===void 0?ee("cube-geometry"):i,s=n.indices,u=s===void 0?!0:s;return t.call(this,u?ct(ct({},n),{},{id:a,indices:{size:1,value:md},attributes:ct(ct({},Od),n.attributes)}):ct(ct({},n),{},{id:a,indices:void 0,attributes:ct(ct({},yd),n.attributes)}))}return C(r)}(be),md=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]),Rd=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]),Ad=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]),Td=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]),vd=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]),gd=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]),Sd=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]),Od={POSITION:{size:3,value:Rd},NORMAL:{size:3,value:Ad},TEXCOORD_0:{size:2,value:Td}},yd={POSITION:{size:4,value:vd},TEXCOORD_0:{size:2,value:gd},COLOR_0:{size:3,value:Sd}};function mu(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ru(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?mu(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):mu(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function bd(e){var t=Cd();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function Cd(){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=function(e){L(r,e);var t=bd(r);function r(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,r);var i=n.id,a=i===void 0?ee("cylinder-geometry"):i,s=n.radius,u=s===void 0?1:s;return t.call(this,Ru(Ru({},n),{},{id:a,bottomRadius:u,topRadius:u}))}return C(r)}(Kt);function Tu(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function on(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Tu(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Tu(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Pd(e){var t=Nd();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function Nd(){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 Md=[-1,0,0,0,1,0,0,0,-1,0,0,1,0,-1,0,1,0,0],Id=[3,4,5,3,5,1,3,1,0,3,0,4,4,0,2,4,2,5,2,0,1,5,2,1],vu=function(e){L(r,e);var t=Pd(r);function r(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,r);var i=n.id,a=i===void 0?ee("ico-sphere-geometry"):i,s=Fd(n),u=s.indices,f=s.attributes;return t.call(this,on(on({},n),{},{id:a,indices:u,attributes:on(on({},f),n.attributes)}))}return C(r)}(be);function Fd(e){var t=e.iterations,r=t===void 0?0:t,n=Math.PI,i=n*2,a=[].concat(Md),s=[].concat(Id);a.push(),s.push();for(var u=function(){var un={};return function(et,tt){et*=3,tt*=3;var Mu=et<tt?et:tt,Iu=et>tt?et:tt,fn="".concat(Mu,"|").concat(Iu);if(fn in un)return un[fn];var Fu=a[et],Du=a[et+1],xu=a[et+2],Bu=a[tt],Uu=a[tt+1],wu=a[tt+2],dr=(Fu+Bu)/2,hr=(Du+Uu)/2,mr=(xu+wu)/2,ln=Math.sqrt(dr*dr+hr*hr+mr*mr);return dr/=ln,hr/=ln,mr/=ln,a.push(dr,hr,mr),un[fn]=a.length/3-1}}(),f=0;f<r;f++){for(var l=[],_=0;_<s.length;_+=3){var E=u(s[_+0],s[_+1]),p=u(s[_+1],s[_+2]),d=u(s[_+2],s[_+0]);l.push(d,s[_+0],E,E,s[_+1],p,p,s[_+2],d,E,p,d)}s=l}for(var h=new Array(a.length),m=new Array(a.length/3*2),R=s.length,T=R-3;T>=0;T-=3){var I=s[T+0],v=s[T+1],N=s[T+2],M=I*3,F=v*3,D=N*3,K=I*2,H=v*2,Y=N*2,w=a[M+0],O=a[M+1],A=a[M+2],S=Math.acos(A/Math.sqrt(w*w+O*O+A*A)),x=Math.atan2(O,w)+n,k=S/n,U=1-x/i,G=a[F+0],z=a[F+1],$=a[F+2],J=Math.acos($/Math.sqrt(G*G+z*z+$*$)),Z=Math.atan2(z,G)+n,ue=J/n,ge=1-Z/i,Ce=a[D+0],Ee=a[D+1],Se=a[D+2],Ge=Math.acos(Se/Math.sqrt(Ce*Ce+Ee*Ee+Se*Se)),Cu=Math.atan2(Ee,Ce)+n,Bi=Ge/n,pr=1-Cu/i,Pu=[Ce-G,Ee-z,Se-$],Nu=[w-G,O-z,A-$],Ie=new Oe(Pu).cross(Nu).normalize(),_e=void 0;(U===0||ge===0||pr===0)&&(U===0||U>.5)&&(ge===0||ge>.5)&&(pr===0||pr>.5)&&(a.push(a[M+0],a[M+1],a[M+2]),_e=a.length/3-1,s.push(_e),m[_e*2+0]=1,m[_e*2+1]=k,h[_e*3+0]=Ie.x,h[_e*3+1]=Ie.y,h[_e*3+2]=Ie.z,a.push(a[F+0],a[F+1],a[F+2]),_e=a.length/3-1,s.push(_e),m[_e*2+0]=1,m[_e*2+1]=ue,h[_e*3+0]=Ie.x,h[_e*3+1]=Ie.y,h[_e*3+2]=Ie.z,a.push(a[D+0],a[D+1],a[D+2]),_e=a.length/3-1,s.push(_e),m[_e*2+0]=1,m[_e*2+1]=Bi,h[_e*3+0]=Ie.x,h[_e*3+1]=Ie.y,h[_e*3+2]=Ie.z),h[M+0]=h[F+0]=h[D+0]=Ie.x,h[M+1]=h[F+1]=h[D+1]=Ie.y,h[M+2]=h[F+2]=h[D+2]=Ie.z,m[K+0]=U,m[K+1]=k,m[H+0]=ge,m[H+1]=ue,m[Y+0]=pr,m[Y+1]=Bi}return{indices:{size:1,value:new Uint16Array(s)},attributes:{POSITION:{size:3,value:new Float32Array(a)},NORMAL:{size:3,value:new Float32Array(h)},TEXCOORD_0:{size:2,value:new Float32Array(m)}}}}function gu(e){var t=e.indices,r=e.attributes;if(!t)return e;var n=t.value.length,i={};for(var a in r){var s=r[a],u=s.constant,f=s.value,l=s.size;if(!(u||!l)){for(var _=new f.constructor(n*l),E=0;E<n;++E)for(var p=t.value[E],d=0;d<l;d++)_[E*l+d]=f[p*l+d];i[a]={size:l,value:_}}}return{attributes:Object.assign({},r,i)}}function Su(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function sn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Su(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Su(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Dd(e){var t=xd();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function xd(){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 Ou=function(e){L(r,e);var t=Dd(r);function r(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,r);var i=n.id,a=i===void 0?ee("plane-geometry"):i,s=Bd(n),u=s.indices,f=s.attributes;return t.call(this,sn(sn({},n),{},{id:a,indices:u,attributes:sn(sn({},f),n.attributes)}))}return C(r)}(be);function Bd(e){var t=e.type,r=t===void 0?"x,y":t,n=e.offset,i=n===void 0?0:n,a=e.flipCull,s=a===void 0?!1:a,u=e.unpack,f=u===void 0?!1:u,l=r.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,h=(p+1)*(d+1),m=new Float32Array(h*3),R=new Float32Array(h*3),T=new Float32Array(h*2);s&&(_=-_);for(var I=0,v=0,N=0;N<=d;N++)for(var M=0;M<=p;M++){var F=M/p,D=N/d;switch(T[I+0]=s?1-F:F,T[I+1]=D,r){case"x,y":m[v+0]=_*F-_*.5,m[v+1]=E*D-E*.5,m[v+2]=i,R[v+0]=0,R[v+1]=0,R[v+2]=s?1:-1;break;case"x,z":m[v+0]=_*F-_*.5,m[v+1]=i,m[v+2]=E*D-E*.5,R[v+0]=0,R[v+1]=s?1:-1,R[v+2]=0;break;case"y,z":m[v+0]=i,m[v+1]=_*F-_*.5,m[v+2]=E*D-E*.5,R[v+0]=s?1:-1,R[v+1]=0,R[v+2]=0;break;default:throw new Error("PlaneGeometry: unknown type")}I+=2,v+=3}for(var K=p+1,H=new Uint16Array(p*d*6),Y=0;Y<d;Y++)for(var w=0;w<p;w++){var O=(Y*p+w)*6;H[O+0]=(Y+0)*K+w,H[O+1]=(Y+1)*K+w,H[O+2]=(Y+0)*K+w+1,H[O+3]=(Y+1)*K+w,H[O+4]=(Y+1)*K+w+1,H[O+5]=(Y+0)*K+w+1}var A={indices:{size:1,value:H},attributes:{POSITION:{size:3,value:m},NORMAL:{size:3,value:R},TEXCOORD_0:{size:2,value:T}}};return f?gu(A):A}function yu(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function cn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?yu(Object(r),!0).forEach(function(n){c(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):yu(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Ud(e){var t=wd();return function(){var n=y(e),i;if(t){var a=y(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return X(this,i)}}function wd(){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(r,e);var t=Ud(r);function r(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b(this,r);var i=n.id,a=i===void 0?ee("sphere-geometry"):i,s=Ld(n),u=s.indices,f=s.attributes;return t.call(this,cn(cn({},n),{},{id:a,indices:u,attributes:cn(cn({},f),n.attributes)}))}return C(r)}(be);function Ld(e){for(var t=e.nlat,r=t===void 0?10:t,n=e.nlong,i=n===void 0?10:n,a=0,s=Math.PI,u=s-a,f=0,l=2*Math.PI,_=l-f,E=(r+1)*(i+1),p=function(ge,Ce,Ee,Se,Ge){return e.radius||1},d=new Float32Array(E*3),h=new Float32Array(E*3),m=new Float32Array(E*2),R=E>65535?Uint32Array:Uint16Array,T=new R(r*i*6),I=0;I<=r;I++)for(var v=0;v<=i;v++){var N=v/i,M=I/r,F=v+I*(i+1),D=F*2,K=F*3,H=_*N,Y=u*M,w=Math.sin(H),O=Math.cos(H),A=Math.sin(Y),S=Math.cos(Y),x=O*A,k=S,U=w*A,G=p(x,k,U,N,M);d[K+0]=G*x,d[K+1]=G*k,d[K+2]=G*U,h[K+0]=x,h[K+1]=k,h[K+2]=U,m[D+0]=N,m[D+1]=1-M}for(var z=i+1,$=0;$<i;$++)for(var J=0;J<r;J++){var Z=($*r+J)*6;T[Z+0]=J*z+$,T[Z+1]=J*z+$+1,T[Z+2]=(J+1)*z+$,T[Z+3]=(J+1)*z+$,T[Z+4]=J*z+$+1,T[Z+5]=(J+1)*z+$+1}return{indices:{size:1,value:T},attributes:{POSITION:{size:3,value:d},NORMAL:{size:3,value:h},TEXCOORD_0:{size:2,value:m}}}}return ju(Xd);})();
308
308
  /*! Bundled license information:
309
309
 
310
310
  @babel/runtime/helpers/regeneratorRuntime.js: