maplibre-gl 2.1.1 → 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (305) hide show
  1. package/build/{banner.js → banner.ts} +1 -1
  2. package/build/generate-query-test-fixtures.ts +123 -0
  3. package/build/generate-shaders.ts +35 -0
  4. package/build/generate-struct-arrays.ts +7 -7
  5. package/build/generate-style-code.ts +8 -8
  6. package/build/generate-style-spec.ts +5 -4
  7. package/build/generate-typings.ts +16 -0
  8. package/build/readme.md +8 -18
  9. package/build/release-notes.js +9 -13
  10. package/build/{rollup_plugin_minify_style_spec.js → rollup_plugin_minify_style_spec.ts} +4 -3
  11. package/build/{rollup_plugins.js → rollup_plugins.ts} +11 -26
  12. package/dist/maplibre-gl-dev.js +522 -226
  13. package/dist/maplibre-gl.css +1 -1
  14. package/dist/maplibre-gl.d.ts +1536 -1010
  15. package/dist/maplibre-gl.js +3 -3
  16. package/dist/maplibre-gl.js.map +1 -1
  17. package/package.json +40 -61
  18. package/src/data/{array_types.ts → array_types.g.ts} +0 -0
  19. package/src/data/bucket/circle_bucket.ts +1 -1
  20. package/src/data/bucket/fill_bucket.test.ts +1 -1
  21. package/src/data/bucket/fill_bucket.ts +4 -4
  22. package/src/data/bucket/fill_extrusion_bucket.ts +1 -1
  23. package/src/data/bucket/line_bucket.test.ts +1 -1
  24. package/src/data/bucket/line_bucket.ts +6 -6
  25. package/src/data/bucket/symbol_bucket.test.ts +16 -16
  26. package/src/data/bucket/symbol_bucket.ts +53 -53
  27. package/src/data/bucket.ts +43 -43
  28. package/src/data/dem_data.ts +12 -12
  29. package/src/data/evaluation_feature.ts +10 -10
  30. package/src/data/feature_index.ts +37 -37
  31. package/src/data/feature_position_map.ts +5 -5
  32. package/src/data/index_array_type.ts +1 -1
  33. package/src/data/load_geometry.test.ts +1 -1
  34. package/src/data/program_configuration.ts +46 -46
  35. package/src/data/segment.ts +14 -14
  36. package/src/geo/edge_insets.ts +2 -2
  37. package/src/geo/lng_lat.ts +4 -4
  38. package/src/geo/lng_lat_bounds.ts +35 -35
  39. package/src/geo/mercator_coordinate.ts +5 -5
  40. package/src/geo/transform.test.ts +1 -1
  41. package/src/geo/transform.ts +14 -14
  42. package/src/gl/context.ts +3 -3
  43. package/src/gl/types.ts +19 -19
  44. package/src/gl/value.ts +6 -6
  45. package/src/gl/vertex_buffer.test.ts +1 -1
  46. package/src/index.ts +24 -9
  47. package/src/render/draw_circle.ts +8 -8
  48. package/src/render/draw_collision_debug.ts +5 -5
  49. package/src/render/draw_line.ts +4 -4
  50. package/src/render/draw_symbol.ts +21 -21
  51. package/src/render/glyph_atlas.ts +12 -12
  52. package/src/render/glyph_manager.test.ts +10 -21
  53. package/src/render/glyph_manager.ts +33 -32
  54. package/src/render/image_manager.ts +4 -4
  55. package/src/render/painter.ts +11 -11
  56. package/src/render/program/background_program.ts +29 -29
  57. package/src/render/program/circle_program.ts +10 -10
  58. package/src/render/program/clipping_mask_program.ts +1 -1
  59. package/src/render/program/collision_program.ts +9 -9
  60. package/src/render/program/debug_program.ts +4 -4
  61. package/src/render/program/fill_extrusion_program.ts +31 -31
  62. package/src/render/program/fill_program.ts +29 -29
  63. package/src/render/program/heatmap_program.ts +12 -12
  64. package/src/render/program/hillshade_program.ts +12 -12
  65. package/src/render/program/line_program.ts +38 -38
  66. package/src/render/program/pattern.ts +28 -28
  67. package/src/render/program/raster_program.ts +21 -21
  68. package/src/render/program/symbol_program.ts +96 -96
  69. package/src/render/program.ts +25 -25
  70. package/src/render/texture.ts +9 -9
  71. package/src/render/uniform_binding.ts +1 -1
  72. package/src/render/vertex_array_object.ts +13 -13
  73. package/src/shaders/_prelude.fragment.glsl.g.ts +2 -0
  74. package/src/shaders/_prelude.vertex.glsl.g.ts +2 -0
  75. package/src/shaders/background.fragment.glsl.g.ts +2 -0
  76. package/src/shaders/background.vertex.glsl.g.ts +2 -0
  77. package/src/shaders/background_pattern.fragment.glsl.g.ts +2 -0
  78. package/src/shaders/background_pattern.vertex.glsl.g.ts +2 -0
  79. package/src/shaders/circle.fragment.glsl.g.ts +2 -0
  80. package/src/shaders/circle.vertex.glsl.g.ts +2 -0
  81. package/src/shaders/clipping_mask.fragment.glsl.g.ts +2 -0
  82. package/src/shaders/clipping_mask.vertex.glsl.g.ts +2 -0
  83. package/src/shaders/collision_box.fragment.glsl.g.ts +2 -0
  84. package/src/shaders/collision_box.vertex.glsl.g.ts +2 -0
  85. package/src/shaders/collision_circle.fragment.glsl.g.ts +2 -0
  86. package/src/shaders/collision_circle.vertex.glsl.g.ts +2 -0
  87. package/src/shaders/debug.fragment.glsl.g.ts +2 -0
  88. package/src/shaders/debug.vertex.glsl.g.ts +2 -0
  89. package/src/shaders/fill.fragment.glsl.g.ts +2 -0
  90. package/src/shaders/fill.vertex.glsl.g.ts +2 -0
  91. package/src/shaders/fill_extrusion.fragment.glsl.g.ts +2 -0
  92. package/src/shaders/fill_extrusion.vertex.glsl.g.ts +2 -0
  93. package/src/shaders/fill_extrusion_pattern.fragment.glsl.g.ts +2 -0
  94. package/src/shaders/fill_extrusion_pattern.vertex.glsl.g.ts +2 -0
  95. package/src/shaders/fill_outline.fragment.glsl.g.ts +2 -0
  96. package/src/shaders/fill_outline.vertex.glsl.g.ts +2 -0
  97. package/src/shaders/fill_outline_pattern.fragment.glsl.g.ts +2 -0
  98. package/src/shaders/fill_outline_pattern.vertex.glsl.g.ts +2 -0
  99. package/src/shaders/fill_pattern.fragment.glsl.g.ts +2 -0
  100. package/src/shaders/fill_pattern.vertex.glsl.g.ts +2 -0
  101. package/src/shaders/heatmap.fragment.glsl.g.ts +2 -0
  102. package/src/shaders/heatmap.vertex.glsl.g.ts +2 -0
  103. package/src/shaders/heatmap_texture.fragment.glsl.g.ts +2 -0
  104. package/src/shaders/heatmap_texture.vertex.glsl.g.ts +2 -0
  105. package/src/shaders/hillshade.fragment.glsl.g.ts +2 -0
  106. package/src/shaders/hillshade.vertex.glsl.g.ts +2 -0
  107. package/src/shaders/hillshade_prepare.fragment.glsl.g.ts +2 -0
  108. package/src/shaders/hillshade_prepare.vertex.glsl.g.ts +2 -0
  109. package/src/shaders/line.fragment.glsl.g.ts +2 -0
  110. package/src/shaders/line.vertex.glsl.g.ts +2 -0
  111. package/src/shaders/line_gradient.fragment.glsl.g.ts +2 -0
  112. package/src/shaders/line_gradient.vertex.glsl.g.ts +2 -0
  113. package/src/shaders/line_pattern.fragment.glsl.g.ts +2 -0
  114. package/src/shaders/line_pattern.vertex.glsl.g.ts +2 -0
  115. package/src/shaders/line_sdf.fragment.glsl.g.ts +2 -0
  116. package/src/shaders/line_sdf.vertex.glsl.g.ts +2 -0
  117. package/src/shaders/raster.fragment.glsl.g.ts +2 -0
  118. package/src/shaders/raster.vertex.glsl.g.ts +2 -0
  119. package/src/shaders/shaders.ts +52 -55
  120. package/src/shaders/symbol_icon.fragment.glsl.g.ts +2 -0
  121. package/src/shaders/symbol_icon.vertex.glsl.g.ts +2 -0
  122. package/src/shaders/symbol_sdf.fragment.glsl.g.ts +2 -0
  123. package/src/shaders/symbol_sdf.vertex.glsl.g.ts +2 -0
  124. package/src/shaders/symbol_text_and_icon.fragment.glsl.g.ts +2 -0
  125. package/src/shaders/symbol_text_and_icon.vertex.glsl.g.ts +2 -0
  126. package/src/source/canvas_source.test.ts +11 -12
  127. package/src/source/canvas_source.ts +4 -4
  128. package/src/source/geojson_worker_source.ts +23 -23
  129. package/src/source/geojson_wrapper.ts +8 -8
  130. package/src/source/image_source.test.ts +2 -2
  131. package/src/source/image_source.ts +6 -6
  132. package/src/source/pixels_to_tile_units.ts +6 -6
  133. package/src/source/query_features.ts +20 -20
  134. package/src/source/raster_dem_tile_source.test.ts +2 -2
  135. package/src/source/raster_tile_source.test.ts +2 -2
  136. package/src/source/rtl_text_plugin.ts +10 -10
  137. package/src/source/source.ts +29 -29
  138. package/src/source/source_cache.test.ts +32 -0
  139. package/src/source/source_cache.ts +7 -5
  140. package/src/source/source_state.ts +1 -1
  141. package/src/source/tile.test.ts +3 -3
  142. package/src/source/tile.ts +15 -15
  143. package/src/source/tile_cache.ts +6 -6
  144. package/src/source/tile_id.test.ts +0 -1
  145. package/src/source/vector_tile_source.test.ts +3 -3
  146. package/src/source/vector_tile_source.ts +1 -1
  147. package/src/source/vector_tile_worker_source.test.ts +4 -4
  148. package/src/source/vector_tile_worker_source.ts +5 -5
  149. package/src/source/worker.test.ts +1 -1
  150. package/src/source/worker.ts +22 -22
  151. package/src/source/worker_source.ts +56 -56
  152. package/src/source/worker_tile.ts +4 -4
  153. package/src/style/evaluation_parameters.ts +3 -3
  154. package/src/style/format_section_override.test.ts +1 -1
  155. package/src/style/light.ts +10 -10
  156. package/src/style/load_glyph_range.test.ts +3 -3
  157. package/src/style/load_glyph_range.ts +6 -6
  158. package/src/style/load_sprite.ts +4 -4
  159. package/src/style/pauseable_placement.ts +1 -1
  160. package/src/style/properties.ts +69 -69
  161. package/src/style/query_utils.ts +7 -7
  162. package/src/style/style.test.ts +2 -2
  163. package/src/style/style.ts +29 -29
  164. package/src/style/style_glyph.ts +8 -8
  165. package/src/style/style_image.ts +58 -58
  166. package/src/style/style_layer/background_style_layer.ts +2 -2
  167. package/src/style/style_layer/{background_style_layer_properties.ts → background_style_layer_properties.g.ts} +0 -0
  168. package/src/style/style_layer/circle_style_layer.ts +10 -10
  169. package/src/style/style_layer/{circle_style_layer_properties.ts → circle_style_layer_properties.g.ts} +0 -0
  170. package/src/style/style_layer/custom_style_layer.ts +17 -17
  171. package/src/style/style_layer/fill_extrusion_style_layer.ts +10 -10
  172. package/src/style/style_layer/{fill_extrusion_style_layer_properties.ts → fill_extrusion_style_layer_properties.g.ts} +0 -0
  173. package/src/style/style_layer/fill_style_layer.ts +9 -9
  174. package/src/style/style_layer/{fill_style_layer_properties.ts → fill_style_layer_properties.g.ts} +0 -0
  175. package/src/style/style_layer/heatmap_style_layer.ts +2 -2
  176. package/src/style/style_layer/{heatmap_style_layer_properties.ts → heatmap_style_layer_properties.g.ts} +0 -0
  177. package/src/style/style_layer/hillshade_style_layer.ts +2 -2
  178. package/src/style/style_layer/{hillshade_style_layer_properties.ts → hillshade_style_layer_properties.g.ts} +0 -0
  179. package/src/style/style_layer/line_style_layer.ts +9 -9
  180. package/src/style/style_layer/{line_style_layer_properties.ts → line_style_layer_properties.g.ts} +0 -0
  181. package/src/style/style_layer/raster_style_layer.ts +2 -2
  182. package/src/style/style_layer/{raster_style_layer_properties.ts → raster_style_layer_properties.g.ts} +0 -0
  183. package/src/style/style_layer/symbol_style_layer.ts +7 -7
  184. package/src/style/style_layer/{symbol_style_layer_properties.ts → symbol_style_layer_properties.g.ts} +0 -0
  185. package/src/style/style_layer.ts +10 -10
  186. package/src/style/style_layer_index.ts +3 -3
  187. package/src/style/validate_style.ts +15 -15
  188. package/src/style-spec/error/validation_error.ts +1 -1
  189. package/src/style-spec/expression/compound_expression.ts +3 -3
  190. package/src/style-spec/expression/definitions/format.ts +11 -11
  191. package/src/style-spec/expression/definitions/interpolate.ts +5 -5
  192. package/src/style-spec/expression/definitions/match.ts +2 -2
  193. package/src/style-spec/expression/definitions/number_format.ts +11 -11
  194. package/src/style-spec/expression/expression.ts +8 -8
  195. package/src/style-spec/expression/index.ts +97 -97
  196. package/src/style-spec/expression/parsing_context.ts +11 -11
  197. package/src/style-spec/expression/types/collator.ts +9 -9
  198. package/src/style-spec/expression/types/resolved_image.ts +2 -2
  199. package/src/style-spec/expression/types.ts +14 -14
  200. package/src/style-spec/expression/values.ts +1 -1
  201. package/src/style-spec/feature_filter/index.ts +66 -66
  202. package/src/style-spec/function/convert.ts +3 -3
  203. package/src/style-spec/style-spec.ts +44 -44
  204. package/src/style-spec/util/color_spaces.ts +8 -8
  205. package/src/style-spec/util/result.ts +4 -4
  206. package/src/style-spec/validate/validate_filter.ts +58 -58
  207. package/src/style-spec/validate/validate_source.ts +63 -63
  208. package/src/style-spec/visit.ts +11 -11
  209. package/src/symbol/collision_feature.test.ts +1 -1
  210. package/src/symbol/collision_feature.ts +10 -10
  211. package/src/symbol/collision_index.ts +26 -26
  212. package/src/symbol/cross_tile_symbol_index.ts +17 -17
  213. package/src/symbol/get_anchors.ts +16 -16
  214. package/src/symbol/grid_index.ts +7 -7
  215. package/src/symbol/placement.ts +72 -72
  216. package/src/symbol/projection.ts +30 -30
  217. package/src/symbol/quads.ts +30 -30
  218. package/src/symbol/shaping.ts +160 -160
  219. package/src/symbol/symbol_layout.ts +119 -119
  220. package/src/symbol/symbol_size.ts +29 -29
  221. package/src/symbol/symbol_style_layer.test.ts +1 -1
  222. package/src/types/cancelable.ts +1 -1
  223. package/src/types/tilejson.ts +13 -13
  224. package/src/ui/anchor.ts +1 -1
  225. package/src/ui/camera.test.ts +5 -5
  226. package/src/ui/camera.ts +18 -18
  227. package/src/ui/control/attribution_control.test.ts +51 -16
  228. package/src/ui/control/attribution_control.ts +35 -16
  229. package/src/ui/control/control.ts +40 -40
  230. package/src/ui/control/fullscreen_control.ts +1 -1
  231. package/src/ui/control/geolocate_control.test.ts +1 -1
  232. package/src/ui/control/geolocate_control.ts +102 -102
  233. package/src/ui/control/logo_control.test.ts +4 -4
  234. package/src/ui/control/navigation_control.ts +3 -3
  235. package/src/ui/control/scale_control.test.ts +2 -2
  236. package/src/ui/control/scale_control.ts +5 -5
  237. package/src/ui/events.ts +289 -200
  238. package/src/ui/handler/box_zoom.test.ts +1 -1
  239. package/src/ui/handler/box_zoom.ts +1 -1
  240. package/src/ui/handler/dblclick_zoom.test.ts +1 -1
  241. package/src/ui/handler/drag_pan.test.ts +1 -1
  242. package/src/ui/handler/drag_rotate.test.ts +1 -1
  243. package/src/ui/handler/keyboard.test.ts +1 -1
  244. package/src/ui/handler/keyboard.ts +51 -51
  245. package/src/ui/handler/map_event.test.ts +1 -1
  246. package/src/ui/handler/map_event.ts +1 -1
  247. package/src/ui/handler/mouse.ts +1 -1
  248. package/src/ui/handler/mouse_rotate.test.ts +1 -1
  249. package/src/ui/handler/scroll_zoom.test.ts +1 -1
  250. package/src/ui/handler/scroll_zoom.ts +9 -9
  251. package/src/ui/handler/shim/drag_pan.ts +4 -4
  252. package/src/ui/handler/shim/drag_rotate.ts +1 -1
  253. package/src/ui/handler/shim/touch_zoom_rotate.ts +1 -1
  254. package/src/ui/handler/tap_recognizer.ts +4 -4
  255. package/src/ui/handler/touch_pan.ts +2 -2
  256. package/src/ui/handler/touch_zoom_rotate.test.ts +1 -1
  257. package/src/ui/handler/touch_zoom_rotate.ts +1 -1
  258. package/src/ui/handler_inertia.ts +6 -6
  259. package/src/ui/handler_manager.ts +44 -44
  260. package/src/ui/map/isMoving.test.ts +1 -1
  261. package/src/ui/map/isRotating.test.ts +1 -1
  262. package/src/ui/map/isZooming.test.ts +1 -1
  263. package/src/ui/map.test.ts +10 -4
  264. package/src/ui/map.ts +106 -101
  265. package/src/ui/map_events.test.ts +1 -1
  266. package/src/ui/marker.test.ts +12 -12
  267. package/src/ui/marker.ts +37 -37
  268. package/src/ui/popup.test.ts +7 -7
  269. package/src/ui/popup.ts +9 -9
  270. package/src/util/actor.test.ts +41 -10
  271. package/src/util/actor.ts +8 -8
  272. package/src/util/ajax.test.ts +29 -21
  273. package/src/util/ajax.ts +51 -30
  274. package/src/util/browser.ts +1 -1
  275. package/src/util/classify_rings.test.ts +1 -1
  276. package/src/util/color_ramp.ts +5 -5
  277. package/src/util/config.ts +2 -2
  278. package/src/util/dispatcher.ts +1 -1
  279. package/src/util/dom.ts +2 -2
  280. package/src/util/evented.ts +1 -1
  281. package/src/util/find_pole_of_inaccessibility.ts +3 -3
  282. package/src/util/image.ts +5 -5
  283. package/src/util/performance.ts +7 -7
  284. package/src/util/request_manager.ts +4 -4
  285. package/src/util/resolve_tokens.ts +4 -4
  286. package/src/util/struct_array.test.ts +1 -1
  287. package/src/util/struct_array.ts +15 -15
  288. package/src/util/task_queue.ts +3 -3
  289. package/src/util/tile_request_cache.ts +3 -3
  290. package/src/util/transferable_grid_index.ts +4 -4
  291. package/src/util/util.ts +8 -8
  292. package/src/util/web_worker.ts +4 -68
  293. package/src/util/web_worker_transfer.test.ts +3 -0
  294. package/src/util/web_worker_transfer.ts +21 -17
  295. package/src/util/worker_pool.ts +1 -1
  296. package/build/.eslintrc +0 -21
  297. package/build/glsl_to_js.js +0 -12
  298. package/build/post-ts-build.js +0 -43
  299. package/build/release-notes.md.ejs +0 -8
  300. package/build/test/build-tape.js +0 -17
  301. package/build/web_worker_replacement.js +0 -5
  302. package/dist/package.json +0 -1
  303. package/src/style-spec/validate_spec.test.ts +0 -29
  304. package/src/symbol/shaping.test.ts +0 -392
  305. package/src/types/glsl.d.ts +0 -4
