@mapwhit/tilerenderer 1.0.0 → 1.1.0

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 (236) hide show
  1. package/build/min/package.json +2 -1
  2. package/build/min/src/shaders/_prelude.fragment.glsl.js +1 -1
  3. package/build/min/src/shaders/_prelude.vertex.glsl.js +1 -1
  4. package/build/min/src/shaders/background.fragment.glsl.js +1 -1
  5. package/build/min/src/shaders/background.vertex.glsl.js +1 -1
  6. package/build/min/src/shaders/background_pattern.fragment.glsl.js +1 -1
  7. package/build/min/src/shaders/background_pattern.vertex.glsl.js +1 -1
  8. package/build/min/src/shaders/circle.fragment.glsl.js +1 -1
  9. package/build/min/src/shaders/circle.vertex.glsl.js +1 -1
  10. package/build/min/src/shaders/clipping_mask.fragment.glsl.js +1 -1
  11. package/build/min/src/shaders/clipping_mask.vertex.glsl.js +1 -1
  12. package/build/min/src/shaders/collision_box.fragment.glsl.js +1 -1
  13. package/build/min/src/shaders/collision_box.vertex.glsl.js +1 -1
  14. package/build/min/src/shaders/collision_circle.fragment.glsl.js +1 -1
  15. package/build/min/src/shaders/collision_circle.vertex.glsl.js +1 -1
  16. package/build/min/src/shaders/debug.fragment.glsl.js +1 -1
  17. package/build/min/src/shaders/debug.vertex.glsl.js +1 -1
  18. package/build/min/src/shaders/fill.fragment.glsl.js +1 -1
  19. package/build/min/src/shaders/fill.vertex.glsl.js +1 -1
  20. package/build/min/src/shaders/fill_extrusion.fragment.glsl.js +1 -1
  21. package/build/min/src/shaders/fill_extrusion.vertex.glsl.js +1 -1
  22. package/build/min/src/shaders/fill_extrusion_pattern.fragment.glsl.js +1 -1
  23. package/build/min/src/shaders/fill_extrusion_pattern.vertex.glsl.js +1 -1
  24. package/build/min/src/shaders/fill_outline.fragment.glsl.js +1 -1
  25. package/build/min/src/shaders/fill_outline.vertex.glsl.js +1 -1
  26. package/build/min/src/shaders/fill_outline_pattern.fragment.glsl.js +1 -1
  27. package/build/min/src/shaders/fill_outline_pattern.vertex.glsl.js +1 -1
  28. package/build/min/src/shaders/fill_pattern.fragment.glsl.js +1 -1
  29. package/build/min/src/shaders/fill_pattern.vertex.glsl.js +1 -1
  30. package/build/min/src/shaders/heatmap.fragment.glsl.js +1 -1
  31. package/build/min/src/shaders/heatmap.vertex.glsl.js +1 -1
  32. package/build/min/src/shaders/heatmap_texture.fragment.glsl.js +1 -1
  33. package/build/min/src/shaders/heatmap_texture.vertex.glsl.js +1 -1
  34. package/build/min/src/shaders/hillshade.fragment.glsl.js +1 -1
  35. package/build/min/src/shaders/hillshade.vertex.glsl.js +1 -1
  36. package/build/min/src/shaders/hillshade_prepare.fragment.glsl.js +1 -1
  37. package/build/min/src/shaders/hillshade_prepare.vertex.glsl.js +1 -1
  38. package/build/min/src/shaders/line.fragment.glsl.js +1 -1
  39. package/build/min/src/shaders/line.vertex.glsl.js +1 -1
  40. package/build/min/src/shaders/line_gradient.fragment.glsl.js +1 -1
  41. package/build/min/src/shaders/line_gradient.vertex.glsl.js +1 -1
  42. package/build/min/src/shaders/line_pattern.fragment.glsl.js +1 -1
  43. package/build/min/src/shaders/line_pattern.vertex.glsl.js +1 -1
  44. package/build/min/src/shaders/line_sdf.fragment.glsl.js +1 -1
  45. package/build/min/src/shaders/line_sdf.vertex.glsl.js +1 -1
  46. package/build/min/src/shaders/raster.fragment.glsl.js +1 -1
  47. package/build/min/src/shaders/raster.vertex.glsl.js +1 -1
  48. package/build/min/src/shaders/symbol_icon.fragment.glsl.js +1 -1
  49. package/build/min/src/shaders/symbol_icon.vertex.glsl.js +1 -1
  50. package/build/min/src/shaders/symbol_sdf.fragment.glsl.js +1 -1
  51. package/build/min/src/shaders/symbol_sdf.vertex.glsl.js +1 -1
  52. package/package.json +3 -2
  53. package/src/data/array_types.js +54 -81
  54. package/src/data/bucket/circle_attributes.js +2 -4
  55. package/src/data/bucket/circle_bucket.js +19 -13
  56. package/src/data/bucket/fill_attributes.js +2 -4
  57. package/src/data/bucket/fill_bucket.js +38 -24
  58. package/src/data/bucket/fill_extrusion_attributes.js +2 -4
  59. package/src/data/bucket/fill_extrusion_bucket.js +56 -34
  60. package/src/data/bucket/heatmap_bucket.js +2 -7
  61. package/src/data/bucket/line_attributes.js +2 -4
  62. package/src/data/bucket/line_bucket.js +207 -159
  63. package/src/data/bucket/pattern_attributes.js +2 -4
  64. package/src/data/bucket/pattern_bucket_features.js +5 -7
  65. package/src/data/bucket/symbol_attributes.js +12 -26
  66. package/src/data/bucket/symbol_bucket.js +111 -221
  67. package/src/data/bucket/symbol_buffers.js +62 -0
  68. package/src/data/bucket/symbol_collision_buffers.js +33 -0
  69. package/src/data/bucket.js +2 -6
  70. package/src/data/dem_data.js +11 -7
  71. package/src/data/extent.js +1 -1
  72. package/src/data/feature_index.js +35 -20
  73. package/src/data/index_array_type.js +1 -6
  74. package/src/data/load_geometry.js +6 -9
  75. package/src/data/pos_attributes.js +2 -3
  76. package/src/data/program_configuration.js +44 -26
  77. package/src/data/raster_bounds_attributes.js +2 -2
  78. package/src/data/segment.js +4 -3
  79. package/src/geo/coordinate.js +1 -1
  80. package/src/geo/lng_lat.js +3 -3
  81. package/src/geo/lng_lat_bounds.js +8 -4
  82. package/src/geo/transform.js +69 -30
  83. package/src/gl/color_mode.js +2 -2
  84. package/src/gl/context.js +28 -29
  85. package/src/gl/cull_face_mode.js +1 -1
  86. package/src/gl/depth_mode.js +1 -1
  87. package/src/gl/framebuffer.js +8 -4
  88. package/src/gl/index_buffer.js +2 -2
  89. package/src/gl/stencil_mode.js +1 -1
  90. package/src/gl/value.js +33 -68
  91. package/src/gl/vertex_buffer.js +2 -2
  92. package/src/index.js +49 -25
  93. package/src/render/draw_background.js +14 -9
  94. package/src/render/draw_circle.js +11 -8
  95. package/src/render/draw_collision_debug.js +11 -8
  96. package/src/render/draw_debug.js +16 -14
  97. package/src/render/draw_fill.js +19 -12
  98. package/src/render/draw_fill_extrusion.js +12 -9
  99. package/src/render/draw_heatmap.js +17 -12
  100. package/src/render/draw_hillshade.js +12 -9
  101. package/src/render/draw_line.js +30 -16
  102. package/src/render/draw_raster.js +17 -13
  103. package/src/render/draw_symbol.js +22 -17
  104. package/src/render/glyph_atlas.js +9 -5
  105. package/src/render/glyph_manager.js +1 -1
  106. package/src/render/image_atlas.js +4 -7
  107. package/src/render/image_manager.js +6 -9
  108. package/src/render/line_atlas.js +2 -2
  109. package/src/render/painter.js +65 -47
  110. package/src/render/program/background_program.js +6 -13
  111. package/src/render/program/circle_program.js +4 -6
  112. package/src/render/program/clipping_mask_program.js +3 -5
  113. package/src/render/program/collision_program.js +4 -6
  114. package/src/render/program/debug_program.js +3 -5
  115. package/src/render/program/fill_extrusion_program.js +8 -14
  116. package/src/render/program/fill_program.js +10 -21
  117. package/src/render/program/heatmap_program.js +8 -14
  118. package/src/render/program/hillshade_program.js +10 -16
  119. package/src/render/program/line_program.js +11 -22
  120. package/src/render/program/pattern.js +5 -7
  121. package/src/render/program/program_uniforms.js +13 -20
  122. package/src/render/program/raster_program.js +3 -5
  123. package/src/render/program/symbol_program.js +5 -7
  124. package/src/render/program.js +5 -6
  125. package/src/render/texture.js +1 -1
  126. package/src/render/tile_mask.js +6 -4
  127. package/src/render/uniform_binding.js +9 -20
  128. package/src/render/vertex_array_object.js +5 -3
  129. package/src/shaders/encode_attribute.js +2 -6
  130. package/src/shaders/index.js +103 -51
  131. package/src/source/geojson_source.js +11 -7
  132. package/src/source/geojson_worker_source.js +7 -7
  133. package/src/source/geojson_wrapper.js +4 -4
  134. package/src/source/image_source.js +11 -12
  135. package/src/source/load_tilejson.js +3 -3
  136. package/src/source/pixels_to_tile_units.js +3 -3
  137. package/src/source/query_features.js +13 -10
  138. package/src/source/raster_dem_tile_source.js +12 -10
  139. package/src/source/raster_tile_source.js +13 -9
  140. package/src/source/resources/glyphs.js +2 -3
  141. package/src/source/resources/index.js +2 -4
  142. package/src/source/rtl_text_plugin.js +8 -8
  143. package/src/source/source.js +9 -15
  144. package/src/source/source_cache.js +105 -47
  145. package/src/source/source_state.js +37 -14
  146. package/src/source/tile.js +38 -23
  147. package/src/source/tile_bounds.js +15 -8
  148. package/src/source/tile_cache.js +2 -2
  149. package/src/source/tile_id.js +30 -23
  150. package/src/source/vector_tile_source.js +10 -8
  151. package/src/source/vector_tile_worker_source.js +4 -4
  152. package/src/source/worker_tile.js +24 -22
  153. package/src/style/create_style_layer.js +11 -11
  154. package/src/style/evaluation_parameters.js +4 -6
  155. package/src/style/light.js +5 -5
  156. package/src/style/load_sprite.js +6 -6
  157. package/src/style/parse_glyph_pbf.js +21 -17
  158. package/src/style/pauseable_placement.js +3 -4
  159. package/src/style/properties.js +21 -44
  160. package/src/style/query_utils.js +4 -10
  161. package/src/style/style.js +58 -33
  162. package/src/style/style_layer/background_style_layer.js +3 -4
  163. package/src/style/style_layer/background_style_layer_properties.js +2 -2
  164. package/src/style/style_layer/circle_style_layer.js +12 -9
  165. package/src/style/style_layer/circle_style_layer_properties.js +2 -2
  166. package/src/style/style_layer/fill_extrusion_style_layer.js +16 -13
  167. package/src/style/style_layer/fill_extrusion_style_layer_properties.js +2 -2
  168. package/src/style/style_layer/fill_style_layer.js +6 -7
  169. package/src/style/style_layer/fill_style_layer_properties.js +2 -2
  170. package/src/style/style_layer/heatmap_style_layer.js +5 -6
  171. package/src/style/style_layer/heatmap_style_layer_properties.js +2 -2
  172. package/src/style/style_layer/hillshade_style_layer.js +3 -4
  173. package/src/style/style_layer/hillshade_style_layer_properties.js +2 -2
  174. package/src/style/style_layer/line_style_layer.js +10 -11
  175. package/src/style/style_layer/line_style_layer_properties.js +5 -5
  176. package/src/style/style_layer/raster_style_layer.js +3 -4
  177. package/src/style/style_layer/raster_style_layer_properties.js +2 -2
  178. package/src/style/style_layer/symbol_style_layer.js +7 -8
  179. package/src/style/style_layer/symbol_style_layer_properties.js +2 -2
  180. package/src/style/style_layer.js +21 -20
  181. package/src/style/style_layer_index.js +2 -2
  182. package/src/style/zoom_history.js +1 -1
  183. package/src/style-spec/error/parsing_error.js +1 -1
  184. package/src/style-spec/error/validation_error.js +5 -3
  185. package/src/style-spec/feature_filter/convert.js +17 -9
  186. package/src/style-spec/feature_filter/index.js +13 -9
  187. package/src/style-spec/util/eval_support.js +2 -2
  188. package/src/style-spec/util/ref_properties.js +1 -1
  189. package/src/symbol/anchor.js +2 -2
  190. package/src/symbol/check_max_angle.js +13 -5
  191. package/src/symbol/clip_line.js +2 -3
  192. package/src/symbol/collision_feature.js +8 -4
  193. package/src/symbol/collision_index.js +5 -7
  194. package/src/symbol/cross_tile_symbol_index.js +5 -5
  195. package/src/symbol/get_anchors.js +15 -8
  196. package/src/symbol/grid_index.js +5 -3
  197. package/src/symbol/mergelines.js +2 -2
  198. package/src/symbol/opacity_state.js +1 -1
  199. package/src/symbol/placement.js +25 -20
  200. package/src/symbol/projection.js +29 -28
  201. package/src/symbol/quads.js +10 -12
  202. package/src/symbol/shaping.js +27 -19
  203. package/src/symbol/symbol_layout.js +17 -21
  204. package/src/symbol/symbol_size.js +13 -12
  205. package/src/symbol/transform_text.js +3 -3
  206. package/src/ui/camera.js +34 -18
  207. package/src/ui/map.js +53 -33
  208. package/src/util/async.js +11 -5
  209. package/src/util/browser.js +1 -1
  210. package/src/util/callback.js +3 -9
  211. package/src/util/classify_rings.js +13 -8
  212. package/src/util/color_ramp.js +3 -3
  213. package/src/util/config.js +4 -4
  214. package/src/util/dictionary_coder.js +2 -3
  215. package/src/util/dom.js +7 -3
  216. package/src/util/find_pole_of_inaccessibility.js +29 -14
  217. package/src/util/group_layers.js +1 -1
  218. package/src/util/image.js +3 -8
  219. package/src/util/interpolate.js +1 -1
  220. package/src/util/intersection_tests.js +80 -42
  221. package/src/util/is_char_in_unicode_block.js +1 -1
  222. package/src/util/key.js +7 -3
  223. package/src/util/loader/image.js +1 -1
  224. package/src/util/object.js +25 -23
  225. package/src/util/script_detection.js +212 -91
  226. package/src/util/struct_array.js +8 -40
  227. package/src/util/task_queue.js +11 -7
  228. package/src/util/throttle.js +2 -2
  229. package/src/util/tile_cover.js +8 -5
  230. package/src/util/token.js +1 -1
  231. package/src/util/unique_id.js +2 -2
  232. package/src/util/util.js +21 -29
  233. package/src/util/vectortile_to_geojson.js +4 -2
  234. package/src/util/verticalize_punctuation.js +3 -7
  235. package/src/util/warn.js +4 -4
  236. package/src/util/web_worker.js +3 -3
