mapbox-gl 1.13.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 (460) hide show
  1. package/.flowconfig +61 -0
  2. package/CHANGELOG.md +2485 -0
  3. package/LICENSE.txt +84 -0
  4. package/README.md +34 -0
  5. package/build/banner.js +4 -0
  6. package/build/check-bundle-size.js +140 -0
  7. package/build/diff-tarball.js +18 -0
  8. package/build/generate-access-token-script.js +11 -0
  9. package/build/generate-flow-typed-style-spec.js +188 -0
  10. package/build/generate-release-list.js +21 -0
  11. package/build/generate-struct-arrays.js +243 -0
  12. package/build/generate-style-code.js +159 -0
  13. package/build/mapbox-gl.js.flow +3 -0
  14. package/build/print-release-url.js +6 -0
  15. package/build/rollup_plugin_minify_style_spec.js +24 -0
  16. package/build/rollup_plugins.js +80 -0
  17. package/build/run-node +3 -0
  18. package/build/run-tap +8 -0
  19. package/build/test/build-tape.js +19 -0
  20. package/dist/mapbox-gl-csp-worker.js +2 -0
  21. package/dist/mapbox-gl-csp-worker.js.map +1 -0
  22. package/dist/mapbox-gl-csp.js +2 -0
  23. package/dist/mapbox-gl-csp.js.map +1 -0
  24. package/dist/mapbox-gl-dev.js +65889 -0
  25. package/dist/mapbox-gl-dev.js.flow +3 -0
  26. package/dist/mapbox-gl-unminified.js +42889 -0
  27. package/dist/mapbox-gl-unminified.js.map +1 -0
  28. package/dist/mapbox-gl.css +1 -0
  29. package/dist/mapbox-gl.js +42 -0
  30. package/dist/mapbox-gl.js.flow +3 -0
  31. package/dist/mapbox-gl.js.map +1 -0
  32. package/dist/style-spec/index.es.js +15032 -0
  33. package/dist/style-spec/index.es.js.map +1 -0
  34. package/dist/style-spec/index.js +15058 -0
  35. package/dist/style-spec/index.js.map +1 -0
  36. package/flow-typed/gl.js +5 -0
  37. package/flow-typed/jsdom.js +18 -0
  38. package/flow-typed/mapbox-gl-supported.js +9 -0
  39. package/flow-typed/mapbox-unitbezier.js +14 -0
  40. package/flow-typed/offscreen-canvas.js +9 -0
  41. package/flow-typed/pbf.js +25 -0
  42. package/flow-typed/point-geometry.js +44 -0
  43. package/flow-typed/potpack.js +12 -0
  44. package/flow-typed/sinon.js +28 -0
  45. package/flow-typed/vector-tile.js +41 -0
  46. package/package.json +173 -0
  47. package/src/css/mapbox-gl.css +812 -0
  48. package/src/css/svg/mapboxgl-ctrl-attrib.svg +3 -0
  49. package/src/css/svg/mapboxgl-ctrl-compass.svg +4 -0
  50. package/src/css/svg/mapboxgl-ctrl-fullscreen.svg +3 -0
  51. package/src/css/svg/mapboxgl-ctrl-geolocate.svg +5 -0
  52. package/src/css/svg/mapboxgl-ctrl-logo.svg +20 -0
  53. package/src/css/svg/mapboxgl-ctrl-shrink.svg +3 -0
  54. package/src/css/svg/mapboxgl-ctrl-zoom-in.svg +3 -0
  55. package/src/css/svg/mapboxgl-ctrl-zoom-out.svg +3 -0
  56. package/src/data/array_types.js +1135 -0
  57. package/src/data/bucket/circle_attributes.js +9 -0
  58. package/src/data/bucket/circle_bucket.js +201 -0
  59. package/src/data/bucket/fill_attributes.js +9 -0
  60. package/src/data/bucket/fill_bucket.js +229 -0
  61. package/src/data/bucket/fill_extrusion_attributes.js +10 -0
  62. package/src/data/bucket/fill_extrusion_bucket.js +283 -0
  63. package/src/data/bucket/heatmap_bucket.js +17 -0
  64. package/src/data/bucket/line_attributes.js +10 -0
  65. package/src/data/bucket/line_attributes_ext.js +10 -0
  66. package/src/data/bucket/line_bucket.js +594 -0
  67. package/src/data/bucket/pattern_attributes.js +12 -0
  68. package/src/data/bucket/pattern_bucket_features.js +60 -0
  69. package/src/data/bucket/symbol_attributes.js +117 -0
  70. package/src/data/bucket/symbol_bucket.js +937 -0
  71. package/src/data/bucket.js +123 -0
  72. package/src/data/dem_data.js +125 -0
  73. package/src/data/evaluation_feature.js +25 -0
  74. package/src/data/extent.js +18 -0
  75. package/src/data/feature_index.js +322 -0
  76. package/src/data/feature_position_map.js +131 -0
  77. package/src/data/index_array_type.js +16 -0
  78. package/src/data/load_geometry.js +46 -0
  79. package/src/data/pos_attributes.js +6 -0
  80. package/src/data/program_configuration.js +708 -0
  81. package/src/data/raster_bounds_attributes.js +7 -0
  82. package/src/data/segment.js +76 -0
  83. package/src/geo/edge_insets.js +102 -0
  84. package/src/geo/lng_lat.js +168 -0
  85. package/src/geo/lng_lat_bounds.js +276 -0
  86. package/src/geo/mercator_coordinate.js +150 -0
  87. package/src/geo/transform.js +834 -0
  88. package/src/gl/color_mode.js +34 -0
  89. package/src/gl/context.js +302 -0
  90. package/src/gl/cull_face_mode.js +26 -0
  91. package/src/gl/depth_mode.js +29 -0
  92. package/src/gl/framebuffer.js +44 -0
  93. package/src/gl/index_buffer.js +55 -0
  94. package/src/gl/stencil_mode.js +30 -0
  95. package/src/gl/types.js +84 -0
  96. package/src/gl/value.js +520 -0
  97. package/src/gl/vertex_buffer.js +119 -0
  98. package/src/index.js +230 -0
  99. package/src/render/draw_background.js +57 -0
  100. package/src/render/draw_circle.js +113 -0
  101. package/src/render/draw_collision_debug.js +172 -0
  102. package/src/render/draw_custom.js +49 -0
  103. package/src/render/draw_debug.js +127 -0
  104. package/src/render/draw_fill.js +124 -0
  105. package/src/render/draw_fill_extrusion.js +95 -0
  106. package/src/render/draw_heatmap.js +133 -0
  107. package/src/render/draw_hillshade.js +107 -0
  108. package/src/render/draw_line.js +125 -0
  109. package/src/render/draw_raster.js +125 -0
  110. package/src/render/draw_symbol.js +392 -0
  111. package/src/render/glyph_atlas.js +71 -0
  112. package/src/render/glyph_manager.js +182 -0
  113. package/src/render/image_atlas.js +149 -0
  114. package/src/render/image_manager.js +306 -0
  115. package/src/render/line_atlas.js +210 -0
  116. package/src/render/painter.js +654 -0
  117. package/src/render/program/background_program.js +103 -0
  118. package/src/render/program/circle_program.js +69 -0
  119. package/src/render/program/clipping_mask_program.js +20 -0
  120. package/src/render/program/collision_program.js +76 -0
  121. package/src/render/program/debug_program.js +35 -0
  122. package/src/render/program/fill_extrusion_program.js +122 -0
  123. package/src/render/program/fill_program.js +126 -0
  124. package/src/render/program/heatmap_program.js +83 -0
  125. package/src/render/program/hillshade_program.js +119 -0
  126. package/src/render/program/line_program.js +211 -0
  127. package/src/render/program/pattern.js +102 -0
  128. package/src/render/program/program_uniforms.js +42 -0
  129. package/src/render/program/raster_program.js +92 -0
  130. package/src/render/program/symbol_program.js +224 -0
  131. package/src/render/program.js +188 -0
  132. package/src/render/texture.js +122 -0
  133. package/src/render/uniform_binding.js +147 -0
  134. package/src/render/vertex_array_object.js +163 -0
  135. package/src/shaders/README.md +42 -0
  136. package/src/shaders/_prelude.fragment.glsl +17 -0
  137. package/src/shaders/_prelude.vertex.glsl +73 -0
  138. package/src/shaders/background.fragment.glsl +10 -0
  139. package/src/shaders/background.vertex.glsl +7 -0
  140. package/src/shaders/background_pattern.fragment.glsl +28 -0
  141. package/src/shaders/background_pattern.vertex.glsl +20 -0
  142. package/src/shaders/circle.fragment.glsl +39 -0
  143. package/src/shaders/circle.vertex.glsl +64 -0
  144. package/src/shaders/clipping_mask.fragment.glsl +3 -0
  145. package/src/shaders/clipping_mask.vertex.glsl +7 -0
  146. package/src/shaders/collision_box.fragment.glsl +21 -0
  147. package/src/shaders/collision_box.vertex.glsl +27 -0
  148. package/src/shaders/collision_circle.fragment.glsl +17 -0
  149. package/src/shaders/collision_circle.vertex.glsl +59 -0
  150. package/src/shaders/debug.fragment.glsl +9 -0
  151. package/src/shaders/debug.vertex.glsl +12 -0
  152. package/src/shaders/encode_attribute.js +17 -0
  153. package/src/shaders/fill.fragment.glsl +13 -0
  154. package/src/shaders/fill.vertex.glsl +13 -0
  155. package/src/shaders/fill_extrusion.fragment.glsl +9 -0
  156. package/src/shaders/fill_extrusion.vertex.glsl +66 -0
  157. package/src/shaders/fill_extrusion_pattern.fragment.glsl +45 -0
  158. package/src/shaders/fill_extrusion_pattern.vertex.glsl +79 -0
  159. package/src/shaders/fill_outline.fragment.glsl +17 -0
  160. package/src/shaders/fill_outline.vertex.glsl +17 -0
  161. package/src/shaders/fill_outline_pattern.fragment.glsl +43 -0
  162. package/src/shaders/fill_outline_pattern.vertex.glsl +44 -0
  163. package/src/shaders/fill_pattern.fragment.glsl +36 -0
  164. package/src/shaders/fill_pattern.vertex.glsl +39 -0
  165. package/src/shaders/heatmap.fragment.glsl +22 -0
  166. package/src/shaders/heatmap.vertex.glsl +54 -0
  167. package/src/shaders/heatmap_texture.fragment.glsl +14 -0
  168. package/src/shaders/heatmap_texture.vertex.glsl +11 -0
  169. package/src/shaders/hillshade.fragment.glsl +52 -0
  170. package/src/shaders/hillshade.vertex.glsl +11 -0
  171. package/src/shaders/hillshade_prepare.fragment.glsl +75 -0
  172. package/src/shaders/hillshade_prepare.vertex.glsl +15 -0
  173. package/src/shaders/index.js +20 -0
  174. package/src/shaders/line.fragment.glsl +30 -0
  175. package/src/shaders/line.vertex.glsl +85 -0
  176. package/src/shaders/line_gradient.fragment.glsl +34 -0
  177. package/src/shaders/line_gradient.vertex.glsl +88 -0
  178. package/src/shaders/line_pattern.fragment.glsl +74 -0
  179. package/src/shaders/line_pattern.vertex.glsl +99 -0
  180. package/src/shaders/line_sdf.fragment.glsl +45 -0
  181. package/src/shaders/line_sdf.vertex.glsl +98 -0
  182. package/src/shaders/raster.fragment.glsl +52 -0
  183. package/src/shaders/raster.vertex.glsl +21 -0
  184. package/src/shaders/shaders.js +185 -0
  185. package/src/shaders/symbol_icon.fragment.glsl +17 -0
  186. package/src/shaders/symbol_icon.vertex.glsl +94 -0
  187. package/src/shaders/symbol_sdf.fragment.glsl +52 -0
  188. package/src/shaders/symbol_sdf.vertex.glsl +115 -0
  189. package/src/shaders/symbol_text_and_icon.fragment.glsl +68 -0
  190. package/src/shaders/symbol_text_and_icon.vertex.glsl +116 -0
  191. package/src/source/canvas_source.js +238 -0
  192. package/src/source/geojson_source.js +370 -0
  193. package/src/source/geojson_worker_source.js +366 -0
  194. package/src/source/geojson_wrapper.js +94 -0
  195. package/src/source/image_source.js +307 -0
  196. package/src/source/load_tilejson.js +39 -0
  197. package/src/source/pixels_to_tile_units.js +21 -0
  198. package/src/source/query_features.js +208 -0
  199. package/src/source/raster_dem_tile_source.js +138 -0
  200. package/src/source/raster_dem_tile_worker_source.js +62 -0
  201. package/src/source/raster_tile_source.js +169 -0
  202. package/src/source/rtl_text_plugin.js +143 -0
  203. package/src/source/source.js +137 -0
  204. package/src/source/source_cache.js +953 -0
  205. package/src/source/source_state.js +159 -0
  206. package/src/source/tile.js +458 -0
  207. package/src/source/tile_bounds.js +38 -0
  208. package/src/source/tile_cache.js +212 -0
  209. package/src/source/tile_id.js +199 -0
  210. package/src/source/vector_tile_source.js +259 -0
  211. package/src/source/vector_tile_worker_source.js +216 -0
  212. package/src/source/video_source.js +203 -0
  213. package/src/source/worker.js +240 -0
  214. package/src/source/worker_source.js +107 -0
  215. package/src/source/worker_tile.js +224 -0
  216. package/src/style/create_style_layer.js +36 -0
  217. package/src/style/evaluation_parameters.js +62 -0
  218. package/src/style/format_section_override.js +56 -0
  219. package/src/style/light.js +130 -0
  220. package/src/style/load_glyph_range.js +38 -0
  221. package/src/style/load_sprite.js +67 -0
  222. package/src/style/parse_glyph_pbf.js +44 -0
  223. package/src/style/pauseable_placement.js +132 -0
  224. package/src/style/properties.js +753 -0
  225. package/src/style/query_utils.js +43 -0
  226. package/src/style/style.js +1374 -0
  227. package/src/style/style_glyph.js +17 -0
  228. package/src/style/style_image.js +137 -0
  229. package/src/style/style_layer/background_style_layer.js +21 -0
  230. package/src/style/style_layer/background_style_layer_properties.js +40 -0
  231. package/src/style/style_layer/circle_style_layer.js +98 -0
  232. package/src/style/style_layer/circle_style_layer_properties.js +63 -0
  233. package/src/style/style_layer/custom_style_layer.js +223 -0
  234. package/src/style/style_layer/fill_extrusion_style_layer.js +224 -0
  235. package/src/style/style_layer/fill_extrusion_style_layer_properties.js +50 -0
  236. package/src/style/style_layer/fill_style_layer.js +67 -0
  237. package/src/style/style_layer/fill_style_layer_properties.js +55 -0
  238. package/src/style/style_layer/heatmap_style_layer.js +73 -0
  239. package/src/style/style_layer/heatmap_style_layer_properties.js +44 -0
  240. package/src/style/style_layer/hillshade_style_layer.js +25 -0
  241. package/src/style/style_layer/hillshade_style_layer_properties.js +46 -0
  242. package/src/style/style_layer/layer_properties.js.ejs +69 -0
  243. package/src/style/style_layer/line_style_layer.js +150 -0
  244. package/src/style/style_layer/line_style_layer_properties.js +71 -0
  245. package/src/style/style_layer/raster_style_layer.js +21 -0
  246. package/src/style/style_layer/raster_style_layer_properties.js +50 -0
  247. package/src/style/style_layer/symbol_style_layer.js +190 -0
  248. package/src/style/style_layer/symbol_style_layer_properties.js +153 -0
  249. package/src/style/style_layer/typed_style_layer.js +17 -0
  250. package/src/style/style_layer.js +283 -0
  251. package/src/style/style_layer_index.js +80 -0
  252. package/src/style/validate_style.js +42 -0
  253. package/src/style/zoom_history.js +44 -0
  254. package/src/style-spec/.eslintrc +5 -0
  255. package/src/style-spec/CHANGELOG.md +468 -0
  256. package/src/style-spec/README.md +59 -0
  257. package/src/style-spec/bin/gl-style-composite +9 -0
  258. package/src/style-spec/bin/gl-style-format +22 -0
  259. package/src/style-spec/bin/gl-style-migrate +9 -0
  260. package/src/style-spec/bin/gl-style-validate +50 -0
  261. package/src/style-spec/composite.js +50 -0
  262. package/src/style-spec/declass.js +42 -0
  263. package/src/style-spec/deref.js +52 -0
  264. package/src/style-spec/diff.js +393 -0
  265. package/src/style-spec/dist/.gitkeep +0 -0
  266. package/src/style-spec/dist/index.es.js +15032 -0
  267. package/src/style-spec/dist/index.es.js.map +1 -0
  268. package/src/style-spec/dist/index.js +15058 -0
  269. package/src/style-spec/dist/index.js.map +1 -0
  270. package/src/style-spec/empty.js +29 -0
  271. package/src/style-spec/error/parsing_error.js +16 -0
  272. package/src/style-spec/error/validation_error.js +18 -0
  273. package/src/style-spec/expression/compound_expression.js +162 -0
  274. package/src/style-spec/expression/definitions/assertion.js +130 -0
  275. package/src/style-spec/expression/definitions/at.js +70 -0
  276. package/src/style-spec/expression/definitions/case.js +85 -0
  277. package/src/style-spec/expression/definitions/coalesce.js +93 -0
  278. package/src/style-spec/expression/definitions/coercion.js +133 -0
  279. package/src/style-spec/expression/definitions/collator.js +78 -0
  280. package/src/style-spec/expression/definitions/comparison.js +184 -0
  281. package/src/style-spec/expression/definitions/format.js +144 -0
  282. package/src/style-spec/expression/definitions/image.js +52 -0
  283. package/src/style-spec/expression/definitions/in.js +72 -0
  284. package/src/style-spec/expression/definitions/index.js +565 -0
  285. package/src/style-spec/expression/definitions/index_of.js +89 -0
  286. package/src/style-spec/expression/definitions/interpolate.js +267 -0
  287. package/src/style-spec/expression/definitions/length.js +61 -0
  288. package/src/style-spec/expression/definitions/let.js +72 -0
  289. package/src/style-spec/expression/definitions/literal.js +77 -0
  290. package/src/style-spec/expression/definitions/match.js +158 -0
  291. package/src/style-spec/expression/definitions/number_format.js +142 -0
  292. package/src/style-spec/expression/definitions/slice.js +86 -0
  293. package/src/style-spec/expression/definitions/step.js +120 -0
  294. package/src/style-spec/expression/definitions/var.js +46 -0
  295. package/src/style-spec/expression/definitions/within.js +342 -0
  296. package/src/style-spec/expression/evaluation_context.js +59 -0
  297. package/src/style-spec/expression/expression.js +27 -0
  298. package/src/style-spec/expression/index.js +392 -0
  299. package/src/style-spec/expression/is_constant.js +59 -0
  300. package/src/style-spec/expression/parsing_context.js +233 -0
  301. package/src/style-spec/expression/parsing_error.js +13 -0
  302. package/src/style-spec/expression/runtime_error.js +17 -0
  303. package/src/style-spec/expression/scope.js +36 -0
  304. package/src/style-spec/expression/stops.js +39 -0
  305. package/src/style-spec/expression/types/collator.js +61 -0
  306. package/src/style-spec/expression/types/formatted.js +73 -0
  307. package/src/style-spec/expression/types/resolved_image.js +29 -0
  308. package/src/style-spec/expression/types.js +126 -0
  309. package/src/style-spec/expression/values.js +123 -0
  310. package/src/style-spec/feature_filter/README.md +55 -0
  311. package/src/style-spec/feature_filter/convert.js +208 -0
  312. package/src/style-spec/feature_filter/index.js +175 -0
  313. package/src/style-spec/format.js +51 -0
  314. package/src/style-spec/function/convert.js +270 -0
  315. package/src/style-spec/function/index.js +262 -0
  316. package/src/style-spec/group_by_layout.js +75 -0
  317. package/src/style-spec/migrate/expressions.js +39 -0
  318. package/src/style-spec/migrate/v8.js +203 -0
  319. package/src/style-spec/migrate/v9.js +26 -0
  320. package/src/style-spec/migrate.js +36 -0
  321. package/src/style-spec/package.json +41 -0
  322. package/src/style-spec/read_style.js +14 -0
  323. package/src/style-spec/reference/latest.js +3 -0
  324. package/src/style-spec/reference/v8.json +5914 -0
  325. package/src/style-spec/rollup.config.js +65 -0
  326. package/src/style-spec/style-spec.js +124 -0
  327. package/src/style-spec/types.js +432 -0
  328. package/src/style-spec/util/color.js +95 -0
  329. package/src/style-spec/util/color_spaces.js +139 -0
  330. package/src/style-spec/util/deep_equal.js +28 -0
  331. package/src/style-spec/util/extend.js +10 -0
  332. package/src/style-spec/util/get_type.js +17 -0
  333. package/src/style-spec/util/interpolate.js +22 -0
  334. package/src/style-spec/util/properties.js +15 -0
  335. package/src/style-spec/util/ref_properties.js +2 -0
  336. package/src/style-spec/util/result.js +19 -0
  337. package/src/style-spec/util/unbundle_jsonlint.js +24 -0
  338. package/src/style-spec/validate/latest.js +11 -0
  339. package/src/style-spec/validate/validate.js +75 -0
  340. package/src/style-spec/validate/validate_array.js +52 -0
  341. package/src/style-spec/validate/validate_boolean.js +15 -0
  342. package/src/style-spec/validate/validate_color.js +20 -0
  343. package/src/style-spec/validate/validate_constants.js +13 -0
  344. package/src/style-spec/validate/validate_enum.js +21 -0
  345. package/src/style-spec/validate/validate_expression.js +43 -0
  346. package/src/style-spec/validate/validate_filter.js +117 -0
  347. package/src/style-spec/validate/validate_formatted.js +11 -0
  348. package/src/style-spec/validate/validate_function.js +207 -0
  349. package/src/style-spec/validate/validate_glyphs_url.js +21 -0
  350. package/src/style-spec/validate/validate_image.js +11 -0
  351. package/src/style-spec/validate/validate_layer.js +134 -0
  352. package/src/style-spec/validate/validate_layout_property.js +6 -0
  353. package/src/style-spec/validate/validate_light.js +47 -0
  354. package/src/style-spec/validate/validate_number.js +29 -0
  355. package/src/style-spec/validate/validate_object.js +61 -0
  356. package/src/style-spec/validate/validate_paint_property.js +6 -0
  357. package/src/style-spec/validate/validate_property.js +64 -0
  358. package/src/style-spec/validate/validate_source.js +111 -0
  359. package/src/style-spec/validate/validate_string.js +15 -0
  360. package/src/style-spec/validate_mapbox_api_supported.js +171 -0
  361. package/src/style-spec/validate_style.js +39 -0
  362. package/src/style-spec/validate_style.min.js +78 -0
  363. package/src/style-spec/visit.js +77 -0
  364. package/src/symbol/anchor.js +26 -0
  365. package/src/symbol/check_max_angle.js +81 -0
  366. package/src/symbol/clip_line.js +71 -0
  367. package/src/symbol/collision_feature.js +109 -0
  368. package/src/symbol/collision_index.js +373 -0
  369. package/src/symbol/cross_tile_symbol_index.js +301 -0
  370. package/src/symbol/get_anchors.js +167 -0
  371. package/src/symbol/grid_index.js +335 -0
  372. package/src/symbol/mergelines.js +82 -0
  373. package/src/symbol/one_em.js +4 -0
  374. package/src/symbol/opacity_state.js +27 -0
  375. package/src/symbol/path_interpolator.js +61 -0
  376. package/src/symbol/placement.js +1124 -0
  377. package/src/symbol/projection.js +451 -0
  378. package/src/symbol/quads.js +334 -0
  379. package/src/symbol/shaping.js +816 -0
  380. package/src/symbol/symbol_layout.js +796 -0
  381. package/src/symbol/symbol_size.js +113 -0
  382. package/src/symbol/transform_text.js +29 -0
  383. package/src/types/callback.js +17 -0
  384. package/src/types/cancelable.js +3 -0
  385. package/src/types/tilejson.js +17 -0
  386. package/src/types/transferable.js +3 -0
  387. package/src/types/window.js +172 -0
  388. package/src/ui/anchor.js +32 -0
  389. package/src/ui/camera.js +1277 -0
  390. package/src/ui/control/attribution_control.js +212 -0
  391. package/src/ui/control/fullscreen_control.js +147 -0
  392. package/src/ui/control/geolocate_control.js +707 -0
  393. package/src/ui/control/logo_control.js +92 -0
  394. package/src/ui/control/navigation_control.js +257 -0
  395. package/src/ui/control/scale_control.js +142 -0
  396. package/src/ui/default_locale.js +22 -0
  397. package/src/ui/events.js +1301 -0
  398. package/src/ui/handler/box_zoom.js +170 -0
  399. package/src/ui/handler/click_zoom.js +52 -0
  400. package/src/ui/handler/handler_util.js +12 -0
  401. package/src/ui/handler/keyboard.js +208 -0
  402. package/src/ui/handler/map_event.js +156 -0
  403. package/src/ui/handler/mouse.js +171 -0
  404. package/src/ui/handler/scroll_zoom.js +350 -0
  405. package/src/ui/handler/shim/dblclick_zoom.js +62 -0
  406. package/src/ui/handler/shim/drag_pan.js +88 -0
  407. package/src/ui/handler/shim/drag_rotate.js +67 -0
  408. package/src/ui/handler/shim/touch_zoom_rotate.js +108 -0
  409. package/src/ui/handler/tap_drag_zoom.js +103 -0
  410. package/src/ui/handler/tap_recognizer.js +133 -0
  411. package/src/ui/handler/tap_zoom.js +93 -0
  412. package/src/ui/handler/touch_pan.js +101 -0
  413. package/src/ui/handler/touch_zoom_rotate.js +305 -0
  414. package/src/ui/handler_inertia.js +158 -0
  415. package/src/ui/handler_manager.js +531 -0
  416. package/src/ui/hash.js +148 -0
  417. package/src/ui/map.js +2874 -0
  418. package/src/ui/marker.js +672 -0
  419. package/src/ui/popup.js +640 -0
  420. package/src/util/actor.js +212 -0
  421. package/src/util/ajax.js +388 -0
  422. package/src/util/browser/web_worker.js +10 -0
  423. package/src/util/browser/window.js +6 -0
  424. package/src/util/browser.js +70 -0
  425. package/src/util/classify_rings.js +52 -0
  426. package/src/util/color_ramp.js +61 -0
  427. package/src/util/config.js +30 -0
  428. package/src/util/debug.js +28 -0
  429. package/src/util/dictionary_coder.js +30 -0
  430. package/src/util/dispatcher.js +70 -0
  431. package/src/util/dom.js +142 -0
  432. package/src/util/evented.js +174 -0
  433. package/src/util/find_pole_of_inaccessibility.js +129 -0
  434. package/src/util/global_worker_pool.js +35 -0
  435. package/src/util/image.js +142 -0
  436. package/src/util/intersection_tests.js +208 -0
  437. package/src/util/is_char_in_unicode_block.js +311 -0
  438. package/src/util/mapbox.js +491 -0
  439. package/src/util/offscreen_canvas_supported.js +14 -0
  440. package/src/util/performance.js +112 -0
  441. package/src/util/primitives.js +145 -0
  442. package/src/util/resolve_tokens.js +16 -0
  443. package/src/util/script_detection.js +328 -0
  444. package/src/util/sku_token.js +42 -0
  445. package/src/util/smart_wrap.js +55 -0
  446. package/src/util/struct_array.js +243 -0
  447. package/src/util/struct_array.js.ejs +112 -0
  448. package/src/util/struct_array_layout.js.ejs +98 -0
  449. package/src/util/task_queue.js +68 -0
  450. package/src/util/throttle.js +27 -0
  451. package/src/util/throttled_invoker.js +46 -0
  452. package/src/util/tile_request_cache.js +172 -0
  453. package/src/util/util.js +524 -0
  454. package/src/util/vectortile_to_geojson.js +50 -0
  455. package/src/util/verticalize_punctuation.js +114 -0
  456. package/src/util/web_worker.js +91 -0
  457. package/src/util/web_worker_transfer.js +266 -0
  458. package/src/util/webp_supported.js +69 -0
  459. package/src/util/window.js +102 -0
  460. package/src/util/worker_pool.js +57 -0
