@mappedin/mappedin-js 6.21.0 → 6.22.0

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.
@@ -1,8 +1,8 @@
1
- import * as _mappedin_mvf_v22 from "@mappedin/mvf-v2";
1
+ import * as _mappedin_mvf_v26 from "@mappedin/mvf-v2";
2
2
  import { AnnotationCollection, AnnotationSymbol, AreaCollection, AreaId, BaseTextAreaProperties, Category, CategoryId, Connection as Connection$1, Details, EnterpriseCategory as EnterpriseCategory$1, EnterpriseCategoryId, EnterpriseLocation as EnterpriseLocation$1, EnterpriseLocationId, EnterpriseLocationInstance, EnterpriseTexture, EnterpriseVenue as EnterpriseVenue$1, EnterpriseVenueType, EntranceCollection, EntranceFeature, Facade as Facade$1, Feature as Feature$1, FeatureCollection as FeatureCollection$1, FloatingFloorTextProperties, FloorCollection, FloorId, FloorProperties, FloorStack as FloorStack$1, FloorTextCommonProperties, Geometry as Geometry$1, Hyperlink as Hyperlink$1, Image, Language, LineStringStyle, LineStringStyle as TMVFLineStringStyle, Location, LocationId, LocationLink, LocationSocial, LocationSocial as LocationSocial$1, LocationState, LocationState as LocationState$1, MVFv2_STANDARD_MVFv3, MultiPolygon as MultiPolygon$1, NavigationFlagDeclarations, NodeCollection, NodeId, ObstructionCollection, ObstructionCollection as ObstructionCollection$1, ObstructionFeature, ObstructionId, OpeningHoursSpecification, OperationHours, OperationHours as OperationHours$1, ParsedMVF, ParsedMVF as TMVF, ParsedMVFLocalePack, Point as Point$1, PointStyle, PointStyle as TMVFPointStyle, Polygon as Polygon$1, PolygonStyle, PolygonStyle as TMVFPolygonStyle, SiblingGroup, SiblingGroup as SiblingGroup$1, SpaceCollection, SpaceCollection as SpaceCollection$1, SpaceFeature, SpaceId, SpaceProperties, Style as TMVFStyle, StyleCollection, StyleCollection as TMVFStyleCollection, TilesetStyle } from "@mappedin/mvf-v2";
3
3
  import { MVFv2_STANDARD_MVFv3 as MVFv2_STANDARD_MVFv3$1, ParsedMVF as ParsedMVF$1, RawMVF } from "@mappedin/mvf-v2/no-validator-lite";
4
4
  import * as _mappedin_renderer_three0 from "@mappedin/renderer-three";
5
- import { AddLabelOptionsInternal, AddText3DOptions, AddText3DOptions as AddText3DOptions$1, AddText3DPointOptions, CameraSystemState, ColorString, DebugState, DebugState as DebugState$1, EntityId, EnvMapOptions, EnvMapOptions as EnvMapOptions$1, GLTFExportOptions as GLTFExportOptions$1, GroupContainerState, ISystemPlugin, ISystemPlugin as ISystemPlugin$1, ImagePlacementOptions, InitializeModelState, InitializeModelState as InitializeModelState$1, InitializeText3DState, InsetPadding, InsetPadding as InsetPadding$1, InsetPaddingOption, InsetPaddingOption as InsetPaddingOption$1, InterpolateOn, Interpolation, LabelRenderedState, LineStyle, LineStyle as LineStyle$1, MapViewState, MarkerState, OutlinesOptions, PaintStyle, PaintStyle as PaintStyle$1, PathState, PathWidth, PathWidth as PathWidth$1, PixelWidth, Position as Position$1, RendererCore, RendererCoreOptions, RendererCoreOptions as RendererCoreOptions$1, Shading, Text3DState, WatermarkUpdateOptions } from "@mappedin/renderer-three";
5
+ import { AddLabelOptionsInternal, AddText3DOptions, AddText3DOptions as AddText3DOptions$1, AddText3DPointOptions, AddText3DPointOptions as AddText3DPointOptions$1, CameraSystemState, ColorString, DebugState, DebugState as DebugState$1, EntityId, EnvMapOptions, EnvMapOptions as EnvMapOptions$1, GLTFExportOptions as GLTFExportOptions$1, GroupContainerState, ISystemPlugin, ISystemPlugin as ISystemPlugin$1, ImagePlacementOptions, InitializeModelState, InitializeModelState as InitializeModelState$1, InitializeText3DState, InsetPadding, InsetPadding as InsetPadding$1, InsetPaddingOption, InsetPaddingOption as InsetPaddingOption$1, InterpolateOn, Interpolation, LabelRenderedState, LineStyle, LineStyle as LineStyle$1, MapViewState, MarkerState, OutlinesOptions, PaintStyle, PaintStyle as PaintStyle$1, PathState, PathWidth, PathWidth as PathWidth$1, PixelWidth, Position as Position$1, RendererCore, RendererCoreOptions, RendererCoreOptions as RendererCoreOptions$1, Shading, Text3DState, WatermarkUpdateOptions } from "@mappedin/renderer-three";
6
6
  import * as _tweenjs_tween_js0 from "@tweenjs/tween.js";
7
7
  import { Group, Tween } from "@tweenjs/tween.js";
8
8
  import { CustomLayerInterface, IControl, Map as Map$1, MapEventType } from "@mappedin/outdoor-context";
@@ -4426,6 +4426,22 @@ declare class PathSegment$1 implements IFocusable {
4426
4426
  get distance(): number;
4427
4427
  /** @internal */
4428
4428
  get focusTarget(): Coordinate[];
4429
+ /**
4430
+ * Serializes the path segment to JSON.
4431
+ *
4432
+ * `isConnectionSegment` and `distance` are computed getters, so they are included explicitly
4433
+ * here — otherwise they would be dropped by `JSON.stringify` (e.g. when a {@link Path} crosses
4434
+ * the React Native / native WebView bridge, where consumers rely on `segment.isConnectionSegment`).
4435
+ *
4436
+ * @returns An object representing the path segment.
4437
+ */
4438
+ toJSON(): {
4439
+ __type: string;
4440
+ id: string;
4441
+ coordinates: Coordinate[];
4442
+ isConnectionSegment: boolean;
4443
+ distance: number;
4444
+ };
4429
4445
  }
