maplibre-gl 2.0.0-pre.5 → 2.0.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 (903) hide show
  1. package/CHANGELOG.md +39 -4
  2. package/README.md +41 -9
  3. package/build/generate-struct-arrays.ts +439 -0
  4. package/build/generate-style-code.ts +275 -0
  5. package/build/generate-style-spec.ts +209 -0
  6. package/build/glsl_to_js.js +12 -0
  7. package/build/post-ts-build.js +52 -0
  8. package/build/readme.md +62 -0
  9. package/build/release-notes.js +6 -5
  10. package/build/rollup_plugins.js +24 -2
  11. package/build/web_worker_replacement.js +1 -1
  12. package/dist/maplibre-gl.css +1 -1
  13. package/dist/maplibre-gl.d.ts +10696 -0
  14. package/dist/maplibre-gl.js +6 -6
  15. package/dist/maplibre-gl.js.map +1 -1
  16. package/dist/package.json +1 -0
  17. package/package.json +50 -38
  18. package/src/css/maplibre-gl.css +1 -1
  19. package/src/data/array_types.ts +22 -21
  20. package/src/data/bucket/circle_bucket.ts +1 -0
  21. package/src/data/bucket/fill_bucket.test.ts +94 -0
  22. package/src/data/bucket/fill_bucket.ts +1 -0
  23. package/src/data/bucket/fill_extrusion_bucket.ts +1 -0
  24. package/src/data/bucket/line_bucket.test.ts +142 -0
  25. package/src/data/bucket/line_bucket.ts +1 -0
  26. package/src/data/bucket/symbol_bucket.test.ts +229 -0
  27. package/src/data/bucket/symbol_bucket.ts +1 -0
  28. package/src/data/bucket.ts +1 -0
  29. package/src/data/dem_data.test.ts +269 -0
  30. package/src/data/evaluation_feature.ts +1 -0
  31. package/src/data/feature_index.ts +9 -8
  32. package/src/data/feature_position_map.test.ts +33 -0
  33. package/src/data/load_geometry.test.ts +49 -0
  34. package/src/data/load_geometry.ts +1 -0
  35. package/src/data/program_configuration.ts +1 -0
  36. package/src/geo/edge_insets.test.ts +83 -0
  37. package/src/geo/edge_insets.ts +34 -4
  38. package/src/geo/lng_lat.test.ts +75 -0
  39. package/src/geo/lng_lat.ts +2 -2
  40. package/src/geo/lng_lat_bounds.test.ts +204 -0
  41. package/src/geo/mercator_coordinate.test.ts +34 -0
  42. package/src/geo/transform.test.ts +341 -0
  43. package/src/geo/transform.ts +1 -1
  44. package/src/gl/context.ts +3 -3
  45. package/src/gl/state.test.ts +191 -0
  46. package/src/gl/stencil_mode.ts +3 -3
  47. package/src/gl/types.ts +1 -1
  48. package/src/gl/value.ts +3 -3
  49. package/src/gl/vertex_buffer.test.ts +52 -0
  50. package/src/index.test.ts +7 -0
  51. package/src/index.ts +12 -15
  52. package/src/render/glyph_manager.test.ts +170 -0
  53. package/src/render/glyph_manager.ts +15 -15
  54. package/src/render/image_atlas.ts +1 -7
  55. package/src/render/image_manager.ts +2 -2
  56. package/src/render/line_atlas.test.ts +38 -0
  57. package/src/render/painter.ts +1 -1
  58. package/src/render/uniform_binding.test.ts +122 -0
  59. package/src/shaders/encode_attribute.test.ts +11 -0
  60. package/src/shaders/fill_pattern.fragment.glsl +3 -0
  61. package/src/shaders/line_pattern.fragment.glsl +3 -0
  62. package/src/source/canvas_source.test.ts +180 -0
  63. package/src/source/geojson_source.test.ts +353 -0
  64. package/src/source/geojson_source.ts +34 -47
  65. package/src/source/geojson_worker_source.test.ts +277 -0
  66. package/src/source/geojson_wrapper.test.ts +32 -0
  67. package/src/source/geojson_wrapper.ts +2 -1
  68. package/src/source/image_source.ts +4 -4
  69. package/src/source/query_features.test.ts +36 -0
  70. package/src/source/query_features.ts +5 -1
  71. package/src/source/raster_dem_tile_source.test.ts +152 -0
  72. package/src/source/raster_dem_tile_worker_source.test.ts +38 -0
  73. package/src/source/raster_tile_source.test.ts +141 -0
  74. package/src/source/source.ts +3 -3
  75. package/src/source/source_cache.test.ts +1594 -0
  76. package/src/source/tile.test.ts +290 -0
  77. package/src/source/tile.ts +6 -1
  78. package/src/source/tile_cache.test.ts +131 -0
  79. package/src/source/tile_id.test.ts +114 -0
  80. package/src/source/tile_id.ts +1 -0
  81. package/src/source/vector_tile_source.test.ts +345 -0
  82. package/src/source/vector_tile_source.ts +4 -4
  83. package/src/source/vector_tile_worker_source.ts +1 -0
  84. package/src/source/video_source.test.ts +64 -0
  85. package/src/source/video_source.ts +1 -1
  86. package/src/source/worker.test.ts +152 -0
  87. package/src/source/worker_tile.test.ts +102 -0
  88. package/src/source/worker_tile.ts +1 -0
  89. package/src/style/format_section_override.test.ts +64 -0
  90. package/src/style/light.test.ts +88 -0
  91. package/src/style/load_glyph_range.test.ts +45 -0
  92. package/src/style/load_glyph_range.ts +1 -1
  93. package/src/style/style.test.ts +2119 -0
  94. package/src/style/style.ts +21 -21
  95. package/src/style/style_image.ts +62 -60
  96. package/src/style/style_layer/background_style_layer.ts +5 -5
  97. package/src/style/style_layer/background_style_layer_properties.ts +13 -16
  98. package/src/style/style_layer/circle_style_layer.ts +8 -7
  99. package/src/style/style_layer/circle_style_layer_properties.ts +37 -36
  100. package/src/style/style_layer/custom_style_layer.ts +82 -79
  101. package/src/style/style_layer/fill_extrusion_style_layer.ts +9 -6
  102. package/src/style/style_layer/fill_extrusion_style_layer_properties.ts +27 -26
  103. package/src/style/style_layer/fill_style_layer.test.ts +37 -0
  104. package/src/style/style_layer/fill_style_layer.ts +8 -7
  105. package/src/style/style_layer/fill_style_layer_properties.ts +29 -28
  106. package/src/style/style_layer/heatmap_style_layer.ts +5 -5
  107. package/src/style/style_layer/heatmap_style_layer_properties.ts +19 -21
  108. package/src/style/style_layer/hillshade_style_layer.ts +5 -5
  109. package/src/style/style_layer/hillshade_style_layer_properties.ts +22 -23
  110. package/src/style/style_layer/line_style_layer.ts +8 -7
  111. package/src/style/style_layer/line_style_layer_properties.ts +43 -43
  112. package/src/style/style_layer/raster_style_layer.ts +5 -5
  113. package/src/style/style_layer/raster_style_layer_properties.ts +28 -26
  114. package/src/style/style_layer/symbol_style_layer.ts +9 -9
  115. package/src/style/style_layer/symbol_style_layer_properties.ts +124 -124
  116. package/src/style/style_layer.test.ts +373 -0
  117. package/src/style/style_layer.ts +18 -20
  118. package/src/style/style_layer_index.test.ts +99 -0
  119. package/src/style-spec/CHANGELOG.md +11 -0
  120. package/src/style-spec/composite.test.ts +106 -0
  121. package/src/style-spec/declass.test.ts +118 -0
  122. package/src/style-spec/deref.test.ts +47 -0
  123. package/src/style-spec/diff.test.ts +413 -0
  124. package/src/style-spec/empty.test.ts +14 -0
  125. package/src/style-spec/expression/expression.test.ts +64 -0
  126. package/src/style-spec/expression/stops.test.ts +23 -0
  127. package/src/style-spec/feature_filter/convert.ts +11 -11
  128. package/src/style-spec/feature_filter/feature_filter.test.ts +624 -0
  129. package/src/style-spec/format.test.ts +30 -0
  130. package/src/style-spec/format.ts +2 -2
  131. package/src/style-spec/function/index.test.ts +988 -0
  132. package/src/style-spec/group_by_layout.test.ts +64 -0
  133. package/src/style-spec/migrate/v8.test.ts +507 -0
  134. package/src/style-spec/migrate/v9.test.ts +76 -0
  135. package/src/style-spec/package.json +2 -1
  136. package/src/style-spec/reference/v8.json +11 -11
  137. package/src/style-spec/style-spec.test.ts +201 -0
  138. package/src/style-spec/types.ts +376 -364
  139. package/src/style-spec/util/color.test.ts +18 -0
  140. package/src/style-spec/util/color_spaces.test.ts +28 -0
  141. package/src/style-spec/util/interpolate.test.ts +16 -0
  142. package/src/style-spec/validate_style.min.ts +1 -1
  143. package/src/symbol/anchor.test.ts +14 -0
  144. package/src/symbol/check_max_angle.test.ts +48 -0
  145. package/src/symbol/clip_line.test.ts +154 -0
  146. package/src/symbol/collision_feature.test.ts +81 -0
  147. package/src/symbol/collision_index.ts +13 -7
  148. package/src/symbol/cross_tile_symbol_index.test.ts +238 -0
  149. package/src/symbol/get_anchors.test.ts +113 -0
  150. package/src/symbol/grid_index.test.ts +52 -0
  151. package/src/symbol/grid_index.ts +113 -69
  152. package/src/symbol/mergelines.test.ts +30 -0
  153. package/src/symbol/path_interpolator.test.ts +134 -0
  154. package/src/symbol/placement.ts +29 -24
  155. package/src/symbol/quads.test.ts +157 -0
  156. package/src/symbol/shaping.test.ts +392 -0
  157. package/src/symbol/symbol_layout.ts +26 -19
  158. package/src/symbol/symbol_style_layer.test.ts +103 -0
  159. package/src/types/packages-types/vector-tile/index.d.ts +27 -0
  160. package/src/ui/anchor.ts +3 -3
  161. package/src/ui/camera.test.ts +1883 -0
  162. package/src/ui/camera.ts +69 -61
  163. package/src/ui/control/attribution_control.test.ts +448 -0
  164. package/src/ui/control/attribution_control.ts +24 -26
  165. package/src/ui/control/control.ts +90 -0
  166. package/src/ui/control/fullscreen_control.test.ts +54 -0
  167. package/src/ui/control/fullscreen_control.ts +3 -3
  168. package/src/ui/control/geolocate_control.test.ts +452 -0
  169. package/src/ui/control/geolocate_control.ts +8 -8
  170. package/src/ui/control/logo_control.test.ts +134 -0
  171. package/src/ui/control/logo_control.ts +1 -1
  172. package/src/ui/control/navigation_control.ts +4 -4
  173. package/src/ui/control/scale_control.test.ts +53 -0
  174. package/src/ui/control/scale_control.ts +5 -5
  175. package/src/ui/events.ts +128 -15
  176. package/src/ui/handler/box_zoom.test.ts +165 -0
  177. package/src/ui/handler/dblclick_zoom.test.ts +181 -0
  178. package/src/ui/handler/drag_pan.test.ts +488 -0
  179. package/src/ui/handler/drag_rotate.test.ts +861 -0
  180. package/src/ui/handler/keyboard.test.ts +237 -0
  181. package/src/ui/handler/map_event.test.ts +96 -0
  182. package/src/ui/handler/map_event.ts +3 -1
  183. package/src/ui/handler/mouse_rotate.test.ts +64 -0
  184. package/src/ui/handler/scroll_zoom.test.ts +275 -0
  185. package/src/ui/handler/touch_zoom_rotate.test.ts +285 -0
  186. package/src/ui/hash.test.ts +293 -0
  187. package/src/ui/map/isMoving.test.ts +166 -0
  188. package/src/ui/map/isRotating.test.ts +64 -0
  189. package/src/ui/map/isZooming.test.ts +89 -0
  190. package/src/ui/map/requestRenderFrame.test.ts +41 -0
  191. package/src/ui/map.test.ts +2063 -0
  192. package/src/ui/map.ts +129 -235
  193. package/src/ui/map_events.test.ts +617 -0
  194. package/src/ui/marker.test.ts +774 -0
  195. package/src/ui/marker.ts +6 -6
  196. package/src/ui/popup.test.ts +739 -0
  197. package/src/ui/popup.ts +7 -7
  198. package/src/util/actor.test.ts +73 -0
  199. package/src/util/ajax.ts +10 -6
  200. package/src/util/browser.test.ts +26 -0
  201. package/src/util/browser.ts +1 -1
  202. package/src/util/classify_rings.test.ts +147 -0
  203. package/src/util/color_ramp.test.ts +106 -0
  204. package/src/util/dispatcher.test.ts +54 -0
  205. package/src/util/dom.ts +97 -120
  206. package/src/util/evented.test.ts +222 -0
  207. package/src/util/evented.ts +1 -1
  208. package/src/util/find_pole_of_inaccessibility.test.ts +21 -0
  209. package/src/util/image.ts +4 -4
  210. package/src/util/point.ts +10 -3
  211. package/src/util/primitives.test.ts +140 -0
  212. package/src/util/request_manager.test.ts +21 -0
  213. package/src/util/request_manager.ts +1 -1
  214. package/src/util/resolve_tokens.test.ts +41 -0
  215. package/src/util/struct_array.test.ts +101 -0
  216. package/src/util/task_queue.test.ts +114 -0
  217. package/src/util/test/util.ts +101 -0
  218. package/src/util/throttle.test.ts +45 -0
  219. package/src/util/tile_request_cache.test.ts +101 -0
  220. package/src/util/transferable_grid_index.test.ts +56 -0
  221. package/src/util/transferable_grid_index.ts +216 -0
  222. package/src/util/util.test.ts +309 -0
  223. package/src/util/vectortile_to_geojson.ts +4 -2
  224. package/src/util/web_worker.ts +2 -2
  225. package/src/util/web_worker_transfer.test.ts +80 -0
  226. package/src/util/web_worker_transfer.ts +2 -18
  227. package/src/util/worker_pool.test.ts +43 -0
  228. package/build/diff-tarball.js +0 -28
  229. package/build/generate-flow-typed-style-spec.js +0 -188
  230. package/build/generate-release-list.js +0 -21
  231. package/build/generate-struct-arrays.js +0 -243
  232. package/build/generate-style-code.js +0 -159
  233. package/build/print-release-url.js +0 -6
  234. package/dist/maplibre-gl-csp-worker.js +0 -2
  235. package/dist/maplibre-gl-csp-worker.js.map +0 -1
  236. package/dist/maplibre-gl-csp.js +0 -2
  237. package/dist/maplibre-gl-csp.js.map +0 -1
  238. package/dist/maplibre-gl-dev.js +0 -54948
  239. package/dist/maplibre-gl-unminified.js +0 -39602
  240. package/dist/maplibre-gl-unminified.js.map +0 -1
  241. package/dist/style-spec/index.es.js +0 -14930
  242. package/dist/style-spec/index.es.js.map +0 -1
  243. package/dist/style-spec/index.js +0 -14955
  244. package/dist/style-spec/index.js.map +0 -1
  245. package/src/style/style_layer/layer_properties.js.ejs +0 -69
  246. package/src/types/non-typed-modules.d.ts +0 -124
  247. package/src/ui/control/control.d.ts +0 -8
  248. package/src/util/struct_array.js.ejs +0 -112
  249. package/src/util/struct_array_layout.js.ejs +0 -98
  250. package/types/data/array_types.d.ts +0 -459
  251. package/types/data/array_types.d.ts.map +0 -1
  252. package/types/data/bucket/circle_attributes.d.ts +0 -4
  253. package/types/data/bucket/circle_attributes.d.ts.map +0 -1
  254. package/types/data/bucket/circle_bucket.d.ts +0 -50
  255. package/types/data/bucket/circle_bucket.d.ts.map +0 -1
  256. package/types/data/bucket/fill_attributes.d.ts +0 -4
  257. package/types/data/bucket/fill_attributes.d.ts.map +0 -1
  258. package/types/data/bucket/fill_bucket.d.ts +0 -51
  259. package/types/data/bucket/fill_bucket.d.ts.map +0 -1
  260. package/types/data/bucket/fill_extrusion_attributes.d.ts +0 -4
  261. package/types/data/bucket/fill_extrusion_attributes.d.ts.map +0 -1
  262. package/types/data/bucket/fill_extrusion_bucket.d.ts +0 -48
  263. package/types/data/bucket/fill_extrusion_bucket.d.ts.map +0 -1
  264. package/types/data/bucket/heatmap_bucket.d.ts +0 -7
  265. package/types/data/bucket/heatmap_bucket.d.ts.map +0 -1
  266. package/types/data/bucket/line_attributes.d.ts +0 -4
  267. package/types/data/bucket/line_attributes.d.ts.map +0 -1
  268. package/types/data/bucket/line_attributes_ext.d.ts +0 -4
  269. package/types/data/bucket/line_attributes_ext.d.ts.map +0 -1
  270. package/types/data/bucket/line_bucket.d.ts +0 -93
  271. package/types/data/bucket/line_bucket.d.ts.map +0 -1
  272. package/types/data/bucket/pattern_attributes.d.ts +0 -3
  273. package/types/data/bucket/pattern_attributes.d.ts.map +0 -1
  274. package/types/data/bucket/pattern_bucket_features.d.ts +0 -9
  275. package/types/data/bucket/pattern_bucket_features.d.ts.map +0 -1
  276. package/types/data/bucket/symbol_attributes.d.ts +0 -13
  277. package/types/data/bucket/symbol_attributes.d.ts.map +0 -1
  278. package/types/data/bucket/symbol_bucket.d.ts +0 -213
  279. package/types/data/bucket/symbol_bucket.d.ts.map +0 -1
  280. package/types/data/bucket.d.ts +0 -97
  281. package/types/data/bucket.d.ts.map +0 -1
  282. package/types/data/dem_data.d.ts +0 -17
  283. package/types/data/dem_data.d.ts.map +0 -1
  284. package/types/data/evaluation_feature.d.ts +0 -26
  285. package/types/data/evaluation_feature.d.ts.map +0 -1
  286. package/types/data/extent.d.ts +0 -18
  287. package/types/data/extent.d.ts.map +0 -1
  288. package/types/data/feature_index.d.ts +0 -77
  289. package/types/data/feature_index.d.ts.map +0 -1
  290. package/types/data/feature_position_map.d.ts +0 -21
  291. package/types/data/feature_position_map.d.ts.map +0 -1
  292. package/types/data/index_array_type.d.ts +0 -10
  293. package/types/data/index_array_type.d.ts.map +0 -1
  294. package/types/data/load_geometry.d.ts +0 -9
  295. package/types/data/load_geometry.d.ts.map +0 -1
  296. package/types/data/pos_attributes.d.ts +0 -3
  297. package/types/data/pos_attributes.d.ts.map +0 -1
  298. package/types/data/program_configuration.d.ts +0 -125
  299. package/types/data/program_configuration.d.ts.map +0 -1
  300. package/types/data/raster_bounds_attributes.d.ts +0 -3
  301. package/types/data/raster_bounds_attributes.d.ts.map +0 -1
  302. package/types/data/segment.d.ts +0 -23
  303. package/types/data/segment.d.ts.map +0 -1
  304. package/types/geo/edge_insets.d.ts +0 -56
  305. package/types/geo/edge_insets.d.ts.map +0 -1
  306. package/types/geo/lng_lat.d.ts +0 -110
  307. package/types/geo/lng_lat.d.ts.map +0 -1
  308. package/types/geo/lng_lat_bounds.d.ts +0 -175
  309. package/types/geo/lng_lat_bounds.d.ts.map +0 -1
  310. package/types/geo/mercator_coordinate.d.ts +0 -87
  311. package/types/geo/mercator_coordinate.d.ts.map +0 -1
  312. package/types/geo/transform.d.ts +0 -221
  313. package/types/geo/transform.d.ts.map +0 -1
  314. package/types/gl/color_mode.d.ts +0 -14
  315. package/types/gl/color_mode.d.ts.map +0 -1
  316. package/types/gl/context.d.ts +0 -73
  317. package/types/gl/context.d.ts.map +0 -1
  318. package/types/gl/cull_face_mode.d.ts +0 -11
  319. package/types/gl/cull_face_mode.d.ts.map +0 -1
  320. package/types/gl/depth_mode.d.ts +0 -12
  321. package/types/gl/depth_mode.d.ts.map +0 -1
  322. package/types/gl/framebuffer.d.ts +0 -14
  323. package/types/gl/framebuffer.d.ts.map +0 -1
  324. package/types/gl/index_buffer.d.ts +0 -14
  325. package/types/gl/index_buffer.d.ts.map +0 -1
  326. package/types/gl/stencil_mode.d.ts +0 -13
  327. package/types/gl/stencil_mode.d.ts.map +0 -1
  328. package/types/gl/types.d.ts +0 -46
  329. package/types/gl/types.d.ts.map +0 -1
  330. package/types/gl/value.d.ts +0 -163
  331. package/types/gl/value.d.ts.map +0 -1
  332. package/types/gl/vertex_buffer.d.ts +0 -37
  333. package/types/gl/vertex_buffer.d.ts.map +0 -1
  334. package/types/index.d.ts +0 -200
  335. package/types/index.d.ts.map +0 -1
  336. package/types/render/draw_background.d.ts +0 -6
  337. package/types/render/draw_background.d.ts.map +0 -1
  338. package/types/render/draw_circle.d.ts +0 -7
  339. package/types/render/draw_circle.d.ts.map +0 -1
  340. package/types/render/draw_collision_debug.d.ts +0 -7
  341. package/types/render/draw_collision_debug.d.ts.map +0 -1
  342. package/types/render/draw_custom.d.ts +0 -6
  343. package/types/render/draw_custom.d.ts.map +0 -1
  344. package/types/render/draw_debug.d.ts +0 -7
  345. package/types/render/draw_debug.d.ts.map +0 -1
  346. package/types/render/draw_fill.d.ts +0 -7
  347. package/types/render/draw_fill.d.ts.map +0 -1
  348. package/types/render/draw_fill_extrusion.d.ts +0 -7
  349. package/types/render/draw_fill_extrusion.d.ts.map +0 -1
  350. package/types/render/draw_heatmap.d.ts +0 -7
  351. package/types/render/draw_heatmap.d.ts.map +0 -1
  352. package/types/render/draw_hillshade.d.ts +0 -7
  353. package/types/render/draw_hillshade.d.ts.map +0 -1
  354. package/types/render/draw_line.d.ts +0 -6
  355. package/types/render/draw_line.d.ts.map +0 -1
  356. package/types/render/draw_raster.d.ts +0 -7
  357. package/types/render/draw_raster.d.ts.map +0 -1
  358. package/types/render/draw_symbol.d.ts +0 -10
  359. package/types/render/draw_symbol.d.ts.map +0 -1
  360. package/types/render/glyph_atlas.d.ts +0 -27
  361. package/types/render/glyph_atlas.d.ts.map +0 -1
  362. package/types/render/glyph_manager.d.ts +0 -44
  363. package/types/render/glyph_manager.d.ts.map +0 -1
  364. package/types/render/image_atlas.d.ts +0 -49
  365. package/types/render/image_atlas.d.ts.map +0 -1
  366. package/types/render/image_manager.d.ts +0 -64
  367. package/types/render/image_manager.d.ts.map +0 -1
  368. package/types/render/line_atlas.d.ts +0 -43
  369. package/types/render/line_atlas.d.ts.map +0 -1
  370. package/types/render/painter.d.ts +0 -140
  371. package/types/render/painter.d.ts.map +0 -1
  372. package/types/render/program/background_program.d.ts +0 -42
  373. package/types/render/program/background_program.d.ts.map +0 -1
  374. package/types/render/program/circle_program.d.ts +0 -19
  375. package/types/render/program/circle_program.d.ts.map +0 -1
  376. package/types/render/program/clipping_mask_program.d.ts +0 -11
  377. package/types/render/program/clipping_mask_program.d.ts.map +0 -1
  378. package/types/render/program/collision_program.d.ts +0 -25
  379. package/types/render/program/collision_program.d.ts.map +0 -1
  380. package/types/render/program/debug_program.d.ts +0 -15
  381. package/types/render/program/debug_program.d.ts.map +0 -1
  382. package/types/render/program/fill_extrusion_program.d.ts +0 -37
  383. package/types/render/program/fill_extrusion_program.d.ts.map +0 -1
  384. package/types/render/program/fill_program.d.ts +0 -43
  385. package/types/render/program/fill_program.d.ts.map +0 -1
  386. package/types/render/program/heatmap_program.d.ts +0 -25
  387. package/types/render/program/heatmap_program.d.ts.map +0 -1
  388. package/types/render/program/hillshade_program.d.ts +0 -30
  389. package/types/render/program/hillshade_program.d.ts.map +0 -1
  390. package/types/render/program/line_program.d.ts +0 -55
  391. package/types/render/program/line_program.d.ts.map +0 -1
  392. package/types/render/program/pattern.d.ts +0 -39
  393. package/types/render/program/pattern.d.ts.map +0 -1
  394. package/types/render/program/program_uniforms.d.ts +0 -28
  395. package/types/render/program/program_uniforms.d.ts.map +0 -1
  396. package/types/render/program/raster_program.d.ts +0 -27
  397. package/types/render/program/raster_program.d.ts.map +0 -1
  398. package/types/render/program/symbol_program.d.ts +0 -84
  399. package/types/render/program/symbol_program.d.ts.map +0 -1
  400. package/types/render/program.d.ts +0 -31
  401. package/types/render/program.d.ts.map +0 -1
  402. package/types/render/texture.d.ts +0 -37
  403. package/types/render/texture.d.ts.map +0 -1
  404. package/types/render/uniform_binding.d.ts +0 -50
  405. package/types/render/uniform_binding.d.ts.map +0 -1
  406. package/types/render/vertex_array_object.d.ts +0 -21
  407. package/types/render/vertex_array_object.d.ts.map +0 -1
  408. package/types/shaders/encode_attribute.d.ts +0 -9
  409. package/types/shaders/encode_attribute.d.ts.map +0 -1
  410. package/types/shaders/shaders.d.ts +0 -160
  411. package/types/shaders/shaders.d.ts.map +0 -1
  412. package/types/source/canvas_source.d.ts +0 -88
  413. package/types/source/canvas_source.d.ts.map +0 -1
  414. package/types/source/geojson_source.d.ts +0 -142
  415. package/types/source/geojson_source.d.ts.map +0 -1
  416. package/types/source/geojson_worker_source.d.ts +0 -143
  417. package/types/source/geojson_worker_source.d.ts.map +0 -1
  418. package/types/source/geojson_wrapper.d.ts +0 -28
  419. package/types/source/geojson_wrapper.d.ts.map +0 -1
  420. package/types/source/image_source.d.ts +0 -123
  421. package/types/source/image_source.d.ts.map +0 -1
  422. package/types/source/load_tilejson.d.ts +0 -6
  423. package/types/source/load_tilejson.d.ts.map +0 -1
  424. package/types/source/pixels_to_tile_units.d.ts +0 -18
  425. package/types/source/pixels_to_tile_units.d.ts.map +0 -1
  426. package/types/source/query_features.d.ts +0 -31
  427. package/types/source/query_features.d.ts.map +0 -1
  428. package/types/source/raster_dem_tile_source.d.ts +0 -26
  429. package/types/source/raster_dem_tile_source.d.ts.map +0 -1
  430. package/types/source/raster_dem_tile_worker_source.d.ts +0 -19
  431. package/types/source/raster_dem_tile_worker_source.d.ts.map +0 -1
  432. package/types/source/raster_tile_source.d.ts +0 -41
  433. package/types/source/raster_tile_source.d.ts.map +0 -1
  434. package/types/source/rtl_text_plugin.d.ts +0 -34
  435. package/types/source/rtl_text_plugin.d.ts.map +0 -1
  436. package/types/source/source.d.ts +0 -81
  437. package/types/source/source.d.ts.map +0 -1
  438. package/types/source/source_cache.d.ts +0 -194
  439. package/types/source/source_cache.d.ts.map +0 -1
  440. package/types/source/source_state.d.ts +0 -32
  441. package/types/source/source_state.d.ts.map +0 -1
  442. package/types/source/tile.d.ts +0 -135
  443. package/types/source/tile.d.ts.map +0 -1
  444. package/types/source/tile_bounds.d.ts +0 -12
  445. package/types/source/tile_bounds.d.ts.map +0 -1
  446. package/types/source/tile_cache.d.ts +0 -100
  447. package/types/source/tile_cache.d.ts.map +0 -1
  448. package/types/source/tile_id.d.ts +0 -41
  449. package/types/source/tile_id.d.ts.map +0 -1
  450. package/types/source/vector_tile_source.d.ts +0 -87
  451. package/types/source/vector_tile_source.d.ts.map +0 -1
  452. package/types/source/vector_tile_worker_source.d.ts +0 -80
  453. package/types/source/vector_tile_worker_source.d.ts.map +0 -1
  454. package/types/source/video_source.d.ts +0 -85
  455. package/types/source/video_source.d.ts.map +0 -1
  456. package/types/source/worker.d.ts +0 -82
  457. package/types/source/worker.d.ts.map +0 -1
  458. package/types/source/worker_source.d.ts +0 -103
  459. package/types/source/worker_source.d.ts.map +0 -1
  460. package/types/source/worker_tile.d.ts +0 -29
  461. package/types/source/worker_tile.d.ts.map +0 -1
  462. package/types/style/create_style_layer.d.ts +0 -14
  463. package/types/style/create_style_layer.d.ts.map +0 -1
  464. package/types/style/evaluation_parameters.d.ts +0 -20
  465. package/types/style/evaluation_parameters.d.ts.map +0 -1
  466. package/types/style/format_section_override.d.ts +0 -14
  467. package/types/style/format_section_override.d.ts.map +0 -1
  468. package/types/style/light.d.ts +0 -47
  469. package/types/style/light.d.ts.map +0 -1
  470. package/types/style/load_glyph_range.d.ts +0 -7
  471. package/types/style/load_glyph_range.d.ts.map +0 -1
  472. package/types/style/load_sprite.d.ts +0 -8
  473. package/types/style/load_sprite.d.ts.map +0 -1
  474. package/types/style/parse_glyph_pbf.d.ts +0 -4
  475. package/types/style/parse_glyph_pbf.d.ts.map +0 -1
  476. package/types/style/pauseable_placement.d.ts +0 -35
  477. package/types/style/pauseable_placement.d.ts.map +0 -1
  478. package/types/style/properties.d.ts +0 -327
  479. package/types/style/properties.d.ts.map +0 -1
  480. package/types/style/query_utils.d.ts +0 -8
  481. package/types/style/query_utils.d.ts.map +0 -1
  482. package/types/style/style.d.ts +0 -259
  483. package/types/style/style.d.ts.map +0 -1
  484. package/types/style/style_glyph.d.ts +0 -14
  485. package/types/style/style_glyph.d.ts.map +0 -1
  486. package/types/style/style_image.d.ts +0 -116
  487. package/types/style/style_image.d.ts.map +0 -1
  488. package/types/style/style_layer/background_style_layer.d.ts +0 -13
  489. package/types/style/style_layer/background_style_layer.d.ts.map +0 -1
  490. package/types/style/style_layer/background_style_layer_properties.d.ts +0 -18
  491. package/types/style/style_layer/background_style_layer_properties.d.ts.map +0 -1
  492. package/types/style/style_layer/circle_style_layer.d.ts +0 -24
  493. package/types/style/style_layer/circle_style_layer.d.ts.map +0 -1
  494. package/types/style/style_layer/circle_style_layer_properties.d.ts +0 -40
  495. package/types/style/style_layer/circle_style_layer_properties.d.ts.map +0 -1
  496. package/types/style/style_layer/custom_style_layer.d.ts +0 -163
  497. package/types/style/style_layer/custom_style_layer.d.ts.map +0 -1
  498. package/types/style/style_layer/fill_extrusion_style_layer.d.ts +0 -27
  499. package/types/style/style_layer/fill_extrusion_style_layer.d.ts.map +0 -1
  500. package/types/style/style_layer/fill_extrusion_style_layer_properties.d.ts +0 -28
  501. package/types/style/style_layer/fill_extrusion_style_layer_properties.d.ts.map +0 -1
  502. package/types/style/style_layer/fill_style_layer.d.ts +0 -26
  503. package/types/style/style_layer/fill_style_layer.d.ts.map +0 -1
  504. package/types/style/style_layer/fill_style_layer_properties.d.ts +0 -33
  505. package/types/style/style_layer/fill_style_layer_properties.d.ts.map +0 -1
  506. package/types/style/style_layer/heatmap_style_layer.d.ts +0 -27
  507. package/types/style/style_layer/heatmap_style_layer.d.ts.map +0 -1
  508. package/types/style/style_layer/heatmap_style_layer_properties.d.ts +0 -20
  509. package/types/style/style_layer/heatmap_style_layer_properties.d.ts.map +0 -1
  510. package/types/style/style_layer/hillshade_style_layer.d.ts +0 -14
  511. package/types/style/style_layer/hillshade_style_layer.d.ts.map +0 -1
  512. package/types/style/style_layer/hillshade_style_layer_properties.d.ts +0 -23
  513. package/types/style/style_layer/hillshade_style_layer_properties.d.ts.map +0 -1
  514. package/types/style/style_layer/line_style_layer.d.ts +0 -30
  515. package/types/style/style_layer/line_style_layer.d.ts.map +0 -1
  516. package/types/style/style_layer/line_style_layer_properties.d.ts +0 -49
  517. package/types/style/style_layer/line_style_layer_properties.d.ts.map +0 -1
  518. package/types/style/style_layer/raster_style_layer.d.ts +0 -13
  519. package/types/style/style_layer/raster_style_layer.d.ts.map +0 -1
  520. package/types/style/style_layer/raster_style_layer_properties.d.ts +0 -26
  521. package/types/style/style_layer/raster_style_layer_properties.d.ts.map +0 -1
  522. package/types/style/style_layer/symbol_style_layer.d.ts +0 -28
  523. package/types/style/style_layer/symbol_style_layer.d.ts.map +0 -1
  524. package/types/style/style_layer/symbol_style_layer_properties.d.ts +0 -128
  525. package/types/style/style_layer/symbol_style_layer_properties.d.ts.map +0 -1
  526. package/types/style/style_layer/typed_style_layer.d.ts +0 -9
  527. package/types/style/style_layer/typed_style_layer.d.ts.map +0 -1
  528. package/types/style/style_layer.d.ts +0 -63
  529. package/types/style/style_layer.d.ts.map +0 -1
  530. package/types/style/style_layer_index.d.ts +0 -26
  531. package/types/style/style_layer_index.d.ts.map +0 -1
  532. package/types/style/validate_style.d.ts +0 -28
  533. package/types/style/validate_style.d.ts.map +0 -1
  534. package/types/style/zoom_history.d.ts +0 -11
  535. package/types/style/zoom_history.d.ts.map +0 -1
  536. package/types/style-spec/composite.d.ts +0 -2
  537. package/types/style-spec/composite.d.ts.map +0 -1
  538. package/types/style-spec/declass.d.ts +0 -18
  539. package/types/style-spec/declass.d.ts.map +0 -1
  540. package/types/style-spec/deref.d.ts +0 -16
  541. package/types/style-spec/deref.d.ts.map +0 -1
  542. package/types/style-spec/diff.d.ts +0 -43
  543. package/types/style-spec/diff.d.ts.map +0 -1
  544. package/types/style-spec/empty.d.ts +0 -2
  545. package/types/style-spec/empty.d.ts.map +0 -1
  546. package/types/style-spec/error/parsing_error.d.ts +0 -7
  547. package/types/style-spec/error/parsing_error.d.ts.map +0 -1
  548. package/types/style-spec/error/validation_error.d.ts +0 -9
  549. package/types/style-spec/error/validation_error.d.ts.map +0 -1
  550. package/types/style-spec/expression/compound_expression.d.ts +0 -34
  551. package/types/style-spec/expression/compound_expression.d.ts.map +0 -1
  552. package/types/style-spec/expression/definitions/assertion.d.ts +0 -16
  553. package/types/style-spec/expression/definitions/assertion.d.ts.map +0 -1
  554. package/types/style-spec/expression/definitions/at.d.ts +0 -18
  555. package/types/style-spec/expression/definitions/at.d.ts.map +0 -1
  556. package/types/style-spec/expression/definitions/case.d.ts +0 -18
  557. package/types/style-spec/expression/definitions/case.d.ts.map +0 -1
  558. package/types/style-spec/expression/definitions/coalesce.d.ts +0 -16
  559. package/types/style-spec/expression/definitions/coalesce.d.ts.map +0 -1
  560. package/types/style-spec/expression/definitions/coercion.d.ts +0 -26
  561. package/types/style-spec/expression/definitions/coercion.d.ts.map +0 -1
  562. package/types/style-spec/expression/definitions/collator.d.ts +0 -18
  563. package/types/style-spec/expression/definitions/collator.d.ts.map +0 -1
  564. package/types/style-spec/expression/definitions/comparison.d.ts +0 -89
  565. package/types/style-spec/expression/definitions/comparison.d.ts.map +0 -1
  566. package/types/style-spec/expression/definitions/format.d.ts +0 -23
  567. package/types/style-spec/expression/definitions/format.d.ts.map +0 -1
  568. package/types/style-spec/expression/definitions/image.d.ts +0 -16
  569. package/types/style-spec/expression/definitions/image.d.ts.map +0 -1
  570. package/types/style-spec/expression/definitions/in.d.ts +0 -17
  571. package/types/style-spec/expression/definitions/in.d.ts.map +0 -1
  572. package/types/style-spec/expression/definitions/index.d.ts +0 -4
  573. package/types/style-spec/expression/definitions/index.d.ts.map +0 -1
  574. package/types/style-spec/expression/definitions/index_of.d.ts +0 -18
  575. package/types/style-spec/expression/definitions/index_of.d.ts.map +0 -1
  576. package/types/style-spec/expression/definitions/interpolate.d.ts +0 -31
  577. package/types/style-spec/expression/definitions/interpolate.d.ts.map +0 -1
  578. package/types/style-spec/expression/definitions/length.d.ts +0 -16
  579. package/types/style-spec/expression/definitions/length.d.ts.map +0 -1
  580. package/types/style-spec/expression/definitions/let.d.ts +0 -17
  581. package/types/style-spec/expression/definitions/let.d.ts.map +0 -1
  582. package/types/style-spec/expression/definitions/literal.d.ts +0 -16
  583. package/types/style-spec/expression/definitions/literal.d.ts.map +0 -1
  584. package/types/style-spec/expression/definitions/match.d.ts +0 -23
  585. package/types/style-spec/expression/definitions/match.d.ts.map +0 -1
  586. package/types/style-spec/expression/definitions/number_format.d.ts +0 -19
  587. package/types/style-spec/expression/definitions/number_format.d.ts.map +0 -1
  588. package/types/style-spec/expression/definitions/slice.d.ts +0 -18
  589. package/types/style-spec/expression/definitions/slice.d.ts.map +0 -1
  590. package/types/style-spec/expression/definitions/step.d.ts +0 -19
  591. package/types/style-spec/expression/definitions/step.d.ts.map +0 -1
  592. package/types/style-spec/expression/definitions/var.d.ts +0 -17
  593. package/types/style-spec/expression/definitions/var.d.ts.map +0 -1
  594. package/types/style-spec/expression/definitions/within.d.ts +0 -18
  595. package/types/style-spec/expression/definitions/within.d.ts.map +0 -1
  596. package/types/style-spec/expression/evaluation_context.d.ts +0 -26
  597. package/types/style-spec/expression/evaluation_context.d.ts.map +0 -1
  598. package/types/style-spec/expression/expression.d.ts +0 -26
  599. package/types/style-spec/expression/expression.d.ts.map +0 -1
  600. package/types/style-spec/expression/index.d.ts +0 -126
  601. package/types/style-spec/expression/index.d.ts.map +0 -1
  602. package/types/style-spec/expression/is_constant.d.ts +0 -6
  603. package/types/style-spec/expression/is_constant.d.ts.map +0 -1
  604. package/types/style-spec/expression/parsing_context.d.ts +0 -54
  605. package/types/style-spec/expression/parsing_context.d.ts.map +0 -1
  606. package/types/style-spec/expression/parsing_error.d.ts +0 -7
  607. package/types/style-spec/expression/parsing_error.d.ts.map +0 -1
  608. package/types/style-spec/expression/runtime_error.d.ts +0 -8
  609. package/types/style-spec/expression/runtime_error.d.ts.map +0 -1
  610. package/types/style-spec/expression/scope.d.ts +0 -17
  611. package/types/style-spec/expression/scope.d.ts.map +0 -1
  612. package/types/style-spec/expression/stops.d.ts +0 -8
  613. package/types/style-spec/expression/stops.d.ts.map +0 -1
  614. package/types/style-spec/expression/types/collator.d.ts +0 -23
  615. package/types/style-spec/expression/types/collator.d.ts.map +0 -1
  616. package/types/style-spec/expression/types/formatted.d.ts +0 -20
  617. package/types/style-spec/expression/types/formatted.d.ts.map +0 -1
  618. package/types/style-spec/expression/types/resolved_image.d.ts +0 -13
  619. package/types/style-spec/expression/types/resolved_image.d.ts.map +0 -1
  620. package/types/style-spec/expression/types.d.ts +0 -64
  621. package/types/style-spec/expression/types.d.ts.map +0 -1
  622. package/types/style-spec/expression/values.d.ts +0 -14
  623. package/types/style-spec/expression/values.d.ts.map +0 -1
  624. package/types/style-spec/feature_filter/convert.d.ts +0 -8
  625. package/types/style-spec/feature_filter/convert.d.ts.map +0 -1
  626. package/types/style-spec/feature_filter/index.d.ts +0 -21
  627. package/types/style-spec/feature_filter/index.d.ts.map +0 -1
  628. package/types/style-spec/format.d.ts +0 -24
  629. package/types/style-spec/format.d.ts.map +0 -1
  630. package/types/style-spec/function/convert.d.ts +0 -5
  631. package/types/style-spec/function/convert.d.ts.map +0 -1
  632. package/types/style-spec/function/index.d.ts +0 -30
  633. package/types/style-spec/function/index.d.ts.map +0 -1
  634. package/types/style-spec/group_by_layout.d.ts +0 -18
  635. package/types/style-spec/group_by_layout.d.ts.map +0 -1
  636. package/types/style-spec/migrate/expressions.d.ts +0 -8
  637. package/types/style-spec/migrate/expressions.d.ts.map +0 -1
  638. package/types/style-spec/migrate/v8.d.ts +0 -2
  639. package/types/style-spec/migrate/v8.d.ts.map +0 -1
  640. package/types/style-spec/migrate/v9.d.ts +0 -2
  641. package/types/style-spec/migrate/v9.d.ts.map +0 -1
  642. package/types/style-spec/migrate.d.ts +0 -15
  643. package/types/style-spec/migrate.d.ts.map +0 -1
  644. package/types/style-spec/read_style.d.ts +0 -2
  645. package/types/style-spec/read_style.d.ts.map +0 -1
  646. package/types/style-spec/reference/latest.d.ts +0 -3
  647. package/types/style-spec/reference/latest.d.ts.map +0 -1
  648. package/types/style-spec/style-spec.d.ts +0 -98
  649. package/types/style-spec/style-spec.d.ts.map +0 -1
  650. package/types/style-spec/types.d.ts +0 -417
  651. package/types/style-spec/types.d.ts.map +0 -1
  652. package/types/style-spec/util/color.d.ts +0 -41
  653. package/types/style-spec/util/color.d.ts.map +0 -1
  654. package/types/style-spec/util/color_spaces.d.ts +0 -41
  655. package/types/style-spec/util/color_spaces.d.ts.map +0 -1
  656. package/types/style-spec/util/deep_equal.d.ts +0 -8
  657. package/types/style-spec/util/deep_equal.d.ts.map +0 -1
  658. package/types/style-spec/util/extend.d.ts +0 -2
  659. package/types/style-spec/util/extend.d.ts.map +0 -1
  660. package/types/style-spec/util/get_type.d.ts +0 -2
  661. package/types/style-spec/util/get_type.d.ts.map +0 -1
  662. package/types/style-spec/util/interpolate.d.ts +0 -5
  663. package/types/style-spec/util/interpolate.d.ts.map +0 -1
  664. package/types/style-spec/util/properties.d.ts +0 -5
  665. package/types/style-spec/util/properties.d.ts.map +0 -1
  666. package/types/style-spec/util/ref_properties.d.ts +0 -3
  667. package/types/style-spec/util/ref_properties.d.ts.map +0 -1
  668. package/types/style-spec/util/result.d.ts +0 -16
  669. package/types/style-spec/util/result.d.ts.map +0 -1
  670. package/types/style-spec/util/unbundle_jsonlint.d.ts +0 -3
  671. package/types/style-spec/util/unbundle_jsonlint.d.ts.map +0 -1
  672. package/types/style-spec/validate/latest.d.ts +0 -3
  673. package/types/style-spec/validate/latest.d.ts.map +0 -1
  674. package/types/style-spec/validate/validate.d.ts +0 -2
  675. package/types/style-spec/validate/validate.d.ts.map +0 -1
  676. package/types/style-spec/validate/validate_array.d.ts +0 -2
  677. package/types/style-spec/validate/validate_array.d.ts.map +0 -1
  678. package/types/style-spec/validate/validate_boolean.d.ts +0 -3
  679. package/types/style-spec/validate/validate_boolean.d.ts.map +0 -1
  680. package/types/style-spec/validate/validate_color.d.ts +0 -3
  681. package/types/style-spec/validate/validate_color.d.ts.map +0 -1
  682. package/types/style-spec/validate/validate_constants.d.ts +0 -3
  683. package/types/style-spec/validate/validate_constants.d.ts.map +0 -1
  684. package/types/style-spec/validate/validate_enum.d.ts +0 -2
  685. package/types/style-spec/validate/validate_enum.d.ts.map +0 -1
  686. package/types/style-spec/validate/validate_expression.d.ts +0 -3
  687. package/types/style-spec/validate/validate_expression.d.ts.map +0 -1
  688. package/types/style-spec/validate/validate_filter.d.ts +0 -2
  689. package/types/style-spec/validate/validate_filter.d.ts.map +0 -1
  690. package/types/style-spec/validate/validate_formatted.d.ts +0 -2
  691. package/types/style-spec/validate/validate_formatted.d.ts.map +0 -1
  692. package/types/style-spec/validate/validate_function.d.ts +0 -2
  693. package/types/style-spec/validate/validate_function.d.ts.map +0 -1
  694. package/types/style-spec/validate/validate_glyphs_url.d.ts +0 -3
  695. package/types/style-spec/validate/validate_glyphs_url.d.ts.map +0 -1
  696. package/types/style-spec/validate/validate_image.d.ts +0 -2
  697. package/types/style-spec/validate/validate_image.d.ts.map +0 -1
  698. package/types/style-spec/validate/validate_layer.d.ts +0 -2
  699. package/types/style-spec/validate/validate_layer.d.ts.map +0 -1
  700. package/types/style-spec/validate/validate_layout_property.d.ts +0 -2
  701. package/types/style-spec/validate/validate_layout_property.d.ts.map +0 -1
  702. package/types/style-spec/validate/validate_light.d.ts +0 -2
  703. package/types/style-spec/validate/validate_light.d.ts.map +0 -1
  704. package/types/style-spec/validate/validate_number.d.ts +0 -3
  705. package/types/style-spec/validate/validate_number.d.ts.map +0 -1
  706. package/types/style-spec/validate/validate_object.d.ts +0 -2
  707. package/types/style-spec/validate/validate_object.d.ts.map +0 -1
  708. package/types/style-spec/validate/validate_paint_property.d.ts +0 -2
  709. package/types/style-spec/validate/validate_paint_property.d.ts.map +0 -1
  710. package/types/style-spec/validate/validate_property.d.ts +0 -2
  711. package/types/style-spec/validate/validate_property.d.ts.map +0 -1
  712. package/types/style-spec/validate/validate_source.d.ts +0 -2
  713. package/types/style-spec/validate/validate_source.d.ts.map +0 -1
  714. package/types/style-spec/validate/validate_string.d.ts +0 -3
  715. package/types/style-spec/validate/validate_string.d.ts.map +0 -1
  716. package/types/style-spec/validate_style.d.ts +0 -5333
  717. package/types/style-spec/validate_style.d.ts.map +0 -1
  718. package/types/style-spec/validate_style.min.d.ts +0 -5336
  719. package/types/style-spec/validate_style.min.d.ts.map +0 -1
  720. package/types/style-spec/visit.d.ts +0 -17
  721. package/types/style-spec/visit.d.ts.map +0 -1
  722. package/types/symbol/anchor.d.ts +0 -9
  723. package/types/symbol/anchor.d.ts.map +0 -1
  724. package/types/symbol/check_max_angle.d.ts +0 -18
  725. package/types/symbol/check_max_angle.d.ts.map +0 -1
  726. package/types/symbol/clip_line.d.ts +0 -15
  727. package/types/symbol/clip_line.d.ts.map +0 -1
  728. package/types/symbol/collision_feature.d.ts +0 -29
  729. package/types/symbol/collision_feature.d.ts.map +0 -1
  730. package/types/symbol/collision_index.d.ts +0 -57
  731. package/types/symbol/collision_index.d.ts.map +0 -1
  732. package/types/symbol/cross_tile_symbol_index.d.ts +0 -67
  733. package/types/symbol/cross_tile_symbol_index.d.ts.map +0 -1
  734. package/types/symbol/get_anchors.d.ts +0 -7
  735. package/types/symbol/get_anchors.d.ts.map +0 -1
  736. package/types/symbol/grid_index.d.ts +0 -49
  737. package/types/symbol/grid_index.d.ts.map +0 -1
  738. package/types/symbol/mergelines.d.ts +0 -3
  739. package/types/symbol/mergelines.d.ts.map +0 -1
  740. package/types/symbol/one_em.d.ts +0 -3
  741. package/types/symbol/one_em.d.ts.map +0 -1
  742. package/types/symbol/opacity_state.d.ts +0 -9
  743. package/types/symbol/opacity_state.d.ts.map +0 -1
  744. package/types/symbol/path_interpolator.d.ts +0 -13
  745. package/types/symbol/path_interpolator.d.ts.map +0 -1
  746. package/types/symbol/placement.d.ts +0 -141
  747. package/types/symbol/placement.d.ts.map +0 -1
  748. package/types/symbol/projection.d.ts +0 -37
  749. package/types/symbol/projection.d.ts.map +0 -1
  750. package/types/symbol/quads.d.ts +0 -52
  751. package/types/symbol/quads.d.ts.map +0 -1
  752. package/types/symbol/shaping.d.ts +0 -67
  753. package/types/symbol/shaping.d.ts.map +0 -1
  754. package/types/symbol/symbol_layout.d.ts +0 -26
  755. package/types/symbol/symbol_layout.d.ts.map +0 -1
  756. package/types/symbol/symbol_size.d.ts +0 -35
  757. package/types/symbol/symbol_size.d.ts.map +0 -1
  758. package/types/symbol/transform_text.d.ts +0 -5
  759. package/types/symbol/transform_text.d.ts.map +0 -1
  760. package/types/types/callback.d.ts +0 -2
  761. package/types/types/callback.d.ts.map +0 -1
  762. package/types/types/cancelable.d.ts +0 -4
  763. package/types/types/cancelable.d.ts.map +0 -1
  764. package/types/types/tilejson.d.ts +0 -16
  765. package/types/types/tilejson.d.ts.map +0 -1
  766. package/types/types/transferable.d.ts +0 -2
  767. package/types/types/transferable.d.ts.map +0 -1
  768. package/types/ui/anchor.d.ts +0 -6
  769. package/types/ui/anchor.d.ts.map +0 -1
  770. package/types/ui/camera.d.ts +0 -628
  771. package/types/ui/camera.d.ts.map +0 -1
  772. package/types/ui/control/attribution_control.d.ts +0 -41
  773. package/types/ui/control/attribution_control.d.ts.map +0 -1
  774. package/types/ui/control/fullscreen_control.d.ts +0 -36
  775. package/types/ui/control/fullscreen_control.d.ts.map +0 -1
  776. package/types/ui/control/geolocate_control.d.ts +0 -242
  777. package/types/ui/control/geolocate_control.d.ts.map +0 -1
  778. package/types/ui/control/logo_control.d.ts +0 -21
  779. package/types/ui/control/logo_control.d.ts.map +0 -1
  780. package/types/ui/control/navigation_control.d.ts +0 -63
  781. package/types/ui/control/navigation_control.d.ts.map +0 -1
  782. package/types/ui/control/scale_control.d.ts +0 -41
  783. package/types/ui/control/scale_control.d.ts.map +0 -1
  784. package/types/ui/default_locale.d.ts +0 -19
  785. package/types/ui/default_locale.d.ts.map +0 -1
  786. package/types/ui/events.d.ts +0 -1117
  787. package/types/ui/events.d.ts.map +0 -1
  788. package/types/ui/handler/box_zoom.d.ts +0 -59
  789. package/types/ui/handler/box_zoom.d.ts.map +0 -1
  790. package/types/ui/handler/click_zoom.d.ts +0 -16
  791. package/types/ui/handler/click_zoom.d.ts.map +0 -1
  792. package/types/ui/handler/handler_util.d.ts +0 -3
  793. package/types/ui/handler/handler_util.d.ts.map +0 -1
  794. package/types/ui/handler/keyboard.d.ts +0 -79
  795. package/types/ui/handler/keyboard.d.ts.map +0 -1
  796. package/types/ui/handler/map_event.d.ts +0 -44
  797. package/types/ui/handler/map_event.d.ts.map +0 -1
  798. package/types/ui/handler/mouse.d.ts +0 -46
  799. package/types/ui/handler/mouse.d.ts.map +0 -1
  800. package/types/ui/handler/scroll_zoom.d.ts +0 -97
  801. package/types/ui/handler/scroll_zoom.d.ts.map +0 -1
  802. package/types/ui/handler/shim/dblclick_zoom.d.ts +0 -41
  803. package/types/ui/handler/shim/dblclick_zoom.d.ts.map +0 -1
  804. package/types/ui/handler/shim/drag_pan.d.ts +0 -62
  805. package/types/ui/handler/shim/drag_pan.d.ts.map +0 -1
  806. package/types/ui/handler/shim/drag_rotate.d.ts +0 -47
  807. package/types/ui/handler/shim/drag_rotate.d.ts.map +0 -1
  808. package/types/ui/handler/shim/touch_zoom_rotate.d.ts +0 -71
  809. package/types/ui/handler/shim/touch_zoom_rotate.d.ts.map +0 -1
  810. package/types/ui/handler/tap_drag_zoom.d.ts +0 -23
  811. package/types/ui/handler/tap_drag_zoom.d.ts.map +0 -1
  812. package/types/ui/handler/tap_recognizer.d.ts +0 -34
  813. package/types/ui/handler/tap_recognizer.d.ts.map +0 -1
  814. package/types/ui/handler/tap_zoom.d.ts +0 -22
  815. package/types/ui/handler/tap_zoom.d.ts.map +0 -1
  816. package/types/ui/handler/touch_pan.d.ts +0 -34
  817. package/types/ui/handler/touch_pan.d.ts.map +0 -1
  818. package/types/ui/handler/touch_zoom_rotate.d.ts +0 -59
  819. package/types/ui/handler/touch_zoom_rotate.d.ts.map +0 -1
  820. package/types/ui/handler_inertia.d.ts +0 -22
  821. package/types/ui/handler_inertia.d.ts.map +0 -1
  822. package/types/ui/handler_manager.d.ts +0 -95
  823. package/types/ui/handler_manager.d.ts.map +0 -1
  824. package/types/ui/hash.d.ts +0 -15
  825. package/types/ui/hash.d.ts.map +0 -1
  826. package/types/ui/map.d.ts +0 -1758
  827. package/types/ui/map.d.ts.map +0 -1
  828. package/types/ui/marker.d.ts +0 -225
  829. package/types/ui/marker.d.ts.map +0 -1
  830. package/types/ui/popup.d.ts +0 -265
  831. package/types/ui/popup.d.ts.map +0 -1
  832. package/types/util/actor.d.ts +0 -47
  833. package/types/util/actor.d.ts.map +0 -1
  834. package/types/util/ajax.d.ts +0 -62
  835. package/types/util/ajax.d.ts.map +0 -1
  836. package/types/util/browser.d.ts +0 -18
  837. package/types/util/browser.d.ts.map +0 -1
  838. package/types/util/classify_rings.d.ts +0 -3
  839. package/types/util/classify_rings.d.ts.map +0 -1
  840. package/types/util/color_ramp.d.ts +0 -17
  841. package/types/util/color_ramp.d.ts.map +0 -1
  842. package/types/util/config.d.ts +0 -9
  843. package/types/util/config.d.ts.map +0 -1
  844. package/types/util/debug.d.ts +0 -12
  845. package/types/util/debug.d.ts.map +0 -1
  846. package/types/util/dictionary_coder.d.ts +0 -11
  847. package/types/util/dictionary_coder.d.ts.map +0 -1
  848. package/types/util/dispatcher.d.ts +0 -31
  849. package/types/util/dispatcher.d.ts.map +0 -1
  850. package/types/util/dom.d.ts +0 -23
  851. package/types/util/dom.d.ts.map +0 -1
  852. package/types/util/evented.d.ts +0 -73
  853. package/types/util/evented.d.ts.map +0 -1
  854. package/types/util/find_pole_of_inaccessibility.d.ts +0 -13
  855. package/types/util/find_pole_of_inaccessibility.d.ts.map +0 -1
  856. package/types/util/global_worker_pool.d.ts +0 -9
  857. package/types/util/global_worker_pool.d.ts.map +0 -1
  858. package/types/util/image.d.ts +0 -29
  859. package/types/util/image.d.ts.map +0 -1
  860. package/types/util/intersection_tests.d.ts +0 -14
  861. package/types/util/intersection_tests.d.ts.map +0 -1
  862. package/types/util/is_char_in_unicode_block.d.ts +0 -6
  863. package/types/util/is_char_in_unicode_block.d.ts.map +0 -1
  864. package/types/util/offscreen_canvas_supported.d.ts +0 -2
  865. package/types/util/offscreen_canvas_supported.d.ts.map +0 -1
  866. package/types/util/performance.d.ts +0 -35
  867. package/types/util/performance.d.ts.map +0 -1
  868. package/types/util/point.d.ts +0 -184
  869. package/types/util/point.d.ts.map +0 -1
  870. package/types/util/primitives.d.ts +0 -19
  871. package/types/util/primitives.d.ts.map +0 -1
  872. package/types/util/request_manager.d.ts +0 -13
  873. package/types/util/request_manager.d.ts.map +0 -1
  874. package/types/util/resolve_tokens.d.ts +0 -13
  875. package/types/util/resolve_tokens.d.ts.map +0 -1
  876. package/types/util/script_detection.d.ts +0 -47
  877. package/types/util/script_detection.d.ts.map +0 -1
  878. package/types/util/smart_wrap.d.ts +0 -20
  879. package/types/util/smart_wrap.d.ts.map +0 -1
  880. package/types/util/struct_array.d.ts +0 -124
  881. package/types/util/struct_array.d.ts.map +0 -1
  882. package/types/util/task_queue.d.ts +0 -19
  883. package/types/util/task_queue.d.ts.map +0 -1
  884. package/types/util/throttle.d.ts +0 -6
  885. package/types/util/throttle.d.ts.map +0 -1
  886. package/types/util/throttled_invoker.d.ts +0 -16
  887. package/types/util/throttled_invoker.d.ts.map +0 -1
  888. package/types/util/tile_request_cache.d.ts +0 -14
  889. package/types/util/tile_request_cache.d.ts.map +0 -1
  890. package/types/util/util.d.ts +0 -222
  891. package/types/util/util.d.ts.map +0 -1
  892. package/types/util/vectortile_to_geojson.d.ts +0 -13
  893. package/types/util/vectortile_to_geojson.d.ts.map +0 -1
  894. package/types/util/verticalize_punctuation.d.ts +0 -87
  895. package/types/util/verticalize_punctuation.d.ts.map +0 -1
  896. package/types/util/web_worker.d.ts +0 -25
  897. package/types/util/web_worker.d.ts.map +0 -1
  898. package/types/util/web_worker_transfer.d.ts +0 -39
  899. package/types/util/web_worker_transfer.d.ts.map +0 -1
  900. package/types/util/webp_supported.d.ts +0 -7
  901. package/types/util/webp_supported.d.ts.map +0 -1
  902. package/types/util/worker_pool.d.ts +0 -19
  903. package/types/util/worker_pool.d.ts.map +0 -1
