@mapvx/web-js 3.5.0-dev.2 → 3.5.0-dev.4

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 (43) hide show
  1. package/dist/cjs/controllers/routeController.js +396 -106
  2. package/dist/cjs/controllers/routeController.js.map +1 -1
  3. package/dist/cjs/domain/models/routeInstance.js +1 -0
  4. package/dist/cjs/domain/models/routeInstance.js.map +1 -1
  5. package/dist/cjs/logger/sentry.js +1 -1
  6. package/dist/cjs/map/map.js +250 -24
  7. package/dist/cjs/map/map.js.map +1 -1
  8. package/dist/cjs/map/mapInteractionOptions.js +18 -0
  9. package/dist/cjs/map/mapInteractionOptions.js.map +1 -1
  10. package/dist/cjs/utils/loadGlb.js +55 -20
  11. package/dist/cjs/utils/loadGlb.js.map +1 -1
  12. package/dist/cjs/utils/three.js +70 -34
  13. package/dist/cjs/utils/three.js.map +1 -1
  14. package/dist/es/controllers/routeController.d.ts +91 -13
  15. package/dist/es/controllers/routeController.d.ts.map +1 -1
  16. package/dist/es/controllers/routeController.js +396 -106
  17. package/dist/es/controllers/routeController.js.map +1 -1
  18. package/dist/es/domain/models/mapConfig.d.ts +76 -0
  19. package/dist/es/domain/models/mapConfig.d.ts.map +1 -1
  20. package/dist/es/domain/models/routeInstance.d.ts +70 -1
  21. package/dist/es/domain/models/routeInstance.d.ts.map +1 -1
  22. package/dist/es/domain/models/routeInstance.js +1 -0
  23. package/dist/es/domain/models/routeInstance.js.map +1 -1
  24. package/dist/es/logger/sentry.js +1 -1
  25. package/dist/es/map/map.d.ts +76 -0
  26. package/dist/es/map/map.d.ts.map +1 -1
  27. package/dist/es/map/map.js +250 -24
  28. package/dist/es/map/map.js.map +1 -1
  29. package/dist/es/map/mapInteractionOptions.d.ts +5 -1
  30. package/dist/es/map/mapInteractionOptions.d.ts.map +1 -1
  31. package/dist/es/map/mapInteractionOptions.js +18 -0
  32. package/dist/es/map/mapInteractionOptions.js.map +1 -1
  33. package/dist/es/utils/loadGlb.d.ts +41 -0
  34. package/dist/es/utils/loadGlb.d.ts.map +1 -1
  35. package/dist/es/utils/loadGlb.js +55 -21
  36. package/dist/es/utils/loadGlb.js.map +1 -1
  37. package/dist/es/utils/three.d.ts +37 -8
  38. package/dist/es/utils/three.d.ts.map +1 -1
  39. package/dist/es/utils/three.js +68 -32
  40. package/dist/es/utils/three.js.map +1 -1
  41. package/dist/umd/index.js +1012 -257
  42. package/dist/umd/index.js.map +1 -1
  43. package/package.json +1 -1
@@ -33,45 +33,81 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.loadThree = loadThree;
37
- exports.loadDeck = loadDeck;
38
- let threePromise;
39
- let deckPromise;
36
+ exports.loadDeck = exports.loadMeshoptDecoder = exports.loadThree = void 0;
37
+ exports.memoizeImport = memoizeImport;
38
+ /**
39
+ * Memoizes a dynamic-import chain, caching only a FULFILLED result.
40
+ *
41
+ * A plain `cached ??= import(...)` also memoizes a *rejection*, so one transient chunk-fetch
42
+ * failure (a dropped connection, a cache-busted deploy mid-session) permanently disables the
43
+ * feature for the rest of the page's life: every retry receives the same rejected promise and
44
+ * fails identically. The 3D scene retries on its own — `reloadScene3DModelsForLod` reloads GLB
45
+ * templates on every zoom-in past the LOD threshold — so a sticky rejection turns a blip into
46
+ * models that never come back until the user reloads.
47
+ *
48
+ * Concurrent callers still share one in-flight import (that is the point of the cache); only the
49
+ * rejected promise is evicted, and the error is re-thrown so every current caller still sees it.
50
+ *
51
+ * Exported only so the eviction behaviour can be tested directly — the loaders below wrap real
52
+ * dynamic `import()` calls, which a unit test cannot fail on demand.
53
+ *
54
+ * @param load Builds the import promise. Called again on the first retry after a failure.
55
+ * @returns An accessor that imports at most once per successful load.
56
+ * @internal
57
+ */
58
+ function memoizeImport(load) {
59
+ let cached;
60
+ return () => {
61
+ cached !== null && cached !== void 0 ? cached : (cached = load().catch((error) => {
62
+ // Evict BEFORE re-throwing so the next call starts a fresh import. Safe to assign here:
63
+ // a promise never settles synchronously, so `cached` is already assigned by now.
64
+ cached = undefined;
65
+ throw error;
66
+ }));
67
+ return cached;
68
+ };
69
+ }
40
70
  /**
41
71
  * Dynamically imports Three.js and the GLTF/DRACO/KTX2 loaders once and caches the result.
42
72
  * Subsequent calls return the same promise, so a single Three.js instance is shared.
73
+ * A failed import is not cached — see {@link memoizeImport}.
43
74
  */