@@ -12,44 +12,44 @@ import type Painter from '../painter';
12
12
  import type {CrossfadeParameters} from '../../style/evaluation_parameters';
13
13
 
14
14
  export type LineUniformsType = {
15
- 'u_matrix': UniformMatrix4f;
16
- 'u_ratio': Uniform1f;
17
- 'u_device_pixel_ratio': Uniform1f;
18
- 'u_units_to_pixels': Uniform2f;
15
+ 'u_matrix': UniformMatrix4f;
16
+ 'u_ratio': Uniform1f;
17
+ 'u_device_pixel_ratio': Uniform1f;
18
+ 'u_units_to_pixels': Uniform2f;
19
19
  };
20
20
 
21
21
  export type LineGradientUniformsType = {
22
- 'u_matrix': UniformMatrix4f;
23
- 'u_ratio': Uniform1f;
24
- 'u_device_pixel_ratio': Uniform1f;
25
- 'u_units_to_pixels': Uniform2f;
26
- 'u_image': Uniform1i;
27
- 'u_image_height': Uniform1f;
22
+ 'u_matrix': UniformMatrix4f;
23
+ 'u_ratio': Uniform1f;
24
+ 'u_device_pixel_ratio': Uniform1f;
25
+ 'u_units_to_pixels': Uniform2f;
26
+ 'u_image': Uniform1i;
27
+ 'u_image_height': Uniform1f;
28
28
  };
