@luma.gl/webgl 9.1.9 → 9.2.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. package/dist/adapter/converters/device-parameters.js +14 -9
  2. package/dist/adapter/converters/device-parameters.js.map +1 -1
  3. package/dist/adapter/converters/sampler-parameters.js +13 -2
  4. package/dist/adapter/converters/sampler-parameters.js.map +1 -1
  5. package/dist/adapter/converters/shader-formats.d.ts +67 -8
  6. package/dist/adapter/converters/shader-formats.d.ts.map +1 -1
  7. package/dist/adapter/converters/shader-formats.js +82 -52
  8. package/dist/adapter/converters/shader-formats.js.map +1 -1
  9. package/dist/adapter/converters/webgl-shadertypes.d.ts +20 -0
  10. package/dist/adapter/converters/webgl-shadertypes.d.ts.map +1 -0
  11. package/dist/adapter/converters/webgl-shadertypes.js +122 -0
  12. package/dist/adapter/converters/webgl-shadertypes.js.map +1 -0
  13. package/dist/adapter/converters/webgl-texture-table.d.ts.map +1 -1
  14. package/dist/adapter/converters/webgl-texture-table.js +17 -13
  15. package/dist/adapter/converters/webgl-texture-table.js.map +1 -1
  16. package/dist/adapter/converters/{vertex-formats.d.ts → webgl-vertex-formats.d.ts} +4 -4
  17. package/dist/adapter/converters/webgl-vertex-formats.d.ts.map +1 -0
  18. package/dist/adapter/converters/{vertex-formats.js → webgl-vertex-formats.js} +2 -3
  19. package/dist/adapter/converters/webgl-vertex-formats.js.map +1 -0
  20. package/dist/adapter/device-helpers/webgl-device-features.d.ts.map +1 -1
  21. package/dist/adapter/device-helpers/webgl-device-features.js.map +1 -1
  22. package/dist/adapter/device-helpers/webgl-device-limits.d.ts +1 -1
  23. package/dist/adapter/device-helpers/webgl-device-limits.d.ts.map +1 -1
  24. package/dist/adapter/device-helpers/webgl-device-limits.js +1 -1
  25. package/dist/adapter/device-helpers/webgl-device-limits.js.map +1 -1
  26. package/dist/adapter/helpers/format-utils.d.ts +3 -2
  27. package/dist/adapter/helpers/format-utils.d.ts.map +1 -1
  28. package/dist/adapter/helpers/format-utils.js.map +1 -1
  29. package/dist/adapter/helpers/{get-shader-layout.d.ts → get-shader-layout-from-glsl.d.ts} +1 -1
  30. package/dist/adapter/helpers/get-shader-layout-from-glsl.d.ts.map +1 -0
  31. package/dist/adapter/helpers/{get-shader-layout.js → get-shader-layout-from-glsl.js} +12 -35
  32. package/dist/adapter/helpers/get-shader-layout-from-glsl.js.map +1 -0
  33. package/dist/adapter/helpers/set-uniform.d.ts +2 -2
  34. package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
  35. package/dist/adapter/helpers/set-uniform.js.map +1 -1
  36. package/dist/adapter/helpers/webgl-texture-utils.d.ts +2 -242
  37. package/dist/adapter/helpers/webgl-texture-utils.d.ts.map +1 -1
  38. package/dist/adapter/helpers/webgl-texture-utils.js +10 -99
  39. package/dist/adapter/helpers/webgl-texture-utils.js.map +1 -1
  40. package/dist/adapter/resources/webgl-buffer.d.ts +7 -7
  41. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
  42. package/dist/adapter/resources/webgl-buffer.js +29 -18
  43. package/dist/adapter/resources/webgl-buffer.js.map +1 -1
  44. package/dist/adapter/resources/webgl-command-buffer.d.ts +4 -3
  45. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
  46. package/dist/adapter/resources/webgl-command-buffer.js +5 -4
  47. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -1
  48. package/dist/adapter/resources/webgl-command-encoder.d.ts +6 -2
  49. package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
  50. package/dist/adapter/resources/webgl-command-encoder.js +9 -4
  51. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -1
  52. package/dist/adapter/resources/webgl-external-texture.js +1 -0
  53. package/dist/adapter/resources/webgl-external-texture.js.map +1 -1
  54. package/dist/adapter/resources/webgl-framebuffer.d.ts +2 -2
  55. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
  56. package/dist/adapter/resources/webgl-framebuffer.js +2 -2
  57. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
  58. package/dist/adapter/resources/webgl-query-set.d.ts +2 -2
  59. package/dist/adapter/resources/webgl-query-set.d.ts.map +1 -1
  60. package/dist/adapter/resources/webgl-query-set.js +5 -1
  61. package/dist/adapter/resources/webgl-query-set.js.map +1 -1
  62. package/dist/adapter/resources/webgl-render-pass.d.ts +1 -0
  63. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
  64. package/dist/adapter/resources/webgl-render-pass.js +16 -13
  65. package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
  66. package/dist/adapter/resources/webgl-render-pipeline.d.ts +5 -5
  67. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
  68. package/dist/adapter/resources/webgl-render-pipeline.js +28 -24
  69. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
  70. package/dist/adapter/resources/webgl-sampler.js +1 -1
  71. package/dist/adapter/resources/webgl-sampler.js.map +1 -1
  72. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
  73. package/dist/adapter/resources/webgl-shader.js +9 -2
  74. package/dist/adapter/resources/webgl-shader.js.map +1 -1
  75. package/dist/adapter/resources/webgl-texture-view.js +1 -1
  76. package/dist/adapter/resources/webgl-texture-view.js.map +1 -1
  77. package/dist/adapter/resources/webgl-texture.d.ts +21 -66
  78. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  79. package/dist/adapter/resources/webgl-texture.js +152 -320
  80. package/dist/adapter/resources/webgl-texture.js.map +1 -1
  81. package/dist/adapter/resources/webgl-transform-feedback.d.ts +1 -1
  82. package/dist/adapter/resources/webgl-transform-feedback.d.ts.map +1 -1
  83. package/dist/adapter/resources/webgl-transform-feedback.js +1 -1
  84. package/dist/adapter/resources/webgl-transform-feedback.js.map +1 -1
  85. package/dist/adapter/resources/webgl-vertex-array.d.ts +1 -1
  86. package/dist/adapter/resources/webgl-vertex-array.d.ts.map +1 -1
  87. package/dist/adapter/resources/webgl-vertex-array.js +3 -2
  88. package/dist/adapter/resources/webgl-vertex-array.js.map +1 -1
  89. package/dist/adapter/webgl-adapter.d.ts +4 -3
  90. package/dist/adapter/webgl-adapter.d.ts.map +1 -1
  91. package/dist/adapter/webgl-adapter.js +43 -30
  92. package/dist/adapter/webgl-adapter.js.map +1 -1
  93. package/dist/adapter/webgl-canvas-context.d.ts +3 -24
  94. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
  95. package/dist/adapter/webgl-canvas-context.js +5 -44
  96. package/dist/adapter/webgl-canvas-context.js.map +1 -1
  97. package/dist/adapter/webgl-device.d.ts +19 -20
  98. package/dist/adapter/webgl-device.d.ts.map +1 -1
  99. package/dist/adapter/webgl-device.js +44 -31
  100. package/dist/adapter/webgl-device.js.map +1 -1
  101. package/dist/context/debug/spector-types.d.ts.map +1 -1
  102. package/dist/context/debug/spector-types.js +3 -0
  103. package/dist/context/debug/spector-types.js.map +1 -1
  104. package/dist/context/debug/spector.js.map +1 -1
  105. package/dist/context/debug/webgl-developer-tools.js +1 -0
  106. package/dist/context/debug/webgl-developer-tools.js.map +1 -1
  107. package/dist/context/helpers/webgl-extensions.d.ts.map +1 -1
  108. package/dist/context/helpers/webgl-extensions.js +3 -0
  109. package/dist/context/helpers/webgl-extensions.js.map +1 -1
  110. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
  111. package/dist/context/parameters/unified-parameter-api.js +7 -0
  112. package/dist/context/parameters/unified-parameter-api.js.map +1 -1
  113. package/dist/context/parameters/webgl-parameter-tables.d.ts +1 -1
  114. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  115. package/dist/context/parameters/webgl-parameter-tables.js +1 -0
  116. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
  117. package/dist/context/polyfills/polyfill-webgl1-extensions.d.ts.map +1 -1
  118. package/dist/context/polyfills/polyfill-webgl1-extensions.js +1 -0
  119. package/dist/context/polyfills/polyfill-webgl1-extensions.js.map +1 -1
  120. package/dist/context/state-tracker/deep-array-equal.d.ts +2 -1
  121. package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -1
  122. package/dist/context/state-tracker/deep-array-equal.js +4 -5
  123. package/dist/context/state-tracker/deep-array-equal.js.map +1 -1
  124. package/dist/context/state-tracker/webgl-state-tracker.d.ts.map +1 -1
  125. package/dist/context/state-tracker/webgl-state-tracker.js +4 -1
  126. package/dist/context/state-tracker/webgl-state-tracker.js.map +1 -1
  127. package/dist/context/state-tracker/with-parameters.js.map +1 -1
  128. package/dist/dist.dev.js +4788 -4801
  129. package/dist/dist.min.js +2 -2
  130. package/dist/index.cjs +3906 -3960
  131. package/dist/index.cjs.map +4 -4
  132. package/dist/index.d.ts +1 -3
  133. package/dist/index.d.ts.map +1 -1
  134. package/dist/index.js +1 -3
  135. package/dist/index.js.map +1 -1
  136. package/package.json +4 -4
  137. package/src/adapter/converters/device-parameters.ts +19 -9
  138. package/src/adapter/converters/sampler-parameters.ts +13 -2
  139. package/src/adapter/converters/shader-formats.ts +50 -24
  140. package/src/adapter/converters/webgl-shadertypes.ts +151 -0
  141. package/src/adapter/converters/webgl-texture-table.ts +21 -15
  142. package/src/adapter/converters/{vertex-formats.ts → webgl-vertex-formats.ts} +4 -5
  143. package/src/adapter/device-helpers/webgl-device-features.ts +1 -1
  144. package/src/adapter/device-helpers/webgl-device-limits.ts +1 -1
  145. package/src/adapter/helpers/format-utils.ts +2 -2
  146. package/src/adapter/helpers/{get-shader-layout.ts → get-shader-layout-from-glsl.ts} +20 -50
  147. package/src/adapter/helpers/set-uniform.ts +2 -2
  148. package/src/adapter/helpers/webgl-texture-utils.ts +12 -348
  149. package/src/adapter/resources/webgl-buffer.ts +43 -23
  150. package/src/adapter/resources/webgl-command-buffer.ts +9 -8
  151. package/src/adapter/resources/webgl-command-encoder.ts +18 -9
  152. package/src/adapter/resources/webgl-framebuffer.ts +4 -4
  153. package/src/adapter/resources/webgl-query-set.ts +7 -3
  154. package/src/adapter/resources/webgl-render-pass.ts +20 -17
  155. package/src/adapter/resources/webgl-render-pipeline.ts +38 -37
  156. package/src/adapter/resources/webgl-sampler.ts +1 -1
  157. package/src/adapter/resources/webgl-shader.ts +11 -2
  158. package/src/adapter/resources/webgl-texture-view.ts +1 -1
  159. package/src/adapter/resources/webgl-texture.ts +184 -394
  160. package/src/adapter/resources/webgl-transform-feedback.ts +2 -2
  161. package/src/adapter/resources/webgl-vertex-array.ts +4 -3
  162. package/src/adapter/webgl-adapter.ts +46 -33
  163. package/src/adapter/webgl-canvas-context.ts +7 -47
  164. package/src/adapter/webgl-device.ts +64 -44
  165. package/src/context/debug/spector-types.ts +5 -0
  166. package/src/context/debug/spector.ts +1 -1
  167. package/src/context/debug/webgl-developer-tools.ts +9 -3
  168. package/src/context/helpers/webgl-extensions.ts +3 -0
  169. package/src/context/parameters/unified-parameter-api.ts +9 -2
  170. package/src/context/parameters/webgl-parameter-tables.ts +2 -0
  171. package/src/context/polyfills/polyfill-webgl1-extensions.ts +1 -0
  172. package/src/context/state-tracker/deep-array-equal.ts +11 -6
  173. package/src/context/state-tracker/webgl-state-tracker.ts +5 -1
  174. package/src/context/state-tracker/with-parameters.ts +1 -1
  175. package/src/index.ts +1 -5
  176. package/dist/adapter/converters/vertex-formats.d.ts.map +0 -1
  177. package/dist/adapter/converters/vertex-formats.js.map +0 -1
  178. package/dist/adapter/helpers/decode-webgl-types.d.ts +0 -26
  179. package/dist/adapter/helpers/decode-webgl-types.d.ts.map +0 -1
  180. package/dist/adapter/helpers/decode-webgl-types.js +0 -102
  181. package/dist/adapter/helpers/decode-webgl-types.js.map +0 -1
  182. package/dist/adapter/helpers/get-shader-layout.d.ts.map +0 -1
  183. package/dist/adapter/helpers/get-shader-layout.js.map +0 -1
  184. package/dist/adapter/helpers/typed-array-utils.d.ts +0 -44
  185. package/dist/adapter/helpers/typed-array-utils.d.ts.map +0 -1
  186. package/dist/adapter/helpers/typed-array-utils.js +0 -107
  187. package/dist/adapter/helpers/typed-array-utils.js.map +0 -1
  188. package/dist/deprecated/accessor.d.ts +0 -53
  189. package/dist/deprecated/accessor.d.ts.map +0 -1
  190. package/dist/deprecated/accessor.js +0 -177
  191. package/dist/deprecated/accessor.js.map +0 -1
  192. package/dist/utils/split-uniforms-and-bindings.d.ts +0 -9
  193. package/dist/utils/split-uniforms-and-bindings.d.ts.map +0 -1
  194. package/dist/utils/split-uniforms-and-bindings.js +0 -21
  195. package/dist/utils/split-uniforms-and-bindings.js.map +0 -1
  196. package/src/adapter/helpers/decode-webgl-types.ts +0 -134
  197. package/src/adapter/helpers/typed-array-utils.ts +0 -129
  198. package/src/deprecated/accessor.ts +0 -225
  199. package/src/utils/split-uniforms-and-bindings.ts +0 -31
