maplibre-gl 2.1.1 → 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (305) 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} +11 -26
  12. package/dist/maplibre-gl-dev.js +522 -226
  13. package/dist/maplibre-gl.css +1 -1
  14. package/dist/maplibre-gl.d.ts +1536 -1010
  15. package/dist/maplibre-gl.js +3 -3
  16. package/dist/maplibre-gl.js.map +1 -1
  17. package/package.json +40 -61
  18. package/src/data/{array_types.ts → array_types.g.ts} +0 -0
  19. package/src/data/bucket/circle_bucket.ts +1 -1
  20. package/src/data/bucket/fill_bucket.test.ts +1 -1
  21. package/src/data/bucket/fill_bucket.ts +4 -4
  22. package/src/data/bucket/fill_extrusion_bucket.ts +1 -1
  23. package/src/data/bucket/line_bucket.test.ts +1 -1
  24. package/src/data/bucket/line_bucket.ts +6 -6
  25. package/src/data/bucket/symbol_bucket.test.ts +16 -16
  26. package/src/data/bucket/symbol_bucket.ts +53 -53
  27. package/src/data/bucket.ts +43 -43
  28. package/src/data/dem_data.ts +12 -12
  29. package/src/data/evaluation_feature.ts +10 -10
  30. package/src/data/feature_index.ts +37 -37
  31. package/src/data/feature_position_map.ts +5 -5
  32. package/src/data/index_array_type.ts +1 -1
  33. package/src/data/load_geometry.test.ts +1 -1
  34. package/src/data/program_configuration.ts +46 -46
  35. package/src/data/segment.ts +14 -14
  36. package/src/geo/edge_insets.ts +2 -2
  37. package/src/geo/lng_lat.ts +4 -4
  38. package/src/geo/lng_lat_bounds.ts +35 -35
  39. package/src/geo/mercator_coordinate.ts +5 -5
  40. package/src/geo/transform.test.ts +1 -1
  41. package/src/geo/transform.ts +14 -14
  42. package/src/gl/context.ts +3 -3
  43. package/src/gl/types.ts +19 -19
  44. package/src/gl/value.ts +6 -6
  45. package/src/gl/vertex_buffer.test.ts +1 -1
  46. package/src/index.ts +24 -9
  47. package/src/render/draw_circle.ts +8 -8
  48. package/src/render/draw_collision_debug.ts +5 -5
  49. package/src/render/draw_line.ts +4 -4
  50. package/src/render/draw_symbol.ts +21 -21
  51. package/src/render/glyph_atlas.ts +12 -12
  52. package/src/render/glyph_manager.test.ts +10 -21
  53. package/src/render/glyph_manager.ts +33 -32
  54. package/src/render/image_manager.ts +4 -4
  55. package/src/render/painter.ts +11 -11
  56. package/src/render/program/background_program.ts +29 -29
  57. package/src/render/program/circle_program.ts +10 -10
  58. package/src/render/program/clipping_mask_program.ts +1 -1
  59. package/src/render/program/collision_program.ts +9 -9
  60. package/src/render/program/debug_program.ts +4 -4
  61. package/src/render/program/fill_extrusion_program.ts +31 -31
  62. package/src/render/program/fill_program.ts +29 -29
  63. package/src/render/program/heatmap_program.ts +12 -12
  64. package/src/render/program/hillshade_program.ts +12 -12
  65. package/src/render/program/line_program.ts +38 -38
  66. package/src/render/program/pattern.ts +28 -28
  67. package/src/render/program/raster_program.ts +21 -21
  68. package/src/render/program/symbol_program.ts +96 -96
  69. package/src/render/program.ts +25 -25
  70. package/src/render/texture.ts +9 -9
  71. package/src/render/uniform_binding.ts +1 -1
  72. package/src/render/vertex_array_object.ts +13 -13
  73. package/src/shaders/_prelude.fragment.glsl.g.ts +2 -0
  74. package/src/shaders/_prelude.vertex.glsl.g.ts +2 -0
  75. package/src/shaders/background.fragment.glsl.g.ts +2 -0
  76. package/src/shaders/background.vertex.glsl.g.ts +2 -0
  77. package/src/shaders/background_pattern.fragment.glsl.g.ts +2 -0
  78. package/src/shaders/background_pattern.vertex.glsl.g.ts +2 -0
  79. package/src/shaders/circle.fragment.glsl.g.ts +2 -0
  80. package/src/shaders/circle.vertex.glsl.g.ts +2 -0
  81. package/src/shaders/clipping_mask.fragment.glsl.g.ts +2 -0
  82. package/src/shaders/clipping_mask.vertex.glsl.g.ts +2 -0
  83. package/src/shaders/collision_box.fragment.glsl.g.ts +2 -0
  84. package/src/shaders/collision_box.vertex.glsl.g.ts +2 -0
  85. package/src/shaders/collision_circle.fragment.glsl.g.ts +2 -0
  86. package/src/shaders/collision_circle.vertex.glsl.g.ts +2 -0
  87. package/src/shaders/debug.fragment.glsl.g.ts +2 -0
  88. package/src/shaders/debug.vertex.glsl.g.ts +2 -0
  89. package/src/shaders/fill.fragment.glsl.g.ts +2 -0
  90. package/src/shaders/fill.vertex.glsl.g.ts +2 -0
  91. package/src/shaders/fill_extrusion.fragment.glsl.g.ts +2 -0
  92. package/src/shaders/fill_extrusion.vertex.glsl.g.ts +2 -0
  93. package/src/shaders/fill_extrusion_pattern.fragment.glsl.g.ts +2 -0
  94. package/src/shaders/fill_extrusion_pattern.vertex.glsl.g.ts +2 -0
  95. package/src/shaders/fill_outline.fragment.glsl.g.ts +2 -0
  96. package/src/shaders/fill_outline.vertex.glsl.g.ts +2 -0
  97. package/src/shaders/fill_outline_pattern.fragment.glsl.g.ts +2 -0
  98. package/src/shaders/fill_outline_pattern.vertex.glsl.g.ts +2 -0
  99. package/src/shaders/fill_pattern.fragment.glsl.g.ts +2 -0
  100. package/src/shaders/fill_pattern.vertex.glsl.g.ts +2 -0
  101. package/src/shaders/heatmap.fragment.glsl.g.ts +2 -0
  102. package/src/shaders/heatmap.vertex.glsl.g.ts +2 -0
  103. package/src/shaders/heatmap_texture.fragment.glsl.g.ts +2 -0
  104. package/src/shaders/heatmap_texture.vertex.glsl.g.ts +2 -0
  105. package/src/shaders/hillshade.fragment.glsl.g.ts +2 -0
  106. package/src/shaders/hillshade.vertex.glsl.g.ts +2 -0
  107. package/src/shaders/hillshade_prepare.fragment.glsl.g.ts +2 -0
  108. package/src/shaders/hillshade_prepare.vertex.glsl.g.ts +2 -0
  109. package/src/shaders/line.fragment.glsl.g.ts +2 -0
  110. package/src/shaders/line.vertex.glsl.g.ts +2 -0
  111. package/src/shaders/line_gradient.fragment.glsl.g.ts +2 -0
  112. package/src/shaders/line_gradient.vertex.glsl.g.ts +2 -0
  113. package/src/shaders/line_pattern.fragment.glsl.g.ts +2 -0
  114. package/src/shaders/line_pattern.vertex.glsl.g.ts +2 -0
  115. package/src/shaders/line_sdf.fragment.glsl.g.ts +2 -0
  116. package/src/shaders/line_sdf.vertex.glsl.g.ts +2 -0
  117. package/src/shaders/raster.fragment.glsl.g.ts +2 -0
  118. package/src/shaders/raster.vertex.glsl.g.ts +2 -0
  119. package/src/shaders/shaders.ts +52 -55
  120. package/src/shaders/symbol_icon.fragment.glsl.g.ts +2 -0
  121. package/src/shaders/symbol_icon.vertex.glsl.g.ts +2 -0
  122. package/src/shaders/symbol_sdf.fragment.glsl.g.ts +2 -0
  123. package/src/shaders/symbol_sdf.vertex.glsl.g.ts +2 -0
  124. package/src/shaders/symbol_text_and_icon.fragment.glsl.g.ts +2 -0
  125. package/src/shaders/symbol_text_and_icon.vertex.glsl.g.ts +2 -0
  126. package/src/source/canvas_source.test.ts +11 -12
  127. package/src/source/canvas_source.ts +4 -4
  128. package/src/source/geojson_worker_source.ts +23 -23
  129. package/src/source/geojson_wrapper.ts +8 -8
  130. package/src/source/image_source.test.ts +2 -2
  131. package/src/source/image_source.ts +6 -6
  132. package/src/source/pixels_to_tile_units.ts +6 -6
  133. package/src/source/query_features.ts +20 -20
  134. package/src/source/raster_dem_tile_source.test.ts +2 -2
  135. package/src/source/raster_tile_source.test.ts +2 -2
  136. package/src/source/rtl_text_plugin.ts +10 -10
  137. package/src/source/source.ts +29 -29
  138. package/src/source/source_cache.test.ts +32 -0
  139. package/src/source/source_cache.ts +7 -5
  140. package/src/source/source_state.ts +1 -1
  141. package/src/source/tile.test.ts +3 -3
  142. package/src/source/tile.ts +15 -15
  143. package/src/source/tile_cache.ts +6 -6
  144. package/src/source/tile_id.test.ts +0 -1
  145. package/src/source/vector_tile_source.test.ts +3 -3
  146. package/src/source/vector_tile_source.ts +1 -1
  147. package/src/source/vector_tile_worker_source.test.ts +4 -4
  148. package/src/source/vector_tile_worker_source.ts +5 -5
  149. package/src/source/worker.test.ts +1 -1
  150. package/src/source/worker.ts +22 -22
  151. package/src/source/worker_source.ts +56 -56
  152. package/src/source/worker_tile.ts +4 -4
  153. package/src/style/evaluation_parameters.ts +3 -3
  154. package/src/style/format_section_override.test.ts +1 -1
  155. package/src/style/light.ts +10 -10
  156. package/src/style/load_glyph_range.test.ts +3 -3
  157. package/src/style/load_glyph_range.ts +6 -6
  158. package/src/style/load_sprite.ts +4 -4
  159. package/src/style/pauseable_placement.ts +1 -1
  160. package/src/style/properties.ts +69 -69
  161. package/src/style/query_utils.ts +7 -7
  162. package/src/style/style.test.ts +2 -2
  163. package/src/style/style.ts +29 -29
  164. package/src/style/style_glyph.ts +8 -8
  165. package/src/style/style_image.ts +58 -58
  166. package/src/style/style_layer/background_style_layer.ts +2 -2
  167. package/src/style/style_layer/{background_style_layer_properties.ts → background_style_layer_properties.g.ts} +0 -0
  168. package/src/style/style_layer/circle_style_layer.ts +10 -10
  169. package/src/style/style_layer/{circle_style_layer_properties.ts → circle_style_layer_properties.g.ts} +0 -0
  170. package/src/style/style_layer/custom_style_layer.ts +17 -17
  171. package/src/style/style_layer/fill_extrusion_style_layer.ts +10 -10
  172. package/src/style/style_layer/{fill_extrusion_style_layer_properties.ts → fill_extrusion_style_layer_properties.g.ts} +0 -0
  173. package/src/style/style_layer/fill_style_layer.ts +9 -9
  174. package/src/style/style_layer/{fill_style_layer_properties.ts → fill_style_layer_properties.g.ts} +0 -0
  175. package/src/style/style_layer/heatmap_style_layer.ts +2 -2
  176. package/src/style/style_layer/{heatmap_style_layer_properties.ts → heatmap_style_layer_properties.g.ts} +0 -0
  177. package/src/style/style_layer/hillshade_style_layer.ts +2 -2
  178. package/src/style/style_layer/{hillshade_style_layer_properties.ts → hillshade_style_layer_properties.g.ts} +0 -0
  179. package/src/style/style_layer/line_style_layer.ts +9 -9
  180. package/src/style/style_layer/{line_style_layer_properties.ts → line_style_layer_properties.g.ts} +0 -0
  181. package/src/style/style_layer/raster_style_layer.ts +2 -2
  182. package/src/style/style_layer/{raster_style_layer_properties.ts → raster_style_layer_properties.g.ts} +0 -0
  183. package/src/style/style_layer/symbol_style_layer.ts +7 -7
  184. package/src/style/style_layer/{symbol_style_layer_properties.ts → symbol_style_layer_properties.g.ts} +0 -0
  185. package/src/style/style_layer.ts +10 -10
  186. package/src/style/style_layer_index.ts +3 -3
  187. package/src/style/validate_style.ts +15 -15
  188. package/src/style-spec/error/validation_error.ts +1 -1
  189. package/src/style-spec/expression/compound_expression.ts +3 -3
  190. package/src/style-spec/expression/definitions/format.ts +11 -11
  191. package/src/style-spec/expression/definitions/interpolate.ts +5 -5
  192. package/src/style-spec/expression/definitions/match.ts +2 -2
  193. package/src/style-spec/expression/definitions/number_format.ts +11 -11
  194. package/src/style-spec/expression/expression.ts +8 -8
  195. package/src/style-spec/expression/index.ts +97 -97
  196. package/src/style-spec/expression/parsing_context.ts +11 -11
  197. package/src/style-spec/expression/types/collator.ts +9 -9
  198. package/src/style-spec/expression/types/resolved_image.ts +2 -2
  199. package/src/style-spec/expression/types.ts +14 -14
  200. package/src/style-spec/expression/values.ts +1 -1
  201. package/src/style-spec/feature_filter/index.ts +66 -66
  202. package/src/style-spec/function/convert.ts +3 -3
  203. package/src/style-spec/style-spec.ts +44 -44
  204. package/src/style-spec/util/color_spaces.ts +8 -8
  205. package/src/style-spec/util/result.ts +4 -4
  206. package/src/style-spec/validate/validate_filter.ts +58 -58
  207. package/src/style-spec/validate/validate_source.ts +63 -63
  208. package/src/style-spec/visit.ts +11 -11
  209. package/src/symbol/collision_feature.test.ts +1 -1
  210. package/src/symbol/collision_feature.ts +10 -10
  211. package/src/symbol/collision_index.ts +26 -26
  212. package/src/symbol/cross_tile_symbol_index.ts +17 -17
  213. package/src/symbol/get_anchors.ts +16 -16
  214. package/src/symbol/grid_index.ts +7 -7
  215. package/src/symbol/placement.ts +72 -72
  216. package/src/symbol/projection.ts +30 -30
  217. package/src/symbol/quads.ts +30 -30
  218. package/src/symbol/shaping.ts +160 -160
  219. package/src/symbol/symbol_layout.ts +119 -119
  220. package/src/symbol/symbol_size.ts +29 -29
  221. package/src/symbol/symbol_style_layer.test.ts +1 -1
  222. package/src/types/cancelable.ts +1 -1
  223. package/src/types/tilejson.ts +13 -13
  224. package/src/ui/anchor.ts +1 -1
  225. package/src/ui/camera.test.ts +5 -5
  226. package/src/ui/camera.ts +18 -18
  227. package/src/ui/control/attribution_control.test.ts +51 -16
  228. package/src/ui/control/attribution_control.ts +35 -16
  229. package/src/ui/control/control.ts +40 -40
  230. package/src/ui/control/fullscreen_control.ts +1 -1
  231. package/src/ui/control/geolocate_control.test.ts +1 -1
  232. package/src/ui/control/geolocate_control.ts +102 -102
  233. package/src/ui/control/logo_control.test.ts +4 -4
  234. package/src/ui/control/navigation_control.ts +3 -3
  235. package/src/ui/control/scale_control.test.ts +2 -2
  236. package/src/ui/control/scale_control.ts +5 -5
  237. package/src/ui/events.ts +289 -200
  238. package/src/ui/handler/box_zoom.test.ts +1 -1
  239. package/src/ui/handler/box_zoom.ts +1 -1
  240. package/src/ui/handler/dblclick_zoom.test.ts +1 -1
  241. package/src/ui/handler/drag_pan.test.ts +1 -1
  242. package/src/ui/handler/drag_rotate.test.ts +1 -1
  243. package/src/ui/handler/keyboard.test.ts +1 -1
  244. package/src/ui/handler/keyboard.ts +51 -51
  245. package/src/ui/handler/map_event.test.ts +1 -1
  246. package/src/ui/handler/map_event.ts +1 -1
  247. package/src/ui/handler/mouse.ts +1 -1
  248. package/src/ui/handler/mouse_rotate.test.ts +1 -1
  249. package/src/ui/handler/scroll_zoom.test.ts +1 -1
  250. package/src/ui/handler/scroll_zoom.ts +9 -9
  251. package/src/ui/handler/shim/drag_pan.ts +4 -4
  252. package/src/ui/handler/shim/drag_rotate.ts +1 -1
  253. package/src/ui/handler/shim/touch_zoom_rotate.ts +1 -1
  254. package/src/ui/handler/tap_recognizer.ts +4 -4
  255. package/src/ui/handler/touch_pan.ts +2 -2
  256. package/src/ui/handler/touch_zoom_rotate.test.ts +1 -1
  257. package/src/ui/handler/touch_zoom_rotate.ts +1 -1
  258. package/src/ui/handler_inertia.ts +6 -6
  259. package/src/ui/handler_manager.ts +44 -44
  260. package/src/ui/map/isMoving.test.ts +1 -1
  261. package/src/ui/map/isRotating.test.ts +1 -1
  262. package/src/ui/map/isZooming.test.ts +1 -1
  263. package/src/ui/map.test.ts +10 -4
  264. package/src/ui/map.ts +106 -101
  265. package/src/ui/map_events.test.ts +1 -1
  266. package/src/ui/marker.test.ts +12 -12
  267. package/src/ui/marker.ts +37 -37
  268. package/src/ui/popup.test.ts +7 -7
  269. package/src/ui/popup.ts +9 -9
  270. package/src/util/actor.test.ts +41 -10
  271. package/src/util/actor.ts +8 -8
  272. package/src/util/ajax.test.ts +29 -21
  273. package/src/util/ajax.ts +51 -30
  274. package/src/util/browser.ts +1 -1
  275. package/src/util/classify_rings.test.ts +1 -1
  276. package/src/util/color_ramp.ts +5 -5
  277. package/src/util/config.ts +2 -2
  278. package/src/util/dispatcher.ts +1 -1
  279. package/src/util/dom.ts +2 -2
  280. package/src/util/evented.ts +1 -1
  281. package/src/util/find_pole_of_inaccessibility.ts +3 -3
  282. package/src/util/image.ts +5 -5
  283. package/src/util/performance.ts +7 -7
  284. package/src/util/request_manager.ts +4 -4
  285. package/src/util/resolve_tokens.ts +4 -4
  286. package/src/util/struct_array.test.ts +1 -1
  287. package/src/util/struct_array.ts +15 -15
  288. package/src/util/task_queue.ts +3 -3
  289. package/src/util/tile_request_cache.ts +3 -3
  290. package/src/util/transferable_grid_index.ts +4 -4
  291. package/src/util/util.ts +8 -8
  292. package/src/util/web_worker.ts +4 -68
  293. package/src/util/web_worker_transfer.test.ts +3 -0
  294. package/src/util/web_worker_transfer.ts +21 -17
  295. package/src/util/worker_pool.ts +1 -1
  296. package/build/.eslintrc +0 -21
  297. package/build/glsl_to_js.js +0 -12
  298. package/build/post-ts-build.js +0 -43
  299. package/build/release-notes.md.ejs +0 -8
  300. package/build/test/build-tape.js +0 -17
  301. package/build/web_worker_replacement.js +0 -5
  302. package/dist/package.json +0 -1
  303. package/src/style-spec/validate_spec.test.ts +0 -29
  304. package/src/symbol/shaping.test.ts +0 -392
  305. package/src/types/glsl.d.ts +0 -4
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "maplibre-gl",
3
3
  "description": "BSD licensed community fork of mapbox-gl, a WebGL interactive maps library",
