@mappedin/mappedin-js 6.0.1-beta.46 → 6.0.1-beta.48

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 (60) hide show
  1. package/THIRD_PARTY_LICENSES.txt +9289 -24606
  2. package/lib/esm/GLTFExporter-E2W4AY7T.js +2 -0
  3. package/lib/esm/GLTFExporter-E2W4AY7T.js.map +7 -0
  4. package/lib/esm/GLTFLoader-5VLIZ4BL.js +2 -0
  5. package/lib/esm/GLTFLoader-5VLIZ4BL.js.map +7 -0
  6. package/lib/esm/{browser-OJQDECWL.js → browser-RLBZMV2G.js} +2 -1
  7. package/lib/esm/browser-RLBZMV2G.js.map +7 -0
  8. package/lib/esm/chunk-AHC6OWNT.js +2 -0
  9. package/lib/esm/chunk-AHC6OWNT.js.map +7 -0
  10. package/lib/esm/chunk-F7Z3R7GK.js +3820 -0
  11. package/lib/esm/chunk-F7Z3R7GK.js.map +7 -0
  12. package/lib/esm/chunk-KDY73CVP.js +2 -0
  13. package/lib/esm/chunk-KDY73CVP.js.map +7 -0
  14. package/lib/esm/chunk-KTTWH67L.js +2229 -0
  15. package/lib/esm/chunk-KTTWH67L.js.map +7 -0
  16. package/lib/esm/chunk-QSFIJRMY.js +2 -0
  17. package/lib/esm/chunk-QSFIJRMY.js.map +7 -0
  18. package/lib/esm/{chunk-XIVNHXXU.js → chunk-SBJEVJF3.js} +2 -1
  19. package/lib/esm/chunk-SBJEVJF3.js.map +7 -0
  20. package/lib/esm/chunk-XFQBHAWO.js +578 -0
  21. package/lib/esm/chunk-XFQBHAWO.js.map +7 -0
  22. package/lib/esm/fonts/roboto-regular.ttf +0 -0
  23. package/lib/esm/index.css +2 -1
  24. package/lib/esm/index.css.map +7 -0
  25. package/lib/esm/index.d.ts +369 -153
  26. package/lib/esm/index.js +2 -1
  27. package/lib/esm/index.js.map +7 -0
  28. package/lib/esm/inspector-PKJEJRJY.js +483 -0
  29. package/lib/esm/inspector-PKJEJRJY.js.map +7 -0
  30. package/lib/esm/inspector-S63NMDZZ.css +2 -0
  31. package/lib/esm/inspector-S63NMDZZ.css.map +7 -0
  32. package/lib/esm/internal-DKUILLGA.js +2 -0
  33. package/lib/esm/internal-DKUILLGA.js.map +7 -0
  34. package/lib/esm/internal-WH523TQS.css +2 -0
  35. package/lib/esm/internal-WH523TQS.css.map +7 -0
  36. package/lib/esm/outdoor-context-v4-4RHE5GJB.js +2 -0
  37. package/lib/esm/outdoor-context-v4-4RHE5GJB.js.map +7 -0
  38. package/lib/esm/{roboto-regular-PKVZDOB2.js → roboto-regular-25PMWR2T.js} +2 -1
  39. package/lib/esm/roboto-regular-25PMWR2T.js.map +7 -0
  40. package/lib/esm/text3d-FHQNCDB4.js +253 -0
  41. package/lib/esm/text3d-FHQNCDB4.js.map +7 -0
  42. package/lib/esm/workers/collision-worker.csp.js +1 -1
  43. package/lib/esm/workers/maplibre-worker.csp.js +2 -1
  44. package/lib/index-rn.js +649 -0
  45. package/lib/index.css +2 -1
  46. package/package.json +12 -12
  47. package/lib/esm/GLTFExporter-AXJXTFZG.js +0 -1
  48. package/lib/esm/GLTFLoader-V2T33J7P.js +0 -1
  49. package/lib/esm/chunk-5XSHJ3NY.js +0 -1
  50. package/lib/esm/chunk-A6HW5N6M.js +0 -1
  51. package/lib/esm/chunk-GVMLK6WZ.js +0 -1
  52. package/lib/esm/chunk-MV2IWNRC.js +0 -1
  53. package/lib/esm/chunk-Q2KR5YO7.js +0 -1
  54. package/lib/esm/chunk-SRZSNPKD.js +0 -1
  55. package/lib/esm/inspector-4UPV6G6H.js +0 -1
  56. package/lib/esm/inspector-GOK26VAV.css +0 -1
  57. package/lib/esm/internal-7A3UJNAV.css +0 -1
  58. package/lib/esm/internal-NKXX4DDI.js +0 -1
  59. package/lib/esm/outdoor-context-v4-DTIGSNLG.js +0 -1
  60. package/lib/esm/text3d-Z4HFM4UG.js +0 -1
@@ -12,14 +12,11 @@
12
12
  // ../mappedin-js/@tweenjs/tween.js
13
13
  // ../mappedin-js/@packages/internal/outdoor-context-v4
14
14
  // ../mappedin-js/@packages/internal/geojson-navigator
15
- // ../mappedin-js/@mappedin/mvf-core
16
15
  // ../mappedin-js/three
17
16
  // ../mappedin-js/zod
18
17
  // ../mappedin-js/@packages/internal/shave-text/shave-text
19
- // ../mappedin-js/@turf/turf
20
18
  // ../mappedin-js/troika-three-text
21
19
  // ../mappedin-js/@packages/internal/quad-tree
22
- // ../mappedin-js/@mappedin/core-sdk/src/components/text3d
23
20
  // ../mappedin-js/minisearch
24
21
  // ../mappedin-js/three/examples/jsm/loaders/GLTFLoader.js
25
22
  // ../mappedin-js/@mapbox/point-geometry
@@ -38,7 +35,7 @@ declare module '@mappedin/mappedin-js' {
38
35
  import type { TGetMapDataOptions, TGetMapDataWithAccessTokenOptions, TGetMapDataWithCredentialsOptions, TGetMapDataSharedOptions, Environment } from '@mappedin/mappedin-js/packages/mvf-utils';
39
36
  import { parseMVF, unzipMVF } from '@packages/internal/mvf-utils';
40
37
  import type { Floor } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
41
- import type { ParsedMVF as TMVF, StyleCollection as TMVFStyleCollection, Style as TMVFStyle, LineStringStyle as TMVFLineStringStyle, PolygonStyle as TMVFPolygonStyle, PointStyle as TMVFPointStyle, ParsedMVFLocalePack, OperationHours, SiblingGroup, LocationState } from '@mappedin/mvf-v2';
38
+ import type { ParsedMVF as TMVF, StyleCollection as TMVFStyleCollection, Style as TMVFStyle, LineStringStyle as TMVFLineStringStyle, PolygonStyle as TMVFPolygonStyle, PointStyle as TMVFPointStyle, OperationHours, SiblingGroup, LocationState } from '@mappedin/mvf-v2';
42
39
  import { MapView } from '@mappedin/mappedin-js/mappedin-js/src/map-view';
43
40
  export type { Text3D as Text3DApi } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/text3d';
44
41
  export { disableText3DWorker } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/text3d';
@@ -51,6 +48,8 @@ declare module '@mappedin/mappedin-js' {
51
48
  import { MAPPEDIN_COLORS } from '@mappedin/mappedin-js/mappedin-js/src/constants';
52
49
  import type { TBlueDotEvents, TBlueDotAction, TBlueDotState, GeolocationPositionExtended, TFollowMode, TFollowCameraOptions } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/blue-dot/blue-dot';
53
50
  import type { TExpandOptions, TStackedMapsEvents, TStackedMapsState } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/stacked-maps/stacked-maps';
51
+ import { hydrateMapData, type THydrateMapDataBundle } from '@mappedin/mappedin-js/mappedin-js/src/hydrate-map-data';
52
+ export { hydrateMapData, type THydrateMapDataBundle };
54
53
  export { setLoggerLevel, E_SDK_LOG_LEVEL } from '@packages/internal/common/Mappedin.Logger';
55
54
  /**
56
55
  * @internal
@@ -295,6 +294,22 @@ declare module '@mappedin/mappedin-js' {
295
294
  * @internal
296
295
  */
297
296
  onWebGLRendererError?: (error: Error) => void;
297
+ /**
298
+ * @experimental
299
+ * @internal
300
+ *
301
+ * If true, the map will use a standalone camera for rendering instead of syncing with MapLibre's camera.
302
+ * This enables environment map reflections to update with camera movement in interleaved and overlay modes.
303
+ * Note: This disables building occlusion since the depth buffer is no longer synchronized with MapLibre.
304
+ *
305
+ * @default false
306
+ */
307
+ useStandaloneCamera?: boolean;
308
+ /**
309
+ *
310
+ * Preload floors for the map. Allows floors to appear faster but requires more time and memory up front.
311
+ */
312
+ preloadFloors?: Floor[];
298
313
  };
299
314
  /**
300
315
  * @internal
@@ -310,39 +325,6 @@ declare module '@mappedin/mappedin-js' {
310
325
  * @deprecated Use {@link getMapData} and enterprise will be inferred from key/secret.
311
326
  */
312
327
  export function setUseEnterpriseAPI(value: boolean): void;
313
- export type THydrateMapDataBundle = {
314
- type: 'binary';
315
- options?: {
316
- version?: '2.0.0' | '3.0.0';
317
- enterprise?: boolean;
318
- };
319
- languagePacks?: {
320
- language: {
321
- code: string;
322
- name: string;
323
- };
324
- localePack: Uint8Array;
325
- }[];
326
- main: Uint8Array;
327
- } | {
328
- type: 'json';
329
- options?: {
330
- version?: '2.0.0' | '3.0.0';
331
- enterprise?: boolean;
332
- };
333
- languagePacks?: {
334
- language: {
335
- code: string;
336
- name: string;
337
- };
338
- localePack: ParsedMVFLocalePack;
339
- }[];
340
- main: TMVF;
341
- };
342
- /**
343
- * Load a MapData instance from a backup including language packs. Pass in userOptions to ensure outdoor view is available.
344
- */
345
- export const hydrateMapData: (backup: THydrateMapDataBundle | TMVF, userOptions?: TGetMapDataOptions) => Promise<MapData>;
346
328
  /**
347
329
  * Asynchronously retrieves map data ({@link MapData}) based on user-provided options.
348
330
  *
@@ -684,10 +666,10 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data' {
684
666
  */
685
667
  toBinaryBundle({ downloadLanguagePacks }?: {
686
668
  downloadLanguagePacks?: boolean;
687
- }): Promise<void | import(".").THydrateMapDataBundle>;
669
+ }): Promise<void | import("./hydrate-map-data").THydrateMapDataBundle>;
688
670
  toJSONBundle({ downloadLanguagePacks }?: {
689
671
  downloadLanguagePacks?: boolean;
690
- }): Promise<import(".").THydrateMapDataBundle>;
672
+ }): Promise<import("./hydrate-map-data").THydrateMapDataBundle>;
691
673
  }
