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
@@ -10,26 +10,26 @@ import type {RequestManager} from '../util/request_manager';
10
10
  import type {Callback} from '../types/callback';
11
11
 
12
12
  type Entry = {
13
- // null means we've requested the range, but the glyph wasn't included in the result.
14
- glyphs: {
15
- [id: number]: StyleGlyph | null;
16
- };
17
- requests: {
18
- [range: number]: Array<Callback<{
19
- [_: number]: StyleGlyph | null;
20
- }>>;
21
- };
22
- ranges: {
23
- [range: number]: boolean | null;
24
- };
25
- tinySDF?: TinySDF;
13
+ // null means we've requested the range, but the glyph wasn't included in the result.
14
+ glyphs: {
15
+ [id: number]: StyleGlyph | null;
16
+ };
17
+ requests: {
18
+ [range: number]: Array<Callback<{
19
+ [_: number]: StyleGlyph | null;
20
+ }>>;
21
+ };
22
+ ranges: {
23
+ [range: number]: boolean | null;
24
+ };
25
+ tinySDF?: TinySDF;
26
26
  };
27
27
 
28
28
  export default class GlyphManager {
29
29
  requestManager: RequestManager;
30
30
  localIdeographFontFamily: string;
31
31
  entries: {
32
- [_: string]: Entry;
32
+ [_: string]: Entry;
33
33
  };
34
34
  url: string;
35
35
 
@@ -48,11 +48,11 @@ export default class GlyphManager {
48
48
  }
49
49
 
50
50
  getGlyphs(glyphs: {
51
- [stack: string]: Array<number>;
51
+ [stack: string]: Array<number>;
52
52
  }, callback: Callback<{
53
- [stack: string]: {
54
- [id: number]: StyleGlyph;
55
- };
53
+ [stack: string]: {
54
+ [id: number]: StyleGlyph;
55
+ };
56
56
  }>) {
57
57
  const all = [];
58
58
 
@@ -63,9 +63,9 @@ export default class GlyphManager {
63
63
  }
64
64
 
65
65
  asyncAll(all, ({stack, id}, callback: Callback<{
66
- stack: string;
67
- id: number;
68
- glyph: StyleGlyph;
66
+ stack: string;
67
+ id: number;
68
+ glyph: StyleGlyph;
69
69
  }>) => {
70
70
  let entry = this.entries[stack];
71
71
  if (!entry) {
@@ -105,7 +105,7 @@ export default class GlyphManager {
105
105
  requests = entry.requests[range] = [];
106
106
  GlyphManager.loadGlyphRange(stack, range, this.url, this.requestManager,
107
107
  (err, response?: {
108
- [_: number]: StyleGlyph | null;
108
+ [_: number]: StyleGlyph | null;
109
109
  } | null) => {
110
110
  if (response) {
111
111
  for (const id in response) {
@@ -123,7 +123,7 @@ export default class GlyphManager {
123
123
  }
124
124
 
125
125
  requests.push((err, result?: {
126
- [_: number]: StyleGlyph | null;
126
+ [_: number]: StyleGlyph | null;
127
127
  } | null) => {
128
128
  if (err) {
129
129
  callback(err);
@@ -132,9 +132,9 @@ export default class GlyphManager {
132
132
  }
133
133
  });
134
134
  }, (err, glyphs?: Array<{
135
- stack: string;
136
- id: number;
137
- glyph: StyleGlyph;
135
+ stack: string;
136
+ id: number;
137
+ glyph: StyleGlyph;
138
138
  }> | null) => {
139
139
  if (err) {
140
140
  callback(err);
@@ -195,15 +195,16 @@ export default class GlyphManager {
195
195
  });
196
196
  }
197
197
 
198
+ const char = tinySDF.draw(String.fromCharCode(id));
198
199
  return {
199
200
  id,
200
- bitmap: new AlphaImage({width: 30, height: 30}, tinySDF.draw(String.fromCharCode(id)).data),
201
+ bitmap: new AlphaImage({width: char.width || 30, height: char.height || 30}, char.data),
201
202
  metrics: {
202
- width: 24,
203
- height: 24,
204
- left: 0,
205
- top: -8,
206
- advance: 24
203
+ width: char.glyphWidth || 24,
204
+ height: char.glyphHeight || 24,
205
+ left: char.glyphLeft || 0,
206
+ top: char.glyphTop || -8,
207
+ advance: char.glyphAdvance || 24
207
208
  }
208
209
  };
209
210
  }
@@ -14,8 +14,8 @@ import type {PotpackBox} from 'potpack';
14
14
  import type {Callback} from '../types/callback';
15
15
 
16
16
  type Pattern = {
17
- bin: PotpackBox;
18
- position: ImagePosition;
17
+ bin: PotpackBox;
18
+ position: ImagePosition;
19
19
  };
20
20
 
21
21
  // When copied into the atlas texture, image data is padded by one pixel on each side. Icon
@@ -41,8 +41,8 @@ class ImageManager extends Evented {
41
41
  callbackDispatchedThisFrame: {[_: string]: boolean};
42
42
  loaded: boolean;
43
43
  requestors: Array<{
44
- ids: Array<string>;
45
- callback: Callback<{[_: string]: StyleImage}>;
44
+ ids: Array<string>;
45
+ callback: Callback<{[_: string]: StyleImage}>;
46
46
  }>;
47
47
 
48
48
  patterns: {[_: string]: Pattern};
@@ -5,7 +5,7 @@ import SourceCache from '../source/source_cache';
5
5
  import EXTENT from '../data/extent';
6
6
  import pixelsToTileUnits from '../source/pixels_to_tile_units';
7
7
  import SegmentVector from '../data/segment';
8
- import {RasterBoundsArray, PosArray, TriangleIndexArray, LineStripIndexArray} from '../data/array_types';
8
+ import {RasterBoundsArray, PosArray, TriangleIndexArray, LineStripIndexArray} from '../data/array_types.g';
9
9
  import rasterBoundsAttributes from '../data/raster_bounds_attributes';
10
10
  import posAttributes from '../data/pos_attributes';
11
11
  import ProgramConfiguration from '../data/program_configuration';
@@ -65,14 +65,14 @@ import type {RGBAImage} from '../util/image';
65
65
  export type RenderPass = 'offscreen' | 'opaque' | 'translucent';
66
66
 
67
67
  type PainterOptions = {
68
- showOverdrawInspector: boolean;
69
- showTileBoundaries: boolean;
70
- showPadding: boolean;
71
- rotating: boolean;
72
- zooming: boolean;
73
- moving: boolean;
74
- gpuTiming: boolean;
75
- fadeDuration: number;
68
+ showOverdrawInspector: boolean;
69
+ showTileBoundaries: boolean;
70
+ showPadding: boolean;
71
+ rotating: boolean;
72
+ zooming: boolean;
73
+ moving: boolean;
74
+ gpuTiming: boolean;
75
+ fadeDuration: number;
76
76
  };
77
77
 
78
78
  /**
@@ -85,7 +85,7 @@ class Painter {
85
85
  context: Context;
86
86
  transform: Transform;
87
87
  _tileTextures: {
88
- [_: number]: Array<Texture>;
88
+ [_: number]: Array<Texture>;
89
89
  };
90
90
  numSublayers: number;
91
91
  depthEpsilon: number;
@@ -305,7 +305,7 @@ class Painter {
305
305
  * Returns [StencilMode for tile overscaleZ map, sortedCoords].
306
306
  */
307
307
  stencilConfigForOverlap(tileIDs: Array<OverscaledTileID>): [{
308
- [_: number]: Readonly<StencilMode>;
308
+ [_: number]: Readonly<StencilMode>;
309
309
  }, Array<OverscaledTileID>] {
310
310
  const gl = this.context.gl;
311
311
  const coords = tileIDs.sort((a, b) => b.overscaledZ - a.overscaledZ);
@@ -19,29 +19,29 @@ import type ResolvedImage from '../../style-spec/expression/types/resolved_image
19
19
  import {mat4} from 'gl-matrix';
20
20
 
21
21
  export type BackgroundUniformsType = {
22
- 'u_matrix': UniformMatrix4f;
23
- 'u_opacity': Uniform1f;
24
- 'u_color': UniformColor;
22
+ 'u_matrix': UniformMatrix4f;
23
+ 'u_opacity': Uniform1f;
24
+ 'u_color': UniformColor;
25
25
  };
26
26
 
27
27
  export type BackgroundPatternUniformsType = {
28
- 'u_matrix': UniformMatrix4f;
29
- 'u_opacity': Uniform1f;
30
- // pattern uniforms:
31
- 'u_image': Uniform1i;
32
- 'u_pattern_tl_a': Uniform2f;
33
- 'u_pattern_br_a': Uniform2f;
34
- 'u_pattern_tl_b': Uniform2f;
35
- 'u_pattern_br_b': Uniform2f;
36
- 'u_texsize': Uniform2f;
37
- 'u_mix': Uniform1f;
38
- 'u_pattern_size_a': Uniform2f;
39
- 'u_pattern_size_b': Uniform2f;
40
- 'u_scale_a': Uniform1f;
41
- 'u_scale_b': Uniform1f;
42
- 'u_pixel_coord_upper': Uniform2f;
43
- 'u_pixel_coord_lower': Uniform2f;
44
- 'u_tile_units_to_pixels': Uniform1f;
28
+ 'u_matrix': UniformMatrix4f;
29
+ 'u_opacity': Uniform1f;
30
+ // pattern uniforms:
31
+ 'u_image': Uniform1i;
32
+ 'u_pattern_tl_a': Uniform2f;
33
+ 'u_pattern_br_a': Uniform2f;
34
+ 'u_pattern_tl_b': Uniform2f;
35
+ 'u_pattern_br_b': Uniform2f;
36
+ 'u_texsize': Uniform2f;
37
+ 'u_mix': Uniform1f;
38
+ 'u_pattern_size_a': Uniform2f;
39
+ 'u_pattern_size_b': Uniform2f;
40
+ 'u_scale_a': Uniform1f;
41
+ 'u_scale_b': Uniform1f;
42
+ 'u_pixel_coord_upper': Uniform2f;
43
+ 'u_pixel_coord_lower': Uniform2f;
44
+ 'u_tile_units_to_pixels': Uniform1f;
45
45
  };
46
46
 
47
47
  const backgroundUniforms = (context: Context, locations: UniformLocations): BackgroundUniformsType => ({
@@ -76,15 +76,15 @@ const backgroundUniformValues = (matrix: mat4, opacity: number, color: Color): U
76
76
  });
77
77
 
78
78
  const backgroundPatternUniformValues = (
79
- matrix: mat4,
80
- opacity: number,
81
- painter: Painter,
82
- image: CrossFaded<ResolvedImage>,
83
- tile: {
84
- tileID: OverscaledTileID;
85
- tileSize: number;
86
- },
87
- crossfade: CrossfadeParameters
79
+ matrix: mat4,
80
+ opacity: number,
81
+ painter: Painter,
82
+ image: CrossFaded<ResolvedImage>,
83
+ tile: {
84
+ tileID: OverscaledTileID;
85
+ tileSize: number;
86
+ },
87
+ crossfade: CrossfadeParameters
88
88
  ): UniformValues<BackgroundPatternUniformsType> => extend(
89
89
  bgPatternUniformValues(image, crossfade, painter, tile),
90
90
  {
@@ -9,12 +9,12 @@ import type CircleStyleLayer from '../../style/style_layer/circle_style_layer';
9
9
  import type Painter from '../painter';
10
10
 
11
11
  export type CircleUniformsType = {
12
- 'u_camera_to_center_distance': Uniform1f;
13
- 'u_scale_with_map': Uniform1i;
14
- 'u_pitch_with_map': Uniform1i;
15
- 'u_extrude_scale': Uniform2f;
16
- 'u_device_pixel_ratio': Uniform1f;
17
- 'u_matrix': UniformMatrix4f;
12
+ 'u_camera_to_center_distance': Uniform1f;
13
+ 'u_scale_with_map': Uniform1i;
14
+ 'u_pitch_with_map': Uniform1i;
15
+ 'u_extrude_scale': Uniform2f;
16
+ 'u_device_pixel_ratio': Uniform1f;
17
+ 'u_matrix': UniformMatrix4f;
18
18
  };
19
19
 
20
20
  const circleUniforms = (context: Context, locations: UniformLocations): CircleUniformsType => ({
@@ -27,10 +27,10 @@ const circleUniforms = (context: Context, locations: UniformLocations): CircleUn
27
27
  });
28
28
 
29
29
  const circleUniformValues = (
30
- painter: Painter,
31
- coord: OverscaledTileID,
32
- tile: Tile,
33
- layer: CircleStyleLayer
30
+ painter: Painter,
31
+ coord: OverscaledTileID,
32
+ tile: Tile,
33
+ layer: CircleStyleLayer
34
34
  ): UniformValues<CircleUniformsType> => {
35
35
  const transform = painter.transform;
36
36
 
@@ -5,7 +5,7 @@ import type {UniformValues, UniformLocations} from '../uniform_binding';
5
5
  import {mat4} from 'gl-matrix';
6
6
 
7
7
  export type ClippingMaskUniformsType = {
8
- 'u_matrix': UniformMatrix4f;
8
+ 'u_matrix': UniformMatrix4f;
9
9
  };
10
10
 
11
11
  const clippingMaskUniforms = (context: Context, locations: UniformLocations): ClippingMaskUniformsType => ({
@@ -8,18 +8,18 @@ import type Tile from '../../source/tile';
8
8
  import {mat4} from 'gl-matrix';
9
9
 
10
10
  export type CollisionUniformsType = {
11
- 'u_matrix': UniformMatrix4f;
12
- 'u_camera_to_center_distance': Uniform1f;
13
- 'u_pixels_to_tile_units': Uniform1f;
14
- 'u_extrude_scale': Uniform2f;
15
- 'u_overscale_factor': Uniform1f;
11
+ 'u_matrix': UniformMatrix4f;
12
+ 'u_camera_to_center_distance': Uniform1f;
13
+ 'u_pixels_to_tile_units': Uniform1f;
14
+ 'u_extrude_scale': Uniform2f;
15
+ 'u_overscale_factor': Uniform1f;
16
16
  };
17
17
 
18
18
  export type CollisionCircleUniformsType = {
19
- 'u_matrix': UniformMatrix4f;
20
- 'u_inv_matrix': UniformMatrix4f;
21
- 'u_camera_to_center_distance': Uniform1f;
22
- 'u_viewport_size': Uniform2f;
19
+ 'u_matrix': UniformMatrix4f;
20
+ 'u_inv_matrix': UniformMatrix4f;
21
+ 'u_camera_to_center_distance': Uniform1f;
22
+ 'u_viewport_size': Uniform2f;
23
23
  };
24
24
 
25
25
  const collisionUniforms = (context: Context, locations: UniformLocations): CollisionUniformsType => ({
@@ -6,10 +6,10 @@ import type Color from '../../style-spec/util/color';
6
6
  import {mat4} from 'gl-matrix';
7
7
 
8
8
  export type DebugUniformsType = {
9
- 'u_color': UniformColor;
10
- 'u_matrix': UniformMatrix4f;
11
- 'u_overlay': Uniform1i;
12
- 'u_overlay_scale': Uniform1f;
9
+ 'u_color': UniformColor;
10
+ 'u_matrix': UniformMatrix4f;
11
+ 'u_overlay': Uniform1i;
12
+ 'u_overlay_scale': Uniform1f;
13
13
  };
14
14
 
15
15
  const debugUniforms = (context: Context, locations: UniformLocations): DebugUniformsType => ({
@@ -18,29 +18,29 @@ import type {CrossfadeParameters} from '../../style/evaluation_parameters';
18
18
  import type Tile from '../../source/tile';
19
19
 
20
20
  export type FillExtrusionUniformsType = {
21
- 'u_matrix': UniformMatrix4f;
22
- 'u_lightpos': Uniform3f;
23
- 'u_lightintensity': Uniform1f;
24
- 'u_lightcolor': Uniform3f;
25
- 'u_vertical_gradient': Uniform1f;
26
- 'u_opacity': Uniform1f;
21
+ 'u_matrix': UniformMatrix4f;
22
+ 'u_lightpos': Uniform3f;
23
+ 'u_lightintensity': Uniform1f;
24
+ 'u_lightcolor': Uniform3f;
25
+ 'u_vertical_gradient': Uniform1f;
26
+ 'u_opacity': Uniform1f;
27
27
  };
28
28
 
29
29
  export type FillExtrusionPatternUniformsType = {
30
- 'u_matrix': UniformMatrix4f;
31
- 'u_lightpos': Uniform3f;
32
- 'u_lightintensity': Uniform1f;
33
- 'u_lightcolor': Uniform3f;
34
- 'u_height_factor': Uniform1f;
35
- 'u_vertical_gradient': Uniform1f;
36
- // pattern uniforms:
37
- 'u_texsize': Uniform2f;
38
- 'u_image': Uniform1i;
39
- 'u_pixel_coord_upper': Uniform2f;
40
- 'u_pixel_coord_lower': Uniform2f;
41
- 'u_scale': Uniform3f;
42
- 'u_fade': Uniform1f;
43
- 'u_opacity': Uniform1f;
30
+ 'u_matrix': UniformMatrix4f;
31
+ 'u_lightpos': Uniform3f;
32
+ 'u_lightintensity': Uniform1f;
33
+ 'u_lightcolor': Uniform3f;
34
+ 'u_height_factor': Uniform1f;
35
+ 'u_vertical_gradient': Uniform1f;
36
+ // pattern uniforms:
37
+ 'u_texsize': Uniform2f;
38
+ 'u_image': Uniform1i;
39
+ 'u_pixel_coord_upper': Uniform2f;
40
+ 'u_pixel_coord_lower': Uniform2f;
41
+ 'u_scale': Uniform3f;
42
+ 'u_fade': Uniform1f;
43
+ 'u_opacity': Uniform1f;
44
44
  };
45
45
 
46
46
  const fillExtrusionUniforms = (context: Context, locations: UniformLocations): FillExtrusionUniformsType => ({
@@ -70,10 +70,10 @@ const fillExtrusionPatternUniforms = (context: Context, locations: UniformLocati
70
70
  });
71
71
 
72
72
  const fillExtrusionUniformValues = (
73
- matrix: mat4,
74
- painter: Painter,
75
- shouldUseVerticalGradient: boolean,
76
- opacity: number
73
+ matrix: mat4,
74
+ painter: Painter,
75
+ shouldUseVerticalGradient: boolean,
76
+ opacity: number
77
77
  ): UniformValues<FillExtrusionUniformsType> => {
78
78
  const light = painter.style.light;
79
79
  const _lp = light.properties.get('position');
@@ -97,13 +97,13 @@ const fillExtrusionUniformValues = (
97
97
  };
98
98
 
99
99
  const fillExtrusionPatternUniformValues = (
100
- matrix: mat4,
101
- painter: Painter,
102
- shouldUseVerticalGradient: boolean,
103
- opacity: number,
104
- coord: OverscaledTileID,
105
- crossfade: CrossfadeParameters,
106
- tile: Tile
100
+ matrix: mat4,
101
+ painter: Painter,
102
+ shouldUseVerticalGradient: boolean,
103
+ opacity: number,
104
+ coord: OverscaledTileID,
105
+ crossfade: CrossfadeParameters,
106
+ tile: Tile
107
107
  ): UniformValues<FillExtrusionPatternUniformsType> => {
108
108
  return extend(fillExtrusionUniformValues(matrix, painter, shouldUseVerticalGradient, opacity),
109
109
  patternUniformValues(crossfade, painter, tile),
@@ -16,35 +16,35 @@ import type Tile from '../../source/tile';
16
16
  import {mat4} from 'gl-matrix';
17
17
 
18
18
  export type FillUniformsType = {
19
- 'u_matrix': UniformMatrix4f;
19
+ 'u_matrix': UniformMatrix4f;
20
20
  };
21
21
 
22
22
  export type FillOutlineUniformsType = {
23
- 'u_matrix': UniformMatrix4f;
24
- 'u_world': Uniform2f;
23
+ 'u_matrix': UniformMatrix4f;
24
+ 'u_world': Uniform2f;
25
25
  };
26
26
 
27
27
  export type FillPatternUniformsType = {
28
- 'u_matrix': UniformMatrix4f;
29
- // pattern uniforms:
30
- 'u_texsize': Uniform2f;
31
- 'u_image': Uniform1i;
32
- 'u_pixel_coord_upper': Uniform2f;
33
- 'u_pixel_coord_lower': Uniform2f;
34
- 'u_scale': Uniform3f;
35
- 'u_fade': Uniform1f;
28
+ 'u_matrix': UniformMatrix4f;
29
+ // pattern uniforms:
30
+ 'u_texsize': Uniform2f;
31
+ 'u_image': Uniform1i;
32
+ 'u_pixel_coord_upper': Uniform2f;
33
+ 'u_pixel_coord_lower': Uniform2f;
34
+ 'u_scale': Uniform3f;
35
+ 'u_fade': Uniform1f;
36
36
  };
37
37
 
38
38
  export type FillOutlinePatternUniformsType = {
39
- 'u_matrix': UniformMatrix4f;
40
- 'u_world': Uniform2f;
41
- // pattern uniforms:
42
- 'u_texsize': Uniform2f;
43
- 'u_image': Uniform1i;
44
- 'u_pixel_coord_upper': Uniform2f;
45
- 'u_pixel_coord_lower': Uniform2f;
46
- 'u_scale': Uniform3f;
47
- 'u_fade': Uniform1f;
39
+ 'u_matrix': UniformMatrix4f;
40
+ 'u_world': Uniform2f;
41
+ // pattern uniforms:
42
+ 'u_texsize': Uniform2f;
43
+ 'u_image': Uniform1i;
44
+ 'u_pixel_coord_upper': Uniform2f;
45
+ 'u_pixel_coord_lower': Uniform2f;
46
+ 'u_scale': Uniform3f;
47
+ 'u_fade': Uniform1f;
48
48
  };
49
49
 
50
50
  const fillUniforms = (context: Context, locations: UniformLocations): FillUniformsType => ({
@@ -82,10 +82,10 @@ const fillUniformValues = (matrix: mat4): UniformValues<FillUniformsType> => ({
82
82
  });
83
83
 
84
84
  const fillPatternUniformValues = (
85
- matrix: mat4,
86
- painter: Painter,
87
- crossfade: CrossfadeParameters,
88
- tile: Tile
85
+ matrix: mat4,
86
+ painter: Painter,
87
+ crossfade: CrossfadeParameters,
88
+ tile: Tile
89
89
  ): UniformValues<FillPatternUniformsType> => extend(
90
90
  fillUniformValues(matrix),
91
91
  patternUniformValues(crossfade, painter, tile)
@@ -97,11 +97,11 @@ const fillOutlineUniformValues = (matrix: mat4, drawingBufferSize: [number, numb
97
97
  });
98
98
 
99
99
  const fillOutlinePatternUniformValues = (
100
- matrix: mat4,
101
- painter: Painter,
102
- crossfade: CrossfadeParameters,
103
- tile: Tile,
104
- drawingBufferSize: [number, number]
100
+ matrix: mat4,
101
+ painter: Painter,
102
+ crossfade: CrossfadeParameters,
103
+ tile: Tile,
104
+ drawingBufferSize: [number, number]
105
105
  ): UniformValues<FillOutlinePatternUniformsType> => extend(
106
106
  fillPatternUniformValues(matrix, painter, crossfade, tile),
107
107
  {
@@ -15,17 +15,17 @@ import type Painter from '../painter';
15
15
  import type HeatmapStyleLayer from '../../style/style_layer/heatmap_style_layer';
16
16
 
17
17
  export type HeatmapUniformsType = {
18
- 'u_extrude_scale': Uniform1f;
19
- 'u_intensity': Uniform1f;
20
- 'u_matrix': UniformMatrix4f;
18
+ 'u_extrude_scale': Uniform1f;
19
+ 'u_intensity': Uniform1f;
20
+ 'u_matrix': UniformMatrix4f;
21
21
  };
22
22
 
23
23
  export type HeatmapTextureUniformsType = {
24
- 'u_matrix': UniformMatrix4f;
25
- 'u_world': Uniform2f;
26
- 'u_image': Uniform1i;
27
- 'u_color_ramp': Uniform1i;
28
- 'u_opacity': Uniform1f;
24
+ 'u_matrix': UniformMatrix4f;
25
+ 'u_world': Uniform2f;
26
+ 'u_image': Uniform1i;
27
+ 'u_color_ramp': Uniform1i;
28
+ 'u_opacity': Uniform1f;
29
29
  };
30
30
 
31
31
  const heatmapUniforms = (context: Context, locations: UniformLocations): HeatmapUniformsType => ({
@@ -49,10 +49,10 @@ const heatmapUniformValues = (matrix: mat4, tile: Tile, zoom: number, intensity:
49
49
  });
50
50
 
51
51
  const heatmapTextureUniformValues = (
52
- painter: Painter,
53
- layer: HeatmapStyleLayer,
54
- textureUnit: number,
55
- colorRampUnit: number
52
+ painter: Painter,
53
+ layer: HeatmapStyleLayer,
54
+ textureUnit: number,
55
+ colorRampUnit: number
56
56
  ): UniformValues<HeatmapTextureUniformsType> => {
57
57
  const matrix = mat4.create();
58
58
  mat4.ortho(matrix, 0, painter.width, painter.height, 0, 0, 1);
@@ -20,21 +20,21 @@ import type DEMData from '../../data/dem_data';
20
20
  import type {OverscaledTileID} from '../../source/tile_id';
21
21
 
22
22
  export type HillshadeUniformsType = {
23
- 'u_matrix': UniformMatrix4f;
24
- 'u_image': Uniform1i;
25
- 'u_latrange': Uniform2f;
26
- 'u_light': Uniform2f;
27
- 'u_shadow': UniformColor;
28
- 'u_highlight': UniformColor;
29
- 'u_accent': UniformColor;
23
+ 'u_matrix': UniformMatrix4f;
24
+ 'u_image': Uniform1i;
25
+ 'u_latrange': Uniform2f;
26
+ 'u_light': Uniform2f;
27
+ 'u_shadow': UniformColor;
28
+ 'u_highlight': UniformColor;
29
+ 'u_accent': UniformColor;
30
30
  };
31
31
 
32
32
  export type HillshadePrepareUniformsType = {
33
- 'u_matrix': UniformMatrix4f;
34
- 'u_image': Uniform1i;
35
- 'u_dimension': Uniform2f;
36
- 'u_zoom': Uniform1f;
37
- 'u_unpack': Uniform4f;
33
+ 'u_matrix': UniformMatrix4f;
34
+ 'u_image': Uniform1i;
35
+ 'u_dimension': Uniform2f;
36
+ 'u_zoom': Uniform1f;
37
+ 'u_unpack': Uniform4f;
38
38
  };
39
39
 
40
40
  const hillshadeUniforms = (context: Context, locations: UniformLocations): HillshadeUniformsType => ({