4
- "version": "2.1.1",
4
+ "version": "2.1.2",
5
5
  "main": "dist/maplibre-gl.js",
6
6
  "style": "dist/maplibre-gl.css",
7
7
  "license": "BSD-3-Clause",
@@ -24,6 +24,7 @@
24
24
  "earcut": "^2.2.3",
25
25
  "geojson-vt": "^3.2.1",
26
26
  "gl-matrix": "^3.4.3",
27
+ "husky": "^7.0.4",
27
28
  "murmurhash-js": "^1.0.0",
28
29
  "pbf": "^3.2.1",
29
30
  "potpack": "^1.0.2",
@@ -33,7 +34,6 @@
33
34
  "vt-pbf": "^3.1.3"
34
35
  },
35
36
  "devDependencies": {
36
- "@babel/core": "^7.16.12",
37
37
  "@mapbox/gazetteer": "^5.1.0",
38
38
  "@mapbox/mapbox-gl-rtl-text": "^0.2.3",
39
39
  "@mapbox/mvt-fixtures": "^3.6.0",
@@ -43,59 +43,49 @@
43
43
  "@rollup/plugin-replace": "^3.0.1",
44
44
  "@rollup/plugin-strip": "^2.1.0",
45
45
  "@rollup/plugin-typescript": "^8.3.0",
46
- "@types/babel__core": "^7.1.18",
47
- "@types/babelify": "^7.3.7",
46
+ "@swc/cli": "^0.1.55",
47
+ "@swc/core": "^1.2.135",
48
+ "@swc/jest": "^0.2.17",
48
49
  "@types/benchmark": "^2.1.1",
49
50
  "@types/browserify": "^12.0.37",
50
51
  "@types/cssnano": "^5.0.0",
51
52
  "@types/d3": "^7.1.0",
52
53
  "@types/diff": "^5.0.2",
53
54
  "@types/earcut": "^2.1.1",
54
- "@types/ejs": "^3.1.0",
55
55
  "@types/eslint": "^8.4.1",
56
56
  "@types/geojson": "^7946.0.8",
57
57
  "@types/gl": "^4.1.0",
58
58
  "@types/glob": "^7.2.0",
59
59
  "@types/jest": "^27.4.0",
60
60
  "@types/jsdom": "^16.2.14",
61
- "@types/lodash.template": "^4.5.0",
62
61
  "@types/mapbox__point-geometry": "^0.1.2",
63
62
  "@types/mapbox__vector-tile": "^1.3.0",
64
63
  "@types/minimist": "^1.2.2",
65
64
  "@types/murmurhash-js": "^1.0.3",
66
- "@types/node-notifier": "^8.0.2",
65
+ "@types/nise": "^1.4.0",
67
66
  "@types/offscreencanvas": "^2019.6.4",
68
67
  "@types/pbf": "^3.0.2",
69
68
  "@types/pixelmatch": "^5.2.4",
70
69
  "@types/pngjs": "^6.0.1",
71
- "@types/puppeteer": "^5.4.4",
72
70
  "@types/react": "^17.0.38",
73
71
  "@types/react-dom": "^17.0.11",
74
72
  "@types/request": "^2.48.8",
75
73
  "@types/rollup-plugin-json": "^3.0.3",
76
- "@types/selenium-webdriver": "^4.0.16",
77
74
  "@types/shuffle-seed": "^1.1.0",
78
- "@types/sinon": "^10.0.9",
79
75
  "@types/supercluster": "^5.0.3",
80
- "@types/tape": "^4.13.2",
81
76
  "@types/window-or-global": "^1.0.4",
82
77
  "@typescript-eslint/eslint-plugin": "^5.10.1",
83
78
  "@typescript-eslint/parser": "^5.10.1",
84
79
  "address": "^1.1.2",
85
- "babel-eslint": "^10.0.1",
86
- "babel-jest": "^27.4.6",
87
- "babelify": "^10.0.0",
88
80
  "benchmark": "^2.1.4",
89
81
  "browserify": "^17.0.0",
90
82
  "canvas": "^2.9.0",
91
- "chokidar": "^3.5.3",
92
83
  "cssnano": "^5.0.16",
93
84
  "d3": "^7.3.0",
94
85
  "d3-queue": "^3.0.7",
95
86
  "diff": "^5.0.0",
96
87
  "documentation": "13.0.2",
97
88
  "dts-bundle-generator": "^6.4.0",
98
- "ejs": "^3.1.6",
99
89
  "eslint": "^8.7.0",
100
90
  "eslint-config-mourner": "^3.0.0",
101
91
  "eslint-plugin-html": "^6.2.0",
@@ -106,27 +96,26 @@
106
96
  "gl": "^5.0.0",
107
97
  "glob": "^7.2.0",
108
98
  "is-builtin-module": "^3.1.0",
109
- "jest": "^27.4.7",
99
+ "jest": "^27.5.1",
110
100
  "jest-canvas-mock": "^2.3.1",
111
- "jest-raw-loader": "^1.0.1",
101
+ "jest-playwright-preset": "^1.7.0",
112
102
  "jsdom": "^19.0.0",
113
103
  "json-stringify-pretty-compact": "^3.0.0",
114
104
  "mapbox-gl-styles": "^2.0.2",
115
105
  "minimist": "^1.2.5",
116
106
  "mock-geolocation": "^1.0.11",
117
- "node-notifier": "^10.0.0",
107
+ "nise": "^5.1.1",
118
108
  "node-plantuml": "^0.9.0",
119
109
  "npm-font-open-sans": "^1.1.0",
120
110
  "npm-run-all": "^4.1.5",
121
- "nyc": "^15.1.0",
122
111
  "pdf-merger-js": "^3.3.2",
123
112
  "pixelmatch": "^5.2.1",
113
+ "playwright": "^1.18.1",
124
114
  "pngjs": "^6.0.0",
125
115
  "postcss": "^8.4.5",
126
116
  "postcss-cli": "^9.1.0",
127
117
  "postcss-inline-svg": "^5.0.0",
128
118
  "pretty-bytes": "^5.6.0",
129
- "puppeteer": "^13.1.2",
130
119
  "react": "^17.0.2",
131
120
  "react-dom": "^17.0.2",
132
121
  "request": "^2.88.0",
@@ -134,66 +123,56 @@
134
123
  "rollup-plugin-sourcemaps": "^0.6.3",
135
124
  "rollup-plugin-terser": "^7.0.2",
136
125
  "rollup-plugin-unassert": "^0.3.0",
137
- "rollup-pluginutils": "^2.8.2",
138
126
  "rw": "^1.3.3",
139
- "selenium-webdriver": "^4.1.1",
140
127
  "semver": "^7.3.5",
141
128
  "shuffle-seed": "^1.1.6",
142
- "sinon": "^12.0.1",
143
129
  "source-map-explorer": "^2.5.2",
144
130
  "st": "^3.0.0",
145
131
  "stylelint": "^14.3.0",
146
132
  "stylelint-config-standard": "^24.0.0",
147
- "tap-parser": "^10.1.0",
148
- "tape": "^5.5.0",
149
- "tape-filter": "^1.0.4",
150
- "testem": "^3.6.0",
151
- "ts-jest": "^27.1.3",
152
- "ts-node": "^10.4.0",
133
+ "ts-node": "^10.5.0",
153
134
  "typescript": "^4.5.5"
154
135
  },
