@mapvx/web-js 3.6.0-dev.1 → 4.0.0-dev.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.
Files changed (191) hide show
  1. package/README.md +6 -1
  2. package/dist/cjs/index.js +2 -95
  3. package/dist/cjs/index.js.LICENSE.txt +1 -0
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/es/controllers/routeController.d.ts.map +1 -1
  6. package/dist/es/controllers/routeController.js +25 -8
  7. package/dist/es/controllers/routeController.js.map +1 -1
  8. package/dist/es/domain/models/scene3D.d.ts +13 -0
  9. package/dist/es/domain/models/scene3D.d.ts.map +1 -1
  10. package/dist/es/logger/sentry.js +1 -1
  11. package/dist/es/map/liveMapFitTransform.d.ts +11 -5
  12. package/dist/es/map/liveMapFitTransform.d.ts.map +1 -1
  13. package/dist/es/map/liveMapFitTransform.js +28 -19
  14. package/dist/es/map/liveMapFitTransform.js.map +1 -1
  15. package/dist/es/map/map.d.ts +0 -1
  16. package/dist/es/map/map.d.ts.map +1 -1
  17. package/dist/es/map/map.js +7 -22
  18. package/dist/es/map/map.js.map +1 -1
  19. package/dist/es/map/scene3DController.d.ts +15 -4
  20. package/dist/es/map/scene3DController.d.ts.map +1 -1
  21. package/dist/es/map/scene3DController.js +22 -10
  22. package/dist/es/map/scene3DController.js.map +1 -1
  23. package/dist/umd/index.js +961 -166
  24. package/dist/umd/index.js.map +1 -1
  25. package/dist/umd/styles.css +1 -1
  26. package/dist/umd/styles.css.map +1 -1
  27. package/package.json +7 -4
  28. package/dist/cjs/assets/icons.js +0 -85
  29. package/dist/cjs/assets/icons.js.map +0 -1
  30. package/dist/cjs/config/draco.js +0 -15
  31. package/dist/cjs/config/draco.js.map +0 -1
  32. package/dist/cjs/config/sdkConfig.js +0 -3
  33. package/dist/cjs/config/sdkConfig.js.map +0 -1
  34. package/dist/cjs/controllers/markerLayoutController.js +0 -359
  35. package/dist/cjs/controllers/markerLayoutController.js.map +0 -1
  36. package/dist/cjs/controllers/routeController.js +0 -1549
  37. package/dist/cjs/controllers/routeController.js.map +0 -1
  38. package/dist/cjs/domain/models/_internal.js +0 -14
  39. package/dist/cjs/domain/models/_internal.js.map +0 -1
  40. package/dist/cjs/domain/models/_rtl.js +0 -10
  41. package/dist/cjs/domain/models/_rtl.js.map +0 -1
  42. package/dist/cjs/domain/models/animation.js +0 -64
  43. package/dist/cjs/domain/models/animation.js.map +0 -1
  44. package/dist/cjs/domain/models/banner.js +0 -24
  45. package/dist/cjs/domain/models/banner.js.map +0 -1
  46. package/dist/cjs/domain/models/campaign.js +0 -73
  47. package/dist/cjs/domain/models/campaign.js.map +0 -1
  48. package/dist/cjs/domain/models/categories.js +0 -37
  49. package/dist/cjs/domain/models/categories.js.map +0 -1
  50. package/dist/cjs/domain/models/circle.js +0 -253
  51. package/dist/cjs/domain/models/circle.js.map +0 -1
  52. package/dist/cjs/domain/models/cityFilterOption.js +0 -3
  53. package/dist/cjs/domain/models/cityFilterOption.js.map +0 -1
  54. package/dist/cjs/domain/models/configuration.js +0 -3
  55. package/dist/cjs/domain/models/configuration.js.map +0 -1
  56. package/dist/cjs/domain/models/cssCustomization.js +0 -3
  57. package/dist/cjs/domain/models/cssCustomization.js.map +0 -1
  58. package/dist/cjs/domain/models/fitOptions.js +0 -3
  59. package/dist/cjs/domain/models/fitOptions.js.map +0 -1
  60. package/dist/cjs/domain/models/innerFloors.js +0 -3
  61. package/dist/cjs/domain/models/innerFloors.js.map +0 -1
  62. package/dist/cjs/domain/models/institution.js +0 -45
  63. package/dist/cjs/domain/models/institution.js.map +0 -1
  64. package/dist/cjs/domain/models/latLng.js +0 -3
  65. package/dist/cjs/domain/models/latLng.js.map +0 -1
  66. package/dist/cjs/domain/models/location.js +0 -3
  67. package/dist/cjs/domain/models/location.js.map +0 -1
  68. package/dist/cjs/domain/models/loggeable.js +0 -52
  69. package/dist/cjs/domain/models/loggeable.js.map +0 -1
  70. package/dist/cjs/domain/models/mapCamera.js +0 -3
  71. package/dist/cjs/domain/models/mapCamera.js.map +0 -1
  72. package/dist/cjs/domain/models/mapConfig.js +0 -37
  73. package/dist/cjs/domain/models/mapConfig.js.map +0 -1
  74. package/dist/cjs/domain/models/marker.js +0 -502
  75. package/dist/cjs/domain/models/marker.js.map +0 -1
  76. package/dist/cjs/domain/models/multilanguage.js +0 -17
  77. package/dist/cjs/domain/models/multilanguage.js.map +0 -1
  78. package/dist/cjs/domain/models/openingHours.js +0 -3
  79. package/dist/cjs/domain/models/openingHours.js.map +0 -1
  80. package/dist/cjs/domain/models/place.js +0 -127
  81. package/dist/cjs/domain/models/place.js.map +0 -1
  82. package/dist/cjs/domain/models/platform.js +0 -3
  83. package/dist/cjs/domain/models/platform.js.map +0 -1
  84. package/dist/cjs/domain/models/popover.js +0 -3
  85. package/dist/cjs/domain/models/popover.js.map +0 -1
  86. package/dist/cjs/domain/models/product.js +0 -3
  87. package/dist/cjs/domain/models/product.js.map +0 -1
  88. package/dist/cjs/domain/models/property.js +0 -104
  89. package/dist/cjs/domain/models/property.js.map +0 -1
  90. package/dist/cjs/domain/models/route.js +0 -166
  91. package/dist/cjs/domain/models/route.js.map +0 -1
  92. package/dist/cjs/domain/models/routeConfiguration.js +0 -82
  93. package/dist/cjs/domain/models/routeConfiguration.js.map +0 -1
  94. package/dist/cjs/domain/models/routeInstance.js +0 -30
  95. package/dist/cjs/domain/models/routeInstance.js.map +0 -1
  96. package/dist/cjs/domain/models/routeStyle.js +0 -3
  97. package/dist/cjs/domain/models/routeStyle.js.map +0 -1
  98. package/dist/cjs/domain/models/scene3D.js +0 -3
  99. package/dist/cjs/domain/models/scene3D.js.map +0 -1
  100. package/dist/cjs/domain/models/transport.js +0 -22
  101. package/dist/cjs/domain/models/transport.js.map +0 -1
  102. package/dist/cjs/domain/ports/ICache.js +0 -3
  103. package/dist/cjs/domain/ports/ICache.js.map +0 -1
  104. package/dist/cjs/domain/ports/IHttpClient.js +0 -3
  105. package/dist/cjs/domain/ports/IHttpClient.js.map +0 -1
  106. package/dist/cjs/domain/ports/ILogger.js +0 -23
  107. package/dist/cjs/domain/ports/ILogger.js.map +0 -1
  108. package/dist/cjs/domain/ports/index.js +0 -10
  109. package/dist/cjs/domain/ports/index.js.map +0 -1
  110. package/dist/cjs/infrastructure/cache/CacheManager.js +0 -258
  111. package/dist/cjs/infrastructure/cache/CacheManager.js.map +0 -1
  112. package/dist/cjs/infrastructure/cache/LRUCache.js +0 -153
  113. package/dist/cjs/infrastructure/cache/LRUCache.js.map +0 -1
  114. package/dist/cjs/infrastructure/cache/PersistentCache.js +0 -168
  115. package/dist/cjs/infrastructure/cache/PersistentCache.js.map +0 -1
  116. package/dist/cjs/infrastructure/cache/cacheConfig.js +0 -70
  117. package/dist/cjs/infrastructure/cache/cacheConfig.js.map +0 -1
  118. package/dist/cjs/infrastructure/http/FetchHttpClient.js +0 -75
  119. package/dist/cjs/infrastructure/http/FetchHttpClient.js.map +0 -1
  120. package/dist/cjs/infrastructure/logging/MVXLogger.js +0 -80
  121. package/dist/cjs/infrastructure/logging/MVXLogger.js.map +0 -1
  122. package/dist/cjs/interfaces/cache.js +0 -3
  123. package/dist/cjs/interfaces/cache.js.map +0 -1
  124. package/dist/cjs/interfaces/healthResponse.js +0 -3
  125. package/dist/cjs/interfaces/healthResponse.js.map +0 -1
  126. package/dist/cjs/interfaces/institutionResponse.js +0 -3
  127. package/dist/cjs/interfaces/institutionResponse.js.map +0 -1
  128. package/dist/cjs/interfaces/metadata.js +0 -3
  129. package/dist/cjs/interfaces/metadata.js.map +0 -1
  130. package/dist/cjs/interfaces/placeResponse.js +0 -3
  131. package/dist/cjs/interfaces/placeResponse.js.map +0 -1
  132. package/dist/cjs/interfaces/routeCacheResponse.js +0 -3
  133. package/dist/cjs/interfaces/routeCacheResponse.js.map +0 -1
  134. package/dist/cjs/interfaces/routeResponse.js +0 -3
  135. package/dist/cjs/interfaces/routeResponse.js.map +0 -1
  136. package/dist/cjs/interfaces/styleResponse.js +0 -3
  137. package/dist/cjs/interfaces/styleResponse.js.map +0 -1
  138. package/dist/cjs/logger/logger.js +0 -78
  139. package/dist/cjs/logger/logger.js.map +0 -1
  140. package/dist/cjs/logger/sentry.js +0 -81
  141. package/dist/cjs/logger/sentry.js.map +0 -1
  142. package/dist/cjs/map/fitCamera.js +0 -124
  143. package/dist/cjs/map/fitCamera.js.map +0 -1
  144. package/dist/cjs/map/liveMapFitTransform.js +0 -180
  145. package/dist/cjs/map/liveMapFitTransform.js.map +0 -1
  146. package/dist/cjs/map/map.js +0 -2766
  147. package/dist/cjs/map/map.js.map +0 -1
  148. package/dist/cjs/map/mapInteractionOptions.js +0 -73
  149. package/dist/cjs/map/mapInteractionOptions.js.map +0 -1
  150. package/dist/cjs/map/scene3DController.js +0 -849
  151. package/dist/cjs/map/scene3DController.js.map +0 -1
  152. package/dist/cjs/repository/repository.js +0 -694
  153. package/dist/cjs/repository/repository.js.map +0 -1
  154. package/dist/cjs/repository/requester.js +0 -771
  155. package/dist/cjs/repository/requester.js.map +0 -1
  156. package/dist/cjs/sdk.js +0 -438
  157. package/dist/cjs/sdk.js.map +0 -1
  158. package/dist/cjs/utils/3d.js +0 -245
  159. package/dist/cjs/utils/3d.js.map +0 -1
  160. package/dist/cjs/utils/deckLayers.js +0 -153
  161. package/dist/cjs/utils/deckLayers.js.map +0 -1
  162. package/dist/cjs/utils/error.js +0 -19
  163. package/dist/cjs/utils/error.js.map +0 -1
  164. package/dist/cjs/utils/images.js +0 -25
  165. package/dist/cjs/utils/images.js.map +0 -1
  166. package/dist/cjs/utils/loadGlb.js +0 -190
  167. package/dist/cjs/utils/loadGlb.js.map +0 -1
  168. package/dist/cjs/utils/mapvxHostname.js +0 -21
  169. package/dist/cjs/utils/mapvxHostname.js.map +0 -1
  170. package/dist/cjs/utils/nav-functions.js +0 -150
  171. package/dist/cjs/utils/nav-functions.js.map +0 -1
  172. package/dist/cjs/utils/opening-hours-helper.js +0 -914
  173. package/dist/cjs/utils/opening-hours-helper.js.map +0 -1
  174. package/dist/cjs/utils/preconnect.js +0 -131
  175. package/dist/cjs/utils/preconnect.js.map +0 -1
  176. package/dist/cjs/utils/route-utils.js +0 -57
  177. package/dist/cjs/utils/route-utils.js.map +0 -1
  178. package/dist/cjs/utils/semaphore.js +0 -143
  179. package/dist/cjs/utils/semaphore.js.map +0 -1
  180. package/dist/cjs/utils/three.js +0 -113
  181. package/dist/cjs/utils/three.js.map +0 -1
  182. package/dist/cjs/utils/threeScene.js +0 -126
  183. package/dist/cjs/utils/threeScene.js.map +0 -1
  184. package/dist/cjs/utils/update-css.js +0 -76
  185. package/dist/cjs/utils/update-css.js.map +0 -1
  186. package/dist/cjs/utils/utils.js +0 -104
  187. package/dist/cjs/utils/utils.js.map +0 -1
  188. package/dist/es/domain/models/_rtl.d.ts +0 -7
  189. package/dist/es/domain/models/_rtl.d.ts.map +0 -1
  190. package/dist/es/domain/models/_rtl.js +0 -7
  191. package/dist/es/domain/models/_rtl.js.map +0 -1
