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

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 (37) hide show
  1. package/THIRD_PARTY_LICENSES.txt +2166 -27800
  2. package/lib/esm/GLTFExporter-TZEIALSW.js +1 -0
  3. package/lib/esm/GLTFLoader-YCEKYYW3.js +1 -0
  4. package/lib/esm/{browser-OJQDECWL.js → browser-6R2QCUOI.js} +1 -1
  5. package/lib/esm/chunk-DNBHISVY.js +1 -0
  6. package/lib/esm/{chunk-XIVNHXXU.js → chunk-KR33DBLD.js} +1 -1
  7. package/lib/esm/chunk-KVKD4E33.js +1 -0
  8. package/lib/esm/chunk-MENDLOSO.js +1 -0
  9. package/lib/esm/chunk-QRWMPXER.js +1 -0
  10. package/lib/esm/chunk-TVALVOG4.js +1 -0
  11. package/lib/esm/chunk-UIDBSU4C.js +1 -0
  12. package/lib/esm/index.css +1 -1
  13. package/lib/esm/index.d.ts +273 -74
  14. package/lib/esm/index.js +1 -1
  15. package/lib/esm/inspector-CV34C4XG.js +1 -0
  16. package/lib/esm/inspector-WWR77OPX.css +1 -0
  17. package/lib/esm/internal-M7DPGYMI.css +1 -0
  18. package/lib/esm/internal-YXEVD377.js +1 -0
  19. package/lib/esm/{outdoor-context-v4-DTIGSNLG.js → outdoor-context-v4-IEFB4X2Q.js} +1 -1
  20. package/lib/esm/{roboto-regular-PKVZDOB2.js → roboto-regular-JRVF4TIR.js} +1 -1
  21. package/lib/esm/text3d-RZEC5VQO.js +1 -0
  22. package/lib/esm/workers/maplibre-worker.csp.js +1 -1
  23. package/lib/index.css +1 -1
  24. package/package.json +12 -12
  25. package/lib/esm/GLTFExporter-AXJXTFZG.js +0 -1
  26. package/lib/esm/GLTFLoader-V2T33J7P.js +0 -1
  27. package/lib/esm/chunk-5XSHJ3NY.js +0 -1
  28. package/lib/esm/chunk-A6HW5N6M.js +0 -1
  29. package/lib/esm/chunk-GVMLK6WZ.js +0 -1
  30. package/lib/esm/chunk-MV2IWNRC.js +0 -1
  31. package/lib/esm/chunk-Q2KR5YO7.js +0 -1
  32. package/lib/esm/chunk-SRZSNPKD.js +0 -1
  33. package/lib/esm/inspector-4UPV6G6H.js +0 -1
  34. package/lib/esm/inspector-GOK26VAV.css +0 -1
  35. package/lib/esm/internal-7A3UJNAV.css +0 -1
  36. package/lib/esm/internal-NKXX4DDI.js +0 -1
  37. 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
@@ -295,6 +292,22 @@ declare module '@mappedin/mappedin-js' {
295
292
  * @internal
296
293
  */
297
294
  onWebGLRendererError?: (error: Error) => void;
295
+ /**
296
+ * @experimental
297
+ * @internal
298
+ *
299
+ * If true, the map will use a standalone camera for rendering instead of syncing with MapLibre's camera.
300
+ * This enables environment map reflections to update with camera movement in interleaved and overlay modes.
301
+ * Note: This disables building occlusion since the depth buffer is no longer synchronized with MapLibre.
302
+ *
303
+ * @default false
304
+ */
305
+ useStandaloneCamera?: boolean;
306
+ /**
307
+ *
308
+ * Preload floors for the map. Allows floors to appear faster but requires more time and memory up front.
309
+ */
310
+ preloadFloors?: Floor[];
298
311
  };
299
312
  /**
300
313
  * @internal
@@ -1367,6 +1380,12 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view' {
1367
1380
  * @param floorStack The floor stack or floor stack ID to set.
1368
1381
  */
1369
1382
  setFloorStack(floorStack: FloorStack | string, options?: TSetFloorOptions): void;
1383
+ /**
1384
+ * 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
1385
+ * keep the map responsive.
1386
+ * @param floors The floors to preload.
1387
+ */
1388
+ preloadFloors(floors: Floor[]): void;
1370
1389
  /**
1371
1390
  * Create a tween object that will be updated on every render frame.
1372
1391
  * See https://tweenjs.github.io/tween.js/docs/user_guide.html for more information.
@@ -2005,10 +2024,6 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
2005
2024
  * The color of the path.
2006
2025
  */
2007
2026
  color: string;
2008
- /**
2009
- * The complete fraction of the path.
2010
- */
2011
- completeFraction: number;
2012
2027
  /**
2013
2028
  * The near radius of the path.
2014
2029
  */
@@ -2017,6 +2032,10 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
2017
2032
  * The far radius of the path.
2018
2033
  */
2019
2034
  farRadius: number;