155
- "browser": {
156
- "./rollup/build/tsc/src/util/web_worker.js": "./build/web_worker_replacement.js"
157
- },
158
136
  "scripts": {
159
- "build-post-ts": "node build/post-ts-build.js ./rollup/build/tsc/src/shaders",
160
- "build-post-ts-min": "node build/post-ts-build.js ./rollup/build/tsc/src/shaders true",
161
- "build-tsc": "tsc --outDir rollup/build/tsc && npm run build-post-ts",
162
- "build-tsc-min": "tsc --outDir rollup/build/tsc && npm run build-post-ts-min",
163
- "build-dev": "npm run build-tsc && rollup -c --environment BUILD:dev",
164
- "watch-dev": "rollup -c --environment BUILD:dev --watch",
165
- "build-prod": "npm run build-tsc && rollup -c --environment BUILD:production",
166
- "build-prod-min": "npm run build-tsc-min && rollup -c --environment BUILD:production,MINIFY:true",
167
- "build-csp": "rollup -c rollup.config.csp.js",
168
- "build-query-suite": "rollup -c test/integration/rollup.config.test.js",
137
+ "generate-shaders": "node --loader ts-node/esm --experimental-specifier-resolution=node build/generate-shaders.ts",
138
+ "generate-struct-arrays": "node --loader ts-node/esm --experimental-specifier-resolution=node build/generate-struct-arrays.ts",
139
+ "generate-style-code": "node --loader ts-node/esm --experimental-specifier-resolution=node build/generate-style-code.ts",
140
+ "generate-style-spec": "node --loader ts-node/esm --experimental-specifier-resolution=node build/generate-style-spec.ts",
141
+ "generate-typings": "node --loader ts-node/esm --experimental-specifier-resolution=node build/generate-typings.ts",
142
+ "generate-query-test-fixtures": "node --loader ts-node/esm --experimental-specifier-resolution=node build/generate-query-test-fixtures.ts",
143
+ "build-dev": "rollup --configPlugin @rollup/plugin-typescript -c --environment BUILD:dev",
144
+ "watch-dev": "rollup --configPlugin @rollup/plugin-typescript -c --environment BUILD:dev --watch",
145
+ "build-prod": "rollup --configPlugin @rollup/plugin-typescript -c --environment BUILD:production",
146
+ "build-prod-min": "rollup --configPlugin @rollup/plugin-typescript -c --environment BUILD:production,MINIFY:true",
147
+ "build-csp": "rollup --configPlugin @rollup/plugin-typescript -c rollup.config.csp.ts",
169
148
  "build-css": "postcss -o dist/maplibre-gl.css src/css/maplibre-gl.css",
170
- "build-style-spec": "npm run build-tsc && rollup -c rollup.config.style-spec.js && rollup -c rollup.config.style-spec.js --environment esm",
149
+ "build-style-spec": "rollup --configPlugin @rollup/plugin-typescript -c rollup.config.style-spec.ts && rollup --configPlugin @rollup/plugin-typescript -c rollup.config.style-spec.ts --environment esm",
171
150
  "build-diagrams": "cd docs/diagrams; ls *.plantuml | xargs -I {} puml generate --svg {} -o {}.svg",
172
151
  "watch-css": "postcss --watch -o dist/maplibre-gl.css src/css/maplibre-gl.css",
173
- "build-benchmarks": "npm run build-dev && BENCHMARK_VERSION=${BENCHMARK_VERSION:-\"$(git rev-parse --abbrev-ref HEAD) $(git rev-parse --short=7 HEAD)\"} rollup -c bench/rollup_config_benchmarks.js",
174
- "watch-benchmarks": "BENCHMARK_VERSION=${BENCHMARK_VERSION:-\"$(git rev-parse --abbrev-ref HEAD) $(git rev-parse --short=7 HEAD)\"} rollup -c bench/rollup_config_benchmarks.js --watch",
152
+ "build-benchmarks": "npm run build-dev && rollup --configPlugin @rollup/plugin-typescript -c test/bench/rollup_config_benchmarks.ts",
153
+ "watch-benchmarks": "rollup --configPlugin @rollup/plugin-typescript -c test/bench/rollup_config_benchmarks.ts --watch",
175
154
  "start-server": "st --no-cache -H 0.0.0.0 --port 9966 --index index.html .",
176
- "start": "run-p watch-css watch-query start-server",
155
+ "start-server-at-test": "st --no-cache -H 0.0.0.0 --port 9966 --index index.html -d test",
156
+ "start": "run-p watch-css start-server",
177
157
  "start-debug": "run-p watch-css watch-dev start-server",
178
- "start-tests": "run-p watch-css watch-query start-server",
179
- "start-bench": "run-p watch-css watch-benchmarks start-server",
180
- "lint": "eslint --ext \".ts,.js,.html\" --ignore-path .gitignore src build debug/*.html bench",
158
+ "start-bench": "run-p watch-css watch-benchmarks start-server-at-test",
159
+ "lint": "eslint --cache --ext \".ts,.js,.html\" --ignore-path .gitignore src test build debug/*.html jest.config.js",
181
160
  "lint-docs": "documentation lint src/index.ts",
182
161
  "lint-css": "stylelint \"src/css/maplibre-gl.css\"",
183
162
  "test": "run-s lint lint-css lint-docs test-unit",
184
- "test-suite": "run-s test-render test-query test-expressions",
185
- "test-suite-clean": "find test/integration/{render,query, expressions}-tests -mindepth 2 -type d -exec test -e \"{}/actual.png\" \\; -not \\( -exec test -e \"{}/style.json\" \\; \\) -print | xargs -t rm -r",
186
163
  "test-build": "jest ./test/build",
187
- "test-browser": "jest ./test/browser",
188
- "test-render": "node --experimental-specifier-resolution=node --experimental-json-modules --max-old-space-size=2048 test/render.test.js",
189
- "watch-query": "testem -f test/integration/testem.cjs",
190
- "test-query": "testem ci -f test/integration/testem.cjs -R xunit > test/integration/query-tests/test-results.xml",
191
- "test-expressions": "node --experimental-specifier-resolution=node test/expression.test.js",
192
- "test-cov": "nyc --reporter=text-summary --reporter=lcov --cache run-s test-unit test-expressions test-query test-render",
164
+ "test-symbol-shaping": "jest ./test/integration/symbol-shaping",
165
+ "test-style-spec": "jest ./test/integration/style-spec",
166
+ "test-browser": "jest -c ./jest.config.e2e.js ./test/integration/browser",
167
+ "test-render": "node --loader ts-node/esm --experimental-specifier-resolution=node --experimental-json-modules --max-old-space-size=2048 test/integration/render/render.test.ts",
168
+ "test-query": "jest -c ./jest.config.e2e.js test/integration/query",
169
+ "test-expression": "jest test/integration/expression",
193
170
  "test-unit": "jest ./src",
194
- "codegen": "node --loader ts-node/esm --experimental-specifier-resolution=node build/generate-style-code.ts && node --loader ts-node/esm --experimental-specifier-resolution=node build/generate-struct-arrays.ts && node --loader ts-node/esm --experimental-specifier-resolution=node build/generate-style-spec.ts",
195
- "benchmark": "node bench/run-benchmarks.js",
196
- "gl-stats": "node bench/gl-stats.js"
171
+ "codegen": "npm run generate-style-code && npm run generate-struct-arrays && npm run generate-style-spec && npm run generate-shaders",
172
+ "benchmark": "node --loader ts-node/esm --experimental-specifier-resolution=node test/bench/run-benchmarks.ts",
173
+ "gl-stats": "node --loader ts-node/esm --experimental-specifier-resolution=node test/bench/gl-stats.ts",
174
+ "postinstall": "npm run codegen && npm run generate-query-test-fixtures",
175
+ "prepare": "husky install"
197
176
  },
