@luma.gl/webgl 8.5.13 → 8.5.16

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 (195) hide show
  1. package/dist/dist.js +763 -860
  2. package/dist/dist.min.js +1 -1
  3. package/dist/es5/bundle.js.map +1 -1
  4. package/dist/es5/classes/accessor.js +31 -33
  5. package/dist/es5/classes/accessor.js.map +1 -1
  6. package/dist/es5/classes/buffer.js +24 -26
  7. package/dist/es5/classes/buffer.js.map +1 -1
  8. package/dist/es5/classes/clear.js.map +1 -1
  9. package/dist/es5/classes/copy-and-blit.js +3 -3
  10. package/dist/es5/classes/copy-and-blit.js.map +1 -1
  11. package/dist/es5/classes/framebuffer.js +70 -72
  12. package/dist/es5/classes/framebuffer.js.map +1 -1
  13. package/dist/es5/classes/program-configuration.js.map +1 -1
  14. package/dist/es5/classes/program.js +11 -13
  15. package/dist/es5/classes/program.js.map +1 -1
  16. package/dist/es5/classes/query.js +47 -49
  17. package/dist/es5/classes/query.js.map +1 -1
  18. package/dist/es5/classes/renderbuffer-formats.js.map +1 -1
  19. package/dist/es5/classes/renderbuffer.js +37 -39
  20. package/dist/es5/classes/renderbuffer.js.map +1 -1
  21. package/dist/es5/classes/resource.js +36 -17
  22. package/dist/es5/classes/resource.js.map +1 -1
  23. package/dist/es5/classes/shader.js +38 -44
  24. package/dist/es5/classes/shader.js.map +1 -1
  25. package/dist/es5/classes/texture-2d.js +16 -17
  26. package/dist/es5/classes/texture-2d.js.map +1 -1
  27. package/dist/es5/classes/texture-3d.js +15 -17
  28. package/dist/es5/classes/texture-3d.js.map +1 -1
  29. package/dist/es5/classes/texture-cube.js +10 -12
  30. package/dist/es5/classes/texture-cube.js.map +1 -1
  31. package/dist/es5/classes/texture-formats.js +1 -1
  32. package/dist/es5/classes/texture-formats.js.map +1 -1
  33. package/dist/es5/classes/texture.js +24 -26
  34. package/dist/es5/classes/texture.js.map +1 -1
  35. package/dist/es5/classes/transform-feedback.js +16 -22
  36. package/dist/es5/classes/transform-feedback.js.map +1 -1
  37. package/dist/es5/classes/uniform-buffer-layout.js.map +1 -1
  38. package/dist/es5/classes/uniforms.js +2 -2
  39. package/dist/es5/classes/uniforms.js.map +1 -1
  40. package/dist/es5/classes/vertex-array-object.js +69 -71
  41. package/dist/es5/classes/vertex-array-object.js.map +1 -1
  42. package/dist/es5/classes/vertex-array.js.map +1 -1
  43. package/dist/es5/debug/debug-program-configuration.js +1 -1
  44. package/dist/es5/debug/debug-program-configuration.js.map +1 -1
  45. package/dist/es5/debug/debug-uniforms.js +1 -1
  46. package/dist/es5/debug/debug-uniforms.js.map +1 -1
  47. package/dist/es5/debug/debug-vertex-array.js.map +1 -1
  48. package/dist/es5/features/check-glsl-extension.js.map +1 -1
  49. package/dist/es5/features/check-old-ie.js.map +1 -1
  50. package/dist/es5/features/features.js +2 -2
  51. package/dist/es5/features/features.js.map +1 -1
  52. package/dist/es5/features/index.js +16 -16
  53. package/dist/es5/features/index.js.map +1 -1
  54. package/dist/es5/features/limits.js +1 -1
  55. package/dist/es5/features/limits.js.map +1 -1
  56. package/dist/es5/features/webgl-features-table.js.map +1 -1
  57. package/dist/es5/features/webgl-limits-table.js.map +1 -1
  58. package/dist/es5/glsl-utils/format-glsl-error.js.map +1 -1
  59. package/dist/es5/glsl-utils/get-shader-name.js.map +1 -1
  60. package/dist/es5/glsl-utils/get-shader-type-name.js.map +1 -1
  61. package/dist/es5/glsl-utils/get-shader-version.js.map +1 -1
  62. package/dist/es5/glsl-utils/index.js +11 -7
  63. package/dist/es5/glsl-utils/index.js.map +1 -1
  64. package/dist/es5/index.js +104 -104
  65. package/dist/es5/index.js.map +1 -1
  66. package/dist/es5/init.d.ts +1 -1
  67. package/dist/es5/init.js +5 -4
  68. package/dist/es5/init.js.map +1 -1
  69. package/dist/es5/utils/array-utils-flat.js +2 -2
  70. package/dist/es5/utils/array-utils-flat.js.map +1 -1
  71. package/dist/es5/utils/assert.js.map +1 -1
  72. package/dist/es5/utils/check-props.js.map +1 -1
  73. package/dist/es5/utils/format-value.js.map +1 -1
  74. package/dist/es5/utils/is-old-ie.js.map +1 -1
  75. package/dist/es5/utils/load-file.js +1 -1
  76. package/dist/es5/utils/load-file.js.map +1 -1
  77. package/dist/es5/utils/stub-methods.js.map +1 -1
  78. package/dist/es5/utils/utils.js +2 -2
  79. package/dist/es5/utils/utils.js.map +1 -1
  80. package/dist/es5/webgl-utils/attribute-utils.js +3 -3
  81. package/dist/es5/webgl-utils/attribute-utils.js.map +1 -1
  82. package/dist/es5/webgl-utils/constants-to-keys.js +1 -1
  83. package/dist/es5/webgl-utils/constants-to-keys.js.map +1 -1
  84. package/dist/es5/webgl-utils/format-utils.js.map +1 -1
  85. package/dist/es5/webgl-utils/get-error.js +1 -1
  86. package/dist/es5/webgl-utils/get-error.js.map +1 -1
  87. package/dist/es5/webgl-utils/request-animation-frame.js +1 -1
  88. package/dist/es5/webgl-utils/request-animation-frame.js.map +1 -1
  89. package/dist/es5/webgl-utils/texture-utils.js.map +1 -1
  90. package/dist/es5/webgl-utils/typed-array-utils.js +1 -1
  91. package/dist/es5/webgl-utils/typed-array-utils.js.map +1 -1
  92. package/dist/esm/bundle.js.map +1 -1
  93. package/dist/esm/classes/accessor.js +12 -3
  94. package/dist/esm/classes/accessor.js.map +1 -1
  95. package/dist/esm/classes/buffer.js +41 -28
  96. package/dist/esm/classes/buffer.js.map +1 -1
  97. package/dist/esm/classes/clear.js +14 -12
  98. package/dist/esm/classes/clear.js.map +1 -1
  99. package/dist/esm/classes/copy-and-blit.js +27 -21
  100. package/dist/esm/classes/copy-and-blit.js.map +1 -1
  101. package/dist/esm/classes/framebuffer.js +89 -64
  102. package/dist/esm/classes/framebuffer.js.map +1 -1
  103. package/dist/esm/classes/program-configuration.js.map +1 -1
  104. package/dist/esm/classes/program.js +40 -32
  105. package/dist/esm/classes/program.js.map +1 -1
  106. package/dist/esm/classes/query.js +11 -6
  107. package/dist/esm/classes/query.js.map +1 -1
  108. package/dist/esm/classes/renderbuffer-formats.js.map +1 -1
  109. package/dist/esm/classes/renderbuffer.js +25 -19
  110. package/dist/esm/classes/renderbuffer.js.map +1 -1
  111. package/dist/esm/classes/resource.js +49 -18
  112. package/dist/esm/classes/resource.js.map +1 -1
  113. package/dist/esm/classes/shader.js +13 -10
  114. package/dist/esm/classes/shader.js.map +1 -1
  115. package/dist/esm/classes/texture-2d.js +2 -1
  116. package/dist/esm/classes/texture-2d.js.map +1 -1
  117. package/dist/esm/classes/texture-3d.js +17 -14
  118. package/dist/esm/classes/texture-3d.js.map +1 -1
  119. package/dist/esm/classes/texture-cube.js +23 -19
  120. package/dist/esm/classes/texture-cube.js.map +1 -1
  121. package/dist/esm/classes/texture-formats.js.map +1 -1
  122. package/dist/esm/classes/texture.js +47 -35
  123. package/dist/esm/classes/texture.js.map +1 -1
  124. package/dist/esm/classes/transform-feedback.js +12 -6
  125. package/dist/esm/classes/transform-feedback.js.map +1 -1
  126. package/dist/esm/classes/uniform-buffer-layout.js.map +1 -1
  127. package/dist/esm/classes/uniforms.js +6 -6
  128. package/dist/esm/classes/uniforms.js.map +1 -1
  129. package/dist/esm/classes/vertex-array-object.js +17 -9
  130. package/dist/esm/classes/vertex-array-object.js.map +1 -1
  131. package/dist/esm/classes/vertex-array.js +17 -7
  132. package/dist/esm/classes/vertex-array.js.map +1 -1
  133. package/dist/esm/debug/debug-program-configuration.js +4 -4
  134. package/dist/esm/debug/debug-program-configuration.js.map +1 -1
  135. package/dist/esm/debug/debug-uniforms.js +16 -14
  136. package/dist/esm/debug/debug-uniforms.js.map +1 -1
  137. package/dist/esm/debug/debug-vertex-array.js +16 -14
  138. package/dist/esm/debug/debug-vertex-array.js.map +1 -1
  139. package/dist/esm/features/check-glsl-extension.js +3 -2
  140. package/dist/esm/features/check-glsl-extension.js.map +1 -1
  141. package/dist/esm/features/check-old-ie.js +2 -1
  142. package/dist/esm/features/check-old-ie.js.map +1 -1
  143. package/dist/esm/features/features.js +1 -1
  144. package/dist/esm/features/features.js.map +1 -1
  145. package/dist/esm/features/index.js.map +1 -1
  146. package/dist/esm/features/limits.js.map +1 -1
  147. package/dist/esm/features/webgl-features-table.js +1 -1
  148. package/dist/esm/features/webgl-features-table.js.map +1 -1
  149. package/dist/esm/features/webgl-limits-table.js.map +1 -1
  150. package/dist/esm/glsl-utils/format-glsl-error.js +9 -7
  151. package/dist/esm/glsl-utils/format-glsl-error.js.map +1 -1
  152. package/dist/esm/glsl-utils/get-shader-name.js +2 -1
  153. package/dist/esm/glsl-utils/get-shader-name.js.map +1 -1
  154. package/dist/esm/glsl-utils/get-shader-type-name.js.map +1 -1
  155. package/dist/esm/glsl-utils/get-shader-version.js.map +1 -1
  156. package/dist/esm/glsl-utils/index.js.map +1 -1
  157. package/dist/esm/index.js.map +1 -1
  158. package/dist/esm/init.d.ts +1 -1
  159. package/dist/esm/init.js +5 -7
  160. package/dist/esm/init.js.map +1 -1
  161. package/dist/esm/utils/array-utils-flat.js +7 -6
  162. package/dist/esm/utils/array-utils-flat.js.map +1 -1
  163. package/dist/esm/utils/assert.js.map +1 -1
  164. package/dist/esm/utils/check-props.js +4 -4
  165. package/dist/esm/utils/check-props.js.map +1 -1
  166. package/dist/esm/utils/format-value.js +4 -3
  167. package/dist/esm/utils/format-value.js.map +1 -1
  168. package/dist/esm/utils/is-old-ie.js +2 -1
  169. package/dist/esm/utils/is-old-ie.js.map +1 -1
  170. package/dist/esm/utils/load-file.js +3 -2
  171. package/dist/esm/utils/load-file.js.map +1 -1
  172. package/dist/esm/utils/stub-methods.js +2 -3
  173. package/dist/esm/utils/stub-methods.js.map +1 -1
  174. package/dist/esm/utils/utils.js +3 -2
  175. package/dist/esm/utils/utils.js.map +1 -1
  176. package/dist/esm/webgl-utils/attribute-utils.js +11 -8
  177. package/dist/esm/webgl-utils/attribute-utils.js.map +1 -1
  178. package/dist/esm/webgl-utils/constants-to-keys.js +3 -3
  179. package/dist/esm/webgl-utils/constants-to-keys.js.map +1 -1
  180. package/dist/esm/webgl-utils/format-utils.js.map +1 -1
  181. package/dist/esm/webgl-utils/get-error.js +1 -1
  182. package/dist/esm/webgl-utils/get-error.js.map +1 -1
  183. package/dist/esm/webgl-utils/request-animation-frame.js.map +1 -1
  184. package/dist/esm/webgl-utils/texture-utils.js +1 -1
  185. package/dist/esm/webgl-utils/texture-utils.js.map +1 -1
  186. package/dist/esm/webgl-utils/typed-array-utils.js +19 -15
  187. package/dist/esm/webgl-utils/typed-array-utils.js.map +1 -1
  188. package/package.json +5 -5
  189. package/src/classes/framebuffer.js +1 -0
  190. package/src/classes/resource.js +21 -3
  191. package/src/classes/transform-feedback.js +1 -1
  192. package/src/classes/vertex-array-object.js +1 -1
  193. package/src/init.d.ts +1 -1
  194. package/src/init.js +2 -2
  195. package/src/webgl-utils/texture-utils.js +2 -0
