@mappedin/react-sdk 6.0.1-beta.38 → 6.0.1-beta.39

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.
@@ -654,7 +654,7 @@ declare module '@mappedin/react-sdk/react-sdk/src/Model' {
654
654
  import type { TupleToObjectWithPropNames } from '@mappedin/react-sdk/react-sdk/src/type-utils';
655
655
  import type Mappedin from '@mappedin/react-sdk/react-sdk/src';
656
656
  type ParamsArray = Parameters<Mappedin.MapView['Models']['add']>;
657
- type StreamAgentParameterNames = ['models', 'options'];
657
+ type StreamAgentParameterNames = ['target', 'url', 'options'];
658
658
  /**
659
659
  * @interface
660
660
  */
@@ -2085,8 +2085,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
2085
2085
  import type { Coordinate, Floor, Door, Space, MapObject, PointOfInterest, Connection, EnterpriseLocation, Node, Area, Facade, FloorStack, Annotation, EnterpriseCategory, EnterpriseVenue, LocationCategory, LocationProfile } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
2086
2086
  import type { Label, Marker, Model, Image, Shape, Text3D, Path } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
2087
2087
  import type { Language, ParsedMVFLocalePack } from '@mappedin/mvf';
2088
- import type { InsetPaddingOption, UpdatableText3DState, Text3DState, AddText3DOptions, EnvMapOptions, InitializeModelState, ModelState, UpdateModelState, ImagePlacementOptions, LabelAppearance } from '@mappedin/react-sdk/geojson/src';
2089
- import { PathSegment } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects/path';
2088
+ import type { InsetPaddingOption, UpdatableText3DState, Text3DState, AddText3DOptions, EnvMapOptions, InitializeModelState, ModelState, UpdateModelState as GeoJsonUpdateModelState, ImagePlacementOptions, LabelAppearance } from '@mappedin/react-sdk/geojson/src';
2089
+ import type { PathSegment } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects/path';
2090
+ export type UpdateModelState = Omit<GeoJsonUpdateModelState, 'position' | 'scale'> & {
2091
+ position?: Coordinate;
2092
+ scale?: number | [number, number, number];
2093
+ };
2090
2094
  export type DeepRequired<T> = Required<{
2091
2095
  [K in keyof T]: T[K] extends Required<T[K]> ? T[K] : DeepRequired<T[K]>;
2092
2096
  }>;
@@ -2171,11 +2175,13 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
2171
2175
  type: 'label';
2172
2176
  };
2173
2177
  /**
2174
- * Defines the state for a model when its appearance is updated.
2178
+ * Defines the state for a model
2175
2179
  */
2176
2180
  export type TModelState = {
2177
2181
  type: 'model';
2178
- } & ModelState;
2182
+ } & Omit<ModelState, 'position' | 'parent'> & {
2183
+ position: Coordinate;
2184
+ };
2179
2185
  /**
2180
2186
  * Defines the state for an image when its appearance is updated.
2181
2187
  */
@@ -2713,10 +2719,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
2713
2719
  */
2714
2720
  rotation?: [number, number, number];
2715
2721
  /**
2716
- * Optional. Determines the scale of the model.
2722
+ * Optional. Determines the scale of the model. Can be a single number to scale uniformly in all dimensions,
2723
+ * or an array of three numbers [x, y, z] to scale differently in each dimension.
2717
2724
  * @default [1, 1, 1]
2718
2725
  */
2719
- scale?: [number, number, number];
2726
+ scale?: number | [number, number, number];
2720
2727
  /**
2721
2728
  * Whether the Model should be clickable
2722
2729
  * @default false
@@ -2730,7 +2737,9 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
2730
2737
  /**
2731
2738
  * Options for controlling the behavior of a {@link Model}.
2732
2739
  */
2733
- export type TAddModelOptions = Omit<InitializeModelState, 'verticalOffset'>;
2740
+ export type TAddModelOptions = Omit<InitializeModelState, 'scale'> & {
2741
+ scale?: number | [number, number, number];
2742
+ };
2734
2743
  /**
2735
2744
  * @interface
2736
2745
  */