2035
+ /**
2036
+ * The fraction of the path that should be complete. This can be used to animate the path.
2037
+ */
2038
+ completeFraction: number;
2020
2039
  /**
2021
2040
  * Whether the path is visible.
2022
2041
  */
@@ -2443,6 +2462,26 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
2443
2462
  * @defaultValue -Infinite
2444
2463
  */
2445
2464
  minAdjustedAltitude?: number;
2465
+ /**
2466
+ * Whether the path should be dashed.
2467
+ *
2468
+ * @defaultValue false
2469
+ */
2470
+ dashed?: boolean;
2471
+ /**
2472
+ * Whether the path should be visible.
2473
+ *
2474
+ * @defaultValue true
2475
+ */
2476
+ visible?: boolean;
2477
+ /**
2478
+ * @internal
2479
+ *
2480
+ * Whether the path should be visible through geometry. Can be used to create paths that are visible through walls and floors.
2481
+ *
2482
+ * @defaultValue false
2483
+ */
2484
+ visibleThroughGeometry?: boolean;
2446
2485
  };
2447
2486
  /**
2448
2487
  * Control how a {@link Label} looks
@@ -2540,6 +2579,10 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
2540
2579
  * If there is no path that does not include the these connections, the directions will be undefined.
2541
2580
  */
2542
2581
  excludedConnections?: Connection[];
2582
+ /**
2583
+ * Override the default weights for specific connection ids.
2584
+ */
2585
+ connectionIdWeightMap?: Record<string, number>;
2543
2586
  };
2544
2587
  /**
2545
2588
  * The target for the add model operation.
@@ -3624,6 +3667,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/api' {
3624
3667
  Images: Images;
3625
3668
  get StackedMaps(): import("..").StackedMaps;
3626
3669
  constructor(rendererCore: RendererCore, mapView: MapView);
3670
+ preloadFloors(floors: Floor[]): void;
3627
3671
  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
3672
  update: () => void;
3629
3673
  getMapDataInternal(): MapDataInternal | undefined;
@@ -3805,6 +3849,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/directions' {
3805
3849
  };
3806
3850
  zones: TDirectionZone[];
3807
3851
  excludedConnections: Connection[];
3852
+ connectionIdWeightMap: Record<string, number>;
3808
3853
  }, mapData: MapDataInternal) => Directions | undefined;
3809
3854
  /**
3810
3855
  * Get the node IDs that should be excluded from the navigation graph.
@@ -3843,11 +3888,11 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/types' {
3843
3888
  import type Connection from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/connection';
3844
3889
  import type MapObject from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/object';
3845
3890
  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';
3891
+ import type { PartialExcept } from '@mappedin/mappedin-js/packages/common/types';
3847
3892
  import type { LocalePackUrls } from '@packages/internal/mvf-utils';
3848
3893
  import type { LanguagePackHydrationItem } from '@mappedin/mappedin-js/mappedin-js/src/types';
3849
3894
  import type { EnvControl, TGetMapDataOptions } from '@packages/internal/mvf-utils/mvf-utils';
3850
- import { TokenManager } from '@packages/internal/mvf-utils/tokens/token-manager';
3895
+ import type { TokenManager } from '@packages/internal/mvf-utils/tokens/token-manager';
3851
3896
  /**
3852
3897
  * Places are the main objects that can be searched for.
3853
3898
  */
@@ -4197,6 +4242,22 @@ declare module '@mappedin/mappedin-js/mappedin-js/src' {
4197
4242
  * @internal
4198
4243
  */
4199
4244
  onWebGLRendererError?: (error: Error) => void;
4245
+ /**
4246
+ * @experimental
4247
+ * @internal
4248
+ *
4249
+ * If true, the map will use a standalone camera for rendering instead of syncing with MapLibre's camera.
4250
+ * This enables environment map reflections to update with camera movement in interleaved and overlay modes.
4251
+ * Note: This disables building occlusion since the depth buffer is no longer synchronized with MapLibre.
4252
+ *
4253
+ * @default false
4254
+ */
4255
+ useStandaloneCamera?: boolean;
4256
+ /**
4257
+ *
4258
+ * Preload floors for the map. Allows floors to appear faster but requires more time and memory up front.
4259
+ */
4260
+ preloadFloors?: Floor[];
4200
4261
  };
4201
4262
  /**
4202
4263
  * @internal
@@ -6679,6 +6740,10 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/location'
6679
6740
  * The type of the location.
6680
6741
  */
6681
6742
  type: string;
6743
+ /**
6744
+ * Whether the location has been marked as hidden.
6745
+ */
6746
+ hidden: boolean;
6682
6747
  /**
6683
6748
  * Checks if the provided instance is of type EnterpriseLocation.
6684
6749
  *
@@ -7679,6 +7744,14 @@ declare module '@mappedin/mappedin-js/geojson/src/components/path' {
7679
7744
  * Arrows on path should animate to indicate direction
7680
7745
  */
7681
7746
  animateArrowsOnPath?: boolean;
7747
+ /**
7748
+ * Whether the path should be visible through geometry.
7749
+ */
7750
+ visibleThroughGeometry?: boolean;
7751
+ /**
7752
+ * Whether the path should be dashed.
7753
+ */
7754
+ dashed?: boolean;
7682
7755
  };