@@ -1,37 +1,37 @@
1
- const browser = require('../util/browser');
2
-
3
- const { mat4 } = require('@mapbox/gl-matrix');
4
- const SourceCache = require('../source/source_cache');
5
- const EXTENT = require('../data/extent');
6
- const pixelsToTileUnits = require('../source/pixels_to_tile_units');
7
- const SegmentVector = require('../data/segment');
8
- const { RasterBoundsArray, PosArray, TriangleIndexArray, LineStripIndexArray } = require('../data/array_types');
9
- const rasterBoundsAttributes = require('../data/raster_bounds_attributes');
10
- const posAttributes = require('../data/pos_attributes');
11
- const ProgramConfiguration = require('../data/program_configuration');
12
- const CrossTileSymbolIndex = require('../symbol/cross_tile_symbol_index');
13
- const shaders = require('../shaders');
14
- const Program = require('./program');
15
- const { programUniforms } = require('./program/program_uniforms');
16
- const Context = require('../gl/context');
17
- const DepthMode = require('../gl/depth_mode');
18
- const StencilMode = require('../gl/stencil_mode');
19
- const ColorMode = require('../gl/color_mode');
20
- const CullFaceMode = require('../gl/cull_face_mode');
21
- const updateTileMasks = require('./tile_mask');
22
- const { clippingMaskUniformValues } = require('./program/clipping_mask_program');
23
- const { Color } = require('@mapwhit/style-expressions');
24
- const symbol = require('./draw_symbol');
25
- const circle = require('./draw_circle');
26
- const heatmap = require('./draw_heatmap');
27
- const line = require('./draw_line');
28
- const fill = require('./draw_fill');
29
- const fillExtrusion = require('./draw_fill_extrusion');
30
- const hillshade = require('./draw_hillshade');
31
- const raster = require('./draw_raster');
32
- const background = require('./draw_background');
33
- const debug = require('./draw_debug');
34
-
1
+ import glMatrix from '@mapbox/gl-matrix';
2
+ import { Color } from '@mapwhit/style-expressions';
3
+ import { LineStripIndexArray, PosArray, RasterBoundsArray, TriangleIndexArray } from '../data/array_types.js';
4
+ import EXTENT from '../data/extent.js';
5
+ import posAttributes from '../data/pos_attributes.js';
6
+ import ProgramConfiguration from '../data/program_configuration.js';
7
+ import rasterBoundsAttributes from '../data/raster_bounds_attributes.js';
8
+ import SegmentVector from '../data/segment.js';
9
+ import ColorMode from '../gl/color_mode.js';
10
+ import Context from '../gl/context.js';
11
+ import CullFaceMode from '../gl/cull_face_mode.js';
12
+ import DepthMode from '../gl/depth_mode.js';
13
+ import StencilMode from '../gl/stencil_mode.js';
14
+ import shaders from '../shaders/index.js';
15
+ import pixelsToTileUnits from '../source/pixels_to_tile_units.js';
16
+ import SourceCache from '../source/source_cache.js';
17
+ import CrossTileSymbolIndex from '../symbol/cross_tile_symbol_index.js';
18
+ import browser from '../util/browser.js';
19
+ import background from './draw_background.js';
20
+ import circle from './draw_circle.js';
21
+ import debug from './draw_debug.js';
22
+ import fill from './draw_fill.js';
23
+ import fillExtrusion from './draw_fill_extrusion.js';
24
+ import heatmap from './draw_heatmap.js';
25
+ import hillshade from './draw_hillshade.js';
26
+ import line from './draw_line.js';
27
+ import raster from './draw_raster.js';
28
+ import symbol from './draw_symbol.js';
29
+ import { clippingMaskUniformValues } from './program/clipping_mask_program.js';
30
+ import { programUniforms } from './program/program_uniforms.js';
31
+ import Program from './program.js';
32
+ import updateTileMasks from './tile_mask.js';
33
+
34
+ const { mat4 } = glMatrix;
35
35
  const draw = {
36
36
  symbol,
37
37
  circle,
@@ -51,7 +51,7 @@ const draw = {
51
51
  * @param {Canvas} gl an experimental-webgl drawing context
52
52
  * @private
53
53
  */
54
- class Painter {
54
+ export default class Painter {
55
55
  constructor(gl, transform) {
56
56
  this.context = new Context(gl);
57
57
  this.transform = transform;
@@ -182,7 +182,9 @@ class Painter {
182
182
  }
183
183
 
184
184
  _renderTileClippingMasks(layer, tileIDs) {
185
- if (this.currentStencilSource === layer.source || !layer.isTileClipped() || !tileIDs || !tileIDs.length) return;
185
+ if (this.currentStencilSource === layer.source || !layer.isTileClipped() || !tileIDs || !tileIDs.length) {
186
+ return;
187
+ }
186
188
 
187
189
  this.currentStencilSource = layer.source;
188
190
 
@@ -258,7 +260,9 @@ class Painter {
258
260
  }
259
261
 
260
262
  depthModeForSublayer(n, mask, func) {
261
- if (!this.opaquePassEnabledForLayer()) return DepthMode.disabled;
263
+ if (!this.opaquePassEnabledForLayer()) {
264
+ return DepthMode.disabled;
265
+ }
262
266
  const depth = 1 - ((1 + this.currentLayer) * this.numSublayers + n) * this.depthEpsilon;
263
267
  return new DepthMode(func || this.context.gl.LEQUAL, mask, [depth, depth]);
264
268
  }
@@ -307,9 +311,13 @@ class Painter {
307
311
  for (const id in sourceCaches) {
308
312
  const sourceCache = sourceCaches[id];
309
313
  const source = sourceCache.getSource();
310
- if (source.type !== 'raster' && source.type !== 'raster-dem') continue;
314
+ if (source.type !== 'raster' && source.type !== 'raster-dem') {
315
+ continue;
316
+ }
311
317
  const visibleTiles = [];
312
- for (const coord of coordsAscending[id]) visibleTiles.push(sourceCache.getTile(coord));
318
+ for (const coord of coordsAscending[id]) {
319
+ visibleTiles.push(sourceCache.getTile(coord));
320
+ }
313
321
  updateTileMasks(visibleTiles, this.context);
314
322
  }
315
323
 
@@ -331,10 +339,14 @@ class Painter {
331
339
  this.depthRboNeedsClear = true;
332
340
 
333
341
  for (const layer of layers) {
334
- if (!layer.hasOffscreenPass() || layer.isHidden(this.transform.zoom)) continue;
342
+ if (!layer.hasOffscreenPass() || layer.isHidden(this.transform.zoom)) {
343
+ continue;
344
+ }
335
345
 
336
346
  const coords = coordsDescending[layer.source];
337
- if (!coords.length) continue;
347
+ if (!coords.length) {
348
+ continue;
349
+ }
338
350
 
339
351
  this.renderLayer(this, sourceCaches[layer.source], layer, coords);
340
352
  }
@@ -397,8 +409,12 @@ class Painter {
397
409
  }
398
410
 
399
411
  renderLayer(painter, sourceCache, layer, coords) {
400
- if (layer.isHidden(this.transform.zoom)) return;
401
- if (layer.type !== 'background' && !coords.length) return;
412
+ if (layer.isHidden(this.transform.zoom)) {
413
+ return;
414
+ }
415
+ if (layer.type !== 'background' && !coords.length) {
416
+ return;
417
+ }
402
418
  this.id = layer.id;
403
419
 
404
420
  draw[layer.type](painter, sourceCache, layer, coords);
@@ -410,7 +426,9 @@ class Painter {
410
426
  * @returns {Float32Array} matrix
411
427
  */
412
428
  translatePosMatrix(matrix, tile, translate, translateAnchor, inViewportPixelUnitsUnits) {
413
- if (!translate[0] && !translate[1]) return matrix;
429
+ if (!translate[0] && !translate[1]) {
430
+ return matrix;
431
+ }
414
432
 
415
433
  const angle = inViewportPixelUnitsUnits
416
434
  ? translateAnchor === 'map'
@@ -457,7 +475,9 @@ class Painter {
457
475
  * @returns true if a needed image is missing and rendering needs to be skipped.
458
476
  */
459
477
  isPatternMissing(image) {
460
- if (!image) return false;
478
+ if (!image) {
479
+ return false;
480
+ }
461
481
  const imagePosA = this.imageManager.getPattern(image.from);
462
482
  const imagePosB = this.imageManager.getPattern(image.to);
463
483
  return !imagePosA || !imagePosB;
@@ -478,5 +498,3 @@ class Painter {
478
498
  return this.cache[key];
479
499
  }
480
500
  }
481
-
482
- module.exports = Painter;
@@ -1,13 +1,13 @@
1
- const { bgPatternUniformValues } = require('./pattern');
2
- const { Uniform1i, Uniform1f, Uniform2f, UniformColor, UniformMatrix4f } = require('../uniform_binding');
1
+ import { Uniform1f, Uniform1i, Uniform2f, UniformColor, UniformMatrix4f } from '../uniform_binding.js';
2
+ import { bgPatternUniformValues } from './pattern.js';
3
3
 
4
- const backgroundUniforms = (context, locations) => ({
4
+ export const backgroundUniforms = (context, locations) => ({
5
5
  u_matrix: new UniformMatrix4f(context, locations.u_matrix),
6
6
  u_opacity: new Uniform1f(context, locations.u_opacity),
7
7
  u_color: new UniformColor(context, locations.u_color)
8
8
  });
9
9
 
10
- const backgroundPatternUniforms = (context, locations) => ({
10
+ export const backgroundPatternUniforms = (context, locations) => ({
11
11
  u_matrix: new UniformMatrix4f(context, locations.u_matrix),
12
12
  u_opacity: new Uniform1f(context, locations.u_opacity),
13
13
  u_image: new Uniform1i(context, locations.u_image),
@@ -26,21 +26,14 @@ const backgroundPatternUniforms = (context, locations) => ({
26
26
  u_tile_units_to_pixels: new Uniform1f(context, locations.u_tile_units_to_pixels)
27
27
  });
28
28
 
29
- const backgroundUniformValues = (matrix, opacity, color) => ({
29
+ export const backgroundUniformValues = (matrix, opacity, color) => ({
30
30
  u_matrix: matrix,
31
31
  u_opacity: opacity,
32
32
  u_color: color
33
33
  });
34
34
 
35
- const backgroundPatternUniformValues = (matrix, opacity, painter, image, tile, crossfade) =>
35
+ export const backgroundPatternUniformValues = (matrix, opacity, painter, image, tile, crossfade) =>
36
36
  Object.assign(bgPatternUniformValues(image, crossfade, painter, tile), {
37
37
  u_matrix: matrix,
38
38
  u_opacity: opacity
39
39
  });
40
-
41
- module.exports = {
42
- backgroundUniforms,
43
- backgroundPatternUniforms,
44
- backgroundUniformValues,
45
- backgroundPatternUniformValues
46
- };
@@ -1,7 +1,7 @@
1
- const { Uniform1i, Uniform1f, Uniform2f, UniformMatrix4f } = require('../uniform_binding');
2
- const pixelsToTileUnits = require('../../source/pixels_to_tile_units');
1
+ import pixelsToTileUnits from '../../source/pixels_to_tile_units.js';
2
+ import { Uniform1f, Uniform1i, Uniform2f, UniformMatrix4f } from '../uniform_binding.js';
3
3
 
4
- const circleUniforms = (context, locations) => ({
4
+ export const circleUniforms = (context, locations) => ({
5
5
  u_camera_to_center_distance: new Uniform1f(context, locations.u_camera_to_center_distance),
6
6
  u_scale_with_map: new Uniform1i(context, locations.u_scale_with_map),
7
7
  u_pitch_with_map: new Uniform1i(context, locations.u_pitch_with_map),
@@ -9,7 +9,7 @@ const circleUniforms = (context, locations) => ({
9
9
  u_matrix: new UniformMatrix4f(context, locations.u_matrix)
10
10
  });
11
11
 
12
- const circleUniformValues = (painter, coord, tile, layer) => {
12
+ export const circleUniformValues = (painter, coord, tile, layer) => {
13
13
  const transform = painter.transform;
14
14
 
15
15
  let pitchWithMap;
@@ -36,5 +36,3 @@ const circleUniformValues = (painter, coord, tile, layer) => {
36
36
  u_extrude_scale: extrudeScale
37
37
  };
38
38
  };
39
-
40
- module.exports = { circleUniforms, circleUniformValues };
@@ -1,11 +1,9 @@
1
- const { UniformMatrix4f } = require('../uniform_binding');
1
+ import { UniformMatrix4f } from '../uniform_binding.js';
2
2
 
3
- const clippingMaskUniforms = (context, locations) => ({
3
+ export const clippingMaskUniforms = (context, locations) => ({
4
4
  u_matrix: new UniformMatrix4f(context, locations.u_matrix)
5
5
  });
6
6
 
7
- const clippingMaskUniformValues = matrix => ({
7
+ export const clippingMaskUniformValues = matrix => ({
8
8
  u_matrix: matrix
9
9
  });
10
-
11
- module.exports = { clippingMaskUniforms, clippingMaskUniformValues };
@@ -1,7 +1,7 @@
1
- const { Uniform1f, Uniform2f, UniformMatrix4f } = require('../uniform_binding');
2
- const pixelsToTileUnits = require('../../source/pixels_to_tile_units');
1
+ import pixelsToTileUnits from '../../source/pixels_to_tile_units.js';
2
+ import { Uniform1f, Uniform2f, UniformMatrix4f } from '../uniform_binding.js';
3
3
 
4
- const collisionUniforms = (context, locations) => ({
4
+ export const collisionUniforms = (context, locations) => ({
5
5
  u_matrix: new UniformMatrix4f(context, locations.u_matrix),
6
6
  u_camera_to_center_distance: new Uniform1f(context, locations.u_camera_to_center_distance),
7
7
  u_pixels_to_tile_units: new Uniform1f(context, locations.u_pixels_to_tile_units),
@@ -9,7 +9,7 @@ const collisionUniforms = (context, locations) => ({
9
9
  u_overscale_factor: new Uniform1f(context, locations.u_overscale_factor)
10
10
  });
11
11
 
12
- const collisionUniformValues = (matrix, transform, tile) => {
12
+ export const collisionUniformValues = (matrix, transform, tile) => {
13
13
  const pixelRatio = pixelsToTileUnits(tile, 1, transform.zoom);
14
14
  const scale = 2 ** (transform.zoom - tile.tileID.overscaledZ);
15
15
  const overscaleFactor = tile.tileID.overscaleFactor();
@@ -24,5 +24,3 @@ const collisionUniformValues = (matrix, transform, tile) => {
24
24
  u_overscale_factor: overscaleFactor
25
25
  };
26
26
  };
27
-
28
- module.exports = { collisionUniforms, collisionUniformValues };
@@ -1,13 +1,11 @@
1
- const { UniformColor, UniformMatrix4f } = require('../uniform_binding');
1
+ import { UniformColor, UniformMatrix4f } from '../uniform_binding.js';
2
2
 
3
- const debugUniforms = (context, locations) => ({
3
+ export const debugUniforms = (context, locations) => ({
4
4
  u_color: new UniformColor(context, locations.u_color),
5
5
  u_matrix: new UniformMatrix4f(context, locations.u_matrix)
6
6
  });
7
7
 
8
- const debugUniformValues = (matrix, color) => ({
8
+ export const debugUniformValues = (matrix, color) => ({
9
9
  u_matrix: matrix,
10
10
  u_color: color
11
11
  });
12
-
13
- module.exports = { debugUniforms, debugUniformValues };
@@ -1,9 +1,10 @@
1
- const { patternUniformValues } = require('./pattern');
2
- const { Uniform1i, Uniform1f, Uniform2f, Uniform3f, Uniform4f, UniformMatrix4f } = require('../uniform_binding');
1
+ import glMatrix from '@mapbox/gl-matrix';
2
+ import { Uniform1f, Uniform1i, Uniform2f, Uniform3f, Uniform4f, UniformMatrix4f } from '../uniform_binding.js';
3
+ import { patternUniformValues } from './pattern.js';
3
4
 
4
- const { mat3, vec3 } = require('@mapbox/gl-matrix');
5
+ const { mat3, vec3 } = glMatrix;
5
6
 
6
- const fillExtrusionUniforms = (context, locations) => ({
7
+ export const fillExtrusionUniforms = (context, locations) => ({
7
8
  u_matrix: new UniformMatrix4f(context, locations.u_matrix),
8
9
  u_lightpos: new Uniform3f(context, locations.u_lightpos),
9
10
  u_lightintensity: new Uniform1f(context, locations.u_lightintensity),
@@ -12,7 +13,7 @@ const fillExtrusionUniforms = (context, locations) => ({
12
13
  u_opacity: new Uniform1f(context, locations.u_opacity)
13
14
  });
14
15
 
15
- const fillExtrusionPatternUniforms = (context, locations) => ({
16
+ export const fillExtrusionPatternUniforms = (context, locations) => ({
16
17
  u_matrix: new UniformMatrix4f(context, locations.u_matrix),
17
18
  u_lightpos: new Uniform3f(context, locations.u_lightpos),
18
19
  u_lightintensity: new Uniform1f(context, locations.u_lightintensity),
@@ -28,7 +29,7 @@ const fillExtrusionPatternUniforms = (context, locations) => ({
28
29
  u_opacity: new Uniform1f(context, locations.u_opacity)
29
30
  });
30
31
 
31
- const fillExtrusionUniformValues = (matrix, painter, shouldUseVerticalGradient, opacity) => {
32
+ export const fillExtrusionUniformValues = (matrix, painter, shouldUseVerticalGradient, opacity) => {
32
33
  const light = painter.style._light;
33
34
  const _lp = light.properties.get('position');
34
35
  const lightPos = [_lp.x, _lp.y, _lp.z];
@@ -50,7 +51,7 @@ const fillExtrusionUniformValues = (matrix, painter, shouldUseVerticalGradient,
50
51
  };
51
52
  };
52
53
 
53
- const fillExtrusionPatternUniformValues = (
54
+ export const fillExtrusionPatternUniformValues = (
54
55
  matrix,
55
56
  painter,
56
57
  shouldUseVerticalGradient,
@@ -67,10 +68,3 @@ const fillExtrusionPatternUniformValues = (
67
68
  }
68
69
  );
69
70
  };
70
-
71
- module.exports = {
72
- fillExtrusionUniforms,
73
- fillExtrusionPatternUniforms,
74
- fillExtrusionUniformValues,
75
- fillExtrusionPatternUniformValues
76
- };
@@ -1,11 +1,11 @@
1
- const { patternUniformValues } = require('./pattern');
2
- const { Uniform1i, Uniform1f, Uniform2f, Uniform4f, UniformMatrix4f } = require('../uniform_binding');
1
+ import { Uniform1f, Uniform1i, Uniform2f, Uniform4f, UniformMatrix4f } from '../uniform_binding.js';
2
+ import { patternUniformValues } from './pattern.js';
3
3
 
4
- const fillUniforms = (context, locations) => ({
4
+ export const fillUniforms = (context, locations) => ({
5
5
  u_matrix: new UniformMatrix4f(context, locations.u_matrix)
6
6
  });
7
7
 
8
- const fillPatternUniforms = (context, locations) => ({
8
+ export const fillPatternUniforms = (context, locations) => ({
9
9
  u_matrix: new UniformMatrix4f(context, locations.u_matrix),
10
10
  u_image: new Uniform1i(context, locations.u_image),
11
11
  u_texsize: new Uniform2f(context, locations.u_texsize),
@@ -15,12 +15,12 @@ const fillPatternUniforms = (context, locations) => ({
15
15
  u_fade: new Uniform1f(context, locations.u_fade)
16
16
  });
17
17
 
18
- const fillOutlineUniforms = (context, locations) => ({
18
+ export const fillOutlineUniforms = (context, locations) => ({
19
19
  u_matrix: new UniformMatrix4f(context, locations.u_matrix),
20
20
  u_world: new Uniform2f(context, locations.u_world)
21
21
  });
22
22
 
23
- const fillOutlinePatternUniforms = (context, locations) => ({
23
+ export const fillOutlinePatternUniforms = (context, locations) => ({
24
24
  u_matrix: new UniformMatrix4f(context, locations.u_matrix),
25
25
  u_world: new Uniform2f(context, locations.u_world),
26
26
  u_image: new Uniform1i(context, locations.u_image),
@@ -31,30 +31,19 @@ const fillOutlinePatternUniforms = (context, locations) => ({
31
31
  u_fade: new Uniform1f(context, locations.u_fade)
32
32
  });
33
33
 
34
- const fillUniformValues = matrix => ({
34
+ export const fillUniformValues = matrix => ({
35
35
  u_matrix: matrix
36
36
  });
37
37
 
38
- const fillPatternUniformValues = (matrix, painter, crossfade, tile) =>
38
+ export const fillPatternUniformValues = (matrix, painter, crossfade, tile) =>
39
39
  Object.assign(fillUniformValues(matrix), patternUniformValues(crossfade, painter, tile));
40
40
 
41
- const fillOutlineUniformValues = (matrix, drawingBufferSize) => ({
41
+ export const fillOutlineUniformValues = (matrix, drawingBufferSize) => ({
42
42
  u_matrix: matrix,
43
43
  u_world: drawingBufferSize
44
44
  });
45
45
 
46
- const fillOutlinePatternUniformValues = (matrix, painter, crossfade, tile, drawingBufferSize) =>
46
+ export const fillOutlinePatternUniformValues = (matrix, painter, crossfade, tile, drawingBufferSize) =>
47
47
  Object.assign(fillPatternUniformValues(matrix, painter, crossfade, tile), {
48
48
  u_world: drawingBufferSize
49
49
  });
50
-
51
- module.exports = {
52
- fillUniforms,
53
- fillPatternUniforms,
54
- fillOutlineUniforms,
55
- fillOutlinePatternUniforms,
56
- fillUniformValues,
57
- fillPatternUniformValues,
58
- fillOutlineUniformValues,
59
- fillOutlinePatternUniformValues
60
- };
@@ -1,15 +1,16 @@
1
- const { mat4 } = require('@mapbox/gl-matrix');
1
+ import glMatrix from '@mapbox/gl-matrix';
2
+ import pixelsToTileUnits from '../../source/pixels_to_tile_units.js';
3
+ import { Uniform1f, Uniform1i, Uniform2f, UniformMatrix4f } from '../uniform_binding.js';
2
4
 
3
- const { Uniform1i, Uniform1f, Uniform2f, UniformMatrix4f } = require('../uniform_binding');
4
- const pixelsToTileUnits = require('../../source/pixels_to_tile_units');
5
+ const { mat4 } = glMatrix;
5
6
 
6
- const heatmapUniforms = (context, locations) => ({
7
+ export const heatmapUniforms = (context, locations) => ({
7
8
  u_extrude_scale: new Uniform1f(context, locations.u_extrude_scale),
8
9
  u_intensity: new Uniform1f(context, locations.u_intensity),
9
10
  u_matrix: new UniformMatrix4f(context, locations.u_matrix)
10
11
  });
11
12
 
12
- const heatmapTextureUniforms = (context, locations) => ({
13
+ export const heatmapTextureUniforms = (context, locations) => ({
13
14
  u_matrix: new UniformMatrix4f(context, locations.u_matrix),
14
15
  u_world: new Uniform2f(context, locations.u_world),
15
16
  u_image: new Uniform1i(context, locations.u_image),
@@ -17,13 +18,13 @@ const heatmapTextureUniforms = (context, locations) => ({
17
18
  u_opacity: new Uniform1f(context, locations.u_opacity)
18
19
  });
19
20
 
20
- const heatmapUniformValues = (matrix, tile, zoom, intensity) => ({
21
+ export const heatmapUniformValues = (matrix, tile, zoom, intensity) => ({
21
22
  u_matrix: matrix,
22
23
  u_extrude_scale: pixelsToTileUnits(tile, 1, zoom),
23
24
  u_intensity: intensity
24
25
  });
25
26
 
26
- const heatmapTextureUniformValues = (painter, layer, textureUnit, colorRampUnit) => {
27
+ export const heatmapTextureUniformValues = (painter, layer, textureUnit, colorRampUnit) => {
27
28
  const matrix = mat4.create();
28
29
  mat4.ortho(matrix, 0, painter.width, painter.height, 0, 0, 1);
29
30
 
@@ -37,10 +38,3 @@ const heatmapTextureUniformValues = (painter, layer, textureUnit, colorRampUnit)
37
38
  u_opacity: layer._paint.get('heatmap-opacity')
38
39
  };
39
40
  };
40
-
41
- module.exports = {
42
- heatmapUniforms,
43
- heatmapTextureUniforms,
44
- heatmapUniformValues,
45
- heatmapTextureUniformValues
46
- };
@@ -1,11 +1,12 @@
1
- const assert = require('assert');
2
- const { mat4 } = require('@mapbox/gl-matrix');
1
+ import glMatrix from '@mapbox/gl-matrix';
2
+ import assert from 'assert';
3
+ import EXTENT from '../../data/extent.js';
4
+ import Coordinate from '../../geo/coordinate.js';
5
+ import { Uniform1f, Uniform1i, Uniform2f, UniformColor, UniformMatrix4f } from '../uniform_binding.js';
3
6
 
4
- const { Uniform1i, Uniform1f, Uniform2f, UniformColor, UniformMatrix4f } = require('../uniform_binding');
5
- const EXTENT = require('../../data/extent');
6
- const Coordinate = require('../../geo/coordinate');
7
+ const { mat4 } = glMatrix;
7
8
 
8
- const hillshadeUniforms = (context, locations) => ({
9
+ export const hillshadeUniforms = (context, locations) => ({
9
10
  u_matrix: new UniformMatrix4f(context, locations.u_matrix),
10
11
  u_image: new Uniform1i(context, locations.u_image),
11
12
  u_latrange: new Uniform2f(context, locations.u_latrange),
@@ -15,7 +16,7 @@ const hillshadeUniforms = (context, locations) => ({
15
16
  u_accent: new UniformColor(context, locations.u_accent)
16
17
  });
17
18
 
18
- const hillshadePrepareUniforms = (context, locations) => ({
19
+ export const hillshadePrepareUniforms = (context, locations) => ({
19
20
  u_matrix: new UniformMatrix4f(context, locations.u_matrix),
20
21
  u_image: new Uniform1i(context, locations.u_image),
21
22
  u_dimension: new Uniform2f(context, locations.u_dimension),
@@ -23,7 +24,7 @@ const hillshadePrepareUniforms = (context, locations) => ({
23
24
  u_maxzoom: new Uniform1f(context, locations.u_maxzoom)
24
25
  });
25
26
 
26
- const hillshadeUniformValues = (painter, tile, layer) => {
27
+ export const hillshadeUniformValues = (painter, tile, layer) => {
27
28
  const shadow = layer._paint.get('hillshade-shadow-color');
28
29
  const highlight = layer._paint.get('hillshade-highlight-color');
29
30
  const accent = layer._paint.get('hillshade-accent-color');
@@ -45,7 +46,7 @@ const hillshadeUniformValues = (painter, tile, layer) => {
45
46
  };
46
47
  };
47
48
 
48
- const hillshadeUniformPrepareValues = (tile, maxzoom) => {
49
+ export const hillshadeUniformPrepareValues = (tile, maxzoom) => {
49
50
  assert(tile.dem);
50
51
  const stride = tile.dem.stride;
51
52
  const matrix = mat4.create();
@@ -68,10 +69,3 @@ function getTileLatRange(painter, tileID) {
68
69
  const coordinate1 = new Coordinate(coordinate0.column, coordinate0.row + 1, coordinate0.zoom);
69
70
  return [painter.transform.coordinateLocation(coordinate0).lat, painter.transform.coordinateLocation(coordinate1).lat];
70
71
  }
71
-
72
- module.exports = {
73
- hillshadeUniforms,
74
- hillshadePrepareUniforms,
75
- hillshadeUniformValues,
76
- hillshadeUniformPrepareValues
77
- };
@@ -1,21 +1,21 @@
1
- const { Uniform1i, Uniform1f, Uniform2f, Uniform4f, UniformMatrix4f } = require('../uniform_binding');
2
- const pixelsToTileUnits = require('../../source/pixels_to_tile_units');
3
- const browser = require('../../util/browser');
1
+ import pixelsToTileUnits from '../../source/pixels_to_tile_units.js';
2
+ import browser from '../../util/browser.js';
3
+ import { Uniform1f, Uniform1i, Uniform2f, Uniform4f, UniformMatrix4f } from '../uniform_binding.js';
4
4
 
5
- const lineUniforms = (context, locations) => ({
5
+ export const lineUniforms = (context, locations) => ({
6
6
  u_matrix: new UniformMatrix4f(context, locations.u_matrix),
7
7
  u_ratio: new Uniform1f(context, locations.u_ratio),
8
8
  u_gl_units_to_pixels: new Uniform2f(context, locations.u_gl_units_to_pixels)
9
9
  });
10
10
 
11
- const lineGradientUniforms = (context, locations) => ({
11
+ export const lineGradientUniforms = (context, locations) => ({
12
12
  u_matrix: new UniformMatrix4f(context, locations.u_matrix),
13
13
  u_ratio: new Uniform1f(context, locations.u_ratio),
14
14
  u_gl_units_to_pixels: new Uniform2f(context, locations.u_gl_units_to_pixels),
15
15
  u_image: new Uniform1i(context, locations.u_image)
16
16
  });
17
17
 
18
- const linePatternUniforms = (context, locations) => ({
18
+ export const linePatternUniforms = (context, locations) => ({
19
19
  u_matrix: new UniformMatrix4f(context, locations.u_matrix),
20
20
  u_texsize: new Uniform2f(context, locations.u_texsize),
21
21
  u_ratio: new Uniform1f(context, locations.u_ratio),
@@ -25,7 +25,7 @@ const linePatternUniforms = (context, locations) => ({
25
25
  u_fade: new Uniform1f(context, locations.u_fade)
26
26
  });
27
27
 
28
- const lineSDFUniforms = (context, locations) => ({
28
+ export const lineSDFUniforms = (context, locations) => ({
29
29
  u_matrix: new UniformMatrix4f(context, locations.u_matrix),
30
30
  u_ratio: new Uniform1f(context, locations.u_ratio),
31
31
  u_gl_units_to_pixels: new Uniform2f(context, locations.u_gl_units_to_pixels),
@@ -38,7 +38,7 @@ const lineSDFUniforms = (context, locations) => ({
38
38
  u_mix: new Uniform1f(context, locations.u_mix)
39
39
  });
40
40
 
41
- const lineUniformValues = (painter, tile, layer) => {
41
+ export const lineUniformValues = (painter, tile, layer) => {
42
42
  const transform = painter.transform;
43
43
 
44
44
  return {
@@ -48,13 +48,13 @@ const lineUniformValues = (painter, tile, layer) => {
48
48
  };
49
49
  };
50
50
 
51
- const lineGradientUniformValues = (painter, tile, layer) => {
51
+ export const lineGradientUniformValues = (painter, tile, layer) => {
52
52
  return Object.assign(lineUniformValues(painter, tile, layer), {
53
53
  u_image: 0
54
54
  });
55
55
  };
56
56
 
57
- const linePatternUniformValues = (painter, tile, layer, crossfade) => {
57
+ export const linePatternUniformValues = (painter, tile, layer, crossfade) => {
58
58
  const transform = painter.transform;
59
59
  const tileZoomRatio = calculateTileRatio(tile, transform);
60
60
  return {
@@ -70,7 +70,7 @@ const linePatternUniformValues = (painter, tile, layer, crossfade) => {
70
70
  };
71
71
  };
72
72
 
73
- const lineSDFUniformValues = (painter, tile, layer, dasharray, crossfade) => {
73
+ export const lineSDFUniformValues = (painter, tile, layer, dasharray, crossfade) => {
74
74
  const transform = painter.transform;
75
75
  const lineAtlas = painter.lineAtlas;
76
76
  const tileRatio = calculateTileRatio(tile, transform);
@@ -106,14 +106,3 @@ function calculateMatrix(painter, tile, layer) {
106
106
  layer._paint.get('line-translate-anchor')
107
107
  );
108
108
  }
109
-
110
- module.exports = {
111
- lineUniforms,
112
- lineGradientUniforms,
113
- linePatternUniforms,
114
- lineSDFUniforms,
115
- lineUniformValues,
116
- lineGradientUniformValues,
117
- linePatternUniformValues,
118
- lineSDFUniformValues
119
- };
@@ -1,8 +1,8 @@
1
- const assert = require('assert');
2
- const browser = require('../../util/browser');
3
- const pixelsToTileUnits = require('../../source/pixels_to_tile_units');
1
+ import assert from 'assert';
2
+ import pixelsToTileUnits from '../../source/pixels_to_tile_units.js';
3
+ import browser from '../../util/browser.js';
4
4
 
5
- function patternUniformValues(crossfade, painter, tile) {
5
+ export function patternUniformValues(crossfade, painter, tile) {
6
6
  const tileRatio = 1 / pixelsToTileUnits(tile, 1, painter.transform.tileZoom);
7
7
 
8
8
  const numTiles = 2 ** tile.tileID.overscaledZ;
@@ -23,7 +23,7 @@ function patternUniformValues(crossfade, painter, tile) {
23
23
  };
24
24
  }
25
25
 
26
- function bgPatternUniformValues(image, crossfade, painter, tile) {
26
+ export function bgPatternUniformValues(image, crossfade, painter, tile) {
27
27
  const imagePosA = painter.imageManager.getPattern(image.from);
28
28
  const imagePosB = painter.imageManager.getPattern(image.to);
29
29
  assert(imagePosA && imagePosB);
@@ -53,5 +53,3 @@ function bgPatternUniformValues(image, crossfade, painter, tile) {
53
53
  u_pixel_coord_lower: [pixelX & 0xffff, pixelY & 0xffff]
54
54
  };
55
55
  }
56
-
57
- module.exports = { bgPatternUniformValues, patternUniformValues };