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.
- package/build/{banner.js → banner.ts} +1 -1
- package/build/generate-query-test-fixtures.ts +123 -0
- package/build/generate-shaders.ts +35 -0
- package/build/generate-struct-arrays.ts +7 -7
- package/build/generate-style-code.ts +8 -8
- package/build/generate-style-spec.ts +5 -4
- package/build/generate-typings.ts +16 -0
- package/build/readme.md +8 -18
- package/build/release-notes.js +9 -13
- package/build/{rollup_plugin_minify_style_spec.js → rollup_plugin_minify_style_spec.ts} +4 -3
- package/build/{rollup_plugins.js → rollup_plugins.ts} +11 -26
- package/dist/maplibre-gl-dev.js +522 -226
- package/dist/maplibre-gl.css +1 -1
- package/dist/maplibre-gl.d.ts +1536 -1010
- package/dist/maplibre-gl.js +3 -3
- package/dist/maplibre-gl.js.map +1 -1
- package/package.json +40 -61
- package/src/data/{array_types.ts → array_types.g.ts} +0 -0
- package/src/data/bucket/circle_bucket.ts +1 -1
- package/src/data/bucket/fill_bucket.test.ts +1 -1
- package/src/data/bucket/fill_bucket.ts +4 -4
- package/src/data/bucket/fill_extrusion_bucket.ts +1 -1
- package/src/data/bucket/line_bucket.test.ts +1 -1
- package/src/data/bucket/line_bucket.ts +6 -6
- package/src/data/bucket/symbol_bucket.test.ts +16 -16
- package/src/data/bucket/symbol_bucket.ts +53 -53
- package/src/data/bucket.ts +43 -43
- package/src/data/dem_data.ts +12 -12
- package/src/data/evaluation_feature.ts +10 -10
- package/src/data/feature_index.ts +37 -37
- package/src/data/feature_position_map.ts +5 -5
- package/src/data/index_array_type.ts +1 -1
- package/src/data/load_geometry.test.ts +1 -1
- package/src/data/program_configuration.ts +46 -46
- package/src/data/segment.ts +14 -14
- package/src/geo/edge_insets.ts +2 -2
- package/src/geo/lng_lat.ts +4 -4
- package/src/geo/lng_lat_bounds.ts +35 -35
- package/src/geo/mercator_coordinate.ts +5 -5
- package/src/geo/transform.test.ts +1 -1
- package/src/geo/transform.ts +14 -14
- package/src/gl/context.ts +3 -3
- package/src/gl/types.ts +19 -19
- package/src/gl/value.ts +6 -6
- package/src/gl/vertex_buffer.test.ts +1 -1
- package/src/index.ts +24 -9
- package/src/render/draw_circle.ts +8 -8
- package/src/render/draw_collision_debug.ts +5 -5
- package/src/render/draw_line.ts +4 -4
- package/src/render/draw_symbol.ts +21 -21
- package/src/render/glyph_atlas.ts +12 -12
- package/src/render/glyph_manager.test.ts +10 -21
- package/src/render/glyph_manager.ts +33 -32
- package/src/render/image_manager.ts +4 -4
- package/src/render/painter.ts +11 -11
- package/src/render/program/background_program.ts +29 -29
- package/src/render/program/circle_program.ts +10 -10
- package/src/render/program/clipping_mask_program.ts +1 -1
- package/src/render/program/collision_program.ts +9 -9
- package/src/render/program/debug_program.ts +4 -4
- package/src/render/program/fill_extrusion_program.ts +31 -31
- package/src/render/program/fill_program.ts +29 -29
- package/src/render/program/heatmap_program.ts +12 -12
- package/src/render/program/hillshade_program.ts +12 -12
- package/src/render/program/line_program.ts +38 -38
- package/src/render/program/pattern.ts +28 -28
- package/src/render/program/raster_program.ts +21 -21
- package/src/render/program/symbol_program.ts +96 -96
- package/src/render/program.ts +25 -25
- package/src/render/texture.ts +9 -9
- package/src/render/uniform_binding.ts +1 -1
- package/src/render/vertex_array_object.ts +13 -13
- package/src/shaders/_prelude.fragment.glsl.g.ts +2 -0
- package/src/shaders/_prelude.vertex.glsl.g.ts +2 -0
- package/src/shaders/background.fragment.glsl.g.ts +2 -0
- package/src/shaders/background.vertex.glsl.g.ts +2 -0
- package/src/shaders/background_pattern.fragment.glsl.g.ts +2 -0
- package/src/shaders/background_pattern.vertex.glsl.g.ts +2 -0
- package/src/shaders/circle.fragment.glsl.g.ts +2 -0
- package/src/shaders/circle.vertex.glsl.g.ts +2 -0
- package/src/shaders/clipping_mask.fragment.glsl.g.ts +2 -0
- package/src/shaders/clipping_mask.vertex.glsl.g.ts +2 -0
- package/src/shaders/collision_box.fragment.glsl.g.ts +2 -0
- package/src/shaders/collision_box.vertex.glsl.g.ts +2 -0
- package/src/shaders/collision_circle.fragment.glsl.g.ts +2 -0
- package/src/shaders/collision_circle.vertex.glsl.g.ts +2 -0
- package/src/shaders/debug.fragment.glsl.g.ts +2 -0
- package/src/shaders/debug.vertex.glsl.g.ts +2 -0
- package/src/shaders/fill.fragment.glsl.g.ts +2 -0
- package/src/shaders/fill.vertex.glsl.g.ts +2 -0
- package/src/shaders/fill_extrusion.fragment.glsl.g.ts +2 -0
- package/src/shaders/fill_extrusion.vertex.glsl.g.ts +2 -0
- package/src/shaders/fill_extrusion_pattern.fragment.glsl.g.ts +2 -0
- package/src/shaders/fill_extrusion_pattern.vertex.glsl.g.ts +2 -0
- package/src/shaders/fill_outline.fragment.glsl.g.ts +2 -0
- package/src/shaders/fill_outline.vertex.glsl.g.ts +2 -0
- package/src/shaders/fill_outline_pattern.fragment.glsl.g.ts +2 -0
- package/src/shaders/fill_outline_pattern.vertex.glsl.g.ts +2 -0
- package/src/shaders/fill_pattern.fragment.glsl.g.ts +2 -0
- package/src/shaders/fill_pattern.vertex.glsl.g.ts +2 -0
- package/src/shaders/heatmap.fragment.glsl.g.ts +2 -0
- package/src/shaders/heatmap.vertex.glsl.g.ts +2 -0
- package/src/shaders/heatmap_texture.fragment.glsl.g.ts +2 -0
- package/src/shaders/heatmap_texture.vertex.glsl.g.ts +2 -0
- package/src/shaders/hillshade.fragment.glsl.g.ts +2 -0
- package/src/shaders/hillshade.vertex.glsl.g.ts +2 -0
- package/src/shaders/hillshade_prepare.fragment.glsl.g.ts +2 -0
- package/src/shaders/hillshade_prepare.vertex.glsl.g.ts +2 -0
- package/src/shaders/line.fragment.glsl.g.ts +2 -0
- package/src/shaders/line.vertex.glsl.g.ts +2 -0
- package/src/shaders/line_gradient.fragment.glsl.g.ts +2 -0
- package/src/shaders/line_gradient.vertex.glsl.g.ts +2 -0
- package/src/shaders/line_pattern.fragment.glsl.g.ts +2 -0
- package/src/shaders/line_pattern.vertex.glsl.g.ts +2 -0
- package/src/shaders/line_sdf.fragment.glsl.g.ts +2 -0
- package/src/shaders/line_sdf.vertex.glsl.g.ts +2 -0
- package/src/shaders/raster.fragment.glsl.g.ts +2 -0
- package/src/shaders/raster.vertex.glsl.g.ts +2 -0
- package/src/shaders/shaders.ts +52 -55
- package/src/shaders/symbol_icon.fragment.glsl.g.ts +2 -0
- package/src/shaders/symbol_icon.vertex.glsl.g.ts +2 -0
- package/src/shaders/symbol_sdf.fragment.glsl.g.ts +2 -0
- package/src/shaders/symbol_sdf.vertex.glsl.g.ts +2 -0
- package/src/shaders/symbol_text_and_icon.fragment.glsl.g.ts +2 -0
- package/src/shaders/symbol_text_and_icon.vertex.glsl.g.ts +2 -0
- package/src/source/canvas_source.test.ts +11 -12
- package/src/source/canvas_source.ts +4 -4
- package/src/source/geojson_worker_source.ts +23 -23
- package/src/source/geojson_wrapper.ts +8 -8
- package/src/source/image_source.test.ts +2 -2
- package/src/source/image_source.ts +6 -6
- package/src/source/pixels_to_tile_units.ts +6 -6
- package/src/source/query_features.ts +20 -20
- package/src/source/raster_dem_tile_source.test.ts +2 -2
- package/src/source/raster_tile_source.test.ts +2 -2
- package/src/source/rtl_text_plugin.ts +10 -10
- package/src/source/source.ts +29 -29
- package/src/source/source_cache.test.ts +32 -0
- package/src/source/source_cache.ts +7 -5
- package/src/source/source_state.ts +1 -1
- package/src/source/tile.test.ts +3 -3
- package/src/source/tile.ts +15 -15
- package/src/source/tile_cache.ts +6 -6
- package/src/source/tile_id.test.ts +0 -1
- package/src/source/vector_tile_source.test.ts +3 -3
- package/src/source/vector_tile_source.ts +1 -1
- package/src/source/vector_tile_worker_source.test.ts +4 -4
- package/src/source/vector_tile_worker_source.ts +5 -5
- package/src/source/worker.test.ts +1 -1
- package/src/source/worker.ts +22 -22
- package/src/source/worker_source.ts +56 -56
- package/src/source/worker_tile.ts +4 -4
- package/src/style/evaluation_parameters.ts +3 -3
- package/src/style/format_section_override.test.ts +1 -1
- package/src/style/light.ts +10 -10
- package/src/style/load_glyph_range.test.ts +3 -3
- package/src/style/load_glyph_range.ts +6 -6
- package/src/style/load_sprite.ts +4 -4
- package/src/style/pauseable_placement.ts +1 -1
- package/src/style/properties.ts +69 -69
- package/src/style/query_utils.ts +7 -7
- package/src/style/style.test.ts +2 -2
- package/src/style/style.ts +29 -29
- package/src/style/style_glyph.ts +8 -8
- package/src/style/style_image.ts +58 -58
- package/src/style/style_layer/background_style_layer.ts +2 -2
- package/src/style/style_layer/{background_style_layer_properties.ts → background_style_layer_properties.g.ts} +0 -0
- package/src/style/style_layer/circle_style_layer.ts +10 -10
- package/src/style/style_layer/{circle_style_layer_properties.ts → circle_style_layer_properties.g.ts} +0 -0
- package/src/style/style_layer/custom_style_layer.ts +17 -17
- package/src/style/style_layer/fill_extrusion_style_layer.ts +10 -10
- package/src/style/style_layer/{fill_extrusion_style_layer_properties.ts → fill_extrusion_style_layer_properties.g.ts} +0 -0
- package/src/style/style_layer/fill_style_layer.ts +9 -9
- package/src/style/style_layer/{fill_style_layer_properties.ts → fill_style_layer_properties.g.ts} +0 -0
- package/src/style/style_layer/heatmap_style_layer.ts +2 -2
- package/src/style/style_layer/{heatmap_style_layer_properties.ts → heatmap_style_layer_properties.g.ts} +0 -0
- package/src/style/style_layer/hillshade_style_layer.ts +2 -2
- package/src/style/style_layer/{hillshade_style_layer_properties.ts → hillshade_style_layer_properties.g.ts} +0 -0
- package/src/style/style_layer/line_style_layer.ts +9 -9
- package/src/style/style_layer/{line_style_layer_properties.ts → line_style_layer_properties.g.ts} +0 -0
- package/src/style/style_layer/raster_style_layer.ts +2 -2
- package/src/style/style_layer/{raster_style_layer_properties.ts → raster_style_layer_properties.g.ts} +0 -0
- package/src/style/style_layer/symbol_style_layer.ts +7 -7
- package/src/style/style_layer/{symbol_style_layer_properties.ts → symbol_style_layer_properties.g.ts} +0 -0
- package/src/style/style_layer.ts +10 -10
- package/src/style/style_layer_index.ts +3 -3
- package/src/style/validate_style.ts +15 -15
- package/src/style-spec/error/validation_error.ts +1 -1
- package/src/style-spec/expression/compound_expression.ts +3 -3
- package/src/style-spec/expression/definitions/format.ts +11 -11
- package/src/style-spec/expression/definitions/interpolate.ts +5 -5
- package/src/style-spec/expression/definitions/match.ts +2 -2
- package/src/style-spec/expression/definitions/number_format.ts +11 -11
- package/src/style-spec/expression/expression.ts +8 -8
- package/src/style-spec/expression/index.ts +97 -97
- package/src/style-spec/expression/parsing_context.ts +11 -11
- package/src/style-spec/expression/types/collator.ts +9 -9
- package/src/style-spec/expression/types/resolved_image.ts +2 -2
- package/src/style-spec/expression/types.ts +14 -14
- package/src/style-spec/expression/values.ts +1 -1
- package/src/style-spec/feature_filter/index.ts +66 -66
- package/src/style-spec/function/convert.ts +3 -3
- package/src/style-spec/style-spec.ts +44 -44
- package/src/style-spec/util/color_spaces.ts +8 -8
- package/src/style-spec/util/result.ts +4 -4
- package/src/style-spec/validate/validate_filter.ts +58 -58
- package/src/style-spec/validate/validate_source.ts +63 -63
- package/src/style-spec/visit.ts +11 -11
- package/src/symbol/collision_feature.test.ts +1 -1
- package/src/symbol/collision_feature.ts +10 -10
- package/src/symbol/collision_index.ts +26 -26
- package/src/symbol/cross_tile_symbol_index.ts +17 -17
- package/src/symbol/get_anchors.ts +16 -16
- package/src/symbol/grid_index.ts +7 -7
- package/src/symbol/placement.ts +72 -72
- package/src/symbol/projection.ts +30 -30
- package/src/symbol/quads.ts +30 -30
- package/src/symbol/shaping.ts +160 -160
- package/src/symbol/symbol_layout.ts +119 -119
- package/src/symbol/symbol_size.ts +29 -29
- package/src/symbol/symbol_style_layer.test.ts +1 -1
- package/src/types/cancelable.ts +1 -1
- package/src/types/tilejson.ts +13 -13
- package/src/ui/anchor.ts +1 -1
- package/src/ui/camera.test.ts +5 -5
- package/src/ui/camera.ts +18 -18
- package/src/ui/control/attribution_control.test.ts +51 -16
- package/src/ui/control/attribution_control.ts +35 -16
- package/src/ui/control/control.ts +40 -40
- package/src/ui/control/fullscreen_control.ts +1 -1
- package/src/ui/control/geolocate_control.test.ts +1 -1
- package/src/ui/control/geolocate_control.ts +102 -102
- package/src/ui/control/logo_control.test.ts +4 -4
- package/src/ui/control/navigation_control.ts +3 -3
- package/src/ui/control/scale_control.test.ts +2 -2
- package/src/ui/control/scale_control.ts +5 -5
- package/src/ui/events.ts +289 -200
- package/src/ui/handler/box_zoom.test.ts +1 -1
- package/src/ui/handler/box_zoom.ts +1 -1
- package/src/ui/handler/dblclick_zoom.test.ts +1 -1
- package/src/ui/handler/drag_pan.test.ts +1 -1
- package/src/ui/handler/drag_rotate.test.ts +1 -1
- package/src/ui/handler/keyboard.test.ts +1 -1
- package/src/ui/handler/keyboard.ts +51 -51
- package/src/ui/handler/map_event.test.ts +1 -1
- package/src/ui/handler/map_event.ts +1 -1
- package/src/ui/handler/mouse.ts +1 -1
- package/src/ui/handler/mouse_rotate.test.ts +1 -1
- package/src/ui/handler/scroll_zoom.test.ts +1 -1
- package/src/ui/handler/scroll_zoom.ts +9 -9
- package/src/ui/handler/shim/drag_pan.ts +4 -4
- package/src/ui/handler/shim/drag_rotate.ts +1 -1
- package/src/ui/handler/shim/touch_zoom_rotate.ts +1 -1
- package/src/ui/handler/tap_recognizer.ts +4 -4
- package/src/ui/handler/touch_pan.ts +2 -2
- package/src/ui/handler/touch_zoom_rotate.test.ts +1 -1
- package/src/ui/handler/touch_zoom_rotate.ts +1 -1
- package/src/ui/handler_inertia.ts +6 -6
- package/src/ui/handler_manager.ts +44 -44
- package/src/ui/map/isMoving.test.ts +1 -1
- package/src/ui/map/isRotating.test.ts +1 -1
- package/src/ui/map/isZooming.test.ts +1 -1
- package/src/ui/map.test.ts +10 -4
- package/src/ui/map.ts +106 -101
- package/src/ui/map_events.test.ts +1 -1
- package/src/ui/marker.test.ts +12 -12
- package/src/ui/marker.ts +37 -37
- package/src/ui/popup.test.ts +7 -7
- package/src/ui/popup.ts +9 -9
- package/src/util/actor.test.ts +41 -10
- package/src/util/actor.ts +8 -8
- package/src/util/ajax.test.ts +29 -21
- package/src/util/ajax.ts +51 -30
- package/src/util/browser.ts +1 -1
- package/src/util/classify_rings.test.ts +1 -1
- package/src/util/color_ramp.ts +5 -5
- package/src/util/config.ts +2 -2
- package/src/util/dispatcher.ts +1 -1
- package/src/util/dom.ts +2 -2
- package/src/util/evented.ts +1 -1
- package/src/util/find_pole_of_inaccessibility.ts +3 -3
- package/src/util/image.ts +5 -5
- package/src/util/performance.ts +7 -7
- package/src/util/request_manager.ts +4 -4
- package/src/util/resolve_tokens.ts +4 -4
- package/src/util/struct_array.test.ts +1 -1
- package/src/util/struct_array.ts +15 -15
- package/src/util/task_queue.ts +3 -3
- package/src/util/tile_request_cache.ts +3 -3
- package/src/util/transferable_grid_index.ts +4 -4
- package/src/util/util.ts +8 -8
- package/src/util/web_worker.ts +4 -68
- package/src/util/web_worker_transfer.test.ts +3 -0
- package/src/util/web_worker_transfer.ts +21 -17
- package/src/util/worker_pool.ts +1 -1
- package/build/.eslintrc +0 -21
- package/build/glsl_to_js.js +0 -12
- package/build/post-ts-build.js +0 -43
- package/build/release-notes.md.ejs +0 -8
- package/build/test/build-tape.js +0 -17
- package/build/web_worker_replacement.js +0 -5
- package/dist/package.json +0 -1
- package/src/style-spec/validate_spec.test.ts +0 -29
- package/src/symbol/shaping.test.ts +0 -392
- package/src/types/glsl.d.ts +0 -4
package/src/source/worker.ts
CHANGED
|
@@ -31,21 +31,21 @@ export default class Worker {
|
|
|
31
31
|
layerIndexes: {[_: string]: StyleLayerIndex};
|
|
32
32
|
availableImages: {[_: string]: Array<string>};
|
|
33
33
|
workerSourceTypes: {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
[_: string]: {
|
|
35
|
+
new (...args: any): WorkerSource;
|
|
36
|
+
};
|
|
37
37
|
};
|
|
38
38
|
workerSources: {
|
|
39
|
-
[_: string]: {
|
|
40
39
|
[_: string]: {
|
|
41
|
-
|
|
40
|
+
[_: string]: {
|
|
41
|
+
[_: string]: WorkerSource;
|
|
42
|
+
};
|
|
42
43
|
};
|
|
43
|
-
};
|
|
44
44
|
};
|
|
45
45
|
demWorkerSources: {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
[_: string]: {
|
|
47
|
+
[_: string]: RasterDEMTileWorkerSource;
|
|
48
|
+
};
|
|
49
49
|
};
|
|
50
50
|
referrer: string;
|
|
51
51
|
|
|
@@ -66,7 +66,7 @@ export default class Worker {
|
|
|
66
66
|
this.demWorkerSources = {};
|
|
67
67
|
|
|
68
68
|
this.self.registerWorkerSource = (name: string, WorkerSource: {
|
|
69
|
-
|
|
69
|
+
new (...args: any): WorkerSource;
|
|
70
70
|
}) => {
|
|
71
71
|
if (this.workerSourceTypes[name]) {
|
|
72
72
|
throw new Error(`Worker source with name "${name}" already registered.`);
|
|
@@ -76,9 +76,9 @@ export default class Worker {
|
|
|
76
76
|
|
|
77
77
|
// This is invoked by the RTL text plugin when the download via the `importScripts` call has finished, and the code has been parsed.
|
|
78
78
|
this.self.registerRTLTextPlugin = (rtlTextPlugin: {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
79
|
+
applyArabicShaping: Function;
|
|
80
|
+
processBidirectionalText: ((b: string, a: Array<number>) => Array<string>);
|
|
81
|
+
processStyledBidirectionalText?: ((c: string, b: Array<number>, a: Array<number>) => Array<[string, Array<number>]>);
|
|
82
82
|
}) => {
|
|
83
83
|
if (globalRTLTextPlugin.isParsed()) {
|
|
84
84
|
throw new Error('RTL text plugin already registered.');
|
|
@@ -110,15 +110,15 @@ export default class Worker {
|
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
updateLayers(mapId: string, params: {
|
|
113
|
-
|
|
114
|
-
|
|
113
|
+
layers: Array<LayerSpecification>;
|
|
114
|
+
removedIds: Array<string>;
|
|
115
115
|
}, callback: WorkerTileCallback) {
|
|
116
116
|
this.getLayerIndex(mapId).update(params.layers, params.removedIds);
|
|
117
117
|
callback();
|
|
118
118
|
}
|
|
119
119
|
|
|
120
120
|
loadTile(mapId: string, params: WorkerTileParameters & {
|
|
121
|
-
|
|
121
|
+
type: string;
|
|
122
122
|
}, callback: WorkerTileCallback) {
|
|
123
123
|
assert(params.type);
|
|
124
124
|
this.getWorkerSource(mapId, params.type, params.source).loadTile(params, callback);
|
|
@@ -129,21 +129,21 @@ export default class Worker {
|
|
|
129
129
|
}
|
|
130
130
|
|
|
131
131
|
reloadTile(mapId: string, params: WorkerTileParameters & {
|
|
132
|
-
|
|
132
|
+
type: string;
|
|
133
133
|
}, callback: WorkerTileCallback) {
|
|
134
134
|
assert(params.type);
|
|
135
135
|
this.getWorkerSource(mapId, params.type, params.source).reloadTile(params, callback);
|
|
136
136
|
}
|
|
137
137
|
|
|
138
138
|
abortTile(mapId: string, params: TileParameters & {
|
|
139
|
-
|
|
139
|
+
type: string;
|
|
140
140
|
}, callback: WorkerTileCallback) {
|
|
141
141
|
assert(params.type);
|
|
142
142
|
this.getWorkerSource(mapId, params.type, params.source).abortTile(params, callback);
|
|
143
143
|
}
|
|
144
144
|
|
|
145
145
|
removeTile(mapId: string, params: TileParameters & {
|
|
146
|
-
|
|
146
|
+
type: string;
|
|
147
147
|
}, callback: WorkerTileCallback) {
|
|
148
148
|
assert(params.type);
|
|
149
149
|
this.getWorkerSource(mapId, params.type, params.source).removeTile(params, callback);
|
|
@@ -154,9 +154,9 @@ export default class Worker {
|
|
|
154
154
|
}
|
|
155
155
|
|
|
156
156
|
removeSource(mapId: string, params: {
|
|
157
|
-
|
|
157
|
+
source: string;
|
|
158
158
|
} & {
|
|
159
|
-
|
|
159
|
+
type: string;
|
|
160
160
|
}, callback: WorkerTileCallback) {
|
|
161
161
|
assert(params.type);
|
|
162
162
|
assert(params.source);
|
|
@@ -184,7 +184,7 @@ export default class Worker {
|
|
|
184
184
|
* @private
|
|
185
185
|
*/
|
|
186
186
|
loadWorkerSource(map: string, params: {
|
|
187
|
-
|
|
187
|
+
url: string;
|
|
188
188
|
}, callback: Callback<void>) {
|
|
189
189
|
try {
|
|
190
190
|
this.self.importScripts(params.url);
|
|
@@ -5,59 +5,59 @@ import type ImageAtlas from '../render/image_atlas';
|
|
|
5
5
|
import type {OverscaledTileID} from './tile_id';
|
|
6
6
|
import type {Bucket} from '../data/bucket';
|
|
7
7
|
import type FeatureIndex from '../data/feature_index';
|
|
8
|
-
import type {CollisionBoxArray} from '../data/array_types';
|
|
8
|
+
import type {CollisionBoxArray} from '../data/array_types.g';
|
|
9
9
|
import type DEMData from '../data/dem_data';
|
|
10
10
|
import type {StyleGlyph} from '../style/style_glyph';
|
|
11
11
|
import type {StyleImage} from '../style/style_image';
|
|
12
12
|
import type {PromoteIdSpecification} from '../style-spec/types';
|
|
13
13
|
|
|
14
14
|
export type TileParameters = {
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
source: string;
|
|
16
|
+
uid: string;
|
|
17
17
|
};
|
|
18
18
|
|
|
19
19
|
export type WorkerTileParameters = TileParameters & {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
20
|
+
tileID: OverscaledTileID;
|
|
21
|
+
request: RequestParameters;
|
|
22
|
+
zoom: number;
|
|
23
|
+
maxZoom: number;
|
|
24
|
+
tileSize: number;
|
|
25
|
+
promoteId: PromoteIdSpecification;
|
|
26
|
+
pixelRatio: number;
|
|
27
|
+
showCollisionBoxes: boolean;
|
|
28
|
+
collectResourceTiming?: boolean;
|
|
29
|
+
returnDependencies?: boolean;
|
|
30
30
|
};
|
|
31
31
|
|
|
32
32
|
export type WorkerDEMTileParameters = TileParameters & {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
33
|
+
coord: {
|
|
34
|
+
z: number;
|
|
35
|
+
x: number;
|
|
36
|
+
y: number;
|
|
37
|
+
w: number;
|
|
38
|
+
};
|
|
39
|
+
rawImageData: RGBAImage | ImageBitmap;
|
|
40
|
+
encoding: 'mapbox' | 'terrarium';
|
|
41
41
|
};
|
|
42
42
|
|
|
43
43
|
export type WorkerTileResult = {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
44
|
+
buckets: Array<Bucket>;
|
|
45
|
+
imageAtlas: ImageAtlas;
|
|
46
|
+
glyphAtlasImage: AlphaImage;
|
|
47
|
+
featureIndex: FeatureIndex;
|
|
48
|
+
collisionBoxArray: CollisionBoxArray;
|
|
49
|
+
rawTileData?: ArrayBuffer;
|
|
50
|
+
resourceTiming?: Array<PerformanceResourceTiming>;
|
|
51
|
+
// Only used for benchmarking:
|
|
52
|
+
glyphMap?: {
|
|
53
|
+
[_: string]: {
|
|
54
|
+
[_: number]: StyleGlyph;
|
|
55
|
+
};
|
|
56
|
+
} | null;
|
|
57
|
+
iconMap?: {
|
|
58
|
+
[_: string]: StyleImage;
|
|
59
|
+
} | null;
|
|
60
|
+
glyphPositions?: GlyphPositions | null;
|
|
61
61
|
};
|
|
62
62
|
|
|
63
63
|
export type WorkerTileCallback = (error?: Error | null, result?: WorkerTileResult | null) => void;
|
|
@@ -78,38 +78,38 @@ export type WorkerDEMTileCallback = (err?: Error | null, result?: DEMData | null
|
|
|
78
78
|
* @param layerIndex
|
|
79
79
|
*/
|
|
80
80
|
export interface WorkerSource {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
81
|
+
availableImages: Array<string>;
|
|
82
|
+
// Disabled due to https://github.com/facebook/flow/issues/5208
|
|
83
|
+
// constructor(actor: Actor, layerIndex: StyleLayerIndex): WorkerSource;
|
|
84
84
|
|
|
85
|
-
|
|
85
|
+
/**
|
|
86
86
|
* Loads a tile from the given params and parse it into buckets ready to send
|
|
87
87
|
* back to the main thread for rendering. Should call the callback with:
|
|
88
88
|
* `{ buckets, featureIndex, collisionIndex, rawTileData}`.
|
|
89
89
|
*/
|
|
90
|
-
|
|
91
|
-
|
|
90
|
+
loadTile(params: WorkerTileParameters, callback: WorkerTileCallback): void;
|
|
91
|
+
/**
|
|
92
92
|
* Re-parses a tile that has already been loaded. Yields the same data as
|
|
93
93
|
* {@link WorkerSource#loadTile}.
|
|
94
94
|
*/
|
|
95
|
-
|
|
96
|
-
|
|
95
|
+
reloadTile(params: WorkerTileParameters, callback: WorkerTileCallback): void;
|
|
96
|
+
/**
|
|
97
97
|
* Aborts loading a tile that is in progress.
|
|
98
98
|
*/
|
|
99
|
-
|
|
100
|
-
|
|
99
|
+
abortTile(params: TileParameters, callback: WorkerTileCallback): void;
|
|
100
|
+
/**
|
|
101
101
|
* Removes this tile from any local caches.
|
|
102
102
|
*/
|
|
103
|
-
|
|
104
|
-
|
|
103
|
+
removeTile(params: TileParameters, callback: WorkerTileCallback): void;
|
|
104
|
+
/**
|
|
105
105
|
* Tells the WorkerSource to abort in-progress tasks and release resources.
|
|
106
106
|
* The foreground Source is responsible for ensuring that 'removeSource' is
|
|
107
107
|
* the last message sent to the WorkerSource.
|
|
108
108
|
*/
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
109
|
+
removeSource?: (
|
|
110
|
+
params: {
|
|
111
|
+
source: string;
|
|
112
|
+
},
|
|
113
|
+
callback: WorkerTileCallback
|
|
114
|
+
) => void;
|
|
115
115
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import FeatureIndex from '../data/feature_index';
|
|
2
2
|
|
|
3
3
|
import {performSymbolLayout} from '../symbol/symbol_layout';
|
|
4
|
-
import {CollisionBoxArray} from '../data/array_types';
|
|
4
|
+
import {CollisionBoxArray} from '../data/array_types.g';
|
|
5
5
|
import DictionaryCoder from '../util/dictionary_coder';
|
|
6
6
|
import SymbolBucket from '../data/bucket/symbol_bucket';
|
|
7
7
|
import LineBucket from '../data/bucket/line_bucket';
|
|
@@ -130,9 +130,9 @@ class WorkerTile {
|
|
|
130
130
|
|
|
131
131
|
let error: Error;
|
|
132
132
|
let glyphMap: {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
133
|
+
[_: string]: {
|
|
134
|
+
[_: number]: StyleGlyph;
|
|
135
|
+
};
|
|
136
136
|
};
|
|
137
137
|
let iconMap: {[_: string]: StyleImage};
|
|
138
138
|
let patternMap: {[_: string]: StyleImage};
|
|
@@ -5,9 +5,9 @@ import {plugin as rtlTextPlugin} from '../source/rtl_text_plugin';
|
|
|
5
5
|
import type {TransitionSpecification} from '../style-spec/types';
|
|
6
6
|
|
|
7
7
|
export type CrossfadeParameters = {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
fromScale: number;
|
|
9
|
+
toScale: number;
|
|
10
|
+
t: number;
|
|
11
11
|
};
|
|
12
12
|
|
|
13
13
|
class EvaluationParameters {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {createExpression, StyleExpression, ZoomConstantExpression} from '../style-spec/expression';
|
|
2
2
|
import EvaluationContext from '../style-spec/expression/evaluation_context';
|
|
3
|
-
import properties from './style_layer/symbol_style_layer_properties';
|
|
3
|
+
import properties from './style_layer/symbol_style_layer_properties.g';
|
|
4
4
|
import {PossiblyEvaluatedPropertyValue} from './properties';
|
|
5
5
|
import FormatSectionOverride from './format_section_override';
|
|
6
6
|
import EvaluationParameters from './evaluation_parameters';
|
package/src/style/light.ts
CHANGED
|
@@ -24,9 +24,9 @@ import type {
|
|
|
24
24
|
import type {LightSpecification} from '../style-spec/types';
|
|
25
25
|
|
|
26
26
|
type LightPosition = {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
x: number;
|
|
28
|
+
y: number;
|
|
29
|
+
z: number;
|
|
30
30
|
};
|
|
31
31
|
|
|
32
32
|
class LightPositionProperty implements Property<[number, number, number], LightPosition> {
|
|
@@ -37,8 +37,8 @@ class LightPositionProperty implements Property<[number, number, number], LightP
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
possiblyEvaluate(
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
value: PropertyValue<[number, number, number], LightPosition>,
|
|
41
|
+
parameters: EvaluationParameters
|
|
42
42
|
): LightPosition {
|
|
43
43
|
return sphericalToCartesian(value.expression.evaluate(parameters));
|
|
44
44
|
}
|
|
@@ -53,10 +53,10 @@ class LightPositionProperty implements Property<[number, number, number], LightP
|
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
type Props = {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
56
|
+
'anchor': DataConstantProperty<'map' | 'viewport'>;
|
|
57
|
+
'position': LightPositionProperty;
|
|
58
|
+
'color': DataConstantProperty<Color>;
|
|
59
|
+
'intensity': DataConstantProperty<number>;
|
|
60
60
|
};
|
|
61
61
|
|
|
62
62
|
type PropsPossiblyEvaluated = {
|
|
@@ -122,7 +122,7 @@ class Light extends Evented {
|
|
|
122
122
|
}
|
|
123
123
|
|
|
124
124
|
_validate(validate: Function, value: unknown, options?: {
|
|
125
|
-
|
|
125
|
+
validate?: boolean;
|
|
126
126
|
}) {
|
|
127
127
|
if (options && options.validate === false) {
|
|
128
128
|
return false;
|
|
@@ -2,7 +2,7 @@ import fs from 'fs';
|
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import {RequestManager} from '../util/request_manager';
|
|
4
4
|
import loadGlyphRange from './load_glyph_range';
|
|
5
|
-
import {
|
|
5
|
+
import {fakeXhr} from 'nise';
|
|
6
6
|
|
|
7
7
|
test('loadGlyphRange', done => {
|
|
8
8
|
global.fetch = null;
|
|
@@ -14,7 +14,7 @@ test('loadGlyphRange', done => {
|
|
|
14
14
|
const manager = new RequestManager(transform);
|
|
15
15
|
|
|
16
16
|
let request;
|
|
17
|
-
useFakeXMLHttpRequest().onCreate = (req) => { request = req; };
|
|
17
|
+
fakeXhr.useFakeXMLHttpRequest().onCreate = (req) => { request = req; };
|
|
18
18
|
|
|
19
19
|
loadGlyphRange('Arial Unicode MS', 0, 'https://localhost/fonts/v1/{fontstack}/{range}.pbf', manager, (err, result) => {
|
|
20
20
|
expect(err).toBeFalsy();
|
|
@@ -38,6 +38,6 @@ test('loadGlyphRange', done => {
|
|
|
38
38
|
|
|
39
39
|
expect(request.url).toBe('https://localhost/fonts/v1/Arial Unicode MS/0-255.pbf');
|
|
40
40
|
request.setStatus(200);
|
|
41
|
-
request.response = fs.readFileSync(path.join(__dirname, '../../test/
|
|
41
|
+
request.response = fs.readFileSync(path.join(__dirname, '../../test/unit/assets/0-255.pbf'));
|
|
42
42
|
request.onload();
|
|
43
43
|
});
|
|
@@ -7,12 +7,12 @@ import type {RequestManager} from '../util/request_manager';
|
|
|
7
7
|
import type {Callback} from '../types/callback';
|
|
8
8
|
|
|
9
9
|
export default function loadGlyphRange(fontstack: string,
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
range: number,
|
|
11
|
+
urlTemplate: string,
|
|
12
|
+
requestManager: RequestManager,
|
|
13
|
+
callback: Callback<{
|
|
14
|
+
[_: number]: StyleGlyph | null;
|
|
15
|
+
}>) {
|
|
16
16
|
const begin = range * 256;
|
|
17
17
|
const end = begin + 255;
|
|
18
18
|
|
package/src/style/load_sprite.ts
CHANGED
|
@@ -9,10 +9,10 @@ import type {Callback} from '../types/callback';
|
|
|
9
9
|
import type {Cancelable} from '../types/cancelable';
|
|
10
10
|
|
|
11
11
|
export default function(
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
baseURL: string,
|
|
13
|
+
requestManager: RequestManager,
|
|
14
|
+
pixelRatio: number,
|
|
15
|
+
callback: Callback<{[_: string]: StyleImage}>
|
|
16
16
|
): Cancelable {
|
|
17
17
|
let json: any, image, error;
|
|
18
18
|
const format = pixelRatio > 1 ? '@2x' : '';
|