44
- function loadThree() {
45
- threePromise !== null && threePromise !== void 0 ? threePromise : (threePromise = Promise.all([
46
- Promise.resolve().then(() => __importStar(require("three"))),
47
- Promise.resolve().then(() => __importStar(require("three/addons/loaders/GLTFLoader.js"))),
48
- Promise.resolve().then(() => __importStar(require("three/addons/loaders/DRACOLoader.js"))),
49
- Promise.resolve().then(() => __importStar(require("three/addons/loaders/KTX2Loader.js"))),
50
- Promise.resolve().then(() => __importStar(require("three/addons/libs/meshopt_decoder.module.js"))),
51
- ]).then(([three, gltf, draco, ktx2, meshopt]) => ({
52
- THREE: three,
53
- GLTFLoader: gltf.GLTFLoader,
54
- DRACOLoader: draco.DRACOLoader,
55
- KTX2Loader: ktx2.KTX2Loader,
56
- MeshoptDecoder: meshopt.MeshoptDecoder,
57
- })));
58
- return threePromise;
59
- }
75
+ exports.loadThree = memoizeImport(() => Promise.all([
76
+ Promise.resolve().then(() => __importStar(require("three"))),
77
+ Promise.resolve().then(() => __importStar(require("three/addons/loaders/GLTFLoader.js"))),
78
+ Promise.resolve().then(() => __importStar(require("three/addons/loaders/DRACOLoader.js"))),
79
+ Promise.resolve().then(() => __importStar(require("three/addons/loaders/KTX2Loader.js"))),
80
+ ]).then(([three, gltf, draco, ktx2]) => ({
81
+ THREE: three,
82
+ GLTFLoader: gltf.GLTFLoader,
83
+ DRACOLoader: draco.DRACOLoader,
84
+ KTX2Loader: ktx2.KTX2Loader,
85
+ })));
86
+ /**
87
+ * Dynamically imports the singleton meshopt decoder once and caches the result.
88
+ *
89
+ * Deliberately NOT part of {@link loadThree}'s import chain: only GLBs compressed with
90
+ * `EXT_meshopt_compression` need it, so keeping it out of the eager `Promise.all` keeps the
91
+ * decoder module (and its WASM instantiation) off the critical path of the first 3D frame.
92
+ * It is fetched on the first meshopt buffer decode instead — see the lazy wrapper in
93
+ * `loadGlb.ts`. That moves the fetch inside `parse()`, competing with hundreds of MB of GLB
94
+ * downloads, so not caching a failed import (see {@link memoizeImport}) matters more here than
95
+ * for the eager loaders.
96
+ */
97
+ exports.loadMeshoptDecoder = memoizeImport(() => Promise.resolve().then(() => __importStar(require("three/addons/libs/meshopt_decoder.module.js"))).then((meshopt) => meshopt.MeshoptDecoder));
60
98
  /**
61
99
  * Dynamically imports the deck.gl overlay and layer classes once and caches the result.
100
+ * A failed import is not cached — see {@link memoizeImport}.
62
101
  */
