@luma.gl/webgl 9.0.0-alpha.15 → 9.0.0-alpha.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
- package/dist/adapter/converters/device-parameters.js +3 -23
- package/dist/adapter/converters/device-parameters.js.map +1 -1
- package/dist/adapter/converters/renderbuffer-formats.js +1 -5
- package/dist/adapter/converters/renderbuffer-formats.js.map +1 -1
- package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
- package/dist/adapter/converters/sampler-parameters.js +3 -58
- package/dist/adapter/converters/sampler-parameters.js.map +1 -1
- package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
- package/dist/adapter/converters/texture-formats.js +10 -54
- package/dist/adapter/converters/texture-formats.js.map +1 -1
- package/dist/adapter/converters/vertex-formats.js +0 -9
- package/dist/adapter/converters/vertex-formats.js.map +1 -1
- package/dist/adapter/device-helpers/device-features.js +5 -22
- package/dist/adapter/device-helpers/device-features.js.map +1 -1
- package/dist/adapter/device-helpers/device-limits.js +1 -4
- package/dist/adapter/device-helpers/device-limits.js.map +1 -1
- package/dist/adapter/device-helpers/get-device-info.js +6 -12
- package/dist/adapter/device-helpers/get-device-info.js.map +1 -1
- package/dist/adapter/device-helpers/is-old-ie.js +2 -1
- package/dist/adapter/device-helpers/is-old-ie.js.map +1 -1
- package/dist/adapter/helpers/attribute-utils.js +0 -17
- package/dist/adapter/helpers/attribute-utils.js.map +1 -1
- package/dist/adapter/helpers/get-shader-info.d.ts +9 -0
- package/dist/adapter/helpers/get-shader-info.d.ts.map +1 -0
- package/dist/adapter/helpers/get-shader-info.js +25 -0
- package/dist/adapter/helpers/get-shader-info.js.map +1 -0
- package/dist/adapter/helpers/get-shader-layout.js +9 -57
- package/dist/adapter/helpers/get-shader-layout.js.map +1 -1
- package/dist/adapter/helpers/parse-shader-compiler-log.d.ts +1 -1
- package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -1
- package/dist/adapter/helpers/parse-shader-compiler-log.js +0 -7
- package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -1
- package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
- package/dist/adapter/helpers/set-uniform.js +0 -30
- package/dist/adapter/helpers/set-uniform.js.map +1 -1
- package/dist/adapter/helpers/uniforms.js +0 -10
- package/dist/adapter/helpers/uniforms.js.map +1 -1
- package/dist/adapter/objects/constants-to-keys.js +0 -7
- package/dist/adapter/objects/constants-to-keys.js.map +1 -1
- package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-renderbuffer.js +4 -20
- package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -1
- package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-resource.js +13 -60
- package/dist/adapter/objects/webgl-resource.js.map +1 -1
- package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-vertex-array-object.js +6 -16
- package/dist/adapter/objects/webgl-vertex-array-object.js.map +1 -1
- package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-buffer.js +13 -42
- package/dist/adapter/resources/webgl-buffer.js.map +1 -1
- package/dist/adapter/resources/webgl-command-buffer.js +2 -17
- package/dist/adapter/resources/webgl-command-buffer.js.map +1 -1
- package/dist/adapter/resources/webgl-command-encoder.js +1 -14
- package/dist/adapter/resources/webgl-command-encoder.js.map +1 -1
- package/dist/adapter/resources/webgl-external-texture.js.map +1 -1
- package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-framebuffer.js +5 -65
- package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
- package/dist/adapter/resources/webgl-render-pass.d.ts +1 -1
- package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pass.js +1 -8
- package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.js +9 -98
- package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
- package/dist/adapter/resources/webgl-sampler.js +1 -13
- package/dist/adapter/resources/webgl-sampler.js.map +1 -1
- package/dist/adapter/resources/webgl-shader.d.ts +1 -2
- package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-shader.js +3 -17
- package/dist/adapter/resources/webgl-shader.js.map +1 -1
- package/dist/adapter/resources/webgl-texture.d.ts +1 -1
- package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-texture.js +44 -162
- package/dist/adapter/resources/webgl-texture.js.map +1 -1
- package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
- package/dist/adapter/webgl-canvas-context.js +2 -16
- package/dist/adapter/webgl-canvas-context.js.map +1 -1
- package/dist/adapter/webgl-device.d.ts +5 -0
- package/dist/adapter/webgl-device.d.ts.map +1 -1
- package/dist/adapter/webgl-device.js +40 -107
- package/dist/adapter/webgl-device.js.map +1 -1
- package/dist/classic/accessor.js +11 -35
- package/dist/classic/accessor.js.map +1 -1
- package/dist/classic/buffer.d.ts.map +1 -1
- package/dist/classic/buffer.js +20 -76
- package/dist/classic/buffer.js.map +1 -1
- package/dist/classic/typed-array-utils.d.ts.map +1 -1
- package/dist/classic/typed-array-utils.js +0 -20
- package/dist/classic/typed-array-utils.js.map +1 -1
- package/dist/context/context/create-browser-context.d.ts +1 -0
- package/dist/context/context/create-browser-context.d.ts.map +1 -1
- package/dist/context/context/create-browser-context.js +6 -14
- package/dist/context/context/create-browser-context.js.map +1 -1
- package/dist/context/context/create-headless-context.js +6 -7
- package/dist/context/context/create-headless-context.js.map +1 -1
- package/dist/context/context/webgl-checks.js +0 -3
- package/dist/context/context/webgl-checks.js.map +1 -1
- package/dist/context/debug/spector.d.ts +1 -0
- package/dist/context/debug/spector.d.ts.map +1 -1
- package/dist/context/debug/spector.js +6 -18
- package/dist/context/debug/spector.js.map +1 -1
- package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
- package/dist/context/debug/webgl-developer-tools.js +4 -22
- package/dist/context/debug/webgl-developer-tools.js.map +1 -1
- package/dist/context/parameters/unified-parameter-api.js +4 -15
- package/dist/context/parameters/unified-parameter-api.js.map +1 -1
- package/dist/context/parameters/webgl-parameter-tables.js +1 -20
- package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
- package/dist/context/polyfill/context-data.js +0 -2
- package/dist/context/polyfill/context-data.js.map +1 -1
- package/dist/context/polyfill/get-parameter-polyfill.js +1 -6
- package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -1
- package/dist/context/polyfill/polyfill-context.js +17 -24
- package/dist/context/polyfill/polyfill-context.js.map +1 -1
- package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
- package/dist/context/polyfill/polyfill-table.js +3 -26
- package/dist/context/polyfill/polyfill-table.js.map +1 -1
- package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -1
- package/dist/context/polyfill/polyfill-vertex-array-object.js +0 -70
- package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -1
- package/dist/context/state-tracker/deep-array-equal.js +0 -4
- package/dist/context/state-tracker/deep-array-equal.js.map +1 -1
- package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
- package/dist/context/state-tracker/track-context-state.js +14 -48
- package/dist/context/state-tracker/track-context-state.js.map +1 -1
- package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
- package/dist/context/state-tracker/with-parameters.js +3 -9
- package/dist/context/state-tracker/with-parameters.js.map +1 -1
- package/dist/dist.dev.js +9205 -0
- package/dist/index.cjs +5948 -0
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -26
- package/dist/index.js.map +1 -1
- package/dist/types/webgl.d.ts +4 -4
- package/dist/types/webgl.d.ts.map +1 -1
- package/dist/types/webgl.js.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist.min.js +36 -0
- package/package.json +18 -9
- package/src/.DS_Store +0 -0
- package/src/adapter/.DS_Store +0 -0
- package/src/adapter/converters/device-parameters.ts +5 -2
- package/src/adapter/converters/sampler-parameters.ts +4 -2
- package/src/adapter/converters/texture-formats.ts +3 -1
- package/src/adapter/device-helpers/get-device-info.ts +8 -8
- package/src/adapter/helpers/get-shader-info.ts +37 -0
- package/src/adapter/helpers/get-shader-layout.ts +4 -4
- package/src/adapter/helpers/parse-shader-compiler-log.ts +2 -2
- package/src/adapter/helpers/set-uniform.ts +2 -0
- package/src/adapter/objects/webgl-renderbuffer.ts +1 -1
- package/src/adapter/objects/webgl-resource.ts +1 -1
- package/src/adapter/objects/webgl-vertex-array-object.ts +1 -1
- package/src/adapter/resources/webgl-buffer.ts +5 -5
- package/src/adapter/resources/webgl-command-encoder.ts +1 -1
- package/src/adapter/resources/webgl-framebuffer.ts +3 -4
- package/src/adapter/resources/webgl-render-pass.ts +1 -1
- package/src/adapter/resources/webgl-render-pipeline.ts +19 -20
- package/src/adapter/resources/webgl-shader.ts +3 -3
- package/src/adapter/resources/webgl-texture.ts +8 -9
- package/src/adapter/webgl-canvas-context.ts +2 -2
- package/src/adapter/webgl-device.ts +13 -3
- package/src/classic/accessor.ts +1 -1
- package/src/classic/buffer.ts +3 -3
- package/src/classic/typed-array-utils.ts +1 -1
- package/src/context/.DS_Store +0 -0
- package/src/context/context/create-browser-context.ts +4 -2
- package/src/context/context/create-headless-context.ts +2 -2
- package/src/context/debug/spector.ts +5 -4
- package/src/context/debug/webgl-developer-tools.ts +1 -1
- package/src/context/polyfill/polyfill-table.ts +1 -0
- package/src/context/polyfill/polyfill-vertex-array-object.ts +2 -0
- package/src/context/state-tracker/track-context-state.ts +6 -5
- package/src/context/state-tracker/with-parameters.ts +1 -1
- package/src/index.ts +1 -5
- package/src/types/webgl.ts +6 -4
- package/dist/bundle.d.ts +0 -2
- package/dist/bundle.d.ts.map +0 -1
- package/dist/bundle.js +0 -5
- package/dist/bundle.js.map +0 -1
- package/dist/es5/adapter/converters/device-parameters.js +0 -174
- package/dist/es5/adapter/converters/device-parameters.js.map +0 -1
- package/dist/es5/adapter/converters/renderbuffer-formats.js +0 -163
- package/dist/es5/adapter/converters/renderbuffer-formats.js.map +0 -1
- package/dist/es5/adapter/converters/sampler-parameters.js +0 -245
- package/dist/es5/adapter/converters/sampler-parameters.js.map +0 -1
- package/dist/es5/adapter/converters/texture-formats.js +0 -1022
- package/dist/es5/adapter/converters/texture-formats.js.map +0 -1
- package/dist/es5/adapter/converters/vertex-formats.js +0 -48
- package/dist/es5/adapter/converters/vertex-formats.js.map +0 -1
- package/dist/es5/adapter/device-helpers/device-features.js +0 -155
- package/dist/es5/adapter/device-helpers/device-features.js.map +0 -1
- package/dist/es5/adapter/device-helpers/device-limits.js +0 -64
- package/dist/es5/adapter/device-helpers/device-limits.js.map +0 -1
- package/dist/es5/adapter/device-helpers/get-device-info.js +0 -59
- package/dist/es5/adapter/device-helpers/get-device-info.js.map +0 -1
- package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -16
- package/dist/es5/adapter/device-helpers/is-old-ie.js.map +0 -1
- package/dist/es5/adapter/helpers/attribute-utils.js +0 -91
- package/dist/es5/adapter/helpers/attribute-utils.js.map +0 -1
- package/dist/es5/adapter/helpers/get-shader-layout.js +0 -389
- package/dist/es5/adapter/helpers/get-shader-layout.js.map +0 -1
- package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +0 -72
- package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
- package/dist/es5/adapter/helpers/set-uniform.js +0 -125
- package/dist/es5/adapter/helpers/set-uniform.js.map +0 -1
- package/dist/es5/adapter/helpers/uniforms.js +0 -112
- package/dist/es5/adapter/helpers/uniforms.js.map +0 -1
- package/dist/es5/adapter/objects/constants-to-keys.js +0 -54
- package/dist/es5/adapter/objects/constants-to-keys.js.map +0 -1
- package/dist/es5/adapter/objects/webgl-renderbuffer.js +0 -150
- package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +0 -1
- package/dist/es5/adapter/objects/webgl-resource.js +0 -287
- package/dist/es5/adapter/objects/webgl-resource.js.map +0 -1
- package/dist/es5/adapter/objects/webgl-vertex-array-object.js +0 -137
- package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-buffer.js +0 -242
- package/dist/es5/adapter/resources/webgl-buffer.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-command-buffer.js +0 -96
- package/dist/es5/adapter/resources/webgl-command-buffer.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -98
- package/dist/es5/adapter/resources/webgl-command-encoder.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-external-texture.js +0 -2
- package/dist/es5/adapter/resources/webgl-external-texture.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-framebuffer.js +0 -347
- package/dist/es5/adapter/resources/webgl-framebuffer.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-render-pass.js +0 -62
- package/dist/es5/adapter/resources/webgl-render-pass.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-render-pipeline.js +0 -494
- package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-sampler.js +0 -101
- package/dist/es5/adapter/resources/webgl-sampler.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-shader.js +0 -150
- package/dist/es5/adapter/resources/webgl-shader.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-texture.js +0 -980
- package/dist/es5/adapter/resources/webgl-texture.js.map +0 -1
- package/dist/es5/adapter/webgl-canvas-context.js +0 -96
- package/dist/es5/adapter/webgl-canvas-context.js.map +0 -1
- package/dist/es5/adapter/webgl-device.js +0 -474
- package/dist/es5/adapter/webgl-device.js.map +0 -1
- package/dist/es5/bundle.js +0 -7
- package/dist/es5/bundle.js.map +0 -1
- package/dist/es5/classic/accessor.js +0 -181
- package/dist/es5/classic/accessor.js.map +0 -1
- package/dist/es5/classic/buffer.js +0 -468
- package/dist/es5/classic/buffer.js.map +0 -1
- package/dist/es5/classic/typed-array-utils.js +0 -126
- package/dist/es5/classic/typed-array-utils.js.map +0 -1
- package/dist/es5/context/context/create-browser-context.js +0 -83
- package/dist/es5/context/context/create-browser-context.js.map +0 -1
- package/dist/es5/context/context/create-headless-context.js +0 -60
- package/dist/es5/context/context/create-headless-context.js.map +0 -1
- package/dist/es5/context/context/webgl-checks.js +0 -54
- package/dist/es5/context/context/webgl-checks.js.map +0 -1
- package/dist/es5/context/debug/spector.js +0 -133
- package/dist/es5/context/debug/spector.js.map +0 -1
- package/dist/es5/context/debug/webgl-developer-tools.js +0 -192
- package/dist/es5/context/debug/webgl-developer-tools.js.map +0 -1
- package/dist/es5/context/parameters/unified-parameter-api.js +0 -101
- package/dist/es5/context/parameters/unified-parameter-api.js.map +0 -1
- package/dist/es5/context/parameters/webgl-parameter-tables.js +0 -393
- package/dist/es5/context/parameters/webgl-parameter-tables.js.map +0 -1
- package/dist/es5/context/polyfill/context-data.js +0 -21
- package/dist/es5/context/polyfill/context-data.js.map +0 -1
- package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -81
- package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +0 -1
- package/dist/es5/context/polyfill/polyfill-context.js +0 -134
- package/dist/es5/context/polyfill/polyfill-context.js.map +0 -1
- package/dist/es5/context/polyfill/polyfill-table.js +0 -167
- package/dist/es5/context/polyfill/polyfill-table.js.map +0 -1
- package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -341
- package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
- package/dist/es5/context/state-tracker/deep-array-equal.js +0 -28
- package/dist/es5/context/state-tracker/deep-array-equal.js.map +0 -1
- package/dist/es5/context/state-tracker/track-context-state.js +0 -210
- package/dist/es5/context/state-tracker/track-context-state.js.map +0 -1
- package/dist/es5/context/state-tracker/with-parameters.js +0 -52
- package/dist/es5/context/state-tracker/with-parameters.js.map +0 -1
- package/dist/es5/index.js +0 -276
- package/dist/es5/index.js.map +0 -1
- package/dist/es5/init.js +0 -10
- package/dist/es5/init.js.map +0 -1
- package/dist/es5/types/webgl.js +0 -6
- package/dist/es5/types/webgl.js.map +0 -1
- package/dist/es5/types.js +0 -2
- package/dist/es5/types.js.map +0 -1
- package/dist/esm/adapter/converters/device-parameters.js +0 -157
- package/dist/esm/adapter/converters/device-parameters.js.map +0 -1
- package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -185
- package/dist/esm/adapter/converters/renderbuffer-formats.js.map +0 -1
- package/dist/esm/adapter/converters/sampler-parameters.js +0 -227
- package/dist/esm/adapter/converters/sampler-parameters.js.map +0 -1
- package/dist/esm/adapter/converters/texture-formats.js +0 -945
- package/dist/esm/adapter/converters/texture-formats.js.map +0 -1
- package/dist/esm/adapter/converters/vertex-formats.js +0 -38
- package/dist/esm/adapter/converters/vertex-formats.js.map +0 -1
- package/dist/esm/adapter/device-helpers/device-features.js +0 -112
- package/dist/esm/adapter/device-helpers/device-features.js.map +0 -1
- package/dist/esm/adapter/device-helpers/device-limits.js +0 -91
- package/dist/esm/adapter/device-helpers/device-limits.js.map +0 -1
- package/dist/esm/adapter/device-helpers/get-device-info.js +0 -48
- package/dist/esm/adapter/device-helpers/get-device-info.js.map +0 -1
- package/dist/esm/adapter/device-helpers/is-old-ie.js +0 -8
- package/dist/esm/adapter/device-helpers/is-old-ie.js.map +0 -1
- package/dist/esm/adapter/helpers/attribute-utils.js +0 -81
- package/dist/esm/adapter/helpers/attribute-utils.js.map +0 -1
- package/dist/esm/adapter/helpers/get-shader-layout.js +0 -328
- package/dist/esm/adapter/helpers/get-shader-layout.js.map +0 -1
- package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -37
- package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
- package/dist/esm/adapter/helpers/set-uniform.js +0 -115
- package/dist/esm/adapter/helpers/set-uniform.js.map +0 -1
- package/dist/esm/adapter/helpers/uniforms.js +0 -99
- package/dist/esm/adapter/helpers/uniforms.js.map +0 -1
- package/dist/esm/adapter/objects/constants-to-keys.js +0 -42
- package/dist/esm/adapter/objects/constants-to-keys.js.map +0 -1
- package/dist/esm/adapter/objects/webgl-renderbuffer.js +0 -94
- package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +0 -1
- package/dist/esm/adapter/objects/webgl-resource.js +0 -210
- package/dist/esm/adapter/objects/webgl-resource.js.map +0 -1
- package/dist/esm/adapter/objects/webgl-vertex-array-object.js +0 -84
- package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-buffer.js +0 -162
- package/dist/esm/adapter/resources/webgl-buffer.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-command-buffer.js +0 -65
- package/dist/esm/adapter/resources/webgl-command-buffer.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -53
- package/dist/esm/adapter/resources/webgl-command-encoder.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-external-texture.js +0 -2
- package/dist/esm/adapter/resources/webgl-external-texture.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-framebuffer.js +0 -267
- package/dist/esm/adapter/resources/webgl-framebuffer.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-render-pass.js +0 -21
- package/dist/esm/adapter/resources/webgl-render-pass.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -400
- package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-sampler.js +0 -54
- package/dist/esm/adapter/resources/webgl-sampler.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-shader.js +0 -76
- package/dist/esm/adapter/resources/webgl-shader.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-texture.js +0 -832
- package/dist/esm/adapter/resources/webgl-texture.js.map +0 -1
- package/dist/esm/adapter/webgl-canvas-context.js +0 -55
- package/dist/esm/adapter/webgl-canvas-context.js.map +0 -1
- package/dist/esm/adapter/webgl-device.js +0 -346
- package/dist/esm/adapter/webgl-device.js.map +0 -1
- package/dist/esm/bundle.js +0 -5
- package/dist/esm/bundle.js.map +0 -1
- package/dist/esm/classic/accessor.js +0 -144
- package/dist/esm/classic/accessor.js.map +0 -1
- package/dist/esm/classic/buffer.js +0 -383
- package/dist/esm/classic/buffer.js.map +0 -1
- package/dist/esm/classic/typed-array-utils.js +0 -112
- package/dist/esm/classic/typed-array-utils.js.map +0 -1
- package/dist/esm/context/context/create-browser-context.js +0 -61
- package/dist/esm/context/context/create-browser-context.js.map +0 -1
- package/dist/esm/context/context/create-headless-context.js +0 -43
- package/dist/esm/context/context/create-headless-context.js.map +0 -1
- package/dist/esm/context/context/webgl-checks.js +0 -34
- package/dist/esm/context/context/webgl-checks.js.map +0 -1
- package/dist/esm/context/debug/spector.js +0 -76
- package/dist/esm/context/debug/spector.js.map +0 -1
- package/dist/esm/context/debug/webgl-developer-tools.js +0 -115
- package/dist/esm/context/debug/webgl-developer-tools.js.map +0 -1
- package/dist/esm/context/parameters/unified-parameter-api.js +0 -66
- package/dist/esm/context/parameters/unified-parameter-api.js.map +0 -1
- package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -446
- package/dist/esm/context/parameters/webgl-parameter-tables.js.map +0 -1
- package/dist/esm/context/polyfill/context-data.js +0 -14
- package/dist/esm/context/polyfill/context-data.js.map +0 -1
- package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -91
- package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +0 -1
- package/dist/esm/context/polyfill/polyfill-context.js +0 -91
- package/dist/esm/context/polyfill/polyfill-context.js.map +0 -1
- package/dist/esm/context/polyfill/polyfill-table.js +0 -161
- package/dist/esm/context/polyfill/polyfill-table.js.map +0 -1
- package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -335
- package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
- package/dist/esm/context/state-tracker/deep-array-equal.js +0 -21
- package/dist/esm/context/state-tracker/deep-array-equal.js.map +0 -1
- package/dist/esm/context/state-tracker/track-context-state.js +0 -182
- package/dist/esm/context/state-tracker/track-context-state.js.map +0 -1
- package/dist/esm/context/state-tracker/with-parameters.js +0 -40
- package/dist/esm/context/state-tracker/with-parameters.js.map +0 -1
- package/dist/esm/index.js +0 -27
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/init.js +0 -4
- package/dist/esm/init.js.map +0 -1
- package/dist/esm/types/webgl.js +0 -2
- package/dist/esm/types/webgl.js.map +0 -1
- package/dist/esm/types.js +0 -2
- package/dist/esm/types.js.map +0 -1
- package/dist/init.d.ts +0 -2
- package/dist/init.d.ts.map +0 -1
- package/dist/init.js +0 -4
- package/dist/init.js.map +0 -1
- package/src/bundle.ts +0 -4
- package/src/init.ts +0 -4
|
@@ -1,393 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.NON_CACHE_PARAMETERS = exports.GL_PARAMETER_GETTERS = exports.GL_HOOKED_SETTERS = exports.GL_COMPOSITE_PARAMETER_SETTERS = exports.GL_PARAMETER_SETTERS = exports.GL_PARAMETER_DEFAULTS = void 0;
|
|
9
|
-
|
|
10
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
-
|
|
12
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
-
|
|
14
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
-
|
|
16
|
-
var _constants = _interopRequireDefault(require("@luma.gl/constants"));
|
|
17
|
-
|
|
18
|
-
var _webglChecks = require("../context/webgl-checks");
|
|
19
|
-
|
|
20
|
-
var _GL_PARAMETER_DEFAULT, _GL_PARAMETER_SETTERS, _GL_PARAMETER_GETTERS;
|
|
21
|
-
|
|
22
|
-
var GL_PARAMETER_DEFAULTS = (_GL_PARAMETER_DEFAULT = {}, (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.BLEND, false), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.BLEND_COLOR, new Float32Array([0, 0, 0, 0])), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.BLEND_EQUATION_RGB, _constants.default.FUNC_ADD), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.BLEND_EQUATION_ALPHA, _constants.default.FUNC_ADD), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.BLEND_SRC_RGB, _constants.default.ONE), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.BLEND_DST_RGB, _constants.default.ZERO), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.BLEND_SRC_ALPHA, _constants.default.ONE), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.BLEND_DST_ALPHA, _constants.default.ZERO), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.COLOR_CLEAR_VALUE, new Float32Array([0, 0, 0, 0])), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.COLOR_WRITEMASK, [true, true, true, true]), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.CULL_FACE, false), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.CULL_FACE_MODE, _constants.default.BACK), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.DEPTH_TEST, false), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.DEPTH_CLEAR_VALUE, 1), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.DEPTH_FUNC, _constants.default.LESS), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.DEPTH_RANGE, new Float32Array([0, 1])), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.DEPTH_WRITEMASK, true), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.DITHER, true), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.CURRENT_PROGRAM, null), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.FRAMEBUFFER_BINDING, null), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.RENDERBUFFER_BINDING, null), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.VERTEX_ARRAY_BINDING, null), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.ARRAY_BUFFER_BINDING, null), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.FRONT_FACE, _constants.default.CCW), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.GENERATE_MIPMAP_HINT, _constants.default.DONT_CARE), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.LINE_WIDTH, 1), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.POLYGON_OFFSET_FILL, false), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.POLYGON_OFFSET_FACTOR, 0), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.POLYGON_OFFSET_UNITS, 0), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.SAMPLE_ALPHA_TO_COVERAGE, false), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.SAMPLE_COVERAGE, false), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.SAMPLE_COVERAGE_VALUE, 1.0), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.SAMPLE_COVERAGE_INVERT, false), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.SCISSOR_TEST, false), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.SCISSOR_BOX, new Int32Array([0, 0, 1024, 1024])), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_TEST, false), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_CLEAR_VALUE, 0), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_WRITEMASK, 0xffffffff), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_BACK_WRITEMASK, 0xffffffff), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_FUNC, _constants.default.ALWAYS), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_REF, 0), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_VALUE_MASK, 0xffffffff), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_BACK_FUNC, _constants.default.ALWAYS), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_BACK_REF, 0), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_BACK_VALUE_MASK, 0xffffffff), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_FAIL, _constants.default.KEEP), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_PASS_DEPTH_FAIL, _constants.default.KEEP), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_PASS_DEPTH_PASS, _constants.default.KEEP), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_BACK_FAIL, _constants.default.KEEP), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_BACK_PASS_DEPTH_FAIL, _constants.default.KEEP), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_BACK_PASS_DEPTH_PASS, _constants.default.KEEP), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.VIEWPORT, [0, 0, 1024, 1024]), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.PACK_ALIGNMENT, 4), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.UNPACK_ALIGNMENT, 4), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.UNPACK_FLIP_Y_WEBGL, false), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.UNPACK_PREMULTIPLY_ALPHA_WEBGL, false), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.UNPACK_COLORSPACE_CONVERSION_WEBGL, _constants.default.BROWSER_DEFAULT_WEBGL), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.TRANSFORM_FEEDBACK_BINDING, null), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.COPY_READ_BUFFER_BINDING, null), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.COPY_WRITE_BUFFER_BINDING, null), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.PIXEL_PACK_BUFFER_BINDING, null), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.PIXEL_UNPACK_BUFFER_BINDING, null), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.FRAGMENT_SHADER_DERIVATIVE_HINT, _constants.default.DONT_CARE), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.READ_FRAMEBUFFER_BINDING, null), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.RASTERIZER_DISCARD, false), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.PACK_ROW_LENGTH, 0), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.PACK_SKIP_PIXELS, 0), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.PACK_SKIP_ROWS, 0), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.UNPACK_ROW_LENGTH, 0), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.UNPACK_IMAGE_HEIGHT, 0), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.UNPACK_SKIP_PIXELS, 0), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.UNPACK_SKIP_ROWS, 0), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.UNPACK_SKIP_IMAGES, 0), _GL_PARAMETER_DEFAULT);
|
|
23
|
-
exports.GL_PARAMETER_DEFAULTS = GL_PARAMETER_DEFAULTS;
|
|
24
|
-
|
|
25
|
-
var enable = function enable(gl, value, key) {
|
|
26
|
-
return value ? gl.enable(key) : gl.disable(key);
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
var hint = function hint(gl, value, key) {
|
|
30
|
-
return gl.hint(key, value);
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
var pixelStorei = function pixelStorei(gl, value, key) {
|
|
34
|
-
return gl.pixelStorei(key, value);
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
var bindFramebuffer = function bindFramebuffer(gl, value, key) {
|
|
38
|
-
var target;
|
|
39
|
-
|
|
40
|
-
if (key === _constants.default.FRAMEBUFFER_BINDING) {
|
|
41
|
-
target = (0, _webglChecks.isWebGL2)(gl) ? _constants.default.DRAW_FRAMEBUFFER : _constants.default.FRAMEBUFFER;
|
|
42
|
-
} else {
|
|
43
|
-
target = _constants.default.READ_FRAMEBUFFER;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
return gl.bindFramebuffer(target, value);
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
var bindBuffer = function bindBuffer(gl, value, key) {
|
|
50
|
-
var _bindingMap;
|
|
51
|
-
|
|
52
|
-
var bindingMap = (_bindingMap = {}, (0, _defineProperty2.default)(_bindingMap, _constants.default.ARRAY_BUFFER_BINDING, _constants.default.ARRAY_BUFFER), (0, _defineProperty2.default)(_bindingMap, _constants.default.COPY_READ_BUFFER_BINDING, _constants.default.COPY_READ_BUFFER), (0, _defineProperty2.default)(_bindingMap, _constants.default.COPY_WRITE_BUFFER_BINDING, _constants.default.COPY_WRITE_BUFFER), (0, _defineProperty2.default)(_bindingMap, _constants.default.PIXEL_PACK_BUFFER_BINDING, _constants.default.PIXEL_PACK_BUFFER), (0, _defineProperty2.default)(_bindingMap, _constants.default.PIXEL_UNPACK_BUFFER_BINDING, _constants.default.PIXEL_UNPACK_BUFFER), _bindingMap);
|
|
53
|
-
var target = bindingMap[key];
|
|
54
|
-
gl.bindBuffer(target, value);
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
function isArray(array) {
|
|
58
|
-
return Array.isArray(array) || ArrayBuffer.isView(array) && !(array instanceof DataView);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
var GL_PARAMETER_SETTERS = (_GL_PARAMETER_SETTERS = {}, (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.BLEND, enable), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.BLEND_COLOR, function (gl, value) {
|
|
62
|
-
return gl.blendColor.apply(gl, (0, _toConsumableArray2.default)(value));
|
|
63
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.BLEND_EQUATION_RGB, 'blendEquation'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.BLEND_EQUATION_ALPHA, 'blendEquation'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.BLEND_SRC_RGB, 'blendFunc'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.BLEND_DST_RGB, 'blendFunc'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.BLEND_SRC_ALPHA, 'blendFunc'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.BLEND_DST_ALPHA, 'blendFunc'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.COLOR_CLEAR_VALUE, function (gl, value) {
|
|
64
|
-
return gl.clearColor.apply(gl, (0, _toConsumableArray2.default)(value));
|
|
65
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.COLOR_WRITEMASK, function (gl, value) {
|
|
66
|
-
return gl.colorMask.apply(gl, (0, _toConsumableArray2.default)(value));
|
|
67
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.CULL_FACE, enable), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.CULL_FACE_MODE, function (gl, value) {
|
|
68
|
-
return gl.cullFace(value);
|
|
69
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.DEPTH_TEST, enable), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.DEPTH_CLEAR_VALUE, function (gl, value) {
|
|
70
|
-
return gl.clearDepth(value);
|
|
71
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.DEPTH_FUNC, function (gl, value) {
|
|
72
|
-
return gl.depthFunc(value);
|
|
73
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.DEPTH_RANGE, function (gl, value) {
|
|
74
|
-
return gl.depthRange.apply(gl, (0, _toConsumableArray2.default)(value));
|
|
75
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.DEPTH_WRITEMASK, function (gl, value) {
|
|
76
|
-
return gl.depthMask(value);
|
|
77
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.DITHER, enable), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.FRAGMENT_SHADER_DERIVATIVE_HINT, hint), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.CURRENT_PROGRAM, function (gl, value) {
|
|
78
|
-
return gl.useProgram(value);
|
|
79
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.RENDERBUFFER_BINDING, function (gl, value) {
|
|
80
|
-
return gl.bindRenderbuffer(_constants.default.RENDERBUFFER, value);
|
|
81
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.TRANSFORM_FEEDBACK_BINDING, function (gl, value) {
|
|
82
|
-
var _bindTransformFeedbac, _ref;
|
|
83
|
-
|
|
84
|
-
return (_bindTransformFeedbac = (_ref = gl).bindTransformFeedback) === null || _bindTransformFeedbac === void 0 ? void 0 : _bindTransformFeedbac.call(_ref, _constants.default.TRANSFORM_FEEDBACK, value);
|
|
85
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.VERTEX_ARRAY_BINDING, function (gl, value) {
|
|
86
|
-
return gl.bindVertexArray(value);
|
|
87
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.FRAMEBUFFER_BINDING, bindFramebuffer), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.READ_FRAMEBUFFER_BINDING, bindFramebuffer), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.ARRAY_BUFFER_BINDING, bindBuffer), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.COPY_READ_BUFFER_BINDING, bindBuffer), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.COPY_WRITE_BUFFER_BINDING, bindBuffer), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.PIXEL_PACK_BUFFER_BINDING, bindBuffer), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.PIXEL_UNPACK_BUFFER_BINDING, bindBuffer), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.FRONT_FACE, function (gl, value) {
|
|
88
|
-
return gl.frontFace(value);
|
|
89
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.GENERATE_MIPMAP_HINT, hint), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.LINE_WIDTH, function (gl, value) {
|
|
90
|
-
return gl.lineWidth(value);
|
|
91
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.POLYGON_OFFSET_FILL, enable), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.POLYGON_OFFSET_FACTOR, 'polygonOffset'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.POLYGON_OFFSET_UNITS, 'polygonOffset'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.RASTERIZER_DISCARD, enable), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.SAMPLE_ALPHA_TO_COVERAGE, enable), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.SAMPLE_COVERAGE, enable), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.SAMPLE_COVERAGE_VALUE, 'sampleCoverage'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.SAMPLE_COVERAGE_INVERT, 'sampleCoverage'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.SCISSOR_TEST, enable), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.SCISSOR_BOX, function (gl, value) {
|
|
92
|
-
return gl.scissor.apply(gl, (0, _toConsumableArray2.default)(value));
|
|
93
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_TEST, enable), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_CLEAR_VALUE, function (gl, value) {
|
|
94
|
-
return gl.clearStencil(value);
|
|
95
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_WRITEMASK, function (gl, value) {
|
|
96
|
-
return gl.stencilMaskSeparate(_constants.default.FRONT, value);
|
|
97
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_BACK_WRITEMASK, function (gl, value) {
|
|
98
|
-
return gl.stencilMaskSeparate(_constants.default.BACK, value);
|
|
99
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_FUNC, 'stencilFuncFront'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_REF, 'stencilFuncFront'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_VALUE_MASK, 'stencilFuncFront'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_BACK_FUNC, 'stencilFuncBack'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_BACK_REF, 'stencilFuncBack'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_BACK_VALUE_MASK, 'stencilFuncBack'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_FAIL, 'stencilOpFront'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_PASS_DEPTH_FAIL, 'stencilOpFront'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_PASS_DEPTH_PASS, 'stencilOpFront'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_BACK_FAIL, 'stencilOpBack'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_BACK_PASS_DEPTH_FAIL, 'stencilOpBack'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_BACK_PASS_DEPTH_PASS, 'stencilOpBack'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.VIEWPORT, function (gl, value) {
|
|
100
|
-
return gl.viewport.apply(gl, (0, _toConsumableArray2.default)(value));
|
|
101
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.PACK_ALIGNMENT, pixelStorei), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.UNPACK_ALIGNMENT, pixelStorei), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.UNPACK_FLIP_Y_WEBGL, pixelStorei), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.UNPACK_PREMULTIPLY_ALPHA_WEBGL, pixelStorei), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.UNPACK_COLORSPACE_CONVERSION_WEBGL, pixelStorei), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.PACK_ROW_LENGTH, pixelStorei), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.PACK_SKIP_PIXELS, pixelStorei), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.PACK_SKIP_ROWS, pixelStorei), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.UNPACK_ROW_LENGTH, pixelStorei), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.UNPACK_IMAGE_HEIGHT, pixelStorei), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.UNPACK_SKIP_PIXELS, pixelStorei), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.UNPACK_SKIP_ROWS, pixelStorei), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.UNPACK_SKIP_IMAGES, pixelStorei), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "framebuffer", function framebuffer(gl, _framebuffer) {
|
|
102
|
-
var handle = _framebuffer && 'handle' in _framebuffer ? _framebuffer.handle : _framebuffer;
|
|
103
|
-
return gl.bindFramebuffer(_constants.default.FRAMEBUFFER, handle);
|
|
104
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "blend", function blend(gl, value) {
|
|
105
|
-
return value ? gl.enable(_constants.default.BLEND) : gl.disable(_constants.default.BLEND);
|
|
106
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "blendColor", function blendColor(gl, value) {
|
|
107
|
-
return gl.blendColor.apply(gl, (0, _toConsumableArray2.default)(value));
|
|
108
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "blendEquation", function blendEquation(gl, args) {
|
|
109
|
-
var separateModes = typeof args === 'number' ? [args, args] : args;
|
|
110
|
-
gl.blendEquationSeparate.apply(gl, (0, _toConsumableArray2.default)(separateModes));
|
|
111
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "blendFunc", function blendFunc(gl, args) {
|
|
112
|
-
var separateFuncs = (args === null || args === void 0 ? void 0 : args.length) === 2 ? [].concat((0, _toConsumableArray2.default)(args), (0, _toConsumableArray2.default)(args)) : args;
|
|
113
|
-
gl.blendFuncSeparate.apply(gl, (0, _toConsumableArray2.default)(separateFuncs));
|
|
114
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "clearColor", function clearColor(gl, value) {
|
|
115
|
-
return gl.clearColor.apply(gl, (0, _toConsumableArray2.default)(value));
|
|
116
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "clearDepth", function clearDepth(gl, value) {
|
|
117
|
-
return gl.clearDepth(value);
|
|
118
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "clearStencil", function clearStencil(gl, value) {
|
|
119
|
-
return gl.clearStencil(value);
|
|
120
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "colorMask", function colorMask(gl, value) {
|
|
121
|
-
return gl.colorMask.apply(gl, (0, _toConsumableArray2.default)(value));
|
|
122
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "cull", function cull(gl, value) {
|
|
123
|
-
return value ? gl.enable(_constants.default.CULL_FACE) : gl.disable(_constants.default.CULL_FACE);
|
|
124
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "cullFace", function cullFace(gl, value) {
|
|
125
|
-
return gl.cullFace(value);
|
|
126
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "depthTest", function depthTest(gl, value) {
|
|
127
|
-
return value ? gl.enable(_constants.default.DEPTH_TEST) : gl.disable(_constants.default.DEPTH_TEST);
|
|
128
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "depthFunc", function depthFunc(gl, value) {
|
|
129
|
-
return gl.depthFunc(value);
|
|
130
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "depthMask", function depthMask(gl, value) {
|
|
131
|
-
return gl.depthMask(value);
|
|
132
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "depthRange", function depthRange(gl, value) {
|
|
133
|
-
return gl.depthRange.apply(gl, (0, _toConsumableArray2.default)(value));
|
|
134
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "dither", function dither(gl, value) {
|
|
135
|
-
return value ? gl.enable(_constants.default.DITHER) : gl.disable(_constants.default.DITHER);
|
|
136
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "derivativeHint", function derivativeHint(gl, value) {
|
|
137
|
-
gl.hint(_constants.default.FRAGMENT_SHADER_DERIVATIVE_HINT, value);
|
|
138
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "frontFace", function frontFace(gl, value) {
|
|
139
|
-
return gl.frontFace(value);
|
|
140
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "mipmapHint", function mipmapHint(gl, value) {
|
|
141
|
-
return gl.hint(_constants.default.GENERATE_MIPMAP_HINT, value);
|
|
142
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "lineWidth", function lineWidth(gl, value) {
|
|
143
|
-
return gl.lineWidth(value);
|
|
144
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "polygonOffsetFill", function polygonOffsetFill(gl, value) {
|
|
145
|
-
return value ? gl.enable(_constants.default.POLYGON_OFFSET_FILL) : gl.disable(_constants.default.POLYGON_OFFSET_FILL);
|
|
146
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "polygonOffset", function polygonOffset(gl, value) {
|
|
147
|
-
return gl.polygonOffset.apply(gl, (0, _toConsumableArray2.default)(value));
|
|
148
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "sampleCoverage", function sampleCoverage(gl, value) {
|
|
149
|
-
return gl.sampleCoverage.apply(gl, (0, _toConsumableArray2.default)(value));
|
|
150
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "scissorTest", function scissorTest(gl, value) {
|
|
151
|
-
return value ? gl.enable(_constants.default.SCISSOR_TEST) : gl.disable(_constants.default.SCISSOR_TEST);
|
|
152
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "scissor", function scissor(gl, value) {
|
|
153
|
-
return gl.scissor.apply(gl, (0, _toConsumableArray2.default)(value));
|
|
154
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "stencilTest", function stencilTest(gl, value) {
|
|
155
|
-
return value ? gl.enable(_constants.default.STENCIL_TEST) : gl.disable(_constants.default.STENCIL_TEST);
|
|
156
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "stencilMask", function stencilMask(gl, value) {
|
|
157
|
-
value = isArray(value) ? value : [value, value];
|
|
158
|
-
|
|
159
|
-
var _value = value,
|
|
160
|
-
_value2 = (0, _slicedToArray2.default)(_value, 2),
|
|
161
|
-
mask = _value2[0],
|
|
162
|
-
backMask = _value2[1];
|
|
163
|
-
|
|
164
|
-
gl.stencilMaskSeparate(_constants.default.FRONT, mask);
|
|
165
|
-
gl.stencilMaskSeparate(_constants.default.BACK, backMask);
|
|
166
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "stencilFunc", function stencilFunc(gl, args) {
|
|
167
|
-
args = isArray(args) && args.length === 3 ? [].concat((0, _toConsumableArray2.default)(args), (0, _toConsumableArray2.default)(args)) : args;
|
|
168
|
-
|
|
169
|
-
var _args = args,
|
|
170
|
-
_args2 = (0, _slicedToArray2.default)(_args, 6),
|
|
171
|
-
func = _args2[0],
|
|
172
|
-
ref = _args2[1],
|
|
173
|
-
mask = _args2[2],
|
|
174
|
-
backFunc = _args2[3],
|
|
175
|
-
backRef = _args2[4],
|
|
176
|
-
backMask = _args2[5];
|
|
177
|
-
|
|
178
|
-
gl.stencilFuncSeparate(_constants.default.FRONT, func, ref, mask);
|
|
179
|
-
gl.stencilFuncSeparate(_constants.default.BACK, backFunc, backRef, backMask);
|
|
180
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "stencilOp", function stencilOp(gl, args) {
|
|
181
|
-
args = isArray(args) && args.length === 3 ? [].concat((0, _toConsumableArray2.default)(args), (0, _toConsumableArray2.default)(args)) : args;
|
|
182
|
-
|
|
183
|
-
var _args3 = args,
|
|
184
|
-
_args4 = (0, _slicedToArray2.default)(_args3, 6),
|
|
185
|
-
sfail = _args4[0],
|
|
186
|
-
dpfail = _args4[1],
|
|
187
|
-
dppass = _args4[2],
|
|
188
|
-
backSfail = _args4[3],
|
|
189
|
-
backDpfail = _args4[4],
|
|
190
|
-
backDppass = _args4[5];
|
|
191
|
-
|
|
192
|
-
gl.stencilOpSeparate(_constants.default.FRONT, sfail, dpfail, dppass);
|
|
193
|
-
gl.stencilOpSeparate(_constants.default.BACK, backSfail, backDpfail, backDppass);
|
|
194
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "viewport", function viewport(gl, value) {
|
|
195
|
-
return gl.viewport.apply(gl, (0, _toConsumableArray2.default)(value));
|
|
196
|
-
}), _GL_PARAMETER_SETTERS);
|
|
197
|
-
exports.GL_PARAMETER_SETTERS = GL_PARAMETER_SETTERS;
|
|
198
|
-
|
|
199
|
-
function getValue(glEnum, values, cache) {
|
|
200
|
-
return values[glEnum] !== undefined ? values[glEnum] : cache[glEnum];
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
var GL_COMPOSITE_PARAMETER_SETTERS = {
|
|
204
|
-
blendEquation: function blendEquation(gl, values, cache) {
|
|
205
|
-
return gl.blendEquationSeparate(getValue(_constants.default.BLEND_EQUATION_RGB, values, cache), getValue(_constants.default.BLEND_EQUATION_ALPHA, values, cache));
|
|
206
|
-
},
|
|
207
|
-
blendFunc: function blendFunc(gl, values, cache) {
|
|
208
|
-
return gl.blendFuncSeparate(getValue(_constants.default.BLEND_SRC_RGB, values, cache), getValue(_constants.default.BLEND_DST_RGB, values, cache), getValue(_constants.default.BLEND_SRC_ALPHA, values, cache), getValue(_constants.default.BLEND_DST_ALPHA, values, cache));
|
|
209
|
-
},
|
|
210
|
-
polygonOffset: function polygonOffset(gl, values, cache) {
|
|
211
|
-
return gl.polygonOffset(getValue(_constants.default.POLYGON_OFFSET_FACTOR, values, cache), getValue(_constants.default.POLYGON_OFFSET_UNITS, values, cache));
|
|
212
|
-
},
|
|
213
|
-
sampleCoverage: function sampleCoverage(gl, values, cache) {
|
|
214
|
-
return gl.sampleCoverage(getValue(_constants.default.SAMPLE_COVERAGE_VALUE, values, cache), getValue(_constants.default.SAMPLE_COVERAGE_INVERT, values, cache));
|
|
215
|
-
},
|
|
216
|
-
stencilFuncFront: function stencilFuncFront(gl, values, cache) {
|
|
217
|
-
return gl.stencilFuncSeparate(_constants.default.FRONT, getValue(_constants.default.STENCIL_FUNC, values, cache), getValue(_constants.default.STENCIL_REF, values, cache), getValue(_constants.default.STENCIL_VALUE_MASK, values, cache));
|
|
218
|
-
},
|
|
219
|
-
stencilFuncBack: function stencilFuncBack(gl, values, cache) {
|
|
220
|
-
return gl.stencilFuncSeparate(_constants.default.BACK, getValue(_constants.default.STENCIL_BACK_FUNC, values, cache), getValue(_constants.default.STENCIL_BACK_REF, values, cache), getValue(_constants.default.STENCIL_BACK_VALUE_MASK, values, cache));
|
|
221
|
-
},
|
|
222
|
-
stencilOpFront: function stencilOpFront(gl, values, cache) {
|
|
223
|
-
return gl.stencilOpSeparate(_constants.default.FRONT, getValue(_constants.default.STENCIL_FAIL, values, cache), getValue(_constants.default.STENCIL_PASS_DEPTH_FAIL, values, cache), getValue(_constants.default.STENCIL_PASS_DEPTH_PASS, values, cache));
|
|
224
|
-
},
|
|
225
|
-
stencilOpBack: function stencilOpBack(gl, values, cache) {
|
|
226
|
-
return gl.stencilOpSeparate(_constants.default.BACK, getValue(_constants.default.STENCIL_BACK_FAIL, values, cache), getValue(_constants.default.STENCIL_BACK_PASS_DEPTH_FAIL, values, cache), getValue(_constants.default.STENCIL_BACK_PASS_DEPTH_PASS, values, cache));
|
|
227
|
-
}
|
|
228
|
-
};
|
|
229
|
-
exports.GL_COMPOSITE_PARAMETER_SETTERS = GL_COMPOSITE_PARAMETER_SETTERS;
|
|
230
|
-
var GL_HOOKED_SETTERS = {
|
|
231
|
-
enable: function enable(update, capability) {
|
|
232
|
-
return update((0, _defineProperty2.default)({}, capability, true));
|
|
233
|
-
},
|
|
234
|
-
disable: function disable(update, capability) {
|
|
235
|
-
return update((0, _defineProperty2.default)({}, capability, false));
|
|
236
|
-
},
|
|
237
|
-
pixelStorei: function pixelStorei(update, pname, value) {
|
|
238
|
-
return update((0, _defineProperty2.default)({}, pname, value));
|
|
239
|
-
},
|
|
240
|
-
hint: function hint(update, pname, _hint) {
|
|
241
|
-
return update((0, _defineProperty2.default)({}, pname, _hint));
|
|
242
|
-
},
|
|
243
|
-
useProgram: function useProgram(update, value) {
|
|
244
|
-
return update((0, _defineProperty2.default)({}, _constants.default.CURRENT_PROGRAM, value));
|
|
245
|
-
},
|
|
246
|
-
bindRenderbuffer: function bindRenderbuffer(update, target, value) {
|
|
247
|
-
return update((0, _defineProperty2.default)({}, _constants.default.RENDERBUFFER_BINDING, value));
|
|
248
|
-
},
|
|
249
|
-
bindTransformFeedback: function bindTransformFeedback(update, target, value) {
|
|
250
|
-
return update((0, _defineProperty2.default)({}, _constants.default.TRANSFORM_FEEDBACK_BINDING, value));
|
|
251
|
-
},
|
|
252
|
-
bindVertexArray: function bindVertexArray(update, value) {
|
|
253
|
-
return update((0, _defineProperty2.default)({}, _constants.default.VERTEX_ARRAY_BINDING, value));
|
|
254
|
-
},
|
|
255
|
-
bindFramebuffer: function bindFramebuffer(update, target, framebuffer) {
|
|
256
|
-
var _update9;
|
|
257
|
-
|
|
258
|
-
switch (target) {
|
|
259
|
-
case _constants.default.FRAMEBUFFER:
|
|
260
|
-
return update((_update9 = {}, (0, _defineProperty2.default)(_update9, _constants.default.DRAW_FRAMEBUFFER_BINDING, framebuffer), (0, _defineProperty2.default)(_update9, _constants.default.READ_FRAMEBUFFER_BINDING, framebuffer), _update9));
|
|
261
|
-
|
|
262
|
-
case _constants.default.DRAW_FRAMEBUFFER:
|
|
263
|
-
return update((0, _defineProperty2.default)({}, _constants.default.DRAW_FRAMEBUFFER_BINDING, framebuffer));
|
|
264
|
-
|
|
265
|
-
case _constants.default.READ_FRAMEBUFFER:
|
|
266
|
-
return update((0, _defineProperty2.default)({}, _constants.default.READ_FRAMEBUFFER_BINDING, framebuffer));
|
|
267
|
-
|
|
268
|
-
default:
|
|
269
|
-
return null;
|
|
270
|
-
}
|
|
271
|
-
},
|
|
272
|
-
bindBuffer: function bindBuffer(update, target, buffer) {
|
|
273
|
-
var _GL$ARRAY_BUFFER$GL$C;
|
|
274
|
-
|
|
275
|
-
var pname = (_GL$ARRAY_BUFFER$GL$C = {}, (0, _defineProperty2.default)(_GL$ARRAY_BUFFER$GL$C, _constants.default.ARRAY_BUFFER, [_constants.default.ARRAY_BUFFER_BINDING]), (0, _defineProperty2.default)(_GL$ARRAY_BUFFER$GL$C, _constants.default.COPY_READ_BUFFER, [_constants.default.COPY_READ_BUFFER_BINDING]), (0, _defineProperty2.default)(_GL$ARRAY_BUFFER$GL$C, _constants.default.COPY_WRITE_BUFFER, [_constants.default.COPY_WRITE_BUFFER_BINDING]), (0, _defineProperty2.default)(_GL$ARRAY_BUFFER$GL$C, _constants.default.PIXEL_PACK_BUFFER, [_constants.default.PIXEL_PACK_BUFFER_BINDING]), (0, _defineProperty2.default)(_GL$ARRAY_BUFFER$GL$C, _constants.default.PIXEL_UNPACK_BUFFER, [_constants.default.PIXEL_UNPACK_BUFFER_BINDING]), _GL$ARRAY_BUFFER$GL$C)[target];
|
|
276
|
-
|
|
277
|
-
if (pname) {
|
|
278
|
-
return update((0, _defineProperty2.default)({}, pname, buffer));
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
return {
|
|
282
|
-
valueChanged: true
|
|
283
|
-
};
|
|
284
|
-
},
|
|
285
|
-
blendColor: function blendColor(update, r, g, b, a) {
|
|
286
|
-
return update((0, _defineProperty2.default)({}, _constants.default.BLEND_COLOR, new Float32Array([r, g, b, a])));
|
|
287
|
-
},
|
|
288
|
-
blendEquation: function blendEquation(update, mode) {
|
|
289
|
-
var _update14;
|
|
290
|
-
|
|
291
|
-
return update((_update14 = {}, (0, _defineProperty2.default)(_update14, _constants.default.BLEND_EQUATION_RGB, mode), (0, _defineProperty2.default)(_update14, _constants.default.BLEND_EQUATION_ALPHA, mode), _update14));
|
|
292
|
-
},
|
|
293
|
-
blendEquationSeparate: function blendEquationSeparate(update, modeRGB, modeAlpha) {
|
|
294
|
-
var _update15;
|
|
295
|
-
|
|
296
|
-
return update((_update15 = {}, (0, _defineProperty2.default)(_update15, _constants.default.BLEND_EQUATION_RGB, modeRGB), (0, _defineProperty2.default)(_update15, _constants.default.BLEND_EQUATION_ALPHA, modeAlpha), _update15));
|
|
297
|
-
},
|
|
298
|
-
blendFunc: function blendFunc(update, src, dst) {
|
|
299
|
-
var _update16;
|
|
300
|
-
|
|
301
|
-
return update((_update16 = {}, (0, _defineProperty2.default)(_update16, _constants.default.BLEND_SRC_RGB, src), (0, _defineProperty2.default)(_update16, _constants.default.BLEND_DST_RGB, dst), (0, _defineProperty2.default)(_update16, _constants.default.BLEND_SRC_ALPHA, src), (0, _defineProperty2.default)(_update16, _constants.default.BLEND_DST_ALPHA, dst), _update16));
|
|
302
|
-
},
|
|
303
|
-
blendFuncSeparate: function blendFuncSeparate(update, srcRGB, dstRGB, srcAlpha, dstAlpha) {
|
|
304
|
-
var _update17;
|
|
305
|
-
|
|
306
|
-
return update((_update17 = {}, (0, _defineProperty2.default)(_update17, _constants.default.BLEND_SRC_RGB, srcRGB), (0, _defineProperty2.default)(_update17, _constants.default.BLEND_DST_RGB, dstRGB), (0, _defineProperty2.default)(_update17, _constants.default.BLEND_SRC_ALPHA, srcAlpha), (0, _defineProperty2.default)(_update17, _constants.default.BLEND_DST_ALPHA, dstAlpha), _update17));
|
|
307
|
-
},
|
|
308
|
-
clearColor: function clearColor(update, r, g, b, a) {
|
|
309
|
-
return update((0, _defineProperty2.default)({}, _constants.default.COLOR_CLEAR_VALUE, new Float32Array([r, g, b, a])));
|
|
310
|
-
},
|
|
311
|
-
clearDepth: function clearDepth(update, depth) {
|
|
312
|
-
return update((0, _defineProperty2.default)({}, _constants.default.DEPTH_CLEAR_VALUE, depth));
|
|
313
|
-
},
|
|
314
|
-
clearStencil: function clearStencil(update, s) {
|
|
315
|
-
return update((0, _defineProperty2.default)({}, _constants.default.STENCIL_CLEAR_VALUE, s));
|
|
316
|
-
},
|
|
317
|
-
colorMask: function colorMask(update, r, g, b, a) {
|
|
318
|
-
return update((0, _defineProperty2.default)({}, _constants.default.COLOR_WRITEMASK, [r, g, b, a]));
|
|
319
|
-
},
|
|
320
|
-
cullFace: function cullFace(update, mode) {
|
|
321
|
-
return update((0, _defineProperty2.default)({}, _constants.default.CULL_FACE_MODE, mode));
|
|
322
|
-
},
|
|
323
|
-
depthFunc: function depthFunc(update, func) {
|
|
324
|
-
return update((0, _defineProperty2.default)({}, _constants.default.DEPTH_FUNC, func));
|
|
325
|
-
},
|
|
326
|
-
depthRange: function depthRange(update, zNear, zFar) {
|
|
327
|
-
return update((0, _defineProperty2.default)({}, _constants.default.DEPTH_RANGE, new Float32Array([zNear, zFar])));
|
|
328
|
-
},
|
|
329
|
-
depthMask: function depthMask(update, mask) {
|
|
330
|
-
return update((0, _defineProperty2.default)({}, _constants.default.DEPTH_WRITEMASK, mask));
|
|
331
|
-
},
|
|
332
|
-
frontFace: function frontFace(update, face) {
|
|
333
|
-
return update((0, _defineProperty2.default)({}, _constants.default.FRONT_FACE, face));
|
|
334
|
-
},
|
|
335
|
-
lineWidth: function lineWidth(update, width) {
|
|
336
|
-
return update((0, _defineProperty2.default)({}, _constants.default.LINE_WIDTH, width));
|
|
337
|
-
},
|
|
338
|
-
polygonOffset: function polygonOffset(update, factor, units) {
|
|
339
|
-
var _update28;
|
|
340
|
-
|
|
341
|
-
return update((_update28 = {}, (0, _defineProperty2.default)(_update28, _constants.default.POLYGON_OFFSET_FACTOR, factor), (0, _defineProperty2.default)(_update28, _constants.default.POLYGON_OFFSET_UNITS, units), _update28));
|
|
342
|
-
},
|
|
343
|
-
sampleCoverage: function sampleCoverage(update, value, invert) {
|
|
344
|
-
var _update29;
|
|
345
|
-
|
|
346
|
-
return update((_update29 = {}, (0, _defineProperty2.default)(_update29, _constants.default.SAMPLE_COVERAGE_VALUE, value), (0, _defineProperty2.default)(_update29, _constants.default.SAMPLE_COVERAGE_INVERT, invert), _update29));
|
|
347
|
-
},
|
|
348
|
-
scissor: function scissor(update, x, y, width, height) {
|
|
349
|
-
return update((0, _defineProperty2.default)({}, _constants.default.SCISSOR_BOX, new Int32Array([x, y, width, height])));
|
|
350
|
-
},
|
|
351
|
-
stencilMask: function stencilMask(update, mask) {
|
|
352
|
-
var _update31;
|
|
353
|
-
|
|
354
|
-
return update((_update31 = {}, (0, _defineProperty2.default)(_update31, _constants.default.STENCIL_WRITEMASK, mask), (0, _defineProperty2.default)(_update31, _constants.default.STENCIL_BACK_WRITEMASK, mask), _update31));
|
|
355
|
-
},
|
|
356
|
-
stencilMaskSeparate: function stencilMaskSeparate(update, face, mask) {
|
|
357
|
-
return update((0, _defineProperty2.default)({}, face === _constants.default.FRONT ? _constants.default.STENCIL_WRITEMASK : _constants.default.STENCIL_BACK_WRITEMASK, mask));
|
|
358
|
-
},
|
|
359
|
-
stencilFunc: function stencilFunc(update, func, ref, mask) {
|
|
360
|
-
var _update33;
|
|
361
|
-
|
|
362
|
-
return update((_update33 = {}, (0, _defineProperty2.default)(_update33, _constants.default.STENCIL_FUNC, func), (0, _defineProperty2.default)(_update33, _constants.default.STENCIL_REF, ref), (0, _defineProperty2.default)(_update33, _constants.default.STENCIL_VALUE_MASK, mask), (0, _defineProperty2.default)(_update33, _constants.default.STENCIL_BACK_FUNC, func), (0, _defineProperty2.default)(_update33, _constants.default.STENCIL_BACK_REF, ref), (0, _defineProperty2.default)(_update33, _constants.default.STENCIL_BACK_VALUE_MASK, mask), _update33));
|
|
363
|
-
},
|
|
364
|
-
stencilFuncSeparate: function stencilFuncSeparate(update, face, func, ref, mask) {
|
|
365
|
-
var _update34;
|
|
366
|
-
|
|
367
|
-
return update((_update34 = {}, (0, _defineProperty2.default)(_update34, face === _constants.default.FRONT ? _constants.default.STENCIL_FUNC : _constants.default.STENCIL_BACK_FUNC, func), (0, _defineProperty2.default)(_update34, face === _constants.default.FRONT ? _constants.default.STENCIL_REF : _constants.default.STENCIL_BACK_REF, ref), (0, _defineProperty2.default)(_update34, face === _constants.default.FRONT ? _constants.default.STENCIL_VALUE_MASK : _constants.default.STENCIL_BACK_VALUE_MASK, mask), _update34));
|
|
368
|
-
},
|
|
369
|
-
stencilOp: function stencilOp(update, fail, zfail, zpass) {
|
|
370
|
-
var _update35;
|
|
371
|
-
|
|
372
|
-
return update((_update35 = {}, (0, _defineProperty2.default)(_update35, _constants.default.STENCIL_FAIL, fail), (0, _defineProperty2.default)(_update35, _constants.default.STENCIL_PASS_DEPTH_FAIL, zfail), (0, _defineProperty2.default)(_update35, _constants.default.STENCIL_PASS_DEPTH_PASS, zpass), (0, _defineProperty2.default)(_update35, _constants.default.STENCIL_BACK_FAIL, fail), (0, _defineProperty2.default)(_update35, _constants.default.STENCIL_BACK_PASS_DEPTH_FAIL, zfail), (0, _defineProperty2.default)(_update35, _constants.default.STENCIL_BACK_PASS_DEPTH_PASS, zpass), _update35));
|
|
373
|
-
},
|
|
374
|
-
stencilOpSeparate: function stencilOpSeparate(update, face, fail, zfail, zpass) {
|
|
375
|
-
var _update36;
|
|
376
|
-
|
|
377
|
-
return update((_update36 = {}, (0, _defineProperty2.default)(_update36, face === _constants.default.FRONT ? _constants.default.STENCIL_FAIL : _constants.default.STENCIL_BACK_FAIL, fail), (0, _defineProperty2.default)(_update36, face === _constants.default.FRONT ? _constants.default.STENCIL_PASS_DEPTH_FAIL : _constants.default.STENCIL_BACK_PASS_DEPTH_FAIL, zfail), (0, _defineProperty2.default)(_update36, face === _constants.default.FRONT ? _constants.default.STENCIL_PASS_DEPTH_PASS : _constants.default.STENCIL_BACK_PASS_DEPTH_PASS, zpass), _update36));
|
|
378
|
-
},
|
|
379
|
-
viewport: function viewport(update, x, y, width, height) {
|
|
380
|
-
return update((0, _defineProperty2.default)({}, _constants.default.VIEWPORT, [x, y, width, height]));
|
|
381
|
-
}
|
|
382
|
-
};
|
|
383
|
-
exports.GL_HOOKED_SETTERS = GL_HOOKED_SETTERS;
|
|
384
|
-
|
|
385
|
-
var isEnabled = function isEnabled(gl, key) {
|
|
386
|
-
return gl.isEnabled(key);
|
|
387
|
-
};
|
|
388
|
-
|
|
389
|
-
var GL_PARAMETER_GETTERS = (_GL_PARAMETER_GETTERS = {}, (0, _defineProperty2.default)(_GL_PARAMETER_GETTERS, _constants.default.BLEND, isEnabled), (0, _defineProperty2.default)(_GL_PARAMETER_GETTERS, _constants.default.CULL_FACE, isEnabled), (0, _defineProperty2.default)(_GL_PARAMETER_GETTERS, _constants.default.DEPTH_TEST, isEnabled), (0, _defineProperty2.default)(_GL_PARAMETER_GETTERS, _constants.default.DITHER, isEnabled), (0, _defineProperty2.default)(_GL_PARAMETER_GETTERS, _constants.default.POLYGON_OFFSET_FILL, isEnabled), (0, _defineProperty2.default)(_GL_PARAMETER_GETTERS, _constants.default.SAMPLE_ALPHA_TO_COVERAGE, isEnabled), (0, _defineProperty2.default)(_GL_PARAMETER_GETTERS, _constants.default.SAMPLE_COVERAGE, isEnabled), (0, _defineProperty2.default)(_GL_PARAMETER_GETTERS, _constants.default.SCISSOR_TEST, isEnabled), (0, _defineProperty2.default)(_GL_PARAMETER_GETTERS, _constants.default.STENCIL_TEST, isEnabled), (0, _defineProperty2.default)(_GL_PARAMETER_GETTERS, _constants.default.RASTERIZER_DISCARD, isEnabled), _GL_PARAMETER_GETTERS);
|
|
390
|
-
exports.GL_PARAMETER_GETTERS = GL_PARAMETER_GETTERS;
|
|
391
|
-
var NON_CACHE_PARAMETERS = new Set([_constants.default.ACTIVE_TEXTURE, _constants.default.TRANSFORM_FEEDBACK_ACTIVE, _constants.default.TRANSFORM_FEEDBACK_PAUSED, _constants.default.TRANSFORM_FEEDBACK_BUFFER_BINDING, _constants.default.UNIFORM_BUFFER_BINDING, _constants.default.ELEMENT_ARRAY_BUFFER_BINDING, _constants.default.IMPLEMENTATION_COLOR_READ_FORMAT, _constants.default.IMPLEMENTATION_COLOR_READ_TYPE, _constants.default.READ_BUFFER, _constants.default.DRAW_BUFFER0, _constants.default.DRAW_BUFFER1, _constants.default.DRAW_BUFFER2, _constants.default.DRAW_BUFFER3, _constants.default.DRAW_BUFFER4, _constants.default.DRAW_BUFFER5, _constants.default.DRAW_BUFFER6, _constants.default.DRAW_BUFFER7, _constants.default.DRAW_BUFFER8, _constants.default.DRAW_BUFFER9, _constants.default.DRAW_BUFFER10, _constants.default.DRAW_BUFFER11, _constants.default.DRAW_BUFFER12, _constants.default.DRAW_BUFFER13, _constants.default.DRAW_BUFFER14, _constants.default.DRAW_BUFFER15, _constants.default.SAMPLER_BINDING, _constants.default.TEXTURE_BINDING_2D, _constants.default.TEXTURE_BINDING_2D_ARRAY, _constants.default.TEXTURE_BINDING_3D, _constants.default.TEXTURE_BINDING_CUBE_MAP]);
|
|
392
|
-
exports.NON_CACHE_PARAMETERS = NON_CACHE_PARAMETERS;
|
|
393
|
-
//# sourceMappingURL=webgl-parameter-tables.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/context/parameters/webgl-parameter-tables.ts"],"names":["GL_PARAMETER_DEFAULTS","GL","BLEND","BLEND_COLOR","Float32Array","BLEND_EQUATION_RGB","FUNC_ADD","BLEND_EQUATION_ALPHA","BLEND_SRC_RGB","ONE","BLEND_DST_RGB","ZERO","BLEND_SRC_ALPHA","BLEND_DST_ALPHA","COLOR_CLEAR_VALUE","COLOR_WRITEMASK","CULL_FACE","CULL_FACE_MODE","BACK","DEPTH_TEST","DEPTH_CLEAR_VALUE","DEPTH_FUNC","LESS","DEPTH_RANGE","DEPTH_WRITEMASK","DITHER","CURRENT_PROGRAM","FRAMEBUFFER_BINDING","RENDERBUFFER_BINDING","VERTEX_ARRAY_BINDING","ARRAY_BUFFER_BINDING","FRONT_FACE","CCW","GENERATE_MIPMAP_HINT","DONT_CARE","LINE_WIDTH","POLYGON_OFFSET_FILL","POLYGON_OFFSET_FACTOR","POLYGON_OFFSET_UNITS","SAMPLE_ALPHA_TO_COVERAGE","SAMPLE_COVERAGE","SAMPLE_COVERAGE_VALUE","SAMPLE_COVERAGE_INVERT","SCISSOR_TEST","SCISSOR_BOX","Int32Array","STENCIL_TEST","STENCIL_CLEAR_VALUE","STENCIL_WRITEMASK","STENCIL_BACK_WRITEMASK","STENCIL_FUNC","ALWAYS","STENCIL_REF","STENCIL_VALUE_MASK","STENCIL_BACK_FUNC","STENCIL_BACK_REF","STENCIL_BACK_VALUE_MASK","STENCIL_FAIL","KEEP","STENCIL_PASS_DEPTH_FAIL","STENCIL_PASS_DEPTH_PASS","STENCIL_BACK_FAIL","STENCIL_BACK_PASS_DEPTH_FAIL","STENCIL_BACK_PASS_DEPTH_PASS","VIEWPORT","PACK_ALIGNMENT","UNPACK_ALIGNMENT","UNPACK_FLIP_Y_WEBGL","UNPACK_PREMULTIPLY_ALPHA_WEBGL","UNPACK_COLORSPACE_CONVERSION_WEBGL","BROWSER_DEFAULT_WEBGL","TRANSFORM_FEEDBACK_BINDING","COPY_READ_BUFFER_BINDING","COPY_WRITE_BUFFER_BINDING","PIXEL_PACK_BUFFER_BINDING","PIXEL_UNPACK_BUFFER_BINDING","FRAGMENT_SHADER_DERIVATIVE_HINT","READ_FRAMEBUFFER_BINDING","RASTERIZER_DISCARD","PACK_ROW_LENGTH","PACK_SKIP_PIXELS","PACK_SKIP_ROWS","UNPACK_ROW_LENGTH","UNPACK_IMAGE_HEIGHT","UNPACK_SKIP_PIXELS","UNPACK_SKIP_ROWS","UNPACK_SKIP_IMAGES","enable","gl","value","key","disable","hint","pixelStorei","bindFramebuffer","target","DRAW_FRAMEBUFFER","FRAMEBUFFER","READ_FRAMEBUFFER","bindBuffer","bindingMap","ARRAY_BUFFER","COPY_READ_BUFFER","COPY_WRITE_BUFFER","PIXEL_PACK_BUFFER","PIXEL_UNPACK_BUFFER","isArray","array","Array","ArrayBuffer","isView","DataView","GL_PARAMETER_SETTERS","blendColor","clearColor","colorMask","cullFace","clearDepth","depthFunc","depthRange","depthMask","useProgram","bindRenderbuffer","RENDERBUFFER","bindTransformFeedback","TRANSFORM_FEEDBACK","bindVertexArray","frontFace","lineWidth","scissor","clearStencil","stencilMaskSeparate","FRONT","viewport","framebuffer","handle","args","separateModes","blendEquationSeparate","separateFuncs","length","blendFuncSeparate","polygonOffset","sampleCoverage","mask","backMask","func","ref","backFunc","backRef","stencilFuncSeparate","sfail","dpfail","dppass","backSfail","backDpfail","backDppass","stencilOpSeparate","getValue","glEnum","values","cache","undefined","GL_COMPOSITE_PARAMETER_SETTERS","blendEquation","blendFunc","stencilFuncFront","stencilFuncBack","stencilOpFront","stencilOpBack","GL_HOOKED_SETTERS","update","capability","pname","DRAW_FRAMEBUFFER_BINDING","buffer","valueChanged","r","g","b","a","mode","modeRGB","modeAlpha","src","dst","srcRGB","dstRGB","srcAlpha","dstAlpha","depth","s","zNear","zFar","face","width","factor","units","invert","x","y","height","stencilMask","stencilFunc","stencilOp","fail","zfail","zpass","isEnabled","GL_PARAMETER_GETTERS","NON_CACHE_PARAMETERS","Set","ACTIVE_TEXTURE","TRANSFORM_FEEDBACK_ACTIVE","TRANSFORM_FEEDBACK_PAUSED","TRANSFORM_FEEDBACK_BUFFER_BINDING","UNIFORM_BUFFER_BINDING","ELEMENT_ARRAY_BUFFER_BINDING","IMPLEMENTATION_COLOR_READ_FORMAT","IMPLEMENTATION_COLOR_READ_TYPE","READ_BUFFER","DRAW_BUFFER0","DRAW_BUFFER1","DRAW_BUFFER2","DRAW_BUFFER3","DRAW_BUFFER4","DRAW_BUFFER5","DRAW_BUFFER6","DRAW_BUFFER7","DRAW_BUFFER8","DRAW_BUFFER9","DRAW_BUFFER10","DRAW_BUFFER11","DRAW_BUFFER12","DRAW_BUFFER13","DRAW_BUFFER14","DRAW_BUFFER15","SAMPLER_BINDING","TEXTURE_BINDING_2D","TEXTURE_BINDING_2D_ARRAY","TEXTURE_BINDING_3D","TEXTURE_BINDING_CUBE_MAP"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;;;AAMO,IAAMA,qBAAmC,qFAC7CC,mBAAGC,KAD0C,EAClC,KADkC,wDAE7CD,mBAAGE,WAF0C,EAE5B,IAAIC,YAAJ,CAAiB,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,CAAjB,CAF4B,wDAG7CH,mBAAGI,kBAH0C,EAGrBJ,mBAAGK,QAHkB,wDAI7CL,mBAAGM,oBAJ0C,EAInBN,mBAAGK,QAJgB,wDAK7CL,mBAAGO,aAL0C,EAK1BP,mBAAGQ,GALuB,wDAM7CR,mBAAGS,aAN0C,EAM1BT,mBAAGU,IANuB,wDAO7CV,mBAAGW,eAP0C,EAOxBX,mBAAGQ,GAPqB,wDAQ7CR,mBAAGY,eAR0C,EAQxBZ,mBAAGU,IARqB,wDAS7CV,mBAAGa,iBAT0C,EAStB,IAAIV,YAAJ,CAAiB,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,CAAjB,CATsB,wDAU7CH,mBAAGc,eAV0C,EAUxB,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,EAAmB,IAAnB,CAVwB,wDAW7Cd,mBAAGe,SAX0C,EAW9B,KAX8B,wDAY7Cf,mBAAGgB,cAZ0C,EAYzBhB,mBAAGiB,IAZsB,wDAa7CjB,mBAAGkB,UAb0C,EAa7B,KAb6B,wDAc7ClB,mBAAGmB,iBAd0C,EActB,CAdsB,wDAe7CnB,mBAAGoB,UAf0C,EAe7BpB,mBAAGqB,IAf0B,wDAgB7CrB,mBAAGsB,WAhB0C,EAgB5B,IAAInB,YAAJ,CAAiB,CAAC,CAAD,EAAI,CAAJ,CAAjB,CAhB4B,wDAiB7CH,mBAAGuB,eAjB0C,EAiBxB,IAjBwB,wDAkB7CvB,mBAAGwB,MAlB0C,EAkBjC,IAlBiC,wDAmB7CxB,mBAAGyB,eAnB0C,EAmBxB,IAnBwB,wDAqB7CzB,mBAAG0B,mBArB0C,EAqBpB,IArBoB,wDAsB7C1B,mBAAG2B,oBAtB0C,EAsBnB,IAtBmB,wDAuB7C3B,mBAAG4B,oBAvB0C,EAuBnB,IAvBmB,wDAwB7C5B,mBAAG6B,oBAxB0C,EAwBnB,IAxBmB,wDAyB7C7B,mBAAG8B,UAzB0C,EAyB7B9B,mBAAG+B,GAzB0B,wDA0B7C/B,mBAAGgC,oBA1B0C,EA0BnBhC,mBAAGiC,SA1BgB,wDA2B7CjC,mBAAGkC,UA3B0C,EA2B7B,CA3B6B,wDA4B7ClC,mBAAGmC,mBA5B0C,EA4BpB,KA5BoB,wDA6B7CnC,mBAAGoC,qBA7B0C,EA6BlB,CA7BkB,wDA8B7CpC,mBAAGqC,oBA9B0C,EA8BnB,CA9BmB,wDA+B7CrC,mBAAGsC,wBA/B0C,EA+Bf,KA/Be,wDAgC7CtC,mBAAGuC,eAhC0C,EAgCxB,KAhCwB,wDAiC7CvC,mBAAGwC,qBAjC0C,EAiClB,GAjCkB,wDAkC7CxC,mBAAGyC,sBAlC0C,EAkCjB,KAlCiB,wDAmC7CzC,mBAAG0C,YAnC0C,EAmC3B,KAnC2B,wDAqC7C1C,mBAAG2C,WArC0C,EAqC5B,IAAIC,UAAJ,CAAe,CAAC,CAAD,EAAI,CAAJ,EAAO,IAAP,EAAa,IAAb,CAAf,CArC4B,wDAsC7C5C,mBAAG6C,YAtC0C,EAsC3B,KAtC2B,wDAuC7C7C,mBAAG8C,mBAvC0C,EAuCpB,CAvCoB,wDAwC7C9C,mBAAG+C,iBAxC0C,EAwCtB,UAxCsB,wDAyC7C/C,mBAAGgD,sBAzC0C,EAyCjB,UAzCiB,wDA0C7ChD,mBAAGiD,YA1C0C,EA0C3BjD,mBAAGkD,MA1CwB,wDA2C7ClD,mBAAGmD,WA3C0C,EA2C5B,CA3C4B,wDA4C7CnD,mBAAGoD,kBA5C0C,EA4CrB,UA5CqB,wDA6C7CpD,mBAAGqD,iBA7C0C,EA6CtBrD,mBAAGkD,MA7CmB,wDA8C7ClD,mBAAGsD,gBA9C0C,EA8CvB,CA9CuB,wDA+C7CtD,mBAAGuD,uBA/C0C,EA+ChB,UA/CgB,wDAgD7CvD,mBAAGwD,YAhD0C,EAgD3BxD,mBAAGyD,IAhDwB,wDAiD7CzD,mBAAG0D,uBAjD0C,EAiDhB1D,mBAAGyD,IAjDa,wDAkD7CzD,mBAAG2D,uBAlD0C,EAkDhB3D,mBAAGyD,IAlDa,wDAmD7CzD,mBAAG4D,iBAnD0C,EAmDtB5D,mBAAGyD,IAnDmB,wDAoD7CzD,mBAAG6D,4BApD0C,EAoDX7D,mBAAGyD,IApDQ,wDAqD7CzD,mBAAG8D,4BArD0C,EAqDX9D,mBAAGyD,IArDQ,wDAuD7CzD,mBAAG+D,QAvD0C,EAuD/B,CAAC,CAAD,EAAI,CAAJ,EAAO,IAAP,EAAa,IAAb,CAvD+B,wDAyD7C/D,mBAAGgE,cAzD0C,EAyDzB,CAzDyB,wDA0D7ChE,mBAAGiE,gBA1D0C,EA0DvB,CA1DuB,wDA2D7CjE,mBAAGkE,mBA3D0C,EA2DpB,KA3DoB,wDA4D7ClE,mBAAGmE,8BA5D0C,EA4DT,KA5DS,wDA6D7CnE,mBAAGoE,kCA7D0C,EA6DLpE,mBAAGqE,qBA7DE,wDAiE7CrE,mBAAGsE,0BAjE0C,EAiEb,IAjEa,wDAkE7CtE,mBAAGuE,wBAlE0C,EAkEf,IAlEe,wDAmE7CvE,mBAAGwE,yBAnE0C,EAmEd,IAnEc,wDAoE7CxE,mBAAGyE,yBApE0C,EAoEd,IApEc,wDAqE7CzE,mBAAG0E,2BArE0C,EAqEZ,IArEY,wDAsE7C1E,mBAAG2E,+BAtE0C,EAsER3E,mBAAGiC,SAtEK,wDAuE7CjC,mBAAG4E,wBAvE0C,EAuEf,IAvEe,wDAwE7C5E,mBAAG6E,kBAxE0C,EAwErB,KAxEqB,wDAyE7C7E,mBAAG8E,eAzE0C,EAyExB,CAzEwB,wDA0E7C9E,mBAAG+E,gBA1E0C,EA0EvB,CA1EuB,wDA2E7C/E,mBAAGgF,cA3E0C,EA2EzB,CA3EyB,wDA4E7ChF,mBAAGiF,iBA5E0C,EA4EtB,CA5EsB,wDA6E7CjF,mBAAGkF,mBA7E0C,EA6EpB,CA7EoB,wDA8E7ClF,mBAAGmF,kBA9E0C,EA8ErB,CA9EqB,wDA+E7CnF,mBAAGoF,gBA/E0C,EA+EvB,CA/EuB,wDAgF7CpF,mBAAGqF,kBAhF0C,EAgFrB,CAhFqB,yBAAzC;;;AAqFP,IAAMC,MAAM,GAAG,SAATA,MAAS,CAACC,EAAD,EAA4BC,KAA5B,EAA4CC,GAA5C;AAAA,SACbD,KAAK,GAAGD,EAAE,CAACD,MAAH,CAAUG,GAAV,CAAH,GAAoBF,EAAE,CAACG,OAAH,CAAWD,GAAX,CADZ;AAAA,CAAf;;AAEA,IAAME,IAAI,GAAG,SAAPA,IAAO,CAACJ,EAAD,EAA4BC,KAA5B,EAAuCC,GAAvC;AAAA,SAAmDF,EAAE,CAACI,IAAH,CAAQF,GAAR,EAAaD,KAAb,CAAnD;AAAA,CAAb;;AACA,IAAMI,WAAW,GAAG,SAAdA,WAAc,CAACL,EAAD,EAA4BC,KAA5B,EAAqDC,GAArD;AAAA,SAClBF,EAAE,CAACK,WAAH,CAAeH,GAAf,EAAoBD,KAApB,CADkB;AAAA,CAApB;;AAGA,IAAMK,eAAe,GAAG,SAAlBA,eAAkB,CAACN,EAAD,EAA4BC,KAA5B,EAA4CC,GAA5C,EAAwD;AAC9E,MAAIK,MAAJ;;AACA,MAAIL,GAAG,KAAKzF,mBAAG0B,mBAAf,EAAoC;AAClCoE,IAAAA,MAAM,GAAG,2BAASP,EAAT,IAAevF,mBAAG+F,gBAAlB,GAAqC/F,mBAAGgG,WAAjD;AACD,GAFD,MAEO;AAELF,IAAAA,MAAM,GAAG9F,mBAAGiG,gBAAZ;AACD;;AACD,SAAOV,EAAE,CAACM,eAAH,CAAmBC,MAAnB,EAA2BN,KAA3B,CAAP;AACD,CATD;;AAWA,IAAMU,UAAU,GAAG,SAAbA,UAAa,CAACX,EAAD,EAA4BC,KAA5B,EAA4CC,GAA5C,EAAwD;AAAA;;AACzE,MAAMU,UAAmC,iEACtCnG,mBAAG6B,oBADmC,EACZ7B,mBAAGoG,YADS,8CAEtCpG,mBAAGuE,wBAFmC,EAERvE,mBAAGqG,gBAFK,8CAGtCrG,mBAAGwE,yBAHmC,EAGPxE,mBAAGsG,iBAHI,8CAItCtG,mBAAGyE,yBAJmC,EAIPzE,mBAAGuG,iBAJI,8CAKtCvG,mBAAG0E,2BALmC,EAKL1E,mBAAGwG,mBALE,eAAzC;AAOA,MAAMV,MAAM,GAAGK,UAAU,CAACV,GAAD,CAAzB;AAEAF,EAAAA,EAAE,CAACW,UAAH,CAAcJ,MAAd,EAAsBN,KAAtB;AACD,CAXD;;AAcA,SAASiB,OAAT,CAAiBC,KAAjB,EAA0C;AACxC,SAAOC,KAAK,CAACF,OAAN,CAAcC,KAAd,KAAyBE,WAAW,CAACC,MAAZ,CAAmBH,KAAnB,KAA6B,EAAEA,KAAK,YAAYI,QAAnB,CAA7D;AACD;;AAKM,IAAMC,oBAAoB,qFAC9B/G,mBAAGC,KAD2B,EACnBqF,MADmB,wDAE9BtF,mBAAGE,WAF2B,EAEb,UAACqF,EAAD,EAA4BC,KAA5B;AAAA,SAChBD,EAAE,CAACyB,UAAH,OAAAzB,EAAE,mCAAeC,KAAf,EADc;AAAA,CAFa,wDAI9BxF,mBAAGI,kBAJ2B,EAIN,eAJM,wDAK9BJ,mBAAGM,oBAL2B,EAKJ,eALI,wDAM9BN,mBAAGO,aAN2B,EAMX,WANW,wDAO9BP,mBAAGS,aAP2B,EAOX,WAPW,wDAQ9BT,mBAAGW,eAR2B,EAQT,WARS,wDAS9BX,mBAAGY,eAT2B,EAST,WATS,wDAU9BZ,mBAAGa,iBAV2B,EAUP,UAAC0E,EAAD,EAA4BC,KAA5B;AAAA,SACtBD,EAAE,CAAC0B,UAAH,OAAA1B,EAAE,mCAAeC,KAAf,EADoB;AAAA,CAVO,wDAY9BxF,mBAAGc,eAZ2B,EAYT,UAACyE,EAAD,EAA4BC,KAA5B;AAAA,SAA4ED,EAAE,CAAC2B,SAAH,OAAA3B,EAAE,mCAAcC,KAAd,EAA9E;AAAA,CAZS,wDAa9BxF,mBAAGe,SAb2B,EAafuE,MAbe,wDAc9BtF,mBAAGgB,cAd2B,EAcV,UAACuE,EAAD,EAA4BC,KAA5B;AAAA,SAAsCD,EAAE,CAAC4B,QAAH,CAAY3B,KAAZ,CAAtC;AAAA,CAdU,wDAe9BxF,mBAAGkB,UAf2B,EAedoE,MAfc,wDAgB9BtF,mBAAGmB,iBAhB2B,EAgBP,UAACoE,EAAD,EAA4BC,KAA5B;AAAA,SAAsCD,EAAE,CAAC6B,UAAH,CAAc5B,KAAd,CAAtC;AAAA,CAhBO,wDAiB9BxF,mBAAGoB,UAjB2B,EAiBd,UAACmE,EAAD,EAA4BC,KAA5B;AAAA,SAAsCD,EAAE,CAAC8B,SAAH,CAAa7B,KAAb,CAAtC;AAAA,CAjBc,wDAkB9BxF,mBAAGsB,WAlB2B,EAkBb,UAACiE,EAAD,EAA4BC,KAA5B;AAAA,SAAwDD,EAAE,CAAC+B,UAAH,OAAA/B,EAAE,mCAAeC,KAAf,EAA1D;AAAA,CAlBa,wDAmB9BxF,mBAAGuB,eAnB2B,EAmBT,UAACgE,EAAD,EAA4BC,KAA5B;AAAA,SAAsCD,EAAE,CAACgC,SAAH,CAAa/B,KAAb,CAAtC;AAAA,CAnBS,wDAoB9BxF,mBAAGwB,MApB2B,EAoBlB8D,MApBkB,wDAqB9BtF,mBAAG2E,+BArB2B,EAqBOgB,IArBP,wDAuB9B3F,mBAAGyB,eAvB2B,EAuBT,UAAC8D,EAAD,EAA4BC,KAA5B;AAAA,SAAsCD,EAAE,CAACiC,UAAH,CAAchC,KAAd,CAAtC;AAAA,CAvBS,wDAwB9BxF,mBAAG2B,oBAxB2B,EAwBJ,UAAC4D,EAAD,EAA4BC,KAA5B;AAAA,SACzBD,EAAE,CAACkC,gBAAH,CAAoBzH,mBAAG0H,YAAvB,EAAqClC,KAArC,CADyB;AAAA,CAxBI,wDA0B9BxF,mBAAGsE,0BA1B2B,EA0BE,UAACiB,EAAD,EAA4BC,KAA5B;AAAA;;AAAA,kCAC/B,QAACD,EAAD,EAA+BoC,qBADA,0DAC/B,iCAAuD3H,mBAAG4H,kBAA1D,EAA8EpC,KAA9E,CAD+B;AAAA,CA1BF,wDA4B9BxF,mBAAG4B,oBA5B2B,EA4BJ,UAAC2D,EAAD,EAA4BC,KAA5B;AAAA,SACxBD,EAAD,CAA+BsC,eAA/B,CAA+CrC,KAA/C,CADyB;AAAA,CA5BI,wDA+B9BxF,mBAAG0B,mBA/B2B,EA+BLmE,eA/BK,wDAgC9B7F,mBAAG4E,wBAhC2B,EAgCAiB,eAhCA,wDAmC9B7F,mBAAG6B,oBAnC2B,EAmCJqE,UAnCI,wDAoC9BlG,mBAAGuE,wBApC2B,EAoCA2B,UApCA,wDAqC9BlG,mBAAGwE,yBArC2B,EAqCC0B,UArCD,wDAsC9BlG,mBAAGyE,yBAtC2B,EAsCCyB,UAtCD,wDAuC9BlG,mBAAG0E,2BAvC2B,EAuCGwB,UAvCH,wDAyC9BlG,mBAAG8B,UAzC2B,EAyCd,UAACyD,EAAD,EAA4BC,KAA5B;AAAA,SAAsCD,EAAE,CAACuC,SAAH,CAAatC,KAAb,CAAtC;AAAA,CAzCc,wDA0C9BxF,mBAAGgC,oBA1C2B,EA0CJ2D,IA1CI,wDA2C9B3F,mBAAGkC,UA3C2B,EA2Cd,UAACqD,EAAD,EAA4BC,KAA5B;AAAA,SAAsCD,EAAE,CAACwC,SAAH,CAAavC,KAAb,CAAtC;AAAA,CA3Cc,wDA4C9BxF,mBAAGmC,mBA5C2B,EA4CLmD,MA5CK,wDA6C9BtF,mBAAGoC,qBA7C2B,EA6CH,eA7CG,wDA8C9BpC,mBAAGqC,oBA9C2B,EA8CJ,eA9CI,wDA+C9BrC,mBAAG6E,kBA/C2B,EA+CNS,MA/CM,wDAgD9BtF,mBAAGsC,wBAhD2B,EAgDAgD,MAhDA,wDAiD9BtF,mBAAGuC,eAjD2B,EAiDT+C,MAjDS,wDAkD9BtF,mBAAGwC,qBAlD2B,EAkDH,gBAlDG,wDAmD9BxC,mBAAGyC,sBAnD2B,EAmDF,gBAnDE,wDAoD9BzC,mBAAG0C,YApD2B,EAoDZ4C,MApDY,wDAqD9BtF,mBAAG2C,WArD2B,EAqDb,UAAC4C,EAAD,EAA4BC,KAA5B;AAAA,SAAwED,EAAE,CAACyC,OAAH,OAAAzC,EAAE,mCAAYC,KAAZ,EAA1E;AAAA,CArDa,wDAsD9BxF,mBAAG6C,YAtD2B,EAsDZyC,MAtDY,wDAuD9BtF,mBAAG8C,mBAvD2B,EAuDL,UAACyC,EAAD,EAA4BC,KAA5B;AAAA,SAAsCD,EAAE,CAAC0C,YAAH,CAAgBzC,KAAhB,CAAtC;AAAA,CAvDK,wDAwD9BxF,mBAAG+C,iBAxD2B,EAwDP,UAACwC,EAAD,EAA4BC,KAA5B;AAAA,SACtBD,EAAE,CAAC2C,mBAAH,CAAuBlI,mBAAGmI,KAA1B,EAAiC3C,KAAjC,CADsB;AAAA,CAxDO,wDA0D9BxF,mBAAGgD,sBA1D2B,EA0DF,UAACuC,EAAD,EAA4BC,KAA5B;AAAA,SAC3BD,EAAE,CAAC2C,mBAAH,CAAuBlI,mBAAGiB,IAA1B,EAAgCuE,KAAhC,CAD2B;AAAA,CA1DE,wDA4D9BxF,mBAAGiD,YA5D2B,EA4DZ,kBA5DY,wDA6D9BjD,mBAAGmD,WA7D2B,EA6Db,kBA7Da,wDA8D9BnD,mBAAGoD,kBA9D2B,EA8DN,kBA9DM,wDA+D9BpD,mBAAGqD,iBA/D2B,EA+DP,iBA/DO,wDAgE9BrD,mBAAGsD,gBAhE2B,EAgER,iBAhEQ,wDAiE9BtD,mBAAGuD,uBAjE2B,EAiED,iBAjEC,wDAkE9BvD,mBAAGwD,YAlE2B,EAkEZ,gBAlEY,wDAmE9BxD,mBAAG0D,uBAnE2B,EAmED,gBAnEC,wDAoE9B1D,mBAAG2D,uBApE2B,EAoED,gBApEC,wDAqE9B3D,mBAAG4D,iBArE2B,EAqEP,eArEO,wDAsE9B5D,mBAAG6D,4BAtE2B,EAsEI,eAtEJ,wDAuE9B7D,mBAAG8D,4BAvE2B,EAuEI,eAvEJ,wDAwE9B9D,mBAAG+D,QAxE2B,EAwEhB,UAACwB,EAAD,EAA4BC,KAA5B;AAAA,SAAwED,EAAE,CAAC6C,QAAH,OAAA7C,EAAE,mCAAaC,KAAb,EAA1E;AAAA,CAxEgB,wDA2E9BxF,mBAAGgE,cA3E2B,EA2EV4B,WA3EU,wDA4E9B5F,mBAAGiE,gBA5E2B,EA4ER2B,WA5EQ,wDA6E9B5F,mBAAGkE,mBA7E2B,EA6EL0B,WA7EK,wDA8E9B5F,mBAAGmE,8BA9E2B,EA8EMyB,WA9EN,wDA+E9B5F,mBAAGoE,kCA/E2B,EA+EUwB,WA/EV,wDAmF9B5F,mBAAG8E,eAnF2B,EAmFTc,WAnFS,wDAoF9B5F,mBAAG+E,gBApF2B,EAoFRa,WApFQ,wDAqF9B5F,mBAAGgF,cArF2B,EAqFVY,WArFU,wDAsF9B5F,mBAAGiF,iBAtF2B,EAsFPW,WAtFO,wDAuF9B5F,mBAAGkF,mBAvF2B,EAuFLU,WAvFK,wDAwF9B5F,mBAAGmF,kBAxF2B,EAwFNS,WAxFM,wDAyF9B5F,mBAAGoF,gBAzF2B,EAyFRQ,WAzFQ,wDA0F9B5F,mBAAGqF,kBA1F2B,EA0FNO,WA1FM,uEA6FlB,qBAACL,EAAD,EAA4B8C,YAA5B,EAA4C;AAGvD,MAAMC,MAAM,GAAGD,YAAW,IAAI,YAAYA,YAA3B,GAAyCA,YAAW,CAACC,MAArD,GAA8DD,YAA7E;AACA,SAAO9C,EAAE,CAACM,eAAH,CAAmB7F,mBAAGgG,WAAtB,EAAmCsC,MAAnC,CAAP;AACD,CAlG8B,iEAmGxB,eAAC/C,EAAD,EAA4BC,KAA5B;AAAA,SAAuCA,KAAK,GAAGD,EAAE,CAACD,MAAH,CAAUtF,mBAAGC,KAAb,CAAH,GAAyBsF,EAAE,CAACG,OAAH,CAAW1F,mBAAGC,KAAd,CAArE;AAAA,CAnGwB,sEAoGnB,oBAACsF,EAAD,EAA4BC,KAA5B;AAAA,SAAwED,EAAE,CAACyB,UAAH,OAAAzB,EAAE,mCAAeC,KAAf,EAA1E;AAAA,CApGmB,yEAqGhB,uBAACD,EAAD,EAA4BgD,IAA5B,EAAgE;AAC7E,MAAMC,aAAa,GAAG,OAAOD,IAAP,KAAgB,QAAhB,GAA2B,CAACA,IAAD,EAAOA,IAAP,CAA3B,GAA6DA,IAAnF;AACAhD,EAAAA,EAAE,CAACkD,qBAAH,OAAAlD,EAAE,mCAA0BiD,aAA1B,EAAF;AACD,CAxG8B,qEAyGpB,mBAACjD,EAAD,EAA4BgD,IAA5B,EAA0F;AACnG,MAAMG,aAAa,GAAG,CAAAH,IAAI,SAAJ,IAAAA,IAAI,WAAJ,YAAAA,IAAI,CAAEI,MAAN,MAAiB,CAAjB,8CAAyBJ,IAAzB,oCAAkCA,IAAlC,KAA8EA,IAApG;AACAhD,EAAAA,EAAE,CAACqD,iBAAH,OAAArD,EAAE,mCAAsBmD,aAAtB,EAAF;AACD,CA5G8B,sEA8GnB,oBAACnD,EAAD,EAA4BC,KAA5B;AAAA,SAAwED,EAAE,CAAC0B,UAAH,OAAA1B,EAAE,mCAAeC,KAAf,EAA1E;AAAA,CA9GmB,sEA+GnB,oBAACD,EAAD,EAA4BC,KAA5B;AAAA,SAAsCD,EAAE,CAAC6B,UAAH,CAAc5B,KAAd,CAAtC;AAAA,CA/GmB,wEAgHjB,sBAACD,EAAD,EAA4BC,KAA5B;AAAA,SAAsCD,EAAE,CAAC0C,YAAH,CAAgBzC,KAAhB,CAAtC;AAAA,CAhHiB,qEAkHpB,mBAACD,EAAD,EAA4BC,KAA5B;AAAA,SAA4ED,EAAE,CAAC2B,SAAH,OAAA3B,EAAE,mCAAcC,KAAd,EAA9E;AAAA,CAlHoB,gEAoHzB,cAACD,EAAD,EAA4BC,KAA5B;AAAA,SACJA,KAAK,GAAGD,EAAE,CAACD,MAAH,CAAUtF,mBAAGe,SAAb,CAAH,GAA6BwE,EAAE,CAACG,OAAH,CAAW1F,mBAAGe,SAAd,CAD9B;AAAA,CApHyB,oEAsHrB,kBAACwE,EAAD,EAA4BC,KAA5B;AAAA,SAAsCD,EAAE,CAAC4B,QAAH,CAAY3B,KAAZ,CAAtC;AAAA,CAtHqB,qEAwHpB,mBAACD,EAAD,EAA4BC,KAA5B;AAAA,SACTA,KAAK,GAAGD,EAAE,CAACD,MAAH,CAAUtF,mBAAGkB,UAAb,CAAH,GAA8BqE,EAAE,CAACG,OAAH,CAAW1F,mBAAGkB,UAAd,CAD1B;AAAA,CAxHoB,qEA0HpB,mBAACqE,EAAD,EAA4BC,KAA5B;AAAA,SAAsCD,EAAE,CAAC8B,SAAH,CAAa7B,KAAb,CAAtC;AAAA,CA1HoB,qEA2HpB,mBAACD,EAAD,EAA4BC,KAA5B;AAAA,SAAsCD,EAAE,CAACgC,SAAH,CAAa/B,KAAb,CAAtC;AAAA,CA3HoB,sEA4HnB,oBAACD,EAAD,EAA4BC,KAA5B;AAAA,SAAwDD,EAAE,CAAC+B,UAAH,OAAA/B,EAAE,mCAAeC,KAAf,EAA1D;AAAA,CA5HmB,kEA8HvB,gBAACD,EAAD,EAA4BC,KAA5B;AAAA,SACNA,KAAK,GAAGD,EAAE,CAACD,MAAH,CAAUtF,mBAAGwB,MAAb,CAAH,GAA0B+D,EAAE,CAACG,OAAH,CAAW1F,mBAAGwB,MAAd,CADzB;AAAA,CA9HuB,0EAiIf,wBAAC+D,EAAD,EAA4BC,KAA5B,EAAsC;AAEpDD,EAAAA,EAAE,CAACI,IAAH,CAAQ3F,mBAAG2E,+BAAX,EAA4Ca,KAA5C;AACD,CApI8B,qEAsIpB,mBAACD,EAAD,EAA4BC,KAA5B;AAAA,SAAsCD,EAAE,CAACuC,SAAH,CAAatC,KAAb,CAAtC;AAAA,CAtIoB,sEAwInB,oBAACD,EAAD,EAA4BC,KAA5B;AAAA,SAAsCD,EAAE,CAACI,IAAH,CAAQ3F,mBAAGgC,oBAAX,EAAiCwD,KAAjC,CAAtC;AAAA,CAxImB,qEA0IpB,mBAACD,EAAD,EAA4BC,KAA5B;AAAA,SAAsCD,EAAE,CAACwC,SAAH,CAAavC,KAAb,CAAtC;AAAA,CA1IoB,6EA4IZ,2BAACD,EAAD,EAA4BC,KAA5B;AAAA,SACjBA,KAAK,GAAGD,EAAE,CAACD,MAAH,CAAUtF,mBAAGmC,mBAAb,CAAH,GAAuCoD,EAAE,CAACG,OAAH,CAAW1F,mBAAGmC,mBAAd,CAD3B;AAAA,CA5IY,yEA8IhB,uBAACoD,EAAD,EAA4BC,KAA5B;AAAA,SAAwDD,EAAE,CAACsD,aAAH,OAAAtD,EAAE,mCAAkBC,KAAlB,EAA1D;AAAA,CA9IgB,0EAgJf,wBAACD,EAAD,EAA4BC,KAA5B;AAAA,SAA0DD,EAAE,CAACuD,cAAH,OAAAvD,EAAE,mCAAmBC,KAAnB,EAA5D;AAAA,CAhJe,uEAkJlB,qBAACD,EAAD,EAA4BC,KAA5B;AAAA,SACXA,KAAK,GAAGD,EAAE,CAACD,MAAH,CAAUtF,mBAAG0C,YAAb,CAAH,GAAgC6C,EAAE,CAACG,OAAH,CAAW1F,mBAAG0C,YAAd,CAD1B;AAAA,CAlJkB,mEAoJtB,iBAAC6C,EAAD,EAA4BC,KAA5B;AAAA,SAAwED,EAAE,CAACyC,OAAH,OAAAzC,EAAE,mCAAYC,KAAZ,EAA1E;AAAA,CApJsB,uEAsJlB,qBAACD,EAAD,EAA4BC,KAA5B;AAAA,SACXA,KAAK,GAAGD,EAAE,CAACD,MAAH,CAAUtF,mBAAG6C,YAAb,CAAH,GAAgC0C,EAAE,CAACG,OAAH,CAAW1F,mBAAG6C,YAAd,CAD1B;AAAA,CAtJkB,uEAwJlB,qBAAC0C,EAAD,EAA4BC,KAA5B,EAAsC;AACjDA,EAAAA,KAAK,GAAGiB,OAAO,CAACjB,KAAD,CAAP,GAAiBA,KAAjB,GAAyB,CAACA,KAAD,EAAQA,KAAR,CAAjC;;AACA,eAAyBA,KAAzB;AAAA;AAAA,MAAOuD,IAAP;AAAA,MAAaC,QAAb;;AACAzD,EAAAA,EAAE,CAAC2C,mBAAH,CAAuBlI,mBAAGmI,KAA1B,EAAiCY,IAAjC;AACAxD,EAAAA,EAAE,CAAC2C,mBAAH,CAAuBlI,mBAAGiB,IAA1B,EAAgC+H,QAAhC;AACD,CA7J8B,uEA8JlB,qBAACzD,EAAD,EAA4BgD,IAA5B,EAAqC;AAChDA,EAAAA,IAAI,GAAG9B,OAAO,CAAC8B,IAAD,CAAP,IAAiBA,IAAI,CAACI,MAAL,KAAgB,CAAjC,8CAAyCJ,IAAzC,oCAAkDA,IAAlD,KAA0DA,IAAjE;;AACA,cAAuDA,IAAvD;AAAA;AAAA,MAAOU,IAAP;AAAA,MAAaC,GAAb;AAAA,MAAkBH,IAAlB;AAAA,MAAwBI,QAAxB;AAAA,MAAkCC,OAAlC;AAAA,MAA2CJ,QAA3C;;AACAzD,EAAAA,EAAE,CAAC8D,mBAAH,CAAuBrJ,mBAAGmI,KAA1B,EAAiCc,IAAjC,EAAuCC,GAAvC,EAA4CH,IAA5C;AACAxD,EAAAA,EAAE,CAAC8D,mBAAH,CAAuBrJ,mBAAGiB,IAA1B,EAAgCkI,QAAhC,EAA0CC,OAA1C,EAAmDJ,QAAnD;AACD,CAnK8B,qEAoKpB,mBAACzD,EAAD,EAA4BgD,IAA5B,EAAqC;AAC9CA,EAAAA,IAAI,GAAG9B,OAAO,CAAC8B,IAAD,CAAP,IAAiBA,IAAI,CAACI,MAAL,KAAgB,CAAjC,8CAAyCJ,IAAzC,oCAAkDA,IAAlD,KAA0DA,IAAjE;;AACA,eAAmEA,IAAnE;AAAA;AAAA,MAAOe,KAAP;AAAA,MAAcC,MAAd;AAAA,MAAsBC,MAAtB;AAAA,MAA8BC,SAA9B;AAAA,MAAyCC,UAAzC;AAAA,MAAqDC,UAArD;;AACApE,EAAAA,EAAE,CAACqE,iBAAH,CAAqB5J,mBAAGmI,KAAxB,EAA+BmB,KAA/B,EAAsCC,MAAtC,EAA8CC,MAA9C;AACAjE,EAAAA,EAAE,CAACqE,iBAAH,CAAqB5J,mBAAGiB,IAAxB,EAA8BwI,SAA9B,EAAyCC,UAAzC,EAAqDC,UAArD;AACD,CAzK8B,oEA2KrB,kBAACpE,EAAD,EAA4BC,KAA5B;AAAA,SAAwED,EAAE,CAAC6C,QAAH,OAAA7C,EAAE,mCAAaC,KAAb,EAA1E;AAAA,CA3KqB,yBAA1B;;;AA8KP,SAASqE,QAAT,CAAkBC,MAAlB,EAA0BC,MAA1B,EAAkCC,KAAlC,EAAyC;AACvC,SAAOD,MAAM,CAACD,MAAD,CAAN,KAAmBG,SAAnB,GAA+BF,MAAM,CAACD,MAAD,CAArC,GAAgDE,KAAK,CAACF,MAAD,CAA5D;AACD;;AAGM,IAAMI,8BAA8B,GAAG;AAC5CC,EAAAA,aAAa,EAAE,uBAAC5E,EAAD,EAA4BwE,MAA5B,EAAoCC,KAApC;AAAA,WACbzE,EAAE,CAACkD,qBAAH,CACEoB,QAAQ,CAAC7J,mBAAGI,kBAAJ,EAAwB2J,MAAxB,EAAgCC,KAAhC,CADV,EAEEH,QAAQ,CAAC7J,mBAAGM,oBAAJ,EAA0ByJ,MAA1B,EAAkCC,KAAlC,CAFV,CADa;AAAA,GAD6B;AAM5CI,EAAAA,SAAS,EAAE,mBAAC7E,EAAD,EAA4BwE,MAA5B,EAAoCC,KAApC;AAAA,WACTzE,EAAE,CAACqD,iBAAH,CACEiB,QAAQ,CAAC7J,mBAAGO,aAAJ,EAAmBwJ,MAAnB,EAA2BC,KAA3B,CADV,EAEEH,QAAQ,CAAC7J,mBAAGS,aAAJ,EAAmBsJ,MAAnB,EAA2BC,KAA3B,CAFV,EAGEH,QAAQ,CAAC7J,mBAAGW,eAAJ,EAAqBoJ,MAArB,EAA6BC,KAA7B,CAHV,EAIEH,QAAQ,CAAC7J,mBAAGY,eAAJ,EAAqBmJ,MAArB,EAA6BC,KAA7B,CAJV,CADS;AAAA,GANiC;AAa5CnB,EAAAA,aAAa,EAAE,uBAACtD,EAAD,EAA4BwE,MAA5B,EAAoCC,KAApC;AAAA,WACbzE,EAAE,CAACsD,aAAH,CACEgB,QAAQ,CAAC7J,mBAAGoC,qBAAJ,EAA2B2H,MAA3B,EAAmCC,KAAnC,CADV,EAEEH,QAAQ,CAAC7J,mBAAGqC,oBAAJ,EAA0B0H,MAA1B,EAAkCC,KAAlC,CAFV,CADa;AAAA,GAb6B;AAkB5ClB,EAAAA,cAAc,EAAE,wBAACvD,EAAD,EAA4BwE,MAA5B,EAAoCC,KAApC;AAAA,WACdzE,EAAE,CAACuD,cAAH,CACEe,QAAQ,CAAC7J,mBAAGwC,qBAAJ,EAA2BuH,MAA3B,EAAmCC,KAAnC,CADV,EAEEH,QAAQ,CAAC7J,mBAAGyC,sBAAJ,EAA4BsH,MAA5B,EAAoCC,KAApC,CAFV,CADc;AAAA,GAlB4B;AAuB5CK,EAAAA,gBAAgB,EAAE,0BAAC9E,EAAD,EAA4BwE,MAA5B,EAAoCC,KAApC;AAAA,WAChBzE,EAAE,CAAC8D,mBAAH,CACErJ,mBAAGmI,KADL,EAEE0B,QAAQ,CAAC7J,mBAAGiD,YAAJ,EAAkB8G,MAAlB,EAA0BC,KAA1B,CAFV,EAGEH,QAAQ,CAAC7J,mBAAGmD,WAAJ,EAAiB4G,MAAjB,EAAyBC,KAAzB,CAHV,EAIEH,QAAQ,CAAC7J,mBAAGoD,kBAAJ,EAAwB2G,MAAxB,EAAgCC,KAAhC,CAJV,CADgB;AAAA,GAvB0B;AA8B5CM,EAAAA,eAAe,EAAE,yBAAC/E,EAAD,EAA4BwE,MAA5B,EAAoCC,KAApC;AAAA,WACfzE,EAAE,CAAC8D,mBAAH,CACErJ,mBAAGiB,IADL,EAEE4I,QAAQ,CAAC7J,mBAAGqD,iBAAJ,EAAuB0G,MAAvB,EAA+BC,KAA/B,CAFV,EAGEH,QAAQ,CAAC7J,mBAAGsD,gBAAJ,EAAsByG,MAAtB,EAA8BC,KAA9B,CAHV,EAIEH,QAAQ,CAAC7J,mBAAGuD,uBAAJ,EAA6BwG,MAA7B,EAAqCC,KAArC,CAJV,CADe;AAAA,GA9B2B;AAqC5CO,EAAAA,cAAc,EAAE,wBAAChF,EAAD,EAA4BwE,MAA5B,EAAoCC,KAApC;AAAA,WACdzE,EAAE,CAACqE,iBAAH,CACE5J,mBAAGmI,KADL,EAEE0B,QAAQ,CAAC7J,mBAAGwD,YAAJ,EAAkBuG,MAAlB,EAA0BC,KAA1B,CAFV,EAGEH,QAAQ,CAAC7J,mBAAG0D,uBAAJ,EAA6BqG,MAA7B,EAAqCC,KAArC,CAHV,EAIEH,QAAQ,CAAC7J,mBAAG2D,uBAAJ,EAA6BoG,MAA7B,EAAqCC,KAArC,CAJV,CADc;AAAA,GArC4B;AA4C5CQ,EAAAA,aAAa,EAAE,uBAACjF,EAAD,EAA4BwE,MAA5B,EAAoCC,KAApC;AAAA,WACbzE,EAAE,CAACqE,iBAAH,CACE5J,mBAAGiB,IADL,EAEE4I,QAAQ,CAAC7J,mBAAG4D,iBAAJ,EAAuBmG,MAAvB,EAA+BC,KAA/B,CAFV,EAGEH,QAAQ,CAAC7J,mBAAG6D,4BAAJ,EAAkCkG,MAAlC,EAA0CC,KAA1C,CAHV,EAIEH,QAAQ,CAAC7J,mBAAG8D,4BAAJ,EAAkCiG,MAAlC,EAA0CC,KAA1C,CAJV,CADa;AAAA;AA5C6B,CAAvC;;AAwDA,IAAMS,iBAAiB,GAAG;AAG/BnF,EAAAA,MAAM,EAAE,gBAACoF,MAAD,EAAqBC,UAArB;AAAA,WACND,MAAM,mCACHC,UADG,EACU,IADV,EADA;AAAA,GAHuB;AAO/BjF,EAAAA,OAAO,EAAE,iBAACgF,MAAD,EAAqBC,UAArB;AAAA,WACPD,MAAM,mCACHC,UADG,EACU,KADV,EADC;AAAA,GAPsB;AAW/B/E,EAAAA,WAAW,EAAE,qBAAC8E,MAAD,EAAqBE,KAArB,EAAgCpF,KAAhC;AAAA,WACXkF,MAAM,mCACHE,KADG,EACKpF,KADL,EADK;AAAA,GAXkB;AAe/BG,EAAAA,IAAI,EAAE,cAAC+E,MAAD,EAAqBE,KAArB,EAAgCjF,KAAhC;AAAA,WACJ+E,MAAM,mCACHE,KADG,EACKjF,KADL,EADF;AAAA,GAfyB;AAqB/B6B,EAAAA,UAAU,EAAE,oBAACkD,MAAD,EAAqBlF,KAArB;AAAA,WACVkF,MAAM,mCACH1K,mBAAGyB,eADA,EACkB+D,KADlB,EADI;AAAA,GArBmB;AAyB/BiC,EAAAA,gBAAgB,EAAE,0BAACiD,MAAD,EAAqB5E,MAArB,EAA6BN,KAA7B;AAAA,WAChBkF,MAAM,mCACH1K,mBAAG2B,oBADA,EACuB6D,KADvB,EADU;AAAA,GAzBa;AA6B/BmC,EAAAA,qBAAqB,EAAE,+BAAC+C,MAAD,EAAqB5E,MAArB,EAA6BN,KAA7B;AAAA,WACrBkF,MAAM,mCACH1K,mBAAGsE,0BADA,EAC6BkB,KAD7B,EADe;AAAA,GA7BQ;AAiC/BqC,EAAAA,eAAe,EAAE,yBAAC6C,MAAD,EAAqBlF,KAArB;AAAA,WACfkF,MAAM,mCACH1K,mBAAG4B,oBADA,EACuB4D,KADvB,EADS;AAAA,GAjCc;AAsC/BK,EAAAA,eAAe,EAAE,yBAAC6E,MAAD,EAAqB5E,MAArB,EAA6BuC,WAA7B,EAA6C;AAAA;;AAC5D,YAAQvC,MAAR;AACE,WAAK9F,mBAAGgG,WAAR;AACE,eAAO0E,MAAM,yDACV1K,mBAAG6K,wBADO,EACoBxC,WADpB,2CAEVrI,mBAAG4E,wBAFO,EAEoByD,WAFpB,aAAb;;AAIF,WAAKrI,mBAAG+F,gBAAR;AACE,eAAO2E,MAAM,mCAAG1K,mBAAG6K,wBAAN,EAAiCxC,WAAjC,EAAb;;AACF,WAAKrI,mBAAGiG,gBAAR;AACE,eAAOyE,MAAM,mCAAG1K,mBAAG4E,wBAAN,EAAiCyD,WAAjC,EAAb;;AACF;AACE,eAAO,IAAP;AAXJ;AAaD,GApD8B;AAqD/BnC,EAAAA,UAAU,EAAE,oBAACwE,MAAD,EAAqB5E,MAArB,EAA6BgF,MAA7B,EAAwC;AAAA;;AAClD,QAAMF,KAAK,GAAG,kFACX5K,mBAAGoG,YADQ,EACO,CAACpG,mBAAG6B,oBAAJ,CADP,wDAEX7B,mBAAGqG,gBAFQ,EAEW,CAACrG,mBAAGuE,wBAAJ,CAFX,wDAGXvE,mBAAGsG,iBAHQ,EAGY,CAACtG,mBAAGwE,yBAAJ,CAHZ,wDAIXxE,mBAAGuG,iBAJQ,EAIY,CAACvG,mBAAGyE,yBAAJ,CAJZ,wDAKXzE,mBAAGwG,mBALQ,EAKc,CAACxG,mBAAG0E,2BAAJ,CALd,0BAMZoB,MANY,CAAd;;AAQA,QAAI8E,KAAJ,EAAW;AACT,aAAOF,MAAM,mCAAGE,KAAH,EAAWE,MAAX,EAAb;AACD;;AAED,WAAO;AAACC,MAAAA,YAAY,EAAE;AAAf,KAAP;AACD,GAnE8B;AAqE/B/D,EAAAA,UAAU,EAAE,oBAAC0D,MAAD,EAAqBM,CAArB,EAAgCC,CAAhC,EAA2CC,CAA3C,EAAsDC,CAAtD;AAAA,WACVT,MAAM,mCACH1K,mBAAGE,WADA,EACc,IAAIC,YAAJ,CAAiB,CAAC6K,CAAD,EAAIC,CAAJ,EAAOC,CAAP,EAAUC,CAAV,CAAjB,CADd,EADI;AAAA,GArEmB;AA0E/BhB,EAAAA,aAAa,EAAE,uBAACO,MAAD,EAAqBU,IAArB;AAAA;;AAAA,WACbV,MAAM,2DACH1K,mBAAGI,kBADA,EACqBgL,IADrB,4CAEHpL,mBAAGM,oBAFA,EAEuB8K,IAFvB,cADO;AAAA,GA1EgB;AAgF/B3C,EAAAA,qBAAqB,EAAE,+BAACiC,MAAD,EAAqBW,OAArB,EAA8BC,SAA9B;AAAA;;AAAA,WACrBZ,MAAM,2DACH1K,mBAAGI,kBADA,EACqBiL,OADrB,4CAEHrL,mBAAGM,oBAFA,EAEuBgL,SAFvB,cADe;AAAA,GAhFQ;AAsF/BlB,EAAAA,SAAS,EAAE,mBAACM,MAAD,EAAqBa,GAArB,EAA0BC,GAA1B;AAAA;;AAAA,WACTd,MAAM,2DACH1K,mBAAGO,aADA,EACgBgL,GADhB,4CAEHvL,mBAAGS,aAFA,EAEgB+K,GAFhB,4CAGHxL,mBAAGW,eAHA,EAGkB4K,GAHlB,4CAIHvL,mBAAGY,eAJA,EAIkB4K,GAJlB,cADG;AAAA,GAtFoB;AA8F/B5C,EAAAA,iBAAiB,EAAE,2BAAC8B,MAAD,EAAqBe,MAArB,EAA6BC,MAA7B,EAAqCC,QAArC,EAA+CC,QAA/C;AAAA;;AAAA,WACjBlB,MAAM,2DACH1K,mBAAGO,aADA,EACgBkL,MADhB,4CAEHzL,mBAAGS,aAFA,EAEgBiL,MAFhB,4CAGH1L,mBAAGW,eAHA,EAGkBgL,QAHlB,4CAIH3L,mBAAGY,eAJA,EAIkBgL,QAJlB,cADW;AAAA,GA9FY;AAsG/B3E,EAAAA,UAAU,EAAE,oBAACyD,MAAD,EAAqBM,CAArB,EAAgCC,CAAhC,EAA2CC,CAA3C,EAAsDC,CAAtD;AAAA,WACVT,MAAM,mCACH1K,mBAAGa,iBADA,EACoB,IAAIV,YAAJ,CAAiB,CAAC6K,CAAD,EAAIC,CAAJ,EAAOC,CAAP,EAAUC,CAAV,CAAjB,CADpB,EADI;AAAA,GAtGmB;AA2G/B/D,EAAAA,UAAU,EAAE,oBAACsD,MAAD,EAAqBmB,KAArB;AAAA,WACVnB,MAAM,mCACH1K,mBAAGmB,iBADA,EACoB0K,KADpB,EADI;AAAA,GA3GmB;AAgH/B5D,EAAAA,YAAY,EAAE,sBAACyC,MAAD,EAAqBoB,CAArB;AAAA,WACZpB,MAAM,mCACH1K,mBAAG8C,mBADA,EACsBgJ,CADtB,EADM;AAAA,GAhHiB;AAqH/B5E,EAAAA,SAAS,EAAE,mBAACwD,MAAD,EAAqBM,CAArB,EAAgCC,CAAhC,EAA2CC,CAA3C,EAAsDC,CAAtD;AAAA,WACTT,MAAM,mCACH1K,mBAAGc,eADA,EACkB,CAACkK,CAAD,EAAIC,CAAJ,EAAOC,CAAP,EAAUC,CAAV,CADlB,EADG;AAAA,GArHoB;AA0H/BhE,EAAAA,QAAQ,EAAE,kBAACuD,MAAD,EAAqBU,IAArB;AAAA,WACRV,MAAM,mCACH1K,mBAAGgB,cADA,EACiBoK,IADjB,EADE;AAAA,GA1HqB;AA+H/B/D,EAAAA,SAAS,EAAE,mBAACqD,MAAD,EAAqBzB,IAArB;AAAA,WACTyB,MAAM,mCACH1K,mBAAGoB,UADA,EACa6H,IADb,EADG;AAAA,GA/HoB;AAoI/B3B,EAAAA,UAAU,EAAE,oBAACoD,MAAD,EAAqBqB,KAArB,EAAoCC,IAApC;AAAA,WACVtB,MAAM,mCACH1K,mBAAGsB,WADA,EACc,IAAInB,YAAJ,CAAiB,CAAC4L,KAAD,EAAQC,IAAR,CAAjB,CADd,EADI;AAAA,GApImB;AAyI/BzE,EAAAA,SAAS,EAAE,mBAACmD,MAAD,EAAqB3B,IAArB;AAAA,WACT2B,MAAM,mCACH1K,mBAAGuB,eADA,EACkBwH,IADlB,EADG;AAAA,GAzIoB;AA8I/BjB,EAAAA,SAAS,EAAE,mBAAC4C,MAAD,EAAqBuB,IAArB;AAAA,WACTvB,MAAM,mCACH1K,mBAAG8B,UADA,EACamK,IADb,EADG;AAAA,GA9IoB;AAmJ/BlE,EAAAA,SAAS,EAAE,mBAAC2C,MAAD,EAAqBwB,KAArB;AAAA,WACTxB,MAAM,mCACH1K,mBAAGkC,UADA,EACagK,KADb,EADG;AAAA,GAnJoB;AAwJ/BrD,EAAAA,aAAa,EAAE,uBAAC6B,MAAD,EAAqByB,MAArB,EAA6BC,KAA7B;AAAA;;AAAA,WACb1B,MAAM,2DACH1K,mBAAGoC,qBADA,EACwB+J,MADxB,4CAEHnM,mBAAGqC,oBAFA,EAEuB+J,KAFvB,cADO;AAAA,GAxJgB;AA8J/BtD,EAAAA,cAAc,EAAE,wBAAC4B,MAAD,EAAqBlF,KAArB,EAA4B6G,MAA5B;AAAA;;AAAA,WACd3B,MAAM,2DACH1K,mBAAGwC,qBADA,EACwBgD,KADxB,4CAEHxF,mBAAGyC,sBAFA,EAEyB4J,MAFzB,cADQ;AAAA,GA9Je;AAoK/BrE,EAAAA,OAAO,EAAE,iBAAC0C,MAAD,EAAqB4B,CAArB,EAAwBC,CAAxB,EAA2BL,KAA3B,EAAkCM,MAAlC;AAAA,WACP9B,MAAM,mCACH1K,mBAAG2C,WADA,EACc,IAAIC,UAAJ,CAAe,CAAC0J,CAAD,EAAIC,CAAJ,EAAOL,KAAP,EAAcM,MAAd,CAAf,CADd,EADC;AAAA,GApKsB;AAyK/BC,EAAAA,WAAW,EAAE,qBAAC/B,MAAD,EAAqB3B,IAArB;AAAA;;AAAA,WACX2B,MAAM,2DACH1K,mBAAG+C,iBADA,EACoBgG,IADpB,4CAEH/I,mBAAGgD,sBAFA,EAEyB+F,IAFzB,cADK;AAAA,GAzKkB;AA+K/Bb,EAAAA,mBAAmB,EAAE,6BAACwC,MAAD,EAAqBuB,IAArB,EAA2BlD,IAA3B;AAAA,WACnB2B,MAAM,mCACHuB,IAAI,KAAKjM,mBAAGmI,KAAZ,GAAoBnI,mBAAG+C,iBAAvB,GAA2C/C,mBAAGgD,sBAD3C,EACoE+F,IADpE,EADa;AAAA,GA/KU;AAoL/B2D,EAAAA,WAAW,EAAE,qBAAChC,MAAD,EAAqBzB,IAArB,EAA2BC,GAA3B,EAAgCH,IAAhC;AAAA;;AAAA,WACX2B,MAAM,2DACH1K,mBAAGiD,YADA,EACegG,IADf,4CAEHjJ,mBAAGmD,WAFA,EAEc+F,GAFd,4CAGHlJ,mBAAGoD,kBAHA,EAGqB2F,IAHrB,4CAIH/I,mBAAGqD,iBAJA,EAIoB4F,IAJpB,4CAKHjJ,mBAAGsD,gBALA,EAKmB4F,GALnB,4CAMHlJ,mBAAGuD,uBANA,EAM0BwF,IAN1B,cADK;AAAA,GApLkB;AA8L/BM,EAAAA,mBAAmB,EAAE,6BAACqB,MAAD,EAAqBuB,IAArB,EAA2BhD,IAA3B,EAAiCC,GAAjC,EAAsCH,IAAtC;AAAA;;AAAA,WACnB2B,MAAM,2DACHuB,IAAI,KAAKjM,mBAAGmI,KAAZ,GAAoBnI,mBAAGiD,YAAvB,GAAsCjD,mBAAGqD,iBADtC,EAC0D4F,IAD1D,4CAEHgD,IAAI,KAAKjM,mBAAGmI,KAAZ,GAAoBnI,mBAAGmD,WAAvB,GAAqCnD,mBAAGsD,gBAFrC,EAEwD4F,GAFxD,4CAGH+C,IAAI,KAAKjM,mBAAGmI,KAAZ,GAAoBnI,mBAAGoD,kBAAvB,GAA4CpD,mBAAGuD,uBAH5C,EAGsEwF,IAHtE,cADa;AAAA,GA9LU;AAqM/B4D,EAAAA,SAAS,EAAE,mBAACjC,MAAD,EAAqBkC,IAArB,EAA2BC,KAA3B,EAAkCC,KAAlC;AAAA;;AAAA,WACTpC,MAAM,2DACH1K,mBAAGwD,YADA,EACeoJ,IADf,4CAEH5M,mBAAG0D,uBAFA,EAE0BmJ,KAF1B,4CAGH7M,mBAAG2D,uBAHA,EAG0BmJ,KAH1B,4CAIH9M,mBAAG4D,iBAJA,EAIoBgJ,IAJpB,4CAKH5M,mBAAG6D,4BALA,EAK+BgJ,KAL/B,4CAMH7M,mBAAG8D,4BANA,EAM+BgJ,KAN/B,cADG;AAAA,GArMoB;AA+M/BlD,EAAAA,iBAAiB,EAAE,2BAACc,MAAD,EAAqBuB,IAArB,EAA2BW,IAA3B,EAAiCC,KAAjC,EAAwCC,KAAxC;AAAA;;AAAA,WACjBpC,MAAM,2DACHuB,IAAI,KAAKjM,mBAAGmI,KAAZ,GAAoBnI,mBAAGwD,YAAvB,GAAsCxD,mBAAG4D,iBADtC,EAC0DgJ,IAD1D,4CAEHX,IAAI,KAAKjM,mBAAGmI,KAAZ,GAAoBnI,mBAAG0D,uBAAvB,GAAiD1D,mBAAG6D,4BAFjD,EAEgFgJ,KAFhF,4CAGHZ,IAAI,KAAKjM,mBAAGmI,KAAZ,GAAoBnI,mBAAG2D,uBAAvB,GAAiD3D,mBAAG8D,4BAHjD,EAGgFgJ,KAHhF,cADW;AAAA,GA/MY;AAsN/B1E,EAAAA,QAAQ,EAAE,kBAACsC,MAAD,EAAqB4B,CAArB,EAAwBC,CAAxB,EAA2BL,KAA3B,EAAkCM,MAAlC;AAAA,WACR9B,MAAM,mCACH1K,mBAAG+D,QADA,EACW,CAACuI,CAAD,EAAIC,CAAJ,EAAOL,KAAP,EAAcM,MAAd,CADX,EADE;AAAA;AAtNqB,CAA1B;;;AA8NP,IAAMO,SAAS,GAAG,SAAZA,SAAY,CAACxH,EAAD,EAA4BE,GAA5B;AAAA,SAAoCF,EAAE,CAACwH,SAAH,CAAatH,GAAb,CAApC;AAAA,CAAlB;;AAGO,IAAMuH,oBAAoB,qFAC9BhN,mBAAGC,KAD2B,EACnB8M,SADmB,wDAE9B/M,mBAAGe,SAF2B,EAEfgM,SAFe,wDAG9B/M,mBAAGkB,UAH2B,EAGd6L,SAHc,wDAI9B/M,mBAAGwB,MAJ2B,EAIlBuL,SAJkB,wDAK9B/M,mBAAGmC,mBAL2B,EAKL4K,SALK,wDAM9B/M,mBAAGsC,wBAN2B,EAMAyK,SANA,wDAO9B/M,mBAAGuC,eAP2B,EAOTwK,SAPS,wDAQ9B/M,mBAAG0C,YAR2B,EAQZqK,SARY,wDAS9B/M,mBAAG6C,YAT2B,EASZkK,SATY,wDAY9B/M,mBAAG6E,kBAZ2B,EAYNkI,SAZM,yBAA1B;;AAeA,IAAME,oBAAoB,GAAG,IAAIC,GAAJ,CAAQ,CAE1ClN,mBAAGmN,cAFuC,EAG1CnN,mBAAGoN,yBAHuC,EAI1CpN,mBAAGqN,yBAJuC,EAO1CrN,mBAAGsN,iCAPuC,EAQ1CtN,mBAAGuN,sBARuC,EAW1CvN,mBAAGwN,4BAXuC,EAa1CxN,mBAAGyN,gCAbuC,EAc1CzN,mBAAG0N,8BAduC,EAgB1C1N,mBAAG2N,WAhBuC,EAiB1C3N,mBAAG4N,YAjBuC,EAkB1C5N,mBAAG6N,YAlBuC,EAmB1C7N,mBAAG8N,YAnBuC,EAoB1C9N,mBAAG+N,YApBuC,EAqB1C/N,mBAAGgO,YArBuC,EAsB1ChO,mBAAGiO,YAtBuC,EAuB1CjO,mBAAGkO,YAvBuC,EAwB1ClO,mBAAGmO,YAxBuC,EAyB1CnO,mBAAGoO,YAzBuC,EA0B1CpO,mBAAGqO,YA1BuC,EA2B1CrO,mBAAGsO,aA3BuC,EA4B1CtO,mBAAGuO,aA5BuC,EA6B1CvO,mBAAGwO,aA7BuC,EA8B1CxO,mBAAGyO,aA9BuC,EA+B1CzO,mBAAG0O,aA/BuC,EAgC1C1O,mBAAG2O,aAhCuC,EAkC1C3O,mBAAG4O,eAlCuC,EAmC1C5O,mBAAG6O,kBAnCuC,EAoC1C7O,mBAAG8O,wBApCuC,EAqC1C9O,mBAAG+O,kBArCuC,EAsC1C/O,mBAAGgP,wBAtCuC,CAAR,CAA7B","sourcesContent":["// Tables describing WebGL parameters\nimport GL from '@luma.gl/constants';\nimport {isWebGL2} from '../context/webgl-checks';\nimport type {GLParameters} from '../../types/webgl';\n// DEFAULT SETTINGS - FOR FAST CACHE INITIALIZATION AND CONTEXT RESETS\n\n/* eslint-disable no-shadow */\n\nexport const GL_PARAMETER_DEFAULTS: GLParameters = {\n [GL.BLEND]: false,\n [GL.BLEND_COLOR]: new Float32Array([0, 0, 0, 0]),\n [GL.BLEND_EQUATION_RGB]: GL.FUNC_ADD,\n [GL.BLEND_EQUATION_ALPHA]: GL.FUNC_ADD,\n [GL.BLEND_SRC_RGB]: GL.ONE,\n [GL.BLEND_DST_RGB]: GL.ZERO,\n [GL.BLEND_SRC_ALPHA]: GL.ONE,\n [GL.BLEND_DST_ALPHA]: GL.ZERO,\n [GL.COLOR_CLEAR_VALUE]: new Float32Array([0, 0, 0, 0]), // TBD\n [GL.COLOR_WRITEMASK]: [true, true, true, true],\n [GL.CULL_FACE]: false,\n [GL.CULL_FACE_MODE]: GL.BACK,\n [GL.DEPTH_TEST]: false,\n [GL.DEPTH_CLEAR_VALUE]: 1,\n [GL.DEPTH_FUNC]: GL.LESS,\n [GL.DEPTH_RANGE]: new Float32Array([0, 1]), // TBD\n [GL.DEPTH_WRITEMASK]: true,\n [GL.DITHER]: true,\n [GL.CURRENT_PROGRAM]: null,\n // FRAMEBUFFER_BINDING and DRAW_FRAMEBUFFER_BINDING(WebGL2) refer same state.\n [GL.FRAMEBUFFER_BINDING]: null,\n [GL.RENDERBUFFER_BINDING]: null,\n [GL.VERTEX_ARRAY_BINDING]: null,\n [GL.ARRAY_BUFFER_BINDING]: null,\n [GL.FRONT_FACE]: GL.CCW,\n [GL.GENERATE_MIPMAP_HINT]: GL.DONT_CARE,\n [GL.LINE_WIDTH]: 1,\n [GL.POLYGON_OFFSET_FILL]: false,\n [GL.POLYGON_OFFSET_FACTOR]: 0,\n [GL.POLYGON_OFFSET_UNITS]: 0,\n [GL.SAMPLE_ALPHA_TO_COVERAGE]: false,\n [GL.SAMPLE_COVERAGE]: false,\n [GL.SAMPLE_COVERAGE_VALUE]: 1.0,\n [GL.SAMPLE_COVERAGE_INVERT]: false,\n [GL.SCISSOR_TEST]: false,\n // Note: Dynamic value. If scissor test enabled we expect users to set correct scissor box\n [GL.SCISSOR_BOX]: new Int32Array([0, 0, 1024, 1024]),\n [GL.STENCIL_TEST]: false,\n [GL.STENCIL_CLEAR_VALUE]: 0,\n [GL.STENCIL_WRITEMASK]: 0xffffffff,\n [GL.STENCIL_BACK_WRITEMASK]: 0xffffffff,\n [GL.STENCIL_FUNC]: GL.ALWAYS,\n [GL.STENCIL_REF]: 0,\n [GL.STENCIL_VALUE_MASK]: 0xffffffff,\n [GL.STENCIL_BACK_FUNC]: GL.ALWAYS,\n [GL.STENCIL_BACK_REF]: 0,\n [GL.STENCIL_BACK_VALUE_MASK]: 0xffffffff,\n [GL.STENCIL_FAIL]: GL.KEEP,\n [GL.STENCIL_PASS_DEPTH_FAIL]: GL.KEEP,\n [GL.STENCIL_PASS_DEPTH_PASS]: GL.KEEP,\n [GL.STENCIL_BACK_FAIL]: GL.KEEP,\n [GL.STENCIL_BACK_PASS_DEPTH_FAIL]: GL.KEEP,\n [GL.STENCIL_BACK_PASS_DEPTH_PASS]: GL.KEEP,\n // Dynamic value: We use [0, 0, 1024, 1024] as default, but usually this is updated in each frame.\n [GL.VIEWPORT]: [0, 0, 1024, 1024],\n // WEBGL1 PIXEL PACK/UNPACK MODES\n [GL.PACK_ALIGNMENT]: 4,\n [GL.UNPACK_ALIGNMENT]: 4,\n [GL.UNPACK_FLIP_Y_WEBGL]: false,\n [GL.UNPACK_PREMULTIPLY_ALPHA_WEBGL]: false,\n [GL.UNPACK_COLORSPACE_CONVERSION_WEBGL]: GL.BROWSER_DEFAULT_WEBGL,\n\n // WEBGL2 / EXTENSIONS\n // gl1: 'OES_standard_derivatives'\n [GL.TRANSFORM_FEEDBACK_BINDING]: null,\n [GL.COPY_READ_BUFFER_BINDING]: null,\n [GL.COPY_WRITE_BUFFER_BINDING]: null,\n [GL.PIXEL_PACK_BUFFER_BINDING]: null,\n [GL.PIXEL_UNPACK_BUFFER_BINDING]: null,\n [GL.FRAGMENT_SHADER_DERIVATIVE_HINT]: GL.DONT_CARE,\n [GL.READ_FRAMEBUFFER_BINDING]: null,\n [GL.RASTERIZER_DISCARD]: false,\n [GL.PACK_ROW_LENGTH]: 0,\n [GL.PACK_SKIP_PIXELS]: 0,\n [GL.PACK_SKIP_ROWS]: 0,\n [GL.UNPACK_ROW_LENGTH]: 0,\n [GL.UNPACK_IMAGE_HEIGHT]: 0,\n [GL.UNPACK_SKIP_PIXELS]: 0,\n [GL.UNPACK_SKIP_ROWS]: 0,\n [GL.UNPACK_SKIP_IMAGES]: 0\n};\n\n// SETTER TABLES - ENABLES SETTING ANY PARAMETER WITH A COMMON API\n\nconst enable = (gl: WebGLRenderingContext, value: unknown, key: GL) =>\n value ? gl.enable(key) : gl.disable(key);\nconst hint = (gl: WebGLRenderingContext, value: GL, key: GL) => gl.hint(key, value);\nconst pixelStorei = (gl: WebGLRenderingContext, value: number | boolean, key: GL) =>\n gl.pixelStorei(key, value);\n\nconst bindFramebuffer = (gl: WebGLRenderingContext, value: unknown, key: GL) => {\n let target;\n if (key === GL.FRAMEBUFFER_BINDING) {\n target = isWebGL2(gl) ? GL.DRAW_FRAMEBUFFER : GL.FRAMEBUFFER;\n } else {\n // GL.READ_FRAMEBUFFER_BINDING\n target = GL.READ_FRAMEBUFFER;\n }\n return gl.bindFramebuffer(target, value);\n};\n\nconst bindBuffer = (gl: WebGLRenderingContext, value: unknown, key: GL) => {\n const bindingMap: Partial<Record<GL, GL>> = {\n [GL.ARRAY_BUFFER_BINDING]: GL.ARRAY_BUFFER,\n [GL.COPY_READ_BUFFER_BINDING]: GL.COPY_READ_BUFFER,\n [GL.COPY_WRITE_BUFFER_BINDING]: GL.COPY_WRITE_BUFFER,\n [GL.PIXEL_PACK_BUFFER_BINDING]: GL.PIXEL_PACK_BUFFER,\n [GL.PIXEL_UNPACK_BUFFER_BINDING]: GL.PIXEL_UNPACK_BUFFER\n };\n const target = bindingMap[key];\n\n gl.bindBuffer(target, value);\n};\n\n// Utility\nfunction isArray(array: unknown): boolean {\n return Array.isArray(array) || (ArrayBuffer.isView(array) && !(array instanceof DataView));\n}\n\n// Map from WebGL parameter names to corresponding WebGL setter functions\n// WegGL constants are read by parameter names, but set by function names\n// NOTE: When value type is a string, it will be handled by 'GL_COMPOSITE_PARAMETER_SETTERS'\nexport const GL_PARAMETER_SETTERS = {\n [GL.BLEND]: enable,\n [GL.BLEND_COLOR]: (gl: WebGLRenderingContext, value: [number, number, number, number]) =>\n gl.blendColor(...value),\n [GL.BLEND_EQUATION_RGB]: 'blendEquation',\n [GL.BLEND_EQUATION_ALPHA]: 'blendEquation',\n [GL.BLEND_SRC_RGB]: 'blendFunc',\n [GL.BLEND_DST_RGB]: 'blendFunc',\n [GL.BLEND_SRC_ALPHA]: 'blendFunc',\n [GL.BLEND_DST_ALPHA]: 'blendFunc',\n [GL.COLOR_CLEAR_VALUE]: (gl: WebGLRenderingContext, value: [number, number, number, number]) =>\n gl.clearColor(...value),\n [GL.COLOR_WRITEMASK]: (gl: WebGLRenderingContext, value: [boolean, boolean, boolean, boolean]) => gl.colorMask(...value),\n [GL.CULL_FACE]: enable,\n [GL.CULL_FACE_MODE]: (gl: WebGLRenderingContext, value) => gl.cullFace(value),\n [GL.DEPTH_TEST]: enable,\n [GL.DEPTH_CLEAR_VALUE]: (gl: WebGLRenderingContext, value) => gl.clearDepth(value),\n [GL.DEPTH_FUNC]: (gl: WebGLRenderingContext, value) => gl.depthFunc(value),\n [GL.DEPTH_RANGE]: (gl: WebGLRenderingContext, value: [number, number]) => gl.depthRange(...value),\n [GL.DEPTH_WRITEMASK]: (gl: WebGLRenderingContext, value) => gl.depthMask(value),\n [GL.DITHER]: enable,\n [GL.FRAGMENT_SHADER_DERIVATIVE_HINT]: hint,\n\n [GL.CURRENT_PROGRAM]: (gl: WebGLRenderingContext, value) => gl.useProgram(value),\n [GL.RENDERBUFFER_BINDING]: (gl: WebGLRenderingContext, value) =>\n gl.bindRenderbuffer(GL.RENDERBUFFER, value),\n [GL.TRANSFORM_FEEDBACK_BINDING]: (gl: WebGLRenderingContext, value) =>\n (gl as WebGL2RenderingContext).bindTransformFeedback?.(GL.TRANSFORM_FEEDBACK, value),\n [GL.VERTEX_ARRAY_BINDING]: (gl: WebGLRenderingContext, value) =>\n (gl as WebGL2RenderingContext).bindVertexArray(value),\n // NOTE: FRAMEBUFFER_BINDING and DRAW_FRAMEBUFFER_BINDING(WebGL2) refer same state.\n [GL.FRAMEBUFFER_BINDING]: bindFramebuffer,\n [GL.READ_FRAMEBUFFER_BINDING]: bindFramebuffer,\n\n // Buffers\n [GL.ARRAY_BUFFER_BINDING]: bindBuffer,\n [GL.COPY_READ_BUFFER_BINDING]: bindBuffer,\n [GL.COPY_WRITE_BUFFER_BINDING]: bindBuffer,\n [GL.PIXEL_PACK_BUFFER_BINDING]: bindBuffer,\n [GL.PIXEL_UNPACK_BUFFER_BINDING]: bindBuffer,\n\n [GL.FRONT_FACE]: (gl: WebGLRenderingContext, value) => gl.frontFace(value),\n [GL.GENERATE_MIPMAP_HINT]: hint,\n [GL.LINE_WIDTH]: (gl: WebGLRenderingContext, value) => gl.lineWidth(value),\n [GL.POLYGON_OFFSET_FILL]: enable,\n [GL.POLYGON_OFFSET_FACTOR]: 'polygonOffset',\n [GL.POLYGON_OFFSET_UNITS]: 'polygonOffset',\n [GL.RASTERIZER_DISCARD]: enable,\n [GL.SAMPLE_ALPHA_TO_COVERAGE]: enable,\n [GL.SAMPLE_COVERAGE]: enable,\n [GL.SAMPLE_COVERAGE_VALUE]: 'sampleCoverage',\n [GL.SAMPLE_COVERAGE_INVERT]: 'sampleCoverage',\n [GL.SCISSOR_TEST]: enable,\n [GL.SCISSOR_BOX]: (gl: WebGLRenderingContext, value: [number, number, number, number]) => gl.scissor(...value),\n [GL.STENCIL_TEST]: enable,\n [GL.STENCIL_CLEAR_VALUE]: (gl: WebGLRenderingContext, value) => gl.clearStencil(value),\n [GL.STENCIL_WRITEMASK]: (gl: WebGLRenderingContext, value) =>\n gl.stencilMaskSeparate(GL.FRONT, value),\n [GL.STENCIL_BACK_WRITEMASK]: (gl: WebGLRenderingContext, value) =>\n gl.stencilMaskSeparate(GL.BACK, value),\n [GL.STENCIL_FUNC]: 'stencilFuncFront',\n [GL.STENCIL_REF]: 'stencilFuncFront',\n [GL.STENCIL_VALUE_MASK]: 'stencilFuncFront',\n [GL.STENCIL_BACK_FUNC]: 'stencilFuncBack',\n [GL.STENCIL_BACK_REF]: 'stencilFuncBack',\n [GL.STENCIL_BACK_VALUE_MASK]: 'stencilFuncBack',\n [GL.STENCIL_FAIL]: 'stencilOpFront',\n [GL.STENCIL_PASS_DEPTH_FAIL]: 'stencilOpFront',\n [GL.STENCIL_PASS_DEPTH_PASS]: 'stencilOpFront',\n [GL.STENCIL_BACK_FAIL]: 'stencilOpBack',\n [GL.STENCIL_BACK_PASS_DEPTH_FAIL]: 'stencilOpBack',\n [GL.STENCIL_BACK_PASS_DEPTH_PASS]: 'stencilOpBack',\n [GL.VIEWPORT]: (gl: WebGLRenderingContext, value: [number, number, number, number]) => gl.viewport(...value),\n\n // WEBGL1 PIXEL PACK/UNPACK MODES\n [GL.PACK_ALIGNMENT]: pixelStorei,\n [GL.UNPACK_ALIGNMENT]: pixelStorei,\n [GL.UNPACK_FLIP_Y_WEBGL]: pixelStorei,\n [GL.UNPACK_PREMULTIPLY_ALPHA_WEBGL]: pixelStorei,\n [GL.UNPACK_COLORSPACE_CONVERSION_WEBGL]: pixelStorei,\n\n // WEBGL2 PIXEL PACK/UNPACK MODES\n // RASTERIZER_DISCARD ...\n [GL.PACK_ROW_LENGTH]: pixelStorei,\n [GL.PACK_SKIP_PIXELS]: pixelStorei,\n [GL.PACK_SKIP_ROWS]: pixelStorei,\n [GL.UNPACK_ROW_LENGTH]: pixelStorei,\n [GL.UNPACK_IMAGE_HEIGHT]: pixelStorei,\n [GL.UNPACK_SKIP_PIXELS]: pixelStorei,\n [GL.UNPACK_SKIP_ROWS]: pixelStorei,\n [GL.UNPACK_SKIP_IMAGES]: pixelStorei,\n\n // Function-style setters\n framebuffer: (gl: WebGLRenderingContext, framebuffer) => {\n // accepts 1) a WebGLFramebuffer 2) null (default framebuffer), or 3) luma.gl Framebuffer class\n // framebuffer is null when restoring to default framebuffer, otherwise use the WebGL handle.\n const handle = framebuffer && 'handle' in framebuffer ? framebuffer.handle : framebuffer;\n return gl.bindFramebuffer(GL.FRAMEBUFFER, handle);\n },\n blend: (gl: WebGLRenderingContext, value) => (value ? gl.enable(GL.BLEND) : gl.disable(GL.BLEND)),\n blendColor: (gl: WebGLRenderingContext, value: [number, number, number, number]) => gl.blendColor(...value),\n blendEquation: (gl: WebGLRenderingContext, args: number | [number, number]) => {\n const separateModes = typeof args === 'number' ? [args, args] as [number, number]: args;\n gl.blendEquationSeparate(...separateModes);\n },\n blendFunc: (gl: WebGLRenderingContext, args: [number, number] | [number, number, number, number]) => {\n const separateFuncs = args?.length === 2 ? [...args, ...args] as [number, number, number, number] : args;\n gl.blendFuncSeparate(...separateFuncs);\n },\n\n clearColor: (gl: WebGLRenderingContext, value: [number, number, number, number]) => gl.clearColor(...value),\n clearDepth: (gl: WebGLRenderingContext, value) => gl.clearDepth(value),\n clearStencil: (gl: WebGLRenderingContext, value) => gl.clearStencil(value),\n\n colorMask: (gl: WebGLRenderingContext, value: [boolean, boolean, boolean, boolean]) => gl.colorMask(...value),\n\n cull: (gl: WebGLRenderingContext, value) =>\n value ? gl.enable(GL.CULL_FACE) : gl.disable(GL.CULL_FACE),\n cullFace: (gl: WebGLRenderingContext, value) => gl.cullFace(value),\n\n depthTest: (gl: WebGLRenderingContext, value) =>\n value ? gl.enable(GL.DEPTH_TEST) : gl.disable(GL.DEPTH_TEST),\n depthFunc: (gl: WebGLRenderingContext, value) => gl.depthFunc(value),\n depthMask: (gl: WebGLRenderingContext, value) => gl.depthMask(value),\n depthRange: (gl: WebGLRenderingContext, value: [number, number]) => gl.depthRange(...value),\n\n dither: (gl: WebGLRenderingContext, value) =>\n value ? gl.enable(GL.DITHER) : gl.disable(GL.DITHER),\n\n derivativeHint: (gl: WebGLRenderingContext, value) => {\n // gl1: 'OES_standard_derivatives'\n gl.hint(GL.FRAGMENT_SHADER_DERIVATIVE_HINT, value);\n },\n\n frontFace: (gl: WebGLRenderingContext, value) => gl.frontFace(value),\n\n mipmapHint: (gl: WebGLRenderingContext, value) => gl.hint(GL.GENERATE_MIPMAP_HINT, value),\n\n lineWidth: (gl: WebGLRenderingContext, value) => gl.lineWidth(value),\n\n polygonOffsetFill: (gl: WebGLRenderingContext, value) =>\n value ? gl.enable(GL.POLYGON_OFFSET_FILL) : gl.disable(GL.POLYGON_OFFSET_FILL),\n polygonOffset: (gl: WebGLRenderingContext, value: [number, number]) => gl.polygonOffset(...value),\n\n sampleCoverage: (gl: WebGLRenderingContext, value: [number, boolean?]) => gl.sampleCoverage(...value),\n\n scissorTest: (gl: WebGLRenderingContext, value) =>\n value ? gl.enable(GL.SCISSOR_TEST) : gl.disable(GL.SCISSOR_TEST),\n scissor: (gl: WebGLRenderingContext, value: [number, number, number, number]) => gl.scissor(...value),\n\n stencilTest: (gl: WebGLRenderingContext, value) =>\n value ? gl.enable(GL.STENCIL_TEST) : gl.disable(GL.STENCIL_TEST),\n stencilMask: (gl: WebGLRenderingContext, value) => {\n value = isArray(value) ? value : [value, value];\n const [mask, backMask] = value;\n gl.stencilMaskSeparate(GL.FRONT, mask);\n gl.stencilMaskSeparate(GL.BACK, backMask);\n },\n stencilFunc: (gl: WebGLRenderingContext, args) => {\n args = isArray(args) && args.length === 3 ? [...args, ...args] : args;\n const [func, ref, mask, backFunc, backRef, backMask] = args;\n gl.stencilFuncSeparate(GL.FRONT, func, ref, mask);\n gl.stencilFuncSeparate(GL.BACK, backFunc, backRef, backMask);\n },\n stencilOp: (gl: WebGLRenderingContext, args) => {\n args = isArray(args) && args.length === 3 ? [...args, ...args] : args;\n const [sfail, dpfail, dppass, backSfail, backDpfail, backDppass] = args;\n gl.stencilOpSeparate(GL.FRONT, sfail, dpfail, dppass);\n gl.stencilOpSeparate(GL.BACK, backSfail, backDpfail, backDppass);\n },\n\n viewport: (gl: WebGLRenderingContext, value: [number, number, number, number]) => gl.viewport(...value)\n};\n\nfunction getValue(glEnum, values, cache) {\n return values[glEnum] !== undefined ? values[glEnum] : cache[glEnum];\n}\n\n// COMPOSITE_WEBGL_PARAMETER_\nexport const GL_COMPOSITE_PARAMETER_SETTERS = {\n blendEquation: (gl: WebGLRenderingContext, values, cache) =>\n gl.blendEquationSeparate(\n getValue(GL.BLEND_EQUATION_RGB, values, cache),\n getValue(GL.BLEND_EQUATION_ALPHA, values, cache)\n ),\n blendFunc: (gl: WebGLRenderingContext, values, cache) =>\n gl.blendFuncSeparate(\n getValue(GL.BLEND_SRC_RGB, values, cache),\n getValue(GL.BLEND_DST_RGB, values, cache),\n getValue(GL.BLEND_SRC_ALPHA, values, cache),\n getValue(GL.BLEND_DST_ALPHA, values, cache)\n ),\n polygonOffset: (gl: WebGLRenderingContext, values, cache) =>\n gl.polygonOffset(\n getValue(GL.POLYGON_OFFSET_FACTOR, values, cache),\n getValue(GL.POLYGON_OFFSET_UNITS, values, cache)\n ),\n sampleCoverage: (gl: WebGLRenderingContext, values, cache) =>\n gl.sampleCoverage(\n getValue(GL.SAMPLE_COVERAGE_VALUE, values, cache),\n getValue(GL.SAMPLE_COVERAGE_INVERT, values, cache)\n ),\n stencilFuncFront: (gl: WebGLRenderingContext, values, cache) =>\n gl.stencilFuncSeparate(\n GL.FRONT,\n getValue(GL.STENCIL_FUNC, values, cache),\n getValue(GL.STENCIL_REF, values, cache),\n getValue(GL.STENCIL_VALUE_MASK, values, cache)\n ),\n stencilFuncBack: (gl: WebGLRenderingContext, values, cache) =>\n gl.stencilFuncSeparate(\n GL.BACK,\n getValue(GL.STENCIL_BACK_FUNC, values, cache),\n getValue(GL.STENCIL_BACK_REF, values, cache),\n getValue(GL.STENCIL_BACK_VALUE_MASK, values, cache)\n ),\n stencilOpFront: (gl: WebGLRenderingContext, values, cache) =>\n gl.stencilOpSeparate(\n GL.FRONT,\n getValue(GL.STENCIL_FAIL, values, cache),\n getValue(GL.STENCIL_PASS_DEPTH_FAIL, values, cache),\n getValue(GL.STENCIL_PASS_DEPTH_PASS, values, cache)\n ),\n stencilOpBack: (gl: WebGLRenderingContext, values, cache) =>\n gl.stencilOpSeparate(\n GL.BACK,\n getValue(GL.STENCIL_BACK_FAIL, values, cache),\n getValue(GL.STENCIL_BACK_PASS_DEPTH_FAIL, values, cache),\n getValue(GL.STENCIL_BACK_PASS_DEPTH_PASS, values, cache)\n )\n};\n\ntype UpdateFunc = (params: Record<string, any>) => void;\n\n// Setter functions intercepted for cache updates\nexport const GL_HOOKED_SETTERS = {\n // GENERIC SETTERS\n\n enable: (update: UpdateFunc, capability: GL) =>\n update({\n [capability]: true\n }),\n disable: (update: UpdateFunc, capability: GL) =>\n update({\n [capability]: false\n }),\n pixelStorei: (update: UpdateFunc, pname: GL, value) =>\n update({\n [pname]: value\n }),\n hint: (update: UpdateFunc, pname: GL, hint: GL) =>\n update({\n [pname]: hint\n }),\n\n // SPECIFIC SETTERS\n useProgram: (update: UpdateFunc, value) =>\n update({\n [GL.CURRENT_PROGRAM]: value\n }),\n bindRenderbuffer: (update: UpdateFunc, target, value) =>\n update({\n [GL.RENDERBUFFER_BINDING]: value\n }),\n bindTransformFeedback: (update: UpdateFunc, target, value) =>\n update({\n [GL.TRANSFORM_FEEDBACK_BINDING]: value\n }),\n bindVertexArray: (update: UpdateFunc, value) =>\n update({\n [GL.VERTEX_ARRAY_BINDING]: value\n }),\n\n bindFramebuffer: (update: UpdateFunc, target, framebuffer) => {\n switch (target) {\n case GL.FRAMEBUFFER:\n return update({\n [GL.DRAW_FRAMEBUFFER_BINDING]: framebuffer,\n [GL.READ_FRAMEBUFFER_BINDING]: framebuffer\n });\n case GL.DRAW_FRAMEBUFFER:\n return update({[GL.DRAW_FRAMEBUFFER_BINDING]: framebuffer});\n case GL.READ_FRAMEBUFFER:\n return update({[GL.READ_FRAMEBUFFER_BINDING]: framebuffer});\n default:\n return null;\n }\n },\n bindBuffer: (update: UpdateFunc, target, buffer) => {\n const pname = {\n [GL.ARRAY_BUFFER]: [GL.ARRAY_BUFFER_BINDING],\n [GL.COPY_READ_BUFFER]: [GL.COPY_READ_BUFFER_BINDING],\n [GL.COPY_WRITE_BUFFER]: [GL.COPY_WRITE_BUFFER_BINDING],\n [GL.PIXEL_PACK_BUFFER]: [GL.PIXEL_PACK_BUFFER_BINDING],\n [GL.PIXEL_UNPACK_BUFFER]: [GL.PIXEL_UNPACK_BUFFER_BINDING]\n }[target];\n\n if (pname) {\n return update({[pname]: buffer});\n }\n // targets that should not be cached\n return {valueChanged: true};\n },\n\n blendColor: (update: UpdateFunc, r: number, g: number, b: number, a: number) =>\n update({\n [GL.BLEND_COLOR]: new Float32Array([r, g, b, a])\n }),\n\n blendEquation: (update: UpdateFunc, mode) =>\n update({\n [GL.BLEND_EQUATION_RGB]: mode,\n [GL.BLEND_EQUATION_ALPHA]: mode\n }),\n\n blendEquationSeparate: (update: UpdateFunc, modeRGB, modeAlpha) =>\n update({\n [GL.BLEND_EQUATION_RGB]: modeRGB,\n [GL.BLEND_EQUATION_ALPHA]: modeAlpha\n }),\n\n blendFunc: (update: UpdateFunc, src, dst) =>\n update({\n [GL.BLEND_SRC_RGB]: src,\n [GL.BLEND_DST_RGB]: dst,\n [GL.BLEND_SRC_ALPHA]: src,\n [GL.BLEND_DST_ALPHA]: dst\n }),\n\n blendFuncSeparate: (update: UpdateFunc, srcRGB, dstRGB, srcAlpha, dstAlpha) =>\n update({\n [GL.BLEND_SRC_RGB]: srcRGB,\n [GL.BLEND_DST_RGB]: dstRGB,\n [GL.BLEND_SRC_ALPHA]: srcAlpha,\n [GL.BLEND_DST_ALPHA]: dstAlpha\n }),\n\n clearColor: (update: UpdateFunc, r: number, g: number, b: number, a: number) =>\n update({\n [GL.COLOR_CLEAR_VALUE]: new Float32Array([r, g, b, a])\n }),\n\n clearDepth: (update: UpdateFunc, depth: number) =>\n update({\n [GL.DEPTH_CLEAR_VALUE]: depth\n }),\n\n clearStencil: (update: UpdateFunc, s: number) =>\n update({\n [GL.STENCIL_CLEAR_VALUE]: s\n }),\n\n colorMask: (update: UpdateFunc, r: number, g: number, b: number, a: number) =>\n update({\n [GL.COLOR_WRITEMASK]: [r, g, b, a]\n }),\n\n cullFace: (update: UpdateFunc, mode) =>\n update({\n [GL.CULL_FACE_MODE]: mode\n }),\n\n depthFunc: (update: UpdateFunc, func) =>\n update({\n [GL.DEPTH_FUNC]: func\n }),\n\n depthRange: (update: UpdateFunc, zNear: number, zFar: number) =>\n update({\n [GL.DEPTH_RANGE]: new Float32Array([zNear, zFar])\n }),\n\n depthMask: (update: UpdateFunc, mask: number) =>\n update({\n [GL.DEPTH_WRITEMASK]: mask\n }),\n\n frontFace: (update: UpdateFunc, face) =>\n update({\n [GL.FRONT_FACE]: face\n }),\n\n lineWidth: (update: UpdateFunc, width) =>\n update({\n [GL.LINE_WIDTH]: width\n }),\n\n polygonOffset: (update: UpdateFunc, factor, units) =>\n update({\n [GL.POLYGON_OFFSET_FACTOR]: factor,\n [GL.POLYGON_OFFSET_UNITS]: units\n }),\n\n sampleCoverage: (update: UpdateFunc, value, invert) =>\n update({\n [GL.SAMPLE_COVERAGE_VALUE]: value,\n [GL.SAMPLE_COVERAGE_INVERT]: invert\n }),\n\n scissor: (update: UpdateFunc, x, y, width, height) =>\n update({\n [GL.SCISSOR_BOX]: new Int32Array([x, y, width, height])\n }),\n\n stencilMask: (update: UpdateFunc, mask) =>\n update({\n [GL.STENCIL_WRITEMASK]: mask,\n [GL.STENCIL_BACK_WRITEMASK]: mask\n }),\n\n stencilMaskSeparate: (update: UpdateFunc, face, mask) =>\n update({\n [face === GL.FRONT ? GL.STENCIL_WRITEMASK : GL.STENCIL_BACK_WRITEMASK]: mask\n }),\n\n stencilFunc: (update: UpdateFunc, func, ref, mask) =>\n update({\n [GL.STENCIL_FUNC]: func,\n [GL.STENCIL_REF]: ref,\n [GL.STENCIL_VALUE_MASK]: mask,\n [GL.STENCIL_BACK_FUNC]: func,\n [GL.STENCIL_BACK_REF]: ref,\n [GL.STENCIL_BACK_VALUE_MASK]: mask\n }),\n\n stencilFuncSeparate: (update: UpdateFunc, face, func, ref, mask) =>\n update({\n [face === GL.FRONT ? GL.STENCIL_FUNC : GL.STENCIL_BACK_FUNC]: func,\n [face === GL.FRONT ? GL.STENCIL_REF : GL.STENCIL_BACK_REF]: ref,\n [face === GL.FRONT ? GL.STENCIL_VALUE_MASK : GL.STENCIL_BACK_VALUE_MASK]: mask\n }),\n\n stencilOp: (update: UpdateFunc, fail, zfail, zpass) =>\n update({\n [GL.STENCIL_FAIL]: fail,\n [GL.STENCIL_PASS_DEPTH_FAIL]: zfail,\n [GL.STENCIL_PASS_DEPTH_PASS]: zpass,\n [GL.STENCIL_BACK_FAIL]: fail,\n [GL.STENCIL_BACK_PASS_DEPTH_FAIL]: zfail,\n [GL.STENCIL_BACK_PASS_DEPTH_PASS]: zpass\n }),\n\n stencilOpSeparate: (update: UpdateFunc, face, fail, zfail, zpass) =>\n update({\n [face === GL.FRONT ? GL.STENCIL_FAIL : GL.STENCIL_BACK_FAIL]: fail,\n [face === GL.FRONT ? GL.STENCIL_PASS_DEPTH_FAIL : GL.STENCIL_BACK_PASS_DEPTH_FAIL]: zfail,\n [face === GL.FRONT ? GL.STENCIL_PASS_DEPTH_PASS : GL.STENCIL_BACK_PASS_DEPTH_PASS]: zpass\n }),\n\n viewport: (update: UpdateFunc, x, y, width, height) =>\n update({\n [GL.VIEWPORT]: [x, y, width, height]\n })\n};\n\n// GETTER TABLE - FOR READING OUT AN ENTIRE CONTEXT\n\nconst isEnabled = (gl: WebGLRenderingContext, key) => gl.isEnabled(key);\n\n// Exceptions for any keys that cannot be queried by gl.getParameters\nexport const GL_PARAMETER_GETTERS = {\n [GL.BLEND]: isEnabled,\n [GL.CULL_FACE]: isEnabled,\n [GL.DEPTH_TEST]: isEnabled,\n [GL.DITHER]: isEnabled,\n [GL.POLYGON_OFFSET_FILL]: isEnabled,\n [GL.SAMPLE_ALPHA_TO_COVERAGE]: isEnabled,\n [GL.SAMPLE_COVERAGE]: isEnabled,\n [GL.SCISSOR_TEST]: isEnabled,\n [GL.STENCIL_TEST]: isEnabled,\n\n // WebGL 2\n [GL.RASTERIZER_DISCARD]: isEnabled\n};\n\nexport const NON_CACHE_PARAMETERS = new Set([\n // setter not intercepted\n GL.ACTIVE_TEXTURE,\n GL.TRANSFORM_FEEDBACK_ACTIVE,\n GL.TRANSFORM_FEEDBACK_PAUSED,\n\n // setters bindBufferRange/bindBufferBase cannot be pruned based on cache\n GL.TRANSFORM_FEEDBACK_BUFFER_BINDING,\n GL.UNIFORM_BUFFER_BINDING,\n\n // states depending on VERTEX_ARRAY_BINDING\n GL.ELEMENT_ARRAY_BUFFER_BINDING,\n // states depending on READ_FRAMEBUFFER_BINDING\n GL.IMPLEMENTATION_COLOR_READ_FORMAT,\n GL.IMPLEMENTATION_COLOR_READ_TYPE,\n // states depending on FRAMEBUFFER_BINDING\n GL.READ_BUFFER,\n GL.DRAW_BUFFER0,\n GL.DRAW_BUFFER1,\n GL.DRAW_BUFFER2,\n GL.DRAW_BUFFER3,\n GL.DRAW_BUFFER4,\n GL.DRAW_BUFFER5,\n GL.DRAW_BUFFER6,\n GL.DRAW_BUFFER7,\n GL.DRAW_BUFFER8,\n GL.DRAW_BUFFER9,\n GL.DRAW_BUFFER10,\n GL.DRAW_BUFFER11,\n GL.DRAW_BUFFER12,\n GL.DRAW_BUFFER13,\n GL.DRAW_BUFFER14,\n GL.DRAW_BUFFER15,\n // states depending on ACTIVE_TEXTURE\n GL.SAMPLER_BINDING,\n GL.TEXTURE_BINDING_2D,\n GL.TEXTURE_BINDING_2D_ARRAY,\n GL.TEXTURE_BINDING_3D,\n GL.TEXTURE_BINDING_CUBE_MAP\n]);\n"],"file":"webgl-parameter-tables.js"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getContextData = getContextData;
|
|
7
|
-
|
|
8
|
-
function getContextData(gl) {
|
|
9
|
-
var luma = gl.luma;
|
|
10
|
-
|
|
11
|
-
if (!luma) {
|
|
12
|
-
var contextState = {
|
|
13
|
-
_polyfilled: false,
|
|
14
|
-
_extensions: {}
|
|
15
|
-
};
|
|
16
|
-
gl.luma = contextState;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
return gl.luma;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=context-data.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/context/polyfill/context-data.ts"],"names":["getContextData","gl","luma","contextState","_polyfilled","_extensions"],"mappings":";;;;;;;AAYO,SAASA,cAAT,CAAwBC,EAAxB,EAAqE;AAE1E,MAAMC,IAAI,GAAGD,EAAE,CAACC,IAAhB;;AACA,MAAI,CAACA,IAAL,EAAW;AACT,QAAMC,YAA8B,GAAG;AACrCC,MAAAA,WAAW,EAAE,KADwB;AAErCC,MAAAA,WAAW,EAAE;AAFwB,KAAvC;AAKAJ,IAAAA,EAAE,CAACC,IAAH,GAAUC,YAAV;AACD;;AAGD,SAAOF,EAAE,CAACC,IAAV;AACD","sourcesContent":["/**\n * Stores luma.gl specific state associated with a context\n */\nexport interface WebGLContextData {\n _polyfilled: boolean;\n _extensions: Record<string, any>;\n}\n\n/**\n * Gets luma.gl specific state from a context\n * @returns context state\n */\nexport function getContextData(gl: WebGLRenderingContext): WebGLContextData {\n // @ts-expect-error\n const luma = gl.luma as WebGLContextData | null;\n if (!luma) {\n const contextState: WebGLContextData = {\n _polyfilled: false,\n _extensions: {}\n };\n // @ts-expect-error\n gl.luma = contextState;\n }\n\n // @ts-expect-error\n return gl.luma;\n}\n"],"file":"context-data.js"}
|