7683
7756
  export const addPathOptionsSchema: z.ZodObject<{
7684
7757
  interactive: z.ZodOptional<z.ZodBoolean>;
@@ -7690,6 +7763,8 @@ declare module '@mappedin/mappedin-js/geojson/src/components/path' {
7690
7763
  animateArrowsOnPath: z.ZodOptional<z.ZodBoolean>;
7691
7764
  nearZoomLevel: z.ZodOptional<z.ZodNumber>;
7692
7765
  farZoomLevel: z.ZodOptional<z.ZodNumber>;
7766
+ visibleThroughGeometry: z.ZodOptional<z.ZodBoolean>;
7767
+ dashed: z.ZodOptional<z.ZodBoolean>;
7693
7768
  }, "strip", z.ZodTypeAny, {
7694
7769
  id?: string | undefined;
7695
7770
  interactive?: boolean | undefined;
@@ -7700,6 +7775,8 @@ declare module '@mappedin/mappedin-js/geojson/src/components/path' {
7700
7775
  nearZoomLevel?: number | undefined;
7701
7776
  farRadius?: number | undefined;
7702
7777
  farZoomLevel?: number | undefined;
7778
+ visibleThroughGeometry?: boolean | undefined;
7779
+ dashed?: boolean | undefined;
7703
7780
  }, {
7704
7781
  id?: string | undefined;
7705
7782
  interactive?: boolean | undefined;
@@ -7710,6 +7787,8 @@ declare module '@mappedin/mappedin-js/geojson/src/components/path' {
7710
7787
  nearZoomLevel?: number | undefined;
7711
7788
  farRadius?: number | undefined;
7712
7789
  farZoomLevel?: number | undefined;
7790
+ visibleThroughGeometry?: boolean | undefined;
7791
+ dashed?: boolean | undefined;
7713
7792
  }>;
7714
7793
  export const featureSchema: z.ZodObject<{
7715
7794
  type: z.ZodEnum<["Feature"]>;
@@ -7770,6 +7849,8 @@ declare module '@mappedin/mappedin-js/geojson/src/components/path' {
7770
7849
  altitudeAdjustment: number;
7771
7850
  displayArrowsOnPath: boolean;
7772
7851
  animateArrowsOnPath: boolean;
7852
+ visibleThroughGeometry: boolean;
7853
+ dashed: boolean;
7773
7854
  /**
7774
7855
  * If the path is vertical it will be rebuilt whenever altitudeDirty = true. This will be set during the first render of the path.
7775
7856
  */
@@ -7846,6 +7927,22 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
7846
7927
  active?: string | undefined;
7847
7928
  inactive?: string | undefined;
7848
7929
  }>>;
7930
+ iconSizeInterpolation: z.ZodOptional<z.ZodObject<{
7931
+ nearZoomLevel: z.ZodOptional<z.ZodNumber>;
7932
+ farZoomLevel: z.ZodOptional<z.ZodNumber>;
7933
+ nearScale: z.ZodOptional<z.ZodNumber>;
7934
+ farScale: z.ZodOptional<z.ZodNumber>;
7935
+ }, "strip", z.ZodTypeAny, {
7936
+ nearZoomLevel?: number | undefined;
7937
+ farZoomLevel?: number | undefined;
7938
+ nearScale?: number | undefined;
7939
+ farScale?: number | undefined;
7940
+ }, {
7941
+ nearZoomLevel?: number | undefined;
7942
+ farZoomLevel?: number | undefined;
7943
+ nearScale?: number | undefined;
7944
+ farScale?: number | undefined;
7945
+ }>>;
7849
7946
  }, "strip", z.ZodTypeAny, {
7850
7947
  size?: number | undefined;
7851
7948
  backgroundColor?: {
@@ -7856,6 +7953,12 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
7856
7953
  active?: string | undefined;
7857
7954
  inactive?: string | undefined;
7858
7955
  } | undefined;
7956
+ iconSizeInterpolation?: {
7957
+ nearZoomLevel?: number | undefined;
7958
+ farZoomLevel?: number | undefined;
7959
+ nearScale?: number | undefined;
7960
+ farScale?: number | undefined;
7961
+ } | undefined;
7859
7962
  }, {
7860
7963
  size?: number | undefined;
7861
7964
  backgroundColor?: {
@@ -7866,6 +7969,12 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
7866
7969
  active?: string | undefined;
7867
7970
  inactive?: string | undefined;
7868
7971
  } | undefined;
7972
+ iconSizeInterpolation?: {
7973
+ nearZoomLevel?: number | undefined;
7974
+ farZoomLevel?: number | undefined;
7975
+ nearScale?: number | undefined;
7976
+ farScale?: number | undefined;
7977
+ } | undefined;
7869
7978
  }>>;
7870
7979
  }, "strip", z.ZodTypeAny, {
7871
7980
  text?: {
@@ -7887,6 +7996,12 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
7887
7996
  active?: string | undefined;
7888
7997
  inactive?: string | undefined;
7889
7998
  } | undefined;
7999
+ iconSizeInterpolation?: {
8000
+ nearZoomLevel?: number | undefined;
8001
+ farZoomLevel?: number | undefined;
8002
+ nearScale?: number | undefined;
8003
+ farScale?: number | undefined;
8004
+ } | undefined;
7890
8005
  } | undefined;
7891
8006
  }, {
7892
8007
  text?: {
@@ -7908,6 +8023,12 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
7908
8023
  active?: string | undefined;
7909
8024
  inactive?: string | undefined;
7910
8025
  } | undefined;
8026
+ iconSizeInterpolation?: {
8027
+ nearZoomLevel?: number | undefined;
8028
+ farZoomLevel?: number | undefined;
8029
+ nearScale?: number | undefined;
8030
+ farScale?: number | undefined;
8031
+ } | undefined;
7911
8032
  } | undefined;
7912
8033
  }>>;