29
29
 
30
30
  export type LinePatternUniformsType = {
31
- 'u_matrix': UniformMatrix4f;
32
- 'u_texsize': Uniform2f;
33
- 'u_ratio': Uniform1f;
34
- 'u_device_pixel_ratio': Uniform1f;
35
- 'u_units_to_pixels': Uniform2f;
36
- 'u_image': Uniform1i;
37
- 'u_scale': Uniform3f;
38
- 'u_fade': Uniform1f;
31
+ 'u_matrix': UniformMatrix4f;
32
+ 'u_texsize': Uniform2f;
33
+ 'u_ratio': Uniform1f;
34
+ 'u_device_pixel_ratio': Uniform1f;
35
+ 'u_units_to_pixels': Uniform2f;
36
+ 'u_image': Uniform1i;
37
+ 'u_scale': Uniform3f;
38
+ 'u_fade': Uniform1f;
39
39
  };
40
40
 
41
41
  export type LineSDFUniformsType = {
42
- 'u_matrix': UniformMatrix4f;
43
- 'u_ratio': Uniform1f;
44
- 'u_device_pixel_ratio': Uniform1f;
45
- 'u_units_to_pixels': Uniform2f;
46
- 'u_patternscale_a': Uniform2f;
47
- 'u_patternscale_b': Uniform2f;
48
- 'u_sdfgamma': Uniform1f;
49
- 'u_image': Uniform1i;
50
- 'u_tex_y_a': Uniform1f;
51
- 'u_tex_y_b': Uniform1f;
52
- 'u_mix': Uniform1f;
42
+ 'u_matrix': UniformMatrix4f;
43
+ 'u_ratio': Uniform1f;
44
+ 'u_device_pixel_ratio': Uniform1f;
45
+ 'u_units_to_pixels': Uniform2f;
46
+ 'u_patternscale_a': Uniform2f;
47
+ 'u_patternscale_b': Uniform2f;
48
+ 'u_sdfgamma': Uniform1f;
49
+ 'u_image': Uniform1i;
50
+ 'u_tex_y_a': Uniform1f;
51
+ 'u_tex_y_b': Uniform1f;
52
+ 'u_mix': Uniform1f;
53
53
  };