692
674
  export default MapData;
693
675
  /**
@@ -1367,6 +1349,12 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view' {
1367
1349
  * @param floorStack The floor stack or floor stack ID to set.
1368
1350
  */
1369
1351
  setFloorStack(floorStack: FloorStack | string, options?: TSetFloorOptions): void;
1352
+ /**
1353
+ * Preload floor geometry and outlines for the map at runtime. Can be used when anticipating a large number of floors will be visible at once to
1354
+ * keep the map responsive.
1355
+ * @param floors The floors to preload.
1356
+ */
1357
+ preloadFloors(floors: Floor[]): void;
1370
1358
  /**
1371
1359
  * Create a tween object that will be updated on every render frame.
1372
1360
  * See https://tweenjs.github.io/tween.js/docs/user_guide.html for more information.
@@ -2005,10 +1993,6 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
2005
1993
  * The color of the path.
2006
1994
  */
2007
1995
  color: string;
2008
- /**
2009
- * The complete fraction of the path.
2010
- */
2011
- completeFraction: number;
2012
1996
  /**
2013
1997
  * The near radius of the path.
2014
1998
  */
@@ -2017,6 +2001,10 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
2017
2001
  * The far radius of the path.
2018
2002
  */
2019
2003
  farRadius: number;
2004
+ /**
2005
+ * The fraction of the path that should be complete. This can be used to animate the path.
2006
+ */
2007
+ completeFraction: number;
2020
2008
  /**
2021
2009
  * Whether the path is visible.
2022
2010
  */
@@ -2443,6 +2431,26 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
2443
2431
  * @defaultValue -Infinite
2444
2432
  */
2445
2433
  minAdjustedAltitude?: number;
2434
+ /**
2435
+ * Whether the path should be dashed.
2436
+ *
2437
+ * @defaultValue false
2438
+ */
2439
+ dashed?: boolean;
2440
+ /**
2441
+ * Whether the path should be visible.
2442
+ *
2443
+ * @defaultValue true
2444
+ */
2445
+ visible?: boolean;
2446
+ /**
2447
+ * @internal
2448
+ *
2449
+ * Whether the path should be visible through geometry. Can be used to create paths that are visible through walls and floors.
2450
+ *
2451
+ * @defaultValue false
2452
+ */
2453
+ visibleThroughGeometry?: boolean;
2446
2454
  };
2447
2455
  /**
2448
2456
  * Control how a {@link Label} looks
@@ -2540,6 +2548,10 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
2540
2548
  * If there is no path that does not include the these connections, the directions will be undefined.
2541
2549
  */
2542
2550
  excludedConnections?: Connection[];
2551
+ /**
2552
+ * Override the default weights for specific connection ids.
2553
+ */
2554
+ connectionIdWeightMap?: Record<string, number>;
2543
2555
  };
2544
2556
  /**
2545
2557
  * The target for the add model operation.
@@ -3284,6 +3296,45 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/stacked-maps/s
3284
3296
  export {};
3285
3297
  }
3286
3298
 
3299
+ declare module '@mappedin/mappedin-js/mappedin-js/src/hydrate-map-data' {
3300
+ import MapData from '@mappedin/mappedin-js/mappedin-js/src/map-data';
3301
+ import type { TGetMapDataOptions } from '@mappedin/mappedin-js/packages/mvf-utils';
3302
+ import type { ParsedMVF as TMVF, ParsedMVFLocalePack } from '@mappedin/mvf-v2';
3303
+ export type THydrateMapDataBundle = {
3304
+ type: 'binary';
3305
+ options?: {
3306
+ version?: '2.0.0' | '3.0.0';
3307
+ enterprise?: boolean;
3308
+ };
3309
+ languagePacks?: {
3310
+ language: {
3311
+ code: string;
3312
+ name: string;
3313
+ };
3314
+ localePack: Uint8Array;
3315
+ }[];
3316
+ main: Uint8Array;
3317
+ } | {
3318
+ type: 'json';
3319
+ options?: {
3320
+ version?: '2.0.0' | '3.0.0';
3321
+ enterprise?: boolean;
3322
+ };
3323
+ languagePacks?: {
3324
+ language: {
3325
+ code: string;
3326
+ name: string;
3327
+ };
3328
+ localePack: ParsedMVFLocalePack;
3329
+ }[];
3330
+ main: TMVF;
3331
+ };
3332
+ /**
3333
+ * Load a MapData instance from a backup including language packs. Pass in userOptions to ensure outdoor view is available.
3334
+ */
3335
+ export const hydrateMapData: (backup: THydrateMapDataBundle | TMVF, userOptions?: TGetMapDataOptions) => Promise<MapData>;
3336
+ }
3337
+
3287
3338
  declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects' {
3288
3339
  export { Label } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/label';
3289
3340
  export { Marker } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/marker';
@@ -3624,6 +3675,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/api' {
3624
3675
  Images: Images;
3625
3676
  get StackedMaps(): import("..").StackedMaps;
3626
3677
  constructor(rendererCore: RendererCore, mapView: MapView);
3678
+ preloadFloors(floors: Floor[]): void;
3627
3679
  updateState<T extends Space | Text3DView | MapObject | Label | Shape | Marker | Model | Door | Facade | Floor | WALLS | DOORS | Path | PathSegment | (string & NonNullable<unknown>)>(target: T, state: TUpdateState<T>): void;
3628
3680
  update: () => void;
3629
3681
  getMapDataInternal(): MapDataInternal | undefined;
@@ -3805,6 +3857,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/directions' {
3805
3857
  };
3806
3858
  zones: TDirectionZone[];
3807
3859
  excludedConnections: Connection[];
3860
+ connectionIdWeightMap: Record<string, number>;
3808
3861
  }, mapData: MapDataInternal) => Directions | undefined;