@@ -0,0 +1,1135 @@
1
+ // This file is generated. Edit build/generate-struct-arrays.js, then run `yarn run codegen`.
2
+ // @flow
3
+
4
+ import assert from 'assert';
5
+ import {Struct, StructArray} from '../util/struct_array';
6
+ import {register} from '../util/web_worker_transfer';
7
+ import Point from '@mapbox/point-geometry';
8
+
9
+ /**
10
+ * Implementation of the StructArray layout:
11
+ * [0]: Int16[2]
12
+ *
13
+ * @private
14
+ */
15
+ class StructArrayLayout2i4 extends StructArray {
16
+ uint8: Uint8Array;
17
+ int16: Int16Array;
18
+
19
+ _refreshViews() {
20
+ this.uint8 = new Uint8Array(this.arrayBuffer);
21
+ this.int16 = new Int16Array(this.arrayBuffer);
22
+ }
23
+
24
+ emplaceBack(v0: number, v1: number) {
25
+ const i = this.length;
26
+ this.resize(i + 1);
27
+ return this.emplace(i, v0, v1);
28
+ }
29
+
30
+ emplace(i: number, v0: number, v1: number) {
31
+ const o2 = i * 2;
32
+ this.int16[o2 + 0] = v0;
33
+ this.int16[o2 + 1] = v1;
34
+ return i;
35
+ }
36
+ }
37
+
38
+ StructArrayLayout2i4.prototype.bytesPerElement = 4;
39
+ register('StructArrayLayout2i4', StructArrayLayout2i4);
40
+
41
+ /**
42
+ * Implementation of the StructArray layout:
43
+ * [0]: Int16[4]
44
+ *
45
+ * @private
46
+ */
47
+ class StructArrayLayout4i8 extends StructArray {
48
+ uint8: Uint8Array;
49
+ int16: Int16Array;
50
+
51
+ _refreshViews() {
52
+ this.uint8 = new Uint8Array(this.arrayBuffer);
53
+ this.int16 = new Int16Array(this.arrayBuffer);
54
+ }
55
+
56
+ emplaceBack(v0: number, v1: number, v2: number, v3: number) {
57
+ const i = this.length;
58
+ this.resize(i + 1);
59
+ return this.emplace(i, v0, v1, v2, v3);
60
+ }
61
+
62
+ emplace(i: number, v0: number, v1: number, v2: number, v3: number) {
63
+ const o2 = i * 4;
64
+ this.int16[o2 + 0] = v0;
65
+ this.int16[o2 + 1] = v1;
66
+ this.int16[o2 + 2] = v2;
67
+ this.int16[o2 + 3] = v3;
68
+ return i;
69
+ }
70
+ }
71
+
72
+ StructArrayLayout4i8.prototype.bytesPerElement = 8;
73
+ register('StructArrayLayout4i8', StructArrayLayout4i8);
74
+
75
+ /**
76
+ * Implementation of the StructArray layout:
77
+ * [0]: Int16[2]
78
+ * [4]: Int16[4]
79
+ *
80
+ * @private
81
+ */
82
+ class StructArrayLayout2i4i12 extends StructArray {
83
+ uint8: Uint8Array;
84
+ int16: Int16Array;
85
+
86
+ _refreshViews() {
87
+ this.uint8 = new Uint8Array(this.arrayBuffer);
88
+ this.int16 = new Int16Array(this.arrayBuffer);
89
+ }
90
+
91
+ emplaceBack(v0: number, v1: number, v2: number, v3: number, v4: number, v5: number) {
92
+ const i = this.length;
93
+ this.resize(i + 1);
94
+ return this.emplace(i, v0, v1, v2, v3, v4, v5);
95
+ }
96
+
97
+ emplace(i: number, v0: number, v1: number, v2: number, v3: number, v4: number, v5: number) {
98
+ const o2 = i * 6;
99
+ this.int16[o2 + 0] = v0;
100
+ this.int16[o2 + 1] = v1;
101
+ this.int16[o2 + 2] = v2;
102
+ this.int16[o2 + 3] = v3;
103
+ this.int16[o2 + 4] = v4;
104
+ this.int16[o2 + 5] = v5;
105
+ return i;
106
+ }
107
+ }
108
+
109
+ StructArrayLayout2i4i12.prototype.bytesPerElement = 12;
110
+ register('StructArrayLayout2i4i12', StructArrayLayout2i4i12);
111
+
112
+ /**
113
+ * Implementation of the StructArray layout:
114
+ * [0]: Int16[2]
115
+ * [4]: Uint8[4]
116
+ *
117
+ * @private
118
+ */
119
+ class StructArrayLayout2i4ub8 extends StructArray {
120
+ uint8: Uint8Array;
121
+ int16: Int16Array;
122
+
123
+ _refreshViews() {
124
+ this.uint8 = new Uint8Array(this.arrayBuffer);
125
+ this.int16 = new Int16Array(this.arrayBuffer);
126
+ }
127
+
128
+ emplaceBack(v0: number, v1: number, v2: number, v3: number, v4: number, v5: number) {
129
+ const i = this.length;
130
+ this.resize(i + 1);
131
+ return this.emplace(i, v0, v1, v2, v3, v4, v5);
132
+ }
133
+
134
+ emplace(i: number, v0: number, v1: number, v2: number, v3: number, v4: number, v5: number) {
135
+ const o2 = i * 4;
136
+ const o1 = i * 8;
137
+ this.int16[o2 + 0] = v0;
138
+ this.int16[o2 + 1] = v1;
139
+ this.uint8[o1 + 4] = v2;
140
+ this.uint8[o1 + 5] = v3;
141
+ this.uint8[o1 + 6] = v4;
142
+ this.uint8[o1 + 7] = v5;
143
+ return i;
144
+ }
145
+ }
146
+
147
+ StructArrayLayout2i4ub8.prototype.bytesPerElement = 8;
148
+ register('StructArrayLayout2i4ub8', StructArrayLayout2i4ub8);
149
+
150
+ /**
151
+ * Implementation of the StructArray layout:
152
+ * [0]: Float32[2]
153
+ *
154
+ * @private
155
+ */
156
+ class StructArrayLayout2f8 extends StructArray {
157
+ uint8: Uint8Array;
158
+ float32: Float32Array;
159
+
160
+ _refreshViews() {
161
+ this.uint8 = new Uint8Array(this.arrayBuffer);
162
+ this.float32 = new Float32Array(this.arrayBuffer);
163
+ }
164
+
165
+ emplaceBack(v0: number, v1: number) {
166
+ const i = this.length;
167
+ this.resize(i + 1);
168
+ return this.emplace(i, v0, v1);
169
+ }
170
+
171
+ emplace(i: number, v0: number, v1: number) {
172
+ const o4 = i * 2;
173
+ this.float32[o4 + 0] = v0;
174
+ this.float32[o4 + 1] = v1;
175
+ return i;
176
+ }
177
+ }
178
+
179
+ StructArrayLayout2f8.prototype.bytesPerElement = 8;
180
+ register('StructArrayLayout2f8', StructArrayLayout2f8);
181
+
182
+ /**
183
+ * Implementation of the StructArray layout:
184
+ * [0]: Uint16[10]
185
+ *
186
+ * @private
187
+ */
188
+ class StructArrayLayout10ui20 extends StructArray {
189
+ uint8: Uint8Array;
190
+ uint16: Uint16Array;
191
+
192
+ _refreshViews() {
193
+ this.uint8 = new Uint8Array(this.arrayBuffer);
194
+ this.uint16 = new Uint16Array(this.arrayBuffer);
195
+ }
196
+
197
+ emplaceBack(v0: number, v1: number, v2: number, v3: number, v4: number, v5: number, v6: number, v7: number, v8: number, v9: number) {
198
+ const i = this.length;
199
+ this.resize(i + 1);
200
+ return this.emplace(i, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9);
201
+ }
202
+
203
+ emplace(i: number, v0: number, v1: number, v2: number, v3: number, v4: number, v5: number, v6: number, v7: number, v8: number, v9: number) {
204
+ const o2 = i * 10;
205
+ this.uint16[o2 + 0] = v0;
206
+ this.uint16[o2 + 1] = v1;
207
+ this.uint16[o2 + 2] = v2;
208
+ this.uint16[o2 + 3] = v3;
209
+ this.uint16[o2 + 4] = v4;
210
+ this.uint16[o2 + 5] = v5;
211
+ this.uint16[o2 + 6] = v6;
212
+ this.uint16[o2 + 7] = v7;
213
+ this.uint16[o2 + 8] = v8;
214
+ this.uint16[o2 + 9] = v9;
215
+ return i;
216
+ }
217
+ }
218
+
219
+ StructArrayLayout10ui20.prototype.bytesPerElement = 20;
220
+ register('StructArrayLayout10ui20', StructArrayLayout10ui20);
221
+
222
+ /**
223
+ * Implementation of the StructArray layout:
224
+ * [0]: Int16[4]
225
+ * [8]: Uint16[4]
226
+ * [16]: Int16[4]
227
+ *
228
+ * @private
229
+ */
230
+ class StructArrayLayout4i4ui4i24 extends StructArray {
231
+ uint8: Uint8Array;
232
+ int16: Int16Array;
233
+ uint16: Uint16Array;
234
+
235
+ _refreshViews() {
236
+ this.uint8 = new Uint8Array(this.arrayBuffer);
237
+ this.int16 = new Int16Array(this.arrayBuffer);
238
+ this.uint16 = new Uint16Array(this.arrayBuffer);
239
+ }
240
+
241
+ emplaceBack(v0: number, v1: number, v2: number, v3: number, v4: number, v5: number, v6: number, v7: number, v8: number, v9: number, v10: number, v11: number) {
242
+ const i = this.length;
243
+ this.resize(i + 1);
244
+ return this.emplace(i, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11);
245
+ }
246
+
247
+ emplace(i: number, v0: number, v1: number, v2: number, v3: number, v4: number, v5: number, v6: number, v7: number, v8: number, v9: number, v10: number, v11: number) {
248
+ const o2 = i * 12;
249
+ this.int16[o2 + 0] = v0;
250
+ this.int16[o2 + 1] = v1;
251
+ this.int16[o2 + 2] = v2;
252
+ this.int16[o2 + 3] = v3;
253
+ this.uint16[o2 + 4] = v4;
254
+ this.uint16[o2 + 5] = v5;
255
+ this.uint16[o2 + 6] = v6;
256
+ this.uint16[o2 + 7] = v7;
257
+ this.int16[o2 + 8] = v8;
258
+ this.int16[o2 + 9] = v9;
259
+ this.int16[o2 + 10] = v10;
260
+ this.int16[o2 + 11] = v11;
261
+ return i;
262
+ }
263
+ }
264
+
265
+ StructArrayLayout4i4ui4i24.prototype.bytesPerElement = 24;
266
+ register('StructArrayLayout4i4ui4i24', StructArrayLayout4i4ui4i24);
267
+
268
+ /**
269
+ * Implementation of the StructArray layout:
270
+ * [0]: Float32[3]
271
+ *
272
+ * @private
273
+ */
274
+ class StructArrayLayout3f12 extends StructArray {
275
+ uint8: Uint8Array;
276
+ float32: Float32Array;
277
+
278
+ _refreshViews() {
279
+ this.uint8 = new Uint8Array(this.arrayBuffer);
280
+ this.float32 = new Float32Array(this.arrayBuffer);
281
+ }
282
+
283
+ emplaceBack(v0: number, v1: number, v2: number) {
284
+ const i = this.length;
285
+ this.resize(i + 1);
286
+ return this.emplace(i, v0, v1, v2);
287
+ }
288
+
289
+ emplace(i: number, v0: number, v1: number, v2: number) {
290
+ const o4 = i * 3;
291
+ this.float32[o4 + 0] = v0;
292
+ this.float32[o4 + 1] = v1;
293
+ this.float32[o4 + 2] = v2;
294
+ return i;
295
+ }
296
+ }
297
+
298
+ StructArrayLayout3f12.prototype.bytesPerElement = 12;
299
+ register('StructArrayLayout3f12', StructArrayLayout3f12);
300
+
301
+ /**
302
+ * Implementation of the StructArray layout:
303
+ * [0]: Uint32[1]
304
+ *
305
+ * @private
306
+ */
307
+ class StructArrayLayout1ul4 extends StructArray {
308
+ uint8: Uint8Array;
309
+ uint32: Uint32Array;
310
+
311
+ _refreshViews() {
312
+ this.uint8 = new Uint8Array(this.arrayBuffer);
313
+ this.uint32 = new Uint32Array(this.arrayBuffer);
314
+ }
315
+
316
+ emplaceBack(v0: number) {
317
+ const i = this.length;
318
+ this.resize(i + 1);
319
+ return this.emplace(i, v0);
320
+ }
321
+
322
+ emplace(i: number, v0: number) {
323
+ const o4 = i * 1;
324
+ this.uint32[o4 + 0] = v0;
325
+ return i;
326
+ }
327
+ }
328
+
329
+ StructArrayLayout1ul4.prototype.bytesPerElement = 4;
330
+ register('StructArrayLayout1ul4', StructArrayLayout1ul4);
331
+
332
+ /**
333
+ * Implementation of the StructArray layout:
334
+ * [0]: Int16[6]
335
+ * [12]: Uint32[1]
336
+ * [16]: Uint16[2]
337
+ *
338
+ * @private
339
+ */
340
+ class StructArrayLayout6i1ul2ui20 extends StructArray {
341
+ uint8: Uint8Array;
342
+ int16: Int16Array;
343
+ uint32: Uint32Array;
344
+ uint16: Uint16Array;
345
+
346
+ _refreshViews() {
347
+ this.uint8 = new Uint8Array(this.arrayBuffer);
348
+ this.int16 = new Int16Array(this.arrayBuffer);
349
+ this.uint32 = new Uint32Array(this.arrayBuffer);
350
+ this.uint16 = new Uint16Array(this.arrayBuffer);
351
+ }
352
+
353
+ emplaceBack(v0: number, v1: number, v2: number, v3: number, v4: number, v5: number, v6: number, v7: number, v8: number) {
354
+ const i = this.length;
355
+ this.resize(i + 1);
356
+ return this.emplace(i, v0, v1, v2, v3, v4, v5, v6, v7, v8);
357
+ }
358
+
359
+ emplace(i: number, v0: number, v1: number, v2: number, v3: number, v4: number, v5: number, v6: number, v7: number, v8: number) {
360
+ const o2 = i * 10;
361
+ const o4 = i * 5;
362
+ this.int16[o2 + 0] = v0;
363
+ this.int16[o2 + 1] = v1;
364
+ this.int16[o2 + 2] = v2;
365
+ this.int16[o2 + 3] = v3;
366
+ this.int16[o2 + 4] = v4;
367
+ this.int16[o2 + 5] = v5;
368
+ this.uint32[o4 + 3] = v6;
369
+ this.uint16[o2 + 8] = v7;
370
+ this.uint16[o2 + 9] = v8;
371
+ return i;
372
+ }
373
+ }
374
+
375
+ StructArrayLayout6i1ul2ui20.prototype.bytesPerElement = 20;
376
+ register('StructArrayLayout6i1ul2ui20', StructArrayLayout6i1ul2ui20);
377
+
378
+ /**
379
+ * Implementation of the StructArray layout:
380
+ * [0]: Int16[2]
381
+ * [4]: Int16[2]
382
+ * [8]: Int16[2]
383
+ *
384
+ * @private
385
+ */
386
+ class StructArrayLayout2i2i2i12 extends StructArray {
387
+ uint8: Uint8Array;
388
+ int16: Int16Array;
389
+
390
+ _refreshViews() {
391
+ this.uint8 = new Uint8Array(this.arrayBuffer);
392
+ this.int16 = new Int16Array(this.arrayBuffer);
393
+ }
394
+
395
+ emplaceBack(v0: number, v1: number, v2: number, v3: number, v4: number, v5: number) {
396
+ const i = this.length;
397
+ this.resize(i + 1);
398
+ return this.emplace(i, v0, v1, v2, v3, v4, v5);
399
+ }
400
+
401
+ emplace(i: number, v0: number, v1: number, v2: number, v3: number, v4: number, v5: number) {
402
+ const o2 = i * 6;
403
+ this.int16[o2 + 0] = v0;
404
+ this.int16[o2 + 1] = v1;
405
+ this.int16[o2 + 2] = v2;
406
+ this.int16[o2 + 3] = v3;
407
+ this.int16[o2 + 4] = v4;
408
+ this.int16[o2 + 5] = v5;
409
+ return i;
410
+ }
411
+ }
412
+
413
+ StructArrayLayout2i2i2i12.prototype.bytesPerElement = 12;
414
+ register('StructArrayLayout2i2i2i12', StructArrayLayout2i2i2i12);
415
+
416
+ /**
417
+ * Implementation of the StructArray layout:
418
+ * [0]: Float32[2]
419
+ * [8]: Float32[1]
420
+ * [12]: Int16[2]
421
+ *
422
+ * @private
423
+ */
424
+ class StructArrayLayout2f1f2i16 extends StructArray {
425
+ uint8: Uint8Array;
426
+ float32: Float32Array;
427
+ int16: Int16Array;
428
+
429
+ _refreshViews() {
430
+ this.uint8 = new Uint8Array(this.arrayBuffer);
431
+ this.float32 = new Float32Array(this.arrayBuffer);
432
+ this.int16 = new Int16Array(this.arrayBuffer);
433
+ }
434
+
435
+ emplaceBack(v0: number, v1: number, v2: number, v3: number, v4: number) {
436
+ const i = this.length;
437
+ this.resize(i + 1);
438
+ return this.emplace(i, v0, v1, v2, v3, v4);
439
+ }
440
+
441
+ emplace(i: number, v0: number, v1: number, v2: number, v3: number, v4: number) {
442
+ const o4 = i * 4;
443
+ const o2 = i * 8;
444
+ this.float32[o4 + 0] = v0;
445
+ this.float32[o4 + 1] = v1;
446
+ this.float32[o4 + 2] = v2;
447
+ this.int16[o2 + 6] = v3;
448
+ this.int16[o2 + 7] = v4;
449
+ return i;
450
+ }
451
+ }
452
+
453
+ StructArrayLayout2f1f2i16.prototype.bytesPerElement = 16;
454
+ register('StructArrayLayout2f1f2i16', StructArrayLayout2f1f2i16);
455
+
456
+ /**
457
+ * Implementation of the StructArray layout:
458
+ * [0]: Uint8[2]
459
+ * [4]: Float32[2]
460
+ *
461
+ * @private
462
+ */
463
+ class StructArrayLayout2ub2f12 extends StructArray {
464
+ uint8: Uint8Array;
465
+ float32: Float32Array;
466
+
467
+ _refreshViews() {
468
+ this.uint8 = new Uint8Array(this.arrayBuffer);
469
+ this.float32 = new Float32Array(this.arrayBuffer);
470
+ }
471
+
472
+ emplaceBack(v0: number, v1: number, v2: number, v3: number) {
473
+ const i = this.length;
474
+ this.resize(i + 1);
475
+ return this.emplace(i, v0, v1, v2, v3);
476
+ }
477
+
478
+ emplace(i: number, v0: number, v1: number, v2: number, v3: number) {
479
+ const o1 = i * 12;
480
+ const o4 = i * 3;
481
+ this.uint8[o1 + 0] = v0;
482
+ this.uint8[o1 + 1] = v1;
483
+ this.float32[o4 + 1] = v2;
484
+ this.float32[o4 + 2] = v3;
485
+ return i;
486
+ }
487
+ }
488
+
489
+ StructArrayLayout2ub2f12.prototype.bytesPerElement = 12;
490
+ register('StructArrayLayout2ub2f12', StructArrayLayout2ub2f12);
491
+
492
+ /**
493
+ * Implementation of the StructArray layout:
494
+ * [0]: Uint16[3]
495
+ *
496
+ * @private
497
+ */
498
+ class StructArrayLayout3ui6 extends StructArray {
499
+ uint8: Uint8Array;
500
+ uint16: Uint16Array;
501
+
502
+ _refreshViews() {
503
+ this.uint8 = new Uint8Array(this.arrayBuffer);
504
+ this.uint16 = new Uint16Array(this.arrayBuffer);
505
+ }
506
+
507
+ emplaceBack(v0: number, v1: number, v2: number) {
508
+ const i = this.length;
509
+ this.resize(i + 1);
510
+ return this.emplace(i, v0, v1, v2);
511
+ }
512
+
513
+ emplace(i: number, v0: number, v1: number, v2: number) {
514
+ const o2 = i * 3;
515
+ this.uint16[o2 + 0] = v0;
516
+ this.uint16[o2 + 1] = v1;
517
+ this.uint16[o2 + 2] = v2;
518
+ return i;
519
+ }
520
+ }
521
+
522
+ StructArrayLayout3ui6.prototype.bytesPerElement = 6;
523
+ register('StructArrayLayout3ui6', StructArrayLayout3ui6);
524
+
525
+ /**
526
+ * Implementation of the StructArray layout:
527
+ * [0]: Int16[2]
528
+ * [4]: Uint16[2]
529
+ * [8]: Uint32[3]
530
+ * [20]: Uint16[3]
531
+ * [28]: Float32[2]
532
+ * [36]: Uint8[3]
533
+ * [40]: Uint32[1]
534
+ * [44]: Int16[1]
535
+ *
536
+ * @private
537
+ */
538
+ class StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48 extends StructArray {
539
+ uint8: Uint8Array;
540
+ int16: Int16Array;
541
+ uint16: Uint16Array;
542
+ uint32: Uint32Array;
543
+ float32: Float32Array;
544
+
545
+ _refreshViews() {
546
+ this.uint8 = new Uint8Array(this.arrayBuffer);
547
+ this.int16 = new Int16Array(this.arrayBuffer);
548
+ this.uint16 = new Uint16Array(this.arrayBuffer);
549
+ this.uint32 = new Uint32Array(this.arrayBuffer);
550
+ this.float32 = new Float32Array(this.arrayBuffer);
551
+ }
552
+
553
+ emplaceBack(v0: number, v1: number, v2: number, v3: number, v4: number, v5: number, v6: number, v7: number, v8: number, v9: number, v10: number, v11: number, v12: number, v13: number, v14: number, v15: number, v16: number) {
554
+ const i = this.length;
555
+ this.resize(i + 1);
556
+ return this.emplace(i, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16);
557
+ }
558
+
559
+ emplace(i: number, v0: number, v1: number, v2: number, v3: number, v4: number, v5: number, v6: number, v7: number, v8: number, v9: number, v10: number, v11: number, v12: number, v13: number, v14: number, v15: number, v16: number) {
560
+ const o2 = i * 24;
561
+ const o4 = i * 12;
562
+ const o1 = i * 48;
563
+ this.int16[o2 + 0] = v0;
564
+ this.int16[o2 + 1] = v1;
565
+ this.uint16[o2 + 2] = v2;
566
+ this.uint16[o2 + 3] = v3;
567
+ this.uint32[o4 + 2] = v4;
568
+ this.uint32[o4 + 3] = v5;
569
+ this.uint32[o4 + 4] = v6;
570
+ this.uint16[o2 + 10] = v7;
571
+ this.uint16[o2 + 11] = v8;
572
+ this.uint16[o2 + 12] = v9;
573
+ this.float32[o4 + 7] = v10;
574
+ this.float32[o4 + 8] = v11;
575
+ this.uint8[o1 + 36] = v12;
576
+ this.uint8[o1 + 37] = v13;
577
+ this.uint8[o1 + 38] = v14;
578
+ this.uint32[o4 + 10] = v15;
579
+ this.int16[o2 + 22] = v16;
580
+ return i;
581
+ }
582
+ }
583
+
584
+ StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48.prototype.bytesPerElement = 48;
585
+ register('StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48', StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48);
586
+
587
+ /**
588
+ * Implementation of the StructArray layout:
589
+ * [0]: Int16[8]
590
+ * [16]: Uint16[15]
591
+ * [48]: Uint32[1]
592
+ * [52]: Float32[4]
593
+ *
594
+ * @private
595
+ */
596
+ class StructArrayLayout8i15ui1ul4f68 extends StructArray {
597
+ uint8: Uint8Array;
598
+ int16: Int16Array;
599
+ uint16: Uint16Array;
600
+ uint32: Uint32Array;
601
+ float32: Float32Array;
602
+
603
+ _refreshViews() {
604
+ this.uint8 = new Uint8Array(this.arrayBuffer);
605
+ this.int16 = new Int16Array(this.arrayBuffer);
606
+ this.uint16 = new Uint16Array(this.arrayBuffer);
607
+ this.uint32 = new Uint32Array(this.arrayBuffer);
608
+ this.float32 = new Float32Array(this.arrayBuffer);
609
+ }
610
+
611
+ emplaceBack(v0: number, v1: number, v2: number, v3: number, v4: number, v5: number, v6: number, v7: number, v8: number, v9: number, v10: number, v11: number, v12: number, v13: number, v14: number, v15: number, v16: number, v17: number, v18: number, v19: number, v20: number, v21: number, v22: number, v23: number, v24: number, v25: number, v26: number, v27: number) {
612
+ const i = this.length;
613
+ this.resize(i + 1);
614
+ return this.emplace(i, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27);
615
+ }
616
+
617
+ emplace(i: number, v0: number, v1: number, v2: number, v3: number, v4: number, v5: number, v6: number, v7: number, v8: number, v9: number, v10: number, v11: number, v12: number, v13: number, v14: number, v15: number, v16: number, v17: number, v18: number, v19: number, v20: number, v21: number, v22: number, v23: number, v24: number, v25: number, v26: number, v27: number) {
618
+ const o2 = i * 34;
619
+ const o4 = i * 17;
620
+ this.int16[o2 + 0] = v0;
621
+ this.int16[o2 + 1] = v1;
622
+ this.int16[o2 + 2] = v2;
623
+ this.int16[o2 + 3] = v3;
624
+ this.int16[o2 + 4] = v4;
625
+ this.int16[o2 + 5] = v5;
626
+ this.int16[o2 + 6] = v6;
627
+ this.int16[o2 + 7] = v7;
628
+ this.uint16[o2 + 8] = v8;
629
+ this.uint16[o2 + 9] = v9;
630
+ this.uint16[o2 + 10] = v10;
631
+ this.uint16[o2 + 11] = v11;
632
+ this.uint16[o2 + 12] = v12;
633
+ this.uint16[o2 + 13] = v13;
634
+ this.uint16[o2 + 14] = v14;
635
+ this.uint16[o2 + 15] = v15;
636
+ this.uint16[o2 + 16] = v16;
637
+ this.uint16[o2 + 17] = v17;
638
+ this.uint16[o2 + 18] = v18;
639
+ this.uint16[o2 + 19] = v19;
640
+ this.uint16[o2 + 20] = v20;
641
+ this.uint16[o2 + 21] = v21;
642
+ this.uint16[o2 + 22] = v22;
643
+ this.uint32[o4 + 12] = v23;
644
+ this.float32[o4 + 13] = v24;
645
+ this.float32[o4 + 14] = v25;
646
+ this.float32[o4 + 15] = v26;
647
+ this.float32[o4 + 16] = v27;
648
+ return i;
649
+ }
650
+ }
651
+
652
+ StructArrayLayout8i15ui1ul4f68.prototype.bytesPerElement = 68;
653
+ register('StructArrayLayout8i15ui1ul4f68', StructArrayLayout8i15ui1ul4f68);
654
+
655
+ /**
656
+ * Implementation of the StructArray layout:
657
+ * [0]: Float32[1]
658
+ *
659
+ * @private
660
+ */
661
+ class StructArrayLayout1f4 extends StructArray {
662
+ uint8: Uint8Array;
663
+ float32: Float32Array;
664
+
665
+ _refreshViews() {
666
+ this.uint8 = new Uint8Array(this.arrayBuffer);
667
+ this.float32 = new Float32Array(this.arrayBuffer);
668
+ }
669
+
670
+ emplaceBack(v0: number) {
671
+ const i = this.length;
672
+ this.resize(i + 1);
673
+ return this.emplace(i, v0);
674
+ }
675
+
676
+ emplace(i: number, v0: number) {
677
+ const o4 = i * 1;
678
+ this.float32[o4 + 0] = v0;
679
+ return i;
680
+ }
681
+ }
682
+
683
+ StructArrayLayout1f4.prototype.bytesPerElement = 4;
684
+ register('StructArrayLayout1f4', StructArrayLayout1f4);
685
+
686
+ /**
687
+ * Implementation of the StructArray layout:
688
+ * [0]: Int16[3]
689
+ *
690
+ * @private
691
+ */
692
+ class StructArrayLayout3i6 extends StructArray {
693
+ uint8: Uint8Array;
694
+ int16: Int16Array;
695
+
696
+ _refreshViews() {
697
+ this.uint8 = new Uint8Array(this.arrayBuffer);
698
+ this.int16 = new Int16Array(this.arrayBuffer);
699
+ }
700
+
701
+ emplaceBack(v0: number, v1: number, v2: number) {
702
+ const i = this.length;
703
+ this.resize(i + 1);
704
+ return this.emplace(i, v0, v1, v2);
705
+ }
706
+
707
+ emplace(i: number, v0: number, v1: number, v2: number) {
708
+ const o2 = i * 3;
709
+ this.int16[o2 + 0] = v0;
710
+ this.int16[o2 + 1] = v1;
711
+ this.int16[o2 + 2] = v2;
712
+ return i;
713
+ }
714
+ }
715
+
716
+ StructArrayLayout3i6.prototype.bytesPerElement = 6;
717
+ register('StructArrayLayout3i6', StructArrayLayout3i6);
718
+
719
+ /**
720
+ * Implementation of the StructArray layout:
721
+ * [0]: Uint32[1]
722
+ * [4]: Uint16[2]
723
+ *
724
+ * @private
725
+ */
726
+ class StructArrayLayout1ul2ui8 extends StructArray {
727
+ uint8: Uint8Array;
728
+ uint32: Uint32Array;
729
+ uint16: Uint16Array;
730
+
731
+ _refreshViews() {
732
+ this.uint8 = new Uint8Array(this.arrayBuffer);
733
+ this.uint32 = new Uint32Array(this.arrayBuffer);
734
+ this.uint16 = new Uint16Array(this.arrayBuffer);
735
+ }
736
+
737
+ emplaceBack(v0: number, v1: number, v2: number) {
738
+ const i = this.length;
739
+ this.resize(i + 1);
740
+ return this.emplace(i, v0, v1, v2);
741
+ }
742
+
743
+ emplace(i: number, v0: number, v1: number, v2: number) {
744
+ const o4 = i * 2;
745
+ const o2 = i * 4;
746
+ this.uint32[o4 + 0] = v0;
747
+ this.uint16[o2 + 2] = v1;
748
+ this.uint16[o2 + 3] = v2;
749
+ return i;
750
+ }
751
+ }
752
+
753
+ StructArrayLayout1ul2ui8.prototype.bytesPerElement = 8;
754
+ register('StructArrayLayout1ul2ui8', StructArrayLayout1ul2ui8);
755
+
756
+ /**
757
+ * Implementation of the StructArray layout:
758
+ * [0]: Uint16[2]
759
+ *
760
+ * @private
761
+ */
762
+ class StructArrayLayout2ui4 extends StructArray {
763
+ uint8: Uint8Array;
764
+ uint16: Uint16Array;
765
+
766
+ _refreshViews() {
767
+ this.uint8 = new Uint8Array(this.arrayBuffer);
768
+ this.uint16 = new Uint16Array(this.arrayBuffer);
769
+ }
770
+
771
+ emplaceBack(v0: number, v1: number) {
772
+ const i = this.length;
773
+ this.resize(i + 1);
774
+ return this.emplace(i, v0, v1);
775
+ }
776
+
777
+ emplace(i: number, v0: number, v1: number) {
778
+ const o2 = i * 2;
779
+ this.uint16[o2 + 0] = v0;
780
+ this.uint16[o2 + 1] = v1;
781
+ return i;
782
+ }
783
+ }
784
+
785
+ StructArrayLayout2ui4.prototype.bytesPerElement = 4;
786
+ register('StructArrayLayout2ui4', StructArrayLayout2ui4);
787
+
788
+ /**
789
+ * Implementation of the StructArray layout:
790
+ * [0]: Uint16[1]
791
+ *
792
+ * @private
793
+ */
794
+ class StructArrayLayout1ui2 extends StructArray {
795
+ uint8: Uint8Array;
796
+ uint16: Uint16Array;
797
+
798
+ _refreshViews() {
799
+ this.uint8 = new Uint8Array(this.arrayBuffer);
800
+ this.uint16 = new Uint16Array(this.arrayBuffer);
801
+ }
802
+
803
+ emplaceBack(v0: number) {
804
+ const i = this.length;
805
+ this.resize(i + 1);
806
+ return this.emplace(i, v0);
807
+ }
808
+
809
+ emplace(i: number, v0: number) {
810
+ const o2 = i * 1;
811
+ this.uint16[o2 + 0] = v0;
812
+ return i;
813
+ }
814
+ }
815
+
816
+ StructArrayLayout1ui2.prototype.bytesPerElement = 2;
817
+ register('StructArrayLayout1ui2', StructArrayLayout1ui2);
818
+
819
+ /**
820
+ * Implementation of the StructArray layout:
821
+ * [0]: Float32[4]
822
+ *
823
+ * @private
824
+ */
825
+ class StructArrayLayout4f16 extends StructArray {
826
+ uint8: Uint8Array;
827
+ float32: Float32Array;
828
+
829
+ _refreshViews() {
830
+ this.uint8 = new Uint8Array(this.arrayBuffer);
831
+ this.float32 = new Float32Array(this.arrayBuffer);
832
+ }
833
+
834
+ emplaceBack(v0: number, v1: number, v2: number, v3: number) {
835
+ const i = this.length;
836
+ this.resize(i + 1);
837
+ return this.emplace(i, v0, v1, v2, v3);
838
+ }
839
+
840
+ emplace(i: number, v0: number, v1: number, v2: number, v3: number) {
841
+ const o4 = i * 4;
842
+ this.float32[o4 + 0] = v0;
843
+ this.float32[o4 + 1] = v1;
844
+ this.float32[o4 + 2] = v2;
845
+ this.float32[o4 + 3] = v3;
846
+ return i;
847
+ }
848
+ }
849
+
850
+ StructArrayLayout4f16.prototype.bytesPerElement = 16;
851
+ register('StructArrayLayout4f16', StructArrayLayout4f16);
852
+
853
+ class CollisionBoxStruct extends Struct {
854
+ _structArray: CollisionBoxArray;
855
+ anchorPointX: number;
856
+ anchorPointY: number;
857
+ x1: number;
858
+ y1: number;
859
+ x2: number;
860
+ y2: number;
861
+ featureIndex: number;
862
+ sourceLayerIndex: number;
863
+ bucketIndex: number;
864
+ anchorPoint: Point;
865
+ get anchorPointX() { return this._structArray.int16[this._pos2 + 0]; }
866
+ get anchorPointY() { return this._structArray.int16[this._pos2 + 1]; }
867
+ get x1() { return this._structArray.int16[this._pos2 + 2]; }
868
+ get y1() { return this._structArray.int16[this._pos2 + 3]; }
869
+ get x2() { return this._structArray.int16[this._pos2 + 4]; }
870
+ get y2() { return this._structArray.int16[this._pos2 + 5]; }
871
+ get featureIndex() { return this._structArray.uint32[this._pos4 + 3]; }
872
+ get sourceLayerIndex() { return this._structArray.uint16[this._pos2 + 8]; }
873
+ get bucketIndex() { return this._structArray.uint16[this._pos2 + 9]; }
874
+ get anchorPoint() { return new Point(this.anchorPointX, this.anchorPointY); }
875
+ }
876
+
877
+ CollisionBoxStruct.prototype.size = 20;
878
+
879
+ export type CollisionBox = CollisionBoxStruct;
880
+
881
+ /**
882
+ * @private
883
+ */
884
+ export class CollisionBoxArray extends StructArrayLayout6i1ul2ui20 {
885
+ /**
886
+ * Return the CollisionBoxStruct at the given location in the array.
887
+ * @param {number} index The index of the element.
888
+ * @private
889
+ */
890
+ get(index: number): CollisionBoxStruct {
891
+ assert(!this.isTransferred);
892
+ return new CollisionBoxStruct(this, index);
893
+ }
894
+ }
895
+
896
+ register('CollisionBoxArray', CollisionBoxArray);
897
+
898
+ class PlacedSymbolStruct extends Struct {
899
+ _structArray: PlacedSymbolArray;
900
+ anchorX: number;
901
+ anchorY: number;
902
+ glyphStartIndex: number;
903
+ numGlyphs: number;
904
+ vertexStartIndex: number;
905
+ lineStartIndex: number;
906
+ lineLength: number;
907
+ segment: number;
908
+ lowerSize: number;
909
+ upperSize: number;
910
+ lineOffsetX: number;
911
+ lineOffsetY: number;
912
+ writingMode: number;
913
+ placedOrientation: number;
914
+ hidden: number;
915
+ crossTileID: number;
916
+ associatedIconIndex: number;
917
+ get anchorX() { return this._structArray.int16[this._pos2 + 0]; }
918
+ get anchorY() { return this._structArray.int16[this._pos2 + 1]; }
919
+ get glyphStartIndex() { return this._structArray.uint16[this._pos2 + 2]; }
920
+ get numGlyphs() { return this._structArray.uint16[this._pos2 + 3]; }
921
+ get vertexStartIndex() { return this._structArray.uint32[this._pos4 + 2]; }
922
+ get lineStartIndex() { return this._structArray.uint32[this._pos4 + 3]; }
923
+ get lineLength() { return this._structArray.uint32[this._pos4 + 4]; }
924
+ get segment() { return this._structArray.uint16[this._pos2 + 10]; }
925
+ get lowerSize() { return this._structArray.uint16[this._pos2 + 11]; }
926
+ get upperSize() { return this._structArray.uint16[this._pos2 + 12]; }
927
+ get lineOffsetX() { return this._structArray.float32[this._pos4 + 7]; }
928
+ get lineOffsetY() { return this._structArray.float32[this._pos4 + 8]; }
929
+ get writingMode() { return this._structArray.uint8[this._pos1 + 36]; }
930
+ get placedOrientation() { return this._structArray.uint8[this._pos1 + 37]; }
931
+ set placedOrientation(x: number) { this._structArray.uint8[this._pos1 + 37] = x; }
932
+ get hidden() { return this._structArray.uint8[this._pos1 + 38]; }
933
+ set hidden(x: number) { this._structArray.uint8[this._pos1 + 38] = x; }
934
+ get crossTileID() { return this._structArray.uint32[this._pos4 + 10]; }
935
+ set crossTileID(x: number) { this._structArray.uint32[this._pos4 + 10] = x; }
936
+ get associatedIconIndex() { return this._structArray.int16[this._pos2 + 22]; }
937
+ }
938
+
939
+ PlacedSymbolStruct.prototype.size = 48;
940
+
941
+ export type PlacedSymbol = PlacedSymbolStruct;
942
+
943
+ /**
944
+ * @private
945
+ */
946
+ export class PlacedSymbolArray extends StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48 {
947
+ /**
948
+ * Return the PlacedSymbolStruct at the given location in the array.
949
+ * @param {number} index The index of the element.
950
+ * @private
951
+ */
952
+ get(index: number): PlacedSymbolStruct {
953
+ assert(!this.isTransferred);
954
+ return new PlacedSymbolStruct(this, index);
955
+ }
956
+ }
957
+
958
+ register('PlacedSymbolArray', PlacedSymbolArray);
959
+
960
+ class SymbolInstanceStruct extends Struct {
961
+ _structArray: SymbolInstanceArray;
962
+ anchorX: number;
963
+ anchorY: number;
964
+ rightJustifiedTextSymbolIndex: number;
965
+ centerJustifiedTextSymbolIndex: number;
966
+ leftJustifiedTextSymbolIndex: number;
967
+ verticalPlacedTextSymbolIndex: number;
968
+ placedIconSymbolIndex: number;
969
+ verticalPlacedIconSymbolIndex: number;
970
+ key: number;
971
+ textBoxStartIndex: number;
972
+ textBoxEndIndex: number;
973
+ verticalTextBoxStartIndex: number;
974
+ verticalTextBoxEndIndex: number;
975
+ iconBoxStartIndex: number;
976
+ iconBoxEndIndex: number;
977
+ verticalIconBoxStartIndex: number;
978
+ verticalIconBoxEndIndex: number;
979
+ featureIndex: number;
980
+ numHorizontalGlyphVertices: number;
981
+ numVerticalGlyphVertices: number;
982
+ numIconVertices: number;
983
+ numVerticalIconVertices: number;
984
+ useRuntimeCollisionCircles: number;
985
+ crossTileID: number;
986
+ textBoxScale: number;
987
+ textOffset0: number;
988
+ textOffset1: number;
989
+ collisionCircleDiameter: number;
990
+ get anchorX() { return this._structArray.int16[this._pos2 + 0]; }
991
+ get anchorY() { return this._structArray.int16[this._pos2 + 1]; }
992
+ get rightJustifiedTextSymbolIndex() { return this._structArray.int16[this._pos2 + 2]; }
993
+ get centerJustifiedTextSymbolIndex() { return this._structArray.int16[this._pos2 + 3]; }
994
+ get leftJustifiedTextSymbolIndex() { return this._structArray.int16[this._pos2 + 4]; }
995
+ get verticalPlacedTextSymbolIndex() { return this._structArray.int16[this._pos2 + 5]; }
996
+ get placedIconSymbolIndex() { return this._structArray.int16[this._pos2 + 6]; }
997
+ get verticalPlacedIconSymbolIndex() { return this._structArray.int16[this._pos2 + 7]; }
998
+ get key() { return this._structArray.uint16[this._pos2 + 8]; }
999
+ get textBoxStartIndex() { return this._structArray.uint16[this._pos2 + 9]; }
1000
+ get textBoxEndIndex() { return this._structArray.uint16[this._pos2 + 10]; }
1001
+ get verticalTextBoxStartIndex() { return this._structArray.uint16[this._pos2 + 11]; }
1002
+ get verticalTextBoxEndIndex() { return this._structArray.uint16[this._pos2 + 12]; }
1003
+ get iconBoxStartIndex() { return this._structArray.uint16[this._pos2 + 13]; }
1004
+ get iconBoxEndIndex() { return this._structArray.uint16[this._pos2 + 14]; }
1005
+ get verticalIconBoxStartIndex() { return this._structArray.uint16[this._pos2 + 15]; }
1006
+ get verticalIconBoxEndIndex() { return this._structArray.uint16[this._pos2 + 16]; }
1007
+ get featureIndex() { return this._structArray.uint16[this._pos2 + 17]; }
1008
+ get numHorizontalGlyphVertices() { return this._structArray.uint16[this._pos2 + 18]; }
1009
+ get numVerticalGlyphVertices() { return this._structArray.uint16[this._pos2 + 19]; }
1010
+ get numIconVertices() { return this._structArray.uint16[this._pos2 + 20]; }
1011
+ get numVerticalIconVertices() { return this._structArray.uint16[this._pos2 + 21]; }
1012
+ get useRuntimeCollisionCircles() { return this._structArray.uint16[this._pos2 + 22]; }
1013
+ get crossTileID() { return this._structArray.uint32[this._pos4 + 12]; }
1014
+ set crossTileID(x: number) { this._structArray.uint32[this._pos4 + 12] = x; }
1015
+ get textBoxScale() { return this._structArray.float32[this._pos4 + 13]; }
1016
+ get textOffset0() { return this._structArray.float32[this._pos4 + 14]; }
1017
+ get textOffset1() { return this._structArray.float32[this._pos4 + 15]; }
1018
+ get collisionCircleDiameter() { return this._structArray.float32[this._pos4 + 16]; }
1019
+ }
1020
+
1021
+ SymbolInstanceStruct.prototype.size = 68;
1022
+
1023
+ export type SymbolInstance = SymbolInstanceStruct;
1024
+
1025
+ /**
1026
+ * @private
1027
+ */
1028
+ export class SymbolInstanceArray extends StructArrayLayout8i15ui1ul4f68 {
1029
+ /**
1030
+ * Return the SymbolInstanceStruct at the given location in the array.
1031
+ * @param {number} index The index of the element.
1032
+ * @private
1033
+ */
1034
+ get(index: number): SymbolInstanceStruct {
1035
+ assert(!this.isTransferred);
1036
+ return new SymbolInstanceStruct(this, index);
1037
+ }
1038
+ }
1039
+
1040
+ register('SymbolInstanceArray', SymbolInstanceArray);
1041
+
1042
+ /**
1043
+ * @private
1044
+ */
1045
+ export class GlyphOffsetArray extends StructArrayLayout1f4 {
1046
+ getoffsetX(index: number) { return this.float32[index * 1 + 0]; }
1047
+ }
1048
+
1049
+ register('GlyphOffsetArray', GlyphOffsetArray);
1050
+
1051
+ /**
1052
+ * @private
1053
+ */
1054
+ export class SymbolLineVertexArray extends StructArrayLayout3i6 {
1055
+ getx(index: number) { return this.int16[index * 3 + 0]; }
1056
+ gety(index: number) { return this.int16[index * 3 + 1]; }
1057
+ gettileUnitDistanceFromAnchor(index: number) { return this.int16[index * 3 + 2]; }
1058
+ }
1059
+
1060
+ register('SymbolLineVertexArray', SymbolLineVertexArray);
1061
+
1062
+ class FeatureIndexStruct extends Struct {
1063
+ _structArray: FeatureIndexArray;
1064
+ featureIndex: number;
1065
+ sourceLayerIndex: number;
1066
+ bucketIndex: number;
1067
+ get featureIndex() { return this._structArray.uint32[this._pos4 + 0]; }
1068
+ get sourceLayerIndex() { return this._structArray.uint16[this._pos2 + 2]; }
1069
+ get bucketIndex() { return this._structArray.uint16[this._pos2 + 3]; }
1070
+ }
1071
+
1072
+ FeatureIndexStruct.prototype.size = 8;
1073
+
1074
+ export type FeatureIndex = FeatureIndexStruct;
1075
+
1076
+ /**
1077
+ * @private
1078
+ */
1079
+ export class FeatureIndexArray extends StructArrayLayout1ul2ui8 {
1080
+ /**
1081
+ * Return the FeatureIndexStruct at the given location in the array.
1082
+ * @param {number} index The index of the element.
1083
+ * @private
1084
+ */
1085
+ get(index: number): FeatureIndexStruct {
1086
+ assert(!this.isTransferred);
1087
+ return new FeatureIndexStruct(this, index);
1088
+ }
1089
+ }
1090
+
1091
+ register('FeatureIndexArray', FeatureIndexArray);
1092
+
1093
+ export {
1094
+ StructArrayLayout2i4,
1095
+ StructArrayLayout4i8,
1096
+ StructArrayLayout2i4i12,
1097
+ StructArrayLayout2i4ub8,
1098
+ StructArrayLayout2f8,
1099
+ StructArrayLayout10ui20,
1100
+ StructArrayLayout4i4ui4i24,
1101
+ StructArrayLayout3f12,
1102
+ StructArrayLayout1ul4,
1103
+ StructArrayLayout6i1ul2ui20,
1104
+ StructArrayLayout2i2i2i12,
1105
+ StructArrayLayout2f1f2i16,
1106
+ StructArrayLayout2ub2f12,
1107
+ StructArrayLayout3ui6,
1108
+ StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48,
1109
+ StructArrayLayout8i15ui1ul4f68,
1110
+ StructArrayLayout1f4,
1111
+ StructArrayLayout3i6,
1112
+ StructArrayLayout1ul2ui8,
1113
+ StructArrayLayout2ui4,
1114
+ StructArrayLayout1ui2,
1115
+ StructArrayLayout4f16,
1116
+ StructArrayLayout2i4 as PosArray,
1117
+ StructArrayLayout4i8 as RasterBoundsArray,
1118
+ StructArrayLayout2i4 as CircleLayoutArray,
1119
+ StructArrayLayout2i4 as FillLayoutArray,
1120
+ StructArrayLayout2i4i12 as FillExtrusionLayoutArray,
1121
+ StructArrayLayout2i4 as HeatmapLayoutArray,
1122
+ StructArrayLayout2i4ub8 as LineLayoutArray,
1123
+ StructArrayLayout2f8 as LineExtLayoutArray,
1124
+ StructArrayLayout10ui20 as PatternLayoutArray,
1125
+ StructArrayLayout4i4ui4i24 as SymbolLayoutArray,
1126
+ StructArrayLayout3f12 as SymbolDynamicLayoutArray,
1127
+ StructArrayLayout1ul4 as SymbolOpacityArray,
1128
+ StructArrayLayout2i2i2i12 as CollisionBoxLayoutArray,
1129
+ StructArrayLayout2f1f2i16 as CollisionCircleLayoutArray,
1130
+ StructArrayLayout2ub2f12 as CollisionVertexArray,
1131
+ StructArrayLayout3ui6 as QuadTriangleArray,
1132
+ StructArrayLayout3ui6 as TriangleIndexArray,
1133
+ StructArrayLayout2ui4 as LineIndexArray,
1134
+ StructArrayLayout1ui2 as LineStripIndexArray
1135
+ };