@@ -3640,6 +3649,10 @@ declare module '@mappedin/react-sdk/mappedin-js/src/navigation' {
3640
3649
  * Sets the active path by directions.
3641
3650
  */
3642
3651
  setActivePathByDirections(target: Directions): void;
3652
+ /**
3653
+ * @internal
3654
+ */
3655
+ drawSync(directions: Directions | Directions[], options?: TNavigationOptions): void;
3643
3656
  /**
3644
3657
  * Draws the specified directions on the map.
3645
3658
  * @param directions The directions to be drawn.
@@ -3725,6 +3738,7 @@ declare module '@mappedin/react-sdk/react-sdk/src' {
3725
3738
  declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/directions' {
3726
3739
  import type { ParsedMVF } from '@mappedin/mvf';
3727
3740
  import type { DirectionsCollection } from '@packages/internal/geojson-navigator';
3741
+ import { Navigator } from '@packages/internal/geojson-navigator';
3728
3742
  import { Connection, Coordinate, Node, type MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
3729
3743
  import type { TDirectionInstruction, TDirectionZone, TNavigationTarget } from '@mappedin/react-sdk/mappedin-js/src/types';
3730
3744
  /**
@@ -3765,6 +3779,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/directions' {
3765
3779
  get instructions(): TDirectionInstruction[];
3766
3780
  }
3767
3781
  export class DirectionsInternal {
3782
+ navigator: Navigator;
3768
3783
  /**
3769
3784
  * @hidden
3770
3785
  */
@@ -4988,7 +5003,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/annotation'
4988
5003
  }
4989
5004
 
4990
5005
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/hyperlink' {
4991
- import type { Hyperlink as MVFHyperlink } from '@mappedin/mvf';
5006
+ import type { LocationLink, Hyperlink as MVFHyperlink } from '@mappedin/mvf';
4992
5007
  import BaseMetaData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-metadata-object';
4993
5008
  /**
4994
5009
  * A class representing hyperlink link data within the map.
@@ -5010,7 +5025,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/hyperlink'
5010
5025
  * @internal
5011
5026
  */
5012
5027
  constructor(options: {
5013
- mvfData: MVFHyperlink;
5028
+ mvfData: MVFHyperlink | LocationLink;
5014
5029
  });
5015
5030
  /**
5016
5031
  * Gets the url of the hyperlink.
@@ -5327,7 +5342,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/utils/data-creation' {
5327
5342
  locationProfilesByCategoryId: Record<string, LocationProfile[]>;
5328
5343
  locationProfilesByAttachedFeatureId: Record<string, LocationProfile[]>;
5329
5344
  };
5330
- export const processMVFSpaces: (mvf: ParsedMVF, data: MapDataInternal) => Pick<MapDataRecords, "spacesById" | "spacesByExternalId" | "spaceIdsByDestinationNodeId" | "poisById" | "poisByExternalId" | "mvfSpacesById" | "objectEntranceNodeIdsByObstructionId" | "connectionsById" | "connectionIdsByLatLon" | "mvfSpacesByFloorId" | "mvfPoisByFloorId">;
5345
+ export const processMVFSpaces: (mvf: ParsedMVF, mvfConnectionsByNodeId: MapDataRecords["mvfConnectionsByNodeId"], data: MapDataInternal) => Pick<MapDataRecords, "spacesById" | "spacesByExternalId" | "spaceIdsByDestinationNodeId" | "poisById" | "poisByExternalId" | "mvfSpacesById" | "objectEntranceNodeIdsByObstructionId" | "connectionsById" | "connectionIdsByLatLon" | "mvfSpacesByFloorId" | "mvfPoisByFloorId">;
5331
5346
  export const processMVFNodes: (mvf: ParsedMVF, data: MapDataInternal) => Pick<MapDataRecords, "nodesById" | "nodesByExternalId" | "mvfNodesById" | "mvfNodesByFloorId">;
5332
5347
  export const processMVFObstructions: (mvf: ParsedMVF, data: MapDataInternal) => Pick<MapDataRecords, "objectsById" | "objectsByExternalId" | "mvfObstructionById" | "obstructionIdByEntranceId">;
5333
5348
  export const processMVFFloors: (mvf: ParsedMVF, data: MapDataInternal) => Pick<MapDataRecords, "floorsById" | "floorsByExternalId" | "mvfFloorsById">;
@@ -6999,6 +7014,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
6999
7014
  text: string;
7000
7015
  style: TStyle;
7001
7016
  projection: Vector2;
7017
+ labelCacheId?: string;
7002
7018
  _cache: {};
7003
7019
  appearance: LabelAppearanceFillenIn;
7004
7020
  options: LabelOptions;
@@ -7879,7 +7895,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/model' {
7879
7895
  /**
7880
7896
  * The parent container of the marker
7881
7897
  */
7882
- readonly parent: EntityId<GeometryGroupState> | string | number;
7898
+ readonly parent?: EntityId<GeometryGroupState> | string | number;
7883
7899
  /**
7884
7900
  * The position of the model in [lon, lat]
7885
7901
  */