7913
8034
  }, "strip", z.ZodTypeAny, {
@@ -7933,6 +8054,12 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
7933
8054
  active?: string | undefined;
7934
8055
  inactive?: string | undefined;
7935
8056
  } | undefined;
8057
+ iconSizeInterpolation?: {
8058
+ nearZoomLevel?: number | undefined;
8059
+ farZoomLevel?: number | undefined;
8060
+ nearScale?: number | undefined;
8061
+ farScale?: number | undefined;
8062
+ } | undefined;
7936
8063
  } | undefined;
7937
8064
  } | undefined;
7938
8065
  }, {
@@ -7958,6 +8085,12 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
7958
8085
  active?: string | undefined;
7959
8086
  inactive?: string | undefined;
7960
8087
  } | undefined;
8088
+ iconSizeInterpolation?: {
8089
+ nearZoomLevel?: number | undefined;
8090
+ farZoomLevel?: number | undefined;
8091
+ nearScale?: number | undefined;
8092
+ farScale?: number | undefined;
8093
+ } | undefined;
7961
8094
  } | undefined;
7962
8095
  } | undefined;
7963
8096
  }>;
@@ -8124,6 +8257,27 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
8124
8257
  * @default -Infinity
8125
8258
  */
8126
8259
  iconVisibleAtZoomLevel?: number;
8260
+ /**
8261
+ * Interpolates the icon size based on the zoom level.
8262
+ */
8263
+ iconSizeInterpolation?: {
8264
+ /**
8265
+ * The zoom level closest to the ground, where the icon is at "maxScale"
8266
+ */
8267
+ maxZoomLevel: number;
8268
+ /**
8269
+ * The zoom level farthest from the ground, where the icon is at "minScale"
8270
+ */
8271
+ minZoomLevel: number;
8272
+ /**
8273
+ * The scale of the icon at "maxZoomLevel"
8274
+ */
8275
+ maxScale: number;
8276
+ /**
8277
+ * The scale of the icon at "minZoomLevel"
8278
+ */
8279
+ minScale: number;
8280
+ };
8127
8281
  };
8128
8282
  };
8129
8283
  /**
@@ -8163,6 +8317,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
8163
8317
  */
8164
8318
  attachTo?: EntityId<GeometryState> | string | null;
8165
8319
  };
8320
+ export const DEFAULT_ICON_PADDING = 2;
8166
8321
  type TStyle = {
8167
8322
  top?: number;
8168
8323
  left?: number;
@@ -8171,6 +8326,8 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
8171
8326
  textAlign?: TEXTALIGN;
8172
8327
  cachedSymbol?: HTMLCanvasElement;
8173
8328
  };
8329
+ export const isOneOfTextDirtyOptions: (currentAppearance: LabelAppearance, newAppearance: LabelAppearance) => boolean;
8330
+ export const isOneOfMarkerDirtyOptions: (currentAppearance: LabelAppearance, newAppearance: LabelAppearance) => boolean;
8174
8331
  type LabelAppearanceFillenIn = {
8175
8332
  margin: number;
8176
8333
  text: {
@@ -8196,6 +8353,12 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
8196
8353
  iconOverflow: 'visible' | 'hidden';
8197
8354
  icon?: string;
8198
8355
  iconVisibleAtZoomLevel?: number;
8356
+ iconSizeInterpolation?: {
8357
+ maxZoomLevel: number;
8358
+ minZoomLevel: number;
8359
+ maxScale: number;
8360
+ minScale: number;
8361
+ };
8199
8362
  };
8200
8363
  };
8201
8364
  export type LabelOptions = {
@@ -8261,6 +8424,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
8261
8424
  verticalOffset: number;
8262
8425
  };
8263
8426
  export class LabelComponent {
8427
+ #private;
8264
8428
  lines: number;
8265
8429
  id: string;
8266
8430
  rank: number;
@@ -8301,8 +8465,14 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
8301
8465
  height: number;
8302
8466
  };
8303
8467
  currentStrategyIndex: number;