63
- function loadDeck() {
64
- deckPromise !== null && deckPromise !== void 0 ? deckPromise : (deckPromise = Promise.all([
65
- Promise.resolve().then(() => __importStar(require("@deck.gl/mapbox"))),
66
- Promise.resolve().then(() => __importStar(require("@deck.gl/geo-layers"))),
67
- Promise.resolve().then(() => __importStar(require("@deck.gl/layers"))),
68
- ]).then(([mapbox, geoLayers, layers]) => ({
69
- MapboxOverlay: mapbox.MapboxOverlay,
70
- MVTLayer: geoLayers.MVTLayer,
71
- IconLayer: layers.IconLayer,
72
- PathLayer: layers.PathLayer,
73
- TextLayer: layers.TextLayer,
74
- })));
75
- return deckPromise;
76
- }
102
+ exports.loadDeck = memoizeImport(() => Promise.all([
103
+ Promise.resolve().then(() => __importStar(require("@deck.gl/mapbox"))),
104
+ Promise.resolve().then(() => __importStar(require("@deck.gl/geo-layers"))),
105
+ Promise.resolve().then(() => __importStar(require("@deck.gl/layers"))),
106
+ ]).then(([mapbox, geoLayers, layers]) => ({
107
+ MapboxOverlay: mapbox.MapboxOverlay,
108
+ MVTLayer: geoLayers.MVTLayer,
109
+ IconLayer: layers.IconLayer,
110
+ PathLayer: layers.PathLayer,
111
+ TextLayer: layers.TextLayer,
112
+ })));
77
113
  //# sourceMappingURL=three.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"three.js","sourceRoot":"","sources":["../../../src/utils/three.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0DA,8BAeC;AAKD,4BAaC;AAxCD,IAAI,YAA8C,CAAA;AAClD,IAAI,WAA4C,CAAA;AAEhD;;;GAGG;AACH,SAAgB,SAAS;IACvB,YAAY,aAAZ,YAAY,cAAZ,YAAY,IAAZ,YAAY,GAAK,OAAO,CAAC,GAAG,CAAC;0DACpB,OAAO;0DACP,oCAAoC;0DACpC,qCAAqC;0DACrC,oCAAoC;0DACpC,6CAA6C;KACrD,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAChD,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,cAAc,EAAE,OAAO,CAAC,cAAc;KACvC,CAAC,CAAC,EAAA;IACH,OAAO,YAAY,CAAA;AACrB,CAAC;AAED;;GAEG;AACH,SAAgB,QAAQ;IACtB,WAAW,aAAX,WAAW,cAAX,WAAW,IAAX,WAAW,GAAK,OAAO,CAAC,GAAG,CAAC;0DACnB,iBAAiB;0DACjB,qBAAqB;0DACrB,iBAAiB;KACzB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QACxC,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC,CAAC,EAAA;IACH,OAAO,WAAW,CAAA;AACpB,CAAC"}
