maplibre-gl 2.0.0-pre.5 → 2.0.0-pre.6

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 (850) hide show
  1. package/CHANGELOG.md +19 -1
  2. package/README.md +31 -8
  3. package/build/generate-struct-arrays.ts +439 -0
  4. package/build/generate-style-code.ts +275 -0
  5. package/build/{generate-flow-typed-style-spec.js → generate-style-spec.ts} +50 -49
  6. package/build/post-ts-build.js +51 -0
  7. package/build/readme.md +62 -0
  8. package/build/web_worker_replacement.js +1 -1
  9. package/dist/maplibre-gl.css +1 -1
  10. package/dist/maplibre-gl.d.ts +10543 -0
  11. package/dist/maplibre-gl.js +6 -6
  12. package/dist/maplibre-gl.js.map +1 -1
  13. package/dist/package.json +1 -0
  14. package/package.json +42 -32
  15. package/src/css/maplibre-gl.css +1 -1
  16. package/src/data/array_types.ts +2 -1
  17. package/src/data/bucket/circle_bucket.ts +1 -0
  18. package/src/data/bucket/fill_bucket.test.ts +94 -0
  19. package/src/data/bucket/fill_bucket.ts +1 -0
  20. package/src/data/bucket/fill_extrusion_bucket.ts +1 -0
  21. package/src/data/bucket/line_bucket.test.ts +142 -0
  22. package/src/data/bucket/line_bucket.ts +1 -0
  23. package/src/data/bucket/symbol_bucket.test.ts +229 -0
  24. package/src/data/bucket/symbol_bucket.ts +1 -0
  25. package/src/data/bucket.ts +1 -0
  26. package/src/data/dem_data.test.ts +269 -0
  27. package/src/data/evaluation_feature.ts +1 -0
  28. package/src/data/feature_index.ts +8 -7
  29. package/src/data/feature_position_map.test.ts +33 -0
  30. package/src/data/load_geometry.test.ts +49 -0
  31. package/src/data/load_geometry.ts +1 -0
  32. package/src/data/program_configuration.ts +1 -0
  33. package/src/geo/edge_insets.test.ts +83 -0
  34. package/src/geo/edge_insets.ts +34 -4
  35. package/src/geo/lng_lat.test.ts +75 -0
  36. package/src/geo/lng_lat_bounds.test.ts +204 -0
  37. package/src/geo/mercator_coordinate.test.ts +34 -0
  38. package/src/geo/transform.test.ts +341 -0
  39. package/src/geo/transform.ts +1 -1
  40. package/src/gl/context.ts +3 -3
  41. package/src/gl/state.test.ts +191 -0
  42. package/src/gl/stencil_mode.ts +3 -3
  43. package/src/gl/types.ts +1 -1
  44. package/src/gl/value.ts +3 -3
  45. package/src/gl/vertex_buffer.test.ts +52 -0
  46. package/src/index.test.ts +7 -0
  47. package/src/index.ts +3 -2
  48. package/src/render/glyph_manager.test.ts +170 -0
  49. package/src/render/glyph_manager.ts +14 -14
  50. package/src/render/image_atlas.ts +1 -7
  51. package/src/render/image_manager.ts +2 -2
  52. package/src/render/line_atlas.test.ts +38 -0
  53. package/src/render/painter.ts +1 -1
  54. package/src/render/uniform_binding.test.ts +122 -0
  55. package/src/shaders/encode_attribute.test.ts +11 -0
  56. package/src/shaders/fill_pattern.fragment.glsl +3 -0
  57. package/src/shaders/line_pattern.fragment.glsl +3 -0
  58. package/src/source/canvas_source.test.ts +180 -0
  59. package/src/source/geojson_wrapper.test.ts +32 -0
  60. package/src/source/geojson_wrapper.ts +2 -1
  61. package/src/source/query_features.test.ts +36 -0
  62. package/src/source/query_features.ts +5 -1
  63. package/src/source/tile.test.ts +290 -0
  64. package/src/source/tile.ts +6 -1
  65. package/src/source/tile_cache.test.ts +131 -0
  66. package/src/source/tile_id.test.ts +114 -0
  67. package/src/source/tile_id.ts +1 -0
  68. package/src/source/vector_tile_source.test.ts +357 -0
  69. package/src/source/vector_tile_worker_source.ts +1 -0
  70. package/src/source/worker.test.ts +152 -0
  71. package/src/source/worker_tile.ts +1 -0
  72. package/src/style/format_section_override.test.ts +64 -0
  73. package/src/style/light.test.ts +88 -0
  74. package/src/style/load_glyph_range.ts +1 -1
  75. package/src/style/style.ts +20 -20
  76. package/src/style/style_image.ts +62 -60
  77. package/src/style/style_layer/background_style_layer.ts +5 -5
  78. package/src/style/style_layer/background_style_layer_properties.ts +13 -16
  79. package/src/style/style_layer/circle_style_layer.ts +8 -7
  80. package/src/style/style_layer/circle_style_layer_properties.ts +37 -36
  81. package/src/style/style_layer/custom_style_layer.ts +82 -79
  82. package/src/style/style_layer/fill_extrusion_style_layer.ts +9 -6
  83. package/src/style/style_layer/fill_extrusion_style_layer_properties.ts +27 -26
  84. package/src/style/style_layer/fill_style_layer.test.ts +37 -0
  85. package/src/style/style_layer/fill_style_layer.ts +8 -7
  86. package/src/style/style_layer/fill_style_layer_properties.ts +29 -28
  87. package/src/style/style_layer/heatmap_style_layer.ts +5 -5
  88. package/src/style/style_layer/heatmap_style_layer_properties.ts +19 -21
  89. package/src/style/style_layer/hillshade_style_layer.ts +5 -5
  90. package/src/style/style_layer/hillshade_style_layer_properties.ts +22 -23
  91. package/src/style/style_layer/line_style_layer.ts +8 -7
  92. package/src/style/style_layer/line_style_layer_properties.ts +43 -43
  93. package/src/style/style_layer/raster_style_layer.ts +5 -5
  94. package/src/style/style_layer/raster_style_layer_properties.ts +28 -26
  95. package/src/style/style_layer/symbol_style_layer.ts +9 -9
  96. package/src/style/style_layer/symbol_style_layer_properties.ts +124 -124
  97. package/src/style/style_layer.test.ts +373 -0
  98. package/src/style/style_layer.ts +6 -5
  99. package/src/style/style_layer_index.test.ts +99 -0
  100. package/src/style-spec/CHANGELOG.md +5 -0
  101. package/src/style-spec/composite.test.ts +106 -0
  102. package/src/style-spec/declass.test.ts +118 -0
  103. package/src/style-spec/deref.test.ts +47 -0
  104. package/src/style-spec/diff.test.ts +413 -0
  105. package/src/style-spec/empty.test.ts +14 -0
  106. package/src/style-spec/expression/expression.test.ts +64 -0
  107. package/src/style-spec/expression/stops.test.ts +23 -0
  108. package/src/style-spec/feature_filter/feature_filter.test.ts +624 -0
  109. package/src/style-spec/format.test.ts +30 -0
  110. package/src/style-spec/function/index.test.ts +988 -0
  111. package/src/style-spec/group_by_layout.test.ts +64 -0
  112. package/src/style-spec/package.json +2 -1
  113. package/src/style-spec/style-spec.test.ts +201 -0
  114. package/src/style-spec/types.ts +356 -364
  115. package/src/style-spec/util/color.test.ts +18 -0
  116. package/src/style-spec/util/color_spaces.test.ts +28 -0
  117. package/src/style-spec/util/interpolate.test.ts +16 -0
  118. package/src/symbol/anchor.test.ts +14 -0
  119. package/src/symbol/check_max_angle.test.ts +48 -0
  120. package/src/symbol/clip_line.test.ts +154 -0
  121. package/src/symbol/collision_feature.test.ts +81 -0
  122. package/src/symbol/collision_index.ts +5 -5
  123. package/src/symbol/cross_tile_symbol_index.test.ts +238 -0
  124. package/src/symbol/get_anchors.test.ts +113 -0
  125. package/src/symbol/grid_index.test.ts +52 -0
  126. package/src/symbol/mergelines.test.ts +30 -0
  127. package/src/symbol/path_interpolator.test.ts +134 -0
  128. package/src/symbol/quads.test.ts +157 -0
  129. package/src/symbol/shaping.test.ts +392 -0
  130. package/src/symbol/symbol_style_layer.test.ts +103 -0
  131. package/src/types/non-typed-modules.d.ts +21 -98
  132. package/src/ui/anchor.ts +3 -3
  133. package/src/ui/camera.ts +68 -59
  134. package/src/ui/control/attribution_control.test.ts +372 -0
  135. package/src/ui/control/attribution_control.ts +8 -10
  136. package/src/ui/control/control.ts +90 -0
  137. package/src/ui/control/fullscreen_control.test.ts +54 -0
  138. package/src/ui/control/fullscreen_control.ts +3 -3
  139. package/src/ui/control/geolocate_control.test.ts +452 -0
  140. package/src/ui/control/geolocate_control.ts +8 -8
  141. package/src/ui/control/logo_control.test.ts +134 -0
  142. package/src/ui/control/logo_control.ts +1 -1
  143. package/src/ui/control/navigation_control.ts +4 -4
  144. package/src/ui/control/scale_control.test.ts +53 -0
  145. package/src/ui/control/scale_control.ts +5 -5
  146. package/src/ui/events.ts +115 -11
  147. package/src/ui/handler/box_zoom.test.ts +165 -0
  148. package/src/ui/handler/map_event.ts +3 -1
  149. package/src/ui/hash.test.ts +293 -0
  150. package/src/ui/map/isMoving.test.ts +166 -0
  151. package/src/ui/map/isRotating.test.ts +64 -0
  152. package/src/ui/map/isZooming.test.ts +89 -0
  153. package/src/ui/map.ts +35 -136
  154. package/src/ui/marker.ts +5 -5
  155. package/src/ui/popup.ts +5 -5
  156. package/src/util/browser.test.ts +26 -0
  157. package/src/util/browser.ts +1 -1
  158. package/src/util/classify_rings.test.ts +147 -0
  159. package/src/util/color_ramp.test.ts +106 -0
  160. package/src/util/dom.ts +97 -120
  161. package/src/util/evented.test.ts +222 -0
  162. package/src/util/find_pole_of_inaccessibility.test.ts +21 -0
  163. package/src/util/image.ts +4 -4
  164. package/src/util/point.ts +10 -3
  165. package/src/util/primitives.test.ts +140 -0
  166. package/src/util/request_manager.test.ts +21 -0
  167. package/src/util/request_manager.ts +1 -1
  168. package/src/util/resolve_tokens.test.ts +41 -0
  169. package/src/util/struct_array.test.ts +101 -0
  170. package/src/util/task_queue.test.ts +114 -0
  171. package/src/util/test/util.ts +78 -0
  172. package/src/util/throttle.test.ts +45 -0
  173. package/src/util/vectortile_to_geojson.ts +4 -2
  174. package/src/util/web_worker.ts +2 -2
  175. package/src/util/web_worker_transfer.ts +5 -5
  176. package/src/util/worker_pool.test.ts +43 -0
  177. package/build/diff-tarball.js +0 -28
  178. package/build/generate-release-list.js +0 -21
  179. package/build/generate-struct-arrays.js +0 -243
  180. package/build/generate-style-code.js +0 -159
  181. package/build/print-release-url.js +0 -6
  182. package/dist/maplibre-gl-csp-worker.js +0 -2
  183. package/dist/maplibre-gl-csp-worker.js.map +0 -1
  184. package/dist/maplibre-gl-csp.js +0 -2
  185. package/dist/maplibre-gl-csp.js.map +0 -1
  186. package/dist/maplibre-gl-dev.js +0 -54948
  187. package/dist/maplibre-gl-unminified.js +0 -39602
  188. package/dist/maplibre-gl-unminified.js.map +0 -1
  189. package/dist/style-spec/index.es.js +0 -14930
  190. package/dist/style-spec/index.es.js.map +0 -1
  191. package/dist/style-spec/index.js +0 -14955
  192. package/dist/style-spec/index.js.map +0 -1
  193. package/src/style/style_layer/layer_properties.js.ejs +0 -69
  194. package/src/ui/control/control.d.ts +0 -8
  195. package/src/util/struct_array.js.ejs +0 -112
  196. package/src/util/struct_array_layout.js.ejs +0 -98
  197. package/types/data/array_types.d.ts +0 -459
  198. package/types/data/array_types.d.ts.map +0 -1
  199. package/types/data/bucket/circle_attributes.d.ts +0 -4
  200. package/types/data/bucket/circle_attributes.d.ts.map +0 -1
  201. package/types/data/bucket/circle_bucket.d.ts +0 -50
  202. package/types/data/bucket/circle_bucket.d.ts.map +0 -1
  203. package/types/data/bucket/fill_attributes.d.ts +0 -4
  204. package/types/data/bucket/fill_attributes.d.ts.map +0 -1
  205. package/types/data/bucket/fill_bucket.d.ts +0 -51
  206. package/types/data/bucket/fill_bucket.d.ts.map +0 -1
  207. package/types/data/bucket/fill_extrusion_attributes.d.ts +0 -4
  208. package/types/data/bucket/fill_extrusion_attributes.d.ts.map +0 -1
  209. package/types/data/bucket/fill_extrusion_bucket.d.ts +0 -48
  210. package/types/data/bucket/fill_extrusion_bucket.d.ts.map +0 -1
  211. package/types/data/bucket/heatmap_bucket.d.ts +0 -7
  212. package/types/data/bucket/heatmap_bucket.d.ts.map +0 -1
  213. package/types/data/bucket/line_attributes.d.ts +0 -4
  214. package/types/data/bucket/line_attributes.d.ts.map +0 -1
  215. package/types/data/bucket/line_attributes_ext.d.ts +0 -4
  216. package/types/data/bucket/line_attributes_ext.d.ts.map +0 -1
  217. package/types/data/bucket/line_bucket.d.ts +0 -93
  218. package/types/data/bucket/line_bucket.d.ts.map +0 -1
  219. package/types/data/bucket/pattern_attributes.d.ts +0 -3
  220. package/types/data/bucket/pattern_attributes.d.ts.map +0 -1
  221. package/types/data/bucket/pattern_bucket_features.d.ts +0 -9
  222. package/types/data/bucket/pattern_bucket_features.d.ts.map +0 -1
  223. package/types/data/bucket/symbol_attributes.d.ts +0 -13
  224. package/types/data/bucket/symbol_attributes.d.ts.map +0 -1
  225. package/types/data/bucket/symbol_bucket.d.ts +0 -213
  226. package/types/data/bucket/symbol_bucket.d.ts.map +0 -1
  227. package/types/data/bucket.d.ts +0 -97
  228. package/types/data/bucket.d.ts.map +0 -1
  229. package/types/data/dem_data.d.ts +0 -17
  230. package/types/data/dem_data.d.ts.map +0 -1
  231. package/types/data/evaluation_feature.d.ts +0 -26
  232. package/types/data/evaluation_feature.d.ts.map +0 -1
  233. package/types/data/extent.d.ts +0 -18
  234. package/types/data/extent.d.ts.map +0 -1
  235. package/types/data/feature_index.d.ts +0 -77
  236. package/types/data/feature_index.d.ts.map +0 -1
  237. package/types/data/feature_position_map.d.ts +0 -21
  238. package/types/data/feature_position_map.d.ts.map +0 -1
  239. package/types/data/index_array_type.d.ts +0 -10
  240. package/types/data/index_array_type.d.ts.map +0 -1
  241. package/types/data/load_geometry.d.ts +0 -9
  242. package/types/data/load_geometry.d.ts.map +0 -1
  243. package/types/data/pos_attributes.d.ts +0 -3
  244. package/types/data/pos_attributes.d.ts.map +0 -1
  245. package/types/data/program_configuration.d.ts +0 -125
  246. package/types/data/program_configuration.d.ts.map +0 -1
  247. package/types/data/raster_bounds_attributes.d.ts +0 -3
  248. package/types/data/raster_bounds_attributes.d.ts.map +0 -1
  249. package/types/data/segment.d.ts +0 -23
  250. package/types/data/segment.d.ts.map +0 -1
  251. package/types/geo/edge_insets.d.ts +0 -56
  252. package/types/geo/edge_insets.d.ts.map +0 -1
  253. package/types/geo/lng_lat.d.ts +0 -110
  254. package/types/geo/lng_lat.d.ts.map +0 -1
  255. package/types/geo/lng_lat_bounds.d.ts +0 -175
  256. package/types/geo/lng_lat_bounds.d.ts.map +0 -1
  257. package/types/geo/mercator_coordinate.d.ts +0 -87
  258. package/types/geo/mercator_coordinate.d.ts.map +0 -1
  259. package/types/geo/transform.d.ts +0 -221
  260. package/types/geo/transform.d.ts.map +0 -1
  261. package/types/gl/color_mode.d.ts +0 -14
  262. package/types/gl/color_mode.d.ts.map +0 -1
  263. package/types/gl/context.d.ts +0 -73
  264. package/types/gl/context.d.ts.map +0 -1
  265. package/types/gl/cull_face_mode.d.ts +0 -11
  266. package/types/gl/cull_face_mode.d.ts.map +0 -1
  267. package/types/gl/depth_mode.d.ts +0 -12
  268. package/types/gl/depth_mode.d.ts.map +0 -1
  269. package/types/gl/framebuffer.d.ts +0 -14
  270. package/types/gl/framebuffer.d.ts.map +0 -1
  271. package/types/gl/index_buffer.d.ts +0 -14
  272. package/types/gl/index_buffer.d.ts.map +0 -1
  273. package/types/gl/stencil_mode.d.ts +0 -13
  274. package/types/gl/stencil_mode.d.ts.map +0 -1
  275. package/types/gl/types.d.ts +0 -46
  276. package/types/gl/types.d.ts.map +0 -1
  277. package/types/gl/value.d.ts +0 -163
  278. package/types/gl/value.d.ts.map +0 -1
  279. package/types/gl/vertex_buffer.d.ts +0 -37
  280. package/types/gl/vertex_buffer.d.ts.map +0 -1
  281. package/types/index.d.ts +0 -200
  282. package/types/index.d.ts.map +0 -1
  283. package/types/render/draw_background.d.ts +0 -6
  284. package/types/render/draw_background.d.ts.map +0 -1
  285. package/types/render/draw_circle.d.ts +0 -7
  286. package/types/render/draw_circle.d.ts.map +0 -1
  287. package/types/render/draw_collision_debug.d.ts +0 -7
  288. package/types/render/draw_collision_debug.d.ts.map +0 -1
  289. package/types/render/draw_custom.d.ts +0 -6
  290. package/types/render/draw_custom.d.ts.map +0 -1
  291. package/types/render/draw_debug.d.ts +0 -7
  292. package/types/render/draw_debug.d.ts.map +0 -1
  293. package/types/render/draw_fill.d.ts +0 -7
  294. package/types/render/draw_fill.d.ts.map +0 -1
  295. package/types/render/draw_fill_extrusion.d.ts +0 -7
  296. package/types/render/draw_fill_extrusion.d.ts.map +0 -1
  297. package/types/render/draw_heatmap.d.ts +0 -7
  298. package/types/render/draw_heatmap.d.ts.map +0 -1
  299. package/types/render/draw_hillshade.d.ts +0 -7
  300. package/types/render/draw_hillshade.d.ts.map +0 -1
  301. package/types/render/draw_line.d.ts +0 -6
  302. package/types/render/draw_line.d.ts.map +0 -1
  303. package/types/render/draw_raster.d.ts +0 -7
  304. package/types/render/draw_raster.d.ts.map +0 -1
  305. package/types/render/draw_symbol.d.ts +0 -10
  306. package/types/render/draw_symbol.d.ts.map +0 -1
  307. package/types/render/glyph_atlas.d.ts +0 -27
  308. package/types/render/glyph_atlas.d.ts.map +0 -1
  309. package/types/render/glyph_manager.d.ts +0 -44
  310. package/types/render/glyph_manager.d.ts.map +0 -1
  311. package/types/render/image_atlas.d.ts +0 -49
  312. package/types/render/image_atlas.d.ts.map +0 -1
  313. package/types/render/image_manager.d.ts +0 -64
  314. package/types/render/image_manager.d.ts.map +0 -1
  315. package/types/render/line_atlas.d.ts +0 -43
  316. package/types/render/line_atlas.d.ts.map +0 -1
  317. package/types/render/painter.d.ts +0 -140
  318. package/types/render/painter.d.ts.map +0 -1
  319. package/types/render/program/background_program.d.ts +0 -42
  320. package/types/render/program/background_program.d.ts.map +0 -1
  321. package/types/render/program/circle_program.d.ts +0 -19
  322. package/types/render/program/circle_program.d.ts.map +0 -1
  323. package/types/render/program/clipping_mask_program.d.ts +0 -11
  324. package/types/render/program/clipping_mask_program.d.ts.map +0 -1
  325. package/types/render/program/collision_program.d.ts +0 -25
  326. package/types/render/program/collision_program.d.ts.map +0 -1
  327. package/types/render/program/debug_program.d.ts +0 -15
  328. package/types/render/program/debug_program.d.ts.map +0 -1
  329. package/types/render/program/fill_extrusion_program.d.ts +0 -37
  330. package/types/render/program/fill_extrusion_program.d.ts.map +0 -1
  331. package/types/render/program/fill_program.d.ts +0 -43
  332. package/types/render/program/fill_program.d.ts.map +0 -1
  333. package/types/render/program/heatmap_program.d.ts +0 -25
  334. package/types/render/program/heatmap_program.d.ts.map +0 -1
  335. package/types/render/program/hillshade_program.d.ts +0 -30
  336. package/types/render/program/hillshade_program.d.ts.map +0 -1
  337. package/types/render/program/line_program.d.ts +0 -55
  338. package/types/render/program/line_program.d.ts.map +0 -1
  339. package/types/render/program/pattern.d.ts +0 -39
  340. package/types/render/program/pattern.d.ts.map +0 -1
  341. package/types/render/program/program_uniforms.d.ts +0 -28
  342. package/types/render/program/program_uniforms.d.ts.map +0 -1
  343. package/types/render/program/raster_program.d.ts +0 -27
  344. package/types/render/program/raster_program.d.ts.map +0 -1
  345. package/types/render/program/symbol_program.d.ts +0 -84
  346. package/types/render/program/symbol_program.d.ts.map +0 -1
  347. package/types/render/program.d.ts +0 -31
  348. package/types/render/program.d.ts.map +0 -1
  349. package/types/render/texture.d.ts +0 -37
  350. package/types/render/texture.d.ts.map +0 -1
  351. package/types/render/uniform_binding.d.ts +0 -50
  352. package/types/render/uniform_binding.d.ts.map +0 -1
  353. package/types/render/vertex_array_object.d.ts +0 -21
  354. package/types/render/vertex_array_object.d.ts.map +0 -1
  355. package/types/shaders/encode_attribute.d.ts +0 -9
  356. package/types/shaders/encode_attribute.d.ts.map +0 -1
  357. package/types/shaders/shaders.d.ts +0 -160
  358. package/types/shaders/shaders.d.ts.map +0 -1
  359. package/types/source/canvas_source.d.ts +0 -88
  360. package/types/source/canvas_source.d.ts.map +0 -1
  361. package/types/source/geojson_source.d.ts +0 -142
  362. package/types/source/geojson_source.d.ts.map +0 -1
  363. package/types/source/geojson_worker_source.d.ts +0 -143
  364. package/types/source/geojson_worker_source.d.ts.map +0 -1
  365. package/types/source/geojson_wrapper.d.ts +0 -28
  366. package/types/source/geojson_wrapper.d.ts.map +0 -1
  367. package/types/source/image_source.d.ts +0 -123
  368. package/types/source/image_source.d.ts.map +0 -1
  369. package/types/source/load_tilejson.d.ts +0 -6
  370. package/types/source/load_tilejson.d.ts.map +0 -1
  371. package/types/source/pixels_to_tile_units.d.ts +0 -18
  372. package/types/source/pixels_to_tile_units.d.ts.map +0 -1
  373. package/types/source/query_features.d.ts +0 -31
  374. package/types/source/query_features.d.ts.map +0 -1
  375. package/types/source/raster_dem_tile_source.d.ts +0 -26
  376. package/types/source/raster_dem_tile_source.d.ts.map +0 -1
  377. package/types/source/raster_dem_tile_worker_source.d.ts +0 -19
  378. package/types/source/raster_dem_tile_worker_source.d.ts.map +0 -1
  379. package/types/source/raster_tile_source.d.ts +0 -41
  380. package/types/source/raster_tile_source.d.ts.map +0 -1
  381. package/types/source/rtl_text_plugin.d.ts +0 -34
  382. package/types/source/rtl_text_plugin.d.ts.map +0 -1
  383. package/types/source/source.d.ts +0 -81
  384. package/types/source/source.d.ts.map +0 -1
  385. package/types/source/source_cache.d.ts +0 -194
  386. package/types/source/source_cache.d.ts.map +0 -1
  387. package/types/source/source_state.d.ts +0 -32
  388. package/types/source/source_state.d.ts.map +0 -1
  389. package/types/source/tile.d.ts +0 -135
  390. package/types/source/tile.d.ts.map +0 -1
  391. package/types/source/tile_bounds.d.ts +0 -12
  392. package/types/source/tile_bounds.d.ts.map +0 -1
  393. package/types/source/tile_cache.d.ts +0 -100
  394. package/types/source/tile_cache.d.ts.map +0 -1
  395. package/types/source/tile_id.d.ts +0 -41
  396. package/types/source/tile_id.d.ts.map +0 -1
  397. package/types/source/vector_tile_source.d.ts +0 -87
  398. package/types/source/vector_tile_source.d.ts.map +0 -1
  399. package/types/source/vector_tile_worker_source.d.ts +0 -80
  400. package/types/source/vector_tile_worker_source.d.ts.map +0 -1
  401. package/types/source/video_source.d.ts +0 -85
  402. package/types/source/video_source.d.ts.map +0 -1
  403. package/types/source/worker.d.ts +0 -82
  404. package/types/source/worker.d.ts.map +0 -1
  405. package/types/source/worker_source.d.ts +0 -103
  406. package/types/source/worker_source.d.ts.map +0 -1
  407. package/types/source/worker_tile.d.ts +0 -29
  408. package/types/source/worker_tile.d.ts.map +0 -1
  409. package/types/style/create_style_layer.d.ts +0 -14
  410. package/types/style/create_style_layer.d.ts.map +0 -1
  411. package/types/style/evaluation_parameters.d.ts +0 -20
  412. package/types/style/evaluation_parameters.d.ts.map +0 -1
  413. package/types/style/format_section_override.d.ts +0 -14
  414. package/types/style/format_section_override.d.ts.map +0 -1
  415. package/types/style/light.d.ts +0 -47
  416. package/types/style/light.d.ts.map +0 -1
  417. package/types/style/load_glyph_range.d.ts +0 -7
  418. package/types/style/load_glyph_range.d.ts.map +0 -1
  419. package/types/style/load_sprite.d.ts +0 -8
  420. package/types/style/load_sprite.d.ts.map +0 -1
  421. package/types/style/parse_glyph_pbf.d.ts +0 -4
  422. package/types/style/parse_glyph_pbf.d.ts.map +0 -1
  423. package/types/style/pauseable_placement.d.ts +0 -35
  424. package/types/style/pauseable_placement.d.ts.map +0 -1
  425. package/types/style/properties.d.ts +0 -327
  426. package/types/style/properties.d.ts.map +0 -1
  427. package/types/style/query_utils.d.ts +0 -8
  428. package/types/style/query_utils.d.ts.map +0 -1
  429. package/types/style/style.d.ts +0 -259
  430. package/types/style/style.d.ts.map +0 -1
  431. package/types/style/style_glyph.d.ts +0 -14
  432. package/types/style/style_glyph.d.ts.map +0 -1
  433. package/types/style/style_image.d.ts +0 -116
  434. package/types/style/style_image.d.ts.map +0 -1
  435. package/types/style/style_layer/background_style_layer.d.ts +0 -13
  436. package/types/style/style_layer/background_style_layer.d.ts.map +0 -1
  437. package/types/style/style_layer/background_style_layer_properties.d.ts +0 -18
  438. package/types/style/style_layer/background_style_layer_properties.d.ts.map +0 -1
  439. package/types/style/style_layer/circle_style_layer.d.ts +0 -24
  440. package/types/style/style_layer/circle_style_layer.d.ts.map +0 -1
  441. package/types/style/style_layer/circle_style_layer_properties.d.ts +0 -40
  442. package/types/style/style_layer/circle_style_layer_properties.d.ts.map +0 -1
  443. package/types/style/style_layer/custom_style_layer.d.ts +0 -163
  444. package/types/style/style_layer/custom_style_layer.d.ts.map +0 -1
  445. package/types/style/style_layer/fill_extrusion_style_layer.d.ts +0 -27
  446. package/types/style/style_layer/fill_extrusion_style_layer.d.ts.map +0 -1
  447. package/types/style/style_layer/fill_extrusion_style_layer_properties.d.ts +0 -28
  448. package/types/style/style_layer/fill_extrusion_style_layer_properties.d.ts.map +0 -1
  449. package/types/style/style_layer/fill_style_layer.d.ts +0 -26
  450. package/types/style/style_layer/fill_style_layer.d.ts.map +0 -1
  451. package/types/style/style_layer/fill_style_layer_properties.d.ts +0 -33
  452. package/types/style/style_layer/fill_style_layer_properties.d.ts.map +0 -1
  453. package/types/style/style_layer/heatmap_style_layer.d.ts +0 -27
  454. package/types/style/style_layer/heatmap_style_layer.d.ts.map +0 -1
  455. package/types/style/style_layer/heatmap_style_layer_properties.d.ts +0 -20
  456. package/types/style/style_layer/heatmap_style_layer_properties.d.ts.map +0 -1
  457. package/types/style/style_layer/hillshade_style_layer.d.ts +0 -14
  458. package/types/style/style_layer/hillshade_style_layer.d.ts.map +0 -1
  459. package/types/style/style_layer/hillshade_style_layer_properties.d.ts +0 -23
  460. package/types/style/style_layer/hillshade_style_layer_properties.d.ts.map +0 -1
  461. package/types/style/style_layer/line_style_layer.d.ts +0 -30
  462. package/types/style/style_layer/line_style_layer.d.ts.map +0 -1
  463. package/types/style/style_layer/line_style_layer_properties.d.ts +0 -49
  464. package/types/style/style_layer/line_style_layer_properties.d.ts.map +0 -1
  465. package/types/style/style_layer/raster_style_layer.d.ts +0 -13
  466. package/types/style/style_layer/raster_style_layer.d.ts.map +0 -1
  467. package/types/style/style_layer/raster_style_layer_properties.d.ts +0 -26
  468. package/types/style/style_layer/raster_style_layer_properties.d.ts.map +0 -1
  469. package/types/style/style_layer/symbol_style_layer.d.ts +0 -28
  470. package/types/style/style_layer/symbol_style_layer.d.ts.map +0 -1
  471. package/types/style/style_layer/symbol_style_layer_properties.d.ts +0 -128
  472. package/types/style/style_layer/symbol_style_layer_properties.d.ts.map +0 -1
  473. package/types/style/style_layer/typed_style_layer.d.ts +0 -9
  474. package/types/style/style_layer/typed_style_layer.d.ts.map +0 -1
  475. package/types/style/style_layer.d.ts +0 -63
  476. package/types/style/style_layer.d.ts.map +0 -1
  477. package/types/style/style_layer_index.d.ts +0 -26
  478. package/types/style/style_layer_index.d.ts.map +0 -1
  479. package/types/style/validate_style.d.ts +0 -28
  480. package/types/style/validate_style.d.ts.map +0 -1
  481. package/types/style/zoom_history.d.ts +0 -11
  482. package/types/style/zoom_history.d.ts.map +0 -1
  483. package/types/style-spec/composite.d.ts +0 -2
  484. package/types/style-spec/composite.d.ts.map +0 -1
  485. package/types/style-spec/declass.d.ts +0 -18
  486. package/types/style-spec/declass.d.ts.map +0 -1
  487. package/types/style-spec/deref.d.ts +0 -16
  488. package/types/style-spec/deref.d.ts.map +0 -1
  489. package/types/style-spec/diff.d.ts +0 -43
  490. package/types/style-spec/diff.d.ts.map +0 -1
  491. package/types/style-spec/empty.d.ts +0 -2
  492. package/types/style-spec/empty.d.ts.map +0 -1
  493. package/types/style-spec/error/parsing_error.d.ts +0 -7
  494. package/types/style-spec/error/parsing_error.d.ts.map +0 -1
  495. package/types/style-spec/error/validation_error.d.ts +0 -9
  496. package/types/style-spec/error/validation_error.d.ts.map +0 -1
  497. package/types/style-spec/expression/compound_expression.d.ts +0 -34
  498. package/types/style-spec/expression/compound_expression.d.ts.map +0 -1
  499. package/types/style-spec/expression/definitions/assertion.d.ts +0 -16
  500. package/types/style-spec/expression/definitions/assertion.d.ts.map +0 -1
  501. package/types/style-spec/expression/definitions/at.d.ts +0 -18
  502. package/types/style-spec/expression/definitions/at.d.ts.map +0 -1
  503. package/types/style-spec/expression/definitions/case.d.ts +0 -18
  504. package/types/style-spec/expression/definitions/case.d.ts.map +0 -1
  505. package/types/style-spec/expression/definitions/coalesce.d.ts +0 -16
  506. package/types/style-spec/expression/definitions/coalesce.d.ts.map +0 -1
  507. package/types/style-spec/expression/definitions/coercion.d.ts +0 -26
  508. package/types/style-spec/expression/definitions/coercion.d.ts.map +0 -1
  509. package/types/style-spec/expression/definitions/collator.d.ts +0 -18
  510. package/types/style-spec/expression/definitions/collator.d.ts.map +0 -1
  511. package/types/style-spec/expression/definitions/comparison.d.ts +0 -89
  512. package/types/style-spec/expression/definitions/comparison.d.ts.map +0 -1
  513. package/types/style-spec/expression/definitions/format.d.ts +0 -23
  514. package/types/style-spec/expression/definitions/format.d.ts.map +0 -1
  515. package/types/style-spec/expression/definitions/image.d.ts +0 -16
  516. package/types/style-spec/expression/definitions/image.d.ts.map +0 -1
  517. package/types/style-spec/expression/definitions/in.d.ts +0 -17
  518. package/types/style-spec/expression/definitions/in.d.ts.map +0 -1
  519. package/types/style-spec/expression/definitions/index.d.ts +0 -4
  520. package/types/style-spec/expression/definitions/index.d.ts.map +0 -1
  521. package/types/style-spec/expression/definitions/index_of.d.ts +0 -18
  522. package/types/style-spec/expression/definitions/index_of.d.ts.map +0 -1
  523. package/types/style-spec/expression/definitions/interpolate.d.ts +0 -31
  524. package/types/style-spec/expression/definitions/interpolate.d.ts.map +0 -1
  525. package/types/style-spec/expression/definitions/length.d.ts +0 -16
  526. package/types/style-spec/expression/definitions/length.d.ts.map +0 -1
  527. package/types/style-spec/expression/definitions/let.d.ts +0 -17
  528. package/types/style-spec/expression/definitions/let.d.ts.map +0 -1
  529. package/types/style-spec/expression/definitions/literal.d.ts +0 -16
  530. package/types/style-spec/expression/definitions/literal.d.ts.map +0 -1
  531. package/types/style-spec/expression/definitions/match.d.ts +0 -23
  532. package/types/style-spec/expression/definitions/match.d.ts.map +0 -1
  533. package/types/style-spec/expression/definitions/number_format.d.ts +0 -19
  534. package/types/style-spec/expression/definitions/number_format.d.ts.map +0 -1
  535. package/types/style-spec/expression/definitions/slice.d.ts +0 -18
  536. package/types/style-spec/expression/definitions/slice.d.ts.map +0 -1
  537. package/types/style-spec/expression/definitions/step.d.ts +0 -19
  538. package/types/style-spec/expression/definitions/step.d.ts.map +0 -1
  539. package/types/style-spec/expression/definitions/var.d.ts +0 -17
  540. package/types/style-spec/expression/definitions/var.d.ts.map +0 -1
  541. package/types/style-spec/expression/definitions/within.d.ts +0 -18
  542. package/types/style-spec/expression/definitions/within.d.ts.map +0 -1
  543. package/types/style-spec/expression/evaluation_context.d.ts +0 -26
  544. package/types/style-spec/expression/evaluation_context.d.ts.map +0 -1
  545. package/types/style-spec/expression/expression.d.ts +0 -26
  546. package/types/style-spec/expression/expression.d.ts.map +0 -1
  547. package/types/style-spec/expression/index.d.ts +0 -126
  548. package/types/style-spec/expression/index.d.ts.map +0 -1
  549. package/types/style-spec/expression/is_constant.d.ts +0 -6
  550. package/types/style-spec/expression/is_constant.d.ts.map +0 -1
  551. package/types/style-spec/expression/parsing_context.d.ts +0 -54
  552. package/types/style-spec/expression/parsing_context.d.ts.map +0 -1
  553. package/types/style-spec/expression/parsing_error.d.ts +0 -7
  554. package/types/style-spec/expression/parsing_error.d.ts.map +0 -1
  555. package/types/style-spec/expression/runtime_error.d.ts +0 -8
  556. package/types/style-spec/expression/runtime_error.d.ts.map +0 -1
  557. package/types/style-spec/expression/scope.d.ts +0 -17
  558. package/types/style-spec/expression/scope.d.ts.map +0 -1
  559. package/types/style-spec/expression/stops.d.ts +0 -8
  560. package/types/style-spec/expression/stops.d.ts.map +0 -1
  561. package/types/style-spec/expression/types/collator.d.ts +0 -23
  562. package/types/style-spec/expression/types/collator.d.ts.map +0 -1
  563. package/types/style-spec/expression/types/formatted.d.ts +0 -20
  564. package/types/style-spec/expression/types/formatted.d.ts.map +0 -1
  565. package/types/style-spec/expression/types/resolved_image.d.ts +0 -13
  566. package/types/style-spec/expression/types/resolved_image.d.ts.map +0 -1
  567. package/types/style-spec/expression/types.d.ts +0 -64
  568. package/types/style-spec/expression/types.d.ts.map +0 -1
  569. package/types/style-spec/expression/values.d.ts +0 -14
  570. package/types/style-spec/expression/values.d.ts.map +0 -1
  571. package/types/style-spec/feature_filter/convert.d.ts +0 -8
  572. package/types/style-spec/feature_filter/convert.d.ts.map +0 -1
  573. package/types/style-spec/feature_filter/index.d.ts +0 -21
  574. package/types/style-spec/feature_filter/index.d.ts.map +0 -1
  575. package/types/style-spec/format.d.ts +0 -24
  576. package/types/style-spec/format.d.ts.map +0 -1
  577. package/types/style-spec/function/convert.d.ts +0 -5
  578. package/types/style-spec/function/convert.d.ts.map +0 -1
  579. package/types/style-spec/function/index.d.ts +0 -30
  580. package/types/style-spec/function/index.d.ts.map +0 -1
  581. package/types/style-spec/group_by_layout.d.ts +0 -18
  582. package/types/style-spec/group_by_layout.d.ts.map +0 -1
  583. package/types/style-spec/migrate/expressions.d.ts +0 -8
  584. package/types/style-spec/migrate/expressions.d.ts.map +0 -1
  585. package/types/style-spec/migrate/v8.d.ts +0 -2
  586. package/types/style-spec/migrate/v8.d.ts.map +0 -1
  587. package/types/style-spec/migrate/v9.d.ts +0 -2
  588. package/types/style-spec/migrate/v9.d.ts.map +0 -1
  589. package/types/style-spec/migrate.d.ts +0 -15
  590. package/types/style-spec/migrate.d.ts.map +0 -1
  591. package/types/style-spec/read_style.d.ts +0 -2
  592. package/types/style-spec/read_style.d.ts.map +0 -1
  593. package/types/style-spec/reference/latest.d.ts +0 -3
  594. package/types/style-spec/reference/latest.d.ts.map +0 -1
  595. package/types/style-spec/style-spec.d.ts +0 -98
  596. package/types/style-spec/style-spec.d.ts.map +0 -1
  597. package/types/style-spec/types.d.ts +0 -417
  598. package/types/style-spec/types.d.ts.map +0 -1
  599. package/types/style-spec/util/color.d.ts +0 -41
  600. package/types/style-spec/util/color.d.ts.map +0 -1
  601. package/types/style-spec/util/color_spaces.d.ts +0 -41
  602. package/types/style-spec/util/color_spaces.d.ts.map +0 -1
  603. package/types/style-spec/util/deep_equal.d.ts +0 -8
  604. package/types/style-spec/util/deep_equal.d.ts.map +0 -1
  605. package/types/style-spec/util/extend.d.ts +0 -2
  606. package/types/style-spec/util/extend.d.ts.map +0 -1
  607. package/types/style-spec/util/get_type.d.ts +0 -2
  608. package/types/style-spec/util/get_type.d.ts.map +0 -1
  609. package/types/style-spec/util/interpolate.d.ts +0 -5
  610. package/types/style-spec/util/interpolate.d.ts.map +0 -1
  611. package/types/style-spec/util/properties.d.ts +0 -5
  612. package/types/style-spec/util/properties.d.ts.map +0 -1
  613. package/types/style-spec/util/ref_properties.d.ts +0 -3
  614. package/types/style-spec/util/ref_properties.d.ts.map +0 -1
  615. package/types/style-spec/util/result.d.ts +0 -16
  616. package/types/style-spec/util/result.d.ts.map +0 -1
  617. package/types/style-spec/util/unbundle_jsonlint.d.ts +0 -3
  618. package/types/style-spec/util/unbundle_jsonlint.d.ts.map +0 -1
  619. package/types/style-spec/validate/latest.d.ts +0 -3
  620. package/types/style-spec/validate/latest.d.ts.map +0 -1
  621. package/types/style-spec/validate/validate.d.ts +0 -2
  622. package/types/style-spec/validate/validate.d.ts.map +0 -1
  623. package/types/style-spec/validate/validate_array.d.ts +0 -2
  624. package/types/style-spec/validate/validate_array.d.ts.map +0 -1
  625. package/types/style-spec/validate/validate_boolean.d.ts +0 -3
  626. package/types/style-spec/validate/validate_boolean.d.ts.map +0 -1
  627. package/types/style-spec/validate/validate_color.d.ts +0 -3
  628. package/types/style-spec/validate/validate_color.d.ts.map +0 -1
  629. package/types/style-spec/validate/validate_constants.d.ts +0 -3
  630. package/types/style-spec/validate/validate_constants.d.ts.map +0 -1
  631. package/types/style-spec/validate/validate_enum.d.ts +0 -2
  632. package/types/style-spec/validate/validate_enum.d.ts.map +0 -1
  633. package/types/style-spec/validate/validate_expression.d.ts +0 -3
  634. package/types/style-spec/validate/validate_expression.d.ts.map +0 -1
  635. package/types/style-spec/validate/validate_filter.d.ts +0 -2
  636. package/types/style-spec/validate/validate_filter.d.ts.map +0 -1
  637. package/types/style-spec/validate/validate_formatted.d.ts +0 -2
  638. package/types/style-spec/validate/validate_formatted.d.ts.map +0 -1
  639. package/types/style-spec/validate/validate_function.d.ts +0 -2
  640. package/types/style-spec/validate/validate_function.d.ts.map +0 -1
  641. package/types/style-spec/validate/validate_glyphs_url.d.ts +0 -3
  642. package/types/style-spec/validate/validate_glyphs_url.d.ts.map +0 -1
  643. package/types/style-spec/validate/validate_image.d.ts +0 -2
  644. package/types/style-spec/validate/validate_image.d.ts.map +0 -1
  645. package/types/style-spec/validate/validate_layer.d.ts +0 -2
  646. package/types/style-spec/validate/validate_layer.d.ts.map +0 -1
  647. package/types/style-spec/validate/validate_layout_property.d.ts +0 -2
  648. package/types/style-spec/validate/validate_layout_property.d.ts.map +0 -1
  649. package/types/style-spec/validate/validate_light.d.ts +0 -2
  650. package/types/style-spec/validate/validate_light.d.ts.map +0 -1
  651. package/types/style-spec/validate/validate_number.d.ts +0 -3
  652. package/types/style-spec/validate/validate_number.d.ts.map +0 -1
  653. package/types/style-spec/validate/validate_object.d.ts +0 -2
  654. package/types/style-spec/validate/validate_object.d.ts.map +0 -1
  655. package/types/style-spec/validate/validate_paint_property.d.ts +0 -2
  656. package/types/style-spec/validate/validate_paint_property.d.ts.map +0 -1
  657. package/types/style-spec/validate/validate_property.d.ts +0 -2
  658. package/types/style-spec/validate/validate_property.d.ts.map +0 -1
  659. package/types/style-spec/validate/validate_source.d.ts +0 -2
  660. package/types/style-spec/validate/validate_source.d.ts.map +0 -1
  661. package/types/style-spec/validate/validate_string.d.ts +0 -3
  662. package/types/style-spec/validate/validate_string.d.ts.map +0 -1
  663. package/types/style-spec/validate_style.d.ts +0 -5333
  664. package/types/style-spec/validate_style.d.ts.map +0 -1
  665. package/types/style-spec/validate_style.min.d.ts +0 -5336
  666. package/types/style-spec/validate_style.min.d.ts.map +0 -1
  667. package/types/style-spec/visit.d.ts +0 -17
  668. package/types/style-spec/visit.d.ts.map +0 -1
  669. package/types/symbol/anchor.d.ts +0 -9
  670. package/types/symbol/anchor.d.ts.map +0 -1
  671. package/types/symbol/check_max_angle.d.ts +0 -18
  672. package/types/symbol/check_max_angle.d.ts.map +0 -1
  673. package/types/symbol/clip_line.d.ts +0 -15
  674. package/types/symbol/clip_line.d.ts.map +0 -1
  675. package/types/symbol/collision_feature.d.ts +0 -29
  676. package/types/symbol/collision_feature.d.ts.map +0 -1
  677. package/types/symbol/collision_index.d.ts +0 -57
  678. package/types/symbol/collision_index.d.ts.map +0 -1
  679. package/types/symbol/cross_tile_symbol_index.d.ts +0 -67
  680. package/types/symbol/cross_tile_symbol_index.d.ts.map +0 -1
  681. package/types/symbol/get_anchors.d.ts +0 -7
  682. package/types/symbol/get_anchors.d.ts.map +0 -1
  683. package/types/symbol/grid_index.d.ts +0 -49
  684. package/types/symbol/grid_index.d.ts.map +0 -1
  685. package/types/symbol/mergelines.d.ts +0 -3
  686. package/types/symbol/mergelines.d.ts.map +0 -1
  687. package/types/symbol/one_em.d.ts +0 -3
  688. package/types/symbol/one_em.d.ts.map +0 -1
  689. package/types/symbol/opacity_state.d.ts +0 -9
  690. package/types/symbol/opacity_state.d.ts.map +0 -1
  691. package/types/symbol/path_interpolator.d.ts +0 -13
  692. package/types/symbol/path_interpolator.d.ts.map +0 -1
  693. package/types/symbol/placement.d.ts +0 -141
  694. package/types/symbol/placement.d.ts.map +0 -1
  695. package/types/symbol/projection.d.ts +0 -37
  696. package/types/symbol/projection.d.ts.map +0 -1
  697. package/types/symbol/quads.d.ts +0 -52
  698. package/types/symbol/quads.d.ts.map +0 -1
  699. package/types/symbol/shaping.d.ts +0 -67
  700. package/types/symbol/shaping.d.ts.map +0 -1
  701. package/types/symbol/symbol_layout.d.ts +0 -26
  702. package/types/symbol/symbol_layout.d.ts.map +0 -1
  703. package/types/symbol/symbol_size.d.ts +0 -35
  704. package/types/symbol/symbol_size.d.ts.map +0 -1
  705. package/types/symbol/transform_text.d.ts +0 -5
  706. package/types/symbol/transform_text.d.ts.map +0 -1
  707. package/types/types/callback.d.ts +0 -2
  708. package/types/types/callback.d.ts.map +0 -1
  709. package/types/types/cancelable.d.ts +0 -4
  710. package/types/types/cancelable.d.ts.map +0 -1
  711. package/types/types/tilejson.d.ts +0 -16
  712. package/types/types/tilejson.d.ts.map +0 -1
  713. package/types/types/transferable.d.ts +0 -2
  714. package/types/types/transferable.d.ts.map +0 -1
  715. package/types/ui/anchor.d.ts +0 -6
  716. package/types/ui/anchor.d.ts.map +0 -1
  717. package/types/ui/camera.d.ts +0 -628
  718. package/types/ui/camera.d.ts.map +0 -1
  719. package/types/ui/control/attribution_control.d.ts +0 -41
  720. package/types/ui/control/attribution_control.d.ts.map +0 -1
  721. package/types/ui/control/fullscreen_control.d.ts +0 -36
  722. package/types/ui/control/fullscreen_control.d.ts.map +0 -1
  723. package/types/ui/control/geolocate_control.d.ts +0 -242
  724. package/types/ui/control/geolocate_control.d.ts.map +0 -1
  725. package/types/ui/control/logo_control.d.ts +0 -21
  726. package/types/ui/control/logo_control.d.ts.map +0 -1
  727. package/types/ui/control/navigation_control.d.ts +0 -63
  728. package/types/ui/control/navigation_control.d.ts.map +0 -1
  729. package/types/ui/control/scale_control.d.ts +0 -41
  730. package/types/ui/control/scale_control.d.ts.map +0 -1
  731. package/types/ui/default_locale.d.ts +0 -19
  732. package/types/ui/default_locale.d.ts.map +0 -1
  733. package/types/ui/events.d.ts +0 -1117
  734. package/types/ui/events.d.ts.map +0 -1
  735. package/types/ui/handler/box_zoom.d.ts +0 -59
  736. package/types/ui/handler/box_zoom.d.ts.map +0 -1
  737. package/types/ui/handler/click_zoom.d.ts +0 -16
  738. package/types/ui/handler/click_zoom.d.ts.map +0 -1
  739. package/types/ui/handler/handler_util.d.ts +0 -3
  740. package/types/ui/handler/handler_util.d.ts.map +0 -1
  741. package/types/ui/handler/keyboard.d.ts +0 -79
  742. package/types/ui/handler/keyboard.d.ts.map +0 -1
  743. package/types/ui/handler/map_event.d.ts +0 -44
  744. package/types/ui/handler/map_event.d.ts.map +0 -1
  745. package/types/ui/handler/mouse.d.ts +0 -46
  746. package/types/ui/handler/mouse.d.ts.map +0 -1
  747. package/types/ui/handler/scroll_zoom.d.ts +0 -97
  748. package/types/ui/handler/scroll_zoom.d.ts.map +0 -1
  749. package/types/ui/handler/shim/dblclick_zoom.d.ts +0 -41
  750. package/types/ui/handler/shim/dblclick_zoom.d.ts.map +0 -1
  751. package/types/ui/handler/shim/drag_pan.d.ts +0 -62
  752. package/types/ui/handler/shim/drag_pan.d.ts.map +0 -1
  753. package/types/ui/handler/shim/drag_rotate.d.ts +0 -47
  754. package/types/ui/handler/shim/drag_rotate.d.ts.map +0 -1
  755. package/types/ui/handler/shim/touch_zoom_rotate.d.ts +0 -71
  756. package/types/ui/handler/shim/touch_zoom_rotate.d.ts.map +0 -1
  757. package/types/ui/handler/tap_drag_zoom.d.ts +0 -23
  758. package/types/ui/handler/tap_drag_zoom.d.ts.map +0 -1
  759. package/types/ui/handler/tap_recognizer.d.ts +0 -34
  760. package/types/ui/handler/tap_recognizer.d.ts.map +0 -1
  761. package/types/ui/handler/tap_zoom.d.ts +0 -22
  762. package/types/ui/handler/tap_zoom.d.ts.map +0 -1
  763. package/types/ui/handler/touch_pan.d.ts +0 -34
  764. package/types/ui/handler/touch_pan.d.ts.map +0 -1
  765. package/types/ui/handler/touch_zoom_rotate.d.ts +0 -59
  766. package/types/ui/handler/touch_zoom_rotate.d.ts.map +0 -1
  767. package/types/ui/handler_inertia.d.ts +0 -22
  768. package/types/ui/handler_inertia.d.ts.map +0 -1
  769. package/types/ui/handler_manager.d.ts +0 -95
  770. package/types/ui/handler_manager.d.ts.map +0 -1
  771. package/types/ui/hash.d.ts +0 -15
  772. package/types/ui/hash.d.ts.map +0 -1
  773. package/types/ui/map.d.ts +0 -1758
  774. package/types/ui/map.d.ts.map +0 -1
  775. package/types/ui/marker.d.ts +0 -225
  776. package/types/ui/marker.d.ts.map +0 -1
  777. package/types/ui/popup.d.ts +0 -265
  778. package/types/ui/popup.d.ts.map +0 -1
  779. package/types/util/actor.d.ts +0 -47
  780. package/types/util/actor.d.ts.map +0 -1
  781. package/types/util/ajax.d.ts +0 -62
  782. package/types/util/ajax.d.ts.map +0 -1
  783. package/types/util/browser.d.ts +0 -18
  784. package/types/util/browser.d.ts.map +0 -1
  785. package/types/util/classify_rings.d.ts +0 -3
  786. package/types/util/classify_rings.d.ts.map +0 -1
  787. package/types/util/color_ramp.d.ts +0 -17
  788. package/types/util/color_ramp.d.ts.map +0 -1
  789. package/types/util/config.d.ts +0 -9
  790. package/types/util/config.d.ts.map +0 -1
  791. package/types/util/debug.d.ts +0 -12
  792. package/types/util/debug.d.ts.map +0 -1
  793. package/types/util/dictionary_coder.d.ts +0 -11
  794. package/types/util/dictionary_coder.d.ts.map +0 -1
  795. package/types/util/dispatcher.d.ts +0 -31
  796. package/types/util/dispatcher.d.ts.map +0 -1
  797. package/types/util/dom.d.ts +0 -23
  798. package/types/util/dom.d.ts.map +0 -1
  799. package/types/util/evented.d.ts +0 -73
  800. package/types/util/evented.d.ts.map +0 -1
  801. package/types/util/find_pole_of_inaccessibility.d.ts +0 -13
  802. package/types/util/find_pole_of_inaccessibility.d.ts.map +0 -1
  803. package/types/util/global_worker_pool.d.ts +0 -9
  804. package/types/util/global_worker_pool.d.ts.map +0 -1
  805. package/types/util/image.d.ts +0 -29
  806. package/types/util/image.d.ts.map +0 -1
  807. package/types/util/intersection_tests.d.ts +0 -14
  808. package/types/util/intersection_tests.d.ts.map +0 -1
  809. package/types/util/is_char_in_unicode_block.d.ts +0 -6
  810. package/types/util/is_char_in_unicode_block.d.ts.map +0 -1
  811. package/types/util/offscreen_canvas_supported.d.ts +0 -2
  812. package/types/util/offscreen_canvas_supported.d.ts.map +0 -1
  813. package/types/util/performance.d.ts +0 -35
  814. package/types/util/performance.d.ts.map +0 -1
  815. package/types/util/point.d.ts +0 -184
  816. package/types/util/point.d.ts.map +0 -1
  817. package/types/util/primitives.d.ts +0 -19
  818. package/types/util/primitives.d.ts.map +0 -1
  819. package/types/util/request_manager.d.ts +0 -13
  820. package/types/util/request_manager.d.ts.map +0 -1
  821. package/types/util/resolve_tokens.d.ts +0 -13
  822. package/types/util/resolve_tokens.d.ts.map +0 -1
  823. package/types/util/script_detection.d.ts +0 -47
  824. package/types/util/script_detection.d.ts.map +0 -1
  825. package/types/util/smart_wrap.d.ts +0 -20
  826. package/types/util/smart_wrap.d.ts.map +0 -1
  827. package/types/util/struct_array.d.ts +0 -124
  828. package/types/util/struct_array.d.ts.map +0 -1
  829. package/types/util/task_queue.d.ts +0 -19
  830. package/types/util/task_queue.d.ts.map +0 -1
  831. package/types/util/throttle.d.ts +0 -6
  832. package/types/util/throttle.d.ts.map +0 -1
  833. package/types/util/throttled_invoker.d.ts +0 -16
  834. package/types/util/throttled_invoker.d.ts.map +0 -1
  835. package/types/util/tile_request_cache.d.ts +0 -14
  836. package/types/util/tile_request_cache.d.ts.map +0 -1
  837. package/types/util/util.d.ts +0 -222
  838. package/types/util/util.d.ts.map +0 -1
  839. package/types/util/vectortile_to_geojson.d.ts +0 -13
  840. package/types/util/vectortile_to_geojson.d.ts.map +0 -1
  841. package/types/util/verticalize_punctuation.d.ts +0 -87
  842. package/types/util/verticalize_punctuation.d.ts.map +0 -1
  843. package/types/util/web_worker.d.ts +0 -25
  844. package/types/util/web_worker.d.ts.map +0 -1
  845. package/types/util/web_worker_transfer.d.ts +0 -39
  846. package/types/util/web_worker_transfer.d.ts.map +0 -1
  847. package/types/util/webp_supported.d.ts +0 -7
  848. package/types/util/webp_supported.d.ts.map +0 -1
  849. package/types/util/worker_pool.d.ts +0 -19
  850. package/types/util/worker_pool.d.ts.map +0 -1
