@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,6 +1,5 @@
1
- const browser = require('../util/browser');
2
-
3
- const { Placement } = require('../symbol/placement');
1
+ import { Placement } from '../symbol/placement.js';
2
+ import browser from '../util/browser.js';
4
3
 
5
4
  class LayerPlacement {
6
5
  constructor() {
@@ -84,4 +83,4 @@ class PauseablePlacement {
84
83
  }
85
84
  }
86
85
 
87
- module.exports = PauseablePlacement;
86
+ export default PauseablePlacement;
@@ -1,9 +1,8 @@
1
- const assert = require('assert');
2
-
3
- const { clone } = require('../util/object');
4
- const { easeCubicInOut } = require('../util/util');
5
- const { interpolate, normalizePropertyExpression } = require('@mapwhit/style-expressions');
6
- const EvaluationParameters = require('./evaluation_parameters');
1
+ import { interpolate, normalizePropertyExpression } from '@mapwhit/style-expressions';
2
+ import assert from 'assert';
3
+ import { clone } from '../util/object.js';
4
+ import { easeCubicInOut } from '../util/util.js';
5
+ import EvaluationParameters from './evaluation_parameters.js';
7
6
 
8
7
  /**
9
8
  * Implements a number of classes that define state and behavior for paint and layout properties, most
@@ -60,7 +59,7 @@ const EvaluationParameters = require('./evaluation_parameters');
60
59
  *
61
60
  * @private
62
61
  */
63
- class PropertyValue {
62
+ export class PropertyValue {
64
63
  constructor(property, value) {
65
64
  this.property = property;
66
65
  this.value = value;
@@ -97,7 +96,7 @@ class PropertyValue {
97
96
  *
98
97
  * @private
99
98
  */
100
- class TransitionablePropertyValue {
99
+ export class TransitionablePropertyValue {
101
100
  constructor(property) {
102
101
  this.property = property;
103
102
  this.value = new PropertyValue(property, undefined);
@@ -132,7 +131,7 @@ class TransitionablePropertyValue {
132
131
  *
133
132
  * @private
134
133
  */
135
- class Transitionable {
134
+ export class Transitionable {
136
135
  constructor(properties) {
137
136
  this._properties = properties;
138
137
  this._values = Object.create(properties.defaultTransitionablePropertyValues);
@@ -209,7 +208,7 @@ class Transitionable {
209
208
  *
210
209
  * @private
211
210
  */
212
- class TransitioningPropertyValue {
211
+ export class TransitioningPropertyValue {
213
212
  constructor(property, value, prior, transition, now) {
214
213
  this.property = property;
215
214
  this.value = value;
@@ -264,7 +263,7 @@ class TransitioningPropertyValue {
264
263
  *
265
264
  * @private
266
265
  */
267
- class Transitioning {
266
+ export class Transitioning {
268
267
  constructor(properties) {
269
268
  this._properties = properties;
270
269
  this._values = Object.create(properties.defaultTransitioningPropertyValues);
@@ -308,7 +307,7 @@ class Transitioning {
308
307
  *
309
308
  * @private
310
309
  */
311
- class Layout {
310
+ export class Layout {
312
311
  constructor(properties) {
313
312
  this._properties = properties;
314
313
  this._values = Object.create(properties.defaultPropertyValues);
@@ -374,7 +373,7 @@ class Layout {
374
373
  *
375
374
  * @private
376
375
  */
377
- class PossiblyEvaluatedPropertyValue {
376
+ export class PossiblyEvaluatedPropertyValue {
378
377
  constructor(property, value, parameters) {
379
378
  this.property = property;
380
379
  this.value = value;
@@ -402,15 +401,8 @@ class PossiblyEvaluatedPropertyValue {
402
401
  * an object type with the same keys, and values of type `R`.
403
402
  *
404
403
  * For properties that don't allow data-driven values, `R` is a scalar type such as `number`, `string`, or `Color`.
405
- * For data-driven properties, it is `PossiblyEvaluatedPropertyValue`. Critically, the type definitions are set up
406
- * in a way that allows flow to know which of these two cases applies for any given property name, and if you attempt
407
- * to use a `PossiblyEvaluatedPropertyValue` as if it was a scalar, or vice versa, you will get a type error. (However,
408
- * there's at least one case in which flow fails to produce a type error that you should be aware of: in a context such
409
- * as `layer._paint.get('foo-opacity') === 0`, if `foo-opacity` is data-driven, than the left-hand side is of type
410
- * `PossiblyEvaluatedPropertyValue<number>`, but flow will not complain about comparing this to a number using `===`.
411
- * See https://github.com/facebook/flow/issues/2359.)
412
- *
413
- * There's also a third, special case possiblity for `R`: for cross-faded properties, it's `?CrossFaded<T>`.
404
+ * For data-driven properties, it is `PossiblyEvaluatedPropertyValue`.
405
+ * For cross-faded properties, it's `?CrossFaded<T>`.
414
406
  *
415
407
  * @private
416
408
  */
@@ -420,7 +412,7 @@ class PossiblyEvaluatedPropertyValue {
420
412
  * given layer type.
421
413
  * @private
422
414
  */
423
- class PossiblyEvaluated {
415
+ export class PossiblyEvaluated {
424
416
  constructor(properties) {
425
417
  this._properties = properties;
426
418
  this._values = Object.create(properties.defaultPossiblyEvaluatedValues);
@@ -438,7 +430,7 @@ class PossiblyEvaluated {
438
430
  *
439
431
  * @private
440
432
  */
441
- class DataConstantProperty {
433
+ export class DataConstantProperty {
442
434
  constructor(specification) {
443
435
  this.specification = specification;
444
436
  this.specification['property-type'] ??= 'data-constant';
@@ -465,7 +457,7 @@ class DataConstantProperty {
465
457
  *
466
458
  * @private
467
459
  */
468
- class DataDrivenProperty {
460
+ export class DataDrivenProperty {
469
461
  constructor(specification) {
470
462
  this.specification = specification;
471
463
  this.specification['property-type'] ??= 'data-driven';
@@ -525,7 +517,7 @@ class DataDrivenProperty {
525
517
  * @private
526
518
  */
527
519
 
528
- class CrossFadedDataDrivenProperty extends DataDrivenProperty {
520
+ export class CrossFadedDataDrivenProperty extends DataDrivenProperty {
529
521
  constructor(specification) {
530
522
  specification['property-type'] ??= 'cross-faded-data-driven';
531
523
  super(specification);
@@ -585,7 +577,7 @@ class CrossFadedDataDrivenProperty extends DataDrivenProperty {
585
577
  *
586
578
  * @private
587
579
  */
588
- class CrossFadedProperty {
580
+ export class CrossFadedProperty {
589
581
  constructor(specification) {
590
582
  this.specification = specification;
591
583
  this.specification['property-type'] ??= 'cross-faded';
@@ -626,7 +618,7 @@ class CrossFadedProperty {
626
618
  * @private
627
619
  */
628
620
 
629
- class ColorRampProperty {
621
+ export class ColorRampProperty {
630
622
  constructor(specification) {
631
623
  this.specification = specification;
632
624
  this.specification['property-type'] ??= 'color-ramp';
@@ -652,7 +644,7 @@ class ColorRampProperty {
652
644
  *
653
645
  * @private
654
646
  */
655
- class Properties {
647
+ export class Properties {
656
648
  constructor(properties) {
657
649
  this.properties = properties;
658
650
  this.defaultPropertyValues = {};
@@ -670,18 +662,3 @@ class Properties {
670
662
  }
671
663
  }
672
664
  }
673
-
674
- module.exports = {
675
- PropertyValue,
676
- Transitionable,
677
- Transitioning,
678
- Layout,
679
- PossiblyEvaluatedPropertyValue,
680
- PossiblyEvaluated,
681
- DataConstantProperty,
682
- DataDrivenProperty,
683
- CrossFadedDataDrivenProperty,
684
- CrossFadedProperty,
685
- ColorRampProperty,
686
- Properties
687
- };
@@ -1,12 +1,6 @@
1
- const { default: Point } = require('@mapbox/point-geometry');
1
+ import Point from '@mapbox/point-geometry';
2
2
 
3
- module.exports = {
4
- getMaximumPaintValue,
5
- translateDistance,
6
- translate
7
- };
8
-
9
- function getMaximumPaintValue(property, layer, bucket) {
3
+ export function getMaximumPaintValue(property, layer, bucket) {
10
4
  const value = layer._paint.get(property).value;
11
5
  if (value.kind === 'constant') {
12
6
  return value.value;
@@ -15,11 +9,11 @@ function getMaximumPaintValue(property, layer, bucket) {
15
9
  return binders[property].maxValue;
16
10
  }
17
11
 
18
- function translateDistance(translate) {
12
+ export function translateDistance(translate) {
19
13
  return Math.sqrt(translate[0] * translate[0] + translate[1] * translate[1]);
20
14
  }
21
15
 
22
- function translate(queryGeometry, translate, translateAnchor, bearing, pixelsToTileUnits) {
16
+ export function translate(queryGeometry, translate, translateAnchor, bearing, pixelsToTileUnits) {
23
17
  if (!translate[0] && !translate[1]) {
24
18
  return queryGeometry;
25
19
  }
@@ -1,23 +1,22 @@
1
- const assert = require('assert');
2
-
3
- const { Event, ErrorEvent, Evented } = require('@mapwhit/events');
4
- const createStyleLayer = require('./create_style_layer');
5
- const loadSprite = require('./load_sprite');
6
- const ImageManager = require('../render/image_manager');
7
- const GlyphManager = require('../render/glyph_manager');
8
- const Light = require('./light');
9
- const LineAtlas = require('../render/line_atlas');
10
- const { clone, deepEqual, filterObject, mapObject } = require('../util/object');
11
- const browser = require('../util/browser');
12
- const { getType: getSourceType, setType: setSourceType } = require('../source/source');
13
- const { queryRenderedFeatures, queryRenderedSymbols, querySourceFeatures } = require('../source/query_features');
14
- const SourceCache = require('../source/source_cache');
15
- const plugin = require('../source/rtl_text_plugin');
16
- const PauseablePlacement = require('./pauseable_placement');
17
- const ZoomHistory = require('./zoom_history');
18
- const CrossTileSymbolIndex = require('../symbol/cross_tile_symbol_index');
19
- const StyleLayerIndex = require('../style/style_layer_index');
20
- const { resources } = require('../source/resources');
1
+ import { ErrorEvent, Event, Evented } from '@mapwhit/events';
2
+ import assert from 'assert';
3
+ import GlyphManager from '../render/glyph_manager.js';
4
+ import ImageManager from '../render/image_manager.js';
5
+ import LineAtlas from '../render/line_atlas.js';
6
+ import { queryRenderedFeatures, queryRenderedSymbols, querySourceFeatures } from '../source/query_features.js';
7
+ import { resources } from '../source/resources/index.js';
8
+ import plugin from '../source/rtl_text_plugin.js';
9
+ import { getType as getSourceType, setType as setSourceType } from '../source/source.js';
10
+ import SourceCache from '../source/source_cache.js';
11
+ import CrossTileSymbolIndex from '../symbol/cross_tile_symbol_index.js';
12
+ import browser from '../util/browser.js';
13
+ import { clone, deepEqual } from '../util/object.js';
14
+ import createStyleLayer from './create_style_layer.js';
15
+ import Light from './light.js';
16
+ import loadSprite from './load_sprite.js';
17
+ import PauseablePlacement from './pauseable_placement.js';
18
+ import StyleLayerIndex from './style_layer_index.js';
19
+ import ZoomHistory from './zoom_history.js';
21
20
 
22
21
  const properties = [
23
22
  'version',
@@ -246,13 +245,23 @@ class Style extends Evented {
246
245
  }
247
246
 
248
247
  loaded() {
249
- if (!this._loaded) return false;
248
+ if (!this._loaded) {
249
+ return false;
250
+ }
250
251
 
251
- if (Object.keys(this._updatedSources).length) return false;
252
+ if (Object.keys(this._updatedSources).length) {
253
+ return false;
254
+ }
252
255
 
253
- for (const id in this._sources) if (!this._sources[id].loaded()) return false;
256
+ for (const id in this._sources) {
257
+ if (!this._sources[id].loaded()) {
258
+ return false;
259
+ }
260
+ }
254
261
 
255
- if (!this.imageManager.isLoaded()) return false;
262
+ if (!this.imageManager.isLoaded()) {
263
+ return false;
264
+ }
256
265
 
257
266
  return true;
258
267
  }
@@ -428,7 +437,9 @@ class Style extends Evented {
428
437
  sourceCache.setEventedParent(null);
429
438
  sourceCache.clearTiles();
430
439
 
431
- if (sourceCache.onRemove) sourceCache.onRemove(this.map);
440
+ if (sourceCache.onRemove) {
441
+ sourceCache.onRemove(this.map);
442
+ }
432
443
  this._changed = true;
433
444
  }
434
445
 
@@ -664,7 +675,9 @@ class Style extends Evented {
664
675
  return;
665
676
  }
666
677
 
667
- if (deepEqual(layer.getLayoutProperty(name), value)) return;
678
+ if (deepEqual(layer.getLayoutProperty(name), value)) {
679
+ return;
680
+ }
668
681
 
669
682
  layer.setLayoutProperty(name, value);
670
683
  const layerObject = this.layers.find(({ id }) => id === layerId);
@@ -695,7 +708,9 @@ class Style extends Evented {
695
708
  return;
696
709
  }
697
710
 
698
- if (deepEqual(layer.getPaintProperty(name), value)) return;
711
+ if (deepEqual(layer.getPaintProperty(name), value)) {
712
+ return;
713
+ }
699
714
 
700
715
  const layerObject = this.layers.find(({ id }) => id === layerId);
701
716
  layerObject.paint ??= {};
@@ -853,7 +868,9 @@ class Style extends Evented {
853
868
  // add all 3D features that are in or above the current layer
854
869
  for (let i = features3D.length - 1; i >= 0; i--) {
855
870
  const topmost3D = features3D[i].feature;
856
- if (layerIndex.get(topmost3D.layer.id) < l) break;
871
+ if (layerIndex.get(topmost3D.layer.id) < l) {
872
+ break;
873
+ }
857
874
  features.push(topmost3D);
858
875
  features3D.pop();
859
876
  }
@@ -889,7 +906,9 @@ class Style extends Evented {
889
906
 
890
907
  const sourceResults = [];
891
908
  for (const id in this._sources) {
892
- if (params.layers && !includedSources[id]) continue;
909
+ if (params.layers && !includedSources[id]) {
910
+ continue;
911
+ }
893
912
  sourceResults.push(
894
913
  queryRenderedFeatures(this._sources[id], this._layers, queryGeometry.viewport, params, transform)
895
914
  );
@@ -932,7 +951,9 @@ class Style extends Evented {
932
951
  break;
933
952
  }
934
953
  }
935
- if (!_update) return;
954
+ if (!_update) {
955
+ return;
956
+ }
936
957
 
937
958
  const parameters = {
938
959
  now: browser.now(),
@@ -990,7 +1011,9 @@ class Style extends Evented {
990
1011
  const layerTiles = {};
991
1012
 
992
1013
  for (const layer of this._layers.values()) {
993
- if (layer.type !== 'symbol') continue;
1014
+ if (layer.type !== 'symbol') {
1015
+ continue;
1016
+ }
994
1017
 
995
1018
  if (!layerTiles[layer.source]) {
996
1019
  const sourceCache = this._sources[layer.source];
@@ -1055,7 +1078,9 @@ class Style extends Evented {
1055
1078
 
1056
1079
  if (placementCommitted || symbolBucketsChanged) {
1057
1080
  for (const layer of this._layers.values()) {
1058
- if (layer.type !== 'symbol') continue;
1081
+ if (layer.type !== 'symbol') {
1082
+ continue;
1083
+ }
1059
1084
  this.placement.updateLayerOpacities(layer, layerTiles[layer.source]);
1060
1085
  }
1061
1086
  }
@@ -1084,4 +1109,4 @@ class Style extends Evented {
1084
1109
  Style.getSourceType = getSourceType;
1085
1110
  Style.setSourceType = setSourceType;
1086
1111
 
1087
- module.exports = Style;
1112
+ export default Style;
@@ -1,6 +1,5 @@
1
- const StyleLayer = require('../style_layer');
2
-
3
- const properties = require('./background_style_layer_properties');
1
+ import StyleLayer from '../style_layer.js';
2
+ import properties from './background_style_layer_properties.js';
4
3
 
5
4
  class BackgroundStyleLayer extends StyleLayer {
6
5
  constructor(layer) {
@@ -8,4 +7,4 @@ class BackgroundStyleLayer extends StyleLayer {
8
7
  }
9
8
  }
10
9
 
11
- module.exports = BackgroundStyleLayer;
10
+ export default BackgroundStyleLayer;
@@ -1,6 +1,6 @@
1
1
  // This file is generated. Edit layer-properties.js.ejs, then run `make generate-style-code`.
2
2
 
3
- const { Properties, CrossFadedProperty, DataConstantProperty } = require('../properties');
3
+ import { CrossFadedProperty, DataConstantProperty, Properties } from '../properties.js';
4
4
 
5
5
  const paint = new Properties({
6
6
  'background-color': new DataConstantProperty({
@@ -22,4 +22,4 @@ const paint = new Properties({
22
22
  })
23
23
  });
24
24
 
25
- module.exports = { paint };
25
+ export default { paint };
@@ -1,11 +1,12 @@
1
- const StyleLayer = require('../style_layer');
1
+ import glMatrix from '@mapbox/gl-matrix';
2
+ import Point from '@mapbox/point-geometry';
3
+ import CircleBucket from '../../data/bucket/circle_bucket.js';
4
+ import { polygonIntersectsBufferedPoint } from '../../util/intersection_tests.js';
5
+ import { getMaximumPaintValue, translate, translateDistance } from '../query_utils.js';
6
+ import StyleLayer from '../style_layer.js';
7
+ import properties from './circle_style_layer_properties.js';
2
8
 
3
- const CircleBucket = require('../../data/bucket/circle_bucket');
4
- const { polygonIntersectsBufferedPoint } = require('../../util/intersection_tests');
5
- const { getMaximumPaintValue, translateDistance, translate } = require('../query_utils');
6
- const properties = require('./circle_style_layer_properties');
7
- const { vec4 } = require('@mapbox/gl-matrix');
8
- const { default: Point } = require('@mapbox/point-geometry');
9
+ const { vec4 } = glMatrix;
9
10
 
10
11
  class CircleStyleLayer extends StyleLayer {
11
12
  constructor(layer) {
@@ -73,7 +74,9 @@ class CircleStyleLayer extends StyleLayer {
73
74
  adjustedSize *= transform.cameraToCenterDistance / projectedCenter[3];
74
75
  }
75
76
 
76
- if (polygonIntersectsBufferedPoint(transformedPolygon, transformedPoint, adjustedSize)) return true;
77
+ if (polygonIntersectsBufferedPoint(transformedPolygon, transformedPoint, adjustedSize)) {
78
+ return true;
79
+ }
77
80
  }
78
81
  }
79
82
 
@@ -92,4 +95,4 @@ function projectQueryGeometry(queryGeometry, pixelPosMatrix) {
92
95
  });
93
96
  }
94
97
 
95
- module.exports = CircleStyleLayer;
98
+ export default CircleStyleLayer;
@@ -1,6 +1,6 @@
1
1
  // This file is generated. Edit layer-properties.js.ejs, then run `make generate-style-code`.
2
2
 
3
- const { Properties, DataConstantProperty, DataDrivenProperty } = require('../properties');
3
+ import { DataConstantProperty, DataDrivenProperty, Properties } from '../properties.js';
4
4
 
5
5
  const paint = new Properties({
6
6
  'circle-radius': new DataDrivenProperty({
@@ -73,4 +73,4 @@ const paint = new Properties({
73
73
  })
74
74
  });
75
75
 
76
- module.exports = { paint };
76
+ export default { paint };
@@ -1,13 +1,14 @@
1
- const StyleLayer = require('../style_layer');
1
+ import glMatrix from '@mapbox/gl-matrix';
2
+ import Point from '@mapbox/point-geometry';
3
+ import FillExtrusionBucket from '../../data/bucket/fill_extrusion_bucket.js';
4
+ import { polygonIntersectsMultiPolygon, polygonIntersectsPolygon } from '../../util/intersection_tests.js';
5
+ import { translate, translateDistance } from '../query_utils.js';
6
+ import StyleLayer from '../style_layer.js';
7
+ import properties from './fill_extrusion_style_layer_properties.js';
2
8
 
3
- const FillExtrusionBucket = require('../../data/bucket/fill_extrusion_bucket');
4
- const { polygonIntersectsPolygon, polygonIntersectsMultiPolygon } = require('../../util/intersection_tests');
5
- const { translateDistance, translate } = require('../query_utils');
6
- const properties = require('./fill_extrusion_style_layer_properties');
7
- const { vec4 } = require('@mapbox/gl-matrix');
8
- const { default: Point } = require('@mapbox/point-geometry');
9
+ const { vec4 } = glMatrix;
9
10
 
10
- class FillExtrusionStyleLayer extends StyleLayer {
11
+ export class FillExtrusionStyleLayer extends StyleLayer {
11
12
  constructor(layer) {
12
13
  super(layer, properties);
13
14
  }
@@ -57,7 +58,7 @@ function dot(a, b) {
57
58
  return a.x * b.x + a.y * b.y;
58
59
  }
59
60
 
60
- function getIntersectionDistance(projectedQueryGeometry, projectedFace) {
61
+ export function getIntersectionDistance(projectedQueryGeometry, projectedFace) {
61
62
  if (projectedQueryGeometry.length === 1) {
62
63
  // For point queries calculate the z at which the point intersects the face
63
64
  // using barycentric coordinates.
@@ -73,7 +74,9 @@ function getIntersectionDistance(projectedQueryGeometry, projectedFace) {
73
74
  let b;
74
75
  while (!b || a.equals(b)) {
75
76
  b = projectedFace[i++];
76
- if (!b) return Number.POSITIVE_INFINITY;
77
+ if (!b) {
78
+ return Number.POSITIVE_INFINITY;
79
+ }
77
80
  }
78
81
 
79
82
  // Loop until point `c` is not colinear with points `a` and `b`.
@@ -99,7 +102,9 @@ function getIntersectionDistance(projectedQueryGeometry, projectedFace) {
99
102
  // Use the barycentric weighting along with the original triangle z coordinates to get the point of intersection.
100
103
  const distance = a.z * u + b.z * v + c.z * w;
101
104
 
102
- if (Number.isFinite(distance)) return distance;
105
+ if (Number.isFinite(distance)) {
106
+ return distance;
107
+ }
103
108
  }
104
109
  return Number.POSITIVE_INFINITY;
105
110
  }
@@ -205,5 +210,3 @@ function projectQueryGeometry(queryGeometry, pixelPosMatrix, transform, z) {
205
210
  }
206
211
  return projectedQueryGeometry;
207
212
  }
208
-
209
- module.exports = { FillExtrusionStyleLayer, getIntersectionDistance };
@@ -1,6 +1,6 @@
1
1
  // This file is generated. Edit layer-properties.js.ejs, then run `make generate-style-code`.
2
2
 
3
- const { Properties, CrossFadedDataDrivenProperty, DataConstantProperty, DataDrivenProperty } = require('../properties');
3
+ import { CrossFadedDataDrivenProperty, DataConstantProperty, DataDrivenProperty, Properties } from '../properties.js';
4
4
 
5
5
  const paint = new Properties({
6
6
  'fill-extrusion-opacity': new DataConstantProperty({
@@ -53,4 +53,4 @@ const paint = new Properties({
53
53
  })
54
54
  });
55
55
 
56
- module.exports = { paint };
56
+ export default { paint };
@@ -1,9 +1,8 @@
1
- const StyleLayer = require('../style_layer');
2
-
3
- const FillBucket = require('../../data/bucket/fill_bucket');
4
- const { polygonIntersectsMultiPolygon } = require('../../util/intersection_tests');
5
- const { translateDistance, translate } = require('../query_utils');
6
- const properties = require('./fill_style_layer_properties');
1
+ import FillBucket from '../../data/bucket/fill_bucket.js';
2
+ import { polygonIntersectsMultiPolygon } from '../../util/intersection_tests.js';
3
+ import { translate, translateDistance } from '../query_utils.js';
4
+ import StyleLayer from '../style_layer.js';
5
+ import properties from './fill_style_layer_properties.js';
7
6
 
8
7
  class FillStyleLayer extends StyleLayer {
9
8
  constructor(layer) {
@@ -43,4 +42,4 @@ class FillStyleLayer extends StyleLayer {
43
42
  }
44
43
  }
45
44
 
46
- module.exports = FillStyleLayer;
45
+ export default FillStyleLayer;
@@ -1,6 +1,6 @@
1
1
  // This file is generated. Edit layer-properties.js.ejs, then run `make generate-style-code`.
2
2
 
3
- const { Properties, CrossFadedDataDrivenProperty, DataConstantProperty, DataDrivenProperty } = require('../properties');
3
+ import { CrossFadedDataDrivenProperty, DataConstantProperty, DataDrivenProperty, Properties } from '../properties.js';
4
4
 
5
5
  const paint = new Properties({
6
6
  'fill-antialias': new DataConstantProperty({ type: 'boolean', default: true, expression: { parameters: ['zoom'] } }),
@@ -42,4 +42,4 @@ const paint = new Properties({
42
42
  })
43
43
  });
44
44
 
45
- module.exports = { paint };
45
+ export default { paint };
@@ -1,8 +1,7 @@
1
- const StyleLayer = require('../style_layer');
2
-
3
- const HeatmapBucket = require('../../data/bucket/heatmap_bucket');
4
- const properties = require('./heatmap_style_layer_properties');
5
- const renderColorRamp = require('../../util/color_ramp');
1
+ import HeatmapBucket from '../../data/bucket/heatmap_bucket.js';
2
+ import renderColorRamp from '../../util/color_ramp.js';
3
+ import StyleLayer from '../style_layer.js';
4
+ import properties from './heatmap_style_layer_properties.js';
6
5
 
7
6
  class HeatmapStyleLayer extends StyleLayer {
8
7
  createBucket(options) {
@@ -48,4 +47,4 @@ class HeatmapStyleLayer extends StyleLayer {
48
47
  }
49
48
  }
50
49
 
51
- module.exports = HeatmapStyleLayer;
50
+ export default HeatmapStyleLayer;
@@ -1,6 +1,6 @@
1
1
  // This file is generated. Edit layer-properties.js.ejs, then run `make generate-style-code`.
2
2
 
3
- const { Properties, ColorRampProperty, DataConstantProperty, DataDrivenProperty } = require('../properties');
3
+ import { ColorRampProperty, DataConstantProperty, DataDrivenProperty, Properties } from '../properties.js';
4
4
 
5
5
  const paint = new Properties({
6
6
  'heatmap-radius': new DataDrivenProperty({
@@ -49,4 +49,4 @@ const paint = new Properties({
49
49
  })
50
50
  });
51
51
 
52
- module.exports = { paint };
52
+ export default { paint };
@@ -1,6 +1,5 @@
1
- const StyleLayer = require('../style_layer');
2
-
3
- const properties = require('./hillshade_style_layer_properties');
1
+ import StyleLayer from '../style_layer.js';
2
+ import properties from './hillshade_style_layer_properties.js';
4
3
 
5
4
  class HillshadeStyleLayer extends StyleLayer {
6
5
  constructor(layer) {
@@ -12,4 +11,4 @@ class HillshadeStyleLayer extends StyleLayer {
12
11
  }
13
12
  }
14
13
 
15
- module.exports = HillshadeStyleLayer;
14
+ export default HillshadeStyleLayer;
@@ -1,6 +1,6 @@
1
1
  // This file is generated. Edit layer-properties.js.ejs, then run `make generate-style-code`.
2
2
 
3
- const { Properties, DataConstantProperty } = require('../properties');
3
+ import { DataConstantProperty, Properties } from '../properties.js';
4
4
 
5
5
  const paint = new Properties({
6
6
  'hillshade-illumination-direction': new DataConstantProperty({
@@ -40,4 +40,4 @@ const paint = new Properties({
40
40
  })
41
41
  });
42
42
 
43
- module.exports = { paint };
43
+ export default { paint };