@@ -1 +1 @@
1
- {"version":3,"file":"webgl-texture.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-texture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webgl-texture.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-texture.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,MAAM,EACN,YAAY,EACZ,gBAAgB,EAChB,OAAO,EACP,YAAY,EACZ,wBAAwB,EACxB,oBAAoB,EAErB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,OAAO,EAAM,MAAM,eAAe,CAAC;AAC3C,OAAO,EACL,EAAE,EACF,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,WAAW,EAEX,mBAAmB,EAEpB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAC,WAAW,EAAC,2BAAwB;AAC5C,OAAO,EAAC,YAAY,EAAC,2BAAwB;AAC7C,OAAO,EAAC,gBAAgB,EAAC,gCAA6B;AAEtD;;GAEG;AACH,qBAAa,YAAa,SAAQ,OAAO;IAEvC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,sBAAsB,CAAC;IACpC,MAAM,EAAE,YAAY,CAAC;IAGrB,OAAO,EAAE,YAAY,CAAa;IAClC,IAAI,EAAE,gBAAgB,CAAC;IAEvB;;;;;;;;OAQG;IACH,QAAQ,EAAE,eAAe,CAAC;IAC1B,uDAAuD;IACvD,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,uDAAuD;IACvD,MAAM,EAAE,WAAW,CAAC;IACpB,8EAA8E;IAC9E,gBAAgB,EAAE,EAAE,CAAC;IACrB,gDAAgD;IAChD,UAAU,EAAE,OAAO,CAAC;IAGpB,0DAA0D;IAC1D,YAAY,EAAE,MAAM,CAAK;gBAEb,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY;IAmDtC,OAAO,IAAI,IAAI;IAUxB,UAAU,CAAC,KAAK,EAAE,gBAAgB,GAAG,gBAAgB;IAI5C,UAAU,CAAC,OAAO,GAAE,OAAO,GAAG,YAAiB,GAAG,IAAI;IAO/D,aAAa,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI;IAiDnD,iBAAiB,CAAC,QAAQ,EAAE,wBAAwB,GAAG;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC;IAyCtF,oBAAoB,CAAC,OAAO,CAAC,EAAE;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAC,GAAG,IAAI;IAuBvD;;OAEG;IACH,qBAAqB,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI;IA4C5D,cAAc,IAAI,MAAM;IAIxB,KAAK,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM;IAapC,OAAO,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAWnD;AAID,gFAAgF;AAChF,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,IAAI,GACjE,eAAe,CAWjB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,IAAI,EAClE,KAAK,EAAE,MAAM,GACZ,eAAe,GAAG,sBAAsB,CAE1C"}
@@ -5,13 +5,8 @@ import { Texture, log } from '@luma.gl/core';
5
5
  import { GL } from '@luma.gl/constants';