3809
3862
  /**
3810
3863
  * Get the node IDs that should be excluded from the navigation graph.
@@ -3843,11 +3896,11 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/types' {
3843
3896
  import type Connection from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/connection';
3844
3897
  import type MapObject from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/object';
3845
3898
  import type { EnterpriseLocation as MvfEnterpriseLocation, EnterpriseCategory as MvfEnterpriseCategory, ParsedMVFLocalePack, Feature, FloorStack as MvfFloorStack, FloorProperties as MvfFloor } from '@mappedin/mvf-v2';
3846
- import type { PartialExcept } from '@mappedin/mvf-core';
3899
+ import type { PartialExcept } from '@mappedin/mappedin-js/packages/common/types';
3847
3900
  import type { LocalePackUrls } from '@packages/internal/mvf-utils';
3848
3901
  import type { LanguagePackHydrationItem } from '@mappedin/mappedin-js/mappedin-js/src/types';
3849
3902
  import type { EnvControl, TGetMapDataOptions } from '@packages/internal/mvf-utils/mvf-utils';
3850
- import { TokenManager } from '@packages/internal/mvf-utils/tokens/token-manager';
3903
+ import type { TokenManager } from '@packages/internal/mvf-utils/tokens/token-manager';
3851
3904
  /**
3852
3905
  * Places are the main objects that can be searched for.
3853
3906
  */
@@ -3940,7 +3993,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src' {
3940
3993
  import type { TGetMapDataOptions, TGetMapDataWithAccessTokenOptions, TGetMapDataWithCredentialsOptions, TGetMapDataSharedOptions, Environment } from '@mappedin/mappedin-js/packages/mvf-utils';
3941
3994
  import { parseMVF, unzipMVF } from '@packages/internal/mvf-utils';
3942
3995
  import type { Floor } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
3943
- import type { ParsedMVF as TMVF, StyleCollection as TMVFStyleCollection, Style as TMVFStyle, LineStringStyle as TMVFLineStringStyle, PolygonStyle as TMVFPolygonStyle, PointStyle as TMVFPointStyle, ParsedMVFLocalePack, OperationHours, SiblingGroup, LocationState } from '@mappedin/mvf-v2';
3996
+ import type { ParsedMVF as TMVF, StyleCollection as TMVFStyleCollection, Style as TMVFStyle, LineStringStyle as TMVFLineStringStyle, PolygonStyle as TMVFPolygonStyle, PointStyle as TMVFPointStyle, OperationHours, SiblingGroup, LocationState } from '@mappedin/mvf-v2';
3944
3997
  import { MapView } from '@mappedin/mappedin-js/mappedin-js/src/map-view';
3945
3998
  export type { Text3D as Text3DApi } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/text3d';
3946
3999
  export { disableText3DWorker } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/text3d';
@@ -3953,6 +4006,8 @@ declare module '@mappedin/mappedin-js/mappedin-js/src' {
3953
4006
  import { MAPPEDIN_COLORS } from '@mappedin/mappedin-js/mappedin-js/src/constants';
3954
4007
  import type { TBlueDotEvents, TBlueDotAction, TBlueDotState, GeolocationPositionExtended, TFollowMode, TFollowCameraOptions } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/blue-dot/blue-dot';
3955
4008
  import type { TExpandOptions, TStackedMapsEvents, TStackedMapsState } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/stacked-maps/stacked-maps';
4009
+ import { hydrateMapData, type THydrateMapDataBundle } from '@mappedin/mappedin-js/mappedin-js/src/hydrate-map-data';
4010
+ export { hydrateMapData, type THydrateMapDataBundle };
3956
4011
  export { setLoggerLevel, E_SDK_LOG_LEVEL } from '@packages/internal/common/Mappedin.Logger';
3957
4012
  /**
3958
4013
  * @internal
@@ -4197,6 +4252,22 @@ declare module '@mappedin/mappedin-js/mappedin-js/src' {
4197
4252
  * @internal
4198
4253
  */
4199
4254
  onWebGLRendererError?: (error: Error) => void;
4255
+ /**
4256
+ * @experimental
4257
+ * @internal
4258
+ *
4259
+ * If true, the map will use a standalone camera for rendering instead of syncing with MapLibre's camera.
4260
+ * This enables environment map reflections to update with camera movement in interleaved and overlay modes.
4261
+ * Note: This disables building occlusion since the depth buffer is no longer synchronized with MapLibre.
4262
+ *
4263
+ * @default false
4264
+ */
4265
+ useStandaloneCamera?: boolean;
4266
+ /**
4267
+ *
4268
+ * Preload floors for the map. Allows floors to appear faster but requires more time and memory up front.
4269
+ */
4270
+ preloadFloors?: Floor[];
4200
4271
  };
4201
4272
  /**
4202
4273
  * @internal
@@ -4212,39 +4283,6 @@ declare module '@mappedin/mappedin-js/mappedin-js/src' {
4212
4283
  * @deprecated Use {@link getMapData} and enterprise will be inferred from key/secret.
4213
4284
  */
4214
4285
  export function setUseEnterpriseAPI(value: boolean): void;
4215
- export type THydrateMapDataBundle = {
4216
- type: 'binary';
4217
- options?: {
4218
- version?: '2.0.0' | '3.0.0';
4219
- enterprise?: boolean;
4220
- };
4221
- languagePacks?: {
4222
- language: {
4223
- code: string;
4224
- name: string;
4225
- };
4226
- localePack: Uint8Array;
4227
- }[];
4228
- main: Uint8Array;
4229
- } | {
4230
- type: 'json';
4231
- options?: {
4232
- version?: '2.0.0' | '3.0.0';
4233
- enterprise?: boolean;
4234
- };
4235
- languagePacks?: {
4236
- language: {
4237
- code: string;
4238
- name: string;
4239
- };
4240
- localePack: ParsedMVFLocalePack;
4241
- }[];
4242
- main: TMVF;
4243
- };
4244
- /**
4245
- * Load a MapData instance from a backup including language packs. Pass in userOptions to ensure outdoor view is available.
4246
- */
4247
- export const hydrateMapData: (backup: THydrateMapDataBundle | TMVF, userOptions?: TGetMapDataOptions) => Promise<MapData>;
4248
4286
  /**
4249
4287
  * Asynchronously retrieves map data ({@link MapData}) based on user-provided options.
4250
4288
  *
@@ -5173,9 +5211,11 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/node' {
5173
5211
  * @returns An object representing the node.
5174
5212
  */