@@ -7893,17 +7909,19 @@ declare module '@mappedin/react-sdk/geojson/src/components/model' {
7893
7909
  * ```
7894
7910
  */
7895
7911
  interactive: boolean;
7896
- } & Partial<ModelStyle>;
7912
+ } & Partial<Omit<ModelStyle, 'rotation' | 'scale'>> & Pick<ModelStyle, 'rotation' | 'scale'>;
7897
7913
  /**
7898
7914
  * initialize model state
7899
7915
  * @interface
7900
7916
  */
7901
- export type InitializeModelState = Omit<Partial<Omit<ModelState, 'url'> & Pick<ModelStyle, 'url'>>, 'id' | 'type' | 'parent' | 'position'>;
7917
+ export type InitializeModelState = Omit<Partial<ModelState>, 'id' | 'type' | 'parent' | 'position'>;
7902
7918
  /**
7903
7919
  * updatable model state
7904
7920
  * @interface
7905
7921
  */
7906
- export type UpdateModelState = Omit<InitializeModelState, 'url'>;
7922
+ export type UpdateModelState = Omit<InitializeModelState, 'url'> & {
7923
+ position?: Position;
7924
+ };
7907
7925
  export const modelPropertiesSchema: z.ZodObject<{
7908
7926
  rotation: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
7909
7927
  altitude: z.ZodOptional<z.ZodNumber>;
@@ -7914,17 +7932,17 @@ declare module '@mappedin/react-sdk/geojson/src/components/model' {
7914
7932
  }, "strip", z.ZodTypeAny, {
7915
7933
  altitude?: number | undefined;
7916
7934
  verticalOffset?: number | undefined;
7917
- id?: string | number | undefined;
7918
- interactive?: boolean | undefined;
7919
7935
  rotation?: number[] | undefined;
7920
7936
  scale?: number[] | undefined;
7937
+ id?: string | number | undefined;
7938
+ interactive?: boolean | undefined;
7921
7939
  }, {
7922
7940
  altitude?: number | undefined;
7923
7941
  verticalOffset?: number | undefined;
7924
- id?: string | number | undefined;
7925
- interactive?: boolean | undefined;
7926
7942
  rotation?: number[] | undefined;
7927
7943
  scale?: number[] | undefined;
7944
+ id?: string | number | undefined;
7945
+ interactive?: boolean | undefined;
7928
7946
  }>;
7929
7947
  export const featureSchema: z.ZodObject<{
7930
7948
  type: z.ZodEnum<["Feature"]>;
@@ -7948,17 +7966,17 @@ declare module '@mappedin/react-sdk/geojson/src/components/model' {
7948
7966
  }, "strip", z.ZodTypeAny, {
7949
7967
  altitude?: number | undefined;
7950
7968
  verticalOffset?: number | undefined;
7951
- id?: string | number | undefined;
7952
- interactive?: boolean | undefined;
7953
7969
  rotation?: number[] | undefined;
7954
7970
  scale?: number[] | undefined;
7971
+ id?: string | number | undefined;
7972
+ interactive?: boolean | undefined;
7955
7973
  }, {
7956
7974
  altitude?: number | undefined;
7957
7975
  verticalOffset?: number | undefined;
7958
- id?: string | number | undefined;
7959
- interactive?: boolean | undefined;
7960
7976
  rotation?: number[] | undefined;
7961
7977
  scale?: number[] | undefined;
7978
+ id?: string | number | undefined;
7979
+ interactive?: boolean | undefined;
7962
7980
  }>;
7963
7981
  }, "strip", z.ZodTypeAny, {
7964
7982
  type: "Feature";
@@ -7969,10 +7987,10 @@ declare module '@mappedin/react-sdk/geojson/src/components/model' {
7969
7987
  properties: {
7970
7988
  altitude?: number | undefined;
7971
7989
  verticalOffset?: number | undefined;
7972
- id?: string | number | undefined;
7973
- interactive?: boolean | undefined;
7974
7990
  rotation?: number[] | undefined;
7975
7991
  scale?: number[] | undefined;
7992
+ id?: string | number | undefined;
7993
+ interactive?: boolean | undefined;
7976
7994
  };
7977
7995
  }, {
7978
7996
  type: "Feature";
@@ -7983,10 +8001,10 @@ declare module '@mappedin/react-sdk/geojson/src/components/model' {
7983
8001
  properties: {
7984
8002
  altitude?: number | undefined;
7985
8003
  verticalOffset?: number | undefined;
7986
- id?: string | number | undefined;
7987
- interactive?: boolean | undefined;
7988
8004
  rotation?: number[] | undefined;
7989
8005
  scale?: number[] | undefined;
8006
+ id?: string | number | undefined;
8007
+ interactive?: boolean | undefined;
7990
8008
  };
7991
8009
  }>;
7992
8010
  export const addModelFeatureSchema: z.ZodObject<{
@@ -8013,17 +8031,17 @@ declare module '@mappedin/react-sdk/geojson/src/components/model' {
8013
8031
  }, "strip", z.ZodTypeAny, {
8014
8032
  altitude?: number | undefined;
8015
8033
  verticalOffset?: number | undefined;
8016
- id?: string | number | undefined;
8017
- interactive?: boolean | undefined;
8018
8034
  rotation?: number[] | undefined;
8019
8035
  scale?: number[] | undefined;
8036
+ id?: string | number | undefined;
8037
+ interactive?: boolean | undefined;
8020
8038
  }, {
8021
8039
  altitude?: number | undefined;
8022
8040
  verticalOffset?: number | undefined;
8023
- id?: string | number | undefined;
8024
- interactive?: boolean | undefined;
8025
8041
  rotation?: number[] | undefined;
8026
8042
  scale?: number[] | undefined;
8043
+ id?: string | number | undefined;
8044
+ interactive?: boolean | undefined;
8027
8045
  }>;
8028
8046
  }, "strip", z.ZodTypeAny, {
8029
8047
  type: "Feature";
@@ -8034,10 +8052,10 @@ declare module '@mappedin/react-sdk/geojson/src/components/model' {
8034
8052
  properties: {
8035
8053
  altitude?: number | undefined;
8036
8054
  verticalOffset?: number | undefined;
8037
- id?: string | number | undefined;
8038
- interactive?: boolean | undefined;
8039
8055
  rotation?: number[] | undefined;
8040
8056
  scale?: number[] | undefined;
8057
+ id?: string | number | undefined;
8058
+ interactive?: boolean | undefined;
8041
8059
  };
8042
8060
  }, {
8043
8061
  type: "Feature";
@@ -8048,10 +8066,10 @@ declare module '@mappedin/react-sdk/geojson/src/components/model' {
8048
8066
  properties: {
8049
8067
  altitude?: number | undefined;
8050
8068
  verticalOffset?: number | undefined;
8051
- id?: string | number | undefined;
8052
- interactive?: boolean | undefined;
8053
8069
  rotation?: number[] | undefined;
8054
8070
  scale?: number[] | undefined;
8071
+ id?: string | number | undefined;
8072
+ interactive?: boolean | undefined;
8055
8073
  };
8056
8074
  }>, "many">;
8057
8075
  }, "strip", z.ZodTypeAny, {
@@ -8065,10 +8083,10 @@ declare module '@mappedin/react-sdk/geojson/src/components/model' {
8065
8083
  properties: {
8066
8084
  altitude?: number | undefined;
8067
8085
  verticalOffset?: number | undefined;
8068
- id?: string | number | undefined;
8069
- interactive?: boolean | undefined;
8070
8086
  rotation?: number[] | undefined;
8071
8087
  scale?: number[] | undefined;
8088
+ id?: string | number | undefined;
8089
+ interactive?: boolean | undefined;
8072
8090
  };
8073
8091
  }[];
8074
8092
  }, {
@@ -8082,10 +8100,10 @@ declare module '@mappedin/react-sdk/geojson/src/components/model' {
8082
8100
  properties: {
8083
8101
  altitude?: number | undefined;
8084
8102
  verticalOffset?: number | undefined;
8085
- id?: string | number | undefined;
8086
- interactive?: boolean | undefined;
8087
8103
  rotation?: number[] | undefined;
8088
8104
  scale?: number[] | undefined;
8105
+ id?: string | number | undefined;
8106
+ interactive?: boolean | undefined;
8089
8107
  };
8090
8108
  }[];
8091
8109
  }>;
@@ -8120,6 +8138,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/model' {
8120
8138
  #private;
8121
8139
  mesh?: Geometry3DObject3D | Group;
8122
8140
  readonly type = "model";
8141
+ positionDirty: boolean;
8123
8142
  outline?: LineSegments;
8124
8143
  geometry?: Object3D;
8125
8144
  material?: BatchedStandardMaterial;
@@ -8133,6 +8152,10 @@ declare module '@mappedin/react-sdk/geojson/src/components/model' {
8133
8152
  position: Vector3;
8134
8153
  get altitude(): number;
8135
8154
  set altitude(value: number);
8155
+ getRotation(): number[] | undefined;
8156
+ setRotation(value: [number, number, number]): void;
8157
+ getScale(): number[] | undefined;
8158
+ setScale(value: [number, number, number]): void;
8136
8159
  get opacity(): number;
8137
8160
  set opacity(value: number);
8138
8161
  }
@@ -9505,6 +9528,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/styles' {
9505
9528
  export { StyleComponent, DEFAULT_COLOR, type MaterialSide } from '@mappedin/react-sdk/geojson/src/components/styles/style';
9506
9529
  export { Text3DStyleComponent, type Text3DStyle, DEFAULT_TEXT_STYLE } from '@mappedin/react-sdk/geojson/src/components/styles/text-style';
9507
9530
  export { ModelStyleComponnet, type ModelStyle } from '@mappedin/react-sdk/geojson/src/components/styles/model-style';
9531
+ export { DEFAULT_ROTATION, DEFAULT_SCALE } from '@mappedin/react-sdk/geojson/src/components/styles/constants';
9508
9532
  }
9509
9533
 
9510
9534
  declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/api' {
@@ -9604,13 +9628,13 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object' {
9604
9628
  import type { Position, AddLabelOptions, RendererCore, PathState, MarkerState, LineStyle, PaintStyle, EntityId } from '@mappedin/core-sdk';
9605
9629
  import { FloorObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-object';
9606
9630
  import type { Directions, Floor, TAddMarkerOptions, TAddPathOptions, TShow3DMapOptions } from '@mappedin/react-sdk/mappedin-js/src';
9607
- import type { GLTFExportOptions, TAnimationOptions, TAddModelOptions, TAddModel, TAddImageOptions, TDirectionInstruction, TAddText3DOptions, IAnchorable, TAddLabelOptions } from '@mappedin/react-sdk/mappedin-js/src/types';
9631
+ import type { GLTFExportOptions, TAnimationOptions, TAddModelOptions, TAddImageOptions, TDirectionInstruction, TAddText3DOptions, IAnchorable, TAddLabelOptions } from '@mappedin/react-sdk/mappedin-js/src/types';
9608
9632
  import { type AggregatedStyleMap } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/utils';
9609
9633
  import { StackedMaps } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/stacked-maps/stacked-maps';
9610
9634
  import type { TFloorChangeReason } from '@mappedin/react-sdk/mappedin-js/src/events';
9611
9635
  import type { Path, Shape, Label } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
9612
- import { Space } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
9613
- import { Coordinate, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
9636
+ import type { MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
9637
+ import { Space, Coordinate } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
9614
9638
  import { type GeoJsonApi } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/api';
9615
9639
  import { FloorStackObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-stack-object';
9616
9640
  import { DynamicFocus } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/dynamic-focus';
@@ -9659,7 +9683,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object' {
9659
9683
  processFloorChange(floorId: string): void;
9660
9684
  setFloor(floorId: string, reason?: TFloorChangeReason): void;
9661
9685
  Models: {
9662
- add: (id: string, targets: TAddModel[], opts: TAddModelOptions & {
9686
+ add: (id: string, targets: Coordinate[], opts: TAddModelOptions & {
9663
9687
  floorId?: string;
9664
9688
  }) => (import("@mappedin/core-sdk").GeometryState | import("@mappedin/core-sdk").ModelState)[];
9665
9689
  remove: (_id: string, _groupId: string) => void;
@@ -9869,6 +9893,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects/image' {
9869
9893
  }
9870
9894
 
9871
9895
  declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects/model' {
9896
+ import { IAnchorable } from '@mappedin/react-sdk/mappedin-js/src/types';
9872
9897
  /**
9873
9898
  * Class representing a 3D model on the {@link MapView}.
9874
9899
  *
@@ -9885,6 +9910,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects/model' {
9885
9910
  * Refer to the [3D Models Guide](https://developer.mappedin.com/web-sdk/3d-models) for more information and interactive examples.
9886
9911
  */
9887
9912
  export class Model {
9913
+ #private;
9888
9914
  /**
9889
9915
  * The model's id
9890
9916
  */
@@ -9901,6 +9927,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects/model' {
9901
9927
  * @internal
9902
9928
  */
9903
9929
  readonly __type = "Model";
9930
+ get target(): IAnchorable;
9904
9931
  /**
9905
9932
  * Checks if the provided instance is of type Model
9906
9933
  *
@@ -9911,7 +9938,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects/model' {
9911
9938
  /**
9912
9939
  * @internal
9913
9940
  */
9914
- constructor(id: string, groupId: string);
9941
+ constructor(id: string, groupId: string, target: IAnchorable);
9942
+ /**
9943
+ * @internal
9944
+ */
9945
+ updateTarget(target: IAnchorable): void;
9915
9946
  }
9916
9947
  }
9917
9948
 
@@ -10321,15 +10352,16 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/markers' {
10321
10352
  }
10322
10353
 
10323
10354
  declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/models' {
10324
- import type { TAddModelOptions, TAddModel } from '@mappedin/react-sdk/mappedin-js/src/types';
10355
+ import type { TAddModelOptions } from '@mappedin/react-sdk/mappedin-js/src/types';
10325
10356
  import { Model } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
10326
10357
  import type { CurrentMapGetter } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/types';
10358
+ import type { Coordinate } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
10327
10359
  /**
10328
10360
  * Adding 3D models to a map can be a great way to represent landmarks to help users find key locations. They could also be used to show the location of assets or represent furniture to provide a rich indoor layout.
10329
10361
 
10330
10362
  * Mappedin JS supports models in Graphics Library Transmission Format (GLTF) and GL Transmission Format Binary (GLB) format. Models with nested meshes are not supported and should not be used.
10331
10363
  *
10332
- * 3D Models can be added to a {@link Coordinate}, {@link Door} or {@link Space}.
10364
+ * 3D Models can be added to a {@link Coordinate}.
10333
10365
  * When adding the same model to multiple locations at the same time always use an array instead of calling the add method multiple times.
10334
10366
  * This allows the SDK to re-use the same instance of the model to reduce RAM usage and rendering time, resulting in better performance.
10335
10367
  *
@@ -10358,20 +10390,28 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/models' {
10358
10390
  groupId: string;
10359
10391
  } | undefined;
10360
10392
  /**
10361
- * Adds a model to the map.
10393
+ * Adds a 3D model to the map at the specified coordinate.
10362
10394
  *
10363
- * @param models The model or models to add to the map.
10364
- * @param options Optional additional options for the {@link Model}.
10365
- * @returns {Model | undefined} The created {@link Model}, or undefined if creation failed.
10395
+ * @param coordinate - The {@link Coordinate} where the model will be placed.
10396
+ * @param url - The URL to the GLTF or GLB model file or a inline base64 encoded 3D asset from the {@link https://mappedin.com/3d-assets|Mappedin 3D Assets} library.
10397
+ * @param options - Configuration options for the model using {@link TAddModelOptions}.
10398
+ * @returns A {@link Model} instance representing the added 3D model.
10366
10399
  * @example
10367
- * // Add a {@link Model} to the map.
10368
- * mapView.Models.add(coordinate);
10400
+ * ```ts
10401
+ * // Add a model to a coordinate
10402
+ * import { truck } from '@mappedin/3d-assets';
10403
+ * const model = mapView.Models.add(coordinate, truck, {
10404
+ * scale: [0.5, 0.5, 0.5],
10405
+ * rotation: [0, 90, 0],
10406
+ * interactive: true
10407
+ * });
10408
+ * ```
10369
10409
  */
10370
- add(models: TAddModel, options: TAddModelOptions): Model;
10410
+ add(coordinate: Coordinate, url: string, options: TAddModelOptions): Model;
10371
10411
  /**
10372
10412
  * Removes a model from the map.
10373
10413
  *
10374
- * @param model {Model} The {@link Model} which should be removed.
10414
+ * @param model - The {@link Model} instance which should be removed.
10375
10415
  * @example
10376
10416
  * mapView.Models.remove(model);
10377
10417
  */
@@ -10379,8 +10419,9 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/models' {
10379
10419
  /**
10380
10420
  * Remove all the models from the map.
10381
10421
  *
10422
+ * @returns An array of all removed {@link Model} instances.
10382
10423
  * @example
10383
- * mapView.Models.removeAll();
10424
+ * const removedModels = mapView.Models.removeAll();
10384
10425
  */
10385
10426
  removeAll(): Model[];
10386
10427
  }
@@ -10671,6 +10712,10 @@ declare module '@mappedin/react-sdk/mappedin-js/src/navigation/index' {
10671
10712
  * Sets the active path by directions.
10672
10713
  */
10673
10714
  setActivePathByDirections(target: Directions): void;
10715
+ /**
10716
+ * @internal
10717
+ */
10718
+ drawSync(directions: Directions | Directions[], options?: TNavigationOptions): void;
10674
10719
  /**
10675
10720
  * Draws the specified directions on the map.
10676
10721
  * @param directions The directions to be drawn.
@@ -12262,6 +12307,7 @@ declare module '@mappedin/react-sdk/geojson/src/systems/mesh-creation-and-optimi
12262
12307
  import type { ModelStyle } from '@mappedin/react-sdk/geojson/src/components/styles';
12263
12308
  export class MeshCreationAndOptimizationSystem extends PubSub<{
12264
12309
  'model-loaded': void;
12310
+ 'geometry-2d-added': void;
12265
12311
  }> {
12266
12312
  state: RendererState;
12267
12313
  convertTo3DMapPosition: any;
@@ -12366,15 +12412,17 @@ declare module '@mappedin/react-sdk/geojson/src/systems/draw/system' {
12366
12412
  import { PubSub } from '@packages/internal/common';
12367
12413
  import { MeshComponent } from '@mappedin/react-sdk/geojson/src/components/mesh';
12368
12414
  import type { StyleComponent } from '@mappedin/react-sdk/geojson/src/components/styles/style';
12369
- import type { RendererState } from '@mappedin/react-sdk/geojson/src/renderer';
12415
+ import type { Position, RendererState } from '@mappedin/react-sdk/geojson/src/renderer';
12370
12416
  import type { InteractionComponent } from '@mappedin/react-sdk/geojson/src/components/interaction';
12417
+ import type { Vector3 } from 'three';
12371
12418
  import type { GeometryGroupStyleComponent } from '@mappedin/react-sdk/geojson/src/components/geometry-group-style';
12372
12419
  export class DrawSystem extends PubSub<{
12373
12420
  'texture-loaded': void;
12374
12421
  }> {
12375
12422
  #private;
12376
12423
  state: RendererState;
12377
- constructor(state: RendererState);
12424
+ convertTo3DMapPosition: (position: Position) => Vector3;
12425
+ constructor(state: RendererState, convertTo3DMapPosition: (position: Position) => Vector3);
12378
12426
  processTextures(component: MeshComponent, styleComponent: StyleComponent | GeometryGroupStyleComponent, interactionComponent?: InteractionComponent): void;
12379
12427
  update(): void;
12380
12428
  destroy(): void;
@@ -12414,6 +12462,7 @@ declare module '@mappedin/react-sdk/geojson/src/systems/render/system' {
12414
12462
  'post-render': undefined;
12415
12463
  }> {
12416
12464
  constructor(renderer: Renderer, state: RendererState, mode: RendererCore['mode'], scene: Scene, cameraObject: PerspectiveCamera, viewCamera: Camera, systems: Systems);
12465
+ needs2DRecompute: boolean;
12417
12466
  twoDdirty: boolean;
12418
12467
  threeDdirty: boolean;
12419
12468
  update: (sync?: boolean) => Promise<any> | undefined;
@@ -13183,19 +13232,42 @@ declare module '@mappedin/react-sdk/geojson/src/components/styles/model-style' {
13183
13232
  * If both the `material` and `color` properties are provided, `material` property updates will take higher precedence than `color` property updates.
13184
13233
  */
13185
13234
  color: string;
13235
+ /**
13236
+ * The rotation of the model in degrees [x, y, z].
13237
+ * - x: Rotation around x-axis (pitch)
13238
+ * - y: Rotation around y-axis (yaw)
13239
+ * - z: Rotation around z-axis (roll), where z points up
13240
+ *
13241
+ * Rotations are applied in order: x, then y, then z.
13242
+ * 0 degrees means the model faces north (or the parent group's forward direction).
13243
+ * Positive rotations follow the right-hand rule.
13244
+ */
13245
+ rotation: [number, number, number];
13246
+ /**
13247
+ * The scale of the model in [x, y, z]
13248
+ */
13249
+ scale: [number, number, number];
13186
13250
  };
13187
13251
  export class ModelStyleComponnet implements Partial<ModelStyle> {
13188
13252
  dirty: boolean;
13189
13253
  visible: boolean;
13190
13254
  opacity: number;
13191
13255
  verticalOffset: number;
13256
+ interactive: boolean;
13192
13257
  color?: string;
13193
13258
  material?: ModelStyle['material'];
13259
+ rotation?: [number, number, number];
13260
+ scale?: [number, number, number];
13194
13261
  constructor(init?: Partial<ModelStyle>);
13195
13262
  }
13196
13263
  export {};
13197
13264
  }
13198
13265
 
13266
+ declare module '@mappedin/react-sdk/geojson/src/components/styles/constants' {
13267
+ export const DEFAULT_SCALE: number[];
13268
+ export const DEFAULT_ROTATION: number[];
13269
+ }
13270
+
13199
13271
  declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-object' {
13200
13272
  import type { Polygon, MultiPolygon, FloorProperties as MVFFloor, ParsedMVF, Feature } from '@mappedin/mvf';
13201
13273
  import type { RendererCore, BBox } from '@mappedin/core-sdk';
@@ -22009,6 +22081,7 @@ declare module '@mappedin/react-sdk/packages/geojson-navigator/src/navigator' {
22009
22081
 
22010
22082
  declare module '@mappedin/react-sdk/packages/geojson-navigator/src/navigator/navigator' {
22011
22083
  import type { Position, Feature, MultiPolygon, Polygon } from 'geojson';
22084
+ import { NavigationGraph } from '@mappedin/react-sdk/packages/geojson-navigator/src/navigation-graph';
22012
22085
  import type { NodeCollection } from '@mappedin/react-sdk/packages/geojson-navigator/src/types/node';
22013
22086
  import type { ObstructionCollection } from '@mappedin/react-sdk/packages/geojson-navigator/src/types/obstruction';
22014
22087
  import type { SpaceCollection } from '@mappedin/react-sdk/packages/geojson-navigator/src/types/space';
@@ -22043,6 +22116,7 @@ declare module '@mappedin/react-sdk/packages/geojson-navigator/src/navigator/nav
22043
22116
  [index: string]: any;
22044
22117
  };
22045
22118
  export class Navigator {
22119
+ graph: NavigationGraph;
22046
22120
  /**
22047
22121
  * Constructs a Navigator instance to manage pathfinding with optional obstructions and grouping features.
22048
22122
  *
@@ -25790,6 +25864,10 @@ declare module '@mappedin/react-sdk/packages/outdoor-context-v4/ui/handler/tap_z
25790
25864
  }
25791
25865
  }
25792
25866
 
25867
+ declare module '@mappedin/react-sdk/packages/geojson-navigator/src/navigation-graph' {
25868
+ export * from '@mappedin/react-sdk/packages/geojson-navigator/src/navigation-graph/navigation-graph';
25869
+ }
25870
+
25793
25871
  declare module '@mappedin/react-sdk/packages/geojson-navigator/src/types/space' {
25794
25872
  import type { LineString, Polygon, Point, Feature } from 'geojson';
25795
25873
  import type { SpaceProperties, SpaceCollection } from '@mappedin/mvf';
@@ -28466,6 +28544,56 @@ declare module '@mappedin/react-sdk/packages/outdoor-context-v4/source/terrain_s
28466
28544
  }
28467
28545
  }
28468
28546
 
28547
+ declare module '@mappedin/react-sdk/packages/geojson-navigator/src/navigation-graph/navigation-graph' {
28548
+ import { Edge } from '@mappedin/react-sdk/packages/geojson-navigator/src/edge';
28549
+ import type { NodeCollection, NodeFeature } from '@mappedin/react-sdk/packages/geojson-navigator/src/types/node';
28550
+ import type { DirectionsZone } from '@mappedin/react-sdk/packages/geojson-navigator/src/navigator';
28551
+ /**
28552
+ * Represents a navigation graph for pathfinding operations, holding nodes and edges with utilities to perform routing.
28553
+ * @see {@link https://mappedin.atlassian.net/wiki/spaces/SDK/pages/234487854/A+Search+Algorithm+in+Navigation+Graph}
28554
+ * @hidden
28555
+ */
28556
+ export class NavigationGraph {
28557
+ #private;
28558
+ readonly edges: {
28559
+ [propName: string]: Edge[];
28560
+ };
28561
+ readonly nodesById: {
28562
+ [propName: string]: NodeFeature;
28563
+ };
28564
+ readonly nodesByGroup: Map<string, NodeFeature[]>;
28565
+ constructor({ nodes, groupBy, multiplicativeDistanceWeightScaling, }: {
28566
+ nodes: NodeCollection;
28567
+ groupBy: string;
28568
+ multiplicativeDistanceWeightScaling?: boolean;
28569
+ });
28570
+ /**
28571
+ * Calculates the shortest Euclidean distance from the origin node to any of the destination nodes.
28572
+ *
28573
+ * @param {NodeFeature} origin - The origin node.
28574
+ * @param {NodeFeature[]} destinations - An array of destination nodes.
28575
+ * @returns {number} The shortest Euclidean distance.
28576
+ */
28577
+ getShortestEuclideanDistance(origin: NodeFeature, destinations: NodeFeature[]): number;
28578
+ /**
28579
+ * Performs A* pathfinding from specified origins to destinations, considering optional constraints like accessibility.
28580
+ *
28581
+ * @param {string[]} originIds - Array of origin node IDs.
28582
+ * @param {string[]} destinationNodeIds - Array of destination node IDs.
28583
+ * @param {Set<string>} [excludedNodeIds] - Optional set of node IDs to exclude from pathfinding.
28584
+ * @param {Set<string>} [disabledConnectionNodeIds] - Optional set of connection node IDs that are disabled (ie. act as regular nodes).
28585
+ * @returns {Edge[]} An array of edges representing the shortest path, or an empty array if no path is found.
28586
+ */
28587
+ aStar({ originIds, destinationNodeIds, excludedNodeIds, disabledConnectionNodeIds, zones, }: {
28588
+ originIds: string[];
28589
+ destinationNodeIds: string[];
28590
+ zones: DirectionsZone[];
28591
+ excludedNodeIds?: Set<string>;
28592
+ disabledConnectionNodeIds?: Set<string>;
28593
+ }): Edge[];
28594
+ }
28595
+ }
28596
+
28469
28597
  declare module '@mappedin/react-sdk/packages/geojson-navigator/src/edge/edge' {
28470
28598
  import type { NodeFeature } from '@mappedin/react-sdk/packages/geojson-navigator/src/types/node';
28471
28599
  /**