6
6
  import { getTextureFormatWebGL } from "../converters/webgl-texture-table.js";
7
7
  import { convertSamplerParametersToWebGL } from "../converters/sampler-parameters.js";
8
- import { WEBGLSampler } from "./webgl-sampler.js";
8
+ import { withGLParameters } from "../../context/state-tracker/with-parameters.js";
9
9
  import { WEBGLTextureView } from "./webgl-texture-view.js";
10
- import { initializeTextureStorage,
11
- // clearMipLevel,
12
- copyExternalImageToMipLevel, copyCPUDataToMipLevel,
13
- // copyGPUBufferToMipLevel,
14
- getWebGLTextureTarget } from "../helpers/webgl-texture-utils.js";
15
10
  /**
16
11
  * WebGL... the texture API from hell... hopefully made simpler
17
12
  */
@@ -20,12 +15,9 @@ export class WEBGLTexture extends Texture {
20
15
  device;
21
16
  gl;
22
17
  handle;
23
- sampler = undefined; // TODO - currently unused in WebGL. Create dummy sampler?
24
- view = undefined; // TODO - currently unused in WebGL. Create dummy view?
25
- mipmaps;
26
- // Texture type
27
- /** Whether the internal format is compressed */
28
- compressed;
18
+ // @ts-ignore TODO - currently unused in WebGL. Create dummy sampler?
19
+ sampler = undefined;
20
+ view;
29
21
  /**
30
22
  * The WebGL target corresponding to the texture type
31
23
  * @note `target` cannot be modified by bind:
@@ -42,77 +34,52 @@ export class WEBGLTexture extends Texture {
42
34
  glType;
43
35
  /** The WebGL constant corresponding to the WebGPU style constant in format */
44
36
  glInternalFormat;
37
+ /** Whether the internal format is compressed */
38
+ compressed;
45
39
  // state
46
40
  /** Texture binding slot - TODO - move to texture view? */
47
- textureUnit = 0;
41
+ _textureUnit = 0;
48
42
  constructor(device, props) {
49
43
  super(device, props);
50
- // Texture base class strips out the data prop, so we need to add it back in
51
- const propsWithData = { ...this.props };
52
- propsWithData.data = props.data;
53
44
  this.device = device;
54
45
  this.gl = this.device.gl;
46
+ const formatInfo = getTextureFormatWebGL(this.props.format);
55
47
  // Note: In WebGL the texture target defines the type of texture on first bind.
56
48
  this.glTarget = getWebGLTextureTarget(this.props.dimension);
57
- // The target format of this texture
58
- const formatInfo = getTextureFormatWebGL(this.props.format);
59
49
  this.glInternalFormat = formatInfo.internalFormat;
60
50
  this.glFormat = formatInfo.format;
61
51
  this.glType = formatInfo.type;
62
52
  this.compressed = formatInfo.compressed;
63
- this.mipmaps = Boolean(this.props.mipmaps);
64
- this._initialize(propsWithData);
65
- Object.seal(this);
66
- }
67
- /** Initialize texture with supplied props */
68
- // eslint-disable-next-line max-statements
69
- _initialize(propsWithData) {
70
53
  this.handle = this.props.handle || this.gl.createTexture();
71
- this.device.setSpectorMetadata(this.handle, { ...this.props, data: propsWithData.data });
72
- let { width, height } = propsWithData;
73
- if (!width || !height) {
74
- const textureSize = Texture.getTextureDataSize(propsWithData.data);
75
- width = textureSize?.width || 1;
76
- height = textureSize?.height || 1;
54
+ this.device._setWebGLDebugMetadata(this.handle, this, { spector: this.props });
55
+ /**
56
+ * Use WebGL immutable texture storage to allocate and clear texture memory.
57
+ * - texStorage2D should be considered a preferred alternative to texImage2D. It may have lower memory costs than texImage2D in some implementations.
58
+ * - Once texStorage*D has been called, the texture is immutable and can only be updated with texSubImage*(), not texImage()
59
+ * @see https://registry.khronos.org/webgl/specs/latest/2.0/ WebGL 2 spec section 3.7.6
60
+ */
61
+ this.gl.bindTexture(this.glTarget, this.handle);
62
+ const { dimension, width, height, depth, mipLevels, glTarget, glInternalFormat } = this;
63
+ switch (dimension) {
64
+ case '2d':
65
+ case 'cube':
66
+ this.gl.texStorage2D(glTarget, mipLevels, glInternalFormat, width, height);
67
+ break;
68
+ case '2d-array':
69
+ case '3d':
70
+ this.gl.texStorage3D(glTarget, mipLevels, glInternalFormat, width, height, depth);
71
+ break;
72
+ default:
73
+ throw new Error(dimension);
77
74
  }
78
- // Store opts for accessors
79
- this.width = width;
80
- this.height = height;
81
- this.depth = propsWithData.depth;
75
+ this.gl.bindTexture(this.glTarget, null);
76
+ // Set data
77
+ this._initializeData(props.data);
82
78
  // Set texture sampler parameters
83
- this.setSampler(propsWithData.sampler);
79
+ this.setSampler(this.props.sampler);
84
80
  // @ts-ignore TODO - fix types
85
81
  this.view = new WEBGLTextureView(this.device, { ...this.props, texture: this });
86
- this.bind();
87
- initializeTextureStorage(this.gl, this.mipLevels, this);
88
- if (propsWithData.data) {
89
- // prettier-ignore
90
- switch (propsWithData.dimension) {
91
- case '1d':
92
- this.setTexture1DData(propsWithData.data);
93
- break;
94
- case '2d':
95
- this.setTexture2DData(propsWithData.data);
96
- break;
97
- case '3d':
98
- this.setTexture3DData(propsWithData.data);
99
- break;
100
- case 'cube':
101
- this.setTextureCubeData(propsWithData.data);
102
- break;
103
- case '2d-array':
104
- this.setTextureArrayData(propsWithData.data);
105
- break;
106
- case 'cube-array':
107
- this.setTextureCubeArrayData(propsWithData.data);
108
- break;
109
- // @ts-expect-error
110
- default: throw new Error(propsWithData.dimension);
111
- }
112
- }
113
- if (this.mipmaps) {
114
- this.generateMipmap();
115
- }
82
+ Object.seal(this);
116
83
  }
117
84
  destroy() {
118
85
  if (this.handle) {
@@ -127,20 +94,89 @@ export class WEBGLTexture extends Texture {
127
94
  return new WEBGLTextureView(this.device, { ...props, texture: this });
128
95
  }
129
96
  setSampler(sampler = {}) {
130
- let samplerProps;
131
- if (sampler instanceof WEBGLSampler) {
132
- this.sampler = sampler;
133
- samplerProps = sampler.props;
134
- }
135
- else {
136
- this.sampler = new WEBGLSampler(this.device, sampler);
137
- samplerProps = sampler;
138
- }
139
- const parameters = convertSamplerParametersToWebGL(samplerProps);
97
+ super.setSampler(sampler);
98
+ // Apply sampler parameters to texture
99
+ const parameters = convertSamplerParametersToWebGL(this.sampler.props);
140
100
  this._setSamplerParameters(parameters);
141
101
  }
142
- // Call to regenerate mipmaps after modifying texture(s)
143
- generateMipmap(options) {
102
+ copyImageData(options_) {
103
+ const options = this._normalizeCopyImageDataOptions(options_);
104
+ const typedArray = options.data;
105
+ const { width, height, depth } = this;
106
+ const { mipLevel = 0, byteOffset = 0, x = 0, y = 0, z = 0 } = options;
107
+ const { glFormat, glType, compressed } = this;
108
+ const glTarget = getWebGLCubeFaceTarget(this.glTarget, this.dimension, depth);
109
+ // WebGL automatically ignores these for compressed textures, but we are careful
110
+ const glParameters = !this.compressed
111
+ ? {
112
+ [3314]: options.bytesPerRow,
113
+ [32878]: options.rowsPerImage
114
+ }
115
+ : {};
116
+ this.gl.bindTexture(glTarget, this.handle);
117
+ withGLParameters(this.gl, glParameters, () => {
118
+ switch (this.dimension) {
119
+ case '2d':
120
+ case 'cube':
121
+ if (compressed) {
122
+ // prettier-ignore
123
+ this.gl.compressedTexSubImage2D(glTarget, mipLevel, x, y, width, height, glFormat, typedArray, byteOffset); // , byteLength
124
+ }
125
+ else {
126
+ // prettier-ignore
127
+ this.gl.texSubImage2D(glTarget, mipLevel, x, y, width, height, glFormat, glType, typedArray, byteOffset); // , byteLength
128
+ }
129
+ break;
130
+ case '2d-array':
131
+ case '3d':
132
+ if (compressed) {
133
+ // prettier-ignore
134
+ this.gl.compressedTexSubImage3D(glTarget, mipLevel, x, y, z, width, height, depth, glFormat, typedArray, byteOffset); // , byteLength
135
+ }
136
+ else {
137
+ // prettier-ignore
138
+ this.gl.texSubImage3D(glTarget, mipLevel, x, y, z, width, height, depth, glFormat, glType, typedArray, byteOffset); // , byteLength
139
+ }
140
+ break;
141
+ default:
142
+ // Can never happen in WebGL
143
+ }
144
+ });
145
+ this.gl.bindTexture(glTarget, null);
146
+ }
147
+ copyExternalImage(options_) {
148
+ const options = this._normalizeCopyExternalImageOptions(options_);
149
+ if (options.sourceX || options.sourceY) {
150
+ // requires copyTexSubImage2D from a framebuffer'
151
+ throw new Error('WebGL does not support sourceX/sourceY)');
152
+ }
153
+ const { glFormat, glType } = this;
154
+ const { image, depth, mipLevel, x, y, z, width, height } = options;
155
+ // WebGL cube maps specify faces by overriding target instead of using the depth parameter
156
+ const glTarget = getWebGLCubeFaceTarget(this.glTarget, this.dimension, depth);
157
+ const glParameters = options.flipY ? { [37440]: true } : {};
158
+ this.gl.bindTexture(this.glTarget, this.handle);
159
+ withGLParameters(this.gl, glParameters, () => {
160
+ switch (this.dimension) {
161
+ case '2d':
162
+ case 'cube':
163
+ // prettier-ignore
164
+ this.gl.texSubImage2D(glTarget, mipLevel, x, y, width, height, glFormat, glType, image);
165
+ break;
166
+ case '2d-array':
167
+ case '3d':
168
+ // prettier-ignore
169
+ this.gl.texSubImage3D(glTarget, mipLevel, x, y, z, width, height, depth, glFormat, glType, image);
170
+ break;
171
+ default:
172
+ // Can never happen in WebGL
173
+ }
174
+ });
175
+ this.gl.bindTexture(this.glTarget, null);
176
+ return { width: options.width, height: options.height };
177
+ }
178
+ // WEBGL SPECIFIC
179
+ generateMipmapsWebGL(options) {
144
180
  const isFilterableAndRenderable = this.device.isTextureFormatRenderable(this.props.format) &&
145
181
  this.device.isTextureFormatFilterable(this.props.format);
146
182
  if (!isFilterableAndRenderable) {
@@ -160,154 +196,12 @@ export class WEBGLTexture extends Texture {
160
196
  this.gl.bindTexture(this.glTarget, null);
161
197
  }
162
198
  }
163
- // Image Data Setters
164
- copyExternalImage(options) {
165
- const size = Texture.getExternalImageSize(options.image);
166
- const opts = { ...Texture.defaultCopyExternalImageOptions, ...size, ...options };
167
- const { image, depth, mipLevel, x, y, z, flipY } = opts;
168
- let { width, height } = opts;
169
- const { dimension, glTarget, glFormat, glInternalFormat, glType } = this;
170
- // WebGL will error if we try to copy outside the bounds of the texture
171
- width = Math.min(width, this.width - x);
172
- height = Math.min(height, this.height - y);
173
- if (options.sourceX || options.sourceY) {
174
- // requires copyTexSubImage2D from a framebuffer'
175
- throw new Error('WebGL does not support sourceX/sourceY)');
176
- }
177
- copyExternalImageToMipLevel(this.device.gl, this.handle, image, {
178
- dimension,
179
- mipLevel,
180
- x,
181
- y,
182
- z,
183
- width,
184
- height,
185
- depth,
186
- glFormat,
187
- glInternalFormat,
188
- glType,
189
- glTarget,
190
- flipY
191
- });
192
- return { width: opts.width, height: opts.height };
193
- }
194
- setTexture1DData(data) {
195
- throw new Error('setTexture1DData not supported in WebGL.');
196
- }
197
- /** Set a simple texture */
198
- setTexture2DData(lodData, depth = 0) {
199
- this.bind();
200
- const lodArray = Texture.normalizeTextureData(lodData, this);
201
- // If the user provides multiple LODs, then automatic mipmap
202
- // generation generateMipmap() should be disabled to avoid overwriting them.
203
- if (lodArray.length > 1 && this.props.mipmaps !== false) {
204
- log.warn(`Texture ${this.id} mipmap and multiple LODs.`)();
205
- }
206
- for (let lodLevel = 0; lodLevel < lodArray.length; lodLevel++) {
207
- const imageData = lodArray[lodLevel];
208
- this._setMipLevel(depth, lodLevel, imageData);
209
- }
210
- this.unbind();
211
- }
212
- /**
213
- * Sets a 3D texture
214
- * @param data
215
- */
216
- setTexture3DData(data) {
217
- if (this.props.dimension !== '3d') {
218
- throw new Error(this.id);
219
- }
220
- if (ArrayBuffer.isView(data)) {
221
- this.bind();
222
- copyCPUDataToMipLevel(this.device.gl, data, this);
223
- this.unbind();
224
- }
225
- }
226
- /**
227
- * Set a Texture Cube Data
228
- * @todo - could support TextureCubeArray with depth
229
- * @param data
230
- * @param index
231
- */
232
- setTextureCubeData(data, depth = 0) {
233
- if (this.props.dimension !== 'cube') {
234
- throw new Error(this.id);
235
- }
236
- for (const face of Texture.CubeFaces) {
237
- this.setTextureCubeFaceData(data[face], face);
238
- }
239
- }
240
- /**
241
- * Sets an entire texture array
242
- * @param data
243
- */
244
- setTextureArrayData(data) {
245
- if (this.props.dimension !== '2d-array') {
246
- throw new Error(this.id);
247
- }
248
- throw new Error('setTextureArrayData not implemented.');
249
- }
250
- /**
251
- * Sets an entire texture cube array
252
- * @param data
253
- */
254
- setTextureCubeArrayData(data) {
255
- throw new Error('setTextureCubeArrayData not supported in WebGL2.');
256
- }
257
- setTextureCubeFaceData(lodData, face, depth = 0) {
258
- // assert(this.props.dimension === 'cube');
259
- // If the user provides multiple LODs, then automatic mipmap
260
- // generation generateMipmap() should be disabled to avoid overwriting them.
261
- if (Array.isArray(lodData) && lodData.length > 1 && this.props.mipmaps !== false) {
262
- log.warn(`${this.id} has mipmap and multiple LODs.`)();
263
- }
264
- const faceDepth = Texture.CubeFaces.indexOf(face);
265
- this.setTexture2DData(lodData, faceDepth);
266
- }
267
- // DEPRECATED METHODS
268
- /** Update external texture (video frame or canvas) @deprecated Use ExternalTexture */
269
- update() {
270
- throw new Error('Texture.update() not implemented. Use ExternalTexture');
271
- }
272
- // INTERNAL METHODS
273
- /** @todo update this method to accept LODs */
274
- setImageDataForFace(options) {
275
- const { face, width, height, pixels, data, format = 6408, type = 5121
276
- // generateMipmap = false // TODO
277
- } = options;
278
- const { gl } = this;
279
- const imageData = pixels || data;
280
- this.bind();
281
- if (imageData instanceof Promise) {
282
- imageData.then(resolvedImageData => this.setImageDataForFace(Object.assign({}, options, {
283
- face,
284
- data: resolvedImageData,
285
- pixels: resolvedImageData
286
- })));
287
- }
288
- else if (this.width || this.height) {
289
- gl.texImage2D(face, 0, format, width, height, 0 /* border*/, format, type, imageData);
290
- }
291
- else {
292
- gl.texImage2D(face, 0, format, format, type, imageData);
293
- }
294
- }
295
- _getImageDataMap(faceData) {
296
- for (let i = 0; i < Texture.CubeFaces.length; ++i) {
297
- const faceName = Texture.CubeFaces[i];
298
- if (faceData[faceName]) {
299
- faceData[34069 + i] = faceData[faceName];
300
- delete faceData[faceName];
301
- }
302
- }
303
- return faceData;
304
- }
305
- // RESOURCE METHODS
199
+ // INTERNAL
306
200
  /**
307
201
  * Sets sampler parameters on texture
308
202
  */
309
203
  _setSamplerParameters(parameters) {
310
- log.log(1, `${this.id} sampler parameters`, this.device.getGLKeys(parameters))();
204
+ log.log(2, `${this.id} sampler parameters`, this.device.getGLKeys(parameters))();
311
205
  this.gl.bindTexture(this.glTarget, this.handle);
312
206
  for (const [pname, pvalue] of Object.entries(parameters)) {
313
207
  const param = Number(pname);
@@ -319,11 +213,13 @@ export class WEBGLTexture extends Texture {
319
213
  case 33083:
320
214
  this.gl.texParameterf(this.glTarget, param, value);
321
215
  break;
216
+ case 10240:
322
217
  case 10241:
323
218
  this.gl.texParameteri(this.glTarget, param, value);
324
219
  break;
325
220
  case 10242:
326
221
  case 10243:
222
+ case 32882:
327
223
  this.gl.texParameteri(this.glTarget, param, value);
328
224
  break;
329
225
  case 34046:
@@ -332,121 +228,57 @@ export class WEBGLTexture extends Texture {
332
228
  this.gl.texParameteri(this.glTarget, param, value);
333
229
  }
334
230
  break;
335
- default:
231
+ case 34892:
232
+ case 34893:
336
233
  this.gl.texParameteri(this.glTarget, param, value);
337
234
  break;
338
235
  }
339
236
  }
340
237
  this.gl.bindTexture(this.glTarget, null);
341
238
  }
342
- // INTERNAL SETTERS
343
- /**
344
- * Copy a region of data from a CPU memory buffer into this texture.
345
- * @todo - GLUnpackParameters parameters
346
- */
347
- _setMipLevel(depth, mipLevel, textureData, glTarget = this.glTarget) {
348
- // if (!textureData) {
349
- // clearMipLevel(this.device.gl, {...this, depth, level});
350
- // return;
351
- // }
352
- if (Texture.isExternalImage(textureData)) {
353
- copyExternalImageToMipLevel(this.device.gl, this.handle, textureData, {
354
- ...this,
355
- depth,
356
- mipLevel,
357
- glTarget,
358
- flipY: this.props.flipY
359
- });
360
- return;
361
- }
362
- // @ts-expect-error
363
- if (Texture.isTextureLevelData(textureData)) {
364
- copyCPUDataToMipLevel(this.device.gl, textureData.data, {
365
- ...this,
366
- depth,
367
- mipLevel,
368
- glTarget
369
- });
370
- return;
371
- }
372
- throw new Error('Texture: invalid image data');
373
- }
374
- // HELPERS
375
- getActiveUnit() {
239
+ _getActiveUnit() {
376
240
  return this.gl.getParameter(34016) - 33984;
377
241
  }
378
- bind(textureUnit) {
242
+ _bind(_textureUnit) {
379
243
  const { gl } = this;
380
- if (textureUnit !== undefined) {
381
- this.textureUnit = textureUnit;
382
- gl.activeTexture(33984 + textureUnit);
244
+ if (_textureUnit !== undefined) {
245
+ this._textureUnit = _textureUnit;
246
+ gl.activeTexture(33984 + _textureUnit);
383
247
  }
384
248
  gl.bindTexture(this.glTarget, this.handle);
385
- return textureUnit;
249
+ // @ts-ignore TODO fix types
250
+ return _textureUnit;
386
251
  }
387
- unbind(textureUnit) {
252
+ _unbind(_textureUnit) {
388
253
  const { gl } = this;
389
- if (textureUnit !== undefined) {
390
- this.textureUnit = textureUnit;
391
- gl.activeTexture(33984 + textureUnit);
254
+ if (_textureUnit !== undefined) {
255
+ this._textureUnit = _textureUnit;
256
+ gl.activeTexture(33984 + _textureUnit);
392
257
  }
393
258
  gl.bindTexture(this.glTarget, null);
394
- return textureUnit;
259
+ return _textureUnit;
395
260
  }
396
261
  }
397
- // TODO - Remove when texture refactor is complete
398
- /*
399
- setCubeMapData(options: {
400
- width: number;
401
- height: number;
402
- data: Record<GL, Texture2DData> | Record<TextureCubeFace, Texture2DData>;
403
- format?: any;
404
- type?: any;
405
- /** @deprecated Use .data *
406
- pixels: any;
407
- }): void {
408
- const {gl} = this;
409
-
410
- const {width, height, pixels, data, format = GL.RGBA, type = GL.UNSIGNED_BYTE} = options;
411
-
412
- // pixel data (imageDataMap) is an Object from Face to Image or Promise.
413
- // For example:
414
- // {
415
- // GL.TEXTURE_CUBE_MAP_POSITIVE_X : Image-or-Promise,
416
- // GL.TEXTURE_CUBE_MAP_NEGATIVE_X : Image-or-Promise,
417
- // ... }
418
- // To provide multiple level-of-details (LODs) this can be Face to Array
419
- // of Image or Promise, like this
420
- // {
421
- // GL.TEXTURE_CUBE_MAP_POSITIVE_X : [Image-or-Promise-LOD-0, Image-or-Promise-LOD-1],
422
- // GL.TEXTURE_CUBE_MAP_NEGATIVE_X : [Image-or-Promise-LOD-0, Image-or-Promise-LOD-1],
423
- // ... }
424
-
425
- const imageDataMap = this._getImageDataMap(pixels || data);
426
-
427
- const resolvedFaces = WEBGLTexture.FACES.map(face => {
428
- const facePixels = imageDataMap[face];
429
- return Array.isArray(facePixels) ? facePixels : [facePixels];
430
- });
431
- this.bind();
432
-
433
- WEBGLTexture.FACES.forEach((face, index) => {
434
- if (resolvedFaces[index].length > 1 && this.props.mipmaps !== false) {
435
- // If the user provides multiple LODs, then automatic mipmap
436
- // generation generateMipmap() should be disabled to avoid overwritting them.
437
- log.warn(`${this.id} has mipmap and multiple LODs.`)();
262
+ // INTERNAL HELPERS
263
+ /** Convert a WebGPU style texture constant to a WebGL style texture constant */
264
+ export function getWebGLTextureTarget(dimension) {
265
+ // prettier-ignore
266
+ switch (dimension) {
267
+ case '1d': break; // not supported in any WebGL version
268
+ case '2d': return 3553; // supported in WebGL1
269
+ case '3d': return 32879; // supported in WebGL2
270
+ case 'cube': return 34067; // supported in WebGL1
271
+ case '2d-array': return 35866; // supported in WebGL2
272
+ case 'cube-array': break; // not supported in any WebGL version
438
273
  }
439
- resolvedFaces[index].forEach((image, lodLevel) => {
440
- // TODO: adjust width & height for LOD!
441
- if (width && height) {
442
- gl.texImage2D(face, lodLevel, format, width, height, 0 /* border*, format, type, image);
443
- } else {
444
- gl.texImage2D(face, lodLevel, format, format, type, image);
445
- }
446
- });
447
- });
448
-
449
- this.unbind();
274
+ throw new Error(dimension);
275
+ }
276
+ /**
277
+ * In WebGL, cube maps specify faces by overriding target instead of using the depth parameter.
278
+ * @note We still bind the texture using GL.TEXTURE_CUBE_MAP, but we need to use the face-specific target when setting mip levels.
279
+ * @returns glTarget unchanged, if dimension !== 'cube'.
280
+ */
281
+ export function getWebGLCubeFaceTarget(glTarget, dimension, level) {
282
+ return dimension === 'cube' ? 34069 + level : glTarget;
450
283
  }
451
- */
452
284
  //# sourceMappingURL=webgl-texture.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"webgl-texture.js","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-texture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webgl-texture.js","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-texture.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ export declare class WEBGLTransformFeedback extends TransformFeedback {
27
27
  setBuffers(buffers: Record<string, Buffer | BufferRange>): void;
28
28
  setBuffer(locationOrName: string | number, bufferOrRange: Buffer | BufferRange): void;
29
29
  getBuffer(locationOrName: string | number): Buffer | BufferRange | null;
30
- bind(funcOrHandle?: WebGLTransformFeedback): unknown;
30
+ bind(funcOrHandle?: (() => void) | WebGLTransformFeedback | null): unknown;
31
31
  unbind(): void;
32
32
  /** Extract offsets for bindBufferRange */
33
33
  protected _getBufferRange(bufferOrRange: Buffer | {
@@ -1 +1 @@
1
- {"version":3,"file":"webgl-transform-feedback.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-transform-feedback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAE,YAAY,EAAE,sBAAsB,EAAC,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAM,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;AAE1E,OAAO,EAAC,WAAW,EAAC,2BAAwB;AAI5C,qBAAa,sBAAuB,SAAQ,iBAAiB;IAC3D,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,sBAAsB,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;IAExC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAM;IAC1C,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAC3C;;;;OAIG;IACH,SAAS,UAAQ;IACjB,OAAO,CAAC,MAAM,CAAkB;gBAEpB,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,sBAAsB;IAerD,OAAO,IAAI,IAAI;IAKxB,KAAK,CAAC,QAAQ,GAAE,iBAAgC,GAAG,IAAI;IAQvD,GAAG,IAAI,IAAI;IAUX,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,GAAG,IAAI;IAW/D,SAAS,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAmBrF,SAAS,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,IAAI;IAQvE,IAAI,CAAC,YAAY,yBAAc;IAqB/B,MAAM;IAMN,0CAA0C;IAC1C,SAAS,CAAC,eAAe,CACvB,aAAa,EAAE,MAAM,GAAG;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAC,GACjF,QAAQ,CAAC,WAAW,CAAC;IAWxB,SAAS,CAAC,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM;IAcnE;;;OAGG;IACH,SAAS,CAAC,YAAY,IAAI,IAAI;IAO9B,SAAS,CAAC,cAAc,IAAI,IAAI;IAMhC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,SAAI,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;CAQhG"}
1
+ {"version":3,"file":"webgl-transform-feedback.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-transform-feedback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAE,YAAY,EAAE,sBAAsB,EAAC,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAM,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;AAE1E,OAAO,EAAC,WAAW,EAAC,2BAAwB;AAI5C,qBAAa,sBAAuB,SAAQ,iBAAiB;IAC3D,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,sBAAsB,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;IAExC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAM;IAC1C,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAC3C;;;;OAIG;IACH,SAAS,UAAQ;IACjB,OAAO,CAAC,MAAM,CAAkB;gBAEpB,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,sBAAsB;IAerD,OAAO,IAAI,IAAI;IAKxB,KAAK,CAAC,QAAQ,GAAE,iBAAgC,GAAG,IAAI;IAQvD,GAAG,IAAI,IAAI;IAUX,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,GAAG,IAAI;IAW/D,SAAS,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAmBrF,SAAS,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,IAAI;IAQvE,IAAI,CAAC,YAAY,GAAE,CAAC,MAAM,IAAI,CAAC,GAAG,sBAAsB,GAAG,IAAkB;IAqB7E,MAAM;IAMN,0CAA0C;IAC1C,SAAS,CAAC,eAAe,CACvB,aAAa,EAAE,MAAM,GAAG;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAC,GACjF,QAAQ,CAAC,WAAW,CAAC;IAWxB,SAAS,CAAC,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM;IAcnE;;;OAGG;IACH,SAAS,CAAC,YAAY,IAAI,IAAI;IAO9B,SAAS,CAAC,cAAc,IAAI,IAAI;IAMhC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,SAAI,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;CAQhG"}