198
177
  "files": [
199
178
  "build/",
File without changes
@@ -1,4 +1,4 @@
1
- import {CircleLayoutArray} from '../array_types';
1
+ import {CircleLayoutArray} from '../array_types.g';
2
2
 
3
3
  import {members as layoutAttributes} from './circle_attributes';
4
4
  import SegmentVector from '../segment';
@@ -13,7 +13,7 @@ import ZoomHistory from '../../style/zoom_history';
13
13
  import {BucketFeature, BucketParameters} from '../bucket';
14
14
 
15
15
  // Load a fill feature from fixture tile.
16
- const vt = new VectorTile(new Protobuf(fs.readFileSync(path.resolve(__dirname, '../../../test/fixtures/mbsv5-6-18-23.vector.pbf'))));
16
+ const vt = new VectorTile(new Protobuf(fs.readFileSync(path.resolve(__dirname, '../../../test/unit/assets/mbsv5-6-18-23.vector.pbf'))));
17
17
  const feature = vt.layers.water.feature(0);
18
18
 
19
19
  function createPolygon(numPoints) {
@@ -1,4 +1,4 @@
1
- import {FillLayoutArray} from '../array_types';
1
+ import {FillLayoutArray} from '../array_types.g';
2
2
 
3
3
  import {members as layoutAttributes} from './fill_attributes';
4
4
  import SegmentVector from '../segment';
@@ -126,14 +126,14 @@ class FillBucket implements Bucket {
126
126
  }
127
127
 
128
128
  update(states: FeatureStates, vtLayer: VectorTileLayer, imagePositions: {
129
- [_: string]: ImagePosition;
129
+ [_: string]: ImagePosition;
130
130
  }) {
131
131
  if (!this.stateDependentLayers.length) return;
132
132
  this.programConfigurations.updatePaintArrays(states, vtLayer, this.stateDependentLayers, imagePositions);
133
133
  }
134
134
 
135
135
  addFeatures(options: PopulateParameters, canonical: CanonicalTileID, imagePositions: {
136
- [_: string]: ImagePosition;
136
+ [_: string]: ImagePosition;
137
137
  }) {
138
138
  for (const feature of this.patternFeatures) {
139
139
  this.addFeature(feature, feature.geometry, feature.index, canonical, imagePositions);
@@ -168,7 +168,7 @@ class FillBucket implements Bucket {
168
168
  }
169
169
 
170
170
  addFeature(feature: BucketFeature, geometry: Array<Array<Point>>, index: number, canonical: CanonicalTileID, imagePositions: {
171
- [_: string]: ImagePosition;
171
+ [_: string]: ImagePosition;
172
172
  }) {
173
173
  for (const polygon of classifyRings(geometry, EARCUT_MAX_RINGS)) {
174
174
  let numVertices = 0;
@@ -1,4 +1,4 @@
1
- import {FillExtrusionLayoutArray} from '../array_types';
1
+ import {FillExtrusionLayoutArray} from '../array_types.g';
2
2
 
3
3
  import {members as layoutAttributes} from './fill_extrusion_attributes';
4
4
  import SegmentVector from '../segment';
@@ -11,7 +11,7 @@ import EvaluationParameters from '../../style/evaluation_parameters';
11
11
  import {BucketFeature, BucketParameters} from '../bucket';
12
12
 
13
13
  // Load a line feature from fixture tile.
14
- const vt = new VectorTile(new Protobuf(fs.readFileSync(path.resolve(__dirname, '../../../test/fixtures/mbsv5-6-18-23.vector.pbf'))));
14
+ const vt = new VectorTile(new Protobuf(fs.readFileSync(path.resolve(__dirname, '../../../test/unit/assets/mbsv5-6-18-23.vector.pbf'))));
15
15
  const feature = vt.layers.road.feature(0);
16
16
 
17
17
  function createLine(numPoints) {
@@ -1,4 +1,4 @@
1
- import {LineLayoutArray, LineExtLayoutArray} from '../array_types';
1
+ import {LineLayoutArray, LineExtLayoutArray} from '../array_types.g';
2
2
 
3
3
  import {members as layoutAttributes} from './line_attributes';
4
4
  import {members as layoutAttributesExt} from './line_attributes_ext';
@@ -71,14 +71,14 @@ const LINE_DISTANCE_SCALE = 1 / 2;
71
71
  const MAX_LINE_DISTANCE = Math.pow(2, LINE_DISTANCE_BUFFER_BITS - 1) / LINE_DISTANCE_SCALE;
72
72
 
73
73
  type LineClips = {
74
- start: number;
75
- end: number;
74
+ start: number;
75
+ end: number;
76
76
  };
77
77
 
78
78
  type GradientTexture = {
79
- texture?: Texture;
80
- gradient?: RGBAImage;
81
- version?: number;
79
+ texture?: Texture;
80
+ gradient?: RGBAImage;
81
+ version?: number;
82
82
  };
83
83
 
84
84
  /**
@@ -3,7 +3,7 @@ import path from 'path';
3
3
  import Protobuf from 'pbf';
4
4
  import {VectorTile} from '@mapbox/vector-tile';
5
5
  import SymbolBucket from './symbol_bucket';
6
- import {CollisionBoxArray} from '../../data/array_types';
6
+ import {CollisionBoxArray} from '../../data/array_types.g';
7
7
  import {performSymbolLayout} from '../../symbol/symbol_layout';
8
8
  import {Placement} from '../../symbol/placement';
9
9
  import Transform from '../../geo/transform';
@@ -11,16 +11,16 @@ import {OverscaledTileID} from '../../source/tile_id';
11
11
  import Tile from '../../source/tile';
12
12
  import CrossTileSymbolIndex from '../../symbol/cross_tile_symbol_index';
13
13
  import FeatureIndex from '../../data/feature_index';
14
- import {createSymbolBucket, createSymbolIconBucket} from '../../../test/util/create_symbol_layer';
14
+ import {createSymbolBucket, createSymbolIconBucket} from '../../../test/unit/lib/create_symbol_layer';
15
15
  import {RGBAImage} from '../../util/image';
16
16
  import {ImagePosition} from '../../render/image_atlas';
17
17
  import {IndexedFeature, PopulateParameters} from '../bucket';
18
18
  import {StyleImage} from '../../style/style_image';
19
- import glyphs from '../../../test/fixtures/fontstack-glyphs.json';
19
+ import glyphs from '../../../test/unit/assets/fontstack-glyphs.json';
20
20
  import {StyleGlyph} from '../../style/style_glyph';
21
21
 
22
22
  // Load a point feature from fixture tile.
23
- const vt = new VectorTile(new Protobuf(fs.readFileSync(path.resolve(__dirname, '../../../test/fixtures/mbsv5-6-18-23.vector.pbf'))));
23
+ const vt = new VectorTile(new Protobuf(fs.readFileSync(path.resolve(__dirname, '../../../test/unit/assets/mbsv5-6-18-23.vector.pbf'))));
24
24
  const feature = vt.layers.place_label.feature(10);
25
25
 
26
26
  /*eslint new-cap: 0*/
@@ -139,12 +139,12 @@ describe('SymbolBucket', () => {
139
139
  const options = {iconDependencies: {}, glyphDependencies: {}} as PopulateParameters;
140
140
 
141
141
  bucket.populate(
142
- [
143
- createIndexedFeature(0, 0, 'a'),
144
- createIndexedFeature(1, 1, 'b'),
145
- createIndexedFeature(2, 2, 'a')
146
- ] as any as IndexedFeature[],
147
- options, undefined
142
+ [
143
+ createIndexedFeature(0, 0, 'a'),
144
+ createIndexedFeature(1, 1, 'b'),
145
+ createIndexedFeature(2, 2, 'a')
146
+ ] as any as IndexedFeature[],
147
+ options, undefined
148
148
  );
149
149
 
150
150
  const icons = options.iconDependencies as any;
@@ -179,12 +179,12 @@ describe('SymbolBucket', () => {
179
179
  const options = {iconDependencies: {}, glyphDependencies: {}} as PopulateParameters;
180
180
 
181
181
  bucket.populate(
182
- [
183
- createIndexedFeature(0, 0, 'a'),
184
- createIndexedFeature(1, 1, 'b'),
185
- createIndexedFeature(2, 2, 'a')
186
- ] as any as IndexedFeature[],
187
- options, undefined
182
+ [
183
+ createIndexedFeature(0, 0, 'a'),
184
+ createIndexedFeature(1, 1, 'b'),
185
+ createIndexedFeature(2, 2, 'a')
186
+ ] as any as IndexedFeature[],
187
+ options, undefined
188
188
  );
189
189
 
190
190
  const icons = options.iconDependencies as any;
@@ -14,7 +14,7 @@ import {SymbolLayoutArray,
14
14
  SymbolInstanceArray,
15
15
  GlyphOffsetArray,
16
16
  SymbolLineVertexArray
17
- } from '../array_types';
17
+ } from '../array_types.g';
18
18
 
19
19
  import Point from '@mapbox/point-geometry';
20
20
  import SegmentVector from '../segment';
@@ -46,7 +46,7 @@ import type {
46
46
  IndexedFeature,
47
47
  PopulateParameters
48
48
  } from '../bucket';
49
- import type {CollisionBoxArray, CollisionBox, SymbolInstance} from '../array_types';
49
+ import type {CollisionBoxArray, CollisionBox, SymbolInstance} from '../array_types.g';
50
50
  import type {StructArray, StructArrayMember, ViewType} from '../../util/struct_array';
51
51
  import SymbolStyleLayer, {getOverlapMode} from '../../style/style_layer/symbol_style_layer';
52
52
  import type Context from '../../gl/context';
@@ -59,41 +59,41 @@ import type {ImagePosition} from '../../render/image_atlas';
59
59
  import type {VectorTileLayer} from '@mapbox/vector-tile';
60
60
 
61
61
  export type SingleCollisionBox = {
62
- x1: number;
63
- y1: number;
64
- x2: number;
65
- y2: number;
66
- anchorPointX: number;
67
- anchorPointY: number;
62
+ x1: number;
63
+ y1: number;
64
+ x2: number;
65
+ y2: number;
66
+ anchorPointX: number;
67
+ anchorPointY: number;
68
68
  };
69
69
 
70
70
  export type CollisionArrays = {
71
- textBox?: SingleCollisionBox;
72
- verticalTextBox?: SingleCollisionBox;
73
- iconBox?: SingleCollisionBox;
74
- verticalIconBox?: SingleCollisionBox;
75
- textFeatureIndex?: number;
76
- verticalTextFeatureIndex?: number;
77
- iconFeatureIndex?: number;
78
- verticalIconFeatureIndex?: number;
71
+ textBox?: SingleCollisionBox;
72
+ verticalTextBox?: SingleCollisionBox;
73
+ iconBox?: SingleCollisionBox;
74
+ verticalIconBox?: SingleCollisionBox;
75
+ textFeatureIndex?: number;
76
+ verticalTextFeatureIndex?: number;
77
+ iconFeatureIndex?: number;
78
+ verticalIconFeatureIndex?: number;
79
79
  };
80
80
 
81
81
  export type SymbolFeature = {
82
- sortKey: number | void;
83
- text: Formatted | void;
84
- icon: ResolvedImage;
85
- index: number;
86
- sourceLayerIndex: number;
87
- geometry: Array<Array<Point>>;
88
- properties: any;
89
- type: 'Point' | 'LineString' | 'Polygon';
90
- id?: any;
82
+ sortKey: number | void;
83
+ text: Formatted | void;
84
+ icon: ResolvedImage;
85
+ index: number;
86
+ sourceLayerIndex: number;
87
+ geometry: Array<Array<Point>>;
88
+ properties: any;
89
+ type: 'Point' | 'LineString' | 'Polygon';
90
+ id?: any;
91
91
  };
92
92
 
93
93
  export type SortKeyRange = {
94
- sortKey: number;
95
- symbolInstanceStart: number;
96
- symbolInstanceEnd: number;
94
+ sortKey: number;
95
+ symbolInstanceStart: number;
96
+ symbolInstanceEnd: number;
97
97
  };
98
98
 
99
99
  // Opacity arrays are frequently updated but don't contain a lot of information, so we pack them
@@ -244,12 +244,12 @@ class CollisionBuffers {
244
244
  collisionVertexBuffer: VertexBuffer;
245
245
 
246
246
  constructor(LayoutArray: {
247
- new (...args: any): StructArray;
247
+ new (...args: any): StructArray;
248
248
  },
249
- layoutAttributes: Array<StructArrayMember>,
250
- IndexArray: {
251
- new (...args: any): TriangleIndexArray | LineIndexArray;
252
- }) {
249
+ layoutAttributes: Array<StructArrayMember>,
250
+ IndexArray: {
251
+ new (...args: any): TriangleIndexArray | LineIndexArray;
252
+ }) {
253
253
  this.layoutVertexArray = new LayoutArray();
254
254
  this.layoutAttributes = layoutAttributes;
255
255
  this.indexArray = new IndexArray();
@@ -624,17 +624,17 @@ class SymbolBucket implements Bucket {
624
624
  }
625
625
 
626
626
  addSymbols(arrays: SymbolBuffers,
627
- quads: Array<SymbolQuad>,
628
- sizeVertex: any,
629
- lineOffset: [number, number],
630
- alongLine: boolean,
631
- feature: SymbolFeature,
632
- writingMode: WritingMode,
633
- labelAnchor: Anchor,
634
- lineStartIndex: number,
635
- lineLength: number,
636
- associatedIconIndex: number,
637
- canonical: CanonicalTileID) {
627
+ quads: Array<SymbolQuad>,
628
+ sizeVertex: any,
629
+ lineOffset: [number, number],
630
+ alongLine: boolean,
631
+ feature: SymbolFeature,
632
+ writingMode: WritingMode,
633
+ labelAnchor: Anchor,
634
+ lineStartIndex: number,
635
+ lineLength: number,
636
+ associatedIconIndex: number,
637
+ canonical: CanonicalTileID) {
638
638
  const indexArray = arrays.indexArray;
639
639
  const layoutVertexArray = arrays.layoutVertexArray;
640
640
 
@@ -766,15 +766,15 @@ class SymbolBucket implements Bucket {
766
766
  // These flat arrays are meant to be quicker to iterate over than the source
767
767
  // CollisionBoxArray
768
768
  _deserializeCollisionBoxesForSymbol(
769
- collisionBoxArray: CollisionBoxArray,
770
- textStartIndex: number,
771
- textEndIndex: number,
772
- verticalTextStartIndex: number,
773
- verticalTextEndIndex: number,
774
- iconStartIndex: number,
775
- iconEndIndex: number,
776
- verticalIconStartIndex: number,
777
- verticalIconEndIndex: number
769
+ collisionBoxArray: CollisionBoxArray,
770
+ textStartIndex: number,
771
+ textEndIndex: number,
772
+ verticalTextStartIndex: number,
773
+ verticalTextEndIndex: number,
774
+ iconStartIndex: number,
775
+ iconEndIndex: number,
776
+ verticalIconStartIndex: number,
777
+ verticalIconEndIndex: number
778
778
  ): CollisionArrays {
779
779
 
780
780
  const collisionArrays = {} as CollisionArrays;