8304
- totalMarkerSize: number;
8468
+ iconScale: number;
8469
+ get totalMarkerSize(): number;
8470
+ set totalMarkerSize(size: number);
8471
+ get scaledIconPadding(): number;
8472
+ set scaledIconPadding(padding: number);
8305
8473
  dirty: boolean;
8474
+ textDirty: boolean;
8475
+ markerDirty: boolean;
8306
8476
  /** Flag used in 2d-projection system to determine if the parent has changed */
8307
8477
  attachedDirty: boolean;
8308
8478
  collisionDirty: boolean;
@@ -8317,6 +8487,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
8317
8487
  get lowPriorityStrategyIndex(): 3 | -1;
8318
8488
  get strategies(): any[];
8319
8489
  animate: boolean;
8490
+ recomputeCurrentStrategy(scale?: number): void;
8320
8491
  onStrategySelected: (strategyIndex: any) => void;
8321
8492
  updatePosition(): void;
8322
8493
  disable(): void;
@@ -8378,6 +8549,10 @@ declare module '@mappedin/mappedin-js/geojson/src/entities/group-container' {
8378
8549
  * The opacity of the group container, which sets the opacity of all its children
8379
8550
  */
8380
8551
  opacity: number;
8552
+ /**
8553
+ * If true, the group container will preload geometry for its children even when invisible.
8554
+ */
8555
+ readonly preloadGeometry: boolean;
8381
8556
  };
8382
8557
  export class GroupContainerObject3D extends Object3D {
8383
8558
  childrenIds: Set<string | number>;
@@ -8393,6 +8568,10 @@ declare module '@mappedin/mappedin-js/geojson/src/entities/group-container' {
8393
8568
  opacity: number;
8394
8569
  /** The effective opacity of the entity after all parent containers have been considered. */
8395
8570
  computedOpacity: number;
8571
+ /**
8572
+ * If true, the group container will preload geometry for its children even when invisible.
8573
+ */
8574
+ preloadGeometry: boolean;
8396
8575
  };
8397
8576
  components: [StackComponent?, InteractionComponent?, FocusableComponent?];
8398
8577
  constructor(id: string);
@@ -8401,6 +8580,7 @@ declare module '@mappedin/mappedin-js/geojson/src/entities/group-container' {
8401
8580
  removeEntity(entityGroupOrContainer: EntityTypes): void;
8402
8581
  setVisible(visible: boolean): void;
8403
8582
  setAltitude(altitude: number): void;
8583
+ set2DGeometryChildrenPositionDirty(): void;
8404
8584
  get altitude(): number;
8405
8585
  setOpacity(opacity: number): void;
8406
8586
  get opacity(): number;
@@ -8850,6 +9030,7 @@ declare module '@mappedin/mappedin-js/geojson/src/types' {
8850
9030
  cameraObject: Camera;
8851
9031
  naturalBearing: number;
8852
9032
  containerOffset: [number, number];
9033
+ useStandaloneCamera: boolean;
8853
9034
  };
8854
9035
  /**
8855
9036
  * All of the entities in the scene
@@ -8913,8 +9094,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/mesh' {
8913
9094
  import { BatchedMesh, Color, Vector3 } from 'three';
8914
9095
  import type { BatchedStandardMaterial } from '@mappedin/mappedin-js/geojson/src/systems/mesh-creation-and-optimization/batched-material';
8915
9096
  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';
9097
+ import type { Feature, LineString, MultiLineString, MultiPolygon, Polygon, Position as GeoJsonPosition, BBox } from 'geojson';
8918
9098
  import { type ImageProperties } from '@mappedin/mappedin-js/geojson/src/components/image';
8919
9099
  import { type BaseTextAreaProperties, type EnterpriseTexture } from '@mappedin/mvf-v2';
8920
9100
  import type { Text } from 'troika-three-text';
@@ -9146,15 +9326,15 @@ declare module '@mappedin/mappedin-js/geojson/src/components/custom' {
9146
9326
  constructor(feature: Feature<Point>, builder: CustomGeometryBuilder);
9147
9327
  get visible(): boolean;
9148
9328
  set visible(value: boolean);
9149
- set opacity(_v: number);
9329
+ set opacity(value: number);
9150
9330
  get opacity(): number;
9151
9331
  color: Color;
9152
- setColor(): void;
9332
+ setColor(color: string): void;
9153
9333
  get position(): import("three").Vector3;
9154
9334
  get altitude(): number;
9155
9335
  set altitude(value: number);
9156
9336
  get renderOrder(): number;
9157
- set renderOrder(_: number);
9337
+ set renderOrder(value: number);
9158
9338
  }
9159
9339
  }
9160
9340
 
@@ -9577,6 +9757,7 @@ declare module '@mappedin/mappedin-js/geojson/src/renderer' {
9577
9757
  altitude?: number;
9578
9758
  interactive?: boolean;
9579
9759
  focusable?: boolean;
9760
+ preloadGeometry?: boolean;
9580
9761
  }, parent?: EntityId<GroupContainerState> | string | number | null): EntityId<GroupContainerState>;
9581
9762
  addStackContainer(id: string, style?: {
9582
9763
  visible?: true;
@@ -10622,10 +10803,13 @@ declare module '@mappedin/mappedin-js/geojson/src/utils/constants' {
10622
10803
  import type { InsetPadding } from '@mappedin/mappedin-js/geojson/src/types';
10623
10804
  export const DEFAULT_INSET_PADDING: InsetPadding;
10624
10805
  export const MAPPEDIN_LAYER_ID = "mappedin";
10625
- export enum ENTITY_3D_LAYERS {
10806
+ export enum RAYCAST_LAYERS {
10626
10807
  DEFAULT = 0,
10627
10808
  OUTLINES = 1
10628
10809
  }
10810
+ export const RENDER_LAYERS: {
10811
+ ALWAYS_ON_TOP: number;
10812
+ };
10629
10813
  /**
10630
10814
  * Duration of zoom in/out animation when double tapping with one finger or single tapping with two fingers.
10631
10815
  */
@@ -10778,8 +10962,8 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/watermark/system' {
10778
10962
  visible?: boolean;
10779
10963
  };
10780
10964
  export type WatermarkUpdateOptions = Omit<WatermarkOptions, 'onClick' | 'visible'> & {
10781
- /** Show the Mappedin watermark. Once it is visible it cannot be hidden again. */
10782
- visible?: true;
10965
+ /** Show the Mappedin watermark. */
10966
+ visible?: boolean;
10783
10967
  /** Set the interactivity of the watermark. */
10784
10968
  interactive?: boolean;
10785
10969
  };
@@ -11012,7 +11196,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/map-object' {
11012
11196
  import type { ParsedMVF } from '@mappedin/mvf-v2';
11013
11197
  import type { FeatureCollection, LineString, MultiPolygon, Polygon } from 'geojson';
11014
11198
  import { PubSub } from '@packages/internal/common';
11015
- import type { Position, AddLabelOptions, RendererCore, PathState, MarkerState, LineStyle, PaintStyle, EntityId } from '@mappedin/core-sdk';
11199
+ import type { Position, AddLabelOptions, RendererCore, PathState, MarkerState, LineStyle, PaintStyle, EntityId, Text3DState } from '@mappedin/core-sdk';
11016
11200
  import { FloorObject } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/floor-object';
11017
11201
  import type { Directions, Floor, TAddMarkerOptions, TAddPathOptions, TShow3DMapOptions } from '@mappedin/mappedin-js/mappedin-js/src';
11018
11202
  import type { GLTFExportOptions, TAnimationOptions, TAddModelOptions, TAddImageOptions, TDirectionInstruction, TAddText3DOptions, IAnchorable, TAddLabelOptions } from '@mappedin/mappedin-js/mappedin-js/src/types';
@@ -11024,7 +11208,6 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/map-object' {
11024
11208
  import { Space, Coordinate } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
11025
11209
  import { type GeoJsonApi } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/api';
11026
11210
  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
11211
  export class GeojsonApiMapObject extends PubSub<{
11029
11212
  'floor-change': {
11030
11213
  reason?: TFloorChangeReason;
@@ -11076,7 +11259,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/map-object' {
11076
11259
  Images: {
11077
11260
  add: (target: Position, url: string, opts: TAddImageOptions & {
11078
11261
  floorId?: string;
11079
- }) => EntityId<import("@mappedin/core-sdk/src/components/image").ImageState> | undefined;
11262
+ }) => EntityId<import("../../../geojson/src/components/image").ImageState> | undefined;
11080
11263
  remove: (id: string) => void;
11081
11264
  removeAll: () => void;
11082
11265
  };
@@ -12917,6 +13100,16 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/analytics/customer' {
12917
13100
  export {};
12918
13101
  }
