@luma.gl/webgl 9.0.0-beta.4 → 9.0.0-beta.6
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/adapter/converters/device-parameters.d.ts.map +1 -1
- package/dist/adapter/converters/device-parameters.js +297 -155
- package/dist/adapter/converters/sampler-parameters.d.ts +0 -4
- package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
- package/dist/adapter/converters/sampler-parameters.js +73 -67
- package/dist/adapter/converters/shader-formats.d.ts.map +1 -1
- package/dist/adapter/converters/shader-formats.js +53 -46
- package/dist/adapter/converters/texture-formats.d.ts +13 -19
- package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
- package/dist/adapter/converters/texture-formats.js +474 -879
- package/dist/adapter/converters/vertex-formats.d.ts.map +1 -1
- package/dist/adapter/converters/vertex-formats.js +53 -61
- package/dist/adapter/device-helpers/device-features.d.ts +2 -5
- package/dist/adapter/device-helpers/device-features.d.ts.map +1 -1
- package/dist/adapter/device-helpers/device-features.js +56 -87
- package/dist/adapter/device-helpers/device-limits.d.ts +2 -4
- package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
- package/dist/adapter/device-helpers/device-limits.js +88 -83
- package/dist/adapter/device-helpers/get-device-info.d.ts +1 -1
- package/dist/adapter/device-helpers/get-device-info.d.ts.map +1 -1
- package/dist/adapter/device-helpers/get-device-info.js +79 -63
- package/dist/adapter/device-helpers/webgl-device-features.d.ts +19 -0
- package/dist/adapter/device-helpers/webgl-device-features.d.ts.map +1 -0
- package/dist/adapter/device-helpers/webgl-device-features.js +86 -0
- package/dist/adapter/device-helpers/webgl-device-info.d.ts +5 -0
- package/dist/adapter/device-helpers/webgl-device-info.d.ts.map +1 -0
- package/dist/adapter/device-helpers/webgl-device-info.js +90 -0
- package/dist/adapter/device-helpers/webgl-device-limits.d.ts +35 -0
- package/dist/adapter/device-helpers/webgl-device-limits.d.ts.map +1 -0
- package/dist/adapter/device-helpers/webgl-device-limits.js +47 -0
- package/dist/adapter/helpers/decode-webgl-types.d.ts.map +1 -1
- package/dist/adapter/helpers/decode-webgl-types.js +88 -76
- package/dist/adapter/helpers/get-shader-layout.d.ts +1 -1
- package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -1
- package/dist/adapter/helpers/get-shader-layout.js +261 -225
- package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -1
- package/dist/adapter/helpers/parse-shader-compiler-log.js +47 -37
- package/dist/adapter/helpers/set-uniform.d.ts +1 -1
- package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
- package/dist/adapter/helpers/set-uniform.js +68 -82
- package/dist/adapter/helpers/webgl-topology-utils.d.ts.map +1 -1
- package/dist/adapter/helpers/webgl-topology-utils.js +78 -93
- package/dist/adapter/objects/constants-to-keys.d.ts +1 -1
- package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -1
- package/dist/adapter/objects/constants-to-keys.js +19 -12
- package/dist/adapter/objects/webgl-renderbuffer.d.ts +2 -2
- package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-renderbuffer.js +86 -77
- package/dist/adapter/objects/webgl-resource.d.ts +3 -25
- package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-resource.js +102 -146
- package/dist/adapter/resources/webgl-buffer.d.ts +3 -4
- package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-buffer.js +161 -119
- package/dist/adapter/resources/webgl-command-buffer.d.ts +1 -1
- package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-command-buffer.js +266 -168
- package/dist/adapter/resources/webgl-command-encoder.d.ts +8 -3
- package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-command-encoder.js +33 -39
- package/dist/adapter/resources/webgl-external-texture.js +93 -1
- package/dist/adapter/resources/webgl-framebuffer.d.ts +8 -10
- package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-framebuffer.js +167 -137
- package/dist/adapter/resources/webgl-query-set.d.ts +44 -0
- package/dist/adapter/resources/webgl-query-set.d.ts.map +1 -0
- package/dist/adapter/resources/webgl-query-set.js +136 -0
- package/dist/adapter/resources/webgl-render-pass.d.ts +3 -1
- package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pass.js +124 -90
- package/dist/adapter/resources/webgl-render-pipeline.d.ts +15 -6
- package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.js +356 -221
- package/dist/adapter/resources/webgl-sampler.d.ts +1 -3
- package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-sampler.js +43 -33
- package/dist/adapter/resources/webgl-shader.d.ts +12 -2
- package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-shader.js +114 -47
- package/dist/adapter/resources/webgl-texture-view.d.ts +14 -0
- package/dist/adapter/resources/webgl-texture-view.d.ts.map +1 -0
- package/dist/adapter/resources/webgl-texture-view.js +18 -0
- package/dist/adapter/resources/webgl-texture.d.ts +6 -9
- package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-texture.js +615 -695
- package/dist/adapter/resources/webgl-transform-feedback.d.ts +2 -2
- package/dist/adapter/resources/webgl-transform-feedback.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-transform-feedback.js +141 -143
- package/dist/adapter/resources/webgl-vertex-array.d.ts +3 -3
- package/dist/adapter/resources/webgl-vertex-array.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-vertex-array.js +229 -157
- package/dist/adapter/webgl-canvas-context.d.ts +2 -2
- package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
- package/dist/adapter/webgl-canvas-context.js +58 -36
- package/dist/adapter/webgl-device.d.ts +34 -40
- package/dist/adapter/webgl-device.d.ts.map +1 -1
- package/dist/adapter/webgl-device.js +418 -363
- package/dist/classic/accessor.d.ts.map +1 -1
- package/dist/classic/accessor.js +132 -101
- package/dist/classic/clear.d.ts +2 -2
- package/dist/classic/clear.d.ts.map +1 -1
- package/dist/classic/clear.js +73 -72
- package/dist/classic/copy-and-blit.d.ts +1 -1
- package/dist/classic/copy-and-blit.d.ts.map +1 -1
- package/dist/classic/copy-and-blit.js +175 -175
- package/dist/classic/format-utils.d.ts +2 -2
- package/dist/classic/format-utils.d.ts.map +1 -1
- package/dist/classic/format-utils.js +39 -32
- package/dist/classic/typed-array-utils.d.ts.map +1 -1
- package/dist/classic/typed-array-utils.js +96 -81
- package/dist/context/context/context-data.d.ts +14 -0
- package/dist/context/context/context-data.d.ts.map +1 -0
- package/dist/context/context/context-data.js +33 -0
- package/dist/context/context/create-browser-context.d.ts +1 -6
- package/dist/context/context/create-browser-context.d.ts.map +1 -1
- package/dist/context/context/create-browser-context.js +62 -49
- package/dist/context/debug/spector.d.ts.map +1 -1
- package/dist/context/debug/spector.js +55 -50
- package/dist/context/debug/webgl-developer-tools.d.ts +1 -2
- package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
- package/dist/context/debug/webgl-developer-tools.js +104 -77
- package/dist/context/helpers/create-browser-context.d.ts +35 -0
- package/dist/context/helpers/create-browser-context.d.ts.map +1 -0
- package/dist/context/helpers/create-browser-context.js +67 -0
- package/dist/context/{polyfill/context-data.d.ts → helpers/webgl-context-data.d.ts} +2 -2
- package/dist/context/helpers/webgl-context-data.d.ts.map +1 -0
- package/dist/context/helpers/webgl-context-data.js +21 -0
- package/dist/context/helpers/webgl-extensions.d.ts +4 -0
- package/dist/context/helpers/webgl-extensions.d.ts.map +1 -0
- package/dist/context/helpers/webgl-extensions.js +10 -0
- package/dist/context/parameters/unified-parameter-api.d.ts +3 -3
- package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
- package/dist/context/parameters/unified-parameter-api.js +94 -44
- package/dist/context/parameters/webgl-parameter-tables.d.ts +120 -99
- package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
- package/dist/context/parameters/webgl-parameter-tables.js +469 -404
- package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -1
- package/dist/context/state-tracker/deep-array-equal.js +19 -14
- package/dist/context/state-tracker/track-context-state.d.ts +4 -4
- package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
- package/dist/context/state-tracker/track-context-state.js +188 -123
- package/dist/context/state-tracker/with-parameters.d.ts +2 -2
- package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
- package/dist/context/state-tracker/with-parameters.js +43 -26
- package/dist/dist.dev.js +3135 -4142
- package/dist/index.cjs +1766 -2717
- package/dist/index.cjs.map +7 -0
- package/dist/index.d.ts +25 -28
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -5
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +3 -1
- package/dist.min.js +9 -42
- package/package.json +11 -15
- package/src/adapter/converters/device-parameters.ts +105 -17
- package/src/adapter/converters/sampler-parameters.ts +12 -20
- package/src/adapter/converters/shader-formats.ts +47 -22
- package/src/adapter/converters/texture-formats.ts +138 -185
- package/src/adapter/converters/vertex-formats.ts +3 -3
- package/src/adapter/device-helpers/webgl-device-features.ts +101 -0
- package/src/adapter/device-helpers/{get-device-info.ts → webgl-device-info.ts} +30 -22
- package/src/adapter/device-helpers/webgl-device-limits.ts +53 -0
- package/src/adapter/helpers/decode-webgl-types.ts +13 -7
- package/src/adapter/helpers/get-shader-layout.ts +21 -31
- package/src/adapter/helpers/parse-shader-compiler-log.ts +10 -6
- package/src/adapter/helpers/set-uniform.ts +3 -4
- package/src/adapter/helpers/webgl-topology-utils.ts +10 -3
- package/src/adapter/objects/constants-to-keys.ts +3 -2
- package/src/adapter/objects/webgl-renderbuffer.ts +38 -16
- package/src/adapter/objects/webgl-resource.ts +7 -140
- package/src/adapter/resources/webgl-buffer.ts +10 -14
- package/src/adapter/resources/webgl-command-buffer.ts +24 -34
- package/src/adapter/resources/webgl-command-encoder.ts +14 -11
- package/src/adapter/resources/webgl-external-texture.ts +5 -5
- package/src/adapter/resources/webgl-framebuffer.ts +38 -34
- package/src/adapter/resources/webgl-query-set.ts +171 -0
- package/src/adapter/resources/webgl-render-pass.ts +24 -15
- package/src/adapter/resources/webgl-render-pipeline.ts +138 -70
- package/src/adapter/resources/webgl-sampler.ts +7 -10
- package/src/adapter/resources/webgl-shader.ts +65 -11
- package/src/adapter/resources/webgl-texture-view.ts +28 -0
- package/src/adapter/resources/webgl-texture.ts +38 -105
- package/src/adapter/resources/webgl-transform-feedback.ts +16 -22
- package/src/adapter/resources/webgl-vertex-array.ts +20 -21
- package/src/adapter/webgl-canvas-context.ts +7 -11
- package/src/adapter/webgl-device.ts +106 -151
- package/src/classic/accessor.ts +5 -4
- package/src/classic/clear.ts +25 -20
- package/src/classic/copy-and-blit.ts +12 -6
- package/src/classic/format-utils.ts +2 -1
- package/src/classic/typed-array-utils.ts +3 -7
- package/src/context/debug/spector.ts +9 -6
- package/src/context/debug/webgl-developer-tools.ts +31 -20
- package/src/context/{context → helpers}/create-browser-context.ts +9 -33
- package/src/context/{polyfill/context-data.ts → helpers/webgl-context-data.ts} +3 -2
- package/src/context/helpers/webgl-extensions.ts +17 -0
- package/src/context/parameters/unified-parameter-api.ts +5 -4
- package/src/context/parameters/webgl-parameter-tables.ts +118 -90
- package/src/context/state-tracker/deep-array-equal.ts +2 -1
- package/src/context/state-tracker/track-context-state.ts +29 -23
- package/src/context/state-tracker/with-parameters.ts +7 -2
- package/src/index.ts +4 -18
- package/src/types.ts +2 -1
- package/dist/adapter/converters/device-parameters.js.map +0 -1
- package/dist/adapter/converters/sampler-parameters.js.map +0 -1
- package/dist/adapter/converters/shader-formats.js.map +0 -1
- package/dist/adapter/converters/texture-formats.js.map +0 -1
- package/dist/adapter/converters/vertex-formats.js.map +0 -1
- package/dist/adapter/device-helpers/device-features.js.map +0 -1
- package/dist/adapter/device-helpers/device-limits.js.map +0 -1
- package/dist/adapter/device-helpers/get-device-info.js.map +0 -1
- package/dist/adapter/device-helpers/is-old-ie.d.ts +0 -2
- package/dist/adapter/device-helpers/is-old-ie.d.ts.map +0 -1
- package/dist/adapter/device-helpers/is-old-ie.js +0 -9
- package/dist/adapter/device-helpers/is-old-ie.js.map +0 -1
- package/dist/adapter/helpers/decode-webgl-types.js.map +0 -1
- package/dist/adapter/helpers/get-shader-layout.js.map +0 -1
- package/dist/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
- package/dist/adapter/helpers/set-uniform.js.map +0 -1
- package/dist/adapter/helpers/webgl-topology-utils.js.map +0 -1
- package/dist/adapter/objects/constants-to-keys.js.map +0 -1
- package/dist/adapter/objects/webgl-renderbuffer.js.map +0 -1
- package/dist/adapter/objects/webgl-resource.js.map +0 -1
- package/dist/adapter/resources/webgl-buffer.js.map +0 -1
- package/dist/adapter/resources/webgl-command-buffer.js.map +0 -1
- package/dist/adapter/resources/webgl-command-encoder.js.map +0 -1
- package/dist/adapter/resources/webgl-external-texture.js.map +0 -1
- package/dist/adapter/resources/webgl-framebuffer.js.map +0 -1
- package/dist/adapter/resources/webgl-render-pass.js.map +0 -1
- package/dist/adapter/resources/webgl-render-pipeline.js.map +0 -1
- package/dist/adapter/resources/webgl-sampler.js.map +0 -1
- package/dist/adapter/resources/webgl-shader.js.map +0 -1
- package/dist/adapter/resources/webgl-texture.js.map +0 -1
- package/dist/adapter/resources/webgl-transform-feedback.js.map +0 -1
- package/dist/adapter/resources/webgl-vertex-array.js.map +0 -1
- package/dist/adapter/webgl-canvas-context.js.map +0 -1
- package/dist/adapter/webgl-device.js.map +0 -1
- package/dist/classic/accessor.js.map +0 -1
- package/dist/classic/clear.js.map +0 -1
- package/dist/classic/copy-and-blit.js.map +0 -1
- package/dist/classic/format-utils.js.map +0 -1
- package/dist/classic/typed-array-utils.js.map +0 -1
- package/dist/context/context/create-browser-context.js.map +0 -1
- package/dist/context/context/create-headless-context.d.ts +0 -9
- package/dist/context/context/create-headless-context.d.ts.map +0 -1
- package/dist/context/context/create-headless-context.js +0 -42
- package/dist/context/context/create-headless-context.js.map +0 -1
- package/dist/context/context/webgl-checks.d.ts +0 -13
- package/dist/context/context/webgl-checks.d.ts.map +0 -1
- package/dist/context/context/webgl-checks.js +0 -31
- package/dist/context/context/webgl-checks.js.map +0 -1
- package/dist/context/debug/spector.js.map +0 -1
- package/dist/context/debug/webgl-developer-tools.js.map +0 -1
- package/dist/context/parameters/unified-parameter-api.js.map +0 -1
- package/dist/context/parameters/webgl-parameter-tables.js.map +0 -1
- package/dist/context/polyfill/context-data.d.ts.map +0 -1
- package/dist/context/polyfill/context-data.js +0 -12
- package/dist/context/polyfill/context-data.js.map +0 -1
- package/dist/context/polyfill/get-parameter-polyfill.d.ts +0 -2
- package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +0 -1
- package/dist/context/polyfill/get-parameter-polyfill.js +0 -85
- package/dist/context/polyfill/get-parameter-polyfill.js.map +0 -1
- package/dist/context/polyfill/polyfill-context.d.ts +0 -5
- package/dist/context/polyfill/polyfill-context.d.ts.map +0 -1
- package/dist/context/polyfill/polyfill-context.js +0 -87
- package/dist/context/polyfill/polyfill-context.js.map +0 -1
- package/dist/context/polyfill/polyfill-table.d.ts +0 -48
- package/dist/context/polyfill/polyfill-table.d.ts.map +0 -1
- package/dist/context/polyfill/polyfill-table.js +0 -137
- package/dist/context/polyfill/polyfill-table.js.map +0 -1
- package/dist/context/polyfill/polyfill-vertex-array-object.d.ts +0 -2
- package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +0 -1
- package/dist/context/polyfill/polyfill-vertex-array-object.js +0 -265
- package/dist/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
- package/dist/context/state-tracker/deep-array-equal.js.map +0 -1
- package/dist/context/state-tracker/track-context-state.js.map +0 -1
- package/dist/context/state-tracker/with-parameters.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/types.js.map +0 -1
- package/src/adapter/device-helpers/device-features.ts +0 -161
- package/src/adapter/device-helpers/device-limits.ts +0 -155
- package/src/adapter/device-helpers/is-old-ie.ts +0 -14
- package/src/context/context/create-headless-context.ts +0 -51
- package/src/context/context/webgl-checks.ts +0 -51
- package/src/context/polyfill/get-parameter-polyfill.ts +0 -122
- package/src/context/polyfill/polyfill-context.ts +0 -104
- package/src/context/polyfill/polyfill-table.ts +0 -167
- package/src/context/polyfill/polyfill-vertex-array-object.ts +0 -365
package/dist.min.js
CHANGED
|
@@ -4,49 +4,16 @@
|
|
|
4
4
|
else if (typeof define === 'function' && define.amd) define([], factory);
|
|
5
5
|
else if (typeof exports === 'object') exports['luma'] = factory();
|
|
6
6
|
else root['luma'] = factory();})(globalThis, function () {
|
|
7
|
-
var __exports__=(()=>{var Xn=Object.defineProperty;var Wc=Object.getOwnPropertyDescriptor;var Hc=Object.getOwnPropertyNames;var Xc=Object.prototype.hasOwnProperty;var Vc=(e,t)=>{for(var r in t)Xn(e,r,{get:t[r],enumerable:!0})},kc=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Hc(t))!Xc.call(e,i)&&i!==r&&Xn(e,i,{get:()=>t[i],enumerable:!(n=Wc(t,i))||n.enumerable});return e};var Lc=e=>kc(Xn({},"__esModule",{value:!0}),e);var em={};Vc(em,{Accessor:()=>In,WEBGLBuffer:()=>he,WEBGLCommandEncoder:()=>Dn,WEBGLFramebuffer:()=>Pe,WEBGLRenderPass:()=>wn,WEBGLRenderPipeline:()=>Cn,WEBGLRenderbuffer:()=>St,WEBGLResource:()=>yr,WEBGLSampler:()=>Ve,WEBGLShader:()=>On,WEBGLTexture:()=>se,WEBGLTransformFeedback:()=>Wn,WEBGLVertexArray:()=>Un,WebGLCanvasContext:()=>An,WebGLDevice:()=>pe,WebGLResource:()=>yr,_TEXTURE_FORMATS:()=>He,_checkFloat32ColorAttachment:()=>un,assertWebGL2Context:()=>cf,assertWebGLContext:()=>tn,convertGLToTextureFormat:()=>Xe,getGLParameters:()=>ht,getShaderLayout:()=>Nn,getWebGL2Context:()=>Qt,isWebGL:()=>vo,isWebGL2:()=>L,polyfillContext:()=>on,popContextState:()=>ve,pushContextState:()=>Se,registerHeadlessGL:()=>si,resetGLParameters:()=>Rf,setDeviceParameters:()=>ln,setGLParameters:()=>le,trackContextState:()=>nr,withDeviceParameters:()=>$f,withGLParameters:()=>de});function Mt(e){return Mt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Mt(e)}function ui(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ci(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ui(Object(r),!0).forEach(function(n){Kc(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ui(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Kc(e,t,r){return t=Yc(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Yc(e){var t=zc(e,"string");return Mt(t)==="symbol"?t:String(t)}function zc(e,t){if(Mt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Mt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var $c="Failed to create WebGL context in Node.js, headless gl returned null",Zc=" 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.",Qc={width:1,height:1,debug:!0,throwOnError:!1},Ar=null;function si(e){Ar=e}function li(){return Ar!==null}function pi(e){e=ci(ci({},Qc),e);var t=e,r=t.width,n=t.height,i=t.webgl1,o=t.webgl2;if(o&&!i)throw new Error("headless-gl does not support WebGL2");if(!Ar)throw new Error(Zc);var a=Ar(r,n,e);if(!a)throw new Error($c);return a}function Ut(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 G(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||Ut()}var qc=globalThis.self||globalThis.window||globalThis.global,Ye=globalThis.window||globalThis.self||globalThis.global,Jc=globalThis.document||{},Be=globalThis.process||{},Gc=globalThis.console,di=globalThis.navigator||{};var Rr=typeof __VERSION__<"u"?__VERSION__:"untranspiled source",um=G();var Vn=globalThis;function Or(e){if(!e&&!G())return"Node";if(Ut(e))return"Electron";let t=e||di.userAgent||"";if(t.indexOf("Edge")>-1)return"Edge";let r=t.indexOf("MSIE ")!==-1,n=t.indexOf("Trident/")!==-1;return r||n?"IE":Vn.chrome?"Chrome":Vn.safari?"Safari":Vn.mozInnerScreenX?"Firefox":"Unknown"}function es(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var Er=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=es(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 hi(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 yi(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 wr(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(r=Math.min(r,n/e.width));let o=e.width*r,a=e.height*r,u=["font-size:1px;","padding:".concat(Math.floor(a/2),"px ").concat(Math.floor(o/2),"px;"),"line-height:".concat(a,"px;"),"background:url(".concat(i,");"),"background-size:".concat(o,"px ").concat(a,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),u]}var Pr;(function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(Pr||(Pr={}));var ts=10;function _i(e){return typeof e!="string"?e:(e=e.toUpperCase(),Pr[e]||Pr.WHITE)}function bi(e,t,r){if(!G&&typeof e=="string"){if(t){let n=_i(t);e="\x1B[".concat(n,"m").concat(e,"\x1B[39m")}if(r){let n=_i(r);e="\x1B[".concat(n+ts,"m").concat(e,"\x1B[49m")}}return e}function gi(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(r),i=e;for(let o of n){let a=i[o];typeof a=="function"&&(t.find(u=>o===u)||(i[o]=a.bind(e)))}}function ze(e,t){if(!e)throw new Error(t||"Assertion failed")}function Fe(){let e;if(G()&&Ye.performance){var t,r;e=Ye===null||Ye===void 0||(t=Ye.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if("hrtime"in Be){var n;let i=Be===null||Be===void 0||(n=Be.hrtime)===null||n===void 0?void 0:n.call(Be);e=i[0]*1e3+i[1]/1e6}else e=Date.now();return e}var $e={debug:G()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},rs={enabled:!0,level:0};function be(){}var vi={},mi={once:!0},xe=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};this.id=void 0,this.VERSION=Rr,this._startTs=Fe(),this._deltaTs=Fe(),this._storage=void 0,this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new Er("__probe-".concat(this.id,"__"),rs),this.timeStamp("".concat(this.id," started")),gi(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((Fe()-this._startTs).toPrecision(10))}getDelta(){return Number((Fe()-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){ze(t,r)}warn(t){return this._getLogFunction(0,t,$e.warn,arguments,mi)}error(t){return this._getLogFunction(0,t,$e.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,$e.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,$e.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,$e.debug||$e.info,arguments,mi)}table(t,r,n){return r?this._getLogFunction(t,r,console.table||be,n&&[n],{tag:as(r)}):be}image(t){let{logLevel:r,priority:n,image:i,message:o="",scale:a=1}=t;return this._shouldLog(r||n)?G()?is({image:i,message:o,scale:a}):os({image:i,message:o,scale:a}):be}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||be)}group(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},i=Ti({logLevel:t,message:r,opts:n}),{collapsed:o}=n;return i.method=(o?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(t,r,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||be)}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()>=Si(t)}_getLogFunction(t,r,n,i,o){if(this._shouldLog(t)){o=Ti({logLevel:t,message:r,args:i,opts:o}),n=n||o.method,ze(n),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=Fe();let a=o.tag||o.message;if(o.once&&a)if(!vi[a])vi[a]=Fe();else return be;return r=ns(this.id,o.message,o),n.bind(console,r,...o.args)}return be}};xe.VERSION=Rr;function Si(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 ze(Number.isFinite(t)&&t>=0),t}function Ti(e){let{logLevel:t,message:r}=e;e.logLevel=Si(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 ze(i==="string"||i==="object"),Object.assign(e,{args:n},e.opts)}function ns(e,t,r){if(typeof t=="string"){let n=r.time?yi(hi(r.total)):"";t=r.time?"".concat(e,": ").concat(n," ").concat(t):"".concat(e,": ").concat(t),t=bi(t,r.color,r.background)}return t}function os(e){let{image:t,message:r="",scale:n=1}=e;return console.warn("removed"),be}function is(e){let{image:t,message:r="",scale:n=1}=e;if(typeof t=="string"){let o=new Image;return o.onload=()=>{let a=wr(o,r,n);console.log(...a)},o.src=t,be}let i=t.nodeName||"";if(i.toLowerCase()==="img")return console.log(...wr(t,r,n)),be;if(i.toLowerCase()==="canvas"){let o=new Image;return o.onload=()=>console.log(...wr(o,r,n)),o.src=t.toDataURL(),be}return be}function as(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}var Wm=new xe({id:"@probe.gl/log"});var D=new xe({id:"luma.gl"});function jt(){let e;if(typeof window<"u"&&window.performance)e=window.performance.now();else if(typeof process<"u"&&process.hrtime){let t=process.hrtime();e=t[0]*1e3+t[1]/1e6}else e=Date.now();return e}var De=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=jt(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(jt()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}};var Ze=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 De?i=t:i=new De(r,n),this.stats[r]=i),i}};function Wt(e){return Wt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Wt(e)}function Ai(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,us(n.key),n)}}function fs(e,t,r){return t&&Ai(e.prototype,t),r&&Ai(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function us(e){var t=cs(e,"string");return Wt(t)==="symbol"?t:String(t)}function cs(e,t){if(Wt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Wt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ss(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var ls=function(){function e(){ss(this,e),this.stats=new Map}var t=e.prototype;return t.getStats=function(n){return this.get(n)},t.get=function(n){return this.stats.has(n)||this.stats.set(n,new Ze({id:n})),this.stats.get(n)},fs(e)}(),Ir=new ls;function ps(){var e=typeof __VERSION__<"u"?__VERSION__:"running from source",t="set luma.log.level=1 (or higher) to trace rendering";if(globalThis.luma&&globalThis.luma.VERSION!==e)throw new Error("luma.gl - multiple VERSIONs detected: ".concat(globalThis.luma.VERSION," vs ").concat(e));return globalThis.luma||(G()&&D.log(1,"".concat(e," - ").concat(t))(),globalThis.luma=globalThis.luma||{VERSION:e,version:e,log:D,stats:Ir}),e}var Ri=ps();function ds(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)?e:null}function Oi(e){return Array.isArray(e)?e.length===0||typeof e[0]=="number"?e:null:ds(e)}var kn={};function Te(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"id";kn[e]=kn[e]||1;var t=kn[e]++;return"".concat(e,"-").concat(t)}function Nr(e){return e>0&&(e&e-1)===0}function Qe(e){var t=!0;for(var r in e){t=!1;break}return t}function Ht(e){return Ht=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ht(e)}function Ei(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function hs(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ei(Object(r),!0).forEach(function(n){ys(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ei(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function ys(e,t,r){return t=Pi(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}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,Pi(n.key),n)}}function _s(e,t,r){return t&&wi(e.prototype,t),r&&wi(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Pi(e){var t=bs(e,"string");return Ht(t)==="symbol"?t:String(t)}function bs(e,t){if(Ht(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Ht(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function gs(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var z=function(){function e(r,n,i){if(gs(this,e),this.id=void 0,this.props=void 0,this.userData={},this.device=void 0,this._device=void 0,this.destroyed=!1,this.allocatedBytes=0,this._attachedResources=new Set,!r)throw new Error("no device");this._device=r,this.props=vs(n,i);var o=this.props.id!=="undefined"?this.props.id:Te(this[Symbol.toStringTag]);this.props.id=o,this.id=o,this.userData=this.props.userData||{},this.addStats()}var t=e.prototype;return t.destroy=function(){this.destroyResource()},t.delete=function(){return this.destroy(),this},t.toString=function(){return"".concat(this[Symbol.toStringTag]||this.constructor.name,"(").concat(this.id,")")},t.getProps=function(){return this.props},t.attachResource=function(n){this._attachedResources.add(n)},t.detachResource=function(n){this._attachedResources.delete(n)},t.destroyAttachedResource=function(n){this._attachedResources.delete(n)&&n.destroy()},t.destroyAttachedResources=function(){for(var n=0,i=Object.values(this._attachedResources);n<i.length;n++){var o=i[n];o.destroy()}this._attachedResources=new Set},t.destroyResource=function(){this.destroyAttachedResources(),this.removeStats(),this.destroyed=!0},t.removeStats=function(){var n=this._device.statsManager.getStats("Resource Counts"),i=this[Symbol.toStringTag];n.get("".concat(i,"s Active")).decrementCount()},t.trackAllocatedMemory=function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this[Symbol.toStringTag],o=this._device.statsManager.getStats("Resource Counts");o.get("GPU Memory").addCount(n),o.get("".concat(i," Memory")).addCount(n),this.allocatedBytes=n},t.trackDeallocatedMemory=function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this[Symbol.toStringTag],i=this._device.statsManager.getStats("Resource Counts");i.get("GPU Memory").subtractCount(this.allocatedBytes),i.get("".concat(n," Memory")).subtractCount(this.allocatedBytes),this.allocatedBytes=0},t.addStats=function(){var n=this._device.statsManager.getStats("Resource Counts"),i=this[Symbol.toStringTag];n.get("Resources Created").incrementCount(),n.get("".concat(i,"s Created")).incrementCount(),n.get("".concat(i,"s Active")).incrementCount()},_s(e)}();z.defaultProps={id:"undefined",handle:void 0,userData:void 0};function vs(e,t){var r=hs({},t);for(var n in e)e[n]!==void 0&&(r[n]=e[n]);return r}function qe(e){return qe=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},qe(e)}var xi;function Ii(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 Ln(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ii(Object(r),!0).forEach(function(n){ms(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ii(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function ms(e,t,r){return t=Ci(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ts(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ni(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,Ci(n.key),n)}}function Ss(e,t,r){return t&&Ni(e.prototype,t),r&&Ni(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ci(e){var t=As(e,"string");return qe(t)==="symbol"?t:String(t)}function As(e,t){if(qe(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(qe(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Rs(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Kn(e,t)}function Kn(e,t){return Kn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Kn(e,t)}function Os(e){var t=Ps();return function(){var n=xr(e),i;if(t){var o=xr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Es(this,i)}}function Es(e,t){if(t&&(qe(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ws(e)}function ws(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ps(){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 xr(e){return xr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},xr(e)}xi=Symbol.toStringTag;var te=function(e){Rs(r,e);var t=Os(r);function r(i,o){var a;Ts(this,r);var u=Ln({},o);return(o.usage||0)&r.INDEX&&!o.indexType&&(o.data instanceof Uint32Array?u.indexType="uint32":o.data instanceof Uint16Array&&(u.indexType="uint16")),a=t.call(this,i,u,r.defaultProps),a.usage=void 0,a.indexType=void 0,a.byteLength=void 0,a.debugData=new ArrayBuffer(0),a.usage=o.usage||0,a.indexType=u.indexType,a}var n=r.prototype;return n.readSyncWebGL2=function(o,a){throw new Error("not implemented")},n._setDebugData=function(o,a,u){var c=ArrayBuffer.isView(o)?o.buffer:o,p=Math.min(o?o.byteLength:u,r.DEBUG_DATA_MAX_LENGTH);o===null?this.debugData=new ArrayBuffer(p):a===0&&u===o.byteLength?this.debugData=c.slice(0,p):this.debugData=c.slice(a,a+p)},Ss(r,[{key:xi,get:function(){return"Buffer"}}]),r}(z);te.defaultProps=Ln(Ln({},z.defaultProps),{},{usage:0,byteLength:0,byteOffset:0,data:null,indexType:"uint16",mappedAtCreation:!1});te.MAP_READ=1;te.MAP_WRITE=2;te.COPY_SRC=4;te.COPY_DST=8;te.INDEX=16;te.VERTEX=32;te.UNIFORM=64;te.STORAGE=128;te.INDIRECT=256;te.QUERY_RESOLVE=512;te.DEBUG_DATA_MAX_LENGTH=32;function Xt(e){return Xt=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},Xt(e)}var Di;function Bi(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 Yn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Bi(Object(r),!0).forEach(function(n){Is(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Bi(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Is(e,t,r){return t=Mi(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ns(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Fi(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,Mi(n.key),n)}}function xs(e,t,r){return t&&Fi(e.prototype,t),r&&Fi(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Mi(e){var t=Cs(e,"string");return Xt(t)==="symbol"?t:String(t)}function Cs(e,t){if(Xt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Xt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}Di=Symbol.toStringTag;var Je=function(){function e(r){Ns(this,e),this.id=void 0,this.statsManager=Ir,this.props=void 0,this.userData={},this._lumaData={},this.info=void 0,this.lost=void 0,this.canvasContext=void 0,this.props=Yn(Yn({},e.defaultProps),r),this.id=this.props.id||Te(this[Symbol.toStringTag].toLowerCase())}var t=e.prototype;return t.loseDevice=function(){return!1},t.getCanvasContext=function(){if(!this.canvasContext)throw new Error("Device has no CanvasContext");return this.canvasContext},t.createTexture=function(n){return(n instanceof Promise||typeof n=="string")&&(n={data:n}),this._createTexture(n)},t.createCommandEncoder=function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};throw new Error("not implemented")},t.readPixelsToArrayWebGL=function(n,i){throw new Error("not implemented")},t.readPixelsToBufferWebGL=function(n,i){throw new Error("not implemented")},t.setParametersWebGL=function(n){throw new Error("not implemented")},t.getParametersWebGL=function(n){throw new Error("not implemented")},t.withParametersWebGL=function(n,i){throw new Error("not implemented")},t.clearWebGL=function(n){throw new Error("not implemented")},t._getBufferProps=function(n){(n instanceof ArrayBuffer||ArrayBuffer.isView(n))&&(n={data:n});var i=Yn({},n);return(n.usage||0)&te.INDEX&&!n.indexType&&(n.data instanceof Uint32Array?i.indexType="uint32":n.data instanceof Uint16Array?i.indexType="uint16":D.warn("indices buffer content must be of integer type")()),i},xs(e,[{key:Di,get:function(){return"Device"}}]),e}();Je.defaultProps={id:null,type:"best-available",canvas:null,container:null,webgl2:!0,webgl1:!0,manageState:!0,width:800,height:600,debug:Boolean(D.get("debug")),break:[],gl:null};Je.VERSION=Ri;function H(e,t){if(!e)throw new Error(t||"luma.gl: assertion failed.")}function Vt(e){return Vt=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},Vt(e)}function Cr(e,t){return Ds(e)||Fs(e,t)||ki(e,t)||Bs()}function Bs(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
8
|
-
|
|
9
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,u;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,u=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw u}}}}function ki(e,t){if(e){if(typeof e=="string")return Ui(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 Ui(e,t)}}function Ui(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 ji(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Wi(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ji(Object(r),!0).forEach(function(n){Us(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ji(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Us(e,t,r){return t=Li(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function js(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Hi(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,Li(n.key),n)}}function Ws(e,t,r){return t&&Hi(e.prototype,t),r&&Hi(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Li(e){var t=Hs(e,"string");return Vt(t)==="symbol"?t:String(t)}function Hs(e,t){if(Vt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Vt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Xs=G()&&typeof document<"u",Br=function(){return Xs&&document.readyState==="complete"},Vs={canvas:null,width:800,height:600,useDevicePixels:!0,autoResize:!0,container:null,visible:!0,colorSpace:"srgb",alphaMode:"opaque"},Ge=function(){function e(r){var n=this;if(js(this,e),this.device=void 0,this.id=void 0,this.props=void 0,this.canvas=void 0,this.htmlCanvas=void 0,this.offscreenCanvas=void 0,this.type=void 0,this.width=1,this.height=1,this.resizeObserver=void 0,this._canvasSizeInfo={clientWidth:0,clientHeight:0,devicePixelRatio:1},this.props=Wi(Wi({},Vs),r),r=this.props,!G()){this.id="node-canvas-context",this.type="node",this.width=this.props.width,this.height=this.props.height,this.canvas=null;return}if(r.canvas)typeof r.canvas=="string"?this.canvas=Ks(r.canvas):this.canvas=r.canvas;else{var i,o,a=Ys(r),u=Ls(((i=r)===null||i===void 0?void 0:i.container)||null);u.insertBefore(a,u.firstChild),this.canvas=a,(o=r)!==null&&o!==void 0&&o.visible||(this.canvas.style.visibility="hidden")}this.canvas instanceof HTMLCanvasElement?(this.id=this.canvas.id,this.type="html-canvas",this.htmlCanvas=this.canvas):(this.id="offscreen-canvas",this.type="offscreen-canvas",this.offscreenCanvas=this.canvas),this.canvas instanceof HTMLCanvasElement&&r.autoResize&&(this.resizeObserver=new ResizeObserver(function(c){var p=Ms(c),b;try{for(p.s();!(b=p.n()).done;){var g=b.value;g.target===n.canvas&&n.update()}}catch(v){p.e(v)}finally{p.f()}}),this.resizeObserver.observe(this.canvas))}var t=e.prototype;return t.getDevicePixelRatio=function(n){if(typeof OffscreenCanvas<"u"&&this.canvas instanceof OffscreenCanvas||(n=n===void 0?this.props.useDevicePixels:n,!n||n<=0))return 1;if(n===!0){var i=typeof window<"u"&&window.devicePixelRatio;return i||1}return n},t.getPixelSize=function(){switch(this.type){case"node":return[this.width,this.height];case"offscreen-canvas":return[this.canvas.width,this.canvas.height];case"html-canvas":var n=this.getDevicePixelRatio(),i=this.canvas;return i.parentElement?[i.clientWidth*n,i.clientHeight*n]:[this.canvas.width,this.canvas.height];default:throw new Error(this.type)}},t.getAspect=function(){var n=this.getPixelSize(),i=Cr(n,2),o=i[0],a=i[1];return o/a},t.cssToDeviceRatio=function(){try{var n=this.getDrawingBufferSize(),i=Cr(n,1),o=i[0],a=this._canvasSizeInfo.clientWidth;return a?o/a:1}catch{return 1}},t.cssToDevicePixels=function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,o=this.cssToDeviceRatio(),a=this.getDrawingBufferSize(),u=Cr(a,2),c=u[0],p=u[1];return zs(n,o,c,p,i)},t.setDevicePixelRatio=function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.htmlCanvas){var o="width"in i?i.width:this.htmlCanvas.clientWidth,a="height"in i?i.height:this.htmlCanvas.clientHeight;(!o||!a)&&(D.log(1,"Canvas clientWidth/clientHeight is 0")(),n=1,o=this.htmlCanvas.width||1,a=this.htmlCanvas.height||1);var u=this._canvasSizeInfo;if(u.clientWidth!==o||u.clientHeight!==a||u.devicePixelRatio!==n){var c=n,p=Math.floor(o*c),b=Math.floor(a*c);this.htmlCanvas.width=p,this.htmlCanvas.height=b;var g=this.getDrawingBufferSize(),v=Cr(g,2),T=v[0],S=v[1];(T!==p||S!==b)&&(c=Math.min(T/o,S/a),this.htmlCanvas.width=Math.floor(o*c),this.htmlCanvas.height=Math.floor(a*c),D.warn("Device pixel ratio clamped")()),this._canvasSizeInfo.clientWidth=o,this._canvasSizeInfo.clientHeight=a,this._canvasSizeInfo.devicePixelRatio=n}}},t.getDrawingBufferSize=function(){var n=this.device.gl;if(!n)throw new Error("canvas size");return[n.drawingBufferWidth,n.drawingBufferHeight]},t._setAutoCreatedCanvasId=function(n){var i;((i=this.htmlCanvas)===null||i===void 0?void 0:i.id)==="lumagl-auto-created-canvas"&&(this.htmlCanvas.id=n)},Ws(e,null,[{key:"isPageLoaded",get:function(){return Br()}}]),e}();Ge.pageLoaded=ks();function ks(){return Br()||typeof window>"u"?Promise.resolve():new Promise(function(e){window.addEventListener("load",function(){return e()})})}function Ls(e){if(typeof e=="string"){var t=document.getElementById(e);if(!t&&!Br())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 Ks(e){var t=document.getElementById(e);if(!t&&!Br())throw new Error("Accessing '".concat(e,"' before page was loaded"));if(!(t instanceof HTMLCanvasElement))throw new Error("Object is not a canvas element");return t}function Ys(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 zs(e,t,r,n,i){var o=e,a=Xi(o[0],t,r),u=Vi(o[1],t,n,i),c=Xi(o[0]+1,t,r),p=c===r-1?c:c-1;c=Vi(o[1]+1,t,n,i);var b;return i?(c=c===0?c:c+1,b=u,u=c):b=c===n-1?c:c-1,{x:a,y:u,width:Math.max(p-a+1,1),height:Math.max(b-u+1,1)}}function Xi(e,t,r){var n=Math.min(Math.round(e*t),r-1);return n}function Vi(e,t,r,n){return n?Math.max(0,r-1-Math.round(e*t)):Math.min(Math.round(e*t),r-1)}function et(e){return et=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},et(e)}var $i;function Ki(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 Yi(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ki(Object(r),!0).forEach(function(n){$s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ki(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function $s(e,t,r){return t=Zi(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Zs(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function zi(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,Zi(n.key),n)}}function Qs(e,t,r){return t&&zi(e.prototype,t),r&&zi(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Zi(e){var t=qs(e,"string");return et(t)==="symbol"?t:String(t)}function qs(e,t){if(et(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(et(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Js(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&&zn(e,t)}function zn(e,t){return zn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},zn(e,t)}function Gs(e){var t=rl();return function(){var n=Fr(e),i;if(t){var o=Fr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return el(this,i)}}function el(e,t){if(t&&(et(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return tl(e)}function tl(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function rl(){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 Fr(e){return Fr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Fr(e)}$i=Symbol.toStringTag;var ue=function(e){Js(r,e);var t=Gs(r);function r(n,i){var o,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:r.defaultProps;return Zs(this,r),o=t.call(this,n,i,a),o.dimension=void 0,o.format=void 0,o.width=void 0,o.height=void 0,o.depth=void 0,o.sampler=void 0,o.dimension=o.props.dimension,o.format=o.props.format,o.width=o.props.width,o.height=o.props.height,o.depth=o.props.depth,o}return Qs(r,[{key:$i,get:function(){return"Texture"}}]),r}(z);ue.defaultProps=Yi(Yi({},z.defaultProps),{},{data:null,dimension:"2d",format:"rgba8unorm",width:void 0,height:void 0,depth:1,mipmaps:!0,sampler:{},compressed:!1,usage:0,mipLevels:void 0,samples:void 0,type:void 0});ue.COPY_SRC=1;ue.COPY_DST=2;ue.TEXTURE_BINDING=4;ue.STORAGE_BINDING=8;ue.RENDER_ATTACHMENT=16;function kt(e){return kt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},kt(e)}function nl(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(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
10
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,u;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,u=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw u}}}}function ol(e,t){if(e){if(typeof e=="string")return Qi(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 Qi(e,t)}}function Qi(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 qi(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 Ji(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?qi(Object(r),!0).forEach(function(n){il(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):qi(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function il(e,t,r){return t=al(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function al(e){var t=fl(e,"string");return kt(t)==="symbol"?t:String(t)}function fl(e,t){if(kt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(kt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ea(e,t,r){var n="",i=t.split(/\r?\n/),o=e.slice().sort(function(v,T){return v.lineNum-T.lineNum});switch(r?.showSourceCode||"no"){case"all":for(var a=0,u=1;u<=i.length;u++)for(n+=ta(i[u-1],u,r);o.length>a&&o[a].lineNum===u;){var c=o[a++];n+=Gi(c,i,c.lineNum,Ji(Ji({},r),{},{inlineSource:!1}))}return n;case"issues":case"no":var p=nl(e),b;try{for(p.s();!(b=p.n()).done;){var g=b.value;n+=Gi(g,i,g.lineNum,{inlineSource:r?.showSourceCode!=="no"})}}catch(v){p.e(v)}finally{p.f()}return n}}function Gi(e,t,r,n){if(n!=null&&n.inlineSource){var i=ul(t,r),o=e.linePos>0?"".concat(" ".repeat(e.linePos+5),`^^^
|
|
11
|
-
`):"";return`
|
|
12
|
-
`.concat(i).concat(o).concat(e.type.toUpperCase(),": ").concat(e.message,`
|
|
7
|
+
var __exports__=(()=>{var ci=Object.create;var st=Object.defineProperty;var li=Object.getOwnPropertyDescriptor;var fi=Object.getOwnPropertyNames;var di=Object.getPrototypeOf,mi=Object.prototype.hasOwnProperty;var hi=(r,e,t)=>e in r?st(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var pi=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),gi=(r,e)=>{for(var t in e)st(r,t,{get:e[t],enumerable:!0})},Wr=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of fi(e))!mi.call(r,i)&&i!==t&&st(r,i,{get:()=>e[i],enumerable:!(n=li(e,i))||n.enumerable});return r};var y=(r,e,t)=>(t=r!=null?ci(di(r)):{},Wr(e||!r||!r.__esModule?st(t,"default",{value:r,enumerable:!0}):t,r)),Ei=r=>Wr(st({},"__esModule",{value:!0}),r);var E=(r,e,t)=>(hi(r,typeof e!="symbol"?e+"":e,t),t);var S=pi((Fc,dn)=>{dn.exports=globalThis.luma});var Ts={};gi(Ts,{Accessor:()=>ue,WEBGLBuffer:()=>H,WEBGLCommandEncoder:()=>rt,WEBGLFramebuffer:()=>ee,WEBGLRenderPass:()=>Je,WEBGLRenderPipeline:()=>tt,WEBGLRenderbuffer:()=>Ee,WEBGLResource:()=>Ce,WEBGLSampler:()=>le,WEBGLShader:()=>Ze,WEBGLTexture:()=>U,WEBGLTransformFeedback:()=>it,WEBGLVertexArray:()=>be,WebGLCanvasContext:()=>qe,WebGLDevice:()=>K,WebGLResource:()=>Ce,_TEXTURE_FORMATS:()=>Se,convertGLToTextureFormat:()=>xe,getGLParameters:()=>Xe,getShaderLayout:()=>zt,popContextState:()=>Z,pushContextState:()=>re,resetGLParameters:()=>bn,setDeviceParameters:()=>Kt,setGLParameters:()=>X,trackContextState:()=>pt,withDeviceParameters:()=>wn,withGLParameters:()=>Y});function at(r){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 e=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,t=r||e;return!!(t&&t.indexOf("Electron")>=0)}function v(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||at()}var bi=globalThis.self||globalThis.window||globalThis.global,Pe=globalThis.window||globalThis.self||globalThis.global,_i=globalThis.document||{},Te=globalThis.process||{},Ti=globalThis.console,Hr=globalThis.navigator||{};var Ct=typeof __VERSION__<"u"?__VERSION__:"untranspiled source",Cs=v();var qt=globalThis;function Gt(r){if(!r&&!v())return"Node";if(at(r))return"Electron";let e=r||Hr.userAgent||"";if(e.indexOf("Edge")>-1)return"Edge";let t=e.indexOf("MSIE ")!==-1,n=e.indexOf("Trident/")!==-1;return t||n?"IE":qt.chrome?"Chrome":qt.safari?"Safari":qt.mozInnerScreenX?"Firefox":"Unknown"}function Li(r){try{let e=window[r],t="__storage_test__";return e.setItem(t,t),e.removeItem(t),e}catch{return null}}var Pt=class{constructor(e,t){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=Li(n),this.id=e,this.config=t,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){if(Object.assign(this.config,e),this.storage){let t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}}_loadConfiguration(){let e={};if(this.storage){let t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}};function kr(r){let e;return r<10?e=`${r.toFixed(2)}ms`:r<100?e=`${r.toFixed(1)}ms`:r<1e3?e=`${r.toFixed(0)}ms`:e=`${(r/1e3).toFixed(2)}s`,e}function Vr(r){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,t=Math.max(e-r.length,0);return`${" ".repeat(t)}${r}`}function Ft(r,e,t){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,i=r.src.replace(/\(/g,"%28").replace(/\)/g,"%29");r.width>n&&(t=Math.min(t,n/r.width));let s=r.width*t,a=r.height*t,u=["font-size:1px;",`padding:${Math.floor(a/2)}px ${Math.floor(s/2)}px;`,`line-height:${a}px;`,`background:url(${i});`,`background-size:${s}px ${a}px;`,"color:transparent;"].join("");return[`${e} %c+`,u]}var Bt;(function(r){r[r.BLACK=30]="BLACK",r[r.RED=31]="RED",r[r.GREEN=32]="GREEN",r[r.YELLOW=33]="YELLOW",r[r.BLUE=34]="BLUE",r[r.MAGENTA=35]="MAGENTA",r[r.CYAN=36]="CYAN",r[r.WHITE=37]="WHITE",r[r.BRIGHT_BLACK=90]="BRIGHT_BLACK",r[r.BRIGHT_RED=91]="BRIGHT_RED",r[r.BRIGHT_GREEN=92]="BRIGHT_GREEN",r[r.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",r[r.BRIGHT_BLUE=94]="BRIGHT_BLUE",r[r.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",r[r.BRIGHT_CYAN=96]="BRIGHT_CYAN",r[r.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(Bt||(Bt={}));var Ri=10;function Xr(r){return typeof r!="string"?r:(r=r.toUpperCase(),Bt[r]||Bt.WHITE)}function Kr(r,e,t){return!v&&typeof r=="string"&&(e&&(r=`\x1B[${Xr(e)}m${r}\x1B[39m`),t&&(r=`\x1B[${Xr(t)+Ri}m${r}\x1B[49m`)),r}function Yr(r){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],t=Object.getPrototypeOf(r),n=Object.getOwnPropertyNames(t),i=r;for(let s of n){let a=i[s];typeof a=="function"&&(e.find(u=>s===u)||(i[s]=a.bind(r)))}}function Fe(r,e){if(!r)throw new Error(e||"Assertion failed")}function Le(){let r;if(v()&&Pe.performance){var e,t;r=Pe===null||Pe===void 0||(e=Pe.performance)===null||e===void 0||(t=e.now)===null||t===void 0?void 0:t.call(e)}else if("hrtime"in Te){var n;let i=Te===null||Te===void 0||(n=Te.hrtime)===null||n===void 0?void 0:n.call(Te);r=i[0]*1e3+i[1]/1e6}else r=Date.now();return r}var Be={debug:v()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Ai={enabled:!0,level:0};function q(){}var $r={},zr={once:!0},me=class{constructor(){let{id:e}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};this.id=void 0,this.VERSION=Ct,this._startTs=Le(),this._deltaTs=Le(),this._storage=void 0,this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=e,this.userData={},this._storage=new Pt(`__probe-${this.id}__`,Ai),this.timeStamp(`${this.id} started`),Yr(this),Object.seal(this)}set level(e){this.setLevel(e)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((Le()-this._startTs).toPrecision(10))}getDelta(){return Number((Le()-this._deltaTs).toPrecision(10))}set priority(e){this.level=e}get priority(){return this.level}getPriority(){return this.level}enable(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:e}),this}setLevel(e){return this._storage.setConfiguration({level:e}),this}get(e){return this._storage.config[e]}set(e,t){this._storage.setConfiguration({[e]:t})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(e,t){Fe(e,t)}warn(e){return this._getLogFunction(0,e,Be.warn,arguments,zr)}error(e){return this._getLogFunction(0,e,Be.error,arguments)}deprecated(e,t){return this.warn(`\`${e}\` is deprecated and will be removed in a later version. Use \`${t}\` instead`)}removed(e,t){return this.error(`\`${e}\` has been removed. Use \`${t}\` instead`)}probe(e,t){return this._getLogFunction(e,t,Be.log,arguments,{time:!0,once:!0})}log(e,t){return this._getLogFunction(e,t,Be.debug,arguments)}info(e,t){return this._getLogFunction(e,t,console.info,arguments)}once(e,t){return this._getLogFunction(e,t,Be.debug||Be.info,arguments,zr)}table(e,t,n){return t?this._getLogFunction(e,t,console.table||q,n&&[n],{tag:Ci(t)}):q}image(e){let{logLevel:t,priority:n,image:i,message:s="",scale:a=1}=e;return this._shouldLog(t||n)?v()?yi({image:i,message:s,scale:a}):xi({image:i,message:s,scale:a}):q}time(e,t){return this._getLogFunction(e,t,console.time?console.time:console.info)}timeEnd(e,t){return this._getLogFunction(e,t,console.timeEnd?console.timeEnd:console.info)}timeStamp(e,t){return this._getLogFunction(e,t,console.timeStamp||q)}group(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},i=jr({logLevel:e,message:t,opts:n}),{collapsed:s}=n;return i.method=(s?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(e,t,Object.assign({},n,{collapsed:!0}))}groupEnd(e){return this._getLogFunction(e,"",console.groupEnd||q)}withGroup(e,t,n){this.group(e,t)();try{n()}finally{this.groupEnd(e)()}}trace(){console.trace&&console.trace()}_shouldLog(e){return this.isEnabled()&&this.getLevel()>=Qr(e)}_getLogFunction(e,t,n,i,s){if(this._shouldLog(e)){s=jr({logLevel:e,message:t,args:i,opts:s}),n=n||s.method,Fe(n),s.total=this.getTotal(),s.delta=this.getDelta(),this._deltaTs=Le();let a=s.tag||s.message;if(s.once&&a)if(!$r[a])$r[a]=Le();else return q;return t=Si(this.id,s.message,s),n.bind(console,t,...s.args)}return q}};me.VERSION=Ct;function Qr(r){if(!r)return 0;let e;switch(typeof r){case"number":e=r;break;case"object":e=r.logLevel||r.priority||0;break;default:return 0}return Fe(Number.isFinite(e)&&e>=0),e}function jr(r){let{logLevel:e,message:t}=r;r.logLevel=Qr(e);let n=r.args?Array.from(r.args):[];for(;n.length&&n.shift()!==t;);switch(typeof e){case"string":case"function":t!==void 0&&n.unshift(t),r.message=e;break;case"object":Object.assign(r,e);break;default:}typeof r.message=="function"&&(r.message=r.message());let i=typeof r.message;return Fe(i==="string"||i==="object"),Object.assign(r,{args:n},r.opts)}function Si(r,e,t){if(typeof e=="string"){let n=t.time?Vr(kr(t.total)):"";e=t.time?`${r}: ${n} ${e}`:`${r}: ${e}`,e=Kr(e,t.color,t.background)}return e}function xi(r){let{image:e,message:t="",scale:n=1}=r;return console.warn("removed"),q}function yi(r){let{image:e,message:t="",scale:n=1}=r;if(typeof e=="string"){let s=new Image;return s.onload=()=>{let a=Ft(s,t,n);console.log(...a)},s.src=e,q}let i=e.nodeName||"";if(i.toLowerCase()==="img")return console.log(...Ft(e,t,n)),q;if(i.toLowerCase()==="canvas"){let s=new Image;return s.onload=()=>console.log(...Ft(s,t,n)),s.src=e.toDataURL(),q}return q}function Ci(r){for(let e in r)for(let t in r[e])return t||"untitled";return"empty"}globalThis.probe={};var ia=new me({id:"@probe.gl/log"});var m=new me({id:"luma.gl"});function ut(){let r;if(typeof window<"u"&&window.performance)r=window.performance.now();else if(typeof process<"u"&&process.hrtime){let e=process.hrtime();r=e[0]*1e3+e[1]/1e6}else r=Date.now();return r}var Re=class{constructor(e,t){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=e,this.type=t,this.reset()}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}setSampleSize(e){return this.sampleSize=e,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(e){return this._count+=e,this._samples++,this._checkSampling(),this}subtractCount(e){return this._count-=e,this._samples++,this._checkSampling(),this}addTime(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=ut(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(ut()-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 Ie=class{constructor(e){this.id=void 0,this.stats={},this.id=e.id,this.stats={},this._initializeStats(e.stats),Object.seal(this)}get(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"count";return this._getOrCreate({name:e,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(let e of Object.values(this.stats))e.reset();return this}forEach(e){for(let t of Object.values(this.stats))e(t)}getTable(){let e={};return this.forEach(t=>{e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),e}_initializeStats(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).forEach(t=>this._getOrCreate(t))}_getOrCreate(e){let{name:t,type:n}=e,i=this.stats[t];return i||(e instanceof Re?i=e:i=new Re(t,n),this.stats[t]=i),i}};var Zt=class{stats=new Map;getStats(e){return this.get(e)}get(e){return this.stats.has(e)||this.stats.set(e,new Ie({id:e})),this.stats.get(e)}},It=new Zt;function Gi(){let r="9.0.0-beta.5",e="set luma.log.level=1 (or higher) to trace rendering";if(globalThis.luma&&globalThis.luma.VERSION!==r)throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${r}`);return globalThis.luma||(v()&&m.log(1,`${r} - ${e}`)(),globalThis.luma=globalThis.luma||{VERSION:r,version:r,log:m,stats:It}),r}var qr=Gi();function Pi(r){return ArrayBuffer.isView(r)&&!(r instanceof DataView)?r:null}function Zr(r){return Array.isArray(r)?r.length===0||typeof r[0]=="number"?r:null:Pi(r)}var Jt={};function te(r="id"){Jt[r]=Jt[r]||1;let e=Jt[r]++;return`${r}-${e}`}function Ne(r){let e=!0;for(let t in r){e=!1;break}return e}var _=class{id;props;userData={};_device;destroyed=!1;allocatedBytes=0;_attachedResources=new Set;constructor(e,t,n){if(!e)throw new Error("no device");this._device=e,this.props=Fi(t,n);let i=this.props.id!=="undefined"?this.props.id:te(this[Symbol.toStringTag]);this.props.id=i,this.id=i,this.userData=this.props.userData||{},this.addStats()}destroy(){this.destroyResource()}delete(){return this.destroy(),this}toString(){return`${this[Symbol.toStringTag]||this.constructor.name}(${this.id})`}getProps(){return this.props}attachResource(e){this._attachedResources.add(e)}detachResource(e){this._attachedResources.delete(e)}destroyAttachedResource(e){this._attachedResources.delete(e)&&e.destroy()}destroyAttachedResources(){for(let e of Object.values(this._attachedResources))e.destroy();this._attachedResources=new Set}destroyResource(){this.destroyAttachedResources(),this.removeStats(),this.destroyed=!0}removeStats(){let e=this._device.statsManager.getStats("Resource Counts"),t=this[Symbol.toStringTag];e.get(`${t}s Active`).decrementCount()}trackAllocatedMemory(e,t=this[Symbol.toStringTag]){let n=this._device.statsManager.getStats("Resource Counts");n.get("GPU Memory").addCount(e),n.get(`${t} Memory`).addCount(e),this.allocatedBytes=e}trackDeallocatedMemory(e=this[Symbol.toStringTag]){let t=this._device.statsManager.getStats("Resource Counts");t.get("GPU Memory").subtractCount(this.allocatedBytes),t.get(`${e} Memory`).subtractCount(this.allocatedBytes),this.allocatedBytes=0}addStats(){let e=this._device.statsManager.getStats("Resource Counts"),t=this[Symbol.toStringTag];e.get("Resources Created").incrementCount(),e.get(`${t}s Created`).incrementCount(),e.get(`${t}s Active`).incrementCount()}};E(_,"defaultProps",{id:"undefined",handle:void 0,userData:void 0});function Fi(r,e){let t={...e};for(let n in r)r[n]!==void 0&&(t[n]=r[n]);return t}var ct=class extends _{get[Symbol.toStringTag](){return"Buffer"}usage;indexType;constructor(e,t){let n={...t};(t.usage||0)&ct.INDEX&&!t.indexType&&(t.data instanceof Uint32Array?n.indexType="uint32":t.data instanceof Uint16Array&&(n.indexType="uint16")),super(e,n,ct.defaultProps),this.usage=t.usage||0,this.indexType=n.indexType}readSyncWebGL(e,t){throw new Error("not implemented")}debugData=new ArrayBuffer(0);_setDebugData(e,t,n){let i=ArrayBuffer.isView(e)?e.buffer:e,s=Math.min(e?e.byteLength:n,ct.DEBUG_DATA_MAX_LENGTH);e===null?this.debugData=new ArrayBuffer(s):t===0&&n===e.byteLength?this.debugData=i.slice(0,s):this.debugData=i.slice(t,t+s)}},P=ct;E(P,"defaultProps",{..._.defaultProps,usage:0,byteLength:0,byteOffset:0,data:null,indexType:"uint16",mappedAtCreation:!1}),E(P,"MAP_READ",1),E(P,"MAP_WRITE",2),E(P,"COPY_SRC",4),E(P,"COPY_DST",8),E(P,"INDEX",16),E(P,"VERTEX",32),E(P,"UNIFORM",64),E(P,"STORAGE",128),E(P,"INDIRECT",256),E(P,"QUERY_RESOLVE",512),E(P,"DEBUG_DATA_MAX_LENGTH",32);function Nt(r){let e=Jr[r],t=Bi(e),n=r.includes("norm"),i=!n&&!r.startsWith("float"),s=r.startsWith("s");return{dataType:Jr[r],byteLength:t,integer:i,signed:s,normalized:n}}function Bi(r){return Ii[r]}var Jr={uint8:"uint8",sint8:"sint8",unorm8:"uint8",snorm8:"sint8",uint16:"uint16",sint16:"sint16",unorm16:"uint16",snorm16:"sint16",float16:"float16",float32:"float32",uint32:"uint32",sint32:"sint32"},Ii={uint8:1,sint8:1,uint16:2,sint16:2,float16:2,float32:4,uint32:4,sint32:4};var Ni=["bc1","bc2","bc3","bc4","bc5","bc6","bc7","etc1","etc2","eac","atc","astc","pvrtc"],Di=/^(rg?b?a?)([0-9]*)([a-z]*)(-srgb)?(-webgl|-unsized)?$/;function en(r){return Ni.some(e=>r.startsWith(e))}function Dt(r){let e=Di.exec(r);if(e){let[,t,n,i,s,a]=e;if(t){let u=`${i}${n}`,l=Nt(u);return{format:t,components:t.length,srgb:s==="-srgb",unsized:a==="-unsized",webgl:a==="-webgl",...l}}}return wi(r)}var vi={"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},"rgb10a2uint-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 wi(r){let e=vi[r];if(!e)throw new Error(`Unknown format ${r}`);return{format:e.format||"",components:e.components||e.format?.length||1,byteLength:e.bpp||1,srgb:!1,unsized:!1}}var lt=class{},ft=class{features;constructor(e=[]){this.features=new Set(e)}*[Symbol.iterator](){yield*this.features}has(e){return this.features.has(e)}},er=class{get[Symbol.toStringTag](){return"Device"}constructor(e){this.props={...er.defaultProps,...e},this.id=this.props.id||te(this[Symbol.toStringTag].toLowerCase())}id;statsManager=It;props;userData={};_lumaData={};isTextureFormatCompressed(e){return en(e)}loseDevice(){return!1}getCanvasContext(){if(!this.canvasContext)throw new Error("Device has no CanvasContext");return this.canvasContext}createTexture(e){return(e instanceof Promise||typeof e=="string")&&(e={data:e}),this._createTexture(e)}createCommandEncoder(e={}){throw new Error("not implemented")}readPixelsToArrayWebGL(e,t){throw new Error("not implemented")}readPixelsToBufferWebGL(e,t){throw new Error("not implemented")}setParametersWebGL(e){throw new Error("not implemented")}getParametersWebGL(e){throw new Error("not implemented")}withParametersWebGL(e,t){throw new Error("not implemented")}clearWebGL(e){throw new Error("not implemented")}onError(e){this.props.onError(e)}_getBufferProps(e){(e instanceof ArrayBuffer||ArrayBuffer.isView(e))&&(e={data:e});let t={...e};return(e.usage||0)&P.INDEX&&!e.indexType&&(e.data instanceof Uint32Array?t.indexType="uint32":e.data instanceof Uint16Array?t.indexType="uint16":m.warn("indices buffer content must be of integer type")()),t}},he=er;E(he,"defaultProps",{id:null,type:"best-available",canvas:null,container:null,manageState:!0,width:800,height:600,requestMaximalLimits:!0,debug:Boolean(m.get("debug")),spector:Boolean(m.get("spector")),break:[],gl:null,onError:e=>m.error(e.message)}),E(he,"VERSION",qr);function A(r,e){if(!r)throw new Error(e||"luma.gl: assertion failed.")}var Oi=v()&&typeof document<"u",vt=()=>Oi&&document.readyState==="complete",Ui={canvas:null,width:800,height:600,useDevicePixels:!0,autoResize:!0,container:null,visible:!0,colorSpace:"srgb",alphaMode:"opaque"},pe=class{id;props;canvas;htmlCanvas;offscreenCanvas;type;width=1;height=1;resizeObserver;_canvasSizeInfo={clientWidth:0,clientHeight:0,devicePixelRatio:1};static get isPageLoaded(){return vt()}constructor(e){if(this.props={...Ui,...e},e=this.props,!v()){this.id="node-canvas-context",this.type="node",this.width=this.props.width,this.height=this.props.height,this.canvas=null;return}if(e.canvas)typeof e.canvas=="string"?this.canvas=Hi(e.canvas):this.canvas=e.canvas;else{let t=ki(e),n=Wi(e?.container||null);n.insertBefore(t,n.firstChild),this.canvas=t,e?.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&&e.autoResize&&(this.resizeObserver=new ResizeObserver(t=>{for(let n of t)n.target===this.canvas&&this.update()}),this.resizeObserver.observe(this.canvas))}getDevicePixelRatio(e){return typeof OffscreenCanvas<"u"&&this.canvas instanceof OffscreenCanvas||(e=e===void 0?this.props.useDevicePixels:e,!e||e<=0)?1:e===!0?typeof window<"u"&&window.devicePixelRatio||1:e}getPixelSize(){switch(this.type){case"node":return[this.width,this.height];case"offscreen-canvas":return[this.canvas.width,this.canvas.height];case"html-canvas":let e=this.getDevicePixelRatio(),t=this.canvas;return t.parentElement?[t.clientWidth*e,t.clientHeight*e]:[this.canvas.width,this.canvas.height];default:throw new Error(this.type)}}getAspect(){let[e,t]=this.getPixelSize();return e/t}cssToDeviceRatio(){try{let[e]=this.getDrawingBufferSize(),{clientWidth:t}=this._canvasSizeInfo;return t?e/t:1}catch{return 1}}cssToDevicePixels(e,t=!0){let n=this.cssToDeviceRatio(),[i,s]=this.getDrawingBufferSize();return Vi(e,n,i,s,t)}setDevicePixelRatio(e,t={}){if(!this.htmlCanvas)return;let n="width"in t?t.width:this.htmlCanvas.clientWidth,i="height"in t?t.height:this.htmlCanvas.clientHeight;(!n||!i)&&(m.log(1,"Canvas clientWidth/clientHeight is 0")(),e=1,n=this.htmlCanvas.width||1,i=this.htmlCanvas.height||1);let s=this._canvasSizeInfo;if(s.clientWidth!==n||s.clientHeight!==i||s.devicePixelRatio!==e){let a=e,u=Math.floor(n*a),l=Math.floor(i*a);this.htmlCanvas.width=u,this.htmlCanvas.height=l;let[f,d]=this.getDrawingBufferSize();(f!==u||d!==l)&&(a=Math.min(f/n,d/i),this.htmlCanvas.width=Math.floor(n*a),this.htmlCanvas.height=Math.floor(i*a),m.warn("Device pixel ratio clamped")()),this._canvasSizeInfo.clientWidth=n,this._canvasSizeInfo.clientHeight=i,this._canvasSizeInfo.devicePixelRatio=e}}getDrawingBufferSize(){let e=this.device.gl;if(!e)throw new Error("canvas size");return[e.drawingBufferWidth,e.drawingBufferHeight]}_setAutoCreatedCanvasId(e){this.htmlCanvas?.id==="lumagl-auto-created-canvas"&&(this.htmlCanvas.id=e)}};E(pe,"pageLoaded",Mi());function Mi(){return vt()||typeof window>"u"?Promise.resolve():new Promise(r=>{window.addEventListener("load",()=>r())})}function Wi(r){if(typeof r=="string"){let e=document.getElementById(r);if(!e&&!vt())throw new Error(`Accessing '${r}' before page was loaded`);if(!e)throw new Error(`${r} is not an HTML element`);return e}else if(r)return r;return document.body}function Hi(r){let e=document.getElementById(r);if(!e&&!vt())throw new Error(`Accessing '${r}' before page was loaded`);if(!(e instanceof HTMLCanvasElement))throw new Error("Object is not a canvas element");return e}function ki(r){let{width:e,height:t}=r,n=document.createElement("canvas");return n.id="lumagl-auto-created-canvas",n.width=e||1,n.height=t||1,n.style.width=Number.isFinite(e)?`${e}px`:"100%",n.style.height=Number.isFinite(t)?`${t}px`:"100%",n}function Vi(r,e,t,n,i){let s=r,a=tn(s[0],e,t),u=rn(s[1],e,n,i),l=tn(s[0]+1,e,t),f=l===t-1?l:l-1;l=rn(s[1]+1,e,n,i);let d;return i?(l=l===0?l:l+1,d=u,u=l):d=l===n-1?l:l-1,{x:a,y:u,width:Math.max(f-a+1,1),height:Math.max(d-u+1,1)}}function tn(r,e,t){return Math.min(Math.round(r*e),t-1)}function rn(r,e,t,n){return n?Math.max(0,t-1-Math.round(r*e)):Math.min(Math.round(r*e),t-1)}var tr=class extends _{get[Symbol.toStringTag](){return"Texture"}dimension;format;width;height;depth;constructor(e,t,n=tr.defaultProps){super(e,t,n),this.dimension=this.props.dimension,this.format=this.props.format,this.width=this.props.width,this.height=this.props.height,this.depth=this.props.depth}},I=tr;E(I,"defaultProps",{..._.defaultProps,data:null,dimension:"2d",format:"rgba8unorm",width:void 0,height:void 0,depth:1,mipmaps:!0,compressed:!1,usage:0,mipLevels:void 0,samples:void 0,type:void 0,sampler:{},view:void 0}),E(I,"COPY_SRC",1),E(I,"COPY_DST",2),E(I,"TEXTURE_BINDING",4),E(I,"STORAGE_BINDING",8),E(I,"RENDER_ATTACHMENT",16);var rr=class extends _{get[Symbol.toStringTag](){return"TextureView"}constructor(e,t){super(e,t,rr.defaultProps)}},De=rr;E(De,"defaultProps",{..._.defaultProps,format:void 0,dimension:void 0,aspect:"all",baseMipLevel:0,mipLevelCount:void 0,baseArrayLayer:0,arrayLayerCount:void 0});function on(r,e,t){let n="",i=e.split(/\r?\n/),s=r.slice().sort((a,u)=>a.lineNum-u.lineNum);switch(t?.showSourceCode||"no"){case"all":let a=0;for(let u=1;u<=i.length;u++)for(n+=sn(i[u-1],u,t);s.length>a&&s[a].lineNum===u;){let l=s[a++];n+=nn(l,i,l.lineNum,{...t,inlineSource:!1})}return n;case"issues":case"no":for(let u of r)n+=nn(u,i,u.lineNum,{inlineSource:t?.showSourceCode!=="no"});return n}}function nn(r,e,t,n){if(n?.inlineSource){let i=Xi(e,t),s=r.linePos>0?`${" ".repeat(r.linePos+5)}^^^
|
|
8
|
+
`:"";return`
|
|
9
|
+
${i}${s}${r.type.toUpperCase()}: ${r.message}
|
|
13
10
|
|
|
14
|
-
`
|
|
15
|
-
`)}function cl(e,t){for(var r="",n=e.length;n<t;++n)r+=" ";return r+e}function sl(e){return e.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'")}function $n(e,t){return{name:ll(e,t),language:"glsl",version:pl(e)}}function ll(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 pl(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 Me(e){return Me=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Me(e)}var ia;function Zn(){"use strict";Zn=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(l,f,s){l[f]=s.value},i=typeof Symbol=="function"?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function c(l,f,s){return Object.defineProperty(l,f,{value:s,enumerable:!0,configurable:!0,writable:!0}),l[f]}try{c({},"")}catch{c=function(s,d,y){return s[d]=y}}function p(l,f,s,d){var y=f&&f.prototype instanceof v?f:v,h=Object.create(y.prototype),m=new X(d||[]);return n(h,"_invoke",{value:V(l,s,m)}),h}function b(l,f,s){try{return{type:"normal",arg:l.call(f,s)}}catch(d){return{type:"throw",arg:d}}}e.wrap=p;var g={};function v(){}function T(){}function S(){}var O={};c(O,o,function(){return this});var N=Object.getPrototypeOf,E=N&&N(N(W([])));E&&E!==t&&r.call(E,o)&&(O=E);var w=S.prototype=v.prototype=Object.create(O);function B(l){["next","throw","return"].forEach(function(f){c(l,f,function(s){return this._invoke(f,s)})})}function I(l,f){function s(y,h,m,A){var R=b(l[y],l,h);if(R.type!=="throw"){var F=R.arg,x=F.value;return x&&Me(x)=="object"&&r.call(x,"__await")?f.resolve(x.__await).then(function(M){s("next",M,m,A)},function(M){s("throw",M,m,A)}):f.resolve(x).then(function(M){F.value=M,m(F)},function(M){return s("throw",M,m,A)})}A(R.arg)}var d;n(this,"_invoke",{value:function(h,m){function A(){return new f(function(R,F){s(h,m,R,F)})}return d=d?d.then(A,A):A()}})}function V(l,f,s){var d="suspendedStart";return function(y,h){if(d==="executing")throw new Error("Generator is already running");if(d==="completed"){if(y==="throw")throw h;return Z()}for(s.method=y,s.arg=h;;){var m=s.delegate;if(m){var A=U(m,s);if(A){if(A===g)continue;return A}}if(s.method==="next")s.sent=s._sent=s.arg;else if(s.method==="throw"){if(d==="suspendedStart")throw d="completed",s.arg;s.dispatchException(s.arg)}else s.method==="return"&&s.abrupt("return",s.arg);d="executing";var R=b(l,f,s);if(R.type==="normal"){if(d=s.done?"completed":"suspendedYield",R.arg===g)continue;return{value:R.arg,done:s.done}}R.type==="throw"&&(d="completed",s.method="throw",s.arg=R.arg)}}}function U(l,f){var s=f.method,d=l.iterator[s];if(d===void 0)return f.delegate=null,s==="throw"&&l.iterator.return&&(f.method="return",f.arg=void 0,U(l,f),f.method==="throw")||s!=="return"&&(f.method="throw",f.arg=new TypeError("The iterator does not provide a '"+s+"' method")),g;var y=b(d,l.iterator,f.arg);if(y.type==="throw")return f.method="throw",f.arg=y.arg,f.delegate=null,g;var h=y.arg;return h?h.done?(f[l.resultName]=h.value,f.next=l.nextLoc,f.method!=="return"&&(f.method="next",f.arg=void 0),f.delegate=null,g):h:(f.method="throw",f.arg=new TypeError("iterator result is not an object"),f.delegate=null,g)}function Y(l){var f={tryLoc:l[0]};1 in l&&(f.catchLoc=l[1]),2 in l&&(f.finallyLoc=l[2],f.afterLoc=l[3]),this.tryEntries.push(f)}function j(l){var f=l.completion||{};f.type="normal",delete f.arg,l.completion=f}function X(l){this.tryEntries=[{tryLoc:"root"}],l.forEach(Y,this),this.reset(!0)}function W(l){if(l){var f=l[o];if(f)return f.call(l);if(typeof l.next=="function")return l;if(!isNaN(l.length)){var s=-1,d=function y(){for(;++s<l.length;)if(r.call(l,s))return y.value=l[s],y.done=!1,y;return y.value=void 0,y.done=!0,y};return d.next=d}}return{next:Z}}function Z(){return{value:void 0,done:!0}}return T.prototype=S,n(w,"constructor",{value:S,configurable:!0}),n(S,"constructor",{value:T,configurable:!0}),T.displayName=c(S,u,"GeneratorFunction"),e.isGeneratorFunction=function(l){var f=typeof l=="function"&&l.constructor;return!!f&&(f===T||(f.displayName||f.name)==="GeneratorFunction")},e.mark=function(l){return Object.setPrototypeOf?Object.setPrototypeOf(l,S):(l.__proto__=S,c(l,u,"GeneratorFunction")),l.prototype=Object.create(w),l},e.awrap=function(l){return{__await:l}},B(I.prototype),c(I.prototype,a,function(){return this}),e.AsyncIterator=I,e.async=function(l,f,s,d,y){y===void 0&&(y=Promise);var h=new I(p(l,f,s,d),y);return e.isGeneratorFunction(f)?h:h.next().then(function(m){return m.done?m.value:h.next()})},B(w),c(w,u,"Generator"),c(w,o,function(){return this}),c(w,"toString",function(){return"[object Generator]"}),e.keys=function(l){var f=Object(l),s=[];for(var d in f)s.push(d);return s.reverse(),function y(){for(;s.length;){var h=s.pop();if(h in f)return y.value=h,y.done=!1,y}return y.done=!0,y}},e.values=W,X.prototype={constructor:X,reset:function(f){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(j),!f)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 f=this.tryEntries[0].completion;if(f.type==="throw")throw f.arg;return this.rval},dispatchException:function(f){if(this.done)throw f;var s=this;function d(F,x){return m.type="throw",m.arg=f,s.next=F,x&&(s.method="next",s.arg=void 0),!!x}for(var y=this.tryEntries.length-1;y>=0;--y){var h=this.tryEntries[y],m=h.completion;if(h.tryLoc==="root")return d("end");if(h.tryLoc<=this.prev){var A=r.call(h,"catchLoc"),R=r.call(h,"finallyLoc");if(A&&R){if(this.prev<h.catchLoc)return d(h.catchLoc,!0);if(this.prev<h.finallyLoc)return d(h.finallyLoc)}else if(A){if(this.prev<h.catchLoc)return d(h.catchLoc,!0)}else{if(!R)throw new Error("try statement without catch or finally");if(this.prev<h.finallyLoc)return d(h.finallyLoc)}}}},abrupt:function(f,s){for(var d=this.tryEntries.length-1;d>=0;--d){var y=this.tryEntries[d];if(y.tryLoc<=this.prev&&r.call(y,"finallyLoc")&&this.prev<y.finallyLoc){var h=y;break}}h&&(f==="break"||f==="continue")&&h.tryLoc<=s&&s<=h.finallyLoc&&(h=null);var m=h?h.completion:{};return m.type=f,m.arg=s,h?(this.method="next",this.next=h.finallyLoc,g):this.complete(m)},complete:function(f,s){if(f.type==="throw")throw f.arg;return f.type==="break"||f.type==="continue"?this.next=f.arg:f.type==="return"?(this.rval=this.arg=f.arg,this.method="return",this.next="end"):f.type==="normal"&&s&&(this.next=s),g},finish:function(f){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.finallyLoc===f)return this.complete(d.completion,d.afterLoc),j(d),g}},catch:function(f){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.tryLoc===f){var y=d.completion;if(y.type==="throw"){var h=y.arg;j(d)}return h}}throw new Error("illegal catch attempt")},delegateYield:function(f,s,d){return this.delegate={iterator:W(f),resultName:s,nextLoc:d},this.method==="next"&&(this.arg=void 0),g}},e}function ra(e,t,r,n,i,o,a){try{var u=e[o](a),c=u.value}catch(p){r(p);return}u.done?t(c):Promise.resolve(c).then(n,i)}function dl(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(c){ra(o,n,i,a,u,"next",c)}function u(c){ra(o,n,i,a,u,"throw",c)}a(void 0)})}}function na(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Qn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?na(Object(r),!0).forEach(function(n){hl(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):na(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function hl(e,t,r){return t=aa(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function yl(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function oa(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,aa(n.key),n)}}function _l(e,t,r){return t&&oa(e.prototype,t),r&&oa(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function aa(e){var t=bl(e,"string");return Me(t)==="symbol"?t:String(t)}function bl(e,t){if(Me(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Me(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function gl(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&&qn(e,t)}function qn(e,t){return qn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},qn(e,t)}function vl(e){var t=Sl();return function(){var n=Dr(e),i;if(t){var o=Dr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return ml(this,i)}}function ml(e,t){if(t&&(Me(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Tl(e)}function Tl(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Sl(){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 Dr(e){return Dr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Dr(e)}ia=Symbol.toStringTag;var Mr=function(e){gl(r,e);var t=vl(r);function r(i,o){var a;return yl(this,r),a=t.call(this,i,Qn({id:Al(o)},o),r.defaultProps),a.stage=void 0,a.source=void 0,a.compilationStatus="pending",a.stage=a.props.stage,a.source=a.props.source,a}var n=r.prototype;return n.getCompilationInfoSync=function(){return null},n.debugShader=function(){var i=dl(Zn().mark(function a(){var u;return Zn().wrap(function(p){for(;;)switch(p.prev=p.next){case 0:p.t0=this.props.debug,p.next=p.t0==="never"?3:p.t0==="errors"?4:p.t0==="warnings"||p.t0==="always"?7:8;break;case 3:return p.abrupt("return");case 4:if(this.compilationStatus!=="success"){p.next=6;break}return p.abrupt("return");case 6:return p.abrupt("break",8);case 7:return p.abrupt("break",8);case 8:return p.next=10,this.getCompilationInfo();case 10:if(u=p.sent,!(this.props.debug==="warnings"&&u?.length===0)){p.next=13;break}return p.abrupt("return");case 13:this._displayShaderLog(u);case 14:case"end":return p.stop()}},a,this)}));function o(){return i.apply(this,arguments)}return o}(),n._displayShaderLog=function(o){var a,u,c=this;if(!(typeof document>"u"||!((a=document)!==null&&a!==void 0&&a.createElement))){var p=$n(this.source).name,b="".concat(this.stage," ").concat(p),g=ea(o,this.source,{showSourceCode:"all",html:!0}),v=document.createElement("Button");v.innerHTML=`
|
|
16
|
-
<h1>Shader Compilation Error in
|
|
11
|
+
`}return n?.html?`<div class='luma-compiler-log-error' style="color:red;"><b> ${r.type.toUpperCase()}: ${r.message}</b></div>`:`${r.type.toUpperCase()}: ${r.message}`}function Xi(r,e,t){let n="";for(let i=e-2;i<=e;i++){let s=r[i-1];s!==void 0&&(n+=sn(s,e,t))}return n}function sn(r,e,t){let n=t?.html?Yi(r):r;return`${Ki(String(e),4)}: ${n}${t?.html?"<br/>":`
|
|
12
|
+
`}`}function Ki(r,e){let t="";for(let n=r.length;n<e;++n)t+=" ";return t+r}function Yi(r){return r.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'")}function nr(r,e){return{name:$i(r,e),language:"glsl",version:zi(r)}}function $i(r,e="unnamed"){let n=/#define[\s*]SHADER_NAME[\s*]([A-Za-z0-9_-]+)[\s*]/.exec(r);return n?n[1]:e}function zi(r){let e=100,t=r.match(/[^\s]+/g);if(t&&t.length>=2&&t[0]==="#version"){let n=parseInt(t[1],10);Number.isFinite(n)&&(e=n)}return e}var ir=class extends _{get[Symbol.toStringTag](){return"Shader"}stage;source;compilationStatus="pending";constructor(e,t){super(e,{id:ji(t),...t},ir.defaultProps),this.stage=this.props.stage,this.source=this.props.source}getCompilationInfoSync(){return null}getTranslatedSource(){return null}async debugShader(e=this.props.debug){switch(e){case"never":return;case"errors":if(this.compilationStatus==="success")return;break;case"warnings":case"always":break}let t=await this.getCompilationInfo();this.props.debug==="warnings"&&t?.length===0||this._displayShaderLog(t)}_displayShaderLog(e){if(typeof document>"u"||!document?.createElement)return;let t=nr(this.source).name,n=`${this.stage} ${t}`,i=on(e,this.source,{showSourceCode:"all",html:!0}),s=this.getTranslatedSource();s&&(i+=`<br /><br /><h1>Translated Source</h1><br /><br /><code style="user-select:text;"><pre>${s}</pre></code>`);let a=document.createElement("Button");a.innerHTML=`
|
|
13
|
+
<h1>Shader Compilation Error in ${n}</h1><br /><br />
|
|
17
14
|
<code style="user-select:text;"><pre>
|
|
18
|
-
|
|
19
|
-
</pre></code>`),v.style.top="10px",v.style.left="10px",v.style.position="absolute",v.style.zIndex="9999",v.style.width="100%",v.style.textAlign="left",document.body.appendChild(v);var T=document.getElementsByClassName("luma-compiler-log-error");(u=T[0])!==null&&u!==void 0&&u.scrollIntoView&&T[0].scrollIntoView(),v.onclick=function(){var S="data:text/plain,".concat(encodeURIComponent(c.source));navigator.clipboard.writeText(S)}}},_l(r,[{key:ia,get:function(){return"Shader"}}]),r}(z);Mr.defaultProps=Qn(Qn({},z.defaultProps),{},{language:"auto",stage:"vertex",source:"",sourceMap:null,entryPoint:"main",debug:"errors"});function Al(e){return $n(e.source).name||e.id||Te("unnamed ".concat(e.stage,"-shader"))}function tt(e){return tt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},tt(e)}var sa;function fa(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ua(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?fa(Object(r),!0).forEach(function(n){Rl(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):fa(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Rl(e,t,r){return t=la(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ol(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ca(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,la(n.key),n)}}function El(e,t,r){return t&&ca(e.prototype,t),r&&ca(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function la(e){var t=wl(e,"string");return tt(t)==="symbol"?t:String(t)}function wl(e,t){if(tt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(tt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Pl(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&&Jn(e,t)}function Jn(e,t){return Jn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Jn(e,t)}function Il(e){var t=Cl();return function(){var n=Ur(e),i;if(t){var o=Ur(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Nl(this,i)}}function Nl(e,t){if(t&&(tt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return xl(e)}function xl(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Cl(){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 Ur(e){return Ur=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Ur(e)}sa=Symbol.toStringTag;var jr=function(e){Pl(r,e);var t=Il(r);function r(n,i){return Ol(this,r),t.call(this,n,i,r.defaultProps)}return El(r,[{key:sa,get:function(){return"Sampler"}}]),r}(z);jr.defaultProps=ua(ua({},z.defaultProps),{},{type:"color-sampler",addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge",addressModeW:"clamp-to-edge",magFilter:"nearest",minFilter:"nearest",mipmapFilter:"nearest",lodMinClamp:0,lodMaxClamp:32,compare:"less-equal",maxAnisotropy:1});function nt(e){return nt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},nt(e)}var ya;function pa(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 rt(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?pa(Object(r),!0).forEach(function(n){Bl(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):pa(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Bl(e,t,r){return t=_a(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Fl(e,t){return jl(e)||Ul(e,t)||Ml(e,t)||Dl()}function Dl(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
20
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ml(e,t){if(e){if(typeof e=="string")return da(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 da(e,t)}}function da(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 Ul(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function jl(e){if(Array.isArray(e))return e}function Wl(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ha(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,_a(n.key),n)}}function Hl(e,t,r){return t&&ha(e.prototype,t),r&&ha(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function _a(e){var t=Xl(e,"string");return nt(t)==="symbol"?t:String(t)}function Xl(e,t){if(nt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(nt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Vl(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&&Gn(e,t)}function Gn(e,t){return Gn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Gn(e,t)}function kl(e){var t=Yl();return function(){var n=Wr(e),i;if(t){var o=Wr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Ll(this,i)}}function Ll(e,t){if(t&&(nt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Kl(e)}function Kl(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Yl(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Wr(e){return Wr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Wr(e)}ya=Symbol.toStringTag;var ot=function(e){Vl(r,e);var t=kl(r);function r(i){var o,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Wl(this,r),o=t.call(this,i,a,r.defaultProps),o.width=void 0,o.height=void 0,o.colorAttachments=[],o.depthStencilAttachment=null,o.width=o.props.width,o.height=o.props.height,o}var n=r.prototype;return n.resize=function(o){var a=!o;if(o){var u=Array.isArray(o)?o:[o.width,o.height],c=Fl(u,2),p=c[0],b=c[1];a=a||b!==this.height||p!==this.width,this.width=p,this.height=b}a&&(D.log(2,"Resizing framebuffer ".concat(this.id," to ").concat(this.width,"x").concat(this.height))(),this.resizeAttachments(this.width,this.height))},n.autoCreateAttachmentTextures=function(){var o=this;if(this.colorAttachments=this.props.colorAttachments.map(function(u){if(typeof u=="string"){var c=o.createColorTexture(u);return o.attachResource(c),c}return u}),this.props.depthStencilAttachment)if(typeof this.props.depthStencilAttachment=="string"){var a=this.createDepthStencilTexture(this.props.depthStencilAttachment);this.attachResource(a),this.depthStencilAttachment=a}else this.depthStencilAttachment=this.props.depthStencilAttachment},n.createColorTexture=function(o){return this.device.createTexture({id:"color-attachment",usage:ue.RENDER_ATTACHMENT,format:o,width:this.width,height:this.height})},n.createDepthStencilTexture=function(o){return this.device.createTexture({id:"depth-stencil-attachment",usage:ue.RENDER_ATTACHMENT,format:o,width:this.width,height:this.height})},n.resizeAttachments=function(o,a){for(var u=0;u<this.colorAttachments.length;++u)if(this.colorAttachments[u]){var c=this.device._createTexture(rt(rt({},this.colorAttachments[u].props),{},{width:o,height:a}));this.destroyAttachedResource(this.colorAttachments[u]),this.colorAttachments[u]=c,this.attachResource(c)}if(this.depthStencilAttachment){var p=this.device._createTexture(rt(rt({},this.depthStencilAttachment.props),{},{width:o,height:a}));this.destroyAttachedResource(this.depthStencilAttachment),this.depthStencilAttachment=p,this.attachResource(p)}},Hl(r,[{key:ya,get:function(){return"Framebuffer"}}]),r}(z);ot.defaultProps=rt(rt({},z.defaultProps),{},{width:1,height:1,colorAttachments:[],depthStencilAttachment:null});function it(e){return it=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},it(e)}var ma;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 ga(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){zl(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}function zl(e,t,r){return t=Ta(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function $l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function va(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,Ta(n.key),n)}}function Zl(e,t,r){return t&&va(e.prototype,t),r&&va(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ta(e){var t=Ql(e,"string");return it(t)==="symbol"?t:String(t)}function Ql(e,t){if(it(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(it(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ql(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&&eo(e,t)}function eo(e,t){return eo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},eo(e,t)}function Jl(e){var t=tp();return function(){var n=Hr(e),i;if(t){var o=Hr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Gl(this,i)}}function Gl(e,t){if(t&&(it(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ep(e)}function ep(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function tp(){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 Hr(e){return Hr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Hr(e)}ma=Symbol.toStringTag;var Xr=function(e){ql(r,e);var t=Jl(r);function r(n,i){var o;return $l(this,r),o=t.call(this,n,i,r.defaultProps),o.hash="",o.vs=void 0,o.fs=void 0,o.shaderLayout=void 0,o.bufferLayout=void 0,o.shaderLayout=o.props.shaderLayout,o.bufferLayout=o.props.bufferLayout||[],o}return Zl(r,[{key:ma,get:function(){return"RenderPipeline"}}]),r}(z);Xr.defaultProps=ga(ga({},z.defaultProps),{},{vs:null,vsEntryPoint:"",vsConstants:{},fs:null,fsEntryPoint:"",fsConstants:{},shaderLayout:null,bufferLayout:[],topology:"triangle-list",parameters:{},vertexCount:0,instanceCount:0,bindings:{},uniforms:{}});function at(e){return at=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},at(e)}var Oa;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 Aa(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){rp(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}function rp(e,t,r){return t=Ea(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function np(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ra(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,Ea(n.key),n)}}function op(e,t,r){return t&&Ra(e.prototype,t),r&&Ra(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ea(e){var t=ip(e,"string");return at(t)==="symbol"?t:String(t)}function ip(e,t){if(at(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(at(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ap(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&&to(e,t)}function to(e,t){return to=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},to(e,t)}function fp(e){var t=sp();return function(){var n=Vr(e),i;if(t){var o=Vr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return up(this,i)}}function up(e,t){if(t&&(at(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return cp(e)}function cp(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function sp(){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 Vr(e){return Vr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Vr(e)}Oa=Symbol.toStringTag;var kr=function(e){ap(r,e);var t=fp(r);function r(n,i){return np(this,r),t.call(this,n,i,r.defaultProps)}return op(r,[{key:Oa,get:function(){return"RenderPass"}}]),r}(z);kr.defaultProps=Aa(Aa({},z.defaultProps),{},{framebuffer:null,parameters:void 0,clearColor:[0,0,0,0],clearDepth:1,clearStencil:0,depthReadOnly:!1,stencilReadOnly:!1,discard:!1});function ft(e){return ft=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ft(e)}var Na;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 Pa(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){lp(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}function lp(e,t,r){return t=xa(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function pp(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ia(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,xa(n.key),n)}}function dp(e,t,r){return t&&Ia(e.prototype,t),r&&Ia(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function xa(e){var t=hp(e,"string");return ft(t)==="symbol"?t:String(t)}function hp(e,t){if(ft(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(ft(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function yp(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&&ro(e,t)}function ro(e,t){return ro=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},ro(e,t)}function _p(e){var t=vp();return function(){var n=Lr(e),i;if(t){var o=Lr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return bp(this,i)}}function bp(e,t){if(t&&(ft(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return gp(e)}function gp(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function vp(){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 Lr(e){return Lr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Lr(e)}Na=Symbol.toStringTag;var Kr=function(e){yp(r,e);var t=_p(r);function r(i,o){return pp(this,r),t.call(this,i,o,r.defaultProps)}var n=r.prototype;return n.pushDebugGroup=function(o){},n.popDebugGroup=function(){},n.insertDebugMarker=function(o){},dp(r,[{key:Na,get:function(){return"CommandEncoder"}}]),r}(z);Kr.defaultProps=Pa(Pa({},z.defaultProps),{},{measureExecutionTime:void 0});function ut(e){return ut=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},ut(e)}var Fa;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 mp(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){Tp(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}function Tp(e,t,r){return t=Da(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Sp(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ba(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,Da(n.key),n)}}function Ap(e,t,r){return t&&Ba(e.prototype,t),r&&Ba(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Da(e){var t=Rp(e,"string");return ut(t)==="symbol"?t:String(t)}function Rp(e,t){if(ut(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(ut(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Op(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&&no(e,t)}function no(e,t){return no=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},no(e,t)}function Ep(e){var t=Ip();return function(){var n=Yr(e),i;if(t){var o=Yr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return wp(this,i)}}function wp(e,t){if(t&&(ut(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Pp(e)}function Pp(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ip(){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 Yr(e){return Yr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Yr(e)}Fa=Symbol.toStringTag;var zr=function(e){Op(r,e);var t=Ep(r);function r(n,i){return Sp(this,r),t.call(this,n,i,r.defaultProps)}return Ap(r,[{key:Fa,get:function(){return"CommandBuffer"}}]),r}(z);zr.defaultProps=mp({},z.defaultProps);function Np(e,t){return Fp(e)||Bp(e,t)||Cp(e,t)||xp()}function xp(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
21
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Cp(e,t){if(e){if(typeof e=="string")return Ma(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ma(e,t)}}function Ma(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Bp(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function Fp(e){if(Array.isArray(e))return e}function Ua(e){var t=Np(Mp[e],2),r=t[0],n=t[1],i=r==="i32"||r==="u32",o=r!=="u32",a=Up[r]*n,u=Dp(r,n);return{dataType:r,components:n,defaultVertexFormat:u,byteLength:a,integer:i,signed:o}}function Dp(e,t){var r;switch(e){case"f32":r="float32";break;case"i32":r="sint32";break;case"u32":r="uint32";break;case"f16":return t<=2?"float16x2":"float16x4"}return t===1?r:"".concat(r,"x").concat(t)}var Mp={f32:["f32",1],"vec2<f32>":["f32",2],"vec3<f32>":["f32",3],"vec4<f32>":["f32",4],f16:["f16",1],"vec2<f16>":["f16",2],"vec3<f16>":["f16",3],"vec4<f16>":["f16",4],i32:["i32",1],"vec2<i32>":["i32",2],"vec3<i32>":["i32",3],"vec4<i32>":["i32",4],u32:["u32",1],"vec2<u32>":["u32",2],"vec3<u32>":["u32",3],"vec4<u32>":["u32",4]},Up={f32:4,f16:2,i32:4,u32:4};function $r(e){var t=ja[e],r=jp(t),n=e.includes("norm"),i=!n&&!e.startsWith("float"),o=e.startsWith("s");return{dataType:ja[e],byteLength:r,integer:i,signed:o,normalized:n}}function jp(e){var t=Wp[e];return t}var ja={uint8:"uint8",sint8:"sint8",unorm8:"uint8",snorm8:"sint8",uint16:"uint16",sint16:"sint16",unorm16:"uint16",snorm16:"sint16",float16:"float16",float32:"float32",uint32:"uint32",sint32:"sint32"},Wp={uint8:1,sint8:1,uint16:2,sint16:2,float16:2,float32:4,uint32:4,sint32:4};function Hp(e,t){return Lp(e)||kp(e,t)||Vp(e,t)||Xp()}function Xp(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
22
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Vp(e,t){if(e){if(typeof e=="string")return Wa(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Wa(e,t)}}function Wa(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function kp(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function Lp(e){if(Array.isArray(e))return e}function oo(e){var t;e.endsWith("-webgl")&&(e.replace("-webgl",""),t=!0);var r=e.split("x"),n=Hp(r,2),i=n[0],o=n[1],a=i,u=o?parseInt(o):1,c=$r(a),p={type:a,components:u,byteLength:c.byteLength*u,integer:c.integer,signed:c.signed,normalized:c.normalized};return t&&(p.webglOnly=!0),p}function Lt(e){return Lt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Lt(e)}function Ha(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function io(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ha(Object(r),!0).forEach(function(n){Kp(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ha(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Kp(e,t,r){return t=Yp(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Yp(e){var t=zp(e,"string");return Lt(t)==="symbol"?t:String(t)}function zp(e,t){if(Lt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Lt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ct(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=$p(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(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
23
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,u;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,u=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw u}}}}function $p(e,t){if(e){if(typeof e=="string")return Xa(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 Xa(e,t)}}function Xa(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 Va(e,t){var r={},n=ct(e.attributes),i;try{for(n.s();!(i=n.n()).done;){var o=i.value;r[o.name]=Zp(e,t,o.name)}}catch(a){n.e(a)}finally{n.f()}return r}function ka(e,t){for(var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:16,n=Va(e,t),i=new Array(r).fill(null),o=0,a=Object.values(n);o<a.length;o++){var u=a[o];i[u.location]=u}return i}function Zp(e,t,r){var n=Qp(e,r),i=qp(t,r);if(!n)return null;var o=Ua(n.type),a=i?.vertexFormat||o.defaultVertexFormat,u=oo(a);return{attributeName:i?.attributeName||n.name,bufferName:i?.bufferName||n.name,location:n.location,shaderType:n.type,shaderDataType:o.dataType,shaderComponents:o.components,vertexFormat:a,bufferDataType:u.type,bufferComponents:u.components,normalized:u.normalized,integer:o.integer,stepMode:i?.stepMode||n.stepMode,byteOffset:i?.byteOffset||0,byteStride:i?.byteStride||0}}function Qp(e,t){var r=e.attributes.find(function(n){return n.name===t});return r||D.warn('shader layout attribute "'.concat(t,'" not present in shader')),r||null}function qp(e,t){Jp(e);var r=Gp(e,t);return r||(r=ed(e,t),r)?r:(D.warn('layout for attribute "'.concat(t,'" not present in buffer layout')),null)}function Jp(e){var t=ct(e),r;try{for(t.s();!(r=t.n()).done;){var n=r.value;(n.attributes&&n.format||!n.attributes&&!n.format)&&D.warn("BufferLayout ".concat(name," must have either 'attributes' or 'format' field"))}}catch(i){t.e(i)}finally{t.f()}}function Gp(e,t){var r=ct(e),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;if(i.format&&i.name===t)return{attributeName:i.name,bufferName:t,stepMode:i.stepMode,vertexFormat:i.format,byteOffset:0,byteStride:i.byteStride||0}}}catch(o){r.e(o)}finally{r.f()}return null}function ed(e,t){var r=ct(e),n;try{for(r.s();!(n=r.n()).done;){var i,o=n.value,a=o.byteStride;if(typeof o.byteStride!="number"){var u=ct(o.attributes||[]),c;try{for(u.s();!(c=u.n()).done;){var p=c.value,b=oo(p.format);a+=b.byteLength}}catch(v){u.e(v)}finally{u.f()}}var g=(i=o.attributes)===null||i===void 0?void 0:i.find(function(v){return v.attribute===t});if(g)return{attributeName:g.attribute,bufferName:o.name,stepMode:o.stepMode,vertexFormat:g.format,byteOffset:g.byteOffset,byteStride:a}}}catch(v){r.e(v)}finally{r.f()}return null}function ao(e,t){var r=io(io({},e),{},{attributes:e.attributes.map(function(a){return io({},a)})}),n=ct(t?.attributes||[]),i;try{var o=function(){var u=i.value,c=r.attributes.find(function(p){return p.name===u.name});c?(c.type=u.type||c.type,c.stepMode=u.stepMode||c.stepMode):D.warn("shader layout attribute ".concat(u.name," not present in shader"))};for(n.s();!(i=n.n()).done;)o()}catch(a){n.e(a)}finally{n.f()}return r}function st(e){return st=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},st(e)}var za;function La(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 Ka(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?La(Object(r),!0).forEach(function(n){td(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):La(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function td(e,t,r){return t=$a(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function rd(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ya(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,$a(n.key),n)}}function nd(e,t,r){return t&&Ya(e.prototype,t),r&&Ya(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function $a(e){var t=od(e,"string");return st(t)==="symbol"?t:String(t)}function od(e,t){if(st(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(st(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function id(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&&fo(e,t)}function fo(e,t){return fo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},fo(e,t)}function ad(e){var t=cd();return function(){var n=Zr(e),i;if(t){var o=Zr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return fd(this,i)}}function fd(e,t){if(t&&(st(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ud(e)}function ud(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}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}}function Zr(e){return Zr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Zr(e)}za=Symbol.toStringTag;var Qr=function(e){id(r,e);var t=ad(r);function r(n,i){var o;return rd(this,r),o=t.call(this,n,i,r.defaultProps),o.maxVertexAttributes=void 0,o.attributeInfos=void 0,o.indexBuffer=null,o.attributes=void 0,o.maxVertexAttributes=n.limits.maxVertexAttributes,o.attributes=new Array(o.maxVertexAttributes).fill(null),o.attributeInfos=ka(i.renderPipeline.shaderLayout,i.renderPipeline.bufferLayout,o.maxVertexAttributes),o}return nd(r,[{key:za,get:function(){return"VertexArray"}}]),r}(z);Qr.defaultProps=Ka(Ka({},z.defaultProps),{},{renderPipeline:null});function lt(e){return lt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},lt(e)}var Ja;function Za(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 Qa(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Za(Object(r),!0).forEach(function(n){sd(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Za(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function sd(e,t,r){return t=Ga(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ld(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function qa(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,Ga(n.key),n)}}function pd(e,t,r){return t&&qa(e.prototype,t),r&&qa(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ga(e){var t=dd(e,"string");return lt(t)==="symbol"?t:String(t)}function dd(e,t){if(lt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(lt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function hd(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&&uo(e,t)}function uo(e,t){return uo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},uo(e,t)}function yd(e){var t=gd();return function(){var n=qr(e),i;if(t){var o=qr(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return _d(this,i)}}function _d(e,t){if(t&&(lt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return bd(e)}function bd(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function gd(){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 qr(e){return qr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},qr(e)}Ja=Symbol.toStringTag;var Jr=function(e){hd(r,e);var t=yd(r);function r(n,i){return ld(this,r),t.call(this,n,i,r.defaultProps)}return pd(r,[{key:Ja,get:function(){return"TransformFeedback"}}]),r}(z);Jr.defaultProps=Qa(Qa({},z.defaultProps),{},{layout:void 0,buffers:{}});var Gr;function ef(e){return(!Gr||Gr.byteLength<e)&&(Gr=new ArrayBuffer(e)),Gr}function co(e,t){var r=ef(e.BYTES_PER_ELEMENT*t);return new e(r,0,t)}function so(e){for(var t=e.target,r=e.source,n=e.start,i=n===void 0?0:n,o=e.count,a=o===void 0?1:o,u=r.length,c=a*u,p=0,b=i;p<u;p++)t[b++]=r[p];for(;p<c;)p<c-p?(t.copyWithin(i+p,i,i+p),p*=2):(t.copyWithin(i+p,i,i+c-p),p=c);return e.target}function Kt(e){return Kt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Kt(e)}function tf(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 vd(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?tf(Object(r),!0).forEach(function(n){md(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):tf(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function md(e,t,r){return t=Td(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Td(e){var t=Sd(e,"string");return Kt(t)==="symbol"?t:String(t)}function Sd(e,t){if(Kt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Kt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ad(e,t){return wd(e)||Ed(e,t)||Od(e,t)||Rd()}function Rd(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
24
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Od(e,t){if(e){if(typeof e=="string")return rf(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 rf(e,t)}}function rf(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 Ed(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function wd(e){if(Array.isArray(e))return e}var Pd=/^(rg?b?a?)([0-9]*)([a-z]*)(-srgb)?(-webgl|-unsized)?$/;function en(e){var t=Pd.exec(e);if(t){var r=Ad(t,6),n=r[1],i=r[2],o=r[3],a=r[4],u=r[5];if(n){var c="".concat(o).concat(i),p=$r(c);return vd({format:n,components:n.length,srgb:a==="-srgb",unsized:u==="-unsized",webgl:u==="-webgl"},p)}}return Nd(e)}var Id={"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 Nd(e){var t,r=Id[e];if(!r)throw new Error("Unknown format ".concat(e));return{format:r.format||"",components:r.components||((t=r.format)===null||t===void 0?void 0:t.length)||1,byteLength:r.bpp||1,srgb:!1,unsized:!1}}function nf(e){return Oi(e)!==null||typeof e=="number"||typeof e=="boolean"}function lo(e){var t={bindings:{},uniforms:{}};return Object.keys(e).forEach(function(r){var n=e[r];nf(n)?t.uniforms[r]=n:t.bindings[r]=n}),t}function po(e,t,r,n){var i="See luma.gl ".concat(r," Upgrade Guide at https://luma.gl/docs/upgrade-guide"),o=Object.getPrototypeOf(e);n.forEach(function(a){o.methodName||(o[a]=function(){throw D.removed("Calling removed method ".concat(t,".").concat(a,": "),i)(),new Error(a)})})}function xd(e,t){return Dd(e)||Fd(e,t)||Bd(e,t)||Cd()}function Cd(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
25
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Bd(e,t){if(e){if(typeof e=="string")return of(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 of(e,t)}}function of(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 Fd(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function Dd(e){if(Array.isArray(e))return e}function ho(e,t,r){var n=r.removedProps,i=n===void 0?{}:n,o=r.deprecatedProps,a=o===void 0?{}:o,u=r.replacedProps,c=u===void 0?{}:u;for(var p in i)if(p in t){var b=i[p],g=b?"".concat(e,".").concat(i[p]):"N/A";D.removed("".concat(e,".").concat(p),g)()}for(var v in a)if(v in t){var T=a[v];D.deprecated("".concat(e,".").concat(v),"".concat(e,".").concat(T))()}for(var S=null,O=0,N=Object.entries(c);O<N.length;O++){var E=xd(N[O],2),w=E[0],B=E[1];w in t&&(D.deprecated("".concat(e,".").concat(w),"".concat(e,".").concat(B))(),S=S||Object.assign({},t),S[B]=t[w],delete S[w])}return S||t}function yo(e){return yo=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},yo(e)}function Yt(){"use strict";Yt=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(l,f,s){l[f]=s.value},i=typeof Symbol=="function"?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function c(l,f,s){return Object.defineProperty(l,f,{value:s,enumerable:!0,configurable:!0,writable:!0}),l[f]}try{c({},"")}catch{c=function(s,d,y){return s[d]=y}}function p(l,f,s,d){var y=f&&f.prototype instanceof v?f:v,h=Object.create(y.prototype),m=new X(d||[]);return n(h,"_invoke",{value:V(l,s,m)}),h}function b(l,f,s){try{return{type:"normal",arg:l.call(f,s)}}catch(d){return{type:"throw",arg:d}}}e.wrap=p;var g={};function v(){}function T(){}function S(){}var O={};c(O,o,function(){return this});var N=Object.getPrototypeOf,E=N&&N(N(W([])));E&&E!==t&&r.call(E,o)&&(O=E);var w=S.prototype=v.prototype=Object.create(O);function B(l){["next","throw","return"].forEach(function(f){c(l,f,function(s){return this._invoke(f,s)})})}function I(l,f){function s(y,h,m,A){var R=b(l[y],l,h);if(R.type!=="throw"){var F=R.arg,x=F.value;return x&&yo(x)=="object"&&r.call(x,"__await")?f.resolve(x.__await).then(function(M){s("next",M,m,A)},function(M){s("throw",M,m,A)}):f.resolve(x).then(function(M){F.value=M,m(F)},function(M){return s("throw",M,m,A)})}A(R.arg)}var d;n(this,"_invoke",{value:function(h,m){function A(){return new f(function(R,F){s(h,m,R,F)})}return d=d?d.then(A,A):A()}})}function V(l,f,s){var d="suspendedStart";return function(y,h){if(d==="executing")throw new Error("Generator is already running");if(d==="completed"){if(y==="throw")throw h;return Z()}for(s.method=y,s.arg=h;;){var m=s.delegate;if(m){var A=U(m,s);if(A){if(A===g)continue;return A}}if(s.method==="next")s.sent=s._sent=s.arg;else if(s.method==="throw"){if(d==="suspendedStart")throw d="completed",s.arg;s.dispatchException(s.arg)}else s.method==="return"&&s.abrupt("return",s.arg);d="executing";var R=b(l,f,s);if(R.type==="normal"){if(d=s.done?"completed":"suspendedYield",R.arg===g)continue;return{value:R.arg,done:s.done}}R.type==="throw"&&(d="completed",s.method="throw",s.arg=R.arg)}}}function U(l,f){var s=f.method,d=l.iterator[s];if(d===void 0)return f.delegate=null,s==="throw"&&l.iterator.return&&(f.method="return",f.arg=void 0,U(l,f),f.method==="throw")||s!=="return"&&(f.method="throw",f.arg=new TypeError("The iterator does not provide a '"+s+"' method")),g;var y=b(d,l.iterator,f.arg);if(y.type==="throw")return f.method="throw",f.arg=y.arg,f.delegate=null,g;var h=y.arg;return h?h.done?(f[l.resultName]=h.value,f.next=l.nextLoc,f.method!=="return"&&(f.method="next",f.arg=void 0),f.delegate=null,g):h:(f.method="throw",f.arg=new TypeError("iterator result is not an object"),f.delegate=null,g)}function Y(l){var f={tryLoc:l[0]};1 in l&&(f.catchLoc=l[1]),2 in l&&(f.finallyLoc=l[2],f.afterLoc=l[3]),this.tryEntries.push(f)}function j(l){var f=l.completion||{};f.type="normal",delete f.arg,l.completion=f}function X(l){this.tryEntries=[{tryLoc:"root"}],l.forEach(Y,this),this.reset(!0)}function W(l){if(l){var f=l[o];if(f)return f.call(l);if(typeof l.next=="function")return l;if(!isNaN(l.length)){var s=-1,d=function y(){for(;++s<l.length;)if(r.call(l,s))return y.value=l[s],y.done=!1,y;return y.value=void 0,y.done=!0,y};return d.next=d}}return{next:Z}}function Z(){return{value:void 0,done:!0}}return T.prototype=S,n(w,"constructor",{value:S,configurable:!0}),n(S,"constructor",{value:T,configurable:!0}),T.displayName=c(S,u,"GeneratorFunction"),e.isGeneratorFunction=function(l){var f=typeof l=="function"&&l.constructor;return!!f&&(f===T||(f.displayName||f.name)==="GeneratorFunction")},e.mark=function(l){return Object.setPrototypeOf?Object.setPrototypeOf(l,S):(l.__proto__=S,c(l,u,"GeneratorFunction")),l.prototype=Object.create(w),l},e.awrap=function(l){return{__await:l}},B(I.prototype),c(I.prototype,a,function(){return this}),e.AsyncIterator=I,e.async=function(l,f,s,d,y){y===void 0&&(y=Promise);var h=new I(p(l,f,s,d),y);return e.isGeneratorFunction(f)?h:h.next().then(function(m){return m.done?m.value:h.next()})},B(w),c(w,u,"Generator"),c(w,o,function(){return this}),c(w,"toString",function(){return"[object Generator]"}),e.keys=function(l){var f=Object(l),s=[];for(var d in f)s.push(d);return s.reverse(),function y(){for(;s.length;){var h=s.pop();if(h in f)return y.value=h,y.done=!1,y}return y.done=!0,y}},e.values=W,X.prototype={constructor:X,reset:function(f){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(j),!f)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 f=this.tryEntries[0].completion;if(f.type==="throw")throw f.arg;return this.rval},dispatchException:function(f){if(this.done)throw f;var s=this;function d(F,x){return m.type="throw",m.arg=f,s.next=F,x&&(s.method="next",s.arg=void 0),!!x}for(var y=this.tryEntries.length-1;y>=0;--y){var h=this.tryEntries[y],m=h.completion;if(h.tryLoc==="root")return d("end");if(h.tryLoc<=this.prev){var A=r.call(h,"catchLoc"),R=r.call(h,"finallyLoc");if(A&&R){if(this.prev<h.catchLoc)return d(h.catchLoc,!0);if(this.prev<h.finallyLoc)return d(h.finallyLoc)}else if(A){if(this.prev<h.catchLoc)return d(h.catchLoc,!0)}else{if(!R)throw new Error("try statement without catch or finally");if(this.prev<h.finallyLoc)return d(h.finallyLoc)}}}},abrupt:function(f,s){for(var d=this.tryEntries.length-1;d>=0;--d){var y=this.tryEntries[d];if(y.tryLoc<=this.prev&&r.call(y,"finallyLoc")&&this.prev<y.finallyLoc){var h=y;break}}h&&(f==="break"||f==="continue")&&h.tryLoc<=s&&s<=h.finallyLoc&&(h=null);var m=h?h.completion:{};return m.type=f,m.arg=s,h?(this.method="next",this.next=h.finallyLoc,g):this.complete(m)},complete:function(f,s){if(f.type==="throw")throw f.arg;return f.type==="break"||f.type==="continue"?this.next=f.arg:f.type==="return"?(this.rval=this.arg=f.arg,this.method="return",this.next="end"):f.type==="normal"&&s&&(this.next=s),g},finish:function(f){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.finallyLoc===f)return this.complete(d.completion,d.afterLoc),j(d),g}},catch:function(f){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.tryLoc===f){var y=d.completion;if(y.type==="throw"){var h=y.arg;j(d)}return h}}throw new Error("illegal catch attempt")},delegateYield:function(f,s,d){return this.delegate={iterator:W(f),resultName:s,nextLoc:d},this.method==="next"&&(this.arg=void 0),g}},e}function af(e,t,r,n,i,o,a){try{var u=e[o](a),c=u.value}catch(p){r(p);return}u.done?t(c):Promise.resolve(c).then(n,i)}function ff(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(c){af(o,n,i,a,u,"next",c)}function u(c){af(o,n,i,a,u,"throw",c)}a(void 0)})}}var Md="";function go(e,t){return _o.apply(this,arguments)}function _o(){return _o=ff(Yt().mark(function e(t,r){return Yt().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.abrupt("return",new Promise(function(o,a){try{var u=new Image;u.onload=function(){return o(u)},u.onerror=function(){return a(new Error("Could not load image ".concat(t,".")))},u.crossOrigin=r?.crossOrigin||"anonymous",u.src=t.startsWith("http")?t:Md+t}catch(c){a(c)}}));case 1:case"end":return i.stop()}},e)})),_o.apply(this,arguments)}function zt(e,t){return bo.apply(this,arguments)}function bo(){return bo=ff(Yt().mark(function e(t,r){var n,i;return Yt().wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(n=document.getElementsByTagName("head")[0],n){a.next=3;break}throw new Error("loadScript");case 3:return i=document.createElement("script"),i.setAttribute("type","text/javascript"),i.setAttribute("src",t),r&&(i.id=r),a.abrupt("return",new Promise(function(u,c){i.onload=u,i.onerror=function(p){return c(new Error("Unable to load script '".concat(t,"': ").concat(p)))},n.appendChild(i)}));case 8:case"end":return a.stop()}},e)})),bo.apply(this,arguments)}var $t={};function Ud(e){globalThis.console&&globalThis.console.error&&globalThis.console.error(e)}function jd(e){globalThis.console&&globalThis.console.log&&globalThis.console.log(e)}function Wd(e,t){$t[e]=!0,t!==void 0&&Ud(t)}function Hd(e){var t=e.getError;e.getError=function(){var n;do n=t.apply(e),n!==0&&($t[n]=!0);while(n!==0);for(n in $t)if($t[n])return delete $t[n],parseInt(n,10);return 0}}var Zt=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};Zt.VertexAttrib=function(t){this.enabled=!1,this.buffer=null,this.size=4,this.type=5126,this.normalized=!1,this.stride=16,this.offset=0,this.cached="",this.recache()};Zt.VertexAttrib.prototype.recache=function(){this.cached=[this.size,this.type,this.normalized,this.stride,this.offset].join(":")};var Ue=function(t){var r=this;this.gl=t,Hd(t);var n=this.original={getParameter:t.getParameter,enableVertexAttribArray:t.enableVertexAttribArray,disableVertexAttribArray:t.disableVertexAttribArray,bindBuffer:t.bindBuffer,getVertexAttrib:t.getVertexAttrib,vertexAttribPointer:t.vertexAttribPointer};t.getParameter=function(o){return o===r.VERTEX_ARRAY_BINDING_OES?r.currentVertexArrayObject===r.defaultVertexArrayObject?null:r.currentVertexArrayObject:n.getParameter.apply(this,arguments)},t.enableVertexAttribArray=function(o){var a=r.currentVertexArrayObject;a.maxAttrib=Math.max(a.maxAttrib,o);var u=a.attribs[o];return u.enabled=!0,n.enableVertexAttribArray.apply(this,arguments)},t.disableVertexAttribArray=function(o){var a=r.currentVertexArrayObject;a.maxAttrib=Math.max(a.maxAttrib,o);var u=a.attribs[o];return u.enabled=!1,n.disableVertexAttribArray.apply(this,arguments)},t.bindBuffer=function(o,a){switch(o){case 34962:r.currentArrayBuffer=a;break;case 34963:r.currentVertexArrayObject.elementArrayBuffer=a;break;default:}return n.bindBuffer.apply(this,arguments)},t.getVertexAttrib=function(o,a){var u=r.currentVertexArrayObject,c=u.attribs[o];switch(a){case 34975:return c.buffer;case 34338:return c.enabled;case 34339:return c.size;case 34340:return c.stride;case 34341:return c.type;case 34922:return c.normalized;default:return n.getVertexAttrib.apply(this,arguments)}},t.vertexAttribPointer=function(o,a,u,c,p,b){var g=r.currentVertexArrayObject;g.maxAttrib=Math.max(g.maxAttrib,o);var v=g.attribs[o];return v.buffer=r.currentArrayBuffer,v.size=a,v.type=u,v.normalized=c,v.stride=p,v.offset=b,v.recache(),n.vertexAttribPointer.apply(this,arguments)},t.instrumentExtension&&t.instrumentExtension(this,"OES_vertex_array_object"),t.canvas&&t.canvas.addEventListener("webglcontextrestored",function(){jd("OESVertexArrayObject emulation library context restored"),r.reset_()},!0),this.reset_()};Ue.prototype.VERTEX_ARRAY_BINDING_OES=34229;Ue.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(34921),this.defaultVertexArrayObject=new Zt(this),this.currentVertexArrayObject=null,this.currentArrayBuffer=null,this.vertexArrayObjects=[this.defaultVertexArrayObject],this.bindVertexArrayOES(null)};Ue.prototype.createVertexArrayOES=function(){var t=new Zt(this);return this.vertexArrayObjects.push(t),t};Ue.prototype.deleteVertexArrayOES=function(t){t.isAlive=!1,this.vertexArrayObjects.splice(this.vertexArrayObjects.indexOf(t),1),this.currentVertexArrayObject===t&&this.bindVertexArrayOES(null)};Ue.prototype.isVertexArrayOES=function(t){return!!(t&&t instanceof Zt&&t.hasBeenBound&&t.ext===this)};Ue.prototype.bindVertexArrayOES=function(t){var r=this.gl;if(t&&!t.isAlive){Wd(1282,"bindVertexArrayOES: attempt to bind deleted arrayObject");return}var n=this.original,i=this.currentVertexArrayObject;this.currentVertexArrayObject=t||this.defaultVertexArrayObject,this.currentVertexArrayObject.hasBeenBound=!0;var o=this.currentVertexArrayObject;if(i!==o){(!i||o.elementArrayBuffer!==i.elementArrayBuffer)&&n.bindBuffer.call(r,34963,o.elementArrayBuffer);for(var a=this.currentArrayBuffer,u=Math.max(i?i.maxAttrib:0,o.maxAttrib),c=0;c<=u;c++){var p=o.attribs[c],b=i?i.attribs[c]:null;if((!i||p.enabled!==b.enabled)&&(p.enabled?n.enableVertexAttribArray.call(r,c):n.disableVertexAttribArray.call(r,c)),p.enabled){var g=!1;(!i||p.buffer!==b.buffer)&&(a!==p.buffer&&(n.bindBuffer.call(r,34962,p.buffer),a=p.buffer),g=!0),(g||p.cached!==b.cached)&&n.vertexAttribPointer.call(r,c,p.size,p.type,p.normalized,p.stride,p.offset)}}this.currentArrayBuffer!==a&&n.bindBuffer.call(r,34962,this.currentArrayBuffer)}};function uf(e){if(typeof e.createVertexArray!="function"){var t=e.getSupportedExtensions;e.getSupportedExtensions=function(){var i=t.call(this)||[];return i.indexOf("OES_vertex_array_object")<0&&i.push("OES_vertex_array_object"),i};var r=e.getExtension;e.getExtension=function(i){var o=r.call(this,i);return o||(i!=="OES_vertex_array_object"?null:(e.__OESVertexArrayObject||(this.__OESVertexArrayObject=new Ue(this)),this.__OESVertexArrayObject))}}}var Xd="Invalid WebGLRenderingContext";var Vd="Requires WebGL2";function vo(e){return typeof WebGLRenderingContext<"u"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&Number.isFinite(e._version))}function L(e){return typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&e._version===2)}function Qt(e){return L(e)?e:null}function tn(e){return H(vo(e),Xd),e}function cf(e){return H(L(e),Vd),e}var K;function qt(e){return qt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},qt(e)}function $(e,t,r){return t=kd(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function kd(e){var t=Ld(e,"string");return qt(t)==="symbol"?t:String(t)}function Ld(e,t){if(qt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(qt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var sf="OES_element_index",lf="WEBGL_draw_buffers",Kd="EXT_disjoint_timer_query",Yd="EXT_disjoint_timer_query_webgl2",zd="EXT_texture_filter_anisotropic",pf="WEBGL_debug_renderer_info",$d=35723,Zd=4352,Qd=36795,qd=34047,Jd=37445,Gd=37446,J=function(t){return L(t)?void 0:0},eh=(K={},$(K,3074,function(e){return L(e)?void 0:36064}),$(K,$d,function(e){return L(e)?void 0:Zd}),$(K,35977,J),$(K,32937,J),$(K,Qd,function(e,t){var r=L(e)?e.getExtension(Yd):e.getExtension(Kd);return r&&r.GPU_DISJOINT_EXT?t(r.GPU_DISJOINT_EXT):0}),$(K,Jd,function(e,t){var r=e.getExtension(pf);return t(r&&r.UNMASKED_VENDOR_WEBGL||7936)}),$(K,Gd,function(e,t){var r=e.getExtension(pf);return t(r&&r.UNMASKED_RENDERER_WEBGL||7937)}),$(K,qd,function(e,t){var r,n=((r=e.luma)===null||r===void 0||(r=r.extensions)===null||r===void 0?void 0:r[zd])||e.getExtension("EXT_texture_filter_anisotropic");return n?t(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1}),$(K,32883,J),$(K,35071,J),$(K,37447,J),$(K,36063,function(e,t){if(!L(e)){var r=e.getExtension(lf);return r?t(r.MAX_COLOR_ATTACHMENTS_WEBGL):0}}),$(K,35379,J),$(K,35374,J),$(K,35377,J),$(K,34852,function(e){if(!L(e)){var t=e.getExtension(lf);return t?t.MAX_DRAW_BUFFERS_WEBGL:0}}),$(K,36203,function(e){return e.getExtension(sf)?2147483647:65535}),$(K,33001,function(e){return e.getExtension(sf)?16777216:65535}),$(K,33e3,function(e){return 16777216}),$(K,37157,J),$(K,35373,J),$(K,35657,J),$(K,36183,J),$(K,37137,J),$(K,34045,J),$(K,35978,J),$(K,35979,J),$(K,35968,J),$(K,35376,J),$(K,35375,J),$(K,35659,J),$(K,37154,J),$(K,35371,J),$(K,35658,J),$(K,35076,J),$(K,35077,J),$(K,35380,J),K);function df(e,t,r){var n=eh[r],i=typeof n=="function"?n(e,t,r):n,o=i!==void 0?i:t(r);return o}function pt(e){var t=e.luma;if(!t){var r={_polyfilled:!1,_extensions:{}};e.luma=r}return e.luma}var dt;function Jt(e){return Jt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Jt(e)}function rn(e,t,r){return t=th(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function th(e){var t=rh(e,"string");return Jt(t)==="symbol"?t:String(t)}function rh(e,t){if(Jt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Jt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var nh="OES_vertex_array_object",hf="ANGLE_instanced_arrays",oh="WEBGL_draw_buffers",ih="EXT_disjoint_timer_query",ah="EXT_texture_filter_anisotropic",fh="VertexArray requires WebGL2 or OES_vertex_array_object extension";function uh(e,t){return{webgl2:L(e),ext:e.getExtension(t)}}var mo=(dt={},rn(dt,nh,{meta:{suffix:"OES"},createVertexArray:function(){H(!1,fh)},deleteVertexArray:function(){},bindVertexArray:function(){},isVertexArray:function(){return!1}}),rn(dt,hf,{meta:{suffix:"ANGLE"},vertexAttribDivisor:function(t,r){H(r===0,"WebGL instanced rendering not supported")},drawElementsInstanced:function(){},drawArraysInstanced:function(){}}),rn(dt,oh,{meta:{suffix:"WEBGL"},drawBuffers:function(){H(!1)}}),rn(dt,ih,{meta:{suffix:"EXT"},createQuery:function(){H(!1)},deleteQuery:function(){H(!1)},beginQuery:function(){H(!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){}}),dt),nn={readBuffer:function(t,r,n){L(t)&&r(n)},getVertexAttrib:function(t,r,n,i){var o=uh(t,hf),a=o.webgl2,u=o.ext,c;switch(i){case 35069:c=a?void 0:!1;break;case 35070:c=!a&&!u?0:void 0;break;default:}return c!==void 0?c:r(n,i)},getProgramParameter:function(t,r,n,i){if(!L(t))switch(i){case 35967:return 35981;case 35971:return 0;case 35382:return 0;default:}return r(n,i)},getInternalformatParameter:function(t,r,n,i,o){if(!L(t))switch(o){case 32937:return new Int32Array([0]);default:}var a=t;return a.getInternalformatParameter(n,i,o)},getTexParameter:function(t,r,n,i){switch(i){case 34046:var o=pt(t),a=o._extensions,u=a[ah];i=u&&u.TEXTURE_MAX_ANISOTROPY_EXT||34046;break;default:}return r(n,i)},getParameter:df,hint:function(t,r,n,i){return r(n,i)}};function _f(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=ch(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(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
26
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,u;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,u=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw u}}}}function ch(e,t){if(e){if(typeof e=="string")return yf(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 yf(e,t)}}function yf(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 on(e){var t=pt(e);return t._polyfilled||(uf(e),sh(e),lh(e,mo),dh(e,{target:t,target2:e}),t._polyfilled=!0),e}function sh(e){var t=pt(e),r=e.getSupportedExtensions()||[],n=["WEBGL_polygon_mode"],i=_f(r),o;try{for(i.s();!(o=i.n()).done;){var a=o.value;if(!n.includes(a)){var u=e.getExtension(a);t._extensions[a]=u}}}catch(c){i.e(c)}finally{i.f()}}function lh(e,t){var r=pt(e),n=_f(Object.getOwnPropertyNames(t)),i;try{for(n.s();!(i=n.n()).done;){var o=i.value;o!=="overrides"&&ph(e,{extension:o,target:r,target2:e})}}catch(a){n.e(a)}finally{n.f()}}function ph(e,t){var r=t.extension,n=t.target,i=t.target2,o=mo[r];H(o);for(var a=o.meta,u=a===void 0?{}:a,c=u.suffix,p=c===void 0?"":c,b=e.getExtension(r),g=function(){var O=T[v],N="".concat(O).concat(p),E=null;O==="meta"||typeof e[O]=="function"||(b&&typeof b[N]=="function"?E=function(){return b[N].apply(b,arguments)}:typeof o[O]=="function"&&(E=o[O].bind(n))),E&&(n[O]=E,i[O]=E)},v=0,T=Object.keys(o);v<T.length;v++)g()}function dh(e,t){var r=t.target,n=t.target2;Object.keys(nn).forEach(function(i){if(typeof nn[i]=="function"){var o=e[i]?e[i].bind(e):function(){},a=nn[i].bind(null,e,o);r[i]=a,n[i]=a}})}var C,P,ge;function er(e){return er=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},er(e)}function To(e,t){return _h(e)||yh(e,t)||vf(e,t)||hh()}function hh(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
27
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yh(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function _h(e){if(Array.isArray(e))return e}function re(e){return vh(e)||gh(e)||vf(e)||bh()}function bh(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
28
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function vf(e,t){if(e){if(typeof e=="string")return Ao(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 Ao(e,t)}}function gh(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function vh(e){if(Array.isArray(e))return Ao(e)}function Ao(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function _(e,t,r){return t=mh(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function mh(e){var t=Th(e,"string");return er(t)==="symbol"?t:String(t)}function Th(e,t){if(er(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(er(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var tr=(C={},_(C,3042,!1),_(C,32773,new Float32Array([0,0,0,0])),_(C,32777,32774),_(C,34877,32774),_(C,32969,1),_(C,32968,0),_(C,32971,1),_(C,32970,0),_(C,3106,new Float32Array([0,0,0,0])),_(C,3107,[!0,!0,!0,!0]),_(C,2884,!1),_(C,2885,1029),_(C,2929,!1),_(C,2931,1),_(C,2932,513),_(C,2928,new Float32Array([0,1])),_(C,2930,!0),_(C,3024,!0),_(C,35725,null),_(C,36006,null),_(C,36007,null),_(C,34229,null),_(C,34964,null),_(C,2886,2305),_(C,33170,4352),_(C,2849,1),_(C,32823,!1),_(C,32824,0),_(C,10752,0),_(C,32926,!1),_(C,32928,!1),_(C,32938,1),_(C,32939,!1),_(C,3089,!1),_(C,3088,new Int32Array([0,0,1024,1024])),_(C,2960,!1),_(C,2961,0),_(C,2968,4294967295),_(C,36005,4294967295),_(C,2962,519),_(C,2967,0),_(C,2963,4294967295),_(C,34816,519),_(C,36003,0),_(C,36004,4294967295),_(C,2964,7680),_(C,2965,7680),_(C,2966,7680),_(C,34817,7680),_(C,34818,7680),_(C,34819,7680),_(C,2978,[0,0,1024,1024]),_(C,3333,4),_(C,3317,4),_(C,37440,!1),_(C,37441,!1),_(C,37443,37444),_(C,36389,null),_(C,36662,null),_(C,36663,null),_(C,35053,null),_(C,35055,null),_(C,35723,4352),_(C,36010,null),_(C,35977,!1),_(C,3330,0),_(C,3332,0),_(C,3331,0),_(C,3314,0),_(C,32878,0),_(C,3316,0),_(C,3315,0),_(C,32877,0),C),Re=function(t,r,n){return r?t.enable(n):t.disable(n)},bf=function(t,r,n){return t.hint(n,r)},_e=function(t,r,n){return t.pixelStorei(n,r)},gf=function(t,r,n){var i;return n===36006?i=L(t)?36009:36160:i=36008,t.bindFramebuffer(i,r)},Gt=function(t,r,n){var i,o=(i={},_(i,34964,34962),_(i,36662,36662),_(i,36663,36663),_(i,35053,35051),_(i,35055,35052),i),a=o[n];t.bindBuffer(a,r)};function So(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}var mf=(P={},_(P,3042,Re),_(P,32773,function(e,t){return e.blendColor.apply(e,re(t))}),_(P,32777,"blendEquation"),_(P,34877,"blendEquation"),_(P,32969,"blendFunc"),_(P,32968,"blendFunc"),_(P,32971,"blendFunc"),_(P,32970,"blendFunc"),_(P,3106,function(e,t){return e.clearColor.apply(e,re(t))}),_(P,3107,function(e,t){return e.colorMask.apply(e,re(t))}),_(P,2884,Re),_(P,2885,function(e,t){return e.cullFace(t)}),_(P,2929,Re),_(P,2931,function(e,t){return e.clearDepth(t)}),_(P,2932,function(e,t){return e.depthFunc(t)}),_(P,2928,function(e,t){return e.depthRange.apply(e,re(t))}),_(P,2930,function(e,t){return e.depthMask(t)}),_(P,3024,Re),_(P,35723,bf),_(P,35725,function(e,t){return e.useProgram(t)}),_(P,36007,function(e,t){return e.bindRenderbuffer(36161,t)}),_(P,36389,function(e,t){var r,n;return(r=(n=e).bindTransformFeedback)===null||r===void 0?void 0:r.call(n,36386,t)}),_(P,34229,function(e,t){return e.bindVertexArray(t)}),_(P,36006,gf),_(P,36010,gf),_(P,34964,Gt),_(P,36662,Gt),_(P,36663,Gt),_(P,35053,Gt),_(P,35055,Gt),_(P,2886,function(e,t){return e.frontFace(t)}),_(P,33170,bf),_(P,2849,function(e,t){return e.lineWidth(t)}),_(P,32823,Re),_(P,32824,"polygonOffset"),_(P,10752,"polygonOffset"),_(P,35977,Re),_(P,32926,Re),_(P,32928,Re),_(P,32938,"sampleCoverage"),_(P,32939,"sampleCoverage"),_(P,3089,Re),_(P,3088,function(e,t){return e.scissor.apply(e,re(t))}),_(P,2960,Re),_(P,2961,function(e,t){return e.clearStencil(t)}),_(P,2968,function(e,t){return e.stencilMaskSeparate(1028,t)}),_(P,36005,function(e,t){return e.stencilMaskSeparate(1029,t)}),_(P,2962,"stencilFuncFront"),_(P,2967,"stencilFuncFront"),_(P,2963,"stencilFuncFront"),_(P,34816,"stencilFuncBack"),_(P,36003,"stencilFuncBack"),_(P,36004,"stencilFuncBack"),_(P,2964,"stencilOpFront"),_(P,2965,"stencilOpFront"),_(P,2966,"stencilOpFront"),_(P,34817,"stencilOpBack"),_(P,34818,"stencilOpBack"),_(P,34819,"stencilOpBack"),_(P,2978,function(e,t){return e.viewport.apply(e,re(t))}),_(P,3333,_e),_(P,3317,_e),_(P,37440,_e),_(P,37441,_e),_(P,37443,_e),_(P,3330,_e),_(P,3332,_e),_(P,3331,_e),_(P,3314,_e),_(P,32878,_e),_(P,3316,_e),_(P,3315,_e),_(P,32877,_e),_(P,"framebuffer",function(t,r){var n=r&&"handle"in r?r.handle:r;return t.bindFramebuffer(36160,n)}),_(P,"blend",function(t,r){return r?t.enable(3042):t.disable(3042)}),_(P,"blendColor",function(t,r){return t.blendColor.apply(t,re(r))}),_(P,"blendEquation",function(t,r){var n=typeof r=="number"?[r,r]:r;t.blendEquationSeparate.apply(t,re(n))}),_(P,"blendFunc",function(t,r){var n=r?.length===2?[].concat(re(r),re(r)):r;t.blendFuncSeparate.apply(t,re(n))}),_(P,"clearColor",function(t,r){return t.clearColor.apply(t,re(r))}),_(P,"clearDepth",function(t,r){return t.clearDepth(r)}),_(P,"clearStencil",function(t,r){return t.clearStencil(r)}),_(P,"colorMask",function(t,r){return t.colorMask.apply(t,re(r))}),_(P,"cull",function(t,r){return r?t.enable(2884):t.disable(2884)}),_(P,"cullFace",function(t,r){return t.cullFace(r)}),_(P,"depthTest",function(t,r){return r?t.enable(2929):t.disable(2929)}),_(P,"depthFunc",function(t,r){return t.depthFunc(r)}),_(P,"depthMask",function(t,r){return t.depthMask(r)}),_(P,"depthRange",function(t,r){return t.depthRange.apply(t,re(r))}),_(P,"dither",function(t,r){return r?t.enable(3024):t.disable(3024)}),_(P,"derivativeHint",function(t,r){t.hint(35723,r)}),_(P,"frontFace",function(t,r){return t.frontFace(r)}),_(P,"mipmapHint",function(t,r){return t.hint(33170,r)}),_(P,"lineWidth",function(t,r){return t.lineWidth(r)}),_(P,"polygonOffsetFill",function(t,r){return r?t.enable(32823):t.disable(32823)}),_(P,"polygonOffset",function(t,r){return t.polygonOffset.apply(t,re(r))}),_(P,"sampleCoverage",function(t,r){return t.sampleCoverage.apply(t,re(r))}),_(P,"scissorTest",function(t,r){return r?t.enable(3089):t.disable(3089)}),_(P,"scissor",function(t,r){return t.scissor.apply(t,re(r))}),_(P,"stencilTest",function(t,r){return r?t.enable(2960):t.disable(2960)}),_(P,"stencilMask",function(t,r){r=So(r)?r:[r,r];var n=r,i=To(n,2),o=i[0],a=i[1];t.stencilMaskSeparate(1028,o),t.stencilMaskSeparate(1029,a)}),_(P,"stencilFunc",function(t,r){r=So(r)&&r.length===3?[].concat(re(r),re(r)):r;var n=r,i=To(n,6),o=i[0],a=i[1],u=i[2],c=i[3],p=i[4],b=i[5];t.stencilFuncSeparate(1028,o,a,u),t.stencilFuncSeparate(1029,c,p,b)}),_(P,"stencilOp",function(t,r){r=So(r)&&r.length===3?[].concat(re(r),re(r)):r;var n=r,i=To(n,6),o=i[0],a=i[1],u=i[2],c=i[3],p=i[4],b=i[5];t.stencilOpSeparate(1028,o,a,u),t.stencilOpSeparate(1029,c,p,b)}),_(P,"viewport",function(t,r){return t.viewport.apply(t,re(r))}),P);function ne(e,t,r){return t[e]!==void 0?t[e]:r[e]}var Tf={blendEquation:function(t,r,n){return t.blendEquationSeparate(ne(32777,r,n),ne(34877,r,n))},blendFunc:function(t,r,n){return t.blendFuncSeparate(ne(32969,r,n),ne(32968,r,n),ne(32971,r,n),ne(32970,r,n))},polygonOffset:function(t,r,n){return t.polygonOffset(ne(32824,r,n),ne(10752,r,n))},sampleCoverage:function(t,r,n){return t.sampleCoverage(ne(32938,r,n),ne(32939,r,n))},stencilFuncFront:function(t,r,n){return t.stencilFuncSeparate(1028,ne(2962,r,n),ne(2967,r,n),ne(2963,r,n))},stencilFuncBack:function(t,r,n){return t.stencilFuncSeparate(1029,ne(34816,r,n),ne(36003,r,n),ne(36004,r,n))},stencilOpFront:function(t,r,n){return t.stencilOpSeparate(1028,ne(2964,r,n),ne(2965,r,n),ne(2966,r,n))},stencilOpBack:function(t,r,n){return t.stencilOpSeparate(1029,ne(34817,r,n),ne(34818,r,n),ne(34819,r,n))}},Ro={enable:function(t,r){return t(_({},r,!0))},disable:function(t,r){return t(_({},r,!1))},pixelStorei:function(t,r,n){return t(_({},r,n))},hint:function(t,r,n){return t(_({},r,n))},useProgram:function(t,r){return t(_({},35725,r))},bindRenderbuffer:function(t,r,n){return t(_({},36007,n))},bindTransformFeedback:function(t,r,n){return t(_({},36389,n))},bindVertexArray:function(t,r){return t(_({},34229,r))},bindFramebuffer:function(t,r,n){var i;switch(r){case 36160:return t((i={},_(i,36006,n),_(i,36010,n),i));case 36009:return t(_({},36006,n));case 36008:return t(_({},36010,n));default:return null}},bindBuffer:function(t,r,n){var i,o=(i={},_(i,34962,[34964]),_(i,36662,[36662]),_(i,36663,[36663]),_(i,35051,[35053]),_(i,35052,[35055]),i)[r];return o?t(_({},o,n)):{valueChanged:!0}},blendColor:function(t,r,n,i,o){return t(_({},32773,new Float32Array([r,n,i,o])))},blendEquation:function(t,r){var n;return t((n={},_(n,32777,r),_(n,34877,r),n))},blendEquationSeparate:function(t,r,n){var i;return t((i={},_(i,32777,r),_(i,34877,n),i))},blendFunc:function(t,r,n){var i;return t((i={},_(i,32969,r),_(i,32968,n),_(i,32971,r),_(i,32970,n),i))},blendFuncSeparate:function(t,r,n,i,o){var a;return t((a={},_(a,32969,r),_(a,32968,n),_(a,32971,i),_(a,32970,o),a))},clearColor:function(t,r,n,i,o){return t(_({},3106,new Float32Array([r,n,i,o])))},clearDepth:function(t,r){return t(_({},2931,r))},clearStencil:function(t,r){return t(_({},2961,r))},colorMask:function(t,r,n,i,o){return t(_({},3107,[r,n,i,o]))},cullFace:function(t,r){return t(_({},2885,r))},depthFunc:function(t,r){return t(_({},2932,r))},depthRange:function(t,r,n){return t(_({},2928,new Float32Array([r,n])))},depthMask:function(t,r){return t(_({},2930,r))},frontFace:function(t,r){return t(_({},2886,r))},lineWidth:function(t,r){return t(_({},2849,r))},polygonOffset:function(t,r,n){var i;return t((i={},_(i,32824,r),_(i,10752,n),i))},sampleCoverage:function(t,r,n){var i;return t((i={},_(i,32938,r),_(i,32939,n),i))},scissor:function(t,r,n,i,o){return t(_({},3088,new Int32Array([r,n,i,o])))},stencilMask:function(t,r){var n;return t((n={},_(n,2968,r),_(n,36005,r),n))},stencilMaskSeparate:function(t,r,n){return t(_({},r===1028?2968:36005,n))},stencilFunc:function(t,r,n,i){var o;return t((o={},_(o,2962,r),_(o,2967,n),_(o,2963,i),_(o,34816,r),_(o,36003,n),_(o,36004,i),o))},stencilFuncSeparate:function(t,r,n,i,o){var a;return t((a={},_(a,r===1028?2962:34816,n),_(a,r===1028?2967:36003,i),_(a,r===1028?2963:36004,o),a))},stencilOp:function(t,r,n,i){var o;return t((o={},_(o,2964,r),_(o,2965,n),_(o,2966,i),_(o,34817,r),_(o,34818,n),_(o,34819,i),o))},stencilOpSeparate:function(t,r,n,i,o){var a;return t((a={},_(a,r===1028?2964:34817,n),_(a,r===1028?2965:34818,i),_(a,r===1028?2966:34819,o),a))},viewport:function(t,r,n,i,o){return t(_({},2978,[r,n,i,o]))}},Oe=function(t,r){return t.isEnabled(r)},Oo=(ge={},_(ge,3042,Oe),_(ge,2884,Oe),_(ge,2929,Oe),_(ge,3024,Oe),_(ge,32823,Oe),_(ge,32926,Oe),_(ge,32928,Oe),_(ge,3089,Oe),_(ge,2960,Oe),_(ge,35977,Oe),ge),Sf=new Set([34016,36388,36387,35983,35368,34965,35739,35738,3074,34853,34854,34855,34856,34857,34858,34859,34860,34861,34862,34863,34864,34865,34866,34867,34868,35097,32873,35869,32874,34068]);function Sh(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Ah(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(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
29
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,u;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,u=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw u}}}}function Ah(e,t){if(e){if(typeof e=="string")return Af(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 Af(e,t)}}function Af(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 le(e,t){var r=pe.attach(e),n=r.gl;if(!Rh(t)){var i={};for(var o in t){var a=Number(o),u=mf[o];u&&(typeof u=="string"?i[u]=!0:u(n,t[o],a))}var c=n.state&&n.state.cache;if(c)for(var p in i){var b=Tf[p];b(n,t,c)}}}function ht(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:tr,r=pe.attach(e),n=r.gl;if(typeof t=="number"){var i=t,o=Oo[i];return o?o(n,i):n.getParameter(i)}var a=Array.isArray(t)?t:Object.keys(t),u={},c=Sh(a),p;try{for(c.s();!(p=c.n()).done;){var b=p.value,g=Oo[b];u[b]=g?g(n,Number(b)):n.getParameter(Number(b))}}catch(v){c.e(v)}finally{c.f()}return u}function Rf(e){le(e,tr)}function Rh(e){for(var t in e)return!1;return!0}function Of(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}function rr(e){return rr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},rr(e)}function Ef(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,Eh(n.key),n)}}function Oh(e,t,r){return t&&Ef(e.prototype,t),r&&Ef(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Eh(e){var t=wh(e,"string");return rr(t)==="symbol"?t:String(t)}function wh(e,t){if(rr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(rr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ph(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var Ih=function(){function e(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=n.copyState,o=i===void 0?!1:i,a=n.log,u=a===void 0?function(){}:a;Ph(this,e),this.gl=void 0,this.program=null,this.stateStack=[],this.enable=!0,this.cache=void 0,this.log=void 0,this.gl=r,this.cache=o?ht(r):Object.assign({},tr),this.log=u,this._updateCache=this._updateCache.bind(this),Object.seal(this)}var t=e.prototype;return t.push=function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.stateStack.push({})},t.pop=function(){H(this.stateStack.length>0);var n=this.stateStack[this.stateStack.length-1];le(this.gl,n),this.stateStack.pop()},t._updateCache=function(n){var i=!1,o,a=this.stateStack.length>0?this.stateStack[this.stateStack.length-1]:null;for(var u in n){H(u!==void 0);var c=n[u],p=this.cache[u];Of(c,p)||(i=!0,o=p,a&&!(u in a)&&(a[u]=p),this.cache[u]=c)}return{valueChanged:i,oldValue:o}},Oh(e)}();function je(e){return e.state}function nr(e,t){var r=t.enable,n=r===void 0?!0:r,i=t.copyState;if(H(i!==void 0),!e.state){e.state=new Ih(e,{copyState:i}),xh(e);for(var o in Ro){var a=Ro[o];Nh(e,o,a)}wf(e,"getParameter"),wf(e,"isEnabled")}var u=je(e);return u.enable=n,e}function Se(e){var t=je(e);t||(nr(e,{copyState:!1}),t=je(e)),t.push()}function ve(e){var t=je(e);H(t),t.pop()}function wf(e,t){var r=e[t].bind(e);e[t]=function(i){if(i===void 0||Sf.has(i))return r(i);var o=je(e);return i in o.cache||(o.cache[i]=r(i)),o.enable?o.cache[i]:r(i)},Object.defineProperty(e[t],"name",{value:"".concat(t,"-from-cache"),configurable:!1})}function Nh(e,t,r){if(e[t]){var n=e[t].bind(e);e[t]=function(){for(var o=je(e),a=arguments.length,u=new Array(a),c=0;c<a;c++)u[c]=arguments[c];var p=r.apply(void 0,[o._updateCache].concat(u)),b=p.valueChanged,g=p.oldValue;return b&&n.apply(void 0,u),g},Object.defineProperty(e[t],"name",{value:"".concat(t,"-to-cache"),configurable:!1})}}function xh(e){var t=e.useProgram.bind(e);e.useProgram=function(n){var i=je(e);i.program!==n&&(t(n),i.program=n)}}function or(e){return or=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},or(e)}function Pf(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 yt(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Pf(Object(r),!0).forEach(function(n){Ch(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Pf(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Ch(e,t,r){return t=Bh(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Bh(e){var t=Fh(e,"string");return or(t)==="symbol"?t:String(t)}function Fh(e,t){if(or(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(or(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Dh={webgl2:!0,webgl1:!0,powerPreference:"high-performance",onContextLost:function(){return console.error("WebGL context lost")},onContextRestored:function(){return console.info("WebGL context restored")}};function If(e,t){t=yt(yt({},Dh),t);var r=null,n=function(b){return r=b.statusMessage||r};e.addEventListener("webglcontextcreationerror",n,!1);var i=null;if(t.type==="webgl2"&&(t=yt(yt({},t),{},{webgl1:!1})),t.type==="webgl1"&&(t=yt(yt({},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 o=t,a=o.onContextLost;e.addEventListener("webglcontextlost",function(p){return a(p)},!1)}if(t.onContextRestored){var u=t,c=u.onContextRestored;e.addEventListener("webglcontextrestored",function(p){return c(p)},!1)}return i}function Nf(e){var t=e.getParameter(7936),r=e.getParameter(7937),n=e.getExtension("WEBGL_debug_renderer_info"),i=e.getParameter(n?n.UNMASKED_VENDOR_WEBGL:7936),o=e.getParameter(n?n.UNMASKED_RENDERER_WEBGL:7937),a=i||t,u=o||r,c=e.getParameter(7938),p=xf(a,u),b=Mh(a,u),g=Uh(a,u),v="glsl",T=L(e)?300:100;return{type:L(e)?"webgl2":"webgl",gpu:p,gpuType:g,gpuBackend:b,vendor:a,renderer:u,version:c,shadingLanguage:v,shadingLanguageVersion:T}}function xf(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 Mh(e,t){return/Metal/i.exec(e)||/Metal/i.exec(t)?"metal":/ANGLE/i.exec(e)||/ANGLE/i.exec(t)?"opengl":"unknown"}function Uh(e,t){if(/SwiftShader/i.exec(e)||/SwiftShader/i.exec(t))return"cpu";var r=xf(e,t);switch(r){case"intel":return"integrated";case"software":return"cpu";case"unknown":return"unknown";default:return"discrete"}}function Cf(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=typeof window<"u"?window.navigator||{}:{},r=e.userAgent||t.userAgent||"",n=r.indexOf("MSIE ")!==-1,i=r.indexOf("Trident/")!==-1;return n||i}function an(e){switch(e){case"uint8":return 5121;case"sint8":return 5120;case"unorm8":return 5121;case"snorm8":return 5120;case"uint16":return 5123;case"sint16":return 5122;case"unorm16":return 5123;case"snorm16":return 5122;case"uint32":return 5125;case"sint32":return 5124;case"float16":return 5131;case"float32":return 5126}throw new Error(String(e))}var ce,Ee;function ur(e){return ur=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},ur(e)}function jh(e,t){return Vh(e)||Xh(e,t)||Hh(e,t)||Wh()}function Wh(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
30
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Hh(e,t){if(e){if(typeof e=="string")return Bf(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 Bf(e,t)}}function Bf(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 Xh(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function Vh(e){if(Array.isArray(e))return e}function oe(e,t,r){return t=kh(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function kh(e){var t=Lh(e,"string");return ur(t)==="symbol"?t:String(t)}function Lh(e,t){if(ur(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(ur(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var ae="texture-compression-bc",Q="texture-compression-astc",we="texture-compression-etc2",Kh="texture-compression-etc1-webgl",fn="texture-compression-pvrtc-webgl",Eo="texture-compression-atc-webgl",ir="WEBGL_compressed_texture_s3tc",ar="WEBGL_compressed_texture_s3tc_srgb",_t="EXT_texture_compression_rgtc",fr="EXT_texture_compression_bptc",Yh="WEBGL_compressed_texture_etc",zh="WEBGL_compressed_texture_astc",$h="WEBGL_compressed_texture_etc1",Zh="WEBGL_compressed_texture_pvrtc",Qh="WEBGL_compressed_texture_atc",Ff="EXT_sRGB",Ie="EXT_texture_norm16",qh="WEBGL_color_buffer_float",Jh="EXT_color_buffer_float",Ae=function(t,r){return t.getExtension(r)},We=function(t,r){return r.every(function(n){return t.getExtension(n)})},wo={"texture-blend-float-webgl1":function(t){return L(t)?!0:Ae(t,"EXT_float_blend")},"texture-formats-srgb-webgl1":function(t){return L(t)?!0:Ae(t,Ff)},"texture-formats-depth-webgl1":function(t){return L(t)?!0:Ae(t,"WEBGL_depth_texture")},"texture-formats-float32-webgl1":function(t){return L(t)?!0:Ae(t,"OES_texture_float")},"texture-formats-float16-webgl1":function(t){return L(t)?!0:Ae(t,"OES_texture_half_float")},"texture-formats-norm16-webgl":function(t){return L(t)?Ae(t,Ie):!1},"texture-filter-linear-float32-webgl":function(t){return Ae(t,"OES_texture_float_linear")},"texture-filter-linear-float16-webgl":function(t){return Ae(t,"OES_texture_half_float_linear")},"texture-filter-anisotropic-webgl":function(t){return Ae(t,"EXT_texture_filter_anisotropic")},"texture-renderable-float32-webgl":function(t){return Ae(t,"EXT_color_buffer_float")},"texture-renderable-float16-webgl":function(t){return Ae(t,"EXT_color_buffer_half_float")},"texture-compression-bc":function(t){return We(t,[ir,ar,_t,fr])},"texture-compression-bc5-webgl":function(t){return We(t,[_t])},"texture-compression-etc2":function(t){return We(t,[Yh])},"texture-compression-astc":function(t){return We(t,[zh])},"texture-compression-etc1-webgl":function(t){return We(t,[$h])},"texture-compression-pvrtc-webgl":function(t){return We(t,[Zh])},"texture-compression-atc-webgl":function(t){return We(t,[Qh])}};function Gh(e,t){var r;return((r=wo[t])===null||r===void 0?void 0:r.call(wo,e))||!1}function Df(e){var t=Object.keys(wo);return t.filter(function(r){return Gh(e,r)})}var He={"rgb8unorm-unsized":{gl:6407,gl1:6407,b:4,c:2,bpp:4,dataFormat:6407,types:[5121,33635]},"rgba8unorm-unsized":{gl:6408,gl1:6408,b:4,c:2,bpp:4,dataFormat:6408,types:[5121,32819,32820]},r8unorm:{gl:33321,b:1,c:1,renderbuffer:!0},r8snorm:{gl:36756,b:1,c:1},r8uint:{gl:33330,b:1,c:1,renderbuffer:!0},r8sint:{gl:33329,b:1,c:1,renderbuffer:!0},rg8unorm:{gl:33323,b:2,c:2,renderbuffer:!0},rg8snorm:{gl:36757,b:2,c:2},rg8uint:{gl:33336,b:2,c:2,renderbuffer:!0},rg8sint:{gl:33335,b:2,c:2,renderbuffer:!0},r16uint:{gl:33332,b:2,c:1,renderbuffer:!0},r16sint:{gl:33331,b:2,c:1,renderbuffer:!0},r16float:{gl:33325,b:2,c:1,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl",renderbuffer:!0},"r16unorm-webgl":{gl:33322,b:2,c:1,f:"texture-formats-norm16-webgl",renderbuffer:!0,x:Ie},"r16snorm-webgl":{gl:36760,b:2,c:1,f:"texture-formats-norm16-webgl",x:Ie},"rgba4unorm-webgl":{gl:32854,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb565unorm-webgl":{gl:36194,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb5a1unorm-webgl":{gl:32855,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb8unorm-webgl":{gl:32849,b:3,c:3,wgpu:!1},"rgb8snorm-webgl":{gl:36758,b:3,c:3,wgpu:!1},rgba8unorm:{gl:32856,gl1:6408,b:4,c:2,bpp:4},"rgba8unorm-srgb":{gl:35907,gl1:35906,b:4,c:4,gl1ext:Ff,bpp:4},rgba8snorm:{gl:36759,b:4,c:4},rgba8uint:{gl:36220,b:4,c:4,bpp:4},rgba8sint:{gl:36238,b:4,c:4,bpp:4},bgra8unorm:{b:4,c:4},"bgra8unorm-srgb":{b:4,c:4},rg16uint:{gl:33338,b:4,c:1,bpp:4},rg16sint:{gl:33337,b:4,c:2,bpp:4},rg16float:{gl:33327,bpp:4,b:4,c:2,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl",renderbuffer:!0},"rg16unorm-webgl":{gl:33324,b:2,c:2,f:"texture-formats-norm16-webgl",x:Ie},"rg16snorm-webgl":{gl:36761,b:2,c:2,f:"texture-formats-norm16-webgl",x:Ie},r32uint:{gl:33334,b:4,c:1,bpp:4,renderbuffer:!0},r32sint:{gl:33333,b:4,c:1,bpp:4,renderbuffer:!0},r32float:{gl:33326,bpp:4,b:4,c:1,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl"},rgb9e5ufloat:{gl:35901,b:4,c:3,p:1,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},rg11b10ufloat:{gl:35898,b:4,c:3,p:1,render:"texture-renderable-float32-webgl",renderbuffer:!0},rgb10a2unorm:{gl:32857,b:4,c:4,p:1,renderbuffer:!0},"rgb10a2unorm-webgl":{b:4,c:4,gl:36975,p:1,wgpu:!1,bpp:4,renderbuffer:!0},"rgb16unorm-webgl":{gl:32852,b:2,c:3,f:"texture-formats-norm16-webgl",x:Ie},"rgb16snorm-webgl":{gl:36762,b:2,c:3,f:"texture-formats-norm16-webgl",x:Ie},rg32uint:{gl:33340,b:8,c:2,renderbuffer:!0},rg32sint:{gl:33339,b:8,c:2,renderbuffer:!0},rg32float:{gl:33328,b:8,c:2,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",renderbuffer:!0},rgba16uint:{gl:36214,b:8,c:4,renderbuffer:!0},rgba16sint:{gl:36232,b:8,c:4,renderbuffer:!0},rgba16float:{gl:34842,gl1:6408,b:8,c:4,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},"rgba16unorm-webgl":{gl:32859,b:2,c:4,f:"texture-formats-norm16-webgl",renderbuffer:!0,x:Ie},"rgba16snorm-webgl":{gl:36763,b:2,c:4,f:"texture-formats-norm16-webgl",x:Ie},"rgb32float-webgl":{gl:34837,gl1:6407,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",gl2ext:Jh,gl1ext:qh,dataFormat:6407,types:[5126]},rgba32uint:{gl:36208,b:16,c:4,renderbuffer:!0},rgba32sint:{gl:36226,b:16,c:4,renderbuffer:!0},rgba32float:{gl:34836,b:16,c:4,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",renderbuffer:!0},stencil8:{gl:36168,gl1:36168,b:1,c:1,attachment:36128,renderbuffer:!0},depth16unorm:{gl:33189,gl1:33189,b:2,c:1,attachment:36096,renderbuffer:!0},depth24plus:{gl:33190,b:3,c:1,attachment:36096},depth32float:{gl:36012,b:4,c:1,attachment:36096,renderbuffer:!0},"depth24plus-stencil8":{gl:34041,gl1:34041,b:4,c:2,p:1,attachment:33306,renderbuffer:!0,depthTexture:!0},"depth24unorm-stencil8":{gl:35056,b:4,c:2,p:1,attachment:33306,renderbuffer:!0},"depth32float-stencil8":{gl:36013,b:5,c:2,p:1,attachment:33306,renderbuffer:!0},"bc1-rgb-unorm-webgl":{gl:33776,x:ir,f:ae},"bc1-rgb-unorm-srgb-webgl":{gl:35916,x:ar,f:ae},"bc1-rgba-unorm":{gl:33777,x:ir,f:ae},"bc1-rgba-unorm-srgb":{gl:35916,x:ar,f:ae},"bc2-rgba-unorm":{gl:33778,x:ir,f:ae},"bc2-rgba-unorm-srgb":{gl:35918,x:ar,f:ae},"bc3-rgba-unorm":{gl:33779,x:ir,f:ae},"bc3-rgba-unorm-srgb":{gl:35919,x:ar,f:ae},"bc4-r-unorm":{gl:36283,x:_t,f:ae},"bc4-r-snorm":{gl:36284,x:_t,f:ae},"bc5-rg-unorm":{gl:36285,x:_t,f:ae},"bc5-rg-snorm":{gl:36286,x:_t,f:ae},"bc6h-rgb-ufloat":{gl:36495,x:fr,f:ae},"bc6h-rgb-float":{gl:36494,x:fr,f:ae},"bc7-rgba-unorm":{gl:36492,x:fr,f:ae},"bc7-rgba-unorm-srgb":{gl:36493,x:fr,f:ae},"etc2-rgb8unorm":{gl:37492,f:we},"etc2-rgb8unorm-srgb":{gl:37494,f:we},"etc2-rgb8a1unorm":{gl:37496,f:we},"etc2-rgb8a1unorm-srgb":{gl:37497,f:we},"etc2-rgba8unorm":{gl:37493,f:we},"etc2-rgba8unorm-srgb":{gl:37495,f:we},"eac-r11unorm":{gl:37488,f:we},"eac-r11snorm":{gl:37489,f:we},"eac-rg11unorm":{gl:37490,f:we},"eac-rg11snorm":{gl:37491,f:we},"astc-4x4-unorm":{gl:37808,f:Q},"astc-4x4-unorm-srgb":{gl:37840,f:Q},"astc-5x4-unorm":{gl:37809,f:Q},"astc-5x4-unorm-srgb":{gl:37841,f:Q},"astc-5x5-unorm":{gl:37810,f:Q},"astc-5x5-unorm-srgb":{gl:37842,f:Q},"astc-6x5-unorm":{gl:37811,f:Q},"astc-6x5-unorm-srgb":{gl:37843,f:Q},"astc-6x6-unorm":{gl:37812,f:Q},"astc-6x6-unorm-srgb":{gl:37844,f:Q},"astc-8x5-unorm":{gl:37813,f:Q},"astc-8x5-unorm-srgb":{gl:37845,f:Q},"astc-8x6-unorm":{gl:37814,f:Q},"astc-8x6-unorm-srgb":{gl:37846,f:Q},"astc-8x8-unorm":{gl:37815,f:Q},"astc-8x8-unorm-srgb":{gl:37847,f:Q},"astc-10x5-unorm":{gl:37819,f:Q},"astc-10x5-unorm-srgb":{gl:37851,f:Q},"astc-10x6-unorm":{gl:37817,f:Q},"astc-10x6-unorm-srgb":{gl:37849,f:Q},"astc-10x8-unorm":{gl:37818,f:Q},"astc-10x8-unorm-srgb":{gl:37850,f:Q},"astc-10x10-unorm":{gl:37819,f:Q},"astc-10x10-unorm-srgb":{gl:37851,f:Q},"astc-12x10-unorm":{gl:37820,f:Q},"astc-12x10-unorm-srgb":{gl:37852,f:Q},"astc-12x12-unorm":{gl:37821,f:Q},"astc-12x12-unorm-srgb":{gl:37853,f:Q},"pvrtc-rgb4unorm-webgl":{gl:35840,f:fn},"pvrtc-rgba4unorm-webgl":{gl:35842,f:fn},"pvrtc-rbg2unorm-webgl":{gl:35841,f:fn},"pvrtc-rgba2unorm-webgl":{gl:35843,f:fn},"etc1-rbg-unorm-webgl":{gl:36196,f:Kh},"atc-rgb-unorm-webgl":{gl:35986,f:Eo},"atc-rgba-unorm-webgl":{gl:35986,f:Eo},"atc-rgbai-unorm-webgl":{gl:34798,f:Eo}},ey=(ce={},oe(ce,6403,1),oe(ce,36244,1),oe(ce,33319,2),oe(ce,33320,2),oe(ce,6407,3),oe(ce,36248,3),oe(ce,6408,4),oe(ce,36249,4),oe(ce,6402,1),oe(ce,34041,1),oe(ce,6406,1),oe(ce,6409,1),oe(ce,6410,2),ce),ty=(Ee={},oe(Ee,5126,4),oe(Ee,5125,4),oe(Ee,5124,4),oe(Ee,5123,2),oe(Ee,5122,2),oe(Ee,5131,2),oe(Ee,5120,1),oe(Ee,5121,1),Ee);function cr(e,t){var r=Xe(t),n=He[r];if(!n||(L(e)?n.gl===void 0:n.gl1===void 0))return!1;var i=n.x||L(e)&&n.gl2ext||n.gl1ext;return i?Boolean(e.getExtension(i)):!0}function Mf(e,t){var r;return cr(e,t)&&((r=He[t])===null||r===void 0?void 0:r.renderbuffer)}function Xe(e){if(typeof e=="string")return e;var t=Object.entries(He).find(function(r){var n=jh(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 sr(e,t){var r=He[e],n=t?r?.gl:r?.gl1;if(n===void 0)throw new Error("Unsupported texture format ".concat(e));return n}function Uf(e,t){var r=Xe(t);if(!cr(e,r))return!1;try{var n=en(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 jf(e,t){var r=Xe(t);return!(!cr(e,r)||typeof r=="number")}function bt(e,t){var r=Xe(e),n=sr(r,t),i=en(r);return{format:n,dataFormat:ry(i.format,i.integer,i.normalized,n),type:i.dataType?an(i.dataType):5121,compressed:i.compressed}}function Wf(e){var t=He[e];if(!(t!=null&&t.attachment))throw new Error("".concat(e," is not a depth stencil format"));return t.attachment}function un(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6408,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:6408,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:5121,i=null,o=null;try{i=e.createTexture(),e.bindTexture(3553,i);var a=0,u=1,c=1,p=0,b=new Uint8Array([0,0,255,255]);e.texImage2D(3553,a,t,u,c,p,r,n,b),o=e.createFramebuffer(),e.bindFramebuffer(36160,o),e.framebufferTexture2D(36160,36064,3553,i,0);var g=e.checkFramebufferStatus(36160)===36053;return e.bindTexture(3553,null),g}finally{e.deleteTexture(i),e.deleteFramebuffer(o)}}function lr(e,t){var r=Xe(e),n=bt(r,t),i=ey[n.dataFormat]||4,o=ty[n.type]||1;return i*o}function ry(e,t,r,n){if(n===6408||n===6407)return n;switch(e){case"r":return t&&!r?36244:6403;case"rg":return t&&!r?33320:33319;case"rgb":return t&&!r?36248:6407;case"rgba":return t&&!r?36249:6408;default:return 6408}}function ny(e,t){return ay(e)||iy(e,t)||Xf(e,t)||oy()}function oy(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
31
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function iy(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function ay(e){if(Array.isArray(e))return e}function fy(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Xf(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(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
32
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,u;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,u=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw u}}}}function Xf(e,t){if(e){if(typeof e=="string")return Hf(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 Hf(e,t)}}function Hf(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 Vf(e){var t=uy(e),r=fy(Df(e)),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;t.add(i)}}catch(o){r.e(o)}finally{r.f()}return t}function uy(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(kf);r<n.length;r++){var i=n[r];cy(e,i)&&t.add(i)}return t}function cy(e,t){var r=kf[t];if(!r)return!1;var n=r||[],i=ny(n,2),o=i[0],a=i[1],u=L(e)?a:o;if(typeof u=="boolean")return u;switch(t){case"texture-renderable-rgba32float-webgl":return L(e)?Boolean(e.getExtension(u)):un(e);case"glsl-derivatives":return Io(e,u);case"glsl-frag-data":return Io(e,u,{behavior:"require"});case"glsl-frag-depth":return Io(e,u);default:return Boolean(e.getExtension(u))}}var Po={};function Io(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!Cf(r))return!0;if(t in Po)return Po[t];var n=r.behavior||"enable",i="#extension GL_".concat(t," : ").concat(n,`
|
|
33
|
-
void main(void) {}`),o=e.createShader(35633);if(!o)throw new Error("shader");e.shaderSource(o,i),e.compileShader(o);var a=e.getShaderParameter(o,35713);return e.deleteShader(o),Po[t]=a,a}var kf={webgl:[!0,!0],webgl2:[!1,!0],"timer-query-webgl":["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],"transform-feedback-webgl2":[!1,!0],"vertex-array-object-webgl1":["OES_vertex_array_object",!0],"instanced-rendering-webgl1":["ANGLE_instanced_arrays",!0],"multiple-render-targets-webgl1":["WEBGL_draw_buffers",!0],"index-uint32-webgl1":["OES_element_index_uint",!0],"blend-minmax-webgl1":["EXT_blend_minmax",!0],"texture-blend-float-webgl1":["EXT_float_blend","EXT_float_blend"],"texture-formats-srgb-webgl1":["EXT_sRGB",!0],"texture-formats-depth-webgl1":["WEBGL_depth_texture",!0],"texture-formats-float32-webgl1":["OES_texture_float",!0],"texture-formats-float16-webgl1":["OES_texture_half_float",!0],"texture-filter-linear-float32-webgl":["OES_texture_float_linear","OES_texture_float_linear"],"texture-filter-linear-float16-webgl":["OES_texture_half_float_linear","OES_texture_half_float_linear"],"texture-filter-anisotropic-webgl":["EXT_texture_filter_anisotropic","EXT_texture_filter_anisotropic"],"texture-renderable-rgba32float-webgl":["WEBGL_color_buffer_float","EXT_color_buffer_float"],"texture-renderable-float32-webgl":[!1,"EXT_color_buffer_float"],"texture-renderable-float16-webgl":["EXT_color_buffer_half_float","EXT_color_buffer_half_float"],"glsl-frag-data":["WEBGL_draw_buffers",!0],"glsl-frag-depth":["EXT_frag_depth",!0],"glsl-derivatives":["OES_standard_derivatives",!0],"glsl-texture-lod":["EXT_shader_texture_lod",!0]};function pr(e){return pr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},pr(e)}function k(e,t,r){return t=sy(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function sy(e){var t=ly(e,"string");return pr(t)==="symbol"?t:String(t)}function ly(e,t){if(pr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(pr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Lf(e){var t=Qt(e);return{maxTextureDimension1D:0,maxTextureDimension2D:e.getParameter(3379),maxTextureDimension3D:t?t.getParameter(32883):0,maxTextureArrayLayers:t?t.getParameter(35071):0,maxBindGroups:1,maxDynamicUniformBuffersPerPipelineLayout:0,maxDynamicStorageBuffersPerPipelineLayout:0,maxSampledTexturesPerShaderStage:e.getParameter(35660),maxSamplersPerShaderStage:e.getParameter(35661),maxStorageBuffersPerShaderStage:0,maxStorageTexturesPerShaderStage:0,maxUniformBuffersPerShaderStage:t?t.getParameter(35375):0,maxUniformBufferBindingSize:t?t.getParameter(35376):0,maxStorageBufferBindingSize:0,minUniformBufferOffsetAlignment:t?t.getParameter(35380):0,minStorageBufferOffsetAlignment:0,maxVertexBuffers:0,maxVertexAttributes:e.getParameter(34921),maxVertexBufferArrayStride:2048,maxInterStageShaderComponents:t?t.getParameter(35659):0,maxComputeWorkgroupStorageSize:0,maxComputeInvocationsPerWorkgroup:0,maxComputeWorkgroupSizeX:0,maxComputeWorkgroupSizeY:0,maxComputeWorkgroupSizeZ:0,maxComputeWorkgroupsPerDimension:0}}function Kf(e){var t,r=Qt(e);function n(o){return e.getParameter(o)}function i(o,a){return r?r.getParameter(o):a||0}return t={},k(t,33902,n(33902)),k(t,33901,n(33901)),k(t,3379,n(3379)),k(t,34076,n(34076)),k(t,34930,n(34930)),k(t,35661,n(35661)),k(t,35660,n(35660)),k(t,34024,n(34024)),k(t,36348,n(36348)),k(t,34921,n(34921)),k(t,36347,n(36347)),k(t,36349,n(36349)),k(t,3386,n(3386)),k(t,34047,n(34047)),k(t,32883,i(32883)),k(t,35071,i(35071)),k(t,37447,i(37447)),k(t,36063,i(36063)),k(t,35379,i(35379)),k(t,35374,i(35374)),k(t,35377,i(35377)),k(t,34852,i(34852)),k(t,36203,i(36203)),k(t,33001,i(33001)),k(t,33e3,i(33e3)),k(t,37157,i(37157)),k(t,35373,i(35373)),k(t,35657,i(35657)),k(t,36183,i(36183)),k(t,37137,i(37137)),k(t,34045,i(34045)),k(t,35978,i(35978)),k(t,35979,i(35979)),k(t,35968,i(35968)),k(t,35376,i(35376)),k(t,35375,i(35375)),k(t,35659,i(35659)),k(t,37154,i(37154)),k(t,35371,i(35371)),k(t,35658,i(35658)),k(t,35076,i(35076)),k(t,35077,i(35077)),k(t,35380,i(35380)),t}function de(e,t,r){var n=pe.attach(e),i=n.gl;if(py(t))return r(e);var o=t.nocatch,a=o===void 0?!0:o;Se(i),le(i,t);var u;if(a)u=r(i),ve(i);else try{u=r(i)}finally{ve(i)}return u}function py(e){for(var t in e)return!1;return!0}function zf(e,t,r,n){if(Qe(t))return n(e);Se(e.gl);try{return ln(e,t),le(e,r),n(e)}finally{ve(e.gl)}}function $f(e,t,r){if(Qe(t))return r(e);Se(e.gl);try{return ln(e,t),r(e)}finally{ve(e.gl)}}function ln(e,t){var r=pe.attach(e),n=r.gl;if(t.cullMode)switch(t.cullMode){case"none":n.disable(2884);break;case"front":n.enable(2884),n.cullFace(1028);break;case"back":n.enable(2884),n.cullFace(1029);break}if(t.frontFace&&n.frontFace(dr("frontFace",t.frontFace,{ccw:2305,cw:2304})),t.depthBias!==void 0&&n.polygonOffset(t.depthBias,t.depthBiasSlopeScale||0),t.depthWriteEnabled!==void 0&&n.depthMask(hy("depthWriteEnabled",t.depthWriteEnabled)),t.depthCompare&&(t.depthCompare!=="always"?n.enable(2929):n.disable(2929),n.depthFunc(sn("depthCompare",t.depthCompare))),t.stencilWriteMask){var i=t.stencilWriteMask;n.stencilMaskSeparate(1028,i),n.stencilMaskSeparate(1029,i)}if(t.stencilReadMask&&D.warn("stencilReadMask not supported under WebGL"),t.stencilCompare){var o=t.stencilReadMask||4294967295,a=sn("depthCompare",t.stencilCompare);t.stencilCompare!=="always"?n.enable(2960):n.disable(2960),n.stencilFuncSeparate(1028,a,0,o),n.stencilFuncSeparate(1029,a,0,o)}if(t.stencilPassOperation&&t.stencilFailOperation&&t.stencilDepthFailOperation){var u=No("stencilPassOperation",t.stencilPassOperation),c=No("stencilFailOperation",t.stencilFailOperation),p=No("stencilDepthFailOperation",t.stencilDepthFailOperation);n.stencilOpSeparate(1028,c,p,u),n.stencilOpSeparate(1029,c,p,u)}if(t.blendColorOperation||t.blendAlphaOperation){n.enable(3042);var b=Yf("blendColorOperation",t.blendColorOperation||"add"),g=Yf("blendAlphaOperation",t.blendAlphaOperation||"add");n.blendEquationSeparate(b,g);var v=cn("blendColorSrcFactor",t.blendColorSrcFactor||"one"),T=cn("blendColorDstFactor",t.blendColorDstFactor||"zero"),S=cn("blendAlphaSrcFactor",t.blendAlphaSrcFactor||"one"),O=cn("blendAlphaDstFactor",t.blendAlphaDstFactor||"zero");n.blendFuncSeparate(v,T,S,O)}}function sn(e,t){return dr(e,t,{never:512,less:513,equal:514,"less-equal":515,greater:516,"not-equal":517,"greater-equal":518,always:519})}function No(e,t){return dr(e,t,{keep:7680,zero:0,replace:7681,invert:5386,"increment-clamp":7682,"decrement-clamp":7683,"increment-wrap":34055,"decrement-wrap":34056})}function Yf(e,t){return dr(e,t,{add:32774,subtract:32778,"reverse-subtract":32779,min:32775,max:32776})}function cn(e,t){return dr(e,t,{one:1,zero:0,"src-color":768,"one-minus-src-color":769,"dst-color":774,"one-minus-dst-color":775,"src-alpha":770,"one-minus-src-alpha":771,"dst-alpha":772,"one-minus-dst-alpha":773})}function dy(e,t){return"Illegal parameter ".concat(t," for ").concat(e)}function dr(e,t,r){if(!(t in r))throw new Error(dy(e,t));return r[t]}function hy(e,t){return t}function hr(e){return hr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},hr(e)}function Zf(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 yy(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Zf(Object(r),!0).forEach(function(n){_y(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Zf(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function _y(e,t,r){return t=by(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function by(e){var t=gy(e,"string");return hr(t)==="symbol"?t:String(t)}function gy(e,t){if(hr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(hr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function pn(e){var t={};return e.addressModeU&&(t[10242]=xo(e.addressModeU)),e.addressModeV&&(t[10243]=xo(e.addressModeV)),e.addressModeW&&(t[32882]=xo(e.addressModeW)),e.magFilter&&(t[10240]=qf(e.magFilter)),(e.minFilter||e.mipmapFilter)&&(t[10241]=vy(e.minFilter||"linear",e.mipmapFilter)),e.lodMinClamp!==void 0&&(t[33082]=e.lodMinClamp),e.lodMaxClamp!==void 0&&(t[33083]=e.lodMaxClamp),e.type==="comparison-sampler"&&(t[34892]=34894),e.compare&&(t[34893]=sn("compare",e.compare)),e.maxAnisotropy&&(t[34046]=e.maxAnisotropy),t}function Qf(e){var t=yy({},e);return e[10241]!==9728&&(t[10241]=9729),t[10242]=33071,t[10243]=33071,t}function xo(e){switch(e){case"clamp-to-edge":return 33071;case"repeat":return 10497;case"mirror-repeat":return 33648}}function qf(e){switch(e){case"nearest":return 9728;case"linear":return 9729}}function vy(e,t){if(!t)return qf(e);switch(e){case"nearest":return t==="nearest"?9984:9986;case"linear":return t==="nearest"?9985:9987}}function Co(){"use strict";Co=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(l,f,s){l[f]=s.value},i=typeof Symbol=="function"?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function c(l,f,s){return Object.defineProperty(l,f,{value:s,enumerable:!0,configurable:!0,writable:!0}),l[f]}try{c({},"")}catch{c=function(s,d,y){return s[d]=y}}function p(l,f,s,d){var y=f&&f.prototype instanceof v?f:v,h=Object.create(y.prototype),m=new X(d||[]);return n(h,"_invoke",{value:V(l,s,m)}),h}function b(l,f,s){try{return{type:"normal",arg:l.call(f,s)}}catch(d){return{type:"throw",arg:d}}}e.wrap=p;var g={};function v(){}function T(){}function S(){}var O={};c(O,o,function(){return this});var N=Object.getPrototypeOf,E=N&&N(N(W([])));E&&E!==t&&r.call(E,o)&&(O=E);var w=S.prototype=v.prototype=Object.create(O);function B(l){["next","throw","return"].forEach(function(f){c(l,f,function(s){return this._invoke(f,s)})})}function I(l,f){function s(y,h,m,A){var R=b(l[y],l,h);if(R.type!=="throw"){var F=R.arg,x=F.value;return x&&Ne(x)=="object"&&r.call(x,"__await")?f.resolve(x.__await).then(function(M){s("next",M,m,A)},function(M){s("throw",M,m,A)}):f.resolve(x).then(function(M){F.value=M,m(F)},function(M){return s("throw",M,m,A)})}A(R.arg)}var d;n(this,"_invoke",{value:function(h,m){function A(){return new f(function(R,F){s(h,m,R,F)})}return d=d?d.then(A,A):A()}})}function V(l,f,s){var d="suspendedStart";return function(y,h){if(d==="executing")throw new Error("Generator is already running");if(d==="completed"){if(y==="throw")throw h;return Z()}for(s.method=y,s.arg=h;;){var m=s.delegate;if(m){var A=U(m,s);if(A){if(A===g)continue;return A}}if(s.method==="next")s.sent=s._sent=s.arg;else if(s.method==="throw"){if(d==="suspendedStart")throw d="completed",s.arg;s.dispatchException(s.arg)}else s.method==="return"&&s.abrupt("return",s.arg);d="executing";var R=b(l,f,s);if(R.type==="normal"){if(d=s.done?"completed":"suspendedYield",R.arg===g)continue;return{value:R.arg,done:s.done}}R.type==="throw"&&(d="completed",s.method="throw",s.arg=R.arg)}}}function U(l,f){var s=f.method,d=l.iterator[s];if(d===void 0)return f.delegate=null,s==="throw"&&l.iterator.return&&(f.method="return",f.arg=void 0,U(l,f),f.method==="throw")||s!=="return"&&(f.method="throw",f.arg=new TypeError("The iterator does not provide a '"+s+"' method")),g;var y=b(d,l.iterator,f.arg);if(y.type==="throw")return f.method="throw",f.arg=y.arg,f.delegate=null,g;var h=y.arg;return h?h.done?(f[l.resultName]=h.value,f.next=l.nextLoc,f.method!=="return"&&(f.method="next",f.arg=void 0),f.delegate=null,g):h:(f.method="throw",f.arg=new TypeError("iterator result is not an object"),f.delegate=null,g)}function Y(l){var f={tryLoc:l[0]};1 in l&&(f.catchLoc=l[1]),2 in l&&(f.finallyLoc=l[2],f.afterLoc=l[3]),this.tryEntries.push(f)}function j(l){var f=l.completion||{};f.type="normal",delete f.arg,l.completion=f}function X(l){this.tryEntries=[{tryLoc:"root"}],l.forEach(Y,this),this.reset(!0)}function W(l){if(l){var f=l[o];if(f)return f.call(l);if(typeof l.next=="function")return l;if(!isNaN(l.length)){var s=-1,d=function y(){for(;++s<l.length;)if(r.call(l,s))return y.value=l[s],y.done=!1,y;return y.value=void 0,y.done=!0,y};return d.next=d}}return{next:Z}}function Z(){return{value:void 0,done:!0}}return T.prototype=S,n(w,"constructor",{value:S,configurable:!0}),n(S,"constructor",{value:T,configurable:!0}),T.displayName=c(S,u,"GeneratorFunction"),e.isGeneratorFunction=function(l){var f=typeof l=="function"&&l.constructor;return!!f&&(f===T||(f.displayName||f.name)==="GeneratorFunction")},e.mark=function(l){return Object.setPrototypeOf?Object.setPrototypeOf(l,S):(l.__proto__=S,c(l,u,"GeneratorFunction")),l.prototype=Object.create(w),l},e.awrap=function(l){return{__await:l}},B(I.prototype),c(I.prototype,a,function(){return this}),e.AsyncIterator=I,e.async=function(l,f,s,d,y){y===void 0&&(y=Promise);var h=new I(p(l,f,s,d),y);return e.isGeneratorFunction(f)?h:h.next().then(function(m){return m.done?m.value:h.next()})},B(w),c(w,u,"Generator"),c(w,o,function(){return this}),c(w,"toString",function(){return"[object Generator]"}),e.keys=function(l){var f=Object(l),s=[];for(var d in f)s.push(d);return s.reverse(),function y(){for(;s.length;){var h=s.pop();if(h in f)return y.value=h,y.done=!1,y}return y.done=!0,y}},e.values=W,X.prototype={constructor:X,reset:function(f){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(j),!f)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 f=this.tryEntries[0].completion;if(f.type==="throw")throw f.arg;return this.rval},dispatchException:function(f){if(this.done)throw f;var s=this;function d(F,x){return m.type="throw",m.arg=f,s.next=F,x&&(s.method="next",s.arg=void 0),!!x}for(var y=this.tryEntries.length-1;y>=0;--y){var h=this.tryEntries[y],m=h.completion;if(h.tryLoc==="root")return d("end");if(h.tryLoc<=this.prev){var A=r.call(h,"catchLoc"),R=r.call(h,"finallyLoc");if(A&&R){if(this.prev<h.catchLoc)return d(h.catchLoc,!0);if(this.prev<h.finallyLoc)return d(h.finallyLoc)}else if(A){if(this.prev<h.catchLoc)return d(h.catchLoc,!0)}else{if(!R)throw new Error("try statement without catch or finally");if(this.prev<h.finallyLoc)return d(h.finallyLoc)}}}},abrupt:function(f,s){for(var d=this.tryEntries.length-1;d>=0;--d){var y=this.tryEntries[d];if(y.tryLoc<=this.prev&&r.call(y,"finallyLoc")&&this.prev<y.finallyLoc){var h=y;break}}h&&(f==="break"||f==="continue")&&h.tryLoc<=s&&s<=h.finallyLoc&&(h=null);var m=h?h.completion:{};return m.type=f,m.arg=s,h?(this.method="next",this.next=h.finallyLoc,g):this.complete(m)},complete:function(f,s){if(f.type==="throw")throw f.arg;return f.type==="break"||f.type==="continue"?this.next=f.arg:f.type==="return"?(this.rval=this.arg=f.arg,this.method="return",this.next="end"):f.type==="normal"&&s&&(this.next=s),g},finish:function(f){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.finallyLoc===f)return this.complete(d.completion,d.afterLoc),j(d),g}},catch:function(f){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.tryLoc===f){var y=d.completion;if(y.type==="throw"){var h=y.arg;j(d)}return h}}throw new Error("illegal catch attempt")},delegateYield:function(f,s,d){return this.delegate={iterator:W(f),resultName:s,nextLoc:d},this.method==="next"&&(this.arg=void 0),g}},e}function Jf(e,t,r,n,i,o,a){try{var u=e[o](a),c=u.value}catch(p){r(p);return}u.done?t(c):Promise.resolve(c).then(n,i)}function my(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(c){Jf(o,n,i,a,u,"next",c)}function u(c){Jf(o,n,i,a,u,"throw",c)}a(void 0)})}}function Gf(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?Gf(Object(r),!0).forEach(function(n){Ty(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Gf(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Ty(e,t,r){return t=ru(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ne(e){return Ne=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},Ne(e)}function tu(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,ru(n.key),n)}}function Sy(e,t,r){return t&&tu(e.prototype,t),r&&tu(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function ru(e){var t=Ay(e,"string");return Ne(t)==="symbol"?t:String(t)}function Ay(e,t){if(Ne(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Ne(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ry(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Oy(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&&Bo(e,t)}function Bo(e,t){return Bo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Bo(e,t)}function Ey(e){var t=Iy();return function(){var n=dn(e),i;if(t){var o=dn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return wy(this,i)}}function wy(e,t){if(t&&(Ne(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Py(e)}function Py(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Iy(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function dn(e){return dn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},dn(e)}var he=function(e){Oy(r,e);var t=Ey(r);function r(i){var o,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Ry(this,r),o=t.call(this,i,a),o.device=void 0,o.gl=void 0,o.gl2=void 0,o.handle=void 0,o.glTarget=void 0,o.glUsage=void 0,o.glIndexType=5123,o.byteLength=void 0,o.bytesUsed=void 0,o.device=i,o.gl=o.device.gl,o.gl2=o.device.gl2;var u=Ne(a)==="object"?a.handle:void 0;return o.handle=u||o.gl.createBuffer(),i.setSpectorMetadata(o.handle,eu(eu({},o.props),{},{data:Ne(o.props.data)})),o.glTarget=Ny(o.props.usage),o.glUsage=xy(o.props.usage),o.glIndexType=o.props.indexType==="uint32"?5125:5123,a.data?o._initWithData(a.data,a.byteOffset,a.byteLength):o._initWithByteLength(a.byteLength||0),o}var n=r.prototype;return n._initWithData=function(o){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:o.byteLength+a,c=this.glTarget;this.gl.bindBuffer(c,this.handle),this.gl.bufferData(c,u,this.glUsage),this.gl.bufferSubData(c,a,o),this.gl.bindBuffer(c,null),this.bytesUsed=u,this.byteLength=u,this._setDebugData(o,a,u),this.trackAllocatedMemory(u)},n._initWithByteLength=function(o){H(o>=0);var a=o;o===0&&(a=new Float32Array(0));var u=this.glTarget;return this.gl.bindBuffer(u,this.handle),this.gl.bufferData(u,a,this.glUsage),this.gl.bindBuffer(u,null),this.bytesUsed=o,this.byteLength=o,this._setDebugData(null,0,o),this.trackAllocatedMemory(o),this},n.destroy=function(){!this.destroyed&&this.handle&&(this.removeStats(),this.trackDeallocatedMemory(),this.gl.deleteBuffer(this.handle),this.destroyed=!0,this.handle=null)},n.write=function(o){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,u=0,c=void 0,p=this.device.isWebGL2?36663:this.glTarget;this.gl.bindBuffer(p,this.handle),u!==0||c!==void 0?(this.device.assertWebGL2(),this.gl2.bufferSubData(p,a,o,u,c)):this.gl.bufferSubData(p,a,o),this.gl.bindBuffer(p,null),this._setDebugData(o,a,o.byteLength)},n.readAsync=function(){var i=my(Co().mark(function a(){var u,c,p=arguments;return Co().wrap(function(g){for(;;)switch(g.prev=g.next){case 0:return u=p.length>0&&p[0]!==void 0?p[0]:0,c=p.length>1?p[1]:void 0,g.abrupt("return",this.readSyncWebGL2(u,c));case 3:case"end":return g.stop()}},a,this)}));function o(){return i.apply(this,arguments)}return o}(),n.readSyncWebGL2=function(){var o,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,u=arguments.length>1?arguments[1]:void 0;this.device.assertWebGL2(),u=(o=u)!==null&&o!==void 0?o:this.byteLength-a;var c=new Uint8Array(u),p=0;return this.gl.bindBuffer(36662,this.handle),this.gl2.getBufferSubData(36662,a,c,p,u),this.gl.bindBuffer(36662,null),this._setDebugData(c,a,u),c},Sy(r)}(te);function Ny(e){return e&te.INDEX?34963:e&te.VERTEX?34962:e&te.UNIFORM?35345:34962}function xy(e){return e&te.INDEX||e&te.VERTEX?35044:e&te.UNIFORM?35048:35044}function gt(e){return gt=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},gt(e)}function Cy(e,t){return My(e)||Dy(e,t)||Fy(e,t)||By()}function By(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
34
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Fy(e,t){if(e){if(typeof e=="string")return nu(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 nu(e,t)}}function nu(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 Dy(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function My(e){if(Array.isArray(e))return e}function ou(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,jy(n.key),n)}}function Uy(e,t,r){return t&&ou(e.prototype,t),r&&ou(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function jy(e){var t=Wy(e,"string");return gt(t)==="symbol"?t:String(t)}function Wy(e,t){if(gt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(gt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Hy(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Xy(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&&Fo(e,t)}function Fo(e,t){return Fo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Fo(e,t)}function Vy(e){var t=Ky();return function(){var n=hn(e),i;if(t){var o=hn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return ky(this,i)}}function ky(e,t){if(t&&(gt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Ly(e)}function Ly(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ky(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function hn(e){return hn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},hn(e)}var Ve=function(e){Xy(r,e);var t=Vy(r);function r(i,o){var a;return Hy(this,r),a=t.call(this,i,o),a.device=void 0,a.handle=void 0,a.parameters=void 0,a.device=i,a.parameters=pn(o),a.device.isWebGL2&&(a.handle=a.handle||a.device.gl2.createSampler(),a._setSamplerParameters(a.parameters)),a}var n=r.prototype;return n.destroy=function(){this.handle&&(this.device.gl2.deleteSampler(this.handle),this.handle=void 0)},n.toString=function(){return"Sampler(".concat(this.id,",").concat(JSON.stringify(this.props),")")},n._setSamplerParameters=function(o){for(var a=0,u=Object.entries(o);a<u.length;a++){var c=Cy(u[a],2),p=c[0],b=c[1],g=Number(p);switch(g){case 33082:case 33083:this.device.gl2.samplerParameterf(this.handle,g,b);break;default:this.device.gl2.samplerParameteri(this.handle,g,b);break}}},Uy(r)}(jr);function Do(){"use strict";Do=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(l,f,s){l[f]=s.value},i=typeof Symbol=="function"?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function c(l,f,s){return Object.defineProperty(l,f,{value:s,enumerable:!0,configurable:!0,writable:!0}),l[f]}try{c({},"")}catch{c=function(s,d,y){return s[d]=y}}function p(l,f,s,d){var y=f&&f.prototype instanceof v?f:v,h=Object.create(y.prototype),m=new X(d||[]);return n(h,"_invoke",{value:V(l,s,m)}),h}function b(l,f,s){try{return{type:"normal",arg:l.call(f,s)}}catch(d){return{type:"throw",arg:d}}}e.wrap=p;var g={};function v(){}function T(){}function S(){}var O={};c(O,o,function(){return this});var N=Object.getPrototypeOf,E=N&&N(N(W([])));E&&E!==t&&r.call(E,o)&&(O=E);var w=S.prototype=v.prototype=Object.create(O);function B(l){["next","throw","return"].forEach(function(f){c(l,f,function(s){return this._invoke(f,s)})})}function I(l,f){function s(y,h,m,A){var R=b(l[y],l,h);if(R.type!=="throw"){var F=R.arg,x=F.value;return x&&Ce(x)=="object"&&r.call(x,"__await")?f.resolve(x.__await).then(function(M){s("next",M,m,A)},function(M){s("throw",M,m,A)}):f.resolve(x).then(function(M){F.value=M,m(F)},function(M){return s("throw",M,m,A)})}A(R.arg)}var d;n(this,"_invoke",{value:function(h,m){function A(){return new f(function(R,F){s(h,m,R,F)})}return d=d?d.then(A,A):A()}})}function V(l,f,s){var d="suspendedStart";return function(y,h){if(d==="executing")throw new Error("Generator is already running");if(d==="completed"){if(y==="throw")throw h;return Z()}for(s.method=y,s.arg=h;;){var m=s.delegate;if(m){var A=U(m,s);if(A){if(A===g)continue;return A}}if(s.method==="next")s.sent=s._sent=s.arg;else if(s.method==="throw"){if(d==="suspendedStart")throw d="completed",s.arg;s.dispatchException(s.arg)}else s.method==="return"&&s.abrupt("return",s.arg);d="executing";var R=b(l,f,s);if(R.type==="normal"){if(d=s.done?"completed":"suspendedYield",R.arg===g)continue;return{value:R.arg,done:s.done}}R.type==="throw"&&(d="completed",s.method="throw",s.arg=R.arg)}}}function U(l,f){var s=f.method,d=l.iterator[s];if(d===void 0)return f.delegate=null,s==="throw"&&l.iterator.return&&(f.method="return",f.arg=void 0,U(l,f),f.method==="throw")||s!=="return"&&(f.method="throw",f.arg=new TypeError("The iterator does not provide a '"+s+"' method")),g;var y=b(d,l.iterator,f.arg);if(y.type==="throw")return f.method="throw",f.arg=y.arg,f.delegate=null,g;var h=y.arg;return h?h.done?(f[l.resultName]=h.value,f.next=l.nextLoc,f.method!=="return"&&(f.method="next",f.arg=void 0),f.delegate=null,g):h:(f.method="throw",f.arg=new TypeError("iterator result is not an object"),f.delegate=null,g)}function Y(l){var f={tryLoc:l[0]};1 in l&&(f.catchLoc=l[1]),2 in l&&(f.finallyLoc=l[2],f.afterLoc=l[3]),this.tryEntries.push(f)}function j(l){var f=l.completion||{};f.type="normal",delete f.arg,l.completion=f}function X(l){this.tryEntries=[{tryLoc:"root"}],l.forEach(Y,this),this.reset(!0)}function W(l){if(l){var f=l[o];if(f)return f.call(l);if(typeof l.next=="function")return l;if(!isNaN(l.length)){var s=-1,d=function y(){for(;++s<l.length;)if(r.call(l,s))return y.value=l[s],y.done=!1,y;return y.value=void 0,y.done=!0,y};return d.next=d}}return{next:Z}}function Z(){return{value:void 0,done:!0}}return T.prototype=S,n(w,"constructor",{value:S,configurable:!0}),n(S,"constructor",{value:T,configurable:!0}),T.displayName=c(S,u,"GeneratorFunction"),e.isGeneratorFunction=function(l){var f=typeof l=="function"&&l.constructor;return!!f&&(f===T||(f.displayName||f.name)==="GeneratorFunction")},e.mark=function(l){return Object.setPrototypeOf?Object.setPrototypeOf(l,S):(l.__proto__=S,c(l,u,"GeneratorFunction")),l.prototype=Object.create(w),l},e.awrap=function(l){return{__await:l}},B(I.prototype),c(I.prototype,a,function(){return this}),e.AsyncIterator=I,e.async=function(l,f,s,d,y){y===void 0&&(y=Promise);var h=new I(p(l,f,s,d),y);return e.isGeneratorFunction(f)?h:h.next().then(function(m){return m.done?m.value:h.next()})},B(w),c(w,u,"Generator"),c(w,o,function(){return this}),c(w,"toString",function(){return"[object Generator]"}),e.keys=function(l){var f=Object(l),s=[];for(var d in f)s.push(d);return s.reverse(),function y(){for(;s.length;){var h=s.pop();if(h in f)return y.value=h,y.done=!1,y}return y.done=!0,y}},e.values=W,X.prototype={constructor:X,reset:function(f){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(j),!f)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 f=this.tryEntries[0].completion;if(f.type==="throw")throw f.arg;return this.rval},dispatchException:function(f){if(this.done)throw f;var s=this;function d(F,x){return m.type="throw",m.arg=f,s.next=F,x&&(s.method="next",s.arg=void 0),!!x}for(var y=this.tryEntries.length-1;y>=0;--y){var h=this.tryEntries[y],m=h.completion;if(h.tryLoc==="root")return d("end");if(h.tryLoc<=this.prev){var A=r.call(h,"catchLoc"),R=r.call(h,"finallyLoc");if(A&&R){if(this.prev<h.catchLoc)return d(h.catchLoc,!0);if(this.prev<h.finallyLoc)return d(h.finallyLoc)}else if(A){if(this.prev<h.catchLoc)return d(h.catchLoc,!0)}else{if(!R)throw new Error("try statement without catch or finally");if(this.prev<h.finallyLoc)return d(h.finallyLoc)}}}},abrupt:function(f,s){for(var d=this.tryEntries.length-1;d>=0;--d){var y=this.tryEntries[d];if(y.tryLoc<=this.prev&&r.call(y,"finallyLoc")&&this.prev<y.finallyLoc){var h=y;break}}h&&(f==="break"||f==="continue")&&h.tryLoc<=s&&s<=h.finallyLoc&&(h=null);var m=h?h.completion:{};return m.type=f,m.arg=s,h?(this.method="next",this.next=h.finallyLoc,g):this.complete(m)},complete:function(f,s){if(f.type==="throw")throw f.arg;return f.type==="break"||f.type==="continue"?this.next=f.arg:f.type==="return"?(this.rval=this.arg=f.arg,this.method="return",this.next="end"):f.type==="normal"&&s&&(this.next=s),g},finish:function(f){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.finallyLoc===f)return this.complete(d.completion,d.afterLoc),j(d),g}},catch:function(f){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.tryLoc===f){var y=d.completion;if(y.type==="throw"){var h=y.arg;j(d)}return h}}throw new Error("illegal catch attempt")},delegateYield:function(f,s,d){return this.delegate={iterator:W(f),resultName:s,nextLoc:d},this.method==="next"&&(this.arg=void 0),g}},e}function iu(e,t,r,n,i,o,a){try{var u=e[o](a),c=u.value}catch(p){r(p);return}u.done?t(c):Promise.resolve(c).then(n,i)}function Yy(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(c){iu(o,n,i,a,u,"next",c)}function u(c){iu(o,n,i,a,u,"throw",c)}a(void 0)})}}function au(e,t){return Zy(e)||$y(e,t)||su(e,t)||zy()}function zy(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
35
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function $y(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function Zy(e){if(Array.isArray(e))return e}function Qy(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=su(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(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
36
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,u;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,u=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw u}}}}function su(e,t){if(e){if(typeof e=="string")return fu(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 fu(e,t)}}function fu(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){return Ce=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},Ce(e)}function uu(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 yn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?uu(Object(r),!0).forEach(function(n){qy(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):uu(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function qy(e,t,r){return t=lu(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function cu(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,lu(n.key),n)}}function Jy(e,t,r){return t&&cu(e.prototype,t),r&&cu(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function lu(e){var t=Gy(e,"string");return Ce(t)==="symbol"?t:String(t)}function Gy(e,t){if(Ce(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Ce(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function e_(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function t_(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&&Mo(e,t)}function Mo(e,t){return Mo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Mo(e,t)}function r_(e){var t=o_();return function(){var n=bn(e),i;if(t){var o=bn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return n_(this,i)}}function n_(e,t){if(t&&(Ce(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return pu(e)}function pu(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function o_(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function bn(e){return bn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},bn(e)}var i_={parameters:{},pixelStore:{},pixels:null,border:0,dataFormat:void 0,textureUnit:void 0,target:void 0},se=function(e){t_(r,e);var t=r_(r);function r(i,o){var a,u;return e_(this,r),u=t.call(this,i,yn(yn({},i_),{},{format:"rgba8unorm"},o)),u.MAX_ATTRIBUTES=void 0,u.device=void 0,u.gl=void 0,u.gl2=void 0,u.handle=void 0,u.sampler=void 0,u.glFormat=void 0,u.type=void 0,u.dataFormat=void 0,u.mipmaps=void 0,u.target=void 0,u.textureUnit=void 0,u.loaded=!1,u._video=void 0,u.device=i,u.gl=u.device.gl,u.gl2=u.device.gl2,u.handle=u.props.handle||u.gl.createTexture(),u.device.setSpectorMetadata(u.handle,yn(yn({},u.props),{},{data:Ce(u.props.data)})),u.glFormat=6408,u.target=a_(u.props),u.loaded=!1,typeof((a=u.props)===null||a===void 0?void 0:a.data)=="string"&&Object.assign(u.props,{data:go(u.props.data)}),u.initialize(u.props),Object.seal(pu(u)),u}var n=r.prototype;return n.destroy=function(){this.handle&&(this.gl.deleteTexture(this.handle),this.removeStats(),this.trackDeallocatedMemory("Texture"),this.destroyed=!0)},n.toString=function(){return"Texture(".concat(this.id,",").concat(this.width,"x").concat(this.height,")")},n.initialize=function(){var o=this,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(this.props.dimension==="cube")return this.initializeCube(a);var u=a.data;if(u instanceof Promise)return u.then(function(f){return o.initialize(Object.assign({},a,{pixels:f,data:f}))}),this;var c=typeof HTMLVideoElement<"u"&&u instanceof HTMLVideoElement;if(c&&u.readyState<HTMLVideoElement.HAVE_METADATA)return this._video=null,u.addEventListener("loadeddata",function(){return o.initialize(a)}),this;var p=a.parameters,b=p===void 0?{}:p,g=a.pixels,v=g===void 0?null:g,T=a.pixelStore,S=T===void 0?{}:T,O=a.textureUnit,N=O===void 0?void 0:O;u||(u=v);var E=a.width,w=a.height,B=a.dataFormat,I=a.type,V=a.compressed,U=V===void 0?!1:V,Y=a.mipmaps,j=Y===void 0?!0:Y,X=a.depth,W=X===void 0?0:X,Z=sr(a.format,this.device.isWebGL2),l=this._deduceParameters({format:a.format,type:I,dataFormat:B,compressed:U,data:u,width:E,height:w});return E=l.width,w=l.height,U=l.compressed,B=l.dataFormat,I=l.type,this.width=E,this.height=w,this.glFormat=Z,this.type=I,this.dataFormat=B,this.textureUnit=N,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),j&&this.device.isWebGL1&&_n(this.width,this.height)&&(D.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaps"))(),j=!1),this.mipmaps=j,this.setImageData({data:u,width:E,height:w,depth:W,format:Z,type:I,dataFormat:B,parameters:S,compressed:U}),this.setSampler(a.sampler),this._setSamplerParameters(b),j&&this.generateMipmap(),c&&(this._video={video:u,parameters:b,lastTime:u.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?u.currentTime:-1}),this},n.initializeCube=function(o){var a=this,u=o.mipmaps,c=u===void 0?!0:u,p=o.parameters,b=p===void 0?{}:p;return this.setCubeMapImageData(o).then(function(){a.loaded=!0,c&&a.generateMipmap(o),a.setSampler(o.sampler),a._setSamplerParameters(b)}),this},n.setSampler=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a;o instanceof Ve?(this.sampler=o,a=o.props):(this.sampler=new Ve(this.device,o),a=o);var u=pn(a);return this._setSamplerParameters(u),this},n.resize=function(o){var a=o.height,u=o.width,c=o.mipmaps,p=c===void 0?!1:c;return u!==this.width||a!==this.height?this.initialize({width:u,height:a,format:this.format,type:this.type,dataFormat:this.dataFormat,mipmaps:p}):this},n.update=function(){if(this._video){var o=this._video,a=o.video,u=o.parameters,c=o.lastTime;if(c===a.currentTime||a.readyState<HTMLVideoElement.HAVE_CURRENT_DATA)return;this.setSubImageData({data:a,parameters:u}),this.mipmaps&&this.generateMipmap(),this._video.lastTime=a.currentTime}},n.generateMipmap=function(){var o=this,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.device.isWebGL1&&_n(this.width,this.height)?(D.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaping"))(),this):(this.mipmaps=!0,this.gl.bindTexture(this.target,this.handle),de(this.gl,a,function(){o.gl.generateMipmap(o.target)}),this.gl.bindTexture(this.target,null),this)},n.setImageData=function(o){var a=this;if(this.props.dimension==="3d"||this.props.dimension==="2d-array")return this.setImageData3D(o);this.trackDeallocatedMemory("Texture");var u=o.target,c=u===void 0?this.target:u,p=o.pixels,b=p===void 0?null:p,g=o.level,v=g===void 0?0:g,T=o.glFormat,S=T===void 0?this.glFormat:T,O=o.offset,N=O===void 0?0:O,E=o.parameters,w=E===void 0?{}:E,B=o.data,I=B===void 0?null:B,V=o.type,U=V===void 0?this.type:V,Y=o.width,j=Y===void 0?this.width:Y,X=o.height,W=X===void 0?this.height:X,Z=o.dataFormat,l=Z===void 0?this.dataFormat:Z,f=o.compressed,s=f===void 0?!1:f;I||(I=b);var d=this._deduceParameters({format:this.props.format,type:U,dataFormat:l,compressed:s,data:I,width:j,height:W});U=d.type,l=d.dataFormat,s=d.compressed,j=d.width,W=d.height;var y=this.gl;y.bindTexture(this.target,this.handle);var h=null,m=this._getDataType({data:I,compressed:s});I=m.data,h=m.dataType;var A;if(de(this.gl,w,function(){switch(h){case"null":y.texImage2D(c,v,S,j,W,0,l,U,I);break;case"typed-array":y.texImage2D(c,v,S,j,W,0,l,U,I,N);break;case"buffer":A=a.device.assertWebGL2(),A.bindBuffer(35052,I.handle||I),A.texImage2D(c,v,S,j,W,0,l,U,N),A.bindBuffer(35052,null);break;case"browser-object":a.device.isWebGL2?y.texImage2D(c,v,S,j,W,0,l,U,I):y.texImage2D(c,v,S,l,U,I);break;case"compressed":var F=Qy(I.entries()),x;try{for(F.s();!(x=F.n()).done;){var M=au(x.value,2),Uc=M[0],Sr=M[1];y.compressedTexImage2D(c,Uc,Sr.format,Sr.width,Sr.height,0,Sr.data)}}catch(jc){F.e(jc)}finally{F.f()}break;default:H(!1,"Unknown image data type")}}),I&&I.byteLength)this.trackAllocatedMemory(I.byteLength,"Texture");else{var R=lr(this.props.format,this.device.isWebGL2);this.trackAllocatedMemory(this.width*this.height*R,"Texture")}return this.loaded=!0,this},n.setSubImageData=function(o){var a=this,u=o.target,c=u===void 0?this.target:u,p=o.pixels,b=p===void 0?null:p,g=o.data,v=g===void 0?null:g,T=o.x,S=T===void 0?0:T,O=o.y,N=O===void 0?0:O,E=o.width,w=E===void 0?this.width:E,B=o.height,I=B===void 0?this.height:B,V=o.level,U=V===void 0?0:V,Y=o.glFormat,j=Y===void 0?this.glFormat:Y,X=o.type,W=X===void 0?this.type:X,Z=o.dataFormat,l=Z===void 0?this.dataFormat:Z,f=o.compressed,s=f===void 0?!1:f,d=o.offset,y=d===void 0?0:d,h=o.parameters,m=h===void 0?{}:h,A=this._deduceParameters({format:this.props.format,type:W,dataFormat:l,compressed:s,data:v,width:w,height:I});if(W=A.type,l=A.dataFormat,s=A.compressed,w=A.width,I=A.height,H(this.depth===1,"texSubImage not supported for 3D textures"),v||(v=b),v&&v.data){var R=v;v=R.data,w=R.shape[0],I=R.shape[1]}v instanceof he&&(v=v.handle),this.gl.bindTexture(this.target,this.handle),de(this.gl,m,function(){if(s)a.gl.compressedTexSubImage2D(c,U,S,N,w,I,j,v);else if(v===null)a.gl.texSubImage2D(c,U,S,N,w,I,l,W,null);else if(ArrayBuffer.isView(v))a.gl.texSubImage2D(c,U,S,N,w,I,l,W,v,y);else if(typeof WebGLBuffer<"u"&&v instanceof WebGLBuffer){var F=a.device.assertWebGL2();F.bindBuffer(35052,v),F.texSubImage2D(c,U,S,N,w,I,l,W,y),F.bindBuffer(35052,null)}else if(a.device.isWebGL2){var x=a.device.assertWebGL2();x.texSubImage2D(c,U,S,N,w,I,l,W,v)}else a.gl.texSubImage2D(c,U,S,N,l,W,v)}),this.gl.bindTexture(this.target,null)},n.copyFramebuffer=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return D.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null},n.getActiveUnit=function(){return this.gl.getParameter(34016)-33984},n.bind=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.textureUnit,a=this.gl;return o!==void 0&&(this.textureUnit=o,a.activeTexture(33984+o)),a.bindTexture(this.target,this.handle),o},n.unbind=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.textureUnit,a=this.gl;return o!==void 0&&(this.textureUnit=o,a.activeTexture(33984+o)),a.bindTexture(this.target,null),o},n._getDataType=function(o){var a=o.data,u=o.compressed,c=u===void 0?!1:u;return c?{data:a,dataType:"compressed"}:a===null?{data:a,dataType:"null"}:ArrayBuffer.isView(a)?{data:a,dataType:"typed-array"}:a instanceof he?{data:a.handle,dataType:"buffer"}:typeof WebGLBuffer<"u"&&a instanceof WebGLBuffer?{data:a,dataType:"buffer"}:{data:a,dataType:"browser-object"}},n._deduceParameters=function(o){var a=o.format,u=o.data,c=o.width,p=o.height,b=o.dataFormat,g=o.type,v=o.compressed,T=bt(a,this.device.isWebGL2);b=b||T.dataFormat,g=g||T.type,v=v||T.compressed;var S=this._deduceImageSize(u,c,p);return c=S.width,p=S.height,{dataFormat:b,type:g,compressed:v,width:c,height:p,format:a,data:u}},n._deduceImageSize=function(o,a,u){var c;return typeof ImageData<"u"&&o instanceof ImageData?c={width:o.width,height:o.height}:typeof HTMLImageElement<"u"&&o instanceof HTMLImageElement?c={width:o.naturalWidth,height:o.naturalHeight}:typeof HTMLCanvasElement<"u"&&o instanceof HTMLCanvasElement?c={width:o.width,height:o.height}:typeof ImageBitmap<"u"&&o instanceof ImageBitmap?c={width:o.width,height:o.height}:typeof HTMLVideoElement<"u"&&o instanceof HTMLVideoElement?c={width:o.videoWidth,height:o.videoHeight}:o?c={width:a,height:u}:c={width:a>=0?a:1,height:u>=0?u:1},H(c,"Could not deduced texture size"),H(a===void 0||c.width===a,"Deduced texture width does not match supplied width"),H(u===void 0||c.height===u,"Deduced texture height does not match supplied height"),c},n.setCubeMapImageData=function(){var i=Yy(Do().mark(function a(u){var c=this,p,b,g,v,T,S,O,N,E,w,B;return Do().wrap(function(V){for(;;)switch(V.prev=V.next){case 0:return p=this.gl,b=u.width,g=u.height,v=u.pixels,T=u.data,S=u.format,O=S===void 0?6408:S,N=u.type,E=N===void 0?5121:N,w=v||T,V.next=5,Promise.all(r.FACES.map(function(U){var Y=w[U];return Promise.all(Array.isArray(Y)?Y:[Y])}));case 5:B=V.sent,this.bind(),r.FACES.forEach(function(U,Y){B[Y].length>1&&c.props.mipmaps!==!1&&D.warn("".concat(c.id," has mipmap and multiple LODs."))(),B[Y].forEach(function(j,X){b&&g?p.texImage2D(U,X,O,b,g,0,O,E,j):p.texImage2D(U,X,O,O,E,j)})}),this.unbind();case 9:case"end":return V.stop()}},a,this)}));function o(a){return i.apply(this,arguments)}return o}(),n.setImageDataForFace=function(o){var a=this,u=o.face,c=o.width,p=o.height,b=o.pixels,g=o.data,v=o.format,T=v===void 0?6408:v,S=o.type,O=S===void 0?5121:S,N=this.gl,E=b||g;return this.bind(),E instanceof Promise?E.then(function(w){return a.setImageDataForFace(Object.assign({},o,{face:u,data:w,pixels:w}))}):this.width||this.height?N.texImage2D(u,0,T,c,p,0,T,O,E):N.texImage2D(u,0,T,T,O,E),this},n.setImageData3D=function(o){var a=this,u=o.level,c=u===void 0?0:u,p=o.dataFormat,b=o.format,g=o.type,v=o.width,T=o.height,S=o.depth,O=S===void 0?1:S,N=o.offset,E=N===void 0?0:N,w=o.data,B=o.parameters,I=B===void 0?{}:B;this.trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle);var V=bt(b,this.device.isWebGL2);if(de(this.gl,I,function(){ArrayBuffer.isView(w)&&a.gl.texImage3D(a.target,c,V.format,v,T,O,0,V.dataFormat,V.type,w),w instanceof he&&(a.gl.bindBuffer(35052,w.handle),a.gl.texImage3D(a.target,c,p,v,T,O,0,b,g,E))}),w&&w.byteLength)this.trackAllocatedMemory(w.byteLength,"Texture");else{var U=lr(this.props.format,this.device.isWebGL2);this.trackAllocatedMemory(this.width*this.height*this.depth*U,"Texture")}return this.loaded=!0,this},n._setSamplerParameters=function(o){if(this.device.isWebGL1&&_n(this.width,this.height)&&(o=Qf(o)),!Qe(o)){f_(o),this.gl.bindTexture(this.target,this.handle);for(var a=0,u=Object.entries(o);a<u.length;a++){var c=au(u[a],2),p=c[0],b=c[1],g=Number(p),v=b;switch(g){case 33082:case 33083:this.gl.texParameterf(this.target,g,v);break;default:this.gl.texParameteri(this.target,g,v);break}}this.gl.bindTexture(this.target,null)}},n._getWebGL1NPOTParameterOverride=function(o,a){var u=this.device.isWebGL1&&_n(this.width,this.height);if(u)switch(o){case 10241:if(a!==9729&&a!==9728)return 9729;break;case 10242:case 10243:return 33071;default:break}return a},Jy(r)}(ue);se.FACES=[34069,34070,34071,34072,34073,34074];function a_(e){switch(e.dimension){case"2d":return 3553;case"cube":return 34067;case"2d-array":return 35866;case"3d":return 32879;case"1d":case"cube-array":default:throw new Error(e.dimension)}}function _n(e,t){return!e||!t?!1:!Nr(e)||!Nr(t)}function f_(e){D.log(1,"texture sampler parameters",e)()}function gn(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 H(n!==void 0,"Accessing undefined constant GL.".concat(t)),n}function mt(e){return mt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},mt(e)}function u_(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=c_(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(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
37
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,u;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,u=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw u}}}}function c_(e,t){if(e){if(typeof e=="string")return du(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 du(e,t)}}function du(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,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function hu(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,p_(n.key),n)}}function l_(e,t,r){return t&&hu(e.prototype,t),r&&hu(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function p_(e){var t=d_(e,"string");return mt(t)==="symbol"?t:String(t)}function d_(e,t){if(mt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(mt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function h_(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&&Uo(e,t)}function Uo(e,t){return Uo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Uo(e,t)}function y_(e){var t=g_();return function(){var n=vn(e),i;if(t){var o=vn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return __(this,i)}}function __(e,t){if(t&&(mt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return b_(e)}function b_(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function g_(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function vn(e){return vn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},vn(e)}var vt="Resource subclass must define virtual methods",yr=function(e){h_(r,e);var t=y_(r);function r(i,o,a){var u;s_(this,r),u=t.call(this,i,o,a),u.device=void 0,u.gl=void 0,u.gl2=void 0,u._handle=void 0,u._bound=!1,u.byteLength=0,u.device=pe.attach(i);var c=u.device.gl;tn(c);var p=o||{},b=p.id;return u.gl=c,u.gl2=c,u.id=b||Te(u.constructor.name),u._handle=o?.handle,u._handle===void 0&&(u._handle=u._createHandle()),u.byteLength=0,u}var n=r.prototype;return n.toString=function(){return"".concat(this.constructor.name,"(").concat(this.id,")")},n.delete=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=o.deleteChildren,u=a===void 0?!1:a,c=this._handle&&this._deleteHandle(this._handle);return this._handle&&this.removeStats(),this._handle=null,c&&u&&c.filter(Boolean).forEach(function(p){return p.destroy()}),this},n.bind=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.handle;if(typeof o!="function")return this._bindHandle(o),this;var a;return this._bound?a=o():(this._bindHandle(this.handle),this._bound=!0,a=o(),this._bound=!1,this._bindHandle(null)),a},n.unbind=function(){this.bind(null)},n.getParameter=function(o){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};o=gn(this.gl,o),H(o);var u=this.constructor.PARAMETERS||{},c=u[o];if(c){var p=L(this.gl),b=(!("webgl2"in c)||p)&&(!("extension"in c)||this.gl.getExtension(c.extension));if(!b){var g=c.webgl1,v="webgl2"in c?c.webgl2:c.webgl1,T=p?v:g;return T}}return this._getParameter(o,a)},n.getParameters=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=o.parameters,u=o.keys,c=this.constructor.PARAMETERS||{},p=L(this.gl),b={},g=a||Object.keys(c),v=u_(g),T;try{for(v.s();!(T=v.n()).done;){var S=T.value,O=c[S],N=O&&(!("webgl2"in O)||p)&&(!("extension"in O)||this.gl.getExtension(O.extension));if(N){var E=u?this.device.getGLKey(S):S;b[E]=this.getParameter(S,o),u&&O.type==="GLenum"&&(b[E]=this.device.getGLKey(b[E]))}}}catch(w){v.e(w)}finally{v.f()}return b},n.setParameter=function(o,a){o=gn(this.gl,o),H(o);var u=this.constructor.PARAMETERS||{},c=u[o];if(c){var p=L(this.gl),b=(!("webgl2"in c)||p)&&(!("extension"in c)||this.gl.getExtension(c.extension));if(!b)throw new Error("Parameter not available on this platform");c.type==="GLenum"&&(a=gn(a))}return this._setParameter(o,a),this},n.setParameters=function(o){for(var a in o)this.setParameter(a,o[a]);return this},n.stubRemovedMethods=function(o,a,u){return po(this,o,a,u)},n.initialize=function(o){},n._createHandle=function(){throw new Error(vt)},n._deleteHandle=function(){throw new Error(vt)},n._bindHandle=function(o){throw new Error(vt)},n._getOptsFromHandle=function(){throw new Error(vt)},n._getParameter=function(o,a){throw new Error(vt)},n._setParameter=function(o,a){throw new Error(vt)},l_(r,[{key:"handle",get:function(){return this._handle}}]),r}(z);function Tt(e){return Tt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Tt(e)}var gu;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 _u(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){v_(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 v_(e,t,r){return t=vu(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function m_(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function bu(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,vu(n.key),n)}}function T_(e,t,r){return t&&bu(e.prototype,t),r&&bu(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function vu(e){var t=S_(e,"string");return Tt(t)==="symbol"?t:String(t)}function S_(e,t){if(Tt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Tt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function A_(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&&jo(e,t)}function jo(e,t){return jo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},jo(e,t)}function R_(e){var t=w_();return function(){var n=mn(e),i;if(t){var o=mn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return O_(this,i)}}function O_(e,t){if(t&&(Tt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return E_(e)}function E_(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function w_(){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 mn(e){return mn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},mn(e)}gu=Symbol.toStringTag;var St=function(e){A_(r,e);var t=R_(r);r.isTextureFormatSupported=function(o,a){return Mf(o.gl,a)};function r(i,o){var a;if(m_(this,r),typeof o.format=="number")throw new Error("Renderbuffer");return a=t.call(this,i,o,r.defaultProps),a.glFormat=void 0,a.glFormat=sr(a.props.format,i.isWebGL2),a._initialize(a.props),a}var n=r.prototype;return n.resize=function(o){(o.width!==this.width||o.height!==this.height)&&(Object.assign(this.props,_u(_u({},o),{},{format:this.format,samples:this.samples})),this._initialize(this.props))},n._initialize=function(o){var a=o.format,u=o.width,c=o.height,p=o.samples;H(a,"Needs format"),this.trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),p!==0&&this.device.isWebGL2?this.gl2.renderbufferStorageMultisample(36161,p,this.glFormat,u,c):this.gl.renderbufferStorage(36161,this.glFormat,u,c),this.gl.bindRenderbuffer(36161,null),this.trackAllocatedMemory(u*c*(p||1)*lr(this.glFormat,this.device.isWebGL2))},n._createHandle=function(){return this.gl.createRenderbuffer()},n._deleteHandle=function(){this.gl.deleteRenderbuffer(this.handle),this.trackDeallocatedMemory()},n._bindHandle=function(o){this.gl.bindRenderbuffer(36161,o)},T_(r,[{key:gu,get:function(){return"Renderbuffer"}},{key:"width",get:function(){return this.props.width}},{key:"height",get:function(){return this.props.height}},{key:"format",get:function(){return this.props.format}},{key:"samples",get:function(){return this.props.samples}},{key:"attachment",get:function(){}}]),r}(yr);St.defaultProps={id:void 0,handle:void 0,userData:void 0,format:void 0,width:1,height:1,samples:0};function At(e){return At=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},At(e)}function P_(e,t){return x_(e)||N_(e,t)||Su(e,t)||I_()}function I_(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
38
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function N_(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function x_(e){if(Array.isArray(e))return e}function C_(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Su(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(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
39
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,u;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,u=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw u}}}}function Su(e,t){if(e){if(typeof e=="string")return mu(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 mu(e,t)}}function mu(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function B_(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Tu(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,D_(n.key),n)}}function F_(e,t,r){return t&&Tu(e.prototype,t),r&&Tu(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function D_(e){var t=M_(e,"string");return At(t)==="symbol"?t:String(t)}function M_(e,t){if(At(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(At(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Tn(){return typeof Reflect<"u"&&Reflect.get?Tn=Reflect.get.bind():Tn=function(t,r,n){var i=U_(t,r);if(i){var o=Object.getOwnPropertyDescriptor(i,r);return o.get?o.get.call(arguments.length<3?t:n):o.value}},Tn.apply(this,arguments)}function U_(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&(e=Rt(e),e!==null););return e}function j_(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&&Wo(e,t)}function Wo(e,t){return Wo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Wo(e,t)}function W_(e){var t=V_();return function(){var n=Rt(e),i;if(t){var o=Rt(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return H_(this,i)}}function H_(e,t){if(t&&(At(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return X_(e)}function X_(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function V_(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Rt(e){return Rt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Rt(e)}var Pe=function(e){j_(r,e);var t=W_(r);function r(i,o){var a;B_(this,r),a=t.call(this,i,o),a.device=void 0,a.gl=void 0,a.handle=void 0;var u=o.handle===null;if(a.device=i,a.gl=i.gl,a.handle=a.props.handle||u?a.props.handle:a.gl.createFramebuffer(),!u){i.setSpectorMetadata(a.handle,{id:a.props.id,props:a.props}),a.autoCreateAttachmentTextures(),a.gl.bindFramebuffer(36160,a.handle);for(var c=0;c<a.colorAttachments.length;++c){var p=a.colorAttachments[c],b=36064+c;p&&a._attachOne(b,p)}a.depthStencilAttachment&&a._attachOne(Wf(a.depthStencilAttachment.format),a.depthStencilAttachment),a.gl.bindFramebuffer(36160,null)}return o.check!==!1&&a._checkStatus(),a}var n=r.prototype;return n.destroy=function(){Tn(Rt(r.prototype),"destroy",this).call(this),!this.destroyed&&this.handle!==null&&this.gl.deleteFramebuffer(this.handle)},n._checkStatus=function(){var o=this.gl,a=o.bindFramebuffer(36160,this.handle),u=o.checkFramebufferStatus(36160);if(o.bindFramebuffer(36160,a||null),u!==36053)throw new Error("Framebuffer ".concat(L_(u)))},n.createDepthStencilTexture=function(o){return new St(this.device,{id:"".concat(this.id,"-depth-stencil"),format:o,width:this.width,height:this.height})},n.resizeAttachments=function(o,a){if(this.handle===null)return this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;o===void 0&&(o=this.gl.drawingBufferWidth),a===void 0&&(a=this.gl.drawingBufferHeight);var u=C_(this.colorAttachments),c;try{for(u.s();!(c=u.n()).done;){var p=c.value;p.resize({width:o,height:a})}}catch(b){u.e(b)}finally{u.f()}return this.depthStencilAttachment&&this.depthStencilAttachment.resize({width:o,height:a}),this},n._attachOne=function(o,a){if(a instanceof St)return this._attachWEBGLRenderbuffer(o,a),a;if(Array.isArray(a)){var u=P_(a,3),c=u[0],p=u[1],b=p===void 0?0:p,g=u[2],v=g===void 0?0:g;return this._attachTexture(o,c,b,v),c}else if(a instanceof se)return this._attachTexture(o,a,0,0),a;throw new Error("attach")},n._attachWEBGLRenderbuffer=function(o,a){this.gl.framebufferRenderbuffer(36160,o,36161,a.handle)},n._attachTexture=function(o,a,u,c){var p=this.device,b=p.gl,g=p.gl2;switch(b.bindTexture(a.target,a.handle),a.target){case 35866:case 32879:this.device.assertWebGL2(),g?.framebufferTextureLayer(36160,o,a.target,c,u);break;case 34067:var v=k_(u);b.framebufferTexture2D(36160,o,v,a.handle,c);break;case 3553:b.framebufferTexture2D(36160,o,3553,a.handle,c);break;default:H(!1,"Illegal texture type")}b.bindTexture(a.target,null)},F_(r,[{key:"texture",get:function(){return this.colorAttachments[0]}}]),r}(ot);function k_(e){return e<34069?e+34069:e}function L_(e){switch(e){case 36053:return"success";case 36054:return"Mismatched attachments";case 36055:return"No attachments";case 36057:return"Height/width mismatch";case 36061:return"Unsupported or split attachments";case 36182:return"Samples mismatch";default:return"".concat(e)}}function Ot(e){return Ot=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ot(e)}function Au(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,Y_(n.key),n)}}function K_(e,t,r){return t&&Au(e.prototype,t),r&&Au(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Y_(e){var t=z_(e,"string");return Ot(t)==="symbol"?t:String(t)}function z_(e,t){if(Ot(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Ot(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function $_(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Z_(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&&Ho(e,t)}function Ho(e,t){return Ho=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Ho(e,t)}function Q_(e){var t=G_();return function(){var n=Sn(e),i;if(t){var o=Sn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return q_(this,i)}}function q_(e,t){if(t&&(Ot(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return J_(e)}function J_(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function G_(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Sn(e){return Sn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Sn(e)}var An=function(e){Z_(r,e);var t=Q_(r);function r(i,o){var a;return $_(this,r),a=t.call(this,o),a.device=void 0,a.presentationSize=void 0,a._framebuffer=null,a.device=i,a.presentationSize=[-1,-1],a._setAutoCreatedCanvasId("".concat(a.device.id,"-canvas")),a.update(),a}var n=r.prototype;return n.getCurrentFramebuffer=function(){return this.update(),this._framebuffer=this._framebuffer||new Pe(this.device,{handle:null}),this._framebuffer},n.update=function(){var o=this.getPixelSize(),a=o[0]!==this.presentationSize[0]||o[1]!==this.presentationSize[1];a&&(this.presentationSize=o,this.resize())},n.resize=function(o){if(this.device.gl){if(this.canvas){var a=this.getDevicePixelRatio(o?.useDevicePixels);this.setDevicePixelRatio(a,o);return}var u=this.device.gl.getExtension("STACKGL_resize_drawingbuffer");u&&o&&"width"in o&&"height"in o&&u.resize(o.width,o.height)}},n.commit=function(){},K_(r)}(Ge);function Et(e){return Et=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Et(e)}function Xo(){"use strict";Xo=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(l,f,s){l[f]=s.value},i=typeof Symbol=="function"?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function c(l,f,s){return Object.defineProperty(l,f,{value:s,enumerable:!0,configurable:!0,writable:!0}),l[f]}try{c({},"")}catch{c=function(s,d,y){return s[d]=y}}function p(l,f,s,d){var y=f&&f.prototype instanceof v?f:v,h=Object.create(y.prototype),m=new X(d||[]);return n(h,"_invoke",{value:V(l,s,m)}),h}function b(l,f,s){try{return{type:"normal",arg:l.call(f,s)}}catch(d){return{type:"throw",arg:d}}}e.wrap=p;var g={};function v(){}function T(){}function S(){}var O={};c(O,o,function(){return this});var N=Object.getPrototypeOf,E=N&&N(N(W([])));E&&E!==t&&r.call(E,o)&&(O=E);var w=S.prototype=v.prototype=Object.create(O);function B(l){["next","throw","return"].forEach(function(f){c(l,f,function(s){return this._invoke(f,s)})})}function I(l,f){function s(y,h,m,A){var R=b(l[y],l,h);if(R.type!=="throw"){var F=R.arg,x=F.value;return x&&Et(x)=="object"&&r.call(x,"__await")?f.resolve(x.__await).then(function(M){s("next",M,m,A)},function(M){s("throw",M,m,A)}):f.resolve(x).then(function(M){F.value=M,m(F)},function(M){return s("throw",M,m,A)})}A(R.arg)}var d;n(this,"_invoke",{value:function(h,m){function A(){return new f(function(R,F){s(h,m,R,F)})}return d=d?d.then(A,A):A()}})}function V(l,f,s){var d="suspendedStart";return function(y,h){if(d==="executing")throw new Error("Generator is already running");if(d==="completed"){if(y==="throw")throw h;return Z()}for(s.method=y,s.arg=h;;){var m=s.delegate;if(m){var A=U(m,s);if(A){if(A===g)continue;return A}}if(s.method==="next")s.sent=s._sent=s.arg;else if(s.method==="throw"){if(d==="suspendedStart")throw d="completed",s.arg;s.dispatchException(s.arg)}else s.method==="return"&&s.abrupt("return",s.arg);d="executing";var R=b(l,f,s);if(R.type==="normal"){if(d=s.done?"completed":"suspendedYield",R.arg===g)continue;return{value:R.arg,done:s.done}}R.type==="throw"&&(d="completed",s.method="throw",s.arg=R.arg)}}}function U(l,f){var s=f.method,d=l.iterator[s];if(d===void 0)return f.delegate=null,s==="throw"&&l.iterator.return&&(f.method="return",f.arg=void 0,U(l,f),f.method==="throw")||s!=="return"&&(f.method="throw",f.arg=new TypeError("The iterator does not provide a '"+s+"' method")),g;var y=b(d,l.iterator,f.arg);if(y.type==="throw")return f.method="throw",f.arg=y.arg,f.delegate=null,g;var h=y.arg;return h?h.done?(f[l.resultName]=h.value,f.next=l.nextLoc,f.method!=="return"&&(f.method="next",f.arg=void 0),f.delegate=null,g):h:(f.method="throw",f.arg=new TypeError("iterator result is not an object"),f.delegate=null,g)}function Y(l){var f={tryLoc:l[0]};1 in l&&(f.catchLoc=l[1]),2 in l&&(f.finallyLoc=l[2],f.afterLoc=l[3]),this.tryEntries.push(f)}function j(l){var f=l.completion||{};f.type="normal",delete f.arg,l.completion=f}function X(l){this.tryEntries=[{tryLoc:"root"}],l.forEach(Y,this),this.reset(!0)}function W(l){if(l){var f=l[o];if(f)return f.call(l);if(typeof l.next=="function")return l;if(!isNaN(l.length)){var s=-1,d=function y(){for(;++s<l.length;)if(r.call(l,s))return y.value=l[s],y.done=!1,y;return y.value=void 0,y.done=!0,y};return d.next=d}}return{next:Z}}function Z(){return{value:void 0,done:!0}}return T.prototype=S,n(w,"constructor",{value:S,configurable:!0}),n(S,"constructor",{value:T,configurable:!0}),T.displayName=c(S,u,"GeneratorFunction"),e.isGeneratorFunction=function(l){var f=typeof l=="function"&&l.constructor;return!!f&&(f===T||(f.displayName||f.name)==="GeneratorFunction")},e.mark=function(l){return Object.setPrototypeOf?Object.setPrototypeOf(l,S):(l.__proto__=S,c(l,u,"GeneratorFunction")),l.prototype=Object.create(w),l},e.awrap=function(l){return{__await:l}},B(I.prototype),c(I.prototype,a,function(){return this}),e.AsyncIterator=I,e.async=function(l,f,s,d,y){y===void 0&&(y=Promise);var h=new I(p(l,f,s,d),y);return e.isGeneratorFunction(f)?h:h.next().then(function(m){return m.done?m.value:h.next()})},B(w),c(w,u,"Generator"),c(w,o,function(){return this}),c(w,"toString",function(){return"[object Generator]"}),e.keys=function(l){var f=Object(l),s=[];for(var d in f)s.push(d);return s.reverse(),function y(){for(;s.length;){var h=s.pop();if(h in f)return y.value=h,y.done=!1,y}return y.done=!0,y}},e.values=W,X.prototype={constructor:X,reset:function(f){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(j),!f)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 f=this.tryEntries[0].completion;if(f.type==="throw")throw f.arg;return this.rval},dispatchException:function(f){if(this.done)throw f;var s=this;function d(F,x){return m.type="throw",m.arg=f,s.next=F,x&&(s.method="next",s.arg=void 0),!!x}for(var y=this.tryEntries.length-1;y>=0;--y){var h=this.tryEntries[y],m=h.completion;if(h.tryLoc==="root")return d("end");if(h.tryLoc<=this.prev){var A=r.call(h,"catchLoc"),R=r.call(h,"finallyLoc");if(A&&R){if(this.prev<h.catchLoc)return d(h.catchLoc,!0);if(this.prev<h.finallyLoc)return d(h.finallyLoc)}else if(A){if(this.prev<h.catchLoc)return d(h.catchLoc,!0)}else{if(!R)throw new Error("try statement without catch or finally");if(this.prev<h.finallyLoc)return d(h.finallyLoc)}}}},abrupt:function(f,s){for(var d=this.tryEntries.length-1;d>=0;--d){var y=this.tryEntries[d];if(y.tryLoc<=this.prev&&r.call(y,"finallyLoc")&&this.prev<y.finallyLoc){var h=y;break}}h&&(f==="break"||f==="continue")&&h.tryLoc<=s&&s<=h.finallyLoc&&(h=null);var m=h?h.completion:{};return m.type=f,m.arg=s,h?(this.method="next",this.next=h.finallyLoc,g):this.complete(m)},complete:function(f,s){if(f.type==="throw")throw f.arg;return f.type==="break"||f.type==="continue"?this.next=f.arg:f.type==="return"?(this.rval=this.arg=f.arg,this.method="return",this.next="end"):f.type==="normal"&&s&&(this.next=s),g},finish:function(f){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.finallyLoc===f)return this.complete(d.completion,d.afterLoc),j(d),g}},catch:function(f){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.tryLoc===f){var y=d.completion;if(y.type==="throw"){var h=y.arg;j(d)}return h}}throw new Error("illegal catch attempt")},delegateYield:function(f,s,d){return this.delegate={iterator:W(f),resultName:s,nextLoc:d},this.method==="next"&&(this.arg=void 0),g}},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 Ou(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){eb(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}function eb(e,t,r){return t=tb(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function tb(e){var t=rb(e,"string");return Et(t)==="symbol"?t:String(t)}function rb(e,t){if(Et(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Et(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Eu(e,t,r,n,i,o,a){try{var u=e[o](a),c=u.value}catch(p){r(p);return}u.done?t(c):Promise.resolve(c).then(n,i)}function nb(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(c){Eu(o,n,i,a,u,"next",c)}function u(c){Eu(o,n,i,a,u,"throw",c)}a(void 0)})}}var ob={spector:D.get("spector")||D.get("inspect")},ib="https://spectorcdn.babylonjs.com/spector.bundle.js",ab=1,ye=null,wu=!1;function Pu(e){return Vo.apply(this,arguments)}function Vo(){return Vo=nb(Xo().mark(function e(t){return Xo().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,zt(ib);case 4:n.next=9;break;case 6:n.prev=6,n.t0=n.catch(1),D.warn(String(n.t0));case 9:case"end":return n.stop()}},e,null,[[1,6]])})),Vo.apply(this,arguments)}function Iu(e){var t,r;if(e=Ou(Ou({},ob),e),!((t=e)!==null&&t!==void 0&&t.spector)||(!ye&&globalThis.SPECTOR&&(D.probe(ab,"SPECTOR found and initialized")(),ye=new globalThis.SPECTOR.Spector,globalThis.luma&&(globalThis.luma.spector=ye)),!ye))return null;if(!wu){var n,i;wu=!0,ye.spyCanvases(),(n=ye)===null||n===void 0||n.onCaptureStarted.add(function(u){return D.info("Spector capture started:",u)()}),(i=ye)===null||i===void 0||i.onCapture.add(function(u){var c,p,b;D.info("Spector capture complete:",u)(),(c=ye)===null||c===void 0||c.getResultUI(),(p=ye)===null||p===void 0||p.resultView.display(),(b=ye)===null||b===void 0||b.resultView.addCapture(u)})}if((r=e)!==null&&r!==void 0&&r.canvas){var o,a;if(typeof e.spector=="string"&&e.spector!==e.canvas.id)return ye;(o=ye)===null||o===void 0||o.startCapture((a=e)===null||a===void 0?void 0:a.canvas,500),new Promise(function(u){return setTimeout(u,2e3)}).then(function(u){var c;D.info("Spector capture stopped after 2 seconds")(),(c=ye)===null||c===void 0||c.stopCapture()})}return ye}var ke=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}(ke||{});function wt(e){return wt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},wt(e)}function Lo(){"use strict";Lo=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(l,f,s){l[f]=s.value},i=typeof Symbol=="function"?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function c(l,f,s){return Object.defineProperty(l,f,{value:s,enumerable:!0,configurable:!0,writable:!0}),l[f]}try{c({},"")}catch{c=function(s,d,y){return s[d]=y}}function p(l,f,s,d){var y=f&&f.prototype instanceof v?f:v,h=Object.create(y.prototype),m=new X(d||[]);return n(h,"_invoke",{value:V(l,s,m)}),h}function b(l,f,s){try{return{type:"normal",arg:l.call(f,s)}}catch(d){return{type:"throw",arg:d}}}e.wrap=p;var g={};function v(){}function T(){}function S(){}var O={};c(O,o,function(){return this});var N=Object.getPrototypeOf,E=N&&N(N(W([])));E&&E!==t&&r.call(E,o)&&(O=E);var w=S.prototype=v.prototype=Object.create(O);function B(l){["next","throw","return"].forEach(function(f){c(l,f,function(s){return this._invoke(f,s)})})}function I(l,f){function s(y,h,m,A){var R=b(l[y],l,h);if(R.type!=="throw"){var F=R.arg,x=F.value;return x&&wt(x)=="object"&&r.call(x,"__await")?f.resolve(x.__await).then(function(M){s("next",M,m,A)},function(M){s("throw",M,m,A)}):f.resolve(x).then(function(M){F.value=M,m(F)},function(M){return s("throw",M,m,A)})}A(R.arg)}var d;n(this,"_invoke",{value:function(h,m){function A(){return new f(function(R,F){s(h,m,R,F)})}return d=d?d.then(A,A):A()}})}function V(l,f,s){var d="suspendedStart";return function(y,h){if(d==="executing")throw new Error("Generator is already running");if(d==="completed"){if(y==="throw")throw h;return Z()}for(s.method=y,s.arg=h;;){var m=s.delegate;if(m){var A=U(m,s);if(A){if(A===g)continue;return A}}if(s.method==="next")s.sent=s._sent=s.arg;else if(s.method==="throw"){if(d==="suspendedStart")throw d="completed",s.arg;s.dispatchException(s.arg)}else s.method==="return"&&s.abrupt("return",s.arg);d="executing";var R=b(l,f,s);if(R.type==="normal"){if(d=s.done?"completed":"suspendedYield",R.arg===g)continue;return{value:R.arg,done:s.done}}R.type==="throw"&&(d="completed",s.method="throw",s.arg=R.arg)}}}function U(l,f){var s=f.method,d=l.iterator[s];if(d===void 0)return f.delegate=null,s==="throw"&&l.iterator.return&&(f.method="return",f.arg=void 0,U(l,f),f.method==="throw")||s!=="return"&&(f.method="throw",f.arg=new TypeError("The iterator does not provide a '"+s+"' method")),g;var y=b(d,l.iterator,f.arg);if(y.type==="throw")return f.method="throw",f.arg=y.arg,f.delegate=null,g;var h=y.arg;return h?h.done?(f[l.resultName]=h.value,f.next=l.nextLoc,f.method!=="return"&&(f.method="next",f.arg=void 0),f.delegate=null,g):h:(f.method="throw",f.arg=new TypeError("iterator result is not an object"),f.delegate=null,g)}function Y(l){var f={tryLoc:l[0]};1 in l&&(f.catchLoc=l[1]),2 in l&&(f.finallyLoc=l[2],f.afterLoc=l[3]),this.tryEntries.push(f)}function j(l){var f=l.completion||{};f.type="normal",delete f.arg,l.completion=f}function X(l){this.tryEntries=[{tryLoc:"root"}],l.forEach(Y,this),this.reset(!0)}function W(l){if(l){var f=l[o];if(f)return f.call(l);if(typeof l.next=="function")return l;if(!isNaN(l.length)){var s=-1,d=function y(){for(;++s<l.length;)if(r.call(l,s))return y.value=l[s],y.done=!1,y;return y.value=void 0,y.done=!0,y};return d.next=d}}return{next:Z}}function Z(){return{value:void 0,done:!0}}return T.prototype=S,n(w,"constructor",{value:S,configurable:!0}),n(S,"constructor",{value:T,configurable:!0}),T.displayName=c(S,u,"GeneratorFunction"),e.isGeneratorFunction=function(l){var f=typeof l=="function"&&l.constructor;return!!f&&(f===T||(f.displayName||f.name)==="GeneratorFunction")},e.mark=function(l){return Object.setPrototypeOf?Object.setPrototypeOf(l,S):(l.__proto__=S,c(l,u,"GeneratorFunction")),l.prototype=Object.create(w),l},e.awrap=function(l){return{__await:l}},B(I.prototype),c(I.prototype,a,function(){return this}),e.AsyncIterator=I,e.async=function(l,f,s,d,y){y===void 0&&(y=Promise);var h=new I(p(l,f,s,d),y);return e.isGeneratorFunction(f)?h:h.next().then(function(m){return m.done?m.value:h.next()})},B(w),c(w,u,"Generator"),c(w,o,function(){return this}),c(w,"toString",function(){return"[object Generator]"}),e.keys=function(l){var f=Object(l),s=[];for(var d in f)s.push(d);return s.reverse(),function y(){for(;s.length;){var h=s.pop();if(h in f)return y.value=h,y.done=!1,y}return y.done=!0,y}},e.values=W,X.prototype={constructor:X,reset:function(f){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(j),!f)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 f=this.tryEntries[0].completion;if(f.type==="throw")throw f.arg;return this.rval},dispatchException:function(f){if(this.done)throw f;var s=this;function d(F,x){return m.type="throw",m.arg=f,s.next=F,x&&(s.method="next",s.arg=void 0),!!x}for(var y=this.tryEntries.length-1;y>=0;--y){var h=this.tryEntries[y],m=h.completion;if(h.tryLoc==="root")return d("end");if(h.tryLoc<=this.prev){var A=r.call(h,"catchLoc"),R=r.call(h,"finallyLoc");if(A&&R){if(this.prev<h.catchLoc)return d(h.catchLoc,!0);if(this.prev<h.finallyLoc)return d(h.finallyLoc)}else if(A){if(this.prev<h.catchLoc)return d(h.catchLoc,!0)}else{if(!R)throw new Error("try statement without catch or finally");if(this.prev<h.finallyLoc)return d(h.finallyLoc)}}}},abrupt:function(f,s){for(var d=this.tryEntries.length-1;d>=0;--d){var y=this.tryEntries[d];if(y.tryLoc<=this.prev&&r.call(y,"finallyLoc")&&this.prev<y.finallyLoc){var h=y;break}}h&&(f==="break"||f==="continue")&&h.tryLoc<=s&&s<=h.finallyLoc&&(h=null);var m=h?h.completion:{};return m.type=f,m.arg=s,h?(this.method="next",this.next=h.finallyLoc,g):this.complete(m)},complete:function(f,s){if(f.type==="throw")throw f.arg;return f.type==="break"||f.type==="continue"?this.next=f.arg:f.type==="return"?(this.rval=this.arg=f.arg,this.method="return",this.next="end"):f.type==="normal"&&s&&(this.next=s),g},finish:function(f){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.finallyLoc===f)return this.complete(d.completion,d.afterLoc),j(d),g}},catch:function(f){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.tryLoc===f){var y=d.completion;if(y.type==="throw"){var h=y.arg;j(d)}return h}}throw new Error("illegal catch attempt")},delegateYield:function(f,s,d){return this.delegate={iterator:W(f),resultName:s,nextLoc:d},this.method==="next"&&(this.arg=void 0),g}},e}function fb(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=ub(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(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
40
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,u;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,u=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw u}}}}function ub(e,t){if(e){if(typeof e=="string")return Nu(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 Nu(e,t)}}function Nu(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 xu(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,Du(n.key),n)}}function cb(e,t,r){return t&&xu(e.prototype,t),r&&xu(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function sb(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Cu(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 Bu(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Cu(Object(r),!0).forEach(function(n){lb(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Cu(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function lb(e,t,r){return t=Du(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Du(e){var t=pb(e,"string");return wt(t)==="symbol"?t:String(t)}function pb(e,t){if(wt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(wt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Fu(e,t,r,n,i,o,a){try{var u=e[o](a),c=u.value}catch(p){r(p);return}u.done?t(c):Promise.resolve(c).then(n,i)}function db(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(c){Fu(o,n,i,a,u,"next",c)}function u(c){Fu(o,n,i,a,u,"throw",c)}a(void 0)})}}var hb="https://unpkg.com/webgl-debug@2.0.1/index.js";function Mu(e){return e.luma=e.luma||{},e.luma}function Uu(){return Ko.apply(this,arguments)}function Ko(){return Ko=db(Lo().mark(function e(){return Lo().wrap(function(r){for(;;)switch(r.prev=r.next){case 0:if(!(G()&&!globalThis.WebGLDebugUtils)){r.next=5;break}return globalThis.global=globalThis.global||globalThis,globalThis.global.module={},r.next=5,zt(hb);case 5:case"end":return r.stop()}},e)})),Ko.apply(this,arguments)}function ju(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return e?t.debug?_b(e,t):yb(e):null}function yb(e){var t=Mu(e);return t.realContext?t.realContext:e}function _b(e,t){if(!globalThis.WebGLDebugUtils)return D.warn("webgl-debug not loaded")(),e;var r=Mu(e);if(r.debugContext)return r.debugContext;globalThis.WebGLDebugUtils.init(Bu(Bu({},ke),e));var n=globalThis.WebGLDebugUtils.makeDebugContext(e,bb.bind(null,t),gb.bind(null,t));for(var i in ke)!(i in n)&&typeof ke[i]=="number"&&(n[i]=ke[i]);var o=cb(function u(){sb(this,u)});Object.setPrototypeOf(n,Object.getPrototypeOf(e)),Object.setPrototypeOf(o,n);var a=Object.create(o);return r.realContext=e,r.debugContext=a,a.debug=!0,a}function ko(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 bb(e,t,r,n){n=Array.from(n).map(function(c){return c===void 0?"undefined":c});var i=globalThis.WebGLDebugUtils.glEnumToString(t),o=globalThis.WebGLDebugUtils.glFunctionArgsToString(r,n),a=e.webgl2?"gl2":"gl1",u="".concat(i," in ").concat(a,".").concat(r,"(").concat(o,")");D.error(u)();debugger;if(e.throwOnError)throw new Error(u)}function gb(e,t,r){var n="";if(D.level>=1&&(n=ko(t,r),D.log(1,n)()),e.break&&e.break.length>0){n=n||ko(t,r);var i=e.break.every(function(c){return n.indexOf(c)!==-1});if(i)debugger}var o=fb(r),a;try{for(o.s();!(a=o.n()).done;){var u=a.value;if(u===void 0){if(n=n||ko(t,r),e.throwOnError)throw new Error("Undefined argument: ".concat(n));D.error("Undefined argument: ".concat(n))();debugger}}}catch(c){o.e(c)}finally{o.f()}}function vb(e){return Vu(e)||mb(e)||Yo(e)||Xu()}function mb(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Tb(e,t){return Vu(e)||Sb(e,t)||Yo(e,t)||Xu()}function Xu(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
41
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Sb(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function Vu(e){if(Array.isArray(e))return e}function Ab(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Yo(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(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
42
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,u;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,u=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw u}}}}function Yo(e,t){if(e){if(typeof e=="string")return Wu(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 Wu(e,t)}}function Wu(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function ku(e){var t=e.split(/\r?\n/),r=[],n=Ab(t),i;try{for(n.s();!(i=n.n()).done;){var o=i.value;if(!(o.length<=1)){var a=o.split(":");if(a.length===2){var u=Tb(a,2),c=u[0],p=u[1];r.push({message:p.trim(),type:Hu(c),lineNum:0,linePos:0});continue}var b=vb(a),g=b[0],v=b[1],T=b[2],S=b.slice(3),O=parseInt(T,10);isNaN(O)&&(O=0);var N=parseInt(v,10);isNaN(N)&&(N=0),r.push({message:S.join(":").trim(),type:Hu(g),lineNum:O,linePos:N})}}}catch(E){n.e(E)}finally{n.f()}return r}function Hu(e){var t=["warning","error","info"],r=e.toLowerCase();return t.includes(r)?r:"info"}function Le(e){return Le=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},Le(e)}function zo(){"use strict";zo=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(l,f,s){l[f]=s.value},i=typeof Symbol=="function"?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function c(l,f,s){return Object.defineProperty(l,f,{value:s,enumerable:!0,configurable:!0,writable:!0}),l[f]}try{c({},"")}catch{c=function(s,d,y){return s[d]=y}}function p(l,f,s,d){var y=f&&f.prototype instanceof v?f:v,h=Object.create(y.prototype),m=new X(d||[]);return n(h,"_invoke",{value:V(l,s,m)}),h}function b(l,f,s){try{return{type:"normal",arg:l.call(f,s)}}catch(d){return{type:"throw",arg:d}}}e.wrap=p;var g={};function v(){}function T(){}function S(){}var O={};c(O,o,function(){return this});var N=Object.getPrototypeOf,E=N&&N(N(W([])));E&&E!==t&&r.call(E,o)&&(O=E);var w=S.prototype=v.prototype=Object.create(O);function B(l){["next","throw","return"].forEach(function(f){c(l,f,function(s){return this._invoke(f,s)})})}function I(l,f){function s(y,h,m,A){var R=b(l[y],l,h);if(R.type!=="throw"){var F=R.arg,x=F.value;return x&&Le(x)=="object"&&r.call(x,"__await")?f.resolve(x.__await).then(function(M){s("next",M,m,A)},function(M){s("throw",M,m,A)}):f.resolve(x).then(function(M){F.value=M,m(F)},function(M){return s("throw",M,m,A)})}A(R.arg)}var d;n(this,"_invoke",{value:function(h,m){function A(){return new f(function(R,F){s(h,m,R,F)})}return d=d?d.then(A,A):A()}})}function V(l,f,s){var d="suspendedStart";return function(y,h){if(d==="executing")throw new Error("Generator is already running");if(d==="completed"){if(y==="throw")throw h;return Z()}for(s.method=y,s.arg=h;;){var m=s.delegate;if(m){var A=U(m,s);if(A){if(A===g)continue;return A}}if(s.method==="next")s.sent=s._sent=s.arg;else if(s.method==="throw"){if(d==="suspendedStart")throw d="completed",s.arg;s.dispatchException(s.arg)}else s.method==="return"&&s.abrupt("return",s.arg);d="executing";var R=b(l,f,s);if(R.type==="normal"){if(d=s.done?"completed":"suspendedYield",R.arg===g)continue;return{value:R.arg,done:s.done}}R.type==="throw"&&(d="completed",s.method="throw",s.arg=R.arg)}}}function U(l,f){var s=f.method,d=l.iterator[s];if(d===void 0)return f.delegate=null,s==="throw"&&l.iterator.return&&(f.method="return",f.arg=void 0,U(l,f),f.method==="throw")||s!=="return"&&(f.method="throw",f.arg=new TypeError("The iterator does not provide a '"+s+"' method")),g;var y=b(d,l.iterator,f.arg);if(y.type==="throw")return f.method="throw",f.arg=y.arg,f.delegate=null,g;var h=y.arg;return h?h.done?(f[l.resultName]=h.value,f.next=l.nextLoc,f.method!=="return"&&(f.method="next",f.arg=void 0),f.delegate=null,g):h:(f.method="throw",f.arg=new TypeError("iterator result is not an object"),f.delegate=null,g)}function Y(l){var f={tryLoc:l[0]};1 in l&&(f.catchLoc=l[1]),2 in l&&(f.finallyLoc=l[2],f.afterLoc=l[3]),this.tryEntries.push(f)}function j(l){var f=l.completion||{};f.type="normal",delete f.arg,l.completion=f}function X(l){this.tryEntries=[{tryLoc:"root"}],l.forEach(Y,this),this.reset(!0)}function W(l){if(l){var f=l[o];if(f)return f.call(l);if(typeof l.next=="function")return l;if(!isNaN(l.length)){var s=-1,d=function y(){for(;++s<l.length;)if(r.call(l,s))return y.value=l[s],y.done=!1,y;return y.value=void 0,y.done=!0,y};return d.next=d}}return{next:Z}}function Z(){return{value:void 0,done:!0}}return T.prototype=S,n(w,"constructor",{value:S,configurable:!0}),n(S,"constructor",{value:T,configurable:!0}),T.displayName=c(S,u,"GeneratorFunction"),e.isGeneratorFunction=function(l){var f=typeof l=="function"&&l.constructor;return!!f&&(f===T||(f.displayName||f.name)==="GeneratorFunction")},e.mark=function(l){return Object.setPrototypeOf?Object.setPrototypeOf(l,S):(l.__proto__=S,c(l,u,"GeneratorFunction")),l.prototype=Object.create(w),l},e.awrap=function(l){return{__await:l}},B(I.prototype),c(I.prototype,a,function(){return this}),e.AsyncIterator=I,e.async=function(l,f,s,d,y){y===void 0&&(y=Promise);var h=new I(p(l,f,s,d),y);return e.isGeneratorFunction(f)?h:h.next().then(function(m){return m.done?m.value:h.next()})},B(w),c(w,u,"Generator"),c(w,o,function(){return this}),c(w,"toString",function(){return"[object Generator]"}),e.keys=function(l){var f=Object(l),s=[];for(var d in f)s.push(d);return s.reverse(),function y(){for(;s.length;){var h=s.pop();if(h in f)return y.value=h,y.done=!1,y}return y.done=!0,y}},e.values=W,X.prototype={constructor:X,reset:function(f){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(j),!f)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 f=this.tryEntries[0].completion;if(f.type==="throw")throw f.arg;return this.rval},dispatchException:function(f){if(this.done)throw f;var s=this;function d(F,x){return m.type="throw",m.arg=f,s.next=F,x&&(s.method="next",s.arg=void 0),!!x}for(var y=this.tryEntries.length-1;y>=0;--y){var h=this.tryEntries[y],m=h.completion;if(h.tryLoc==="root")return d("end");if(h.tryLoc<=this.prev){var A=r.call(h,"catchLoc"),R=r.call(h,"finallyLoc");if(A&&R){if(this.prev<h.catchLoc)return d(h.catchLoc,!0);if(this.prev<h.finallyLoc)return d(h.finallyLoc)}else if(A){if(this.prev<h.catchLoc)return d(h.catchLoc,!0)}else{if(!R)throw new Error("try statement without catch or finally");if(this.prev<h.finallyLoc)return d(h.finallyLoc)}}}},abrupt:function(f,s){for(var d=this.tryEntries.length-1;d>=0;--d){var y=this.tryEntries[d];if(y.tryLoc<=this.prev&&r.call(y,"finallyLoc")&&this.prev<y.finallyLoc){var h=y;break}}h&&(f==="break"||f==="continue")&&h.tryLoc<=s&&s<=h.finallyLoc&&(h=null);var m=h?h.completion:{};return m.type=f,m.arg=s,h?(this.method="next",this.next=h.finallyLoc,g):this.complete(m)},complete:function(f,s){if(f.type==="throw")throw f.arg;return f.type==="break"||f.type==="continue"?this.next=f.arg:f.type==="return"?(this.rval=this.arg=f.arg,this.method="return",this.next="end"):f.type==="normal"&&s&&(this.next=s),g},finish:function(f){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.finallyLoc===f)return this.complete(d.completion,d.afterLoc),j(d),g}},catch:function(f){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.tryLoc===f){var y=d.completion;if(y.type==="throw"){var h=y.arg;j(d)}return h}}throw new Error("illegal catch attempt")},delegateYield:function(f,s,d){return this.delegate={iterator:W(f),resultName:s,nextLoc:d},this.method==="next"&&(this.arg=void 0),g}},e}function Lu(e,t,r,n,i,o,a){try{var u=e[o](a),c=u.value}catch(p){r(p);return}u.done?t(c):Promise.resolve(c).then(n,i)}function Rb(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(c){Lu(o,n,i,a,u,"next",c)}function u(c){Lu(o,n,i,a,u,"throw",c)}a(void 0)})}}function Ku(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,Eb(n.key),n)}}function Ob(e,t,r){return t&&Ku(e.prototype,t),r&&Ku(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Eb(e){var t=wb(e,"string");return Le(t)==="symbol"?t:String(t)}function wb(e,t){if(Le(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Le(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Pb(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ib(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&&$o(e,t)}function $o(e,t){return $o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},$o(e,t)}function Nb(e){var t=Bb();return function(){var n=Rn(e),i;if(t){var o=Rn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return xb(this,i)}}function xb(e,t){if(t&&(Le(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Cb(e)}function Cb(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Bb(){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 Rn(e){return Rn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Rn(e)}var On=function(e){Ib(r,e);var t=Nb(r);function r(i,o){var a;switch(Pb(this,r),a=t.call(this,i,o),a.device=void 0,a.handle=void 0,a.device=i,a.props.stage){case"vertex":a.handle=a.props.handle||a.device.gl.createShader(35633);break;case"fragment":a.handle=a.props.handle||a.device.gl.createShader(35632);break;default:throw new Error(a.props.stage)}return a._compile(a.source),a}var n=r.prototype;return n.destroy=function(){this.handle&&(this.removeStats(),this.device.gl.deleteShader(this.handle),this.destroyed=!0)},n.getCompilationInfo=function(){var i=Rb(zo().mark(function a(){return zo().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:return c.abrupt("return",this.getCompilationInfoSync());case 1:case"end":return c.stop()}},a,this)}));function o(){return i.apply(this,arguments)}return o}(),n.getCompilationInfoSync=function(){var o=this.device.gl.getShaderInfoLog(this.handle);return ku(o)},n._compile=function(o){var a=function(p){return p.startsWith("#version ")?p:`#version 100
|
|
43
|
-
`.concat(p)};o=a(o);var u=this.device.gl;if(u.shaderSource(this.handle,o),u.compileShader(this.handle),this.compilationStatus=u.getShaderParameter(this.handle,35713)?"success":"error",this.debugShader(),this.compilationStatus==="error")throw new Error("GLSL compilation errors in ".concat(this.props.stage," shader ").concat(this.props.id))},Ob(r)}(Mr);function Pt(e){return Pt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Pt(e)}function 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 Fb(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){Db(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 Db(e,t,r){return t=$u(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function zu(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,$u(n.key),n)}}function Mb(e,t,r){return t&&zu(e.prototype,t),r&&zu(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function $u(e){var t=Ub(e,"string");return Pt(t)==="symbol"?t:String(t)}function Ub(e,t){if(Pt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Pt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function jb(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Wb(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&&Qo(e,t)}function Qo(e,t){return Qo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Qo(e,t)}function Hb(e){var t=kb();return function(){var n=En(e),i;if(t){var o=En(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Xb(this,i)}}function Xb(e,t){if(t&&(Pt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Vb(e)}function Vb(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function kb(){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 En(e){return En=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},En(e)}var Lb=256,Kb=1024,Yb=16384,Zo=6144,wn=function(e){Wb(r,e);var t=Hb(r);function r(i,o){var a;return jb(this,r),a=t.call(this,i,o),a.device=void 0,a.glParameters=void 0,a.device=i,Se(a.device.gl),a.setParameters(a.props.parameters),a.clear(),a}var n=r.prototype;return n.end=function(){ve(this.device.gl),this.props.framebuffer&&le(this.device,{framebuffer:null})},n.pushDebugGroup=function(o){},n.popDebugGroup=function(){},n.insertDebugMarker=function(o){},n.setParameters=function(){var o=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[35977]=this.props.discard,o.viewport&&(o.viewport.length>=6?(a.viewport=o.viewport.slice(0,4),a.depthRange=[o.viewport[4],o.viewport[5]]):a.viewport=o.viewport),a.scissorTest=Boolean(o.scissorRect),o.scissorRect&&(a.scissor=o.scissorRect),o.blendConstant&&(a.blendColor=o.blendConstant),o.stencilReference&&(console.warn("RenderPassParameters.stencilReference not yet implemented in WebGL"),o[2967]=o.stencilReference),this.glParameters=a,le(this.device,a)},n.clear=function(){var o=this,a=Fb({},this.glParameters),u=0;this.props.clearColor!==!1&&(u|=Yb,a.clearColor=this.props.clearColor),this.props.clearDepth!==!1&&(u|=Lb,a.clearDepth=this.props.clearDepth),this.props.clearStencil!==!1&&(u|=Kb,a.clearStencil=this.props.clearStencil),u!==0&&de(this.device,a,function(){o.device.gl.clear(u)})},n.clearColorBuffer=function(){var o=this,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0,0,0,0];de(this.device.gl2,{framebuffer:this.props.framebuffer},function(){switch(u.constructor){case Int32Array:o.device.gl2.clearBufferiv(Zo,a,u);break;case Uint32Array:o.device.gl2.clearBufferuiv(Zo,a,u);break;case Float32Array:default:o.device.gl2.clearBufferfv(Zo,a,u);break}})},Mb(r)}(kr);var zb="Failed to deduce GL constant from typed array";function Zu(e){var t=ArrayBuffer.isView(e)?e.constructor:e;switch(t){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:return 5121;case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error(zb)}}function _r(e,t){var r=t||{},n=r.clamped,i=n===void 0?!0:n;switch(e){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return i?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function br(e){return br=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},br(e)}function Pn(e,t,r){return $b()?Pn=Reflect.construct.bind():Pn=function(i,o,a){var u=[null];u.push.apply(u,o);var c=Function.bind.apply(i,u),p=new c;return a&&qo(p,a.prototype),p},Pn.apply(null,arguments)}function $b(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function qo(e,t){return qo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},qo(e,t)}function Zb(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Qu(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,qb(n.key),n)}}function Qb(e,t,r){return t&&Qu(e.prototype,t),r&&Qu(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function qb(e){var t=Jb(e,"string");return br(t)==="symbol"?t:String(t)}function Jb(e,t){if(br(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(br(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Gb={offset:0,stride:0,type:5126,size:1,divisor:0,normalized:!1,integer:!1},eg={deprecatedProps:{instanced:"divisor",isInstanced:"divisor"}},In=function(){e.getBytesPerElement=function(n){var i=_r(n.type||5126);return i.BYTES_PER_ELEMENT},e.getBytesPerVertex=function(n){H(n.size);var i=_r(n.type||5126);return i.BYTES_PER_ELEMENT*n.size},e.resolve=function(){for(var n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];return Pn(e,[Gb].concat(i))};function e(){var r=this;Zb(this,e),this.offset=void 0,this.stride=void 0,this.type=void 0,this.size=void 0,this.divisor=void 0,this.normalized=void 0,this.integer=void 0,this.buffer=void 0,this.index=void 0;for(var n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];i.forEach(function(a){return r._assign(a)}),Object.freeze(this)}var t=e.prototype;return t.toString=function(){return JSON.stringify(this)},t._assign=function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return n=ho("Accessor",n,eg),n.type!==void 0&&(this.type=n.type,(n.type===5124||n.type===5125)&&(this.integer=!0)),n.size!==void 0&&(this.size=n.size),n.offset!==void 0&&(this.offset=n.offset),n.stride!==void 0&&(this.stride=n.stride),n.normalize!==void 0&&(this.normalized=n.normalize),n.normalized!==void 0&&(this.normalized=n.normalized),n.integer!==void 0&&(this.integer=n.integer),n.divisor!==void 0&&(this.divisor=n.divisor),n.buffer!==void 0&&(this.buffer=n.buffer),n.index!==void 0&&(typeof n.index=="boolean"?this.index=n.index?1:0:this.index=n.index),n.instanced!==void 0&&(this.divisor=n.instanced?1:0),n.isInstanced!==void 0&&(this.divisor=n.isInstanced?1:0),this.offset===void 0&&delete this.offset,this.stride===void 0&&delete this.stride,this.type===void 0&&delete this.type,this.size===void 0&&delete this.size,this.divisor===void 0&&delete this.divisor,this.normalized===void 0&&delete this.normalized,this.integer===void 0&&delete this.integer,this.buffer===void 0&&delete this.buffer,this.index===void 0&&delete this.index,this},Qb(e,[{key:"BYTES_PER_ELEMENT",get:function(){return e.getBytesPerElement(this)}},{key:"BYTES_PER_VERTEX",get:function(){return e.getBytesPerVertex(this)}}]),e}();var q;function gr(e){return gr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gr(e)}function Ju(e,t){return og(e)||ng(e,t)||rg(e,t)||tg()}function tg(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
44
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function rg(e,t){if(e){if(typeof e=="string")return qu(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 qu(e,t)}}function qu(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function ng(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function og(e){if(Array.isArray(e))return e}function ee(e,t,r){return t=ig(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ig(e){var t=ag(e,"string");return gr(t)==="symbol"?t:String(t)}function ag(e,t){if(gr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(gr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Gu(e){return fg.includes(e)}var fg=[35678,35680,35679,35682,36289,36292,36293,36298,36299,36300,36303,36306,36307,36308,36311],ec=(q={},ee(q,5126,[5126,1,"float","f32","float32"]),ee(q,35664,[5126,2,"vec2","vec2<f32>","float32x2"]),ee(q,35665,[5126,3,"vec3","vec3<f32>","float32x3"]),ee(q,35666,[5126,4,"vec4","vec4<f32>","float32x4"]),ee(q,5124,[5124,1,"int","i32","sint32"]),ee(q,35667,[5124,2,"ivec2","vec2<i32>","sint32x2"]),ee(q,35668,[5124,3,"ivec3","vec3<i32>","sint32x3"]),ee(q,35669,[5124,4,"ivec4","vec4<i32>","sint32x4"]),ee(q,5125,[5125,1,"uint","u32","uint32"]),ee(q,36294,[5125,2,"uvec2","vec2<u32>","uint32x2"]),ee(q,36295,[5125,3,"uvec3","vec3<u32>","uint32x3"]),ee(q,36296,[5125,4,"uvec4","vec4<u32>","uint32x4"]),ee(q,35670,[5126,1,"bool","f32","float32"]),ee(q,35671,[5126,2,"bvec2","vec2<f32>","float32x2"]),ee(q,35672,[5126,3,"bvec3","vec3<f32>","float32x3"]),ee(q,35673,[5126,4,"bvec4","vec4<f32>","float32x4"]),ee(q,35674,[5126,8,"mat2","mat2x2<f32>"]),ee(q,35685,[5126,8,"mat2x3","mat2x3<f32>"]),ee(q,35686,[5126,8,"mat2x4","mat2x4<f32>"]),ee(q,35687,[5126,12,"mat3x2","mat3x2<f32>"]),ee(q,35675,[5126,12,"mat3","mat3x3<f32>"]),ee(q,35688,[5126,12,"mat3x4","mat3x4<f32>"]),ee(q,35689,[5126,16,"mat4x2","mat4x2<f32>"]),ee(q,35690,[5126,16,"mat4x3","mat4x3<f32>"]),ee(q,35676,[5126,16,"mat4","mat4x4<f32>"]),q);function Jo(e){var t=ec[e];if(!t)throw new Error("uniform");var r=Ju(t,4),n=r[0],i=r[1],o=r[3];return{format:o,components:i,glType:n}}function tc(e){var t=ec[e];if(!t)throw new Error("attribute");var r=Ju(t,5),n=r[1],i=r[3],o=r[4],a=i;return{attributeType:a,vertexFormat:o,components:n}}var ie;function vr(e){return vr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},vr(e)}function ug(e,t){return pg(e)||lg(e,t)||sg(e,t)||cg()}function cg(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
45
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function sg(e,t){if(e){if(typeof e=="string")return rc(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 rc(e,t)}}function rc(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 lg(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function pg(e){if(Array.isArray(e))return e}function nc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function oc(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?nc(Object(r),!0).forEach(function(n){fe(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):nc(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function fe(e,t,r){return t=dg(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function dg(e){var t=hg(e,"string");return vr(t)==="symbol"?t:String(t)}function hg(e,t){if(vr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(vr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Nn(e,t){var r={attributes:[],bindings:[]};r.attributes=yg(e,t);for(var n=gg(e,t),i=0,o=n;i<o.length;i++){var a=o[i],u=a.uniforms.map(function(E){return{name:E.name,format:E.format,byteOffset:E.byteOffset,byteStride:E.byteStride,arrayLength:E.arrayLength}});r.bindings.push({type:"uniform",name:a.name,location:a.location,visibility:(a.vertex?1:0)&(a.fragment?2:0),minBindingSize:a.byteLength,uniforms:u})}for(var c=bg(e,t),p=0,b=0,g=c;b<g.length;b++){var v=g[b];if(Gu(v.type)){var T=mg(v.type),S=T.viewDimension,O=T.sampleType;r.bindings.push({type:"texture",name:v.name,location:p,viewDimension:S,sampleType:O}),v.textureUnit=p,p+=1}}c.length&&(r.uniforms=c);var N=_g(e,t);return N!=null&&N.length&&(r.varyings=N),r}function yg(e,t){for(var r=[],n=e.getProgramParameter(t,35721),i=0;i<n;i++){var o=e.getActiveAttrib(t,i);if(!o)throw new Error("activeInfo");var a=o.name,u=o.type,c=e.getAttribLocation(t,a);if(c>=0){var p=tc(u),b=p.attributeType,g=/instance/i.test(a)?"instance":"vertex";r.push({name:a,location:c,stepMode:g,type:b})}}return r.sort(function(v,T){return v.location-T.location}),r}function _g(e,t){if(!L(e))return[];for(var r=e,n=[],i=e.getProgramParameter(t,35971),o=0;o<i;o++){var a=r.getTransformFeedbackVarying(t,o);if(!a)throw new Error("activeInfo");var u=a.name,c=a.type,p=a.size,b=Jo(c),g=b.glType,v=b.components,T=new In({type:g,size:p*v}),S={location:o,name:u,accessor:T};n.push(S)}return n.sort(function(O,N){return O.location-N.location}),n}function bg(e,t){for(var r=[],n=e.getProgramParameter(t,35718),i=0;i<n;i++){var o=e.getActiveUniform(t,i);if(!o)throw new Error("activeInfo");var a=o.name,u=o.size,c=o.type,p=Tg(a),b=p.name,g=p.isArray,v=e.getUniformLocation(t,b),T={location:v,name:b,size:u,type:c,isArray:g};if(r.push(T),T.size>1)for(var S=0;S<T.size;S++){var O="".concat(b,"[").concat(S,"]");v=e.getUniformLocation(t,O);var N=oc(oc({},T),{},{name:O,location:v});r.push(N)}}return r}function gg(e,t){if(!L(e))return[];for(var r=e,n=function(N,E){return r.getActiveUniformBlockParameter(t,N,E)},i=[],o=r.getProgramParameter(t,35382),a=0;a<o;a++){for(var u={name:r.getActiveUniformBlockName(t,a)||"",location:n(a,35391),byteLength:n(a,35392),vertex:n(a,35396),fragment:n(a,35398),uniformCount:n(a,35394),uniforms:[]},c=n(a,35395)||[],p=r.getActiveUniforms(t,c,35383),b=r.getActiveUniforms(t,c,35384),g=r.getActiveUniforms(t,c,35387),v=r.getActiveUniforms(t,c,35388),T=0;T<u.uniformCount;++T){var S=r.getActiveUniform(t,c[T]);if(!S)throw new Error("activeInfo");u.uniforms.push({name:S.name,format:Jo(p[T]).format,type:p[T],arrayLength:b[T],byteOffset:g[T],byteStride:v[T]})}i.push(u)}return i.sort(function(O,N){return O.location-N.location}),i}var vg=(ie={},fe(ie,35678,["2d","float"]),fe(ie,35680,["cube","float"]),fe(ie,35679,["3d","float"]),fe(ie,35682,["3d","depth"]),fe(ie,36289,["2d-array","float"]),fe(ie,36292,["2d-array","depth"]),fe(ie,36293,["cube","float"]),fe(ie,36298,["2d","sint"]),fe(ie,36299,["3d","sint"]),fe(ie,36300,["cube","sint"]),fe(ie,36303,["2d-array","uint"]),fe(ie,36306,["2d","uint"]),fe(ie,36307,["3d","uint"]),fe(ie,36308,["cube","uint"]),fe(ie,36311,["2d-array","uint"]),ie);function mg(e){var t=vg[e];if(!t)throw new Error("sampler");var r=ug(t,2),n=r[0],i=r[1];return{viewDimension:n,sampleType:i}}function Tg(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 ic(e,t,r,n){var i=e,o=n;o===!0&&(o=1),o===!1&&(o=0);var a=typeof o=="number"?[o]:o;switch(r){case 35678:case 35680:case 35679:case 35682:case 36289:case 36292:case 36293:case 36298:case 36299:case 36300:case 36303:case 36306:case 36307:case 36308:case 36311:if(typeof n!="number")throw new Error("samplers must be set to integers");return e.uniform1i(t,n);case 5126:return e.uniform1fv(t,a);case 35664:return e.uniform2fv(t,a);case 35665:return e.uniform3fv(t,a);case 35666:return e.uniform4fv(t,a);case 5124:return e.uniform1iv(t,a);case 35667:return e.uniform2iv(t,a);case 35668:return e.uniform3iv(t,a);case 35669:return e.uniform4iv(t,a);case 35670:return e.uniform1iv(t,a);case 35671:return e.uniform2iv(t,a);case 35672:return e.uniform3iv(t,a);case 35673:return e.uniform4iv(t,a);case 5125:return i.uniform1uiv(t,a,1);case 36294:return i.uniform2uiv(t,a,2);case 36295:return i.uniform3uiv(t,a,3);case 36296:return i.uniform4uiv(t,a,4);case 35674:return e.uniformMatrix2fv(t,!1,a);case 35675:return e.uniformMatrix3fv(t,!1,a);case 35676:return e.uniformMatrix4fv(t,!1,a);case 35685:return i.uniformMatrix2x3fv(t,!1,a);case 35686:return i.uniformMatrix2x4fv(t,!1,a);case 35687:return i.uniformMatrix3x2fv(t,!1,a);case 35688:return i.uniformMatrix3x4fv(t,!1,a);case 35689:return i.uniformMatrix4x2fv(t,!1,a);case 35690:return i.uniformMatrix4x3fv(t,!1,a)}throw new Error("Illegal uniform")}function ac(e){switch(e){case"point-list":return 0;case"line-list":return 1;case"line-strip":return 3;case"line-loop-webgl":return 2;case"triangle-list":return 4;case"triangle-strip":return 5;case"triangle-fan-webgl":return 6;default:throw new Error(e)}}function fc(e){switch(e){case"point-list":return 0;case"line-list":return 1;case"line-strip":return 1;case"line-loop-webgl":return 1;case"triangle-list":return 4;case"triangle-strip":return 4;case"triangle-fan-webgl":return 4;default:throw new Error(e)}}function It(e){return It=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},It(e)}function uc(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=dc(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(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
46
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,u;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,u=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw u}}}}function cc(e,t){return Rg(e)||Ag(e,t)||dc(e,t)||Sg()}function Sg(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
47
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function dc(e,t){if(e){if(typeof e=="string")return sc(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 sc(e,t)}}function sc(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 Ag(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function Rg(e){if(Array.isArray(e))return e}function lc(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,Eg(n.key),n)}}function Og(e,t,r){return t&&lc(e.prototype,t),r&&lc(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Eg(e){var t=wg(e,"string");return It(t)==="symbol"?t:String(t)}function wg(e,t){if(It(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(It(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Pg(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ig(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&&Go(e,t)}function Go(e,t){return Go=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Go(e,t)}function Ng(e){var t=Bg();return function(){var n=xn(e),i;if(t){var o=xn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return xg(this,i)}}function xg(e,t){if(t&&(It(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Cg(e)}function Cg(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Bg(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function xn(e){return xn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},xn(e)}var pc=4,Cn=function(e){Ig(r,e);var t=Ng(r);function r(i,o){var a;Pg(this,r),a=t.call(this,i,o),a.device=void 0,a.handle=void 0,a.vs=void 0,a.fs=void 0,a.introspectedLayout=void 0,a.uniforms={},a.bindings={},a.varyings=null,a._uniformCount=0,a._uniformSetters={},a.device=i,a.handle=a.props.handle||a.device.gl.createProgram(),a.device.setSpectorMetadata(a.handle,{id:a.props.id}),a.vs=o.vs,a.fs=o.fs;var u=o.varyings,c=o.bufferMode,p=c===void 0?35981:c;if(u&&u.length>0){var b;a.device.assertWebGL2(),a.varyings=u,(b=a.device.gl2)===null||b===void 0||b.transformFeedbackVaryings(a.handle,u,p)}switch(a._compileAndLink(),a.introspectedLayout=Nn(a.device.gl,a.handle),a.shaderLayout=ao(a.introspectedLayout,o.shaderLayout),a.props.topology){case"triangle-fan-webgl":case"line-loop-webgl":D.warn("Primitive topology ".concat(a.props.topology," is deprecated and will be removed in v9.1"));break;default:}return a}var n=r.prototype;return n.destroy=function(){this.handle&&(this.device.gl.deleteProgram(this.handle),this.destroyed=!0)},n.setBindings=function(o){for(var a=this,u=function(){var v=cc(p[c],2),T=v[0],S=v[1],O=a.shaderLayout.bindings.find(function(E){return E.name===T})||a.shaderLayout.bindings.find(function(E){return E.name==="".concat(T,"Uniforms")});if(!O){var N=a.shaderLayout.bindings.map(function(E){return'"'.concat(E.name,'"')}).join(", ");return D.warn('Unknown binding "'.concat(T,'" in render pipeline "').concat(a.id,'", expected one of ').concat(N))(),"continue"}switch(S||D.warn('Unsetting binding "'.concat(T,'" in render pipeline "').concat(a.id,'"'))(),O.type){case"uniform":if(!(S instanceof he)&&!(S.buffer instanceof he))throw new Error("buffer value");break;case"texture":if(!(S instanceof se||S instanceof Pe))throw new Error("texture value");break;case"sampler":D.warn("Ignoring sampler ".concat(T))();break;default:throw new Error(O.type)}a.bindings[T]=S},c=0,p=Object.entries(o);c<p.length;c++)var b=u()},n.setUniforms=function(o){var a=lo(o),u=a.bindings;Object.keys(u).forEach(function(c){D.warn('Unsupported value "'.concat(JSON.stringify(u[c]),'" used in setUniforms() for key ').concat(c,". Use setBindings() instead?"))()}),Object.assign(this.uniforms,o)},n.draw=function(o){var a,u=this,c=o.renderPass,p=o.vertexArray,b=o.vertexCount,g=o.instanceCount,v=o.firstVertex,T=v===void 0?0:v,S=o.transformFeedback,O=ac(this.props.topology),N=Boolean(p.indexBuffer),E=(a=p.indexBuffer)===null||a===void 0?void 0:a.glIndexType,w=Number(g)>0;if(!this._areTexturesRenderable()||b===0)return!1;this.device.gl.useProgram(this.handle),p.bindBeforeRender(c),S&&S.begin(this.props.topology),this._applyBindings(),this._applyUniforms();var B=c;return zf(this.device,this.props.parameters,B.glParameters,function(){if(N&&w){var I;(I=u.device.gl2)===null||I===void 0||I.drawElementsInstanced(O,b||0,E,T,g||0)}else if(N)u.device.gl.drawElements(O,b||0,E,T);else if(w){var V;(V=u.device.gl2)===null||V===void 0||V.drawArraysInstanced(O,T,b||0,g||0)}else u.device.gl.drawArrays(O,T,b||0);S&&S.end()}),p.unbindAfterRender(c),!0},n._compileAndLink=function(){var o=this.device.gl;o.attachShader(this.handle,this.vs.handle),o.attachShader(this.handle,this.fs.handle),D.time(pc,"linkProgram for ".concat(this.id))(),o.linkProgram(this.handle),D.timeEnd(pc,"linkProgram for ".concat(this.id))(),!o.debug&&D.level;var a=o.getProgramParameter(this.handle,35714);if(!a)throw new Error("Error linking: ".concat(o.getProgramInfoLog(this.handle)));o.validateProgram(this.handle);var u=o.getProgramParameter(this.handle,35715);if(!u)throw new Error("Error validating: ".concat(o.getProgramInfoLog(this.handle)))},n._areTexturesRenderable=function(){for(var o=!0,a=0,u=Object.entries(this.bindings);a<u.length;a++){var c=cc(u[a],2),p=c[1];p instanceof se&&(p.update(),o=o&&p.loaded)}return o},n._applyBindings=function(){this.device.gl.useProgram(this.handle);var o=this.device.gl2;if(!o)throw new Error("bindings");var a=0,u=0,c=uc(this.shaderLayout.bindings),p;try{for(c.s();!(p=c.n()).done;){var b=p.value,g=this.bindings[b.name]||this.bindings[b.name.replace(/Uniforms$/,"")];if(!g)throw new Error("No value for binding ".concat(b.name," in ").concat(this.id));switch(b.type){case"uniform":var v=b.name,T=o.getUniformBlockIndex(this.handle,v);if(T===4294967295)throw new Error("Invalid uniform block name ".concat(v));o.uniformBlockBinding(this.handle,u,T),g instanceof he?o.bindBufferBase(35345,u,g.handle):o.bindBufferRange(35345,u,g.buffer.handle,g.offset||0,g.size||g.buffer.byteLength-g.offset),u+=1;break;case"texture":if(!(g instanceof se||g instanceof Pe))throw new Error("texture");var S=void 0;if(g instanceof se)S=g;else if(g instanceof Pe&&g.colorAttachments[0]instanceof se)D.warn("Passing framebuffer in texture binding may be deprecated. Use fbo.colorAttachments[0] instead")(),S=g.colorAttachments[0];else throw new Error("No texture");o.activeTexture(33984+a),o.bindTexture(S.target,S.handle),a+=1;break;case"sampler":break;case"storage":case"read-only-storage":throw new Error("binding type '".concat(b.type,"' not supported in WebGL"))}}}catch(O){c.e(O)}finally{c.f()}},n._applyUniforms=function(){var o=uc(this.shaderLayout.uniforms||[]),a;try{for(o.s();!(a=o.n()).done;){var u,c=a.value,p=c.name,b=c.location,g=c.type,v=c.textureUnit,T=(u=this.uniforms[p])!==null&&u!==void 0?u:v;T!==void 0&&ic(this.device.gl,b,g,T)}}catch(S){o.e(S)}finally{o.f()}},Og(r)}(Xr);function Nt(e){return Nt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Nt(e)}function Fg(e,t){return Ug(e)||Mg(e,t)||_c(e,t)||Dg()}function Dg(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
48
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Mg(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,a,u=[],c=!0,p=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(b){p=!0,i=b}finally{try{if(!c&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(p)throw i}}return u}}function Ug(e){if(Array.isArray(e))return e}function jg(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=_c(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(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
49
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,u;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,u=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw u}}}}function _c(e,t){if(e){if(typeof e=="string")return hc(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 hc(e,t)}}function hc(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 yc(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,Hg(n.key),n)}}function Wg(e,t,r){return t&&yc(e.prototype,t),r&&yc(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Hg(e){var t=Xg(e,"string");return Nt(t)==="symbol"?t:String(t)}function Xg(e,t){if(Nt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Nt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Vg(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function kg(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ei(e,t)}function ei(e,t){return ei=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},ei(e,t)}function Lg(e){var t=zg();return function(){var n=Bn(e),i;if(t){var o=Bn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Kg(this,i)}}function Kg(e,t){if(t&&(Nt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Yg(e)}function Yg(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function zg(){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 Bn(e){return Bn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Bn(e)}var bc=function(e){kg(r,e);var t=Lg(r);function r(i){var o;return Vg(this,r),o=t.call(this,i,{}),o.device=void 0,o.commands=[],o.device=i,o}var n=r.prototype;return n.submitCommands=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.commands,a=jg(o),u;try{for(a.s();!(u=a.n()).done;){var c=u.value;switch(c.name){case"copy-buffer-to-buffer":$g(this.device,c.options);break;case"copy-buffer-to-texture":Zg(this.device,c.options);break;case"copy-texture-to-buffer":Qg(this.device,c.options);break;case"copy-texture-to-texture":qg(this.device,c.options);break}}}catch(p){a.e(p)}finally{a.f()}},Wg(r)}(zr);function $g(e,t){var r=t.source,n=t.destination,i=e.assertWebGL2();if(i){var o,a;i.bindBuffer(36662,r.handle),i.bindBuffer(36663,n.handle),i.copyBufferSubData(36662,36663,(o=t.sourceOffset)!==null&&o!==void 0?o:0,(a=t.destinationOffset)!==null&&a!==void 0?a:0,t.size),i.bindBuffer(36662,null),i.bindBuffer(36663,null)}else throw new Error("copyBufferToBuffer not implemented in WebGL1")}function Zg(e,t){throw new Error("Not implemented")}function Qg(e,t){var r=t.source,n=t.mipLevel,i=n===void 0?0:n,o=t.aspect,a=o===void 0?"all":o,u=t.width,c=u===void 0?t.source.width:u,p=t.height,b=p===void 0?t.source.height:p,g=t.depthOrArrayLayers,v=g===void 0?0:g,T=t.origin,S=T===void 0?[0,0]:T,O=t.destination,N=t.byteOffset,E=N===void 0?0:N,w=t.bytesPerRow,B=t.rowsPerImage;if(a!=="all")throw new Error("not supported");if(i!==0||v!==0||w||B)throw new Error("not implemented");var I=e.assertWebGL2(),V=gc(r),U=V.framebuffer,Y=V.destroyFramebuffer;try{var j=O,X=c||U.width,W=b||U.height,Z=bt(U.texture.format,!0),l=Z.dataFormat,f=Z.type;I.bindBuffer(35051,j.handle),I.bindFramebuffer(36160,U.handle),I.readPixels(S[0],S[1],X,W,l,f,E)}finally{I.bindBuffer(35051,null),I.bindFramebuffer(36160,null),Y&&U.destroy()}}function qg(e,t){var r=t.source,n=t.origin,i=n===void 0?[0,0]:n,o=t.destination,a=t.width,u=a===void 0?t.destination.width:a,c=t.height,p=c===void 0?t.destination.width:c,b=0,g=6408,v=gc(r),T=v.framebuffer,S=v.destroyFramebuffer,O=Fg(i,2),N=O[0],E=O[1],w=!1;e.gl.bindFramebuffer(36160,T.handle);var B=null,I;if(o instanceof se)B=o,u=Number.isFinite(u)?u:B.width,p=Number.isFinite(p)?p:B.height,B.bind(0),I=B.destination;else throw new Error("whoops");return w||e.gl.copyTexImage2D(I,b,g,N,E,u,p,0),B&&B.unbind(),S&&T.destroy(),B}function gc(e){if(e instanceof ue){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 xt(e){return xt=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},xt(e)}function vc(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,Gg(n.key),n)}}function Jg(e,t,r){return t&&vc(e.prototype,t),r&&vc(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Gg(e){var t=ev(e,"string");return xt(t)==="symbol"?t:String(t)}function ev(e,t){if(xt(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(xt(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function tv(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function rv(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&&ti(e,t)}function ti(e,t){return ti=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},ti(e,t)}function nv(e){var t=av();return function(){var n=Fn(e),i;if(t){var o=Fn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return ov(this,i)}}function ov(e,t){if(t&&(xt(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return iv(e)}function iv(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function av(){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 Fn(e){return Fn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Fn(e)}var Dn=function(e){rv(r,e);var t=nv(r);function r(i,o){var a;return tv(this,r),a=t.call(this,i,o),a.device=void 0,a.commandBuffer=void 0,a.device=i,a.commandBuffer=new bc(i),a}var n=r.prototype;return n.destroy=function(){},n.finish=function(){this.commandBuffer.submitCommands()},n.copyBufferToBuffer=function(o){this.commandBuffer.commands.push({name:"copy-buffer-to-buffer",options:o})},n.copyBufferToTexture=function(o){this.commandBuffer.commands.push({name:"copy-buffer-to-texture",options:o})},n.copyTextureToBuffer=function(o){this.commandBuffer.commands.push({name:"copy-texture-to-buffer",options:o})},n.copyTextureToTexture=function(o){this.commandBuffer.commands.push({name:"copy-texture-to-texture",options:o})},n.pushDebugGroup=function(o){},n.popDebugGroup=function(){},n.insertDebugMarker=function(o){},Jg(r)}(Kr);function Ct(e){return Ct=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},Ct(e)}var Tc;function fv(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function mc(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,cv(n.key),n)}}function uv(e,t,r){return t&&mc(e.prototype,t),r&&mc(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function cv(e){var t=sv(e,"string");return Ct(t)==="symbol"?t:String(t)}function sv(e,t){if(Ct(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Ct(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Mn(){return typeof Reflect<"u"&&Reflect.get?Mn=Reflect.get.bind():Mn=function(t,r,n){var i=lv(t,r);if(i){var o=Object.getOwnPropertyDescriptor(i,r);return o.get?o.get.call(arguments.length<3?t:n):o.value}},Mn.apply(this,arguments)}function lv(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&(e=Bt(e),e!==null););return e}function pv(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&&ri(e,t)}function ri(e,t){return ri=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},ri(e,t)}function dv(e){var t=_v();return function(){var n=Bt(e),i;if(t){var o=Bt(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return hv(this,i)}}function hv(e,t){if(t&&(Ct(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return yv(e)}function yv(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _v(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Bt(e){return Bt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Bt(e)}Tc=Symbol.toStringTag;var Un=function(e){pv(r,e);var t=dv(r);r.isConstantAttributeZeroSupported=function(o){return o.info.type==="webgl2"||Or()==="Chrome"};function r(i,o){var a;return fv(this,r),a=t.call(this,i,o),a.device=void 0,a.handle=void 0,a.buffer=null,a.bufferValue=null,a.init=!1,a.device=i,a.handle=a.device.gl2.createVertexArray(),a}var n=r.prototype;return n.destroy=function(){if(Mn(Bt(r.prototype),"destroy",this).call(this),this.buffer){var o;(o=this.buffer)===null||o===void 0||o.destroy()}this.handle&&(this.device.gl2.deleteVertexArray(this.handle),this.handle=void 0)},n.setIndexBuffer=function(o){var a=o;if(a&&a.glTarget!==34963)throw new Error("Use .setBuffer()");this.device.gl2.bindVertexArray(this.handle),this.device.gl2.bindBuffer(34963,a?a.handle:null),this.indexBuffer=a},n.setBuffer=function(o,a){var u=a;if(u.glTarget===34963)throw new Error("Use .setIndexBuffer()");var c=this._getAccessor(o),p=c.size,b=c.type,g=c.stride,v=c.offset,T=c.normalized,S=c.integer,O=c.divisor;this.device.gl2.bindVertexArray(this.handle),this.device.gl.bindBuffer(34962,u.handle),S?(this.device.assertWebGL2(),this.device.gl2.vertexAttribIPointer(o,p,b,g,v)):this.device.gl.vertexAttribPointer(o,p,b,T,g,v),this.device.gl.enableVertexAttribArray(o),this.device.gl2.vertexAttribDivisor(o,O||0),this.attributes[o]=u},n.setConstant=function(o,a){this._enable(o,!1),this.attributes[o]=a},n.bindBeforeRender=function(){if(this.device.gl2.bindVertexArray(this.handle),!this.init){var o=this.indexBuffer;this.device.gl2.bindBuffer(34963,o?.handle||null),this.init=!0}this._applyConstantAttributes()},n.unbindAfterRender=function(){this.device.gl2.bindVertexArray(null)},n._applyConstantAttributes=function(){for(var o=0;o<this.maxVertexAttributes;++o){var a=this.attributes[o];ArrayBuffer.isView(a)&&this.device.setConstantAttribute(o,a)}},n._getAccessor=function(o){var a=this.attributeInfos[o];if(!a)throw new Error("Unknown attribute location ".concat(o));var u=an(a.bufferDataType);return{size:a.bufferComponents,type:u,stride:a.byteStride,offset:a.byteOffset,normalized:a.normalized,integer:a.integer,divisor:a.stepMode==="instance"?1:0}},n._enable=function(o){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,u=r.isConstantAttributeZeroSupported(this.device),c=u||o!==0;(a||c)&&(o=Number(o),this.device.gl2.bindVertexArray(this.handle),a?this.device.gl.enableVertexAttribArray(o):this.device.gl.disableVertexAttribArray(o),this.device.gl2.bindVertexArray(null))},n.getConstantBuffer=function(o,a){var u=bv(a),c=u.byteLength*o,p=u.length*o;if(this.buffer&&c!==this.buffer.byteLength)throw new Error("Buffer size is immutable, byte length ".concat(c," !== ").concat(this.buffer.byteLength,"."));var b=!this.buffer;if(this.buffer=this.buffer||this.device.createBuffer({byteLength:c}),b=b||!gv(u,this.bufferValue),b){var g=co(a.constructor,p);so({target:g,source:u,start:0,count:p}),this.buffer.write(g),this.bufferValue=a}return this.buffer},uv(r,[{key:Tc,get:function(){return"VertexArray"}}]),r}(Qr);function bv(e){return Array.isArray(e)?new Float32Array(e):e}function gv(e,t){if(!e||!t||e.length!==t.length||e.constructor!==t.constructor)return!1;for(var r=0;r<e.length;++r)if(e[r]!==t[r])return!1;return!0}function Ft(e){return Ft=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ft(e)}function vv(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=mv(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(p){throw p},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
50
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,u;return{s:function(){r=r.call(e)},n:function(){var p=r.next();return o=p.done,p},e:function(p){a=!0,u=p},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(a)throw u}}}}function mv(e,t){if(e){if(typeof e=="string")return Sc(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 Sc(e,t)}}function Sc(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 Ac(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,Sv(n.key),n)}}function Tv(e,t,r){return t&&Ac(e.prototype,t),r&&Ac(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Sv(e){var t=Av(e,"string");return Ft(t)==="symbol"?t:String(t)}function Av(e,t){if(Ft(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Ft(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Rv(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function jn(){return typeof Reflect<"u"&&Reflect.get?jn=Reflect.get.bind():jn=function(t,r,n){var i=Ov(t,r);if(i){var o=Object.getOwnPropertyDescriptor(i,r);return o.get?o.get.call(arguments.length<3?t:n):o.value}},jn.apply(this,arguments)}function Ov(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&(e=Dt(e),e!==null););return e}function Ev(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ni(e,t)}function ni(e,t){return ni=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},ni(e,t)}function wv(e){var t=Iv();return function(){var n=Dt(e),i;if(t){var o=Dt(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Pv(this,i)}}function Pv(e,t){if(t&&(Ft(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Oc(e)}function Oc(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Iv(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Dt(e){return Dt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Dt(e)}var Wn=function(e){Ev(r,e);var t=wv(r);function r(i,o){var a;return Rv(this,r),a=t.call(this,i,o),a.device=void 0,a.gl2=void 0,a.handle=void 0,a.layout=void 0,a.buffers={},a.unusedBuffers={},a.bindOnUse=!0,a._bound=!1,i.assertWebGL2(),a.device=i,a.gl2=i.gl2,a.handle=a.props.handle||a.gl2.createTransformFeedback(),a.layout=a.props.layout,o.buffers&&a.setBuffers(o.buffers),Object.seal(Oc(a)),a}var n=r.prototype;return n.destroy=function(){this.gl2.deleteTransformFeedback(this.handle),jn(Dt(r.prototype),"destroy",this).call(this)},n.begin=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"point-list";this.gl2.bindTransformFeedback(36386,this.handle),this.bindOnUse&&this._bindBuffers(),this.gl2.beginTransformFeedback(fc(o))},n.end=function(){this.gl2.endTransformFeedback(),this.bindOnUse||this._unbindBuffers(),this.gl2.bindTransformFeedback(36386,null)},n.setBuffers=function(o){var a=this;this.buffers={},this.unusedBuffers={},this.bind(function(){for(var u in o)a.setBuffer(u,o[u])})},n.setBuffer=function(o,a){var u=this._getVaryingIndex(o),c=this._getBufferRange(a),p=c.buffer,b=c.byteLength,g=c.byteOffset;if(u<0){this.unusedBuffers[o]=p,D.warn("".concat(this.id," unusedBuffers varying buffer ").concat(o))();return}this.buffers[u]={buffer:p,byteLength:b,byteOffset:g},this.bindOnUse||this._bindBuffer(u,p,g,b)},n.getBuffer=function(o){if(Rc(o))return this.buffers[o]||null;var a=this._getVaryingIndex(o);return a>=0?this.buffers[a]:null},n.bind=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.handle;if(typeof o!="function")return this.gl2.bindTransformFeedback(36386,o),this;var a;return this._bound?a=o():(this.gl2.bindTransformFeedback(36386,this.handle),this._bound=!0,a=o(),this._bound=!1,this.gl2.bindTransformFeedback(36386,null)),a},n.unbind=function(){this.bind(null)},n._getBufferRange=function(o){if(o instanceof he)return{buffer:o,byteOffset:0,byteLength:o.byteLength};var a=o.buffer,u=o.byteOffset,c=u===void 0?0:u,p=o.byteLength,b=p===void 0?o.buffer.byteLength:p;return{buffer:a,byteOffset:c,byteLength:b}},n._getVaryingIndex=function(o){if(Rc(o))return Number(o);var a=vv(this.layout.varyings),u;try{for(a.s();!(u=a.n()).done;){var c=u.value;if(o===c.name)return c.location}}catch(p){a.e(p)}finally{a.f()}return-1},n._bindBuffers=function(){for(var o in this.buffers){var a=this._getBufferRange(this.buffers[o]),u=a.buffer,c=a.byteLength,p=a.byteOffset;this._bindBuffer(Number(o),u,p,c)}},n._unbindBuffers=function(){for(var o in this.buffers)this.gl2.bindBufferBase(35982,Number(o),null)},n._bindBuffer=function(o,a){var u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,c=arguments.length>3?arguments[3]:void 0,p=a&&a.handle;!p||c===void 0?this.gl2.bindBufferBase(35982,o,p):this.gl2.bindBufferRange(35982,o,p,u,c)},Tv(r)}(Jr);function Rc(e){return typeof e=="number"?Number.isInteger(e):/^\d+$/.test(e)}function oi(e){switch(e){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return H(!1),0}}function Ec(e){switch(e){case 5121:return 1;case 33635:case 32819:case 32820:return 2;case 5126:return 4;default:return H(!1),0}}function mr(e){return mr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},mr(e)}function wc(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 Pc(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?wc(Object(r),!0).forEach(function(n){Nv(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):wc(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Nv(e,t,r){return t=xv(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function xv(e){var t=Cv(e,"string");return mr(t)==="symbol"?t:String(t)}function Cv(e,t){if(mr(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(mr(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ic(e,t){var r,n=t||{},i=n.sourceX,o=i===void 0?0:i,a=n.sourceY,u=a===void 0?0:a,c=n.sourceFormat,p=c===void 0?6408:c,b=n.sourceAttachment,g=b===void 0?36064:b,v=t||{},T=v.target,S=T===void 0?null:T,O=v.sourceWidth,N=v.sourceHeight,E=v.sourceType,w=xc(e),B=w.framebuffer,I=w.deleteFramebuffer;H(B);var V=B,U=V.gl,Y=V.handle;O=O||B.width,N=N||B.height;var j=g-36064;E=E||((r=B.colorAttachments[j])===null||r===void 0?void 0:r.type)||5121,S=Fv(S,E,p,O,N),E=E||Zu(S);var X=U.bindFramebuffer(36160,Y);return U.readPixels(o,u,O,N,p,E,S),U.bindFramebuffer(36160,X||null),I&&B.destroy(),S}function Nc(e,t){var r=t||{},n=r.target,i=r.sourceX,o=i===void 0?0:i,a=r.sourceY,u=a===void 0?0:a,c=r.sourceFormat,p=c===void 0?6408:c,b=r.targetByteOffset,g=b===void 0?0:b,v=t||{},T=v.sourceWidth,S=v.sourceHeight,O=v.sourceType,N=xc(e),E=N.framebuffer,w=N.deleteFramebuffer;H(E),T=T||E.width,S=S||E.height;var B=E;O=O||5121;var I=n;if(!I){var V=oi(p),U=Ec(O),Y=g+T*S*V*U;I=B.device.createBuffer({byteLength:Y})}var j=e.device.createCommandEncoder();return j.copyTextureToBuffer({source:e,width:T,height:S,origin:[o,u],destination:I,byteOffset:g}),j.destroy(),w&&E.destroy(),I}function xc(e){return e instanceof ot?{framebuffer:e,deleteFramebuffer:!1}:{framebuffer:Bv(e),deleteFramebuffer:!0}}function Bv(e,t){var r=e.device,n=e.width,i=e.height,o=e.id,a=r.createFramebuffer(Pc(Pc({},t),{},{id:"framebuffer-for-".concat(o),width:n,height:i,colorAttachments:[e]}));return a}function Fv(e,t,r,n,i){if(e)return e;t=t||5121;var o=_r(t,{clamped:!1}),a=oi(r);return new o(n*i*a)}var Dv=256,Mv=1024,Uv=16384;var jv="clear: bad arguments";function Cc(e,t){var r=pe.attach(e),n=t||{},i=n.framebuffer,o=i===void 0?null:i,a=n.color,u=a===void 0?null:a,c=n.depth,p=c===void 0?null:c,b=n.stencil,g=b===void 0?null:b,v={};o&&(v.framebuffer=o);var T=0;u&&(T|=Uv,u!==!0&&(v.clearColor=u)),p&&(T|=Dv,p!==!0&&(v.clearDepth=p)),g&&(T|=Mv,p!==!0&&(v.clearStencil=p)),H(T!==0,jv),de(r.gl,v,function(){r.gl.clear(T)})}function Ke(e){return Ke=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},Ke(e)}function Bc(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 me(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Bc(Object(r),!0).forEach(function(n){Wv(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Bc(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Wv(e,t,r){return t=Mc(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ii(){"use strict";ii=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(l,f,s){l[f]=s.value},i=typeof Symbol=="function"?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function c(l,f,s){return Object.defineProperty(l,f,{value:s,enumerable:!0,configurable:!0,writable:!0}),l[f]}try{c({},"")}catch{c=function(s,d,y){return s[d]=y}}function p(l,f,s,d){var y=f&&f.prototype instanceof v?f:v,h=Object.create(y.prototype),m=new X(d||[]);return n(h,"_invoke",{value:V(l,s,m)}),h}function b(l,f,s){try{return{type:"normal",arg:l.call(f,s)}}catch(d){return{type:"throw",arg:d}}}e.wrap=p;var g={};function v(){}function T(){}function S(){}var O={};c(O,o,function(){return this});var N=Object.getPrototypeOf,E=N&&N(N(W([])));E&&E!==t&&r.call(E,o)&&(O=E);var w=S.prototype=v.prototype=Object.create(O);function B(l){["next","throw","return"].forEach(function(f){c(l,f,function(s){return this._invoke(f,s)})})}function I(l,f){function s(y,h,m,A){var R=b(l[y],l,h);if(R.type!=="throw"){var F=R.arg,x=F.value;return x&&Ke(x)=="object"&&r.call(x,"__await")?f.resolve(x.__await).then(function(M){s("next",M,m,A)},function(M){s("throw",M,m,A)}):f.resolve(x).then(function(M){F.value=M,m(F)},function(M){return s("throw",M,m,A)})}A(R.arg)}var d;n(this,"_invoke",{value:function(h,m){function A(){return new f(function(R,F){s(h,m,R,F)})}return d=d?d.then(A,A):A()}})}function V(l,f,s){var d="suspendedStart";return function(y,h){if(d==="executing")throw new Error("Generator is already running");if(d==="completed"){if(y==="throw")throw h;return Z()}for(s.method=y,s.arg=h;;){var m=s.delegate;if(m){var A=U(m,s);if(A){if(A===g)continue;return A}}if(s.method==="next")s.sent=s._sent=s.arg;else if(s.method==="throw"){if(d==="suspendedStart")throw d="completed",s.arg;s.dispatchException(s.arg)}else s.method==="return"&&s.abrupt("return",s.arg);d="executing";var R=b(l,f,s);if(R.type==="normal"){if(d=s.done?"completed":"suspendedYield",R.arg===g)continue;return{value:R.arg,done:s.done}}R.type==="throw"&&(d="completed",s.method="throw",s.arg=R.arg)}}}function U(l,f){var s=f.method,d=l.iterator[s];if(d===void 0)return f.delegate=null,s==="throw"&&l.iterator.return&&(f.method="return",f.arg=void 0,U(l,f),f.method==="throw")||s!=="return"&&(f.method="throw",f.arg=new TypeError("The iterator does not provide a '"+s+"' method")),g;var y=b(d,l.iterator,f.arg);if(y.type==="throw")return f.method="throw",f.arg=y.arg,f.delegate=null,g;var h=y.arg;return h?h.done?(f[l.resultName]=h.value,f.next=l.nextLoc,f.method!=="return"&&(f.method="next",f.arg=void 0),f.delegate=null,g):h:(f.method="throw",f.arg=new TypeError("iterator result is not an object"),f.delegate=null,g)}function Y(l){var f={tryLoc:l[0]};1 in l&&(f.catchLoc=l[1]),2 in l&&(f.finallyLoc=l[2],f.afterLoc=l[3]),this.tryEntries.push(f)}function j(l){var f=l.completion||{};f.type="normal",delete f.arg,l.completion=f}function X(l){this.tryEntries=[{tryLoc:"root"}],l.forEach(Y,this),this.reset(!0)}function W(l){if(l){var f=l[o];if(f)return f.call(l);if(typeof l.next=="function")return l;if(!isNaN(l.length)){var s=-1,d=function y(){for(;++s<l.length;)if(r.call(l,s))return y.value=l[s],y.done=!1,y;return y.value=void 0,y.done=!0,y};return d.next=d}}return{next:Z}}function Z(){return{value:void 0,done:!0}}return T.prototype=S,n(w,"constructor",{value:S,configurable:!0}),n(S,"constructor",{value:T,configurable:!0}),T.displayName=c(S,u,"GeneratorFunction"),e.isGeneratorFunction=function(l){var f=typeof l=="function"&&l.constructor;return!!f&&(f===T||(f.displayName||f.name)==="GeneratorFunction")},e.mark=function(l){return Object.setPrototypeOf?Object.setPrototypeOf(l,S):(l.__proto__=S,c(l,u,"GeneratorFunction")),l.prototype=Object.create(w),l},e.awrap=function(l){return{__await:l}},B(I.prototype),c(I.prototype,a,function(){return this}),e.AsyncIterator=I,e.async=function(l,f,s,d,y){y===void 0&&(y=Promise);var h=new I(p(l,f,s,d),y);return e.isGeneratorFunction(f)?h:h.next().then(function(m){return m.done?m.value:h.next()})},B(w),c(w,u,"Generator"),c(w,o,function(){return this}),c(w,"toString",function(){return"[object Generator]"}),e.keys=function(l){var f=Object(l),s=[];for(var d in f)s.push(d);return s.reverse(),function y(){for(;s.length;){var h=s.pop();if(h in f)return y.value=h,y.done=!1,y}return y.done=!0,y}},e.values=W,X.prototype={constructor:X,reset:function(f){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(j),!f)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 f=this.tryEntries[0].completion;if(f.type==="throw")throw f.arg;return this.rval},dispatchException:function(f){if(this.done)throw f;var s=this;function d(F,x){return m.type="throw",m.arg=f,s.next=F,x&&(s.method="next",s.arg=void 0),!!x}for(var y=this.tryEntries.length-1;y>=0;--y){var h=this.tryEntries[y],m=h.completion;if(h.tryLoc==="root")return d("end");if(h.tryLoc<=this.prev){var A=r.call(h,"catchLoc"),R=r.call(h,"finallyLoc");if(A&&R){if(this.prev<h.catchLoc)return d(h.catchLoc,!0);if(this.prev<h.finallyLoc)return d(h.finallyLoc)}else if(A){if(this.prev<h.catchLoc)return d(h.catchLoc,!0)}else{if(!R)throw new Error("try statement without catch or finally");if(this.prev<h.finallyLoc)return d(h.finallyLoc)}}}},abrupt:function(f,s){for(var d=this.tryEntries.length-1;d>=0;--d){var y=this.tryEntries[d];if(y.tryLoc<=this.prev&&r.call(y,"finallyLoc")&&this.prev<y.finallyLoc){var h=y;break}}h&&(f==="break"||f==="continue")&&h.tryLoc<=s&&s<=h.finallyLoc&&(h=null);var m=h?h.completion:{};return m.type=f,m.arg=s,h?(this.method="next",this.next=h.finallyLoc,g):this.complete(m)},complete:function(f,s){if(f.type==="throw")throw f.arg;return f.type==="break"||f.type==="continue"?this.next=f.arg:f.type==="return"?(this.rval=this.arg=f.arg,this.method="return",this.next="end"):f.type==="normal"&&s&&(this.next=s),g},finish:function(f){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.finallyLoc===f)return this.complete(d.completion,d.afterLoc),j(d),g}},catch:function(f){for(var s=this.tryEntries.length-1;s>=0;--s){var d=this.tryEntries[s];if(d.tryLoc===f){var y=d.completion;if(y.type==="throw"){var h=y.arg;j(d)}return h}}throw new Error("illegal catch attempt")},delegateYield:function(f,s,d){return this.delegate={iterator:W(f),resultName:s,nextLoc:d},this.method==="next"&&(this.arg=void 0),g}},e}function Fc(e,t,r,n,i,o,a){try{var u=e[o](a),c=u.value}catch(p){r(p);return}u.done?t(c):Promise.resolve(c).then(n,i)}function Hv(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(c){Fc(o,n,i,a,u,"next",c)}function u(c){Fc(o,n,i,a,u,"throw",c)}a(void 0)})}}function Xv(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Dc(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,Mc(n.key),n)}}function Vv(e,t,r){return t&&Dc(e.prototype,t),r&&Dc(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Mc(e){var t=kv(e,"string");return Ke(t)==="symbol"?t:String(t)}function kv(e,t){if(Ke(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Ke(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Lv(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ai(e,t)}function ai(e,t){return ai=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},ai(e,t)}function Kv(e){var t=zv();return function(){var n=Hn(e),i;if(t){var o=Hn(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return Yv(this,i)}}function Yv(e,t){if(t&&(Ke(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return fi(e)}function fi(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function zv(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Hn(e){return Hn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Hn(e)}var Tr=1,pe=function(e){Lv(r,e);var t=Kv(r);r.isSupported=function(){return typeof WebGLRenderingContext<"u"||li()},r.attach=function(o){if(o instanceof r)return o;if(o?.device instanceof Je)return o.device;if(!$v(o))throw new Error("Invalid WebGLRenderingContext");return new r({gl:o})},r.create=function(){var i=Hv(ii().mark(function a(){var u,c,p,b,g=arguments;return ii().wrap(function(T){for(;;)switch(T.prev=T.next){case 0:if(u=g.length>0&&g[0]!==void 0?g[0]:{},D.groupCollapsed(Tr,"WebGLDevice created")(),typeof u.canvas!="string"){T.next=5;break}return T.next=5,Ge.pageLoaded;case 5:if(!(D.get("debug")||u.debug)){T.next=8;break}return T.next=8,Uu();case 8:if(c=u.spector,!(D.get("spector")||c)){T.next=12;break}return T.next=12,Pu();case 12:if(D.probe(Tr+1,"DOM is loaded")(),!(u.gl&&u.gl.device)){T.next=15;break}return T.abrupt("return",r.attach(u.gl));case 15:return p=new r(u),b="Created ".concat(p.info.type).concat(p.debug?" debug":""," context: ").concat(p.info.vendor,", ").concat(p.info.renderer," for canvas: ").concat(p.canvasContext.id),D.probe(Tr,b)(),D.table(Tr,p.info)(),D.groupEnd(Tr)(),T.abrupt("return",p);case 21:case"end":return T.stop()}},a)}));function o(){return i.apply(this,arguments)}return o}();function r(i){var o,a,u;Xv(this,r),u=t.call(this,me(me({},i),{},{id:i.id||Te("webgl-device")})),u.info=void 0,u.canvasContext=void 0,u.handle=void 0,u.lost=void 0,u._resolveContextLost=void 0,u._features=void 0,u._limits=void 0,u.renderPass=null,u.gl=void 0,u.gl2=null,u.debug=!1,u.isWebGL1=void 0,u.isWebGL2=void 0,u._canvasSizeInfo={clientWidth:0,clientHeight:0,devicePixelRatio:1},u._extensions={},u._polyfilled=!1,u.spector=void 0,u._webglLimits=void 0,u._constants=void 0;var c=(o=i.gl)===null||o===void 0?void 0:o.device;if(c)throw new Error("WebGL context already attached to device ".concat(c.id));var p=i.canvas||((a=i.gl)===null||a===void 0?void 0:a.canvas);u.canvasContext=new An(fi(u),me(me({},i),{},{canvas:p})),u.lost=new Promise(function(E){u._resolveContextLost=E});var b=function(w){var B,I;return(B=(I=u)._resolveContextLost)===null||B===void 0?void 0:B.call(I,{reason:"destroyed",message:"Computer entered sleep mode, or too many apps or browser tabs are using the GPU."})},g=i.gl||null;if(g=g||(G()?If(u.canvasContext.canvas,me(me({},i),{},{onContextLost:b})):null),g=g||(G()?null:pi(me(me({},i),{},{onContextLost:b}))),!g)throw new Error("WebGL context creation failed");u.handle=g,u.gl=u.handle,u.gl2=u.gl,u.isWebGL2=Zv(u.gl),u.isWebGL1=!u.isWebGL2,u.canvasContext.resize(),u.info=Nf(u.gl),u.gl.device=fi(u),u.gl._version=u.isWebGL2?2:1,on(u.gl);var v=i.enable,T=v===void 0?!0:v,S=i.copyState,O=S===void 0?!1:S;if(nr(u.gl,{enable:T,copyState:O,log:function(){for(var w=arguments.length,B=new Array(w),I=0;I<w;I++)B[I]=arguments[I];return D.log.apply(D,[1].concat(B))()}}),G()&&i.debug&&(u.gl=ju(u.gl,me(me({},i),{},{webgl2:u.isWebGL2,throwOnError:!0})),u.gl2=u.gl,u.debug=!0,D.level=Math.max(D.level,1),D.warn("WebGL debug mode activated. Performance reduced.")()),G()&&i.spector){var N=u.handle.canvas||i.canvas;u.spector=Iu(me(me({},u.props),{},{canvas:N}))}return u}var n=r.prototype;return n.destroy=function(){var o=this.gl.getExtension("STACKGL_destroy_context");o&&o.destroy()},n.getSize=function(){return[this.gl.drawingBufferWidth,this.gl.drawingBufferHeight]},n.isTextureFormatSupported=function(o){return cr(this.gl,o)},n.isTextureFormatFilterable=function(o){return Uf(this.gl,o)},n.isTextureFormatRenderable=function(o){return jf(this.gl,o)},n.assertWebGL2=function(){if(!this.gl2)throw new Error("Requires WebGL2");return this.gl2},n.createCanvasContext=function(o){throw new Error("WebGL only supports a single canvas")},n.createBuffer=function(o){var a=this._getBufferProps(o);return new he(this,a)},n._createTexture=function(o){return new se(this,o)},n.createExternalTexture=function(o){throw new Error("createExternalTexture() not implemented")},n.createSampler=function(o){return new Ve(this,o)},n.createShader=function(o){return new On(this,o)},n.createFramebuffer=function(o){return new Pe(this,o)},n.createRenderPipeline=function(o){return new Cn(this,o)},n.createVertexArray=function(o){return new Un(this,o)},n.beginRenderPass=function(o){return new wn(this,o)},n.createComputePipeline=function(o){throw new Error("ComputePipeline not supported in WebGL")},n.beginComputePass=function(o){throw new Error("ComputePass not supported in WebGL")},n.createTransformFeedback=function(o){return new Wn(this,o)},n.getDefaultRenderPass=function(){return this.renderPass=this.renderPass||this.beginRenderPass({framebuffer:this.canvasContext.getCurrentFramebuffer()}),this.renderPass},n.createCommandEncoder=function(o){return new Dn(this,o)},n.submit=function(){var o;(o=this.renderPass)===null||o===void 0||o.end(),this.renderPass=null},n.readPixelsToArrayWebGL=function(o,a){return Ic(o,a)},n.readPixelsToBufferWebGL=function(o,a){return Nc(o,a)},n.setParametersWebGL=function(o){le(this,o)},n.getParametersWebGL=function(o){return ht(this,o)},n.withParametersWebGL=function(o,a){de(this,o,a)},n.clearWebGL=function(o){Cc(this,o)},n.loseDevice=function(){var o,a=!1,u=this.gl.getExtension("WEBGL_lose_context");return u&&(a=!0,u.loseContext()),(o=this._resolveContextLost)===null||o===void 0||o.call(this,{reason:"destroyed",message:"Application triggered context loss"}),a},n.pushState=function(){Se(this.gl)},n.popState=function(){ve(this.gl)},n.setSpectorMetadata=function(o,a){o.__SPECTOR_Metadata=a},n.getGLKey=function(o,a){a=a||this.gl2||this.gl;var u=Number(o);for(var c in a)if(a[c]===u)return"GL.".concat(c);return String(o)},n.setConstantAttribute=function(o,a){this._constants=this._constants||new Array(this.limits.maxVertexAttributes).fill(null);var u=this._constants[o];switch(u&&Gv(u,a)&&D.info(1,"setConstantAttribute(".concat(o,") could have been skipped, value unchanged"))(),this._constants[o]=a,a.constructor){case Float32Array:Qv(this,o,a);break;case Int32Array:qv(this,o,a);break;case Uint32Array:Jv(this,o,a);break;default:H(!1)}},Vv(r,[{key:"features",get:function(){return this._features=this._features||Vf(this.gl),this._features}},{key:"limits",get:function(){return this._limits=this._limits||Lf(this.gl),this._limits}},{key:"isLost",get:function(){return this.gl.isContextLost()}},{key:"webglLimits",get:function(){return this._webglLimits=this._webglLimits||Kf(this.gl),this._webglLimits}}]),r}(Je);pe.type="webgl";function $v(e){return typeof WebGLRenderingContext<"u"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&Number.isFinite(e._version))}function Zv(e){return typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&e._version===2)}function Qv(e,t,r){switch(r.length){case 1:e.gl.vertexAttrib1fv(t,r);break;case 2:e.gl.vertexAttrib2fv(t,r);break;case 3:e.gl.vertexAttrib3fv(t,r);break;case 4:e.gl.vertexAttrib4fv(t,r);break;default:H(!1)}}function qv(e,t,r){var n;e.assertWebGL2(),(n=e.gl2)===null||n===void 0||n.vertexAttribI4iv(t,r)}function Jv(e,t,r){var n;e.assertWebGL2(),(n=e.gl2)===null||n===void 0||n.vertexAttribI4uiv(t,r)}function Gv(e,t){if(!e||!t||e.length!==t.length||e.constructor!==t.constructor)return!1;for(var r=0;r<e.length;++r)if(e[r]!==t[r])return!1;return!0}return Lc(em);})();
|
|
15
|
+
${i}
|
|
16
|
+
</pre></code>`,a.style.top="10px",a.style.left="10px",a.style.position="absolute",a.style.zIndex="9999",a.style.width="100%",a.style.textAlign="left",document.body.appendChild(a);let u=document.getElementsByClassName("luma-compiler-log-error");u[0]?.scrollIntoView&&u[0].scrollIntoView(),a.onclick=()=>{let l=`data:text/plain,${encodeURIComponent(this.source)}`;navigator.clipboard.writeText(l)}}},ve=ir;E(ve,"defaultProps",{..._.defaultProps,language:"auto",stage:"vertex",source:"",sourceMap:null,entryPoint:"main",debug:"errors"});function ji(r){return nr(r.source).name||r.id||te(`unnamed ${r.stage}-shader`)}var or=class extends _{get[Symbol.toStringTag](){return"Sampler"}constructor(e,t){super(e,t,or.defaultProps)}},we=or;E(we,"defaultProps",{..._.defaultProps,type:"color-sampler",addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge",addressModeW:"clamp-to-edge",magFilter:"nearest",minFilter:"nearest",mipmapFilter:"nearest",lodMinClamp:0,lodMaxClamp:32,compare:"less-equal",maxAnisotropy:1});var sr=class extends _{get[Symbol.toStringTag](){return"Framebuffer"}width;height;colorAttachments=[];depthStencilAttachment=null;constructor(e,t={}){super(e,t,sr.defaultProps),this.width=this.props.width,this.height=this.props.height}resize(e){let t=!e;if(e){let[n,i]=Array.isArray(e)?e:[e.width,e.height];t=t||i!==this.height||n!==this.width,this.width=n,this.height=i}t&&(m.log(2,`Resizing framebuffer ${this.id} to ${this.width}x${this.height}`)(),this.resizeAttachments(this.width,this.height))}autoCreateAttachmentTextures(){this.colorAttachments=this.props.colorAttachments.map(t=>{if(typeof t=="string"){let n=this.createColorTexture(t);return this.attachResource(n),n.view}return t instanceof I?t.view:t});let e=this.props.depthStencilAttachment;if(e)if(typeof e=="string"){let t=this.createDepthStencilTexture(e);this.attachResource(t),this.depthStencilAttachment=t.view}else e instanceof I?this.depthStencilAttachment=e.view:this.depthStencilAttachment=e}createColorTexture(e){return this.device.createTexture({id:"color-attachment",usage:I.RENDER_ATTACHMENT,format:e,width:this.width,height:this.height})}createDepthStencilTexture(e){return this.device.createTexture({id:"depth-stencil-attachment",usage:I.RENDER_ATTACHMENT,format:e,width:this.width,height:this.height})}resizeAttachments(e,t){for(let n=0;n<this.colorAttachments.length;++n)if(this.colorAttachments[n]){let i=this.device._createTexture({...this.colorAttachments[n].props,width:e,height:t});this.destroyAttachedResource(this.colorAttachments[n]),this.colorAttachments[n]=i.view,this.attachResource(i.view)}if(this.depthStencilAttachment){let n=this.device._createTexture({...this.depthStencilAttachment.props,width:e,height:t});this.destroyAttachedResource(this.depthStencilAttachment),this.depthStencilAttachment=n.view,this.attachResource(n)}}},ge=sr;E(ge,"defaultProps",{..._.defaultProps,width:1,height:1,colorAttachments:[],depthStencilAttachment:null});var ar=class extends _{get[Symbol.toStringTag](){return"RenderPipeline"}shaderLayout;bufferLayout;linkStatus="pending";hash="";constructor(e,t){super(e,t,ar.defaultProps),this.shaderLayout=this.props.shaderLayout,this.bufferLayout=this.props.bufferLayout||[]}setUniformsWebGL(e){throw new Error("Use uniform blocks")}},Oe=ar;E(Oe,"defaultProps",{..._.defaultProps,vs:null,vsEntryPoint:"",vsConstants:{},fs:null,fsEntryPoint:"",fsConstants:{},shaderLayout:null,bufferLayout:[],topology:"triangle-list",parameters:{},vertexCount:0,instanceCount:0,bindings:{},uniforms:{}});var ur=class extends _{get[Symbol.toStringTag](){return"RenderPass"}constructor(e,t){super(e,t,ur.defaultProps)}},Ue=ur;E(Ue,"defaultProps",{..._.defaultProps,framebuffer:null,parameters:void 0,clearColor:[0,0,0,0],clearDepth:1,clearStencil:0,depthReadOnly:!1,stencilReadOnly:!1,discard:!1,occlusionQuerySet:void 0,timestampQuerySet:void 0,beginTimestampIndex:void 0,endTimestampIndex:void 0});var cr=class extends _{get[Symbol.toStringTag](){return"CommandEncoder"}constructor(e,t){super(e,t,cr.defaultProps)}},Me=cr;E(Me,"defaultProps",{..._.defaultProps,measureExecutionTime:void 0});var lr=class extends _{get[Symbol.toStringTag](){return"CommandBuffer"}constructor(e,t){super(e,t,lr.defaultProps)}},We=lr;E(We,"defaultProps",{..._.defaultProps});function an(r){let[e,t]=qi[r],n=e==="i32"||e==="u32",i=e!=="u32",s=Zi[e]*t,a=Qi(e,t);return{dataType:e,components:t,defaultVertexFormat:a,byteLength:s,integer:n,signed:i}}function Qi(r,e){let t;switch(r){case"f32":t="float32";break;case"i32":t="sint32";break;case"u32":t="uint32";break;case"f16":return e<=2?"float16x2":"float16x4"}return e===1?t:`${t}x${e}`}var qi={f32:["f32",1],"vec2<f32>":["f32",2],"vec3<f32>":["f32",3],"vec4<f32>":["f32",4],f16:["f16",1],"vec2<f16>":["f16",2],"vec3<f16>":["f16",3],"vec4<f16>":["f16",4],i32:["i32",1],"vec2<i32>":["i32",2],"vec3<i32>":["i32",3],"vec4<i32>":["i32",4],u32:["u32",1],"vec2<u32>":["u32",2],"vec3<u32>":["u32",3],"vec4<u32>":["u32",4]},Zi={f32:4,f16:2,i32:4,u32:4};function fr(r){let e;r.endsWith("-webgl")&&(r.replace("-webgl",""),e=!0);let[t,n]=r.split("x"),i=t,s=n?parseInt(n):1,a=Nt(i),u={type:i,components:s,byteLength:a.byteLength*s,integer:a.integer,signed:a.signed,normalized:a.normalized};return e&&(u.webglOnly=!0),u}function un(r,e){let t={};for(let n of r.attributes)t[n.name]=Ji(r,e,n.name);return t}function cn(r,e,t=16){let n=un(r,e),i=new Array(t).fill(null);for(let s of Object.values(n))i[s.location]=s;return i}function Ji(r,e,t){let n=eo(r,t),i=to(e,t);if(!n)return null;let s=an(n.type),a=i?.vertexFormat||s.defaultVertexFormat,u=fr(a);return{attributeName:i?.attributeName||n.name,bufferName:i?.bufferName||n.name,location:n.location,shaderType:n.type,shaderDataType:s.dataType,shaderComponents:s.components,vertexFormat:a,bufferDataType:u.type,bufferComponents:u.components,normalized:u.normalized,integer:s.integer,stepMode:i?.stepMode||n.stepMode,byteOffset:i?.byteOffset||0,byteStride:i?.byteStride||0}}function eo(r,e){let t=r.attributes.find(n=>n.name===e);return t||m.warn(`shader layout attribute "${e}" not present in shader`),t||null}function to(r,e){ro(r);let t=no(r,e);return t||(t=io(r,e),t)?t:(m.warn(`layout for attribute "${e}" not present in buffer layout`),null)}function ro(r){for(let e of r)(e.attributes&&e.format||!e.attributes&&!e.format)&&m.warn(`BufferLayout ${name} must have either 'attributes' or 'format' field`)}function no(r,e){for(let t of r)if(t.format&&t.name===e)return{attributeName:t.name,bufferName:e,stepMode:t.stepMode,vertexFormat:t.format,byteOffset:0,byteStride:t.byteStride||0};return null}function io(r,e){for(let t of r){let n=t.byteStride;if(typeof t.byteStride!="number")for(let s of t.attributes||[]){let a=fr(s.format);n+=a.byteLength}let i=t.attributes?.find(s=>s.attribute===e);if(i)return{attributeName:i.attribute,bufferName:t.name,stepMode:t.stepMode,vertexFormat:i.format,byteOffset:i.byteOffset,byteStride:n}}return null}function dr(r,e){let t={...r,attributes:r.attributes.map(n=>({...n}))};for(let n of e?.attributes||[]){let i=t.attributes.find(s=>s.name===n.name);i?(i.type=n.type||i.type,i.stepMode=n.stepMode||i.stepMode):m.warn(`shader layout attribute ${n.name} not present in shader`)}return t}var mr=class extends _{get[Symbol.toStringTag](){return"VertexArray"}maxVertexAttributes;attributeInfos;indexBuffer=null;attributes;constructor(e,t){super(e,t,mr.defaultProps),this.maxVertexAttributes=e.limits.maxVertexAttributes,this.attributes=new Array(this.maxVertexAttributes).fill(null),this.attributeInfos=cn(t.renderPipeline.shaderLayout,t.renderPipeline.bufferLayout,this.maxVertexAttributes)}setConstantWebGL(e,t){throw new Error("constant attributes not supported")}},He=mr;E(He,"defaultProps",{..._.defaultProps,renderPipeline:null});var hr=class extends _{get[Symbol.toStringTag](){return"TransformFeedback"}constructor(e,t){super(e,t,hr.defaultProps)}},ke=hr;E(ke,"defaultProps",{..._.defaultProps,layout:void 0,buffers:{}});var pr=class extends _{get[Symbol.toStringTag](){return"QuerySet"}constructor(e,t){super(e,t,pr.defaultProps)}},Ve=pr;E(Ve,"defaultProps",{..._.defaultProps,type:void 0,count:void 0});var wt;function ln(r){return(!wt||wt.byteLength<r)&&(wt=new ArrayBuffer(r)),wt}function gr(r,e){let t=ln(r.BYTES_PER_ELEMENT*e);return new r(t,0,e)}function Er(r){let{target:e,source:t,start:n=0,count:i=1}=r,s=t.length,a=i*s,u=0;for(let l=n;u<s;u++)e[l++]=t[u];for(;u<a;)u<a-u?(e.copyWithin(n+u,n,n+u),u*=2):(e.copyWithin(n+u,n,n+a-u),u=a);return r.target}function fn(r){return Zr(r)!==null||typeof r=="number"||typeof r=="boolean"}function br(r){let e={bindings:{},uniforms:{}};return Object.keys(r).forEach(t=>{let n=r[t];fn(n)?e.uniforms[t]=n:e.bindings[t]=n}),e}function _r(r,e,t,n){let i=`See luma.gl ${t} Upgrade Guide at https://luma.gl/docs/upgrade-guide`,s=Object.getPrototypeOf(r);n.forEach(a=>{s.methodName||(s[a]=()=>{throw m.removed(`Calling removed method ${e}.${a}: `,i)(),new Error(a)})})}function Tr(r,e,t){let{removedProps:n={},deprecatedProps:i={},replacedProps:s={}}=t;for(let u in n)if(u in e){let f=n[u]?`${r}.${n[u]}`:"N/A";m.removed(`${r}.${u}`,f)()}for(let u in i)if(u in e){let l=i[u];m.deprecated(`${r}.${u}`,`${r}.${l}`)()}let a=null;for(let[u,l]of Object.entries(s))u in e&&(m.deprecated(`${r}.${u}`,`${r}.${l}`)(),a=a||Object.assign({},e),a[l]=e[u],delete a[u]);return a||e}var oo="";async function Lr(r,e){return await new Promise((t,n)=>{try{let i=new Image;i.onload=()=>t(i),i.onerror=()=>n(new Error(`Could not load image ${r}.`)),i.crossOrigin=e?.crossOrigin||"anonymous",i.src=r.startsWith("http")?r:oo+r}catch(i){n(i)}})}async function dt(r,e){let t=document.getElementsByTagName("head")[0];if(!t)throw new Error("loadScript");let n=document.createElement("script");return n.setAttribute("type","text/javascript"),n.setAttribute("src",r),e&&(n.id=e),new Promise((i,s)=>{n.onload=i,n.onerror=a=>s(new Error(`Unable to load script '${r}': ${a}`)),t.appendChild(n)})}var o=y(S(),1),ht={[o.GL.BLEND]:!1,[o.GL.BLEND_COLOR]:new Float32Array([0,0,0,0]),[o.GL.BLEND_EQUATION_RGB]:o.GL.FUNC_ADD,[o.GL.BLEND_EQUATION_ALPHA]:o.GL.FUNC_ADD,[o.GL.BLEND_SRC_RGB]:o.GL.ONE,[o.GL.BLEND_DST_RGB]:o.GL.ZERO,[o.GL.BLEND_SRC_ALPHA]:o.GL.ONE,[o.GL.BLEND_DST_ALPHA]:o.GL.ZERO,[o.GL.COLOR_CLEAR_VALUE]:new Float32Array([0,0,0,0]),[o.GL.COLOR_WRITEMASK]:[!0,!0,!0,!0],[o.GL.CULL_FACE]:!1,[o.GL.CULL_FACE_MODE]:o.GL.BACK,[o.GL.DEPTH_TEST]:!1,[o.GL.DEPTH_CLEAR_VALUE]:1,[o.GL.DEPTH_FUNC]:o.GL.LESS,[o.GL.DEPTH_RANGE]:new Float32Array([0,1]),[o.GL.DEPTH_WRITEMASK]:!0,[o.GL.DITHER]:!0,[o.GL.CURRENT_PROGRAM]:null,[o.GL.FRAMEBUFFER_BINDING]:null,[o.GL.RENDERBUFFER_BINDING]:null,[o.GL.VERTEX_ARRAY_BINDING]:null,[o.GL.ARRAY_BUFFER_BINDING]:null,[o.GL.FRONT_FACE]:o.GL.CCW,[o.GL.GENERATE_MIPMAP_HINT]:o.GL.DONT_CARE,[o.GL.LINE_WIDTH]:1,[o.GL.POLYGON_OFFSET_FILL]:!1,[o.GL.POLYGON_OFFSET_FACTOR]:0,[o.GL.POLYGON_OFFSET_UNITS]:0,[o.GL.SAMPLE_ALPHA_TO_COVERAGE]:!1,[o.GL.SAMPLE_COVERAGE]:!1,[o.GL.SAMPLE_COVERAGE_VALUE]:1,[o.GL.SAMPLE_COVERAGE_INVERT]:!1,[o.GL.SCISSOR_TEST]:!1,[o.GL.SCISSOR_BOX]:new Int32Array([0,0,1024,1024]),[o.GL.STENCIL_TEST]:!1,[o.GL.STENCIL_CLEAR_VALUE]:0,[o.GL.STENCIL_WRITEMASK]:4294967295,[o.GL.STENCIL_BACK_WRITEMASK]:4294967295,[o.GL.STENCIL_FUNC]:o.GL.ALWAYS,[o.GL.STENCIL_REF]:0,[o.GL.STENCIL_VALUE_MASK]:4294967295,[o.GL.STENCIL_BACK_FUNC]:o.GL.ALWAYS,[o.GL.STENCIL_BACK_REF]:0,[o.GL.STENCIL_BACK_VALUE_MASK]:4294967295,[o.GL.STENCIL_FAIL]:o.GL.KEEP,[o.GL.STENCIL_PASS_DEPTH_FAIL]:o.GL.KEEP,[o.GL.STENCIL_PASS_DEPTH_PASS]:o.GL.KEEP,[o.GL.STENCIL_BACK_FAIL]:o.GL.KEEP,[o.GL.STENCIL_BACK_PASS_DEPTH_FAIL]:o.GL.KEEP,[o.GL.STENCIL_BACK_PASS_DEPTH_PASS]:o.GL.KEEP,[o.GL.VIEWPORT]:[0,0,1024,1024],[o.GL.TRANSFORM_FEEDBACK_BINDING]:null,[o.GL.COPY_READ_BUFFER_BINDING]:null,[o.GL.COPY_WRITE_BUFFER_BINDING]:null,[o.GL.PIXEL_PACK_BUFFER_BINDING]:null,[o.GL.PIXEL_UNPACK_BUFFER_BINDING]:null,[o.GL.FRAGMENT_SHADER_DERIVATIVE_HINT]:o.GL.DONT_CARE,[o.GL.READ_FRAMEBUFFER_BINDING]:null,[o.GL.RASTERIZER_DISCARD]:!1,[o.GL.PACK_ALIGNMENT]:4,[o.GL.UNPACK_ALIGNMENT]:4,[o.GL.UNPACK_FLIP_Y_WEBGL]:!1,[o.GL.UNPACK_PREMULTIPLY_ALPHA_WEBGL]:!1,[o.GL.UNPACK_COLORSPACE_CONVERSION_WEBGL]:o.GL.BROWSER_DEFAULT_WEBGL,[o.GL.PACK_ROW_LENGTH]:0,[o.GL.PACK_SKIP_PIXELS]:0,[o.GL.PACK_SKIP_ROWS]:0,[o.GL.UNPACK_ROW_LENGTH]:0,[o.GL.UNPACK_IMAGE_HEIGHT]:0,[o.GL.UNPACK_SKIP_PIXELS]:0,[o.GL.UNPACK_SKIP_ROWS]:0,[o.GL.UNPACK_SKIP_IMAGES]:0},w=(r,e,t)=>e?r.enable(t):r.disable(t),mn=(r,e,t)=>r.hint(t,e),z=(r,e,t)=>r.pixelStorei(t,e),hn=(r,e,t)=>{let n=t===o.GL.FRAMEBUFFER_BINDING?o.GL.DRAW_FRAMEBUFFER:o.GL.READ_FRAMEBUFFER;return r.bindFramebuffer(n,e)},mt=(r,e,t)=>{let i={[o.GL.ARRAY_BUFFER_BINDING]:o.GL.ARRAY_BUFFER,[o.GL.COPY_READ_BUFFER_BINDING]:o.GL.COPY_READ_BUFFER,[o.GL.COPY_WRITE_BUFFER_BINDING]:o.GL.COPY_WRITE_BUFFER,[o.GL.PIXEL_PACK_BUFFER_BINDING]:o.GL.PIXEL_PACK_BUFFER,[o.GL.PIXEL_UNPACK_BUFFER_BINDING]:o.GL.PIXEL_UNPACK_BUFFER}[t];r.bindBuffer(i,e)};function Rr(r){return Array.isArray(r)||ArrayBuffer.isView(r)&&!(r instanceof DataView)}var pn={[o.GL.BLEND]:w,[o.GL.BLEND_COLOR]:(r,e)=>r.blendColor(...e),[o.GL.BLEND_EQUATION_RGB]:"blendEquation",[o.GL.BLEND_EQUATION_ALPHA]:"blendEquation",[o.GL.BLEND_SRC_RGB]:"blendFunc",[o.GL.BLEND_DST_RGB]:"blendFunc",[o.GL.BLEND_SRC_ALPHA]:"blendFunc",[o.GL.BLEND_DST_ALPHA]:"blendFunc",[o.GL.COLOR_CLEAR_VALUE]:(r,e)=>r.clearColor(...e),[o.GL.COLOR_WRITEMASK]:(r,e)=>r.colorMask(...e),[o.GL.CULL_FACE]:w,[o.GL.CULL_FACE_MODE]:(r,e)=>r.cullFace(e),[o.GL.DEPTH_TEST]:w,[o.GL.DEPTH_CLEAR_VALUE]:(r,e)=>r.clearDepth(e),[o.GL.DEPTH_FUNC]:(r,e)=>r.depthFunc(e),[o.GL.DEPTH_RANGE]:(r,e)=>r.depthRange(...e),[o.GL.DEPTH_WRITEMASK]:(r,e)=>r.depthMask(e),[o.GL.DITHER]:w,[o.GL.FRAGMENT_SHADER_DERIVATIVE_HINT]:mn,[o.GL.CURRENT_PROGRAM]:(r,e)=>r.useProgram(e),[o.GL.RENDERBUFFER_BINDING]:(r,e)=>r.bindRenderbuffer(o.GL.RENDERBUFFER,e),[o.GL.TRANSFORM_FEEDBACK_BINDING]:(r,e)=>r.bindTransformFeedback?.(o.GL.TRANSFORM_FEEDBACK,e),[o.GL.VERTEX_ARRAY_BINDING]:(r,e)=>r.bindVertexArray(e),[o.GL.FRAMEBUFFER_BINDING]:hn,[o.GL.READ_FRAMEBUFFER_BINDING]:hn,[o.GL.ARRAY_BUFFER_BINDING]:mt,[o.GL.COPY_READ_BUFFER_BINDING]:mt,[o.GL.COPY_WRITE_BUFFER_BINDING]:mt,[o.GL.PIXEL_PACK_BUFFER_BINDING]:mt,[o.GL.PIXEL_UNPACK_BUFFER_BINDING]:mt,[o.GL.FRONT_FACE]:(r,e)=>r.frontFace(e),[o.GL.GENERATE_MIPMAP_HINT]:mn,[o.GL.LINE_WIDTH]:(r,e)=>r.lineWidth(e),[o.GL.POLYGON_OFFSET_FILL]:w,[o.GL.POLYGON_OFFSET_FACTOR]:"polygonOffset",[o.GL.POLYGON_OFFSET_UNITS]:"polygonOffset",[o.GL.RASTERIZER_DISCARD]:w,[o.GL.SAMPLE_ALPHA_TO_COVERAGE]:w,[o.GL.SAMPLE_COVERAGE]:w,[o.GL.SAMPLE_COVERAGE_VALUE]:"sampleCoverage",[o.GL.SAMPLE_COVERAGE_INVERT]:"sampleCoverage",[o.GL.SCISSOR_TEST]:w,[o.GL.SCISSOR_BOX]:(r,e)=>r.scissor(...e),[o.GL.STENCIL_TEST]:w,[o.GL.STENCIL_CLEAR_VALUE]:(r,e)=>r.clearStencil(e),[o.GL.STENCIL_WRITEMASK]:(r,e)=>r.stencilMaskSeparate(o.GL.FRONT,e),[o.GL.STENCIL_BACK_WRITEMASK]:(r,e)=>r.stencilMaskSeparate(o.GL.BACK,e),[o.GL.STENCIL_FUNC]:"stencilFuncFront",[o.GL.STENCIL_REF]:"stencilFuncFront",[o.GL.STENCIL_VALUE_MASK]:"stencilFuncFront",[o.GL.STENCIL_BACK_FUNC]:"stencilFuncBack",[o.GL.STENCIL_BACK_REF]:"stencilFuncBack",[o.GL.STENCIL_BACK_VALUE_MASK]:"stencilFuncBack",[o.GL.STENCIL_FAIL]:"stencilOpFront",[o.GL.STENCIL_PASS_DEPTH_FAIL]:"stencilOpFront",[o.GL.STENCIL_PASS_DEPTH_PASS]:"stencilOpFront",[o.GL.STENCIL_BACK_FAIL]:"stencilOpBack",[o.GL.STENCIL_BACK_PASS_DEPTH_FAIL]:"stencilOpBack",[o.GL.STENCIL_BACK_PASS_DEPTH_PASS]:"stencilOpBack",[o.GL.VIEWPORT]:(r,e)=>r.viewport(...e),[o.GL.DEPTH_CLAMP_EXT]:w,[o.GL.POLYGON_OFFSET_LINE_WEBGL]:w,[o.GL.CLIP_DISTANCE0_WEBGL]:w,[o.GL.CLIP_DISTANCE1_WEBGL]:w,[o.GL.CLIP_DISTANCE2_WEBGL]:w,[o.GL.CLIP_DISTANCE3_WEBGL]:w,[o.GL.CLIP_DISTANCE4_WEBGL]:w,[o.GL.CLIP_DISTANCE5_WEBGL]:w,[o.GL.CLIP_DISTANCE6_WEBGL]:w,[o.GL.CLIP_DISTANCE7_WEBGL]:w,[o.GL.PACK_ALIGNMENT]:z,[o.GL.UNPACK_ALIGNMENT]:z,[o.GL.UNPACK_FLIP_Y_WEBGL]:z,[o.GL.UNPACK_PREMULTIPLY_ALPHA_WEBGL]:z,[o.GL.UNPACK_COLORSPACE_CONVERSION_WEBGL]:z,[o.GL.PACK_ROW_LENGTH]:z,[o.GL.PACK_SKIP_PIXELS]:z,[o.GL.PACK_SKIP_ROWS]:z,[o.GL.UNPACK_ROW_LENGTH]:z,[o.GL.UNPACK_IMAGE_HEIGHT]:z,[o.GL.UNPACK_SKIP_PIXELS]:z,[o.GL.UNPACK_SKIP_ROWS]:z,[o.GL.UNPACK_SKIP_IMAGES]:z,framebuffer:(r,e)=>{let t=e&&"handle"in e?e.handle:e;return r.bindFramebuffer(o.GL.FRAMEBUFFER,t)},blend:(r,e)=>e?r.enable(o.GL.BLEND):r.disable(o.GL.BLEND),blendColor:(r,e)=>r.blendColor(...e),blendEquation:(r,e)=>{let t=typeof e=="number"?[e,e]:e;r.blendEquationSeparate(...t)},blendFunc:(r,e)=>{let t=e?.length===2?[...e,...e]:e;r.blendFuncSeparate(...t)},clearColor:(r,e)=>r.clearColor(...e),clearDepth:(r,e)=>r.clearDepth(e),clearStencil:(r,e)=>r.clearStencil(e),colorMask:(r,e)=>r.colorMask(...e),cull:(r,e)=>e?r.enable(o.GL.CULL_FACE):r.disable(o.GL.CULL_FACE),cullFace:(r,e)=>r.cullFace(e),depthTest:(r,e)=>e?r.enable(o.GL.DEPTH_TEST):r.disable(o.GL.DEPTH_TEST),depthFunc:(r,e)=>r.depthFunc(e),depthMask:(r,e)=>r.depthMask(e),depthRange:(r,e)=>r.depthRange(...e),dither:(r,e)=>e?r.enable(o.GL.DITHER):r.disable(o.GL.DITHER),derivativeHint:(r,e)=>{r.hint(o.GL.FRAGMENT_SHADER_DERIVATIVE_HINT,e)},frontFace:(r,e)=>r.frontFace(e),mipmapHint:(r,e)=>r.hint(o.GL.GENERATE_MIPMAP_HINT,e),lineWidth:(r,e)=>r.lineWidth(e),polygonOffsetFill:(r,e)=>e?r.enable(o.GL.POLYGON_OFFSET_FILL):r.disable(o.GL.POLYGON_OFFSET_FILL),polygonOffset:(r,e)=>r.polygonOffset(...e),sampleCoverage:(r,e)=>r.sampleCoverage(...e),scissorTest:(r,e)=>e?r.enable(o.GL.SCISSOR_TEST):r.disable(o.GL.SCISSOR_TEST),scissor:(r,e)=>r.scissor(...e),stencilTest:(r,e)=>e?r.enable(o.GL.STENCIL_TEST):r.disable(o.GL.STENCIL_TEST),stencilMask:(r,e)=>{e=Rr(e)?e:[e,e];let[t,n]=e;r.stencilMaskSeparate(o.GL.FRONT,t),r.stencilMaskSeparate(o.GL.BACK,n)},stencilFunc:(r,e)=>{e=Rr(e)&&e.length===3?[...e,...e]:e;let[t,n,i,s,a,u]=e;r.stencilFuncSeparate(o.GL.FRONT,t,n,i),r.stencilFuncSeparate(o.GL.BACK,s,a,u)},stencilOp:(r,e)=>{e=Rr(e)&&e.length===3?[...e,...e]:e;let[t,n,i,s,a,u]=e;r.stencilOpSeparate(o.GL.FRONT,t,n,i),r.stencilOpSeparate(o.GL.BACK,s,a,u)},viewport:(r,e)=>r.viewport(...e)};function B(r,e,t){return e[r]!==void 0?e[r]:t[r]}var gn={blendEquation:(r,e,t)=>r.blendEquationSeparate(B(o.GL.BLEND_EQUATION_RGB,e,t),B(o.GL.BLEND_EQUATION_ALPHA,e,t)),blendFunc:(r,e,t)=>r.blendFuncSeparate(B(o.GL.BLEND_SRC_RGB,e,t),B(o.GL.BLEND_DST_RGB,e,t),B(o.GL.BLEND_SRC_ALPHA,e,t),B(o.GL.BLEND_DST_ALPHA,e,t)),polygonOffset:(r,e,t)=>r.polygonOffset(B(o.GL.POLYGON_OFFSET_FACTOR,e,t),B(o.GL.POLYGON_OFFSET_UNITS,e,t)),sampleCoverage:(r,e,t)=>r.sampleCoverage(B(o.GL.SAMPLE_COVERAGE_VALUE,e,t),B(o.GL.SAMPLE_COVERAGE_INVERT,e,t)),stencilFuncFront:(r,e,t)=>r.stencilFuncSeparate(o.GL.FRONT,B(o.GL.STENCIL_FUNC,e,t),B(o.GL.STENCIL_REF,e,t),B(o.GL.STENCIL_VALUE_MASK,e,t)),stencilFuncBack:(r,e,t)=>r.stencilFuncSeparate(o.GL.BACK,B(o.GL.STENCIL_BACK_FUNC,e,t),B(o.GL.STENCIL_BACK_REF,e,t),B(o.GL.STENCIL_BACK_VALUE_MASK,e,t)),stencilOpFront:(r,e,t)=>r.stencilOpSeparate(o.GL.FRONT,B(o.GL.STENCIL_FAIL,e,t),B(o.GL.STENCIL_PASS_DEPTH_FAIL,e,t),B(o.GL.STENCIL_PASS_DEPTH_PASS,e,t)),stencilOpBack:(r,e,t)=>r.stencilOpSeparate(o.GL.BACK,B(o.GL.STENCIL_BACK_FAIL,e,t),B(o.GL.STENCIL_BACK_PASS_DEPTH_FAIL,e,t),B(o.GL.STENCIL_BACK_PASS_DEPTH_PASS,e,t))},Ar={enable:(r,e)=>r({[e]:!0}),disable:(r,e)=>r({[e]:!1}),pixelStorei:(r,e,t)=>r({[e]:t}),hint:(r,e,t)=>r({[e]:t}),useProgram:(r,e)=>r({[o.GL.CURRENT_PROGRAM]:e}),bindRenderbuffer:(r,e,t)=>r({[o.GL.RENDERBUFFER_BINDING]:t}),bindTransformFeedback:(r,e,t)=>r({[o.GL.TRANSFORM_FEEDBACK_BINDING]:t}),bindVertexArray:(r,e)=>r({[o.GL.VERTEX_ARRAY_BINDING]:e}),bindFramebuffer:(r,e,t)=>{switch(e){case o.GL.FRAMEBUFFER:return r({[o.GL.DRAW_FRAMEBUFFER_BINDING]:t,[o.GL.READ_FRAMEBUFFER_BINDING]:t});case o.GL.DRAW_FRAMEBUFFER:return r({[o.GL.DRAW_FRAMEBUFFER_BINDING]:t});case o.GL.READ_FRAMEBUFFER:return r({[o.GL.READ_FRAMEBUFFER_BINDING]:t});default:return null}},bindBuffer:(r,e,t)=>{let n={[o.GL.ARRAY_BUFFER]:[o.GL.ARRAY_BUFFER_BINDING],[o.GL.COPY_READ_BUFFER]:[o.GL.COPY_READ_BUFFER_BINDING],[o.GL.COPY_WRITE_BUFFER]:[o.GL.COPY_WRITE_BUFFER_BINDING],[o.GL.PIXEL_PACK_BUFFER]:[o.GL.PIXEL_PACK_BUFFER_BINDING],[o.GL.PIXEL_UNPACK_BUFFER]:[o.GL.PIXEL_UNPACK_BUFFER_BINDING]}[e];return n?r({[n]:t}):{valueChanged:!0}},blendColor:(r,e,t,n,i)=>r({[o.GL.BLEND_COLOR]:new Float32Array([e,t,n,i])}),blendEquation:(r,e)=>r({[o.GL.BLEND_EQUATION_RGB]:e,[o.GL.BLEND_EQUATION_ALPHA]:e}),blendEquationSeparate:(r,e,t)=>r({[o.GL.BLEND_EQUATION_RGB]:e,[o.GL.BLEND_EQUATION_ALPHA]:t}),blendFunc:(r,e,t)=>r({[o.GL.BLEND_SRC_RGB]:e,[o.GL.BLEND_DST_RGB]:t,[o.GL.BLEND_SRC_ALPHA]:e,[o.GL.BLEND_DST_ALPHA]:t}),blendFuncSeparate:(r,e,t,n,i)=>r({[o.GL.BLEND_SRC_RGB]:e,[o.GL.BLEND_DST_RGB]:t,[o.GL.BLEND_SRC_ALPHA]:n,[o.GL.BLEND_DST_ALPHA]:i}),clearColor:(r,e,t,n,i)=>r({[o.GL.COLOR_CLEAR_VALUE]:new Float32Array([e,t,n,i])}),clearDepth:(r,e)=>r({[o.GL.DEPTH_CLEAR_VALUE]:e}),clearStencil:(r,e)=>r({[o.GL.STENCIL_CLEAR_VALUE]:e}),colorMask:(r,e,t,n,i)=>r({[o.GL.COLOR_WRITEMASK]:[e,t,n,i]}),cullFace:(r,e)=>r({[o.GL.CULL_FACE_MODE]:e}),depthFunc:(r,e)=>r({[o.GL.DEPTH_FUNC]:e}),depthRange:(r,e,t)=>r({[o.GL.DEPTH_RANGE]:new Float32Array([e,t])}),depthMask:(r,e)=>r({[o.GL.DEPTH_WRITEMASK]:e}),frontFace:(r,e)=>r({[o.GL.FRONT_FACE]:e}),lineWidth:(r,e)=>r({[o.GL.LINE_WIDTH]:e}),polygonOffset:(r,e,t)=>r({[o.GL.POLYGON_OFFSET_FACTOR]:e,[o.GL.POLYGON_OFFSET_UNITS]:t}),sampleCoverage:(r,e,t)=>r({[o.GL.SAMPLE_COVERAGE_VALUE]:e,[o.GL.SAMPLE_COVERAGE_INVERT]:t}),scissor:(r,e,t,n,i)=>r({[o.GL.SCISSOR_BOX]:new Int32Array([e,t,n,i])}),stencilMask:(r,e)=>r({[o.GL.STENCIL_WRITEMASK]:e,[o.GL.STENCIL_BACK_WRITEMASK]:e}),stencilMaskSeparate:(r,e,t)=>r({[e===o.GL.FRONT?o.GL.STENCIL_WRITEMASK:o.GL.STENCIL_BACK_WRITEMASK]:t}),stencilFunc:(r,e,t,n)=>r({[o.GL.STENCIL_FUNC]:e,[o.GL.STENCIL_REF]:t,[o.GL.STENCIL_VALUE_MASK]:n,[o.GL.STENCIL_BACK_FUNC]:e,[o.GL.STENCIL_BACK_REF]:t,[o.GL.STENCIL_BACK_VALUE_MASK]:n}),stencilFuncSeparate:(r,e,t,n,i)=>r({[e===o.GL.FRONT?o.GL.STENCIL_FUNC:o.GL.STENCIL_BACK_FUNC]:t,[e===o.GL.FRONT?o.GL.STENCIL_REF:o.GL.STENCIL_BACK_REF]:n,[e===o.GL.FRONT?o.GL.STENCIL_VALUE_MASK:o.GL.STENCIL_BACK_VALUE_MASK]:i}),stencilOp:(r,e,t,n)=>r({[o.GL.STENCIL_FAIL]:e,[o.GL.STENCIL_PASS_DEPTH_FAIL]:t,[o.GL.STENCIL_PASS_DEPTH_PASS]:n,[o.GL.STENCIL_BACK_FAIL]:e,[o.GL.STENCIL_BACK_PASS_DEPTH_FAIL]:t,[o.GL.STENCIL_BACK_PASS_DEPTH_PASS]:n}),stencilOpSeparate:(r,e,t,n,i)=>r({[e===o.GL.FRONT?o.GL.STENCIL_FAIL:o.GL.STENCIL_BACK_FAIL]:t,[e===o.GL.FRONT?o.GL.STENCIL_PASS_DEPTH_FAIL:o.GL.STENCIL_BACK_PASS_DEPTH_FAIL]:n,[e===o.GL.FRONT?o.GL.STENCIL_PASS_DEPTH_PASS:o.GL.STENCIL_BACK_PASS_DEPTH_PASS]:i}),viewport:(r,e,t,n,i)=>r({[o.GL.VIEWPORT]:[e,t,n,i]})},oe=(r,e)=>r.isEnabled(e),Sr={[o.GL.BLEND]:oe,[o.GL.CULL_FACE]:oe,[o.GL.DEPTH_TEST]:oe,[o.GL.DITHER]:oe,[o.GL.POLYGON_OFFSET_FILL]:oe,[o.GL.SAMPLE_ALPHA_TO_COVERAGE]:oe,[o.GL.SAMPLE_COVERAGE]:oe,[o.GL.SCISSOR_TEST]:oe,[o.GL.STENCIL_TEST]:oe,[o.GL.RASTERIZER_DISCARD]:oe},En=new Set([o.GL.ACTIVE_TEXTURE,o.GL.TRANSFORM_FEEDBACK_ACTIVE,o.GL.TRANSFORM_FEEDBACK_PAUSED,o.GL.TRANSFORM_FEEDBACK_BUFFER_BINDING,o.GL.UNIFORM_BUFFER_BINDING,o.GL.ELEMENT_ARRAY_BUFFER_BINDING,o.GL.IMPLEMENTATION_COLOR_READ_FORMAT,o.GL.IMPLEMENTATION_COLOR_READ_TYPE,o.GL.READ_BUFFER,o.GL.DRAW_BUFFER0,o.GL.DRAW_BUFFER1,o.GL.DRAW_BUFFER2,o.GL.DRAW_BUFFER3,o.GL.DRAW_BUFFER4,o.GL.DRAW_BUFFER5,o.GL.DRAW_BUFFER6,o.GL.DRAW_BUFFER7,o.GL.DRAW_BUFFER8,o.GL.DRAW_BUFFER9,o.GL.DRAW_BUFFER10,o.GL.DRAW_BUFFER11,o.GL.DRAW_BUFFER12,o.GL.DRAW_BUFFER13,o.GL.DRAW_BUFFER14,o.GL.DRAW_BUFFER15,o.GL.SAMPLER_BINDING,o.GL.TEXTURE_BINDING_2D,o.GL.TEXTURE_BINDING_2D_ARRAY,o.GL.TEXTURE_BINDING_3D,o.GL.TEXTURE_BINDING_CUBE_MAP]);function X(r,e){let n=K.attach(r).gl;if(so(e))return;let i={};for(let a in e){let u=Number(a),l=pn[a];l&&(typeof l=="string"?i[l]=!0:l(n,e[a],u))}let s=n.state&&n.state.cache;if(s)for(let a in i){let u=gn[a];u(n,e,s)}}function Xe(r,e=ht){let n=K.attach(r).gl;if(typeof e=="number"){let a=e,u=Sr[a];return u?u(n,a):n.getParameter(a)}let i=Array.isArray(e)?e:Object.keys(e),s={};for(let a of i){let u=Sr[a];s[a]=u?u(n,Number(a)):n.getParameter(Number(a))}return s}function bn(r){X(r,ht)}function so(r){for(let e in r)return!1;return!0}function _n(r,e){if(r===e)return!0;let t=Array.isArray(r)||ArrayBuffer.isView(r),n=Array.isArray(e)||ArrayBuffer.isView(e);if(t&&n&&r.length===e.length){for(let i=0;i<r.length;++i)if(r[i]!==e[i])return!1;return!0}return!1}var xr=class{gl;program=null;stateStack=[];enable=!0;cache;log;constructor(e,{copyState:t=!1,log:n=()=>{}}={}){this.gl=e,this.cache=t?Xe(e):Object.assign({},ht),this.log=n,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(e={}){this.stateStack.push({})}pop(){A(this.stateStack.length>0);let e=this.stateStack[this.stateStack.length-1];X(this.gl,e),this.stateStack.pop()}_updateCache(e){let t=!1,n,i=this.stateStack.length>0?this.stateStack[this.stateStack.length-1]:null;for(let s in e){A(s!==void 0);let a=e[s],u=this.cache[s];_n(a,u)||(t=!0,n=u,i&&!(s in i)&&(i[s]=u),this.cache[s]=a)}return{valueChanged:t,oldValue:n}}};function Ae(r){return r.state}function pt(r,e){let{enable:t=!0,copyState:n}=e;if(A(n!==void 0),!r.state){r.state=new xr(r,{copyState:n}),uo(r);for(let s in Ar){let a=Ar[s];ao(r,s,a)}Tn(r,"getParameter"),Tn(r,"isEnabled")}let i=Ae(r);return i.enable=t,r}function re(r){let e=Ae(r);e||(pt(r,{copyState:!1}),e=Ae(r)),e.push()}function Z(r){let e=Ae(r);A(e),e.pop()}function Tn(r,e){let t=r[e].bind(r);r[e]=function(i){if(i===void 0||En.has(i))return t(i);let s=Ae(r);return i in s.cache||(s.cache[i]=t(i)),s.enable?s.cache[i]:t(i)},Object.defineProperty(r[e],"name",{value:`${e}-from-cache`,configurable:!1})}function ao(r,e,t){if(!r[e])return;let n=r[e].bind(r);r[e]=function(...s){let a=Ae(r),{valueChanged:u,oldValue:l}=t(a._updateCache,...s);return u&&n(...s),l},Object.defineProperty(r[e],"name",{value:`${e}-to-cache`,configurable:!1})}function uo(r){let e=r.useProgram.bind(r);r.useProgram=function(n){let i=Ae(r);i.program!==n&&(e(n),i.program=n)}}var co={powerPreference:"high-performance",onContextLost:()=>console.error("WebGL context lost"),onContextRestored:()=>console.info("WebGL context restored")};function Ln(r,e){e={...co,...e};let t=null,n=s=>t=s.statusMessage||t;r.addEventListener("webglcontextcreationerror",n,!1);let i=null;if(i||=r.getContext("webgl2",e),r.removeEventListener("webglcontextcreationerror",n,!1),!i)throw new Error(`Failed to create WebGL context: ${t||"Unknown error"}`);if(e.onContextLost){let{onContextLost:s}=e;r.addEventListener("webglcontextlost",a=>s(a),!1)}if(e.onContextRestored){let{onContextRestored:s}=e;r.addEventListener("webglcontextrestored",a=>s(a),!1)}return i}var Ke=y(S(),1);function J(r,e,t){return t[e]===void 0&&(t[e]=r.getExtension(e)||null),t[e]}function Rn(r,e){let t=r.getParameter(Ke.GL.VENDOR),n=r.getParameter(Ke.GL.RENDERER);J(r,"WEBGL_debug_renderer_info",e);let i=e.WEBGL_debug_renderer_info,s=r.getParameter(i?i.UNMASKED_VENDOR_WEBGL:Ke.GL.VENDOR),a=r.getParameter(i?i.UNMASKED_RENDERER_WEBGL:Ke.GL.RENDERER),u=s||t,l=a||n,f=r.getParameter(Ke.GL.VERSION),d=An(u,l),b=lo(u,l),g=fo(u,l);return{type:"webgl",gpu:d,gpuType:g,gpuBackend:b,vendor:u,renderer:l,version:f,shadingLanguage:"glsl",shadingLanguageVersion:300}}function An(r,e){return/NVIDIA/i.exec(r)||/NVIDIA/i.exec(e)?"nvidia":/INTEL/i.exec(r)||/INTEL/i.exec(e)?"intel":/Apple/i.exec(r)||/Apple/i.exec(e)?"apple":/AMD/i.exec(r)||/AMD/i.exec(e)||/ATI/i.exec(r)||/ATI/i.exec(e)?"amd":/SwiftShader/i.exec(r)||/SwiftShader/i.exec(e)?"software":"unknown"}function lo(r,e){return/Metal/i.exec(r)||/Metal/i.exec(e)?"metal":/ANGLE/i.exec(r)||/ANGLE/i.exec(e)?"opengl":"unknown"}function fo(r,e){if(/SwiftShader/i.exec(r)||/SwiftShader/i.exec(e))return"cpu";switch(An(r,e)){case"intel":return"integrated";case"software":return"cpu";case"unknown":return"unknown";default:return"discrete"}}var c=y(S(),1);var j=y(S(),1);function Ot(r){switch(r){case"uint8":return j.GL.UNSIGNED_BYTE;case"sint8":return j.GL.BYTE;case"unorm8":return j.GL.UNSIGNED_BYTE;case"snorm8":return j.GL.BYTE;case"uint16":return j.GL.UNSIGNED_SHORT;case"sint16":return j.GL.SHORT;case"unorm16":return j.GL.UNSIGNED_SHORT;case"snorm16":return j.GL.SHORT;case"uint32":return j.GL.UNSIGNED_INT;case"sint32":return j.GL.INT;case"float16":return j.GL.HALF_FLOAT;case"float32":return j.GL.FLOAT}throw new Error(String(r))}var M="texture-compression-bc",C="texture-compression-astc",se="texture-compression-etc2",mo="texture-compression-etc1-webgl",Ut="texture-compression-pvrtc-webgl",yr="texture-compression-atc-webgl",gt="float32-renderable-webgl",Cr="float16-renderable-webgl",ho="rgb9e5ufloat_renderable-webgl",Gr="snorm8-renderable-webgl",Et="norm16-renderable-webgl",Pr="snorm16-renderable-webgl",Mt="float32-filterable",Sn="float16-filterable-webgl",bt="WEBGL_compressed_texture_s3tc",_t="WEBGL_compressed_texture_s3tc_srgb",Ye="EXT_texture_compression_rgtc",$e="EXT_texture_compression_bptc",po="WEBGL_compressed_texture_etc",go="WEBGL_compressed_texture_astc",Eo="WEBGL_compressed_texture_etc1",bo="WEBGL_compressed_texture_pvrtc",_o="WEBGL_compressed_texture_atc",xn="EXT_texture_norm16",yn="EXT_render_snorm",To="EXT_color_buffer_float",Wt={"float32-renderable-webgl":["EXT_color_buffer_float"],"float16-renderable-webgl":["EXT_color_buffer_half_float"],"rgb9e5ufloat_renderable-webgl":["WEBGL_render_shared_exponent"],"snorm8-renderable-webgl":[yn],"norm16-renderable-webgl":[xn],"snorm16-renderable-webgl":[xn,yn],"float32-filterable":["OES_texture_float_linear"],"float16-filterable-webgl":["OES_texture_half_float_linear"],"texture-filterable-anisotropic-webgl":["EXT_texture_filter_anisotropic"],"texture-blend-float-webgl":["EXT_float_blend"],"texture-compression-bc":[bt,_t,Ye,$e],"texture-compression-bc5-webgl":[Ye],"texture-compression-bc7-webgl":[$e],"texture-compression-etc2":[po],"texture-compression-astc":[go],"texture-compression-etc1-webgl":[Eo],"texture-compression-pvrtc-webgl":[bo],"texture-compression-atc-webgl":[_o]};function Cn(r){return r in Wt}function Gn(r,e,t){return(Wt[e]||[]).every(i=>J(r,i,t))}var Se={"rgb8unorm-unsized":{gl:c.GL.RGB,b:4,c:2,bpp:4,dataFormat:c.GL.RGB,types:[c.GL.UNSIGNED_BYTE,c.GL.UNSIGNED_SHORT_5_6_5]},"rgba8unorm-unsized":{gl:c.GL.RGBA,b:4,c:2,bpp:4,dataFormat:c.GL.RGBA,types:[c.GL.UNSIGNED_BYTE,c.GL.UNSIGNED_SHORT_4_4_4_4,c.GL.UNSIGNED_SHORT_5_5_5_1]},r8unorm:{gl:c.GL.R8,b:1,c:1,renderbuffer:!0},r8snorm:{gl:c.GL.R8_SNORM,b:1,c:1,render:Gr},r8uint:{gl:c.GL.R8UI,b:1,c:1,renderbuffer:!0},r8sint:{gl:c.GL.R8I,b:1,c:1,renderbuffer:!0},rg8unorm:{gl:c.GL.RG8,b:2,c:2,renderbuffer:!0},rg8snorm:{gl:c.GL.RG8_SNORM,b:2,c:2,render:Gr},rg8uint:{gl:c.GL.RG8UI,b:2,c:2,renderbuffer:!0},rg8sint:{gl:c.GL.RG8I,b:2,c:2,renderbuffer:!0},r16uint:{gl:c.GL.R16UI,b:2,c:1,renderbuffer:!0},r16sint:{gl:c.GL.R16I,b:2,c:1,renderbuffer:!0},r16float:{gl:c.GL.R16F,b:2,c:1,render:Cr,filter:"float16-filterable-webgl",renderbuffer:!0},"r16unorm-webgl":{gl:c.GL.R16_EXT,b:2,c:1,f:Et,renderbuffer:!0},"r16snorm-webgl":{gl:c.GL.R16_SNORM_EXT,b:2,c:1,f:Pr},"rgba4unorm-webgl":{gl:c.GL.RGBA4,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb565unorm-webgl":{gl:c.GL.RGB565,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb5a1unorm-webgl":{gl:c.GL.RGB5_A1,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb8unorm-webgl":{gl:c.GL.RGB8,b:3,c:3,wgpu:!1},"rgb8snorm-webgl":{gl:c.GL.RGB8_SNORM,b:3,c:3,wgpu:!1},rgba8unorm:{gl:c.GL.RGBA8,b:4,c:2,bpp:4},"rgba8unorm-srgb":{gl:c.GL.SRGB8_ALPHA8,b:4,c:4,bpp:4},rgba8snorm:{gl:c.GL.RGBA8_SNORM,b:4,c:4,render:Gr},rgba8uint:{gl:c.GL.RGBA8UI,b:4,c:4,bpp:4},rgba8sint:{gl:c.GL.RGBA8I,b:4,c:4,bpp:4},bgra8unorm:{b:4,c:4},"bgra8unorm-srgb":{b:4,c:4},rg16uint:{gl:c.GL.RG16UI,b:4,c:1,bpp:4},rg16sint:{gl:c.GL.RG16I,b:4,c:2,bpp:4},rg16float:{gl:c.GL.RG16F,bpp:4,b:4,c:2,render:Cr,filter:Sn,renderbuffer:!0},"rg16unorm-webgl":{gl:c.GL.RG16_EXT,b:2,c:2,render:Et},"rg16snorm-webgl":{gl:c.GL.RG16_SNORM_EXT,b:2,c:2,render:Pr},r32uint:{gl:c.GL.R32UI,b:4,c:1,bpp:4,renderbuffer:!0},r32sint:{gl:c.GL.R32I,b:4,c:1,bpp:4,renderbuffer:!0},r32float:{gl:c.GL.R32F,bpp:4,b:4,c:1,render:gt,filter:Mt},rgb9e5ufloat:{gl:c.GL.RGB9_E5,b:4,c:3,p:1,render:ho},rg11b10ufloat:{gl:c.GL.R11F_G11F_B10F,b:4,c:3,p:1,render:gt,renderbuffer:!0},rgb10a2unorm:{gl:c.GL.RGB10_A2,b:4,c:4,p:1,renderbuffer:!0},"rgb10a2uint-webgl":{b:4,c:4,gl:c.GL.RGB10_A2UI,p:1,wgpu:!1,bpp:4,renderbuffer:!0},"rgb16unorm-webgl":{gl:c.GL.RGB16_EXT,b:2,c:3,f:Et},"rgb16snorm-webgl":{gl:c.GL.RGB16_SNORM_EXT,b:2,c:3,f:Et},rg32uint:{gl:c.GL.RG32UI,b:8,c:2,renderbuffer:!0},rg32sint:{gl:c.GL.RG32I,b:8,c:2,renderbuffer:!0},rg32float:{gl:c.GL.RG32F,b:8,c:2,render:gt,filter:Mt,renderbuffer:!0},rgba16uint:{gl:c.GL.RGBA16UI,b:8,c:4,renderbuffer:!0},rgba16sint:{gl:c.GL.RGBA16I,b:8,c:4,renderbuffer:!0},rgba16float:{gl:c.GL.RGBA16F,b:8,c:4,render:Cr,filter:Sn},"rgba16unorm-webgl":{gl:c.GL.RGBA16_EXT,b:2,c:4,render:Et,renderbuffer:!0},"rgba16snorm-webgl":{gl:c.GL.RGBA16_SNORM_EXT,b:2,c:4,render:Pr},"rgb32float-webgl":{gl:c.GL.RGB32F,render:gt,filter:Mt,gl2ext:To,dataFormat:c.GL.RGB,types:[c.GL.FLOAT]},rgba32uint:{gl:c.GL.RGBA32UI,b:16,c:4,renderbuffer:!0},rgba32sint:{gl:c.GL.RGBA32I,b:16,c:4,renderbuffer:!0},rgba32float:{gl:c.GL.RGBA32F,b:16,c:4,render:gt,filter:Mt,renderbuffer:!0},stencil8:{gl:c.GL.STENCIL_INDEX8,b:1,c:1,attachment:c.GL.STENCIL_ATTACHMENT,renderbuffer:!0},depth16unorm:{gl:c.GL.DEPTH_COMPONENT16,b:2,c:1,attachment:c.GL.DEPTH_ATTACHMENT,renderbuffer:!0},depth24plus:{gl:c.GL.DEPTH_COMPONENT24,b:3,c:1,attachment:c.GL.DEPTH_ATTACHMENT},depth32float:{gl:c.GL.DEPTH_COMPONENT32F,b:4,c:1,attachment:c.GL.DEPTH_ATTACHMENT,renderbuffer:!0},"depth24plus-stencil8":{gl:c.GL.DEPTH_STENCIL,b:4,c:2,p:1,attachment:c.GL.DEPTH_STENCIL_ATTACHMENT,renderbuffer:!0,depthTexture:!0},"depth24unorm-stencil8":{gl:c.GL.DEPTH24_STENCIL8,b:4,c:2,p:1,attachment:c.GL.DEPTH_STENCIL_ATTACHMENT,renderbuffer:!0},"depth32float-stencil8":{gl:c.GL.DEPTH32F_STENCIL8,b:5,c:2,p:1,attachment:c.GL.DEPTH_STENCIL_ATTACHMENT,renderbuffer:!0},"bc1-rgb-unorm-webgl":{gl:c.GL.COMPRESSED_RGB_S3TC_DXT1_EXT,x:bt,f:M},"bc1-rgb-unorm-srgb-webgl":{gl:c.GL.COMPRESSED_SRGB_S3TC_DXT1_EXT,x:_t,f:M},"bc1-rgba-unorm":{gl:c.GL.COMPRESSED_RGBA_S3TC_DXT1_EXT,x:bt,f:M},"bc1-rgba-unorm-srgb":{gl:c.GL.COMPRESSED_SRGB_S3TC_DXT1_EXT,x:_t,f:M},"bc2-rgba-unorm":{gl:c.GL.COMPRESSED_RGBA_S3TC_DXT3_EXT,x:bt,f:M},"bc2-rgba-unorm-srgb":{gl:c.GL.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,x:_t,f:M},"bc3-rgba-unorm":{gl:c.GL.COMPRESSED_RGBA_S3TC_DXT5_EXT,x:bt,f:M},"bc3-rgba-unorm-srgb":{gl:c.GL.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,x:_t,f:M},"bc4-r-unorm":{gl:c.GL.COMPRESSED_RED_RGTC1_EXT,x:Ye,f:M},"bc4-r-snorm":{gl:c.GL.COMPRESSED_SIGNED_RED_RGTC1_EXT,x:Ye,f:M},"bc5-rg-unorm":{gl:c.GL.COMPRESSED_RED_GREEN_RGTC2_EXT,x:Ye,f:M},"bc5-rg-snorm":{gl:c.GL.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,x:Ye,f:M},"bc6h-rgb-ufloat":{gl:c.GL.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT,x:$e,f:M},"bc6h-rgb-float":{gl:c.GL.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT,x:$e,f:M},"bc7-rgba-unorm":{gl:c.GL.COMPRESSED_RGBA_BPTC_UNORM_EXT,x:$e,f:M},"bc7-rgba-unorm-srgb":{gl:c.GL.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT,x:$e,f:M},"etc2-rgb8unorm":{gl:c.GL.COMPRESSED_RGB8_ETC2,f:se},"etc2-rgb8unorm-srgb":{gl:c.GL.COMPRESSED_SRGB8_ETC2,f:se},"etc2-rgb8a1unorm":{gl:c.GL.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,f:se},"etc2-rgb8a1unorm-srgb":{gl:c.GL.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,f:se},"etc2-rgba8unorm":{gl:c.GL.COMPRESSED_RGBA8_ETC2_EAC,f:se},"etc2-rgba8unorm-srgb":{gl:c.GL.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,f:se},"eac-r11unorm":{gl:c.GL.COMPRESSED_R11_EAC,f:se},"eac-r11snorm":{gl:c.GL.COMPRESSED_SIGNED_R11_EAC,f:se},"eac-rg11unorm":{gl:c.GL.COMPRESSED_RG11_EAC,f:se},"eac-rg11snorm":{gl:c.GL.COMPRESSED_SIGNED_RG11_EAC,f:se},"astc-4x4-unorm":{gl:c.GL.COMPRESSED_RGBA_ASTC_4x4_KHR,f:C},"astc-4x4-unorm-srgb":{gl:c.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,f:C},"astc-5x4-unorm":{gl:c.GL.COMPRESSED_RGBA_ASTC_5x4_KHR,f:C},"astc-5x4-unorm-srgb":{gl:c.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR,f:C},"astc-5x5-unorm":{gl:c.GL.COMPRESSED_RGBA_ASTC_5x5_KHR,f:C},"astc-5x5-unorm-srgb":{gl:c.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,f:C},"astc-6x5-unorm":{gl:c.GL.COMPRESSED_RGBA_ASTC_6x5_KHR,f:C},"astc-6x5-unorm-srgb":{gl:c.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,f:C},"astc-6x6-unorm":{gl:c.GL.COMPRESSED_RGBA_ASTC_6x6_KHR,f:C},"astc-6x6-unorm-srgb":{gl:c.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,f:C},"astc-8x5-unorm":{gl:c.GL.COMPRESSED_RGBA_ASTC_8x5_KHR,f:C},"astc-8x5-unorm-srgb":{gl:c.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,f:C},"astc-8x6-unorm":{gl:c.GL.COMPRESSED_RGBA_ASTC_8x6_KHR,f:C},"astc-8x6-unorm-srgb":{gl:c.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,f:C},"astc-8x8-unorm":{gl:c.GL.COMPRESSED_RGBA_ASTC_8x8_KHR,f:C},"astc-8x8-unorm-srgb":{gl:c.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,f:C},"astc-10x5-unorm":{gl:c.GL.COMPRESSED_RGBA_ASTC_10x10_KHR,f:C},"astc-10x5-unorm-srgb":{gl:c.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,f:C},"astc-10x6-unorm":{gl:c.GL.COMPRESSED_RGBA_ASTC_10x6_KHR,f:C},"astc-10x6-unorm-srgb":{gl:c.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,f:C},"astc-10x8-unorm":{gl:c.GL.COMPRESSED_RGBA_ASTC_10x8_KHR,f:C},"astc-10x8-unorm-srgb":{gl:c.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,f:C},"astc-10x10-unorm":{gl:c.GL.COMPRESSED_RGBA_ASTC_10x10_KHR,f:C},"astc-10x10-unorm-srgb":{gl:c.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,f:C},"astc-12x10-unorm":{gl:c.GL.COMPRESSED_RGBA_ASTC_12x10_KHR,f:C},"astc-12x10-unorm-srgb":{gl:c.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,f:C},"astc-12x12-unorm":{gl:c.GL.COMPRESSED_RGBA_ASTC_12x12_KHR,f:C},"astc-12x12-unorm-srgb":{gl:c.GL.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,f:C},"pvrtc-rgb4unorm-webgl":{gl:c.GL.COMPRESSED_RGB_PVRTC_4BPPV1_IMG,f:Ut},"pvrtc-rgba4unorm-webgl":{gl:c.GL.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,f:Ut},"pvrtc-rbg2unorm-webgl":{gl:c.GL.COMPRESSED_RGB_PVRTC_2BPPV1_IMG,f:Ut},"pvrtc-rgba2unorm-webgl":{gl:c.GL.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,f:Ut},"etc1-rbg-unorm-webgl":{gl:c.GL.COMPRESSED_RGB_ETC1_WEBGL,f:mo},"atc-rgb-unorm-webgl":{gl:c.GL.COMPRESSED_RGB_ATC_WEBGL,f:yr},"atc-rgba-unorm-webgl":{gl:c.GL.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,f:yr},"atc-rgbai-unorm-webgl":{gl:c.GL.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL,f:yr}},Lo={[c.GL.RED]:1,[c.GL.RED_INTEGER]:1,[c.GL.RG]:2,[c.GL.RG_INTEGER]:2,[c.GL.RGB]:3,[c.GL.RGB_INTEGER]:3,[c.GL.RGBA]:4,[c.GL.RGBA_INTEGER]:4,[c.GL.DEPTH_COMPONENT]:1,[c.GL.DEPTH_STENCIL]:1,[c.GL.ALPHA]:1,[c.GL.LUMINANCE]:1,[c.GL.LUMINANCE_ALPHA]:2},Ro={[c.GL.FLOAT]:4,[c.GL.UNSIGNED_INT]:4,[c.GL.INT]:4,[c.GL.UNSIGNED_SHORT]:2,[c.GL.SHORT]:2,[c.GL.HALF_FLOAT]:2,[c.GL.BYTE]:1,[c.GL.UNSIGNED_BYTE]:1};function Tt(r,e,t){let n=xe(e),i=Se[n];if(!i||i.gl===void 0)return!1;let s=i.x||i.gl2ext;return s?Boolean(J(r,s,t)):!0}function Pn(r,e,t){return Tt(r,e,t)&&Se[e]?.renderbuffer}function xe(r){if(typeof r=="string")return r;let e=Object.entries(Se).find(([,t])=>t.gl===r);if(!e)throw new Error(`Unknown texture format ${r}`);return e[0]}function Lt(r){let t=Se[r]?.gl;if(t===void 0)throw new Error(`Unsupported texture format ${r}`);return t}function Fn(r,e,t){let n=xe(e);if(!Tt(r,n,t))return!1;try{if(Dt(n).signed)return!1}catch{return!1}return n.endsWith("32float")?Boolean(J(r,"OES_texture_float_linear, extensions",t)):n.endsWith("16float")?Boolean(J(r,"OES_texture_half_float_linear, extensions",t)):!0}function Bn(r,e,t){let n=xe(e);return!(!Tt(r,n,t)||typeof n=="number")}function ze(r){let e=xe(r),t=Lt(e),n=Dt(e);return{format:t,dataFormat:Ao(n.format,n.integer,n.normalized,t),type:n.dataType?Ot(n.dataType):c.GL.UNSIGNED_BYTE,compressed:n.compressed}}function In(r){let e=Se[r];if(!e?.attachment)throw new Error(`${r} is not a depth stencil format`);return e.attachment}function Rt(r){let e=xe(r),t=ze(e),n=Lo[t.dataFormat]||4,i=Ro[t.type]||1;return n*i}function Ao(r,e,t,n){if(n===c.GL.RGBA||n===c.GL.RGB)return n;switch(r){case"r":return e&&!t?c.GL.RED_INTEGER:c.GL.RED;case"rg":return e&&!t?c.GL.RG_INTEGER:c.GL.RG;case"rgb":return e&&!t?c.GL.RGB_INTEGER:c.GL.RGB;case"rgba":return e&&!t?c.GL.RGBA_INTEGER:c.GL.RGBA;default:return c.GL.RGBA}}var Nn={"depth-clip-control":"EXT_depth_clamp","timer-query-webgl":"EXT_disjoint_timer_query_webgl2","compilation-status-async-webgl":"KHR_parallel_shader_compile","polygon-mode-webgl":"WEBGL_polygon_mode","provoking-vertex-webgl":"WEBGL_provoking_vertex","shader-clip-cull-distance-webgl":"WEBGL_clip_cull_distance","shader-noperspective-interpolation-webgl":"NV_shader_noperspective_interpolation","shader-conservative-depth-webgl":"EXT_conservative_depth"},Ht=class extends ft{gl;extensions;testedFeatures=new Set;constructor(e,t){super(),this.gl=e,this.extensions=t,J(e,"EXT_color_buffer_float",t)}*[Symbol.iterator](){for(let e of Object.keys(Nn))this.has(e)&&(yield e);for(let e of Object.keys(Wt))this.has(e)&&(yield e);return[]}has(e){return this.testedFeatures.has(e)||(this.testedFeatures.add(e),Cn(e)&&Gn(this.gl,e,this.extensions)&&this.features.add(e),this.getWebGLFeature(e)&&this.features.add(e)),this.features.has(e)}getWebGLFeature(e){let t=Nn[e];return Boolean(typeof t=="string"?J(this.gl,t,this.extensions):t)}};var ne=y(S(),1),kt=class extends lt{get maxTextureDimension1D(){return 0}get maxTextureDimension2D(){return this.getParameter(ne.GL.MAX_TEXTURE_SIZE)}get maxTextureDimension3D(){return this.getParameter(ne.GL.MAX_3D_TEXTURE_SIZE)}get maxTextureArrayLayers(){return this.getParameter(ne.GL.MAX_ARRAY_TEXTURE_LAYERS)}get maxBindGroups(){return 0}get maxDynamicUniformBuffersPerPipelineLayout(){return 0}get maxDynamicStorageBuffersPerPipelineLayout(){return 0}get maxSampledTexturesPerShaderStage(){return this.getParameter(ne.GL.MAX_VERTEX_TEXTURE_IMAGE_UNITS)}get maxSamplersPerShaderStage(){return this.getParameter(ne.GL.MAX_COMBINED_TEXTURE_IMAGE_UNITS)}get maxStorageBuffersPerShaderStage(){return 0}get maxStorageTexturesPerShaderStage(){return 0}get maxUniformBuffersPerShaderStage(){return this.getParameter(ne.GL.MAX_UNIFORM_BUFFER_BINDINGS)}get maxUniformBufferBindingSize(){return this.getParameter(ne.GL.MAX_UNIFORM_BLOCK_SIZE)}get maxStorageBufferBindingSize(){return 0}get minUniformBufferOffsetAlignment(){return this.getParameter(ne.GL.UNIFORM_BUFFER_OFFSET_ALIGNMENT)}get minStorageBufferOffsetAlignment(){return 0}get maxVertexBuffers(){return 16}get maxVertexAttributes(){return this.getParameter(ne.GL.MAX_VERTEX_ATTRIBS)}get maxVertexBufferArrayStride(){return 2048}get maxInterStageShaderComponents(){return this.getParameter(ne.GL.MAX_VARYING_COMPONENTS)}get maxComputeWorkgroupStorageSize(){return 0}get maxComputeInvocationsPerWorkgroup(){return 0}get maxComputeWorkgroupSizeX(){return 0}get maxComputeWorkgroupSizeY(){return 0}get maxComputeWorkgroupSizeZ(){return 0}get maxComputeWorkgroupsPerDimension(){return 0}gl;limits={};constructor(e){super(),this.gl=e}getParameter(e){return this.limits[e]===void 0&&(this.limits[e]=this.gl.getParameter(e)),this.limits[e]}};var F=y(S(),1);var G=y(S(),1);function Y(r,e,t){let i=K.attach(r).gl;if(So(e))return t(r);let{nocatch:s=!0}=e;re(i),X(i,e);let a;if(s)a=t(i),Z(i);else try{a=t(i)}finally{Z(i)}return a}function So(r){for(let e in r)return!1;return!0}var N=y(S(),1);var h=y(S(),1);function vn(r,e,t,n){if(Ne(e))return n(r);re(r.gl);try{return Kt(r,e),X(r,t),n(r)}finally{Z(r.gl)}}function wn(r,e,t){if(Ne(e))return t(r);re(r.gl);try{return Kt(r,e),t(r)}finally{Z(r.gl)}}function Kt(r,e){let t=K.attach(r),{gl:n}=t;if(e.cullMode)switch(e.cullMode){case"none":n.disable(h.GL.CULL_FACE);break;case"front":n.enable(h.GL.CULL_FACE),n.cullFace(h.GL.FRONT);break;case"back":n.enable(h.GL.CULL_FACE),n.cullFace(h.GL.BACK);break}if(e.frontFace&&n.frontFace(ye("frontFace",e.frontFace,{ccw:h.GL.CCW,cw:h.GL.CW})),e.unclippedDepth&&r.features.has("depth-clip-control")&&n.enable(h.GL.DEPTH_CLAMP_EXT),e.depthBias!==void 0&&n.polygonOffset(e.depthBias,e.depthBiasSlopeScale||0),r.features.has("provoking-vertex-webgl")){let s=t.getExtension("WEBGL_provoking_vertex").WEBGL_provoking_vertex;if(e.provokingVertex){let a=ye("provokingVertex",e.provokingVertex,{first:h.GL.FIRST_VERTEX_CONVENTION_WEBGL,last:h.GL.LAST_VERTEX_CONVENTION_WEBGL});s?.provokingVertexWEBGL(a)}}if(r.features.has("polygon-mode-webgl")){let s=t.getExtension("WEBGL_polygon_mode").WEBGL_polygon_mode;if(e.polygonMode){let a=ye("polygonMode",e.provokingVertex,{fill:h.GL.FILL_WEBGL,lint:h.GL.LINE_WEBGL});s?.polygonModeWEBGL(h.GL.FRONT,a),s?.polygonModeWEBGL(h.GL.BACK,a)}e.polygonOffsetLine&&n.enable(h.GL.POLYGON_OFFSET_LINE_WEBGL)}if(r.features.has("shader-clip-cull-distance-webgl")&&(e.clipDistance0&&n.enable(h.GL.CLIP_DISTANCE0_WEBGL),e.clipDistance1&&n.enable(h.GL.CLIP_DISTANCE1_WEBGL),e.clipDistance2&&n.enable(h.GL.CLIP_DISTANCE2_WEBGL),e.clipDistance3&&n.enable(h.GL.CLIP_DISTANCE3_WEBGL),e.clipDistance4&&n.enable(h.GL.CLIP_DISTANCE4_WEBGL),e.clipDistance5&&n.enable(h.GL.CLIP_DISTANCE5_WEBGL),e.clipDistance6&&n.enable(h.GL.CLIP_DISTANCE6_WEBGL),e.clipDistance7&&n.enable(h.GL.CLIP_DISTANCE7_WEBGL)),e.depthWriteEnabled!==void 0&&n.depthMask(yo("depthWriteEnabled",e.depthWriteEnabled)),e.depthCompare&&(e.depthCompare!=="always"?n.enable(h.GL.DEPTH_TEST):n.disable(h.GL.DEPTH_TEST),n.depthFunc(Xt("depthCompare",e.depthCompare))),e.stencilWriteMask){let i=e.stencilWriteMask;n.stencilMaskSeparate(h.GL.FRONT,i),n.stencilMaskSeparate(h.GL.BACK,i)}if(e.stencilReadMask&&m.warn("stencilReadMask not supported under WebGL"),e.stencilCompare){let i=e.stencilReadMask||4294967295,s=Xt("depthCompare",e.stencilCompare);e.stencilCompare!=="always"?n.enable(h.GL.STENCIL_TEST):n.disable(h.GL.STENCIL_TEST),n.stencilFuncSeparate(h.GL.FRONT,s,0,i),n.stencilFuncSeparate(h.GL.BACK,s,0,i)}if(e.stencilPassOperation&&e.stencilFailOperation&&e.stencilDepthFailOperation){let i=Fr("stencilPassOperation",e.stencilPassOperation),s=Fr("stencilFailOperation",e.stencilFailOperation),a=Fr("stencilDepthFailOperation",e.stencilDepthFailOperation);n.stencilOpSeparate(h.GL.FRONT,s,a,i),n.stencilOpSeparate(h.GL.BACK,s,a,i)}if(e.blendColorOperation||e.blendAlphaOperation){n.enable(h.GL.BLEND);let i=Dn("blendColorOperation",e.blendColorOperation||"add"),s=Dn("blendAlphaOperation",e.blendAlphaOperation||"add");n.blendEquationSeparate(i,s);let a=Vt("blendColorSrcFactor",e.blendColorSrcFactor||"one"),u=Vt("blendColorDstFactor",e.blendColorDstFactor||"zero"),l=Vt("blendAlphaSrcFactor",e.blendAlphaSrcFactor||"one"),f=Vt("blendAlphaDstFactor",e.blendAlphaDstFactor||"zero");n.blendFuncSeparate(a,u,l,f)}}function Xt(r,e){return ye(r,e,{never:h.GL.NEVER,less:h.GL.LESS,equal:h.GL.EQUAL,"less-equal":h.GL.LEQUAL,greater:h.GL.GREATER,"not-equal":h.GL.NOTEQUAL,"greater-equal":h.GL.GEQUAL,always:h.GL.ALWAYS})}function Fr(r,e){return ye(r,e,{keep:h.GL.KEEP,zero:h.GL.ZERO,replace:h.GL.REPLACE,invert:h.GL.INVERT,"increment-clamp":h.GL.INCR,"decrement-clamp":h.GL.DECR,"increment-wrap":h.GL.INCR_WRAP,"decrement-wrap":h.GL.DECR_WRAP})}function Dn(r,e){return ye(r,e,{add:h.GL.FUNC_ADD,subtract:h.GL.FUNC_SUBTRACT,"reverse-subtract":h.GL.FUNC_REVERSE_SUBTRACT,min:h.GL.MIN,max:h.GL.MAX})}function Vt(r,e){return ye(r,e,{one:h.GL.ONE,zero:h.GL.ZERO,"src-color":h.GL.SRC_COLOR,"one-minus-src-color":h.GL.ONE_MINUS_SRC_COLOR,"dst-color":h.GL.DST_COLOR,"one-minus-dst-color":h.GL.ONE_MINUS_DST_COLOR,"src-alpha":h.GL.SRC_ALPHA,"one-minus-src-alpha":h.GL.ONE_MINUS_SRC_ALPHA,"dst-alpha":h.GL.DST_ALPHA,"one-minus-dst-alpha":h.GL.ONE_MINUS_DST_ALPHA})}function xo(r,e){return`Illegal parameter ${e} for ${r}`}function ye(r,e,t){if(!(e in t))throw new Error(xo(r,e));return t[e]}function yo(r,e){return e}function Yt(r){let e={};return r.addressModeU&&(e[N.GL.TEXTURE_WRAP_S]=Br(r.addressModeU)),r.addressModeV&&(e[N.GL.TEXTURE_WRAP_T]=Br(r.addressModeV)),r.addressModeW&&(e[N.GL.TEXTURE_WRAP_R]=Br(r.addressModeW)),r.magFilter&&(e[N.GL.TEXTURE_MAG_FILTER]=On(r.magFilter)),(r.minFilter||r.mipmapFilter)&&(e[N.GL.TEXTURE_MIN_FILTER]=Co(r.minFilter||"linear",r.mipmapFilter)),r.lodMinClamp!==void 0&&(e[N.GL.TEXTURE_MIN_LOD]=r.lodMinClamp),r.lodMaxClamp!==void 0&&(e[N.GL.TEXTURE_MAX_LOD]=r.lodMaxClamp),r.type==="comparison-sampler"&&(e[N.GL.TEXTURE_COMPARE_MODE]=N.GL.COMPARE_REF_TO_TEXTURE),r.compare&&(e[N.GL.TEXTURE_COMPARE_FUNC]=Xt("compare",r.compare)),r.maxAnisotropy&&(e[N.GL.TEXTURE_MAX_ANISOTROPY_EXT]=r.maxAnisotropy),e}function Br(r){switch(r){case"clamp-to-edge":return N.GL.CLAMP_TO_EDGE;case"repeat":return N.GL.REPEAT;case"mirror-repeat":return N.GL.MIRRORED_REPEAT}}function On(r){switch(r){case"nearest":return N.GL.NEAREST;case"linear":return N.GL.LINEAR}}function Co(r,e){if(!e)return On(r);switch(r){case"nearest":return e==="nearest"?N.GL.NEAREST_MIPMAP_NEAREST:N.GL.NEAREST_MIPMAP_LINEAR;case"linear":return e==="nearest"?N.GL.LINEAR_MIPMAP_NEAREST:N.GL.LINEAR_MIPMAP_LINEAR}}var W=y(S(),1),H=class extends P{device;gl;handle;glTarget;glUsage;glIndexType=W.GL.UNSIGNED_SHORT;byteLength;bytesUsed;constructor(e,t={}){super(e,t),this.device=e,this.gl=this.device.gl;let n=typeof t=="object"?t.handle:void 0;this.handle=n||this.gl.createBuffer(),e.setSpectorMetadata(this.handle,{...this.props,data:typeof this.props.data}),this.glTarget=Go(this.props.usage),this.glUsage=Po(this.props.usage),this.glIndexType=this.props.indexType==="uint32"?W.GL.UNSIGNED_INT:W.GL.UNSIGNED_SHORT,t.data?this._initWithData(t.data,t.byteOffset,t.byteLength):this._initWithByteLength(t.byteLength||0)}_initWithData(e,t=0,n=e.byteLength+t){let i=this.glTarget;this.gl.bindBuffer(i,this.handle),this.gl.bufferData(i,n,this.glUsage),this.gl.bufferSubData(i,t,e),this.gl.bindBuffer(i,null),this.bytesUsed=n,this.byteLength=n,this._setDebugData(e,t,n),this.trackAllocatedMemory(n)}_initWithByteLength(e){A(e>=0);let t=e;e===0&&(t=new Float32Array(0));let n=this.glTarget;return this.gl.bindBuffer(n,this.handle),this.gl.bufferData(n,t,this.glUsage),this.gl.bindBuffer(n,null),this.bytesUsed=e,this.byteLength=e,this._setDebugData(null,0,e),this.trackAllocatedMemory(e),this}destroy(){!this.destroyed&&this.handle&&(this.removeStats(),this.trackDeallocatedMemory(),this.gl.deleteBuffer(this.handle),this.destroyed=!0,this.handle=null)}write(e,t=0){let s=W.GL.COPY_WRITE_BUFFER;this.gl.bindBuffer(s,this.handle),this.gl.bufferSubData(s,t,e),this.gl.bindBuffer(s,null),this._setDebugData(e,t,e.byteLength)}async readAsync(e=0,t){return this.readSyncWebGL(e,t)}readSyncWebGL(e=0,t){t=t??this.byteLength-e;let n=new Uint8Array(t),i=0;return this.gl.bindBuffer(W.GL.COPY_READ_BUFFER,this.handle),this.gl.getBufferSubData(W.GL.COPY_READ_BUFFER,e,n,i,t),this.gl.bindBuffer(W.GL.COPY_READ_BUFFER,null),this._setDebugData(n,e,t),n}};function Go(r){return r&P.INDEX?W.GL.ELEMENT_ARRAY_BUFFER:r&P.VERTEX?W.GL.ARRAY_BUFFER:r&P.UNIFORM?W.GL.UNIFORM_BUFFER:W.GL.ARRAY_BUFFER}function Po(r){return r&P.INDEX?W.GL.STATIC_DRAW:r&P.VERTEX?W.GL.STATIC_DRAW:r&P.UNIFORM?W.GL.DYNAMIC_DRAW:W.GL.STATIC_DRAW}var Ir=y(S(),1);var le=class extends we{device;handle;parameters;constructor(e,t){super(e,t),this.device=e,this.parameters=Yt(t),this.handle=this.handle||this.device.gl.createSampler(),this._setSamplerParameters(this.parameters)}destroy(){this.handle&&(this.device.gl.deleteSampler(this.handle),this.handle=void 0)}toString(){return`Sampler(${this.id},${JSON.stringify(this.props)})`}_setSamplerParameters(e){for(let[t,n]of Object.entries(e)){let i=Number(t);switch(i){case Ir.GL.TEXTURE_MIN_LOD:case Ir.GL.TEXTURE_MAX_LOD:this.device.gl.samplerParameterf(this.handle,i,n);break;default:this.device.gl.samplerParameteri(this.handle,i,n);break}}}};var ae=class extends De{device;gl;handle;texture;constructor(e,t){super(e,{...I.defaultProps,...t}),this.device=e,this.gl=this.device.gl,this.handle=null,this.texture=t.texture}};var Fo={parameters:{},pixelStore:{},pixels:null,border:0,dataFormat:void 0,textureUnit:void 0,target:void 0},$t=class extends I{MAX_ATTRIBUTES;device;gl;handle;sampler=void 0;view=void 0;glFormat=void 0;type=void 0;dataFormat=void 0;mipmaps=void 0;target;textureUnit=void 0;loaded=!1;_video;constructor(e,t){super(e,{...Fo,format:"rgba8unorm",...t}),this.device=e,this.gl=this.device.gl,this.handle=this.props.handle||this.gl.createTexture(),this.device.setSpectorMetadata(this.handle,{...this.props,data:typeof this.props.data}),this.glFormat=G.GL.RGBA,this.target=Bo(this.props),this.loaded=!1,typeof this.props?.data=="string"&&Object.assign(this.props,{data:Lr(this.props.data)}),this.initialize(this.props),Object.seal(this)}destroy(){this.handle&&(this.gl.deleteTexture(this.handle),this.removeStats(),this.trackDeallocatedMemory("Texture"),this.destroyed=!0)}toString(){return`Texture(${this.id},${this.width}x${this.height})`}initialize(e={}){if(this.props.dimension==="cube")return this.initializeCube(e);let t=e.data;if(t instanceof Promise)return t.then(ie=>this.initialize(Object.assign({},e,{pixels:ie,data:ie}))),this;let n=typeof HTMLVideoElement<"u"&&t instanceof HTMLVideoElement;if(n&&t.readyState<HTMLVideoElement.HAVE_METADATA)return this._video=null,t.addEventListener("loadeddata",()=>this.initialize(e)),this;let{parameters:i={}}=e,{pixels:s=null,pixelStore:a={},textureUnit:u=void 0,mipmaps:l=!0}=e;t||(t=s);let{width:f,height:d,dataFormat:b,type:g,compressed:L=!1}=e,{depth:R=0}=e,D=Lt(e.format);return{width:f,height:d,compressed:L,dataFormat:b,type:g}=this._deduceParameters({format:e.format,type:g,dataFormat:b,compressed:L,data:t,width:f,height:d}),this.width=f,this.height=d,this.glFormat=D,this.type=g,this.dataFormat=b,this.textureUnit=u,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(G.GL.TEXTURE0+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),this.mipmaps=l,this.setImageData({data:t,width:f,height:d,depth:R,format:D,type:g,dataFormat:b,parameters:a,compressed:L}),this.setSampler(e.sampler),this._setSamplerParameters(i),this.view=new ae(this.device,{...this.props,texture:this}),l&&this.generateMipmap(),n&&(this._video={video:t,parameters:i,lastTime:t.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?t.currentTime:-1}),this}initializeCube(e){let{mipmaps:t=!0,parameters:n={}}=e;return this.setCubeMapImageData(e).then(()=>{this.loaded=!0,t&&this.generateMipmap(e),this.setSampler(e.sampler),this._setSamplerParameters(n)}),this}setSampler(e={}){let t;e instanceof le?(this.sampler=e,t=e.props):(this.sampler=new le(this.device,e),t=e);let n=Yt(t);return this._setSamplerParameters(n),this}resize(e){let{height:t,width:n,mipmaps:i=!1}=e;return n!==this.width||t!==this.height?this.initialize({width:n,height:t,format:this.format,type:this.type,dataFormat:this.dataFormat,mipmaps:i}):this}update(){if(this._video){let{video:e,parameters:t,lastTime:n}=this._video;if(n===e.currentTime||e.readyState<HTMLVideoElement.HAVE_CURRENT_DATA)return;this.setSubImageData({data:e,parameters:t}),this.mipmaps&&this.generateMipmap(),this._video.lastTime=e.currentTime}}generateMipmap(e={}){return this.mipmaps=!0,this.gl.bindTexture(this.target,this.handle),Y(this.gl,e,()=>{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this}setImageData(e){if(this.props.dimension==="3d"||this.props.dimension==="2d-array")return this.setImageData3D(e);this.trackDeallocatedMemory("Texture");let{target:t=this.target,pixels:n=null,level:i=0,glFormat:s=this.glFormat,offset:a=0,parameters:u={}}=e,{data:l=null,type:f=this.type,width:d=this.width,height:b=this.height,dataFormat:g=this.dataFormat,compressed:L=!1}=e;l||(l=n),{type:f,dataFormat:g,compressed:L,width:d,height:b}=this._deduceParameters({format:this.props.format,type:f,dataFormat:g,compressed:L,data:l,width:d,height:b});let{gl:R}=this;R.bindTexture(this.target,this.handle);let D=null;if({data:l,dataType:D}=this._getDataType({data:l,compressed:L}),Y(this.gl,u,()=>{switch(D){case"null":R.texImage2D(t,i,s,d,b,0,g,f,l);break;case"typed-array":R.texImage2D(t,i,s,d,b,0,g,f,l,a);break;case"buffer":this.device.gl.bindBuffer(G.GL.PIXEL_UNPACK_BUFFER,l.handle||l),this.device.gl.texImage2D(t,i,s,d,b,0,g,f,a),this.device.gl.bindBuffer(G.GL.PIXEL_UNPACK_BUFFER,null);break;case"browser-object":R.texImage2D(t,i,s,d,b,0,g,f,l);break;case"compressed":for(let[ie,de]of l.entries())R.compressedTexImage2D(t,ie,de.format,de.width,de.height,0,de.data);break;default:A(!1,"Unknown image data type")}}),l&&l.byteLength)this.trackAllocatedMemory(l.byteLength,"Texture");else{let ie=Rt(this.props.format);this.trackAllocatedMemory(this.width*this.height*ie,"Texture")}return this.loaded=!0,this}setSubImageData({target:e=this.target,pixels:t=null,data:n=null,x:i=0,y:s=0,width:a=this.width,height:u=this.height,level:l=0,glFormat:f=this.glFormat,type:d=this.type,dataFormat:b=this.dataFormat,compressed:g=!1,offset:L=0,parameters:R={}}){if({type:d,dataFormat:b,compressed:g,width:a,height:u}=this._deduceParameters({format:this.props.format,type:d,dataFormat:b,compressed:g,data:n,width:a,height:u}),A(this.depth===1,"texSubImage not supported for 3D textures"),n||(n=t),n&&n.data){let D=n;n=D.data,a=D.shape[0],u=D.shape[1]}n instanceof H&&(n=n.handle),this.gl.bindTexture(this.target,this.handle),Y(this.gl,R,()=>{g?this.gl.compressedTexSubImage2D(e,l,i,s,a,u,f,n):n===null?this.gl.texSubImage2D(e,l,i,s,a,u,b,d,null):ArrayBuffer.isView(n)?this.gl.texSubImage2D(e,l,i,s,a,u,b,d,n,L):typeof WebGLBuffer<"u"&&n instanceof WebGLBuffer?(this.device.gl.bindBuffer(G.GL.PIXEL_UNPACK_BUFFER,n),this.device.gl.texSubImage2D(e,l,i,s,a,u,b,d,L),this.device.gl.bindBuffer(G.GL.PIXEL_UNPACK_BUFFER,null)):this.device.gl.texSubImage2D(e,l,i,s,a,u,b,d,n)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(e={}){return m.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}getActiveUnit(){return this.gl.getParameter(G.GL.ACTIVE_TEXTURE)-G.GL.TEXTURE0}bind(e=this.textureUnit){let{gl:t}=this;return e!==void 0&&(this.textureUnit=e,t.activeTexture(t.TEXTURE0+e)),t.bindTexture(this.target,this.handle),e}unbind(e=this.textureUnit){let{gl:t}=this;return e!==void 0&&(this.textureUnit=e,t.activeTexture(t.TEXTURE0+e)),t.bindTexture(this.target,null),e}_getDataType({data:e,compressed:t=!1}){return t?{data:e,dataType:"compressed"}:e===null?{data:e,dataType:"null"}:ArrayBuffer.isView(e)?{data:e,dataType:"typed-array"}:e instanceof H?{data:e.handle,dataType:"buffer"}:typeof WebGLBuffer<"u"&&e instanceof WebGLBuffer?{data:e,dataType:"buffer"}:{data:e,dataType:"browser-object"}}_deduceParameters(e){let{format:t,data:n}=e,{width:i,height:s,dataFormat:a,type:u,compressed:l}=e,f=ze(t);return a=a||f.dataFormat,u=u||f.type,l=l||f.compressed,{width:i,height:s}=this._deduceImageSize(n,i,s),{dataFormat:a,type:u,compressed:l,width:i,height:s,format:t,data:n}}_deduceImageSize(e,t,n){let i;return typeof ImageData<"u"&&e instanceof ImageData?i={width:e.width,height:e.height}:typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement?i={width:e.naturalWidth,height:e.naturalHeight}:typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement?i={width:e.width,height:e.height}:typeof ImageBitmap<"u"&&e instanceof ImageBitmap?i={width:e.width,height:e.height}:typeof HTMLVideoElement<"u"&&e instanceof HTMLVideoElement?i={width:e.videoWidth,height:e.videoHeight}:e?i={width:t,height:n}:i={width:t>=0?t:1,height:n>=0?n:1},A(i,"Could not deduced texture size"),A(t===void 0||i.width===t,"Deduced texture width does not match supplied width"),A(n===void 0||i.height===n,"Deduced texture height does not match supplied height"),i}async setCubeMapImageData(e){let{gl:t}=this,{width:n,height:i,pixels:s,data:a,format:u=G.GL.RGBA,type:l=G.GL.UNSIGNED_BYTE}=e,f=s||a,d=await Promise.all($t.FACES.map(b=>{let g=f[b];return Promise.all(Array.isArray(g)?g:[g])}));this.bind(),$t.FACES.forEach((b,g)=>{d[g].length>1&&this.props.mipmaps!==!1&&m.warn(`${this.id} has mipmap and multiple LODs.`)(),d[g].forEach((L,R)=>{n&&i?t.texImage2D(b,R,u,n,i,0,u,l,L):t.texImage2D(b,R,u,u,l,L)})}),this.unbind()}setImageDataForFace(e){let{face:t,width:n,height:i,pixels:s,data:a,format:u=G.GL.RGBA,type:l=G.GL.UNSIGNED_BYTE}=e,{gl:f}=this,d=s||a;return this.bind(),d instanceof Promise?d.then(b=>this.setImageDataForFace(Object.assign({},e,{face:t,data:b,pixels:b}))):this.width||this.height?f.texImage2D(t,0,u,n,i,0,u,l,d):f.texImage2D(t,0,u,u,l,d),this}setImageData3D(e){let{level:t=0,dataFormat:n,format:i,type:s,width:a,height:u,depth:l=1,offset:f=0,data:d,parameters:b={}}=e;this.trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle);let g=ze(i);if(Y(this.gl,b,()=>{ArrayBuffer.isView(d)&&this.gl.texImage3D(this.target,t,g.format,a,u,l,0,g.dataFormat,g.type,d),d instanceof H&&(this.gl.bindBuffer(G.GL.PIXEL_UNPACK_BUFFER,d.handle),this.gl.texImage3D(this.target,t,n,a,u,l,0,i,s,f))}),d&&d.byteLength)this.trackAllocatedMemory(d.byteLength,"Texture");else{let L=Rt(this.props.format);this.trackAllocatedMemory(this.width*this.height*this.depth*L,"Texture")}return this.loaded=!0,this}_setSamplerParameters(e){if(!Ne(e)){Io(e),this.gl.bindTexture(this.target,this.handle);for(let[t,n]of Object.entries(e)){let i=Number(t),s=n;switch(i){case G.GL.TEXTURE_MIN_LOD:case G.GL.TEXTURE_MAX_LOD:this.gl.texParameterf(this.target,i,s);break;default:this.gl.texParameteri(this.target,i,s);break}}this.gl.bindTexture(this.target,null)}}},U=$t;E(U,"FACES",[G.GL.TEXTURE_CUBE_MAP_POSITIVE_X,G.GL.TEXTURE_CUBE_MAP_NEGATIVE_X,G.GL.TEXTURE_CUBE_MAP_POSITIVE_Y,G.GL.TEXTURE_CUBE_MAP_NEGATIVE_Y,G.GL.TEXTURE_CUBE_MAP_POSITIVE_Z,G.GL.TEXTURE_CUBE_MAP_NEGATIVE_Z]);function Bo(r){switch(r.dimension){case"2d":return G.GL.TEXTURE_2D;case"cube":return G.GL.TEXTURE_CUBE_MAP;case"2d-array":return G.GL.TEXTURE_2D_ARRAY;case"3d":return G.GL.TEXTURE_3D;case"1d":case"cube-array":default:throw new Error(r.dimension)}}function Io(r){m.log(1,"texture sampler parameters",r)()}var Qe=y(S(),1);var je="Resource subclass must define virtual methods",Ce=class extends _{device;gl;gl2;_handle;_bound=!1;byteLength=0;constructor(e,t,n){super(e,t,n),this.device=K.attach(e);let i=this.device.gl,{id:s}=t||{};this.gl=i,this.gl2=i,this.id=s||te(this.constructor.name),this._handle=t?.handle,this._handle===void 0&&(this._handle=this._createHandle()),this.byteLength=0}toString(){return`${this.constructor.name}(${this.id})`}get handle(){return this._handle}delete({deleteChildren:e=!1}={}){let t=this._handle&&this._deleteHandle(this._handle);return this._handle&&this.removeStats(),this._handle=null,t&&e&&t.filter(Boolean).forEach(n=>n.destroy()),this}bind(e=this.handle){if(typeof e!="function")return this._bindHandle(e),this;let t;return this._bound?t=e():(this._bindHandle(this.handle),this._bound=!0,t=e(),this._bound=!1,this._bindHandle(null)),t}unbind(){this.bind(null)}stubRemovedMethods(e,t,n){return _r(this,e,t,n)}initialize(e){}_createHandle(){throw new Error(je)}_deleteHandle(){throw new Error(je)}_bindHandle(e){throw new Error(je)}_getOptsFromHandle(){throw new Error(je)}_getParameter(e,t){throw new Error(je)}_setParameter(e,t){throw new Error(je)}};var Nr=class extends Ce{get[Symbol.toStringTag](){return"Renderbuffer"}get width(){return this.props.width}get height(){return this.props.height}get format(){return this.props.format}get samples(){return this.props.samples}get attachment(){}glFormat;static isTextureFormatSupported(e,t){return Pn(e.gl,t,e._extensions)}constructor(e,t){if(typeof t.format=="number")throw new Error("Renderbuffer");super(e,t,Nr.defaultProps),this.glFormat=Lt(this.props.format),this._initialize(this.props)}resize(e){(e.width!==this.width||e.height!==this.height)&&(Object.assign(this.props,{...e,format:this.format,samples:this.samples}),this._initialize(this.props))}_initialize(e){let{format:t,width:n,height:i,samples:s}=e;A(t,"Needs format"),this.trackDeallocatedMemory(),this.gl.bindRenderbuffer(Qe.GL.RENDERBUFFER,this.handle),s!==0?this.gl.renderbufferStorageMultisample(Qe.GL.RENDERBUFFER,s,this.glFormat,n,i):this.gl.renderbufferStorage(Qe.GL.RENDERBUFFER,this.glFormat,n,i),this.gl.bindRenderbuffer(Qe.GL.RENDERBUFFER,null),this.trackAllocatedMemory(n*i*(s||1)*Rt(this.glFormat))}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this.trackDeallocatedMemory()}_bindHandle(e){this.gl.bindRenderbuffer(Qe.GL.RENDERBUFFER,e)}},Ee=Nr;E(Ee,"defaultProps",{id:void 0,handle:void 0,userData:void 0,format:void 0,width:1,height:1,samples:0});var ee=class extends ge{device;gl;handle;get texture(){return this.colorAttachments[0]}constructor(e,t){super(e,t);let n=t.handle===null;if(this.device=e,this.gl=e.gl,this.handle=this.props.handle||n?this.props.handle:this.gl.createFramebuffer(),!n){e.setSpectorMetadata(this.handle,{id:this.props.id,props:this.props}),this.autoCreateAttachmentTextures(),this.gl.bindFramebuffer(F.GL.FRAMEBUFFER,this.handle);for(let i=0;i<this.colorAttachments.length;++i){let s=this.colorAttachments[i],a=F.GL.COLOR_ATTACHMENT0+i;s&&this._attachOne(a,s)}if(this.depthStencilAttachment&&this._attachOne(In(this.depthStencilAttachment.props.format),this.depthStencilAttachment),t.check!==!1){let i=this.gl.checkFramebufferStatus(F.GL.FRAMEBUFFER);if(i!==F.GL.FRAMEBUFFER_COMPLETE)throw new Error(`Framebuffer ${Do(i)}`)}this.gl.bindFramebuffer(F.GL.FRAMEBUFFER,null)}}destroy(){super.destroy(),!this.destroyed&&this.handle!==null&&this.gl.deleteFramebuffer(this.handle)}createDepthStencilTexture(e){return new Ee(this.device,{id:`${this.id}-depth-stencil`,format:e,width:this.width,height:this.height})}resizeAttachments(e,t){if(this.handle===null)return this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;e===void 0&&(e=this.gl.drawingBufferWidth),t===void 0&&(t=this.gl.drawingBufferHeight);for(let n of this.colorAttachments)n.texture.resize({width:e,height:t});return this.depthStencilAttachment&&this.depthStencilAttachment.texture.resize({width:e,height:t}),this}_attachOne(e,t){if(t instanceof Ee)return this._attachWEBGLRenderbuffer(e,t),t;if(Array.isArray(t)){let[n,i=0,s=0]=t;return this._attachTexture(e,n,i,s),n}else{if(t instanceof U)return this._attachTexture(e,t,0,0),t;if(t instanceof ae){let n=t;return this._attachTexture(e,n.texture,n.props.baseMipLevel,n.props.baseArrayLayer),t.texture}}throw new Error("attach")}_attachWEBGLRenderbuffer(e,t){this.gl.framebufferRenderbuffer(F.GL.FRAMEBUFFER,e,F.GL.RENDERBUFFER,t.handle)}_attachTexture(e,t,n,i){let{gl:s}=this.device;switch(s.bindTexture(t.target,t.handle),t.target){case F.GL.TEXTURE_2D_ARRAY:case F.GL.TEXTURE_3D:s.framebufferTextureLayer(F.GL.FRAMEBUFFER,e,t.target,i,n);break;case F.GL.TEXTURE_CUBE_MAP:let a=No(n);s.framebufferTexture2D(F.GL.FRAMEBUFFER,e,a,t.handle,i);break;case F.GL.TEXTURE_2D:s.framebufferTexture2D(F.GL.FRAMEBUFFER,e,F.GL.TEXTURE_2D,t.handle,i);break;default:A(!1,"Illegal texture type")}s.bindTexture(t.target,null)}};function No(r){return r<F.GL.TEXTURE_CUBE_MAP_POSITIVE_X?r+F.GL.TEXTURE_CUBE_MAP_POSITIVE_X:r}function Do(r){switch(r){case F.GL.FRAMEBUFFER_COMPLETE:return"success";case F.GL.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:return"Mismatched attachments";case F.GL.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:return"No attachments";case F.GL.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:return"Height/width mismatch";case F.GL.FRAMEBUFFER_UNSUPPORTED:return"Unsupported or split attachments";case F.GL.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:return"Samples mismatch";default:return`${r}`}}var qe=class extends pe{device;presentationSize;_framebuffer=null;constructor(e,t){super(t),this.device=e,this.presentationSize=[-1,-1],this._setAutoCreatedCanvasId(`${this.device.id}-canvas`),this.update()}getCurrentFramebuffer(){return this.update(),this._framebuffer=this._framebuffer||new ee(this.device,{handle:null}),this._framebuffer}update(){let e=this.getPixelSize();(e[0]!==this.presentationSize[0]||e[1]!==this.presentationSize[1])&&(this.presentationSize=e,this.resize())}resize(e){if(this.device.gl&&this.canvas){let t=this.getDevicePixelRatio(e?.useDevicePixels);this.setDevicePixelRatio(t,e);return}}commit(){}};var vo={spector:m.get("spector")||m.get("inspect")},wo="https://spectorcdn.babylonjs.com/spector.bundle.js",Oo=1,$=null,Un=!1;async function Mn(r){if(!globalThis.SPECTOR)try{await dt(wo)}catch(e){m.warn(String(e))}}function Wn(r){if(r={...vo,...r},!r?.spector||(!$&&globalThis.SPECTOR&&(m.probe(Oo,"SPECTOR found and initialized")(),$=new globalThis.SPECTOR.Spector,globalThis.luma&&(globalThis.luma.spector=$)),!$))return null;if(Un||(Un=!0,$.spyCanvases(),$?.onCaptureStarted.add(e=>m.info("Spector capture started:",e)()),$?.onCapture.add(e=>{m.info("Spector capture complete:",e)(),$?.getResultUI(),$?.resultView.display(),$?.resultView.addCapture(e)})),r?.canvas){if(typeof r.spector=="string"&&r.spector!==r.canvas.id)return $;$?.startCapture(r?.canvas,500),new Promise(e=>setTimeout(e,2e3)).then(e=>{m.info("Spector capture stopped after 2 seconds")(),$?.stopCapture()})}return $}var At=y(S(),1);var Uo="https://unpkg.com/webgl-debug@2.0.1/index.js";function Hn(r){return r.luma=r.luma||{},r.luma}async function kn(){v()&&!globalThis.WebGLDebugUtils&&(globalThis.global=globalThis.global||globalThis,globalThis.global.module={},await dt(Uo))}function Vn(r,e={}){return r?e.debug?Wo(r,e):Mo(r):null}function Mo(r){let e=Hn(r);return e.realContext?e.realContext:r}function Wo(r,e){if(!globalThis.WebGLDebugUtils)return m.warn("webgl-debug not loaded")(),r;let t=Hn(r);if(t.debugContext)return t.debugContext;globalThis.WebGLDebugUtils.init({...At.GL,...r});let n=globalThis.WebGLDebugUtils.makeDebugContext(r,Ho.bind(null,e),ko.bind(null,e));for(let a in At.GL)!(a in n)&&typeof At.GL[a]=="number"&&(n[a]=At.GL[a]);class i{}Object.setPrototypeOf(n,Object.getPrototypeOf(r)),Object.setPrototypeOf(i,n);let s=Object.create(i);return t.realContext=r,t.debugContext=s,s.debug=!0,s}function Dr(r,e){e=Array.from(e).map(n=>n===void 0?"undefined":n);let t=globalThis.WebGLDebugUtils.glFunctionArgsToString(r,e);return t=`${t.slice(0,100)}${t.length>100?"...":""}`,`gl.${r}(${t})`}function Ho(r,e,t,n){n=Array.from(n).map(u=>u===void 0?"undefined":u);let i=globalThis.WebGLDebugUtils.glEnumToString(e),s=globalThis.WebGLDebugUtils.glFunctionArgsToString(t,n),a=`${i} in gl.${t}(${s})`;m.error(a)();debugger;if(r.throwOnError)throw new Error(a)}function ko(r,e,t){let n="";if(m.level>=1&&(n=Dr(e,t),m.log(1,n)()),r.break&&r.break.length>0&&(n=n||Dr(e,t),r.break.every(s=>n.indexOf(s)!==-1)))debugger;for(let i of t)if(i===void 0){if(n=n||Dr(e,t),r.throwOnError)throw new Error(`Undefined argument: ${n}`);m.error(`Undefined argument: ${n}`)();debugger}}var St=y(S(),1);function Kn(r){let e=r.split(/\r?\n/),t=[];for(let n of e){if(n.length<=1)continue;let i=n.split(":");if(i.length===2){let[b,g]=i;t.push({message:g.trim(),type:Xn(b),lineNum:0,linePos:0});continue}let[s,a,u,...l]=i,f=parseInt(u,10);isNaN(f)&&(f=0);let d=parseInt(a,10);isNaN(d)&&(d=0),t.push({message:l.join(":").trim(),type:Xn(s),lineNum:f,linePos:d})}return t}function Xn(r){let e=["warning","error","info"],t=r.toLowerCase();return e.includes(t)?t:"info"}var Ze=class extends ve{device;handle;constructor(e,t){switch(super(e,t),this.device=e,this.props.stage){case"vertex":this.handle=this.props.handle||this.device.gl.createShader(St.GL.VERTEX_SHADER);break;case"fragment":this.handle=this.props.handle||this.device.gl.createShader(St.GL.FRAGMENT_SHADER);break;default:throw new Error(this.props.stage)}this._compile(this.source)}destroy(){this.handle&&(this.removeStats(),this.device.gl.deleteShader(this.handle),this.destroyed=!0)}async getCompilationInfo(){return await this._waitForCompilationComplete(),this.getCompilationInfoSync()}getCompilationInfoSync(){let e=this.device.gl.getShaderInfoLog(this.handle);return Kn(e)}getTranslatedSource(){return this.device.getExtension("WEBGL_debug_shaders").WEBGL_debug_shaders?.getTranslatedShaderSource(this.handle)}async _compile(e){e=(i=>i.startsWith("#version ")?i:`#version 100
|
|
17
|
+
${i}`)(e);let{gl:n}=this.device;if(n.shaderSource(this.handle,e),n.compileShader(this.handle),m.level===0){this.compilationStatus="pending";return}if(!this.device.features.has("compilation-status-async-webgl")){if(this._getCompilationStatus(),this.compilationStatus==="error")throw new Error(`GLSL compilation errors in ${this.props.stage} shader ${this.props.id}`);this.debugShader();return}m.once(1,"Shader compilation is asynchronous")(),await this._waitForCompilationComplete(),m.info(2,`Shader ${this.id} - async compilation complete: ${this.compilationStatus}`)(),this._getCompilationStatus(),this.debugShader()}async _waitForCompilationComplete(){let e=async i=>await new Promise(s=>setTimeout(s,i));if(!this.device.features.has("compilation-status-async-webgl")){await e(10);return}let{gl:n}=this.device;for(;;){if(n.getShaderParameter(this.handle,St.GL.COMPLETION_STATUS_KHR))return;await e(10)}}_getCompilationStatus(){this.compilationStatus=this.device.gl.getShaderParameter(this.handle,St.GL.COMPILE_STATUS)?"success":"error"}};var wr=y(S(),1);var Vo=256,Xo=1024,Ko=16384,vr=6144,Je=class extends Ue{device;glParameters;constructor(e,t){super(e,t),this.device=e,re(this.device.gl),this.setParameters(this.props.parameters),this.clear()}end(){Z(this.device.gl),this.props.framebuffer&&X(this.device,{framebuffer:null})}pushDebugGroup(e){}popDebugGroup(){}insertDebugMarker(e){}setParameters(e={}){let t={};this.props.framebuffer&&(t.framebuffer=this.props.framebuffer),this.props.depthReadOnly&&(t.depthMask=!this.props.depthReadOnly),t.stencilMask=this.props.stencilReadOnly?0:1,t[wr.GL.RASTERIZER_DISCARD]=this.props.discard,e.viewport&&(e.viewport.length>=6?(t.viewport=e.viewport.slice(0,4),t.depthRange=[e.viewport[4],e.viewport[5]]):t.viewport=e.viewport),t.scissorTest=Boolean(e.scissorRect),e.scissorRect&&(t.scissor=e.scissorRect),e.blendConstant&&(t.blendColor=e.blendConstant),e.stencilReference&&(console.warn("RenderPassParameters.stencilReference not yet implemented in WebGL"),e[wr.GL.STENCIL_REF]=e.stencilReference),this.glParameters=t,X(this.device,t)}beginOcclusionQuery(e){this.props.occlusionQuerySet?.beginOcclusionQuery()}endOcclusionQuery(){this.props.occlusionQuerySet?.endOcclusionQuery()}clear(){let e={...this.glParameters},t=0;this.props.clearColor!==!1&&(t|=Ko,e.clearColor=this.props.clearColor),this.props.clearDepth!==!1&&(t|=Vo,e.clearDepth=this.props.clearDepth),this.props.clearStencil!==!1&&(t|=Xo,e.clearStencil=this.props.clearStencil),t!==0&&Y(this.device,e,()=>{this.device.gl.clear(t)})}clearColorBuffer(e=0,t=[0,0,0,0]){Y(this.device.gl,{framebuffer:this.props.framebuffer},()=>{switch(t.constructor){case Int32Array:this.device.gl.clearBufferiv(vr,e,t);break;case Uint32Array:this.device.gl.clearBufferuiv(vr,e,t);break;case Float32Array:default:this.device.gl.clearBufferfv(vr,e,t);break}})}};var Ge=y(S(),1);var x=y(S(),1);var et=y(S(),1);var O=y(S(),1),Yo="Failed to deduce GL constant from typed array";function Yn(r){switch(ArrayBuffer.isView(r)?r.constructor:r){case Float32Array:return O.GL.FLOAT;case Uint16Array:return O.GL.UNSIGNED_SHORT;case Uint32Array:return O.GL.UNSIGNED_INT;case Uint8Array:return O.GL.UNSIGNED_BYTE;case Uint8ClampedArray:return O.GL.UNSIGNED_BYTE;case Int8Array:return O.GL.BYTE;case Int16Array:return O.GL.SHORT;case Int32Array:return O.GL.INT;default:throw new Error(Yo)}}function xt(r,e){let{clamped:t=!0}=e||{};switch(r){case O.GL.FLOAT:return Float32Array;case O.GL.UNSIGNED_SHORT:case O.GL.UNSIGNED_SHORT_5_6_5:case O.GL.UNSIGNED_SHORT_4_4_4_4:case O.GL.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;case O.GL.UNSIGNED_INT:return Uint32Array;case O.GL.UNSIGNED_BYTE:return t?Uint8ClampedArray:Uint8Array;case O.GL.BYTE:return Int8Array;case O.GL.SHORT:return Int16Array;case O.GL.INT:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}var $o={offset:0,stride:0,type:et.GL.FLOAT,size:1,divisor:0,normalized:!1,integer:!1},zo={deprecatedProps:{instanced:"divisor",isInstanced:"divisor"}},ue=class{offset;stride;type;size;divisor;normalized;integer;buffer;index;static getBytesPerElement(e){return xt(e.type||et.GL.FLOAT).BYTES_PER_ELEMENT}static getBytesPerVertex(e){return A(e.size),xt(e.type||et.GL.FLOAT).BYTES_PER_ELEMENT*e.size}static resolve(...e){return new ue($o,...e)}constructor(...e){e.forEach(t=>this._assign(t)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return ue.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return ue.getBytesPerVertex(this)}_assign(e={}){return e=Tr("Accessor",e,zo),e.type!==void 0&&(this.type=e.type,(e.type===et.GL.INT||e.type===et.GL.UNSIGNED_INT)&&(this.integer=!0)),e.size!==void 0&&(this.size=e.size),e.offset!==void 0&&(this.offset=e.offset),e.stride!==void 0&&(this.stride=e.stride),e.normalize!==void 0&&(this.normalized=e.normalize),e.normalized!==void 0&&(this.normalized=e.normalized),e.integer!==void 0&&(this.integer=e.integer),e.divisor!==void 0&&(this.divisor=e.divisor),e.buffer!==void 0&&(this.buffer=e.buffer),e.index!==void 0&&(typeof e.index=="boolean"?this.index=e.index?1:0:this.index=e.index),e.instanced!==void 0&&(this.divisor=e.instanced?1:0),e.isInstanced!==void 0&&(this.divisor=e.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}};var p=y(S(),1);function $n(r){return jo.includes(r)}var jo=[p.GL.SAMPLER_2D,p.GL.SAMPLER_CUBE,p.GL.SAMPLER_3D,p.GL.SAMPLER_2D_SHADOW,p.GL.SAMPLER_2D_ARRAY,p.GL.SAMPLER_2D_ARRAY_SHADOW,p.GL.SAMPLER_CUBE_SHADOW,p.GL.INT_SAMPLER_2D,p.GL.INT_SAMPLER_3D,p.GL.INT_SAMPLER_CUBE,p.GL.INT_SAMPLER_2D_ARRAY,p.GL.UNSIGNED_INT_SAMPLER_2D,p.GL.UNSIGNED_INT_SAMPLER_3D,p.GL.UNSIGNED_INT_SAMPLER_CUBE,p.GL.UNSIGNED_INT_SAMPLER_2D_ARRAY],zn={[p.GL.FLOAT]:[p.GL.FLOAT,1,"float","f32","float32"],[p.GL.FLOAT_VEC2]:[p.GL.FLOAT,2,"vec2","vec2<f32>","float32x2"],[p.GL.FLOAT_VEC3]:[p.GL.FLOAT,3,"vec3","vec3<f32>","float32x3"],[p.GL.FLOAT_VEC4]:[p.GL.FLOAT,4,"vec4","vec4<f32>","float32x4"],[p.GL.INT]:[p.GL.INT,1,"int","i32","sint32"],[p.GL.INT_VEC2]:[p.GL.INT,2,"ivec2","vec2<i32>","sint32x2"],[p.GL.INT_VEC3]:[p.GL.INT,3,"ivec3","vec3<i32>","sint32x3"],[p.GL.INT_VEC4]:[p.GL.INT,4,"ivec4","vec4<i32>","sint32x4"],[p.GL.UNSIGNED_INT]:[p.GL.UNSIGNED_INT,1,"uint","u32","uint32"],[p.GL.UNSIGNED_INT_VEC2]:[p.GL.UNSIGNED_INT,2,"uvec2","vec2<u32>","uint32x2"],[p.GL.UNSIGNED_INT_VEC3]:[p.GL.UNSIGNED_INT,3,"uvec3","vec3<u32>","uint32x3"],[p.GL.UNSIGNED_INT_VEC4]:[p.GL.UNSIGNED_INT,4,"uvec4","vec4<u32>","uint32x4"],[p.GL.BOOL]:[p.GL.FLOAT,1,"bool","f32","float32"],[p.GL.BOOL_VEC2]:[p.GL.FLOAT,2,"bvec2","vec2<f32>","float32x2"],[p.GL.BOOL_VEC3]:[p.GL.FLOAT,3,"bvec3","vec3<f32>","float32x3"],[p.GL.BOOL_VEC4]:[p.GL.FLOAT,4,"bvec4","vec4<f32>","float32x4"],[p.GL.FLOAT_MAT2]:[p.GL.FLOAT,8,"mat2","mat2x2<f32>"],[p.GL.FLOAT_MAT2x3]:[p.GL.FLOAT,8,"mat2x3","mat2x3<f32>"],[p.GL.FLOAT_MAT2x4]:[p.GL.FLOAT,8,"mat2x4","mat2x4<f32>"],[p.GL.FLOAT_MAT3x2]:[p.GL.FLOAT,12,"mat3x2","mat3x2<f32>"],[p.GL.FLOAT_MAT3]:[p.GL.FLOAT,12,"mat3","mat3x3<f32>"],[p.GL.FLOAT_MAT3x4]:[p.GL.FLOAT,12,"mat3x4","mat3x4<f32>"],[p.GL.FLOAT_MAT4x2]:[p.GL.FLOAT,16,"mat4x2","mat4x2<f32>"],[p.GL.FLOAT_MAT4x3]:[p.GL.FLOAT,16,"mat4x3","mat4x3<f32>"],[p.GL.FLOAT_MAT4]:[p.GL.FLOAT,16,"mat4","mat4x4<f32>"]};function Or(r){let e=zn[r];if(!e)throw new Error("uniform");let[t,n,,i]=e;return{format:i,components:n,glType:t}}function jn(r){let e=zn[r];if(!e)throw new Error("attribute");let[,t,,n,i]=e;return{attributeType:n,vertexFormat:i,components:t}}function zt(r,e){let t={attributes:[],bindings:[]};t.attributes=Qo(r,e);let n=Jo(r,e);for(let u of n){let l=u.uniforms.map(f=>({name:f.name,format:f.format,byteOffset:f.byteOffset,byteStride:f.byteStride,arrayLength:f.arrayLength}));t.bindings.push({type:"uniform",name:u.name,location:u.location,visibility:(u.vertex?1:0)&(u.fragment?2:0),minBindingSize:u.byteLength,uniforms:l})}let i=Zo(r,e),s=0;for(let u of i)if($n(u.type)){let{viewDimension:l,sampleType:f}=ts(u.type);t.bindings.push({type:"texture",name:u.name,location:s,viewDimension:l,sampleType:f}),u.textureUnit=s,s+=1}i.length&&(t.uniforms=i);let a=qo(r,e);return a?.length&&(t.varyings=a),t}function Qo(r,e){let t=[],n=r.getProgramParameter(e,r.ACTIVE_ATTRIBUTES);for(let i=0;i<n;i++){let s=r.getActiveAttrib(e,i);if(!s)throw new Error("activeInfo");let{name:a,type:u}=s,l=r.getAttribLocation(e,a);if(l>=0){let{attributeType:f}=jn(u),d=/instance/i.test(a)?"instance":"vertex";t.push({name:a,location:l,stepMode:d,type:f})}}return t.sort((i,s)=>i.location-s.location),t}function qo(r,e){let t=[],n=r.getProgramParameter(e,x.GL.TRANSFORM_FEEDBACK_VARYINGS);for(let i=0;i<n;i++){let s=r.getTransformFeedbackVarying(e,i);if(!s)throw new Error("activeInfo");let{name:a,type:u,size:l}=s,{glType:f,components:d}=Or(u),b=new ue({type:f,size:l*d}),g={location:i,name:a,accessor:b};t.push(g)}return t.sort((i,s)=>i.location-s.location),t}function Zo(r,e){let t=[],n=r.getProgramParameter(e,x.GL.ACTIVE_UNIFORMS);for(let i=0;i<n;i++){let s=r.getActiveUniform(e,i);if(!s)throw new Error("activeInfo");let{name:a,size:u,type:l}=s,{name:f,isArray:d}=rs(a),b=r.getUniformLocation(e,f),g={location:b,name:f,size:u,type:l,isArray:d};if(t.push(g),g.size>1)for(let L=0;L<g.size;L++){let R=`${f}[${L}]`;b=r.getUniformLocation(e,R);let D={...g,name:R,location:b};t.push(D)}}return t}function Jo(r,e){let t=(s,a)=>r.getActiveUniformBlockParameter(e,s,a),n=[],i=r.getProgramParameter(e,x.GL.ACTIVE_UNIFORM_BLOCKS);for(let s=0;s<i;s++){let a={name:r.getActiveUniformBlockName(e,s)||"",location:t(s,x.GL.UNIFORM_BLOCK_BINDING),byteLength:t(s,x.GL.UNIFORM_BLOCK_DATA_SIZE),vertex:t(s,x.GL.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER),fragment:t(s,x.GL.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER),uniformCount:t(s,x.GL.UNIFORM_BLOCK_ACTIVE_UNIFORMS),uniforms:[]},u=t(s,x.GL.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES)||[],l=r.getActiveUniforms(e,u,x.GL.UNIFORM_TYPE),f=r.getActiveUniforms(e,u,x.GL.UNIFORM_SIZE),d=r.getActiveUniforms(e,u,x.GL.UNIFORM_OFFSET),b=r.getActiveUniforms(e,u,x.GL.UNIFORM_ARRAY_STRIDE);for(let g=0;g<a.uniformCount;++g){let L=r.getActiveUniform(e,u[g]);if(!L)throw new Error("activeInfo");a.uniforms.push({name:L.name,format:Or(l[g]).format,type:l[g],arrayLength:f[g],byteOffset:d[g],byteStride:b[g]})}n.push(a)}return n.sort((s,a)=>s.location-a.location),n}var es={[x.GL.SAMPLER_2D]:["2d","float"],[x.GL.SAMPLER_CUBE]:["cube","float"],[x.GL.SAMPLER_3D]:["3d","float"],[x.GL.SAMPLER_2D_SHADOW]:["3d","depth"],[x.GL.SAMPLER_2D_ARRAY]:["2d-array","float"],[x.GL.SAMPLER_2D_ARRAY_SHADOW]:["2d-array","depth"],[x.GL.SAMPLER_CUBE_SHADOW]:["cube","float"],[x.GL.INT_SAMPLER_2D]:["2d","sint"],[x.GL.INT_SAMPLER_3D]:["3d","sint"],[x.GL.INT_SAMPLER_CUBE]:["cube","sint"],[x.GL.INT_SAMPLER_2D_ARRAY]:["2d-array","uint"],[x.GL.UNSIGNED_INT_SAMPLER_2D]:["2d","uint"],[x.GL.UNSIGNED_INT_SAMPLER_3D]:["3d","uint"],[x.GL.UNSIGNED_INT_SAMPLER_CUBE]:["cube","uint"],[x.GL.UNSIGNED_INT_SAMPLER_2D_ARRAY]:["2d-array","uint"]};function ts(r){let e=es[r];if(!e)throw new Error("sampler");let[t,n]=e;return{viewDimension:t,sampleType:n}}function rs(r){if(r[r.length-1]!=="]")return{name:r,length:1,isArray:!1};let t=/([^[]*)(\[[0-9]+\])?/.exec(r);if(!t||t.length<2)throw new Error(`Failed to parse GLSL uniform name ${r}`);return{name:t[1],length:t[2]?1:0,isArray:Boolean(t[2])}}var T=y(S(),1);function Qn(r,e,t,n){let i=r,s=n;s===!0&&(s=1),s===!1&&(s=0);let a=typeof s=="number"?[s]:s;switch(t){case T.GL.SAMPLER_2D:case T.GL.SAMPLER_CUBE:case T.GL.SAMPLER_3D:case T.GL.SAMPLER_2D_SHADOW:case T.GL.SAMPLER_2D_ARRAY:case T.GL.SAMPLER_2D_ARRAY_SHADOW:case T.GL.SAMPLER_CUBE_SHADOW:case T.GL.INT_SAMPLER_2D:case T.GL.INT_SAMPLER_3D:case T.GL.INT_SAMPLER_CUBE:case T.GL.INT_SAMPLER_2D_ARRAY:case T.GL.UNSIGNED_INT_SAMPLER_2D:case T.GL.UNSIGNED_INT_SAMPLER_3D:case T.GL.UNSIGNED_INT_SAMPLER_CUBE:case T.GL.UNSIGNED_INT_SAMPLER_2D_ARRAY:if(typeof n!="number")throw new Error("samplers must be set to integers");return r.uniform1i(e,n);case T.GL.FLOAT:return r.uniform1fv(e,a);case T.GL.FLOAT_VEC2:return r.uniform2fv(e,a);case T.GL.FLOAT_VEC3:return r.uniform3fv(e,a);case T.GL.FLOAT_VEC4:return r.uniform4fv(e,a);case T.GL.INT:return r.uniform1iv(e,a);case T.GL.INT_VEC2:return r.uniform2iv(e,a);case T.GL.INT_VEC3:return r.uniform3iv(e,a);case T.GL.INT_VEC4:return r.uniform4iv(e,a);case T.GL.BOOL:return r.uniform1iv(e,a);case T.GL.BOOL_VEC2:return r.uniform2iv(e,a);case T.GL.BOOL_VEC3:return r.uniform3iv(e,a);case T.GL.BOOL_VEC4:return r.uniform4iv(e,a);case T.GL.UNSIGNED_INT:return i.uniform1uiv(e,a,1);case T.GL.UNSIGNED_INT_VEC2:return i.uniform2uiv(e,a,2);case T.GL.UNSIGNED_INT_VEC3:return i.uniform3uiv(e,a,3);case T.GL.UNSIGNED_INT_VEC4:return i.uniform4uiv(e,a,4);case T.GL.FLOAT_MAT2:return r.uniformMatrix2fv(e,!1,a);case T.GL.FLOAT_MAT3:return r.uniformMatrix3fv(e,!1,a);case T.GL.FLOAT_MAT4:return r.uniformMatrix4fv(e,!1,a);case T.GL.FLOAT_MAT2x3:return i.uniformMatrix2x3fv(e,!1,a);case T.GL.FLOAT_MAT2x4:return i.uniformMatrix2x4fv(e,!1,a);case T.GL.FLOAT_MAT3x2:return i.uniformMatrix3x2fv(e,!1,a);case T.GL.FLOAT_MAT3x4:return i.uniformMatrix3x4fv(e,!1,a);case T.GL.FLOAT_MAT4x2:return i.uniformMatrix4x2fv(e,!1,a);case T.GL.FLOAT_MAT4x3:return i.uniformMatrix4x3fv(e,!1,a)}throw new Error("Illegal uniform")}var k=y(S(),1);function qn(r){switch(r){case"point-list":return k.GL.POINTS;case"line-list":return k.GL.LINES;case"line-strip":return k.GL.LINE_STRIP;case"line-loop-webgl":return k.GL.LINE_LOOP;case"triangle-list":return k.GL.TRIANGLES;case"triangle-strip":return k.GL.TRIANGLE_STRIP;case"triangle-fan-webgl":return k.GL.TRIANGLE_FAN;default:throw new Error(r)}}function Zn(r){switch(r){case"point-list":return k.GL.POINTS;case"line-list":return k.GL.LINES;case"line-strip":return k.GL.LINES;case"line-loop-webgl":return k.GL.LINES;case"triangle-list":return k.GL.TRIANGLES;case"triangle-strip":return k.GL.TRIANGLES;case"triangle-fan-webgl":return k.GL.TRIANGLES;default:throw new Error(r)}}var Jn=4,tt=class extends Oe{device;handle;vs;fs;introspectedLayout;uniforms={};bindings={};varyings=null;_uniformCount=0;_uniformSetters={};constructor(e,t){super(e,t),this.device=e,this.handle=this.props.handle||this.device.gl.createProgram(),this.device.setSpectorMetadata(this.handle,{id:this.props.id}),this.vs=t.vs,this.fs=t.fs;let{varyings:n,bufferMode:i=Ge.GL.SEPARATE_ATTRIBS}=t;switch(n&&n.length>0&&(this.varyings=n,this.device.gl.transformFeedbackVaryings(this.handle,n,i)),this._linkShaders(),m.time(0,`RenderPipeline ${this.id} - shaderLayout introspection`)(),this.introspectedLayout=zt(this.device.gl,this.handle),m.timeEnd(0,`RenderPipeline ${this.id} - shaderLayout introspection`)(),this.shaderLayout=dr(this.introspectedLayout,t.shaderLayout),this.props.topology){case"triangle-fan-webgl":case"line-loop-webgl":m.warn(`Primitive topology ${this.props.topology} is deprecated and will be removed in v9.1`);break;default:}}destroy(){this.handle&&(this.device.gl.deleteProgram(this.handle),this.destroyed=!0)}setBindings(e){for(let[t,n]of Object.entries(e)){let i=this.shaderLayout.bindings.find(s=>s.name===t)||this.shaderLayout.bindings.find(s=>s.name===`${t}Uniforms`);if(!i){let s=this.shaderLayout.bindings.map(a=>`"${a.name}"`).join(", ");m.warn(`Unknown binding "${t}" in render pipeline "${this.id}", expected one of ${s}`)();continue}switch(n||m.warn(`Unsetting binding "${t}" in render pipeline "${this.id}"`)(),i.type){case"uniform":if(!(n instanceof H)&&!(n.buffer instanceof H))throw new Error("buffer value");break;case"texture":if(!(n instanceof ae||n instanceof U||n instanceof ee))throw new Error("texture value");break;case"sampler":m.warn(`Ignoring sampler ${t}`)();break;default:throw new Error(i.type)}this.bindings[t]=n}}draw(e){if(this.linkStatus!=="success")return!1;let{renderPass:t,vertexArray:n,vertexCount:i,instanceCount:s,firstVertex:a=0,transformFeedback:u}=e,l=qn(this.props.topology),f=Boolean(n.indexBuffer),d=n.indexBuffer?.glIndexType,b=Number(s)>0;if(!this._areTexturesRenderable()||i===0)return!1;this.device.gl.useProgram(this.handle),n.bindBeforeRender(t),u&&u.begin(this.props.topology),this._applyBindings(),this._applyUniforms();let g=t;return vn(this.device,this.props.parameters,g.glParameters,()=>{f&&b?this.device.gl.drawElementsInstanced(l,i||0,d,a,s||0):f?this.device.gl.drawElements(l,i||0,d,a):b?this.device.gl.drawArraysInstanced(l,a,i||0,s||0):this.device.gl.drawArrays(l,a,i||0),u&&u.end()}),n.unbindAfterRender(t),!0}setUniformsWebGL(e){let{bindings:t}=br(e);Object.keys(t).forEach(n=>{m.warn(`Unsupported value "${JSON.stringify(t[n])}" used in setUniforms() for key ${n}. Use setBindings() instead?`)()}),Object.assign(this.uniforms,e)}async _linkShaders(){let{gl:e}=this.device;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),m.time(Jn,`linkProgram for ${this.id}`)(),e.linkProgram(this.handle),m.timeEnd(Jn,`linkProgram for ${this.id}`)(),m.level,!this.device.features.has("compilation-status-async-webgl")){let n=this._getLinkStatus();this._reportLinkStatus(n);return}m.once(1,"RenderPipeline linking is asynchronous")(),await this._waitForLinkComplete(),m.info(2,`RenderPipeline ${this.id} - async linking complete: ${this.linkStatus}`)();let t=this._getLinkStatus();this._reportLinkStatus(t)}_reportLinkStatus(e){switch(e){case"success":return;default:throw this.vs.compilationStatus==="error"?(this.vs.debugShader(),new Error(`Error during compilation of shader ${this.vs.id}`)):this.fs?.compilationStatus==="error"?(this.vs.debugShader(),new Error(`Error during compilation of shader ${this.fs.id}`)):new Error(`Error during ${e}: ${this.device.gl.getProgramInfoLog(this.handle)}`)}}_getLinkStatus(){let{gl:e}=this.device;return e.getProgramParameter(this.handle,e.LINK_STATUS)?(e.validateProgram(this.handle),e.getProgramParameter(this.handle,e.VALIDATE_STATUS)?(this.linkStatus="success","success"):(this.linkStatus="error","validation")):(this.linkStatus="error","linking")}async _waitForLinkComplete(){let e=async i=>await new Promise(s=>setTimeout(s,i));if(!this.device.features.has("compilation-status-async-webgl")){await e(10);return}let{gl:n}=this.device;for(;;){if(n.getProgramParameter(this.handle,Ge.GL.COMPLETION_STATUS_KHR))return;await e(10)}}_areTexturesRenderable(){let e=!0;for(let[,t]of Object.entries(this.bindings))t instanceof U&&(t.update(),e=e&&t.loaded);return e}_applyBindings(){if(this.linkStatus!=="success")return;let{gl:e}=this.device;e.useProgram(this.handle);let t=0,n=0;for(let i of this.shaderLayout.bindings){let s=this.bindings[i.name]||this.bindings[i.name.replace(/Uniforms$/,"")];if(!s)throw new Error(`No value for binding ${i.name} in ${this.id}`);switch(i.type){case"uniform":let{name:a}=i,u=e.getUniformBlockIndex(this.handle,a);if(u===Ge.GL.INVALID_INDEX)throw new Error(`Invalid uniform block name ${a}`);e.uniformBlockBinding(this.handle,n,u),s instanceof H?e.bindBufferBase(Ge.GL.UNIFORM_BUFFER,n,s.handle):e.bindBufferRange(Ge.GL.UNIFORM_BUFFER,n,s.buffer.handle,s.offset||0,s.size||s.buffer.byteLength-s.offset),n+=1;break;case"texture":if(!(s instanceof ae||s instanceof U||s instanceof ee))throw new Error("texture");let l;if(s instanceof ae)l=s.texture;else if(s instanceof U)l=s;else if(s instanceof ee&&s.colorAttachments[0]instanceof U)m.warn("Passing framebuffer in texture binding may be deprecated. Use fbo.colorAttachments[0] instead")(),l=s.colorAttachments[0];else throw new Error("No texture");e.activeTexture(Ge.GL.TEXTURE0+t),e.bindTexture(l.target,l.handle),t+=1;break;case"sampler":break;case"storage":case"read-only-storage":throw new Error(`binding type '${i.type}' not supported in WebGL`)}}}_applyUniforms(){for(let e of this.shaderLayout.uniforms||[]){let{name:t,location:n,type:i,textureUnit:s}=e,a=this.uniforms[t]??s;a!==void 0&&Qn(this.device.gl,n,i,a)}}};var Q=y(S(),1);var jt=class extends We{device;commands=[];constructor(e){super(e,{}),this.device=e}submitCommands(e=this.commands){for(let t of e)switch(t.name){case"copy-buffer-to-buffer":ns(this.device,t.options);break;case"copy-buffer-to-texture":is(this.device,t.options);break;case"copy-texture-to-buffer":os(this.device,t.options);break;case"copy-texture-to-texture":ss(this.device,t.options);break}}};function ns(r,e){let t=e.source,n=e.destination;r.gl.bindBuffer(Q.GL.COPY_READ_BUFFER,t.handle),r.gl.bindBuffer(Q.GL.COPY_WRITE_BUFFER,n.handle),r.gl.copyBufferSubData(Q.GL.COPY_READ_BUFFER,Q.GL.COPY_WRITE_BUFFER,e.sourceOffset??0,e.destinationOffset??0,e.size),r.gl.bindBuffer(Q.GL.COPY_READ_BUFFER,null),r.gl.bindBuffer(Q.GL.COPY_WRITE_BUFFER,null)}function is(r,e){throw new Error("Not implemented")}function os(r,e){let{source:t,mipLevel:n=0,aspect:i="all",width:s=e.source.width,height:a=e.source.height,depthOrArrayLayers:u=0,origin:l=[0,0],destination:f,byteOffset:d=0,bytesPerRow:b,rowsPerImage:g}=e;if(i!=="all")throw new Error("not supported");if(n!==0||u!==0||b||g)throw new Error("not implemented");let{framebuffer:L,destroyFramebuffer:R}=ei(t);try{let D=f,ie=s||L.width,de=a||L.height,Mr=ze(L.texture.props.format),ai=Mr.dataFormat,ui=Mr.type;r.gl.bindBuffer(Q.GL.PIXEL_PACK_BUFFER,D.handle),r.gl.bindFramebuffer(Q.GL.FRAMEBUFFER,L.handle),r.gl.readPixels(l[0],l[1],ie,de,ai,ui,d)}finally{r.gl.bindBuffer(Q.GL.PIXEL_PACK_BUFFER,null),r.gl.bindFramebuffer(Q.GL.FRAMEBUFFER,null),R&&L.destroy()}}function ss(r,e){let{source:t,origin:n=[0,0],destination:i}=e,{width:s=e.destination.width,height:a=e.destination.width}=e,u=0,l=Q.GL.RGBA,{framebuffer:f,destroyFramebuffer:d}=ei(t),[b,g]=n,L=!1;r.gl.bindFramebuffer(Q.GL.FRAMEBUFFER,f.handle);let R=null,D;if(i instanceof U)R=i,s=Number.isFinite(s)?s:R.width,a=Number.isFinite(a)?a:R.height,R.bind(0),D=R.destination;else throw new Error("whoops");return L||r.gl.copyTexImage2D(D,u,l,b,g,s,a,0),R&&R.unbind(),d&&f.destroy(),R}function ei(r){if(r instanceof I){let{width:e,height:t,id:n}=r;return{framebuffer:r.device.createFramebuffer({id:`framebuffer-for-${n}`,width:e,height:t,colorAttachments:[r]}),destroyFramebuffer:!0}}return{framebuffer:r,destroyFramebuffer:!1}}var rt=class extends Me{device;commandBuffer;constructor(e,t){super(e,t),this.device=e,this.commandBuffer=new jt(e)}destroy(){}finish(){this.commandBuffer.submitCommands()}copyBufferToBuffer(e){this.commandBuffer.commands.push({name:"copy-buffer-to-buffer",options:e})}copyBufferToTexture(e){this.commandBuffer.commands.push({name:"copy-buffer-to-texture",options:e})}copyTextureToBuffer(e){this.commandBuffer.commands.push({name:"copy-texture-to-buffer",options:e})}copyTextureToTexture(e){this.commandBuffer.commands.push({name:"copy-texture-to-texture",options:e})}pushDebugGroup(e){}popDebugGroup(){}insertDebugMarker(e){}resolveQuerySet(e,t,n){}};var nt=y(S(),1);var be=class extends He{get[Symbol.toStringTag](){return"VertexArray"}device;handle;buffer=null;bufferValue=null;static isConstantAttributeZeroSupported(e){return Gt()==="Chrome"}constructor(e,t){super(e,t),this.device=e,this.handle=this.device.gl.createVertexArray()}destroy(){super.destroy(),this.buffer&&this.buffer?.destroy(),this.handle&&(this.device.gl.deleteVertexArray(this.handle),this.handle=void 0)}setIndexBuffer(e){let t=e;if(t&&t.glTarget!==nt.GL.ELEMENT_ARRAY_BUFFER)throw new Error("Use .setBuffer()");this.device.gl.bindVertexArray(this.handle),this.device.gl.bindBuffer(nt.GL.ELEMENT_ARRAY_BUFFER,t?t.handle:null),this.indexBuffer=t}setBuffer(e,t){let n=t;if(n.glTarget===nt.GL.ELEMENT_ARRAY_BUFFER)throw new Error("Use .setIndexBuffer()");let{size:i,type:s,stride:a,offset:u,normalized:l,integer:f,divisor:d}=this._getAccessor(e);this.device.gl.bindVertexArray(this.handle),this.device.gl.bindBuffer(nt.GL.ARRAY_BUFFER,n.handle),f?this.device.gl.vertexAttribIPointer(e,i,s,a,u):this.device.gl.vertexAttribPointer(e,i,s,l,a,u),this.device.gl.enableVertexAttribArray(e),this.device.gl.vertexAttribDivisor(e,d||0),this.attributes[e]=n}setConstantWebGL(e,t){this._enable(e,!1),this.attributes[e]=t}init=!1;bindBeforeRender(){if(this.device.gl.bindVertexArray(this.handle),!this.init){let e=this.indexBuffer;this.device.gl.bindBuffer(nt.GL.ELEMENT_ARRAY_BUFFER,e?.handle||null),this.init=!0}this._applyConstantAttributes()}unbindAfterRender(){this.device.gl.bindVertexArray(null)}_applyConstantAttributes(){for(let e=0;e<this.maxVertexAttributes;++e){let t=this.attributes[e];ArrayBuffer.isView(t)&&this.device.setConstantAttributeWebGL(e,t)}}_getAccessor(e){let t=this.attributeInfos[e];if(!t)throw new Error(`Unknown attribute location ${e}`);let n=Ot(t.bufferDataType);return{size:t.bufferComponents,type:n,stride:t.byteStride,offset:t.byteOffset,normalized:t.normalized,integer:t.integer,divisor:t.stepMode==="instance"?1:0}}_enable(e,t=!0){let i=be.isConstantAttributeZeroSupported(this.device)||e!==0;(t||i)&&(e=Number(e),this.device.gl.bindVertexArray(this.handle),t?this.device.gl.enableVertexAttribArray(e):this.device.gl.disableVertexAttribArray(e),this.device.gl.bindVertexArray(null))}getConstantBuffer(e,t){let n=as(t),i=n.byteLength*e,s=n.length*e;if(this.buffer&&i!==this.buffer.byteLength)throw new Error(`Buffer size is immutable, byte length ${i} !== ${this.buffer.byteLength}.`);let a=!this.buffer;if(this.buffer=this.buffer||this.device.createBuffer({byteLength:i}),a=a||!us(n,this.bufferValue),a){let u=gr(t.constructor,s);Er({target:u,source:n,start:0,count:s}),this.buffer.write(u),this.bufferValue=t}return this.buffer}};function as(r){return Array.isArray(r)?new Float32Array(r):r}function us(r,e){if(!r||!e||r.length!==e.length||r.constructor!==e.constructor)return!1;for(let t=0;t<r.length;++t)if(r[t]!==e[t])return!1;return!0}var fe=y(S(),1);var it=class extends ke{device;gl;handle;layout;buffers={};unusedBuffers={};bindOnUse=!0;_bound=!1;constructor(e,t){super(e,t),this.device=e,this.gl=e.gl,this.handle=this.props.handle||this.gl.createTransformFeedback(),this.layout=this.props.layout,t.buffers&&this.setBuffers(t.buffers),Object.seal(this)}destroy(){this.gl.deleteTransformFeedback(this.handle),super.destroy()}begin(e="point-list"){this.gl.bindTransformFeedback(fe.GL.TRANSFORM_FEEDBACK,this.handle),this.bindOnUse&&this._bindBuffers(),this.gl.beginTransformFeedback(Zn(e))}end(){this.gl.endTransformFeedback(),this.bindOnUse||this._unbindBuffers(),this.gl.bindTransformFeedback(fe.GL.TRANSFORM_FEEDBACK,null)}setBuffers(e){this.buffers={},this.unusedBuffers={},this.bind(()=>{for(let t in e)this.setBuffer(t,e[t])})}setBuffer(e,t){let n=this._getVaryingIndex(e),{buffer:i,byteLength:s,byteOffset:a}=this._getBufferRange(t);if(n<0){this.unusedBuffers[e]=i,m.warn(`${this.id} unusedBuffers varying buffer ${e}`)();return}this.buffers[n]={buffer:i,byteLength:s,byteOffset:a},this.bindOnUse||this._bindBuffer(n,i,a,s)}getBuffer(e){if(ti(e))return this.buffers[e]||null;let t=this._getVaryingIndex(e);return t>=0?this.buffers[t]:null}bind(e=this.handle){if(typeof e!="function")return this.gl.bindTransformFeedback(fe.GL.TRANSFORM_FEEDBACK,e),this;let t;return this._bound?t=e():(this.gl.bindTransformFeedback(fe.GL.TRANSFORM_FEEDBACK,this.handle),this._bound=!0,t=e(),this._bound=!1,this.gl.bindTransformFeedback(fe.GL.TRANSFORM_FEEDBACK,null)),t}unbind(){this.bind(null)}_getBufferRange(e){if(e instanceof H)return{buffer:e,byteOffset:0,byteLength:e.byteLength};let{buffer:t,byteOffset:n=0,byteLength:i=e.buffer.byteLength}=e;return{buffer:t,byteOffset:n,byteLength:i}}_getVaryingIndex(e){if(ti(e))return Number(e);for(let t of this.layout.varyings)if(e===t.name)return t.location;return-1}_bindBuffers(){for(let e in this.buffers){let{buffer:t,byteLength:n,byteOffset:i}=this._getBufferRange(this.buffers[e]);this._bindBuffer(Number(e),t,i,n)}}_unbindBuffers(){for(let e in this.buffers)this.gl.bindBufferBase(fe.GL.TRANSFORM_FEEDBACK_BUFFER,Number(e),null)}_bindBuffer(e,t,n=0,i){let s=t&&t.handle;!s||i===void 0?this.gl.bindBufferBase(fe.GL.TRANSFORM_FEEDBACK_BUFFER,e,s):this.gl.bindBufferRange(fe.GL.TRANSFORM_FEEDBACK_BUFFER,e,s,n,i)}};function ti(r){return typeof r=="number"?Number.isInteger(r):/^\d+$/.test(r)}var _e=y(S(),1),Qt=class extends Ve{device;handle;target=null;_queryPending=!1;_pollingPromise=null;get[Symbol.toStringTag](){return"Query"}constructor(e,t){if(super(e,t),this.device=e,t.count>1)throw new Error("WebGL QuerySet can only have one value");this.handle=this.device.gl.createQuery(),Object.seal(this)}destroy(){this.device.gl.deleteQuery(this.handle)}beginTimestampQuery(){return this._begin(_e.GL.TIME_ELAPSED_EXT)}endTimestampQuery(){this._end()}beginOcclusionQuery(e){return this._begin(e?.conservative?_e.GL.ANY_SAMPLES_PASSED_CONSERVATIVE:_e.GL.ANY_SAMPLES_PASSED)}endOcclusionQuery(){this._end()}beginTransformFeedbackQuery(){return this._begin(_e.GL.TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN)}endTransformFeedbackQuery(){this._end()}async resolveQuery(){return[await this.pollQuery()]}_begin(e){this._queryPending||(this.target=e,this.device.gl.beginQuery(this.target,this.handle))}_end(){this._queryPending||this.target&&(this.device.gl.endQuery(this.target),this.target=null,this._queryPending=!0)}isResultAvailable(){if(!this._queryPending)return!1;let e=this.device.gl.getQueryParameter(this.handle,_e.GL.QUERY_RESULT_AVAILABLE);return e&&(this._queryPending=!1),e}isTimerDisjoint(){return this.device.gl.getParameter(_e.GL.GPU_DISJOINT_EXT)}getResult(){return this.device.gl.getQueryParameter(this.handle,_e.GL.QUERY_RESULT)}getTimerMilliseconds(){return this.getResult()/1e6}pollQuery(e=Number.POSITIVE_INFINITY){if(this._pollingPromise)return this._pollingPromise;let t=0;return this._pollingPromise=new Promise((n,i)=>{let s=()=>{this.isResultAvailable()?(n(this.getResult()),this._pollingPromise=null):t++>e?(i("Timed out"),this._pollingPromise=null):requestAnimationFrame(s)};requestAnimationFrame(s)}),this._pollingPromise}};var ce=y(S(),1);var V=y(S(),1);function Ur(r){switch(r){case V.GL.ALPHA:case V.GL.R32F:case V.GL.RED:return 1;case V.GL.RG32F:case V.GL.RG:return 2;case V.GL.RGB:case V.GL.RGB32F:return 3;case V.GL.RGBA:case V.GL.RGBA32F:return 4;default:return A(!1),0}}function ri(r){switch(r){case V.GL.UNSIGNED_BYTE:return 1;case V.GL.UNSIGNED_SHORT_5_6_5:case V.GL.UNSIGNED_SHORT_4_4_4_4:case V.GL.UNSIGNED_SHORT_5_5_5_1:return 2;case V.GL.FLOAT:return 4;default:return A(!1),0}}function ni(r,e){let{sourceX:t=0,sourceY:n=0,sourceFormat:i=ce.GL.RGBA,sourceAttachment:s=ce.GL.COLOR_ATTACHMENT0}=e||{},{target:a=null,sourceWidth:u,sourceHeight:l,sourceType:f}=e||{},{framebuffer:d,deleteFramebuffer:b}=oi(r);A(d);let{gl:g,handle:L}=d;u=u||d.width,l=l||d.height;let R=s-ce.GL.COLOR_ATTACHMENT0;f=f||d.colorAttachments[R]?.texture?.type||ce.GL.UNSIGNED_BYTE,a=ls(a,f,i,u,l),f=f||Yn(a);let D=g.bindFramebuffer(ce.GL.FRAMEBUFFER,L);return g.readPixels(t,n,u,l,i,f,a),g.bindFramebuffer(ce.GL.FRAMEBUFFER,D||null),b&&d.destroy(),a}function ii(r,e){let{target:t,sourceX:n=0,sourceY:i=0,sourceFormat:s=ce.GL.RGBA,targetByteOffset:a=0}=e||{},{sourceWidth:u,sourceHeight:l,sourceType:f}=e||{},{framebuffer:d,deleteFramebuffer:b}=oi(r);A(d),u=u||d.width,l=l||d.height;let g=d;f=f||ce.GL.UNSIGNED_BYTE;let L=t;if(!L){let D=Ur(s),ie=ri(f),de=a+u*l*D*ie;L=g.device.createBuffer({byteLength:de})}let R=r.device.createCommandEncoder();return R.copyTextureToBuffer({source:r,width:u,height:l,origin:[n,i],destination:L,byteOffset:a}),R.destroy(),b&&d.destroy(),L}function oi(r){return r instanceof ge?{framebuffer:r,deleteFramebuffer:!1}:{framebuffer:cs(r),deleteFramebuffer:!0}}function cs(r,e){let{device:t,width:n,height:i,id:s}=r;return t.createFramebuffer({...e,id:`framebuffer-for-${s}`,width:n,height:i,colorAttachments:[r]})}function ls(r,e,t,n,i){if(r)return r;e=e||ce.GL.UNSIGNED_BYTE;let s=xt(e,{clamped:!1}),a=Ur(t);return new s(n*i*a)}var fs=256,ds=1024,ms=16384;var hs="clear: bad arguments";function si(r,e){let{framebuffer:t=null,color:n=null,depth:i=null,stencil:s=null}=e||{},a={};t&&(a.framebuffer=t);let u=0;n&&(u|=ms,n!==!0&&(a.clearColor=n)),i&&(u|=fs,i!==!0&&(a.clearDepth=i)),s&&(u|=ds,i!==!0&&(a.clearStencil=i)),A(u!==0,hs),Y(r,a,()=>{r.gl.clear(u)})}var yt=1,ot=class extends he{static isSupported(){return typeof WebGL2RenderingContext<"u"}handle;features;limits;info;canvasContext;lost;_resolveContextLost;static attach(e){if(e instanceof ot)return e;if(e?.device instanceof he)return e.device;if(!ps(e))throw new Error("Invalid WebGL2RenderingContext");return new ot({gl:e})}static async create(e={}){m.groupCollapsed(yt,"WebGLDevice created")();let t=[];if(e.debug&&t.push(kn()),e.spector&&t.push(Mn()),typeof e.canvas=="string"&&t.push(pe.pageLoaded),await Promise.all(t),m.probe(yt+1,"DOM is loaded")(),e.gl?.device)return ot.attach(e.gl);let n=new ot(e),i=`Created ${n.info.type}${n.debug?" debug":""} context: ${n.info.vendor}, ${n.info.renderer} for canvas: ${n.canvasContext.id}`;return m.probe(yt,i)(),m.table(yt,n.info)(),m.groupEnd(yt)(),n}constructor(e){super({...e,id:e.id||te("webgl-device")});let t=e.gl?.device;if(t)throw new Error(`WebGL context already attached to device ${t.id}`);let n=e.gl?.canvas||e.canvas;this.canvasContext=new qe(this,{...e,canvas:n}),this.lost=new Promise(u=>{this._resolveContextLost=u});let i=e.gl||null;if(i||=Ln(this.canvasContext.canvas,{...e,onContextLost:u=>this._resolveContextLost?.({reason:"destroyed",message:"Entered sleep mode, or too many apps or browser tabs are using the GPU."})}),!i)throw new Error("WebGL context creation failed");this.handle=i,this.gl=i,this.gl.device=this,this.gl._version=2,this.info=Rn(this.gl,this._extensions),this.features=new Ht(this.gl,this._extensions),this.limits=new kt(this.gl),this.canvasContext.resize();let{enable:s=!0,copyState:a=!1}=e;pt(this.gl,{enable:s,copyState:a,log:(...u)=>m.log(1,...u)()}),e.debug&&(this.gl=Vn(this.gl,{...e,throwOnError:!0}),this.debug=!0,m.level=Math.max(m.level,1),m.warn("WebGL debug mode activated. Performance reduced.")()),e.spector&&(this.spectorJS=Wn({...this.props,canvas:this.handle.canvas}))}destroy(){}get isLost(){return this.gl.isContextLost()}getSize(){return[this.gl.drawingBufferWidth,this.gl.drawingBufferHeight]}isTextureFormatSupported(e){return Tt(this.gl,e,this._extensions)}isTextureFormatFilterable(e){return Fn(this.gl,e,this._extensions)}isTextureFormatRenderable(e){return Bn(this.gl,e,this._extensions)}createCanvasContext(e){throw new Error("WebGL only supports a single canvas")}createBuffer(e){let t=this._getBufferProps(e);return new H(this,t)}_createTexture(e){return new U(this,e)}createExternalTexture(e){throw new Error("createExternalTexture() not implemented")}createSampler(e){return new le(this,e)}createShader(e){return new Ze(this,e)}createFramebuffer(e){return new ee(this,e)}createVertexArray(e){return new be(this,e)}createTransformFeedback(e){return new it(this,e)}createQuerySet(e){return new Qt(this,e)}createRenderPipeline(e){return new tt(this,e)}beginRenderPass(e){return new Je(this,e)}createComputePipeline(e){throw new Error("ComputePipeline not supported in WebGL")}beginComputePass(e){throw new Error("ComputePass not supported in WebGL")}renderPass=null;getDefaultRenderPass(){return this.renderPass=this.renderPass||this.beginRenderPass({framebuffer:this.canvasContext.getCurrentFramebuffer()}),this.renderPass}createCommandEncoder(e){return new rt(this,e)}submit(){this.renderPass?.end(),this.renderPass=null}readPixelsToArrayWebGL(e,t){return ni(e,t)}readPixelsToBufferWebGL(e,t){return ii(e,t)}setParametersWebGL(e){X(this,e)}getParametersWebGL(e){return Xe(this,e)}withParametersWebGL(e,t){Y(this,e,t)}clearWebGL(e){si(this,e)}gl;debug=!1;_canvasSizeInfo={clientWidth:0,clientHeight:0,devicePixelRatio:1};_extensions={};_polyfilled=!1;spectorJS;loseDevice(){let e=!1,n=this.getExtension("WEBGL_lose_context").WEBGL_lose_context;return n&&(e=!0,n.loseContext()),this._resolveContextLost?.({reason:"destroyed",message:"Application triggered context loss"}),e}pushState(){re(this.gl)}popState(){Z(this.gl)}setSpectorMetadata(e,t){e.__SPECTOR_Metadata=t}getGLKey(e,t){t=t||this.gl2||this.gl;let n=Number(e);for(let i in t)if(t[i]===n)return`GL.${i}`;return String(e)}_constants;setConstantAttributeWebGL(e,t){let n=this.limits.maxVertexAttributes;this._constants=this._constants||new Array(n).fill(null);let i=this._constants[e];switch(i&&_s(i,t)&&m.info(1,`setConstantAttributeWebGL(${e}) could have been skipped, value unchanged`)(),this._constants[e]=t,t.constructor){case Float32Array:gs(this,e,t);break;case Int32Array:Es(this,e,t);break;case Uint32Array:bs(this,e,t);break;default:A(!1)}}getExtension(e){return J(this.gl,e,this._extensions),this._extensions}},K=ot;E(K,"type","webgl");function ps(r){return typeof WebGL2RenderingContext<"u"&&r instanceof WebGL2RenderingContext?!0:Boolean(r&&Number.isFinite(r._version))}function gs(r,e,t){switch(t.length){case 1:r.gl.vertexAttrib1fv(e,t);break;case 2:r.gl.vertexAttrib2fv(e,t);break;case 3:r.gl.vertexAttrib3fv(e,t);break;case 4:r.gl.vertexAttrib4fv(e,t);break;default:A(!1)}}function Es(r,e,t){r.gl.vertexAttribI4iv(e,t)}function bs(r,e,t){r.gl.vertexAttribI4uiv(e,t)}function _s(r,e){if(!r||!e||r.length!==e.length||r.constructor!==e.constructor)return!1;for(let t=0;t<r.length;++t)if(r[t]!==e[t])return!1;return!0}return Ei(Ts);})();
|
|
51
18
|
return __exports__;
|
|
52
19
|
});
|