ts-maps 0.2.6 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +21 -0
- package/README.md +202 -141
- package/dist/core-map/assets/embedded-icons.d.ts +8 -0
- package/dist/core-map/control/AttributionControl.d.ts +12 -0
- package/dist/core-map/control/Control.d.ts +14 -0
- package/dist/core-map/control/LayersControl.d.ts +38 -0
- package/dist/core-map/control/ScaleControl.d.ts +14 -0
- package/dist/core-map/control/ZoomControl.d.ts +14 -0
- package/dist/core-map/control/index.d.ts +5 -0
- package/dist/core-map/core/Browser.d.ts +24 -0
- package/dist/core-map/core/Class.d.ts +12 -0
- package/dist/core-map/core/Events.d.ts +31 -0
- package/dist/core-map/core/Handler.d.ts +12 -0
- package/dist/core-map/core/Util.d.ts +24 -0
- package/dist/core-map/core/index.d.ts +7 -0
- package/dist/core-map/dom/Animation.d.ts +50 -0
- package/dist/core-map/dom/DomEvent.DoubleTap.d.ts +6 -0
- package/dist/core-map/dom/DomEvent.PointerEvents.d.ts +4 -0
- package/dist/core-map/dom/DomEvent.d.ts +15 -0
- package/dist/core-map/dom/DomUtil.d.ts +22 -0
- package/dist/core-map/dom/Draggable.d.ts +26 -0
- package/dist/core-map/dom/PosAnimation.d.ts +19 -0
- package/dist/core-map/dom/easing.d.ts +41 -0
- package/dist/core-map/dom/index.d.ts +8 -0
- package/dist/core-map/geo/LatLng.d.ts +18 -0
- package/dist/core-map/geo/LatLngBounds.d.ts +27 -0
- package/dist/core-map/geo/TerrainSource.d.ts +35 -0
- package/dist/core-map/geo/crs/CRS.d.ts +23 -0
- package/dist/core-map/geo/crs/EPSG3395.d.ts +7 -0
- package/dist/core-map/geo/crs/EPSG3857.d.ts +10 -0
- package/dist/core-map/geo/crs/EPSG4326.d.ts +7 -0
- package/dist/core-map/geo/crs/EarthCRS.d.ts +7 -0
- package/dist/core-map/geo/crs/SimpleCRS.d.ts +11 -0
- package/dist/core-map/geo/crs/index.d.ts +6 -0
- package/dist/core-map/geo/elevation.d.ts +23 -0
- package/dist/core-map/geo/index.d.ts +13 -0
- package/dist/core-map/geo/index.js +1204 -0
- package/dist/core-map/geo/projection/Projection.Globe.d.ts +30 -0
- package/dist/core-map/geo/projection/Projection.LonLat.d.ts +11 -0
- package/dist/core-map/geo/projection/Projection.Mercator.d.ts +6 -0
- package/dist/core-map/geo/projection/Projection.SphericalMercator.d.ts +6 -0
- package/dist/core-map/geo/projection/index.d.ts +5 -0
- package/dist/core-map/geo/terrainMesh.d.ts +21 -0
- package/dist/core-map/geometry/Bounds.d.ts +23 -0
- package/dist/core-map/geometry/LineUtil.d.ts +13 -0
- package/dist/core-map/geometry/Point.d.ts +35 -0
- package/dist/core-map/geometry/PolyUtil.d.ts +6 -0
- package/dist/core-map/geometry/RTree.d.ts +35 -0
- package/dist/core-map/geometry/Transformation.d.ts +12 -0
- package/dist/core-map/geometry/earcut.d.ts +17 -0
- package/dist/core-map/geometry/index.d.ts +10 -0
- package/dist/core-map/geometry/index.js +1586 -0
- package/dist/core-map/index.d.ts +59 -0
- package/dist/core-map/layer/BlanketOverlay.d.ts +24 -0
- package/dist/core-map/layer/DivOverlay.d.ts +40 -0
- package/dist/core-map/layer/FeatureGroup.d.ts +11 -0
- package/dist/core-map/layer/GeoJSON.d.ts +17 -0
- package/dist/core-map/layer/GeoJSONClusterSource.d.ts +54 -0
- package/dist/core-map/layer/HeatmapLayer.d.ts +40 -0
- package/dist/core-map/layer/ImageOverlay.d.ts +27 -0
- package/dist/core-map/layer/Layer.d.ts +18 -0
- package/dist/core-map/layer/LayerGroup.d.ts +16 -0
- package/dist/core-map/layer/Popup.d.ts +18 -0
- package/dist/core-map/layer/SVGOverlay.d.ts +4 -0
- package/dist/core-map/layer/Tooltip.d.ts +15 -0
- package/dist/core-map/layer/VideoOverlay.d.ts +4 -0
- package/dist/core-map/layer/index.d.ts +18 -0
- package/dist/core-map/layer/marker/DefaultIcon.d.ts +7 -0
- package/dist/core-map/layer/marker/DivIcon.d.ts +5 -0
- package/dist/core-map/layer/marker/Icon.d.ts +10 -0
- package/dist/core-map/layer/marker/Marker.Drag.d.ts +17 -0
- package/dist/core-map/layer/marker/Marker.d.ts +37 -0
- package/dist/core-map/layer/marker/index.d.ts +5 -0
- package/dist/core-map/layer/tile/GridLayer.d.ts +88 -0
- package/dist/core-map/layer/tile/RasterDEMLayer.d.ts +46 -0
- package/dist/core-map/layer/tile/TileLayer.d.ts +22 -0
- package/dist/core-map/layer/tile/VectorTileMapLayer.d.ts +145 -0
- package/dist/core-map/layer/tile/WMSTileLayer.d.ts +12 -0
- package/dist/core-map/layer/tile/index.d.ts +15 -0
- package/dist/core-map/layer/tile/urlTemplate.d.ts +17 -0
- package/dist/core-map/layer/vector/Canvas.d.ts +52 -0
- package/dist/core-map/layer/vector/Circle.d.ts +7 -0
- package/dist/core-map/layer/vector/CircleMarker.d.ts +22 -0
- package/dist/core-map/layer/vector/Path.d.ts +20 -0
- package/dist/core-map/layer/vector/Polygon.d.ts +13 -0
- package/dist/core-map/layer/vector/Polyline.d.ts +30 -0
- package/dist/core-map/layer/vector/Rectangle.d.ts +6 -0
- package/dist/core-map/layer/vector/Renderer.d.ts +12 -0
- package/dist/core-map/layer/vector/Renderer.getRenderer.d.ts +1 -0
- package/dist/core-map/layer/vector/SVG.d.ts +21 -0
- package/dist/core-map/layer/vector/index.d.ts +10 -0
- package/dist/core-map/map/Map.d.ts +353 -0
- package/dist/core-map/map/Style.d.ts +29 -0
- package/dist/core-map/map/handler/BoxZoomHandler.d.ts +23 -0
- package/dist/core-map/map/handler/DoubleClickZoomHandler.d.ts +6 -0
- package/dist/core-map/map/handler/DragHandler.d.ts +27 -0
- package/dist/core-map/map/handler/KeyboardHandler.d.ts +18 -0
- package/dist/core-map/map/handler/PinchZoomHandler.d.ts +20 -0
- package/dist/core-map/map/handler/ScrollWheelZoomHandler.d.ts +12 -0
- package/dist/core-map/map/handler/TapHoldHandler.d.ts +15 -0
- package/dist/core-map/map/handler/TwoFingerPitchHandler.d.ts +21 -0
- package/dist/core-map/map/handler/TwoFingerRotateHandler.d.ts +17 -0
- package/dist/core-map/map/index.d.ts +11 -0
- package/dist/core-map/mvt/VectorTile.d.ts +9 -0
- package/dist/core-map/mvt/VectorTileFeature.d.ts +59 -0
- package/dist/core-map/mvt/VectorTileLayer.d.ts +13 -0
- package/dist/core-map/proto/Pbf.d.ts +84 -0
- package/dist/core-map/renderer/webgl/GLContext.d.ts +22 -0
- package/dist/core-map/renderer/webgl/WebGLTileRenderer.d.ts +86 -0
- package/dist/core-map/renderer/webgl/index.d.ts +9 -0
- package/dist/core-map/renderer/webgl/mat4.d.ts +14 -0
- package/dist/core-map/services/index.d.ts +26 -0
- package/dist/core-map/services/index.js +1230 -0
- package/dist/core-map/services/providers/Google.d.ts +16 -0
- package/dist/core-map/services/providers/Mapbox.d.ts +26 -0
- package/dist/core-map/services/providers/Maptiler.d.ts +11 -0
- package/dist/core-map/services/providers/Nominatim.d.ts +11 -0
- package/dist/core-map/services/providers/OSRM.d.ts +20 -0
- package/dist/core-map/services/providers/Photon.d.ts +10 -0
- package/dist/core-map/services/providers/Valhalla.d.ts +20 -0
- package/dist/core-map/services/types.d.ts +84 -0
- package/dist/core-map/storage/TileCache.d.ts +40 -0
- package/dist/core-map/storage/cachedFetch.d.ts +13 -0
- package/dist/core-map/storage/defaultCache.d.ts +3 -0
- package/dist/core-map/storage/index.d.ts +13 -0
- package/dist/core-map/storage/index.js +283 -0
- package/dist/core-map/storage/offlineRegion.d.ts +26 -0
- package/dist/core-map/style-spec/diff.d.ts +17 -0
- package/dist/core-map/style-spec/expressions/Color.d.ts +16 -0
- package/dist/core-map/style-spec/expressions/compile.d.ts +4 -0
- package/dist/core-map/style-spec/expressions/errors.d.ts +8 -0
- package/dist/core-map/style-spec/expressions/index.d.ts +16 -0
- package/dist/core-map/style-spec/expressions/legacyFilter.d.ts +6 -0
- package/dist/core-map/style-spec/expressions/operators/conversion.d.ts +1 -0
- package/dist/core-map/style-spec/expressions/operators/interpolate.d.ts +14 -0
- package/dist/core-map/style-spec/expressions/operators/logical.d.ts +1 -0
- package/dist/core-map/style-spec/expressions/operators/lookup.d.ts +1 -0
- package/dist/core-map/style-spec/expressions/operators/math.d.ts +1 -0
- package/dist/core-map/style-spec/expressions/operators/string.d.ts +1 -0
- package/dist/core-map/style-spec/expressions/registry.d.ts +29 -0
- package/dist/core-map/style-spec/expressions/types.d.ts +48 -0
- package/dist/core-map/style-spec/expressions/validate.d.ts +13 -0
- package/dist/core-map/style-spec/index.d.ts +68 -0
- package/dist/core-map/style-spec/index.js +2529 -0
- package/dist/core-map/style-spec/schema.d.ts +381 -0
- package/dist/core-map/style-spec/types.d.ts +375 -0
- package/dist/core-map/style-spec/validate.d.ts +14 -0
- package/dist/core-map/symbols/CollisionIndex.d.ts +21 -0
- package/dist/core-map/symbols/GlyphAtlas.d.ts +38 -0
- package/dist/core-map/symbols/IconAtlas.d.ts +18 -0
- package/dist/core-map/symbols/index.d.ts +6 -0
- package/dist/core-map/symbols/index.js +501 -0
- package/dist/index.d.ts +2 -4
- package/dist/index.js +18414 -1857
- package/package.json +50 -58
- package/src/core-map/ts-maps.css +725 -0
- package/dist/components/base.d.ts +0 -17
- package/dist/components/concerns/interactable.d.ts +0 -1
- package/dist/components/line.d.ts +0 -29
- package/dist/components/marker.d.ts +0 -50
- package/dist/components/region.d.ts +0 -46
- package/dist/components/tooltip.d.ts +0 -22
- package/dist/core/apply-transform.d.ts +0 -7
- package/dist/core/coords-to-point.d.ts +0 -12
- package/dist/core/create-lines.d.ts +0 -2
- package/dist/core/create-markers.d.ts +0 -2
- package/dist/core/create-regions.d.ts +0 -2
- package/dist/core/create-series.d.ts +0 -3
- package/dist/core/get-inset-for-point.d.ts +0 -13
- package/dist/core/get-marker-position.d.ts +0 -6
- package/dist/core/index.d.ts +0 -1
- package/dist/core/reposition-labels.d.ts +0 -2
- package/dist/core/reposition-lines.d.ts +0 -2
- package/dist/core/reposition-markers.d.ts +0 -2
- package/dist/core/resize.d.ts +0 -3
- package/dist/core/set-focus.d.ts +0 -2
- package/dist/core/set-scale.d.ts +0 -2
- package/dist/core/setup-container-events.d.ts +0 -2
- package/dist/core/setup-container-touch-events.d.ts +0 -2
- package/dist/core/setup-element-events.d.ts +0 -2
- package/dist/core/setup-zoom-buttons.d.ts +0 -2
- package/dist/core/update-size.d.ts +0 -2
- package/dist/data-visualization.d.ts +0 -17
- package/dist/defaults/events.d.ts +0 -1
- package/dist/defaults/options.d.ts +0 -1
- package/dist/event-handler.d.ts +0 -1
- package/dist/legend.d.ts +0 -17
- package/dist/map.d.ts +0 -81
- package/dist/maps/brasil.d.ts +0 -2
- package/dist/maps/brasil.js +0 -7
- package/dist/maps/canada.d.ts +0 -2
- package/dist/maps/canada.js +0 -7
- package/dist/maps/iraq.d.ts +0 -2
- package/dist/maps/iraq.js +0 -84
- package/dist/maps/italy.d.ts +0 -2
- package/dist/maps/italy.js +0 -7
- package/dist/maps/russia.d.ts +0 -2
- package/dist/maps/russia.js +0 -366
- package/dist/maps/spain.d.ts +0 -2
- package/dist/maps/spain.js +0 -7
- package/dist/maps/us-aea-en.d.ts +0 -2
- package/dist/maps/us-aea-en.js +0 -7
- package/dist/maps/us-lcc-en.d.ts +0 -2
- package/dist/maps/us-lcc-en.js +0 -7
- package/dist/maps/us-merc-en.d.ts +0 -2
- package/dist/maps/us-merc-en.js +0 -7
- package/dist/maps/us-mill-en.d.ts +0 -2
- package/dist/maps/us-mill-en.js +0 -7
- package/dist/maps/world-merc.d.ts +0 -2
- package/dist/maps/world-merc.js +0 -7
- package/dist/maps/world.d.ts +0 -2
- package/dist/maps/world.js +0 -7
- package/dist/projection.d.ts +0 -1
- package/dist/scales/ordinal-scale.d.ts +0 -12
- package/dist/series.d.ts +0 -14
- package/dist/svg/base-element.d.ts +0 -19
- package/dist/svg/canvas-element.d.ts +0 -21
- package/dist/svg/image-element.d.ts +0 -12
- package/dist/svg/shape-element.d.ts +0 -19
- package/dist/svg/text-element.d.ts +0 -7
- package/dist/types.d.ts +0 -418
- package/dist/util/deep-merge.d.ts +0 -2
- package/dist/util/index.d.ts +0 -18
- package/dist/utils.d.ts +0 -87
- package/dist/vector-map.d.ts +0 -5
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
// Protobuf decoder — in-house, zero-dep.
|
|
2
|
+
// Inspired by the wire-format descriptions in mapbox/pbf (BSD-3-Clause);
|
|
3
|
+
// this implementation is an independent TypeScript rewrite.
|
|
4
|
+
//
|
|
5
|
+
// Implements the subset of the protobuf wire format needed to read
|
|
6
|
+
// Mapbox Vector Tiles v2 (plus symmetric write support for fixtures
|
|
7
|
+
// and debug tooling). Groups (wire types 3 and 4) are not supported.
|
|
8
|
+
// See https://protobuf.dev/programming-guides/encoding/ for details.
|
|
9
|
+
// Wire types, per the protobuf spec.
|
|
10
|
+
export declare const PBF_VARINT: number;
|
|
11
|
+
export declare const PBF_FIXED64: number;
|
|
12
|
+
export declare const PBF_BYTES: number;
|
|
13
|
+
export declare const PBF_FIXED32: number;
|
|
14
|
+
// eslint-disable-next-line no-unused-vars
|
|
15
|
+
export type PbfReadFieldFn<T> = (tag: number, result: T, pbf: Pbf) => void;
|
|
16
|
+
// eslint-disable-next-line no-unused-vars
|
|
17
|
+
export type PbfWriteFn<V> = (value: V, pbf: Pbf) => void;
|
|
18
|
+
export declare class Pbf {
|
|
19
|
+
buf: Uint8Array;
|
|
20
|
+
pos: number;
|
|
21
|
+
type: number;
|
|
22
|
+
length: number;
|
|
23
|
+
constructor(buf?: Uint8Array | ArrayBuffer);
|
|
24
|
+
readFields<T>(readField: PbfReadFieldFn<T>, result: T, end?: number): T;
|
|
25
|
+
readMessage<T>(readField: PbfReadFieldFn<T>, result: T): T;
|
|
26
|
+
readFixed32(): number;
|
|
27
|
+
readSFixed32(): number;
|
|
28
|
+
readFixed64(): number;
|
|
29
|
+
readSFixed64(): number;
|
|
30
|
+
readFloat(): number;
|
|
31
|
+
readDouble(): number;
|
|
32
|
+
readVarint(isSigned?: boolean): number;
|
|
33
|
+
readVarint64(): number;
|
|
34
|
+
readSVarint(): number;
|
|
35
|
+
readBoolean(): boolean;
|
|
36
|
+
readString(): string;
|
|
37
|
+
readBytes(): Uint8Array;
|
|
38
|
+
readPackedVarint(arr?: number[], isSigned?: boolean): number[];
|
|
39
|
+
readPackedSVarint(arr?: number[]): number[];
|
|
40
|
+
readPackedBoolean(arr?: boolean[]): boolean[];
|
|
41
|
+
readPackedFloat(arr?: number[]): number[];
|
|
42
|
+
readPackedDouble(arr?: number[]): number[];
|
|
43
|
+
readPackedFixed32(arr?: number[]): number[];
|
|
44
|
+
readPackedSFixed32(arr?: number[]): number[];
|
|
45
|
+
readPackedFixed64(arr?: number[]): number[];
|
|
46
|
+
readPackedSFixed64(arr?: number[]): number[];
|
|
47
|
+
skip(val: number): void;
|
|
48
|
+
writeTag(tag: number, type: number): void;
|
|
49
|
+
realloc(min: number): void;
|
|
50
|
+
finish(): Uint8Array;
|
|
51
|
+
destroy(): void;
|
|
52
|
+
writeVarint(val: number): void;
|
|
53
|
+
writeSVarint(val: number): void;
|
|
54
|
+
writeBoolean(val: boolean): void;
|
|
55
|
+
writeString(str: string): void;
|
|
56
|
+
writeFloat(val: number): void;
|
|
57
|
+
writeDouble(val: number): void;
|
|
58
|
+
writeBytes(bytes: Uint8Array): void;
|
|
59
|
+
writeRawFixed32(val: number): void;
|
|
60
|
+
writeRawSFixed32(val: number): void;
|
|
61
|
+
writeRawFixed64(val: number): void;
|
|
62
|
+
writeRawSFixed64(val: number): void;
|
|
63
|
+
writeMessage<V>(tag: number, fn: PbfWriteFn<V>, value: V): void;
|
|
64
|
+
writePackedVarint(tag: number, arr: number[]): void;
|
|
65
|
+
writePackedSVarint(tag: number, arr: number[]): void;
|
|
66
|
+
writePackedBoolean(tag: number, arr: boolean[]): void;
|
|
67
|
+
writePackedFloat(tag: number, arr: number[]): void;
|
|
68
|
+
writePackedDouble(tag: number, arr: number[]): void;
|
|
69
|
+
writePackedFixed32(tag: number, arr: number[]): void;
|
|
70
|
+
writePackedSFixed32(tag: number, arr: number[]): void;
|
|
71
|
+
writePackedFixed64(tag: number, arr: number[]): void;
|
|
72
|
+
writePackedSFixed64(tag: number, arr: number[]): void;
|
|
73
|
+
writeBytesField(tag: number, buffer: Uint8Array): void;
|
|
74
|
+
writeFixed32(tag: number, val: number): void;
|
|
75
|
+
writeSFixed32(tag: number, val: number): void;
|
|
76
|
+
writeFixed64(tag: number, val: number): void;
|
|
77
|
+
writeSFixed64(tag: number, val: number): void;
|
|
78
|
+
writeVarintField(tag: number, val: number): void;
|
|
79
|
+
writeSVarintField(tag: number, val: number): void;
|
|
80
|
+
writeStringField(tag: number, str: string): void;
|
|
81
|
+
writeFloatField(tag: number, val: number): void;
|
|
82
|
+
writeDoubleField(tag: number, val: number): void;
|
|
83
|
+
writeBooleanField(tag: number, val: boolean): void;
|
|
84
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare interface GLContextOptions {
|
|
2
|
+
alpha?: boolean
|
|
3
|
+
premultipliedAlpha?: boolean
|
|
4
|
+
antialias?: boolean
|
|
5
|
+
}
|
|
6
|
+
// Thin wrapper around a WebGL2 rendering context. Centralises program
|
|
7
|
+
// compilation + buffer creation + viewport resizing so the higher-level
|
|
8
|
+
// renderer stays focused on draw orchestration. When WebGL2 is unavailable,
|
|
9
|
+
// the constructor throws a typed error so callers can fall back cleanly.
|
|
10
|
+
export declare class WebGLUnsupportedError extends Error {
|
|
11
|
+
constructor(message?: string);
|
|
12
|
+
}
|
|
13
|
+
export declare class GLContext {
|
|
14
|
+
gl: WebGL2RenderingContext;
|
|
15
|
+
canvas: HTMLCanvasElement;
|
|
16
|
+
constructor(canvas: HTMLCanvasElement, opts?: GLContextOptions);
|
|
17
|
+
compileProgram(vertSrc: string, fragSrc: string): WebGLProgram;
|
|
18
|
+
_compileShader(type: GLenum, src: string): WebGLShader;
|
|
19
|
+
createBuffer(data: ArrayBufferView, usage?: number): WebGLBuffer;
|
|
20
|
+
resize(width: number, height: number): void;
|
|
21
|
+
clear(r: number, g: number, b: number, a: number): void;
|
|
22
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { GLContext } from './GLContext';
|
|
2
|
+
export declare interface LineOptions {
|
|
3
|
+
width: number
|
|
4
|
+
color: RGBA
|
|
5
|
+
cap?: 'butt' | 'round' | 'square'
|
|
6
|
+
join?: 'miter' | 'round' | 'bevel'
|
|
7
|
+
}
|
|
8
|
+
export declare interface CircleOptions {
|
|
9
|
+
radius: number
|
|
10
|
+
color: RGBA
|
|
11
|
+
strokeColor?: RGBA
|
|
12
|
+
strokeWidth?: number
|
|
13
|
+
}
|
|
14
|
+
declare interface FillProgram {
|
|
15
|
+
program: WebGLProgram
|
|
16
|
+
u_matrix: WebGLUniformLocation | null
|
|
17
|
+
u_color: WebGLUniformLocation | null
|
|
18
|
+
a_position: number
|
|
19
|
+
}
|
|
20
|
+
declare interface LineProgram {
|
|
21
|
+
program: WebGLProgram
|
|
22
|
+
u_matrix: WebGLUniformLocation | null
|
|
23
|
+
u_color: WebGLUniformLocation | null
|
|
24
|
+
u_width: WebGLUniformLocation | null
|
|
25
|
+
a_position: number
|
|
26
|
+
a_normal: number
|
|
27
|
+
a_progress: number
|
|
28
|
+
}
|
|
29
|
+
declare interface CircleProgram {
|
|
30
|
+
program: WebGLProgram
|
|
31
|
+
u_matrix: WebGLUniformLocation | null
|
|
32
|
+
u_color: WebGLUniformLocation | null
|
|
33
|
+
u_stroke_color: WebGLUniformLocation | null
|
|
34
|
+
u_stroke_width: WebGLUniformLocation | null
|
|
35
|
+
u_radius: WebGLUniformLocation | null
|
|
36
|
+
a_center: number
|
|
37
|
+
a_offset: number
|
|
38
|
+
}
|
|
39
|
+
declare interface FillExtrusionProgram {
|
|
40
|
+
program: WebGLProgram
|
|
41
|
+
u_matrix: WebGLUniformLocation | null
|
|
42
|
+
u_color: WebGLUniformLocation | null
|
|
43
|
+
u_opacity: WebGLUniformLocation | null
|
|
44
|
+
a_position: number
|
|
45
|
+
a_normal: number
|
|
46
|
+
}
|
|
47
|
+
declare interface SkyProgram {
|
|
48
|
+
program: WebGLProgram
|
|
49
|
+
u_sky_color: WebGLUniformLocation | null
|
|
50
|
+
u_horizon_color: WebGLUniformLocation | null
|
|
51
|
+
u_pitch_t: WebGLUniformLocation | null
|
|
52
|
+
u_horizon_blend: WebGLUniformLocation | null
|
|
53
|
+
a_position: number
|
|
54
|
+
}
|
|
55
|
+
export declare interface FillExtrusionFootprint {
|
|
56
|
+
rings: Array<Array<{ x: number, y: number }>>
|
|
57
|
+
}
|
|
58
|
+
declare type RGBA = [number, number, number, number];
|
|
59
|
+
export declare class WebGLTileRenderer {
|
|
60
|
+
ctx: GLContext;
|
|
61
|
+
_projection: Float32Array;
|
|
62
|
+
_fill: FillProgram;
|
|
63
|
+
_line: LineProgram;
|
|
64
|
+
_circle: CircleProgram;
|
|
65
|
+
_fillExtrusion: FillExtrusionProgram | null;
|
|
66
|
+
_sky: SkyProgram | null;
|
|
67
|
+
_buffers: WebGLBuffer[];
|
|
68
|
+
constructor(canvas: HTMLCanvasElement);
|
|
69
|
+
setProjectionMatrix(m: Float32Array): void;
|
|
70
|
+
clear(): void;
|
|
71
|
+
destroy(): void;
|
|
72
|
+
drawFill(triangles: Float32Array, color: RGBA): void;
|
|
73
|
+
drawLine(linestrip: Float32Array, options: LineOptions): void;
|
|
74
|
+
drawCircles(centers: Float32Array, options: CircleOptions): void;
|
|
75
|
+
drawFillExtrusion(footprints: FillExtrusionFootprint[], heights: number[], base: number[] | number, color: RGBA, opacity: number, projectionMatrix?: Float32Array): number;
|
|
76
|
+
drawSky(skyColor: RGBA, horizonColor: RGBA, pitchT: number, horizonBlend: number): void;
|
|
77
|
+
drawTerrain(positions: Float32Array, indices: Uint32Array, color: RGBA, opacity: number, projectionMatrix?: Float32Array): number;
|
|
78
|
+
_drawCirclesInstanced(prog: CircleProgram, centers: Float32Array): void;
|
|
79
|
+
_drawCirclesBatched(prog: CircleProgram, centers: Float32Array): void;
|
|
80
|
+
_buildFillProgram(): FillProgram;
|
|
81
|
+
_buildLineProgram(): LineProgram;
|
|
82
|
+
_buildCircleProgram(): CircleProgram;
|
|
83
|
+
_buildFillExtrusionProgram(): FillExtrusionProgram;
|
|
84
|
+
_buildSkyProgram(): SkyProgram;
|
|
85
|
+
_disposeBuffer(buf: WebGLBuffer): void;
|
|
86
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type { GLContextOptions } from './GLContext';
|
|
2
|
+
export type { CircleOptions, LineOptions } from './WebGLTileRenderer';
|
|
3
|
+
export type { Mat4 } from './mat4';
|
|
4
|
+
// Public barrel for the WebGL renderer. Exposes the tile renderer, the
|
|
5
|
+
// GLContext helper, the typed unsupported-error, and the 4x4 matrix utils so
|
|
6
|
+
// callers can construct their own projection matrices.
|
|
7
|
+
export { GLContext, WebGLUnsupportedError } from './GLContext';
|
|
8
|
+
export { WebGLTileRenderer } from './WebGLTileRenderer';
|
|
9
|
+
export * as mat4 from './mat4';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare function identity(out?: Mat4): Mat4;
|
|
2
|
+
// Build an orthographic projection matrix. Column-major to match WebGL.
|
|
3
|
+
export declare function ortho(left: number, right: number, bottom: number, top: number, near: number, far: number, out?: Mat4): Mat4;
|
|
4
|
+
export declare function translate(out: Mat4, a: Mat4, x: number, y: number, z: number): Mat4;
|
|
5
|
+
export declare function scale(out: Mat4, a: Mat4, x: number, y: number, z: number): Mat4;
|
|
6
|
+
export declare function rotateZ(out: Mat4, a: Mat4, rad: number): Mat4;
|
|
7
|
+
export declare function multiply(out: Mat4, a: Mat4, b: Mat4): Mat4;
|
|
8
|
+
// Minimal 4x4 matrix utilities (column-major, GLSL-compatible).
|
|
9
|
+
//
|
|
10
|
+
// Just the operations the WebGL renderer needs: identity, ortho, translate,
|
|
11
|
+
// scale, rotateZ, multiply. A deliberate dependency-free subset; behaviour
|
|
12
|
+
// mirrors the equivalent `gl-matrix` entry points so callers familiar with
|
|
13
|
+
// that library stay oriented.
|
|
14
|
+
export type Mat4 = Float32Array;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { NominatimGeocoder } from './providers/Nominatim';
|
|
2
|
+
import { OSRMDirections, OSRMMatrix } from './providers/OSRM';
|
|
3
|
+
import { ValhallaDirections, ValhallaIsochrone, ValhallaMatrix } from './providers/Valhalla';
|
|
4
|
+
import type { DirectionsProvider, GeocoderProvider, IsochroneProvider, MatrixProvider } from './types';
|
|
5
|
+
export declare const defaultGeocoder: () => GeocoderProvider;
|
|
6
|
+
export declare const defaultDirections: () => DirectionsProvider;
|
|
7
|
+
export declare const defaultIsochrone: () => IsochroneProvider;
|
|
8
|
+
// Prefer OSRM's /table (keyless public demo, aligned with the default
|
|
9
|
+
// directions provider) and fall back to Valhalla when callers need it.
|
|
10
|
+
export declare const defaultMatrix: () => MatrixProvider;
|
|
11
|
+
export declare const valhallaMatrix: () => MatrixProvider;
|
|
12
|
+
// Convenience alias: Valhalla can also serve directions. Prefer OSRM by default
|
|
13
|
+
// (faster on its own fleet), but expose Valhalla's as a drop-in alternative.
|
|
14
|
+
export declare const valhallaDirections: () => DirectionsProvider;
|
|
15
|
+
// Services layer — pluggable providers for geocoding, reverse geocoding,
|
|
16
|
+
// directions, isochrones, and travel-time matrices. Defaults are keyless
|
|
17
|
+
// open-source endpoints (Nominatim, OSRM, Valhalla). Key-required providers
|
|
18
|
+
// (Mapbox, Google, MapTiler) are opt-in.
|
|
19
|
+
export * from './types';
|
|
20
|
+
export { GoogleDirections, GoogleGeocoder } from './providers/Google';
|
|
21
|
+
export { MapboxDirections, MapboxGeocoder, MapboxIsochrone, MapboxMatrix } from './providers/Mapbox';
|
|
22
|
+
export { MaptilerGeocoder } from './providers/Maptiler';
|
|
23
|
+
export { NominatimGeocoder } from './providers/Nominatim';
|
|
24
|
+
export { OSRMDirections, OSRMMatrix } from './providers/OSRM';
|
|
25
|
+
export { PhotonGeocoder } from './providers/Photon';
|
|
26
|
+
export { ValhallaDirections, ValhallaIsochrone, ValhallaMatrix } from './providers/Valhalla';
|