12919
13102
 
13103
+ declare module '@mappedin/mappedin-js/packages/common/types' {
13104
+ type Primitive = string | number | boolean | null | undefined;
13105
+ export type PartialExcept<T, K extends string> = {
13106
+ [P in keyof T as P extends K ? P : never]: T[P];
13107
+ } & {
13108
+ [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>;
13109
+ };
13110
+ export {};
13111
+ }
13112
+
12920
13113
  declare module '@mappedin/mappedin-js/packages/mvf-utils/tokens/access-token' {
12921
13114
  import { type TGetMapDataWithCredentialsOptions } from '@mappedin/mappedin-js/packages/mvf-utils/mvf-utils';
12922
13115
  export const ACCESS_TOKEN_REFRESH_BUFFER_MINUTES = 60;
@@ -13209,10 +13402,6 @@ declare module '@mappedin/mappedin-js/geojson/src/entities/geometry3d' {
13209
13402
  type: 'b';
13210
13403
  value: boolean;
13211
13404
  };
13212
- flattenFactor: {
13213
- type: 'f';
13214
- value: number;
13215
- };
13216
13405
  showPulse: {
13217
13406
  type: 'b';
13218
13407
  value: boolean;
@@ -13221,6 +13410,10 @@ declare module '@mappedin/mappedin-js/geojson/src/entities/geometry3d' {
13221
13410
  type: 'f';
13222
13411
  value: number;
13223
13412
  };
13413
+ dashed: {
13414
+ type: 'b';
13415
+ value: boolean;
13416
+ };
13224
13417
  }
13225
13418
  export {};
13226
13419
  }
@@ -13245,16 +13438,18 @@ declare module '@mappedin/mappedin-js/geojson/src/entities/geometry2d' {
13245
13438
  /** The geometry3D that this 2D entity is attached to */
13246
13439
  get attachedTo(): string | number | undefined;
13247
13440
  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
13441
  occluderId?: number;
13253
13442
  object3d: Geometry2DObject3D;
13254
13443
  components: [MarkerComponent | LabelComponent, InteractionComponent?];
13255
13444
  disposed: boolean;
13256
13445
  constructor(ui: MarkerComponent | LabelComponent, position: Vector3, verticalOffset?: number);
13257
13446
  get position(): Vector3;
13447
+ /**
13448
+ * When the position of the entity changes, this should be set to true, so that systems like pan bounds can update
13449
+ */
13450
+ get positionDirty(): boolean;
13451
+ set positionDirty(value: boolean);
13452
+ updatePosition(position: Vector3): void;
13258
13453
  setAltitude(z: number): void;
13259
13454
  }
13260
13455
  }