54
54
 
55
55
  const lineUniforms = (context: Context, locations: UniformLocations): LineUniformsType => ({
@@ -115,10 +115,10 @@ const lineGradientUniformValues = (painter: Painter, tile: Tile, layer: LineStyl
115
115
  };
116
116
 
117
117
  const linePatternUniformValues = (
118
- painter: Painter,
119
- tile: Tile,
120
- layer: LineStyleLayer,
121
- crossfade: CrossfadeParameters
118
+ painter: Painter,
119
+ tile: Tile,
120
+ layer: LineStyleLayer,
121
+ crossfade: CrossfadeParameters
122
122
  ): UniformValues<LinePatternUniformsType> => {
123
123
  const transform = painter.transform;
124
124
  const tileZoomRatio = calculateTileRatio(tile, transform);
@@ -139,11 +139,11 @@ const linePatternUniformValues = (
139
139
  };
140
140
 
141
141
  const lineSDFUniformValues = (
142
- painter: Painter,
143
- tile: Tile,
144
- layer: LineStyleLayer,
145
- dasharray: CrossFaded<Array<number>>,
146
- crossfade: CrossfadeParameters
142
+ painter: Painter,
143
+ tile: Tile,
144
+ layer: LineStyleLayer,
145
+ dasharray: CrossFaded<Array<number>>,
146
+ crossfade: CrossfadeParameters
147
147
  ): UniformValues<LineSDFUniformsType> => {
148
148
  const transform = painter.transform;
149
149
  const lineAtlas = painter.lineAtlas;
@@ -16,30 +16,30 @@ import type Tile from '../../source/tile';
16
16
  import type ResolvedImage from '../../style-spec/expression/types/resolved_image';
17
17
 
18
18
  type BackgroundPatternUniformsType = {
19
- 'u_image': Uniform1i;
20
- 'u_pattern_tl_a': Uniform2f;
21
- 'u_pattern_br_a': Uniform2f;
22
- 'u_pattern_tl_b': Uniform2f;
23
- 'u_pattern_br_b': Uniform2f;
24
- 'u_texsize': Uniform2f;
25
- 'u_mix': Uniform1f;
26
- 'u_pattern_size_a': Uniform2f;
27
- 'u_pattern_size_b': Uniform2f;
28
- 'u_scale_a': Uniform1f;
29
- 'u_scale_b': Uniform1f;
30
- 'u_pixel_coord_upper': Uniform2f;
31
- 'u_pixel_coord_lower': Uniform2f;
32
- 'u_tile_units_to_pixels': Uniform1f;
19
+ 'u_image': Uniform1i;
20
+ 'u_pattern_tl_a': Uniform2f;
21
+ 'u_pattern_br_a': Uniform2f;
22
+ 'u_pattern_tl_b': Uniform2f;
23
+ 'u_pattern_br_b': Uniform2f;
24
+ 'u_texsize': Uniform2f;
25
+ 'u_mix': Uniform1f;
26
+ 'u_pattern_size_a': Uniform2f;
27
+ 'u_pattern_size_b': Uniform2f;
28
+ 'u_scale_a': Uniform1f;
29
+ 'u_scale_b': Uniform1f;
30
+ 'u_pixel_coord_upper': Uniform2f;
31
+ 'u_pixel_coord_lower': Uniform2f;
32
+ 'u_tile_units_to_pixels': Uniform1f;
33
33
  };
34
34
 
35
35
  export type PatternUniformsType = {
36
- // pattern uniforms:
37
- 'u_image': Uniform1i;
38
- 'u_texsize': Uniform2f;
39
- 'u_scale': Uniform3f;
40
- 'u_fade': Uniform1f;
41
- 'u_pixel_coord_upper': Uniform2f;
42
- 'u_pixel_coord_lower': Uniform2f;
36
+ // pattern uniforms:
37
+ 'u_image': Uniform1i;
38
+ 'u_texsize': Uniform2f;
39
+ 'u_scale': Uniform3f;
40
+ 'u_fade': Uniform1f;
41
+ 'u_pixel_coord_upper': Uniform2f;
42
+ 'u_pixel_coord_lower': Uniform2f;
43
43
  };
44
44
 
45
45
  function patternUniformValues(crossfade: CrossfadeParameters, painter: Painter, tile: Tile): UniformValues<PatternUniformsType> {
@@ -64,13 +64,13 @@ function patternUniformValues(crossfade: CrossfadeParameters, painter: Painter,
64
64
  }
65
65
 
66
66
  function bgPatternUniformValues(
67
- image: CrossFaded<ResolvedImage>,
68
- crossfade: CrossfadeParameters,
69
- painter: Painter,
70
- tile: {
71
- tileID: OverscaledTileID;
72
- tileSize: number;
73
- }
67
+ image: CrossFaded<ResolvedImage>,
68
+ crossfade: CrossfadeParameters,
69
+ painter: Painter,
70
+ tile: {
71
+ tileID: OverscaledTileID;
72
+ tileSize: number;
73
+ }
74
74
  ): UniformValues<BackgroundPatternUniformsType> {
75
75
  const imagePosA = painter.imageManager.getPattern(image.from.toString());
76
76
  const imagePosB = painter.imageManager.getPattern(image.to.toString());
@@ -6,19 +6,19 @@ import type RasterStyleLayer from '../../style/style_layer/raster_style_layer';
6
6
  import {mat4} from 'gl-matrix';
7
7
 
8
8
  export type RasterUniformsType = {
9
- 'u_matrix': UniformMatrix4f;
10
- 'u_tl_parent': Uniform2f;
11
- 'u_scale_parent': Uniform1f;
12
- 'u_buffer_scale': Uniform1f;
13
- 'u_fade_t': Uniform1f;
14
- 'u_opacity': Uniform1f;
15
- 'u_image0': Uniform1i;
16
- 'u_image1': Uniform1i;
17
- 'u_brightness_low': Uniform1f;
18
- 'u_brightness_high': Uniform1f;
19
- 'u_saturation_factor': Uniform1f;
20
- 'u_contrast_factor': Uniform1f;
21
- 'u_spin_weights': Uniform3f;
9
+ 'u_matrix': UniformMatrix4f;
10
+ 'u_tl_parent': Uniform2f;
11
+ 'u_scale_parent': Uniform1f;
12
+ 'u_buffer_scale': Uniform1f;
13
+ 'u_fade_t': Uniform1f;
14
+ 'u_opacity': Uniform1f;
15
+ 'u_image0': Uniform1i;
16
+ 'u_image1': Uniform1i;
17
+ 'u_brightness_low': Uniform1f;
18
+ 'u_brightness_high': Uniform1f;
19
+ 'u_saturation_factor': Uniform1f;
20
+ 'u_contrast_factor': Uniform1f;
21
+ 'u_spin_weights': Uniform3f;
22
22
  };
23
23
 
24
24
  const rasterUniforms = (context: Context, locations: UniformLocations): RasterUniformsType => ({
@@ -38,14 +38,14 @@ const rasterUniforms = (context: Context, locations: UniformLocations): RasterUn
38
38
  });
39
39
 
40
40
  const rasterUniformValues = (
41
- matrix: mat4,
42
- parentTL: [number, number],
43
- parentScaleBy: number,
44
- fade: {
45
- mix: number;
46
- opacity: number;
47
- },
48
- layer: RasterStyleLayer
41
+ matrix: mat4,
42
+ parentTL: [number, number],
43
+ parentScaleBy: number,
44
+ fade: {
45
+ mix: number;
46
+ opacity: number;
47
+ },
48
+ layer: RasterStyleLayer
49
49
  ): UniformValues<RasterUniformsType> => ({
50
50
  'u_matrix': matrix,
51
51
  'u_tl_parent': parentTL,
@@ -7,68 +7,68 @@ import type {UniformValues, UniformLocations} from '../uniform_binding';
7
7
  import {mat4} from 'gl-matrix';
8
8
 
9
9
  export type SymbolIconUniformsType = {
10
- 'u_is_size_zoom_constant': Uniform1i;
11
- 'u_is_size_feature_constant': Uniform1i;
12
- 'u_size_t': Uniform1f;
13
- 'u_size': Uniform1f;
14
- 'u_camera_to_center_distance': Uniform1f;
15
- 'u_pitch': Uniform1f;
16
- 'u_rotate_symbol': Uniform1i;
17
- 'u_aspect_ratio': Uniform1f;
18
- 'u_fade_change': Uniform1f;
19
- 'u_matrix': UniformMatrix4f;
20
- 'u_label_plane_matrix': UniformMatrix4f;
21
- 'u_coord_matrix': UniformMatrix4f;
22
- 'u_is_text': Uniform1i;
23
- 'u_pitch_with_map': Uniform1i;
24
- 'u_texsize': Uniform2f;
25
- 'u_texture': Uniform1i;
10
+ 'u_is_size_zoom_constant': Uniform1i;
11
+ 'u_is_size_feature_constant': Uniform1i;
12
+ 'u_size_t': Uniform1f;
13
+ 'u_size': Uniform1f;
14
+ 'u_camera_to_center_distance': Uniform1f;
15
+ 'u_pitch': Uniform1f;
16
+ 'u_rotate_symbol': Uniform1i;
17
+ 'u_aspect_ratio': Uniform1f;
18
+ 'u_fade_change': Uniform1f;
19
+ 'u_matrix': UniformMatrix4f;
20
+ 'u_label_plane_matrix': UniformMatrix4f;
21
+ 'u_coord_matrix': UniformMatrix4f;
22
+ 'u_is_text': Uniform1i;
23
+ 'u_pitch_with_map': Uniform1i;
24
+ 'u_texsize': Uniform2f;
25
+ 'u_texture': Uniform1i;
26
26
  };
27
27
 
28
28
  export type SymbolSDFUniformsType = {
29
- 'u_is_size_zoom_constant': Uniform1i;
30
- 'u_is_size_feature_constant': Uniform1i;
31
- 'u_size_t': Uniform1f;
32
- 'u_size': Uniform1f;
33
- 'u_camera_to_center_distance': Uniform1f;
34
- 'u_pitch': Uniform1f;
35
- 'u_rotate_symbol': Uniform1i;
36
- 'u_aspect_ratio': Uniform1f;
37
- 'u_fade_change': Uniform1f;
38
- 'u_matrix': UniformMatrix4f;
39
- 'u_label_plane_matrix': UniformMatrix4f;
40
- 'u_coord_matrix': UniformMatrix4f;
41
- 'u_is_text': Uniform1i;
42
- 'u_pitch_with_map': Uniform1i;
43
- 'u_texsize': Uniform2f;
44
- 'u_texture': Uniform1i;
45
- 'u_gamma_scale': Uniform1f;
46
- 'u_device_pixel_ratio': Uniform1f;
47
- 'u_is_halo': Uniform1i;
29
+ 'u_is_size_zoom_constant': Uniform1i;
30
+ 'u_is_size_feature_constant': Uniform1i;
31
+ 'u_size_t': Uniform1f;
32
+ 'u_size': Uniform1f;
33
+ 'u_camera_to_center_distance': Uniform1f;
34
+ 'u_pitch': Uniform1f;
35
+ 'u_rotate_symbol': Uniform1i;
36
+ 'u_aspect_ratio': Uniform1f;
37
+ 'u_fade_change': Uniform1f;
38
+ 'u_matrix': UniformMatrix4f;
39
+ 'u_label_plane_matrix': UniformMatrix4f;
40
+ 'u_coord_matrix': UniformMatrix4f;
41
+ 'u_is_text': Uniform1i;
42
+ 'u_pitch_with_map': Uniform1i;
43
+ 'u_texsize': Uniform2f;
44
+ 'u_texture': Uniform1i;
45
+ 'u_gamma_scale': Uniform1f;
46
+ 'u_device_pixel_ratio': Uniform1f;
47
+ 'u_is_halo': Uniform1i;
48
48
  };
49
49
 
50
50
  export type symbolTextAndIconUniformsType = {
51
- 'u_is_size_zoom_constant': Uniform1i;
52
- 'u_is_size_feature_constant': Uniform1i;
53
- 'u_size_t': Uniform1f;
54
- 'u_size': Uniform1f;
55
- 'u_camera_to_center_distance': Uniform1f;
56
- 'u_pitch': Uniform1f;
57
- 'u_rotate_symbol': Uniform1i;
58
- 'u_aspect_ratio': Uniform1f;
59
- 'u_fade_change': Uniform1f;
60
- 'u_matrix': UniformMatrix4f;
61
- 'u_label_plane_matrix': UniformMatrix4f;
62
- 'u_coord_matrix': UniformMatrix4f;
63
- 'u_is_text': Uniform1i;
64
- 'u_pitch_with_map': Uniform1i;
65
- 'u_texsize': Uniform2f;
66
- 'u_texsize_icon': Uniform2f;
67
- 'u_texture': Uniform1i;
68
- 'u_texture_icon': Uniform1i;
69
- 'u_gamma_scale': Uniform1f;
70
- 'u_device_pixel_ratio': Uniform1f;
71
- 'u_is_halo': Uniform1i;
51
+ 'u_is_size_zoom_constant': Uniform1i;
52
+ 'u_is_size_feature_constant': Uniform1i;
53
+ 'u_size_t': Uniform1f;
54
+ 'u_size': Uniform1f;
55
+ 'u_camera_to_center_distance': Uniform1f;
56
+ 'u_pitch': Uniform1f;
57
+ 'u_rotate_symbol': Uniform1i;
58
+ 'u_aspect_ratio': Uniform1f;
59
+ 'u_fade_change': Uniform1f;
60
+ 'u_matrix': UniformMatrix4f;
61
+ 'u_label_plane_matrix': UniformMatrix4f;
62
+ 'u_coord_matrix': UniformMatrix4f;
63
+ 'u_is_text': Uniform1i;
64
+ 'u_pitch_with_map': Uniform1i;
65
+ 'u_texsize': Uniform2f;
66
+ 'u_texsize_icon': Uniform2f;
67
+ 'u_texture': Uniform1i;
68
+ 'u_texture_icon': Uniform1i;
69
+ 'u_gamma_scale': Uniform1f;
70
+ 'u_device_pixel_ratio': Uniform1f;
71
+ 'u_is_halo': Uniform1i;
72
72
  };
73
73
 
74
74
  const symbolIconUniforms = (context: Context, locations: UniformLocations): SymbolIconUniformsType => ({
@@ -137,19 +137,19 @@ const symbolTextAndIconUniforms = (context: Context, locations: UniformLocations
137
137
  });
138
138
 
139
139
  const symbolIconUniformValues = (
140
- functionType: string,
141
- size: {
142
- uSizeT: number;
143
- uSize: number;
144
- },
145
- rotateInShader: boolean,
146
- pitchWithMap: boolean,
147
- painter: Painter,
148
- matrix: mat4,
149
- labelPlaneMatrix: mat4,
150
- glCoordMatrix: mat4,
151
- isText: boolean,
152
- texSize: [number, number]
140
+ functionType: string,
141
+ size: {
142
+ uSizeT: number;
143
+ uSize: number;
144
+ },
145
+ rotateInShader: boolean,
146
+ pitchWithMap: boolean,
147
+ painter: Painter,
148
+ matrix: mat4,
149
+ labelPlaneMatrix: mat4,
150
+ glCoordMatrix: mat4,
151
+ isText: boolean,
152
+ texSize: [number, number]
153
153
  ): UniformValues<SymbolIconUniformsType> => {
154
154
  const transform = painter.transform;
155
155
 
@@ -174,20 +174,20 @@ const symbolIconUniformValues = (
174
174
  };
175
175
 
176
176
  const symbolSDFUniformValues = (
177
- functionType: string,
178
- size: {
179
- uSizeT: number;
180
- uSize: number;
181
- },
182
- rotateInShader: boolean,
183
- pitchWithMap: boolean,
184
- painter: Painter,
185
- matrix: mat4,
186
- labelPlaneMatrix: mat4,
187
- glCoordMatrix: mat4,
188
- isText: boolean,
189
- texSize: [number, number],
190
- isHalo: boolean
177
+ functionType: string,
178
+ size: {
179
+ uSizeT: number;
180
+ uSize: number;
181
+ },
182
+ rotateInShader: boolean,
183
+ pitchWithMap: boolean,
184
+ painter: Painter,
185
+ matrix: mat4,
186
+ labelPlaneMatrix: mat4,
187
+ glCoordMatrix: mat4,
188
+ isText: boolean,
189
+ texSize: [number, number],
190
+ isHalo: boolean
191
191
  ): UniformValues<SymbolSDFUniformsType> => {
192
192
  const transform = painter.transform;
193
193
 
@@ -201,19 +201,19 @@ const symbolSDFUniformValues = (
201
201
  };
202
202
 
203
203
  const symbolTextAndIconUniformValues = (
204
- functionType: string,
205
- size: {
206
- uSizeT: number;
207
- uSize: number;
208
- },
209
- rotateInShader: boolean,
210
- pitchWithMap: boolean,
211
- painter: Painter,
212
- matrix: mat4,
213
- labelPlaneMatrix: mat4,
214
- glCoordMatrix: mat4,
215
- texSizeSDF: [number, number],
216
- texSizeIcon: [number, number]
204
+ functionType: string,
205
+ size: {
206
+ uSizeT: number;
207
+ uSize: number;
208
+ },
209
+ rotateInShader: boolean,
210
+ pitchWithMap: boolean,
211
+ painter: Painter,
212
+ matrix: mat4,
213
+ labelPlaneMatrix: mat4,
214
+ glCoordMatrix: mat4,
215
+ texSizeSDF: [number, number],
216
+ texSizeIcon: [number, number]
217
217
  ): UniformValues<SymbolIconUniformsType> => {
218
218
  return extend(symbolSDFUniformValues(functionType, size,
219
219
  rotateInShader, pitchWithMap, painter, matrix, labelPlaneMatrix,
@@ -35,16 +35,16 @@ class Program<Us extends UniformBindings> {
35
35
  failedToCreate: boolean;
36
36
 
37
37
  constructor(context: Context,
38
- name: string,
39
- source: {
40
- fragmentSource: string;
41
- vertexSource: string;
42
- staticAttributes: Array<string>;
43
- staticUniforms: Array<string>;
44
- },
45
- configuration: ProgramConfiguration,
46
- fixedUniforms: (b: Context, a: UniformLocations) => Us,
47
- showOverdrawInspector: boolean) {
38
+ name: string,
39
+ source: {
40
+ fragmentSource: string;
41
+ vertexSource: string;
42
+ staticAttributes: Array<string>;
43
+ staticUniforms: Array<string>;
44
+ },
45
+ configuration: ProgramConfiguration,
46
+ fixedUniforms: (b: Context, a: UniformLocations) => Us,
47
+ showOverdrawInspector: boolean) {
48
48
  const gl = context.gl;
49
49
  this.program = gl.createProgram();
50
50
 
@@ -121,21 +121,21 @@ class Program<Us extends UniformBindings> {
121
121
  }
122
122
 
123
123
  draw(context: Context,
124
- drawMode: DrawMode,
125
- depthMode: Readonly<DepthMode>,
126
- stencilMode: Readonly<StencilMode>,
127
- colorMode: Readonly<ColorMode>,
128
- cullFaceMode: Readonly<CullFaceMode>,
129
- uniformValues: UniformValues<Us>,
130
- layerID: string,
131
- layoutVertexBuffer: VertexBuffer,
132
- indexBuffer: IndexBuffer,
133
- segments: SegmentVector,
134
- currentProperties?: any,
135
- zoom?: number | null,
136
- configuration?: ProgramConfiguration | null,
137
- dynamicLayoutBuffer?: VertexBuffer | null,
138
- dynamicLayoutBuffer2?: VertexBuffer | null) {
124
+ drawMode: DrawMode,
125
+ depthMode: Readonly<DepthMode>,
126
+ stencilMode: Readonly<StencilMode>,
127
+ colorMode: Readonly<ColorMode>,
128
+ cullFaceMode: Readonly<CullFaceMode>,
129
+ uniformValues: UniformValues<Us>,
130
+ layerID: string,
131
+ layoutVertexBuffer: VertexBuffer,
132
+ indexBuffer: IndexBuffer,
133
+ segments: SegmentVector,
134
+ currentProperties?: any,
135
+ zoom?: number | null,
136
+ configuration?: ProgramConfiguration | null,
137
+ dynamicLayoutBuffer?: VertexBuffer | null,
138
+ dynamicLayoutBuffer2?: VertexBuffer | null) {
139
139
 
140
140
  const gl = context.gl;
141
141
 
@@ -7,9 +7,9 @@ export type TextureFilter = WebGLRenderingContext['LINEAR'] | WebGLRenderingCont
7
7
  export type TextureWrap = WebGLRenderingContext['REPEAT'] | WebGLRenderingContext['CLAMP_TO_EDGE'] | WebGLRenderingContext['MIRRORED_REPEAT'];
8
8
 
9
9
  type EmptyImage = {
10
- width: number;
11
- height: number;
12
- data: null;
10
+ width: number;
11
+ height: number;
12
+ data: null;
13
13
  };
14
14
 
15
15
  type DataTextureImage = RGBAImage | AlphaImage | EmptyImage;
@@ -25,8 +25,8 @@ class Texture {
25
25
  useMipmap: boolean;
26
26
 
27
27
  constructor(context: Context, image: TextureImage, format: TextureFormat, options?: {
28
- premultiply?: boolean;
29
- useMipmap?: boolean;
28
+ premultiply?: boolean;
29
+ useMipmap?: boolean;
30
30
  } | null) {
31
31
  this.context = context;
32
32
  this.format = format;
@@ -35,11 +35,11 @@ class Texture {
35
35
  }
36
36
 
37
37
  update(image: TextureImage, options?: {
38
- premultiply?: boolean;
39
- useMipmap?: boolean;
38
+ premultiply?: boolean;
39
+ useMipmap?: boolean;
40
40
  } | null, position?: {
41
- x: number;
42
- y: number;
41
+ x: number;
42
+ y: number;
43
43
  }) {
44
44
  const {width, height} = image;
45
45
  const resize = (!this.size || this.size[0] !== width || this.size[1] !== height) && !position;
@@ -4,7 +4,7 @@ import type Context from '../gl/context';
4
4
  import {mat4, vec2, vec3, vec4} from 'gl-matrix';
5
5
 
6
6
  type $ObjMap<T extends {}, F extends (v: any) => any> = {
7
- [K in keyof T]: F extends (v: T[K]) => infer R ? R : never;
7
+ [K in keyof T]: F extends (v: T[K]) => infer R ? R : never;
8
8
  };
9
9
 
10
10
  export type UniformValues<Us extends any> = $ObjMap<Us, <V>(u: Uniform<V>) => V>;
@@ -27,13 +27,13 @@ class VertexArrayObject {
27
27
  }
28
28
 
29
29
  bind(context: Context,
30
- program: Program<any>,
31
- layoutVertexBuffer: VertexBuffer,
32
- paintVertexBuffers: Array<VertexBuffer>,
33
- indexBuffer?: IndexBuffer | null,
34
- vertexOffset?: number | null,
35
- dynamicVertexBuffer?: VertexBuffer | null,
36
- dynamicVertexBuffer2?: VertexBuffer | null) {
30
+ program: Program<any>,
31
+ layoutVertexBuffer: VertexBuffer,
32
+ paintVertexBuffers: Array<VertexBuffer>,
33
+ indexBuffer?: IndexBuffer | null,
34
+ vertexOffset?: number | null,
35
+ dynamicVertexBuffer?: VertexBuffer | null,
36
+ dynamicVertexBuffer2?: VertexBuffer | null) {
37
37
 
38
38
  this.context = context;
39
39
 
@@ -76,12 +76,12 @@ class VertexArrayObject {
76
76
  }
77
77
 
78
78
  freshBind(program: Program<any>,
79
- layoutVertexBuffer: VertexBuffer,
80
- paintVertexBuffers: Array<VertexBuffer>,
81
- indexBuffer?: IndexBuffer | null,
82
- vertexOffset?: number | null,
83
- dynamicVertexBuffer?: VertexBuffer | null,
84
- dynamicVertexBuffer2?: VertexBuffer | null) {
79
+ layoutVertexBuffer: VertexBuffer,
80
+ paintVertexBuffers: Array<VertexBuffer>,
81
+ indexBuffer?: IndexBuffer | null,
82
+ vertexOffset?: number | null,
83
+ dynamicVertexBuffer?: VertexBuffer | null,
84
+ dynamicVertexBuffer2?: VertexBuffer | null) {
85
85
  let numPrevAttributes;
86
86
  const numNextAttributes = program.numAttributes;
87
87
 
@@ -0,0 +1,2 @@
1
+ // This file is generated. Edit build/generate-shaders.ts, then run `npm run codegen`.
2
+ export default '#ifdef GL_ES\nprecision mediump float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif';
@@ -0,0 +1,2 @@
1
+ // This file is generated. Edit build/generate-shaders.ts, then run `npm run codegen`.
2
+ export default '#ifdef GL_ES\nprecision highp float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}';
@@ -0,0 +1,2 @@
1
+ // This file is generated. Edit build/generate-shaders.ts, then run `npm run codegen`.
2
+ export default 'uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}';
@@ -0,0 +1,2 @@
1
+ // This file is generated. Edit build/generate-shaders.ts, then run `npm run codegen`.
2
+ export default 'attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}';
@@ -0,0 +1,2 @@
1
+ // This file is generated. Edit build/generate-shaders.ts, then run `npm run codegen`.
2
+ export default 'uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}';
@@ -0,0 +1,2 @@
1
+ // This file is generated. Edit build/generate-shaders.ts, then run `npm run codegen`.
2
+ export default 'uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}';
@@ -0,0 +1,2 @@
1
+ // This file is generated. Edit build/generate-shaders.ts, then run `npm run codegen`.
2
+ export default 'varying vec3 v_data;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}';