@luma.gl/webgl 8.5.9 → 8.6.0-alpha.3
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/LICENSE +8 -1
- package/dist/adapter/converters/set-device-parameters.d.ts +5 -0
- package/dist/adapter/converters/set-device-parameters.d.ts.map +1 -0
- package/dist/adapter/converters/set-device-parameters.js +124 -0
- package/dist/adapter/converters/set-device-parameters.js.map +1 -0
- package/dist/adapter/converters/webgpu-texture-formats.d.ts +281 -0
- package/dist/adapter/converters/webgpu-texture-formats.d.ts.map +1 -0
- package/dist/adapter/converters/webgpu-texture-formats.js +285 -0
- package/dist/adapter/converters/webgpu-texture-formats.js.map +1 -0
- package/dist/adapter/device-helpers/device-features.d.ts +12 -0
- package/dist/adapter/device-helpers/device-features.d.ts.map +1 -0
- package/dist/adapter/device-helpers/device-features.js +123 -0
- package/dist/adapter/device-helpers/device-features.js.map +1 -0
- package/dist/adapter/device-helpers/device-limits.d.ts +51 -0
- package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -0
- package/dist/adapter/device-helpers/device-limits.js +90 -0
- package/dist/adapter/device-helpers/device-limits.js.map +1 -0
- package/dist/adapter/device-helpers/get-device-info.d.ts +4 -0
- package/dist/adapter/device-helpers/get-device-info.d.ts.map +1 -0
- package/dist/adapter/device-helpers/get-device-info.js +44 -0
- package/dist/adapter/device-helpers/get-device-info.js.map +1 -0
- package/dist/adapter/device-helpers/is-old-ie.d.ts +2 -0
- package/dist/adapter/device-helpers/is-old-ie.d.ts.map +1 -0
- package/dist/{esm/features/check-old-ie.js → adapter/device-helpers/is-old-ie.js} +3 -3
- package/dist/adapter/device-helpers/is-old-ie.js.map +1 -0
- package/dist/adapter/webgl-device.d.ts +111 -0
- package/dist/adapter/webgl-device.d.ts.map +1 -0
- package/dist/adapter/webgl-device.js +208 -0
- package/dist/adapter/webgl-device.js.map +1 -0
- package/dist/adapter/webgl-shader.d.ts +18 -0
- package/dist/adapter/webgl-shader.d.ts.map +1 -0
- package/dist/adapter/webgl-shader.js +82 -0
- package/dist/adapter/webgl-shader.js.map +1 -0
- package/dist/bundle.d.ts +2 -0
- package/dist/bundle.d.ts.map +1 -0
- package/dist/bundle.js +5 -0
- package/dist/bundle.js.map +1 -0
- package/dist/classes/accessor.d.ts +28 -0
- package/dist/classes/accessor.d.ts.map +1 -0
- package/dist/classes/accessor.js +112 -0
- package/dist/classes/accessor.js.map +1 -0
- package/dist/classes/accessor.ts.disabled +159 -0
- package/dist/classes/clear.d.ts +17 -0
- package/dist/classes/clear.d.ts.map +1 -0
- package/{src → dist}/classes/clear.js +29 -23
- package/dist/classes/clear.js.map +1 -0
- package/dist/classes/copy-and-blit.d.ts +86 -0
- package/dist/classes/copy-and-blit.d.ts.map +1 -0
- package/dist/classes/copy-and-blit.js +338 -0
- package/dist/classes/copy-and-blit.js.map +1 -0
- package/dist/classes/framebuffer.d.ts +139 -0
- package/dist/classes/framebuffer.d.ts.map +1 -0
- package/dist/classes/framebuffer.js +656 -0
- package/dist/classes/framebuffer.js.map +1 -0
- package/dist/classes/program-configuration.d.ts +24 -0
- package/dist/classes/program-configuration.d.ts.map +1 -0
- package/dist/classes/program-configuration.js +73 -0
- package/dist/classes/program-configuration.js.map +1 -0
- package/dist/classes/program.d.ts +66 -0
- package/dist/classes/program.d.ts.map +1 -0
- package/dist/classes/program.js +379 -0
- package/dist/classes/program.js.map +1 -0
- package/dist/classes/query.d.ts +27 -0
- package/dist/classes/query.d.ts.map +1 -0
- package/dist/classes/query.js +145 -0
- package/dist/classes/query.js.map +1 -0
- package/dist/classes/renderbuffer-formats.d.ts +16 -0
- package/dist/classes/renderbuffer-formats.d.ts.map +1 -0
- package/dist/classes/renderbuffer-formats.js +185 -0
- package/dist/classes/renderbuffer-formats.js.map +1 -0
- package/dist/classes/renderbuffer.d.ts +60 -0
- package/dist/classes/renderbuffer.d.ts.map +1 -0
- package/dist/classes/renderbuffer.js +128 -0
- package/dist/classes/renderbuffer.js.map +1 -0
- package/dist/classes/shader.d.ts +42 -0
- package/dist/classes/shader.d.ts.map +1 -0
- package/dist/classes/shader.js +118 -0
- package/dist/classes/shader.js.map +1 -0
- package/dist/classes/texture-2d.d.ts +9 -0
- package/dist/classes/texture-2d.d.ts.map +1 -0
- package/dist/classes/texture-2d.js +36 -0
- package/dist/classes/texture-2d.js.map +1 -0
- package/dist/classes/texture-3d.d.ts +29 -0
- package/dist/classes/texture-3d.d.ts.map +1 -0
- package/dist/classes/texture-3d.js +76 -0
- package/dist/classes/texture-3d.js.map +1 -0
- package/dist/classes/texture-cube.d.ts +28 -0
- package/dist/classes/texture-cube.d.ts.map +1 -0
- package/dist/classes/texture-cube.js +130 -0
- package/dist/classes/texture-cube.js.map +1 -0
- package/dist/classes/texture-formats.d.ts +37 -0
- package/dist/classes/texture-formats.d.ts.map +1 -0
- package/dist/classes/texture-formats.js +98 -0
- package/dist/classes/texture-formats.js.map +1 -0
- package/dist/classes/texture.d.ts +123 -0
- package/dist/classes/texture.d.ts.map +1 -0
- package/dist/classes/texture.js +786 -0
- package/dist/classes/texture.js.map +1 -0
- package/dist/classes/transform-feedback.d.ts +33 -0
- package/dist/classes/transform-feedback.d.ts.map +1 -0
- package/dist/classes/transform-feedback.js +198 -0
- package/dist/classes/transform-feedback.js.map +1 -0
- package/dist/classes/uniform-buffer-layout.d.ts +17 -0
- package/dist/classes/uniform-buffer-layout.d.ts.map +1 -0
- package/dist/classes/uniform-buffer-layout.js +104 -0
- package/dist/classes/uniform-buffer-layout.js.map +1 -0
- package/dist/classes/uniforms.d.ts +37 -0
- package/dist/classes/uniforms.d.ts.map +1 -0
- package/dist/classes/uniforms.js +250 -0
- package/dist/classes/uniforms.js.map +1 -0
- package/dist/classes/vertex-array-object.d.ts +76 -0
- package/dist/classes/vertex-array-object.d.ts.map +1 -0
- package/dist/classes/vertex-array-object.js +261 -0
- package/dist/classes/vertex-array-object.js.map +1 -0
- package/dist/classes/vertex-array.d.ts +75 -0
- package/dist/classes/vertex-array.d.ts.map +1 -0
- package/dist/classes/vertex-array.js +408 -0
- package/dist/classes/vertex-array.js.map +1 -0
- package/dist/classes/webgl-buffer.d.ts +100 -0
- package/dist/classes/webgl-buffer.d.ts.map +1 -0
- package/dist/{esm/classes/buffer.js → classes/webgl-buffer.js} +100 -73
- package/dist/classes/webgl-buffer.js.map +1 -0
- package/dist/classes/webgl-resource.d.ts +56 -0
- package/dist/classes/webgl-resource.d.ts.map +1 -0
- package/dist/{esm/classes/resource.js → classes/webgl-resource.js} +35 -52
- package/dist/classes/webgl-resource.js.map +1 -0
- package/dist/context/context/context-state.d.ts +18 -0
- package/dist/context/context/context-state.d.ts.map +1 -0
- package/dist/context/context/context-state.js +26 -0
- package/dist/context/context/context-state.js.map +1 -0
- package/dist/context/context/create-context.d.ts +40 -0
- package/dist/context/context/create-context.d.ts.map +1 -0
- package/dist/context/context/create-context.js +37 -0
- package/dist/context/context/create-context.js.map +1 -0
- package/dist/context/context/device-pixels.d.ts +25 -0
- package/dist/context/context/device-pixels.d.ts.map +1 -0
- package/dist/context/context/device-pixels.js +98 -0
- package/dist/context/context/device-pixels.js.map +1 -0
- package/dist/context/context/get-canvas.d.ts +13 -0
- package/dist/context/context/get-canvas.d.ts.map +1 -0
- package/dist/context/context/get-canvas.js +31 -0
- package/dist/context/context/get-canvas.js.map +1 -0
- package/dist/context/context/resize-context.d.ts +20 -0
- package/dist/context/context/resize-context.d.ts.map +1 -0
- package/dist/context/context/resize-context.js +15 -0
- package/dist/context/context/resize-context.js.map +1 -0
- package/dist/context/context/webgl-checks.d.ts +13 -0
- package/dist/context/context/webgl-checks.d.ts.map +1 -0
- package/dist/context/context/webgl-checks.js +34 -0
- package/dist/context/context/webgl-checks.js.map +1 -0
- package/dist/context/parameters/unified-parameter-api.d.ts +31 -0
- package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -0
- package/dist/context/parameters/unified-parameter-api.js +65 -0
- package/dist/context/parameters/unified-parameter-api.js.map +1 -0
- package/dist/context/parameters/webgl-parameter-tables.d.ts +169 -0
- package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -0
- package/dist/context/parameters/webgl-parameter-tables.js +445 -0
- package/dist/context/parameters/webgl-parameter-tables.js.map +1 -0
- package/dist/context/parameters/webgl-parameters.d.ts +144 -0
- package/dist/context/parameters/webgl-parameters.d.ts.map +1 -0
- package/dist/context/parameters/webgl-parameters.js +2 -0
- package/dist/context/parameters/webgl-parameters.js.map +1 -0
- package/dist/context/polyfill/get-parameter-polyfill.d.ts +2 -0
- package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +1 -0
- package/dist/context/polyfill/get-parameter-polyfill.js +91 -0
- package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -0
- package/dist/context/polyfill/polyfill-context.d.ts +5 -0
- package/dist/context/polyfill/polyfill-context.d.ts.map +1 -0
- package/dist/context/polyfill/polyfill-context.js +91 -0
- package/dist/context/polyfill/polyfill-context.js.map +1 -0
- package/dist/context/polyfill/polyfill-table.d.ts +48 -0
- package/dist/context/polyfill/polyfill-table.d.ts.map +1 -0
- package/dist/context/polyfill/polyfill-table.js +160 -0
- package/dist/context/polyfill/polyfill-table.js.map +1 -0
- package/dist/context/polyfill/polyfill-vertex-array-object.d.ts +2 -0
- package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -0
- package/dist/context/polyfill/polyfill-vertex-array-object.js +335 -0
- package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
- package/dist/context/state-tracker/deep-array-equal.d.ts +3 -0
- package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -0
- package/dist/context/state-tracker/deep-array-equal.js +21 -0
- package/dist/context/state-tracker/deep-array-equal.js.map +1 -0
- package/dist/context/state-tracker/track-context-state.d.ts +22 -0
- package/dist/context/state-tracker/track-context-state.d.ts.map +1 -0
- package/dist/context/state-tracker/track-context-state.js +169 -0
- package/dist/context/state-tracker/track-context-state.js.map +1 -0
- package/dist/context/state-tracker/with-parameters.d.ts +13 -0
- package/dist/context/state-tracker/with-parameters.d.ts.map +1 -0
- package/dist/context/state-tracker/with-parameters.js +36 -0
- package/dist/context/state-tracker/with-parameters.js.map +1 -0
- package/dist/debug/debug-program-configuration.d.ts +2 -0
- package/dist/debug/debug-program-configuration.d.ts.map +1 -0
- package/dist/debug/debug-program-configuration.js +40 -0
- package/dist/debug/debug-program-configuration.js.map +1 -0
- package/dist/debug/debug-uniforms.d.ts +12 -0
- package/dist/debug/debug-uniforms.d.ts.map +1 -0
- package/dist/debug/debug-uniforms.js +108 -0
- package/dist/debug/debug-uniforms.js.map +1 -0
- package/dist/debug/debug-vertex-array.d.ts +5 -0
- package/dist/debug/debug-vertex-array.d.ts.map +1 -0
- package/dist/debug/debug-vertex-array.js +118 -0
- package/dist/debug/debug-vertex-array.js.map +1 -0
- package/dist/es5/adapter/converters/set-device-parameters.js +138 -0
- package/dist/es5/adapter/converters/set-device-parameters.js.map +1 -0
- package/dist/es5/adapter/converters/webgpu-texture-formats.js +296 -0
- package/dist/es5/adapter/converters/webgpu-texture-formats.js.map +1 -0
- package/dist/es5/adapter/device-helpers/device-features.js +152 -0
- package/dist/es5/adapter/device-helpers/device-features.js.map +1 -0
- package/dist/es5/adapter/device-helpers/device-limits.js +64 -0
- package/dist/es5/adapter/device-helpers/device-limits.js.map +1 -0
- package/dist/es5/adapter/device-helpers/get-device-info.js +55 -0
- package/dist/es5/adapter/device-helpers/get-device-info.js.map +1 -0
- package/dist/es5/{features/check-old-ie.js → adapter/device-helpers/is-old-ie.js} +3 -3
- package/dist/es5/adapter/device-helpers/is-old-ie.js.map +1 -0
- package/dist/es5/adapter/webgl-device.js +279 -0
- package/dist/es5/adapter/webgl-device.js.map +1 -0
- package/dist/es5/adapter/webgl-shader.js +155 -0
- package/dist/es5/adapter/webgl-shader.js.map +1 -0
- package/dist/es5/bundle.js +2 -4
- package/dist/es5/bundle.js.map +1 -1
- package/dist/es5/classes/accessor.js +36 -38
- package/dist/es5/classes/accessor.js.map +1 -1
- package/dist/es5/classes/accessor.ts.disabled +159 -0
- package/dist/es5/classes/clear.js +17 -11
- package/dist/es5/classes/clear.js.map +1 -1
- package/dist/es5/classes/copy-and-blit.js +121 -117
- package/dist/es5/classes/copy-and-blit.js.map +1 -1
- package/dist/es5/classes/framebuffer.js +435 -423
- package/dist/es5/classes/framebuffer.js.map +1 -1
- package/dist/es5/classes/program-configuration.js +44 -108
- package/dist/es5/classes/program-configuration.js.map +1 -1
- package/dist/es5/classes/program.js +108 -85
- package/dist/es5/classes/program.js.map +1 -1
- package/dist/es5/classes/query.js +58 -59
- package/dist/es5/classes/query.js.map +1 -1
- package/dist/es5/classes/renderbuffer-formats.js +79 -52
- package/dist/es5/classes/renderbuffer-formats.js.map +1 -1
- package/dist/es5/classes/renderbuffer.js +129 -100
- package/dist/es5/classes/renderbuffer.js.map +1 -1
- package/dist/es5/classes/shader.js +70 -96
- package/dist/es5/classes/shader.js.map +1 -1
- package/dist/es5/classes/texture-2d.js +25 -21
- package/dist/es5/classes/texture-2d.js.map +1 -1
- package/dist/es5/classes/texture-3d.js +49 -29
- package/dist/es5/classes/texture-3d.js.map +1 -1
- package/dist/es5/classes/texture-cube.js +45 -36
- package/dist/es5/classes/texture-cube.js.map +1 -1
- package/dist/es5/classes/texture-formats.js +35 -33
- package/dist/es5/classes/texture-formats.js.map +1 -1
- package/dist/es5/classes/texture.js +213 -101
- package/dist/es5/classes/texture.js.map +1 -1
- package/dist/es5/classes/transform-feedback.js +37 -34
- package/dist/es5/classes/transform-feedback.js.map +1 -1
- package/dist/es5/classes/uniform-buffer-layout.js +4 -4
- package/dist/es5/classes/uniform-buffer-layout.js.map +1 -1
- package/dist/es5/classes/uniforms.js +73 -73
- package/dist/es5/classes/uniforms.js.map +1 -1
- package/dist/es5/classes/vertex-array-object.js +106 -149
- package/dist/es5/classes/vertex-array-object.js.map +1 -1
- package/dist/es5/classes/vertex-array.js +52 -43
- package/dist/es5/classes/vertex-array.js.map +1 -1
- package/dist/es5/classes/{buffer.js → webgl-buffer.js} +120 -111
- package/dist/es5/classes/webgl-buffer.js.map +1 -0
- package/dist/es5/classes/{resource.js → webgl-resource.js} +78 -99
- package/dist/es5/classes/webgl-resource.js.map +1 -0
- package/dist/es5/context/context/context-state.js +31 -0
- package/dist/es5/context/context/context-state.js.map +1 -0
- package/dist/es5/context/context/create-context.js +57 -0
- package/dist/es5/context/context/create-context.js.map +1 -0
- package/dist/es5/context/context/device-pixels.js +115 -0
- package/dist/es5/context/context/device-pixels.js.map +1 -0
- package/dist/es5/context/context/get-canvas.js +40 -0
- package/dist/es5/context/context/get-canvas.js.map +1 -0
- package/dist/es5/context/context/resize-context.js +23 -0
- package/dist/es5/context/context/resize-context.js.map +1 -0
- package/dist/es5/context/context/webgl-checks.js +54 -0
- package/dist/es5/context/context/webgl-checks.js.map +1 -0
- package/dist/es5/context/parameters/unified-parameter-api.js +95 -0
- package/dist/es5/context/parameters/unified-parameter-api.js.map +1 -0
- package/dist/es5/context/parameters/webgl-parameter-tables.js +392 -0
- package/dist/es5/context/parameters/webgl-parameter-tables.js.map +1 -0
- package/dist/es5/context/parameters/webgl-parameters.js +6 -0
- package/dist/es5/context/parameters/webgl-parameters.js.map +1 -0
- package/dist/es5/context/polyfill/get-parameter-polyfill.js +81 -0
- package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +1 -0
- package/dist/es5/context/polyfill/polyfill-context.js +134 -0
- package/dist/es5/context/polyfill/polyfill-context.js.map +1 -0
- package/dist/es5/context/polyfill/polyfill-table.js +166 -0
- package/dist/es5/context/polyfill/polyfill-table.js.map +1 -0
- package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +341 -0
- package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
- package/dist/es5/context/state-tracker/deep-array-equal.js +28 -0
- package/dist/es5/context/state-tracker/deep-array-equal.js.map +1 -0
- package/dist/es5/context/state-tracker/track-context-state.js +196 -0
- package/dist/es5/context/state-tracker/track-context-state.js.map +1 -0
- package/dist/es5/context/state-tracker/with-parameters.js +44 -0
- package/dist/es5/context/state-tracker/with-parameters.js.map +1 -0
- package/dist/es5/debug/debug-program-configuration.js +1 -1
- package/dist/es5/debug/debug-program-configuration.js.map +1 -1
- package/dist/es5/debug/debug-uniforms.js +18 -20
- package/dist/es5/debug/debug-uniforms.js.map +1 -1
- package/dist/es5/debug/debug-vertex-array.js +16 -16
- package/dist/es5/debug/debug-vertex-array.js.map +1 -1
- package/dist/es5/helpers/get-program-bindings.js +274 -0
- package/dist/es5/helpers/get-program-bindings.js.map +1 -0
- package/dist/es5/helpers/program-bindings.js +2 -0
- package/dist/es5/helpers/program-bindings.js.map +1 -0
- package/dist/es5/index.js +159 -99
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/init.js +21 -41
- package/dist/es5/init.js.map +1 -1
- package/dist/es5/types/accessor.d.ts +29 -0
- package/dist/es5/types.js +2 -0
- package/dist/es5/types.js.map +1 -0
- package/dist/es5/webgl-utils/attribute-utils.js +4 -4
- package/dist/es5/webgl-utils/attribute-utils.js.map +1 -1
- package/dist/es5/webgl-utils/constants-to-keys.js +3 -3
- package/dist/es5/webgl-utils/constants-to-keys.js.map +1 -1
- package/dist/es5/webgl-utils/format-utils.js +21 -17
- package/dist/es5/webgl-utils/format-utils.js.map +1 -1
- package/dist/es5/webgl-utils/get-error.js.map +1 -1
- package/dist/es5/webgl-utils/index.js +74 -0
- package/dist/es5/webgl-utils/index.js.map +1 -0
- package/dist/es5/webgl-utils/parse-shader-compiler-log.js +72 -0
- package/dist/es5/webgl-utils/parse-shader-compiler-log.js.map +1 -0
- package/dist/es5/webgl-utils/request-animation-frame.js.map +1 -1
- package/dist/es5/webgl-utils/texture-utils.js +6 -4
- package/dist/es5/webgl-utils/texture-utils.js.map +1 -1
- package/dist/es5/webgl-utils/typed-array-utils.js +39 -34
- package/dist/es5/webgl-utils/typed-array-utils.js.map +1 -1
- package/dist/esm/adapter/converters/set-device-parameters.js +124 -0
- package/dist/esm/adapter/converters/set-device-parameters.js.map +1 -0
- package/dist/esm/adapter/converters/webgpu-texture-formats.js +285 -0
- package/dist/esm/adapter/converters/webgpu-texture-formats.js.map +1 -0
- package/dist/esm/adapter/device-helpers/device-features.js +123 -0
- package/dist/esm/adapter/device-helpers/device-features.js.map +1 -0
- package/dist/esm/adapter/device-helpers/device-limits.js +90 -0
- package/dist/esm/adapter/device-helpers/device-limits.js.map +1 -0
- package/dist/esm/adapter/device-helpers/get-device-info.js +44 -0
- package/dist/esm/adapter/device-helpers/get-device-info.js.map +1 -0
- package/dist/esm/adapter/device-helpers/is-old-ie.js +8 -0
- package/dist/esm/adapter/device-helpers/is-old-ie.js.map +1 -0
- package/dist/esm/adapter/webgl-device.js +208 -0
- package/dist/esm/adapter/webgl-device.js.map +1 -0
- package/dist/esm/adapter/webgl-shader.js +82 -0
- package/dist/esm/adapter/webgl-shader.js.map +1 -0
- package/dist/esm/bundle.js +2 -4
- package/dist/esm/bundle.js.map +1 -1
- package/dist/esm/classes/accessor.js +6 -6
- package/dist/esm/classes/accessor.js.map +1 -1
- package/dist/esm/classes/accessor.ts.disabled +159 -0
- package/dist/esm/classes/clear.js +19 -14
- package/dist/esm/classes/clear.js.map +1 -1
- package/dist/esm/classes/copy-and-blit.js +67 -64
- package/dist/esm/classes/copy-and-blit.js.map +1 -1
- package/dist/esm/classes/framebuffer.js +341 -313
- package/dist/esm/classes/framebuffer.js.map +1 -1
- package/dist/esm/classes/program-configuration.js +25 -104
- package/dist/esm/classes/program-configuration.js.map +1 -1
- package/dist/esm/classes/program.js +98 -62
- package/dist/esm/classes/program.js.map +1 -1
- package/dist/esm/classes/query.js +20 -16
- package/dist/esm/classes/query.js.map +1 -1
- package/dist/esm/classes/renderbuffer-formats.js +72 -49
- package/dist/esm/classes/renderbuffer-formats.js.map +1 -1
- package/dist/esm/classes/renderbuffer.js +86 -73
- package/dist/esm/classes/renderbuffer.js.map +1 -1
- package/dist/esm/classes/shader.js +47 -67
- package/dist/esm/classes/shader.js.map +1 -1
- package/dist/esm/classes/texture-2d.js +13 -9
- package/dist/esm/classes/texture-2d.js.map +1 -1
- package/dist/esm/classes/texture-3d.js +28 -16
- package/dist/esm/classes/texture-3d.js.map +1 -1
- package/dist/esm/classes/texture-cube.js +45 -31
- package/dist/esm/classes/texture-cube.js.map +1 -1
- package/dist/esm/classes/texture-formats.js +52 -51
- package/dist/esm/classes/texture-formats.js.map +1 -1
- package/dist/esm/classes/texture.js +174 -58
- package/dist/esm/classes/texture.js.map +1 -1
- package/dist/esm/classes/transform-feedback.js +26 -14
- package/dist/esm/classes/transform-feedback.js.map +1 -1
- package/dist/esm/classes/uniform-buffer-layout.js +1 -1
- package/dist/esm/classes/uniform-buffer-layout.js.map +1 -1
- package/dist/esm/classes/uniforms.js +111 -113
- package/dist/esm/classes/uniforms.js.map +1 -1
- package/dist/esm/classes/vertex-array-object.js +52 -89
- package/dist/esm/classes/vertex-array-object.js.map +1 -1
- package/dist/esm/classes/vertex-array.js +52 -31
- package/dist/esm/classes/vertex-array.js.map +1 -1
- package/dist/esm/classes/webgl-buffer.js +382 -0
- package/dist/esm/classes/webgl-buffer.js.map +1 -0
- package/dist/esm/classes/webgl-resource.js +212 -0
- package/dist/esm/classes/webgl-resource.js.map +1 -0
- package/dist/esm/context/context/context-state.js +26 -0
- package/dist/esm/context/context/context-state.js.map +1 -0
- package/dist/esm/context/context/create-context.js +37 -0
- package/dist/esm/context/context/create-context.js.map +1 -0
- package/dist/esm/context/context/device-pixels.js +98 -0
- package/dist/esm/context/context/device-pixels.js.map +1 -0
- package/dist/esm/context/context/get-canvas.js +31 -0
- package/dist/esm/context/context/get-canvas.js.map +1 -0
- package/dist/esm/context/context/resize-context.js +15 -0
- package/dist/esm/context/context/resize-context.js.map +1 -0
- package/dist/esm/context/context/webgl-checks.js +34 -0
- package/dist/esm/context/context/webgl-checks.js.map +1 -0
- package/dist/esm/context/parameters/unified-parameter-api.js +65 -0
- package/dist/esm/context/parameters/unified-parameter-api.js.map +1 -0
- package/dist/esm/context/parameters/webgl-parameter-tables.js +445 -0
- package/dist/esm/context/parameters/webgl-parameter-tables.js.map +1 -0
- package/dist/esm/context/parameters/webgl-parameters.js +2 -0
- package/dist/esm/context/parameters/webgl-parameters.js.map +1 -0
- package/dist/esm/context/polyfill/get-parameter-polyfill.js +91 -0
- package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +1 -0
- package/dist/esm/context/polyfill/polyfill-context.js +91 -0
- package/dist/esm/context/polyfill/polyfill-context.js.map +1 -0
- package/dist/esm/context/polyfill/polyfill-table.js +160 -0
- package/dist/esm/context/polyfill/polyfill-table.js.map +1 -0
- package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +335 -0
- package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
- package/dist/esm/context/state-tracker/deep-array-equal.js +21 -0
- package/dist/esm/context/state-tracker/deep-array-equal.js.map +1 -0
- package/dist/esm/context/state-tracker/track-context-state.js +169 -0
- package/dist/esm/context/state-tracker/track-context-state.js.map +1 -0
- package/dist/esm/context/state-tracker/with-parameters.js +36 -0
- package/dist/esm/context/state-tracker/with-parameters.js.map +1 -0
- package/dist/esm/debug/debug-program-configuration.js +4 -4
- package/dist/esm/debug/debug-program-configuration.js.map +1 -1
- package/dist/esm/debug/debug-uniforms.js +9 -9
- package/dist/esm/debug/debug-uniforms.js.map +1 -1
- package/dist/esm/debug/debug-vertex-array.js +18 -16
- package/dist/esm/debug/debug-vertex-array.js.map +1 -1
- package/dist/esm/helpers/get-program-bindings.js +228 -0
- package/dist/esm/helpers/get-program-bindings.js.map +1 -0
- package/dist/esm/helpers/program-bindings.js +2 -0
- package/dist/esm/helpers/program-bindings.js.map +1 -0
- package/dist/esm/index.js +17 -15
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/init.js +12 -28
- package/dist/esm/init.js.map +1 -1
- package/dist/esm/types/accessor.d.ts +29 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/webgl-utils/attribute-utils.js +1 -1
- package/dist/esm/webgl-utils/attribute-utils.js.map +1 -1
- package/dist/esm/webgl-utils/constants-to-keys.js +4 -4
- package/dist/esm/webgl-utils/constants-to-keys.js.map +1 -1
- package/dist/esm/webgl-utils/format-utils.js +16 -15
- package/dist/esm/webgl-utils/format-utils.js.map +1 -1
- package/dist/esm/webgl-utils/get-error.js +1 -1
- package/dist/esm/webgl-utils/get-error.js.map +1 -1
- package/dist/esm/webgl-utils/index.js +5 -0
- package/dist/esm/webgl-utils/index.js.map +1 -0
- package/dist/esm/webgl-utils/parse-shader-compiler-log.js +37 -0
- package/dist/esm/webgl-utils/parse-shader-compiler-log.js.map +1 -0
- package/dist/esm/webgl-utils/request-animation-frame.js.map +1 -1
- package/dist/esm/webgl-utils/texture-utils.js +4 -3
- package/dist/esm/webgl-utils/texture-utils.js.map +1 -1
- package/dist/esm/webgl-utils/typed-array-utils.js +41 -36
- package/dist/esm/webgl-utils/typed-array-utils.js.map +1 -1
- package/dist/helpers/get-program-bindings.d.ts +8 -0
- package/dist/helpers/get-program-bindings.d.ts.map +1 -0
- package/dist/helpers/get-program-bindings.js +228 -0
- package/dist/helpers/get-program-bindings.js.map +1 -0
- package/dist/helpers/program-bindings.d.ts +41 -0
- package/dist/helpers/program-bindings.d.ts.map +1 -0
- package/dist/helpers/program-bindings.js +2 -0
- package/dist/helpers/program-bindings.js.map +1 -0
- package/dist/index.d.ts +51 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +37 -0
- package/dist/index.js.map +1 -0
- package/dist/init.d.ts +5 -0
- package/dist/init.d.ts.map +1 -0
- package/dist/init.js +33 -0
- package/dist/init.js.map +1 -0
- package/dist/types/accessor.d.ts +29 -0
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/webgl-utils/attribute-utils.d.ts +18 -0
- package/dist/webgl-utils/attribute-utils.d.ts.map +1 -0
- package/dist/webgl-utils/attribute-utils.js +182 -0
- package/dist/webgl-utils/attribute-utils.js.map +1 -0
- package/dist/webgl-utils/constants-to-keys.d.ts +4 -0
- package/dist/webgl-utils/constants-to-keys.d.ts.map +1 -0
- package/dist/webgl-utils/constants-to-keys.js +41 -0
- package/dist/webgl-utils/constants-to-keys.js.map +1 -0
- package/dist/webgl-utils/format-utils.d.ts +3 -0
- package/dist/webgl-utils/format-utils.d.ts.map +1 -0
- package/dist/webgl-utils/format-utils.js +45 -0
- package/dist/webgl-utils/format-utils.js.map +1 -0
- package/dist/webgl-utils/get-error.d.ts +3 -0
- package/dist/webgl-utils/get-error.d.ts.map +1 -0
- package/dist/webgl-utils/get-error.js +41 -0
- package/dist/webgl-utils/get-error.js.map +1 -0
- package/dist/webgl-utils/index.d.ts +5 -0
- package/dist/webgl-utils/index.d.ts.map +1 -0
- package/dist/webgl-utils/index.js +5 -0
- package/dist/webgl-utils/index.js.map +1 -0
- package/dist/webgl-utils/parse-shader-compiler-log.d.ts +8 -0
- package/dist/webgl-utils/parse-shader-compiler-log.d.ts.map +1 -0
- package/dist/webgl-utils/parse-shader-compiler-log.js +37 -0
- package/dist/webgl-utils/parse-shader-compiler-log.js.map +1 -0
- package/dist/webgl-utils/request-animation-frame.d.ts +4 -0
- package/dist/webgl-utils/request-animation-frame.d.ts.map +1 -0
- package/dist/webgl-utils/request-animation-frame.js +7 -0
- package/dist/webgl-utils/request-animation-frame.js.map +1 -0
- package/dist/webgl-utils/texture-utils.d.ts +15 -0
- package/dist/webgl-utils/texture-utils.d.ts.map +1 -0
- package/dist/webgl-utils/texture-utils.js +48 -0
- package/dist/webgl-utils/texture-utils.js.map +1 -0
- package/dist/webgl-utils/typed-array-utils.d.ts +43 -0
- package/dist/webgl-utils/typed-array-utils.d.ts.map +1 -0
- package/{src → dist}/webgl-utils/typed-array-utils.js +45 -27
- package/dist/webgl-utils/typed-array-utils.js.map +1 -0
- package/package.json +9 -9
- package/src/.DS_Store +0 -0
- package/src/adapter/converters/set-device-parameters.ts +182 -0
- package/src/adapter/converters/webgpu-texture-formats.ts +167 -0
- package/src/adapter/device-helpers/device-features.ts +227 -0
- package/src/adapter/device-helpers/device-limits.ts +150 -0
- package/src/adapter/device-helpers/get-device-info.ts +49 -0
- package/src/{features/check-old-ie.js → adapter/device-helpers/is-old-ie.ts} +3 -3
- package/src/adapter/webgl-device.ts +406 -0
- package/src/adapter/webgl-shader.ts +84 -0
- package/src/bundle.ts +4 -0
- package/src/classes/accessor.js +2 -3
- package/src/classes/accessor.ts.disabled +159 -0
- package/src/classes/clear.ts +108 -0
- package/src/classes/{copy-and-blit.js → copy-and-blit.ts} +143 -55
- package/src/classes/{framebuffer.js → framebuffer.ts} +381 -321
- package/src/classes/program-configuration.ts +77 -0
- package/src/classes/{program.js → program.ts} +111 -77
- package/src/classes/{query.js → query.ts} +31 -25
- package/src/classes/{renderbuffer-formats.js → renderbuffer-formats.ts} +42 -14
- package/src/classes/renderbuffer.ts +154 -0
- package/src/classes/shader.ts +129 -0
- package/src/classes/texture-2d.ts +35 -0
- package/src/classes/{texture-3d.js → texture-3d.ts} +48 -18
- package/src/classes/{texture-cube.js → texture-cube.ts} +52 -34
- package/src/classes/{texture-formats.js → texture-formats.ts} +10 -2
- package/src/classes/{texture.js → texture.ts} +223 -57
- package/src/classes/{transform-feedback.js → transform-feedback.ts} +34 -25
- package/src/classes/{uniform-buffer-layout.js → uniform-buffer-layout.ts} +10 -6
- package/src/classes/{uniforms.js → uniforms.ts} +123 -77
- package/src/classes/{vertex-array-object.js → vertex-array-object.ts} +136 -114
- package/src/classes/{vertex-array.js → vertex-array.ts} +84 -59
- package/src/classes/{buffer.js → webgl-buffer.ts} +126 -50
- package/src/classes/{resource.js → webgl-resource.ts} +55 -46
- package/src/context/context/context-state.ts +39 -0
- package/src/context/context/create-context.ts +83 -0
- package/src/context/context/device-pixels.ts +147 -0
- package/src/context/context/get-canvas.ts +37 -0
- package/src/context/context/resize-context.ts +37 -0
- package/src/context/context/webgl-checks.ts +49 -0
- package/src/context/parameters/unified-parameter-api.ts +128 -0
- package/src/context/parameters/webgl-parameter-tables.ts +625 -0
- package/src/context/parameters/webgl-parameters.ts +197 -0
- package/src/context/polyfill/get-parameter-polyfill.ts +118 -0
- package/src/context/polyfill/polyfill-context.ts +98 -0
- package/src/context/polyfill/polyfill-table.ts +162 -0
- package/src/context/polyfill/polyfill-vertex-array-object.ts +360 -0
- package/src/context/state-tracker/deep-array-equal.ts +20 -0
- package/src/context/state-tracker/track-context-state.ts +250 -0
- package/src/context/state-tracker/with-parameters.ts +50 -0
- package/src/debug/{debug-program-configuration.js → debug-program-configuration.ts} +0 -0
- package/src/debug/{debug-uniforms.js → debug-uniforms.ts} +18 -8
- package/src/debug/{debug-vertex-array.js → debug-vertex-array.ts} +6 -5
- package/src/helpers/get-program-bindings.ts +244 -0
- package/src/helpers/program-bindings.ts +46 -0
- package/src/index.ts +133 -0
- package/src/{init.js → init.ts} +11 -25
- package/src/types/accessor.d.ts +29 -0
- package/src/{types.d.ts → types.ts} +1 -1
- package/src/webgl-utils/{attribute-utils.js → attribute-utils.ts} +1 -2
- package/src/webgl-utils/{constants-to-keys.js → constants-to-keys.ts} +1 -1
- package/src/webgl-utils/{format-utils.js → format-utils.ts} +1 -1
- package/src/webgl-utils/{get-error.js → get-error.ts} +0 -0
- package/src/webgl-utils/index.ts +12 -0
- package/src/webgl-utils/parse-shader-compiler-log.ts +48 -0
- package/src/webgl-utils/{request-animation-frame.js → request-animation-frame.ts} +3 -2
- package/src/webgl-utils/{texture-utils.js → texture-utils.ts} +14 -10
- package/src/webgl-utils/typed-array-utils.ts +137 -0
- package/dist/dist.js +0 -13555
- package/dist/dist.min.js +0 -1
- package/dist/es5/classes/buffer.d.ts +0 -84
- package/dist/es5/classes/buffer.js.map +0 -1
- package/dist/es5/classes/clear.d.ts +0 -11
- package/dist/es5/classes/copy-and-blit.d.ts +0 -101
- package/dist/es5/classes/framebuffer.d.ts +0 -96
- package/dist/es5/classes/program-configuration.d.ts +0 -15
- package/dist/es5/classes/program.d.ts +0 -44
- package/dist/es5/classes/query.d.ts +0 -21
- package/dist/es5/classes/renderbuffer.d.ts +0 -34
- package/dist/es5/classes/resource.d.ts +0 -47
- package/dist/es5/classes/resource.js.map +0 -1
- package/dist/es5/classes/shader.d.ts +0 -29
- package/dist/es5/classes/texture-2d.d.ts +0 -11
- package/dist/es5/classes/texture-3d.d.ts +0 -29
- package/dist/es5/classes/texture-cube.d.ts +0 -23
- package/dist/es5/classes/texture.d.ts +0 -80
- package/dist/es5/classes/transform-feedback.d.ts +0 -16
- package/dist/es5/classes/uniform-buffer-layout.d.ts +0 -18
- package/dist/es5/classes/uniforms.d.ts +0 -63
- package/dist/es5/classes/vertex-array-object.d.ts +0 -25
- package/dist/es5/classes/vertex-array.d.ts +0 -37
- package/dist/es5/debug/debug-program-configuration.d.ts +0 -1
- package/dist/es5/debug/debug-uniforms.d.ts +0 -11
- package/dist/es5/debug/debug-vertex-array.d.ts +0 -1
- package/dist/es5/features/check-glsl-extension.js +0 -41
- package/dist/es5/features/check-glsl-extension.js.map +0 -1
- package/dist/es5/features/check-old-ie.js.map +0 -1
- package/dist/es5/features/features.js +0 -99
- package/dist/es5/features/features.js.map +0 -1
- package/dist/es5/features/index.js +0 -64
- package/dist/es5/features/index.js.map +0 -1
- package/dist/es5/features/limits.js +0 -64
- package/dist/es5/features/limits.js.map +0 -1
- package/dist/es5/features/webgl-features-table.js +0 -64
- package/dist/es5/features/webgl-features-table.js.map +0 -1
- package/dist/es5/features/webgl-limits-table.js +0 -132
- package/dist/es5/features/webgl-limits-table.js.map +0 -1
- package/dist/es5/glsl-utils/format-glsl-error.d.ts +0 -16
- package/dist/es5/glsl-utils/format-glsl-error.js +0 -108
- package/dist/es5/glsl-utils/format-glsl-error.js.map +0 -1
- package/dist/es5/glsl-utils/get-shader-name.js +0 -14
- package/dist/es5/glsl-utils/get-shader-name.js.map +0 -1
- package/dist/es5/glsl-utils/get-shader-type-name.js +0 -22
- package/dist/es5/glsl-utils/get-shader-type-name.js.map +0 -1
- package/dist/es5/glsl-utils/get-shader-version.js +0 -22
- package/dist/es5/glsl-utils/get-shader-version.js.map +0 -1
- package/dist/es5/glsl-utils/index.js +0 -48
- package/dist/es5/glsl-utils/index.js.map +0 -1
- package/dist/es5/index.d.ts +0 -71
- package/dist/es5/init.d.ts +0 -12
- package/dist/es5/types.d.ts +0 -8
- package/dist/es5/utils/array-utils-flat.js +0 -51
- package/dist/es5/utils/array-utils-flat.js.map +0 -1
- package/dist/es5/utils/assert.d.ts +0 -1
- package/dist/es5/utils/assert.js +0 -13
- package/dist/es5/utils/assert.js.map +0 -1
- package/dist/es5/utils/check-props.js +0 -51
- package/dist/es5/utils/check-props.js.map +0 -1
- package/dist/es5/utils/format-value.js +0 -57
- package/dist/es5/utils/format-value.js.map +0 -1
- package/dist/es5/utils/is-old-ie.d.ts +0 -1
- package/dist/es5/utils/is-old-ie.js +0 -14
- package/dist/es5/utils/is-old-ie.js.map +0 -1
- package/dist/es5/utils/load-file.js +0 -50
- package/dist/es5/utils/load-file.js.map +0 -1
- package/dist/es5/utils/stub-methods.js +0 -25
- package/dist/es5/utils/stub-methods.js.map +0 -1
- package/dist/es5/utils/utils.d.ts +0 -13
- package/dist/es5/utils/utils.js +0 -36
- package/dist/es5/utils/utils.js.map +0 -1
- package/dist/es5/webgl-utils/request-animation-frame.d.ts +0 -3
- package/dist/es5/webgl-utils/texture-utils.d.ts +0 -11
- package/dist/es5/webgl-utils/typed-array-utils.d.ts +0 -36
- package/dist/esm/classes/buffer.d.ts +0 -84
- package/dist/esm/classes/buffer.js.map +0 -1
- package/dist/esm/classes/clear.d.ts +0 -11
- package/dist/esm/classes/copy-and-blit.d.ts +0 -101
- package/dist/esm/classes/framebuffer.d.ts +0 -96
- package/dist/esm/classes/program-configuration.d.ts +0 -15
- package/dist/esm/classes/program.d.ts +0 -44
- package/dist/esm/classes/query.d.ts +0 -21
- package/dist/esm/classes/renderbuffer.d.ts +0 -34
- package/dist/esm/classes/resource.d.ts +0 -47
- package/dist/esm/classes/resource.js.map +0 -1
- package/dist/esm/classes/shader.d.ts +0 -29
- package/dist/esm/classes/texture-2d.d.ts +0 -11
- package/dist/esm/classes/texture-3d.d.ts +0 -29
- package/dist/esm/classes/texture-cube.d.ts +0 -23
- package/dist/esm/classes/texture.d.ts +0 -80
- package/dist/esm/classes/transform-feedback.d.ts +0 -16
- package/dist/esm/classes/uniform-buffer-layout.d.ts +0 -18
- package/dist/esm/classes/uniforms.d.ts +0 -63
- package/dist/esm/classes/vertex-array-object.d.ts +0 -25
- package/dist/esm/classes/vertex-array.d.ts +0 -37
- package/dist/esm/debug/debug-program-configuration.d.ts +0 -1
- package/dist/esm/debug/debug-uniforms.d.ts +0 -11
- package/dist/esm/debug/debug-vertex-array.d.ts +0 -1
- package/dist/esm/features/check-glsl-extension.js +0 -27
- package/dist/esm/features/check-glsl-extension.js.map +0 -1
- package/dist/esm/features/check-old-ie.js.map +0 -1
- package/dist/esm/features/features.js +0 -66
- package/dist/esm/features/features.js.map +0 -1
- package/dist/esm/features/index.js +0 -5
- package/dist/esm/features/index.js.map +0 -1
- package/dist/esm/features/limits.js +0 -52
- package/dist/esm/features/limits.js.map +0 -1
- package/dist/esm/features/webgl-features-table.js +0 -71
- package/dist/esm/features/webgl-features-table.js.map +0 -1
- package/dist/esm/features/webgl-limits-table.js +0 -160
- package/dist/esm/features/webgl-limits-table.js.map +0 -1
- package/dist/esm/glsl-utils/format-glsl-error.d.ts +0 -16
- package/dist/esm/glsl-utils/format-glsl-error.js +0 -93
- package/dist/esm/glsl-utils/format-glsl-error.js.map +0 -1
- package/dist/esm/glsl-utils/get-shader-name.js +0 -6
- package/dist/esm/glsl-utils/get-shader-name.js.map +0 -1
- package/dist/esm/glsl-utils/get-shader-type-name.js +0 -15
- package/dist/esm/glsl-utils/get-shader-type-name.js.map +0 -1
- package/dist/esm/glsl-utils/get-shader-version.js +0 -15
- package/dist/esm/glsl-utils/get-shader-version.js.map +0 -1
- package/dist/esm/glsl-utils/index.js +0 -5
- package/dist/esm/glsl-utils/index.js.map +0 -1
- package/dist/esm/index.d.ts +0 -71
- package/dist/esm/init.d.ts +0 -12
- package/dist/esm/types.d.ts +0 -8
- package/dist/esm/utils/array-utils-flat.js +0 -39
- package/dist/esm/utils/array-utils-flat.js.map +0 -1
- package/dist/esm/utils/assert.d.ts +0 -1
- package/dist/esm/utils/assert.js +0 -6
- package/dist/esm/utils/assert.js.map +0 -1
- package/dist/esm/utils/check-props.js +0 -38
- package/dist/esm/utils/check-props.js.map +0 -1
- package/dist/esm/utils/format-value.js +0 -50
- package/dist/esm/utils/format-value.js.map +0 -1
- package/dist/esm/utils/is-old-ie.d.ts +0 -1
- package/dist/esm/utils/is-old-ie.js +0 -5
- package/dist/esm/utils/is-old-ie.js.map +0 -1
- package/dist/esm/utils/load-file.js +0 -30
- package/dist/esm/utils/load-file.js.map +0 -1
- package/dist/esm/utils/stub-methods.js +0 -17
- package/dist/esm/utils/stub-methods.js.map +0 -1
- package/dist/esm/utils/utils.d.ts +0 -13
- package/dist/esm/utils/utils.js +0 -22
- package/dist/esm/utils/utils.js.map +0 -1
- package/dist/esm/webgl-utils/request-animation-frame.d.ts +0 -3
- package/dist/esm/webgl-utils/texture-utils.d.ts +0 -11
- package/dist/esm/webgl-utils/typed-array-utils.d.ts +0 -36
- package/src/bundle.js +0 -8
- package/src/classes/buffer.d.ts +0 -84
- package/src/classes/clear.d.ts +0 -11
- package/src/classes/copy-and-blit.d.ts +0 -101
- package/src/classes/framebuffer.d.ts +0 -96
- package/src/classes/program-configuration.d.ts +0 -15
- package/src/classes/program-configuration.js +0 -123
- package/src/classes/program.d.ts +0 -44
- package/src/classes/query.d.ts +0 -21
- package/src/classes/renderbuffer.d.ts +0 -34
- package/src/classes/renderbuffer.js +0 -105
- package/src/classes/resource.d.ts +0 -47
- package/src/classes/shader.d.ts +0 -29
- package/src/classes/shader.js +0 -147
- package/src/classes/texture-2d.d.ts +0 -11
- package/src/classes/texture-2d.js +0 -30
- package/src/classes/texture-3d.d.ts +0 -29
- package/src/classes/texture-cube.d.ts +0 -23
- package/src/classes/texture.d.ts +0 -80
- package/src/classes/transform-feedback.d.ts +0 -16
- package/src/classes/uniform-buffer-layout.d.ts +0 -18
- package/src/classes/uniforms.d.ts +0 -63
- package/src/classes/vertex-array-object.d.ts +0 -25
- package/src/classes/vertex-array.d.ts +0 -37
- package/src/debug/debug-program-configuration.d.ts +0 -1
- package/src/debug/debug-uniforms.d.ts +0 -11
- package/src/debug/debug-vertex-array.d.ts +0 -1
- package/src/features/check-glsl-extension.js +0 -34
- package/src/features/features.js +0 -79
- package/src/features/index.js +0 -5
- package/src/features/limits.js +0 -65
- package/src/features/webgl-features-table.js +0 -104
- package/src/features/webgl-limits-table.js +0 -51
- package/src/glsl-utils/format-glsl-error.d.ts +0 -16
- package/src/glsl-utils/format-glsl-error.js +0 -107
- package/src/glsl-utils/get-shader-name.js +0 -7
- package/src/glsl-utils/get-shader-type-name.js +0 -13
- package/src/glsl-utils/get-shader-version.js +0 -12
- package/src/glsl-utils/index.js +0 -8
- package/src/index.d.ts +0 -71
- package/src/index.js +0 -70
- package/src/init.d.ts +0 -12
- package/src/utils/array-utils-flat.js +0 -56
- package/src/utils/assert.d.ts +0 -1
- package/src/utils/assert.js +0 -7
- package/src/utils/check-props.js +0 -68
- package/src/utils/format-value.js +0 -37
- package/src/utils/is-old-ie.d.ts +0 -1
- package/src/utils/is-old-ie.js +0 -6
- package/src/utils/load-file.js +0 -39
- package/src/utils/stub-methods.js +0 -20
- package/src/utils/utils.d.ts +0 -13
- package/src/utils/utils.js +0 -36
- package/src/webgl-utils/request-animation-frame.d.ts +0 -3
- package/src/webgl-utils/texture-utils.d.ts +0 -11
- package/src/webgl-utils/typed-array-utils.d.ts +0 -36
package/dist/dist.min.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var r=t();for(var n in r)("object"==typeof exports?exports:e)[n]=r[n]}}(window,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=38)}([function(e,t){e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},function(e,t){function r(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,n.key,n)}}e.exports=function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t){function r(t){return e.exports=r=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},r(t)}e.exports=r},function(e,t,r){var n=r(40),i=r(41),a=r(30),o=r(42);e.exports=function(e){return n(e)||i(e)||a(e)||o()}},function(e,t,r){var n=r(34);e.exports=function(e,t){if("function"!=typeof t&&null!==t)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}}),t&&n(e,t)}},function(e,t,r){var n=r(11),i=r(9);e.exports=function(e,t){return!t||"object"!==n(t)&&"function"!=typeof t?i(e):t}},function(e,t,r){"use strict";r.d(t,"d",(function(){return i})),r.d(t,"e",(function(){return a})),r.d(t,"c",(function(){return o})),r.d(t,"b",(function(){return u})),r.d(t,"a",(function(){return s}));var n=r(10);function i(e){return"undefined"!=typeof WebGLRenderingContext&&e instanceof WebGLRenderingContext||("undefined"!=typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext||Boolean(e&&Number.isFinite(e._version)))}function a(e){return"undefined"!=typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext||Boolean(e&&2===e._version)}function o(e){return a(e)?e:null}function u(e){return Object(n.a)(i(e),"Invalid WebGLRenderingContext"),e}function s(e){return Object(n.a)(a(e),"Requires WebGL2"),e}},function(e,t,r){e.exports=r(44)},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},function(e,t,r){"use strict";function n(e,t){if(!e)throw new Error(t||"luma.gl: assertion failed.")}r.d(t,"a",(function(){return n}))},function(e,t){function r(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=r=function(e){return typeof e}:e.exports=r=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(t)}e.exports=r},function(e,t,r){var n=r(46),i=r(47),a=r(30),o=r(48);e.exports=function(e,t){return n(e)||i(e,t)||a(e,t)||o()}},function(e,t,r){"use strict";(function(e,n){r.d(t,"b",(function(){return o})),r.d(t,"a",(function(){return u}));var i=r(11),a={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:void 0!==e&&e,document:"undefined"!=typeof document&&document,process:"object"===(void 0===n?"undefined":r.n(i)()(n))&&n},o=a.window||a.self||a.global,u=a.process||{};console}).call(this,r(20),r(17))},function(e,t,r){"use strict";r.d(t,"c",(function(){return d})),r.d(t,"e",(function(){return b})),r.d(t,"a",(function(){return _})),r.d(t,"b",(function(){return A})),r.d(t,"d",(function(){return x}));var n,i,a,o=r(12),u=r.n(o),s=r(4),c=r.n(s),l=r(0),f=r.n(l),h=r(7),d=(n={},f()(n,3042,!1),f()(n,32773,new Float32Array([0,0,0,0])),f()(n,32777,32774),f()(n,34877,32774),f()(n,32969,1),f()(n,32968,0),f()(n,32971,1),f()(n,32970,0),f()(n,3106,new Float32Array([0,0,0,0])),f()(n,3107,[!0,!0,!0,!0]),f()(n,2884,!1),f()(n,2885,1029),f()(n,2929,!1),f()(n,2931,1),f()(n,2932,513),f()(n,2928,new Float32Array([0,1])),f()(n,2930,!0),f()(n,3024,!0),f()(n,36006,null),f()(n,2886,2305),f()(n,33170,4352),f()(n,2849,1),f()(n,32823,!1),f()(n,32824,0),f()(n,10752,0),f()(n,32938,1),f()(n,32939,!1),f()(n,3089,!1),f()(n,3088,new Int32Array([0,0,1024,1024])),f()(n,2960,!1),f()(n,2961,0),f()(n,2968,4294967295),f()(n,36005,4294967295),f()(n,2962,519),f()(n,2967,0),f()(n,2963,4294967295),f()(n,34816,519),f()(n,36003,0),f()(n,36004,4294967295),f()(n,2964,7680),f()(n,2965,7680),f()(n,2966,7680),f()(n,34817,7680),f()(n,34818,7680),f()(n,34819,7680),f()(n,2978,[0,0,1024,1024]),f()(n,3333,4),f()(n,3317,4),f()(n,37440,!1),f()(n,37441,!1),f()(n,37443,37444),f()(n,35723,4352),f()(n,36010,null),f()(n,35977,!1),f()(n,3330,0),f()(n,3332,0),f()(n,3331,0),f()(n,3314,0),f()(n,32878,0),f()(n,3316,0),f()(n,3315,0),f()(n,32877,0),n),v=function(e,t,r){return t?e.enable(r):e.disable(r)},g=function(e,t,r){return e.hint(r,t)},y=function(e,t,r){return e.pixelStorei(r,t)};function m(e){return Array.isArray(e)||ArrayBuffer.isView(e)}var b=(i={},f()(i,3042,v),f()(i,32773,(function(e,t){return e.blendColor.apply(e,c()(t))})),f()(i,32777,"blendEquation"),f()(i,34877,"blendEquation"),f()(i,32969,"blendFunc"),f()(i,32968,"blendFunc"),f()(i,32971,"blendFunc"),f()(i,32970,"blendFunc"),f()(i,3106,(function(e,t){return e.clearColor.apply(e,c()(t))})),f()(i,3107,(function(e,t){return e.colorMask.apply(e,c()(t))})),f()(i,2884,v),f()(i,2885,(function(e,t){return e.cullFace(t)})),f()(i,2929,v),f()(i,2931,(function(e,t){return e.clearDepth(t)})),f()(i,2932,(function(e,t){return e.depthFunc(t)})),f()(i,2928,(function(e,t){return e.depthRange.apply(e,c()(t))})),f()(i,2930,(function(e,t){return e.depthMask(t)})),f()(i,3024,v),f()(i,35723,g),f()(i,36006,(function(e,t){var r=Object(h.e)(e)?36009:36160;return e.bindFramebuffer(r,t)})),f()(i,2886,(function(e,t){return e.frontFace(t)})),f()(i,33170,g),f()(i,2849,(function(e,t){return e.lineWidth(t)})),f()(i,32823,v),f()(i,32824,"polygonOffset"),f()(i,10752,"polygonOffset"),f()(i,35977,v),f()(i,32938,"sampleCoverage"),f()(i,32939,"sampleCoverage"),f()(i,3089,v),f()(i,3088,(function(e,t){return e.scissor.apply(e,c()(t))})),f()(i,2960,v),f()(i,2961,(function(e,t){return e.clearStencil(t)})),f()(i,2968,(function(e,t){return e.stencilMaskSeparate(1028,t)})),f()(i,36005,(function(e,t){return e.stencilMaskSeparate(1029,t)})),f()(i,2962,"stencilFuncFront"),f()(i,2967,"stencilFuncFront"),f()(i,2963,"stencilFuncFront"),f()(i,34816,"stencilFuncBack"),f()(i,36003,"stencilFuncBack"),f()(i,36004,"stencilFuncBack"),f()(i,2964,"stencilOpFront"),f()(i,2965,"stencilOpFront"),f()(i,2966,"stencilOpFront"),f()(i,34817,"stencilOpBack"),f()(i,34818,"stencilOpBack"),f()(i,34819,"stencilOpBack"),f()(i,2978,(function(e,t){return e.viewport.apply(e,c()(t))})),f()(i,3333,y),f()(i,3317,y),f()(i,37440,y),f()(i,37441,y),f()(i,37443,y),f()(i,3330,y),f()(i,3332,y),f()(i,3331,y),f()(i,36010,(function(e,t){return e.bindFramebuffer(36008,t)})),f()(i,3314,y),f()(i,32878,y),f()(i,3316,y),f()(i,3315,y),f()(i,32877,y),f()(i,"framebuffer",(function(e,t){var r=t&&"handle"in t?t.handle:t;return e.bindFramebuffer(36160,r)})),f()(i,"blend",(function(e,t){return t?e.enable(3042):e.disable(3042)})),f()(i,"blendColor",(function(e,t){return e.blendColor.apply(e,c()(t))})),f()(i,"blendEquation",(function(e,t){t=m(t)?t:[t,t],e.blendEquationSeparate.apply(e,c()(t))})),f()(i,"blendFunc",(function(e,t){t=m(t)&&2===t.length?[].concat(c()(t),c()(t)):t,e.blendFuncSeparate.apply(e,c()(t))})),f()(i,"clearColor",(function(e,t){return e.clearColor.apply(e,c()(t))})),f()(i,"clearDepth",(function(e,t){return e.clearDepth(t)})),f()(i,"clearStencil",(function(e,t){return e.clearStencil(t)})),f()(i,"colorMask",(function(e,t){return e.colorMask.apply(e,c()(t))})),f()(i,"cull",(function(e,t){return t?e.enable(2884):e.disable(2884)})),f()(i,"cullFace",(function(e,t){return e.cullFace(t)})),f()(i,"depthTest",(function(e,t){return t?e.enable(2929):e.disable(2929)})),f()(i,"depthFunc",(function(e,t){return e.depthFunc(t)})),f()(i,"depthMask",(function(e,t){return e.depthMask(t)})),f()(i,"depthRange",(function(e,t){return e.depthRange.apply(e,c()(t))})),f()(i,"dither",(function(e,t){return t?e.enable(3024):e.disable(3024)})),f()(i,"derivativeHint",(function(e,t){e.hint(35723,t)})),f()(i,"frontFace",(function(e,t){return e.frontFace(t)})),f()(i,"mipmapHint",(function(e,t){return e.hint(33170,t)})),f()(i,"lineWidth",(function(e,t){return e.lineWidth(t)})),f()(i,"polygonOffsetFill",(function(e,t){return t?e.enable(32823):e.disable(32823)})),f()(i,"polygonOffset",(function(e,t){return e.polygonOffset.apply(e,c()(t))})),f()(i,"sampleCoverage",(function(e,t){return e.sampleCoverage.apply(e,c()(t))})),f()(i,"scissorTest",(function(e,t){return t?e.enable(3089):e.disable(3089)})),f()(i,"scissor",(function(e,t){return e.scissor.apply(e,c()(t))})),f()(i,"stencilTest",(function(e,t){return t?e.enable(2960):e.disable(2960)})),f()(i,"stencilMask",(function(e,t){var r=t=m(t)?t:[t,t],n=u()(r,2),i=n[0],a=n[1];e.stencilMaskSeparate(1028,i),e.stencilMaskSeparate(1029,a)})),f()(i,"stencilFunc",(function(e,t){var r=t=m(t)&&3===t.length?[].concat(c()(t),c()(t)):t,n=u()(r,6),i=n[0],a=n[1],o=n[2],s=n[3],l=n[4],f=n[5];e.stencilFuncSeparate(1028,i,a,o),e.stencilFuncSeparate(1029,s,l,f)})),f()(i,"stencilOp",(function(e,t){var r=t=m(t)&&3===t.length?[].concat(c()(t),c()(t)):t,n=u()(r,6),i=n[0],a=n[1],o=n[2],s=n[3],l=n[4],f=n[5];e.stencilOpSeparate(1028,i,a,o),e.stencilOpSeparate(1029,s,l,f)})),f()(i,"viewport",(function(e,t){return e.viewport.apply(e,c()(t))})),i);function p(e,t,r){return void 0!==t[e]?t[e]:r[e]}var _={blendEquation:function(e,t,r){return e.blendEquationSeparate(p(32777,t,r),p(34877,t,r))},blendFunc:function(e,t,r){return e.blendFuncSeparate(p(32969,t,r),p(32968,t,r),p(32971,t,r),p(32970,t,r))},polygonOffset:function(e,t,r){return e.polygonOffset(p(32824,t,r),p(10752,t,r))},sampleCoverage:function(e,t,r){return e.sampleCoverage(p(32938,t,r),p(32939,t,r))},stencilFuncFront:function(e,t,r){return e.stencilFuncSeparate(1028,p(2962,t,r),p(2967,t,r),p(2963,t,r))},stencilFuncBack:function(e,t,r){return e.stencilFuncSeparate(1029,p(34816,t,r),p(36003,t,r),p(36004,t,r))},stencilOpFront:function(e,t,r){return e.stencilOpSeparate(1028,p(2964,t,r),p(2965,t,r),p(2966,t,r))},stencilOpBack:function(e,t,r){return e.stencilOpSeparate(1029,p(34817,t,r),p(34818,t,r),p(34819,t,r))}},A={enable:function(e,t){return e(f()({},t,!0))},disable:function(e,t){return e(f()({},t,!1))},pixelStorei:function(e,t,r){return e(f()({},t,r))},hint:function(e,t,r){return e(f()({},t,r))},bindFramebuffer:function(e,t,r){var n;switch(t){case 36160:return e((n={},f()(n,36006,r),f()(n,36010,r),n));case 36009:return e(f()({},36006,r));case 36008:return e(f()({},36010,r));default:return null}},blendColor:function(e,t,r,n,i){return e(f()({},32773,new Float32Array([t,r,n,i])))},blendEquation:function(e,t){var r;return e((r={},f()(r,32777,t),f()(r,34877,t),r))},blendEquationSeparate:function(e,t,r){var n;return e((n={},f()(n,32777,t),f()(n,34877,r),n))},blendFunc:function(e,t,r){var n;return e((n={},f()(n,32969,t),f()(n,32968,r),f()(n,32971,t),f()(n,32970,r),n))},blendFuncSeparate:function(e,t,r,n,i){var a;return e((a={},f()(a,32969,t),f()(a,32968,r),f()(a,32971,n),f()(a,32970,i),a))},clearColor:function(e,t,r,n,i){return e(f()({},3106,new Float32Array([t,r,n,i])))},clearDepth:function(e,t){return e(f()({},2931,t))},clearStencil:function(e,t){return e(f()({},2961,t))},colorMask:function(e,t,r,n,i){return e(f()({},3107,[t,r,n,i]))},cullFace:function(e,t){return e(f()({},2885,t))},depthFunc:function(e,t){return e(f()({},2932,t))},depthRange:function(e,t,r){return e(f()({},2928,new Float32Array([t,r])))},depthMask:function(e,t){return e(f()({},2930,t))},frontFace:function(e,t){return e(f()({},2886,t))},lineWidth:function(e,t){return e(f()({},2849,t))},polygonOffset:function(e,t,r){var n;return e((n={},f()(n,32824,t),f()(n,10752,r),n))},sampleCoverage:function(e,t,r){var n;return e((n={},f()(n,32938,t),f()(n,32939,r),n))},scissor:function(e,t,r,n,i){return e(f()({},3088,new Int32Array([t,r,n,i])))},stencilMask:function(e,t){var r;return e((r={},f()(r,2968,t),f()(r,36005,t),r))},stencilMaskSeparate:function(e,t,r){return e(f()({},1028===t?2968:36005,r))},stencilFunc:function(e,t,r,n){var i;return e((i={},f()(i,2962,t),f()(i,2967,r),f()(i,2963,n),f()(i,34816,t),f()(i,36003,r),f()(i,36004,n),i))},stencilFuncSeparate:function(e,t,r,n,i){var a;return e((a={},f()(a,1028===t?2962:34816,r),f()(a,1028===t?2967:36003,n),f()(a,1028===t?2963:36004,i),a))},stencilOp:function(e,t,r,n){var i;return e((i={},f()(i,2964,t),f()(i,2965,r),f()(i,2966,n),f()(i,34817,t),f()(i,34818,r),f()(i,34819,n),i))},stencilOpSeparate:function(e,t,r,n,i){var a;return e((a={},f()(a,1028===t?2964:34817,r),f()(a,1028===t?2965:34818,n),f()(a,1028===t?2966:34819,i),a))},viewport:function(e,t,r,n,i){return e(f()({},2978,[t,r,n,i]))}},w=function(e,t){return e.isEnabled(t)},x=(a={},f()(a,3042,w),f()(a,2884,w),f()(a,2929,w),f()(a,3024,w),f()(a,32823,w),f()(a,32926,w),f()(a,32928,w),f()(a,3089,w),f()(a,2960,w),f()(a,35977,w),a)},function(e,t,r){"use strict";(function(e){r.d(t,"c",(function(){return g})),r.d(t,"b",(function(){return y})),r.d(t,"a",(function(){return m}));var n=r(2),i=r.n(n),a=r(1),o=r.n(a),u=r(14),s=r(16),c=r(10),l=r(23);function f(e,t){var r=e[t].bind(e);e[t]=function(){var t=arguments.length<=0?void 0:arguments[0];return t in e.state.cache&&e.state.enable?e.state.cache[t]:r.apply(void 0,arguments)},Object.defineProperty(e[t],"name",{value:"".concat(t,"-from-cache"),configurable:!1})}function h(e,t,r){var n=e[t].bind(e);e[t]=function(){for(var t=arguments.length,i=new Array(t),a=0;a<t;a++)i[a]=arguments[a];var o=r.apply(void 0,[e.state._updateCache].concat(i)),u=o.valueChanged,s=o.oldValue;return u&&n.apply(void 0,i),s},Object.defineProperty(e[t],"name",{value:"".concat(t,"-to-cache"),configurable:!1})}function d(e){var t=e.useProgram.bind(e);e.useProgram=function(r){e.state.program!==r&&(t(r),e.state.program=r)}}var v=function(){function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=r.copyState,a=void 0!==n&&n,o=r.log,c=void 0===o?function(){}:o;i()(this,e),this.gl=t,this.program=null,this.stateStack=[],this.enable=!0,this.cache=a?Object(s.a)(t):Object.assign({},u.c),this.log=c,this._updateCache=this._updateCache.bind(this),Object.seal(this)}return o()(e,[{key:"push",value:function(){this.stateStack.push({})}},{key:"pop",value:function(){Object(c.a)(this.stateStack.length>0);var e=this.stateStack[this.stateStack.length-1];Object(s.b)(this.gl,e),this.stateStack.pop()}},{key:"_updateCache",value:function(e){var t,r=!1,n=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(var i in e){Object(c.a)(void 0!==i);var a=e[i],o=this.cache[i];Object(l.a)(a,o)||(r=!0,t=o,n&&!(i in n)&&(n[i]=o),this.cache[i]=a)}return{valueChanged:r,oldValue:t}}}]),e}();function g(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=r.enable,i=void 0===n||n,a=r.copyState;if(Object(c.a)(void 0!==a),!t.state){var o=void 0!==e?e:window,s=o.polyfillContext;for(var l in s&&s(t),t.state=new v(t,{copyState:a}),d(t),u.b){var g=u.b[l];h(t,l,g)}f(t,"getParameter"),f(t,"isEnabled")}return t.state.enable=i,t}function y(e){e.state||g(e,{copyState:!1}),e.state.push()}function m(e){Object(c.a)(e.state),e.state.pop()}}).call(this,r(20))},function(e,t,r){"use strict";r.d(t,"b",(function(){return l})),r.d(t,"a",(function(){return f})),r.d(t,"c",(function(){return h}));var n=r(14),i=r(15),a=r(10),o=r(7),u=r(23);function s(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return c(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return c(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,u=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){u=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(u)throw a}}}}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function l(e,t){if(Object(a.a)(Object(o.d)(e),"setParameters requires a WebGL context"),!Object(u.b)(t)){var r={};for(var i in t){var s=Number(i),c=n.e[i];c&&("string"==typeof c?r[c]=!0:c(e,t[i],s))}var l=e.state&&e.state.cache;if(l)for(var f in r){(0,n.a[f])(e,t,l)}}}function f(e,t){if("number"==typeof(t=t||n.c)){var r=t,i=n.d[r];return i?i(e,r):e.getParameter(r)}var a,o={},u=s(Array.isArray(t)?t:Object.keys(t));try{for(u.s();!(a=u.n()).done;){var c=a.value,l=n.d[c];o[c]=l?l(e,Number(c)):e.getParameter(Number(c))}}catch(e){u.e(e)}finally{u.f()}return o}function h(e,t,r){if(Object(u.b)(t))return r(e);var n,a=t.nocatch,o=void 0===a||a;if(Object(i.b)(e),l(e,t),o)n=r(e),Object(i.a)(e);else try{n=r(e)}finally{Object(i.a)(e)}return n}},function(e,t){var r,n,i=e.exports={};function a(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function u(e){if(r===setTimeout)return setTimeout(e,0);if((r===a||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:a}catch(e){r=a}try{n="function"==typeof clearTimeout?clearTimeout:o}catch(e){n=o}}();var s,c=[],l=!1,f=-1;function h(){l&&s&&(l=!1,s.length?c=s.concat(c):f=-1,c.length&&d())}function d(){if(!l){var e=u(h);l=!0;for(var t=c.length;t;){for(s=c,c=[];++f<t;)s&&s[f].run();f=-1,t=c.length}s=null,l=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===o||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function v(e,t){this.fun=e,this.array=t}function g(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];c.push(new v(e,t)),1!==c.length||l||u(d)},v.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=g,i.addListener=g,i.once=g,i.off=g,i.removeListener=g,i.removeAllListeners=g,i.emit=g,i.prependListener=g,i.prependOnceListener=g,i.listeners=function(e){return[]},i.binding=function(e){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},function(e,t,r){var n=r(51);function i(t,r,a){return"undefined"!=typeof Reflect&&Reflect.get?e.exports=i=Reflect.get:e.exports=i=function(e,t,r){var i=n(e,t);if(i){var a=Object.getOwnPropertyDescriptor(i,t);return a.get?a.get.call(r):a.value}},i(t,r,a||t)}e.exports=i},function(e,t,r){"use strict";r.d(t,"b",(function(){return f})),r.d(t,"a",(function(){return h}));var n,i,a=r(0),o=r.n(a),u=r(10),s=r(7),c=function(e){return Object(s.e)(e)?void 0:0},l=(n={},o()(n,3074,(function(e){return Object(s.e)(e)?void 0:36064})),o()(n,35723,(function(e){return Object(s.e)(e)?void 0:4352})),o()(n,35977,c),o()(n,32937,c),o()(n,36795,(function(e,t){var r=Object(s.e)(e)?e.getExtension("EXT_disjoint_timer_query_webgl2"):e.getExtension("EXT_disjoint_timer_query");return r&&r.GPU_DISJOINT_EXT?t(r.GPU_DISJOINT_EXT):0})),o()(n,37445,(function(e,t){var r=e.getExtension("WEBGL_debug_renderer_info");return t(r&&r.UNMASKED_VENDOR_WEBGL||7936)})),o()(n,37446,(function(e,t){var r=e.getExtension("WEBGL_debug_renderer_info");return t(r&&r.UNMASKED_RENDERER_WEBGL||7937)})),o()(n,34047,(function(e,t){var r=e.luma.extensions.EXT_texture_filter_anisotropic;return r?t(r.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1})),o()(n,32883,c),o()(n,35071,c),o()(n,37447,c),o()(n,36063,(function(e,t){if(!Object(s.e)(e)){var r=e.getExtension("WEBGL_draw_buffers");return r?t(r.MAX_COLOR_ATTACHMENTS_WEBGL):0}})),o()(n,35379,c),o()(n,35374,c),o()(n,35377,c),o()(n,34852,(function(e){if(!Object(s.e)(e)){var t=e.getExtension("WEBGL_draw_buffers");return t?t.MAX_DRAW_BUFFERS_WEBGL:0}})),o()(n,36203,(function(e){return e.getExtension("OES_element_index")?2147483647:65535})),o()(n,33001,(function(e){return e.getExtension("OES_element_index")?16777216:65535})),o()(n,33e3,(function(e){return 16777216})),o()(n,37157,c),o()(n,35373,c),o()(n,35657,c),o()(n,36183,c),o()(n,37137,c),o()(n,34045,c),o()(n,35978,c),o()(n,35979,c),o()(n,35968,c),o()(n,35376,c),o()(n,35375,c),o()(n,35659,c),o()(n,37154,c),o()(n,35371,c),o()(n,35658,c),o()(n,35076,c),o()(n,35077,c),o()(n,35380,c),n);var f=(i={},o()(i,"OES_vertex_array_object",{meta:{suffix:"OES"},createVertexArray:function(){Object(u.a)(!1,"VertexArray requires WebGL2 or OES_vertex_array_object extension")},deleteVertexArray:function(){},bindVertexArray:function(){},isVertexArray:function(){return!1}}),o()(i,"ANGLE_instanced_arrays",{meta:{suffix:"ANGLE"},vertexAttribDivisor:function(e,t){Object(u.a)(0===t,"WebGL instanced rendering not supported")},drawElementsInstanced:function(){},drawArraysInstanced:function(){}}),o()(i,"WEBGL_draw_buffers",{meta:{suffix:"WEBGL"},drawBuffers:function(){Object(u.a)(!1)}}),o()(i,"EXT_disjoint_timer_query",{meta:{suffix:"EXT"},createQuery:function(){Object(u.a)(!1)},deleteQuery:function(){Object(u.a)(!1)},beginQuery:function(){Object(u.a)(!1)},endQuery:function(){},getQuery:function(e,t){return this.getQueryObject(e,t)},getQueryParameter:function(e,t){return this.getQueryObject(e,t)},getQueryObject:function(){}}),i),h={readBuffer:function(e,t,r){Object(s.e)(e)&&t(r)},getVertexAttrib:function(e,t,r,n){var i,a=function(e,t){return{webgl2:Object(s.e)(e),ext:e.getExtension(t)}}(e,"ANGLE_instanced_arrays"),o=a.webgl2,u=a.ext;switch(n){case 35069:i=!!o&&void 0;break;case 35070:i=o||u?void 0:0}return void 0!==i?i:t(r,n)},getProgramParameter:function(e,t,r,n){if(!Object(s.e)(e))switch(n){case 35967:return 35981;case 35971:case 35382:return 0}return t(r,n)},getInternalformatParameter:function(e,t,r,n,i){if(!Object(s.e)(e))switch(i){case 32937:return new Int32Array([0])}return e.getInternalformatParameter(r,n,i)},getTexParameter:function(e,t,r,n){switch(n){case 34046:var i=e.luma.extensions.EXT_texture_filter_anisotropic;n=i&&i.TEXTURE_MAX_ANISOTROPY_EXT||34046}return t(r,n)},getParameter:function(e,t,r){var n=l[r],i="function"==typeof n?n(e,t,r):n;return void 0!==i?i:t(r)},hint:function(e,t,r,n){return t(r,n)}}},function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"==typeof window&&(r=window)}e.exports=r},function(e,t){e.exports=function(e){return e&&e.__esModule?e:{default:e}}},function(e,t,r){"use strict";(function(e){function n(){var t;if("undefined"!=typeof window&&window.performance)t=window.performance.now();else if(void 0!==e&&e.hrtime){var r=e.hrtime();t=1e3*r[0]+r[1]/1e6}else t=Date.now();return t}r.d(t,"a",(function(){return n}))}).call(this,r(17))},function(e,t,r){"use strict";function n(e){for(var t in e)return!1;return!0}function i(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}r.d(t,"b",(function(){return n})),r.d(t,"a",(function(){return i}))},function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return o}));var n=r(11),i=r.n(n),a=r(25);function o(){return!("object"===(void 0===e?"undefined":i()(e))&&"[object process]"===String(e)&&!e.browser)||Object(a.a)()}}).call(this,r(17))},function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return a}));var n=r(11),i=r.n(n);function a(t){if("undefined"!=typeof window&&"object"===i()(window.process)&&"renderer"===window.process.type)return!0;if(void 0!==e&&"object"===i()(e.versions)&&Boolean(e.versions.electron))return!0;var r="object"===("undefined"==typeof navigator?"undefined":i()(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,n=t||r;return!!(n&&n.indexOf("Electron")>=0)}}).call(this,r(17))},function(e,t,r){"use strict";(function(e){var n=r(21);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(t){if("undefined"!=typeof window&&"object"===(0,i.default)(window.process)&&"renderer"===window.process.type)return!0;if(void 0!==e&&"object"===(0,i.default)(e.versions)&&Boolean(e.versions.electron))return!0;var r="object"===("undefined"==typeof navigator?"undefined":(0,i.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,n=t||r;if(n&&n.indexOf("Electron")>=0)return!0;return!1};var i=n(r(11))}).call(this,r(17))},function(e,t,r){e.exports=r(50)},,function(e,t){e.exports=function(e,t){(null==t||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){var n=r(29);e.exports=function(e,t){if(e){if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}}},function(e,t,r){"use strict";(function(e){var t=r(35),n=r(10),i=r(19);function a(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return o(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return o(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,u=!0,s=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return u=e.done,e},e:function(e){s=!0,a=e},f:function(){try{u||null==r.return||r.return()}finally{if(s)throw a}}}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function u(e,t){var r=t.extension,a=t.target,o=t.target2,u=i.b[r];Object(n.a)(u);for(var s=u.meta,c=(void 0===s?{}:s).suffix,l=void 0===c?"":c,f=e.getExtension(r),h=function(){var t=v[d],r="".concat(t).concat(l),n=null;"meta"===t||"function"==typeof e[t]||(f&&"function"==typeof f[r]?n=function(){return f[r].apply(f,arguments)}:"function"==typeof u[t]&&(n=u[t].bind(a))),n&&(a[t]=n,o[t]=n)},d=0,v=Object.keys(u);d<v.length;d++)h()}(void 0!==e?e:window).polyfillContext=function(e){e.luma=e.luma||{};var r=e.luma;return r.polyfilled||(Object(t.a)(e),function(e){e.luma.extensions={};var t,r=a(e.getSupportedExtensions()||[]);try{for(r.s();!(t=r.n()).done;){var n=t.value;e.luma[n]=e.getExtension(n)}}catch(e){r.e(e)}finally{r.f()}}(e),function(e,t){var r,n=a(Object.getOwnPropertyNames(t));try{for(n.s();!(r=n.n()).done;){var i=r.value;"overrides"!==i&&u(e,{extension:i,target:e.luma,target2:e})}}catch(e){n.e(e)}finally{n.f()}}(e,i.b),function(e,t){var r=t.target,n=t.target2;Object.keys(i.a).forEach((function(t){if("function"==typeof i.a[t]){var a=e[t]?e[t].bind(e):function(){},o=i.a[t].bind(null,e,a);r[t]=o,n[t]=o}}))}(e,{target:r,target2:e}),r.polyfilled=!0),e}}).call(this,r(20))},function(e,t,r){"use strict";(function(e,n){var i=r(21);Object.defineProperty(t,"__esModule",{value:!0}),t.console=t.process=t.document=t.global=t.window=t.self=void 0;var a=i(r(11)),o={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:void 0!==e&&e,document:"undefined"!=typeof document&&document,process:"object"===(void 0===n?"undefined":(0,a.default)(n))&&n},u=o.self||o.window||o.global;t.self=u;var s=o.window||o.self||o.global;t.window=s;var c=o.global||o.self||o.window;t.global=c;var l=o.document||{};t.document=l;var f=o.process||{};t.process=f;var h=console;t.console=h}).call(this,r(20),r(17))},function(e,t,r){"use strict";(function(e){var n=r(21);Object.defineProperty(t,"__esModule",{value:!0}),t.default=o,t.isBrowserMainThread=function(){return o()&&"undefined"!=typeof document};var i=n(r(11)),a=n(r(26));function o(){return!("object"===(void 0===e?"undefined":(0,i.default)(e))&&"[object process]"===String(e)&&!e.browser)||(0,a.default)()}}).call(this,r(17))},function(e,t){function r(t,n){return e.exports=r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},r(t,n)}e.exports=r},function(e,t,r){"use strict";r.d(t,"a",(function(){return s}));var n=r(8),i={};function a(e,t){var r;i[e]=!0,void 0!==t&&(r=t,n.global.console&&n.global.console.error&&n.global.console.error(r))}var o=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};(o.VertexAttrib=function(e){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()}).prototype.recache=function(){this.cached=[this.size,this.type,this.normalized,this.stride,this.offset].join(":")};var u=function(e){var t=this;this.gl=e,function(e){var t=e.getError;e.getError=function(){var r;do{0!==(r=t.apply(e))&&(i[r]=!0)}while(0!==r);for(r in i)if(i[r])return delete i[r],parseInt(r,10);return 0}}(e);var r=this.original={getParameter:e.getParameter,enableVertexAttribArray:e.enableVertexAttribArray,disableVertexAttribArray:e.disableVertexAttribArray,bindBuffer:e.bindBuffer,getVertexAttrib:e.getVertexAttrib,vertexAttribPointer:e.vertexAttribPointer};e.getParameter=function(e){return e===t.VERTEX_ARRAY_BINDING_OES?t.currentVertexArrayObject===t.defaultVertexArrayObject?null:t.currentVertexArrayObject:r.getParameter.apply(this,arguments)},e.enableVertexAttribArray=function(e){var n=t.currentVertexArrayObject;n.maxAttrib=Math.max(n.maxAttrib,e);var i=n.attribs[e];return i.enabled=!0,r.enableVertexAttribArray.apply(this,arguments)},e.disableVertexAttribArray=function(e){var n=t.currentVertexArrayObject;n.maxAttrib=Math.max(n.maxAttrib,e);var i=n.attribs[e];return i.enabled=!1,r.disableVertexAttribArray.apply(this,arguments)},e.bindBuffer=function(e,n){switch(e){case 34962:t.currentArrayBuffer=n;break;case 34963:t.currentVertexArrayObject.elementArrayBuffer=n}return r.bindBuffer.apply(this,arguments)},e.getVertexAttrib=function(e,n){var i=t.currentVertexArrayObject,a=i.attribs[e];switch(n){case 34975:return a.buffer;case 34338:return a.enabled;case 34339:return a.size;case 34340:return a.stride;case 34341:return a.type;case 34922:return a.normalized;default:return r.getVertexAttrib.apply(this,arguments)}},e.vertexAttribPointer=function(e,n,i,a,o,u){var s=t.currentVertexArrayObject;s.maxAttrib=Math.max(s.maxAttrib,e);var c=s.attribs[e];return c.buffer=t.currentArrayBuffer,c.size=n,c.type=i,c.normalized=a,c.stride=o,c.offset=u,c.recache(),r.vertexAttribPointer.apply(this,arguments)},e.instrumentExtension&&e.instrumentExtension(this,"OES_vertex_array_object"),e.canvas&&e.canvas.addEventListener("webglcontextrestored",(function(){var e;e="OESVertexArrayObject emulation library context restored",n.global.console&&n.global.console.log&&n.global.console.log(e),t.reset_()}),!0),this.reset_()};function s(e){if("function"!=typeof e.createVertexArray){var t=e.getSupportedExtensions;e.getSupportedExtensions=function(){var e=t.call(this)||[];return e.indexOf("OES_vertex_array_object")<0&&e.push("OES_vertex_array_object"),e};var r=e.getExtension;e.getExtension=function(t){var n=r.call(this,t);return n||("OES_vertex_array_object"!==t?null:(e.__OESVertexArrayObject||(this.__OESVertexArrayObject=new u(this)),this.__OESVertexArrayObject))}}}u.prototype.VERTEX_ARRAY_BINDING_OES=34229,u.prototype.reset_=function(){if(void 0!==this.vertexArrayObjects)for(var e=0;e<this.vertexArrayObjects.length;++e)this.vertexArrayObjects.isAlive=!1;var t=this.gl;this.maxVertexAttribs=t.getParameter(34921),this.defaultVertexArrayObject=new o(this),this.currentVertexArrayObject=null,this.currentArrayBuffer=null,this.vertexArrayObjects=[this.defaultVertexArrayObject],this.bindVertexArrayOES(null)},u.prototype.createVertexArrayOES=function(){var e=new o(this);return this.vertexArrayObjects.push(e),e},u.prototype.deleteVertexArrayOES=function(e){e.isAlive=!1,this.vertexArrayObjects.splice(this.vertexArrayObjects.indexOf(e),1),this.currentVertexArrayObject===e&&this.bindVertexArrayOES(null)},u.prototype.isVertexArrayOES=function(e){return!!(e&&e instanceof o&&e.hasBeenBound&&e.ext===this)},u.prototype.bindVertexArrayOES=function(e){var t=this.gl;if(!e||e.isAlive){var r=this.original,n=this.currentVertexArrayObject;this.currentVertexArrayObject=e||this.defaultVertexArrayObject,this.currentVertexArrayObject.hasBeenBound=!0;var i=this.currentVertexArrayObject;if(n!==i){n&&i.elementArrayBuffer===n.elementArrayBuffer||r.bindBuffer.call(t,34963,i.elementArrayBuffer);for(var o=this.currentArrayBuffer,u=Math.max(n?n.maxAttrib:0,i.maxAttrib),s=0;s<=u;s++){var c=i.attribs[s],l=n?n.attribs[s]:null;if(n&&c.enabled===l.enabled||(c.enabled?r.enableVertexAttribArray.call(t,s):r.disableVertexAttribArray.call(t,s)),c.enabled){var f=!1;n&&c.buffer===l.buffer||(o!==c.buffer&&(r.bindBuffer.call(t,34962,c.buffer),o=c.buffer),f=!0),(f||c.cached!==l.cached)&&r.vertexAttribPointer.call(t,s,c.size,c.type,c.normalized,c.stride,c.offset)}}this.currentArrayBuffer!==o&&r.bindBuffer.call(t,34962,this.currentArrayBuffer)}}else a(1282,"bindVertexArrayOES: attempt to bind deleted arrayObject")}},function(e,t,r){var n=r(34),i=r(49);function a(t,r,o){return i()?e.exports=a=Reflect.construct:e.exports=a=function(e,t,r){var i=[null];i.push.apply(i,t);var a=new(Function.bind.apply(e,i));return r&&n(a,r.prototype),a},a.apply(null,arguments)}e.exports=a},function(e,t){function r(e,t,r,n,i,a,o){try{var u=e[a](o),s=u.value}catch(e){return void r(e)}u.done?t(s):Promise.resolve(s).then(n,i)}e.exports=function(e){return function(){var t=this,n=arguments;return new Promise((function(i,a){var o=e.apply(t,n);function u(e){r(o,i,a,u,s,"next",e)}function s(e){r(o,i,a,u,s,"throw",e)}u(void 0)}))}}},function(e,t,r){(function(t){var n=r(52),i="undefined"==typeof window?t:window;i.luma=i.luma||{},e.exports=Object.assign(i.luma,n)}).call(this,r(20))},,function(e,t,r){var n=r(29);e.exports=function(e){if(Array.isArray(e))return n(e)}},function(e,t){e.exports=function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},function(e,t){},function(e,t,r){"use strict";var n=r(21),i=r(11);Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"self",{enumerable:!0,get:function(){return a.self}}),Object.defineProperty(t,"window",{enumerable:!0,get:function(){return a.window}}),Object.defineProperty(t,"global",{enumerable:!0,get:function(){return a.global}}),Object.defineProperty(t,"document",{enumerable:!0,get:function(){return a.document}}),Object.defineProperty(t,"process",{enumerable:!0,get:function(){return a.process}}),Object.defineProperty(t,"console",{enumerable:!0,get:function(){return a.console}}),Object.defineProperty(t,"isBrowser",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"isBrowserMainThread",{enumerable:!0,get:function(){return o.isBrowserMainThread}}),Object.defineProperty(t,"getBrowser",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,"isMobile",{enumerable:!0,get:function(){return u.isMobile}}),Object.defineProperty(t,"isElectron",{enumerable:!0,get:function(){return s.default}});var a=r(32),o=l(r(33)),u=l(r(45)),s=n(r(26));function c(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(c=function(e){return e?r:t})(e)}function l(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==i(e)&&"function"!=typeof e)return{default:e};var r=c(t);if(r&&r.has(e))return r.get(e);var n={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var u=a?Object.getOwnPropertyDescriptor(e,o):null;u&&(u.get||u.set)?Object.defineProperty(n,o,u):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}},function(e,t,r){"use strict";var n=r(21);Object.defineProperty(t,"__esModule",{value:!0}),t.isMobile=function(){return void 0!==i.window.orientation},t.default=function(e){if(!e&&!(0,a.default)())return"Node";if((0,o.default)(e))return"Electron";var t="undefined"!=typeof navigator?navigator:{},r=e||t.userAgent||"";if(r.indexOf("Edge")>-1)return"Edge";var n=-1!==r.indexOf("MSIE "),u=-1!==r.indexOf("Trident/");if(n||u)return"IE";if(i.window.chrome)return"Chrome";if(i.window.safari)return"Safari";if(i.window.mozInnerScreenX)return"Firefox";return"Unknown"};var i=r(32),a=n(r(33)),o=n(r(26))},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var r=[],n=!0,i=!1,a=void 0;try{for(var o,u=e[Symbol.iterator]();!(n=(o=u.next()).done)&&(r.push(o.value),!t||r.length!==t);n=!0);}catch(e){i=!0,a=e}finally{try{n||null==u.return||u.return()}finally{if(i)throw a}}return r}}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},function(e,t){e.exports=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}},function(e,t,r){var n=function(e){"use strict";var t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},i=n.iterator||"@@iterator",a=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function u(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,r){return e[t]=r}}function s(e,t,r,n){var i=t&&t.prototype instanceof f?t:f,a=Object.create(i.prototype),o=new x(n||[]);return a._invoke=function(e,t,r){var n="suspendedStart";return function(i,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===i)throw a;return T()}for(r.method=i,r.arg=a;;){var o=r.delegate;if(o){var u=_(o,r);if(u){if(u===l)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var s=c(e,t,r);if("normal"===s.type){if(n=r.done?"completed":"suspendedYield",s.arg===l)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(n="completed",r.method="throw",r.arg=s.arg)}}}(e,r,o),a}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=s;var l={};function f(){}function h(){}function d(){}var v={};v[i]=function(){return this};var g=Object.getPrototypeOf,y=g&&g(g(E([])));y&&y!==t&&r.call(y,i)&&(v=y);var m=d.prototype=f.prototype=Object.create(v);function b(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function p(e,t){var n;this._invoke=function(i,a){function o(){return new t((function(n,o){!function n(i,a,o,u){var s=c(e[i],e,a);if("throw"!==s.type){var l=s.arg,f=l.value;return f&&"object"==typeof f&&r.call(f,"__await")?t.resolve(f.__await).then((function(e){n("next",e,o,u)}),(function(e){n("throw",e,o,u)})):t.resolve(f).then((function(e){l.value=e,o(l)}),(function(e){return n("throw",e,o,u)}))}u(s.arg)}(i,a,n,o)}))}return n=n?n.then(o,o):o()}}function _(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,_(e,t),"throw"===t.method))return l;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return l}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,l;var i=n.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,l):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,l)}function A(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function w(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function x(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(A,this),this.reset(!0)}function E(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,a=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return a.next=a}}return{next:T}}function T(){return{value:void 0,done:!0}}return h.prototype=m.constructor=d,d.constructor=h,h.displayName=u(d,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===h||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,d):(e.__proto__=d,u(e,o,"GeneratorFunction")),e.prototype=Object.create(m),e},e.awrap=function(e){return{__await:e}},b(p.prototype),p.prototype[a]=function(){return this},e.AsyncIterator=p,e.async=function(t,r,n,i,a){void 0===a&&(a=Promise);var o=new p(s(t,r,n,i),a);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},b(m),u(m,o,"Generator"),m[i]=function(){return this},m.toString=function(){return"[object Generator]"},e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=E,x.prototype={constructor:x,reset:function(e){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(w),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],o=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var u=r.call(a,"catchLoc"),s=r.call(a,"finallyLoc");if(u&&s){if(this.prev<a.catchLoc)return n(a.catchLoc,!0);if(this.prev<a.finallyLoc)return n(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return n(a.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return n(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var a=i;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var o=a?a.completion:{};return o.type=e,o.arg=t,a?(this.method="next",this.next=a.finallyLoc,l):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),l},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),w(r),l}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var i=n.arg;w(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:E(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),l}},e}(e.exports);try{regeneratorRuntime=n}catch(e){Function("r","regeneratorRuntime = r")(n)}},function(e,t,r){var n=r(3);e.exports=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=n(e)););return e}},function(e,t,r){"use strict";r.r(t),r.d(t,"lumaStats",(function(){return X})),r.d(t,"requestAnimationFrame",(function(){return W})),r.d(t,"cancelAnimationFrame",(function(){return Y})),r.d(t,"cloneTextureFrom",(function(){return Ct})),r.d(t,"getKeyValue",(function(){return ae})),r.d(t,"getKey",(function(){return oe})),r.d(t,"getContextInfo",(function(){return zt})),r.d(t,"getGLContextInfo",(function(){return Gt})),r.d(t,"getContextLimits",(function(){return Vt})),r.d(t,"FEATURES",(function(){return Ot})),r.d(t,"hasFeature",(function(){return Ft})),r.d(t,"hasFeatures",(function(){return jt})),r.d(t,"getFeatures",(function(){return It})),r.d(t,"canCompileGLGSExtension",(function(){return Wt})),r.d(t,"Accessor",(function(){return Te})),r.d(t,"Buffer",(function(){return Re})),r.d(t,"Shader",(function(){return er})),r.d(t,"VertexShader",(function(){return tr})),r.d(t,"FragmentShader",(function(){return rr})),r.d(t,"Program",(function(){return Fr})),r.d(t,"Framebuffer",(function(){return Dt})),r.d(t,"Renderbuffer",(function(){return vt})),r.d(t,"Texture2D",(function(){return $e})),r.d(t,"TextureCube",(function(){return nt})),r.d(t,"clear",(function(){return gt})),r.d(t,"clearBuffer",(function(){return yt})),r.d(t,"readPixelsToArray",(function(){return bt})),r.d(t,"readPixelsToBuffer",(function(){return pt})),r.d(t,"copyToDataUrl",(function(){return _t})),r.d(t,"copyToImage",(function(){return At})),r.d(t,"copyToTexture",(function(){return wt})),r.d(t,"blit",(function(){return xt})),r.d(t,"Query",(function(){return Pr})),r.d(t,"Texture3D",(function(){return ot})),r.d(t,"TransformFeedback",(function(){return Mr})),r.d(t,"VertexArrayObject",(function(){return zr})),r.d(t,"VertexArray",(function(){return Wr})),r.d(t,"UniformBufferLayout",(function(){return Yr})),r.d(t,"setPathPrefix",(function(){return We})),r.d(t,"loadFile",(function(){return Ye})),r.d(t,"loadImage",(function(){return qe})),r.d(t,"getShaderName",(function(){return Yt})),r.d(t,"getShaderVersion",(function(){return qr})),r.d(t,"log",(function(){return M})),r.d(t,"assert",(function(){return ie})),r.d(t,"uid",(function(){return se})),r.d(t,"isObjectEmpty",(function(){return le})),r.d(t,"parseUniformName",(function(){return dr})),r.d(t,"getUniformSetter",(function(){return hr})),r.d(t,"getDebugTableForUniforms",(function(){return Zr})),r.d(t,"getDebugTableForVertexArray",(function(){return tn})),r.d(t,"getDebugTableForProgramConfiguration",(function(){return un}));var n=r(2),i=r.n(n),a=r(1),o=r.n(a),u=r(11),s=r.n(u),c=r(4),l=r.n(c),f=r(0),h=r.n(f),d=r(24),v=Object(d.a)();function g(e){try{var t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch(e){return null}}var y=function(){function e(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"sessionStorage";i()(this,e),this.storage=g(n),this.id=t,this.config={},Object.assign(this.config,r),this._loadConfiguration()}return o()(e,[{key:"getConfiguration",value:function(){return this.config}},{key:"setConfiguration",value:function(e){return this.config={},this.updateConfiguration(e)}},{key:"updateConfiguration",value:function(e){if(Object.assign(this.config,e),this.storage){var t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}},{key:"_loadConfiguration",value:function(){var e={};if(this.storage){var t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}]),e}();function m(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(r=Math.min(r,n/e.width));var a=e.width*r,o=e.height*r,u=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(a/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(i,");"),"background-size:".concat(a,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),u]}var b={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function p(e){return"string"==typeof e?b[e.toUpperCase()]||b.WHITE:e}function _(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return A(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return A(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,u=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){u=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(u)throw a}}}}function A(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function w(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["constructor"],n=Object.getPrototypeOf(e),i=Object.getOwnPropertyNames(n),a=_(i);try{var o=function(){var n=t.value;"function"==typeof e[n]&&(r.find((function(e){return n===e}))||(e[n]=e[n].bind(e)))};for(a.s();!(t=a.n()).done;)o()}catch(e){a.e(e)}finally{a.f()}}function x(e,t){if(!e)throw new Error(t||"Assertion failed")}var E=r(13);function T(){var e;if(v&&E.b.performance)e=E.b.performance.now();else if(E.a.hrtime){var t=E.a.hrtime();e=1e3*t[0]+t[1]/1e6}else e=Date.now();return e}var O={debug:v&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},k={enabled:!0,level:0};function S(){}var L={},F={once:!0};function j(e){for(var t in e)for(var r in e[t])return r||"untitled";return"empty"}var I=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:""},r=t.id;i()(this,e),this.id=r,this.VERSION="8.5.8",this._startTs=T(),this._deltaTs=T(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new y("__probe-".concat(this.id,"__"),k),this.userData={},this.timeStamp("".concat(this.id," started")),w(this),Object.seal(this)}return o()(e,[{key:"isEnabled",value:function(){return this._storage.config.enabled}},{key:"getLevel",value:function(){return this._storage.config.level}},{key:"getTotal",value:function(){return Number((T()-this._startTs).toPrecision(10))}},{key:"getDelta",value:function(){return Number((T()-this._deltaTs).toPrecision(10))}},{key:"getPriority",value:function(){return this.level}},{key:"enable",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._storage.updateConfiguration({enabled:e}),this}},{key:"setLevel",value:function(e){return this._storage.updateConfiguration({level:e}),this}},{key:"assert",value:function(e,t){x(e,t)}},{key:"warn",value:function(e){return this._getLogFunction(0,e,O.warn,arguments,F)}},{key:"error",value:function(e){return this._getLogFunction(0,e,O.error,arguments)}},{key:"deprecated",value:function(e,t){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}},{key:"removed",value:function(e,t){return this.error("`".concat(e,"` has been removed. Use `").concat(t,"` instead"))}},{key:"probe",value:function(e,t){return this._getLogFunction(e,t,O.log,arguments,{time:!0,once:!0})}},{key:"log",value:function(e,t){return this._getLogFunction(e,t,O.debug,arguments)}},{key:"info",value:function(e,t){return this._getLogFunction(e,t,console.info,arguments)}},{key:"once",value:function(e,t){return this._getLogFunction(e,t,O.debug||O.info,arguments,F)}},{key:"table",value:function(e,t,r){return t?this._getLogFunction(e,t,console.table||S,r&&[r],{tag:j(t)}):S}},{key:"image",value:function(e){var t=e.logLevel,n=e.priority,i=e.image,a=e.message,o=void 0===a?"":a,u=e.scale,s=void 0===u?1:u;return this._shouldLog(t||n)?v?function(e){var t=e.image,r=e.message,n=void 0===r?"":r,i=e.scale,a=void 0===i?1:i;if("string"==typeof t){var o=new Image;return o.onload=function(){var e,t=m(o,n,a);(e=console).log.apply(e,l()(t))},o.src=t,S}var u=t.nodeName||"";if("img"===u.toLowerCase()){var s;return(s=console).log.apply(s,l()(m(t,n,a))),S}if("canvas"===u.toLowerCase()){var c=new Image;return c.onload=function(){var e;return(e=console).log.apply(e,l()(m(c,n,a)))},c.src=t.toDataURL(),S}return S}({image:i,message:o,scale:s}):function(e){var t=e.image,n=(e.message,e.scale),i=void 0===n?1:n,a=null;try{a=r(43)}catch(e){}if(a)return function(){return a(t,{fit:"box",width:"".concat(Math.round(80*i),"%")}).then((function(e){return console.log(e)}))};return S}({image:i,message:o,scale:s}):S}},{key:"settings",value:function(){console.table?console.table(this._storage.config):console.log(this._storage.config)}},{key:"get",value:function(e){return this._storage.config[e]}},{key:"set",value:function(e,t){this._storage.updateConfiguration(h()({},e,t))}},{key:"time",value:function(e,t){return this._getLogFunction(e,t,console.time?console.time:console.info)}},{key:"timeEnd",value:function(e,t){return this._getLogFunction(e,t,console.timeEnd?console.timeEnd:console.info)}},{key:"timeStamp",value:function(e,t){return this._getLogFunction(e,t,console.timeStamp||S)}},{key:"group",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{collapsed:!1},n=r=P({logLevel:e,message:t,opts:r}),i=n.collapsed;return r.method=(i?console.groupCollapsed:console.group)||console.info,this._getLogFunction(r)}},{key:"groupCollapsed",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.group(e,t,Object.assign({},r,{collapsed:!0}))}},{key:"groupEnd",value:function(e){return this._getLogFunction(e,"",console.groupEnd||S)}},{key:"withGroup",value:function(e,t,r){this.group(e,t)();try{r()}finally{this.groupEnd(e)()}}},{key:"trace",value:function(){console.trace&&console.trace()}},{key:"_shouldLog",value:function(e){return this.isEnabled()&&this.getLevel()>=R(e)}},{key:"_getLogFunction",value:function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],i=arguments.length>4?arguments[4]:void 0;if(this._shouldLog(e)){var a;i=P({logLevel:e,message:t,args:n,opts:i}),x(r=r||i.method),i.total=this.getTotal(),i.delta=this.getDelta(),this._deltaTs=T();var o=i.tag||i.message;if(i.once){if(L[o])return S;L[o]=T()}return t=B(this.id,i.message,i),(a=r).bind.apply(a,[console,t].concat(l()(i.args)))}return S}},{key:"level",set:function(e){this.setLevel(e)},get:function(){return this.getLevel()}},{key:"priority",set:function(e){this.level=e},get:function(){return this.level}}]),e}();function R(e){if(!e)return 0;var t;switch(s()(e)){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return x(Number.isFinite(t)&&t>=0),t}function P(e){var t=e.logLevel,r=e.message;e.logLevel=R(t);for(var n=e.args?Array.from(e.args):[];n.length&&n.shift()!==r;);switch(e.args=n,s()(t)){case"string":case"function":void 0!==r&&n.unshift(r),e.message=t;break;case"object":Object.assign(e,t)}"function"==typeof e.message&&(e.message=e.message());var i=s()(e.message);return x("string"===i||"object"===i),Object.assign(e,e.opts)}function B(e,t,r){if("string"==typeof t){var n=r.time?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8,r=Math.max(t-e.length,0);return"".concat(" ".repeat(r)).concat(e)}((u=r.total)<10?"".concat(u.toFixed(2),"ms"):u<100?"".concat(u.toFixed(1),"ms"):u<1e3?"".concat(u.toFixed(0),"ms"):"".concat((u/1e3).toFixed(2),"s")):"";t=r.time?"".concat(e,": ").concat(n," ").concat(t):"".concat(e,": ").concat(t),i=t,a=r.color,o=r.background,v||"string"!=typeof i||(a&&(a=p(a),i="[".concat(a,"m").concat(i,"[39m")),o&&(a=p(o),i="[".concat(o+10,"m").concat(i,"[49m"))),t=i}var i,a,o,u;return t}I.VERSION="8.5.8";var M=new I({id:"luma.gl"}),D=r(7),N=(r(31),r(16)),C=(r(15),r(8));r(10);var U=Object(C.isBrowser)();function V(e){var t=e.getParameter(7936),r=e.getParameter(7937),n=e.getExtension("WEBGL_debug_renderer_info");return{vendor:n&&e.getParameter(n.UNMASKED_VENDOR_WEBGL||7936)||t,renderer:n&&e.getParameter(n.UNMASKED_RENDERER_WEBGL||7937)||r,vendorMasked:t,rendererMasked:r,version:e.getParameter(7938),shadingLanguageVersion:e.getParameter(35724)}}var G=r(22),z=function(){function e(t,r){i()(this,e),this.name=t,this.type=r,this.sampleSize=1,this.reset()}return o()(e,[{key:"setSampleSize",value:function(e){return this.sampleSize=e,this}},{key:"incrementCount",value:function(){return this.addCount(1),this}},{key:"decrementCount",value:function(){return this.subtractCount(1),this}},{key:"addCount",value:function(e){return this._count+=e,this._samples++,this._checkSampling(),this}},{key:"subtractCount",value:function(e){return this._count-=e,this._samples++,this._checkSampling(),this}},{key:"addTime",value:function(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}},{key:"timeStart",value:function(){return this._startTime=Object(G.a)(),this._timerPending=!0,this}},{key:"timeEnd",value:function(){return this._timerPending?(this.addTime(Object(G.a)()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}},{key:"getSampleAverageCount",value:function(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}},{key:"getSampleAverageTime",value:function(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}},{key:"getSampleHz",value:function(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}},{key:"getAverageCount",value:function(){return this.samples>0?this.count/this.samples:0}},{key:"getAverageTime",value:function(){return this.samples>0?this.time/this.samples:0}},{key:"getHz",value:function(){return this.time>0?this.samples/(this.time/1e3):0}},{key:"reset",value:function(){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}},{key:"_checkSampling",value:function(){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)}}]),e}(),H=function(){function e(t){var r=t.id,n=t.stats;i()(this,e),this.id=r,this.stats={},this._initializeStats(n),Object.seal(this)}return o()(e,[{key:"get",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"count";return this._getOrCreate({name:e,type:t})}},{key:"reset",value:function(){for(var e in this.stats)this.stats[e].reset();return this}},{key:"forEach",value:function(e){for(var t in this.stats)e(this.stats[t])}},{key:"getTable",value:function(){var e={};return this.forEach((function(t){e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}})),e}},{key:"_initializeStats",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];t.forEach((function(t){return e._getOrCreate(t)}))}},{key:"_getOrCreate",value:function(e){if(!e||!e.name)return null;var t=e.name,r=e.type;return this.stats[t]||(this.stats[t]=e instanceof z?e:new z(t,r)),this.stats[t]}},{key:"size",get:function(){return Object.keys(this.stats).length}}]),e}(),X=new(function(){function e(){i()(this,e),this.stats=new Map}return o()(e,[{key:"get",value:function(e){return this.stats.has(e)||this.stats.set(e,new H({id:e})),this.stats.get(e)}}]),e}());if(C.global.luma&&"8.5.8"!==C.global.luma.VERSION)throw new Error("luma.gl - multiple VERSIONs detected: ".concat(C.global.luma.VERSION," vs ").concat("8.5.8"));C.global.luma||(Object(C.isBrowser)()&&M.log(1,"luma.gl ".concat("8.5.8"," - ").concat("set luma.log.level=1 (or higher) to trace rendering"))(),C.global.luma=C.global.luma||{VERSION:"8.5.8",version:"8.5.8",log:M,stats:X,globals:{modules:{},nodeIO:{}}});C.global.luma;function W(e){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(e):setTimeout(e,1e3/60)}function Y(e){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(e):clearTimeout(e)}var q=r(9),Q=r.n(q),$=r(5),J=r.n($),K=r(6),Z=r.n(K),ee=r(3),te=r.n(ee),re=r(12),ne=r.n(re);function ie(e,t){if(!e)throw new Error(t||"luma.gl: assertion failed.")}function ae(e,t){if("string"!=typeof t)return t;var r=Number(t);if(!isNaN(r))return r;var n=e[t=t.replace(/^.*\./,"")];return ie(void 0!==n,"Accessing undefined constant GL.".concat(t)),n}function oe(e,t){for(var r in t=Number(t),e)if(e[r]===t)return"GL.".concat(r);return String(t)}var ue={};function se(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"id";ue[e]=ue[e]||1;var t=ue[e]++;return"".concat(e,"-").concat(t)}function ce(e){return ie("number"==typeof e,"Input must be a number"),e&&0==(e&e-1)}function le(e){var t=!0;for(var r in e){t=!1;break}return t}function fe(e,t,r,n){var i="See luma.gl ".concat(r," Upgrade Guide at https://luma.gl/docs/upgrade-guide"),a=Object.getPrototypeOf(e);n.forEach((function(e){a.methodName||(a[e]=function(){throw M.removed("Calling removed method ".concat(t,".").concat(e,": "),i)(),new Error(e)})}))}function he(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return de(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return de(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,u=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){u=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(u)throw a}}}}function de(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var ve="Resource subclass must define virtual methods",ge=function(){function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};i()(this,e),Object(D.b)(t);var n=r.id,a=r.userData,o=void 0===a?{}:a;this.gl=t,this.gl2=t,this.id=n||se(this.constructor.name),this.userData=o,this._bound=!1,this._handle=r.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}return o()(e,[{key:"toString",value:function(){return"".concat(this.constructor.name,"(").concat(this.id,")")}},{key:"delete",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.deleteChildren,r=void 0!==t&&t,n=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,n&&r&&n.filter(Boolean).forEach((function(e){return e.delete()})),this}},{key:"bind",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.handle;return"function"!=typeof t?(this._bindHandle(t),this):(this._bound?e=t():(this._bindHandle(this.handle),this._bound=!0,e=t(),this._bound=!1,this._bindHandle(null)),e)}},{key:"unbind",value:function(){this.bind(null)}},{key:"getParameter",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};ie(e=ae(this.gl,e));var r=this.constructor.PARAMETERS||{},n=r[e];if(n){var i=Object(D.e)(this.gl),a=(!("webgl2"in n)||i)&&(!("extension"in n)||this.gl.getExtension(n.extension));if(!a){var o=n.webgl1,u="webgl2"in n?n.webgl2:n.webgl1,s=i?u:o;return s}}return this._getParameter(e,t)}},{key:"getParameters",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.parameters,n=t.keys,i=this.constructor.PARAMETERS||{},a=Object(D.e)(this.gl),o={},u=r||Object.keys(i),s=he(u);try{for(s.s();!(e=s.n()).done;){var c=e.value,l=i[c],f=l&&(!("webgl2"in l)||a)&&(!("extension"in l)||this.gl.getExtension(l.extension));if(f){var h=n?oe(this.gl,c):c;o[h]=this.getParameter(c,t),n&&"GLenum"===l.type&&(o[h]=oe(this.gl,o[h]))}}}catch(e){s.e(e)}finally{s.f()}return o}},{key:"setParameter",value:function(e,t){ie(e=ae(this.gl,e));var r=(this.constructor.PARAMETERS||{})[e];if(r){var n=Object(D.e)(this.gl);if(!((!("webgl2"in r)||n)&&(!("extension"in r)||this.gl.getExtension(r.extension))))throw new Error("Parameter not available on this platform");"GLenum"===r.type&&(t=ae(t))}return this._setParameter(e,t),this}},{key:"setParameters",value:function(e){for(var t in e)this.setParameter(t,e[t]);return this}},{key:"stubRemovedMethods",value:function(e,t,r){return fe(this,e,t,r)}},{key:"initialize",value:function(e){}},{key:"_createHandle",value:function(){throw new Error(ve)}},{key:"_deleteHandle",value:function(){throw new Error(ve)}},{key:"_bindHandle",value:function(e){throw new Error(ve)}},{key:"_getOptsFromHandle",value:function(){throw new Error(ve)}},{key:"_getParameter",value:function(e,t){throw new Error(ve)}},{key:"_setParameter",value:function(e,t){throw new Error(ve)}},{key:"_context",value:function(){return this.gl.luma=this.gl.luma||{},this.gl.luma}},{key:"_addStats",value:function(){var e=this.constructor.name,t=X.get("Resource Counts");t.get("Resources Created").incrementCount(),t.get("".concat(e,"s Created")).incrementCount(),t.get("".concat(e,"s Active")).incrementCount()}},{key:"_removeStats",value:function(){var e=this.constructor.name;X.get("Resource Counts").get("".concat(e,"s Active")).decrementCount()}},{key:"_trackAllocatedMemory",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.constructor.name,r=X.get("Memory Usage");r.get("GPU Memory").addCount(e),r.get("".concat(t," Memory")).addCount(e),this.byteLength=e}},{key:"_trackDeallocatedMemory",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.constructor.name,t=X.get("Memory Usage");t.get("GPU Memory").subtractCount(this.byteLength),t.get("".concat(e," Memory")).subtractCount(this.byteLength),this.byteLength=0}},{key:"handle",get:function(){return this._handle}}]),e}(),ye=r(36),me=r.n(ye);function be(e){switch(ArrayBuffer.isView(e)?e.constructor:e){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function pe(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.clamped,n=void 0===r||r;switch(e){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return n?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 _e(e){var t=e.data,r=e.width,n=e.height,i=e.bytesPerPixel,a=void 0===i?4:i,o=e.temp,u=r*a;o=o||new Uint8Array(u);for(var s=0;s<n/2;++s){var c=s*u,l=(n-s-1)*u;o.set(t.subarray(c,c+u)),t.copyWithin(c,l,l+u),t.set(o,l)}}function Ae(e){for(var t=e.data,r=e.width,n=e.height,i=Math.round(r/2),a=Math.round(n/2),o=new Uint8Array(i*a*4),u=0;u<a;u++)for(var s=0;s<i;s++)for(var c=0;c<4;c++)o[4*(u*i+s)+c]=t[4*(2*u*r+2*s)+c];return{data:o,width:i,height:a}}function we(e,t,r){var n=r.removedProps,i=void 0===n?{}:n,a=r.deprecatedProps,o=void 0===a?{}:a,u=r.replacedProps,s=void 0===u?{}:u;for(var c in i)if(c in t){var l=i[c]?"".concat(e,".").concat(i[c]):"N/A";M.removed("".concat(e,".").concat(c),l)()}for(var f in o)if(f in t){var h=o[f];M.deprecated("".concat(e,".").concat(f),"".concat(e,".").concat(h))()}var d=null;for(var v in s)if(v in t){var g=s[v];M.deprecated("".concat(e,".").concat(v),"".concat(e,".").concat(g))(),(d=d||Object.assign({},t))[g]=t[v],delete d[v]}return d||t}var xe={offset:0,stride:0,type:5126,size:1,divisor:0,normalized:!1,integer:!1},Ee={deprecatedProps:{instanced:"divisor",isInstanced:"divisor"}},Te=function(){function e(){var t=this;i()(this,e);for(var r=arguments.length,n=new Array(r),a=0;a<r;a++)n[a]=arguments[a];n.forEach((function(e){return t._assign(e)})),Object.freeze(this)}return o()(e,null,[{key:"getBytesPerElement",value:function(e){return pe(e.type||5126).BYTES_PER_ELEMENT}},{key:"getBytesPerVertex",value:function(e){return ie(e.size),pe(e.type||5126).BYTES_PER_ELEMENT*e.size}},{key:"resolve",value:function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return me()(e,[xe].concat(r))}}]),o()(e,[{key:"toString",value:function(){return JSON.stringify(this)}},{key:"_assign",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return void 0!==(e=we("Accessor",e,Ee)).type&&(this.type=e.type,5124!==e.type&&5125!==e.type||(this.integer=!0)),void 0!==e.size&&(this.size=e.size),void 0!==e.offset&&(this.offset=e.offset),void 0!==e.stride&&(this.stride=e.stride),void 0!==e.normalized&&(this.normalized=e.normalized),void 0!==e.integer&&(this.integer=e.integer),void 0!==e.divisor&&(this.divisor=e.divisor),void 0!==e.buffer&&(this.buffer=e.buffer),void 0!==e.index&&("boolean"==typeof e.index?this.index=e.index?1:0:this.index=e.index),void 0!==e.instanced&&(this.divisor=e.instanced?1:0),void 0!==e.isInstanced&&(this.divisor=e.isInstanced?1:0),this}},{key:"BYTES_PER_ELEMENT",get:function(){return e.getBytesPerElement(this)}},{key:"BYTES_PER_VERTEX",get:function(){return e.getBytesPerVertex(this)}}]),e}();function Oe(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=te()(e);if(t){var i=te()(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return Z()(this,r)}}var ke,Se,Le,Fe={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},je={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:Fe},Ie={removedProps:Fe},Re=function(e){J()(r,e);var t=Oe(r);function r(e){var n,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i()(this,r),(n=t.call(this,e,a)).stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),n.target=a.target||(n.gl.webgl2?36662:34962),n.initialize(a),Object.seal(Q()(n)),n}return o()(r,[{key:"getElementCount",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.accessor;return Math.round(this.byteLength/Te.getBytesPerElement(e))}},{key:"getVertexCount",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.accessor;return Math.round(this.byteLength/Te.getBytesPerVertex(e))}},{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return ArrayBuffer.isView(e)&&(e={data:e}),Number.isFinite(e)&&(e={byteLength:e}),e=we("Buffer",e,je),this.usage=e.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},e,e.accessor)),e.data?this._setData(e.data,e.offset,e.byteLength):this._setByteLength(e.byteLength||0),this}},{key:"setProps",value:function(e){return"accessor"in(e=we("Buffer",e,Ie))&&this.setAccessor(e.accessor),this}},{key:"setAccessor",value:function(e){return delete(e=Object.assign({},e)).buffer,this.accessor=new Te(e),this}},{key:"reallocate",value:function(e){return e>this.byteLength?(this._setByteLength(e),!0):(this.bytesUsed=e,!1)}},{key:"setData",value:function(e){return this.initialize(e)}},{key:"subData",value:function(e){ArrayBuffer.isView(e)&&(e={data:e});var t=e,r=t.data,n=t.offset,i=void 0===n?0:n,a=t.srcOffset,o=void 0===a?0:a,u=e.byteLength||e.length;ie(r);var s=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(s,this.handle),0!==o||void 0!==u?(Object(D.a)(this.gl),this.gl.bufferSubData(this.target,i,r,o,u)):this.gl.bufferSubData(s,i,r),this.gl.bindBuffer(s,null),this.debugData=null,this._inferType(r),this}},{key:"copyData",value:function(e){var t=e.sourceBuffer,r=e.readOffset,n=void 0===r?0:r,i=e.writeOffset,a=void 0===i?0:i,o=e.size,u=this.gl;return Object(D.a)(u),u.bindBuffer(36662,t.handle),u.bindBuffer(36663,this.handle),u.copyBufferSubData(36662,36663,n,a,o),u.bindBuffer(36662,null),u.bindBuffer(36663,null),this.debugData=null,this}},{key:"getData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.dstData,r=void 0===t?null:t,n=e.srcByteOffset,i=void 0===n?0:n,a=e.dstOffset,o=void 0===a?0:a,u=e.length,s=void 0===u?0:u;Object(D.a)(this.gl);var c,l,f=pe(this.accessor.type||5126,{clamped:!1}),h=this._getAvailableElementCount(i),d=o;r?c=(l=r.length)-d:l=d+(c=Math.min(h,s||h));var v=Math.min(h,c);return ie((s=s||v)<=v),r=r||new f(l),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,i,r,o,s),this.gl.bindBuffer(36662,null),r}},{key:"bind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,r=void 0===t?this.target:t,n=e.index,i=void 0===n?this.accessor&&this.accessor.index:n,a=e.offset,o=void 0===a?0:a,u=e.size;return 35345===r||35982===r?void 0!==u?this.gl.bindBufferRange(r,i,this.handle,o,u):(ie(0===o),this.gl.bindBufferBase(r,i,this.handle)):this.gl.bindBuffer(r,this.handle),this}},{key:"unbind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,r=void 0===t?this.target:t,n=e.index,i=void 0===n?this.accessor&&this.accessor.index:n,a=35345===r||35982===r;return a?this.gl.bindBufferBase(r,i,null):this.gl.bindBuffer(r,null),this}},{key:"getDebugData",value:function(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}},{key:"invalidateDebugData",value:function(){this.debugData=null}},{key:"_setData",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.byteLength+t;ie(ArrayBuffer.isView(e)),this._trackDeallocatedMemory();var n=this._getTarget();this.gl.bindBuffer(n,this.handle),this.gl.bufferData(n,r,this.usage),this.gl.bufferSubData(n,t,e),this.gl.bindBuffer(n,null),this.debugData=e.slice(0,10),this.bytesUsed=r,this._trackAllocatedMemory(r);var i=be(e);return ie(i),this.setAccessor(new Te(this.accessor,{type:i})),this}},{key:"_setByteLength",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.usage;ie(e>=0),this._trackDeallocatedMemory();var r=e;0===e&&(r=new Float32Array(0));var n=this._getTarget();return this.gl.bindBuffer(n,this.handle),this.gl.bufferData(n,r,t),this.gl.bindBuffer(n,null),this.usage=t,this.debugData=null,this.bytesUsed=e,this._trackAllocatedMemory(e),this}},{key:"_getTarget",value:function(){return this.gl.webgl2?36663:this.target}},{key:"_getAvailableElementCount",value:function(e){var t=e/pe(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-t}},{key:"_inferType",value:function(e){this.accessor.type||this.setAccessor(new Te(this.accessor,{type:be(e)}))}},{key:"_createHandle",value:function(){return this.gl.createBuffer()}},{key:"_deleteHandle",value:function(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}},{key:"_getParameter",value:function(e){this.gl.bindBuffer(this.target,this.handle);var t=this.gl.getBufferParameter(this.target,e);return this.gl.bindBuffer(this.target,null),t}},{key:"setByteLength",value:function(e){return M.deprecated("setByteLength","reallocate")(),this.reallocate(e)}},{key:"updateAccessor",value:function(e){return M.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new Te(this.accessor,e),this}},{key:"type",get:function(){return M.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}},{key:"bytes",get:function(){return M.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}}]),r}(ge),Pe=(ke={},h()(ke,6407,{dataFormat:6407,types:[5121,33635]}),h()(ke,6408,{dataFormat:6408,types:[5121,32819,32820]}),h()(ke,6406,{dataFormat:6406,types:[5121]}),h()(ke,6409,{dataFormat:6409,types:[5121]}),h()(ke,6410,{dataFormat:6410,types:[5121]}),h()(ke,33326,{dataFormat:6403,types:[5126],gl2:!0}),h()(ke,33328,{dataFormat:33319,types:[5126],gl2:!0}),h()(ke,34837,{dataFormat:6407,types:[5126],gl2:!0}),h()(ke,34836,{dataFormat:6408,types:[5126],gl2:!0}),ke),Be=(Se={},h()(Se,6403,1),h()(Se,36244,1),h()(Se,33319,2),h()(Se,33320,2),h()(Se,6407,3),h()(Se,36248,3),h()(Se,6408,4),h()(Se,36249,4),h()(Se,6402,1),h()(Se,34041,1),h()(Se,6406,1),h()(Se,6409,1),h()(Se,6410,2),Se),Me=(Le={},h()(Le,5126,4),h()(Le,5125,4),h()(Le,5124,4),h()(Le,5123,2),h()(Le,5122,2),h()(Le,5131,2),h()(Le,5120,1),h()(Le,5121,1),Le);function De(e,t){var r=Pe[t];if(!r)return!1;if(void 0===r.gl1&&void 0===r.gl2)return!0;var n=Object(D.e)(e)&&r.gl2||r.gl1;return"string"==typeof n?e.getExtension(n):n}function Ne(e,t){var r=Pe[t];switch(r&&r.types[0]){case 5126:return e.getExtension("OES_texture_float_linear");case 5131:return e.getExtension("OES_texture_half_float_linear");default:return!0}}function Ce(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return Ue(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ue(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,u=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){u=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(u)throw a}}}}function Ue(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Ve(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=te()(e);if(t){var i=te()(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return Z()(this,r)}}var Ge=[9729,9728],ze=C.global.WebGLBuffer||function(){},He=function(e){J()(r,e);var t=Ve(r);function r(e,n){var a;i()(this,r);var o=n.id,u=void 0===o?se("texture"):o,s=n.handle,c=n.target;return(a=t.call(this,e,{id:u,handle:s})).target=c,a.textureUnit=void 0,a.loaded=!1,a.width=void 0,a.height=void 0,a.depth=void 0,a.format=void 0,a.type=void 0,a.dataFormat=void 0,a.border=void 0,a.textureUnit=void 0,a.mipmaps=void 0,a}return o()(r,null,[{key:"isSupported",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.format,n=t.linearFiltering,i=!0;return r&&(i=(i=i&&De(e,r))&&(!n||Ne(e,r))),i}}]),o()(r,[{key:"toString",value:function(){return"Texture(".concat(this.id,",").concat(this.width,"x").concat(this.height,")")}},{key:"initialize",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.data;if(r instanceof Promise)return r.then((function(r){return e.initialize(Object.assign({},t,{pixels:r,data:r}))})),this;var n="undefined"!=typeof HTMLVideoElement&&r instanceof HTMLVideoElement;if(n&&r.readyState<HTMLVideoElement.HAVE_METADATA)return this._video=null,r.addEventListener("loadeddata",(function(){return e.initialize(t)})),this;var i=t.pixels,a=void 0===i?null:i,o=t.format,u=void 0===o?6408:o,s=t.border,c=void 0===s?0:s,l=t.recreate,f=void 0!==l&&l,h=t.parameters,d=void 0===h?{}:h,v=t.pixelStore,g=void 0===v?{}:v,y=t.textureUnit,m=void 0===y?void 0:y;r||(r=a);var b=t.width,p=t.height,_=t.dataFormat,A=t.type,w=t.compressed,x=void 0!==w&&w,E=t.mipmaps,T=void 0===E||E,O=t.depth,k=void 0===O?0:O,S=this._deduceParameters({format:u,type:A,dataFormat:_,compressed:x,data:r,width:b,height:p});return b=S.width,p=S.height,x=S.compressed,_=S.dataFormat,A=S.type,this.width=b,this.height=p,this.depth=k,this.format=u,this.type=A,this.dataFormat=_,this.border=c,this.textureUnit=m,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),T&&this._isNPOT()&&(M.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaping"))(),T=!1,this._updateForNPOT(d)),this.mipmaps=T,this.setImageData({data:r,width:b,height:p,depth:k,format:u,type:A,dataFormat:_,border:c,mipmaps:T,parameters:g,compressed:x}),T&&this.generateMipmap(),this.setParameters(d),f&&(this.data=r),n&&(this._video={video:r,parameters:d,lastTime:r.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?r.currentTime:-1}),this}},{key:"update",value:function(){if(this._video){var e=this._video,t=e.video,r=e.parameters;if(e.lastTime===t.currentTime||t.readyState<HTMLVideoElement.HAVE_CURRENT_DATA)return;this.setSubImageData({data:t,parameters:r}),this.mipmaps&&this.generateMipmap(),this._video.lastTime=t.currentTime}}},{key:"resize",value:function(e){var t=e.height,r=e.width,n=e.mipmaps,i=void 0!==n&&n;return r!==this.width||t!==this.height?this.initialize({width:r,height:t,format:this.format,type:this.type,dataFormat:this.dataFormat,border:this.border,mipmaps:i}):this}},{key:"generateMipmap",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._isNPOT()?(M.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaping"))(),this):(this.mipmaps=!0,this.gl.bindTexture(this.target,this.handle),Object(N.c)(this.gl,t,(function(){e.gl.generateMipmap(e.target)})),this.gl.bindTexture(this.target,null),this)}},{key:"setImageData",value:function(e){this._trackDeallocatedMemory("Texture");var t=e.target,r=void 0===t?this.target:t,n=e.pixels,i=void 0===n?null:n,a=e.level,o=void 0===a?0:a,u=e.format,s=void 0===u?this.format:u,c=e.border,l=void 0===c?this.border:c,f=e.offset,h=void 0===f?0:f,d=e.parameters,v=void 0===d?{}:d,g=e.data,y=void 0===g?null:g,m=e.type,b=void 0===m?this.type:m,p=e.width,_=void 0===p?this.width:p,A=e.height,w=void 0===A?this.height:A,x=e.dataFormat,E=void 0===x?this.dataFormat:x,T=e.compressed,O=void 0!==T&&T;y||(y=i);var k=this._deduceParameters({format:s,type:b,dataFormat:E,compressed:O,data:y,width:_,height:w});b=k.type,E=k.dataFormat,O=k.compressed,_=k.width,w=k.height;var S=this.gl;S.bindTexture(this.target,this.handle);var L,F,j=this._getDataType({data:y,compressed:O});if(y=j.data,L=j.dataType,Object(N.c)(this.gl,v,(function(){switch(L){case"null":S.texImage2D(r,o,s,_,w,l,E,b,y);break;case"typed-array":S.texImage2D(r,o,s,_,w,l,E,b,y,h);break;case"buffer":(F=Object(D.a)(S)).bindBuffer(35052,y.handle||y),F.texImage2D(r,o,s,_,w,l,E,b,h),F.bindBuffer(35052,null);break;case"browser-object":Object(D.e)(S)?S.texImage2D(r,o,s,_,w,l,E,b,y):S.texImage2D(r,o,s,E,b,y);break;case"compressed":var e,t=Ce(y.entries());try{for(t.s();!(e=t.n()).done;){var n=ne()(e.value,2),i=n[0],a=n[1];S.compressedTexImage2D(r,i,a.format,a.width,a.height,l,a.data)}}catch(e){t.e(e)}finally{t.f()}break;default:ie(!1,"Unknown image data type")}})),y&&y.byteLength)this._trackAllocatedMemory(y.byteLength,"Texture");else{var I=Be[this.dataFormat]||4,R=Me[this.type]||1;this._trackAllocatedMemory(this.width*this.height*I*R,"Texture")}return this.loaded=!0,this}},{key:"setSubImageData",value:function(e){var t=this,r=e.target,n=void 0===r?this.target:r,i=e.pixels,a=void 0===i?null:i,o=e.data,u=void 0===o?null:o,s=e.x,c=void 0===s?0:s,l=e.y,f=void 0===l?0:l,h=e.width,d=void 0===h?this.width:h,v=e.height,g=void 0===v?this.height:v,y=e.level,m=void 0===y?0:y,b=e.format,p=void 0===b?this.format:b,_=e.type,A=void 0===_?this.type:_,w=e.dataFormat,x=void 0===w?this.dataFormat:w,E=e.compressed,T=void 0!==E&&E,O=e.offset,k=void 0===O?0:O,S=e.border,L=(void 0===S&&this.border,e.parameters),F=void 0===L?{}:L,j=this._deduceParameters({format:p,type:A,dataFormat:x,compressed:T,data:u,width:d,height:g});if(A=j.type,x=j.dataFormat,T=j.compressed,d=j.width,g=j.height,ie(0===this.depth,"texSubImage not supported for 3D textures"),u||(u=a),u&&u.data){var I=u;u=I.data,d=I.shape[0],g=I.shape[1]}u instanceof Re&&(u=u.handle),this.gl.bindTexture(this.target,this.handle),Object(N.c)(this.gl,F,(function(){if(T)t.gl.compressedTexSubImage2D(n,m,c,f,d,g,p,u);else if(null===u)t.gl.texSubImage2D(n,m,c,f,d,g,x,A,null);else if(ArrayBuffer.isView(u))t.gl.texSubImage2D(n,m,c,f,d,g,x,A,u,k);else if(u instanceof ze){var e=Object(D.a)(t.gl);e.bindBuffer(35052,u),e.texSubImage2D(n,m,c,f,d,g,x,A,k),e.bindBuffer(35052,null)}else if(Object(D.e)(t.gl)){Object(D.a)(t.gl).texSubImage2D(n,m,c,f,d,g,x,A,u)}else t.gl.texSubImage2D(n,m,c,f,x,A,u)})),this.gl.bindTexture(this.target,null)}},{key:"copyFramebuffer",value:function(){return M.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}},{key:"getActiveUnit",value:function(){return this.gl.getParameter(34016)-33984}},{key:"bind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.textureUnit,t=this.gl;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,this.handle),e}},{key:"unbind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.textureUnit,t=this.gl;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,null),e}},{key:"_getDataType",value:function(e){var t=e.data,r=e.compressed;return void 0!==r&&r?{data:t,dataType:"compressed"}:null===t?{data:t,dataType:"null"}:ArrayBuffer.isView(t)?{data:t,dataType:"typed-array"}:t instanceof Re?{data:t.handle,dataType:"buffer"}:t instanceof ze?{data:t,dataType:"buffer"}:{data:t,dataType:"browser-object"}}},{key:"_deduceParameters",value:function(e){var t=e.format,r=e.data,n=e.width,i=e.height,a=e.dataFormat,o=e.type,u=e.compressed,s=Pe[t];a=a||s&&s.dataFormat,o=o||s&&s.types[0],u=u||s&&s.compressed;var c=this._deduceImageSize(r,n,i);return{dataFormat:a,type:o,compressed:u,width:n=c.width,height:i=c.height,format:t,data:r}}},{key:"_deduceImageSize",value:function(e,t,r){var n;return ie(n="undefined"!=typeof ImageData&&e instanceof ImageData?{width:e.width,height:e.height}:"undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement?{width:e.naturalWidth,height:e.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?{width:e.width,height:e.height}:"undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e?{width:t,height:r}:{width:t>=0?t:1,height:r>=0?r:1},"Could not deduced texture size"),ie(void 0===t||n.width===t,"Deduced texture width does not match supplied width"),ie(void 0===r||n.height===r,"Deduced texture height does not match supplied height"),n}},{key:"_createHandle",value:function(){return this.gl.createTexture()}},{key:"_deleteHandle",value:function(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}},{key:"_getParameter",value:function(e){switch(e){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);var t=this.gl.getTexParameter(this.target,e);return this.gl.bindTexture(this.target,null),t}}},{key:"_setParameter",value:function(e,t){switch(this.gl.bindTexture(this.target,this.handle),t=this._getNPOTParam(e,t),e){case 33082:case 33083:this.gl.texParameterf(this.handle,e,t);break;case 4096:case 4097:ie(!1);break;default:this.gl.texParameteri(this.target,e,t)}return this.gl.bindTexture(this.target,null),this}},{key:"_isNPOT",value:function(){return!Object(D.e)(this.gl)&&(!(!this.width||!this.height)&&(!ce(this.width)||!ce(this.height)))}},{key:"_updateForNPOT",value:function(e){void 0===e[this.gl.TEXTURE_MIN_FILTER]&&(e[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===e[this.gl.TEXTURE_WRAP_S]&&(e[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===e[this.gl.TEXTURE_WRAP_T]&&(e[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}},{key:"_getNPOTParam",value:function(e,t){if(this._isNPOT())switch(e){case 10241:-1===Ge.indexOf(t)&&(t=9729);break;case 10242:case 10243:33071!==t&&(t=33071)}return t}}]),r}(ge),Xe="";function We(e){Xe=e}function Ye(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};ie("string"==typeof e),e=Xe+e;var r=t.dataType||"text";return fetch(e,t).then((function(e){return e[r]()}))}function qe(e,t){return ie("string"==typeof e),e=Xe+e,new Promise((function(r,n){try{var i=new Image;i.onload=function(){return r(i)},i.onerror=function(){return n(new Error("Could not load image ".concat(e,".")))},i.crossOrigin=t&&t.crossOrigin||"anonymous",i.src=e}catch(e){n(e)}}))}function Qe(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=te()(e);if(t){var i=te()(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return Z()(this,r)}}var $e=function(e){J()(r,e);var t=Qe(r);function r(e){var n,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i()(this,r),Object(D.b)(e),(a instanceof Promise||"string"==typeof a)&&(a={data:a}),"string"==typeof a.data&&(a=Object.assign({},a,{data:qe(a.data)})),(n=t.call(this,e,Object.assign({},a,{target:3553}))).initialize(a),Object.seal(Q()(n)),n}return o()(r,null,[{key:"isSupported",value:function(e,t){return He.isSupported(e,t)}}]),r}(He),Je=r(27),Ke=r.n(Je),Ze=r(37),et=r.n(Ze);function tt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=te()(e);if(t){var i=te()(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return Z()(this,r)}}var rt=[34069,34070,34071,34072,34073,34074],nt=function(e){J()(n,e);var t,r=tt(n);function n(e){var t,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i()(this,n),Object(D.b)(e),(t=r.call(this,e,Object.assign({},a,{target:34067}))).initialize(a),Object.seal(Q()(t)),t}return o()(n,[{key:"initialize",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.mipmaps,n=void 0===r||r,i=t.parameters,a=void 0===i?{}:i;return this.opts=t,this.setCubeMapImageData(t).then((function(){e.loaded=!0,n&&e.generateMipmap(t),e.setParameters(a)})),this}},{key:"subImage",value:function(e){var t=e.face,r=e.data,n=e.x,i=void 0===n?0:n,a=e.y,o=void 0===a?0:a,u=e.mipmapLevel,s=void 0===u?0:u;return this._subImage({target:t,data:r,x:i,y:o,mipmapLevel:s})}},{key:"setCubeMapImageData",value:(t=et()(Ke.a.mark((function e(t){var r,n,i,a,o,u,s,c,l,f,h,d,v,g=this;return Ke.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.width,n=t.height,i=t.pixels,a=t.data,o=t.border,u=void 0===o?0:o,s=t.format,c=void 0===s?6408:s,l=t.type,f=void 0===l?5121:l,h=this.gl,d=i||a,e.next=5,Promise.all(rt.map((function(e){var t=d[e];return Promise.all(Array.isArray(t)?t:[t])})));case 5:v=e.sent,this.bind(),rt.forEach((function(e,t){v[t].length>1&&!1!==g.opts.mipmaps&&M.warn("".concat(g.id," has mipmap and multiple LODs."))(),v[t].forEach((function(t,i){r&&n?h.texImage2D(e,i,c,r,n,u,c,f,t):h.texImage2D(e,i,c,c,f,t)}))})),this.unbind();case 9:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"setImageDataForFace",value:function(e){var t=this,r=e.face,n=e.width,i=e.height,a=e.pixels,o=e.data,u=e.border,s=void 0===u?0:u,c=e.format,l=void 0===c?6408:c,f=e.type,h=void 0===f?5121:f,d=this.gl,v=a||o;return this.bind(),v instanceof Promise?v.then((function(n){return t.setImageDataForFace(Object.assign({},e,{face:r,data:n,pixels:n}))})):this.width||this.height?d.texImage2D(r,0,l,n,i,s,l,h,v):d.texImage2D(r,0,l,l,h,v),this}}]),n}(He);function it(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=te()(e);if(t){var i=te()(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return Z()(this,r)}}nt.FACES=rt;var at,ot=function(e){J()(r,e);var t=it(r);function r(e){var n,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i()(this,r),Object(D.a)(e),a=Object.assign({depth:1},a,{target:32879,unpackFlipY:!1}),(n=t.call(this,e,a)).initialize(a),Object.seal(Q()(n)),n}return o()(r,null,[{key:"isSupported",value:function(e){return Object(D.e)(e)}}]),o()(r,[{key:"setImageData",value:function(e){var t=this,r=e.level,n=void 0===r?0:r,i=e.dataFormat,a=void 0===i?6408:i,o=e.width,u=e.height,s=e.depth,c=void 0===s?1:s,l=e.border,f=void 0===l?0:l,h=e.format,d=e.type,v=void 0===d?5121:d,g=e.offset,y=void 0===g?0:g,m=e.data,b=e.parameters,p=void 0===b?{}:b;if(this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),Object(N.c)(this.gl,p,(function(){ArrayBuffer.isView(m)&&t.gl.texImage3D(t.target,n,a,o,u,c,f,h,v,m),m instanceof Re&&(t.gl.bindBuffer(35052,m.handle),t.gl.texImage3D(t.target,n,a,o,u,c,f,h,v,y))})),m&&m.byteLength)this._trackAllocatedMemory(m.byteLength,"Texture");else{var _=Be[this.dataFormat]||4,A=Me[this.type]||1;this._trackAllocatedMemory(this.width*this.height*this.depth*_*A,"Texture")}return this.loaded=!0,this}}]),r}(He),ut=r(18),st=r.n(ut),ct="EXT_color_buffer_float",lt=(at={},h()(at,33189,{bpp:2}),h()(at,33190,{gl2:!0,bpp:3}),h()(at,36012,{gl2:!0,bpp:4}),h()(at,36168,{bpp:1}),h()(at,34041,{bpp:4}),h()(at,35056,{gl2:!0,bpp:4}),h()(at,36013,{gl2:!0,bpp:5}),h()(at,32854,{bpp:2}),h()(at,36194,{bpp:2}),h()(at,32855,{bpp:2}),h()(at,33321,{gl2:!0,bpp:1}),h()(at,33330,{gl2:!0,bpp:1}),h()(at,33329,{gl2:!0,bpp:1}),h()(at,33332,{gl2:!0,bpp:2}),h()(at,33331,{gl2:!0,bpp:2}),h()(at,33334,{gl2:!0,bpp:4}),h()(at,33333,{gl2:!0,bpp:4}),h()(at,33323,{gl2:!0,bpp:2}),h()(at,33336,{gl2:!0,bpp:2}),h()(at,33335,{gl2:!0,bpp:2}),h()(at,33338,{gl2:!0,bpp:4}),h()(at,33337,{gl2:!0,bpp:4}),h()(at,33340,{gl2:!0,bpp:8}),h()(at,33339,{gl2:!0,bpp:8}),h()(at,32849,{gl2:!0,bpp:3}),h()(at,32856,{gl2:!0,bpp:4}),h()(at,32857,{gl2:!0,bpp:4}),h()(at,36220,{gl2:!0,bpp:4}),h()(at,36238,{gl2:!0,bpp:4}),h()(at,36975,{gl2:!0,bpp:4}),h()(at,36214,{gl2:!0,bpp:8}),h()(at,36232,{gl2:!0,bpp:8}),h()(at,36226,{gl2:!0,bpp:16}),h()(at,36208,{gl2:!0,bpp:16}),h()(at,33325,{gl2:ct,bpp:2}),h()(at,33327,{gl2:ct,bpp:4}),h()(at,34842,{gl2:ct,bpp:8}),h()(at,33326,{gl2:ct,bpp:4}),h()(at,33328,{gl2:ct,bpp:8}),h()(at,34836,{gl2:ct,bpp:16}),h()(at,35898,{gl2:ct,bpp:4}),at);function ft(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=te()(e);if(t){var i=te()(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return Z()(this,r)}}function ht(e,t,r){var n=r[t];if(!n)return!1;var i=Object(D.e)(e)&&n.gl2||n.gl1;return"string"==typeof i?e.getExtension(i):i}var dt,vt=function(e){J()(r,e);var t=ft(r);function r(e){var n,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i()(this,r),(n=t.call(this,e,a)).initialize(a),Object.seal(Q()(n)),n}return o()(r,null,[{key:"isSupported",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{format:null},r=t.format;return!r||ht(e,r,lt)}},{key:"getSamplesForFormat",value:function(e,t){var r=t.format;return e.getInternalformatParameter(36161,r,32937)}}]),o()(r,[{key:"initialize",value:function(e){var t=e.format,r=e.width,n=void 0===r?1:r,i=e.height,a=void 0===i?1:i,o=e.samples,u=void 0===o?0:o;return ie(t,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==u&&Object(D.e)(this.gl)?this.gl.renderbufferStorageMultisample(36161,u,t,n,a):this.gl.renderbufferStorage(36161,t,n,a),this.format=t,this.width=n,this.height=a,this.samples=u,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*lt[this.format].bpp),this}},{key:"resize",value:function(e){var t=e.width,r=e.height;return t!==this.width||r!==this.height?this.initialize({width:t,height:r,format:this.format,samples:this.samples}):this}},{key:"_createHandle",value:function(){return this.gl.createRenderbuffer()}},{key:"_deleteHandle",value:function(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}},{key:"_bindHandle",value:function(e){this.gl.bindRenderbuffer(36161,e)}},{key:"_syncHandle",value:function(e){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}},{key:"_getParameter",value:function(e){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,e)}}]),r}(ge);function gt(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.framebuffer,n=void 0===r?null:r,i=t.color,a=void 0===i?null:i,o=t.depth,u=void 0===o?null:o,s=t.stencil,c=void 0===s?null:s,l={};n&&(l.framebuffer=n);var f=0;a&&(f|=16384,!0!==a&&(l.clearColor=a)),u&&(f|=256,!0!==u&&(l.clearDepth=u)),c&&(f|=1024,!0!==u&&(l.clearStencil=u)),ie(0!==f,"clear: bad arguments"),Object(N.c)(e,l,(function(){e.clear(f)}))}function yt(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.framebuffer,n=void 0===r?null:r,i=t.buffer,a=void 0===i?6144:i,o=t.drawBuffer,u=void 0===o?0:o,s=t.value,c=void 0===s?[0,0,0,0]:s;Object(D.a)(e),Object(N.c)(e,{framebuffer:n},(function(){switch(a){case 6144:switch(c.constructor){case Int32Array:e.clearBufferiv(a,u,c);break;case Uint32Array:e.clearBufferuiv(a,u,c);break;case Float32Array:default:e.clearBufferfv(a,u,c)}break;case 6145:e.clearBufferfv(6145,0,[c]);break;case 6146:e.clearBufferiv(6146,0,[c]);break;case 34041:var t=ne()(c,2),r=t[0],n=t[1];e.clearBufferfi(34041,0,r,n);break;default:ie(!1,"clear: bad arguments")}}))}function mt(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 ie(!1),0}}function bt(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.sourceX,n=void 0===r?0:r,i=t.sourceY,a=void 0===i?0:i,o=t.sourceFormat,u=void 0===o?6408:o,s=t.sourceAttachment,c=void 0===s?36064:s,l=t.target,f=void 0===l?null:l,h=t.sourceWidth,d=t.sourceHeight,v=t.sourceType,g=Et(e),y=g.framebuffer,m=g.deleteFramebuffer;ie(y);var b=y.gl,p=y.handle,_=y.attachments;h=h||y.width,d=d||y.height,36064===c&&null===p&&(c=1028),ie(_[c]),f=Tt(f,v=v||_[c].type,u,h,d),v=v||be(f);var A=b.bindFramebuffer(36160,p);return b.readPixels(n,a,h,d,u,v,f),b.bindFramebuffer(36160,A||null),m&&y.delete(),f}function pt(e,t){var r=t.sourceX,n=void 0===r?0:r,i=t.sourceY,a=void 0===i?0:i,o=t.sourceFormat,u=void 0===o?6408:o,s=t.target,c=void 0===s?null:s,l=t.targetByteOffset,f=void 0===l?0:l,h=t.sourceWidth,d=t.sourceHeight,v=t.sourceType,g=Et(e),y=g.framebuffer,m=g.deleteFramebuffer;ie(y),h=h||y.width,d=d||y.height;var b=Object(D.a)(y.gl);if(v=v||(c?c.type:5121),!c){var p=mt(u),_=function(e){switch(e){case 5121:return 1;case 33635:case 32819:case 32820:return 2;case 5126:return 4;default:return ie(!1),0}}(v);c=new Re(b,{byteLength:f+h*d*p*_,accessor:{type:v,size:p}})}return c.bind({target:35051}),Object(N.c)(b,{framebuffer:y},(function(){b.readPixels(n,a,h,d,u,v,f)})),c.unbind({target:35051}),m&&y.delete(),c}function _t(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.sourceAttachment,n=void 0===r?36064:r,i=t.targetMaxHeight,a=void 0===i?Number.MAX_SAFE_INTEGER:i,o=bt(e,{sourceAttachment:n}),u=e.width,s=e.height;s>a;){var c=Ae({data:o,width:u,height:s});o=c.data,u=c.width,s=c.height}_e({data:o,width:u,height:s});var l=document.createElement("canvas");l.width=u,l.height=s;var f=l.getContext("2d"),h=f.createImageData(u,s);return h.data.set(o),f.putImageData(h,0,0),l.toDataURL()}function At(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.sourceAttachment,n=void 0===r?36064:r,i=t.targetImage,a=void 0===i?null:i,o=_t(e,{sourceAttachment:n});return(a=a||new Image).src=o,a}function wt(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=r.sourceX,i=void 0===n?0:n,a=r.sourceY,o=void 0===a?0:a,u=r.targetMipmaplevel,s=void 0===u?0:u,c=r.targetInternalFormat,l=void 0===c?6408:c,f=r.targetX,h=r.targetY,d=r.targetZ,v=r.width,g=r.height,y=Et(e),m=y.framebuffer,b=y.deleteFramebuffer;ie(m);var p=m.gl,_=m.handle,A=void 0!==f||void 0!==h||void 0!==d;f=f||0,h=h||0,d=d||0;var w=p.bindFramebuffer(36160,_);ie(t);var x=null;if(t instanceof He&&(x=t,v=Number.isFinite(v)?v:x.width,g=Number.isFinite(g)?g:x.height,x.bind(0),t=x.target),A)switch(t){case 3553:case 34067:p.copyTexSubImage2D(t,s,f,h,i,o,v,g);break;case 35866:case 32879:var E=Object(D.a)(p);E.copyTexSubImage3D(t,s,f,h,d,i,o,v,g)}else p.copyTexImage2D(t,s,l,i,o,v,g,0);return x&&x.unbind(),p.bindFramebuffer(36160,w||null),b&&m.delete(),x}function xt(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=r.sourceX0,i=void 0===n?0:n,a=r.sourceY0,o=void 0===a?0:a,u=r.targetX0,s=void 0===u?0:u,c=r.targetY0,l=void 0===c?0:c,f=r.color,h=void 0===f||f,d=r.depth,v=void 0!==d&&d,g=r.stencil,y=void 0!==g&&g,m=r.filter,b=void 0===m?9728:m,p=r.sourceX1,_=r.sourceY1,A=r.targetX1,w=r.targetY1,x=r.sourceAttachment,E=void 0===x?36064:x,T=r.mask,O=void 0===T?0:T,k=Et(e),S=k.framebuffer,L=k.deleteFramebuffer,F=Et(t),j=F.framebuffer,I=F.deleteFramebuffer;ie(S),ie(j);var R=j.gl,P=j.handle,B=j.width,N=j.height,C=j.readBuffer,U=Object(D.a)(R);S.handle||36064!==E||(E=1028),h&&(O|=16384),v&&(O|=256),y&&(O|=1024),(L||I)&&1280&O&&(O=16384,M.warn("Blitting from or into a Texture object, forcing mask to GL.COLOR_BUFFER_BIT")()),ie(O),p=void 0===p?S.width:p,_=void 0===_?S.height:_,A=void 0===A?B:A,w=void 0===w?N:w;var V=R.bindFramebuffer(36009,P),G=R.bindFramebuffer(36008,S.handle);return U.readBuffer(E),U.blitFramebuffer(i,o,p,_,s,l,A,w,O,b),U.readBuffer(C),U.bindFramebuffer(36008,G||null),U.bindFramebuffer(36009,V||null),L&&S.delete(),I&&j.delete(),j}function Et(e){return e instanceof Dt?{framebuffer:e,deleteFramebuffer:!1}:{framebuffer:(t=e,n=t.gl,i=t.width,a=t.height,o=t.id,u=new Dt(n,Object.assign({},r,{id:"framebuffer-for-".concat(o),width:i,height:a,attachments:h()({},36064,t)})),u),deleteFramebuffer:!0};var t,r,n,i,a,o,u}function Tt(e,t,r,n,i){return e||new(pe(t=t||5121,{clamped:!1}))(n*i*mt(r))}var Ot={WEBGL2:"WEBGL2",VERTEX_ARRAY_OBJECT:"VERTEX_ARRAY_OBJECT",TIMER_QUERY:"TIMER_QUERY",INSTANCED_RENDERING:"INSTANCED_RENDERING",MULTIPLE_RENDER_TARGETS:"MULTIPLE_RENDER_TARGETS",ELEMENT_INDEX_UINT32:"ELEMENT_INDEX_UINT32",BLEND_EQUATION_MINMAX:"BLEND_EQUATION_MINMAX",FLOAT_BLEND:"FLOAT_BLEND",COLOR_ENCODING_SRGB:"COLOR_ENCODING_SRGB",TEXTURE_DEPTH:"TEXTURE_DEPTH",TEXTURE_FLOAT:"TEXTURE_FLOAT",TEXTURE_HALF_FLOAT:"TEXTURE_HALF_FLOAT",TEXTURE_FILTER_LINEAR_FLOAT:"TEXTURE_FILTER_LINEAR_FLOAT",TEXTURE_FILTER_LINEAR_HALF_FLOAT:"TEXTURE_FILTER_LINEAR_HALF_FLOAT",TEXTURE_FILTER_ANISOTROPIC:"TEXTURE_FILTER_ANISOTROPIC",COLOR_ATTACHMENT_RGBA32F:"COLOR_ATTACHMENT_RGBA32F",COLOR_ATTACHMENT_FLOAT:"COLOR_ATTACHMENT_FLOAT",COLOR_ATTACHMENT_HALF_FLOAT:"COLOR_ATTACHMENT_HALF_FLOAT",GLSL_FRAG_DATA:"GLSL_FRAG_DATA",GLSL_FRAG_DEPTH:"GLSL_FRAG_DEPTH",GLSL_DERIVATIVES:"GLSL_DERIVATIVES",GLSL_TEXTURE_LOD:"GLSL_TEXTURE_LOD"};var kt=(dt={},h()(dt,Ot.WEBGL2,[!1,!0]),h()(dt,Ot.VERTEX_ARRAY_OBJECT,["OES_vertex_array_object",!0]),h()(dt,Ot.TIMER_QUERY,["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"]),h()(dt,Ot.INSTANCED_RENDERING,["ANGLE_instanced_arrays",!0]),h()(dt,Ot.MULTIPLE_RENDER_TARGETS,["WEBGL_draw_buffers",!0]),h()(dt,Ot.ELEMENT_INDEX_UINT32,["OES_element_index_uint",!0]),h()(dt,Ot.BLEND_EQUATION_MINMAX,["EXT_blend_minmax",!0]),h()(dt,Ot.FLOAT_BLEND,["EXT_float_blend"]),h()(dt,Ot.COLOR_ENCODING_SRGB,["EXT_sRGB",!0]),h()(dt,Ot.TEXTURE_DEPTH,["WEBGL_depth_texture",!0]),h()(dt,Ot.TEXTURE_FLOAT,["OES_texture_float",!0]),h()(dt,Ot.TEXTURE_HALF_FLOAT,["OES_texture_half_float",!0]),h()(dt,Ot.TEXTURE_FILTER_LINEAR_FLOAT,["OES_texture_float_linear"]),h()(dt,Ot.TEXTURE_FILTER_LINEAR_HALF_FLOAT,["OES_texture_half_float_linear"]),h()(dt,Ot.TEXTURE_FILTER_ANISOTROPIC,["EXT_texture_filter_anisotropic"]),h()(dt,Ot.COLOR_ATTACHMENT_RGBA32F,[function(e){var t=new $e(e,{format:6408,type:5126,dataFormat:6408}),r=new Dt(e,{id:"test-framebuffer",check:!1,attachments:h()({},36064,t)}),n=r.getStatus();return t.delete(),r.delete(),36053===n},"EXT_color_buffer_float"]),h()(dt,Ot.COLOR_ATTACHMENT_FLOAT,[!1,"EXT_color_buffer_float"]),h()(dt,Ot.COLOR_ATTACHMENT_HALF_FLOAT,["EXT_color_buffer_half_float"]),h()(dt,Ot.GLSL_FRAG_DATA,["WEBGL_draw_buffers",!0]),h()(dt,Ot.GLSL_FRAG_DEPTH,["EXT_frag_depth",!0]),h()(dt,Ot.GLSL_DERIVATIVES,["OES_standard_derivatives",!0]),h()(dt,Ot.GLSL_TEXTURE_LOD,["EXT_shader_texture_lod",!0]),dt);function St(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return Lt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Lt(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,u=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){u=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(u)throw a}}}}function Lt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Ft(e,t){return jt(e,t)}function jt(e,t){return(t=Array.isArray(t)?t:[t]).every((function(t){return Rt(e,t)}))}function It(e){for(var t in e.luma=e.luma||{},e.luma.caps=e.luma.caps||{},kt)void 0===e.luma.caps[t]&&(e.luma.caps[t]=Rt(e,t));return e.luma.caps}function Rt(e,t){return e.luma=e.luma||{},e.luma.caps=e.luma.caps||{},void 0===e.luma.caps[t]&&(e.luma.caps[t]=function(e,t){var r,n=kt[t];ie(n,t);var i=Object(D.e)(e)&&n[1]||n[0];if("function"==typeof i)r=i(e);else if(Array.isArray(i)){r=!0;var a,o=St(i);try{for(o.s();!(a=o.n()).done;){var u=a.value;r=r&&Boolean(e.getExtension(u))}}catch(e){o.e(e)}finally{o.f()}}else"string"==typeof i?r=Boolean(e.getExtension(i)):"boolean"==typeof i?r=i:ie(!1);return r}(e,t)),e.luma.caps[t]||M.log(2,"Feature: ".concat(t," not supported"))(),e.luma.caps[t]}function Pt(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return Bt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Bt(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,u=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){u=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(u)throw a}}}}function Bt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Mt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=te()(e);if(t){var i=te()(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return Z()(this,r)}}var Dt=function(e){J()(r,e);var t=Mt(r);function r(e){var n,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i()(this,r),(n=t.call(this,e,a)).width=null,n.height=null,n.attachments={},n.readBuffer=36064,n.drawBuffers=[36064],n.ownResources=[],n.initialize(a),Object.seal(Q()(n)),n}return o()(r,[{key:"MAX_COLOR_ATTACHMENTS",get:function(){var e=Object(D.a)(this.gl);return e.getParameter(e.MAX_COLOR_ATTACHMENTS)}},{key:"MAX_DRAW_BUFFERS",get:function(){var e=Object(D.a)(this.gl);return e.getParameter(e.MAX_DRAW_BUFFERS)}}],[{key:"isSupported",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.colorBufferFloat,n=t.colorBufferHalfFloat,i=!0;return r&&(i=Boolean(e.getExtension("EXT_color_buffer_float")||e.getExtension("WEBGL_color_buffer_float")||e.getExtension("OES_texture_float"))),n&&(i=i&&Boolean(e.getExtension("EXT_color_buffer_float")||e.getExtension("EXT_color_buffer_half_float"))),i}},{key:"getDefaultFramebuffer",value:function(e){return e.luma=e.luma||{},e.luma.defaultFramebuffer=e.luma.defaultFramebuffer||new r(e,{id:"default-framebuffer",handle:null,attachments:{}}),e.luma.defaultFramebuffer}}]),o()(r,[{key:"initialize",value:function(e){var t=e.width,r=void 0===t?1:t,n=e.height,i=void 0===n?1:n,a=e.attachments,o=void 0===a?null:a,u=e.color,s=void 0===u||u,c=e.depth,l=void 0===c||c,f=e.stencil,h=void 0!==f&&f,d=e.check,v=void 0===d||d,g=e.readBuffer,y=void 0===g?void 0:g,m=e.drawBuffers,b=void 0===m?void 0:m;if(ie(r>=0&&i>=0,"Width and height need to be integers"),this.width=r,this.height=i,o)for(var p in o){var _=o[p];(Array.isArray(_)?_[0]:_).resize({width:r,height:i})}else o=this._createDefaultAttachments(s,l,h,r,i);this.update({clearAttachments:!0,attachments:o,readBuffer:y,drawBuffers:b}),o&&v&&this.checkStatus()}},{key:"delete",value:function(){var e,t=Pt(this.ownResources);try{for(t.s();!(e=t.n()).done;){e.value.delete()}}catch(e){t.e(e)}finally{t.f()}return st()(te()(r.prototype),"delete",this).call(this),this}},{key:"update",value:function(e){var t=e.attachments,r=void 0===t?{}:t,n=e.readBuffer,i=e.drawBuffers,a=e.clearAttachments,o=void 0!==a&&a,u=e.resizeAttachments,s=void 0===u||u;this.attach(r,{clearAttachments:o,resizeAttachments:s});var c=this.gl,l=c.bindFramebuffer(36160,this.handle);return n&&this._setReadBuffer(n),i&&this._setDrawBuffers(i),c.bindFramebuffer(36160,l||null),this}},{key:"resize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.width,r=e.height;if(null===this.handle)return ie(void 0===t&&void 0===r),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;for(var n in void 0===t&&(t=this.gl.drawingBufferWidth),void 0===r&&(r=this.gl.drawingBufferHeight),t!==this.width&&r!==this.height&&M.log(2,"Resizing framebuffer ".concat(this.id," to ").concat(t,"x").concat(r))(),this.attachments)this.attachments[n].resize({width:t,height:r});return this.width=t,this.height=r,this}},{key:"attach",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=r.clearAttachments,i=void 0!==n&&n,a=r.resizeAttachments,o=void 0===a||a,u={};i&&Object.keys(this.attachments).forEach((function(e){u[e]=null})),Object.assign(u,e);var s=this.gl.bindFramebuffer(36160,this.handle);for(var c in u){ie(void 0!==c,"Misspelled framebuffer binding point?");var l=Number(c),f=u[l],h=f;if(h)if(h instanceof vt)this._attachRenderbuffer({attachment:l,renderbuffer:h});else if(Array.isArray(f)){var d=ne()(f,3),v=d[0],g=d[1],y=void 0===g?0:g,m=d[2],b=void 0===m?0:m;h=v,this._attachTexture({attachment:l,texture:v,layer:y,level:b})}else this._attachTexture({attachment:l,texture:h,layer:0,level:0});else this._unattach(l);o&&h&&h.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,s||null),Object.assign(this.attachments,e),Object.keys(this.attachments).filter((function(e){return!t.attachments[e]})).forEach((function(e){delete t.attachments[e]}))}},{key:"checkStatus",value:function(){this.gl;var e=this.getStatus();if(36053!==e)throw new Error(function(e){return(Dt.STATUS||{})[e]||"Framebuffer error ".concat(e)}(e));return this}},{key:"getStatus",value:function(){var e=this.gl,t=e.bindFramebuffer(36160,this.handle),r=e.checkFramebufferStatus(36160);return e.bindFramebuffer(36160,t||null),r}},{key:"clear",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.color,n=t.depth,i=t.stencil,a=t.drawBuffers,o=void 0===a?[]:a,u=this.gl.bindFramebuffer(36160,this.handle);return(r||n||i)&>(this.gl,{color:r,depth:n,stencil:i}),o.forEach((function(t,r){yt(e.gl,{drawBuffer:r,value:t})})),this.gl.bindFramebuffer(36160,u||null),this}},{key:"readPixels",value:function(){return M.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}},{key:"readPixelsToBuffer",value:function(){return M.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}},{key:"copyToDataUrl",value:function(){return M.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}},{key:"copyToImage",value:function(){return M.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}},{key:"copyToTexture",value:function(){return M.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}},{key:"blit",value:function(){return M.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}},{key:"invalidate",value:function(e){var t=e.attachments,r=void 0===t?[]:t,n=e.x,i=void 0===n?0:n,a=e.y,o=void 0===a?0:a,u=e.width,s=e.height,c=Object(D.a)(this.gl),l=c.bindFramebuffer(36008,this.handle);return 0===i&&0===o&&void 0===u&&void 0===s?c.invalidateFramebuffer(36008,r):c.invalidateFramebuffer(36008,r,i,o,u,s),c.bindFramebuffer(36008,l),this}},{key:"getAttachmentParameter",value:function(e,t,r){var n=this._getAttachmentParameterFallback(t);return null===n&&(this.gl.bindFramebuffer(36160,this.handle),n=this.gl.getFramebufferAttachmentParameter(36160,e,t),this.gl.bindFramebuffer(36160,null)),r&&n>1e3&&(n=oe(this.gl,n)),n}},{key:"getAttachmentParameters",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:36064,r=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.constructor.ATTACHMENT_PARAMETERS||[],i={},a=Pt(n);try{for(a.s();!(e=a.n()).done;){var o=e.value,u=r?oe(this.gl,o):o;i[u]=this.getAttachmentParameter(t,o,r)}}catch(e){a.e(e)}finally{a.f()}return i}},{key:"getParameters",value:function(){for(var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=Object.keys(this.attachments),r={},n=0,i=t;n<i.length;n++){var a=i[n],o=Number(a),u=e?oe(this.gl,o):o;r[u]=this.getAttachmentParameters(o,e)}return r}},{key:"show",value:function(){return"undefined"!=typeof window&&window.open(_t(this),"luma-debug-texture"),this}},{key:"log",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(e>M.level||"undefined"==typeof window)return this;t=t||"Framebuffer ".concat(this.id);var r=_t(this,{targetMaxHeight:100});return M.image({logLevel:e,message:t,image:r},t)(),this}},{key:"bind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,r=void 0===t?36160:t;return this.gl.bindFramebuffer(r,this.handle),this}},{key:"unbind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,r=void 0===t?36160:t;return this.gl.bindFramebuffer(r,null),this}},{key:"_createDefaultAttachments",value:function(e,t,r,n,i){var a,o=null;e&&((o=o||{})[36064]=new $e(this.gl,{id:"".concat(this.id,"-color0"),pixels:null,format:6408,type:5121,width:n,height:i,mipmaps:!1,parameters:(a={},h()(a,10241,9729),h()(a,10240,9729),h()(a,10242,33071),h()(a,10243,33071),a)}),this.ownResources.push(o[36064]));return t&&r?((o=o||{})[33306]=new vt(this.gl,{id:"".concat(this.id,"-depth-stencil"),format:35056,width:n,height:111}),this.ownResources.push(o[33306])):t?((o=o||{})[36096]=new vt(this.gl,{id:"".concat(this.id,"-depth"),format:33189,width:n,height:i}),this.ownResources.push(o[36096])):r&&ie(!1),o}},{key:"_unattach",value:function(e){var t=this.attachments[e];t&&(t instanceof vt?this.gl.framebufferRenderbuffer(36160,e,36161,null):this.gl.framebufferTexture2D(36160,e,3553,null,0),delete this.attachments[e])}},{key:"_attachRenderbuffer",value:function(e){var t=e.attachment,r=void 0===t?36064:t,n=e.renderbuffer;this.gl.framebufferRenderbuffer(36160,r,36161,n.handle),this.attachments[r]=n}},{key:"_attachTexture",value:function(e){var t=e.attachment,r=void 0===t?36064:t,n=e.texture,i=e.layer,a=e.level,o=this.gl;switch(o.bindTexture(n.target,n.handle),n.target){case 35866:case 32879:Object(D.a)(o).framebufferTextureLayer(36160,r,n.target,a,i);break;case 34067:var u=function(e){return e<34069?e+34069:e}(i);o.framebufferTexture2D(36160,r,u,n.handle,a);break;case 3553:o.framebufferTexture2D(36160,r,3553,n.handle,a);break;default:ie(!1,"Illegal texture type")}o.bindTexture(n.target,null),this.attachments[r]=n}},{key:"_setReadBuffer",value:function(e){var t=Object(D.c)(this.gl);t?t.readBuffer(e):ie(36064===e||1029===e,"Multiple render targets not supported"),this.readBuffer=e}},{key:"_setDrawBuffers",value:function(e){var t=this.gl,r=Object(D.a)(t);if(r)r.drawBuffers(e);else{var n=t.getExtension("WEBGL_draw_buffers");n?n.drawBuffersWEBGL(e):ie(1===e.length&&(36064===e[0]||1029===e[0]),"Multiple render targets not supported")}this.drawBuffers=e}},{key:"_getAttachmentParameterFallback",value:function(e){var t=It(this.gl);switch(e){case 36052:return t.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return t.WEBGL2?null:8;case 33297:return t.WEBGL2?null:5125;case 33296:return t.WEBGL2||t.EXT_sRGB?null:9729;default:return null}}},{key:"_createHandle",value:function(){return this.gl.createFramebuffer()}},{key:"_deleteHandle",value:function(){this.gl.deleteFramebuffer(this.handle)}},{key:"_bindHandle",value:function(e){return this.gl.bindFramebuffer(36160,e)}},{key:"color",get:function(){return this.attachments[36064]||null}},{key:"texture",get:function(){return this.attachments[36064]||null}},{key:"depth",get:function(){return this.attachments[36096]||this.attachments[33306]||null}},{key:"stencil",get:function(){return this.attachments[36128]||this.attachments[33306]||null}}]),r}(ge);var Nt;function Ct(e,t){ie(e instanceof $e||e instanceof nt||e instanceof ot);var r=e.constructor,n=e.gl,i=e.width,a=e.height,o=e.format,u=e.type,s=e.dataFormat,c=e.border,l=e.mipmaps;return new r(n,Object.assign({width:i,height:a,format:o,type:u,dataFormat:s,border:c,mipmaps:l},t))}Dt.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];var Ut=(Nt={},h()(Nt,33902,{gl1:new Float32Array([1,1])}),h()(Nt,33901,{gl1:new Float32Array([1,1])}),h()(Nt,3379,{gl1:64,gl2:2048}),h()(Nt,34076,{gl1:16}),h()(Nt,34930,{gl1:8}),h()(Nt,35661,{gl1:8}),h()(Nt,35660,{gl1:0}),h()(Nt,34024,{gl1:1}),h()(Nt,36348,{gl1:8}),h()(Nt,34921,{gl1:8}),h()(Nt,36347,{gl1:128}),h()(Nt,36349,{gl1:16}),h()(Nt,3386,{gl1:new Int32Array([0,0])}),h()(Nt,32883,{gl1:0,gl2:256}),h()(Nt,35071,{gl1:0,gl2:256}),h()(Nt,37447,{gl1:0,gl2:0}),h()(Nt,36063,{gl1:0,gl2:4}),h()(Nt,35379,{gl1:0,gl2:0}),h()(Nt,35374,{gl1:0,gl2:0}),h()(Nt,35377,{gl1:0,gl2:0}),h()(Nt,34852,{gl1:0,gl2:4}),h()(Nt,36203,{gl1:0,gl2:0}),h()(Nt,33001,{gl1:0,gl2:0}),h()(Nt,33e3,{gl1:0,gl2:0}),h()(Nt,37157,{gl1:0,gl2:0}),h()(Nt,35373,{gl1:0,gl2:0}),h()(Nt,35657,{gl1:0,gl2:0}),h()(Nt,36183,{gl1:0,gl2:0}),h()(Nt,37137,{gl1:0,gl2:0}),h()(Nt,34045,{gl1:0,gl2:0}),h()(Nt,35978,{gl1:0,gl2:0}),h()(Nt,35979,{gl1:0,gl2:0}),h()(Nt,35968,{gl1:0,gl2:0}),h()(Nt,35376,{gl1:0,gl2:0}),h()(Nt,35375,{gl1:0,gl2:0}),h()(Nt,35659,{gl1:0,gl2:0}),h()(Nt,37154,{gl1:0,gl2:0}),h()(Nt,35371,{gl1:0,gl2:0}),h()(Nt,35658,{gl1:0,gl2:0}),h()(Nt,35076,{gl1:0,gl2:-8,negative:!0}),h()(Nt,35077,{gl1:0,gl2:7}),h()(Nt,35380,{gl1:0,gl2:0}),Nt);function Vt(e){if(e.luma=e.luma||{},!e.luma.limits){e.luma.limits={},e.luma.webgl1MinLimits={},e.luma.webgl2MinLimits={};var t=Object(D.e)(e);for(var r in Ut){var n=Ut[r],i=n.gl1,a="gl2"in n?n.gl2:n.gl1,o=t?a:i,u="gl2"in n&&!t||"extension"in n&&!e.getExtension(n.extension)?o:e.getParameter(r);e.luma.limits[r]=u,e.luma.webgl1MinLimits[r]=i,e.luma.webgl2MinLimits[r]=a}}return e.luma.limits}function Gt(e){e.luma=e.luma||{};var t,r=V(e);e.luma.info||(e.luma.info=(t={},h()(t,37445,r.vendor),h()(t,37446,r.renderer),h()(t,7936,r.vendorMasked),h()(t,7937,r.rendererMasked),h()(t,7938,r.version),h()(t,35724,r.shadingLanguageVersion),t));return e.luma.info}function zt(e){return Object.assign(V(e),{limits:Vt(e),info:Gt(e),webgl1MinLimits:e.luma.webgl1MinLimits,webgl2MinLimits:e.luma.webgl2MinLimits})}function Ht(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t="undefined"!=typeof window&&window.navigator||{},r=e.userAgent||t.userAgent||"",n=-1!==r.indexOf("MSIE "),i=-1!==r.indexOf("Trident/");return n||i}var Xt={};function Wt(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=kt[t];if(ie(n,t),!Ht(r))return!0;if(t in Xt)return Xt[t];var i=n[0],a="#extension GL_".concat(i," : enable\nvoid main(void) {}"),o=e.createShader(35633);e.shaderSource(o,a),e.compileShader(o);var u=e.getShaderParameter(o,35713);return e.deleteShader(o),Xt[t]=u,u}function Yt(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"unnamed",r=/#define[\s*]SHADER_NAME[\s*]([A-Za-z0-9_-]+)[\s*]/,n=e.match(r);return n?n[1]:t}function qt(e,t,r,n){for(var i=e.split(/\r?\n/),a={},o={},u=n||Yt(t)||"(unnamed)",s="".concat(function(e){switch(e){case 35632:return"fragment";case 35633:return"vertex";default:return"unknown type"}}(r)," shader ").concat(u),c=0;c<i.length;c++){var l=i[c];if(!(l.length<=1)){var f=l.split(":"),h=f[0],d=parseInt(f[2],10);if(isNaN(d))throw new Error("GLSL compilation error in ".concat(s,": ").concat(e));"WARNING"!==h?a[d]=l:o[d]=l}}var v=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:": ",n=e.split(/\r?\n/),i=String(n.length+t-1).length;return n.map((function(e,n){var a=String(n+t),o=a.length;return $t(a,i-o)+r+e}))}(t);return{shaderName:s,errors:Qt(a,v),warnings:Qt(o,v)}}function Qt(e,t){for(var r="",n=0;n<t.length;n++){var i=t[n];if((e[n+3]||e[n+2]||e[n+1])&&(r+="".concat(i,"\n"),e[n+1])){var a=e[n+1],o=a.split(":",3),u=o[0],s=parseInt(o[1],10)||0,c=a.substring(o.join(":").length+1).trim();r+=$t("^^^ ".concat(u,": ").concat(c,"\n\n"),s)}}return r}function $t(e,t){for(var r="",n=0;n<t;++n)r+=" ";return"".concat(r).concat(e)}function Jt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=te()(e);if(t){var i=te()(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return Z()(this,r)}}var Kt,Zt,er=function(e){J()(r,e);var t=Jt(r);function r(e,n){var a;i()(this,r),Object(D.b)(e),ie("string"==typeof n.source,"Shader: GLSL source code must be a JavaScript string");var o=Yt(n.source,null)||n.id||se("unnamed ".concat(r.getTypeName(n.shaderType)));return(a=t.call(this,e,{id:o})).shaderType=n.shaderType,a.source=n.source,a.initialize(n),a}return o()(r,null,[{key:"getTypeName",value:function(e){switch(e){case 35633:return"vertex-shader";case 35632:return"fragment-shader";default:return ie(!1),"unknown"}}}]),o()(r,[{key:"initialize",value:function(e){var t=e.source,r=Yt(t,null);r&&(this.id=se(r)),this._compile(t)}},{key:"getParameter",value:function(e){return this.gl.getShaderParameter(this.handle,e)}},{key:"toString",value:function(){return"".concat(r.getTypeName(this.shaderType),":").concat(this.id)}},{key:"getName",value:function(){return Yt(this.source)||"unnamed-shader"}},{key:"getSource",value:function(){return this.gl.getShaderSource(this.handle)}},{key:"getTranslatedSource",value:function(){var e=this.gl.getExtension("WEBGL_debug_shaders");return e?e.getTranslatedShaderSource(this.handle):"No translated source available. WEBGL_debug_shaders not implemented"}},{key:"_compile",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.source;e.startsWith("#version ")||(e="#version 100\n".concat(e)),this.source=e,this.gl.shaderSource(this.handle,this.source),this.gl.compileShader(this.handle);var t=this.getParameter(35713);if(!t){var r=this.gl.getShaderInfoLog(this.handle),n=qt(r,this.source,this.shaderType,this.id),i=n.shaderName,a=n.errors,o=n.warnings;throw M.error("GLSL compilation errors in ".concat(i,"\n").concat(a))(),M.warn("GLSL compilation warnings in ".concat(i,"\n").concat(o))(),new Error("GLSL compilation errors in ".concat(i))}}},{key:"_deleteHandle",value:function(){this.gl.deleteShader(this.handle)}},{key:"_getOptsFromHandle",value:function(){return{type:this.getParameter(35663),source:this.getSource()}}}]),r}(ge),tr=function(e){J()(r,e);var t=Jt(r);function r(e,n){return i()(this,r),"string"==typeof n&&(n={source:n}),t.call(this,e,Object.assign({},n,{shaderType:35633}))}return o()(r,[{key:"_createHandle",value:function(){return this.gl.createShader(35633)}}]),r}(er),rr=function(e){J()(r,e);var t=Jt(r);function r(e,n){return i()(this,r),"string"==typeof n&&(n={source:n}),t.call(this,e,Object.assign({},n,{shaderType:35632}))}return o()(r,[{key:"_createHandle",value:function(){return this.gl.createShader(35632)}}]),r}(er),nr=(Kt={},h()(Kt,5126,br.bind(null,"uniform1fv",cr,1,pr)),h()(Kt,35664,br.bind(null,"uniform2fv",cr,2,pr)),h()(Kt,35665,br.bind(null,"uniform3fv",cr,3,pr)),h()(Kt,35666,br.bind(null,"uniform4fv",cr,4,pr)),h()(Kt,5124,br.bind(null,"uniform1iv",lr,1,pr)),h()(Kt,35667,br.bind(null,"uniform2iv",lr,2,pr)),h()(Kt,35668,br.bind(null,"uniform3iv",lr,3,pr)),h()(Kt,35669,br.bind(null,"uniform4iv",lr,4,pr)),h()(Kt,35670,br.bind(null,"uniform1iv",lr,1,pr)),h()(Kt,35671,br.bind(null,"uniform2iv",lr,2,pr)),h()(Kt,35672,br.bind(null,"uniform3iv",lr,3,pr)),h()(Kt,35673,br.bind(null,"uniform4iv",lr,4,pr)),h()(Kt,35674,br.bind(null,"uniformMatrix2fv",cr,4,_r)),h()(Kt,35675,br.bind(null,"uniformMatrix3fv",cr,9,_r)),h()(Kt,35676,br.bind(null,"uniformMatrix4fv",cr,16,_r)),h()(Kt,35678,mr),h()(Kt,35680,mr),h()(Kt,5125,br.bind(null,"uniform1uiv",fr,1,pr)),h()(Kt,36294,br.bind(null,"uniform2uiv",fr,2,pr)),h()(Kt,36295,br.bind(null,"uniform3uiv",fr,3,pr)),h()(Kt,36296,br.bind(null,"uniform4uiv",fr,4,pr)),h()(Kt,35685,br.bind(null,"uniformMatrix2x3fv",cr,6,_r)),h()(Kt,35686,br.bind(null,"uniformMatrix2x4fv",cr,8,_r)),h()(Kt,35687,br.bind(null,"uniformMatrix3x2fv",cr,6,_r)),h()(Kt,35688,br.bind(null,"uniformMatrix3x4fv",cr,12,_r)),h()(Kt,35689,br.bind(null,"uniformMatrix4x2fv",cr,8,_r)),h()(Kt,35690,br.bind(null,"uniformMatrix4x3fv",cr,12,_r)),h()(Kt,35678,mr),h()(Kt,35680,mr),h()(Kt,35679,mr),h()(Kt,35682,mr),h()(Kt,36289,mr),h()(Kt,36292,mr),h()(Kt,36293,mr),h()(Kt,36298,mr),h()(Kt,36299,mr),h()(Kt,36300,mr),h()(Kt,36303,mr),h()(Kt,36306,mr),h()(Kt,36307,mr),h()(Kt,36308,mr),h()(Kt,36311,mr),Kt),ir={},ar={},or={},ur=[0];function sr(e,t,r,n){1===t&&"boolean"==typeof e&&(e=e?1:0),Number.isFinite(e)&&(ur[0]=e,e=ur);var i=e.length;if(i%t&&M.warn("Uniform size should be multiples of ".concat(t),e)(),e instanceof r)return e;var a=n[i];a||(a=new r(i),n[i]=a);for(var o=0;o<i;o++)a[o]=e[o];return a}function cr(e,t){return sr(e,t,Float32Array,ir)}function lr(e,t){return sr(e,t,Int32Array,ar)}function fr(e,t){return sr(e,t,Uint32Array,or)}function hr(e,t,r){var n=nr[r.type];if(!n)throw new Error("Unknown GLSL uniform type ".concat(r.type));return n().bind(null,e,t)}function dr(e){if("]"!==e[e.length-1])return{name:e,length:1,isArray:!1};var t=e.match(/([^[]*)(\[[0-9]+\])?/);if(!t||t.length<2)throw new Error("Failed to parse GLSL uniform name ".concat(e));return{name:t[1],length:t[2]||1,isArray:Boolean(t[2])}}function vr(e,t,r){for(var n in e){var i=e[n];if((!r||Boolean(r[n]))&&!gr(i))throw t=t?"".concat(t," "):"",console.error("".concat(t," Bad uniform ").concat(n),i),new Error("".concat(t," Bad uniform ").concat(n))}return!0}function gr(e){return Array.isArray(e)||ArrayBuffer.isView(e)?function(e){if(0===e.length)return!1;for(var t=Math.min(e.length,16),r=0;r<t;++r)if(!Number.isFinite(e[r]))return!1;return!0}(e):!!isFinite(e)||(!0===e||!1===e||(e instanceof He||(e instanceof vt||e instanceof Dt&&Boolean(e.texture))))}function yr(e,t,r){if(Array.isArray(r)||ArrayBuffer.isView(r))if(e[t])for(var n=e[t],i=0,a=r.length;i<a;++i)n[i]=r[i];else e[t]=r.slice();else e[t]=r}function mr(){var e=null;return function(t,r,n){var i=e!==n;return i&&(t.uniform1i(r,n),e=n),i}}function br(e,t,r,n){var i=null,a=null;return function(o,u,s){var c=t(s,r),l=c.length,f=!1;if(null===i)i=new Float32Array(l),a=l,f=!0;else{ie(a===l,"Uniform length cannot change.");for(var h=0;h<l;++h)if(c[h]!==i[h]){f=!0;break}}return f&&(n(o,e,u,c),i.set(c)),f}}function pr(e,t,r,n){e[t](r,n)}function _r(e,t,r,n){e[t](r,!1,n)}var Ar=(Zt={},h()(Zt,5126,[5126,1,"float"]),h()(Zt,35664,[5126,2,"vec2"]),h()(Zt,35665,[5126,3,"vec3"]),h()(Zt,35666,[5126,4,"vec4"]),h()(Zt,5124,[5124,1,"int"]),h()(Zt,35667,[5124,2,"ivec2"]),h()(Zt,35668,[5124,3,"ivec3"]),h()(Zt,35669,[5124,4,"ivec4"]),h()(Zt,5125,[5125,1,"uint"]),h()(Zt,36294,[5125,2,"uvec2"]),h()(Zt,36295,[5125,3,"uvec3"]),h()(Zt,36296,[5125,4,"uvec4"]),h()(Zt,35670,[5126,1,"bool"]),h()(Zt,35671,[5126,2,"bvec2"]),h()(Zt,35672,[5126,3,"bvec3"]),h()(Zt,35673,[5126,4,"bvec4"]),h()(Zt,35674,[5126,8,"mat2"]),h()(Zt,35685,[5126,8,"mat2x3"]),h()(Zt,35686,[5126,8,"mat2x4"]),h()(Zt,35675,[5126,12,"mat3"]),h()(Zt,35687,[5126,12,"mat3x2"]),h()(Zt,35688,[5126,12,"mat3x4"]),h()(Zt,35676,[5126,16,"mat4"]),h()(Zt,35689,[5126,16,"mat4x2"]),h()(Zt,35690,[5126,16,"mat4x3"]),Zt);function wr(e){switch(e){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return ie(!1),0}}function xr(e){var t=Ar[e];if(!t)return null;var r=ne()(t,2);return{type:r[0],components:r[1]}}function Er(e,t){switch(e){case 5120:case 5121:case 5122:case 5123:e=5126}for(var r in Ar){var n=ne()(Ar[r],3),i=n[0],a=n[1],o=n[2];if(i===e&&a===t)return{glType:r,name:o}}return null}var Tr=function(){function e(t){i()(this,e),this.id=t.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(t),this._readVaryingsFromProgram(t)}return o()(e,[{key:"getAttributeInfo",value:function(e){var t=Number(e);return Number.isFinite(t)?this.attributeInfosByLocation[t]:this.attributeInfosByName[e]||null}},{key:"getAttributeLocation",value:function(e){var t=this.getAttributeInfo(e);return t?t.location:-1}},{key:"getAttributeAccessor",value:function(e){var t=this.getAttributeInfo(e);return t?t.accessor:null}},{key:"getVaryingInfo",value:function(e){var t=Number(e);return Number.isFinite(t)?this.varyingInfos[t]:this.varyingInfosByName[e]||null}},{key:"getVaryingIndex",value:function(e){var t=this.getVaryingInfo();return t?t.location:-1}},{key:"getVaryingAccessor",value:function(e){var t=this.getVaryingInfo();return t?t.accessor:null}},{key:"_readAttributesFromProgram",value:function(e){for(var t=e.gl,r=t.getProgramParameter(e.handle,35721),n=0;n<r;n++){var i=t.getActiveAttrib(e.handle,n),a=i.name,o=i.type,u=i.size,s=t.getAttribLocation(e.handle,a);s>=0&&this._addAttribute(s,a,o,u)}this.attributeInfos.sort((function(e,t){return e.location-t.location}))}},{key:"_readVaryingsFromProgram",value:function(e){var t=e.gl;if(Object(D.e)(t)){for(var r=t.getProgramParameter(e.handle,35971),n=0;n<r;n++){var i=t.getTransformFeedbackVarying(e.handle,n),a=i.name,o=i.type,u=i.size;this._addVarying(n,a,o,u)}this.varyingInfos.sort((function(e,t){return e.location-t.location}))}}},{key:"_addAttribute",value:function(e,t,r,n){var i=xr(r),a={type:i.type,size:n*i.components};this._inferProperties(e,t,a);var o={location:e,name:t,accessor:new Te(a)};this.attributeInfos.push(o),this.attributeInfosByLocation[e]=o,this.attributeInfosByName[o.name]=o}},{key:"_inferProperties",value:function(e,t,r){/instance/i.test(t)&&(r.divisor=1)}},{key:"_addVarying",value:function(e,t,r,n){var i=xr(r),a=i.type,o=i.components,u={location:e,name:t,accessor:new Te({type:a,size:n*o})};this.varyingInfos.push(u),this.varyingInfosByName[u.name]=u}}]),e}();function Or(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return kr(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return kr(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,u=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){u=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(u)throw a}}}}function kr(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Sr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=te()(e);if(t){var i=te()(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return Z()(this,r)}}var Lr=["setVertexArray","setAttributes","setBuffers","unsetBuffers","use","getUniformCount","getUniformInfo","getUniformLocation","getUniformValue","getVarying","getFragDataLocation","getAttachedShaders","getAttributeCount","getAttributeLocation","getAttributeInfo"],Fr=function(e){J()(r,e);var t=Sr(r);function r(e){var n,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i()(this,r),(n=t.call(this,e,a)).stubRemovedMethods("Program","v6.0",Lr),n._isCached=!1,n.initialize(a),Object.seal(Q()(n)),n._setId(a.id),n}return o()(r,[{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.hash,r=e.vs,n=e.fs,i=e.varyings,a=e.bufferMode,o=void 0===a?35981:a;return this.hash=t||"",this.vs="string"==typeof r?new tr(this.gl,{id:"".concat(e.id,"-vs"),source:r}):r,this.fs="string"==typeof n?new rr(this.gl,{id:"".concat(e.id,"-fs"),source:n}):n,ie(this.vs instanceof tr),ie(this.fs instanceof rr),this.uniforms={},this._textureUniforms={},i&&i.length>0&&(Object(D.a)(this.gl),this.varyings=i,this.gl2.transformFeedbackVaryings(this.handle,i,o)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new Tr(this),this.setProps(e)}},{key:"delete",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._isCached?this:st()(te()(r.prototype),"delete",this).call(this,e)}},{key:"setProps",value:function(e){return"uniforms"in e&&this.setUniforms(e.uniforms),this}},{key:"draw",value:function(e){var t=this,r=e.logPriority,n=e.drawMode,i=void 0===n?4:n,a=e.vertexCount,o=e.offset,u=void 0===o?0:o,s=e.start,c=e.end,l=e.isIndexed,f=void 0!==l&&l,h=e.indexType,d=void 0===h?5123:h,v=e.instanceCount,g=void 0===v?0:v,y=e.isInstanced,m=void 0===y?g>0:y,b=e.vertexArray,p=void 0===b?null:b,_=e.transformFeedback,A=e.framebuffer,w=e.parameters,x=void 0===w?{}:w,E=e.uniforms,T=e.samplers;if((E||T)&&(M.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(E||{})),M.priority>=r){var O=A?A.id:"default",k="mode=".concat(oe(this.gl,i)," verts=").concat(a," ")+"instances=".concat(g," indexType=").concat(oe(this.gl,d)," ")+"isInstanced=".concat(m," isIndexed=").concat(f," ")+"Framebuffer=".concat(O);M.log(r,k)()}return ie(p),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===a||m&&0===g)&&(p.bindForDraw(a,g,(function(){if(void 0!==A&&(x=Object.assign({},x,{framebuffer:A})),_){var e=wr(i);_.begin(e)}t._bindTextures(),Object(N.c)(t.gl,x,(function(){f&&m?t.gl2.drawElementsInstanced(i,a,d,u,g):f&&Object(D.e)(t.gl)&&!isNaN(s)&&!isNaN(c)?t.gl2.drawRangeElements(i,s,c,a,d,u):f?t.gl.drawElements(i,a,d,u):m?t.gl2.drawArraysInstanced(i,u,a,g):t.gl.drawArrays(i,u,a)})),_&&_.end()})),!0)}},{key:"setUniforms",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var t in M.priority>=2&&vr(e,this.id,this._uniformSetters),this.gl.useProgram(this.handle),e){var r=e[t],n=this._uniformSetters[t];if(n){var i=r,a=!1;if(i instanceof Dt&&(i=i.texture),i instanceof He)if(a=this.uniforms[t]!==r){void 0===n.textureIndex&&(n.textureIndex=this._textureIndexCounter++);var o=i,u=n.textureIndex;o.bind(u),i=u,this._textureUniforms[t]=o}else i=n.textureIndex;else this._textureUniforms[t]&&delete this._textureUniforms[t];(n(i)||a)&&yr(this.uniforms,t,r)}}return this}},{key:"_areTexturesRenderable",value:function(){var e=!0;for(var t in this._textureUniforms){var r=this._textureUniforms[t];r.update(),e=e&&r.loaded}return e}},{key:"_bindTextures",value:function(){for(var e in this._textureUniforms){var t=this._uniformSetters[e].textureIndex;this._textureUniforms[e].bind(t)}}},{key:"_createHandle",value:function(){return this.gl.createProgram()}},{key:"_deleteHandle",value:function(){this.gl.deleteProgram(this.handle)}},{key:"_getOptionsFromHandle",value:function(e){var t,r={},n=Or(this.gl.getAttachedShaders(e));try{for(n.s();!(t=n.n()).done;){var i=t.value;switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:r.vs=new tr({handle:i});break;case 35632:r.fs=new rr({handle:i})}}}catch(e){n.e(e)}finally{n.f()}return r}},{key:"_getParameter",value:function(e){return this.gl.getProgramParameter(this.handle,e)}},{key:"_setId",value:function(e){if(!e){var t=this._getName();this.id=se(t)}}},{key:"_getName",value:function(){var e=this.vs.getName()||this.fs.getName();return e=(e=e.replace(/shader/i,""))?"".concat(e,"-program"):"program"}},{key:"_compileAndLink",value:function(){var e=this.gl;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),M.time(4,"linkProgram for ".concat(this._getName()))(),e.linkProgram(this.handle),M.timeEnd(4,"linkProgram for ".concat(this._getName()))(),e.debug||M.level>0){if(!e.getProgramParameter(this.handle,35714))throw new Error("Error linking: ".concat(e.getProgramInfoLog(this.handle)));if(e.validateProgram(this.handle),!e.getProgramParameter(this.handle,35715))throw new Error("Error validating: ".concat(e.getProgramInfoLog(this.handle)))}}},{key:"_readUniformLocationsFromLinkedProgram",value:function(){var e=this.gl;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(var t=0;t<this._uniformCount;t++){var r=this.gl.getActiveUniform(this.handle,t),n=dr(r.name).name,i=e.getUniformLocation(this.handle,n);if(this._uniformSetters[n]=hr(e,i,r),r.size>1)for(var a=0;a<r.size;a++)i=e.getUniformLocation(this.handle,"".concat(n,"[").concat(a,"]")),this._uniformSetters["".concat(n,"[").concat(a,"]")]=hr(e,i,r)}this._textureIndexCounter=0}},{key:"getActiveUniforms",value:function(e,t){return this.gl2.getActiveUniforms(this.handle,e,t)}},{key:"getUniformBlockIndex",value:function(e){return this.gl2.getUniformBlockIndex(this.handle,e)}},{key:"getActiveUniformBlockParameter",value:function(e,t){return this.gl2.getActiveUniformBlockParameter(this.handle,e,t)}},{key:"uniformBlockBinding",value:function(e,t){this.gl2.uniformBlockBinding(this.handle,e,t)}}]),r}(ge);function jr(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return Ir(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ir(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,u=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){u=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(u)throw a}}}}function Ir(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Rr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=te()(e);if(t){var i=te()(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return Z()(this,r)}}var Pr=function(e){J()(r,e);var t=Rr(r);function r(e){var n,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i()(this,r),(n=t.call(this,e,a)).target=null,n._queryPending=!1,n._pollingPromise=null,Object.seal(Q()(n)),n}return o()(r,null,[{key:"isSupported",value:function(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=Object(D.e)(e),i=jt(e,Ot.TIMER_QUERY),a=n||i,o=jr(r);try{for(o.s();!(t=o.n()).done;){var u=t.value;switch(u){case"queries":a=a&&n;break;case"timers":a=a&&i;break;default:ie(!1)}}}catch(e){o.e(e)}finally{o.f()}return a}}]),o()(r,[{key:"beginTimeElapsedQuery",value:function(){return this.begin(35007)}},{key:"beginOcclusionQuery",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.conservative,r=void 0!==t&&t;return this.begin(r?36202:35887)}},{key:"beginTransformFeedbackQuery",value:function(){return this.begin(35976)}},{key:"begin",value:function(e){return this._queryPending||(this.target=e,this.gl2.beginQuery(this.target,this.handle)),this}},{key:"end",value:function(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}},{key:"isResultAvailable",value:function(){if(!this._queryPending)return!1;var e=this.gl2.getQueryParameter(this.handle,34919);return e&&(this._queryPending=!1),e}},{key:"isTimerDisjoint",value:function(){return this.gl2.getParameter(36795)}},{key:"getResult",value:function(){return this.gl2.getQueryParameter(this.handle,34918)}},{key:"getTimerMilliseconds",value:function(){return this.getResult()/1e6}},{key:"createPoll",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Number.POSITIVE_INFINITY;if(this._pollingPromise)return this._pollingPromise;var r=0;return this._pollingPromise=new Promise((function(n,i){requestAnimationFrame((function a(){e.isResultAvailable()?(n(e.getResult()),e._pollingPromise=null):r++>t?(i("Timed out"),e._pollingPromise=null):requestAnimationFrame(a)}))})),this._pollingPromise}},{key:"_createHandle",value:function(){return r.isSupported(this.gl)?this.gl2.createQuery():null}},{key:"_deleteHandle",value:function(){this.gl2.deleteQuery(this.handle)}}]),r}(ge);function Br(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=te()(e);if(t){var i=te()(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return Z()(this,r)}}var Mr=function(e){J()(r,e);var t=Br(r);function r(e){var n,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i()(this,r),Object(D.a)(e),(n=t.call(this,e,a)).initialize(a),n.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(Q()(n)),n}return o()(r,null,[{key:"isSupported",value:function(e){return Object(D.e)(e)}}]),o()(r,[{key:"initialize",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,le(this.buffers)||this.bind((function(){return e._unbindBuffers()})),this.setProps(t),this}},{key:"setProps",value:function(e){"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"bindOnUse"in e&&(e=e.bindOnUse),"buffers"in e&&this.setBuffers(e.buffers)}},{key:"setBuffers",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.bind((function(){for(var r in t)e.setBuffer(r,t[r])})),this}},{key:"setBuffer",value:function(e,t){var r=this,n=this._getVaryingIndex(e),i=this._getBufferParams(t),a=i.buffer,o=i.byteSize,u=i.byteOffset;return n<0?(this.unused[e]=a,M.warn((function(){return"".concat(r.id," unused varying buffer ").concat(e)}))(),this):(this.buffers[n]=t,this.bindOnUse||this._bindBuffer(n,a,u,o),this)}},{key:"begin",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(e),this}},{key:"end",value:function(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}},{key:"_getBufferParams",value:function(e){var t,r,n;return e instanceof Re==!1?(n=e.buffer,r=e.byteSize,t=e.byteOffset):n=e,void 0===t&&void 0===r||(t=t||0,r=r||n.byteLength-t),{buffer:n,byteOffset:t,byteSize:r}}},{key:"_getVaryingInfo",value:function(e){return this.configuration&&this.configuration.getVaryingInfo(e)}},{key:"_getVaryingIndex",value:function(e){if(this.configuration)return this.configuration.getVaryingInfo(e).location;var t=Number(e);return Number.isFinite(t)?t:-1}},{key:"_bindBuffers",value:function(){if(this.bindOnUse)for(var e in this.buffers){var t=this._getBufferParams(this.buffers[e]),r=t.buffer,n=t.byteSize,i=t.byteOffset;this._bindBuffer(e,r,i,n)}}},{key:"_unbindBuffers",value:function(){if(this.bindOnUse)for(var e in this.buffers)this._bindBuffer(e,null)}},{key:"_bindBuffer",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3?arguments[3]:void 0,i=t&&t.handle;return i&&void 0!==n?this.gl.bindBufferRange(35982,e,i,r,n):this.gl.bindBufferBase(35982,e,i),this}},{key:"_createHandle",value:function(){return this.gl.createTransformFeedback()}},{key:"_deleteHandle",value:function(){this.gl.deleteTransformFeedback(this.handle)}},{key:"_bindHandle",value:function(e){this.gl.bindTransformFeedback(36386,this.handle)}}]),r}(ge),Dr=null;function Nr(e,t){var r;return new e((r=e.BYTES_PER_ELEMENT*t,(!Dr||Dr.byteLength<r)&&(Dr=new ArrayBuffer(r)),Dr),0,t)}var Cr=r(25);function Ur(e){if(!e&&!Object(d.a)())return"Node";if(Object(Cr.a)(e))return"Electron";var t="undefined"!=typeof navigator?navigator:{},r=e||t.userAgent||"";if(r.indexOf("Edge")>-1)return"Edge";var n=-1!==r.indexOf("MSIE "),i=-1!==r.indexOf("Trident/");return n||i?"IE":E.b.chrome?"Chrome":E.b.safari?"Safari":E.b.mozInnerScreenX?"Firefox":"Unknown"}function Vr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=te()(e);if(t){var i=te()(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return Z()(this,r)}}var Gr="elements must be GL.ELEMENT_ARRAY_BUFFER",zr=function(e){J()(r,e);var t=Vr(r);function r(e){var n,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};i()(this,r);var o=a.id||a.program&&a.program.id;return(n=t.call(this,e,Object.assign({},a,{id:o}))).buffer=null,n.bufferValue=null,n.isDefaultArray=a.isDefaultArray||!1,n.gl2=e,n.initialize(a),Object.seal(Q()(n)),n}return o()(r,null,[{key:"isSupported",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return!t.constantAttributeZero||(Object(D.e)(e)||"Chrome"===Ur())}},{key:"getDefaultArray",value:function(e){return e.luma=e.luma||{},e.luma.defaultVertexArray||(e.luma.defaultVertexArray=new r(e,{handle:null,isDefaultArray:!0})),e.luma.defaultVertexArray}},{key:"getMaxAttributes",value:function(e){return r.MAX_ATTRIBUTES=r.MAX_ATTRIBUTES||e.getParameter(34921),r.MAX_ATTRIBUTES}},{key:"setConstant",value:function(e,t,n){switch(n.constructor){case Float32Array:r._setConstantFloatArray(e,t,n);break;case Int32Array:r._setConstantIntArray(e,t,n);break;case Uint32Array:r._setConstantUintArray(e,t,n);break;default:ie(!1)}}}]),o()(r,[{key:"delete",value:function(){return st()(te()(r.prototype),"delete",this).call(this),this.buffer&&this.buffer.delete(),this}},{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.setProps(e)}},{key:"setProps",value:function(e){return this}},{key:"setElementBuffer",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return ie(!t||34963===t.target,Gr),this.bind((function(){e.gl.bindBuffer(34963,t?t.handle:null)})),this}},{key:"setBuffer",value:function(e,t,r){if(34963===t.target)return this.setElementBuffer(t,r);var n=r.size,i=r.type,a=r.stride,o=r.offset,u=r.normalized,s=r.integer,c=r.divisor,l=this.gl,f=this.gl2;return e=Number(e),this.bind((function(){l.bindBuffer(34962,t.handle),s?(ie(Object(D.e)(l)),f.vertexAttribIPointer(e,n,i,a,o)):l.vertexAttribPointer(e,n,i,u,a,o),l.enableVertexAttribArray(e),f.vertexAttribDivisor(e,c||0)})),this}},{key:"enable",value:function(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!n&&0===e&&!r.isSupported(this.gl,{constantAttributeZero:!0});return i||(e=Number(e),this.bind((function(){return n?t.gl.enableVertexAttribArray(e):t.gl.disableVertexAttribArray(e)}))),this}},{key:"getConstantBuffer",value:function(e,t){var r=this._normalizeConstantArrayValue(t),n=r.byteLength*e,i=r.length*e,a=!this.buffer;if(this.buffer=this.buffer||new Re(this.gl,n),a=(a=a||this.buffer.reallocate(n))||!this._compareConstantArrayValues(r,this.bufferValue)){var o=Nr(t.constructor,i);!function(e){for(var t=e.target,r=e.source,n=e.start,i=void 0===n?0:n,a=e.count,o=void 0===a?1:a,u=r.length,s=o*u,c=0,l=i;c<u;c++)t[l++]=r[c];for(;c<s;)c<s-c?(t.copyWithin(i+c,i,i+c),c*=2):(t.copyWithin(i+c,i,i+s-c),c=s)}({target:o,source:r,start:0,count:i}),this.buffer.subData(o),this.bufferValue=t}return this.buffer}},{key:"_normalizeConstantArrayValue",value:function(e){return Array.isArray(e)?new Float32Array(e):e}},{key:"_compareConstantArrayValues",value:function(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}},{key:"_createHandle",value:function(){return this.gl.createVertexArray()}},{key:"_deleteHandle",value:function(e){return this.gl2.deleteVertexArray(e),[this.elements]}},{key:"_bindHandle",value:function(e){this.gl2.bindVertexArray(e)}},{key:"_getParameter",value:function(e,t){var r=this,n=t.location;return ie(Number.isFinite(n)),this.bind((function(){switch(e){case 34373:return r.gl.getVertexAttribOffset(n,e);default:return r.gl.getVertexAttrib(n,e)}}))}},{key:"MAX_ATTRIBUTES",get:function(){return r.getMaxAttributes(this.gl)}}],[{key:"_setConstantFloatArray",value:function(e,t,r){switch(r.length){case 1:e.vertexAttrib1fv(t,r);break;case 2:e.vertexAttrib2fv(t,r);break;case 3:e.vertexAttrib3fv(t,r);break;case 4:e.vertexAttrib4fv(t,r);break;default:ie(!1)}}},{key:"_setConstantIntArray",value:function(e,t,r){switch(ie(Object(D.e)(e)),r.length){case 1:e.vertexAttribI1iv(t,r);break;case 2:e.vertexAttribI2iv(t,r);break;case 3:e.vertexAttribI3iv(t,r);break;case 4:e.vertexAttribI4iv(t,r);break;default:ie(!1)}}},{key:"_setConstantUintArray",value:function(e,t,r){switch(ie(Object(D.e)(e)),r.length){case 1:e.vertexAttribI1uiv(t,r);break;case 2:e.vertexAttribI2uiv(t,r);break;case 3:e.vertexAttribI3uiv(t,r);break;case 4:e.vertexAttribI4uiv(t,r);break;default:ie(!1)}}}]),r}(ge),Hr=/^(.+)__LOCATION_([0-9]+)$/,Xr=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"],Wr=function(){function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};i()(this,e);var n=r.id||r.program&&r.program.id;this.id=n,this.gl=t,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new zr(t),fe(this,"VertexArray","v6.0",Xr),this.initialize(r),Object.seal(this)}return o()(e,[{key:"delete",value:function(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}},{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(e)}},{key:"reset",value:function(){this.elements=null,this.elementsAccessor=null;var e=this.vertexArrayObject.MAX_ATTRIBUTES;return this.values=new Array(e).fill(null),this.accessors=new Array(e).fill(null),this.unused={},this.drawParams=null,this}},{key:"setProps",value:function(e){return"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"attributes"in e&&this.setAttributes(e.attributes),"elements"in e&&this.setElementBuffer(e.elements),"bindOnUse"in e&&(e=e.bindOnUse),this}},{key:"clearDrawParams",value:function(){this.drawParams=null}},{key:"getDrawParams",value:function(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}},{key:"setAttributes",value:function(e){var t=this;return Object.assign(this.attributes,e),this.vertexArrayObject.bind((function(){for(var r in e){var n=e[r];t._setAttribute(r,n)}t.gl.bindBuffer(34962,null)})),this}},{key:"setElementBuffer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.elements=e,this.elementsAccessor=t,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(e,t),this}},{key:"setBuffer",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(34963===t.target)return this.setElementBuffer(t,r);var n=this._resolveLocationAndAccessor(e,t,t.accessor,r),i=n.location,a=n.accessor;return i>=0&&(this.values[i]=t,this.accessors[i]=a,this.clearDrawParams(),this.vertexArrayObject.setBuffer(i,t,a)),this}},{key:"setConstant",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this._resolveLocationAndAccessor(e,t,Object.assign({size:t.length},r)),i=n.location,a=n.accessor;return i>=0&&(t=this.vertexArrayObject._normalizeConstantArrayValue(t),this.values[i]=t,this.accessors[i]=a,this.clearDrawParams(),this.vertexArrayObject.enable(i,!1)),this}},{key:"unbindBuffers",value:function(){var e=this;return this.vertexArrayObject.bind((function(){e.elements&&e.vertexArrayObject.setElementBuffer(null),e.buffer=e.buffer||new Re(e.gl,{accessor:{size:4}});for(var t=0;t<e.vertexArrayObject.MAX_ATTRIBUTES;t++)e.values[t]instanceof Re&&(e.gl.disableVertexAttribArray(t),e.gl.bindBuffer(34962,e.buffer.handle),e.gl.vertexAttribPointer(t,1,5126,!1,0,0))})),this}},{key:"bindBuffers",value:function(){var e=this;return this.vertexArrayObject.bind((function(){e.elements&&e.setElementBuffer(e.elements);for(var t=0;t<e.vertexArrayObject.MAX_ATTRIBUTES;t++){var r=e.values[t];r instanceof Re&&e.setBuffer(t,r)}})),this}},{key:"bindForDraw",value:function(e,t,r){var n,i=this;return this.vertexArrayObject.bind((function(){i._setConstantAttributes(e,t),n=r()})),n}},{key:"_resolveLocationAndAccessor",value:function(e,t,r,n){var i=this,a={location:-1,accessor:null},o=this._getAttributeIndex(e),u=o.location,s=o.name;if(!Number.isFinite(u)||u<0)return this.unused[e]=t,M.once(3,(function(){return"unused value ".concat(e," in ").concat(i.id)}))(),a;var c=this._getAttributeInfo(s||u);if(!c)return a;var l=this.accessors[u]||{},f=Te.resolve(c.accessor,l,r,n),h=f.size,d=f.type;return ie(Number.isFinite(h)&&Number.isFinite(d)),{location:u,accessor:f}}},{key:"_getAttributeInfo",value:function(e){return this.configuration&&this.configuration.getAttributeInfo(e)}},{key:"_getAttributeIndex",value:function(e){var t=Number(e);if(Number.isFinite(t))return{location:t};var r=Hr.exec(e),n=r?r[1]:e,i=r?Number(r[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(n)+i,name:n}:{location:-1}}},{key:"_setAttribute",value:function(e,t){if(t instanceof Re)this.setBuffer(e,t);else if(Array.isArray(t)&&t.length&&t[0]instanceof Re){var r=t[0],n=t[1];this.setBuffer(e,r,n)}else if(ArrayBuffer.isView(t)||Array.isArray(t)){var i=t;this.setConstant(e,i)}else{if(!(t.buffer instanceof Re))throw new Error("VertexArray: attributes must be Buffers or constants (i.e. typed array)");var a=t;this.setBuffer(e,a.buffer,a)}}},{key:"_setConstantAttributes",value:function(e,t){var r=Math.max(0|e,0|t),n=this.values[0];ArrayBuffer.isView(n)&&this._setConstantAttributeZero(n,r);for(var i=1;i<this.vertexArrayObject.MAX_ATTRIBUTES;i++)n=this.values[i],ArrayBuffer.isView(n)&&this._setConstantAttribute(i,n)}},{key:"_setConstantAttributeZero",value:function(e,t){if(zr.isSupported(this.gl,{constantAttributeZero:!0}))this._setConstantAttribute(0,e);else{var r=this.vertexArrayObject.getConstantBuffer(t,e);this.vertexArrayObject.setBuffer(0,r,this.accessors[0])}}},{key:"_setConstantAttribute",value:function(e,t){zr.setConstant(this.gl,e,t)}},{key:"_updateDrawParams",value:function(){for(var e={isIndexed:!1,isInstanced:!1,indexCount:1/0,vertexCount:1/0,instanceCount:1/0},t=0;t<this.vertexArrayObject.MAX_ATTRIBUTES;t++)this._updateDrawParamsForLocation(e,t);return this.elements&&(e.elementCount=this.elements.getElementCount(this.elements.accessor),e.isIndexed=!0,e.indexType=this.elementsAccessor.type||this.elements.accessor.type,e.indexOffset=this.elementsAccessor.offset||0),e.indexCount===1/0&&(e.indexCount=0),e.vertexCount===1/0&&(e.vertexCount=0),e.instanceCount===1/0&&(e.instanceCount=0),e}},{key:"_updateDrawParamsForLocation",value:function(e,t){var r=this.values[t],n=this.accessors[t];if(r){var i=n.divisor>0;if(e.isInstanced=e.isInstanced||i,r instanceof Re){var a=r;if(i){var o=a.getVertexCount(n);e.instanceCount=Math.min(e.instanceCount,o)}else{var u=a.getVertexCount(n);e.vertexCount=Math.min(e.vertexCount,u)}}}}},{key:"setElements",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return M.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(e,t)}}]),e}(),Yr=function(){function e(t){var r;for(var n in i()(this,e),this.layout={},this.size=0,t)this._addUniform(n,t[n]);this.size+=(4-this.size%4)%4;var a=new Float32Array(this.size);this.typedArray=(r={},h()(r,5126,a),h()(r,5124,new Int32Array(a.buffer)),h()(r,5125,new Uint32Array(a.buffer)),r)}return o()(e,[{key:"getBytes",value:function(){return 4*this.size}},{key:"getData",value:function(){return this.typedArray[5126]}},{key:"getSubData",value:function(e){var t,r;if(void 0===e)t=this.data,r=0;else{var n=this.offsets[e],i=n+this.sizes[e];t=this.data.subarray(n,i),r=4*n}return{data:t,offset:r}}},{key:"setUniforms",value:function(e){for(var t in e)this._setValue(t,e[t]);return this}},{key:"_setValue",value:function(e,t){var r=this.layout[e];ie(r,"UniformLayoutStd140 illegal argument");var n=this.typedArray[r.type];1===r.size?n[r.offset]=t:n.set(t,r.offset)}},{key:"_addUniform",value:function(e,t){var r=xr(t);ie(r,"UniformBufferLayout illegal argument");var n=r.type,i=r.components;this.size=this._alignTo(this.size,i);var a=this.size;this.size+=i,this.layout[e]={type:n,size:i,offset:a}}},{key:"_alignTo",value:function(e,t){switch(t){case 1:return e;case 2:return e+e%2;default:return e+(4-e%4)%4}}}]),e}();function qr(e){var t=100,r=e.match(/[^\s]+/g);if(r.length>=2&&"#version"===r[0]){var n=parseInt(r[1],10);Number.isFinite(n)&&(t=n)}return t}function Qr(e,t){for(var r=t.maxElts,n=void 0===r?16:r,i=t.size,a=void 0===i?1:i,o="[",u=0;u<e.length&&u<n;++u)u>0&&(o+=",".concat(u%a==0?" ":"")),o+=$r(e[u],t);var s=e.length>n?"...":"]";return"".concat(o).concat(s)}function $r(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=1e-16,n=t.isInteger,i=void 0!==n&&n;if(Array.isArray(e)||ArrayBuffer.isView(e))return Qr(e,t);if(!Number.isFinite(e))return String(e);if(Math.abs(e)<r)return i?"0":"0.";if(i)return e.toFixed(0);if(Math.abs(e)>100&&Math.abs(e)<1e4)return e.toFixed(0);var a=e.toPrecision(2),o=a.indexOf(".0");return o===a.length-2?a.slice(0,-1):a}function Jr(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return Kr(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Kr(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,u=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){u=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(u)throw a}}}}function Kr(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Zr(e){var t=e.header,r=void 0===t?"Uniforms":t,n=e.program,i=e.uniforms,a=e.undefinedOnly,o=void 0!==a&&a;ie(n);var u,s=n._uniformSetters,c={},l=Object.keys(s).sort(),f=0,d=Jr(l);try{for(d.s();!(u=d.n()).done;){var v=u.value;v.match(".*_.*")||v.match(".*Matrix")||en({table:c,header:r,uniforms:i,uniformName:v,undefinedOnly:o})&&f++}}catch(e){d.e(e)}finally{d.f()}var g,y=Jr(l);try{for(y.s();!(g=y.n()).done;){var m=g.value;m.match(".*Matrix")&&en({table:c,header:r,uniforms:i,uniformName:m,undefinedOnly:o})&&f++}}catch(e){y.e(e)}finally{y.f()}var b,p=Jr(l);try{for(p.s();!(b=p.n()).done;){var _=b.value;c[_]||en({table:c,header:r,uniforms:i,uniformName:_,undefinedOnly:o})&&f++}}catch(e){p.e(e)}finally{p.f()}var A=0,w={};if(!o)for(var x in i){var E=i[x];c[x]||(A++,w[x]=h()({Type:"NOT USED: ".concat(E)},r,$r(E)))}return{table:c,count:f,unusedTable:w,unusedCount:A}}function en(e){var t,r=e.table,n=e.header,i=e.uniforms,a=e.uniformName,o=e.undefinedOnly,u=i[a],s=function(e){return null!=e}(u);return(!o||!s)&&(r[a]=(t={},h()(t,n,s?$r(u):"N/A"),h()(t,"Uniform Type",s?u:"NOT PROVIDED"),t),!0)}function tn(e){var t=e.vertexArray,r=e.header,n=void 0===r?"Attributes":r;if(!t.configuration)return{};var i={};t.elements&&(i.ELEMENT_ARRAY_BUFFER=rn(t,t.elements,null,n));var a=t.values;for(var o in a){var u=t._getAttributeInfo(o);if(u){var s="".concat(o,": ").concat(u.name),c=t.accessors[u.location];c&&(s="".concat(o,": ").concat(nn(u.name,c))),i[s]=rn(t,a[o],c,n)}}return i}function rn(e,t,r,n){var i,a,o=e.gl;if(!t)return a={},h()(a,n,"null"),h()(a,"Format ","N/A"),a;var u,s,c,l="NOT PROVIDED",f=1,d=0,v=0;if(r&&(l=r.type,f=r.size,u=-1!==(l=String(l).replace("Array","")).indexOf("nt")),t instanceof Re){var g,y,m=t,b=m.getDebugData(),p=b.data;if(s=b.changed?"*":"",c=p,d=(v=m.byteLength)/p.BYTES_PER_ELEMENT/f,r){var _=r.divisor>0;y="".concat(_?"I ":"P "," ").concat(d," (x").concat(f,"=").concat(v," bytes ").concat(oe(o,l),")")}else u=!0,y="".concat(v," bytes");return g={},h()(g,n,"".concat(s).concat($r(c,{size:f,isInteger:u}))),h()(g,"Format ",y),g}return c=t,f=t.length,u=-1!==(l=String(t.constructor.name).replace("Array","")).indexOf("nt"),i={},h()(i,n,"".concat($r(c,{size:f,isInteger:u})," (constant)")),h()(i,"Format ","".concat(f,"x").concat(l," (constant)")),i}function nn(e,t){var r=Er(t.type,t.size);return r?"".concat(e," (").concat(r.name,")"):e}function an(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return on(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return on(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,u=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){u=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(u)throw a}}}}function on(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function un(e){var t,r={},n="Accessors for ".concat(e.id),i=an(e.attributeInfos);try{for(i.s();!(t=i.n()).done;){var a=t.value;if(a){var o=sn(a);r["in ".concat(o)]=h()({},n,JSON.stringify(a.accessor))}}}catch(e){i.e(e)}finally{i.f()}var u,s=an(e.varyingInfos);try{for(s.s();!(u=s.n()).done;){var c=u.value;if(c){var l=sn(c);r["out ".concat(l)]=h()({},n,JSON.stringify(c.accessor))}}}catch(e){s.e(e)}finally{s.f()}return r}function sn(e){var t=e.accessor,r=Er(t.type,t.size);return r?"".concat(r.name," ").concat(e.name):e.name}}])}));
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import {AccessorObject} from '../types';
|
|
2
|
-
import Resource, {ResourceProps} from './resource';
|
|
3
|
-
|
|
4
|
-
export type BufferProps = ResourceProps & {
|
|
5
|
-
data?: any; // ArrayBufferView;
|
|
6
|
-
byteLength?: number;
|
|
7
|
-
target?: number;
|
|
8
|
-
usage?: number;
|
|
9
|
-
accessor?: AccessorObject;
|
|
10
|
-
|
|
11
|
-
/** @deprecated */
|
|
12
|
-
index?: number;
|
|
13
|
-
/** @deprecated */
|
|
14
|
-
offset?: number;
|
|
15
|
-
/** @deprecated */
|
|
16
|
-
size?: number;
|
|
17
|
-
/** @deprecated */
|
|
18
|
-
type?: number
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Holds a block of unformatted memory allocated on the GPU via an underlying
|
|
23
|
-
* WebGLBuffer. These can be used to store vertex data, pixel data retrieved
|
|
24
|
-
* from images or the framebuffer, and a variety of other things.
|
|
25
|
-
*/
|
|
26
|
-
export default class Buffer extends Resource {
|
|
27
|
-
|
|
28
|
-
readonly handle: WebGLBuffer;
|
|
29
|
-
readonly byteLength: number;
|
|
30
|
-
readonly bytesUsed: number;
|
|
31
|
-
readonly usage: number;
|
|
32
|
-
readonly accessor: object;
|
|
33
|
-
|
|
34
|
-
readonly type: any;
|
|
35
|
-
readonly bytes: any;
|
|
36
|
-
|
|
37
|
-
constructor(gl: WebGLRenderingContext, props?: BufferProps);
|
|
38
|
-
constructor(gl: WebGLRenderingContext, data: ArrayBufferView | number[]);
|
|
39
|
-
constructor(gl: WebGLRenderingContext, byteLength: number);
|
|
40
|
-
|
|
41
|
-
initialize(props?: BufferProps): this;
|
|
42
|
-
setProps(props: BufferProps): this;
|
|
43
|
-
|
|
44
|
-
getElementCount(accessor?: any): number;
|
|
45
|
-
getVertexCount(accessor?: any): number;
|
|
46
|
-
|
|
47
|
-
setAccessor(accessor: any): this;
|
|
48
|
-
reallocate(byteLength: any): boolean;
|
|
49
|
-
|
|
50
|
-
setData(props: any): this;
|
|
51
|
-
subData(props: any): this;
|
|
52
|
-
|
|
53
|
-
copyData(options: {
|
|
54
|
-
sourceBuffer: any;
|
|
55
|
-
readOffset?: number;
|
|
56
|
-
writeOffset?: number;
|
|
57
|
-
size: any;
|
|
58
|
-
}): this;
|
|
59
|
-
|
|
60
|
-
getData(options?: {
|
|
61
|
-
dstData?: any;
|
|
62
|
-
srcByteOffset?: number;
|
|
63
|
-
dstOffset?: number;
|
|
64
|
-
length?: number;
|
|
65
|
-
}): any;
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Binds a buffer to a given binding point (target).
|
|
69
|
-
* GL.TRANSFORM_FEEDBACK_BUFFER and GL.UNIFORM_BUFFER take an index, and optionally a range.
|
|
70
|
-
* - GL.TRANSFORM_FEEDBACK_BUFFER and GL.UNIFORM_BUFFER need an index to affect state
|
|
71
|
-
* - GL.UNIFORM_BUFFER: `offset` must be aligned to GL.UNIFORM_BUFFER_OFFSET_ALIGNMENT.
|
|
72
|
-
* - GL.UNIFORM_BUFFER: `size` must be a minimum of GL.UNIFORM_BLOCK_SIZE_DATA.
|
|
73
|
-
*/
|
|
74
|
-
bind(options?: {target?: any; index?: any; offset?: number; size: any}): this;
|
|
75
|
-
unbind(options?: {target?: any; index?: any}): this;
|
|
76
|
-
|
|
77
|
-
getDebugData(): {
|
|
78
|
-
data: any;
|
|
79
|
-
changed: boolean;
|
|
80
|
-
};
|
|
81
|
-
invalidateDebugData(): void;
|
|
82
|
-
setByteLength(byteLength: any): boolean;
|
|
83
|
-
updateAccessor(opts: any): this;
|
|
84
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/classes/buffer.js"],"names":["DEBUG_DATA_LENGTH","DEPRECATED_PROPS","offset","stride","type","size","divisor","normalized","integer","instanced","isInstanced","PROP_CHECKS_INITIALIZE","removedProps","replacedProps","bytes","deprecatedProps","PROP_CHECKS_SET_PROPS","Buffer","gl","props","stubRemovedMethods","target","webgl2","initialize","Object","seal","accessor","Math","round","byteLength","Accessor","getBytesPerElement","getBytesPerVertex","ArrayBuffer","isView","data","Number","isFinite","usage","debugData","setAccessor","assign","_setData","_setByteLength","buffer","bytesUsed","srcOffset","length","bindBuffer","handle","undefined","bufferSubData","_inferType","sourceBuffer","readOffset","writeOffset","copyBufferSubData","dstData","srcByteOffset","dstOffset","ArrayType","clamped","sourceAvailableElementCount","_getAvailableElementCount","dstElementOffset","dstAvailableElementCount","dstElementCount","min","copyElementCount","getBufferSubData","index","bindBufferRange","bindBufferBase","isIndexedBuffer","getData","changed","_trackDeallocatedMemory","_getTarget","bufferData","slice","_trackAllocatedMemory","Float32Array","sourceElementOffset","BYTES_PER_ELEMENT","getElementCount","createBuffer","deleteBuffer","pname","value","getBufferParameter","log","deprecated","reallocate","opts","Resource"],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,iBAAiB,GAAG,EAA1B;AAGA,IAAMC,gBAAgB,GAAG;AACvBC,EAAAA,MAAM,EAAE,iBADe;AAEvBC,EAAAA,MAAM,EAAE,iBAFe;AAGvBC,EAAAA,IAAI,EAAE,eAHiB;AAIvBC,EAAAA,IAAI,EAAE,eAJiB;AAKvBC,EAAAA,OAAO,EAAE,kBALc;AAMvBC,EAAAA,UAAU,EAAE,qBANW;AAOvBC,EAAAA,OAAO,EAAE,kBAPc;AAQvBC,EAAAA,SAAS,EAAE,kBARY;AASvBC,EAAAA,WAAW,EAAE;AATU,CAAzB;AAaA,IAAMC,sBAAsB,GAAG;AAC7BC,EAAAA,YAAY,EAAE,EADe;AAE7BC,EAAAA,aAAa,EAAE;AACbC,IAAAA,KAAK,EAAE;AADM,GAFc;AAM7BC,EAAAA,eAAe,EAAEd;AANY,CAA/B;AAUA,IAAMe,qBAAqB,GAAG;AAE5BJ,EAAAA,YAAY,EAAEX;AAFc,CAA9B;;IAKqBgB,M;;;;;AACnB,kBAAYC,EAAZ,EAA4B;AAAA;;AAAA,QAAZC,KAAY,uEAAJ,EAAI;AAAA;AAC1B,8BAAMD,EAAN,EAAUC,KAAV;;AAEA,UAAKC,kBAAL,CAAwB,QAAxB,EAAkC,MAAlC,EAA0C,CAAC,QAAD,EAAW,WAAX,EAAwB,qBAAxB,CAA1C;;AAMA,UAAKC,MAAL,GAAcF,KAAK,CAACE,MAAN,KAAiB,MAAKH,EAAL,CAAQI,MAAR,gBAAjB,CAAd;;AAEA,UAAKC,UAAL,CAAgBJ,KAAhB;;AAEAK,IAAAA,MAAM,CAACC,IAAP;AAb0B;AAc3B;;;;sCAGyC;AAAA,UAA1BC,QAA0B,uEAAf,KAAKA,QAAU;AACxC,aAAOC,IAAI,CAACC,KAAL,CAAW,KAAKC,UAAL,GAAkBC,kBAASC,kBAAT,CAA4BL,QAA5B,CAA7B,CAAP;AACD;;;qCAGwC;AAAA,UAA1BA,QAA0B,uEAAf,KAAKA,QAAU;AACvC,aAAOC,IAAI,CAACC,KAAL,CAAW,KAAKC,UAAL,GAAkBC,kBAASE,iBAAT,CAA2BN,QAA3B,CAA7B,CAAP;AACD;;;iCAMsB;AAAA,UAAZP,KAAY,uEAAJ,EAAI;;AAErB,UAAIc,WAAW,CAACC,MAAZ,CAAmBf,KAAnB,CAAJ,EAA+B;AAC7BA,QAAAA,KAAK,GAAG;AAACgB,UAAAA,IAAI,EAAEhB;AAAP,SAAR;AACD;;AAGD,UAAIiB,MAAM,CAACC,QAAP,CAAgBlB,KAAhB,CAAJ,EAA4B;AAC1BA,QAAAA,KAAK,GAAG;AAACU,UAAAA,UAAU,EAAEV;AAAb,SAAR;AACD;;AAEDA,MAAAA,KAAK,GAAG,4BAAW,QAAX,EAAqBA,KAArB,EAA4BR,sBAA5B,CAAR;AAGA,WAAK2B,KAAL,GAAanB,KAAK,CAACmB,KAAN,SAAb;AACA,WAAKC,SAAL,GAAiB,IAAjB;AAGA,WAAKC,WAAL,CAAiBhB,MAAM,CAACiB,MAAP,CAAc,EAAd,EAAkBtB,KAAlB,EAAyBA,KAAK,CAACO,QAA/B,CAAjB;;AAGA,UAAIP,KAAK,CAACgB,IAAV,EAAgB;AACd,aAAKO,QAAL,CAAcvB,KAAK,CAACgB,IAApB,EAA0BhB,KAAK,CAACjB,MAAhC,EAAwCiB,KAAK,CAACU,UAA9C;AACD,OAFD,MAEO;AACL,aAAKc,cAAL,CAAoBxB,KAAK,CAACU,UAAN,IAAoB,CAAxC;AACD;;AAED,aAAO,IAAP;AACD;;;6BAEQV,K,EAAO;AACdA,MAAAA,KAAK,GAAG,4BAAW,QAAX,EAAqBA,KAArB,EAA4BH,qBAA5B,CAAR;;AAEA,UAAI,cAAcG,KAAlB,EAAyB;AACvB,aAAKqB,WAAL,CAAiBrB,KAAK,CAACO,QAAvB;AACD;;AAED,aAAO,IAAP;AACD;;;gCAIWA,Q,EAAU;AAIpBA,MAAAA,QAAQ,GAAGF,MAAM,CAACiB,MAAP,CAAc,EAAd,EAAkBf,QAAlB,CAAX;AACA,aAAOA,QAAQ,CAACkB,MAAhB;AAGA,WAAKlB,QAAL,GAAgB,IAAII,iBAAJ,CAAaJ,QAAb,CAAhB;AACA,aAAO,IAAP;AACD;;;+BAOUG,U,EAAY;AACrB,UAAIA,UAAU,GAAG,KAAKA,UAAtB,EAAkC;AAChC,aAAKc,cAAL,CAAoBd,UAApB;;AACA,eAAO,IAAP;AACD;;AACD,WAAKgB,SAAL,GAAiBhB,UAAjB;AACA,aAAO,KAAP;AACD;;;4BAGOV,K,EAAO;AACb,aAAO,KAAKI,UAAL,CAAgBJ,KAAhB,CAAP;AACD;;;4BAOOA,K,EAAO;AAEb,UAAIc,WAAW,CAACC,MAAZ,CAAmBf,KAAnB,CAAJ,EAA+B;AAC7BA,QAAAA,KAAK,GAAG;AAACgB,UAAAA,IAAI,EAAEhB;AAAP,SAAR;AACD;;AAJY,mBAM6BA,KAN7B;AAAA,UAMNgB,IANM,UAMNA,IANM;AAAA,iCAMAjC,MANA;AAAA,UAMAA,MANA,8BAMS,CANT;AAAA,oCAMY4C,SANZ;AAAA,UAMYA,SANZ,iCAMwB,CANxB;AAOb,UAAMjB,UAAU,GAAGV,KAAK,CAACU,UAAN,IAAoBV,KAAK,CAAC4B,MAA7C;AAEA,0BAAOZ,IAAP;AAIA,UAAMd,MAAM,GAAG,KAAKH,EAAL,CAAQI,MAAR,WAAwC,KAAKD,MAA5D;AACA,WAAKH,EAAL,CAAQ8B,UAAR,CAAmB3B,MAAnB,EAA2B,KAAK4B,MAAhC;;AAEA,UAAIH,SAAS,KAAK,CAAd,IAAmBjB,UAAU,KAAKqB,SAAtC,EAAiD;AAC/C,0CAAoB,KAAKhC,EAAzB;AACA,aAAKA,EAAL,CAAQiC,aAAR,CAAsB,KAAK9B,MAA3B,EAAmCnB,MAAnC,EAA2CiC,IAA3C,EAAiDW,SAAjD,EAA4DjB,UAA5D;AACD,OAHD,MAGO;AACL,aAAKX,EAAL,CAAQiC,aAAR,CAAsB9B,MAAtB,EAA8BnB,MAA9B,EAAsCiC,IAAtC;AACD;;AACD,WAAKjB,EAAL,CAAQ8B,UAAR,CAAmB3B,MAAnB,EAA2B,IAA3B;AAGA,WAAKkB,SAAL,GAAiB,IAAjB;;AAEA,WAAKa,UAAL,CAAgBjB,IAAhB;;AAEA,aAAO,IAAP;AACD;;;mCAG+D;AAAA,UAAtDkB,YAAsD,QAAtDA,YAAsD;AAAA,iCAAxCC,UAAwC;AAAA,UAAxCA,UAAwC,gCAA3B,CAA2B;AAAA,kCAAxBC,WAAwB;AAAA,UAAxBA,WAAwB,iCAAV,CAAU;AAAA,UAAPlD,IAAO,QAAPA,IAAO;AAAA,UACvDa,EADuD,GACjD,IADiD,CACvDA,EADuD;AAE9D,wCAAoBA,EAApB;AAGAA,MAAAA,EAAE,CAAC8B,UAAH,QAAmCK,YAAY,CAACJ,MAAhD;AACA/B,MAAAA,EAAE,CAAC8B,UAAH,QAAoC,KAAKC,MAAzC;AACA/B,MAAAA,EAAE,CAACsC,iBAAH,eAAgEF,UAAhE,EAA4EC,WAA5E,EAAyFlD,IAAzF;AACAa,MAAAA,EAAE,CAAC8B,UAAH,QAAmC,IAAnC;AACA9B,MAAAA,EAAE,CAAC8B,UAAH,QAAoC,IAApC;AAGA,WAAKT,SAAL,GAAiB,IAAjB;AAEA,aAAO,IAAP;AACD;;;8BAG4E;AAAA,sFAAJ,EAAI;AAAA,gCAApEkB,OAAoE;AAAA,UAApEA,OAAoE,8BAA1D,IAA0D;AAAA,sCAApDC,aAAoD;AAAA,UAApDA,aAAoD,oCAApC,CAAoC;AAAA,kCAAjCC,SAAiC;AAAA,UAAjCA,SAAiC,gCAArB,CAAqB;AAAA,+BAAlBZ,MAAkB;AAAA,UAAlBA,MAAkB,6BAAT,CAAS;;AAC3E,wCAAoB,KAAK7B,EAAzB;AAEA,UAAM0C,SAAS,GAAG,8CAAwB,KAAKlC,QAAL,CAActB,IAAd,QAAxB,EAAwD;AAACyD,QAAAA,OAAO,EAAE;AAAV,OAAxD,CAAlB;;AACA,UAAMC,2BAA2B,GAAG,KAAKC,yBAAL,CAA+BL,aAA/B,CAApC;;AAEA,UAAMM,gBAAgB,GAAGL,SAAzB;AAEA,UAAIM,wBAAJ;AACA,UAAIC,eAAJ;;AACA,UAAIT,OAAJ,EAAa;AACXS,QAAAA,eAAe,GAAGT,OAAO,CAACV,MAA1B;AACAkB,QAAAA,wBAAwB,GAAGC,eAAe,GAAGF,gBAA7C;AACD,OAHD,MAGO;AAELC,QAAAA,wBAAwB,GAAGtC,IAAI,CAACwC,GAAL,CACzBL,2BADyB,EAEzBf,MAAM,IAAIe,2BAFe,CAA3B;AAIAI,QAAAA,eAAe,GAAGF,gBAAgB,GAAGC,wBAArC;AACD;;AAED,UAAMG,gBAAgB,GAAGzC,IAAI,CAACwC,GAAL,CAASL,2BAAT,EAAsCG,wBAAtC,CAAzB;AACAlB,MAAAA,MAAM,GAAGA,MAAM,IAAIqB,gBAAnB;AACA,0BAAOrB,MAAM,IAAIqB,gBAAjB;AACAX,MAAAA,OAAO,GAAGA,OAAO,IAAI,IAAIG,SAAJ,CAAcM,eAAd,CAArB;AAGA,WAAKhD,EAAL,CAAQ8B,UAAR,QAAwC,KAAKC,MAA7C;AACA,WAAK/B,EAAL,CAAQmD,gBAAR,QAA8CX,aAA9C,EAA6DD,OAA7D,EAAsEE,SAAtE,EAAiFZ,MAAjF;AACA,WAAK7B,EAAL,CAAQ8B,UAAR,QAAwC,IAAxC;AAGA,aAAOS,OAAP;AACD;;;2BAcO;AAAA,sFAAJ,EAAI;AAAA,+BAJNpC,MAIM;AAAA,UAJNA,MAIM,6BAJG,KAAKA,MAIR;AAAA,8BAHNiD,KAGM;AAAA,UAHNA,KAGM,4BAHE,KAAK5C,QAAL,IAAiB,KAAKA,QAAL,CAAc4C,KAGjC;AAAA,+BAFNpE,MAEM;AAAA,UAFNA,MAEM,6BAFG,CAEH;AAAA,UADNG,IACM,SADNA,IACM;;AAIN,UAAIgB,MAAM,UAAN,IAAgCA,MAAM,UAA1C,EAA6E;AAC3E,YAAIhB,IAAI,KAAK6C,SAAb,EAAwB;AACtB,eAAKhC,EAAL,CAAQqD,eAAR,CAAwBlD,MAAxB,EAAgCiD,KAAhC,EAAuC,KAAKrB,MAA5C,EAAoD/C,MAApD,EAA4DG,IAA5D;AACD,SAFD,MAEO;AACL,8BAAOH,MAAM,KAAK,CAAlB;AACA,eAAKgB,EAAL,CAAQsD,cAAR,CAAuBnD,MAAvB,EAA+BiD,KAA/B,EAAsC,KAAKrB,MAA3C;AACD;AACF,OAPD,MAOO;AACL,aAAK/B,EAAL,CAAQ8B,UAAR,CAAmB3B,MAAnB,EAA2B,KAAK4B,MAAhC;AACD;;AAED,aAAO,IAAP;AACD;;;6BAEiF;AAAA,sFAAJ,EAAI;AAAA,+BAA1E5B,MAA0E;AAAA,UAA1EA,MAA0E,6BAAjE,KAAKA,MAA4D;AAAA,8BAApDiD,KAAoD;AAAA,UAApDA,KAAoD,4BAA5C,KAAK5C,QAAL,IAAiB,KAAKA,QAAL,CAAc4C,KAAa;;AAChF,UAAMG,eAAe,GAAGpD,MAAM,UAAN,IAAgCA,MAAM,UAA9D;;AACA,UAAIoD,eAAJ,EAAqB;AACnB,aAAKvD,EAAL,CAAQsD,cAAR,CAAuBnD,MAAvB,EAA+BiD,KAA/B,EAAsC,IAAtC;AACD,OAFD,MAEO;AACL,aAAKpD,EAAL,CAAQ8B,UAAR,CAAmB3B,MAAnB,EAA2B,IAA3B;AACD;;AACD,aAAO,IAAP;AACD;;;mCAKc;AACb,UAAI,CAAC,KAAKkB,SAAV,EAAqB;AACnB,aAAKA,SAAL,GAAiB,KAAKmC,OAAL,CAAa;AAAC3B,UAAAA,MAAM,EAAEpB,IAAI,CAACwC,GAAL,CAASnE,iBAAT,EAA4B,KAAK6B,UAAjC;AAAT,SAAb,CAAjB;AACA,eAAO;AAACM,UAAAA,IAAI,EAAE,KAAKI,SAAZ;AAAuBoC,UAAAA,OAAO,EAAE;AAAhC,SAAP;AACD;;AACD,aAAO;AAACxC,QAAAA,IAAI,EAAE,KAAKI,SAAZ;AAAuBoC,QAAAA,OAAO,EAAE;AAAhC,OAAP;AACD;;;0CAEqB;AACpB,WAAKpC,SAAL,GAAiB,IAAjB;AACD;;;6BAKQJ,I,EAAyD;AAAA,UAAnDjC,MAAmD,uEAA1C,CAA0C;AAAA,UAAvC2B,UAAuC,uEAA1BM,IAAI,CAACN,UAAL,GAAkB3B,MAAQ;AAChE,0BAAO+B,WAAW,CAACC,MAAZ,CAAmBC,IAAnB,CAAP;;AAEA,WAAKyC,uBAAL;;AAEA,UAAMvD,MAAM,GAAG,KAAKwD,UAAL,EAAf;;AACA,WAAK3D,EAAL,CAAQ8B,UAAR,CAAmB3B,MAAnB,EAA2B,KAAK4B,MAAhC;AACA,WAAK/B,EAAL,CAAQ4D,UAAR,CAAmBzD,MAAnB,EAA2BQ,UAA3B,EAAuC,KAAKS,KAA5C;AACA,WAAKpB,EAAL,CAAQiC,aAAR,CAAsB9B,MAAtB,EAA8BnB,MAA9B,EAAsCiC,IAAtC;AACA,WAAKjB,EAAL,CAAQ8B,UAAR,CAAmB3B,MAAnB,EAA2B,IAA3B;AAEA,WAAKkB,SAAL,GAAiBJ,IAAI,CAAC4C,KAAL,CAAW,CAAX,EAAc/E,iBAAd,CAAjB;AACA,WAAK6C,SAAL,GAAiBhB,UAAjB;;AAEA,WAAKmD,qBAAL,CAA2BnD,UAA3B;;AAGA,UAAMzB,IAAI,GAAG,8CAAwB+B,IAAxB,CAAb;AACA,0BAAO/B,IAAP;AACA,WAAKoC,WAAL,CAAiB,IAAIV,iBAAJ,CAAa,KAAKJ,QAAlB,EAA4B;AAACtB,QAAAA,IAAI,EAAJA;AAAD,OAA5B,CAAjB;AACA,aAAO,IAAP;AACD;;;mCAGcyB,U,EAAgC;AAAA,UAApBS,KAAoB,uEAAZ,KAAKA,KAAO;AAC7C,0BAAOT,UAAU,IAAI,CAArB;;AAEA,WAAK+C,uBAAL;;AAIA,UAAIzC,IAAI,GAAGN,UAAX;;AACA,UAAIA,UAAU,KAAK,CAAnB,EAAsB;AACpBM,QAAAA,IAAI,GAAG,IAAI8C,YAAJ,CAAiB,CAAjB,CAAP;AACD;;AAED,UAAM5D,MAAM,GAAG,KAAKwD,UAAL,EAAf;;AACA,WAAK3D,EAAL,CAAQ8B,UAAR,CAAmB3B,MAAnB,EAA2B,KAAK4B,MAAhC;AACA,WAAK/B,EAAL,CAAQ4D,UAAR,CAAmBzD,MAAnB,EAA2Bc,IAA3B,EAAiCG,KAAjC;AACA,WAAKpB,EAAL,CAAQ8B,UAAR,CAAmB3B,MAAnB,EAA2B,IAA3B;AAEA,WAAKiB,KAAL,GAAaA,KAAb;AACA,WAAKC,SAAL,GAAiB,IAAjB;AACA,WAAKM,SAAL,GAAiBhB,UAAjB;;AAEA,WAAKmD,qBAAL,CAA2BnD,UAA3B;;AAEA,aAAO,IAAP;AACD;;;iCAIY;AACX,aAAO,KAAKX,EAAL,CAAQI,MAAR,WAAwC,KAAKD,MAApD;AACD;;;8CAEyBqC,a,EAAe;AACvC,UAAME,SAAS,GAAG,8CAAwB,KAAKlC,QAAL,CAActB,IAAd,QAAxB,EAAwD;AAACyD,QAAAA,OAAO,EAAE;AAAV,OAAxD,CAAlB;AACA,UAAMqB,mBAAmB,GAAGxB,aAAa,GAAGE,SAAS,CAACuB,iBAAtD;AACA,aAAO,KAAKC,eAAL,KAAyBF,mBAAhC;AACD;;;+BAIU/C,I,EAAM;AACf,UAAI,CAAC,KAAKT,QAAL,CAActB,IAAnB,EAAyB;AACvB,aAAKoC,WAAL,CAAiB,IAAIV,iBAAJ,CAAa,KAAKJ,QAAlB,EAA4B;AAACtB,UAAAA,IAAI,EAAE,8CAAwB+B,IAAxB;AAAP,SAA5B,CAAjB;AACD;AACF;;;oCAIe;AACd,aAAO,KAAKjB,EAAL,CAAQmE,YAAR,EAAP;AACD;;;oCAEe;AACd,WAAKnE,EAAL,CAAQoE,YAAR,CAAqB,KAAKrC,MAA1B;;AACA,WAAK2B,uBAAL;AACD;;;kCAEaW,K,EAAO;AACnB,WAAKrE,EAAL,CAAQ8B,UAAR,CAAmB,KAAK3B,MAAxB,EAAgC,KAAK4B,MAArC;AACA,UAAMuC,KAAK,GAAG,KAAKtE,EAAL,CAAQuE,kBAAR,CAA2B,KAAKpE,MAAhC,EAAwCkE,KAAxC,CAAd;AACA,WAAKrE,EAAL,CAAQ8B,UAAR,CAAmB,KAAK3B,MAAxB,EAAgC,IAAhC;AACA,aAAOmE,KAAP;AACD;;;kCAea3D,U,EAAY;AACxB6D,mBAAIC,UAAJ,CAAe,eAAf,EAAgC,YAAhC;;AACA,aAAO,KAAKC,UAAL,CAAgB/D,UAAhB,CAAP;AACD;;;mCAGcgE,I,EAAM;AACnBH,mBAAIC,UAAJ,CAAe,qBAAf,EAAsC,gDAAtC;;AACA,WAAKjE,QAAL,GAAgB,IAAII,iBAAJ,CAAa,KAAKJ,QAAlB,EAA4BmE,IAA5B,CAAhB;AACA,aAAO,IAAP;AACD;;;wBAtBU;AACTH,mBAAIC,UAAJ,CAAe,aAAf,EAA8B,sBAA9B;;AACA,aAAO,KAAKjE,QAAL,CAActB,IAArB;AACD;;;wBAEW;AACVsF,mBAAIC,UAAJ,CAAe,cAAf,EAA+B,mBAA/B;;AACA,aAAO,KAAK9D,UAAZ;AACD;;;EA/ViCiE,iB","sourcesContent":["import GL from '@luma.gl/constants';\nimport Resource from './resource';\nimport Accessor from './accessor';\nimport {getGLTypeFromTypedArray, getTypedArrayFromGLType} from '../webgl-utils/typed-array-utils';\nimport {assertWebGL2Context, log} from '@luma.gl/gltools';\nimport {assert} from '../utils/assert';\nimport {checkProps} from '../utils/check-props';\n\nconst DEBUG_DATA_LENGTH = 10;\n\n// Shared prop checks for constructor and setProps\nconst DEPRECATED_PROPS = {\n offset: 'accessor.offset',\n stride: 'accessor.stride',\n type: 'accessor.type',\n size: 'accessor.size',\n divisor: 'accessor.divisor',\n normalized: 'accessor.normalized',\n integer: 'accessor.integer',\n instanced: 'accessor.divisor',\n isInstanced: 'accessor.divisor'\n};\n\n// Prop checks for constructor\nconst PROP_CHECKS_INITIALIZE = {\n removedProps: {},\n replacedProps: {\n bytes: 'byteLength'\n },\n // new Buffer() with individual accessor props is still used in apps, emit warnings\n deprecatedProps: DEPRECATED_PROPS\n};\n\n// Prop checks for setProps\nconst PROP_CHECKS_SET_PROPS = {\n // Buffer.setProps() with individual accessor props is rare => emit errors\n removedProps: DEPRECATED_PROPS\n};\n\nexport default class Buffer extends Resource {\n constructor(gl, props = {}) {\n super(gl, props);\n\n this.stubRemovedMethods('Buffer', 'v6.0', ['layout', 'setLayout', 'getIndexedParameter']);\n // this.stubRemovedMethods('Buffer', 'v7.0', ['updateAccessor']);\n\n // In WebGL1, need to make sure we use GL.ELEMENT_ARRAY_BUFFER when initializing element buffers\n // otherwise buffer type will lock to generic (non-element) buffer\n // In WebGL2, we can use GL.COPY_READ_BUFFER which avoids locking the type here\n this.target = props.target || (this.gl.webgl2 ? GL.COPY_READ_BUFFER : GL.ARRAY_BUFFER);\n\n this.initialize(props);\n\n Object.seal(this);\n }\n\n // returns number of elements in the buffer (assuming that the full buffer is used)\n getElementCount(accessor = this.accessor) {\n return Math.round(this.byteLength / Accessor.getBytesPerElement(accessor));\n }\n\n // returns number of vertices in the buffer (assuming that the full buffer is used)\n getVertexCount(accessor = this.accessor) {\n return Math.round(this.byteLength / Accessor.getBytesPerVertex(accessor));\n }\n\n // Creates and initializes the buffer object's data store.\n // Signature: `new Buffer(gl, {data: new Float32Array(...)})`\n // Signature: `new Buffer(gl, new Float32Array(...))`\n // Signature: `new Buffer(gl, 100)`\n initialize(props = {}) {\n // Signature `new Buffer(gl, new Float32Array(...)`\n if (ArrayBuffer.isView(props)) {\n props = {data: props};\n }\n\n // Signature: `new Buffer(gl, 100)`\n if (Number.isFinite(props)) {\n props = {byteLength: props};\n }\n\n props = checkProps('Buffer', props, PROP_CHECKS_INITIALIZE);\n\n // Initialize member fields\n this.usage = props.usage || GL.STATIC_DRAW;\n this.debugData = null;\n\n // Deprecated: Merge main props and accessor\n this.setAccessor(Object.assign({}, props, props.accessor));\n\n // Set data: (re)initializes the buffer\n if (props.data) {\n this._setData(props.data, props.offset, props.byteLength);\n } else {\n this._setByteLength(props.byteLength || 0);\n }\n\n return this;\n }\n\n setProps(props) {\n props = checkProps('Buffer', props, PROP_CHECKS_SET_PROPS);\n\n if ('accessor' in props) {\n this.setAccessor(props.accessor);\n }\n\n return this;\n }\n\n // Optionally stores an accessor with the buffer, makes it easier to use it as an attribute later\n // {type, size = 1, offset = 0, stride = 0, normalized = false, integer = false, divisor = 0}\n setAccessor(accessor) {\n // NOTE: From luma.gl v7.0, Accessors have an optional `buffer `field\n // (mainly to support \"interleaving\")\n // To avoid confusion, ensure `buffer.accessor` does not have a `buffer.accessor.buffer` field:\n accessor = Object.assign({}, accessor);\n delete accessor.buffer;\n\n // This new statement ensures that an \"accessor object\" is re-packaged as an Accessor instance\n this.accessor = new Accessor(accessor);\n return this;\n }\n\n // Allocate a bigger GPU buffer (if the current buffer is not big enough).\n // If a reallocation is triggered it clears the buffer\n // Returns:\n // `true`: buffer was reallocated, data was cleared\n // `false`: buffer was big enough, data is intact\n reallocate(byteLength) {\n if (byteLength > this.byteLength) {\n this._setByteLength(byteLength);\n return true;\n }\n this.bytesUsed = byteLength;\n return false;\n }\n\n // Update with new data. Reinitializes the buffer\n setData(props) {\n return this.initialize(props);\n }\n\n // Updates a subset of a buffer object's data store.\n // Data (Typed Array or ArrayBuffer), length is inferred unless provided\n // Offset into buffer\n // WebGL2 only: Offset into srcData\n // WebGL2 only: Number of bytes to be copied\n subData(props) {\n // Signature: buffer.subData(new Float32Array([...]))\n if (ArrayBuffer.isView(props)) {\n props = {data: props};\n }\n\n const {data, offset = 0, srcOffset = 0} = props;\n const byteLength = props.byteLength || props.length;\n\n assert(data);\n\n // Create the buffer - binding it here for the first time locks the type\n // In WebGL2, use GL.COPY_WRITE_BUFFER to avoid locking the type\n const target = this.gl.webgl2 ? GL.COPY_WRITE_BUFFER : this.target;\n this.gl.bindBuffer(target, this.handle);\n // WebGL2: subData supports additional srcOffset and length parameters\n if (srcOffset !== 0 || byteLength !== undefined) {\n assertWebGL2Context(this.gl);\n this.gl.bufferSubData(this.target, offset, data, srcOffset, byteLength);\n } else {\n this.gl.bufferSubData(target, offset, data);\n }\n this.gl.bindBuffer(target, null);\n\n // TODO - update local `data` if offsets are right\n this.debugData = null;\n\n this._inferType(data);\n\n return this;\n }\n\n // WEBGL2 ONLY: Copies part of the data of another buffer into this buffer\n copyData({sourceBuffer, readOffset = 0, writeOffset = 0, size}) {\n const {gl} = this;\n assertWebGL2Context(gl);\n\n // Use GL.COPY_READ_BUFFER+GL.COPY_WRITE_BUFFER avoid disturbing other targets and locking type\n gl.bindBuffer(GL.COPY_READ_BUFFER, sourceBuffer.handle);\n gl.bindBuffer(GL.COPY_WRITE_BUFFER, this.handle);\n gl.copyBufferSubData(GL.COPY_READ_BUFFER, GL.COPY_WRITE_BUFFER, readOffset, writeOffset, size);\n gl.bindBuffer(GL.COPY_READ_BUFFER, null);\n gl.bindBuffer(GL.COPY_WRITE_BUFFER, null);\n\n // TODO - update local `data` if offsets are 0\n this.debugData = null;\n\n return this;\n }\n\n // WEBGL2 ONLY: Reads data from buffer into an ArrayBufferView or SharedArrayBuffer.\n getData({dstData = null, srcByteOffset = 0, dstOffset = 0, length = 0} = {}) {\n assertWebGL2Context(this.gl);\n\n const ArrayType = getTypedArrayFromGLType(this.accessor.type || GL.FLOAT, {clamped: false});\n const sourceAvailableElementCount = this._getAvailableElementCount(srcByteOffset);\n\n const dstElementOffset = dstOffset;\n\n let dstAvailableElementCount;\n let dstElementCount;\n if (dstData) {\n dstElementCount = dstData.length;\n dstAvailableElementCount = dstElementCount - dstElementOffset;\n } else {\n // Allocate ArrayBufferView with enough size to copy all eligible data.\n dstAvailableElementCount = Math.min(\n sourceAvailableElementCount,\n length || sourceAvailableElementCount\n );\n dstElementCount = dstElementOffset + dstAvailableElementCount;\n }\n\n const copyElementCount = Math.min(sourceAvailableElementCount, dstAvailableElementCount);\n length = length || copyElementCount;\n assert(length <= copyElementCount);\n dstData = dstData || new ArrayType(dstElementCount);\n\n // Use GL.COPY_READ_BUFFER to avoid disturbing other targets and locking type\n this.gl.bindBuffer(GL.COPY_READ_BUFFER, this.handle);\n this.gl.getBufferSubData(GL.COPY_READ_BUFFER, srcByteOffset, dstData, dstOffset, length);\n this.gl.bindBuffer(GL.COPY_READ_BUFFER, null);\n\n // TODO - update local `data` if offsets are 0\n return dstData;\n }\n\n /**\n * Binds a buffer to a given binding point (target).\n * GL.TRANSFORM_FEEDBACK_BUFFER and GL.UNIFORM_BUFFER take an index, and optionally a range.\n * - GL.TRANSFORM_FEEDBACK_BUFFER and GL.UNIFORM_BUFFER need an index to affect state\n * - GL.UNIFORM_BUFFER: `offset` must be aligned to GL.UNIFORM_BUFFER_OFFSET_ALIGNMENT.\n * - GL.UNIFORM_BUFFER: `size` must be a minimum of GL.UNIFORM_BLOCK_SIZE_DATA.\n */\n bind({\n target = this.target, // target for the bind operation\n index = this.accessor && this.accessor.index, // index = index of target (indexed bind point)\n offset = 0,\n size\n } = {}) {\n // NOTE: While GL.TRANSFORM_FEEDBACK_BUFFER and GL.UNIFORM_BUFFER could\n // be used as direct binding points, they will not affect transform feedback or\n // uniform buffer state. Instead indexed bindings need to be made.\n if (target === GL.UNIFORM_BUFFER || target === GL.TRANSFORM_FEEDBACK_BUFFER) {\n if (size !== undefined) {\n this.gl.bindBufferRange(target, index, this.handle, offset, size);\n } else {\n assert(offset === 0); // Make sure offset wasn't supplied\n this.gl.bindBufferBase(target, index, this.handle);\n }\n } else {\n this.gl.bindBuffer(target, this.handle);\n }\n\n return this;\n }\n\n unbind({target = this.target, index = this.accessor && this.accessor.index} = {}) {\n const isIndexedBuffer = target === GL.UNIFORM_BUFFER || target === GL.TRANSFORM_FEEDBACK_BUFFER;\n if (isIndexedBuffer) {\n this.gl.bindBufferBase(target, index, null);\n } else {\n this.gl.bindBuffer(target, null);\n }\n return this;\n }\n\n // PROTECTED METHODS (INTENDED FOR USE BY OTHER FRAMEWORK CODE ONLY)\n\n // Returns a short initial data array\n getDebugData() {\n if (!this.debugData) {\n this.debugData = this.getData({length: Math.min(DEBUG_DATA_LENGTH, this.byteLength)});\n return {data: this.debugData, changed: true};\n }\n return {data: this.debugData, changed: false};\n }\n\n invalidateDebugData() {\n this.debugData = null;\n }\n\n // PRIVATE METHODS\n\n // Allocate a new buffer and initialize to contents of typed array\n _setData(data, offset = 0, byteLength = data.byteLength + offset) {\n assert(ArrayBuffer.isView(data));\n\n this._trackDeallocatedMemory();\n\n const target = this._getTarget();\n this.gl.bindBuffer(target, this.handle);\n this.gl.bufferData(target, byteLength, this.usage);\n this.gl.bufferSubData(target, offset, data);\n this.gl.bindBuffer(target, null);\n\n this.debugData = data.slice(0, DEBUG_DATA_LENGTH);\n this.bytesUsed = byteLength;\n\n this._trackAllocatedMemory(byteLength);\n\n // infer GL type from supplied typed array\n const type = getGLTypeFromTypedArray(data);\n assert(type);\n this.setAccessor(new Accessor(this.accessor, {type}));\n return this;\n }\n\n // Allocate a GPU buffer of specified size.\n _setByteLength(byteLength, usage = this.usage) {\n assert(byteLength >= 0);\n\n this._trackDeallocatedMemory();\n\n // Workaround needed for Safari (#291):\n // gl.bufferData with size equal to 0 crashes. Instead create zero sized array.\n let data = byteLength;\n if (byteLength === 0) {\n data = new Float32Array(0);\n }\n\n const target = this._getTarget();\n this.gl.bindBuffer(target, this.handle);\n this.gl.bufferData(target, data, usage);\n this.gl.bindBuffer(target, null);\n\n this.usage = usage;\n this.debugData = null;\n this.bytesUsed = byteLength;\n\n this._trackAllocatedMemory(byteLength);\n\n return this;\n }\n\n // Binding a buffer for the first time locks the type\n // In WebGL2, use GL.COPY_WRITE_BUFFER to avoid locking the type\n _getTarget() {\n return this.gl.webgl2 ? GL.COPY_WRITE_BUFFER : this.target;\n }\n\n _getAvailableElementCount(srcByteOffset) {\n const ArrayType = getTypedArrayFromGLType(this.accessor.type || GL.FLOAT, {clamped: false});\n const sourceElementOffset = srcByteOffset / ArrayType.BYTES_PER_ELEMENT;\n return this.getElementCount() - sourceElementOffset;\n }\n\n // Automatically infers type from typed array passed to setData\n // Note: No longer that useful, since type is now autodeduced from the compiled shaders\n _inferType(data) {\n if (!this.accessor.type) {\n this.setAccessor(new Accessor(this.accessor, {type: getGLTypeFromTypedArray(data)}));\n }\n }\n\n // RESOURCE METHODS\n\n _createHandle() {\n return this.gl.createBuffer();\n }\n\n _deleteHandle() {\n this.gl.deleteBuffer(this.handle);\n this._trackDeallocatedMemory();\n }\n\n _getParameter(pname) {\n this.gl.bindBuffer(this.target, this.handle);\n const value = this.gl.getBufferParameter(this.target, pname);\n this.gl.bindBuffer(this.target, null);\n return value;\n }\n\n // DEPRECATIONS - v7.0\n get type() {\n log.deprecated('Buffer.type', 'Buffer.accessor.type')();\n return this.accessor.type;\n }\n\n get bytes() {\n log.deprecated('Buffer.bytes', 'Buffer.byteLength')();\n return this.byteLength;\n }\n\n // DEPRECATIONS - v6.0\n // Deprecated in v6.x, but not warnings not properly implemented\n setByteLength(byteLength) {\n log.deprecated('setByteLength', 'reallocate')();\n return this.reallocate(byteLength);\n }\n\n // Deprecated in v6.x, but not warnings not properly implemented\n updateAccessor(opts) {\n log.deprecated('updateAccessor(...)', 'setAccessor(new Accessor(buffer.accessor, ...)')();\n this.accessor = new Accessor(this.accessor, opts);\n return this;\n }\n}\n"],"file":"buffer.js"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import Framebuffer from './framebuffer';
|
|
2
|
-
|
|
3
|
-
export function clear(
|
|
4
|
-
gl: WebGLRenderingContext,
|
|
5
|
-
options?: {framebuffer?: Framebuffer; color?: any; depth?: any; stencil?: any}
|
|
6
|
-
): void;
|
|
7
|
-
|
|
8
|
-
export function clearBuffer(
|
|
9
|
-
gl: any,
|
|
10
|
-
options?: {framebuffer?: Framebuffer; buffer?: any; drawBuffer?: any; value?: any}
|
|
11
|
-
);
|