1
+ {"version":3,"file":"three.js","sourceRoot":"","sources":["../../../src/utils/three.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiEA,sCAWC;AA/BD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,aAAa,CAAI,IAAsB;IACrD,IAAI,MAA8B,CAAA;IAClC,OAAO,GAAG,EAAE;QACV,MAAM,aAAN,MAAM,cAAN,MAAM,IAAN,MAAM,GAAK,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACzC,wFAAwF;YACxF,iFAAiF;YACjF,MAAM,GAAG,SAAS,CAAA;YAClB,MAAM,KAAK,CAAA;QACb,CAAC,CAAC,EAAA;QACF,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;AACH,CAAC;AAED;;;;GAIG;AACU,QAAA,SAAS,GAA+B,aAAa,CAAC,GAAG,EAAE,CACtE,OAAO,CAAC,GAAG,CAAC;sDACH,OAAO;sDACP,oCAAoC;sDACpC,qCAAqC;sDACrC,oCAAoC;CAC5C,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACvC,KAAK,EAAE,KAAK;IACZ,UAAU,EAAE,IAAI,CAAC,UAAU;IAC3B,WAAW,EAAE,KAAK,CAAC,WAAW;IAC9B,UAAU,EAAE,IAAI,CAAC,UAAU;CAC5B,CAAC,CAAC,CACJ,CAAA;AAED;;;;;;;;;;GAUG;AACU,QAAA,kBAAkB,GAAyC,aAAa,CAAC,GAAG,EAAE,CACzF,kDAAO,6CAA6C,IAAE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAChG,CAAA;AAED;;;GAGG;AACU,QAAA,QAAQ,GAA8B,aAAa,CAAC,GAAG,EAAE,CACpE,OAAO,CAAC,GAAG,CAAC;sDACH,iBAAiB;sDACjB,qBAAqB;sDACrB,iBAAiB;CACzB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IACxC,aAAa,EAAE,MAAM,CAAC,aAAa;IACnC,QAAQ,EAAE,SAAS,CAAC,QAAQ;IAC5B,SAAS,EAAE,MAAM,CAAC,SAAS;IAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;IAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;CAC5B,CAAC,CAAC,CACJ,CAAA"}
@@ -24,9 +24,10 @@ export declare class RouteController {
24
24
  * Add MapLibre sources and layers for a single route instance.
25
25
  *
26
26
  * All three sources set `lineMetrics`: maplibre computes `line-progress` only
27
- * when a source asks it to, and `preparePaintForLayer` emits a
28
- * `line-progress` gradient for a GradientStyle. Without it, a consumer
29
- * setting a gradient route style silently got no gradient at all.
27
+ * when a source asks it to. The CURRENT layer needs it to reveal the step
28
+ * line as the marker advances, and `preparePaintForLayer` emits a
29
+ * `line-progress` gradient for a GradientStyle on any of the three — without
30
+ * it, a consumer setting a gradient route style silently got no gradient.
30
31
  */
31
32
  private addSourcesAndLayersForRoute;
32
33
  /**
@@ -38,6 +39,15 @@ export declare class RouteController {
38
39
  * Should be called when the map style is reloaded.
39
40
  */
40
41
  addSourcesAndLayers(): void;
42
+ /**
43
+ * Re-apply the paint a style reload dropped.
44
+ *
45
+ * {@link addSourcesAndLayersForRoute} re-adds the layers with no paint at all, so
46
+ * without this the route keeps its geometry but loses its colors — and the CURRENT
47
+ * layer loses its `line-gradient`, which is the only thing hiding the part of the
48
+ * step the marker has not reached yet: the whole step would be drawn at once.
49
+ */
50
+ private restoreLayerPaint;
41
51
  /**
42
52
  * Recompute the GLB route-transparency collision path from all active routes and push it to the
43
53
  * map. Every polyline point of every step is tagged with the floor its segment is drawn on (same
@@ -67,8 +77,72 @@ export declare class RouteController {
67
77
  */
68
78
  private projectPointToSegment;
69
79
  private setSourceData;
70
- private setCurrentSourceData;
80
+ /**
81
+ * Upload the whole polyline of `step` as the CURRENT feature and reset its
82
+ * reveal to zero. The line is then drawn progressively by moving a
83
+ * `line-progress` cut-off (see {@link applyReveal}) instead of re-uploading a
84
+ * growing geometry every frame: a paint change is applied synchronously, while
85
+ * a `setData` goes through the worker and lands several frames after the DOM
86
+ * marker already moved — on a slow device the marker visibly ran ahead of
87
+ * its line.
88
+ */
89
+ private loadStepGeometry;
90
+ /**
91
+ * Fraction of the step line up to `coordinatesIndex` plus `extraMeters` along
92
+ * the following segment.
93
+ */
94
+ private fractionAlongStep;
95
+ /**
96
+ * Show the first `fraction` of the CURRENT step line: a `line-gradient` step on
97
+ * `line-progress` that turns transparent past the cut-off. MapLibre treats it
98
+ * as a plain paint update (a 256px ramp re-rendered on the next draw), so the
99
+ * line head and the marker move in the same frame.
100
+ *
101
+ * The paint is set with `validate: false`: this runs on every animation frame and
102
+ * the expression is built here, not taken from a consumer, so re-parsing and
103
+ * re-validating it 60 times a second is pure overhead on a totem-class device.
104
+ */
105
+ private applyReveal;
106
+ /**
107
+ * The `line-gradient` that shows the first `fraction` of the step line and
108
+ * nothing after it.
109
+ *
110
+ * Deliberately built on `interpolate` rather than the `step` this reads like.
111
+ * `LineStyleLayer._handleSpecialPaintPropertyUpdate` sets `stepInterpolant`
112
+ * for any `step` root, and `stepInterpolant` swaps the gradient ramp from a
113
+ * fixed 256 texels to
114
+ * `clamp(nextPowerOfTwo(lineLength * 1024 * potentialOverzoom), 256, maxTextureSize)`
115
+ * — 4096 to 16384 in practice. Every `setPaintProperty` here bumps
116
+ * `gradientVersion`, so that ramp would be re-rendered and re-uploaded once
117
+ * per visible tile per frame, which is the opposite of what this reveal is
118
+ * for. An `interpolate` root keeps the ramp at 256 texels; the cost is a
119
+ * one-texel soft edge at the cut-off instead of a hard one.
120
+ */
121
+ private revealGradient;
122
+ /**
123
+ * Whether the route's three sources have finished uploading their latest
124
+ * data, i.e. what is on screen matches what was last set. Maps without
125
+ * `isSourceLoaded` (test doubles) count as ready.
126
+ */
127
+ private stepSourcesReady;
128
+ /** Whether `sourceId` is currently on the map (false while a style swap is in flight). */
129
+ private hasSource;
130
+ /**
131
+ * Apply a floor switch that was deferred until the next step's line was
132
+ * uploaded, then put the marker where that step starts. Floor, line and
133
+ * marker change in the same frame.
134
+ */
135
+ private applyPendingFloor;
71
136
  private setLayerPaint;
137
+ /**
138
+ * Set the paint the step line is drawn with, resolving its color once.
139
+ *
140
+ * See {@link RouteInstance.currentLineColor}: resolving a gradient allocates
141
+ * and can throw, and the reveal would otherwise redo it on every frame.
142
+ */
143
+ private setCurrentDrawConfig;
144
+ /** The color of a route line: a solid color or a `line-progress` gradient ramp. */
145
+ private lineColorExpression;
72
146
  private preparePaintForLayer;
73
147
  /**
74
148
  * Update the filter of the layer referenced with a ID.
@@ -112,6 +186,19 @@ export declare class RouteController {
112
186
  * @param animationConfig The animation configuration for the route.
113
187
  */
114
188
  startAnimating(route: MVXRoute, drawConfig: InternalAnimationDrawingConfig, animationConfig: InternalAnimationConfig): void;
189
+ /**
190
+ * Tear one route instance down.
191
+ *
192
+ * `applyPendingFloorChange` decides what happens to a floor switch this
193
+ * instance had decided on but not yet shown. Removing a single route mid-walk
194
+ * applies it: the consumer may be removing the route from the step callback,
195
+ * and dropping the switch would leave the map on the floor the route has
196
+ * already left. Clearing every route does not — a floor switch is a visible
197
+ * camera and filter change plus an `onFloorChange` to the consumer, and
198
+ * `removeAllRoutes` is what teardown calls, where moving the map is
199
+ * a side effect nobody asked for and a consumer that re-enters from
200
+ * `onFloorChange` re-enters teardown.
201
+ */
115
202
  private clearRouteInstance;
116
203
  /**
117
204
  * Remove a route from the map.
@@ -173,15 +260,6 @@ export declare class RouteController {
173
260
  centerOnCurrentStep(routeId?: string): void;
174
261
  private prepareForNextStep;
175
262
  private animateStep;
176
- /**
177
- * Pushes the in-progress segment's geometry to its map source.
178
- *
179
- * Called once per frame rather than once per vertex crossed: `setData`
180
- * rebuilds the whole geojson-vt index and reloads every in-view tile, so its
181
- * cost is a large fixed one per call and is worth paying only once, with the
182
- * frame's final geometry.
183
- */
184
- private flushCurrentSourceData;
185
263
  private setMarkerLngLat;
186
264
  private setMarkerRotation;
187
265
  setMarkerFloor(floorId?: string, routeId?: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"routeController.d.ts","sourceRoot":"","sources":["../../../src/controllers/routeController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routeController.d.ts","sourceRoot":"","sources":["../../../src/controllers/routeController.ts"],"names":[],"mappings":"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"}