@@ -13514,6 +13709,7 @@ declare module '@mappedin/mappedin-js/geojson/src/types/options' {
13514
13709
  map?: MapLibreMap;
13515
13710
  mode?: 'standalone' | 'outdoors-interleaved' | 'outdoors-overlay';
13516
13711
  antialias?: boolean;
13712
+ useStandaloneCamera?: boolean;
13517
13713
  onWebGLRendererError?: (error: Error) => void;
13518
13714
  onWebGLContextCreationError?: (event: Event) => void;
13519
13715
  onWebGLContextLost?: (event: Event) => void;
@@ -13803,9 +13999,9 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/2d-draw/system' {
13803
13999
  };
13804
14000
  textToCanvas: (textDrawFn: (ctx: CanvasRenderingContext2D, x: number, y: number) => void, size: number, textAlign: TEXTALIGN, width: number, height: number, foregroundColor: string, backgroundColor: string) => any;
13805
14001
  cacheImage: (label: LabelComponent) => void;
13806
- createPinCanvas: (label: LabelComponent, markerSize: number, backgroundColor: string, foregroundColor: string) => HTMLCanvasElement | OffscreenCanvas;
14002
+ createPinCanvas: (label: LabelComponent, markerSize: number, backgroundColor: string, foregroundColor: string, maxIconScale?: number) => HTMLCanvasElement | OffscreenCanvas;
13807
14003
  prepare: (label: LabelComponent, labelCacheId: string, context: CanvasRenderingContext2D) => void;
13808
- draw(label: LabelComponent, labelCacheId: string, context: CanvasRenderingContext2D): void;
14004
+ draw(label: LabelComponent, labelCacheId: string, context: CanvasRenderingContext2D, zoomLevel: number): void;
13809
14005
  }
13810
14006
  export {};
13811
14007
  }
@@ -14127,7 +14323,7 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/outline-interpolation/
14127
14323
  * @param zoomLevel - The current zoom level.
14128
14324
  * @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
14325
  */
14130
- update(zoomLevel: number, isCameraZoomDirty?: boolean): null | undefined;
14326
+ update(zoomLevel: number, isCameraZoomDirty?: boolean): void;
14131
14327
  destroy(): void;
14132
14328
  }
14133
14329
  }
@@ -23495,6 +23691,7 @@ declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/navigator'
23495
23691
 
23496
23692
  declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/navigator/navigator' {
23497
23693
  import type { Position, Feature, MultiPolygon, Polygon } from 'geojson';
23694
+ import { Edge } from '@mappedin/mappedin-js/packages/geojson-navigator/src/edge';
23498
23695
  import { NavigationGraph } from '@mappedin/mappedin-js/packages/geojson-navigator/src/navigation-graph';
23499
23696
  import type { NodeCollection } from '@mappedin/mappedin-js/packages/geojson-navigator/src/types/node';
23500
23697
  import type { ObstructionCollection } from '@mappedin/mappedin-js/packages/geojson-navigator/src/types/obstruction';
@@ -23556,7 +23753,7 @@ declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/navigator/n
23556
23753
  * @param {SimplifyDirectionsOptions} [simplify] - Options to simplify the pathfinding result.
23557
23754
  * @returns {DirectionsCollection} A collection of directional features representing the path.
23558
23755
  */