package/dist/es5/index.js CHANGED
@@ -5,106 +5,100 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- Object.defineProperty(exports, "lumaStats", {
9
- enumerable: true,
10
- get: function get() {
11
- return _init.lumaStats;
12
- }
13
- });
14
- Object.defineProperty(exports, "requestAnimationFrame", {
8
+ Object.defineProperty(exports, "Accessor", {
15
9
  enumerable: true,
16
10
  get: function get() {
17
- return _requestAnimationFrame.requestAnimationFrame;
11
+ return _accessor.default;
18
12
  }
19
13
  });
20
- Object.defineProperty(exports, "cancelAnimationFrame", {
14
+ Object.defineProperty(exports, "Buffer", {
21
15
  enumerable: true,
22
16
  get: function get() {
23
- return _requestAnimationFrame.cancelAnimationFrame;
17
+ return _buffer.default;
24
18
  }
25
19
  });
26
- Object.defineProperty(exports, "cloneTextureFrom", {
20
+ Object.defineProperty(exports, "FEATURES", {
27
21
  enumerable: true,
28
22
  get: function get() {
29
- return _textureUtils.cloneTextureFrom;
23
+ return _webglFeaturesTable.FEATURES;
30
24
  }
31
25
  });
32
- Object.defineProperty(exports, "getKeyValue", {
26
+ Object.defineProperty(exports, "FragmentShader", {
33
27
  enumerable: true,
34
28
  get: function get() {
35
- return _constantsToKeys.getKeyValue;
29
+ return _shader.FragmentShader;
36
30
  }
37
31
  });
38
- Object.defineProperty(exports, "getKey", {
32
+ Object.defineProperty(exports, "Framebuffer", {
39
33
  enumerable: true,
40
34
  get: function get() {
41
- return _constantsToKeys.getKey;
35
+ return _framebuffer.default;
42
36
  }
43
37
  });
44
- Object.defineProperty(exports, "getContextInfo", {
38
+ Object.defineProperty(exports, "Program", {
45
39
  enumerable: true,
46
40
  get: function get() {
47
- return _limits.getContextInfo;
41
+ return _program.default;
48
42
  }
49
43
  });
50
- Object.defineProperty(exports, "getGLContextInfo", {
44
+ Object.defineProperty(exports, "Query", {
51
45
  enumerable: true,
52
46
  get: function get() {
53
- return _limits.getGLContextInfo;
47
+ return _query.default;
54
48
  }
55
49
  });
56
- Object.defineProperty(exports, "getContextLimits", {
50
+ Object.defineProperty(exports, "Renderbuffer", {
57
51
  enumerable: true,
58
52
  get: function get() {
59
- return _limits.getContextLimits;
53
+ return _renderbuffer.default;
60
54
  }
61
55
  });
62
- Object.defineProperty(exports, "FEATURES", {
56
+ Object.defineProperty(exports, "Shader", {
63
57
  enumerable: true,
64
58
  get: function get() {
65
- return _webglFeaturesTable.FEATURES;
59
+ return _shader.Shader;
66
60
  }
67
61
  });
68
- Object.defineProperty(exports, "hasFeature", {
62
+ Object.defineProperty(exports, "Texture2D", {
69
63
  enumerable: true,
70
64
  get: function get() {
71
- return _features.hasFeature;
65
+ return _texture2d.default;
72
66
  }
73
67
  });
74
- Object.defineProperty(exports, "hasFeatures", {
68
+ Object.defineProperty(exports, "Texture3D", {
75
69
  enumerable: true,
76
70
  get: function get() {
77
- return _features.hasFeatures;
71
+ return _texture3d.default;
78
72
  }
79
73
  });
80
- Object.defineProperty(exports, "getFeatures", {
74
+ Object.defineProperty(exports, "TextureCube", {
81
75
  enumerable: true,
82
76
  get: function get() {
83
- return _features.getFeatures;
77
+ return _textureCube.default;
84
78
  }
85
79
  });
86
- Object.defineProperty(exports, "canCompileGLGSExtension", {
80
+ Object.defineProperty(exports, "TransformFeedback", {
87
81
  enumerable: true,
88
82
  get: function get() {
89
- return _checkGlslExtension.default;
83
+ return _transformFeedback.default;
90
84
  }
91
85
  });
92
- Object.defineProperty(exports, "Accessor", {
86
+ Object.defineProperty(exports, "UniformBufferLayout", {
93
87
  enumerable: true,
94
88
  get: function get() {
95
- return _accessor.default;
89
+ return _uniformBufferLayout.default;
96
90
  }
97
91
  });
98
- Object.defineProperty(exports, "Buffer", {
92
+ Object.defineProperty(exports, "VertexArray", {
99
93
  enumerable: true,
100
94
  get: function get() {
101
- return _buffer.default;
95
+ return _vertexArray.default;
102
96
  }
103
97
  });
104
- Object.defineProperty(exports, "Shader", {
98
+ Object.defineProperty(exports, "VertexArrayObject", {
105
99
  enumerable: true,
106
100
  get: function get() {
107
- return _shader.Shader;
101
+ return _vertexArrayObject.default;
108
102
  }
109
103
  });
110
104
  Object.defineProperty(exports, "VertexShader", {
@@ -113,40 +107,28 @@ Object.defineProperty(exports, "VertexShader", {
113
107
  return _shader.VertexShader;
114
108
  }
115
109
  });
116
- Object.defineProperty(exports, "FragmentShader", {
117
- enumerable: true,
118
- get: function get() {
119
- return _shader.FragmentShader;
120
- }
121
- });
122
- Object.defineProperty(exports, "Program", {
123
- enumerable: true,
124
- get: function get() {
125
- return _program.default;
126
- }
127
- });
128
- Object.defineProperty(exports, "Framebuffer", {
110
+ Object.defineProperty(exports, "assert", {
129
111
  enumerable: true,
130
112
  get: function get() {
131
- return _framebuffer.default;
113
+ return _assert.assert;
132
114
  }
133
115
  });
134
- Object.defineProperty(exports, "Renderbuffer", {
116
+ Object.defineProperty(exports, "blit", {
135
117
  enumerable: true,
136
118
  get: function get() {
137
- return _renderbuffer.default;
119
+ return _copyAndBlit.blit;
138
120
  }
139
121
  });
140
- Object.defineProperty(exports, "Texture2D", {
122
+ Object.defineProperty(exports, "canCompileGLGSExtension", {
141
123
  enumerable: true,
142
124
  get: function get() {
143
- return _texture2d.default;
125
+ return _checkGlslExtension.default;
144
126
  }
145
127
  });
146
- Object.defineProperty(exports, "TextureCube", {
128
+ Object.defineProperty(exports, "cancelAnimationFrame", {
147
129
  enumerable: true,
148
130
  get: function get() {
149
- return _textureCube.default;
131
+ return _requestAnimationFrame.cancelAnimationFrame;
150
132
  }
151
133
  });
152
134
  Object.defineProperty(exports, "clear", {
@@ -161,16 +143,10 @@ Object.defineProperty(exports, "clearBuffer", {
161
143
  return _clear.clearBuffer;
162
144
  }
163
145
  });
164
- Object.defineProperty(exports, "readPixelsToArray", {
165
- enumerable: true,
166
- get: function get() {
167
- return _copyAndBlit.readPixelsToArray;
168
- }
169
- });
170
- Object.defineProperty(exports, "readPixelsToBuffer", {
146
+ Object.defineProperty(exports, "cloneTextureFrom", {
171
147
  enumerable: true,
172
148
  get: function get() {
173
- return _copyAndBlit.readPixelsToBuffer;
149
+ return _textureUtils.cloneTextureFrom;
174
150
  }
175
151
  });
176
152
  Object.defineProperty(exports, "copyToDataUrl", {
@@ -191,64 +167,58 @@ Object.defineProperty(exports, "copyToTexture", {
191
167
  return _copyAndBlit.copyToTexture;
192
168
  }
193
169
  });
194
- Object.defineProperty(exports, "blit", {
195
- enumerable: true,
196
- get: function get() {
197
- return _copyAndBlit.blit;
198
- }
199
- });
200
- Object.defineProperty(exports, "Query", {
170
+ Object.defineProperty(exports, "getContextInfo", {
201
171
  enumerable: true,
202
172
  get: function get() {
203
- return _query.default;
173
+ return _limits.getContextInfo;
204
174
  }
205
175
  });
206
- Object.defineProperty(exports, "Texture3D", {
176
+ Object.defineProperty(exports, "getContextLimits", {
207
177
  enumerable: true,
208
178
  get: function get() {
209
- return _texture3d.default;
179
+ return _limits.getContextLimits;
210
180
  }
211
181
  });
212
- Object.defineProperty(exports, "TransformFeedback", {
182
+ Object.defineProperty(exports, "getDebugTableForProgramConfiguration", {
213
183
  enumerable: true,
214
184
  get: function get() {
215
- return _transformFeedback.default;
185
+ return _debugProgramConfiguration.getDebugTableForProgramConfiguration;
216
186
  }
217
187
  });
218
- Object.defineProperty(exports, "VertexArrayObject", {
188
+ Object.defineProperty(exports, "getDebugTableForUniforms", {
219
189
  enumerable: true,
220
190
  get: function get() {
221
- return _vertexArrayObject.default;
191
+ return _debugUniforms.getDebugTableForUniforms;
222
192
  }
223
193
  });
224
- Object.defineProperty(exports, "VertexArray", {
194
+ Object.defineProperty(exports, "getDebugTableForVertexArray", {
225
195
  enumerable: true,
226
196
  get: function get() {
227
- return _vertexArray.default;
197
+ return _debugVertexArray.getDebugTableForVertexArray;
228
198
  }
229
199
  });
230
- Object.defineProperty(exports, "UniformBufferLayout", {
200
+ Object.defineProperty(exports, "getFeatures", {
231
201
  enumerable: true,
232
202
  get: function get() {
233
- return _uniformBufferLayout.default;
203
+ return _features.getFeatures;
234
204
  }
235
205
  });
236
- Object.defineProperty(exports, "setPathPrefix", {
206
+ Object.defineProperty(exports, "getGLContextInfo", {
237
207
  enumerable: true,
238
208
  get: function get() {
239
- return _loadFile.setPathPrefix;
209
+ return _limits.getGLContextInfo;
240
210
  }
241
211
  });
242
- Object.defineProperty(exports, "loadFile", {
212
+ Object.defineProperty(exports, "getKey", {
243
213
  enumerable: true,
244
214
  get: function get() {
245
- return _loadFile.loadFile;
215
+ return _constantsToKeys.getKey;
246
216
  }
247
217
  });
248
- Object.defineProperty(exports, "loadImage", {
218
+ Object.defineProperty(exports, "getKeyValue", {
249
219
  enumerable: true,
250
220
  get: function get() {
251
- return _loadFile.loadImage;
221
+ return _constantsToKeys.getKeyValue;
252
222
  }
253
223
  });
254
224
  Object.defineProperty(exports, "getShaderName", {
@@ -263,22 +233,22 @@ Object.defineProperty(exports, "getShaderVersion", {
263
233
  return _getShaderVersion.default;
264
234
  }
265
235
  });
266
- Object.defineProperty(exports, "log", {
236
+ Object.defineProperty(exports, "getUniformSetter", {
267
237
  enumerable: true,
268
238
  get: function get() {
269
- return _gltools.log;
239
+ return _uniforms.getUniformSetter;
270
240
  }
271
241
  });
272
- Object.defineProperty(exports, "assert", {
242
+ Object.defineProperty(exports, "hasFeature", {
273
243
  enumerable: true,
274
244
  get: function get() {
275
- return _assert.assert;
245
+ return _features.hasFeature;
276
246
  }
277
247
  });
278
- Object.defineProperty(exports, "uid", {
248
+ Object.defineProperty(exports, "hasFeatures", {
279
249
  enumerable: true,
280
250
  get: function get() {
281
- return _utils.uid;
251
+ return _features.hasFeatures;
282
252
  }
283
253
  });
284
254
  Object.defineProperty(exports, "isObjectEmpty", {
@@ -287,34 +257,64 @@ Object.defineProperty(exports, "isObjectEmpty", {
287
257
  return _utils.isObjectEmpty;
288
258
  }
289
259
  });
260
+ Object.defineProperty(exports, "loadFile", {
261
+ enumerable: true,
262
+ get: function get() {
263
+ return _loadFile.loadFile;
264
+ }
265
+ });
266
+ Object.defineProperty(exports, "loadImage", {
267
+ enumerable: true,
268
+ get: function get() {
269
+ return _loadFile.loadImage;
270
+ }
271
+ });
272
+ Object.defineProperty(exports, "log", {
273
+ enumerable: true,
274
+ get: function get() {
275
+ return _gltools.log;
276
+ }
277
+ });
278
+ Object.defineProperty(exports, "lumaStats", {
279
+ enumerable: true,
280
+ get: function get() {
281
+ return _init.lumaStats;
282
+ }
283
+ });
290
284
  Object.defineProperty(exports, "parseUniformName", {
291
285
  enumerable: true,
292
286
  get: function get() {
293
287
  return _uniforms.parseUniformName;
294
288
  }
295
289
  });
296
- Object.defineProperty(exports, "getUniformSetter", {
290
+ Object.defineProperty(exports, "readPixelsToArray", {
297
291
  enumerable: true,
298
292
  get: function get() {
299
- return _uniforms.getUniformSetter;
293
+ return _copyAndBlit.readPixelsToArray;
300
294
  }
301
295
  });
302
- Object.defineProperty(exports, "getDebugTableForUniforms", {
296
+ Object.defineProperty(exports, "readPixelsToBuffer", {
303
297
  enumerable: true,
304
298
  get: function get() {
305
- return _debugUniforms.getDebugTableForUniforms;
299
+ return _copyAndBlit.readPixelsToBuffer;
306
300
  }
307
301
  });
308
- Object.defineProperty(exports, "getDebugTableForVertexArray", {
302
+ Object.defineProperty(exports, "requestAnimationFrame", {
309
303
  enumerable: true,
310
304
  get: function get() {
311
- return _debugVertexArray.getDebugTableForVertexArray;
305
+ return _requestAnimationFrame.requestAnimationFrame;
312
306
  }
313
307
  });
314
- Object.defineProperty(exports, "getDebugTableForProgramConfiguration", {
308
+ Object.defineProperty(exports, "setPathPrefix", {
315
309
  enumerable: true,
316
310
  get: function get() {
317
- return _debugProgramConfiguration.getDebugTableForProgramConfiguration;
311
+ return _loadFile.setPathPrefix;
312
+ }
313
+ });
314
+ Object.defineProperty(exports, "uid", {
315
+ enumerable: true,
316
+ get: function get() {
317
+ return _utils.uid;
318
318
  }
319
319
  });
320
320
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA;;AAGA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AAGA;;AAUA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AAGA;;AACA;;AAGA;;AACA;;AACA;;AAGA;;AACA;;AACA;;AACA","sourcesContent":["// luma.gl Base WebGL wrapper library\n// Provides simple class/function wrappers around the low level webgl objects\n// These classes are intentionally close to the WebGL API\n// but make it easier to use.\n// Higher level abstractions can be built on these classes\n\n// Initialize any global state\nexport {lumaStats} from './init';\n\n// UTILS\nexport {requestAnimationFrame, cancelAnimationFrame} from './webgl-utils/request-animation-frame';\n\n// WebGL Functions\nexport {cloneTextureFrom} from './webgl-utils/texture-utils';\nexport {getKeyValue, getKey} from './webgl-utils/constants-to-keys';\nexport {getContextInfo, getGLContextInfo, getContextLimits} from './features/limits';\nexport {FEATURES} from './features/webgl-features-table';\nexport {hasFeature, hasFeatures, getFeatures} from './features/features';\nexport {default as canCompileGLGSExtension} from './features/check-glsl-extension';\n\n// WebGL Helper Classes\nexport {default as Accessor} from './classes/accessor';\n\n// WebGL1 classes\nexport {default as Buffer} from './classes/buffer';\nexport {Shader, VertexShader, FragmentShader} from './classes/shader';\nexport {default as Program} from './classes/program';\nexport {default as Framebuffer} from './classes/framebuffer';\nexport {default as Renderbuffer} from './classes/renderbuffer';\nexport {default as Texture2D} from './classes/texture-2d';\nexport {default as TextureCube} from './classes/texture-cube';\n\nexport {clear, clearBuffer} from './classes/clear';\n\n// Copy and Blit\nexport {\n readPixelsToArray,\n readPixelsToBuffer,\n copyToDataUrl,\n copyToImage,\n copyToTexture,\n blit\n} from './classes/copy-and-blit';\n\n// WebGL2 classes & Extensions\nexport {default as Query} from './classes/query';\nexport {default as Texture3D} from './classes/texture-3d';\nexport {default as TransformFeedback} from './classes/transform-feedback';\nexport {default as VertexArrayObject} from './classes/vertex-array-object';\nexport {default as VertexArray} from './classes/vertex-array';\nexport {default as UniformBufferLayout} from './classes/uniform-buffer-layout';\n\n// experimental WebGL exports\n\nexport {setPathPrefix, loadFile, loadImage} from './utils/load-file';\n\n// PARSE SHADER SOURCE\nexport {default as getShaderName} from './glsl-utils/get-shader-name';\nexport {default as getShaderVersion} from './glsl-utils/get-shader-version';\n\n// UTILS\nexport {log} from '@luma.gl/gltools';\nexport {assert} from './utils/assert';\nexport {uid, isObjectEmpty} from './utils/utils';\n\n// INTERNAL\nexport {parseUniformName, getUniformSetter} from './classes/uniforms';\nexport {getDebugTableForUniforms} from './debug/debug-uniforms';\nexport {getDebugTableForVertexArray} from './debug/debug-vertex-array';\nexport {getDebugTableForProgramConfiguration} from './debug/debug-program-configuration';\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/index.js"],"sourcesContent":["// luma.gl Base WebGL wrapper library\n// Provides simple class/function wrappers around the low level webgl objects\n// These classes are intentionally close to the WebGL API\n// but make it easier to use.\n// Higher level abstractions can be built on these classes\n\n// Initialize any global state\nexport {lumaStats} from './init';\n\n// UTILS\nexport {requestAnimationFrame, cancelAnimationFrame} from './webgl-utils/request-animation-frame';\n\n// WebGL Functions\nexport {cloneTextureFrom} from './webgl-utils/texture-utils';\nexport {getKeyValue, getKey} from './webgl-utils/constants-to-keys';\nexport {getContextInfo, getGLContextInfo, getContextLimits} from './features/limits';\nexport {FEATURES} from './features/webgl-features-table';\nexport {hasFeature, hasFeatures, getFeatures} from './features/features';\nexport {default as canCompileGLGSExtension} from './features/check-glsl-extension';\n\n// WebGL Helper Classes\nexport {default as Accessor} from './classes/accessor';\n\n// WebGL1 classes\nexport {default as Buffer} from './classes/buffer';\nexport {Shader, VertexShader, FragmentShader} from './classes/shader';\nexport {default as Program} from './classes/program';\nexport {default as Framebuffer} from './classes/framebuffer';\nexport {default as Renderbuffer} from './classes/renderbuffer';\nexport {default as Texture2D} from './classes/texture-2d';\nexport {default as TextureCube} from './classes/texture-cube';\n\nexport {clear, clearBuffer} from './classes/clear';\n\n// Copy and Blit\nexport {\n readPixelsToArray,\n readPixelsToBuffer,\n copyToDataUrl,\n copyToImage,\n copyToTexture,\n blit\n} from './classes/copy-and-blit';\n\n// WebGL2 classes & Extensions\nexport {default as Query} from './classes/query';\nexport {default as Texture3D} from './classes/texture-3d';\nexport {default as TransformFeedback} from './classes/transform-feedback';\nexport {default as VertexArrayObject} from './classes/vertex-array-object';\nexport {default as VertexArray} from './classes/vertex-array';\nexport {default as UniformBufferLayout} from './classes/uniform-buffer-layout';\n\n// experimental WebGL exports\n\nexport {setPathPrefix, loadFile, loadImage} from './utils/load-file';\n\n// PARSE SHADER SOURCE\nexport {default as getShaderName} from './glsl-utils/get-shader-name';\nexport {default as getShaderVersion} from './glsl-utils/get-shader-version';\n\n// UTILS\nexport {log} from '@luma.gl/gltools';\nexport {assert} from './utils/assert';\nexport {uid, isObjectEmpty} from './utils/utils';\n\n// INTERNAL\nexport {parseUniformName, getUniformSetter} from './classes/uniforms';\nexport {getDebugTableForUniforms} from './debug/debug-uniforms';\nexport {getDebugTableForVertexArray} from './debug/debug-vertex-array';\nexport {getDebugTableForProgramConfiguration} from './debug/debug-program-configuration';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA;;AAGA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AAGA;;AAUA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AAGA;;AACA;;AAGA;;AACA;;AACA;;AAGA;;AACA;;AACA;;AACA"}
@@ -1,4 +1,4 @@
1
- import {Stats} from 'probe.gl';
1
+ import {Stats} from '@probe.gl/stats';
2
2
 
3
3
  export class StatsManager {
4
4
  constructor();
package/dist/es5/init.js CHANGED
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = exports.lumaStats = void 0;
8
+ exports.lumaStats = exports.default = exports.StatsManager = void 0;
9
9
 
10
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
11
 
@@ -13,11 +13,11 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
13
13
 
14
14
  var _gltools = require("@luma.gl/gltools");
15
15
 
16
- var _probe = require("probe.gl");
16
+ var _stats = require("@probe.gl/stats");
17
17
 
18
18
  var _env = require("@probe.gl/env");
19
19
 
20
- var VERSION = typeof "8.5.13" !== 'undefined' ? "8.5.13" : 'untranspiled source';
20
+ var VERSION = typeof "8.5.16" !== 'undefined' ? "8.5.16" : 'untranspiled source';
21
21
  var STARTUP_MESSAGE = 'set luma.log.level=1 (or higher) to trace rendering';
22
22
 
23
23
  var StatsManager = function () {
@@ -30,7 +30,7 @@ var StatsManager = function () {
30
30
  key: "get",
31
31
  value: function get(name) {
32
32
  if (!this.stats.has(name)) {
33
- this.stats.set(name, new _probe.Stats({
33
+ this.stats.set(name, new _stats.Stats({
34
34
  id: name
35
35
  }));
36
36
  }
@@ -41,6 +41,7 @@ var StatsManager = function () {
41
41
  return StatsManager;
42
42
  }();
43
43
 
44
+ exports.StatsManager = StatsManager;
44
45
  var lumaStats = new StatsManager();
45
46
  exports.lumaStats = lumaStats;
46
47
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/init.js"],"names":["VERSION","STARTUP_MESSAGE","StatsManager","stats","Map","name","has","set","Stats","id","get","lumaStats","globalThis","luma","Error","log","version","globals","modules","nodeIO"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAKA,IAAMA,OAAO,GAAG,oBAAuB,WAAvB,cAAmD,qBAAnE;AAEA,IAAMC,eAAe,GAAG,qDAAxB;;IAKMC,Y;AACJ,0BAAc;AAAA;AACZ,SAAKC,KAAL,GAAa,IAAIC,GAAJ,EAAb;AACD;;;;wBAEGC,I,EAAM;AACR,UAAI,CAAC,KAAKF,KAAL,CAAWG,GAAX,CAAeD,IAAf,CAAL,EAA2B;AACzB,aAAKF,KAAL,CAAWI,GAAX,CAAeF,IAAf,EAAqB,IAAIG,YAAJ,CAAU;AAACC,UAAAA,EAAE,EAAEJ;AAAL,SAAV,CAArB;AACD;;AAED,aAAO,KAAKF,KAAL,CAAWO,GAAX,CAAeL,IAAf,CAAP;AACD;;;;;AAGH,IAAMM,SAAS,GAAG,IAAIT,YAAJ,EAAlB;;;AAEA,IAAIU,UAAU,CAACC,IAAX,IAAmBD,UAAU,CAACC,IAAX,CAAgBb,OAAhB,KAA4BA,OAAnD,EAA4D;AAC1D,QAAM,IAAIc,KAAJ,iDAAmDF,UAAU,CAACC,IAAX,CAAgBb,OAAnE,iBAAiFA,OAAjF,EAAN;AACD;;AAED,IAAI,CAACY,UAAU,CAACC,IAAhB,EAAsB;AACpB,MAAI,qBAAJ,EAAiB;AACfE,iBAAIA,GAAJ,CAAQ,CAAR,oBAAsBf,OAAtB,gBAAmCC,eAAnC;AACD;;AAEDW,EAAAA,UAAU,CAACC,IAAX,GAAkBD,UAAU,CAACC,IAAX,IAAmB;AACnCb,IAAAA,OAAO,EAAPA,OADmC;AAEnCgB,IAAAA,OAAO,EAAEhB,OAF0B;AAGnCe,IAAAA,GAAG,EAAHA,YAHmC;AAOnCZ,IAAAA,KAAK,EAAEQ,SAP4B;AAcnCM,IAAAA,OAAO,EAAE;AACPC,MAAAA,OAAO,EAAE,EADF;AAEPC,MAAAA,MAAM,EAAE;AAFD;AAd0B,GAArC;AAmBD;;eAGcP,UAAU,CAACC,I","sourcesContent":["import {log} from '@luma.gl/gltools';\nimport {Stats} from 'probe.gl';\nimport {isBrowser} from '@probe.gl/env';\n\n// Version detection using babel plugin\n/* global __VERSION__ */\n// @ts-ignore\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'untranspiled source';\n\nconst STARTUP_MESSAGE = 'set luma.log.level=1 (or higher) to trace rendering';\n// Assign luma.log.level in console to control logging: \\\n// 0: none, 1: minimal, 2: verbose, 3: attribute/uniforms, 4: gl logs\n// luma.log.break[], set to gl funcs, luma.log.profile[] set to model names`;\n\nclass StatsManager {\n constructor() {\n this.stats = new Map();\n }\n\n get(name) {\n if (!this.stats.has(name)) {\n this.stats.set(name, new Stats({id: name}));\n }\n\n return this.stats.get(name);\n }\n}\n\nconst lumaStats = new StatsManager();\n\nif (globalThis.luma && globalThis.luma.VERSION !== VERSION) {\n throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${VERSION}`);\n}\n\nif (!globalThis.luma) {\n if (isBrowser()) {\n log.log(1, `luma.gl ${VERSION} - ${STARTUP_MESSAGE}`)();\n }\n\n globalThis.luma = globalThis.luma || {\n VERSION,\n version: VERSION,\n log,\n\n // A global stats object that various components can add information to\n // E.g. see webgl/resource.js\n stats: lumaStats,\n\n // Keep some luma globals in a sub-object\n // This allows us to dynamically detect if certain modules have been\n // included (such as IO and headless) and enable related functionality,\n // without unconditionally requiring and thus bundling big dependencies\n // into the app.\n globals: {\n modules: {},\n nodeIO: {}\n }\n };\n}\n\nexport {lumaStats};\nexport default globalThis.luma;\n"],"file":"init.js"}
1
+ {"version":3,"file":"init.js","names":["VERSION","STARTUP_MESSAGE","StatsManager","stats","Map","name","has","set","Stats","id","get","lumaStats","globalThis","luma","Error","isBrowser","log","version","globals","modules","nodeIO"],"sources":["../../src/init.js"],"sourcesContent":["import {log} from '@luma.gl/gltools';\nimport {Stats} from '@probe.gl/stats';\nimport {isBrowser} from '@probe.gl/env';\n\n// Version detection using babel plugin\n/* global __VERSION__ */\n// @ts-ignore\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'untranspiled source';\n\nconst STARTUP_MESSAGE = 'set luma.log.level=1 (or higher) to trace rendering';\n// Assign luma.log.level in console to control logging: \\\n// 0: none, 1: minimal, 2: verbose, 3: attribute/uniforms, 4: gl logs\n// luma.log.break[], set to gl funcs, luma.log.profile[] set to model names`;\n\nexport class StatsManager {\n constructor() {\n this.stats = new Map();\n }\n\n get(name) {\n if (!this.stats.has(name)) {\n this.stats.set(name, new Stats({id: name}));\n }\n\n return this.stats.get(name);\n }\n}\n\nconst lumaStats = new StatsManager();\n\nif (globalThis.luma && globalThis.luma.VERSION !== VERSION) {\n throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${VERSION}`);\n}\n\nif (!globalThis.luma) {\n if (isBrowser()) {\n log.log(1, `luma.gl ${VERSION} - ${STARTUP_MESSAGE}`)();\n }\n\n globalThis.luma = globalThis.luma || {\n VERSION,\n version: VERSION,\n log,\n\n // A global stats object that various components can add information to\n // E.g. see webgl/resource.js\n stats: lumaStats,\n\n // Keep some luma globals in a sub-object\n // This allows us to dynamically detect if certain modules have been\n // included (such as IO and headless) and enable related functionality,\n // without unconditionally requiring and thus bundling big dependencies\n // into the app.\n globals: {\n modules: {},\n nodeIO: {}\n }\n };\n}\n\nexport {lumaStats};\nexport default globalThis.luma;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAKA,IAAMA,OAAO,GAAG,oBAAuB,WAAvB,cAAmD,qBAAnE;AAEA,IAAMC,eAAe,GAAG,qDAAxB;;IAKaC,Y;EACX,wBAAc;IAAA;IACZ,KAAKC,KAAL,GAAa,IAAIC,GAAJ,EAAb;EACD;;;;WAED,aAAIC,IAAJ,EAAU;MACR,IAAI,CAAC,KAAKF,KAAL,CAAWG,GAAX,CAAeD,IAAf,CAAL,EAA2B;QACzB,KAAKF,KAAL,CAAWI,GAAX,CAAeF,IAAf,EAAqB,IAAIG,YAAJ,CAAU;UAACC,EAAE,EAAEJ;QAAL,CAAV,CAArB;MACD;;MAED,OAAO,KAAKF,KAAL,CAAWO,GAAX,CAAeL,IAAf,CAAP;IACD;;;;;;AAGH,IAAMM,SAAS,GAAG,IAAIT,YAAJ,EAAlB;;;AAEA,IAAIU,UAAU,CAACC,IAAX,IAAmBD,UAAU,CAACC,IAAX,CAAgBb,OAAhB,KAA4BA,OAAnD,EAA4D;EAC1D,MAAM,IAAIc,KAAJ,iDAAmDF,UAAU,CAACC,IAAX,CAAgBb,OAAnE,iBAAiFA,OAAjF,EAAN;AACD;;AAED,IAAI,CAACY,UAAU,CAACC,IAAhB,EAAsB;EACpB,IAAI,IAAAE,cAAA,GAAJ,EAAiB;IACfC,YAAA,CAAIA,GAAJ,CAAQ,CAAR,oBAAsBhB,OAAtB,gBAAmCC,eAAnC;EACD;;EAEDW,UAAU,CAACC,IAAX,GAAkBD,UAAU,CAACC,IAAX,IAAmB;IACnCb,OAAO,EAAPA,OADmC;IAEnCiB,OAAO,EAAEjB,OAF0B;IAGnCgB,GAAG,EAAHA,YAHmC;IAOnCb,KAAK,EAAEQ,SAP4B;IAcnCO,OAAO,EAAE;MACPC,OAAO,EAAE,EADF;MAEPC,MAAM,EAAE;IAFD;EAd0B,CAArC;AAmBD;;eAGcR,UAAU,CAACC,I"}
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getScratchArrayBuffer = getScratchArrayBuffer;
7
- exports.getScratchArray = getScratchArray;
8
6
  exports.fillArray = fillArray;
7
+ exports.getScratchArray = getScratchArray;
8
+ exports.getScratchArrayBuffer = getScratchArrayBuffer;
9
9
  var arrayBuffer = null;
10
10
 
11
11
  function getScratchArrayBuffer(byteLength) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/array-utils-flat.js"],"names":["arrayBuffer","getScratchArrayBuffer","byteLength","ArrayBuffer","getScratchArray","Type","length","scratchArrayBuffer","BYTES_PER_ELEMENT","fillArray","target","source","start","count","total","copied","i","copyWithin"],"mappings":";;;;;;;;AAAA,IAAIA,WAAW,GAAG,IAAlB;;AAEO,SAASC,qBAAT,CAA+BC,UAA/B,EAA2C;AAChD,MAAI,CAACF,WAAD,IAAgBA,WAAW,CAACE,UAAZ,GAAyBA,UAA7C,EAAyD;AACvDF,IAAAA,WAAW,GAAG,IAAIG,WAAJ,CAAgBD,UAAhB,CAAd;AACD;;AACD,SAAOF,WAAP;AACD;;AAEM,SAASI,eAAT,CAAyBC,IAAzB,EAA+BC,MAA/B,EAAuC;AAC5C,MAAMC,kBAAkB,GAAGN,qBAAqB,CAACI,IAAI,CAACG,iBAAL,GAAyBF,MAA1B,CAAhD;AACA,SAAO,IAAID,IAAJ,CAASE,kBAAT,EAA6B,CAA7B,EAAgCD,MAAhC,CAAP;AACD;;AAGM,SAASG,SAAT,OAA2D;AAAA,MAAvCC,MAAuC,QAAvCA,MAAuC;AAAA,MAA/BC,MAA+B,QAA/BA,MAA+B;AAAA,wBAAvBC,KAAuB;AAAA,MAAvBA,KAAuB,2BAAf,CAAe;AAAA,wBAAZC,KAAY;AAAA,MAAZA,KAAY,2BAAJ,CAAI;AAChE,MAAMP,MAAM,GAAGK,MAAM,CAACL,MAAtB;AACA,MAAMQ,KAAK,GAAGD,KAAK,GAAGP,MAAtB;AACA,MAAIS,MAAM,GAAG,CAAb;;AACA,OAAK,IAAIC,CAAC,GAAGJ,KAAb,EAAoBG,MAAM,GAAGT,MAA7B,EAAqCS,MAAM,EAA3C,EAA+C;AAC7CL,IAAAA,MAAM,CAACM,CAAC,EAAF,CAAN,GAAcL,MAAM,CAACI,MAAD,CAApB;AACD;;AAED,SAAOA,MAAM,GAAGD,KAAhB,EAAuB;AAGrB,QAAIC,MAAM,GAAGD,KAAK,GAAGC,MAArB,EAA6B;AAC3BL,MAAAA,MAAM,CAACO,UAAP,CAAkBL,KAAK,GAAGG,MAA1B,EAAkCH,KAAlC,EAAyCA,KAAK,GAAGG,MAAjD;AACAA,MAAAA,MAAM,IAAI,CAAV;AACD,KAHD,MAGO;AACLL,MAAAA,MAAM,CAACO,UAAP,CAAkBL,KAAK,GAAGG,MAA1B,EAAkCH,KAAlC,EAAyCA,KAAK,GAAGE,KAAR,GAAgBC,MAAzD;AACAA,MAAAA,MAAM,GAAGD,KAAT;AACD;AACF;;AAED,SAAOJ,MAAP;AACD","sourcesContent":["let arrayBuffer = null;\n\nexport function getScratchArrayBuffer(byteLength) {\n if (!arrayBuffer || arrayBuffer.byteLength < byteLength) {\n arrayBuffer = new ArrayBuffer(byteLength);\n }\n return arrayBuffer;\n}\n\nexport function getScratchArray(Type, length) {\n const scratchArrayBuffer = getScratchArrayBuffer(Type.BYTES_PER_ELEMENT * length);\n return new Type(scratchArrayBuffer, 0, length); // arrayBuffer, byteOffset, length (in elements)\n}\n\n// Uses copyWithin to significantly speed up typed array value filling\nexport function fillArray({target, source, start = 0, count = 1}) {\n const length = source.length;\n const total = count * length;\n let copied = 0;\n for (let i = start; copied < length; copied++) {\n target[i++] = source[copied];\n }\n\n while (copied < total) {\n // If we have copied less than half, copy everything we got\n // else copy remaining in one operation\n if (copied < total - copied) {\n target.copyWithin(start + copied, start, start + copied);\n copied *= 2;\n } else {\n target.copyWithin(start + copied, start, start + total - copied);\n copied = total;\n }\n }\n\n return target;\n}\n\n/*\n\n// Creates a new Uint8Array based on two different ArrayBuffers\n// @private\n// @param {ArrayBuffers} buffer1 The first buffer.\n// @param {ArrayBuffers} buffer2 The second buffer.\n// @return {ArrayBuffers} The new ArrayBuffer created out of the two.\n//\nexport function copyArrayBuffer(\n targetBuffer, sourceBuffer, byteOffset, byteLength = sourceBuffer.byteLength\n) {\n const targetArray = new Uint8Array(targetBuffer, byteOffset, byteLength);\n const sourceArray = new Uint8Array(sourceBuffer);\n targetArray.set(sourceArray);\n return targetBuffer;\n}\n\n*/\n"],"file":"array-utils-flat.js"}
1
+ {"version":3,"file":"array-utils-flat.js","names":["arrayBuffer","getScratchArrayBuffer","byteLength","ArrayBuffer","getScratchArray","Type","length","scratchArrayBuffer","BYTES_PER_ELEMENT","fillArray","target","source","start","count","total","copied","i","copyWithin"],"sources":["../../../src/utils/array-utils-flat.js"],"sourcesContent":["let arrayBuffer = null;\n\nexport function getScratchArrayBuffer(byteLength) {\n if (!arrayBuffer || arrayBuffer.byteLength < byteLength) {\n arrayBuffer = new ArrayBuffer(byteLength);\n }\n return arrayBuffer;\n}\n\nexport function getScratchArray(Type, length) {\n const scratchArrayBuffer = getScratchArrayBuffer(Type.BYTES_PER_ELEMENT * length);\n return new Type(scratchArrayBuffer, 0, length); // arrayBuffer, byteOffset, length (in elements)\n}\n\n// Uses copyWithin to significantly speed up typed array value filling\nexport function fillArray({target, source, start = 0, count = 1}) {\n const length = source.length;\n const total = count * length;\n let copied = 0;\n for (let i = start; copied < length; copied++) {\n target[i++] = source[copied];\n }\n\n while (copied < total) {\n // If we have copied less than half, copy everything we got\n // else copy remaining in one operation\n if (copied < total - copied) {\n target.copyWithin(start + copied, start, start + copied);\n copied *= 2;\n } else {\n target.copyWithin(start + copied, start, start + total - copied);\n copied = total;\n }\n }\n\n return target;\n}\n\n/*\n\n// Creates a new Uint8Array based on two different ArrayBuffers\n// @private\n// @param {ArrayBuffers} buffer1 The first buffer.\n// @param {ArrayBuffers} buffer2 The second buffer.\n// @return {ArrayBuffers} The new ArrayBuffer created out of the two.\n//\nexport function copyArrayBuffer(\n targetBuffer, sourceBuffer, byteOffset, byteLength = sourceBuffer.byteLength\n) {\n const targetArray = new Uint8Array(targetBuffer, byteOffset, byteLength);\n const sourceArray = new Uint8Array(sourceBuffer);\n targetArray.set(sourceArray);\n return targetBuffer;\n}\n\n*/\n"],"mappings":";;;;;;;;AAAA,IAAIA,WAAW,GAAG,IAAlB;;AAEO,SAASC,qBAAT,CAA+BC,UAA/B,EAA2C;EAChD,IAAI,CAACF,WAAD,IAAgBA,WAAW,CAACE,UAAZ,GAAyBA,UAA7C,EAAyD;IACvDF,WAAW,GAAG,IAAIG,WAAJ,CAAgBD,UAAhB,CAAd;EACD;;EACD,OAAOF,WAAP;AACD;;AAEM,SAASI,eAAT,CAAyBC,IAAzB,EAA+BC,MAA/B,EAAuC;EAC5C,IAAMC,kBAAkB,GAAGN,qBAAqB,CAACI,IAAI,CAACG,iBAAL,GAAyBF,MAA1B,CAAhD;EACA,OAAO,IAAID,IAAJ,CAASE,kBAAT,EAA6B,CAA7B,EAAgCD,MAAhC,CAAP;AACD;;AAGM,SAASG,SAAT,OAA2D;EAAA,IAAvCC,MAAuC,QAAvCA,MAAuC;EAAA,IAA/BC,MAA+B,QAA/BA,MAA+B;EAAA,sBAAvBC,KAAuB;EAAA,IAAvBA,KAAuB,2BAAf,CAAe;EAAA,sBAAZC,KAAY;EAAA,IAAZA,KAAY,2BAAJ,CAAI;EAChE,IAAMP,MAAM,GAAGK,MAAM,CAACL,MAAtB;EACA,IAAMQ,KAAK,GAAGD,KAAK,GAAGP,MAAtB;EACA,IAAIS,MAAM,GAAG,CAAb;;EACA,KAAK,IAAIC,CAAC,GAAGJ,KAAb,EAAoBG,MAAM,GAAGT,MAA7B,EAAqCS,MAAM,EAA3C,EAA+C;IAC7CL,MAAM,CAACM,CAAC,EAAF,CAAN,GAAcL,MAAM,CAACI,MAAD,CAApB;EACD;;EAED,OAAOA,MAAM,GAAGD,KAAhB,EAAuB;IAGrB,IAAIC,MAAM,GAAGD,KAAK,GAAGC,MAArB,EAA6B;MAC3BL,MAAM,CAACO,UAAP,CAAkBL,KAAK,GAAGG,MAA1B,EAAkCH,KAAlC,EAAyCA,KAAK,GAAGG,MAAjD;MACAA,MAAM,IAAI,CAAV;IACD,CAHD,MAGO;MACLL,MAAM,CAACO,UAAP,CAAkBL,KAAK,GAAGG,MAA1B,EAAkCH,KAAlC,EAAyCA,KAAK,GAAGE,KAAR,GAAgBC,MAAzD;MACAA,MAAM,GAAGD,KAAT;IACD;EACF;;EAED,OAAOJ,MAAP;AACD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/assert.js"],"names":["assert","condition","message","Error"],"mappings":";;;;;;;AAEO,SAASA,MAAT,CAAgBC,SAAhB,EAA2BC,OAA3B,EAAoC;AACzC,MAAI,CAACD,SAAL,EAAgB;AACd,UAAM,IAAIE,KAAJ,CAAUD,OAAO,IAAI,4BAArB,CAAN;AACD;AACF","sourcesContent":["// Recommendation is to ignore message but current test suite checks agains the\n// message so keep it for now.\nexport function assert(condition, message) {\n if (!condition) {\n throw new Error(message || 'luma.gl: assertion failed.');\n }\n}\n"],"file":"assert.js"}
1
+ {"version":3,"file":"assert.js","names":["assert","condition","message","Error"],"sources":["../../../src/utils/assert.js"],"sourcesContent":["// Recommendation is to ignore message but current test suite checks agains the\n// message so keep it for now.\nexport function assert(condition, message) {\n if (!condition) {\n throw new Error(message || 'luma.gl: assertion failed.');\n }\n}\n"],"mappings":";;;;;;;AAEO,SAASA,MAAT,CAAgBC,SAAhB,EAA2BC,OAA3B,EAAoC;EACzC,IAAI,CAACD,SAAL,EAAgB;IACd,MAAM,IAAIE,KAAJ,CAAUD,OAAO,IAAI,4BAArB,CAAN;EACD;AACF"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/check-props.js"],"names":["checkProps","className","props","propChecks","removedProps","deprecatedProps","replacedProps","propName","replacementProp","replacement","log","removed","deprecated","newProps","Object","assign"],"mappings":";;;;;;;AA6BA;;AAEO,SAASA,UAAT,CAAoBC,SAApB,EAA+BC,KAA/B,EAAsCC,UAAtC,EAAkD;AAAA,8BACeA,UADf,CAChDC,YADgD;AAAA,MAChDA,YADgD,sCACjC,EADiC;AAAA,8BACeD,UADf,CAC7BE,eAD6B;AAAA,MAC7BA,eAD6B,sCACX,EADW;AAAA,8BACeF,UADf,CACPG,aADO;AAAA,MACPA,aADO,sCACS,EADT;;AAKvD,OAAK,IAAMC,QAAX,IAAuBH,YAAvB,EAAqC;AACnC,QAAIG,QAAQ,IAAIL,KAAhB,EAAuB;AACrB,UAAMM,eAAe,GAAGJ,YAAY,CAACG,QAAD,CAApC;AACA,UAAME,WAAW,GAAGD,eAAe,aAAMP,SAAN,cAAmBG,YAAY,CAACG,QAAD,CAA/B,IAA8C,KAAjF;;AACAG,mBAAIC,OAAJ,WAAeV,SAAf,cAA4BM,QAA5B,GAAwCE,WAAxC;AACD;AACF;;AAID,OAAK,IAAMF,SAAX,IAAuBF,eAAvB,EAAwC;AACtC,QAAIE,SAAQ,IAAIL,KAAhB,EAAuB;AACrB,UAAMM,gBAAe,GAAGH,eAAe,CAACE,SAAD,CAAvC;;AACAG,mBAAIE,UAAJ,WAAkBX,SAAlB,cAA+BM,SAA/B,aAA8CN,SAA9C,cAA2DO,gBAA3D;AACD;AACF;;AAID,MAAIK,QAAQ,GAAG,IAAf;;AACA,OAAK,IAAMN,UAAX,IAAuBD,aAAvB,EAAsC;AACpC,QAAIC,UAAQ,IAAIL,KAAhB,EAAuB;AACrB,UAAMM,iBAAe,GAAGF,aAAa,CAACC,UAAD,CAArC;;AACAG,mBAAIE,UAAJ,WAAkBX,SAAlB,cAA+BM,UAA/B,aAA8CN,SAA9C,cAA2DO,iBAA3D;;AACAK,MAAAA,QAAQ,GAAGA,QAAQ,IAAIC,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBb,KAAlB,CAAvB;AACAW,MAAAA,QAAQ,CAACL,iBAAD,CAAR,GAA4BN,KAAK,CAACK,UAAD,CAAjC;AACA,aAAOM,QAAQ,CAACN,UAAD,CAAf;AACD;AACF;;AAED,SAAOM,QAAQ,IAAIX,KAAnB;AACD","sourcesContent":["/* Use as\nimport {checkProps} from '../util/check-props;'\n\nconst PROP_CHECKS = {\n // Removed props no longer supported, print error and link to upgrade guide\n removedProps: {\n },\n // Deprecated props\n deprecatedProps: {\n offset: 'accessor',\n stride: 'accessor',\n type: 'accessor',\n size: 'accessor',\n divisor: 'accessor',\n normalized: 'accessor',\n integer: 'accessor'\n },\n // Deprecated props that can be autosubstituted, print warning and return updated props object\n replacedProps: {\n bytes: 'byteLength'\n }\n}\n\nclass Buffer {\n setProps(props) {\n checkProps('Buffer', props, PROP_CHECKS);\n }\n}\n*/\nimport {log} from '@luma.gl/gltools';\n\nexport function checkProps(className, props, propChecks) {\n const {removedProps = {}, deprecatedProps = {}, replacedProps = {}} = propChecks;\n\n // removedProps: Removed props no longer supported\n // print error and link to upgrade guide\n for (const propName in removedProps) {\n if (propName in props) {\n const replacementProp = removedProps[propName];\n const replacement = replacementProp ? `${className}.${removedProps[propName]}` : 'N/A';\n log.removed(`${className}.${propName}`, replacement)();\n }\n }\n\n // deprecatedProps: Deprecated props that can not be autosubstituted\n // print warning and rely on caller to substitute\n for (const propName in deprecatedProps) {\n if (propName in props) {\n const replacementProp = deprecatedProps[propName];\n log.deprecated(`${className}.${propName}`, `${className}.${replacementProp}`)();\n }\n }\n\n // replacedProps: Deprecated props that can be autosubstituted\n // print warning and return updated props object\n let newProps = null;\n for (const propName in replacedProps) {\n if (propName in props) {\n const replacementProp = replacedProps[propName];\n log.deprecated(`${className}.${propName}`, `${className}.${replacementProp}`)();\n newProps = newProps || Object.assign({}, props);\n newProps[replacementProp] = props[propName];\n delete newProps[propName];\n }\n }\n\n return newProps || props;\n}\n"],"file":"check-props.js"}
1
+ {"version":3,"file":"check-props.js","names":["checkProps","className","props","propChecks","removedProps","deprecatedProps","replacedProps","propName","replacementProp","replacement","log","removed","deprecated","newProps","Object","assign"],"sources":["../../../src/utils/check-props.js"],"sourcesContent":["/* Use as\nimport {checkProps} from '../util/check-props;'\n\nconst PROP_CHECKS = {\n // Removed props no longer supported, print error and link to upgrade guide\n removedProps: {\n },\n // Deprecated props\n deprecatedProps: {\n offset: 'accessor',\n stride: 'accessor',\n type: 'accessor',\n size: 'accessor',\n divisor: 'accessor',\n normalized: 'accessor',\n integer: 'accessor'\n },\n // Deprecated props that can be autosubstituted, print warning and return updated props object\n replacedProps: {\n bytes: 'byteLength'\n }\n}\n\nclass Buffer {\n setProps(props) {\n checkProps('Buffer', props, PROP_CHECKS);\n }\n}\n*/\nimport {log} from '@luma.gl/gltools';\n\nexport function checkProps(className, props, propChecks) {\n const {removedProps = {}, deprecatedProps = {}, replacedProps = {}} = propChecks;\n\n // removedProps: Removed props no longer supported\n // print error and link to upgrade guide\n for (const propName in removedProps) {\n if (propName in props) {\n const replacementProp = removedProps[propName];\n const replacement = replacementProp ? `${className}.${removedProps[propName]}` : 'N/A';\n log.removed(`${className}.${propName}`, replacement)();\n }\n }\n\n // deprecatedProps: Deprecated props that can not be autosubstituted\n // print warning and rely on caller to substitute\n for (const propName in deprecatedProps) {\n if (propName in props) {\n const replacementProp = deprecatedProps[propName];\n log.deprecated(`${className}.${propName}`, `${className}.${replacementProp}`)();\n }\n }\n\n // replacedProps: Deprecated props that can be autosubstituted\n // print warning and return updated props object\n let newProps = null;\n for (const propName in replacedProps) {\n if (propName in props) {\n const replacementProp = replacedProps[propName];\n log.deprecated(`${className}.${propName}`, `${className}.${replacementProp}`)();\n newProps = newProps || Object.assign({}, props);\n newProps[replacementProp] = props[propName];\n delete newProps[propName];\n }\n }\n\n return newProps || props;\n}\n"],"mappings":";;;;;;;AA6BA;;AAEO,SAASA,UAAT,CAAoBC,SAApB,EAA+BC,KAA/B,EAAsCC,UAAtC,EAAkD;EACvD,4BAAsEA,UAAtE,CAAOC,YAAP;EAAA,IAAOA,YAAP,sCAAsB,EAAtB;EAAA,4BAAsED,UAAtE,CAA0BE,eAA1B;EAAA,IAA0BA,eAA1B,sCAA4C,EAA5C;EAAA,4BAAsEF,UAAtE,CAAgDG,aAAhD;EAAA,IAAgDA,aAAhD,sCAAgE,EAAhE;;EAIA,KAAK,IAAMC,QAAX,IAAuBH,YAAvB,EAAqC;IACnC,IAAIG,QAAQ,IAAIL,KAAhB,EAAuB;MACrB,IAAMM,eAAe,GAAGJ,YAAY,CAACG,QAAD,CAApC;MACA,IAAME,WAAW,GAAGD,eAAe,aAAMP,SAAN,cAAmBG,YAAY,CAACG,QAAD,CAA/B,IAA8C,KAAjF;;MACAG,YAAA,CAAIC,OAAJ,WAAeV,SAAf,cAA4BM,QAA5B,GAAwCE,WAAxC;IACD;EACF;;EAID,KAAK,IAAMF,SAAX,IAAuBF,eAAvB,EAAwC;IACtC,IAAIE,SAAQ,IAAIL,KAAhB,EAAuB;MACrB,IAAMM,gBAAe,GAAGH,eAAe,CAACE,SAAD,CAAvC;;MACAG,YAAA,CAAIE,UAAJ,WAAkBX,SAAlB,cAA+BM,SAA/B,aAA8CN,SAA9C,cAA2DO,gBAA3D;IACD;EACF;;EAID,IAAIK,QAAQ,GAAG,IAAf;;EACA,KAAK,IAAMN,UAAX,IAAuBD,aAAvB,EAAsC;IACpC,IAAIC,UAAQ,IAAIL,KAAhB,EAAuB;MACrB,IAAMM,iBAAe,GAAGF,aAAa,CAACC,UAAD,CAArC;;MACAG,YAAA,CAAIE,UAAJ,WAAkBX,SAAlB,cAA+BM,UAA/B,aAA8CN,SAA9C,cAA2DO,iBAA3D;;MACAK,QAAQ,GAAGA,QAAQ,IAAIC,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBb,KAAlB,CAAvB;MACAW,QAAQ,CAACL,iBAAD,CAAR,GAA4BN,KAAK,CAACK,UAAD,CAAjC;MACA,OAAOM,QAAQ,CAACN,UAAD,CAAf;IACD;EACF;;EAED,OAAOM,QAAQ,IAAIX,KAAnB;AACD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/format-value.js"],"names":["formatArrayValue","v","opts","maxElts","size","string","i","length","formatValue","terminator","EPSILON","isInteger","Array","isArray","ArrayBuffer","isView","Number","isFinite","String","Math","abs","toFixed","toPrecision","decimal","indexOf","slice"],"mappings":";;;;;;;AAEA,SAASA,gBAAT,CAA0BC,CAA1B,EAA6BC,IAA7B,EAAmC;AAAA,sBACAA,IADA,CAC1BC,OAD0B;AAAA,MAC1BA,OAD0B,8BAChB,EADgB;AAAA,mBACAD,IADA,CACZE,IADY;AAAA,MACZA,IADY,2BACL,CADK;AAEjC,MAAIC,MAAM,GAAG,GAAb;;AACA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGL,CAAC,CAACM,MAAN,IAAgBD,CAAC,GAAGH,OAApC,EAA6C,EAAEG,CAA/C,EAAkD;AAChD,QAAIA,CAAC,GAAG,CAAR,EAAW;AACTD,MAAAA,MAAM,eAAQC,CAAC,GAAGF,IAAJ,KAAa,CAAb,GAAiB,GAAjB,GAAuB,EAA/B,CAAN;AACD;;AACDC,IAAAA,MAAM,IAAIG,WAAW,CAACP,CAAC,CAACK,CAAD,CAAF,EAAOJ,IAAP,CAArB;AACD;;AACD,MAAMO,UAAU,GAAGR,CAAC,CAACM,MAAF,GAAWJ,OAAX,GAAqB,KAArB,GAA6B,GAAhD;AACA,mBAAUE,MAAV,SAAmBI,UAAnB;AACD;;AAEM,SAASD,WAAT,CAAqBP,CAArB,EAAmC;AAAA,MAAXC,IAAW,uEAAJ,EAAI;AACxC,MAAMQ,OAAO,GAAG,KAAhB;AADwC,wBAEZR,IAFY,CAEjCS,SAFiC;AAAA,MAEjCA,SAFiC,gCAErB,KAFqB;;AAGxC,MAAIC,KAAK,CAACC,OAAN,CAAcZ,CAAd,KAAoBa,WAAW,CAACC,MAAZ,CAAmBd,CAAnB,CAAxB,EAA+C;AAC7C,WAAOD,gBAAgB,CAACC,CAAD,EAAIC,IAAJ,CAAvB;AACD;;AACD,MAAI,CAACc,MAAM,CAACC,QAAP,CAAgBhB,CAAhB,CAAL,EAAyB;AACvB,WAAOiB,MAAM,CAACjB,CAAD,CAAb;AACD;;AACD,MAAIkB,IAAI,CAACC,GAAL,CAASnB,CAAT,IAAcS,OAAlB,EAA2B;AACzB,WAAOC,SAAS,GAAG,GAAH,GAAS,IAAzB;AACD;;AACD,MAAIA,SAAJ,EAAe;AACb,WAAOV,CAAC,CAACoB,OAAF,CAAU,CAAV,CAAP;AACD;;AACD,MAAIF,IAAI,CAACC,GAAL,CAASnB,CAAT,IAAc,GAAd,IAAqBkB,IAAI,CAACC,GAAL,CAASnB,CAAT,IAAc,KAAvC,EAA8C;AAC5C,WAAOA,CAAC,CAACoB,OAAF,CAAU,CAAV,CAAP;AACD;;AACD,MAAMhB,MAAM,GAAGJ,CAAC,CAACqB,WAAF,CAAc,CAAd,CAAf;AACA,MAAMC,OAAO,GAAGlB,MAAM,CAACmB,OAAP,CAAe,IAAf,CAAhB;AACA,SAAOD,OAAO,KAAKlB,MAAM,CAACE,MAAP,GAAgB,CAA5B,GAAgCF,MAAM,CAACoB,KAAP,CAAa,CAAb,EAAgB,CAAC,CAAjB,CAAhC,GAAsDpB,MAA7D;AACD","sourcesContent":["// TODO / DEPRECATED - delete when confident that probe.gl logging implements all opts\n/* eslint-disable no-console */\nfunction formatArrayValue(v, opts) {\n const {maxElts = 16, size = 1} = opts;\n let string = '[';\n for (let i = 0; i < v.length && i < maxElts; ++i) {\n if (i > 0) {\n string += `,${i % size === 0 ? ' ' : ''}`;\n }\n string += formatValue(v[i], opts);\n }\n const terminator = v.length > maxElts ? '...' : ']';\n return `${string}${terminator}`;\n}\n\nexport function formatValue(v, opts = {}) {\n const EPSILON = 1e-16;\n const {isInteger = false} = opts;\n if (Array.isArray(v) || ArrayBuffer.isView(v)) {\n return formatArrayValue(v, opts);\n }\n if (!Number.isFinite(v)) {\n return String(v);\n }\n if (Math.abs(v) < EPSILON) {\n return isInteger ? '0' : '0.';\n }\n if (isInteger) {\n return v.toFixed(0);\n }\n if (Math.abs(v) > 100 && Math.abs(v) < 10000) {\n return v.toFixed(0);\n }\n const string = v.toPrecision(2);\n const decimal = string.indexOf('.0');\n return decimal === string.length - 2 ? string.slice(0, -1) : string;\n}\n"],"file":"format-value.js"}
1
+ {"version":3,"file":"format-value.js","names":["formatArrayValue","v","opts","maxElts","size","string","i","length","formatValue","terminator","EPSILON","isInteger","Array","isArray","ArrayBuffer","isView","Number","isFinite","String","Math","abs","toFixed","toPrecision","decimal","indexOf","slice"],"sources":["../../../src/utils/format-value.js"],"sourcesContent":["// TODO / DEPRECATED - delete when confident that probe.gl logging implements all opts\n/* eslint-disable no-console */\nfunction formatArrayValue(v, opts) {\n const {maxElts = 16, size = 1} = opts;\n let string = '[';\n for (let i = 0; i < v.length && i < maxElts; ++i) {\n if (i > 0) {\n string += `,${i % size === 0 ? ' ' : ''}`;\n }\n string += formatValue(v[i], opts);\n }\n const terminator = v.length > maxElts ? '...' : ']';\n return `${string}${terminator}`;\n}\n\nexport function formatValue(v, opts = {}) {\n const EPSILON = 1e-16;\n const {isInteger = false} = opts;\n if (Array.isArray(v) || ArrayBuffer.isView(v)) {\n return formatArrayValue(v, opts);\n }\n if (!Number.isFinite(v)) {\n return String(v);\n }\n if (Math.abs(v) < EPSILON) {\n return isInteger ? '0' : '0.';\n }\n if (isInteger) {\n return v.toFixed(0);\n }\n if (Math.abs(v) > 100 && Math.abs(v) < 10000) {\n return v.toFixed(0);\n }\n const string = v.toPrecision(2);\n const decimal = string.indexOf('.0');\n return decimal === string.length - 2 ? string.slice(0, -1) : string;\n}\n"],"mappings":";;;;;;;AAEA,SAASA,gBAAT,CAA0BC,CAA1B,EAA6BC,IAA7B,EAAmC;EACjC,oBAAiCA,IAAjC,CAAOC,OAAP;EAAA,IAAOA,OAAP,8BAAiB,EAAjB;EAAA,iBAAiCD,IAAjC,CAAqBE,IAArB;EAAA,IAAqBA,IAArB,2BAA4B,CAA5B;EACA,IAAIC,MAAM,GAAG,GAAb;;EACA,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGL,CAAC,CAACM,MAAN,IAAgBD,CAAC,GAAGH,OAApC,EAA6C,EAAEG,CAA/C,EAAkD;IAChD,IAAIA,CAAC,GAAG,CAAR,EAAW;MACTD,MAAM,eAAQC,CAAC,GAAGF,IAAJ,KAAa,CAAb,GAAiB,GAAjB,GAAuB,EAA/B,CAAN;IACD;;IACDC,MAAM,IAAIG,WAAW,CAACP,CAAC,CAACK,CAAD,CAAF,EAAOJ,IAAP,CAArB;EACD;;EACD,IAAMO,UAAU,GAAGR,CAAC,CAACM,MAAF,GAAWJ,OAAX,GAAqB,KAArB,GAA6B,GAAhD;EACA,iBAAUE,MAAV,SAAmBI,UAAnB;AACD;;AAEM,SAASD,WAAT,CAAqBP,CAArB,EAAmC;EAAA,IAAXC,IAAW,uEAAJ,EAAI;EACxC,IAAMQ,OAAO,GAAG,KAAhB;EACA,sBAA4BR,IAA5B,CAAOS,SAAP;EAAA,IAAOA,SAAP,gCAAmB,KAAnB;;EACA,IAAIC,KAAK,CAACC,OAAN,CAAcZ,CAAd,KAAoBa,WAAW,CAACC,MAAZ,CAAmBd,CAAnB,CAAxB,EAA+C;IAC7C,OAAOD,gBAAgB,CAACC,CAAD,EAAIC,IAAJ,CAAvB;EACD;;EACD,IAAI,CAACc,MAAM,CAACC,QAAP,CAAgBhB,CAAhB,CAAL,EAAyB;IACvB,OAAOiB,MAAM,CAACjB,CAAD,CAAb;EACD;;EACD,IAAIkB,IAAI,CAACC,GAAL,CAASnB,CAAT,IAAcS,OAAlB,EAA2B;IACzB,OAAOC,SAAS,GAAG,GAAH,GAAS,IAAzB;EACD;;EACD,IAAIA,SAAJ,EAAe;IACb,OAAOV,CAAC,CAACoB,OAAF,CAAU,CAAV,CAAP;EACD;;EACD,IAAIF,IAAI,CAACC,GAAL,CAASnB,CAAT,IAAc,GAAd,IAAqBkB,IAAI,CAACC,GAAL,CAASnB,CAAT,IAAc,KAAvC,EAA8C;IAC5C,OAAOA,CAAC,CAACoB,OAAF,CAAU,CAAV,CAAP;EACD;;EACD,IAAMhB,MAAM,GAAGJ,CAAC,CAACqB,WAAF,CAAc,CAAd,CAAf;EACA,IAAMC,OAAO,GAAGlB,MAAM,CAACmB,OAAP,CAAe,IAAf,CAAhB;EACA,OAAOD,OAAO,KAAKlB,MAAM,CAACE,MAAP,GAAgB,CAA5B,GAAgCF,MAAM,CAACoB,KAAP,CAAa,CAAb,EAAgB,CAAC,CAAjB,CAAhC,GAAsDpB,MAA7D;AACD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/is-old-ie.js"],"names":["isOldIE","opts","userAgent"],"mappings":";;;;;;;AAAA;;AAGO,SAASA,OAAT,GAA4B;AAAA,MAAXC,IAAW,uEAAJ,EAAI;AACjC,SAAO,qBAAWA,IAAI,CAACC,SAAhB,MAA+B,IAAtC;AACD","sourcesContent":["import {getBrowser} from '@probe.gl/env';\n\n// opts allows user agent to be overridden for testing\nexport function isOldIE(opts = {}) {\n return getBrowser(opts.userAgent) === 'IE';\n}\n"],"file":"is-old-ie.js"}
1
+ {"version":3,"file":"is-old-ie.js","names":["isOldIE","opts","getBrowser","userAgent"],"sources":["../../../src/utils/is-old-ie.js"],"sourcesContent":["import {getBrowser} from '@probe.gl/env';\n\n// opts allows user agent to be overridden for testing\nexport function isOldIE(opts = {}) {\n return getBrowser(opts.userAgent) === 'IE';\n}\n"],"mappings":";;;;;;;AAAA;;AAGO,SAASA,OAAT,GAA4B;EAAA,IAAXC,IAAW,uEAAJ,EAAI;EACjC,OAAO,IAAAC,eAAA,EAAWD,IAAI,CAACE,SAAhB,MAA+B,IAAtC;AACD"}
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.setPathPrefix = setPathPrefix;
7
6
  exports.loadFile = loadFile;
8
7
  exports.loadImage = loadImage;
8
+ exports.setPathPrefix = setPathPrefix;
9
9
 
10
10
  var _assert = require("../utils/assert");
11
11
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/load-file.js"],"names":["pathPrefix","setPathPrefix","prefix","loadFile","url","options","dataType","fetch","then","res","loadImage","opts","Promise","resolve","reject","image","Image","onload","onerror","Error","crossOrigin","src","error"],"mappings":";;;;;;;;;AAAA;;AAEA,IAAIA,UAAU,GAAG,EAAjB;;AAKO,SAASC,aAAT,CAAuBC,MAAvB,EAA+B;AACpCF,EAAAA,UAAU,GAAGE,MAAb;AACD;;AAGM,SAASC,QAAT,CAAkBC,GAAlB,EAAqC;AAAA,MAAdC,OAAc,uEAAJ,EAAI;AAC1C,sBAAO,OAAOD,GAAP,KAAe,QAAtB;AACAA,EAAAA,GAAG,GAAGJ,UAAU,GAAGI,GAAnB;AACA,MAAME,QAAQ,GAAGD,OAAO,CAACC,QAAR,IAAoB,MAArC;AACA,SAAOC,KAAK,CAACH,GAAD,EAAMC,OAAN,CAAL,CAAoBG,IAApB,CAAyB,UAAAC,GAAG;AAAA,WAAIA,GAAG,CAACH,QAAD,CAAH,EAAJ;AAAA,GAA5B,CAAP;AACD;;AAOM,SAASI,SAAT,CAAmBN,GAAnB,EAAwBO,IAAxB,EAA8B;AACnC,sBAAO,OAAOP,GAAP,KAAe,QAAtB;AACAA,EAAAA,GAAG,GAAGJ,UAAU,GAAGI,GAAnB;AACA,SAAO,IAAIQ,OAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;AACtC,QAAI;AACF,UAAMC,KAAK,GAAG,IAAIC,KAAJ,EAAd;;AACAD,MAAAA,KAAK,CAACE,MAAN,GAAe;AAAA,eAAMJ,OAAO,CAACE,KAAD,CAAb;AAAA,OAAf;;AACAA,MAAAA,KAAK,CAACG,OAAN,GAAgB;AAAA,eAAMJ,MAAM,CAAC,IAAIK,KAAJ,gCAAkCf,GAAlC,OAAD,CAAZ;AAAA,OAAhB;;AACAW,MAAAA,KAAK,CAACK,WAAN,GAAqBT,IAAI,IAAIA,IAAI,CAACS,WAAd,IAA8B,WAAlD;AACAL,MAAAA,KAAK,CAACM,GAAN,GAAYjB,GAAZ;AACD,KAND,CAME,OAAOkB,KAAP,EAAc;AACdR,MAAAA,MAAM,CAACQ,KAAD,CAAN;AACD;AACF,GAVM,CAAP;AAWD","sourcesContent":["import {assert} from '../utils/assert';\n\nlet pathPrefix = '';\n\n/*\n * Set a relative path prefix\n */\nexport function setPathPrefix(prefix) {\n pathPrefix = prefix;\n}\n\n// Reads raw file data from:\nexport function loadFile(url, options = {}) {\n assert(typeof url === 'string');\n url = pathPrefix + url;\n const dataType = options.dataType || 'text';\n return fetch(url, options).then(res => res[dataType]());\n}\n\n/*\n * Loads images asynchronously\n * image.crossOrigin can be set via opts.crossOrigin, default to 'anonymous'\n * returns a promise tracking the load\n */\nexport function loadImage(url, opts) {\n assert(typeof url === 'string');\n url = pathPrefix + url;\n return new Promise((resolve, reject) => {\n try {\n const image = new Image();\n image.onload = () => resolve(image);\n image.onerror = () => reject(new Error(`Could not load image ${url}.`));\n image.crossOrigin = (opts && opts.crossOrigin) || 'anonymous';\n image.src = url;\n } catch (error) {\n reject(error);\n }\n });\n}\n"],"file":"load-file.js"}
1
+ {"version":3,"file":"load-file.js","names":["pathPrefix","setPathPrefix","prefix","loadFile","url","options","assert","dataType","fetch","then","res","loadImage","opts","Promise","resolve","reject","image","Image","onload","onerror","Error","crossOrigin","src","error"],"sources":["../../../src/utils/load-file.js"],"sourcesContent":["import {assert} from '../utils/assert';\n\nlet pathPrefix = '';\n\n/*\n * Set a relative path prefix\n */\nexport function setPathPrefix(prefix) {\n pathPrefix = prefix;\n}\n\n// Reads raw file data from:\nexport function loadFile(url, options = {}) {\n assert(typeof url === 'string');\n url = pathPrefix + url;\n const dataType = options.dataType || 'text';\n return fetch(url, options).then(res => res[dataType]());\n}\n\n/*\n * Loads images asynchronously\n * image.crossOrigin can be set via opts.crossOrigin, default to 'anonymous'\n * returns a promise tracking the load\n */\nexport function loadImage(url, opts) {\n assert(typeof url === 'string');\n url = pathPrefix + url;\n return new Promise((resolve, reject) => {\n try {\n const image = new Image();\n image.onload = () => resolve(image);\n image.onerror = () => reject(new Error(`Could not load image ${url}.`));\n image.crossOrigin = (opts && opts.crossOrigin) || 'anonymous';\n image.src = url;\n } catch (error) {\n reject(error);\n }\n });\n}\n"],"mappings":";;;;;;;;;AAAA;;AAEA,IAAIA,UAAU,GAAG,EAAjB;;AAKO,SAASC,aAAT,CAAuBC,MAAvB,EAA+B;EACpCF,UAAU,GAAGE,MAAb;AACD;;AAGM,SAASC,QAAT,CAAkBC,GAAlB,EAAqC;EAAA,IAAdC,OAAc,uEAAJ,EAAI;EAC1C,IAAAC,cAAA,EAAO,OAAOF,GAAP,KAAe,QAAtB;EACAA,GAAG,GAAGJ,UAAU,GAAGI,GAAnB;EACA,IAAMG,QAAQ,GAAGF,OAAO,CAACE,QAAR,IAAoB,MAArC;EACA,OAAOC,KAAK,CAACJ,GAAD,EAAMC,OAAN,CAAL,CAAoBI,IAApB,CAAyB,UAAAC,GAAG;IAAA,OAAIA,GAAG,CAACH,QAAD,CAAH,EAAJ;EAAA,CAA5B,CAAP;AACD;;AAOM,SAASI,SAAT,CAAmBP,GAAnB,EAAwBQ,IAAxB,EAA8B;EACnC,IAAAN,cAAA,EAAO,OAAOF,GAAP,KAAe,QAAtB;EACAA,GAAG,GAAGJ,UAAU,GAAGI,GAAnB;EACA,OAAO,IAAIS,OAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;IACtC,IAAI;MACF,IAAMC,KAAK,GAAG,IAAIC,KAAJ,EAAd;;MACAD,KAAK,CAACE,MAAN,GAAe;QAAA,OAAMJ,OAAO,CAACE,KAAD,CAAb;MAAA,CAAf;;MACAA,KAAK,CAACG,OAAN,GAAgB;QAAA,OAAMJ,MAAM,CAAC,IAAIK,KAAJ,gCAAkChB,GAAlC,OAAD,CAAZ;MAAA,CAAhB;;MACAY,KAAK,CAACK,WAAN,GAAqBT,IAAI,IAAIA,IAAI,CAACS,WAAd,IAA8B,WAAlD;MACAL,KAAK,CAACM,GAAN,GAAYlB,GAAZ;IACD,CAND,CAME,OAAOmB,KAAP,EAAc;MACdR,MAAM,CAACQ,KAAD,CAAN;IACD;EACF,CAVM,CAAP;AAWD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/stub-methods.js"],"names":["stubRemovedMethods","instance","className","version","methodNames","upgradeMessage","prototype","Object","getPrototypeOf","forEach","methodName","log","removed","Error"],"mappings":";;;;;;;AAAA;;AAGO,SAASA,kBAAT,CAA4BC,QAA5B,EAAsCC,SAAtC,EAAiDC,OAAjD,EAA0DC,WAA1D,EAAuE;AAC5E,MAAMC,cAAc,yBAAkBF,OAAlB,yDAApB;AAGA,MAAMG,SAAS,GAAGC,MAAM,CAACC,cAAP,CAAsBP,QAAtB,CAAlB;AAEAG,EAAAA,WAAW,CAACK,OAAZ,CAAoB,UAAAC,UAAU,EAAI;AAChC,QAAIJ,SAAS,CAACI,UAAd,EAA0B;AACxB;AACD;;AAEDJ,IAAAA,SAAS,CAACI,UAAD,CAAT,GAAwB,YAAM;AAC5BC,mBAAIC,OAAJ,kCAAsCV,SAAtC,cAAmDQ,UAAnD,SAAmEL,cAAnE;;AACA,YAAM,IAAIQ,KAAJ,CAAUH,UAAV,CAAN;AACD,KAHD;AAID,GATD;AAUD","sourcesContent":["import {log} from '@luma.gl/gltools';\n\n// Install stubs for removed methods\nexport function stubRemovedMethods(instance, className, version, methodNames) {\n const upgradeMessage = `See luma.gl ${version} Upgrade Guide at \\\nhttps://luma.gl/docs/upgrade-guide`;\n\n const prototype = Object.getPrototypeOf(instance);\n\n methodNames.forEach(methodName => {\n if (prototype.methodName) {\n return;\n }\n\n prototype[methodName] = () => {\n log.removed(`Calling removed method ${className}.${methodName}: `, upgradeMessage)();\n throw new Error(methodName);\n };\n });\n}\n"],"file":"stub-methods.js"}
1
+ {"version":3,"file":"stub-methods.js","names":["stubRemovedMethods","instance","className","version","methodNames","upgradeMessage","prototype","Object","getPrototypeOf","forEach","methodName","log","removed","Error"],"sources":["../../../src/utils/stub-methods.js"],"sourcesContent":["import {log} from '@luma.gl/gltools';\n\n// Install stubs for removed methods\nexport function stubRemovedMethods(instance, className, version, methodNames) {\n const upgradeMessage = `See luma.gl ${version} Upgrade Guide at \\\nhttps://luma.gl/docs/upgrade-guide`;\n\n const prototype = Object.getPrototypeOf(instance);\n\n methodNames.forEach(methodName => {\n if (prototype.methodName) {\n return;\n }\n\n prototype[methodName] = () => {\n log.removed(`Calling removed method ${className}.${methodName}: `, upgradeMessage)();\n throw new Error(methodName);\n };\n });\n}\n"],"mappings":";;;;;;;AAAA;;AAGO,SAASA,kBAAT,CAA4BC,QAA5B,EAAsCC,SAAtC,EAAiDC,OAAjD,EAA0DC,WAA1D,EAAuE;EAC5E,IAAMC,cAAc,yBAAkBF,OAAlB,yDAApB;EAGA,IAAMG,SAAS,GAAGC,MAAM,CAACC,cAAP,CAAsBP,QAAtB,CAAlB;EAEAG,WAAW,CAACK,OAAZ,CAAoB,UAAAC,UAAU,EAAI;IAChC,IAAIJ,SAAS,CAACI,UAAd,EAA0B;MACxB;IACD;;IAEDJ,SAAS,CAACI,UAAD,CAAT,GAAwB,YAAM;MAC5BC,YAAA,CAAIC,OAAJ,kCAAsCV,SAAtC,cAAmDQ,UAAnD,SAAmEL,cAAnE;;MACA,MAAM,IAAIQ,KAAJ,CAAUH,UAAV,CAAN;IACD,CAHD;EAID,CATD;AAUD"}
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.uid = uid;
7
- exports.isPowerOfTwo = isPowerOfTwo;
8
6
  exports.isObjectEmpty = isObjectEmpty;
7
+ exports.isPowerOfTwo = isPowerOfTwo;
8
+ exports.uid = uid;
9
9
 
10
10
  var _assert = require("./assert");
11
11
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/utils.js"],"names":["uidCounters","uid","id","count","isPowerOfTwo","n","isObjectEmpty","obj","isEmpty","key"],"mappings":";;;;;;;;;AAAA;;AAEA,IAAMA,WAAW,GAAG,EAApB;;AAOO,SAASC,GAAT,GAAwB;AAAA,MAAXC,EAAW,uEAAN,IAAM;AAC7BF,EAAAA,WAAW,CAACE,EAAD,CAAX,GAAkBF,WAAW,CAACE,EAAD,CAAX,IAAmB,CAArC;AACA,MAAMC,KAAK,GAAGH,WAAW,CAACE,EAAD,CAAX,EAAd;AACA,mBAAUA,EAAV,cAAgBC,KAAhB;AACD;;AAOM,SAASC,YAAT,CAAsBC,CAAtB,EAAyB;AAC9B,sBAAO,OAAOA,CAAP,KAAa,QAApB,EAA8B,wBAA9B;AACA,SAAOA,CAAC,IAAI,CAACA,CAAC,GAAIA,CAAC,GAAG,CAAV,MAAkB,CAA9B;AACD;;AAGM,SAASC,aAAT,CAAuBC,GAAvB,EAA4B;AACjC,MAAIC,OAAO,GAAG,IAAd;;AAEA,OAAK,IAAMC,GAAX,IAAkBF,GAAlB,EAAuB;AACrBC,IAAAA,OAAO,GAAG,KAAV;AACA;AACD;;AAED,SAAOA,OAAP;AACD","sourcesContent":["import {assert} from './assert';\n\nconst uidCounters = {};\n\n/**\n * Returns a UID.\n * @param {string} id= - Identifier base name\n * @return {string} uid\n **/\nexport function uid(id = 'id') {\n uidCounters[id] = uidCounters[id] || 1;\n const count = uidCounters[id]++;\n return `${id}-${count}`;\n}\n\n/**\n * Verifies if a given number is power of two or not.\n * @param {object} n - The number to check.\n * @return {boolean} Returns true if the given number is power of 2, false otherwise.\n **/\nexport function isPowerOfTwo(n) {\n assert(typeof n === 'number', 'Input must be a number');\n return n && (n & (n - 1)) === 0;\n}\n\n// Returns true if given object is empty, false otherwise.\nexport function isObjectEmpty(obj) {\n let isEmpty = true;\n /* eslint-disable no-unused-vars */\n for (const key in obj) {\n isEmpty = false;\n break;\n }\n /* eslint-enable no-unused-vars */\n return isEmpty;\n}\n"],"file":"utils.js"}
1
+ {"version":3,"file":"utils.js","names":["uidCounters","uid","id","count","isPowerOfTwo","n","assert","isObjectEmpty","obj","isEmpty","key"],"sources":["../../../src/utils/utils.js"],"sourcesContent":["import {assert} from './assert';\n\nconst uidCounters = {};\n\n/**\n * Returns a UID.\n * @param {string} id= - Identifier base name\n * @return {string} uid\n **/\nexport function uid(id = 'id') {\n uidCounters[id] = uidCounters[id] || 1;\n const count = uidCounters[id]++;\n return `${id}-${count}`;\n}\n\n/**\n * Verifies if a given number is power of two or not.\n * @param {object} n - The number to check.\n * @return {boolean} Returns true if the given number is power of 2, false otherwise.\n **/\nexport function isPowerOfTwo(n) {\n assert(typeof n === 'number', 'Input must be a number');\n return n && (n & (n - 1)) === 0;\n}\n\n// Returns true if given object is empty, false otherwise.\nexport function isObjectEmpty(obj) {\n let isEmpty = true;\n /* eslint-disable no-unused-vars */\n for (const key in obj) {\n isEmpty = false;\n break;\n }\n /* eslint-enable no-unused-vars */\n return isEmpty;\n}\n"],"mappings":";;;;;;;;;AAAA;;AAEA,IAAMA,WAAW,GAAG,EAApB;;AAOO,SAASC,GAAT,GAAwB;EAAA,IAAXC,EAAW,uEAAN,IAAM;EAC7BF,WAAW,CAACE,EAAD,CAAX,GAAkBF,WAAW,CAACE,EAAD,CAAX,IAAmB,CAArC;EACA,IAAMC,KAAK,GAAGH,WAAW,CAACE,EAAD,CAAX,EAAd;EACA,iBAAUA,EAAV,cAAgBC,KAAhB;AACD;;AAOM,SAASC,YAAT,CAAsBC,CAAtB,EAAyB;EAC9B,IAAAC,cAAA,EAAO,OAAOD,CAAP,KAAa,QAApB,EAA8B,wBAA9B;EACA,OAAOA,CAAC,IAAI,CAACA,CAAC,GAAIA,CAAC,GAAG,CAAV,MAAkB,CAA9B;AACD;;AAGM,SAASE,aAAT,CAAuBC,GAAvB,EAA4B;EACjC,IAAIC,OAAO,GAAG,IAAd;;EAEA,KAAK,IAAMC,GAAX,IAAkBF,GAAlB,EAAuB;IACrBC,OAAO,GAAG,KAAV;IACA;EACD;;EAED,OAAOA,OAAP;AACD"}