package/CHANGELOG.md CHANGED
@@ -17,13 +17,31 @@
17
17
  - ** Breaking Change ** stopped supporting IE (internet explorer)
18
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
19
  - ** Breaking Change ** removed `baseApiUrl` as it was used only for mapbox related urls
20
- - Added redraw function to map (#206)
20
+ - ** Breaking Change ** typescript typings have changed:
21
+ - `Style` => `StypeSpecification`
22
+ - `AnyLayer` => `LayerSpecification`
23
+ - `AnySourceData` => `SourceSpecification`
24
+ - `MapboxEvent` => `MapLibreEvent`
25
+ - `MapboxOptions` => `MapOptions`
26
+ - `MapBoxZoomEvent` => `MapLibreZoomEvent`
27
+ - `*SourceRaw` + `*SourceOptions` => `*SourceSpecification`
28
+ - `*Source` (source implementation definition) were removed
29
+ - `*Layer` => `*LayerSpecification`
30
+ - `*Paint` => `*LayerSpecification['paint']`
31
+ - `*Layout` => `*LayerSpecification['layout']`
32
+ - `MapboxGeoJSONFeature` => `GeoJSONFeature`
33
+ - Added `redraw` function to map (#206)
34
+ - Improve attribution controls accessibility. See [#359](https://github.com/maplibre/maplibre-gl-js/issues/359)
35
+ - Allow maxPitch value up to 85, use values greater than 60 at your own risk (#574)
21
36
  - *...Add new stuff here...*
22
37
 
23
38
  ### 🐞 Bug fixes
24
39
 
25
40
  - Fix warning due to strict comparison of SDF property in image sprite (#303)
26
41
  - Fix tile placeholder replacement to allow for placeholders to be in a URL more than once. (#348)
42
+ - Fix type check for non dom environment. (#334)
43
+ - Fix precision problem in patterns when overzoomed in OpenGL ES devices.
44
+ - Fix padding-top of the popup to improve readability of popup text (#354).
27
45
 
28
46
  ## 1.15.2
29
47
 
package/README.md CHANGED
@@ -1,19 +1,40 @@
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
+
8
11
  ```diff
9
12
  "dependencies": {
10
13
  - "mapbox-gl": "^1.13.0"
11
- + "maplibre-gl": ">=1.14.0"
14
+ + "maplibre-gl": ">=1.15.2"
12
15
  }
13
16
  ```
14
17
 
15
- And replace ```mapboxgl``` with ```maplibregl``` in your JavaScript and optionally in your HTML/CSS code:
18
+ if it is important to you that the behaviour is similar to `mapbox-gl` version 1.x.
19
+
20
+ And replace `mapboxgl` with `maplibregl` in your JavaScript and optionally in your HTML/CSS code:
21
+
22
+ > 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).
23
+
16
24
  ```diff
25
+ - <script src="https://api.mapbox.com/mapbox-gl-js/v1.13.0/mapbox-gl.js"></script>
26
+ - <link
27
+ - href="https://api.mapbox.com/mapbox-gl-js/v1.13.0/mapbox-gl.css"
28
+ - rel="stylesheet"
29
+ - />
30
+
31
+ <!-- Use maplibre-gl version 1.15.2 for backwards compatibility with mapbox-gl version 1.x. -->
32
+ + <script src="https://unpkg.com/maplibre-gl@1.15.2/dist/maplibre-gl.js"></script>
33
+ + <link
34
+ + href="https://unpkg.com/maplibre-gl@1.15.2/dist/maplibre-gl.css"
35
+ + rel="stylesheet"
36
+ + />
37
+
17
38
  - var map = new mapboxgl.Map({
18
39
  + var map = new maplibregl.Map({
19
40
 
@@ -21,13 +42,15 @@ And replace ```mapboxgl``` with ```maplibregl``` in your JavaScript and optional
21
42
  + <button class="maplibregl-ctrl">
22
43
  ```
23
44
 
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/).
45
+ Want an example? Have a look at the official [MapLibre GL JS Documentation](https://maplibre.org/maplibre-gl-js-docs/example/).
25
46
 
26
47
  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
48
 
28
49
  ### Roadmap
29
50
 
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.
51
+ 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.
52
+
53
+ > **MapLibre GL** is developed following [Semantic Versioning (2.0.0)](http://semver.org/spec/v2.0.0.html).
31
54
 
32
55
  ### Getting Involved
33
56
 
@@ -35,11 +58,11 @@ Join the #maplibre slack channel at OSMUS: get an invite at https://osmus-slack.
35
58
 
36
59
  ### Community Leadership
37
60
 
38
- The official status of the backing community and steering committee can be found in the [COMMUNITY.md](COMMUNITY.md) document.
61
+ You can find the official status of the backing community and steering committee in the [COMMUNITY.md](COMMUNITY.md) document.
39
62
 
40
63
  ### Avoid Fragmentation
41
64
 
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.
65
+ 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
66
 
44
67
  ### Thank you Mapbox 🙏🏽
45
68
 
@@ -49,4 +72,4 @@ Please keep in mind: Unauthorized backports are the biggest threat to the MapLib
49
72
 
50
73
  ## License
51
74
 
52
- MapLibre GL is licensed under the [3-Clause BSD license](./LICENSE.txt).
75
+ **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(`${layoutClass} as ${arrayClass}`);
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
+ export {
436
+ ${layouts.map(layout => layout.className).join(',\n ')},
437
+ ${[...arrayTypeEntries].join(',\n ')}
438
+ };
439
+ `);