@@ -1,245 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hexToRgba = exports.hexToRgb = exports.DEFAULT_SCENE3D_LIGHTS = exports.resolveDeckTileCache = exports.DEFAULT_DECK_TILE_CACHE = exports.lodActionForZoom = exports.resolveModels3DLodThresholds = exports.DEFAULT_LOD_HYSTERESIS = void 0;
4
- exports.resolveModels3DLights = resolveModels3DLights;
5
- exports.mergeRotation3D = mergeRotation3D;
6
- exports.normalizeScale = normalizeScale;
7
- exports.mergeGlbScale = mergeGlbScale;
8
- exports.resolveZoomTransparency = resolveZoomTransparency;
9
- exports.opacityForZoom = opacityForZoom;
10
- exports.resolveRouteTransparency = resolveRouteTransparency;
11
- exports.pointInFootprint = pointInFootprint;
12
- exports.effectiveModelOpacity = effectiveModelOpacity;
13
- exports.isPlacementVisibleOnFloor = isPlacementVisibleOnFloor;
14
- exports.computeScenePosition = computeScenePosition;
15
- /** Default LOD hysteresis (zoom units) when {@link Models3DLodConfig.hysteresis} is unset. */
16
- exports.DEFAULT_LOD_HYSTERESIS = 0.5;
17
- /**
18
- * Computes the unload/reload zoom boundaries from {@link Models3DConfig.lod}, or `null` when LOD is
19
- * disabled (no `lod`, no models, or a non-finite `minZoom`). Pure — safe to unit-test without WebGL.
20
- */
21
- const resolveModels3DLodThresholds = (models) => {
22
- const lod = models === null || models === void 0 ? void 0 : models.lod;
23
- if (!models ||
24
- models.enabled === false ||
25
- !lod ||
26
- typeof lod.minZoom !== "number" ||
27
- !Number.isFinite(lod.minZoom)) {
28
- return null;
29
- }
30
- const hysteresis = typeof lod.hysteresis === "number" && Number.isFinite(lod.hysteresis) && lod.hysteresis >= 0
31
- ? lod.hysteresis
32
- : exports.DEFAULT_LOD_HYSTERESIS;
33
- return {
34
- reloadAtOrAbove: lod.minZoom,
35
- unloadBelow: lod.minZoom - hysteresis,
36
- };
37
- };
38
- exports.resolveModels3DLodThresholds = resolveModels3DLodThresholds;
39
- /**
40
- * Decides what the LOD controller should do at the current zoom given whether the models are
41
- * currently unloaded. Returns `"unload"` when they are loaded but the camera is below the unload
42
- * boundary, `"reload"` when they are unloaded but the camera has returned to/above the reload
43
- * boundary, and `"none"` otherwise (including within the hysteresis band). Pure/testable.
44
- */
45
- const lodActionForZoom = (zoom, thresholds, currentlyUnloaded) => {
46
- if (!currentlyUnloaded && zoom < thresholds.unloadBelow) {
47
- return "unload";
48
- }
49
- if (currentlyUnloaded && zoom >= thresholds.reloadAtOrAbove) {
50
- return "reload";
51
- }
52
- return "none";
53
- };
54
- exports.lodActionForZoom = lodActionForZoom;
55
- /**
56
- * Conservative defaults that bound each deck.gl overlay layer's in-memory tile cache. Chosen to
57
- * favor low RAM: only the visible working set (plus a small margin) stays parsed in memory; the
58
- * raw tile bytes remain on disk in the Service Worker cache, so an evicted tile is re-parsed
59
- * rather than re-downloaded. Raise `maxCacheSize` only if profiling shows flashing at the
60
- * viewport edge while panning.
61
- * @internal
62
- */
63
- exports.DEFAULT_DECK_TILE_CACHE = {
64
- // Per layer; with four overlay layers this caps the parsed-tile set at ~4x this number.
65
- maxCacheSize: 64,
66
- maxRequests: 6,
67
- // Drop parent tiles once children cover the viewport — keeps the resident set smallest.
68
- refinementStrategy: "no-overlap",
69
- // Byte budget is opt-in (deck.gl only enforces it when a tile's byte size is known).
70
- maxCacheByteSize: undefined,
71
- };
72
- /**
73
- * Merges an optional {@link DeckTileCacheConfig} over {@link DEFAULT_DECK_TILE_CACHE}, ignoring
74
- * `undefined`/`null` fields and clamping numeric bounds to at least 1. The result is always
75
- * bounded — passing `undefined` yields the defaults, never an unlimited cache.
76
- */
77
- const resolveDeckTileCache = (config) => {
78
- var _a;
79
- const clampPositive = (value, fallback) => typeof value === "number" && Number.isFinite(value) && value >= 1 ? Math.floor(value) : fallback;
80
- const maxCacheByteSize = typeof (config === null || config === void 0 ? void 0 : config.maxCacheByteSize) === "number" &&
81
- Number.isFinite(config.maxCacheByteSize) &&
82
- config.maxCacheByteSize >= 1
83
- ? Math.floor(config.maxCacheByteSize)
84
- : exports.DEFAULT_DECK_TILE_CACHE.maxCacheByteSize;
85
- return {
86
- maxCacheSize: clampPositive(config === null || config === void 0 ? void 0 : config.maxCacheSize, exports.DEFAULT_DECK_TILE_CACHE.maxCacheSize),
87
- maxRequests: clampPositive(config === null || config === void 0 ? void 0 : config.maxRequests, exports.DEFAULT_DECK_TILE_CACHE.maxRequests),
88
- refinementStrategy: (_a = config === null || config === void 0 ? void 0 : config.refinementStrategy) !== null && _a !== void 0 ? _a : exports.DEFAULT_DECK_TILE_CACHE.refinementStrategy,
89
- maxCacheByteSize,
90
- };
91
- };
92
- exports.resolveDeckTileCache = resolveDeckTileCache;
93
- /**
94
- * Default lights matching the legacy escalator scene when {@link Models3DConfig.lights} is unset.
95
- * @internal
96
- */
97
- exports.DEFAULT_SCENE3D_LIGHTS = [
98
- { type: "directional", color: 0xffffff, intensity: 2, position: { x: 50, y: 100, z: 80 } },
99
- { type: "directional", color: 0xffffff, intensity: 1.5, position: { x: -50, y: 80, z: -60 } },
100
- { type: "ambient", color: 0xffffff, intensity: 1.5 },
101
- ];
102
- const hexToRgb = (hex) => {
103
- const matches = hex.match(/\w\w/g);
104
- if (!matches || matches.length < 3) {
105
- throw new Error(`Invalid hex color: ${hex}`);
106
- }
107
- const r = Number.parseInt(matches[0], 16);
108
- const g = Number.parseInt(matches[1], 16);
109
- const b = Number.parseInt(matches[2], 16);
110
- return [r, g, b];
111
- };
112
- exports.hexToRgb = hexToRgb;
113
- const hexToRgba = (hex) => {
114
- const matches = hex.match(/\w\w/g);
115
- if (!matches || matches.length < 3) {
116
- throw new Error(`Invalid hex color: ${hex}`);
117
- }
118
- const r = Number.parseInt(matches[0], 16);
119
- const g = Number.parseInt(matches[1], 16);
120
- const b = Number.parseInt(matches[2], 16);
121
- const a = matches.length >= 4 ? Number.parseInt(matches[3], 16) : 255;
122
- return [r, g, b, a];
123
- };
124
- exports.hexToRgba = hexToRgba;
125
- /**
126
- * Resolves lights for the declarative GLB scene: {@link Models3DConfig.lights} when set, otherwise SDK defaults.
127
- */
128
- function resolveModels3DLights(models) {
129
- if (models.lights && models.lights.length > 0) {
130
- return [...models.lights];
131
- }
132
- return [...exports.DEFAULT_SCENE3D_LIGHTS];
133
- }
134
- /**
135
- * Merges two partial rotations by adding each axis in degrees.
136
- */
137
- function mergeRotation3D(a, b) {
138
- var _a, _b, _c, _d, _e, _f;
139
- return {
140
- yaw: ((_a = a === null || a === void 0 ? void 0 : a.yaw) !== null && _a !== void 0 ? _a : 0) + ((_b = b === null || b === void 0 ? void 0 : b.yaw) !== null && _b !== void 0 ? _b : 0),
141
- pitch: ((_c = a === null || a === void 0 ? void 0 : a.pitch) !== null && _c !== void 0 ? _c : 0) + ((_d = b === null || b === void 0 ? void 0 : b.pitch) !== null && _d !== void 0 ? _d : 0),
142
- roll: ((_e = a === null || a === void 0 ? void 0 : a.roll) !== null && _e !== void 0 ? _e : 0) + ((_f = b === null || b === void 0 ? void 0 : b.roll) !== null && _f !== void 0 ? _f : 0),
143
- };
144
- }
145
- /**
146
- * Normalizes a uniform or per-axis scale; undefined uses `fallback` on all axes.
147
- */
148
- function normalizeScale(scale, fallback) {
149
- if (scale === undefined) {
150
- return [fallback, fallback, fallback];
151
- }
152
- if (typeof scale === "number") {
153
- return [scale, scale, scale];
154
- }
155
- return [scale[0], scale[1], scale[2]];
156
- }
157
- /**
158
- * Placement scale overrides asset default when provided; otherwise asset (or 1) applies.
159
- */
160
- function mergeGlbScale(assetDefault, placementOverride) {
161
- const base = normalizeScale(assetDefault, 1);
162
- if (placementOverride === undefined) {
163
- return base;
164
- }
165
- return normalizeScale(placementOverride, 1);
166
- }
167
- /**
168
- * Resolves the effective zoom-based transparency for a placement, applying precedence:
169
- * placement > asset > global. Returns `undefined` when none is configured.
170
- */
171
- function resolveZoomTransparency(models, asset, placement) {
172
- var _a, _b;
173
- return (_b = (_a = placement.zoomTransparency) !== null && _a !== void 0 ? _a : asset === null || asset === void 0 ? void 0 : asset.zoomTransparency) !== null && _b !== void 0 ? _b : models.zoomTransparency;
174
- }
175
- /**
176
- * Opacity for a given zoom under a hard-threshold {@link ZoomTransparencyConfig}.
177
- * Returns `cfg.opacity` when `zoom >= cfg.zoom`, otherwise `1` (fully opaque).
178
- * With no config, returns `1`.
179
- */
180
- function opacityForZoom(cfg, zoom) {
181
- if (!cfg) {
182
- return 1;
183
- }
184
- return zoom >= cfg.zoom ? cfg.opacity : 1;
185
- }
186
- /**
187
- * Resolves the effective route-based transparency for a placement, applying precedence:
188
- * placement > asset > global. Returns `undefined` when none is configured, which disables
189
- * route transparency for that model (a route crossing it leaves its opacity unchanged).
190
- */
191
- function resolveRouteTransparency(models, asset, placement) {
192
- var _a, _b;
193
- return (_b = (_a = placement.routeTransparency) !== null && _a !== void 0 ? _a : asset === null || asset === void 0 ? void 0 : asset.routeTransparency) !== null && _b !== void 0 ? _b : models.routeTransparency;
194
- }
195
- /**
196
- * Whether a point already expressed in the model's local space falls within its x/z footprint.
197
- * @internal
198
- */
199
- function pointInFootprint(footprint, localX, localZ) {
200
- return (localX >= footprint.minX &&
201
- localX <= footprint.maxX &&
202
- localZ >= footprint.minZ &&
203
- localZ <= footprint.maxZ);
204
- }
205
- /**
206
- * Effective opacity for a placed model: the more transparent of its zoom-based value and, when a
207
- * route currently crosses it, its route-based value. Route transparency only participates when a
208
- * {@link RouteTransparencyConfig} is configured (`routeCfg` present) and the model is currently
209
- * crossed by a route (`routeAffected`).
210
- * @internal
211
- */
212
- function effectiveModelOpacity(zoomCfg, routeCfg, zoom, routeAffected) {
213
- const zoomOpacity = opacityForZoom(zoomCfg, zoom);
214
- const routeOpacity = routeAffected && routeCfg ? routeCfg.opacity : 1;
215
- return Math.min(zoomOpacity, routeOpacity);
216
- }
217
- /**
218
- * Whether a GLB placement should be visible for the given floor key.
219
- */
220
- function isPlacementVisibleOnFloor(placement, floorKey) {
221
- if (placement.visibility.mode === "allFloors") {
222
- return true;
223
- }
224
- return placement.visibility.floorKey === floorKey;
225
- }
226
- /**
227
- * Computes a GLB pivot's scene-space position (in metres) from a placement's Mercator target and a
228
- * Mercator reference origin, plus the asset-level and placement-level offsets.
229
- *
230
- * X/Z come from the Mercator delta divided by the metre scale; Y comes only from the offsets (the
231
- * model is bottom-aligned separately). All offsets are in map-space metres.
232
- */
233
- function computeScenePosition(target, ref, meterScale, assetOffset, placementOffset) {
234
- var _a, _b, _c, _d, _e, _f;
235
- const sx = (target.x - ref.x) / meterScale;
236
- const sz = (target.y - ref.y) / meterScale;
237
- const ax = (_a = assetOffset === null || assetOffset === void 0 ? void 0 : assetOffset.x) !== null && _a !== void 0 ? _a : 0;
238
- const ay = (_b = assetOffset === null || assetOffset === void 0 ? void 0 : assetOffset.y) !== null && _b !== void 0 ? _b : 0;
239
- const az = (_c = assetOffset === null || assetOffset === void 0 ? void 0 : assetOffset.z) !== null && _c !== void 0 ? _c : 0;
240
- const px = (_d = placementOffset === null || placementOffset === void 0 ? void 0 : placementOffset.x) !== null && _d !== void 0 ? _d : 0;
241
- const py = (_e = placementOffset === null || placementOffset === void 0 ? void 0 : placementOffset.y) !== null && _e !== void 0 ? _e : 0;
242
- const pz = (_f = placementOffset === null || placementOffset === void 0 ? void 0 : placementOffset.z) !== null && _f !== void 0 ? _f : 0;
243
- return [sx + ax + px, ay + py, sz + az + pz];
244
- }
245
- //# sourceMappingURL=3d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"3d.js","sourceRoot":"","sources":["../../../src/utils/3d.ts"],"names":[],"mappings":"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"}
@@ -1,153 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractPolygonRings = extractPolygonRings;
4
- exports.buildElevatedPaths = buildElevatedPaths;
5
- exports.buildLabelData = buildLabelData;
6
- exports.resolvePoiIcon = resolvePoiIcon;
7
- exports.buildPoiIconData = buildPoiIconData;
8
- exports.buildStoreLogoData = buildStoreLogoData;
9
- exports.computeStoreLogoSize = computeStoreLogoSize;
10
- /**
11
- * Pure data builders for the deck.gl indoor overlay sublayers.
12
- *
13
- * These functions contain the feature-filtering and coordinate/height mapping logic used inside the
14
- * deck.gl `renderSubLayers` callbacks in {@link InternalMapVXMap}. They are kept free of any deck.gl
15
- * / WebGL imports so the logic is unit-testable without a GL context.
16
- *
17
- * @group Utils
18
- */
19
- /** Extracts polygon coordinate rings from a GeoJSON geometry (Polygon or MultiPolygon). */
20
- function extractPolygonRings(geom) {
21
- if (geom.type === "Polygon") {
22
- return [geom.coordinates];
23
- }
24
- if (geom.type === "MultiPolygon") {
25
- return geom.coordinates;
26
- }
27
- return [];
28
- }
29
- /**
30
- * Builds elevated room-outline paths from indoor "room" features on the given floor.
31
- * Each ring is lifted to `z` (feature `height` when present, otherwise `defaultHeight`).
32
- */
33
- function buildElevatedPaths(features, floorKey, defaultHeight) {
34
- var _a;
35
- const rooms = features.filter((f) => {
36
- var _a, _b, _c;
37
- return ((_a = f.properties) === null || _a === void 0 ? void 0 : _a.class) === "room" &&
38
- ((_b = f.properties) === null || _b === void 0 ? void 0 : _b.subclass) !== "empty" &&
39
- ((_c = f.properties) === null || _c === void 0 ? void 0 : _c.floor_key) === floorKey;
40
- });
41
- const paths = [];
42
- for (const f of rooms) {
43
- const z = ((_a = f.properties) === null || _a === void 0 ? void 0 : _a.height) ? Number(f.properties.height) : defaultHeight;
44
- for (const rings of extractPolygonRings(f.geometry)) {
45
- for (const ring of rings) {
46
- paths.push({ path: ring.map(([lon, lat]) => [lon, lat, z]) });
47
- }
48
- }
49
- }
50
- return paths;
51
- }
52
- /**
53
- * Builds indoor label text data from `area_name` / `poi` point features on the given floor.
54
- * A feature is skipped when a matching `logo-{name}` sprite exists (icon takes priority over text).
55
- */
56
- function buildLabelData(features, floorKey, hasImage, defaultHeight) {
57
- const labelFeatures = features.filter((f) => {
58
- var _a, _b, _c, _d, _e, _f;
59
- if (((_a = f.properties) === null || _a === void 0 ? void 0 : _a.layerName) !== "area_name" && ((_b = f.properties) === null || _b === void 0 ? void 0 : _b.layerName) !== "poi")
60
- return false;
61
- if (((_c = f.geometry) === null || _c === void 0 ? void 0 : _c.type) !== "Point")
62
- return false;
63
- const name = ((_d = f.properties) === null || _d === void 0 ? void 0 : _d["name:latin"]) || ((_e = f.properties) === null || _e === void 0 ? void 0 : _e.name);
64
- if (!name)
65
- return false;
66
- if (((_f = f.properties) === null || _f === void 0 ? void 0 : _f.floor_key) && f.properties.floor_key !== floorKey)
67
- return false;
68
- if (hasImage("logo-" + name))
69
- return false; // icon has priority
70
- return true;
71
- });
72
- return labelFeatures.map((f) => {
73
- var _a, _b, _c;
74
- return ({
75
- position: [
76
- ...f.geometry.coordinates.slice(0, 2),
77
- ((_a = f.properties) === null || _a === void 0 ? void 0 : _a.height) ? Number(f.properties.height) : defaultHeight,
78
- ],
79
- text: ((_b = f.properties) === null || _b === void 0 ? void 0 : _b["name:latin"]) || ((_c = f.properties) === null || _c === void 0 ? void 0 : _c.name) || "",
80
- });
81
- });
82
- }
83
- /** Resolves the POI icon id from a feature's `tags` and `subclass`. */
84
- function resolvePoiIcon(tags, subclass) {
85
- if (tags.includes("wheelchair"))
86
- return "accessible_toilets";
87
- if (tags.includes("changing_table"))
88
- return "changing_table";
89
- return subclass;
90
- }
91
- /** Builds POI icon data (elevators / toilets) from point features on the given floor. */
92
- function buildPoiIconData(features, floorKey, defaultHeight) {
93
- const poi = features.filter((f) => {
94
- var _a, _b, _c;
95
- if (((_a = f.geometry) === null || _a === void 0 ? void 0 : _a.type) !== "Point")
96
- return false;
97
- if (((_b = f.properties) === null || _b === void 0 ? void 0 : _b.floor_key) && f.properties.floor_key !== floorKey)
98
- return false;
99
- const sub = (_c = f.properties) === null || _c === void 0 ? void 0 : _c.subclass;
100
- return sub === "elevator" || sub === "toilets";
101
- });
102
- return poi.map((f) => {
103
- var _a, _b, _c;
104
- return ({
105
- position: [
106
- ...f.geometry.coordinates.slice(0, 2),
107
- ((_a = f.properties) === null || _a === void 0 ? void 0 : _a.height) ? Number(f.properties.height) : defaultHeight,
108
- ],
109
- icon: resolvePoiIcon(((_b = f.properties) === null || _b === void 0 ? void 0 : _b.tags) || "", ((_c = f.properties) === null || _c === void 0 ? void 0 : _c.subclass) || ""),
110
- });
111
- });
112
- }
113
- /** Builds store-logo icon data from point features that have a matching `logo-{name}` sprite. */
114
- function buildStoreLogoData(features, floorKey, spriteMapping, defaultHeight) {
115
- const logos = features.filter((f) => {
116
- var _a, _b, _c;
117
- if (((_a = f.geometry) === null || _a === void 0 ? void 0 : _a.type) !== "Point")
118
- return false;
119
- if (((_b = f.properties) === null || _b === void 0 ? void 0 : _b.floor_key) && f.properties.floor_key !== floorKey)
120
- return false;
121
- const name = (_c = f.properties) === null || _c === void 0 ? void 0 : _c.name;
122
- if (!name)
123
- return false;
124
- return !!spriteMapping["logo-" + name];
125
- });
126
- return logos.map((f) => {
127
- var _a, _b, _c;
128
- const name = (_a = f.properties) === null || _a === void 0 ? void 0 : _a.name;
129
- return {
130
- position: [
131
- ...f.geometry.coordinates.slice(0, 2),
132
- ((_b = f.properties) === null || _b === void 0 ? void 0 : _b.height) ? Number(f.properties.height) : defaultHeight,
133
- ],
134
- icon: "logo-" + name,
135
- rotation: ((_c = f.properties) === null || _c === void 0 ? void 0 : _c.rotation_icon) ? Number(f.properties.rotation_icon) : 0,
136
- };
137
- });
138
- }
139
- /**
140
- * Computes the display size for a store-logo icon from its sprite dimensions and an optional
141
- * per-logo scale factor. Returns a fallback of `10` when the icon is missing from the sprite atlas.
142
- */
143
- function computeStoreLogoSize(mapping, icon, logoScale) {
144
- const m = mapping[icon];
145
- if (!m)
146
- return 10;
147
- const pr = m.pixelRatio;
148
- const w = m.width / pr;
149
- const h = m.height / pr;
150
- const base = 10 * (h / Math.max(w, h));
151
- return base * (logoScale[icon] || 1);
152
- }
153
- //# sourceMappingURL=deckLayers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deckLayers.js","sourceRoot":"","sources":["../../../src/utils/deckLayers.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertToError = convertToError;
4
- /**
5
- * Convert an unknown error to an Error object.
6
- * @group Utils
7
- * @param error - The unknown error.
8
- * @returns An Error object.
9
- */
10
- function convertToError(error) {
11
- if (error instanceof Error) {
12
- return error;
13
- }
14
- else {
15
- const text = String(error);
16
- return new Error(text);
17
- }
18
- }
19
- //# sourceMappingURL=error.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../../../src/utils/error.ts"],"names":[],"mappings":";;AAMA,wCAOC;AAbD;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,KAAc;IAC3C,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAA;IACd,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QAC1B,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;AACH,CAAC"}
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadImageAsDataUrl = loadImageAsDataUrl;
4
- /**
5
- * Load an image as a data URL.
6
- * @group Utils
7
- * @param imgUrl - The URL of the image to load.
8
- * @returns A promise that resolves to the data URL of the image.
9
- */
10
- function loadImageAsDataUrl(imgUrl) {
11
- return new Promise((resolve, reject) => {
12
- fetch(imgUrl)
13
- .then((response) => response.blob())
14
- .then((blob) => {
15
- const reader = new FileReader();
16
- reader.onloadend = function () {
17
- resolve(reader.result);
18
- };
19
- reader.onerror = reject;
20
- reader.readAsDataURL(blob);
21
- })
22
- .catch(reject);
23
- });
24
- }
25
- //# sourceMappingURL=images.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"images.js","sourceRoot":"","sources":["../../../src/utils/images.ts"],"names":[],"mappings":";;AAMA,gDAcC;AApBD;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,MAAc;IAC/C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,KAAK,CAAC,MAAM,CAAC;aACV,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;aACnC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACb,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAA;YAC/B,MAAM,CAAC,SAAS,GAAG;gBACjB,OAAO,CAAC,MAAM,CAAC,MAAgB,CAAC,CAAA;YAClC,CAAC,CAAA;YACD,MAAM,CAAC,OAAO,GAAG,MAAM,CAAA;YACvB,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QAC5B,CAAC,CAAC;aACD,KAAK,CAAC,MAAM,CAAC,CAAA;IAClB,CAAC,CAAC,CAAA;AACJ,CAAC"}