@scoova/mgl 1.0.0

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