package/CHANGELOG.md CHANGED
@@ -8,6 +8,18 @@
8
8
 
9
9
  - *...Add new stuff here...*
10
10
 
11
+ ## 2.0.2
12
+
13
+ ### 🐞 Bug fixes
14
+
15
+ - Fix typescript generated file (#776).
16
+
17
+ ## 2.0.1
18
+
19
+ ### 🐞 Bug fixes
20
+
21
+ - Fix documentation of `addProtocol` and `removeProtocol`.
22
+
11
23
  ## 2.0.0
12
24
 
13
25
  ### Features and improvements
@@ -15,15 +27,38 @@
15
27
  - Migrated the production code to typescript
16
28
  - ** Breaking Change ** removed `version` from the public API
17
29
  - ** Breaking Change ** stopped supporting IE (internet explorer)
18
- - ** Breaking Change ** removed all code related to `accessToken` and mapbox specific urls, including telemetry etc. Please do not use mapbox servers with this library.
19
- - ** Breaking Change ** removed `baseApiUrl` as it was used only for mapbox related urls
20
- - Added redraw function to map (#206)
21
- - *...Add new stuff here...*
30
+ - ** Breaking Change ** stopped supporting Chrome 49-65. Chrome 66+ required. For Chrome 49-65 support use version 1.15.2.
31
+ - ** Breaking Change ** removed all code related to `accessToken` and Mapbox specific urls starting with `mapbox://`. Telemetry and tracking code was removed.
32
+ - ** Breaking Change ** removed `baseApiUrl` as it was used only for Mapbox related urls
33
+ - ** Breaking Change ** typescript typings have changed:
34
+ - `Style` => `StyleSpecification`
35
+ - `AnyLayer` => `LayerSpecification`
36
+ - `AnySourceData` => `SourceSpecification`
37
+ - `MapboxEvent` => `MapLibreEvent`
38
+ - `MapboxOptions` => `MapOptions`
39
+ - `MapBoxZoomEvent` => `MapLibreZoomEvent`
40
+ - `*SourceRaw` + `*SourceOptions` => `*SourceSpecification`
41
+ - `*Source` (source implementation definition) were removed
42
+ - `*Layer` => `*LayerSpecification`
43
+ - `*Paint` => `*LayerSpecification['paint']`
44
+ - `*Layout` => `*LayerSpecification['layout']`
45
+ - `MapboxGeoJSONFeature` => `GeoJSONFeature`
46
+ - Added `redraw` function to map (#206)
47
+ - Improve attribution controls accessibility. See [#359](https://github.com/maplibre/maplibre-gl-js/issues/359)
48
+ - Allow maxPitch value up to 85, use values greater than 60 at your own risk (#574)
49
+ - `getImage` uses createImageBitmap when supported (#650)
22
50
 
23
51
  ### 🐞 Bug fixes
24
52
 
25
53
  - Fix warning due to strict comparison of SDF property in image sprite (#303)
26
54
  - Fix tile placeholder replacement to allow for placeholders to be in a URL more than once. (#348)
55
+ - Fix type check for non dom environment. (#334)
56
+ - Fix precision problem in patterns when overzoomed in OpenGL ES devices.
57
+ - Fix padding-top of the popup to improve readability of popup text (#354).
58
+ - Fix GeoJSONSource#loaded sometimes returning true while there are still pending loads (#669)
59
+ - Fix MapDataEvent#isSourceLoaded being true in GeoJSONSource "dataloading" event handlers (#694)
60
+ - Fix events being fired after Map#remove has been called when the WebGL context is lost and restored (#726)
61
+ - Fix nested expressions types definition [#757](https://github.com/maplibre/maplibre-gl-js/pull/757)
27
62
 
28
63
  ## 1.15.2
29
64
 
package/README.md CHANGED
@@ -1,19 +1,49 @@
1
1
  # MapLibre GL
2
2
 
3
- **MapLibre GL** is a community led fork derived from [mapbox-gl-js](https://github.com/mapbox/mapbox-gl-js) prior to their switch to a non-OSS license.
3
+ **MapLibre GL** is a community-led fork derived from [mapbox-gl-js](https://github.com/mapbox/mapbox-gl-js) before their switch to a non-OSS license.
4
4
 
5
5
  ### Migrating from mapbox-gl
6
6
 
7
7
  If you depend on mapbox-gl directly, simply replace `mapbox-gl` with `maplibre-gl` in `package.json`:
8
+
9
+ Use
10
+
11
+ ```diff
12
+ "dependencies": {
13
+ - "mapbox-gl": "^1.13.0"
14
+ + "maplibre-gl": ">=1.15.2"
15
+ }
16
+ ```
17
+
18
+ if it is important to you that the behaviour is similar to `mapbox-gl` version 1.x.
19
+
20
+ If you are OK with changes that integrate non-backward compatible features, install `maplibre-gl` version 2:
21
+
8
22
  ```diff
9
23
  "dependencies": {
10
24
  - "mapbox-gl": "^1.13.0"
11
- + "maplibre-gl": ">=1.14.0"
25
+ + "maplibre-gl": ">=2.0.0"
12
26
  }
13
27
  ```
14
28
 
15
- And replace ```mapboxgl``` with ```maplibregl``` in your JavaScript and optionally in your HTML/CSS code:
29
+ And replace `mapboxgl` with `maplibregl` in your JavaScript and optionally in your HTML/CSS code:
30
+
31
+ > MapLibre GL JS is distributed via [unpkg.com](https://unpkg.com). For more informations please see [MapLibre GL is on unpkg.com](./docs/README-unpkg.md#maplibre-gl-on-unpkgcom).
32
+
16
33
  ```diff
34
+ - <script src="https://api.mapbox.com/mapbox-gl-js/v1.13.0/mapbox-gl.js"></script>
35
+ - <link
36
+ - href="https://api.mapbox.com/mapbox-gl-js/v1.13.0/mapbox-gl.css"
37
+ - rel="stylesheet"
38
+ - />
39
+
40
+ <!-- Use maplibre-gl version 1.15.2 for backwards compatibility with mapbox-gl version 1.x. -->
41
+ + <script src="https://unpkg.com/maplibre-gl@1.15.2/dist/maplibre-gl.js"></script>
42
+ + <link
43
+ + href="https://unpkg.com/maplibre-gl@1.15.2/dist/maplibre-gl.css"
44
+ + rel="stylesheet"
45
+ + />
46
+
17
47
  - var map = new mapboxgl.Map({
18
48
  + var map = new maplibregl.Map({
19
49
 
@@ -21,13 +51,15 @@ And replace ```mapboxgl``` with ```maplibregl``` in your JavaScript and optional
21
51
  + <button class="maplibregl-ctrl">
22
52
  ```
23
53
 
24
- Want an example? [Try out MapLibre GL on CodePen](https://codepen.io/klokan/pen/WNoZRyx) and have a look at ones in the official [MapLibre GL JS Documentation](https://maplibre.org/maplibre-gl-js-docs/example/).
54
+ Want an example? Have a look at the official [MapLibre GL JS Documentation](https://maplibre.org/maplibre-gl-js-docs/example/).
25
55
 
26
56
  Use MapLibre GL JS bindings for React (https://visgl.github.io/react-map-gl/docs/get-started/get-started#using-with-a-mapbox-gl-fork) and Angular (https://github.com/maplibre/ngx-maplibre-gl). Find more at [awesome-maplibre](https://github.com/maplibre/awesome-maplibre).
27
57
 
28
58
  ### Roadmap
29
59
 
30
- This project's initial plans are outlined in the [Roadmap](https://github.com/maplibre/maplibre-gl-js/projects/2) project. The primary goal is consistency and backwards-compatability with previous releases and continued bug-fixes and maintenance going forward.
60
+ This project's initial plans are outlined in the [Roadmap](https://github.com/maplibre/maplibre-gl-js/projects/2) project. The primary goal is consistency and continued bug fixes and maintenance as we advance.
61
+
62
+ > **MapLibre GL** is developed following [Semantic Versioning (2.0.0)](http://semver.org/spec/v2.0.0.html).
31
63
 
32
64
  ### Getting Involved
33
65
 
@@ -35,18 +67,18 @@ Join the #maplibre slack channel at OSMUS: get an invite at https://osmus-slack.
35
67
 
36
68
  ### Community Leadership
37
69
 
38
- The official status of the backing community and steering committee can be found in the [COMMUNITY.md](COMMUNITY.md) document.
70
+ You can find the official status of the backing community and steering committee in the [COMMUNITY.md](COMMUNITY.md) document.
39
71
 
40
72
  ### Avoid Fragmentation
41
73
 
42
- If you depend on a free software alternative to `mapbox-gl-js`, please consider joining our effort! Anyone with a stake in a healthy community led fork is welcome to help us figure out our next steps. We welcome contributors and leaders! MapLibre GL already represents the combined efforts of a few early fork efforts, and we all benefit from "one project" rather than "our way". If you know of other forks, please reach out to them and direct them here.
74
+ If you depend on a free software alternative to `mapbox-gl-js`, please consider joining our effort! Anyone with a stake in a healthy community-led fork is welcome to help us figure out our next steps. We welcome contributors and leaders! MapLibre GL already represents the combined efforts of a few early fork efforts, and we all benefit from "one project" rather than "our way". If you know of other forks, please reach out to them and direct them here.
43
75
 
44
76
  ### Thank you Mapbox 🙏🏽
45
77
 
46
- We'd like to acknowledge the amazing work Mapbox has contributed to open source. The open source community is sad to part ways with them, but we simultaneously feel grateful for everything they already contributed. `mapbox-gl-js` 1.x is an open source achievment which now lives on as `maplibre-gl`. We're proud to develop on the shoulders of giants, thank you Mapbox 🙇🏽‍♀️.
78
+ We'd like to acknowledge the amazing work Mapbox has contributed to open source. The open source community is sad to part ways with them, but we simultaneously feel grateful for everything they already contributed. `mapbox-gl-js` 1.x is an open source achievement which now lives on as `maplibre-gl`. We're proud to develop on the shoulders of giants, thank you Mapbox 🙇🏽‍♀️.
47
79
 
48
80
  Please keep in mind: Unauthorized backports are the biggest threat to the MapLibre project. It is unacceptable to backport code from mapbox-gl-js, which is not covered by the former BSD-3 license. If you are unsure about this issue, [please ask](https://github.com/maplibre/maplibre-gl-js/discussions)!
49
81
 
50
82
  ## License
51
83
 
52
- MapLibre GL is licensed under the [3-Clause BSD license](./LICENSE.txt).
84
+ **MapLibre GL** is licensed under the [3-Clause BSD license](./LICENSE.txt).
@@ -0,0 +1,439 @@
1
+ /*
2
+ * Generates the following:
3
+ * - data/array_types.js, which consists of:
4
+ * - StructArrayLayout_* subclasses, one for each underlying memory layout we need
5
+ * - Named exports mapping each conceptual array type (e.g., CircleLayoutArray) to its corresponding StructArrayLayout class
6
+ * - Particular, named StructArray subclasses, when fancy struct accessors are needed (e.g. CollisionBoxArray)
7
+ */
8
+
9
+ 'use strict'; // eslint-disable-line strict
10
+
11
+ import * as fs from 'fs';
12
+ import * as util from '../src/util/util';
13
+ import {createLayout, viewTypes} from '../src/util/struct_array';
14
+ import type {ViewType, StructArrayLayout} from '../src/util/struct_array';
15
+
16
+ import posAttributes from '../src/data/pos_attributes';
17
+ import rasterBoundsAttributes from '../src/data/raster_bounds_attributes';
18
+ import circleAttributes from '../src/data/bucket/circle_attributes';
19
+ import fillAttributes from '../src/data/bucket/fill_attributes';
20
+ import fillExtrusionAttributes from '../src/data/bucket/fill_extrusion_attributes';
21
+ import lineAttributes from '../src/data/bucket/line_attributes';
22
+ import lineAttributesExt from '../src/data/bucket/line_attributes_ext';
23
+ import patternAttributes from '../src/data/bucket/pattern_attributes';
24
+ // symbol layer specific arrays
25
+ import {
26
+ symbolLayoutAttributes,
27
+ dynamicLayoutAttributes,
28
+ placementOpacityAttributes,
29
+ collisionBox,
30
+ collisionBoxLayout,
31
+ collisionCircleLayout,
32
+ collisionVertexAttributes,
33
+ quadTriangle,
34
+ placement,
35
+ symbolInstance,
36
+ glyphOffset,
37
+ lineVertex
38
+ } from '../src/data/bucket/symbol_attributes';
39
+
40
+ const typeAbbreviations = {
41
+ 'Int8': 'b',
42
+ 'Uint8': 'ub',
43
+ 'Int16': 'i',
44
+ 'Uint16': 'ui',
45
+ 'Int32': 'l',
46
+ 'Uint32': 'ul',
47
+ 'Float32': 'f'
48
+ };
49
+
50
+ const arraysWithStructAccessors = [];
51
+ const arrayTypeEntries = new Set();
52
+ const layoutCache = {};
53
+
54
+ function normalizeMembers(members, usedTypes) {
55
+ return members.map((member) => {
56
+ if (usedTypes && !usedTypes.has(member.type)) {
57
+ usedTypes.add(member.type);
58
+ }
59
+
60
+ return util.extend(member, {
61
+ size: sizeOf(member.type),
62
+ view: member.type.toLowerCase()
63
+ });
64
+ });
65
+ }
66
+
67
+ // - If necessary, write the StructArrayLayout_* class for the given layout
68
+ // - If `includeStructAccessors`, write the fancy subclass
69
+ // - Add an entry for `name` in the array type registry
70
+ function createStructArrayType(name: string, layout: StructArrayLayout, includeStructAccessors: boolean = false) {
71
+ const hasAnchorPoint = layout.members.some(m => m.name === 'anchorPointX');
72
+
73
+ // create the underlying StructArrayLayout class exists
74
+ const layoutClass = createStructArrayLayoutType(layout);
75
+ const arrayClass = `${camelize(name)}Array`;
76
+
77
+ if (includeStructAccessors) {
78
+ const usedTypes = new Set(['Uint8']);
79
+ const members = normalizeMembers(layout.members, usedTypes);
80
+ arraysWithStructAccessors.push({
81
+ arrayClass,
82
+ members,
83
+ size: layout.size,
84
+ usedTypes,
85
+ hasAnchorPoint,
86
+ layoutClass,
87
+ includeStructAccessors
88
+ });
89
+ } else {
90
+ arrayTypeEntries.add(`export class ${arrayClass} extends ${layoutClass} {}`);
91
+ }
92
+ }
93
+
94
+ function createStructArrayLayoutType({members, size, alignment}) {
95
+ const usedTypes = new Set(['Uint8']);
96
+ members = normalizeMembers(members, usedTypes);
97
+
98
+ // combine consecutive 'members' with same underlying type, summing their
99
+ // component counts
100
+ if (!alignment || alignment === 1) members = members.reduce((memo, member) => {
101
+ if (memo.length > 0 && memo[memo.length - 1].type === member.type) {
102
+ const last = memo[memo.length - 1];
103
+ return memo.slice(0, -1).concat(util.extend({}, last, {
104
+ components: last.components + member.components,
105
+ }));
106
+ }
107
+ return memo.concat(member);
108
+ }, []);
109
+
110
+ const key = `${members.map(m => `${m.components}${typeAbbreviations[m.type]}`).join('')}${size}`;
111
+ const className = `StructArrayLayout${key}`;
112
+ // Layout alignment to 4 bytes boundaries can be an issue on some set of graphics cards. Particularly AMD.
113
+ if (size % 4 !== 0) { console.warn(`Warning: The layout ${className} is not aligned to 4-bytes boundaries.`); }
114
+ if (!layoutCache[key]) {
115
+ layoutCache[key] = {
116
+ className,
117
+ members,
118
+ size,
119
+ usedTypes
120
+ };
121
+ }
122
+
123
+ return className;
124
+ }
125
+
126
+ function sizeOf(type: ViewType): number {
127
+ return viewTypes[type].BYTES_PER_ELEMENT;
128
+ }
129
+
130
+ function camelize (str) {
131
+ return str.replace(/(?:^|[-_])(.)/g, (_, x) => {
132
+ return /^[0-9]$/.test(x) ? _ : x.toUpperCase();
133
+ });
134
+ }
135
+
136
+ createStructArrayType('pos', posAttributes);
137
+ createStructArrayType('raster_bounds', rasterBoundsAttributes);
138
+
139
+ // layout vertex arrays
140
+ const layoutAttributes = {
141
+ circle: circleAttributes,
142
+ fill: fillAttributes,
143
+ 'fill-extrusion': fillExtrusionAttributes,
144
+ heatmap: circleAttributes,
145
+ line: lineAttributes,
146
+ lineExt: lineAttributesExt,
147
+ pattern: patternAttributes
148
+ };
149
+ for (const name in layoutAttributes) {
150
+ createStructArrayType(`${name.replace(/-/g, '_')}_layout`, layoutAttributes[name]);
151
+ }
152
+
153
+ createStructArrayType('symbol_layout', symbolLayoutAttributes);
154
+ createStructArrayType('symbol_dynamic_layout', dynamicLayoutAttributes);
155
+ createStructArrayType('symbol_opacity', placementOpacityAttributes);
156
+ createStructArrayType('collision_box', collisionBox, true);
157
+ createStructArrayType('collision_box_layout', collisionBoxLayout);
158
+ createStructArrayType('collision_circle_layout', collisionCircleLayout);
159
+ createStructArrayType('collision_vertex', collisionVertexAttributes);
160
+ createStructArrayType('quad_triangle', quadTriangle);
161
+ createStructArrayType('placed_symbol', placement, true);
162
+ createStructArrayType('symbol_instance', symbolInstance, true);
163
+ createStructArrayType('glyph_offset', glyphOffset, true);
164
+ createStructArrayType('symbol_line_vertex', lineVertex, true);
165
+
166
+ // feature index array
167
+ createStructArrayType('feature_index', createLayout([
168
+ // the index of the feature in the original vectortile
169
+ { type: 'Uint32', name: 'featureIndex' },
170
+ // the source layer the feature appears in
171
+ { type: 'Uint16', name: 'sourceLayerIndex' },
172
+ // the bucket the feature appears in
173
+ { type: 'Uint16', name: 'bucketIndex' }
174
+ ]), true);
175
+
176
+ // triangle index array
177
+ createStructArrayType('triangle_index', createLayout([
178
+ { type: 'Uint16', name: 'vertices', components: 3 }
179
+ ]));
180
+
181
+ // line index array
182
+ createStructArrayType('line_index', createLayout([
183
+ { type: 'Uint16', name: 'vertices', components: 2 }
184
+ ]));
185
+
186
+ // line strip index array
187
+ createStructArrayType('line_strip_index', createLayout([
188
+ { type: 'Uint16', name: 'vertices', components: 1 }
189
+ ]));
190
+
191
+ // paint vertex arrays
192
+
193
+ // used by SourceBinder for float properties
194
+ createStructArrayLayoutType(createLayout([{
195
+ name: 'dummy name (unused for StructArrayLayout)',
196
+ type: 'Float32',
197
+ components: 1
198
+ }], 4));
199
+
200
+ // used by SourceBinder for color properties and CompositeBinder for float properties
201
+ createStructArrayLayoutType(createLayout([{
202
+ name: 'dummy name (unused for StructArrayLayout)',
203
+ type: 'Float32',
204
+ components: 2
205
+ }], 4));
206
+
207
+ // used by CompositeBinder for color properties
208
+ createStructArrayLayoutType(createLayout([{
209
+ name: 'dummy name (unused for StructArrayLayout)',
210
+ type: 'Float32',
211
+ components: 4
212
+ }], 4));
213
+
214
+ const layouts = Object.keys(layoutCache).map(k => layoutCache[k]);
215
+
216
+ function emitStructArrayLayout(locals) {
217
+ const output = [];
218
+ const {
219
+ className,
220
+ members,
221
+ size,
222
+ usedTypes
223
+ } = locals;
224
+ const structArrayLayoutClass = className;
225
+
226
+ output.push(
227
+ `/**
228
+ * Implementation of the StructArray layout:`);
229
+
230
+ for (const member of members) {
231
+ output.push(
232
+ ` * [${member.offset}]: ${member.type}[${member.components}]`);
233
+ }
234
+
235
+ output.push(
236
+ ` *
237
+ * @private
238
+ */
239
+ class ${structArrayLayoutClass} extends StructArray {`);
240
+
241
+ for (const type of usedTypes) {
242
+ output.push(
243
+ ` ${type.toLowerCase()}: ${type}Array;`);
244
+ }
245
+
246
+ output.push(`
247
+ _refreshViews() {`);
248
+
249
+ for (const type of usedTypes) {
250
+ output.push(
251
+ ` this.${type.toLowerCase()} = new ${type}Array(this.arrayBuffer);`);
252
+ }
253
+
254
+ output.push(
255
+ ' }');
256
+
257
+ // prep for emplaceBack: collect type sizes and count the number of arguments
258
+ // we'll need
259
+ const bytesPerElement = size;
260
+ const usedTypeSizes = [];
261
+ const argNames = [];
262
+ const argNamesTyped = [];
263
+
264
+ for (const member of members) {
265
+ if (usedTypeSizes.indexOf(member.size) < 0) {
266
+ usedTypeSizes.push(member.size);
267
+ }
268
+ for (let c = 0; c < member.components; c++) {
269
+ // arguments v0, v1, v2, ... are, in order, the components of
270
+ // member 0, then the components of member 1, etc.
271
+ const name = `v${argNames.length}`;
272
+ argNames.push(name);
273
+ argNamesTyped.push(`${name}: number`);
274
+ }
275
+ }
276
+
277
+ output.push(
278
+ `
279
+ public emplaceBack(${argNamesTyped.join(', ')}) {
280
+ const i = this.length;
281
+ this.resize(i + 1);
282
+ return this.emplace(i, ${argNames.join(', ')});
283
+ }
284
+
285
+ public emplace(i: number, ${argNamesTyped.join(', ')}) {`);
286
+
287
+ for (const size of usedTypeSizes) {
288
+ output.push(
289
+ ` const o${size.toFixed(0)} = i * ${(bytesPerElement / size).toFixed(0)};`);
290
+ }
291
+
292
+ let argIndex = 0;
293
+ for (const member of members) {
294
+ for (let c = 0; c < member.components; c++) {
295
+ // The index for `member` component `c` into the appropriate type array is:
296
+ // this.{TYPE}[o{SIZE} + MEMBER_OFFSET + {c}] = v{X}
297
+ // where MEMBER_OFFSET = ROUND(member.offset / size) is the per-element
298
+ // offset of this member into the array
299
+ const index = `o${member.size.toFixed(0)} + ${(member.offset / member.size + c).toFixed(0)}`;
300
+
301
+ output.push(
302
+ ` this.${member.view}[${index}] = v${argIndex++};`);
303
+ }
304
+ }
305
+
306
+ output.push(
307
+ ` return i;
308
+ }
309
+ }
310
+
311
+ ${structArrayLayoutClass}.prototype.bytesPerElement = ${size};
312
+ register('${structArrayLayoutClass}', ${structArrayLayoutClass});
313
+ `);
314
+
315
+ return output.join('\n');
316
+ }
317
+
318
+ function emitStructArray(locals) {
319
+ const output = [];
320
+ const {
321
+ arrayClass,
322
+ members,
323
+ size,
324
+ hasAnchorPoint,
325
+ layoutClass,
326
+ includeStructAccessors
327
+ } = locals;
328
+
329
+ const structTypeClass = arrayClass.replace('Array', 'Struct');
330
+ const structArrayClass = arrayClass;
331
+ const structArrayLayoutClass = layoutClass;
332
+
333
+ // collect components
334
+ const components = [];
335
+ for (const member of members) {
336
+ for (let c = 0; c < member.components; c++) {
337
+ let name = member.name;
338
+ if (member.components > 1) {
339
+ name += c;
340
+ }
341
+ components.push({name, member, component: c});
342
+ }
343
+ }
344
+
345
+ // exceptions for which we generate accessors on the array rather than a separate struct for performance
346
+ const useComponentGetters = structArrayClass === 'GlyphOffsetArray' || structArrayClass === 'SymbolLineVertexArray';
347
+
348
+ if (includeStructAccessors && !useComponentGetters) {
349
+ output.push(
350
+ `class ${structTypeClass} extends Struct {
351
+ _structArray: ${structArrayClass};`);
352
+
353
+ for (const {name, member, component} of components) {
354
+ const elementOffset = `this._pos${member.size.toFixed(0)}`;
355
+ const componentOffset = (member.offset / member.size + component).toFixed(0);
356
+ const index = `${elementOffset} + ${componentOffset}`;
357
+ const componentAccess = `this._structArray.${member.view}[${index}]`;
358
+
359
+ output.push(
360
+ ` get ${name}() { return ${componentAccess}; }`);
361
+
362
+ // generate setters for properties that are updated during runtime symbol placement; others are read-only
363
+ if (name === 'crossTileID' || name === 'placedOrientation' || name === 'hidden') {
364
+ output.push(
365
+ ` set ${name}(x: number) { ${componentAccess} = x; }`);
366
+ }
367
+ }
368
+
369
+ // Special case used for the CollisionBoxArray type
370
+ if (hasAnchorPoint) {
371
+ output.push(
372
+ ' get anchorPoint() { return new Point(this.anchorPointX, this.anchorPointY); }');
373
+ }
374
+
375
+ output.push(
376
+ `}
377
+
378
+ ${structTypeClass}.prototype.size = ${size};
379
+
380
+ export type ${structTypeClass.replace('Struct', '')} = ${structTypeClass};
381
+ `);
382
+ } // end 'if (includeStructAccessors)'
383
+
384
+ output.push(
385
+ `/**
386
+ * @private
387
+ */
388
+ export class ${structArrayClass} extends ${structArrayLayoutClass} {`);
389
+
390
+ if (useComponentGetters) {
391
+ for (const member of members) {
392
+ for (let c = 0; c < member.components; c++) {
393
+ if (!includeStructAccessors) continue;
394
+ let name = `get${member.name}`;
395
+ if (member.components > 1) {
396
+ name += c;
397
+ }
398
+ const componentOffset = (member.offset / member.size + c).toFixed(0);
399
+ const componentStride = size / member.size;
400
+ output.push(
401
+ ` ${name}(index: number) { return this.${member.view}[index * ${componentStride} + ${componentOffset}]; }`);
402
+ }
403
+ }
404
+ } else if (includeStructAccessors) { // get(i)
405
+ output.push(
406
+ ` /**
407
+ * Return the ${structTypeClass} at the given location in the array.
408
+ * @param {number} index The index of the element.
409
+ * @private
410
+ */
411
+ get(index: number): ${structTypeClass} {
412
+ assert(!this.isTransferred);
413
+ return new ${structTypeClass}(this, index);
414
+ }`);
415
+ }
416
+ output.push(
417
+ `}
418
+
419
+ register('${structArrayClass}', ${structArrayClass});
420
+ `);
421
+
422
+ return output.join('\n');
423
+ }
424
+
425
+ fs.writeFileSync('src/data/array_types.ts',
426
+ `// This file is generated. Edit build/generate-struct-arrays.ts, then run \`npm run codegen\`.
427
+
428
+ import assert from 'assert';
429
+ import {Struct, StructArray} from '../util/struct_array';
430
+ import {register} from '../util/web_worker_transfer';
431
+ import Point from '../util/point';
432
+
433
+ ${layouts.map(emitStructArrayLayout).join('\n')}
434
+ ${arraysWithStructAccessors.map(emitStructArray).join('\n')}
435
+ ${[...arrayTypeEntries].join('\n')}
436
+ export {
437
+ ${layouts.map(layout => layout.className).join(',\n ')}
438
+ };
439
+ `);