23559
- getDirections({ zones: directionsZones, originIds, destinationNodeIds, excludedNodeIds, disabledConnectionNodeIds, simplify, multiplicativeDistanceWeightScaling, }: {
23756
+ getDirections({ zones: directionsZones, originIds, destinationNodeIds, excludedNodeIds, disabledConnectionNodeIds, simplify, multiplicativeDistanceWeightScaling, overrideEdgeWeights, }: {
23560
23757
  originIds: string[];
23561
23758
  destinationNodeIds: string[];
23562
23759
  zones?: DirectionsZone[];
@@ -23564,6 +23761,7 @@ declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/navigator/n
23564
23761
  disabledConnectionNodeIds?: string[];
23565
23762
  simplify?: SimplifyDirectionsOptions;
23566
23763
  multiplicativeDistanceWeightScaling?: boolean;
23764
+ overrideEdgeWeights?: Map<Edge, number>;
23567
23765
  }): DirectionsCollection;
23568
23766
  /**
23569
23767
  * Calculates the approximate distance between two geographic coordinates on Earth's surface.
@@ -27278,6 +27476,10 @@ declare module '@mappedin/mappedin-js/packages/outdoor-context-v4/ui/handler/tap
27278
27476
  }
27279
27477
  }
27280
27478
 
27479
+ declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/edge' {
27480
+ export * from '@mappedin/mappedin-js/packages/geojson-navigator/src/edge/edge';
27481
+ }
27482
+
27281
27483
  declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/navigation-graph' {
27282
27484
  export * from '@mappedin/mappedin-js/packages/geojson-navigator/src/navigation-graph/navigation-graph';
27283
27485
  }
@@ -27294,10 +27496,6 @@ declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/types/space
27294
27496
  export { SpaceCollection, SpaceProperties };
27295
27497
  }
27296
27498
 
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
27499
  declare module '@mappedin/mappedin-js/geojson/src/systems/camera/helpers/input-set' {
27302
27500
  import type { Vector2 } from 'three';
27303
27501
  class InputSet {
@@ -29958,6 +30156,42 @@ declare module '@mappedin/mappedin-js/packages/outdoor-context-v4/source/terrain
29958
30156
  }
29959
30157
  }
29960
30158
 
30159
+ declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/edge/edge' {
30160
+ import type { NodeFeature } from '@mappedin/mappedin-js/packages/geojson-navigator/src/types/node';
30161
+ /**
30162
+ * Represents an edge in a graph, containing data about its endpoints and metrics like distance and angle.
30163
+ * @hidden
30164
+ */
30165
+ export class Edge {
30166
+ /** The originating node of the edge */
30167
+ origin: NodeFeature;
30168
+ /** The destination node of the edge */
30169
+ destination: NodeFeature;
30170
+ /** The distance between the origin and the destination nodes */
30171
+ distance: number;
30172
+ /** The angle of the edge with respect to some reference, in degrees */
30173
+ angle: number;
30174
+ /** A composite weight of the edge, combining distance and a custom path weight */
30175
+ weight: number;
30176
+ /**
30177
+ * Constructs a new Edge instance.
30178
+ * @param {NodeFeature} origin - The originating node of the edge.
30179
+ * @param {NodeFeature} destination - The destination node of the edge.
30180
+ * @param {number} [distance=0] - The physical distance between the origin and destination.
30181
+ * @param {number} [angle=0] - The angle of the edge in degrees.
30182
+ * @param {number} [pathWeight=0] - An additional weight factor for the path.
30183
+ */
30184
+ constructor({ origin, destination, distance, angle, pathWeight, multiplicativeDistanceWeightScaling, }: {
30185
+ origin: NodeFeature;
30186
+ destination: NodeFeature;
30187
+ distance?: number;
30188
+ angle?: number;
30189
+ pathWeight?: number;
30190
+ multiplicativeDistanceWeightScaling?: boolean;
30191
+ });
30192
+ }
30193
+ }
30194
+
29961
30195
  declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/navigation-graph/navigation-graph' {
29962
30196
  import { Edge } from '@mappedin/mappedin-js/packages/geojson-navigator/src/edge';
29963
30197
  import type { NodeCollection, NodeFeature } from '@mappedin/mappedin-js/packages/geojson-navigator/src/types/node';
@@ -29998,52 +30232,17 @@ declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/navigation-
29998
30232
  * @param {Set<string>} [disabledConnectionNodeIds] - Optional set of connection node IDs that are disabled (ie. act as regular nodes).
29999
30233
  * @returns {Edge[]} An array of edges representing the shortest path, or an empty array if no path is found.
30000
30234
  */
30001
- aStar({ originIds, destinationNodeIds, excludedNodeIds, disabledConnectionNodeIds, zones, }: {
30235
+ aStar({ originIds, destinationNodeIds, excludedNodeIds, disabledConnectionNodeIds, zones, overrideEdgeWeights, }: {
30002
30236
  originIds: string[];
30003
30237
  destinationNodeIds: string[];
30004
30238
  zones: DirectionsZone[];
30005
30239
  excludedNodeIds?: Set<string>;
30006
30240
  disabledConnectionNodeIds?: Set<string>;
30241
+ overrideEdgeWeights?: Map<Edge, number>;
30007
30242
  }): Edge[];
30008
30243
  }
30009
30244
  }
30010
30245
 
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
30246
  declare module '@mappedin/mappedin-js/packages/outdoor-context-v4/data/feature_position_map' {
30048
30247
  type SerializedFeaturePositionMap = {
30049
30248
  ids: Float64Array;