maplibre-gl 2.0.5 → 2.1.3

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 (318) hide show
  1. package/build/{banner.js → banner.ts} +1 -1
  2. package/build/generate-query-test-fixtures.ts +123 -0
  3. package/build/generate-shaders.ts +35 -0
  4. package/build/generate-struct-arrays.ts +7 -7
  5. package/build/generate-style-code.ts +8 -8
  6. package/build/generate-style-spec.ts +5 -4
  7. package/build/generate-typings.ts +16 -0
  8. package/build/readme.md +8 -18
  9. package/build/release-notes.js +9 -13
  10. package/build/{rollup_plugin_minify_style_spec.js → rollup_plugin_minify_style_spec.ts} +4 -3
  11. package/build/{rollup_plugins.js → rollup_plugins.ts} +12 -26
  12. package/dist/maplibre-gl-dev.js +54885 -0
  13. package/dist/maplibre-gl.css +1 -1
  14. package/dist/maplibre-gl.d.ts +1574 -1022
  15. package/dist/maplibre-gl.js +3 -3
  16. package/dist/maplibre-gl.js.map +1 -1
  17. package/package.json +94 -131
  18. package/src/css/maplibre-gl.css +49 -49
  19. package/src/data/{array_types.ts → array_types.g.ts} +0 -0
  20. package/src/data/bucket/circle_bucket.ts +1 -1
  21. package/src/data/bucket/fill_bucket.test.ts +1 -1
  22. package/src/data/bucket/fill_bucket.ts +4 -4
  23. package/src/data/bucket/fill_extrusion_bucket.ts +1 -1
  24. package/src/data/bucket/line_bucket.test.ts +1 -1
  25. package/src/data/bucket/line_bucket.ts +6 -6
  26. package/src/data/bucket/symbol_bucket.test.ts +16 -16
  27. package/src/data/bucket/symbol_bucket.ts +56 -56
  28. package/src/data/bucket.ts +43 -43
  29. package/src/data/dem_data.ts +12 -12
  30. package/src/data/evaluation_feature.ts +10 -10
  31. package/src/data/feature_index.ts +37 -37
  32. package/src/data/feature_position_map.ts +5 -5
  33. package/src/data/index_array_type.ts +1 -1
  34. package/src/data/load_geometry.test.ts +1 -1
  35. package/src/data/program_configuration.ts +47 -47
  36. package/src/data/segment.ts +14 -14
  37. package/src/geo/edge_insets.ts +2 -2
  38. package/src/geo/lng_lat.ts +4 -4
  39. package/src/geo/lng_lat_bounds.ts +35 -35
  40. package/src/geo/mercator_coordinate.ts +5 -5
  41. package/src/geo/transform.test.ts +1 -1
  42. package/src/geo/transform.ts +14 -14
  43. package/src/gl/context.ts +3 -3
  44. package/src/gl/types.ts +19 -19
  45. package/src/gl/value.ts +6 -6
  46. package/src/gl/vertex_buffer.test.ts +1 -1
  47. package/src/index.ts +24 -9
  48. package/src/render/draw_circle.ts +8 -8
  49. package/src/render/draw_collision_debug.ts +5 -5
  50. package/src/render/draw_debug.ts +1 -1
  51. package/src/render/draw_line.ts +4 -4
  52. package/src/render/draw_symbol.ts +21 -21
  53. package/src/render/glyph_atlas.ts +12 -12
  54. package/src/render/glyph_manager.test.ts +10 -21
  55. package/src/render/glyph_manager.ts +34 -33
  56. package/src/render/image_manager.ts +4 -4
  57. package/src/render/painter.ts +16 -14
  58. package/src/render/program/background_program.ts +29 -29
  59. package/src/render/program/circle_program.ts +11 -11
  60. package/src/render/program/clipping_mask_program.ts +1 -1
  61. package/src/render/program/collision_program.ts +9 -9
  62. package/src/render/program/debug_program.ts +4 -4
  63. package/src/render/program/fill_extrusion_program.ts +31 -31
  64. package/src/render/program/fill_program.ts +29 -29
  65. package/src/render/program/heatmap_program.ts +12 -12
  66. package/src/render/program/hillshade_program.ts +12 -12
  67. package/src/render/program/line_program.ts +41 -41
  68. package/src/render/program/pattern.ts +28 -28
  69. package/src/render/program/raster_program.ts +21 -21
  70. package/src/render/program/symbol_program.ts +97 -97
  71. package/src/render/program.ts +25 -25
  72. package/src/render/texture.ts +9 -9
  73. package/src/render/uniform_binding.ts +1 -1
  74. package/src/render/vertex_array_object.ts +13 -13
  75. package/src/shaders/_prelude.fragment.glsl.g.ts +2 -0
  76. package/src/shaders/_prelude.vertex.glsl.g.ts +2 -0
  77. package/src/shaders/background.fragment.glsl.g.ts +2 -0
  78. package/src/shaders/background.vertex.glsl.g.ts +2 -0
  79. package/src/shaders/background_pattern.fragment.glsl.g.ts +2 -0
  80. package/src/shaders/background_pattern.vertex.glsl.g.ts +2 -0
  81. package/src/shaders/circle.fragment.glsl.g.ts +2 -0
  82. package/src/shaders/circle.vertex.glsl.g.ts +2 -0
  83. package/src/shaders/clipping_mask.fragment.glsl.g.ts +2 -0
  84. package/src/shaders/clipping_mask.vertex.glsl.g.ts +2 -0
  85. package/src/shaders/collision_box.fragment.glsl.g.ts +2 -0
  86. package/src/shaders/collision_box.vertex.glsl.g.ts +2 -0
  87. package/src/shaders/collision_circle.fragment.glsl.g.ts +2 -0
  88. package/src/shaders/collision_circle.vertex.glsl.g.ts +2 -0
  89. package/src/shaders/debug.fragment.glsl.g.ts +2 -0
  90. package/src/shaders/debug.vertex.glsl.g.ts +2 -0
  91. package/src/shaders/fill.fragment.glsl.g.ts +2 -0
  92. package/src/shaders/fill.vertex.glsl.g.ts +2 -0
  93. package/src/shaders/fill_extrusion.fragment.glsl.g.ts +2 -0
  94. package/src/shaders/fill_extrusion.vertex.glsl.g.ts +2 -0
  95. package/src/shaders/fill_extrusion_pattern.fragment.glsl.g.ts +2 -0
  96. package/src/shaders/fill_extrusion_pattern.vertex.glsl.g.ts +2 -0
  97. package/src/shaders/fill_outline.fragment.glsl.g.ts +2 -0
  98. package/src/shaders/fill_outline.vertex.glsl.g.ts +2 -0
  99. package/src/shaders/fill_outline_pattern.fragment.glsl.g.ts +2 -0
  100. package/src/shaders/fill_outline_pattern.vertex.glsl.g.ts +2 -0
  101. package/src/shaders/fill_pattern.fragment.glsl.g.ts +2 -0
  102. package/src/shaders/fill_pattern.vertex.glsl.g.ts +2 -0
  103. package/src/shaders/heatmap.fragment.glsl.g.ts +2 -0
  104. package/src/shaders/heatmap.vertex.glsl.g.ts +2 -0
  105. package/src/shaders/heatmap_texture.fragment.glsl.g.ts +2 -0
  106. package/src/shaders/heatmap_texture.vertex.glsl.g.ts +2 -0
  107. package/src/shaders/hillshade.fragment.glsl.g.ts +2 -0
  108. package/src/shaders/hillshade.vertex.glsl.g.ts +2 -0
  109. package/src/shaders/hillshade_prepare.fragment.glsl.g.ts +2 -0
  110. package/src/shaders/hillshade_prepare.vertex.glsl.g.ts +2 -0
  111. package/src/shaders/line.fragment.glsl.g.ts +2 -0
  112. package/src/shaders/line.vertex.glsl.g.ts +2 -0
  113. package/src/shaders/line_gradient.fragment.glsl.g.ts +2 -0
  114. package/src/shaders/line_gradient.vertex.glsl.g.ts +2 -0
  115. package/src/shaders/line_pattern.fragment.glsl.g.ts +2 -0
  116. package/src/shaders/line_pattern.vertex.glsl.g.ts +2 -0
  117. package/src/shaders/line_sdf.fragment.glsl.g.ts +2 -0
  118. package/src/shaders/line_sdf.vertex.glsl.g.ts +2 -0
  119. package/src/shaders/raster.fragment.glsl.g.ts +2 -0
  120. package/src/shaders/raster.vertex.glsl.g.ts +2 -0
  121. package/src/shaders/shaders.ts +52 -55
  122. package/src/shaders/symbol_icon.fragment.glsl.g.ts +2 -0
  123. package/src/shaders/symbol_icon.vertex.glsl.g.ts +2 -0
  124. package/src/shaders/symbol_sdf.fragment.glsl.g.ts +2 -0
  125. package/src/shaders/symbol_sdf.vertex.glsl.g.ts +2 -0
  126. package/src/shaders/symbol_text_and_icon.fragment.glsl.g.ts +2 -0
  127. package/src/shaders/symbol_text_and_icon.vertex.glsl.g.ts +2 -0
  128. package/src/source/canvas_source.test.ts +11 -12
  129. package/src/source/canvas_source.ts +4 -4
  130. package/src/source/geojson_source.test.ts +2 -1
  131. package/src/source/geojson_source.ts +1 -1
  132. package/src/source/geojson_worker_source.ts +23 -23
  133. package/src/source/geojson_wrapper.ts +8 -8
  134. package/src/source/image_source.test.ts +2 -2
  135. package/src/source/image_source.ts +6 -6
  136. package/src/source/pixels_to_tile_units.ts +6 -6
  137. package/src/source/query_features.ts +20 -20
  138. package/src/source/raster_dem_tile_source.test.ts +4 -3
  139. package/src/source/raster_dem_tile_source.ts +1 -1
  140. package/src/source/raster_tile_source.test.ts +4 -3
  141. package/src/source/raster_tile_source.ts +1 -1
  142. package/src/source/rtl_text_plugin.ts +10 -10
  143. package/src/source/source.ts +29 -29
  144. package/src/source/source_cache.test.ts +33 -1
  145. package/src/source/source_cache.ts +7 -5
  146. package/src/source/source_state.ts +1 -1
  147. package/src/source/tile.test.ts +3 -3
  148. package/src/source/tile.ts +15 -15
  149. package/src/source/tile_cache.test.ts +6 -4
  150. package/src/source/tile_cache.ts +6 -6
  151. package/src/source/tile_id.test.ts +10 -13
  152. package/src/source/tile_id.ts +2 -2
  153. package/src/source/vector_tile_source.test.ts +17 -5
  154. package/src/source/vector_tile_source.ts +4 -5
  155. package/src/source/vector_tile_worker_source.test.ts +4 -4
  156. package/src/source/vector_tile_worker_source.ts +5 -5
  157. package/src/source/worker.test.ts +1 -1
  158. package/src/source/worker.ts +22 -22
  159. package/src/source/worker_source.ts +56 -56
  160. package/src/source/worker_tile.ts +4 -4
  161. package/src/style/evaluation_parameters.ts +3 -3
  162. package/src/style/format_section_override.test.ts +1 -1
  163. package/src/style/light.ts +10 -10
  164. package/src/style/load_glyph_range.test.ts +3 -5
  165. package/src/style/load_glyph_range.ts +6 -6
  166. package/src/style/load_sprite.ts +5 -4
  167. package/src/style/pauseable_placement.ts +1 -1
  168. package/src/style/properties.ts +70 -70
  169. package/src/style/query_utils.ts +7 -7
  170. package/src/style/style.test.ts +26 -15
  171. package/src/style/style.ts +30 -30
  172. package/src/style/style_glyph.ts +8 -8
  173. package/src/style/style_image.ts +58 -58
  174. package/src/style/style_layer/background_style_layer.ts +2 -2
  175. package/src/style/style_layer/{background_style_layer_properties.ts → background_style_layer_properties.g.ts} +0 -0
  176. package/src/style/style_layer/circle_style_layer.ts +10 -10
  177. package/src/style/style_layer/{circle_style_layer_properties.ts → circle_style_layer_properties.g.ts} +0 -0
  178. package/src/style/style_layer/custom_style_layer.ts +19 -19
  179. package/src/style/style_layer/fill_extrusion_style_layer.ts +11 -11
  180. package/src/style/style_layer/{fill_extrusion_style_layer_properties.ts → fill_extrusion_style_layer_properties.g.ts} +0 -0
  181. package/src/style/style_layer/fill_style_layer.ts +9 -9
  182. package/src/style/style_layer/{fill_style_layer_properties.ts → fill_style_layer_properties.g.ts} +0 -0
  183. package/src/style/style_layer/heatmap_style_layer.ts +2 -2
  184. package/src/style/style_layer/{heatmap_style_layer_properties.ts → heatmap_style_layer_properties.g.ts} +0 -0
  185. package/src/style/style_layer/hillshade_style_layer.ts +2 -2
  186. package/src/style/style_layer/{hillshade_style_layer_properties.ts → hillshade_style_layer_properties.g.ts} +0 -0
  187. package/src/style/style_layer/line_style_layer.ts +9 -9
  188. package/src/style/style_layer/{line_style_layer_properties.ts → line_style_layer_properties.g.ts} +0 -0
  189. package/src/style/style_layer/raster_style_layer.ts +2 -2
  190. package/src/style/style_layer/{raster_style_layer_properties.ts → raster_style_layer_properties.g.ts} +0 -0
  191. package/src/style/style_layer/symbol_style_layer.ts +26 -7
  192. package/src/style/style_layer/{symbol_style_layer_properties.ts → symbol_style_layer_properties.g.ts} +6 -0
  193. package/src/style/style_layer.ts +10 -10
  194. package/src/style/style_layer_index.ts +3 -3
  195. package/src/style/validate_style.ts +15 -15
  196. package/src/style-spec/CHANGELOG.md +6 -0
  197. package/src/style-spec/error/validation_error.ts +1 -1
  198. package/src/style-spec/expression/compound_expression.ts +3 -3
  199. package/src/style-spec/expression/definitions/format.ts +11 -11
  200. package/src/style-spec/expression/definitions/interpolate.ts +5 -5
  201. package/src/style-spec/expression/definitions/match.ts +2 -2
  202. package/src/style-spec/expression/definitions/number_format.ts +11 -11
  203. package/src/style-spec/expression/expression.ts +8 -8
  204. package/src/style-spec/expression/index.ts +97 -97
  205. package/src/style-spec/expression/parsing_context.ts +11 -11
  206. package/src/style-spec/expression/types/collator.ts +9 -9
  207. package/src/style-spec/expression/types/resolved_image.ts +2 -2
  208. package/src/style-spec/expression/types.ts +14 -14
  209. package/src/style-spec/expression/values.ts +1 -1
  210. package/src/style-spec/feature_filter/index.ts +66 -66
  211. package/src/style-spec/function/convert.ts +3 -3
  212. package/src/style-spec/package.json +1 -1
  213. package/src/style-spec/reference/v8.json +68 -2
  214. package/src/style-spec/style-spec.ts +44 -44
  215. package/src/style-spec/types.ts +2 -0
  216. package/src/style-spec/util/color_spaces.ts +8 -8
  217. package/src/style-spec/util/result.ts +4 -4
  218. package/src/style-spec/validate/validate_filter.ts +58 -58
  219. package/src/style-spec/validate/validate_source.ts +63 -63
  220. package/src/style-spec/visit.ts +11 -11
  221. package/src/symbol/collision_feature.test.ts +1 -1
  222. package/src/symbol/collision_feature.ts +10 -10
  223. package/src/symbol/collision_index.ts +43 -43
  224. package/src/symbol/cross_tile_symbol_index.ts +17 -17
  225. package/src/symbol/get_anchors.ts +16 -16
  226. package/src/symbol/grid_index.test.ts +42 -19
  227. package/src/symbol/grid_index.ts +69 -40
  228. package/src/symbol/placement.ts +124 -95
  229. package/src/symbol/projection.ts +30 -30
  230. package/src/symbol/quads.ts +30 -30
  231. package/src/symbol/shaping.ts +160 -160
  232. package/src/symbol/symbol_layout.ts +119 -119
  233. package/src/symbol/symbol_size.ts +29 -29
  234. package/src/symbol/symbol_style_layer.test.ts +49 -2
  235. package/src/types/cancelable.ts +1 -1
  236. package/src/types/tilejson.ts +13 -13
  237. package/src/ui/anchor.ts +1 -1
  238. package/src/ui/camera.test.ts +9 -9
  239. package/src/ui/camera.ts +18 -18
  240. package/src/ui/control/attribution_control.test.ts +51 -16
  241. package/src/ui/control/attribution_control.ts +35 -16
  242. package/src/ui/control/control.ts +40 -40
  243. package/src/ui/control/fullscreen_control.ts +1 -1
  244. package/src/ui/control/geolocate_control.test.ts +1 -1
  245. package/src/ui/control/geolocate_control.ts +102 -102
  246. package/src/ui/control/logo_control.test.ts +5 -4
  247. package/src/ui/control/navigation_control.ts +3 -3
  248. package/src/ui/control/scale_control.test.ts +2 -2
  249. package/src/ui/control/scale_control.ts +5 -5
  250. package/src/ui/events.ts +289 -200
  251. package/src/ui/handler/box_zoom.test.ts +1 -1
  252. package/src/ui/handler/box_zoom.ts +1 -1
  253. package/src/ui/handler/dblclick_zoom.test.ts +1 -1
  254. package/src/ui/handler/drag_pan.test.ts +1 -1
  255. package/src/ui/handler/drag_rotate.test.ts +1 -1
  256. package/src/ui/handler/keyboard.test.ts +1 -1
  257. package/src/ui/handler/keyboard.ts +51 -51
  258. package/src/ui/handler/map_event.test.ts +1 -1
  259. package/src/ui/handler/map_event.ts +1 -1
  260. package/src/ui/handler/mouse.ts +1 -1
  261. package/src/ui/handler/mouse_rotate.test.ts +1 -1
  262. package/src/ui/handler/scroll_zoom.test.ts +3 -2
  263. package/src/ui/handler/scroll_zoom.ts +9 -9
  264. package/src/ui/handler/shim/drag_pan.ts +4 -4
  265. package/src/ui/handler/shim/drag_rotate.ts +1 -1
  266. package/src/ui/handler/shim/touch_zoom_rotate.ts +1 -1
  267. package/src/ui/handler/tap_recognizer.ts +4 -4
  268. package/src/ui/handler/touch_pan.ts +2 -2
  269. package/src/ui/handler/touch_zoom_rotate.test.ts +1 -1
  270. package/src/ui/handler/touch_zoom_rotate.ts +1 -1
  271. package/src/ui/handler_inertia.ts +6 -6
  272. package/src/ui/handler_manager.ts +44 -44
  273. package/src/ui/map/isMoving.test.ts +1 -1
  274. package/src/ui/map/isRotating.test.ts +1 -1
  275. package/src/ui/map/isZooming.test.ts +1 -1
  276. package/src/ui/map.test.ts +87 -14
  277. package/src/ui/map.ts +136 -106
  278. package/src/ui/map_events.test.ts +1 -1
  279. package/src/ui/marker.test.ts +12 -12
  280. package/src/ui/marker.ts +37 -37
  281. package/src/ui/popup.test.ts +7 -7
  282. package/src/ui/popup.ts +9 -9
  283. package/src/util/actor.test.ts +41 -10
  284. package/src/util/actor.ts +8 -8
  285. package/src/util/ajax.test.ts +29 -21
  286. package/src/util/ajax.ts +51 -30
  287. package/src/util/browser.ts +1 -1
  288. package/src/util/classify_rings.test.ts +1 -1
  289. package/src/util/color_ramp.ts +5 -5
  290. package/src/util/config.ts +2 -2
  291. package/src/util/dispatcher.ts +1 -1
  292. package/src/util/dom.ts +2 -2
  293. package/src/util/evented.ts +1 -1
  294. package/src/util/find_pole_of_inaccessibility.ts +3 -3
  295. package/src/util/image.ts +5 -5
  296. package/src/util/performance.ts +7 -7
  297. package/src/util/request_manager.ts +4 -4
  298. package/src/util/resolve_tokens.ts +4 -4
  299. package/src/util/struct_array.test.ts +1 -1
  300. package/src/util/struct_array.ts +15 -15
  301. package/src/util/task_queue.ts +3 -3
  302. package/src/util/tile_request_cache.ts +3 -3
  303. package/src/util/transferable_grid_index.ts +4 -4
  304. package/src/util/util.ts +8 -8
  305. package/src/util/web_worker.ts +4 -68
  306. package/src/util/web_worker_transfer.test.ts +3 -0
  307. package/src/util/web_worker_transfer.ts +21 -17
  308. package/src/util/worker_pool.ts +1 -1
  309. package/build/.eslintrc +0 -21
  310. package/build/glsl_to_js.js +0 -12
  311. package/build/post-ts-build.js +0 -43
  312. package/build/release-notes.md.ejs +0 -8
  313. package/build/test/build-tape.js +0 -17
  314. package/build/web_worker_replacement.js +0 -5
  315. package/dist/package.json +0 -1
  316. package/src/style-spec/validate_spec.test.ts +0 -29
  317. package/src/symbol/shaping.test.ts +0 -392
  318. package/src/types/glsl.d.ts +0 -4