5175
5213
  toJSON(): {
5214
+ __type: string;
5176
5215
  id: string;
5177
5216
  floor: string;
5178
5217
  coordinate: {
5218
+ __type: string;
5179
5219
  latitude: number;
5180
5220
  longitude: number;
5181
5221
  floor: string | undefined;
@@ -5262,6 +5302,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/area' {
5262
5302
  * @returns An object representing the space.
5263
5303
  */
5264
5304
  toJSON(): {
5305
+ __type: string;
5265
5306
  id: string;
5266
5307
  name: string;
5267
5308
  floor: string;
@@ -5371,10 +5412,12 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/door' {
5371
5412
  * @returns An object representing the door.
5372
5413
  */
5373
5414
  toJSON(): {
5415
+ __type: string;
5374
5416
  id: string;
5375
5417
  name: string;
5376
5418
  floor: string;
5377
5419
  center: {
5420
+ __type: string;
5378
5421
  latitude: number;
5379
5422
  longitude: number;
5380
5423
  floor: string | undefined;
@@ -5493,11 +5536,13 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/space' {
5493
5536
  * @returns An object representing the space.
5494
5537
  */
5495
5538
  toJSON(): {
5539
+ __type: string;
5496
5540
  id: string;
5497
5541
  name: string;
5498
5542
  type: TSpaceType;
5499
5543
  floor: string;
5500
5544
  center: {
5545
+ __type: string;
5501
5546
  latitude: number;
5502
5547
  longitude: number;
5503
5548
  floor: string | undefined;
@@ -5522,6 +5567,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/space' {
5522
5567
  declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/floor' {
5523
5568
  import type { Feature, FloorCollection, MultiPolygon, Polygon } from '@mappedin/mvf-v2';
5524
5569
  import type { Annotation, Connection, Door, MapDataInternal, PointOfInterest, Space, MapObject, FloorStack } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
5570
+ import Coordinate from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/coordinate';
5525
5571
  import BaseMapData from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/base-object';
5526
5572
  import type { IFocusable } from '@mappedin/mappedin-js/mappedin-js/src/types';
5527
5573
  /**
@@ -5625,12 +5671,14 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/floor' {
5625
5671
  * @returns {FloorStack} The FloorStack that this floor belongs to.
5626
5672
  */
5627
5673
  get floorStack(): FloorStack;
5674
+ get center(): Coordinate;
5628
5675
  /**
5629
5676
  * Serializes the floor data to JSON.
5630
5677
  *
5631
5678
  * @returns An object representing the floor.
5632
5679
  */
5633
5680
  toJSON(): {
5681
+ __type: string;
5634
5682
  id: string;
5635
5683
  name: string;
5636
5684
  shortName: string;
@@ -5734,11 +5782,13 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/connectio
5734
5782
  * @returns An object representing the connection.
5735
5783
  */
5736
5784
  toJSON(): {
5785
+ __type: string;
5737
5786
  id: string;
5738
5787
  name: string;
5739
5788
  type: string;
5740
5789
  externalId: string;
5741
5790
  coordinates: {
5791
+ __type: string;
5742
5792
  latitude: number;
5743
5793
  longitude: number;
5744
5794
  floor: string | undefined;
@@ -5834,11 +5884,13 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/object' {
5834
5884
  * @returns An object representing the MapObject.
5835
5885
  */
5836
5886
  toJSON(): {
5887
+ __type: string;
5837
5888
  id: string;
5838
5889
  name: string;
5839
5890
  type: string;
5840
5891
  floor: string;
5841
5892
  center: {
5893
+ __type: string;
5842
5894
  latitude: number;
5843
5895
  longitude: number;
5844
5896
  floor: string | undefined;
@@ -5953,6 +6005,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/coordinat
5953
6005
  * @returns An object representing the coordinate.
5954
6006
  */
5955
6007
  toJSON(): {
6008
+ __type: string;
5956
6009
  latitude: number;
5957
6010
  longitude: number;
5958
6011
  floor: string | undefined;
@@ -6036,10 +6089,12 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/poi' {
6036
6089
  * @returns An object representing the POI.
6037
6090
  */
6038
6091
  toJSON(): {
6092
+ __type: string;
6039
6093
  id: string;
6040
6094
  name: string;
6041
6095
  floor: string;
6042
6096
  coordinate: {
6097
+ __type: string;
6043
6098
  latitude: number;
6044
6099
  longitude: number;
6045
6100
  floor: string | undefined;
@@ -6137,10 +6192,12 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/annotatio
6137
6192
  * @returns An object representing the annotation.
6138
6193
  */
6139
6194
  toJSON(): {
6195
+ __type: string;
6140
6196
  id: string;
6141
6197
  group: string;
6142
6198
  type: string;
6143
6199
  coordinate: {
6200
+ __type: string;
6144
6201
  latitude: number;
6145
6202
  longitude: number;
6146
6203
  floor: string | undefined;
@@ -6169,6 +6226,10 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/hyperlink
6169
6226
  * @internal
6170
6227
  */
6171
6228
  static readonly __type = "hyperlink";
6229
+ /**
6230
+ * @internal
6231
+ */
6232
+ readonly __type = "hyperlink";
6172
6233
  /**
6173
6234
  * Checks if the provided instance is of type Hyperlink.
6174
6235
  *
@@ -6200,6 +6261,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/hyperlink
6200
6261
  * @returns An object representing the hyperlink.
6201
6262
  */
6202
6263
  toJSON(): {
6264
+ __type: string;
6203
6265
  id: string;
6204
6266
  url: string;
6205
6267
  name: string | undefined;
@@ -6227,6 +6289,10 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/image' {
6227
6289
  * @internal
6228
6290
  */
6229
6291
  static readonly __type = "image";
6292
+ /**
6293
+ * @internal
6294
+ */
6295
+ readonly __type = "image";
6230
6296
  /**
6231
6297
  * Checks if the provided instance is of type Image.
6232
6298
  *
@@ -6260,13 +6326,13 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/image' {
6260
6326
  * @returns {string | undefined } The alt text of the image.
6261
6327
  */
6262
6328
  get altText(): string | undefined;
6263
- /**
6264
6329
  /**
6265
6330
  * Serializes the image data to JSON.
6266
6331
  *
6267
6332
  * @returns An object representing the image.
6268
6333
  */
6269
6334
  toJSON(): {
6335
+ __type: string;
6270
6336
  id: string;
6271
6337
  url: string | undefined;
6272
6338
  name: string | undefined;
@@ -6354,6 +6420,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/floor-sta
6354
6420
  * @returns An object representing the FloorStack.
6355
6421
  */
6356
6422
  toJSON(): {
6423
+ __type: string;
6357
6424
  id: string;
6358
6425
  name: string;
6359
6426
  shortName: string;
@@ -6679,6 +6746,10 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/location'
6679
6746
  * The type of the location.
6680
6747
  */
6681
6748
  type: string;
6749
+ /**
6750
+ * Whether the location has been marked as hidden.
6751
+ */
6752
+ hidden: boolean;
6682
6753
  /**
6683
6754
  * Checks if the provided instance is of type EnterpriseLocation.
6684
6755
  *
@@ -6707,6 +6778,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/location'
6707
6778
  * @returns An object representing the EnterpriseLocation.
6708
6779
  */
6709
6780
  toJSON(): {
6781
+ __type: string;
6710
6782
  id: string;
6711
6783
  name: string;
6712
6784
  };
@@ -6803,6 +6875,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/category'
6803
6875
  * @returns An object representing the EnterpriseCategory.
6804
6876
  */
6805
6877
  toJSON(): {
6878
+ __type: string;
6806
6879
  id: string;
6807
6880
  name: string;
6808
6881
  };
@@ -6917,6 +6990,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/venue' {
6917
6990
  * @returns An object representing the EnterpriseVenue.
6918
6991
  */
6919
6992
  toJSON(): {
6993
+ __type: string;
6920
6994
  id: string;
6921
6995
  name: string;
6922
6996
  };
@@ -7057,6 +7131,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/location-
7057
7131
  */
7058
7132
  get navigationTarget(): TNavigationTarget[];
7059
7133
  toJSON(): {
7134
+ __type: string;
7060
7135
  id: string;
7061
7136
  name: string;
7062
7137
  };
@@ -7111,6 +7186,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/location-
7111
7186
  */
7112
7187
  get locationProfiles(): LocationProfile[];
7113
7188
  toJSON(): {
7189
+ __type: string;
7114
7190
  id: string;
7115
7191
  name: string;
7116
7192
  };
@@ -7679,6 +7755,14 @@ declare module '@mappedin/mappedin-js/geojson/src/components/path' {
7679
7755
  * Arrows on path should animate to indicate direction
7680
7756
  */
7681
7757
  animateArrowsOnPath?: boolean;
7758
+ /**
7759
+ * Whether the path should be visible through geometry.
7760
+ */
7761
+ visibleThroughGeometry?: boolean;
7762
+ /**
7763
+ * Whether the path should be dashed.
7764
+ */
7765
+ dashed?: boolean;
7682
7766
  };
7683
7767
  export const addPathOptionsSchema: z.ZodObject<{
7684
7768
  interactive: z.ZodOptional<z.ZodBoolean>;
@@ -7690,6 +7774,8 @@ declare module '@mappedin/mappedin-js/geojson/src/components/path' {
7690
7774
  animateArrowsOnPath: z.ZodOptional<z.ZodBoolean>;
7691
7775
  nearZoomLevel: z.ZodOptional<z.ZodNumber>;
7692
7776
  farZoomLevel: z.ZodOptional<z.ZodNumber>;
7777
+ visibleThroughGeometry: z.ZodOptional<z.ZodBoolean>;
7778
+ dashed: z.ZodOptional<z.ZodBoolean>;
7693
7779
  }, "strip", z.ZodTypeAny, {
7694
7780
  id?: string | undefined;
7695
7781
  interactive?: boolean | undefined;
@@ -7700,6 +7786,8 @@ declare module '@mappedin/mappedin-js/geojson/src/components/path' {
7700
7786
  nearZoomLevel?: number | undefined;
7701
7787
  farRadius?: number | undefined;
7702
7788
  farZoomLevel?: number | undefined;
7789
+ visibleThroughGeometry?: boolean | undefined;
7790
+ dashed?: boolean | undefined;
7703
7791
  }, {
7704
7792
  id?: string | undefined;
7705
7793
  interactive?: boolean | undefined;
@@ -7710,6 +7798,8 @@ declare module '@mappedin/mappedin-js/geojson/src/components/path' {
7710
7798
  nearZoomLevel?: number | undefined;
7711
7799
  farRadius?: number | undefined;
7712
7800
  farZoomLevel?: number | undefined;
7801
+ visibleThroughGeometry?: boolean | undefined;
7802
+ dashed?: boolean | undefined;
7713
7803
  }>;
7714
7804
  export const featureSchema: z.ZodObject<{
7715
7805
  type: z.ZodEnum<["Feature"]>;
@@ -7770,6 +7860,8 @@ declare module '@mappedin/mappedin-js/geojson/src/components/path' {
7770
7860
  altitudeAdjustment: number;
7771
7861
  displayArrowsOnPath: boolean;
7772
7862
  animateArrowsOnPath: boolean;
7863
+ visibleThroughGeometry: boolean;
7864
+ dashed: boolean;
7773
7865
  /**
7774
7866
  * If the path is vertical it will be rebuilt whenever altitudeDirty = true. This will be set during the first render of the path.
7775
7867
  */
@@ -7846,6 +7938,22 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
7846
7938
  active?: string | undefined;
7847
7939
  inactive?: string | undefined;
7848
7940
  }>>;
7941
+ iconSizeInterpolation: z.ZodOptional<z.ZodObject<{
7942
+ nearZoomLevel: z.ZodOptional<z.ZodNumber>;
7943
+ farZoomLevel: z.ZodOptional<z.ZodNumber>;
7944
+ nearScale: z.ZodOptional<z.ZodNumber>;
7945
+ farScale: z.ZodOptional<z.ZodNumber>;
7946
+ }, "strip", z.ZodTypeAny, {
7947
+ nearZoomLevel?: number | undefined;
7948
+ farZoomLevel?: number | undefined;
7949
+ nearScale?: number | undefined;
7950
+ farScale?: number | undefined;
7951
+ }, {
7952
+ nearZoomLevel?: number | undefined;
7953
+ farZoomLevel?: number | undefined;
7954
+ nearScale?: number | undefined;
7955
+ farScale?: number | undefined;
7956
+ }>>;
7849
7957
  }, "strip", z.ZodTypeAny, {
7850
7958
  size?: number | undefined;
7851
7959
  backgroundColor?: {
@@ -7856,6 +7964,12 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
7856
7964
  active?: string | undefined;
7857
7965
  inactive?: string | undefined;
7858
7966
  } | undefined;
7967
+ iconSizeInterpolation?: {
7968
+ nearZoomLevel?: number | undefined;
7969
+ farZoomLevel?: number | undefined;
7970
+ nearScale?: number | undefined;
7971
+ farScale?: number | undefined;
7972
+ } | undefined;
7859
7973
  }, {
7860
7974
  size?: number | undefined;
7861
7975
  backgroundColor?: {
@@ -7866,6 +7980,12 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
7866
7980
  active?: string | undefined;
7867
7981
  inactive?: string | undefined;
7868
7982
  } | undefined;
7983
+ iconSizeInterpolation?: {
7984
+ nearZoomLevel?: number | undefined;
7985
+ farZoomLevel?: number | undefined;
7986
+ nearScale?: number | undefined;
7987
+ farScale?: number | undefined;
7988
+ } | undefined;
7869
7989
  }>>;
7870
7990
  }, "strip", z.ZodTypeAny, {
7871
7991
  text?: {
@@ -7887,6 +8007,12 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
7887
8007
  active?: string | undefined;
7888
8008
  inactive?: string | undefined;
7889
8009
  } | undefined;
8010
+ iconSizeInterpolation?: {
8011
+ nearZoomLevel?: number | undefined;
8012
+ farZoomLevel?: number | undefined;
8013
+ nearScale?: number | undefined;
8014
+ farScale?: number | undefined;
8015
+ } | undefined;
7890
8016
  } | undefined;
7891
8017
  }, {
7892
8018
  text?: {
@@ -7908,6 +8034,12 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
7908
8034
  active?: string | undefined;
7909
8035
  inactive?: string | undefined;
7910
8036
  } | undefined;
8037
+ iconSizeInterpolation?: {
8038
+ nearZoomLevel?: number | undefined;
8039
+ farZoomLevel?: number | undefined;
8040
+ nearScale?: number | undefined;
8041
+ farScale?: number | undefined;
8042
+ } | undefined;
7911
8043
  } | undefined;
7912
8044
  }>>;
7913
8045
  }, "strip", z.ZodTypeAny, {
@@ -7933,6 +8065,12 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
7933
8065
  active?: string | undefined;
7934
8066
  inactive?: string | undefined;
7935
8067
  } | undefined;
8068
+ iconSizeInterpolation?: {
8069
+ nearZoomLevel?: number | undefined;
8070
+ farZoomLevel?: number | undefined;
8071
+ nearScale?: number | undefined;
8072
+ farScale?: number | undefined;
8073
+ } | undefined;
7936
8074
  } | undefined;
7937
8075
  } | undefined;
7938
8076
  }, {
@@ -7958,6 +8096,12 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
7958
8096
  active?: string | undefined;
7959
8097
  inactive?: string | undefined;
7960
8098
  } | undefined;
8099
+ iconSizeInterpolation?: {
8100
+ nearZoomLevel?: number | undefined;
8101
+ farZoomLevel?: number | undefined;
8102
+ nearScale?: number | undefined;
8103
+ farScale?: number | undefined;
8104
+ } | undefined;
7961
8105
  } | undefined;
7962
8106
  } | undefined;
7963
8107
  }>;
@@ -8124,6 +8268,27 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
8124
8268
  * @default -Infinity
8125
8269
  */
8126
8270
  iconVisibleAtZoomLevel?: number;
8271
+ /**
8272
+ * Interpolates the icon size based on the zoom level.
8273
+ */
8274
+ iconSizeInterpolation?: {
8275
+ /**
8276
+ * The zoom level closest to the ground, where the icon is at "maxScale"
8277
+ */
8278
+ maxZoomLevel: number;
8279
+ /**
8280
+ * The zoom level farthest from the ground, where the icon is at "minScale"
8281
+ */
8282
+ minZoomLevel: number;
8283
+ /**
8284
+ * The scale of the icon at "maxZoomLevel"
8285
+ */
8286
+ maxScale: number;
8287
+ /**
8288
+ * The scale of the icon at "minZoomLevel"
8289
+ */
8290
+ minScale: number;
8291
+ };
8127
8292
  };
8128
8293
  };
8129
8294
  /**
@@ -8163,6 +8328,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
8163
8328
  */
8164
8329
  attachTo?: EntityId<GeometryState> | string | null;
8165
8330
  };
8331
+ export const DEFAULT_ICON_PADDING = 2;
8166
8332
  type TStyle = {
8167
8333
  top?: number;
8168
8334
  left?: number;
@@ -8171,6 +8337,8 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
8171
8337
  textAlign?: TEXTALIGN;
8172
8338
  cachedSymbol?: HTMLCanvasElement;
8173
8339
  };
8340
+ export const isOneOfTextDirtyOptions: (currentAppearance: LabelAppearance, newAppearance: LabelAppearance) => boolean;
8341
+ export const isOneOfMarkerDirtyOptions: (currentAppearance: LabelAppearance, newAppearance: LabelAppearance) => boolean;
8174
8342
  type LabelAppearanceFillenIn = {
8175
8343
  margin: number;
8176
8344
  text: {
@@ -8196,6 +8364,12 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
8196
8364
  iconOverflow: 'visible' | 'hidden';
8197
8365
  icon?: string;
8198
8366
  iconVisibleAtZoomLevel?: number;
8367
+ iconSizeInterpolation?: {
8368
+ maxZoomLevel: number;
8369
+ minZoomLevel: number;
8370
+ maxScale: number;
8371
+ minScale: number;
8372
+ };
8199
8373
  };
8200
8374
  };
8201
8375
  export type LabelOptions = {
@@ -8261,6 +8435,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
8261
8435
  verticalOffset: number;
8262
8436
  };
8263
8437
  export class LabelComponent {
8438
+ #private;
8264
8439
  lines: number;
8265
8440
  id: string;
8266
8441
  rank: number;
@@ -8301,8 +8476,14 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
8301
8476
  height: number;
8302
8477
  };
8303
8478
  currentStrategyIndex: number;
8304
- totalMarkerSize: number;
8479
+ iconScale: number;
8480
+ get totalMarkerSize(): number;
8481
+ set totalMarkerSize(size: number);
8482
+ get scaledIconPadding(): number;
8483
+ set scaledIconPadding(padding: number);
8305
8484
  dirty: boolean;
8485
+ textDirty: boolean;
8486
+ markerDirty: boolean;
8306
8487
  /** Flag used in 2d-projection system to determine if the parent has changed */
8307
8488
  attachedDirty: boolean;
8308
8489
  collisionDirty: boolean;
@@ -8317,6 +8498,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
8317
8498
  get lowPriorityStrategyIndex(): 3 | -1;
8318
8499
  get strategies(): any[];
8319
8500
  animate: boolean;
8501
+ recomputeCurrentStrategy(scale?: number): void;
8320
8502
  onStrategySelected: (strategyIndex: any) => void;
8321
8503
  updatePosition(): void;
8322
8504
  disable(): void;
@@ -8378,6 +8560,10 @@ declare module '@mappedin/mappedin-js/geojson/src/entities/group-container' {
8378
8560
  * The opacity of the group container, which sets the opacity of all its children
8379
8561
  */
8380
8562
  opacity: number;
8563
+ /**
8564
+ * If true, the group container will preload geometry for its children even when invisible.
8565
+ */
8566
+ readonly preloadGeometry: boolean;
8381
8567
  };
8382
8568
  export class GroupContainerObject3D extends Object3D {
8383
8569
  childrenIds: Set<string | number>;
@@ -8393,6 +8579,10 @@ declare module '@mappedin/mappedin-js/geojson/src/entities/group-container' {
8393
8579
  opacity: number;
8394
8580
  /** The effective opacity of the entity after all parent containers have been considered. */
8395
8581
  computedOpacity: number;
8582
+ /**
8583
+ * If true, the group container will preload geometry for its children even when invisible.
8584
+ */
8585
+ preloadGeometry: boolean;
8396
8586
  };
8397
8587
  components: [StackComponent?, InteractionComponent?, FocusableComponent?];
8398
8588
  constructor(id: string);
@@ -8401,6 +8591,7 @@ declare module '@mappedin/mappedin-js/geojson/src/entities/group-container' {
8401
8591
  removeEntity(entityGroupOrContainer: EntityTypes): void;
8402
8592
  setVisible(visible: boolean): void;
8403
8593
  setAltitude(altitude: number): void;
8594
+ set2DGeometryChildrenPositionDirty(): void;
8404
8595
  get altitude(): number;
8405
8596
  setOpacity(opacity: number): void;
8406
8597
  get opacity(): number;
@@ -8850,6 +9041,7 @@ declare module '@mappedin/mappedin-js/geojson/src/types' {
8850
9041
  cameraObject: Camera;
8851
9042
  naturalBearing: number;
8852
9043
  containerOffset: [number, number];
9044
+ useStandaloneCamera: boolean;
8853
9045
  };
8854
9046
  /**
8855
9047
  * All of the entities in the scene
@@ -8913,8 +9105,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/mesh' {
8913
9105
  import { BatchedMesh, Color, Vector3 } from 'three';
8914
9106
  import type { BatchedStandardMaterial } from '@mappedin/mappedin-js/geojson/src/systems/mesh-creation-and-optimization/batched-material';
8915
9107
  import type { EntityId, Position } from '@mappedin/mappedin-js/geojson/src/types';
8916
- import type { Feature, LineString, MultiLineString, MultiPolygon, Polygon, Position as GeoJsonPosition } from 'geojson';
8917
- import type { BBox } from '@turf/turf';
9108
+ import type { Feature, LineString, MultiLineString, MultiPolygon, Polygon, Position as GeoJsonPosition, BBox } from 'geojson';
8918
9109
  import { type ImageProperties } from '@mappedin/mappedin-js/geojson/src/components/image';
8919
9110
  import { type BaseTextAreaProperties, type EnterpriseTexture } from '@mappedin/mvf-v2';
8920
9111
  import type { Text } from 'troika-three-text';
@@ -9146,15 +9337,15 @@ declare module '@mappedin/mappedin-js/geojson/src/components/custom' {
9146
9337
  constructor(feature: Feature<Point>, builder: CustomGeometryBuilder);
9147
9338
  get visible(): boolean;
9148
9339
  set visible(value: boolean);
9149
- set opacity(_v: number);
9340
+ set opacity(value: number);
9150
9341
  get opacity(): number;
9151
9342
  color: Color;
9152
- setColor(): void;
9343
+ setColor(color: string): void;
9153
9344
  get position(): import("three").Vector3;
9154
9345
  get altitude(): number;
9155
9346
  set altitude(value: number);
9156
9347
  get renderOrder(): number;
9157
- set renderOrder(_: number);
9348
+ set renderOrder(value: number);
9158
9349
  }
9159
9350
  }
9160
9351
 
@@ -9577,6 +9768,7 @@ declare module '@mappedin/mappedin-js/geojson/src/renderer' {
9577
9768
  altitude?: number;
9578
9769
  interactive?: boolean;
9579
9770
  focusable?: boolean;
9771
+ preloadGeometry?: boolean;
9580
9772
  }, parent?: EntityId<GroupContainerState> | string | number | null): EntityId<GroupContainerState>;
9581
9773
  addStackContainer(id: string, style?: {
9582
9774
  visible?: true;
@@ -10622,10 +10814,13 @@ declare module '@mappedin/mappedin-js/geojson/src/utils/constants' {
10622
10814
  import type { InsetPadding } from '@mappedin/mappedin-js/geojson/src/types';
10623
10815
  export const DEFAULT_INSET_PADDING: InsetPadding;
10624
10816
  export const MAPPEDIN_LAYER_ID = "mappedin";
10625
- export enum ENTITY_3D_LAYERS {
10817
+ export enum RAYCAST_LAYERS {
10626
10818
  DEFAULT = 0,
10627
10819
  OUTLINES = 1
10628
10820
  }
10821
+ export const RENDER_LAYERS: {
10822
+ ALWAYS_ON_TOP: number;
10823
+ };
10629
10824
  /**
10630
10825
  * Duration of zoom in/out animation when double tapping with one finger or single tapping with two fingers.
10631
10826
  */
@@ -10778,8 +10973,8 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/watermark/system' {
10778
10973
  visible?: boolean;
10779
10974
  };
10780
10975
  export type WatermarkUpdateOptions = Omit<WatermarkOptions, 'onClick' | 'visible'> & {
10781
- /** Show the Mappedin watermark. Once it is visible it cannot be hidden again. */
10782
- visible?: true;
10976
+ /** Show the Mappedin watermark. */
10977
+ visible?: boolean;
10783
10978
  /** Set the interactivity of the watermark. */
10784
10979
  interactive?: boolean;
10785
10980
  };
@@ -11012,7 +11207,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/map-object' {
11012
11207
  import type { ParsedMVF } from '@mappedin/mvf-v2';
11013
11208
  import type { FeatureCollection, LineString, MultiPolygon, Polygon } from 'geojson';
11014
11209
  import { PubSub } from '@packages/internal/common';
11015
- import type { Position, AddLabelOptions, RendererCore, PathState, MarkerState, LineStyle, PaintStyle, EntityId } from '@mappedin/core-sdk';
11210
+ import type { Position, AddLabelOptions, RendererCore, PathState, MarkerState, LineStyle, PaintStyle, EntityId, Text3DState } from '@mappedin/core-sdk';
11016
11211
  import { FloorObject } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/floor-object';
11017
11212
  import type { Directions, Floor, TAddMarkerOptions, TAddPathOptions, TShow3DMapOptions } from '@mappedin/mappedin-js/mappedin-js/src';
11018
11213
  import type { GLTFExportOptions, TAnimationOptions, TAddModelOptions, TAddImageOptions, TDirectionInstruction, TAddText3DOptions, IAnchorable, TAddLabelOptions } from '@mappedin/mappedin-js/mappedin-js/src/types';
@@ -11024,7 +11219,6 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/map-object' {
11024
11219
  import { Space, Coordinate } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
11025
11220
  import { type GeoJsonApi } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/api';
11026
11221
  import { FloorStackObject } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/floor-stack-object';
11027
- import type { Text3DState } from '@mappedin/core-sdk/src/components/text3d';
11028
11222
  export class GeojsonApiMapObject extends PubSub<{
11029
11223
  'floor-change': {
11030
11224
  reason?: TFloorChangeReason;
@@ -11076,7 +11270,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/map-object' {
11076
11270
  Images: {
11077
11271
  add: (target: Position, url: string, opts: TAddImageOptions & {
11078
11272
  floorId?: string;
11079
- }) => EntityId<import("@mappedin/core-sdk/src/components/image").ImageState> | undefined;
11273
+ }) => EntityId<import("../../../geojson/src/components/image").ImageState> | undefined;
11080
11274
  remove: (id: string) => void;
11081
11275
  removeAll: () => void;
11082
11276
  };
@@ -12795,7 +12989,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/analytics/customer' {
12795
12989
  sendGetDirectionsEvent: (start: string, end: string) => void;
12796
12990
  sendBlueDotEvents(event: BlueDotEvents): void | Promise<Response> | Promise<void>;
12797
12991
  }
12798
- type UpdateStateParam = Partial<Pick<AnalyticState, 'geolocationMode' | 'context' | 'logEvents' | 'userPosition' | 'mapId' | 'sendEvents' | 'logEvents' | 'accessToken' | 'sessionId'>>;
12992
+ type UpdateStateParam = Partial<Pick<AnalyticState, 'geolocationMode' | 'context' | 'logEvents' | 'userPosition' | 'mapId' | 'sendEvents' | 'logEvents' | 'accessToken' | 'sessionId' | 'deviceId'>>;
12799
12993
  type CaptureEventsPayloadMap = {
12800
12994
  '$select-location': {
12801
12995
  id: string;
@@ -12849,10 +13043,6 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/analytics/customer' {
12849
13043
  noAuth: boolean;
12850
13044
  /** Flag to enable geolocation mode. */
12851
13045
  geolocationMode: boolean;
12852
- /** The device ID to be used for analytics. */
12853
- deviceId: string;
12854
- /** The session ID to be used for analytics. */
12855
- sessionId: string;
12856
13046
  /** The context in which the analytics are being used. */
12857
13047
  context: ValidContext;
12858
13048
  /** The last known user position. */
@@ -12863,7 +13053,13 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/analytics/customer' {
12863
13053
  logEvents: boolean;
12864
13054
  /** Flag to enable sending of events. */
12865
13055
  sendEvents: boolean;
12866
- } & AnalyticsAuth;
13056
+ /** The API key for authentication. */
13057
+ key?: string;
13058
+ /** The API secret for authentication. */
13059
+ secret?: string;
13060
+ /** The access token for authentication. */
13061
+ accessToken?: string;
13062
+ };
12867
13063
  }
12868
13064
  type AnalyticsUserPosition = {
12869
13065
  bluedotTimestamp: number;
@@ -12892,9 +13088,9 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/analytics/customer' {
12892
13088
  noAuth: boolean;
12893
13089
  /** Flag to enable geolocation mode. */
12894
13090
  geolocationMode: boolean;
12895
- /** The device ID to be used for analytics. */
13091
+ /** @internal The device ID to be used for analytics. */
12896
13092
  deviceId: string;
12897
- /** The session ID to be used for analytics. */
13093
+ /** @internal The session ID to be used for analytics. */
12898
13094
  sessionId: string;
12899
13095
  /** The context in which the analytics are being used. */
12900
13096
  context: ValidContext;
@@ -12917,6 +13113,16 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/analytics/customer' {
12917
13113
  export {};
12918
13114
  }
12919
13115
 
13116
+ declare module '@mappedin/mappedin-js/packages/common/types' {
13117
+ type Primitive = string | number | boolean | null | undefined;
13118
+ export type PartialExcept<T, K extends string> = {
13119
+ [P in keyof T as P extends K ? P : never]: T[P];
13120
+ } & {
13121
+ [P in keyof T as P extends K ? never : P]?: T[P] extends Primitive ? T[P] : T[P] extends (infer U)[] ? PartialExcept<U, K>[] : PartialExcept<T[P], K>;
13122
+ };
13123
+ export {};
13124
+ }
13125
+
12920
13126
  declare module '@mappedin/mappedin-js/packages/mvf-utils/tokens/access-token' {
12921
13127
  import { type TGetMapDataWithCredentialsOptions } from '@mappedin/mappedin-js/packages/mvf-utils/mvf-utils';
12922
13128
  export const ACCESS_TOKEN_REFRESH_BUFFER_MINUTES = 60;
@@ -13209,10 +13415,6 @@ declare module '@mappedin/mappedin-js/geojson/src/entities/geometry3d' {
13209
13415
  type: 'b';
13210
13416
  value: boolean;
13211
13417
  };
13212
- flattenFactor: {
13213
- type: 'f';
13214
- value: number;
13215
- };
13216
13418
  showPulse: {
13217
13419
  type: 'b';
13218
13420
  value: boolean;
@@ -13221,6 +13423,10 @@ declare module '@mappedin/mappedin-js/geojson/src/entities/geometry3d' {
13221
13423
  type: 'f';
13222
13424
  value: number;
13223
13425
  };
13426
+ dashed: {
13427
+ type: 'b';
13428
+ value: boolean;
13429
+ };
13224
13430
  }
13225
13431
  export {};
13226
13432
  }
@@ -13245,16 +13451,18 @@ declare module '@mappedin/mappedin-js/geojson/src/entities/geometry2d' {
13245
13451
  /** The geometry3D that this 2D entity is attached to */
13246
13452
  get attachedTo(): string | number | undefined;
13247
13453
  verticalOffset: number;
13248
- /**
13249
- * When the position of the entity changes, this should be set to true, so that systems like pan bounds can update
13250
- */
13251
- positionDirty: boolean;
13252
13454
  occluderId?: number;
13253
13455
  object3d: Geometry2DObject3D;
13254
13456
  components: [MarkerComponent | LabelComponent, InteractionComponent?];
13255
13457
  disposed: boolean;
13256
13458
  constructor(ui: MarkerComponent | LabelComponent, position: Vector3, verticalOffset?: number);
13257
13459
  get position(): Vector3;
13460
+ /**
13461
+ * When the position of the entity changes, this should be set to true, so that systems like pan bounds can update
13462
+ */
13463
+ get positionDirty(): boolean;
13464
+ set positionDirty(value: boolean);
13465
+ updatePosition(position: Vector3): void;
13258
13466
  setAltitude(z: number): void;
13259
13467
  }
13260
13468
  }
@@ -13514,6 +13722,7 @@ declare module '@mappedin/mappedin-js/geojson/src/types/options' {
13514
13722
  map?: MapLibreMap;
13515
13723
  mode?: 'standalone' | 'outdoors-interleaved' | 'outdoors-overlay';
13516
13724
  antialias?: boolean;
13725
+ useStandaloneCamera?: boolean;
13517
13726
  onWebGLRendererError?: (error: Error) => void;
13518
13727
  onWebGLContextCreationError?: (event: Event) => void;
13519
13728
  onWebGLContextLost?: (event: Event) => void;
@@ -13803,7 +14012,7 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/2d-draw/system' {
13803
14012
  };
13804
14013
  textToCanvas: (textDrawFn: (ctx: CanvasRenderingContext2D, x: number, y: number) => void, size: number, textAlign: TEXTALIGN, width: number, height: number, foregroundColor: string, backgroundColor: string) => any;
13805
14014
  cacheImage: (label: LabelComponent) => void;
13806
- createPinCanvas: (label: LabelComponent, markerSize: number, backgroundColor: string, foregroundColor: string) => HTMLCanvasElement | OffscreenCanvas;
14015
+ createPinCanvas: (label: LabelComponent, markerSize: number, backgroundColor: string, foregroundColor: string, maxIconScale?: number) => HTMLCanvasElement | OffscreenCanvas;
13807
14016
  prepare: (label: LabelComponent, labelCacheId: string, context: CanvasRenderingContext2D) => void;
13808
14017
  draw(label: LabelComponent, labelCacheId: string, context: CanvasRenderingContext2D): void;
13809
14018
  }
@@ -14127,7 +14336,7 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/outline-interpolation/
14127
14336
  * @param zoomLevel - The current zoom level.
14128
14337
  * @param isCameraZoomDirty - Whether the zoom level has changed since the last update. If this is true, the system will update if zoomLevel falls between range.
14129
14338
  */
14130
- update(zoomLevel: number, isCameraZoomDirty?: boolean): null | undefined;
14339
+ update(zoomLevel: number, isCameraZoomDirty?: boolean): void;
14131
14340
  destroy(): void;
14132
14341
  }
14133
14342
  }
@@ -14877,6 +15086,10 @@ declare module '@mappedin/mappedin-js/geojson/src/services/text3d/utils' {
14877
15086
  size: [width: number, height: number];
14878
15087
  }>;
14879
15088
  export function syncText(text: Text): Promise<void>;
15089
+ /**
15090
+ * Loads the default font without additional preprocessing
15091
+ */
15092
+ export function loadDefaultFont(): Promise<string>;
14880
15093
  }
14881
15094
 
14882
15095
  declare module '@mappedin/mappedin-js/geojson/src/systems/interactions/system' {
@@ -23485,7 +23698,7 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/path/system' {
23485
23698
  getParentContainer: RendererCore['getParentContainer'];
23486
23699
  convertZoomLevelToAltitude: CameraSystem['convertZoomLevelToAltitude'];
23487
23700
  constructor(rendererState: RendererState, convertTo3DMapPosition: RendererCore['convertTo3DMapPosition'], getParentContainer: RendererCore['getParentContainer'], convertZoomLevelToAltitude: CameraSystem['convertZoomLevelToAltitude']);
23488
- update(minZoomAltitude: number, maxZoomAltitude: number, currentZoomAltitude: number): void;
23701
+ update(minZoomAltitude: number, maxZoomAltitude: number, currentZoomAltitude: number, orbitZRotation?: number): void;
23489
23702
  }
23490
23703
  }
23491
23704
 
@@ -23495,6 +23708,7 @@ declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/navigator'
23495
23708
 
23496
23709
  declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/navigator/navigator' {
23497
23710
  import type { Position, Feature, MultiPolygon, Polygon } from 'geojson';
23711
+ import { Edge } from '@mappedin/mappedin-js/packages/geojson-navigator/src/edge';
23498
23712
  import { NavigationGraph } from '@mappedin/mappedin-js/packages/geojson-navigator/src/navigation-graph';
23499
23713
  import type { NodeCollection } from '@mappedin/mappedin-js/packages/geojson-navigator/src/types/node';
23500
23714
  import type { ObstructionCollection } from '@mappedin/mappedin-js/packages/geojson-navigator/src/types/obstruction';
@@ -23556,7 +23770,7 @@ declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/navigator/n
23556
23770
  * @param {SimplifyDirectionsOptions} [simplify] - Options to simplify the pathfinding result.
23557
23771
  * @returns {DirectionsCollection} A collection of directional features representing the path.
23558
23772
  */
23559
- getDirections({ zones: directionsZones, originIds, destinationNodeIds, excludedNodeIds, disabledConnectionNodeIds, simplify, multiplicativeDistanceWeightScaling, }: {
23773
+ getDirections({ zones: directionsZones, originIds, destinationNodeIds, excludedNodeIds, disabledConnectionNodeIds, simplify, multiplicativeDistanceWeightScaling, overrideEdgeWeights, }: {
23560
23774
  originIds: string[];
23561
23775
  destinationNodeIds: string[];
23562
23776
  zones?: DirectionsZone[];
@@ -23564,6 +23778,7 @@ declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/navigator/n
23564
23778
  disabledConnectionNodeIds?: string[];
23565
23779
  simplify?: SimplifyDirectionsOptions;
23566
23780
  multiplicativeDistanceWeightScaling?: boolean;
23781
+ overrideEdgeWeights?: Map<Edge, number>;
23567
23782
  }): DirectionsCollection;
23568
23783
  /**
23569
23784
  * Calculates the approximate distance between two geographic coordinates on Earth's surface.
@@ -27278,6 +27493,10 @@ declare module '@mappedin/mappedin-js/packages/outdoor-context-v4/ui/handler/tap
27278
27493
  }
27279
27494
  }
27280
27495
 
27496
+ declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/edge' {
27497
+ export * from '@mappedin/mappedin-js/packages/geojson-navigator/src/edge/edge';
27498
+ }
27499
+
27281
27500
  declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/navigation-graph' {
27282
27501
  export * from '@mappedin/mappedin-js/packages/geojson-navigator/src/navigation-graph/navigation-graph';
27283
27502
  }
@@ -27294,10 +27513,6 @@ declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/types/space
27294
27513
  export { SpaceCollection, SpaceProperties };
27295
27514
  }
27296
27515
 
27297
- declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/edge' {
27298
- export * from '@mappedin/mappedin-js/packages/geojson-navigator/src/edge/edge';
27299
- }
27300
-
27301
27516
  declare module '@mappedin/mappedin-js/geojson/src/systems/camera/helpers/input-set' {
27302
27517
  import type { Vector2 } from 'three';
27303
27518
  class InputSet {
@@ -29958,6 +30173,42 @@ declare module '@mappedin/mappedin-js/packages/outdoor-context-v4/source/terrain
29958
30173
  }
29959
30174
  }
29960
30175
 
30176
+ declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/edge/edge' {
30177
+ import type { NodeFeature } from '@mappedin/mappedin-js/packages/geojson-navigator/src/types/node';
30178
+ /**
30179
+ * Represents an edge in a graph, containing data about its endpoints and metrics like distance and angle.
30180
+ * @hidden
30181
+ */
30182
+ export class Edge {
30183
+ /** The originating node of the edge */
30184
+ origin: NodeFeature;
30185
+ /** The destination node of the edge */
30186
+ destination: NodeFeature;
30187
+ /** The distance between the origin and the destination nodes */
30188
+ distance: number;
30189
+ /** The angle of the edge with respect to some reference, in degrees */
30190
+ angle: number;
30191
+ /** A composite weight of the edge, combining distance and a custom path weight */
30192
+ weight: number;
30193
+ /**
30194
+ * Constructs a new Edge instance.
30195
+ * @param {NodeFeature} origin - The originating node of the edge.
30196
+ * @param {NodeFeature} destination - The destination node of the edge.
30197
+ * @param {number} [distance=0] - The physical distance between the origin and destination.
30198
+ * @param {number} [angle=0] - The angle of the edge in degrees.
30199
+ * @param {number} [pathWeight=0] - An additional weight factor for the path.
30200
+ */
30201
+ constructor({ origin, destination, distance, angle, pathWeight, multiplicativeDistanceWeightScaling, }: {
30202
+ origin: NodeFeature;
30203
+ destination: NodeFeature;
30204
+ distance?: number;
30205
+ angle?: number;
30206
+ pathWeight?: number;
30207
+ multiplicativeDistanceWeightScaling?: boolean;
30208
+ });
30209
+ }
30210
+ }
30211
+
29961
30212
  declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/navigation-graph/navigation-graph' {
29962
30213
  import { Edge } from '@mappedin/mappedin-js/packages/geojson-navigator/src/edge';
29963
30214
  import type { NodeCollection, NodeFeature } from '@mappedin/mappedin-js/packages/geojson-navigator/src/types/node';
@@ -29998,52 +30249,17 @@ declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/navigation-
29998
30249
  * @param {Set<string>} [disabledConnectionNodeIds] - Optional set of connection node IDs that are disabled (ie. act as regular nodes).
29999
30250
  * @returns {Edge[]} An array of edges representing the shortest path, or an empty array if no path is found.
30000
30251
  */
30001
- aStar({ originIds, destinationNodeIds, excludedNodeIds, disabledConnectionNodeIds, zones, }: {
30252
+ aStar({ originIds, destinationNodeIds, excludedNodeIds, disabledConnectionNodeIds, zones, overrideEdgeWeights, }: {
30002
30253
  originIds: string[];
30003
30254
  destinationNodeIds: string[];
30004
30255
  zones: DirectionsZone[];
30005
30256
  excludedNodeIds?: Set<string>;
30006
30257
  disabledConnectionNodeIds?: Set<string>;
30258
+ overrideEdgeWeights?: Map<Edge, number>;
30007
30259
  }): Edge[];
30008
30260
  }
30009
30261
  }
30010
30262
 
30011
- declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/edge/edge' {
30012
- import type { NodeFeature } from '@mappedin/mappedin-js/packages/geojson-navigator/src/types/node';
30013
- /**
30014
- * Represents an edge in a graph, containing data about its endpoints and metrics like distance and angle.
30015
- * @hidden
30016
- */
30017
- export class Edge {
30018
- /** The originating node of the edge */
30019
- origin: NodeFeature;
30020
- /** The destination node of the edge */
30021
- destination: NodeFeature;
30022
- /** The distance between the origin and the destination nodes */
30023
- distance: number;
30024
- /** The angle of the edge with respect to some reference, in degrees */
30025
- angle: number;
30026
- /** A composite weight of the edge, combining distance and a custom path weight */
30027
- weight: number;
30028
- /**
30029
- * Constructs a new Edge instance.
30030
- * @param {NodeFeature} origin - The originating node of the edge.
30031
- * @param {NodeFeature} destination - The destination node of the edge.
30032
- * @param {number} [distance=0] - The physical distance between the origin and destination.
30033
- * @param {number} [angle=0] - The angle of the edge in degrees.
30034
- * @param {number} [pathWeight=0] - An additional weight factor for the path.
30035
- */
30036
- constructor({ origin, destination, distance, angle, pathWeight, multiplicativeDistanceWeightScaling, }: {
30037
- origin: NodeFeature;
30038
- destination: NodeFeature;
30039
- distance?: number;
30040
- angle?: number;
30041
- pathWeight?: number;
30042
- multiplicativeDistanceWeightScaling?: boolean;
30043
- });
30044
- }
30045
- }
30046
-
30047
30263
  declare module '@mappedin/mappedin-js/packages/outdoor-context-v4/data/feature_position_map' {
30048
30264
  type SerializedFeaturePositionMap = {
30049
30265
  ids: Float64Array;