@mapvx/web-js 4.0.1-dev.1 → 4.0.1-dev.3

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maplibreWorkerSource.js","sourceRoot":"","sources":["../../../../src/map/generated/maplibreWorkerSource.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,+EAA+E;AAC/E,yCAAyC;AAEzC;0FAC0F;AAC1F,MAAM,CAAC,MAAM,uBAAuB,GAAW,OAAO,CAAA;AAEtD;;;;;sEAKsE;AACtE,MAAM,CAAC,MAAM,sBAAsB,GAAW,y/0fAAy/0f,CAAA"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Registers a self-contained MapLibre worker carried inside this bundle.
3
+ *
4
+ * MapLibre 6 no longer inlines its worker. It resolves it at runtime with
5
+ * `new URL('./maplibre-gl-worker.mjs', import.meta.url)`, building the filename by concatenation
6
+ * so no bundler can see it statically and none emit the file. Once a consumer bundles this SDK,
7
+ * `import.meta.url` is the consumer's own chunk, the worker is requested from a path where nothing
8
+ * exists — in a single-page app the request falls through to the app shell and the worker dies on
9
+ * a `text/html` MIME error — and the map renders nothing at all. Handing MapLibre a `blob:` URL
10
+ * removes that resolution from the picture entirely, so this holds regardless of the consumer's
11
+ * bundler, base href, or whether the app is served from a subpath.
12
+ *
13
+ * Must run before anything touches MapLibre's global worker pool, which is earlier than it looks.
14
+ * The pool is created by the first `Dispatcher` and the URL is read then, once, and not again
15
+ * while a map is alive — so any MapLibre call that builds a Dispatcher ahead of this one wins
16
+ * permanently. `new Map(...)` is the obvious one, but `prewarm()`, `importScriptInWorkers()` and
17
+ * the now-removed `setRTLTextPlugin()` all do it too. Hence the very top of the map constructor,
18
+ * rather than next to the map.
19
+ *
20
+ * Never called at module load: that would run `new Blob` and `URL.createObjectURL` during import,
21
+ * which fails under SSR and in jsdom, and would hand MapLibre a worker URL for applications that
22
+ * import this package without ever creating a map. It does not save memory — the worker string is
23
+ * resident from the moment this module is imported either way.
24
+ *
25
+ * A consumer that installed its own worker URL is self-hosting on purpose — a strict
26
+ * Content-Security-Policy without `worker-src blob:`, typically — and is left alone.
27
+ *
28
+ * Under such a policy with no URL set, the failure is silent from the application's side, and
29
+ * measured rather than assumed: `createObjectURL` does not throw, `new Worker` does not throw
30
+ * synchronously, and MapLibre fires no `error` event. The only signal is the browser's own
31
+ * console message, *"Creating a worker from 'blob:…' violates the following Content Security
32
+ * Policy directive"*, next to a map that never loads. That string is repeated here so searching
33
+ * for it lands on this explanation and on `setMapLibreWorkerUrl`.
34
+ *
35
+ * @see setMapLibreWorkerUrl for the supported way to opt out.
36
+ * @group Configuration
37
+ */
38
+ export declare function installMapLibreWorker(): void;
39
+ /**
40
+ * Points MapLibre at a worker script you host yourself, instead of the one bundled into this SDK.
41
+ *
42
+ * The bundled worker is delivered as a `blob:` URL, which a Content-Security-Policy without
43
+ * `worker-src blob:` (or `child-src blob:`) will block. Self-hosting is the way out: copy
44
+ * `maplibre-gl-worker.mjs` **and** `maplibre-gl-shared.mjs` from `maplibre-gl/dist` — the worker
45
+ * imports the shared file at runtime, so both must be served from the same directory — and point
46
+ * this at the first one. Use `npm ls maplibre-gl` to see which version this SDK resolved; the
47
+ * files must come from that one.
48
+ *
49
+ * **The URL has to be same-origin.** A cross-origin one does not escape `blob:`: MapLibre wraps
50
+ * any worker URL it considers cross-origin in a generated `blob:` worker that imports it, so a
51
+ * CDN-hosted worker hits exactly the same Content-Security-Policy wall as the bundled one.
52
+ *
53
+ * Call it before creating any map. Once MapLibre's worker pool has spun up it does not re-read the
54
+ * URL until every map has been removed.
55
+ *
56
+ * Exists so opting out does not force a direct `maplibre-gl` dependency on consumers that only
57
+ * use this SDK.
58
+ *
59
+ * @param url - URL of the MapLibre worker script to load.
60
+ * @example
61
+ * ```ts
62
+ * import { setMapLibreWorkerUrl, initializeSDK } from "@mapvx/web-js"
63
+ *
64
+ * setMapLibreWorkerUrl("/assets/maplibre-gl-worker.mjs")
65
+ * const sdk = initializeSDK(token)
66
+ * ```
67
+ * @group Configuration
68
+ */
69
+ export declare function setMapLibreWorkerUrl(url: string): void;
70
+ /**
71
+ * The worker URL MapLibre will use, or `""` when none has been set yet.
72
+ *
73
+ * Returns a `blob:` URL once the bundled worker has been installed, which happens when the first
74
+ * map is created. Useful to assert in tests that the bundled worker is in play.
75
+ *
76
+ * @returns The current MapLibre worker URL.
77
+ * @group Configuration
78
+ */
79
+ export declare function getMapLibreWorkerUrl(): string;
80
+ /**
81
+ * Resets the module-level install state. Test seam only — the blob URL is intentionally never
82
+ * revoked in production, so there is nothing to clean up outside tests.
83
+ *
84
+ * @internal
85
+ */
86
+ export declare function resetMapLibreWorkerInstallForTests(): void;
87
+ //# sourceMappingURL=installMapLibreWorker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installMapLibreWorker.d.ts","sourceRoot":"","sources":["../../../src/map/installMapLibreWorker.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAgC5C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAKtD;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED;;;;;GAKG;AACH,wBAAgB,kCAAkC,IAAI,IAAI,CAEzD"}
@@ -0,0 +1,134 @@
1
+ import { getVersion, getWorkerUrl, setWorkerUrl } from "maplibre-gl";
2
+ import { MAPLIBRE_WORKER_SOURCE, MAPLIBRE_WORKER_VERSION } from "./generated/maplibreWorkerSource";
3
+ /**
4
+ * The blob URL this SDK created, or `null` while nothing has been installed yet. Kept so the
5
+ * install is idempotent and so we can tell our own URL from one a consumer supplied.
6
+ */
7
+ let installedWorkerUrl = null;
8
+ /**
9
+ * Registers a self-contained MapLibre worker carried inside this bundle.
10
+ *
11
+ * MapLibre 6 no longer inlines its worker. It resolves it at runtime with
12
+ * `new URL('./maplibre-gl-worker.mjs', import.meta.url)`, building the filename by concatenation
13
+ * so no bundler can see it statically and none emit the file. Once a consumer bundles this SDK,
14
+ * `import.meta.url` is the consumer's own chunk, the worker is requested from a path where nothing
15
+ * exists — in a single-page app the request falls through to the app shell and the worker dies on
16
+ * a `text/html` MIME error — and the map renders nothing at all. Handing MapLibre a `blob:` URL
17
+ * removes that resolution from the picture entirely, so this holds regardless of the consumer's
18
+ * bundler, base href, or whether the app is served from a subpath.
19
+ *
20
+ * Must run before anything touches MapLibre's global worker pool, which is earlier than it looks.
21
+ * The pool is created by the first `Dispatcher` and the URL is read then, once, and not again
22
+ * while a map is alive — so any MapLibre call that builds a Dispatcher ahead of this one wins
23
+ * permanently. `new Map(...)` is the obvious one, but `prewarm()`, `importScriptInWorkers()` and
24
+ * the now-removed `setRTLTextPlugin()` all do it too. Hence the very top of the map constructor,
25
+ * rather than next to the map.
26
+ *
27
+ * Never called at module load: that would run `new Blob` and `URL.createObjectURL` during import,
28
+ * which fails under SSR and in jsdom, and would hand MapLibre a worker URL for applications that
29
+ * import this package without ever creating a map. It does not save memory — the worker string is
30
+ * resident from the moment this module is imported either way.
31
+ *
32
+ * A consumer that installed its own worker URL is self-hosting on purpose — a strict
33
+ * Content-Security-Policy without `worker-src blob:`, typically — and is left alone.
34
+ *
35
+ * Under such a policy with no URL set, the failure is silent from the application's side, and
36
+ * measured rather than assumed: `createObjectURL` does not throw, `new Worker` does not throw
37
+ * synchronously, and MapLibre fires no `error` event. The only signal is the browser's own
38
+ * console message, *"Creating a worker from 'blob:…' violates the following Content Security
39
+ * Policy directive"*, next to a map that never loads. That string is repeated here so searching
40
+ * for it lands on this explanation and on `setMapLibreWorkerUrl`.
41
+ *
42
+ * @see setMapLibreWorkerUrl for the supported way to opt out.
43
+ * @group Configuration
44
+ */
45
+ export function installMapLibreWorker() {
46
+ if (installedWorkerUrl !== null)
47
+ return;
48
+ // `WORKER_URL` defaults to "", so a truthy value can only mean a consumer set one.
49
+ if (getWorkerUrl())
50
+ return;
51
+ const runtimeVersion = getVersion();
52
+ if (runtimeVersion !== MAPLIBRE_WORKER_VERSION) {
53
+ // The bundled worker and the running MapLibre talk an internal, unversioned protocol. A skew
54
+ // is only possible if the consumer forced a different maplibre-gl than this SDK pinned; it is
55
+ // still better to install a slightly mismatched worker than to leave the map with none, so
56
+ // this warns rather than bails.
57
+ console.warn(`[MapVX] MapLibre version mismatch: the bundled worker is ${MAPLIBRE_WORKER_VERSION} but ` +
58
+ `maplibre-gl ${runtimeVersion} is running. Install maplibre-gl@${MAPLIBRE_WORKER_VERSION} ` +
59
+ `or call setMapLibreWorkerUrl() with a self-hosted worker of the matching version.`);
60
+ }
61
+ try {
62
+ const blob = new Blob([MAPLIBRE_WORKER_SOURCE], { type: "text/javascript" });
63
+ // Deliberately never revoked. MapLibre terminates its worker pool when the last map is
64
+ // removed and reads this URL again when the next map is created, so revoking would break
65
+ // every map after the first.
66
+ installedWorkerUrl = URL.createObjectURL(blob);
67
+ setWorkerUrl(installedWorkerUrl);
68
+ }
69
+ catch (error) {
70
+ // Blob/createObjectURL are absent under SSR and in some test environments. Leaving MapLibre's
71
+ // own resolution in place is the best remaining option: it works when the SDK is served
72
+ // unbundled, which is exactly the situation where this path is reachable.
73
+ installedWorkerUrl = null;
74
+ console.warn("[MapVX] Could not install the bundled MapLibre worker:", error);
75
+ }
76
+ }
77
+ /**
78
+ * Points MapLibre at a worker script you host yourself, instead of the one bundled into this SDK.
79
+ *
80
+ * The bundled worker is delivered as a `blob:` URL, which a Content-Security-Policy without
81
+ * `worker-src blob:` (or `child-src blob:`) will block. Self-hosting is the way out: copy
82
+ * `maplibre-gl-worker.mjs` **and** `maplibre-gl-shared.mjs` from `maplibre-gl/dist` — the worker
83
+ * imports the shared file at runtime, so both must be served from the same directory — and point
84
+ * this at the first one. Use `npm ls maplibre-gl` to see which version this SDK resolved; the
85
+ * files must come from that one.
86
+ *
87
+ * **The URL has to be same-origin.** A cross-origin one does not escape `blob:`: MapLibre wraps
88
+ * any worker URL it considers cross-origin in a generated `blob:` worker that imports it, so a
89
+ * CDN-hosted worker hits exactly the same Content-Security-Policy wall as the bundled one.
90
+ *
91
+ * Call it before creating any map. Once MapLibre's worker pool has spun up it does not re-read the
92
+ * URL until every map has been removed.
93
+ *
94
+ * Exists so opting out does not force a direct `maplibre-gl` dependency on consumers that only
95
+ * use this SDK.
96
+ *
97
+ * @param url - URL of the MapLibre worker script to load.
98
+ * @example
99
+ * ```ts
100
+ * import { setMapLibreWorkerUrl, initializeSDK } from "@mapvx/web-js"
101
+ *
102
+ * setMapLibreWorkerUrl("/assets/maplibre-gl-worker.mjs")
103
+ * const sdk = initializeSDK(token)
104
+ * ```
105
+ * @group Configuration
106
+ */
107
+ export function setMapLibreWorkerUrl(url) {
108
+ setWorkerUrl(url);
109
+ // Stop claiming ownership: the URL in play is now the consumer's, and ours (if any) must not be
110
+ // revoked while a worker pool may still be using it.
111
+ installedWorkerUrl = null;
112
+ }
113
+ /**
114
+ * The worker URL MapLibre will use, or `""` when none has been set yet.
115
+ *
116
+ * Returns a `blob:` URL once the bundled worker has been installed, which happens when the first
117
+ * map is created. Useful to assert in tests that the bundled worker is in play.
118
+ *
119
+ * @returns The current MapLibre worker URL.
120
+ * @group Configuration
121
+ */
122
+ export function getMapLibreWorkerUrl() {
123
+ return getWorkerUrl();
124
+ }
125
+ /**
126
+ * Resets the module-level install state. Test seam only — the blob URL is intentionally never
127
+ * revoked in production, so there is nothing to clean up outside tests.
128
+ *
129
+ * @internal
130
+ */
131
+ export function resetMapLibreWorkerInstallForTests() {
132
+ installedWorkerUrl = null;
133
+ }
134
+ //# sourceMappingURL=installMapLibreWorker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installMapLibreWorker.js","sourceRoot":"","sources":["../../../src/map/installMapLibreWorker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACpE,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAElG;;;GAGG;AACH,IAAI,kBAAkB,GAAkB,IAAI,CAAA;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,UAAU,qBAAqB;IACnC,IAAI,kBAAkB,KAAK,IAAI;QAAE,OAAM;IACvC,mFAAmF;IACnF,IAAI,YAAY,EAAE;QAAE,OAAM;IAE1B,MAAM,cAAc,GAAG,UAAU,EAAE,CAAA;IACnC,IAAI,cAAc,KAAK,uBAAuB,EAAE,CAAC;QAC/C,6FAA6F;QAC7F,8FAA8F;QAC9F,2FAA2F;QAC3F,gCAAgC;QAChC,OAAO,CAAC,IAAI,CACV,4DAA4D,uBAAuB,OAAO;YACxF,eAAe,cAAc,oCAAoC,uBAAuB,GAAG;YAC3F,mFAAmF,CACtF,CAAA;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,sBAAsB,CAAC,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAA;QAC5E,uFAAuF;QACvF,yFAAyF;QACzF,6BAA6B;QAC7B,kBAAkB,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAC9C,YAAY,CAAC,kBAAkB,CAAC,CAAA;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,8FAA8F;QAC9F,wFAAwF;QACxF,0EAA0E;QAC1E,kBAAkB,GAAG,IAAI,CAAA;QACzB,OAAO,CAAC,IAAI,CAAC,wDAAwD,EAAE,KAAK,CAAC,CAAA;IAC/E,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,YAAY,CAAC,GAAG,CAAC,CAAA;IACjB,gGAAgG;IAChG,qDAAqD;IACrD,kBAAkB,GAAG,IAAI,CAAA;AAC3B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,YAAY,EAAE,CAAA;AACvB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kCAAkC;IAChD,kBAAkB,GAAG,IAAI,CAAA;AAC3B,CAAC"}
@@ -744,11 +744,6 @@ export interface MapVXMap {
744
744
  */
745
745
  clearTileCache(): void;
746
746
  }