@@ -31,21 +31,21 @@ export default class Worker {
31
31
  layerIndexes: {[_: string]: StyleLayerIndex};
32
32
  availableImages: {[_: string]: Array<string>};
33
33
  workerSourceTypes: {
34
- [_: string]: {
35
- new (...args: any): WorkerSource;
36
- };
34
+ [_: string]: {
35
+ new (...args: any): WorkerSource;
36
+ };
37
37
  };
38
38
  workerSources: {
39
- [_: string]: {
40
39
  [_: string]: {
41
- [_: string]: WorkerSource;
40
+ [_: string]: {
41
+ [_: string]: WorkerSource;
42
+ };
42
43
  };
43
- };
44
44
  };
45
45
  demWorkerSources: {
46
- [_: string]: {
47
- [_: string]: RasterDEMTileWorkerSource;
48
- };
46
+ [_: string]: {
47
+ [_: string]: RasterDEMTileWorkerSource;
48
+ };
49
49
  };
50
50
  referrer: string;
51
51
 
@@ -66,7 +66,7 @@ export default class Worker {
66
66
  this.demWorkerSources = {};
67
67
 
68
68
  this.self.registerWorkerSource = (name: string, WorkerSource: {
69
- new (...args: any): WorkerSource;
69
+ new (...args: any): WorkerSource;
70
70
  }) => {
71
71
  if (this.workerSourceTypes[name]) {
72
72
  throw new Error(`Worker source with name "${name}" already registered.`);
@@ -76,9 +76,9 @@ export default class Worker {
76
76
 
77
77
  // This is invoked by the RTL text plugin when the download via the `importScripts` call has finished, and the code has been parsed.
78
78
  this.self.registerRTLTextPlugin = (rtlTextPlugin: {
79
- applyArabicShaping: Function;
80
- processBidirectionalText: ((b: string, a: Array<number>) => Array<string>);
81
- processStyledBidirectionalText?: ((c: string, b: Array<number>, a: Array<number>) => Array<[string, Array<number>]>);
79
+ applyArabicShaping: Function;
80
+ processBidirectionalText: ((b: string, a: Array<number>) => Array<string>);
81
+ processStyledBidirectionalText?: ((c: string, b: Array<number>, a: Array<number>) => Array<[string, Array<number>]>);
82
82
  }) => {
83
83
  if (globalRTLTextPlugin.isParsed()) {
84
84
  throw new Error('RTL text plugin already registered.');
@@ -110,15 +110,15 @@ export default class Worker {
110
110
  }
111
111
 
112
112
  updateLayers(mapId: string, params: {
113
- layers: Array<LayerSpecification>;
114
- removedIds: Array<string>;
113
+ layers: Array<LayerSpecification>;
114
+ removedIds: Array<string>;
115
115
  }, callback: WorkerTileCallback) {
116
116
  this.getLayerIndex(mapId).update(params.layers, params.removedIds);
117
117
  callback();
118
118
  }
119
119
 
120
120
  loadTile(mapId: string, params: WorkerTileParameters & {
121
- type: string;
121
+ type: string;
122
122
  }, callback: WorkerTileCallback) {
123
123
  assert(params.type);
124
124
  this.getWorkerSource(mapId, params.type, params.source).loadTile(params, callback);
@@ -129,21 +129,21 @@ export default class Worker {
129
129
  }
130
130
 
131
131
  reloadTile(mapId: string, params: WorkerTileParameters & {
132
- type: string;
132
+ type: string;
133
133
  }, callback: WorkerTileCallback) {
134
134
  assert(params.type);
135
135
  this.getWorkerSource(mapId, params.type, params.source).reloadTile(params, callback);
136
136
  }
137
137
 
138
138
  abortTile(mapId: string, params: TileParameters & {
139
- type: string;
139
+ type: string;
140
140
  }, callback: WorkerTileCallback) {
141
141
  assert(params.type);
142
142
  this.getWorkerSource(mapId, params.type, params.source).abortTile(params, callback);
143
143
  }
144
144
 
145
145
  removeTile(mapId: string, params: TileParameters & {
146
- type: string;
146
+ type: string;
147
147
  }, callback: WorkerTileCallback) {
148
148
  assert(params.type);
149
149
  this.getWorkerSource(mapId, params.type, params.source).removeTile(params, callback);
@@ -154,9 +154,9 @@ export default class Worker {
154
154
  }
155
155
 
156
156
  removeSource(mapId: string, params: {
157
- source: string;
157
+ source: string;
158
158
  } & {
159
- type: string;
159
+ type: string;
160
160
  }, callback: WorkerTileCallback) {
161
161
  assert(params.type);
162
162
  assert(params.source);
@@ -184,7 +184,7 @@ export default class Worker {
184
184
  * @private
185
185
  */
186
186
  loadWorkerSource(map: string, params: {
187
- url: string;
187
+ url: string;
188
188
  }, callback: Callback<void>) {
189
189
  try {
190
190
  this.self.importScripts(params.url);
@@ -5,59 +5,59 @@ import type ImageAtlas from '../render/image_atlas';
5
5
  import type {OverscaledTileID} from './tile_id';
6
6
  import type {Bucket} from '../data/bucket';
7
7
  import type FeatureIndex from '../data/feature_index';
8
- import type {CollisionBoxArray} from '../data/array_types';
8
+ import type {CollisionBoxArray} from '../data/array_types.g';
9
9
  import type DEMData from '../data/dem_data';
10
10
  import type {StyleGlyph} from '../style/style_glyph';
11
11
  import type {StyleImage} from '../style/style_image';
12
12
  import type {PromoteIdSpecification} from '../style-spec/types';
13
13
 
14
14
  export type TileParameters = {
15
- source: string;
16
- uid: string;
15
+ source: string;
16
+ uid: string;
17
17
  };
18
18
 
19
19
  export type WorkerTileParameters = TileParameters & {
20
- tileID: OverscaledTileID;
21
- request: RequestParameters;
22
- zoom: number;
23
- maxZoom: number;
24
- tileSize: number;
25
- promoteId: PromoteIdSpecification;
26
- pixelRatio: number;
27
- showCollisionBoxes: boolean;
28
- collectResourceTiming?: boolean;
29
- returnDependencies?: boolean;
20
+ tileID: OverscaledTileID;
21
+ request: RequestParameters;
22
+ zoom: number;
23
+ maxZoom: number;
24
+ tileSize: number;
25
+ promoteId: PromoteIdSpecification;
26
+ pixelRatio: number;
27
+ showCollisionBoxes: boolean;
28
+ collectResourceTiming?: boolean;
29
+ returnDependencies?: boolean;
30
30
  };
31
31
 
32
32
  export type WorkerDEMTileParameters = TileParameters & {
33
- coord: {
34
- z: number;
35
- x: number;
36
- y: number;
37
- w: number;
38
- };
39
- rawImageData: RGBAImage | ImageBitmap;
40
- encoding: 'mapbox' | 'terrarium';
33
+ coord: {
34
+ z: number;
35
+ x: number;
36
+ y: number;
37
+ w: number;
38
+ };
39
+ rawImageData: RGBAImage | ImageBitmap;
40
+ encoding: 'mapbox' | 'terrarium';
41
41
  };
42
42
 
43
43
  export type WorkerTileResult = {
44
- buckets: Array<Bucket>;
45
- imageAtlas: ImageAtlas;
46
- glyphAtlasImage: AlphaImage;
47
- featureIndex: FeatureIndex;
48
- collisionBoxArray: CollisionBoxArray;
49
- rawTileData?: ArrayBuffer;
50
- resourceTiming?: Array<PerformanceResourceTiming>;
51
- // Only used for benchmarking:
52
- glyphMap?: {
53
- [_: string]: {
54
- [_: number]: StyleGlyph;
55
- };
56
- } | null;
57
- iconMap?: {
58
- [_: string]: StyleImage;
59
- } | null;
60
- glyphPositions?: GlyphPositions | null;
44
+ buckets: Array<Bucket>;
45
+ imageAtlas: ImageAtlas;
46
+ glyphAtlasImage: AlphaImage;
47
+ featureIndex: FeatureIndex;
48
+ collisionBoxArray: CollisionBoxArray;
49
+ rawTileData?: ArrayBuffer;
50
+ resourceTiming?: Array<PerformanceResourceTiming>;
51
+ // Only used for benchmarking:
52
+ glyphMap?: {
53
+ [_: string]: {
54
+ [_: number]: StyleGlyph;
55
+ };
56
+ } | null;
57
+ iconMap?: {
58
+ [_: string]: StyleImage;
59
+ } | null;
60
+ glyphPositions?: GlyphPositions | null;
61
61
  };
62
62
 
63
63
  export type WorkerTileCallback = (error?: Error | null, result?: WorkerTileResult | null) => void;
@@ -78,38 +78,38 @@ export type WorkerDEMTileCallback = (err?: Error | null, result?: DEMData | null
78
78
  * @param layerIndex
79
79
  */
80
80
  export interface WorkerSource {
81
- availableImages: Array<string>;
82
- // Disabled due to https://github.com/facebook/flow/issues/5208
83
- // constructor(actor: Actor, layerIndex: StyleLayerIndex): WorkerSource;
81
+ availableImages: Array<string>;
82
+ // Disabled due to https://github.com/facebook/flow/issues/5208
83
+ // constructor(actor: Actor, layerIndex: StyleLayerIndex): WorkerSource;
84
84
 
85
- /**
85
+ /**
86
86
  * Loads a tile from the given params and parse it into buckets ready to send
87
87
  * back to the main thread for rendering. Should call the callback with:
88
88
  * `{ buckets, featureIndex, collisionIndex, rawTileData}`.
89
89
  */
90
- loadTile(params: WorkerTileParameters, callback: WorkerTileCallback): void;
91
- /**
90
+ loadTile(params: WorkerTileParameters, callback: WorkerTileCallback): void;
91
+ /**
92
92
  * Re-parses a tile that has already been loaded. Yields the same data as
93
93
  * {@link WorkerSource#loadTile}.
94
94
  */
95
- reloadTile(params: WorkerTileParameters, callback: WorkerTileCallback): void;
96
- /**
95
+ reloadTile(params: WorkerTileParameters, callback: WorkerTileCallback): void;
96
+ /**
97
97
  * Aborts loading a tile that is in progress.
98
98
  */
99
- abortTile(params: TileParameters, callback: WorkerTileCallback): void;
100
- /**
99
+ abortTile(params: TileParameters, callback: WorkerTileCallback): void;
100
+ /**
101
101
  * Removes this tile from any local caches.
102
102
  */
103
- removeTile(params: TileParameters, callback: WorkerTileCallback): void;
104
- /**
103
+ removeTile(params: TileParameters, callback: WorkerTileCallback): void;
104
+ /**
105
105
  * Tells the WorkerSource to abort in-progress tasks and release resources.
106
106
  * The foreground Source is responsible for ensuring that 'removeSource' is
107
107
  * the last message sent to the WorkerSource.
108
108
  */
109
- removeSource?: (
110
- params: {
111
- source: string;
112
- },
113
- callback: WorkerTileCallback
114
- ) => void;
109
+ removeSource?: (
110
+ params: {
111
+ source: string;
112
+ },
113
+ callback: WorkerTileCallback
114
+ ) => void;
115
115
  }
@@ -1,7 +1,7 @@
1
1
  import FeatureIndex from '../data/feature_index';
2
2
 
3
3
  import {performSymbolLayout} from '../symbol/symbol_layout';
4
- import {CollisionBoxArray} from '../data/array_types';
4
+ import {CollisionBoxArray} from '../data/array_types.g';
5
5
  import DictionaryCoder from '../util/dictionary_coder';
6
6
  import SymbolBucket from '../data/bucket/symbol_bucket';
7
7
  import LineBucket from '../data/bucket/line_bucket';
@@ -130,9 +130,9 @@ class WorkerTile {
130
130
 
131
131
  let error: Error;
132
132
  let glyphMap: {
133
- [_: string]: {
134
- [_: number]: StyleGlyph;
135
- };
133
+ [_: string]: {
134
+ [_: number]: StyleGlyph;
135
+ };
136
136
  };
137
137
  let iconMap: {[_: string]: StyleImage};
138
138
  let patternMap: {[_: string]: StyleImage};
@@ -5,9 +5,9 @@ import {plugin as rtlTextPlugin} from '../source/rtl_text_plugin';
5
5
  import type {TransitionSpecification} from '../style-spec/types';
6
6
 
7
7
  export type CrossfadeParameters = {
8
- fromScale: number;
9
- toScale: number;
10
- t: number;
8
+ fromScale: number;
9
+ toScale: number;
10
+ t: number;
11
11
  };
12
12
 
13
13
  class EvaluationParameters {
@@ -1,6 +1,6 @@
1
1
  import {createExpression, StyleExpression, ZoomConstantExpression} from '../style-spec/expression';
2
2
  import EvaluationContext from '../style-spec/expression/evaluation_context';
3
- import properties from './style_layer/symbol_style_layer_properties';
3
+ import properties from './style_layer/symbol_style_layer_properties.g';
4
4
  import {PossiblyEvaluatedPropertyValue} from './properties';
5
5
  import FormatSectionOverride from './format_section_override';
6
6
  import EvaluationParameters from './evaluation_parameters';
@@ -24,9 +24,9 @@ import type {
24
24
  import type {LightSpecification} from '../style-spec/types';
25
25
 
26
26
  type LightPosition = {
27
- x: number;
28
- y: number;
29
- z: number;
27
+ x: number;
28
+ y: number;
29
+ z: number;
30
30
  };
31
31
 
32
32
  class LightPositionProperty implements Property<[number, number, number], LightPosition> {
@@ -37,8 +37,8 @@ class LightPositionProperty implements Property<[number, number, number], LightP
37
37
  }
38
38
 
39
39
  possiblyEvaluate(
40
- value: PropertyValue<[number, number, number], LightPosition>,
41
- parameters: EvaluationParameters
40
+ value: PropertyValue<[number, number, number], LightPosition>,
41
+ parameters: EvaluationParameters
42
42
  ): LightPosition {
43
43
  return sphericalToCartesian(value.expression.evaluate(parameters));
44
44
  }
@@ -53,10 +53,10 @@ class LightPositionProperty implements Property<[number, number, number], LightP
53
53
  }
54
54
 
55
55
  type Props = {
56
- 'anchor': DataConstantProperty<'map' | 'viewport'>;
57
- 'position': LightPositionProperty;
58
- 'color': DataConstantProperty<Color>;
59
- 'intensity': DataConstantProperty<number>;
56
+ 'anchor': DataConstantProperty<'map' | 'viewport'>;
57
+ 'position': LightPositionProperty;
58
+ 'color': DataConstantProperty<Color>;
59
+ 'intensity': DataConstantProperty<number>;
60
60
  };
61
61
 
62
62
  type PropsPossiblyEvaluated = {
@@ -122,7 +122,7 @@ class Light extends Evented {
122
122
  }
123
123
 
124
124
  _validate(validate: Function, value: unknown, options?: {
125
- validate?: boolean;
125
+ validate?: boolean;
126
126
  }) {
127
127
  if (options && options.validate === false) {
128
128
  return false;
@@ -2,7 +2,7 @@ import fs from 'fs';
2
2
  import path from 'path';
3
3
  import {RequestManager} from '../util/request_manager';
4
4
  import loadGlyphRange from './load_glyph_range';
5
- import {useFakeXMLHttpRequest} from 'sinon';
5
+ import {fakeXhr} from 'nise';
6
6
 
7
7
  test('loadGlyphRange', done => {
8
8
  global.fetch = null;
@@ -14,7 +14,7 @@ test('loadGlyphRange', done => {
14
14
  const manager = new RequestManager(transform);
15
15
 
16
16
  let request;
17
- useFakeXMLHttpRequest().onCreate = (req) => { request = req; };
17
+ fakeXhr.useFakeXMLHttpRequest().onCreate = (req) => { request = req; };
18
18
 
19
19
  loadGlyphRange('Arial Unicode MS', 0, 'https://localhost/fonts/v1/{fontstack}/{range}.pbf', manager, (err, result) => {
20
20
  expect(err).toBeFalsy();
@@ -26,8 +26,6 @@ test('loadGlyphRange', done => {
26
26
  const id = Number(key);
27
27
  const glyph = result[id];
28
28
 
29
- if (!glyph) return done.fail(); // appease flow
30
-
31
29
  expect(glyph.id).toBe(Number(id));
32
30
  expect(glyph.metrics).toBeTruthy();
33
31
  expect(typeof glyph.metrics.width).toBe('number');
@@ -40,6 +38,6 @@ test('loadGlyphRange', done => {
40
38
 
41
39
  expect(request.url).toBe('https://localhost/fonts/v1/Arial Unicode MS/0-255.pbf');
42
40
  request.setStatus(200);
43
- request.response = fs.readFileSync(path.join(__dirname, '../../test/fixtures/0-255.pbf'));
41
+ request.response = fs.readFileSync(path.join(__dirname, '../../test/unit/assets/0-255.pbf'));
44
42
  request.onload();
45
43
  });
@@ -7,12 +7,12 @@ import type {RequestManager} from '../util/request_manager';
7
7
  import type {Callback} from '../types/callback';
8
8
 
9
9
  export default function loadGlyphRange(fontstack: string,
10
- range: number,
11
- urlTemplate: string,
12
- requestManager: RequestManager,
13
- callback: Callback<{
14
- [_: number]: StyleGlyph | null;
15
- }>) {
10
+ range: number,
11
+ urlTemplate: string,
12
+ requestManager: RequestManager,
13
+ callback: Callback<{
14
+ [_: number]: StyleGlyph | null;
15
+ }>) {
16
16
  const begin = range * 256;
17
17
  const end = begin + 255;
18
18
 
@@ -9,12 +9,13 @@ import type {Callback} from '../types/callback';
9
9
  import type {Cancelable} from '../types/cancelable';
10
10
 
11
11
  export default function(
12
- baseURL: string,
13
- requestManager: RequestManager,
14
- callback: Callback<{[_: string]: StyleImage}>
12
+ baseURL: string,
13
+ requestManager: RequestManager,
14
+ pixelRatio: number,
15
+ callback: Callback<{[_: string]: StyleImage}>
15
16
  ): Cancelable {
16
17
  let json: any, image, error;
17
- const format = devicePixelRatio > 1 ? '@2x' : '';
18
+ const format = pixelRatio > 1 ? '@2x' : '';
18
19
 
19
20
  let jsonRequest = getJSON(requestManager.transformRequest(requestManager.normalizeSpriteURL(baseURL, format, '.json'), ResourceType.SpriteJSON), (err?: Error | null, data?: any | null) => {
20
21
  jsonRequest = null;
@@ -13,7 +13,7 @@ class LayerPlacement {
13
13
  _currentTileIndex: number;
14
14
  _currentPartIndex: number;
15
15
  _seenCrossTileIDs: {
16
- [k in string | number]: boolean;
16
+ [k in string | number]: boolean;
17
17
  };
18
18
  _bucketParts: Array<BucketPart>;
19
19