4430
4446
  /**
4431
4447
  * Class representing a path on the {@link MapView}.
@@ -4490,6 +4506,17 @@ declare class Path implements IFocusable {
4490
4506
  //#endregion
4491
4507
  //#region ../packages/common/interpolate.d.ts
4492
4508
  declare const EASING_CURVES: readonly ["ease-in", "ease-out", "ease-in-out", "linear", "ease-out-cubic"];
4509
+ /**
4510
+ * The set of easing curves that can be applied when interpolating a value.
4511
+ *
4512
+ * - `linear`: constant rate of change from start to end.
4513
+ * - `ease-in`: starts slowly, then accelerates.
4514
+ * - `ease-out`: starts quickly, then decelerates.
4515
+ * - `ease-in-out`: starts slowly, accelerates through the middle, then decelerates.
4516
+ * - `ease-out-cubic`: a stronger ease-out using a cubic curve.
4517
+ *
4518
+ * @see https://developer.mozilla.org/en-US/docs/Web/CSS/animation-timing-function
4519
+ */
4493
4520
  type EasingCurve = (typeof EASING_CURVES)[number];
4494
4521
  //#endregion
4495
4522
  //#region src/navigation/tethered.d.ts
@@ -4609,6 +4636,27 @@ type TTrackCoordinateOptions = {
4609
4636
  * ```
4610
4637
  */
4611
4638
  type TCreateMarker = boolean | ((instruction: TDirectionInstruction) => Marker);
4639
+ /**
4640
+ * The role a {@link Marker} plays within a drawn navigation route.
4641
+ *
4642
+ * - `departure` — the pin marking the start of the route.
4643
+ * - `destination` — the flag marking the end of the route.
4644
+ * - `connection` — a marker at a floor change (e.g. stairs, elevator).
4645
+ */
4646
+ type TNavigationMarkerType = 'departure' | 'destination' | 'connection';
4647
+ /**
4648
+ * A {@link Marker} drawn as part of a navigation route, paired with the role it
4649
+ * plays in that route. Returned by {@link Navigation.markers}.
4650
+ */
4651
+ type TNavigationMarker = {
4652
+ /**
4653
+ * The underlying {@link Marker}. Pass it to {@link MapView.updateState} to
4654
+ * change its state (for example, `{ enabled: false }` to hide it).
4655
+ */
4656
+ marker: Marker;
4657
+ /** Which part of the route this marker represents. */
4658
+ type: TNavigationMarkerType;
4659
+ };
4612
4660
  /**
4613
4661
  * Path options extended with connection-specific overrides for Navigation.
4614
4662
  * Connection paths inherit all base path options unless overridden with `__EXPERIMENTAL__CONNECTION_*` properties.
@@ -4728,6 +4776,7 @@ type NavigationState = {
4728
4776
  activeDirections?: Directions;
4729
4777
  activePath?: Path;
4730
4778
  paths: Path[];
4779
+ markers: TNavigationMarker[];
4731
4780
  };
4732
4781
  /**
4733
4782
  * Navigation-specific event types.
@@ -4784,11 +4833,32 @@ declare class Navigation {
4784
4833
  getMarkerById(id: string): {
4785
4834
  instruction: TDirectionInstruction;
4786
4835
  marker: Marker;
4836
+ type: TNavigationMarkerType;
4787
4837
  } | undefined;
4788
4838
  /**
4789
4839
  * @internal
4790
4840
  */
4791
4841
  get paths(): Path[];
4842
+ /**
4843
+ * The markers drawn for the currently drawn navigation route: the departure
4844
+ * and destination pins, plus a marker at each connection (floor change).
4845
+ *
4846
+ * Navigation markers are drawn with an `always-visible` collision rank so
4847
+ * they are never dropped by label collision. As a side effect they also stay
4848
+ * visible when the current floor changes. To control their visibility per
4849
+ * floor, combine this with {@link MapView.updateState} and each marker's
4850
+ * {@link Marker.coordinate}.
4851
+ *
4852
+ * @returns An array of {@link TNavigationMarker}, each pairing a {@link Marker} with its role in the route.
4853
+ * @example Hide navigation markers that aren't on the current floor
4854
+ * ```ts
4855
+ * for (const { marker } of mapView.Navigation.markers) {
4856
+ * const onCurrentFloor = marker.coordinate.floorId === mapView.currentFloor?.id;
4857
+ * mapView.updateState(marker, { enabled: onCurrentFloor });
4858
+ * }
4859
+ * ```
4860
+ */
4861
+ get markers(): TNavigationMarker[];
4792
4862
  /**
4793
4863
  * The currently active directions.
4794
4864
  */
@@ -7443,20 +7513,82 @@ declare class MapView {
7443
7513
  getOptimalVisualDistanceBetweenFloors(floors: Floor[]): number | undefined;
7444
7514
  /**
7445
7515
  * @internal
7446
- * @deprecated For legacy use only
7516
+ * @deprecated Use per-floor and per-segment state instead — see {@link MapView.updateState | updateState}.
7447
7517
  *
7448
7518
  * If true, the map will hide paths not on the current floor.
7449
7519
  *
7520
+ * For FLOOR paths, prefer toggling the floor's paths layer directly:
7521
+ * `mapView.updateState(floor, { paths: { visible: false } })`.
7522
+ *
7523
+ * CONNECTION paths span two floors and are not part of any floor's paths layer, so they are
7524
+ * unaffected by the floor toggle above. Hide them per-segment via
7525
+ * `mapView.updateState(segment, { visible: false })`, filtering
7526
+ * `mapView.Navigation.paths[].segments` by `segment.isConnectionSegment`.
7527
+ *
7450
7528
  * @default false
7529
+ *
7530
+ * @example
7531
+ * ```ts
7532
+ * // Hide paths on every floor except the current one
7533
+ * for (const floor of mapData.getByType('floor')) {
7534
+ * mapView.updateState(floor, { paths: { visible: floor.id === mapView.currentFloor?.id } });
7535
+ * }
7536
+ *
7537
+ * // Connection segments aren't owned by a floor — hide the ones that don't
7538
+ * // touch the current floor on either end
7539
+ * for (const path of mapView.Navigation.paths) {
7540
+ * for (const segment of path.segments) {
7541
+ * if (!segment.isConnectionSegment) continue;
7542
+ * const touchesCurrentFloor = segment.coordinates.some(
7543
+ * (c) => c.floorId === mapView.currentFloor?.id
7544
+ * );
7545
+ * mapView.updateState(segment, { visible: touchesCurrentFloor });
7546
+ * }
7547
+ * }
7548
+ * ```
7549
+ *
7550
+ * @see {@link MapView.updateState | updateState} to toggle floor and segment visibility.
7551
+ * @see Navigation_-_Path_Visibility.ts for a complete example.
7451
7552
  */
7452
7553
  get __INTERNAL__hidePathsNotOnCurrentFloor(): boolean;
7453
7554
  /**
7454
7555
  * @internal
7455
- * @deprecated For legacy use only
7556
+ * @deprecated Use per-floor and per-segment state instead — see {@link MapView.updateState | updateState}.
7456
7557
  *
7457
7558
  * If true, the map will hide paths not on the current floor.
7458
7559
  *
7560
+ * For FLOOR paths, prefer toggling the floor's paths layer directly:
7561
+ * `mapView.updateState(floor, { paths: { visible: false } })`.
7562
+ *
7563
+ * CONNECTION paths span two floors and are not part of any floor's paths layer, so they are
7564
+ * unaffected by the floor toggle above. Hide them per-segment via
7565
+ * `mapView.updateState(segment, { visible: false })`, filtering
7566
+ * `mapView.Navigation.paths[].segments` by `segment.isConnectionSegment`.
7567
+ *
7459
7568
  * @default false
7569
+ *
7570
+ * @example
7571
+ * ```ts
7572
+ * // Hide paths on every floor except the current one
7573
+ * for (const floor of mapData.getByType('floor')) {
7574
+ * mapView.updateState(floor, { paths: { visible: floor.id === mapView.currentFloor?.id } });
7575
+ * }
7576
+ *
7577
+ * // Connection segments aren't owned by a floor — hide the ones that don't
7578
+ * // touch the current floor on either end
7579
+ * for (const path of mapView.Navigation.paths) {
7580
+ * for (const segment of path.segments) {
7581
+ * if (!segment.isConnectionSegment) continue;
7582
+ * const touchesCurrentFloor = segment.coordinates.some(
7583
+ * (c) => c.floorId === mapView.currentFloor?.id
7584
+ * );
7585
+ * mapView.updateState(segment, { visible: touchesCurrentFloor });
7586
+ * }
7587
+ * }
7588
+ * ```
7589
+ *
7590
+ * @see {@link MapView.updateState | updateState} to toggle floor and segment visibility.
7591
+ * @see Navigation_-_Path_Visibility.ts for a complete example.
7460
7592
  */
7461
7593
  set __INTERNAL__hidePathsNotOnCurrentFloor(value: boolean);
7462
7594
  /**
@@ -9149,7 +9281,7 @@ type TGeometryUpdateState = output<typeof geometryStateSchemaPartial>;
9149
9281
  declare const labelStateSchema: ZodObject<{
9150
9282
  type: ZodDefault<ZodLiteral<"label">>;
9151
9283
  text: ZodString;
9152
- rank: ZodCustom<"initial" | TCollisionRankingTier, "initial" | TCollisionRankingTier>;
9284
+ rank: ZodCustom<TCollisionRankingTier | "initial", TCollisionRankingTier | "initial">;
9153
9285
  appearance: ZodCustom<LabelAppearance, LabelAppearance>;
9154
9286
  interactive: ZodDefault<ZodBoolean>;
9155
9287
  enabled: ZodDefault<ZodBoolean>;
@@ -9172,7 +9304,7 @@ declare const labelStateSchema: ZodObject<{
9172
9304
  declare const labelStateSchemaPartial: ZodObject<{
9173
9305
  type: ZodOptional<ZodDefault<ZodLiteral<"label">>>;
9174
9306
  text: ZodOptional<ZodString>;
9175
- rank: ZodOptional<ZodCustom<"initial" | TCollisionRankingTier, "initial" | TCollisionRankingTier>>;
9307
+ rank: ZodOptional<ZodCustom<TCollisionRankingTier | "initial", TCollisionRankingTier | "initial">>;
9176
9308
  appearance: ZodOptional<ZodCustom<LabelAppearance, LabelAppearance>>;
9177
9309
  interactive: ZodOptional<ZodDefault<ZodBoolean>>;
9178
9310
  enabled: ZodOptional<ZodDefault<ZodBoolean>>;
@@ -9205,7 +9337,7 @@ type TLabelUpdateState = output<typeof labelStateSchemaPartial>;
9205
9337
  /** @internal */
9206
9338
  declare const markerStateSchema: ZodObject<{
9207
9339
  type: ZodDefault<ZodLiteral<"marker">>;
9208
- rank: ZodCustom<"initial" | TCollisionRankingTier, "initial" | TCollisionRankingTier>;
9340
+ rank: ZodCustom<TCollisionRankingTier | "initial", TCollisionRankingTier | "initial">;
9209
9341
  placement: ZodOptional<ZodUnion<readonly [ZodEnum<{
9210
9342
  hidden: "hidden";
9211
9343
  top: "top";
@@ -9247,9 +9379,7 @@ declare const markerStateSchema: ZodObject<{
9247
9379
  declare const markerStateSchemaPartial: ZodObject<{
9248
9380
  type: ZodOptional<ZodDefault<ZodLiteral<"marker">>>;
9249
9381
  enabled: ZodOptional<ZodDefault<ZodBoolean>>;
9250
- interactive: ZodOptional<ZodDefault<ZodUnion<readonly [ZodBoolean, ZodLiteral<"pointer-events-auto">]>>>;
9251
- rank: ZodOptional<ZodCustom<"initial" | TCollisionRankingTier, "initial" | TCollisionRankingTier>>;
9252
- occlude: ZodOptional<ZodDefault<ZodBoolean>>;
9382
+ rank: ZodOptional<ZodCustom<TCollisionRankingTier | "initial", TCollisionRankingTier | "initial">>;
9253
9383
  placement: ZodOptional<ZodOptional<ZodUnion<readonly [ZodEnum<{
9254
9384
  hidden: "hidden";
9255
9385
  top: "top";
@@ -9273,6 +9403,7 @@ declare const markerStateSchemaPartial: ZodObject<{
9273
9403
  "bottom-left": "bottom-left";
9274
9404
  "bottom-right": "bottom-right";
9275
9405
  }>>]>>>;
9406
+ interactive: ZodOptional<ZodDefault<ZodUnion<readonly [ZodBoolean, ZodLiteral<"pointer-events-auto">]>>>;
9276
9407
  dynamicResize: ZodOptional<ZodDefault<ZodBoolean>>;
9277
9408
  zIndex: ZodOptional<ZodOptional<ZodNumber>>;
9278
9409
  lowPriorityPin: ZodOptional<ZodOptional<ZodObject<{
@@ -9281,6 +9412,7 @@ declare const markerStateSchemaPartial: ZodObject<{
9281
9412
  color: ZodOptional<ZodString>;
9282
9413
  }, $strip>>>;
9283
9414
  contentHTML: ZodOptional<ZodString>;
9415
+ occlude: ZodOptional<ZodDefault<ZodBoolean>>;
9284
9416
  animated: ZodOptional<ZodDefault<ZodBoolean>>;
9285
9417
  }, $strip>;
9286
9418
  /**
@@ -9306,6 +9438,7 @@ declare const pathStateSchemaPartial: ZodObject<{
9306
9438
  width: ZodOptional<ZodType<PathWidth$2, unknown, $ZodTypeInternals<PathWidth$2, unknown>>>;
9307
9439
  completeFraction: ZodOptional<ZodDefault<ZodNumber>>;
9308
9440
  visible: ZodOptional<ZodDefault<ZodBoolean>>;
9441
+ interactive: ZodOptional<ZodDefault<ZodBoolean>>;
9309
9442
  verticalOffset: ZodOptional<ZodDefault<ZodNumber>>;
9310
9443
  highlightStartFraction: ZodOptional<ZodDefault<ZodNumber>>;
9311
9444
  highlightEndFraction: ZodOptional<ZodDefault<ZodNumber>>;
@@ -9358,6 +9491,7 @@ declare const pathStateSchemaStrict: ZodObject<{
9358
9491
  width: ZodType<PathWidth$2>;
9359
9492
  completeFraction: ZodDefault<ZodNumber>;
9360
9493
  visible: ZodDefault<ZodBoolean>;
9494
+ interactive: ZodDefault<ZodBoolean>;
9361
9495
  verticalOffset: ZodDefault<ZodNumber>;
9362
9496
  highlightStartFraction: ZodDefault<ZodNumber>;
9363
9497
  highlightEndFraction: ZodDefault<ZodNumber>;
@@ -11619,7 +11753,7 @@ type TAddText3DOptions = AddText3DOptions$1;
11619
11753
  /**
11620
11754
  * Options for adding 3D text at an anchorable target (e.g., Coordinate).
11621
11755
  */
11622
- type TAddText3DAnchorableOptions = AddText3DPointOptions;
11756
+ type TAddText3DAnchorableOptions = AddText3DPointOptions$1;
11623
11757
  /**
11624
11758
  * Options for controlling the behavior of an {@link Image3DView}.
11625
11759
  */
@@ -12875,8 +13009,8 @@ declare class Area extends DetailedMapData<AreaCollection['features'][number]> i
12875
13009
  */
12876
13010
  get geoJSON(): {
12877
13011
  properties: null;
12878
- type: _mappedin_mvf_v22.FeatureType;
12879
- geometry: _mappedin_mvf_v22.Polygon;
13012
+ type: _mappedin_mvf_v26.FeatureType;
13013
+ geometry: _mappedin_mvf_v26.Polygon;
12880
13014
  };
12881
13015
  /** @internal */
12882
13016
  get focusTarget(): this;
@@ -12978,8 +13112,8 @@ declare class Door extends DetailedMapData<EntranceFeature> implements IGeoJSOND
12978
13112
  */
12979
13113
  get geoJSON(): {
12980
13114
  properties: null;
12981
- type: _mappedin_mvf_v22.FeatureType;
12982
- geometry: _mappedin_mvf_v22.LineString;
13115
+ type: _mappedin_mvf_v26.FeatureType;
13116
+ geometry: _mappedin_mvf_v26.LineString;
12983
13117
  };
12984
13118
  /** @internal */
12985
13119
  get focusTarget(): Coordinate;
@@ -13115,8 +13249,8 @@ declare class Space extends DetailedMapData<SpaceFeature> implements IGeoJSONDat
13115
13249
  */
13116
13250
  get geoJSON(): {
13117
13251
  properties: null;
13118
- type: _mappedin_mvf_v22.FeatureType;
13119
- geometry: _mappedin_mvf_v22.Point | _mappedin_mvf_v22.LineString | _mappedin_mvf_v22.Polygon;
13252
+ type: _mappedin_mvf_v26.FeatureType;
13253
+ geometry: _mappedin_mvf_v26.Point | _mappedin_mvf_v26.LineString | _mappedin_mvf_v26.Polygon;
13120
13254
  };
13121
13255
  /** @internal */
13122
13256
  get focusTarget(): this | Coordinate;
@@ -13202,7 +13336,7 @@ declare class PointOfInterest extends DetailedMapData<FeatureCollection$1<Point$
13202
13336
  */
13203
13337
  get geoJSON(): {
13204
13338
  properties: null;
13205
- type: _mappedin_mvf_v22.FeatureType;
13339
+ type: _mappedin_mvf_v26.FeatureType;
13206
13340
  geometry: Point$1;
13207
13341
  };
13208
13342
  /**
@@ -13316,8 +13450,8 @@ declare class Annotation extends DetailedMapData<AnnotationCollection['features'
13316
13450
  */
13317
13451
  get geoJSON(): {
13318
13452
  properties: null;
13319
- type: _mappedin_mvf_v22.FeatureType;
13320
- geometry: _mappedin_mvf_v22.Point;
13453
+ type: _mappedin_mvf_v26.FeatureType;
13454
+ geometry: _mappedin_mvf_v26.Point;
13321
13455
  };
13322
13456
  /** @internal */
13323
13457
  get focusTarget(): Coordinate;
@@ -13533,8 +13667,8 @@ declare class MapObject extends DetailedMapData<ObstructionFeature> implements I
13533
13667
  */
13534
13668
  get geoJSON(): {
13535
13669
  properties: null;
13536
- type: _mappedin_mvf_v22.FeatureType;
13537
- geometry: _mappedin_mvf_v22.LineString | _mappedin_mvf_v22.Polygon;
13670
+ type: _mappedin_mvf_v26.FeatureType;
13671
+ geometry: _mappedin_mvf_v26.LineString | _mappedin_mvf_v26.Polygon;
13538
13672
  };
13539
13673
  /** @internal */
13540
13674
  get anchorTarget(): Coordinate;
@@ -13847,8 +13981,8 @@ declare class Node extends BaseMetaData implements IGeoJSONData, IFocusable, IAn
13847
13981
  */
13848
13982
  get geoJSON(): {
13849
13983
  properties: null;
13850
- type: _mappedin_mvf_v22.FeatureType;
13851
- geometry: _mappedin_mvf_v22.Point;
13984
+ type: _mappedin_mvf_v26.FeatureType;
13985
+ geometry: _mappedin_mvf_v26.Point;
13852
13986
  };
13853
13987
  /** @internal */
13854
13988
  get focusTarget(): Coordinate;
@@ -15904,7 +16038,7 @@ declare class MapData {
15904
16038
  * console.log(`Current language: ${language.name} (${language.code})`);
15905
16039
  * ```
15906
16040
  */
15907
- get currentLanguage(): _mappedin_mvf_v22.Language | undefined;
16041
+ get currentLanguage(): _mappedin_mvf_v26.Language | undefined;
15908
16042
  /**
15909
16043
  * Gets the natural bearing of the map.
15910
16044
  *
@@ -15931,18 +16065,29 @@ declare class MapData {
15931
16065
  * @param from The starting location(s).
15932
16066
  * @param to The destination location(s).
15933
16067
  * @param options Optional configuration for the directions calculation.
15934
- * @returns A {@link Directions} object containing the route, or undefined if no route is found.
16068
+ * @returns A {@link Directions} object containing the route, or `undefined` if no route is found.
15935
16069
  *
15936
- * @example Get directions between two spaces
16070
+ * @remarks
16071
+ * When the origin and destination resolve to the same location — for example a {@link Coordinate}
16072
+ * inside a {@link Space} routed to that same space, the caller is already at the destination.
16073
+ * In that case a **defined** {@link Directions} is still returned, but it has a `distance` of `0`
16074
+ * and an empty `coordinates` array (there is no path to draw or follow).
16075
+ * This is distinct from `undefined`, which means no route could be found at all. To detect this case,
16076
+ * check `directions.coordinates.length === 0` (or `directions.distance === 0`).
16077
+ *
16078
+ * @example Get directions between two spaces, handling the "already at destination" case
15937
16079
  * ```ts
15938
16080
  * const space1 = mapData.getById('space', 'space-123');
15939
16081
  * const space2 = mapData.getById('space', 'space-456');
15940
16082
  *
15941
16083
  * if (space1 && space2) {
15942
16084
  * const directions = await mapData.getDirections(space1, space2);
15943
- * if (directions) {
16085
+ * if (!directions) {
16086
+ * console.log('No route found');
16087
+ * } else if (directions.coordinates.length === 0) {
16088
+ * console.log('Already at destination — nothing to draw');
16089
+ * } else {
15944
16090
  * console.log(`Distance: ${directions.distance}m`);
15945
- * console.log(`Duration: ${directions.duration}s`);
15946
16091
  * directions.instructions.forEach(instruction => {
15947
16092
  * console.log(instruction.action.type);
15948
16093
  * });
@@ -19702,6 +19847,7 @@ declare class GeometryInFocusSystem extends PubSub<{
19702
19847
  private viewfinder;
19703
19848
  private screenBoundsMap;
19704
19849
  private screenDiagonal;
19850
+ private lastPublishedEntities?;
19705
19851
  constructor(state: RendererState, camera: Camera$1);
19706
19852
  resize(): void;
19707
19853
  /**
@@ -21392,6 +21538,13 @@ type RendererCoreOptions$2 = Partial<{
21392
21538
  transformImageRequest?: TransformImageRequest;
21393
21539
  useWorkers?: boolean;
21394
21540
  useCollisionWorker?: boolean;
21541
+ /**
21542
+ * When true, skips zod validation of label/marker inputs on add and update.
21543
+ * Map-global perf escape hatch for bulk operations where inputs are already
21544
+ * known-good. Mirrors the `disableUpdateStateValidation` map option.
21545
+ * @default false
21546
+ */
21547
+ disableUpdateStateValidation?: boolean;
21395
21548
  /**
21396
21549
  * Shadow rendering configuration
21397
21550
  * @experimental
@@ -21871,6 +22024,8 @@ type RendererState = {
21871
22024
  readonly geometryScene: GroupContainerObject3D;
21872
22025
  hoverColor: string;
21873
22026
  text3dHoverColor: string;
22027
+ /** When true, label/marker input validation is skipped (perf escape hatch). */
22028
+ disableUpdateStateValidation: boolean;
21874
22029
  center?: Position$2;
21875
22030
  insetsPadding: InsetPadding$2;
21876
22031
  shouldMeasureCanvas: boolean;
@@ -22132,6 +22287,12 @@ type FootprintConfig = {
22132
22287
  outline: boolean;
22133
22288
  /** Whether spaces open to below (ceiling cutouts) are enabled. */
22134
22289
  spacesOpenToBelowEnabled: boolean;
22290
+ /**
22291
+ * Resolve the "floor above" by nearest-higher elevation instead of exact `elevation + 1`,
22292
+ * so open-to-below voids cut across non-contiguous ordinals (physically adjacent floors
22293
+ * numbered e.g. 0,1,3,5,6). See design/0001-noncontiguous-void-adjacency.md.
22294
+ */
22295
+ disableGapFilling?: boolean;
22135
22296
  spacesOpenToBelowVisualEffectEnabled?: boolean;
22136
22297
  spacesOpenToBelowVisualEffectDarkenAmount?: number;
22137
22298
  spacesOpenToBelowVisualEffectDarkenUseDepth?: boolean;
@@ -22261,8 +22422,6 @@ type TShow3DMapOptions = {
22261
22422
  watermark?: TWatermarkOptions;
22262
22423
  /**
22263
22424
  * Options for the attribution control.
22264
- *
22265
- * @hidden
22266
22425
  */
22267
22426
  attribution?: {
22268
22427
  /**
@@ -22606,4 +22765,4 @@ declare const getVersion: () => string | undefined;
22606
22765
  */
22607
22766
  declare const show3dMapGeojson: (el: HTMLElement, mapData: MapData, options?: TShow3DMapOptions) => Promise<MapView>;
22608
22767
  //#endregion
22609
- export { ACTION_TYPE, ANIMATION_TWEENS, type AddText3DOptions, type Analytics, Annotation, Area, type AutoElements, BBox, BEARING_TYPE, CONNECTION_TYPE, type Camera, type CameraBounds, type CameraTransform, type CaptureEventsPayloadMap, type ColorString, Connection, Coordinate, DOORS, type Debug, type DebugState, DetailedMapData, Directions, Door, E_SDK_LOG_LEVEL, EnterpriseCategory, EnterpriseLocation, EnterpriseVenue, type EnvMapOptions, type Environment, type Exporter, Facade, Feature, FeatureCollection, Floor, FloorStack, type FootprintConfig, GeoJSON$1 as GeoJSON, GeoJsonGeometryTypes, GeoJsonObject, GeoJsonProperties, GeoJsonTypes, Geometry, GeometryCollection, GeometryObject, type GlobalState, Hyperlink, type IAnchorable, type IFocusable, type IGeoJSONData, type INavigatable, type ISystemPlugin, type Image3D, type Image3DView, ImageMetaData, type InitializeModelState, type InitializeText3DState, type InsetPadding, type InsetPaddingOption, type InterpolateOn, type Interpolation, type Label, type LabelAppearance, type LabelTextPlacement, type Labels, LineString, type LineStyle, LocationCategory, LocationProfile, type LocationSocial, type LocationState, MAPPEDIN_COLORS, type MapData, type MapDataElements, type MapElementToGetRenderedState, type MapElementToGetState, type MapElementToUpdateState, type MapElementsWithState, type MapFeatureOfType, MapObject, MapView, type MapViewElements, type MapViewState, type MappedinError, type MappedinRenderError, type Marker, type Markers, type MatchInfo, type Model, type Models, type MultiFloorViewEffectState, MultiLineString, MultiPoint, MultiPolygon, type Navigation, type NavigationState, Node, type OpeningHours, type OperationHours, type Outdoor, type OutlinesOptions, type PaintStyle, type Path, type PathSegment$1 as PathSegment, type PathWidth, type Paths, type PixelWidth, type Places, Point, PointOfInterest, Polygon, type Position, type PubSub, type Query, type RendererCoreOptions, type Search, type SearchOptions, type SearchResult, type SearchResultEnterpriseCategory, type SearchResultEnterpriseLocations, type SearchResultItem, type SearchResultPlaces, type Shading, type Shape, type Shapes, type SiblingGroup, Space, type Style, type Suggestion, type TActionType, type TAddImageOptions, type TAddLabelOptions, type TAddMarkerOptions, type TAddModel, type TAddModelOptions, type TAddPathOptions, type TAddText3DAnchorableOptions, type TAddText3DOptions, type TAnalyticsUpdateState, type TAnimateStateResult, type TAnimationOptions, type TAntialiasingOptions, type TBearingType, type TCameraAnimationOptions, type TCameraInteractionsSetOptions, type TCameraTarget, type TCancellablePromise, type TClickPayload, type TCollisionRankingTier, type TConnectionPathOptions, type TConnectionType, type TCoordinateParams, type TCreateMarker, type TDirectionInstruction, type TDirectionInstructionAction, type TDirectionZone, type TDoorsState, type TDoorsUpdateState, type TEasingFunction, type TEventPayload, type TEvents, type TExperimentalDashOptions, type TFacadeState, type TFacadeUpdateState, type TFindNearestOptions, type TFindNearestResult, type TFindPreferredLanguageInVenueOptions, type TFloorAltitudeData, type TFloorChangePayload, type TFloorChangeReason, type TFloorState, type TFloorUpdateState, type TFocusOnOptions, type TFocusTarget, type TGeometryState, type TGeometryUpdateState, type TGetDirectionsOptions, type TGetMapDataOptions, type TGetMapDataSharedOptions, type TGetMapDataWithAccessTokenOptions, type TGetMapDataWithCredentialsOptions, type TGetState, type THoverPayload, type THydrateMapDataBundle, type TImage3DState as TImageState, type TImage3DUpdateState as TImageUpdateState, type TLabelState, type TLabelUpdateState, type TMVF, type TMVFLineStringStyle, type TMVFPointStyle, type TMVFPolygonStyle, type TMVFStyle, type TMVFStyleCollection, type TMapDataEvents, type TMapDataObjectTypes, type TMapFeatureTypes, type TMapViewObjectTypes, type TMarkerPlacement, type TMarkerState, type TMarkerUpdateState, type TModelState, type TModelUpdateState, type TMultiFloorViewOptions, type TNavigationOptions, type TNavigationPathOptions, type TNavigationTarget, type TOutsideThresholdPathStyle, type TPathSectionHighlightOptions, type TPathState, type TPathUpdateState, type TQueriables, type TQueryAtResult, type RendererState as TRendererState, type TSearchOptions, type TSetFloorOptions, type TShapeState, type TShapeUpdateState, type TShow3DMapOptions, type TSpaceType, type TStateChangedInternalPayload, type TTakeScreenshotOptions, type TTetheredOptions as TTetherOptions, type TText3DState, type TText3DUpdateState, type TTrackCoordinateOptions, type TTravelledOptions, type TUpdateState, type TWallsState, type TWallsUpdateState, TWatermarkOptions, type Text3D, type Text3DView, type UpdateGlobalState, type VisibilityState, WALLS, type WithState, MAPPEDIN_LAYER_ID as __INTERNAL__MAPPEDIN_LAYER_ID, MapLibreOverlay as __INTERNAL__MapLibreOverlay, Core as __INTERNAL__RendererCore, convertToRendererCoreOptions as __INTERNAL__convertToRendererCoreOptions, __setWatermarkOnClickFn, checkWorkerUrls, disableText3DWorker, enableTestMode, findPreferredLanguageInVenue, forceEnterpriseLocations, getMapData, getMapDataEnterprise, getMultiFloorState, getVersion, hydrateMapData, hydrateMapDataFromMVF, parseMVFv2 as parseMVF, preloadFont, setLoggerLevel, setUseEnterpriseAPI, setWorkersUrl, shouldForceEnterpriseLocations, show3dMap, show3dMapGeojson, unzipAndParseMVFv2, unzipMVFv2 as unzipMVF };
22768
+ export { ACTION_TYPE, ANIMATION_TWEENS, type AddText3DOptions, type AddText3DPointOptions, type Analytics, Annotation, Area, type AutoElements, BBox, BEARING_TYPE, CONNECTION_TYPE, type Camera, type CameraBounds, type CameraTransform, type CaptureEventsPayloadMap, type ColorString, Connection, Coordinate, DOORS, type Debug, type DebugState, DetailedMapData, Directions, Door, E_SDK_LOG_LEVEL, type EasingCurve, EnterpriseCategory, EnterpriseLocation, EnterpriseVenue, type EnvMapOptions, type Environment, type Exporter, Facade, Feature, FeatureCollection, Floor, FloorStack, type FootprintConfig, GeoJSON$1 as GeoJSON, GeoJsonGeometryTypes, GeoJsonObject, GeoJsonProperties, GeoJsonTypes, Geometry, GeometryCollection, GeometryObject, type GlobalState, Hyperlink, type IAnchorable, type IFocusable, type IGeoJSONData, type INavigatable, type ISystemPlugin, type Image3D, type Image3DView, ImageMetaData, type InitializeModelState, type InitializeText3DState, type InsetPadding, type InsetPaddingOption, type InterpolateOn, type Interpolation, type Label, type LabelAppearance, type LabelTextPlacement, type Labels, LineString, type LineStyle, LocationCategory, LocationProfile, type LocationSocial, type LocationState, MAPPEDIN_COLORS, type MapData, type MapDataElements, type MapElementToGetRenderedState, type MapElementToGetState, type MapElementToUpdateState, type MapElementsWithState, type MapFeatureOfType, MapObject, MapView, type MapViewElements, type MapViewState, type MappedinError, type MappedinRenderError, type Marker, type Markers, type MatchInfo, type Model, type Models, type MultiFloorViewEffectState, MultiLineString, MultiPoint, MultiPolygon, type Navigation, type NavigationState, Node, type OpeningHours, type OperationHours, type Outdoor, type OutlinesOptions, type PaintStyle, type Path, type PathSegment$1 as PathSegment, type PathWidth, type Paths, type PixelWidth, type Places, Point, PointOfInterest, Polygon, type Position, type PubSub, type Query, type RendererCoreOptions, type Search, type SearchOptions, type SearchResult, type SearchResultEnterpriseCategory, type SearchResultEnterpriseLocations, type SearchResultItem, type SearchResultPlaces, type Shading, type Shape, type Shapes, type SiblingGroup, Space, type Style, type Suggestion, type TActionType, type TAddImageOptions, type TAddLabelOptions, type TAddMarkerOptions, type TAddModel, type TAddModelOptions, type TAddPathOptions, type TAddText3DAnchorableOptions, type TAddText3DOptions, type TAnalyticsUpdateState, type TAnimateStateResult, type TAnimationOptions, type TAntialiasingOptions, type TBearingType, type TCameraAnimationOptions, type TCameraInteractionsSetOptions, type TCameraTarget, type TCancellablePromise, type TClickPayload, type TCollisionRankingTier, type TConnectionPathOptions, type TConnectionType, type TCoordinateParams, type TCreateMarker, type TDirectionInstruction, type TDirectionInstructionAction, type TDirectionZone, type TDoorsState, type TDoorsUpdateState, type TEasingFunction, type TEventPayload, type TEvents, type TExperimentalDashOptions, type TFacadeState, type TFacadeUpdateState, type TFindNearestOptions, type TFindNearestResult, type TFindPreferredLanguageInVenueOptions, type TFloorAltitudeData, type TFloorChangePayload, type TFloorChangeReason, type TFloorState, type TFloorUpdateState, type TFocusOnOptions, type TFocusTarget, type TGeometryState, type TGeometryUpdateState, type TGetDirectionsOptions, type TGetMapDataOptions, type TGetMapDataSharedOptions, type TGetMapDataWithAccessTokenOptions, type TGetMapDataWithCredentialsOptions, type TGetState, type THoverPayload, type THydrateMapDataBundle, type TImage3DState as TImageState, type TImage3DUpdateState as TImageUpdateState, type TLabelState, type TLabelUpdateState, type TMVF, type TMVFLineStringStyle, type TMVFPointStyle, type TMVFPolygonStyle, type TMVFStyle, type TMVFStyleCollection, type TMapDataEvents, type TMapDataObjectTypes, type TMapFeatureTypes, type TMapViewObjectTypes, type TMarkerPlacement, type TMarkerState, type TMarkerUpdateState, type TModelState, type TModelUpdateState, type TMultiFloorViewOptions, type TNavigationMarker, type TNavigationMarkerType, type TNavigationOptions, type TNavigationPathOptions, type TNavigationTarget, type TOutsideThresholdPathStyle, type TPathSectionHighlightOptions, type TPathState, type TPathUpdateState, type TQueriables, type TQueryAtResult, type RendererState as TRendererState, type TSearchOptions, type TSetFloorOptions, type TShapeState, type TShapeUpdateState, type TShow3DMapOptions, type TSpaceType, type TStateChangedInternalPayload, type TTakeScreenshotOptions, type TTetheredOptions as TTetherOptions, type TText3DState, type TText3DUpdateState, type TTrackCoordinateOptions, type TTravelledOptions, type TUpdateState, type TWallsState, type TWallsUpdateState, TWatermarkOptions, type Text3D, type Text3DView, type UpdateGlobalState, type VisibilityState, WALLS, type WithState, MAPPEDIN_LAYER_ID as __INTERNAL__MAPPEDIN_LAYER_ID, MapLibreOverlay as __INTERNAL__MapLibreOverlay, Core as __INTERNAL__RendererCore, convertToRendererCoreOptions as __INTERNAL__convertToRendererCoreOptions, __setWatermarkOnClickFn, checkWorkerUrls, disableText3DWorker, enableTestMode, findPreferredLanguageInVenue, forceEnterpriseLocations, getMapData, getMapDataEnterprise, getMultiFloorState, getVersion, hydrateMapData, hydrateMapDataFromMVF, parseMVFv2 as parseMVF, preloadFont, setLoggerLevel, setUseEnterpriseAPI, setWorkersUrl, shouldForceEnterpriseLocations, show3dMap, show3dMapGeojson, unzipAndParseMVFv2, unzipMVFv2 as unzipMVF };
package/lib/esm/index.js CHANGED
@@ -1 +1 @@
1
- import{A as C,B as D,C as E,D as F,E as M,F as N,I as O,J as P,K as Q,L as R,M as S,N as T,O as U,P as V,Q as W,R as X,S as Y,T as Z,U as _,V as $,W as aa,X as ba,a as c,b as d,c as e,d as f,e as g,f as h,g as i,h as j,i as k,j as l,k as m,l as n,m as o,n as p,o as q,p as r,q as s,r as t,s as u,t as v,u as w,v as x,w as y,x as z,y as A,z as B}from"./chunk-VJT5KQYB.js";import{v as K,x as L}from"./chunk-LJC6K2N5.js";import{Da as I,P as G,Y as H,a,c as b,nb as J}from"./chunk-S3S2TZVB.js";import"./chunk-F4OI5ZPF.js";import"./chunk-3IQDSCDT.js";import"./chunk-PWEV3AFA.js";export{y as ACTION_TYPE,G as ANIMATION_TWEENS,p as Annotation,i as Area,z as BEARING_TYPE,A as CONNECTION_TYPE,m as Connection,c as Coordinate,C as DOORS,g as DetailedMapData,D as Directions,j as Door,a as E_SDK_LOG_LEVEL,t as EnterpriseCategory,s as EnterpriseLocation,u as EnterpriseVenue,r as Facade,l as Floor,q as FloorStack,e as Hyperlink,f as ImageMetaData,F as LocationCategory,E as LocationProfile,h as MAPPEDIN_COLORS,n as MapObject,P as MapView,d as Node,o as PointOfInterest,k as Space,B as WALLS,I as __INTERNAL__MAPPEDIN_LAYER_ID,L as __INTERNAL__MapLibreOverlay,K as __INTERNAL__RendererCore,R as __INTERNAL__convertToRendererCoreOptions,T as __setWatermarkOnClickFn,_ as checkWorkerUrls,N as disableText3DWorker,H as enableTestMode,S as findPreferredLanguageInVenue,W as forceEnterpriseLocations,Y as getMapData,Z as getMapDataEnterprise,M as getMultiFloorState,aa as getVersion,Q as hydrateMapData,U as hydrateMapDataFromMVF,v as parseMVF,J as preloadFont,b as setLoggerLevel,V as setUseEnterpriseAPI,O as setWorkersUrl,X as shouldForceEnterpriseLocations,$ as show3dMap,ba as show3dMapGeojson,x as unzipAndParseMVFv2,w as unzipMVF};
1
+ import{A as C,B as D,C as E,D as F,E as M,F as N,I as O,J as P,K as Q,L as R,M as S,N as T,O as U,P as V,Q as W,R as X,S as Y,T as Z,U as _,V as $,W as aa,X as ba,a as c,b as d,c as e,d as f,e as g,f as h,g as i,h as j,i as k,j as l,k as m,l as n,m as o,n as p,o as q,p as r,q as s,r as t,s as u,t as v,u as w,v as x,w as y,x as z,y as A,z as B}from"./chunk-Q25YCNKX.js";import{v as K,x as L}from"./chunk-HYINSTT6.js";import{Da as I,P as G,Y as H,a,c as b,nb as J}from"./chunk-WQRLPX6X.js";import"./chunk-NGRMTFSH.js";import"./chunk-JVDXHWBF.js";import"./chunk-PWEV3AFA.js";export{y as ACTION_TYPE,G as ANIMATION_TWEENS,p as Annotation,i as Area,z as BEARING_TYPE,A as CONNECTION_TYPE,m as Connection,c as Coordinate,C as DOORS,g as DetailedMapData,D as Directions,j as Door,a as E_SDK_LOG_LEVEL,t as EnterpriseCategory,s as EnterpriseLocation,u as EnterpriseVenue,r as Facade,l as Floor,q as FloorStack,e as Hyperlink,f as ImageMetaData,F as LocationCategory,E as LocationProfile,h as MAPPEDIN_COLORS,n as MapObject,P as MapView,d as Node,o as PointOfInterest,k as Space,B as WALLS,I as __INTERNAL__MAPPEDIN_LAYER_ID,L as __INTERNAL__MapLibreOverlay,K as __INTERNAL__RendererCore,R as __INTERNAL__convertToRendererCoreOptions,T as __setWatermarkOnClickFn,_ as checkWorkerUrls,N as disableText3DWorker,H as enableTestMode,S as findPreferredLanguageInVenue,W as forceEnterpriseLocations,Y as getMapData,Z as getMapDataEnterprise,M as getMultiFloorState,aa as getVersion,Q as hydrateMapData,U as hydrateMapDataFromMVF,v as parseMVF,J as preloadFont,b as setLoggerLevel,V as setUseEnterpriseAPI,O as setWorkersUrl,X as shouldForceEnterpriseLocations,$ as show3dMap,ba as show3dMapGeojson,x as unzipAndParseMVFv2,w as unzipMVF};