@mapvx/web-js 3.6.0-dev.1 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -1
- package/dist/cjs/index.js +2 -95
- package/dist/cjs/index.js.LICENSE.txt +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/es/controllers/routeController.d.ts.map +1 -1
- package/dist/es/controllers/routeController.js +25 -8
- package/dist/es/controllers/routeController.js.map +1 -1
- package/dist/es/logger/sentry.js +1 -1
- package/dist/es/map/liveMapFitTransform.d.ts +11 -5
- package/dist/es/map/liveMapFitTransform.d.ts.map +1 -1
- package/dist/es/map/liveMapFitTransform.js +28 -19
- package/dist/es/map/liveMapFitTransform.js.map +1 -1
- package/dist/es/map/map.d.ts.map +1 -1
- package/dist/es/map/map.js +3 -6
- package/dist/es/map/map.js.map +1 -1
- package/dist/umd/index.js +932 -126
- package/dist/umd/index.js.map +1 -1
- package/dist/umd/styles.css +1 -1
- package/dist/umd/styles.css.map +1 -1
- package/package.json +7 -4
- package/dist/cjs/assets/icons.js +0 -85
- package/dist/cjs/assets/icons.js.map +0 -1
- package/dist/cjs/config/draco.js +0 -15
- package/dist/cjs/config/draco.js.map +0 -1
- package/dist/cjs/config/sdkConfig.js +0 -3
- package/dist/cjs/config/sdkConfig.js.map +0 -1
- package/dist/cjs/controllers/markerLayoutController.js +0 -359
- package/dist/cjs/controllers/markerLayoutController.js.map +0 -1
- package/dist/cjs/controllers/routeController.js +0 -1549
- package/dist/cjs/controllers/routeController.js.map +0 -1
- package/dist/cjs/domain/models/_internal.js +0 -14
- package/dist/cjs/domain/models/_internal.js.map +0 -1
- package/dist/cjs/domain/models/_rtl.js +0 -10
- package/dist/cjs/domain/models/_rtl.js.map +0 -1
- package/dist/cjs/domain/models/animation.js +0 -64
- package/dist/cjs/domain/models/animation.js.map +0 -1
- package/dist/cjs/domain/models/banner.js +0 -24
- package/dist/cjs/domain/models/banner.js.map +0 -1
- package/dist/cjs/domain/models/campaign.js +0 -73
- package/dist/cjs/domain/models/campaign.js.map +0 -1
- package/dist/cjs/domain/models/categories.js +0 -37
- package/dist/cjs/domain/models/categories.js.map +0 -1
- package/dist/cjs/domain/models/circle.js +0 -253
- package/dist/cjs/domain/models/circle.js.map +0 -1
- package/dist/cjs/domain/models/cityFilterOption.js +0 -3
- package/dist/cjs/domain/models/cityFilterOption.js.map +0 -1
- package/dist/cjs/domain/models/configuration.js +0 -3
- package/dist/cjs/domain/models/configuration.js.map +0 -1
- package/dist/cjs/domain/models/cssCustomization.js +0 -3
- package/dist/cjs/domain/models/cssCustomization.js.map +0 -1
- package/dist/cjs/domain/models/fitOptions.js +0 -3
- package/dist/cjs/domain/models/fitOptions.js.map +0 -1
- package/dist/cjs/domain/models/innerFloors.js +0 -3
- package/dist/cjs/domain/models/innerFloors.js.map +0 -1
- package/dist/cjs/domain/models/institution.js +0 -45
- package/dist/cjs/domain/models/institution.js.map +0 -1
- package/dist/cjs/domain/models/latLng.js +0 -3
- package/dist/cjs/domain/models/latLng.js.map +0 -1
- package/dist/cjs/domain/models/location.js +0 -3
- package/dist/cjs/domain/models/location.js.map +0 -1
- package/dist/cjs/domain/models/loggeable.js +0 -52
- package/dist/cjs/domain/models/loggeable.js.map +0 -1
- package/dist/cjs/domain/models/mapCamera.js +0 -3
- package/dist/cjs/domain/models/mapCamera.js.map +0 -1
- package/dist/cjs/domain/models/mapConfig.js +0 -37
- package/dist/cjs/domain/models/mapConfig.js.map +0 -1
- package/dist/cjs/domain/models/marker.js +0 -502
- package/dist/cjs/domain/models/marker.js.map +0 -1
- package/dist/cjs/domain/models/multilanguage.js +0 -17
- package/dist/cjs/domain/models/multilanguage.js.map +0 -1
- package/dist/cjs/domain/models/openingHours.js +0 -3
- package/dist/cjs/domain/models/openingHours.js.map +0 -1
- package/dist/cjs/domain/models/place.js +0 -127
- package/dist/cjs/domain/models/place.js.map +0 -1
- package/dist/cjs/domain/models/platform.js +0 -3
- package/dist/cjs/domain/models/platform.js.map +0 -1
- package/dist/cjs/domain/models/popover.js +0 -3
- package/dist/cjs/domain/models/popover.js.map +0 -1
- package/dist/cjs/domain/models/product.js +0 -3
- package/dist/cjs/domain/models/product.js.map +0 -1
- package/dist/cjs/domain/models/property.js +0 -104
- package/dist/cjs/domain/models/property.js.map +0 -1
- package/dist/cjs/domain/models/route.js +0 -166
- package/dist/cjs/domain/models/route.js.map +0 -1
- package/dist/cjs/domain/models/routeConfiguration.js +0 -82
- package/dist/cjs/domain/models/routeConfiguration.js.map +0 -1
- package/dist/cjs/domain/models/routeInstance.js +0 -30
- package/dist/cjs/domain/models/routeInstance.js.map +0 -1
- package/dist/cjs/domain/models/routeStyle.js +0 -3
- package/dist/cjs/domain/models/routeStyle.js.map +0 -1
- package/dist/cjs/domain/models/scene3D.js +0 -3
- package/dist/cjs/domain/models/scene3D.js.map +0 -1
- package/dist/cjs/domain/models/transport.js +0 -22
- package/dist/cjs/domain/models/transport.js.map +0 -1
- package/dist/cjs/domain/ports/ICache.js +0 -3
- package/dist/cjs/domain/ports/ICache.js.map +0 -1
- package/dist/cjs/domain/ports/IHttpClient.js +0 -3
- package/dist/cjs/domain/ports/IHttpClient.js.map +0 -1
- package/dist/cjs/domain/ports/ILogger.js +0 -23
- package/dist/cjs/domain/ports/ILogger.js.map +0 -1
- package/dist/cjs/domain/ports/index.js +0 -10
- package/dist/cjs/domain/ports/index.js.map +0 -1
- package/dist/cjs/infrastructure/cache/CacheManager.js +0 -258
- package/dist/cjs/infrastructure/cache/CacheManager.js.map +0 -1
- package/dist/cjs/infrastructure/cache/LRUCache.js +0 -153
- package/dist/cjs/infrastructure/cache/LRUCache.js.map +0 -1
- package/dist/cjs/infrastructure/cache/PersistentCache.js +0 -168
- package/dist/cjs/infrastructure/cache/PersistentCache.js.map +0 -1
- package/dist/cjs/infrastructure/cache/cacheConfig.js +0 -70
- package/dist/cjs/infrastructure/cache/cacheConfig.js.map +0 -1
- package/dist/cjs/infrastructure/http/FetchHttpClient.js +0 -75
- package/dist/cjs/infrastructure/http/FetchHttpClient.js.map +0 -1
- package/dist/cjs/infrastructure/logging/MVXLogger.js +0 -80
- package/dist/cjs/infrastructure/logging/MVXLogger.js.map +0 -1
- package/dist/cjs/interfaces/cache.js +0 -3
- package/dist/cjs/interfaces/cache.js.map +0 -1
- package/dist/cjs/interfaces/healthResponse.js +0 -3
- package/dist/cjs/interfaces/healthResponse.js.map +0 -1
- package/dist/cjs/interfaces/institutionResponse.js +0 -3
- package/dist/cjs/interfaces/institutionResponse.js.map +0 -1
- package/dist/cjs/interfaces/metadata.js +0 -3
- package/dist/cjs/interfaces/metadata.js.map +0 -1
- package/dist/cjs/interfaces/placeResponse.js +0 -3
- package/dist/cjs/interfaces/placeResponse.js.map +0 -1
- package/dist/cjs/interfaces/routeCacheResponse.js +0 -3
- package/dist/cjs/interfaces/routeCacheResponse.js.map +0 -1
- package/dist/cjs/interfaces/routeResponse.js +0 -3
- package/dist/cjs/interfaces/routeResponse.js.map +0 -1
- package/dist/cjs/interfaces/styleResponse.js +0 -3
- package/dist/cjs/interfaces/styleResponse.js.map +0 -1
- package/dist/cjs/logger/logger.js +0 -78
- package/dist/cjs/logger/logger.js.map +0 -1
- package/dist/cjs/logger/sentry.js +0 -81
- package/dist/cjs/logger/sentry.js.map +0 -1
- package/dist/cjs/map/fitCamera.js +0 -124
- package/dist/cjs/map/fitCamera.js.map +0 -1
- package/dist/cjs/map/liveMapFitTransform.js +0 -180
- package/dist/cjs/map/liveMapFitTransform.js.map +0 -1
- package/dist/cjs/map/map.js +0 -2766
- package/dist/cjs/map/map.js.map +0 -1
- package/dist/cjs/map/mapInteractionOptions.js +0 -73
- package/dist/cjs/map/mapInteractionOptions.js.map +0 -1
- package/dist/cjs/map/scene3DController.js +0 -849
- package/dist/cjs/map/scene3DController.js.map +0 -1
- package/dist/cjs/repository/repository.js +0 -694
- package/dist/cjs/repository/repository.js.map +0 -1
- package/dist/cjs/repository/requester.js +0 -771
- package/dist/cjs/repository/requester.js.map +0 -1
- package/dist/cjs/sdk.js +0 -438
- package/dist/cjs/sdk.js.map +0 -1
- package/dist/cjs/utils/3d.js +0 -245
- package/dist/cjs/utils/3d.js.map +0 -1
- package/dist/cjs/utils/deckLayers.js +0 -153
- package/dist/cjs/utils/deckLayers.js.map +0 -1
- package/dist/cjs/utils/error.js +0 -19
- package/dist/cjs/utils/error.js.map +0 -1
- package/dist/cjs/utils/images.js +0 -25
- package/dist/cjs/utils/images.js.map +0 -1
- package/dist/cjs/utils/loadGlb.js +0 -190
- package/dist/cjs/utils/loadGlb.js.map +0 -1
- package/dist/cjs/utils/mapvxHostname.js +0 -21
- package/dist/cjs/utils/mapvxHostname.js.map +0 -1
- package/dist/cjs/utils/nav-functions.js +0 -150
- package/dist/cjs/utils/nav-functions.js.map +0 -1
- package/dist/cjs/utils/opening-hours-helper.js +0 -914
- package/dist/cjs/utils/opening-hours-helper.js.map +0 -1
- package/dist/cjs/utils/preconnect.js +0 -131
- package/dist/cjs/utils/preconnect.js.map +0 -1
- package/dist/cjs/utils/route-utils.js +0 -57
- package/dist/cjs/utils/route-utils.js.map +0 -1
- package/dist/cjs/utils/semaphore.js +0 -143
- package/dist/cjs/utils/semaphore.js.map +0 -1
- package/dist/cjs/utils/three.js +0 -113
- package/dist/cjs/utils/three.js.map +0 -1
- package/dist/cjs/utils/threeScene.js +0 -126
- package/dist/cjs/utils/threeScene.js.map +0 -1
- package/dist/cjs/utils/update-css.js +0 -76
- package/dist/cjs/utils/update-css.js.map +0 -1
- package/dist/cjs/utils/utils.js +0 -104
- package/dist/cjs/utils/utils.js.map +0 -1
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LiveMapFitTransform = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Screen-space tolerance, in pixels, for the horizon round-trip test.
|
|
6
|
-
*
|
|
7
|
-
* `project` and `unproject` are not exact inverses — they run through a 4x4 matrix and its
|
|
8
|
-
* inverse, so a well-behaved point still drifts by a fraction of a pixel. Half a pixel is far
|
|
9
|
-
* below that drift's ceiling and far above the millions-of-pixels divergence a point behind the
|
|
10
|
-
* horizon produces, so the threshold is not sensitive to its exact value.
|
|
11
|
-
*/
|
|
12
|
-
const SURFACE_ROUND_TRIP_EPSILON_PX = 0.5;
|
|
13
|
-
/**
|
|
14
|
-
* A {@link FitTransform} backed by a live MapLibre map and its public API.
|
|
15
|
-
*
|
|
16
|
-
* ## Why this exists
|
|
17
|
-
*
|
|
18
|
-
* {@link refineCameraForPitch} needs to project points through MapLibre's real perspective
|
|
19
|
-
* projection for camera states the map is not actually in — it tries a candidate camera, measures
|
|
20
|
-
* where the geometry lands, adjusts, and repeats. Until MapLibre v6 that was done on
|
|
21
|
-
* `map.transform.clone()`, a detached copy of the internal transform.
|
|
22
|
-
*
|
|
23
|
-
* v6 removed `map.transform` and exposes no replacement: there is no exported `Camera`,
|
|
24
|
-
* `Transform` or `MercatorTransform`, and the migration guide says only "use `Map`'s public API
|
|
25
|
-
* instead". So the simulation moves onto the map itself.
|
|
26
|
-
*
|
|
27
|
-
* ## How it stays invisible
|
|
28
|
-
*
|
|
29
|
-
* The map is genuinely moved, but never painted mid-simulation: MapLibre renders on
|
|
30
|
-
* `requestAnimationFrame`, and every mutation here happens inside one synchronous block that ends
|
|
31
|
-
* with {@link restore}. No intermediate frame exists to be seen.
|
|
32
|
-
*
|
|
33
|
-
* Camera writes are also batched. Setters only record intent; the map is moved at most once per
|
|
34
|
-
* refinement iteration, lazily, the first time a projection actually needs the new camera.
|
|
35
|
-
*
|
|
36
|
-
* ## What it costs
|
|
37
|
-
*
|
|
38
|
-
* `jumpTo` fires camera events, so listeners observe movement that no user caused. At the only
|
|
39
|
-
* call site this is bounded — the refinement is immediately followed by a real `easeTo`, so the
|
|
40
|
-
* map was going to move regardless, and the `moveend` handler that reports completion is attached
|
|
41
|
-
* *after* refinement and so cannot see the simulation's events.
|
|
42
|
-
*
|
|
43
|
-
* @example
|
|
44
|
-
* ```typescript
|
|
45
|
-
* const transform = new LiveMapFitTransform(map)
|
|
46
|
-
* try {
|
|
47
|
-
* camera = refineCameraForPitch(transform, coordinates, camera, params)
|
|
48
|
-
* } finally {
|
|
49
|
-
* transform.restore()
|
|
50
|
-
* }
|
|
51
|
-
* ```
|
|
52
|
-
*
|
|
53
|
-
* @group Map
|
|
54
|
-
*/
|
|
55
|
-
class LiveMapFitTransform {
|
|
56
|
-
/**
|
|
57
|
-
* Capture the map's current camera so it can be restored, and seed the simulation with it.
|
|
58
|
-
*
|
|
59
|
-
* @param map The live map to simulate on.
|
|
60
|
-
*/
|
|
61
|
-
constructor(map) {
|
|
62
|
-
var _a, _b, _c, _d;
|
|
63
|
-
/** Whether {@link pending} has diverged from what the map is currently showing. */
|
|
64
|
-
this.dirty = false;
|
|
65
|
-
/**
|
|
66
|
-
* Whether the map was ever actually moved.
|
|
67
|
-
*
|
|
68
|
-
* Tracked separately from {@link dirty}, which {@link sync} clears the moment it flushes: keying
|
|
69
|
-
* {@link restore} off `dirty` alone would make it a no-op right after a flush and strand the map
|
|
70
|
-
* on a candidate camera.
|
|
71
|
-
*/
|
|
72
|
-
this.moved = false;
|
|
73
|
-
this.setCenter = (center) => {
|
|
74
|
-
this.pending.center = center;
|
|
75
|
-
this.dirty = true;
|
|
76
|
-
};
|
|
77
|
-
this.setZoom = (zoom) => {
|
|
78
|
-
this.pending.zoom = zoom;
|
|
79
|
-
this.dirty = true;
|
|
80
|
-
};
|
|
81
|
-
this.setBearing = (bearing) => {
|
|
82
|
-
this.pending.bearing = bearing;
|
|
83
|
-
this.dirty = true;
|
|
84
|
-
};
|
|
85
|
-
this.setPitch = (pitch) => {
|
|
86
|
-
this.pending.pitch = pitch;
|
|
87
|
-
this.dirty = true;
|
|
88
|
-
};
|
|
89
|
-
this.setPadding = (padding) => {
|
|
90
|
-
this.pending.padding = padding;
|
|
91
|
-
this.dirty = true;
|
|
92
|
-
};
|
|
93
|
-
this.locationToScreenPoint = (lnglat) => {
|
|
94
|
-
this.sync();
|
|
95
|
-
return this.map.project(lnglat);
|
|
96
|
-
};
|
|
97
|
-
this.screenPointToLocation = (p) => {
|
|
98
|
-
this.sync();
|
|
99
|
-
return this.map.unproject(p);
|
|
100
|
-
};
|
|
101
|
-
/**
|
|
102
|
-
* Whether a projected point lies on the visible map surface rather than beyond the horizon.
|
|
103
|
-
*
|
|
104
|
-
* MapLibre exposes no public horizon test, so this uses a round-trip: unprojecting a screen
|
|
105
|
-
* point casts a ray onto the map plane, and re-projecting that location lands back where it
|
|
106
|
-
* started only if the ray actually met the plane in front of the camera. Past the horizon the
|
|
107
|
-
* ray diverges and the round-trip misses by an enormous margin.
|
|
108
|
-
*
|
|
109
|
-
* @param p Screen point, as returned by {@link locationToScreenPoint}.
|
|
110
|
-
* @returns `true` when the point is on the map surface.
|
|
111
|
-
*/
|
|
112
|
-
this.isPointOnMapSurface = (p) => {
|
|
113
|
-
this.sync();
|
|
114
|
-
const roundTripped = this.map.project(this.map.unproject(p));
|
|
115
|
-
return (Number.isFinite(roundTripped.x) &&
|
|
116
|
-
Number.isFinite(roundTripped.y) &&
|
|
117
|
-
Math.abs(roundTripped.x - p.x) < SURFACE_ROUND_TRIP_EPSILON_PX &&
|
|
118
|
-
Math.abs(roundTripped.y - p.y) < SURFACE_ROUND_TRIP_EPSILON_PX);
|
|
119
|
-
};
|
|
120
|
-
/**
|
|
121
|
-
* Put the camera back exactly as it was when this instance was constructed.
|
|
122
|
-
*
|
|
123
|
-
* Safe to call more than once, and safe to call when nothing was ever changed. Always call it
|
|
124
|
-
* from a `finally` block so a throw mid-refinement cannot strand the map on a candidate camera.
|
|
125
|
-
*/
|
|
126
|
-
this.restore = () => {
|
|
127
|
-
if (!this.moved) {
|
|
128
|
-
return;
|
|
129
|
-
}
|
|
130
|
-
this.map.jumpTo({
|
|
131
|
-
center: this.snapshot.center,
|
|
132
|
-
zoom: this.snapshot.zoom,
|
|
133
|
-
bearing: this.snapshot.bearing,
|
|
134
|
-
pitch: this.snapshot.pitch,
|
|
135
|
-
padding: this.snapshot.padding,
|
|
136
|
-
});
|
|
137
|
-
this.pending = Object.assign({}, this.snapshot);
|
|
138
|
-
this.dirty = false;
|
|
139
|
-
this.moved = false;
|
|
140
|
-
};
|
|
141
|
-
this.map = map;
|
|
142
|
-
const padding = map.getPadding();
|
|
143
|
-
this.snapshot = {
|
|
144
|
-
center: map.getCenter(),
|
|
145
|
-
zoom: map.getZoom(),
|
|
146
|
-
bearing: map.getBearing(),
|
|
147
|
-
pitch: map.getPitch(),
|
|
148
|
-
padding: {
|
|
149
|
-
top: (_a = padding.top) !== null && _a !== void 0 ? _a : 0,
|
|
150
|
-
bottom: (_b = padding.bottom) !== null && _b !== void 0 ? _b : 0,
|
|
151
|
-
left: (_c = padding.left) !== null && _c !== void 0 ? _c : 0,
|
|
152
|
-
right: (_d = padding.right) !== null && _d !== void 0 ? _d : 0,
|
|
153
|
-
},
|
|
154
|
-
};
|
|
155
|
-
this.pending = Object.assign({}, this.snapshot);
|
|
156
|
-
}
|
|
157
|
-
get center() {
|
|
158
|
-
return this.pending.center;
|
|
159
|
-
}
|
|
160
|
-
get zoom() {
|
|
161
|
-
return this.pending.zoom;
|
|
162
|
-
}
|
|
163
|
-
/** Flush {@link pending} onto the map, but only when a projection actually needs it. */
|
|
164
|
-
sync() {
|
|
165
|
-
if (!this.dirty) {
|
|
166
|
-
return;
|
|
167
|
-
}
|
|
168
|
-
this.map.jumpTo({
|
|
169
|
-
center: this.pending.center,
|
|
170
|
-
zoom: this.pending.zoom,
|
|
171
|
-
bearing: this.pending.bearing,
|
|
172
|
-
pitch: this.pending.pitch,
|
|
173
|
-
padding: this.pending.padding,
|
|
174
|
-
});
|
|
175
|
-
this.dirty = false;
|
|
176
|
-
this.moved = true;
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
exports.LiveMapFitTransform = LiveMapFitTransform;
|
|
180
|
-
//# sourceMappingURL=liveMapFitTransform.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"liveMapFitTransform.js","sourceRoot":"","sources":["../../../src/map/liveMapFitTransform.ts"],"names":[],"mappings":"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"}
|