747
- /**
748
- * Class to interact with the map.
749
- * @category Map
750
- * @hidden
751
- */
752
747
  export declare class InternalMapVXMap extends Loggeable implements MapVXMap {
753
748
  private readonly token;
754
749
  /**
@@ -886,6 +881,14 @@ export declare class InternalMapVXMap extends Loggeable implements MapVXMap {
886
881
  private readonly initialCenter;
887
882
  /** Owns the deck.gl overlay + GLB scene; created on style load only when 3D is active. */
888
883
  private scene3D;
884
+ /**
885
+ * Whether the style currently applied publishes `fill-extrusion` layers, i.e. whether there are
886
+ * roofs for the 3D scene to sit on. Recomputed on every style the map is given, because the style
887
+ * is served per API key, not per venue: the same place can come back 3D on one key and flat on
888
+ * another. Assumed true until a style says otherwise, so 2D maps (which never read it) are
889
+ * unaffected.
890
+ */
891
+ private styleSupports3D;
889
892
  /**
890
893
  * Creates a new map instance with the parameters specified in mapConfig and assigns it to the provided HTML container.
891
894
  * @param mapConfig Configuration parameters for the map.
@@ -932,7 +935,13 @@ export declare class InternalMapVXMap extends Loggeable implements MapVXMap {
932
935
  clearTileCache(): void;
933
936
  /**
934
937
  * Whether 3D scene features (deck.gl overlay, declarative GLB custom layer, etc.) are active.
935
- * Requires {@link MapConfig.mode} `"3D"` and {@link Scene3DConfig.enabled} not `false`.
938
+ * Requires {@link MapConfig.mode} `"3D"`, {@link Scene3DConfig.enabled} not `false`, and a style
939
+ * that actually publishes `fill-extrusion` layers ({@link styleSupports3D}).
940
+ *
941
+ * That last condition is what keeps a caller from asking for 3D on a flat style: the overlay
942
+ * would float above the ground while `hideLayers` removed the 2D labels underneath, leaving a
943
+ * map with no labels at all — worse than the plain 2D map the caller would otherwise get.
944
+ *
936
945
  * The heavy WebGL / deck.gl work lives in {@link Scene3DController}; this only decides whether one
937
946
  * is created and wired up. When `scene3D` is omitted, 3D features remain available.
938
947
  */
@@ -1194,6 +1203,10 @@ export declare class InternalMapVXMap extends Loggeable implements MapVXMap {
1194
1203
  private defaultClickListener;
1195
1204
  private onHover;
1196
1205
  setPlacesAsSelected(placeIds: string[], color?: string): void;
1206
+ /**
1207
+ * Same question as {@link styleHasExtrusions}, asked of the style the map is currently showing
1208
+ * rather than one about to be applied. Used after load, when `map.getStyle()` is available.
1209
+ */
1197
1210
  private is3DStyle;
1198
1211
  private createColoredPlacesLayer;
1199
1212
  private createBasicFilters;
@@ -1 +1 @@
1
- {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../../src/map/map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../../src/map/map.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { LngLatBounds, Map, NavigationControl, Popup, addProtocol, } from "maplibre-gl";
2
2
  import { Semaphore } from "../utils/semaphore";
3
+ import { installMapLibreWorker } from "./installMapLibreWorker";
3
4
  /** Shared GeoJSON source holding every circle drawn through the circle API. */
4
5
  const CIRCLE_SOURCE_ID = "mapvx-circles";
5
6
  /** Fill layer rendering the translucent interior of the circles. */
@@ -184,6 +185,20 @@ import { buildInteractionOptions, shouldDisableTouchRotation } from "./mapIntera
184
185
  * @category Map
185
186
  * @hidden
186
187
  */
188
+ /**
189
+ * Whether a style publishes any `fill-extrusion` layer, i.e. whether it has extruded rooms for the
190
+ * 3D scene to stand on.
191
+ *
192
+ * This is the only reliable signal for "does 3D work here". `mapStyleJson` is served per API key,
193
+ * so the same venue comes back with extrusions on a 3D key and flat on a 2D one — the place id
194
+ * cannot answer the question.
195
+ *
196
+ * @param style The style about to be applied, or the one currently applied.
197
+ * @returns `true` when at least one layer is `fill-extrusion`.
198
+ */
199
+ function styleHasExtrusions(style) {
200
+ return style.layers.some((layer) => layer.type === "fill-extrusion");
201
+ }
187
202
  export class InternalMapVXMap extends Loggeable {
188
203
  /** Whether a floor change is still rebuilding, so markers wait for it. */
189
204
  get floorSettlePending() {
@@ -272,6 +287,23 @@ export class InternalMapVXMap extends Loggeable {
272
287
  this.floorSettleDeadline = null;
273
288
  /** Owns the deck.gl overlay + GLB scene; created on style load only when 3D is active. */
274
289
  this.scene3D = undefined;
290
+ /**
291
+ * Whether the style currently applied publishes `fill-extrusion` layers, i.e. whether there are
292
+ * roofs for the 3D scene to sit on. Recomputed on every style the map is given, because the style
293
+ * is served per API key, not per venue: the same place can come back 3D on one key and flat on
294
+ * another. Assumed true until a style says otherwise, so 2D maps (which never read it) are
295
+ * unaffected.
296
+ */
297
+ this.styleSupports3D = true;
298
+ // First statement on purpose, and further forward than it looks necessary. MapLibre reads
299
+ // WORKER_URL once, when its first Dispatcher is built, and never again while any map is alive
300
+ // — so the worker has to be installed before *anything* touches MapLibre, not merely before
301
+ // `new Map(...)`. Today the constructor reaches MapLibre only through the map itself, but
302
+ // until recently it also called `setRTLTextPlugin()` here, which builds a Dispatcher of its
303
+ // own 200 lines ahead of the map; `prewarm()` and `importScriptInWorkers()` do the same.
304
+ // Keeping this first means no later edit can slip such a call in front of it.
305
+ // See installMapLibreWorker and DEVELOPER_DOCS/MAPLIBRE_V6_MIGRATION.md.
306
+ installMapLibreWorker();
275
307
  this.repository = new Repository(token, (_a = mapConfig.lang) !== null && _a !== void 0 ? _a : "en", mapConfig.apiUrl, undefined, mapConfig.mapvxRequestContext, {
276
308
  routeApiUrl: mapConfig.routeApiUrl,
277
309
  healthApiUrl: mapConfig.healthApiUrl,
@@ -400,7 +432,7 @@ export class InternalMapVXMap extends Loggeable {
400
432
  });
401
433
  }
402
434
  onMapStyleLoaded(mapConfig, container, style) {
403
- var _a, _b, _c, _d, _e, _f, _g;
435
+ var _a, _b, _c, _d, _e, _f, _g, _h;
404
436
  // Determine if service worker caching should be enabled
405
437
  const useServiceWorkerCaching = this.tileCacheConfig.enabled && this.tileCacheConfig.persistToServiceWorker;
406
438
  if (useServiceWorkerCaching) {
@@ -408,7 +440,17 @@ export class InternalMapVXMap extends Loggeable {
408
440
  }
409
441
  // Transform tile URLs only if service worker caching is enabled
410
442
  const finalStyle = useServiceWorkerCaching ? this.transformStyleForCaching(style) : style;
411
- const mapOptions = Object.assign({ container, style: finalStyle, center: mapConfig.center, zoom: mapConfig.zoom, pitch: (_a = mapConfig.pitch) !== null && _a !== void 0 ? _a : 0, attributionControl: false, maplibreLogo: false, bearingSnap: (_b = mapConfig.bearingSnap) !== null && _b !== void 0 ? _b : 0, cancelPendingTileRequestsWhileZooming: true,
443
+ // Read straight off the style object rather than `map.getStyle()`: the map does not exist yet
444
+ // here, and the decision has to be made before the 3D controller is constructed below.
445
+ this.styleSupports3D = styleHasExtrusions(finalStyle);
446
+ if (this.mode === "3D" && !this.styleSupports3D) {
447
+ this.logWarning(new Error("3D was requested but this style publishes no `fill-extrusion` layers, so there are no " +
448
+ "roofs to draw on. Falling back to 2D: the deck.gl overlay and `hideLayers` are " +
449
+ "skipped, which keeps the flat labels visible instead of hiding them under an overlay " +
450
+ "floating above the ground. The style is served per API key, not per venue, so check " +
451
+ "that this key publishes 3D."), { functionName: "onMapStyleLoaded", parentPlaceId: (_a = this.parentPlaceId) !== null && _a !== void 0 ? _a : "" });
452
+ }
453
+ const mapOptions = Object.assign({ container, style: finalStyle, center: mapConfig.center, zoom: mapConfig.zoom, pitch: (_b = mapConfig.pitch) !== null && _b !== void 0 ? _b : 0, attributionControl: false, maplibreLogo: false, bearingSnap: (_c = mapConfig.bearingSnap) !== null && _c !== void 0 ? _c : 0, cancelPendingTileRequestsWhileZooming: true,
412
454
  // Use configured maxTiles for MapLibre's memory cache
413
455
  maxTileCacheSize: this.tileCacheConfig.maxTiles }, buildInteractionOptions(mapConfig));
414
456
  if (mapConfig.maxZoom)
@@ -435,12 +477,12 @@ export class InternalMapVXMap extends Loggeable {
435
477
  // When rotation is disabled we still want pinch-to-zoom to work, so the
436
478
  // two-finger rotation is turned off here instead of via the constructor.
437
479
  if (shouldDisableTouchRotation(mapConfig)) {
438
- (_d = (_c = this.map.touchZoomRotate) === null || _c === void 0 ? void 0 : _c.disableRotation) === null || _d === void 0 ? void 0 : _d.call(_c);
480
+ (_e = (_d = this.map.touchZoomRotate) === null || _d === void 0 ? void 0 : _d.disableRotation) === null || _e === void 0 ? void 0 : _e.call(_d);
439
481
  }
440
482
  this.map.addControl(new NavigationControl({
441
- showCompass: (_e = mapConfig.showCompass) !== null && _e !== void 0 ? _e : true,
442
- showZoom: (_f = mapConfig.showZoom) !== null && _f !== void 0 ? _f : true,
443
- }), (_g = mapConfig.navigationPosition) !== null && _g !== void 0 ? _g : "top-right");
483
+ showCompass: (_f = mapConfig.showCompass) !== null && _f !== void 0 ? _f : true,
484
+ showZoom: (_g = mapConfig.showZoom) !== null && _g !== void 0 ? _g : true,
485
+ }), (_h = mapConfig.navigationPosition) !== null && _h !== void 0 ? _h : "top-right");
444
486
  this.map.on("load", () => {
445
487
  var _a, _b;
446
488
  // 3D libraries load asynchronously; the rest of the load flow does not wait on them.
@@ -640,13 +682,19 @@ export class InternalMapVXMap extends Loggeable {
640
682
  }
641
683
  /**
642
684
  * Whether 3D scene features (deck.gl overlay, declarative GLB custom layer, etc.) are active.
643
- * Requires {@link MapConfig.mode} `"3D"` and {@link Scene3DConfig.enabled} not `false`.
685
+ * Requires {@link MapConfig.mode} `"3D"`, {@link Scene3DConfig.enabled} not `false`, and a style
686
+ * that actually publishes `fill-extrusion` layers ({@link styleSupports3D}).
687
+ *
688
+ * That last condition is what keeps a caller from asking for 3D on a flat style: the overlay
689
+ * would float above the ground while `hideLayers` removed the 2D labels underneath, leaving a
690
+ * map with no labels at all — worse than the plain 2D map the caller would otherwise get.
691
+ *
644
692
  * The heavy WebGL / deck.gl work lives in {@link Scene3DController}; this only decides whether one
645
693
  * is created and wired up. When `scene3D` is omitted, 3D features remain available.
646
694
  */
647
695
  is3DSceneActive() {
648
696
  var _a;
649
- return this.mode === "3D" && ((_a = this.scene3DConfig) === null || _a === void 0 ? void 0 : _a.enabled) !== false;
697
+ return this.mode === "3D" && ((_a = this.scene3DConfig) === null || _a === void 0 ? void 0 : _a.enabled) !== false && this.styleSupports3D;
650
698
  }
651
699
  getCurrentFloor() {
652
700
  var _a;
@@ -952,10 +1000,19 @@ export class InternalMapVXMap extends Loggeable {
952
1000
  const { placeIds, color, width } = this.borderedPlacesRequest;
953
1001
  restore("borderedPlaces", () => this.addBorderToPlaces(placeIds, color, width));
954
1002
  }
1003
+ // A style swap can cross the 3D/2D line: `changeParentPlaceTo` refetches `mapStyleJson`, and
1004
+ // the new venue's style may publish no extrusions. Re-read it from the live style before
1005
+ // deciding, or the reattach below would put the overlay back on flat ground.
1006
+ this.styleSupports3D = this.is3DStyle();
955
1007
  // The swap removed the GLB custom layer, and MapLibre called its `onRemove`, which
956
1008
  // disposes the whole three.js scene. Nothing else re-adds it, so without this every
957
1009
  // 3D model disappears permanently and `hideLayers` stops being applied.
958
- restore("scene3D", () => { var _a; return (_a = this.scene3D) === null || _a === void 0 ? void 0 : _a.reattachToStyle(); });
1010
+ restore("scene3D", () => {
1011
+ var _a;
1012
+ if (!this.is3DSceneActive())
1013
+ return;
1014
+ (_a = this.scene3D) === null || _a === void 0 ? void 0 : _a.reattachToStyle();
1015
+ });
959
1016
  }
960
1017
  /**
961
1018
  * Removes the `styledata` listener left by an in-flight {@link setStyle} swap, if any.
@@ -2176,9 +2233,12 @@ export class InternalMapVXMap extends Loggeable {
2176
2233
  this.debugLog("Place selection failed (layer may not exist)", error);
2177
2234
  }
2178
2235
  }
2236
+ /**
2237
+ * Same question as {@link styleHasExtrusions}, asked of the style the map is currently showing
2238
+ * rather than one about to be applied. Used after load, when `map.getStyle()` is available.
2239
+ */
2179
2240
  is3DStyle() {
2180
- const layers = this.map.getStyle().layers;
2181
- return layers.some((layer) => layer.type === "fill-extrusion");
2241
+ return styleHasExtrusions(this.map.getStyle());
2182
2242
  }
2183
2243
  createColoredPlacesLayer() {
2184
2244
  if (this.is3DStyle()) {