@mappedin/mappedin-js 6.18.0 → 6.20.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.
Files changed (37) hide show
  1. package/THIRD_PARTY_LICENSES.txt +448 -45
  2. package/lib/esm/GLTFExporter-4GOQ5PN2.js +1 -0
  3. package/lib/esm/GLTFLoader-DIBVPAYN.js +1 -0
  4. package/lib/esm/chunk-344UV3KW.js +1515 -0
  5. package/lib/esm/chunk-JTQDGBFM.js +956 -0
  6. package/lib/esm/{chunk-X2XAL5AL.js → chunk-PCLZGYNN.js} +1 -1
  7. package/lib/esm/chunk-PWEV3AFA.js +1 -0
  8. package/lib/esm/chunk-QISNVXXC.js +660 -0
  9. package/lib/esm/chunk-S5CGAT7I.js +3819 -0
  10. package/lib/esm/index.css +1 -1
  11. package/lib/esm/index.d.ts +1063 -108
  12. package/lib/esm/index.js +1 -1
  13. package/lib/esm/inspector-Q3DGNXKB.js +482 -0
  14. package/lib/esm/inspector-XFCJVSNO.css +1 -0
  15. package/lib/esm/internal-MHQVREWX.css +1 -0
  16. package/lib/esm/internal-MWOCYEXN.js +1 -0
  17. package/lib/esm/{roboto-regular-OIQQVHWA.js → roboto-regular-6ZYOMS3F.js} +1 -1
  18. package/lib/esm/src-HQDOYNWH.js +1 -0
  19. package/lib/esm/src-WUAFLQGO.css +1 -0
  20. package/lib/esm/text3d-RYF2ENM3.js +252 -0
  21. package/lib/esm/workers/collision-worker.csp.js +1 -1
  22. package/lib/index.css +1 -1
  23. package/package.json +2 -2
  24. package/lib/esm/GLTFExporter-REUTCDDJ.js +0 -1
  25. package/lib/esm/GLTFLoader-BHAZAEWN.js +0 -1
  26. package/lib/esm/chunk-FILUCKU4.js +0 -1
  27. package/lib/esm/chunk-FQILVVN4.js +0 -1
  28. package/lib/esm/chunk-KNYR4VGD.js +0 -1
  29. package/lib/esm/chunk-MCLERQTU.js +0 -1
  30. package/lib/esm/chunk-USECXCBB.js +0 -1
  31. package/lib/esm/inspector-6AQ5XCPD.js +0 -1
  32. package/lib/esm/inspector-6RM5OI6U.css +0 -1
  33. package/lib/esm/internal-I66JHO4D.js +0 -1
  34. package/lib/esm/internal-J5PK6TOB.css +0 -1
  35. package/lib/esm/src-GA2Z4OON.css +0 -1
  36. package/lib/esm/src-VUR3CJ3Y.js +0 -1
  37. package/lib/esm/text3d-WK55MUUL.js +0 -1
@@ -1,8 +1,8 @@
1
- import * as _mappedin_mvf_v28 from "@mappedin/mvf-v2";
1
+ import * as _mappedin_mvf_v25 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, LabelAppearance as LabelAppearance$1, LabelRenderedState, LabelTextPlacement as LabelTextPlacement$1, 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, Shading, Text3DState, WatermarkUpdateOptions } 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";
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";
@@ -209,6 +209,11 @@ type TSearchOptions = {
209
209
  */
210
210
  enabled: boolean;
211
211
  };
212
+ /**
213
+ * Options shared by every {@link getMapData} call regardless of authentication mode.
214
+ * Carries the target `mapId` and optional overrides such as environment, base URL,
215
+ * and language preferences.
216
+ */
212
217
  type TGetMapDataSharedOptions = {
213
218
  /**
214
219
  * Mappedin map ID.
@@ -304,8 +309,12 @@ type TGetMapDataSharedOptions = {
304
309
  */
305
310
  prefetchTokens?: boolean;
306
311
  /**
307
- * @hidden
308
- * @internal
312
+ * Load draft (unpublished) enterprise map instead of the live version.
313
+ * Set to `"draft"` to fetch the latest unpublished changes.
314
+ * Leave unspecified to load the published live data.
315
+ *
316
+ * Requires an Enterprise API key. Only applicable to maps made in Mappedin CMS.
317
+ * @default undefined
309
318
  */
310
319
  layoutId?: 'draft';
311
320
  /**
@@ -344,6 +353,8 @@ type TGetMapDataWithCredentialsOptions = {
344
353
  secret: string;
345
354
  } & TGetMapDataSharedOptions;
346
355
  /**
356
+ * {@link getMapData} options that authenticate with a pre-issued access token,
357
+ * as opposed to a `key`/`secret` pair.
347
358
  * @interface
348
359
  */
349
360
  type TGetMapDataWithAccessTokenOptions = {
@@ -352,6 +363,10 @@ type TGetMapDataWithAccessTokenOptions = {
352
363
  */
353
364
  accessToken: string;
354
365
  } & TGetMapDataSharedOptions;
366
+ /**
367
+ * Options accepted by {@link getMapData}. Either credentials (`key`/`secret`) or an
368
+ * `accessToken` may be supplied alongside the shared options.
369
+ */
355
370
  type TGetMapDataOptions = TGetMapDataWithCredentialsOptions | TGetMapDataWithAccessTokenOptions;
356
371
  /**
357
372
  * @internal
@@ -399,9 +414,21 @@ type ParsedMVFResult = {
399
414
  mvf2: ParsedMVF$1;
400
415
  mvf3?: MVFv2_STANDARD_MVFv3$1;
401
416
  };
417
+ /**
418
+ * Decompress and parse a binary MVF (Mappedin Venue Format) payload into the
419
+ * structured `ParsedMVFResult` consumed by {@link hydrateMapData}.
420
+ *
421
+ * @param data - The gzipped MVF binary payload.
422
+ * @param inputVersion - The MVF schema version to parse against.
423
+ */
402
424
  declare function unzipAndParseMVFv2(data: Uint8Array, inputVersion?: string): Promise<ParsedMVFResult>;
403
425
  //#endregion
404
426
  //#region src/hydrate-map-data.d.ts
427
+ /**
428
+ * Pre-fetched MVF data passed to {@link hydrateMapData} so a map can be constructed
429
+ * without going to the network. Supports both binary (`Uint8Array`) and JSON forms,
430
+ * optional language packs, and matches the shape produced by Mappedin's CDN.
431
+ */
405
432
  type THydrateMapDataBundle = {
406
433
  type: 'binary';
407
434
  options?: {
@@ -599,8 +626,19 @@ type CaptureEventsPayloadMap = {
599
626
  * Optional array of result IDs (hits).
600
627
  */
601
628
  hits?: string[];
629
+ /**
630
+ * Total number of results returned for the query across all result categories
631
+ * (places + enterprise locations + enterprise categories). Useful for identifying
632
+ * queries that return no results (`resultCount === 0`).
633
+ */
634
+ resultCount?: number;
602
635
  };
603
636
  };
637
+ /**
638
+ * Sends user interaction analytics events to Mappedin's analytics backend.
639
+ * Captures map loads, search queries, directions, and custom user events so
640
+ * usage of an indoor map can be measured and tuned.
641
+ */
604
642
  declare class Analytics {
605
643
  #private;
606
644
  /**
@@ -635,6 +673,12 @@ declare class Analytics {
635
673
  analyticsBaseUrl: string;
636
674
  /** Flag to disable authentication. */
637
675
  noAuth: boolean;
676
+ /**
677
+ * Marks the tenant as an enterprise venue. Only enterprise venues are allowed to send
678
+ * `x-mappedin-key` / `x-mappedin-secret` headers to the analytics gateway — non-enterprise
679
+ * tenants must use `accessToken` (Bearer) auth, otherwise the gateway returns 401.
680
+ */
681
+ enterprise: boolean;
638
682
  /** Flag to enable geolocation mode. */
639
683
  geolocationMode: boolean;
640
684
  /** The context in which the analytics are being used. */
@@ -689,6 +733,12 @@ type AnalyticState = {
689
733
  analyticsBaseUrl: string;
690
734
  /** Flag to disable authentication. */
691
735
  noAuth: boolean;
736
+ /**
737
+ * Marks the tenant as an enterprise venue. Only enterprise venues are allowed to send
738
+ * `x-mappedin-key` / `x-mappedin-secret` headers to the analytics gateway — non-enterprise
739
+ * tenants must use `accessToken` (Bearer) auth, otherwise the gateway returns 401.
740
+ */
741
+ enterprise: boolean;
692
742
  /** Flag to enable geolocation mode. */
693
743
  geolocationMode: boolean;
694
744
  /** @internal The device ID to be used for analytics. */
@@ -3056,6 +3106,15 @@ declare const LABEL_TEXT_PLACEMENT: {
3056
3106
  readonly CENTER: "center";
3057
3107
  };
3058
3108
  declare const LABEL_LOW_PRIORITY = "low-priority";
3109
+ /**
3110
+ * The placement of a label's text relative to its pin.
3111
+ *
3112
+ * - `'right'` — text appears to the right of the pin.
3113
+ * - `'left'` — text appears to the left of the pin.
3114
+ * - `'top'` — text appears above the pin.
3115
+ * - `'hidden'` — text is hidden, only the pin is visible.
3116
+ * - `'center'` — text is centered at the pin location and the pin is hidden.
3117
+ */
3059
3118
  type LabelTextPlacement = (typeof LABEL_TEXT_PLACEMENT)[keyof typeof LABEL_TEXT_PLACEMENT];
3060
3119
  type LabelTextPlacementInternal = LabelTextPlacement | typeof LABEL_LOW_PRIORITY;
3061
3120
  type EasingCurve$1 = string;
@@ -3108,7 +3167,66 @@ declare const labelAppearanceSchemaBase: ZodObject<{
3108
3167
  __EXPERIMENTAL_wrapperShadowOffsetX: ZodDefault<ZodNumber>;
3109
3168
  __EXPERIMENTAL_wrapperShadowOffsetY: ZodDefault<ZodNumber>;
3110
3169
  __EXPERIMENTAL_wrapperShadowBlur: ZodDefault<ZodNumber>;
3170
+ __EXPERIMENTAL_wrapperOpacity: ZodDefault<ZodNumber>;
3111
3171
  }, $strip>;
3172
+ /**
3173
+ * Options to control how a label is rendered.
3174
+ *
3175
+ * | Option | Type | Description | Default |
3176
+ * |--------|------|-------------|---------|
3177
+ * | `margin` | `number` | Margin around the label text and pin in pixels. This will affect label density. Minimum is 6px. | 6 |
3178
+ * | `maxLines` | `number` | Number of lines to display when text spans multiple lines. | 2 |
3179
+ * | `textSize` | `number` | Text size in pixels | 11.5 |
3180
+ * | `maxWidth` | `number` | Maximum width of text in pixels. | 150 |
3181
+ * | `lineHeight` | `number` | Line height sets the height of a line box. It's commonly used to set the distance between lines of text. | 1.2 |
3182
+ * | `color` | `string` | A color string for the label text and pin. | `#333` |
3183
+ * | `outlineColor` | `string` | A color string for the outline around the label text and pin. | `white` |
3184
+ * | `textColor` | `string` | A color string representing just the text color. Defaults to the same as `color`. | - |
3185
+ * | `textOutlineColor` | `string` | A color string representing just the text outline. Defaults to the same as `outlineColor`. | - |
3186
+ * | `pinColor` | `string` | A color string representing just the pin color. Defaults to the same as `color`. | - |
3187
+ * | `pinOutlineColor` | `string` | A color string representing just the pin outline. Defaults to the same as `outlineColor`. | - |
3188
+ * | `pinColorInactive` | `string` | A color string representing just the pin color when the label is inactive. Defaults to the same as `pinColor`. | - |
3189
+ * | `pinOutlineColorInactive` | `string` | A color string representing just the pin outline when the label is inactive. Defaults to the same as `pinOutlineColor`. | - |
3190
+ * | `icon` | `string` | An icon to be placed inside the label pin. Can be an SVG string or a path to a PNG or JPEG. | - |
3191
+ * | `iconSize` | `number` | Size of the icon in pixels. Requires `icon` to be set. | 20 |
3192
+ * | `iconScale` | `number` \| {@link Interpolation} | Scale the icon uniformly. Specify a number or an {@link Interpolation} object. | 1 |
3193
+ * | `iconPadding` | `number` | Padding between the icon and the pin's border in pixels. | 2 |
3194
+ * | `iconFit` | `'fill'` \| `'contain'` \| `'cover'` | How the icon should fit inside the pin. Options: `fill` (stretch to fill), `cover` (maintain aspect ratio and fill), `contain` (maintain aspect ratio and fit inside). | `cover` |
3195
+ * | `iconOverflow` | `'visible'` \| `'hidden'` | Whether the icon should overflow the circle of the pin. | `hidden` |
3196
+ * | `iconVisible` | `boolean` \| `number` | Controls icon visibility. If boolean, directly shows/hides the icon. If number, defines the zoom level at which the icon becomes visible. | `true` |
3197
+ * | `opacity` | `number` | The opacity of the Label when it is enabled and visible. | `1` |
3198
+ *
3199
+ * @example Render a label with an SVG icon
3200
+ * ```ts
3201
+ * mapView.Labels.add(space, "Label", {
3202
+ * appearance: {
3203
+ * icon: `<svg>...</svg>`,
3204
+ * },
3205
+ * });
3206
+ * ```
3207
+ *
3208
+ * @example Render a label with an image icon
3209
+ * ```ts
3210
+ * mapView.Labels.add(space, "Label", {
3211
+ * appearance: {
3212
+ * icon: 'https://example.com/icon.png',
3213
+ * },
3214
+ * });
3215
+ * ```
3216
+ *
3217
+ * @example Scale a label's icon with zoom level
3218
+ * ```ts
3219
+ * mapView.Labels.add(space, "Label", {
3220
+ * appearance: {
3221
+ * iconScale: {
3222
+ * on: 'zoom-level',
3223
+ * input: [19, 22],
3224
+ * output: [1, 3],
3225
+ * },
3226
+ * },
3227
+ * });
3228
+ * ```
3229
+ */
3112
3230
  type LabelAppearance = Partial<input<typeof labelAppearanceSchemaBase>> & {
3113
3231
  iconScale?: number | Interpolation$2<'zoom-level', number[]>;
3114
3232
  };
@@ -3156,6 +3274,7 @@ declare const labelAppearanceSchema: ZodPipe<ZodObject<{
3156
3274
  __EXPERIMENTAL_wrapperShadowOffsetX: ZodDefault<ZodNumber>;
3157
3275
  __EXPERIMENTAL_wrapperShadowOffsetY: ZodDefault<ZodNumber>;
3158
3276
  __EXPERIMENTAL_wrapperShadowBlur: ZodDefault<ZodNumber>;
3277
+ __EXPERIMENTAL_wrapperOpacity: ZodDefault<ZodNumber>;
3159
3278
  }, $strip>, ZodTransform<Required<LabelAppearance>, {
3160
3279
  margin: number;
3161
3280
  maxLines: number;
@@ -3183,6 +3302,7 @@ declare const labelAppearanceSchema: ZodPipe<ZodObject<{
3183
3302
  __EXPERIMENTAL_wrapperShadowOffsetX: number;
3184
3303
  __EXPERIMENTAL_wrapperShadowOffsetY: number;
3185
3304
  __EXPERIMENTAL_wrapperShadowBlur: number;
3305
+ __EXPERIMENTAL_wrapperOpacity: number;
3186
3306
  textColor?: string | undefined;
3187
3307
  textOutlineColor?: string | undefined;
3188
3308
  pinColor?: string | undefined;
@@ -3252,6 +3372,7 @@ declare class LabelComponent {
3252
3372
  interactive: boolean;
3253
3373
  isOccluded: boolean;
3254
3374
  offscreen: boolean;
3375
+ disposed: boolean;
3255
3376
  /**
3256
3377
  * Whether the label can be shown, which is decided by the collision engine
3257
3378
  */
@@ -4371,7 +4492,99 @@ declare class Path implements IFocusable {
4371
4492
  declare const EASING_CURVES: readonly ["ease-in", "ease-out", "ease-in-out", "linear", "ease-out-cubic"];
4372
4493
  type EasingCurve = (typeof EASING_CURVES)[number];
4373
4494
  //#endregion
4495
+ //#region src/navigation/tethered.d.ts
4496
+ /**
4497
+ * Preset visual styles for the connector line drawn from the tracked
4498
+ * coordinate to the path when outside the tether threshold.
4499
+ *
4500
+ * - `'dashed-boxes'` — chunky 1m absolute dashes (default). Reads loudly as
4501
+ * "off-route".
4502
+ * - `'dashed-stripes'` — long dashes with tiny gaps. Almost-solid striped look.
4503
+ * - `'dashed-sparse'` — same dash size as `dashed-boxes` but with a much
4504
+ * bigger gap. Quieter, more breathable rhythm.
4505
+ * - `'solid'` — continuous solid line, no dashing. A plain leader line.
4506
+ * - `'bordered'` — ribbon geometry with darkened edges. Reads as a
4507
+ * warning ribbon. Forces ribbon geometry on the connector.
4508
+ *
4509
+ * For fine-grained control (custom colour, exact width, etc.) use
4510
+ * `outsideThresholdPathOptions` — it is merged on top of the preset and
4511
+ * wins on any conflicting properties.
4512
+ */
4513
+ type TOutsideThresholdPathStyle = 'solid' | 'dashed-boxes' | 'dashed-stripes' | 'dashed-sparse' | 'bordered';
4514
+ /**
4515
+ * Options for tethering to a coordinate.
4516
+ */
4517
+ type TTetheredOptions = {
4518
+ /**
4519
+ * The distance threshold within which the coordinate will be tethered to the path (meters).
4520
+ * @default 10
4521
+ */
4522
+ tetherThresholdDistance?: number;
4523
+ /**
4524
+ * Visual preset for the connector line drawn from the tracked coordinate
4525
+ * to the path when outside the tether threshold. See
4526
+ * {@link TOutsideThresholdPathStyle} for the list of presets.
4527
+ *
4528
+ * For finer control, use {@link outsideThresholdPathOptions} which is
4529
+ * merged on top of the preset.
4530
+ *
4531
+ * @default 'dashed-boxes'
4532
+ */
4533
+ outsideThresholdPathStyle?: TOutsideThresholdPathStyle;
4534
+ /**
4535
+ * Low-level overrides applied on top of {@link outsideThresholdPathStyle}.
4536
+ * Anything specified here wins over the preset.
4537
+ */
4538
+ outsideThresholdPathOptions?: Partial<TAddPathOptions>;
4539
+ /**
4540
+ * Options for the tether path (solid path from threshold point to destination).
4541
+ */
4542
+ tetherPathOptions?: Partial<TAddPathOptions>;
4543
+ /**
4544
+ * Controls behavior when the coordinate is outside the threshold distance from the path.
4545
+ * - `'tether-and-dash'`: Creates both the tethered path and a dashed line from user to threshold point (default)
4546
+ * - `'tether-only'`: Creates only the tethered path, no dashed line
4547
+ * - `'untether'`: Untethers from the path until a coordinate within threshold is provided
4548
+ * @default 'tether-and-dash'
4549
+ */
4550
+ coordinateOutsideThresholdMode?: 'tether-and-dash' | 'tether-only' | 'untether';
4551
+ /**
4552
+ * Whether to hide markers on the portion of the path the user has already travelled past.
4553
+ * Markers on the remaining path (current segment ahead of the user and all subsequent
4554
+ * segments, including the destination marker) stay enabled.
4555
+ * @default false
4556
+ */
4557
+ hideMarkersOutsideThreshold?: boolean;
4558
+ };
4559
+ //#endregion
4560
+ //#region src/navigation/travelled.d.ts
4561
+ /**
4562
+ * Options for updating travelled path state.
4563
+ */
4564
+ type TTravelledOptions = {
4565
+ /**
4566
+ * The color to use for the travelled portion of the path.
4567
+ * @default '#999'
4568
+ */
4569
+ color?: string;
4570
+ };
4571
+ //#endregion
4374
4572
  //#region src/navigation/index.d.ts
4573
+ /**
4574
+ * Options for tracking a coordinate on the navigation path.
4575
+ */
4576
+ type TTrackCoordinateOptions = {
4577
+ /**
4578
+ * The tracking mode to use.
4579
+ * - 'tethered': Connect the user's position to the closest point on the path
4580
+ * - 'travelled': Show the travelled portion of the path with a different color
4581
+ */
4582
+ mode: 'tethered' | 'travelled';
4583
+ } & (({
4584
+ mode: 'tethered';
4585
+ } & TTetheredOptions) | ({
4586
+ mode: 'travelled';
4587
+ } & TTravelledOptions));
4375
4588
  /**
4376
4589
  * Controls marker creation for navigation points.
4377
4590
  *
@@ -4503,6 +4716,11 @@ type TNavigationOptions = {
4503
4716
  animated?: boolean;
4504
4717
  };
4505
4718
  };
4719
+ /**
4720
+ * Snapshot of the navigation system's state at a point in time, including the
4721
+ * active floors, paths, and directions. Returned by `Navigation.getState()` and
4722
+ * suitable for serialization or use in undo/redo flows.
4723
+ */
4506
4724
  type NavigationState = {
4507
4725
  isMultiFloor: boolean;
4508
4726
  floorStacks: FloorStack[];
@@ -4600,6 +4818,102 @@ declare class Navigation {
4600
4818
  */
4601
4819
  setActivePathByDirections(target: Directions): void;
4602
4820
  clearHighlightedPathSection(): void;
4821
+ /**
4822
+ * Tracks the user's position on the navigation path using the specified mode.
4823
+ * Only one tracking mode can be active at a time — switching modes auto-clears
4824
+ * the previous mode's visual state.
4825
+ *
4826
+ * Call this on every position update (e.g. from BlueDot's `dot-position-update`
4827
+ * event). Use {@link stopTracking} to tear down all tracking state.
4828
+ *
4829
+ * @param coordinate - The user's current coordinate
4830
+ * @param options - Tracking options including mode ('tethered' or 'travelled') and mode-specific options
4831
+ * @returns For 'tethered' mode: path coordinates if successful, null otherwise.
4832
+ * For 'travelled' mode: the travelled fraction (0-1) if successful, null otherwise.
4833
+ * @experimental
4834
+ *
4835
+ * @example
4836
+ * ```ts
4837
+ * // 'tethered' — snap user position onto the closest point on the active path
4838
+ * blueDot.on('dot-position-update', e => {
4839
+ * mapView.Navigation.trackCoordinate(e.position, {
4840
+ * mode: 'tethered',
4841
+ * tetherThresholdDistance: 10,
4842
+ * coordinateOutsideThresholdMode: 'tether-and-dash',
4843
+ * outsideThresholdPathStyle: 'dashed-boxes',
4844
+ * });
4845
+ * });
4846
+ *
4847
+ * // 'travelled' — recolour the portion of the path the user has walked past
4848
+ * blueDot.on('dot-position-update', e => {
4849
+ * mapView.Navigation.trackCoordinate(e.position, {
4850
+ * mode: 'travelled',
4851
+ * color: '#999',
4852
+ * });
4853
+ * });
4854
+ * ```
4855
+ */
4856
+ trackCoordinate(coordinate: Coordinate, options: TTrackCoordinateOptions): Coordinate[] | number | null;
4857
+ /**
4858
+ * Stops any active coordinate tracking (tethering or travelled path visualization).
4859
+ * @experimental
4860
+ */
4861
+ stopTracking(): void;
4862
+ /**
4863
+ * Returns the current tracking mode, or `null` if no tracking is active.
4864
+ *
4865
+ * - `'tethered'` — coordinate is being snapped onto the active path.
4866
+ * - `'travelled'` — the traversed portion of the path is being recoloured.
4867
+ *
4868
+ * The mode is set as soon as {@link trackCoordinate} is called (even before
4869
+ * the first coordinate is matched). For a stricter "is the visualisation
4870
+ * currently active" check, use {@link isTracking}.
4871
+ *
4872
+ * @experimental
4873
+ */
4874
+ get currentTrackingMode(): 'tethered' | 'travelled' | null;
4875
+ /**
4876
+ * Returns true while a coordinate is actively being tracked and visualized
4877
+ * on the path.
4878
+ *
4879
+ * - In `'tethered'` mode this is true whenever a tethered path is drawn or
4880
+ * path segments behind the user have been hidden.
4881
+ * - In `'travelled'` mode this is true once one or more segments have been
4882
+ * marked as travelled.
4883
+ *
4884
+ * This is more precise than checking {@link currentTrackingMode}: the mode
4885
+ * is set as soon as {@link trackCoordinate} is called, but `isTracking`
4886
+ * only becomes true once the coordinate is successfully matched to the
4887
+ * path. It also becomes false again if `coordinateOutsideThresholdMode` is
4888
+ * `'untether'` and a coordinate falls outside the threshold.
4889
+ *
4890
+ * @experimental
4891
+ */
4892
+ get isTracking(): boolean;
4893
+ /**
4894
+ * Returns true while the dashed connector line from the tracked coordinate
4895
+ * to the path is being drawn. This only happens in `'tethered'` mode when
4896
+ * the coordinate is outside the tether threshold and
4897
+ * `coordinateOutsideThresholdMode` is `'tether-and-dash'` (the default).
4898
+ *
4899
+ * @experimental
4900
+ */
4901
+ get isShowingOutsideThresholdPath(): boolean;
4902
+ /**
4903
+ * Returns the fraction (0–1) of the active path that has been travelled
4904
+ * while in `'travelled'` mode. Returns `null` when not currently tracking
4905
+ * in travelled mode.
4906
+ *
4907
+ * Multiply by {@link Navigation.activePath}'s `distance` to get the
4908
+ * travelled distance in meters.
4909
+ *
4910
+ * In multi-destination mode this reflects progress along the currently
4911
+ * active destination's path only — it resets when the active path
4912
+ * changes.
4913
+ *
4914
+ * @experimental
4915
+ */
4916
+ get travelledFraction(): number | null;
4603
4917
  /**
4604
4918
  * Highlights path section between two coordinates. This can be used to highlight any section of the path or indicated the currently traveled path.
4605
4919
  */
@@ -4676,6 +4990,7 @@ declare class Footprint {
4676
4990
  private ceilingId?;
4677
4991
  private ceilingMaskId?;
4678
4992
  private basementMaskId?;
4993
+ private extrudedPolygonId?;
4679
4994
  private footprintColor;
4680
4995
  layer: EntityId<GroupContainerState>;
4681
4996
  groupContainer: EntityId<GroupContainerState>;
@@ -4703,6 +5018,23 @@ declare class Footprint {
4703
5018
  * @param voidPolygons Array of polygon features representing voids
4704
5019
  */
4705
5020
  buildVoidWalls(voidPolygons: Feature$1<Polygon$1, any>[]): void;
5021
+ /**
5022
+ * Builds the footprint as a single extruded polygon (no separate walls or ceiling).
5023
+ *
5024
+ * Used as the "simple mode" alternative to `buildWalls` + `buildVoidWalls` + `buildCeiling`
5025
+ * when no ceiling cuts are needed (i.e. `spacesOpenToBelowEnabled` is false, or it is
5026
+ * enabled but neither this floor nor the floor above contributes any cuts). Collapses
5027
+ * three feature collections into one, reducing draw calls per floor.
5028
+ *
5029
+ * The extruded mesh's top face acts as the "ceiling" — there is no separate ceiling
5030
+ * layer, so `ceilingVisible` and `ceilingThickness` are not honoured in simple mode.
5031
+ *
5032
+ * Holes are stripped from the source geometry before extrusion. The footprint may carry
5033
+ * void holes from MVF data, but in simple mode the user has opted out of "spaces open to
5034
+ * below" (or there are no cuts to apply), so the top and bottom faces must be solid —
5035
+ * matching the legacy `buildCeiling` path which also calls `removeHoles` before rendering.
5036
+ */
5037
+ buildExtrudedPolygon(): void;
4706
5038
  /**
4707
5039
  * Builds the ceiling with voids from the floor above
4708
5040
  */
@@ -4710,7 +5042,7 @@ declare class Footprint {
4710
5042
  /**
4711
5043
  * Builds the basement mask for elevation 0 floors
4712
5044
  */
4713
- buildBasementMask(): void;
5045
+ buildBasementMask(spacesOpenToBelow?: Feature$1<Polygon$1, SpaceProperties>[]): void;
4714
5046
  /**
4715
5047
  * Updates the state of the footprint geometry (walls and ceiling)
4716
5048
  * @param state Partial state to update
@@ -4803,6 +5135,7 @@ declare class FloorObject implements FloorProperties {
4803
5135
  get visible(): boolean;
4804
5136
  setVisible(visible: boolean): void;
4805
5137
  buildCeiling(ceilingCuts: Feature$1<Polygon$1, any>[]): void;
5138
+ buildExtrudedPolygon(): void;
4806
5139
  buildBasementMask(): void;
4807
5140
  /**
4808
5141
  * Builds a gap footprint representing missing floors below this floor.
@@ -5125,6 +5458,7 @@ declare class Shapes {
5125
5458
  * ```ts
5126
5459
  * const shape = mapView.Shapes.add(geometry, {
5127
5460
  * color: 'green',
5461
+ * hoverColor: 'blue',
5128
5462
  * opacity: 0.7,
5129
5463
  * height: 2,
5130
5464
  * interactive: true
@@ -5162,6 +5496,11 @@ type InspectorState = {
5162
5496
  type InspectorOption = Partial<InspectorState>;
5163
5497
  //#endregion
5164
5498
  //#region src/debug.d.ts
5499
+ /**
5500
+ * Diagnostic utilities exposed at `MapView.Debug`. Provides toggles for
5501
+ * debug visualizations, snapshots of the current camera state, and other
5502
+ * inspection helpers useful while developing against Mappedin JS.
5503
+ */
5165
5504
  declare class Debug {
5166
5505
  #private;
5167
5506
  state: DebugState$1;
@@ -6083,6 +6422,10 @@ type PartialExcept<T$1, K$1 extends string> = { [P in keyof T$1 as P extends K$1
6083
6422
  type ExtractDeep<T$1, U$1, Depth extends readonly number[] = []> = Depth['length'] extends 3 ? any : { [K in keyof T$1 as T$1[K] extends U$1 ? K : T$1[K] extends object | undefined ? ExtractDeep<NonNullable<T$1[K]>, U$1, [...Depth, 0]> extends never ? never : K : never]: T$1[K] extends object | undefined ? undefined extends T$1[K] ? ExtractDeep<NonNullable<T$1[K]>, U$1, [...Depth, 0]> | undefined : ExtractDeep<NonNullable<T$1[K]>, U$1, [...Depth, 0]> : T$1[K] extends U$1 ? T$1[K] : never };
6084
6423
  //#endregion
6085
6424
  //#region src/api-geojson/auto/index.d.ts
6425
+ /**
6426
+ * Map view objects automatically created by `MapView.auto()` — typically labels
6427
+ * and markers generated from venue data for common element types.
6428
+ */
6086
6429
  type AutoElements = {
6087
6430
  labels: Label[];
6088
6431
  markers: Marker[];
@@ -6919,6 +7262,11 @@ declare class MapView {
6919
7262
  /**
6920
7263
  * Get the X and Y of a {@link Coordinate} measured from the top left corner of the map canvas.
6921
7264
  *
7265
+ * The projected altitude is derived from the floor's live state (via `coordinate.floorId`)
7266
+ * plus `coordinate.verticalOffset`. For coordinates without a `floorId`, `verticalOffset`
7267
+ * is used directly as an absolute scene altitude — useful for "what if" projections at
7268
+ * arbitrary altitudes without mutating the scene.
7269
+ *
6922
7270
  * @experimental
6923
7271
  */
6924
7272
  getScreenCoordinateFromCoordinate(coordinate: Coordinate): {
@@ -7285,7 +7633,7 @@ declare class Camera {
7285
7633
  /**
7286
7634
  * The camera's current pan mode.
7287
7635
  */
7288
- get panMode(): "elevation" | "default";
7636
+ get panMode(): "default" | "elevation";
7289
7637
  /**
7290
7638
  * Set the camera's pan mode. 'elevation' moves the camera up and down, while 'default' allows the camera to pan in all directions.
7291
7639
  * @experimental
@@ -7427,6 +7775,24 @@ declare class Camera {
7427
7775
  * The current elevation of the camera in meters.
7428
7776
  */
7429
7777
  get elevation(): number;
7778
+ /**
7779
+ * The maximum elevation (in meters) the camera is allowed to reach.
7780
+ * @default Infinity
7781
+ */
7782
+ get maxElevation(): number;
7783
+ /**
7784
+ * Cap the camera's elevation in meters. Useful when `panMode` is
7785
+ * `'elevation'` (vertical drag) to prevent the camera from rising above a
7786
+ * building or floor stack. Pass `Infinity` to remove the cap.
7787
+ *
7788
+ * Applies to user pedestal drag, `setElevation`, and `animateElevation`.
7789
+ * If the current elevation is above the new cap it is snapped down to it.
7790
+ *
7791
+ * @experimental
7792
+ * @param maxElevation The new maximum elevation in meters.
7793
+ * @default Infinity
7794
+ */
7795
+ setMaxElevation(maxElevation: number): void;
7430
7796
  /**
7431
7797
  * Animate the camera's elevation to a specified elevation.
7432
7798
  * @experimental
@@ -8182,6 +8548,11 @@ declare class Paths {
8182
8548
  type CurrentMapGetter$2 = () => GeojsonApiMapObject | undefined;
8183
8549
  //#endregion
8184
8550
  //#region src/api-geojson/style.d.ts
8551
+ /**
8552
+ * Applies named visual style presets to the current map. Accessible from
8553
+ * {@link MapView.Style}, it supports loading a {@link StyleCollection} or
8554
+ * setting an individual style by id.
8555
+ */
8185
8556
  declare class Style {
8186
8557
  #private;
8187
8558
  /**
@@ -8209,9 +8580,11 @@ type HiddenOutdoorGeometry = [polygons: GeoJSON.Feature<GeoJSON.Polygon | GeoJSO
8209
8580
  * [MapLibre GL JS](https://maplibre.org/maplibre-gl-js/docs/) is a TypeScript library that uses WebGL to render interactive maps from vector tiles in a browser. The Mappedin SDK makes use of it to display the outdoor map.
8210
8581
  *
8211
8582
  * By providing access to the MapLibre map used to draw the outdoor map, the Mappedin SDK enables developers to draw on and manipulate the outdoor map.
8212
- * Developers can use most capabilities of MapLibre GL JS with key exceptions being Interactivity and Camera, which are not available.
8583
+ * Developers can use most capabilities of MapLibre GL JS. The key exception is Interactivity, which is not available; direct Camera control is discouraged because Mappedin JS owns the outdoor camera (see below).
8584
+ *
8585
+ * User touch and click events are handled by Mappedin JS and are not propagated to the outdoor map layer. Camera movement is also driven by Mappedin JS; moving the MapLibre camera directly is not supported and may be overridden.
8213
8586
  *
8214
- * User touch and click events are handled by Mappedin JS and are not propagated to the outdoor map layer. Camera movement is also handled by Mappedin JS and cannot be manipulated using MapLibre controls.
8587
+ * IMPORTANT: Moving the camera via `Outdoor.map` (for example `Outdoor.map.flyTo` / `easeTo` / `jumpTo` / `setZoom`) is not supported Mappedin JS controls the outdoor camera and may override these calls. Use {@link MapView.Camera} (for example {@link Camera.animateTo}, {@link Camera.set}, or {@link Camera.focusOn}) instead.
8215
8588
  *
8216
8589
  * Refer to the [Outdoor Map Guide](https://developer.mappedin.com/web-sdk/outdoor-map) for more information and interactive examples.
8217
8590
  */
@@ -8227,11 +8600,30 @@ declare class Outdoor {
8227
8600
  */
8228
8601
  setStyle(style: any): void;
8229
8602
  /**
8230
- * Returns a Maplibre map for advanced usage.
8603
+ * Returns the underlying MapLibre GL map for **advanced, non-camera** usage,
8604
+ * such as adding custom layers, sources, GeoJSON, or deck.gl overlays.
8605
+ *
8606
+ * IMPORTANT: Moving the camera through this object is not supported. Camera
8607
+ * control (center, zoom, bearing, pitch, elevation) is owned by Mappedin JS,
8608
+ * so MapLibre camera methods such as `flyTo`, `easeTo`, `jumpTo`, `panTo`,
8609
+ * `zoomTo`, `setZoom`, `setCenter`, `setBearing`, or `setPitch` may be
8610
+ * overridden. Use the {@link Camera} API instead — it is the supported,
8611
+ * fully-featured path (animation promises, collision-aware framing).
8231
8612
  *
8232
- * @returns {object} Maplibre map instance
8613
+ * To move the camera, use the {@link Camera} API instead:
8614
+ * - {@link Camera.animateTo} — smoothly move to a center / zoom / bearing / pitch
8615
+ * - {@link Camera.set} — instantly set the camera
8616
+ * - {@link Camera.focusOn} — frame one or more map elements
8617
+ *
8618
+ * @example Move the camera to a coordinate (correct — do NOT use `Outdoor.map.flyTo`)
8619
+ * ```ts
8620
+ * mapView.Camera.animateTo({ center: coordinate, zoomLevel: 19 }, { duration: 600 });
8621
+ * ```
8622
+ *
8623
+ * @returns The MapLibre GL `Map` instance, or `undefined` if the outdoor view is disabled.
8233
8624
  *
8234
8625
  * Limitations:
8626
+ * - Camera methods are not supported (see above) — use {@link MapView.Camera} to move the camera.
8235
8627
  * - Maplibre interaction events are not supported, use Mappedin JS interaction events.
8236
8628
  * - Maplibre markers and labels may overlap as they are not integrated with the Mappedin JS collision engine.
8237
8629
  */
@@ -8452,6 +8844,7 @@ declare class Text3D {
8452
8844
  }
8453
8845
  //#endregion
8454
8846
  //#region src/states/doors-state.d.ts
8847
+ /** @internal */
8455
8848
  declare const doorsStateSchemaPartial: ZodObject<{
8456
8849
  type: ZodOptional<ZodDefault<ZodLiteral<"doors">>>;
8457
8850
  color: ZodOptional<ZodDefault<ZodString>>;
@@ -8465,6 +8858,7 @@ declare const doorsStateSchemaPartial: ZodObject<{
8465
8858
  visible: ZodOptional<ZodDefault<ZodBoolean>>;
8466
8859
  opacity: ZodOptional<ZodDefault<ZodNumber>>;
8467
8860
  }, $strip>;
8861
+ /** @internal */
8468
8862
  declare const doorsStateSchemaStrict: ZodObject<{
8469
8863
  type: ZodDefault<ZodLiteral<"doors">>;
8470
8864
  color: ZodDefault<ZodString>;
@@ -8478,24 +8872,39 @@ declare const doorsStateSchemaStrict: ZodObject<{
8478
8872
  visible: ZodDefault<ZodBoolean>;
8479
8873
  opacity: ZodDefault<ZodNumber>;
8480
8874
  }, $strict>;
8875
+ /**
8876
+ * The serialized state of all doors in the map, including their colors and visibility.
8877
+ */
8481
8878
  type TDoorsState = output<typeof doorsStateSchemaStrict>;
8879
+ /**
8880
+ * A partial doors state used to apply incremental updates, where every field is optional.
8881
+ */
8482
8882
  type TDoorsUpdateState = output<typeof doorsStateSchemaPartial>;
8483
8883
  //#endregion
8484
8884
  //#region src/states/facade-state.d.ts
8885
+ /** @internal */
8485
8886
  declare const facadeStateSchemaPartial: ZodObject<{
8486
8887
  type: ZodOptional<ZodDefault<ZodLiteral<"facade">>>;
8487
8888
  opacity: ZodOptional<ZodDefault<ZodNumber>>;
8488
8889
  visible: ZodOptional<ZodDefault<ZodBoolean>>;
8489
8890
  }, $strip>;
8891
+ /** @internal */
8490
8892
  declare const facadeStateSchemaStrict: ZodObject<{
8491
8893
  type: ZodDefault<ZodLiteral<"facade">>;
8492
8894
  opacity: ZodDefault<ZodNumber>;
8493
8895
  visible: ZodDefault<ZodBoolean>;
8494
8896
  }, $strict>;
8897
+ /**
8898
+ * The serialized state of all building facades, including their materials and visibility.
8899
+ */
8495
8900
  type TFacadeState = output<typeof facadeStateSchemaStrict>;
8901
+ /**
8902
+ * A partial facades state used to apply incremental updates, where every field is optional.
8903
+ */
8496
8904
  type TFacadeUpdateState = output<typeof facadeStateSchemaPartial>;
8497
8905
  //#endregion
8498
8906
  //#region src/states/floor-state.d.ts
8907
+ /** @internal */
8499
8908
  declare const floorStateSchemaPartial: ZodObject<{
8500
8909
  geometry: ZodOptional<ZodObject<{
8501
8910
  type: ZodOptional<ZodDefault<ZodLiteral<"floor.geometry">>>;
@@ -8573,6 +8982,7 @@ declare const floorStateSchemaPartial: ZodObject<{
8573
8982
  visible: ZodOptional<ZodDefault<ZodBoolean>>;
8574
8983
  altitude: ZodOptional<ZodDefault<ZodNumber>>;
8575
8984
  }, $strip>;
8985
+ /** @internal */
8576
8986
  declare const floorStateSchemaStrict: ZodObject<{
8577
8987
  geometry: ZodObject<{
8578
8988
  type: ZodDefault<ZodLiteral<"floor.geometry">>;
@@ -8650,10 +9060,17 @@ declare const floorStateSchemaStrict: ZodObject<{
8650
9060
  visible: ZodDefault<ZodBoolean>;
8651
9061
  altitude: ZodDefault<ZodNumber>;
8652
9062
  }, $strict>;
9063
+ /**
9064
+ * The serialized state of a floor, including its geometry, labels, markers, paths, and visibility.
9065
+ */
8653
9066
  type TFloorState = output<typeof floorStateSchemaStrict>;
9067
+ /**
9068
+ * A partial floor state used to apply incremental updates, where every field is optional.
9069
+ */
8654
9070
  type TFloorUpdateState = output<typeof floorStateSchemaPartial>;
8655
9071
  //#endregion
8656
9072
  //#region src/states/geometry-state.d.ts
9073
+ /** @internal */
8657
9074
  declare const geometryStateSchemaPartial: ZodObject<{
8658
9075
  type: ZodOptional<ZodDefault<ZodLiteral<"geometry">>>;
8659
9076
  visible: ZodOptional<ZodDefault<ZodBoolean>>;
@@ -8676,6 +9093,7 @@ declare const geometryStateSchemaPartial: ZodObject<{
8676
9093
  borderColor: ZodOptional<ZodOptional<ZodString>>;
8677
9094
  borderWidth: ZodOptional<ZodOptional<ZodNumber>>;
8678
9095
  }, $strip>;
9096
+ /** @internal */
8679
9097
  declare const geometryStateSchemaStrict: ZodObject<{
8680
9098
  type: ZodDefault<ZodLiteral<"geometry">>;
8681
9099
  visible: ZodDefault<ZodBoolean>;
@@ -8699,16 +9117,21 @@ declare const geometryStateSchemaStrict: ZodObject<{
8699
9117
  borderWidth: ZodOptional<ZodNumber>;
8700
9118
  }, $strict>;
8701
9119
  /**
8702
- * Defines the state for geometry elements like {@link Space} when updated.
9120
+ * The serialized state of a geometry element such as a {@link Space}, including
9121
+ * its style, color, and visibility.
8703
9122
  */
8704
9123
  type TGeometryState = output<typeof geometryStateSchemaStrict>;
9124
+ /**
9125
+ * A partial geometry state used to apply incremental updates, where every field is optional.
9126
+ */
8705
9127
  type TGeometryUpdateState = output<typeof geometryStateSchemaPartial>;
8706
9128
  //#endregion
8707
9129
  //#region src/states/label-state.d.ts
9130
+ /** @internal */
8708
9131
  declare const labelStateSchema: ZodObject<{
8709
9132
  type: ZodDefault<ZodLiteral<"label">>;
8710
9133
  text: ZodString;
8711
- rank: ZodCustom<TCollisionRankingTier | "initial", TCollisionRankingTier | "initial">;
9134
+ rank: ZodCustom<"initial" | TCollisionRankingTier, "initial" | TCollisionRankingTier>;
8712
9135
  appearance: ZodCustom<LabelAppearance, LabelAppearance>;
8713
9136
  interactive: ZodDefault<ZodBoolean>;
8714
9137
  enabled: ZodDefault<ZodBoolean>;
@@ -8727,10 +9150,11 @@ declare const labelStateSchema: ZodObject<{
8727
9150
  }>>]>>;
8728
9151
  occlude: ZodDefault<ZodBoolean>;
8729
9152
  }, $strip>;
9153
+ /** @internal */
8730
9154
  declare const labelStateSchemaPartial: ZodObject<{
8731
9155
  type: ZodOptional<ZodDefault<ZodLiteral<"label">>>;
8732
9156
  text: ZodOptional<ZodString>;
8733
- rank: ZodOptional<ZodCustom<TCollisionRankingTier | "initial", TCollisionRankingTier | "initial">>;
9157
+ rank: ZodOptional<ZodCustom<"initial" | TCollisionRankingTier, "initial" | TCollisionRankingTier>>;
8734
9158
  appearance: ZodOptional<ZodCustom<LabelAppearance, LabelAppearance>>;
8735
9159
  interactive: ZodOptional<ZodDefault<ZodBoolean>>;
8736
9160
  enabled: ZodOptional<ZodDefault<ZodBoolean>>;
@@ -8749,13 +9173,21 @@ declare const labelStateSchemaPartial: ZodObject<{
8749
9173
  }>>]>>>;
8750
9174
  occlude: ZodOptional<ZodDefault<ZodBoolean>>;
8751
9175
  }, $strip>;
9176
+ /**
9177
+ * The serialized state of a label, including its position, appearance, and rank.
9178
+ * Returned by state APIs and used by extensions that need to inspect or persist label state.
9179
+ */
8752
9180
  type TLabelState = output<typeof labelStateSchema>;
9181
+ /**
9182
+ * A partial label state used to apply incremental updates, where every field is optional.
9183
+ */
8753
9184
  type TLabelUpdateState = output<typeof labelStateSchemaPartial>;
8754
9185
  //#endregion
8755
9186
  //#region src/states/marker-state.d.ts
9187
+ /** @internal */
8756
9188
  declare const markerStateSchema: ZodObject<{
8757
9189
  type: ZodDefault<ZodLiteral<"marker">>;
8758
- rank: ZodCustom<TCollisionRankingTier | "initial", TCollisionRankingTier | "initial">;
9190
+ rank: ZodCustom<"initial" | TCollisionRankingTier, "initial" | TCollisionRankingTier>;
8759
9191
  placement: ZodOptional<ZodUnion<readonly [ZodEnum<{
8760
9192
  hidden: "hidden";
8761
9193
  top: "top";
@@ -8793,10 +9225,13 @@ declare const markerStateSchema: ZodObject<{
8793
9225
  occlude: ZodDefault<ZodBoolean>;
8794
9226
  animated: ZodDefault<ZodBoolean>;
8795
9227
  }, $strip>;
9228
+ /** @internal */
8796
9229
  declare const markerStateSchemaPartial: ZodObject<{
8797
- type: ZodOptional<ZodDefault<ZodLiteral<"marker">>>;
8798
9230
  enabled: ZodOptional<ZodDefault<ZodBoolean>>;
8799
- rank: ZodOptional<ZodCustom<TCollisionRankingTier | "initial", TCollisionRankingTier | "initial">>;
9231
+ type: ZodOptional<ZodDefault<ZodLiteral<"marker">>>;
9232
+ interactive: ZodOptional<ZodDefault<ZodUnion<readonly [ZodBoolean, ZodLiteral<"pointer-events-auto">]>>>;
9233
+ rank: ZodOptional<ZodCustom<"initial" | TCollisionRankingTier, "initial" | TCollisionRankingTier>>;
9234
+ occlude: ZodOptional<ZodDefault<ZodBoolean>>;
8800
9235
  placement: ZodOptional<ZodOptional<ZodUnion<readonly [ZodEnum<{
8801
9236
  hidden: "hidden";
8802
9237
  top: "top";
@@ -8820,7 +9255,6 @@ declare const markerStateSchemaPartial: ZodObject<{
8820
9255
  "bottom-left": "bottom-left";
8821
9256
  "bottom-right": "bottom-right";
8822
9257
  }>>]>>>;
8823
- interactive: ZodOptional<ZodDefault<ZodUnion<readonly [ZodBoolean, ZodLiteral<"pointer-events-auto">]>>>;
8824
9258
  dynamicResize: ZodOptional<ZodDefault<ZodBoolean>>;
8825
9259
  zIndex: ZodOptional<ZodOptional<ZodNumber>>;
8826
9260
  lowPriorityPin: ZodOptional<ZodOptional<ZodObject<{
@@ -8829,15 +9263,25 @@ declare const markerStateSchemaPartial: ZodObject<{
8829
9263
  color: ZodOptional<ZodString>;
8830
9264
  }, $strip>>>;
8831
9265
  contentHTML: ZodOptional<ZodString>;
8832
- occlude: ZodOptional<ZodDefault<ZodBoolean>>;
8833
9266
  animated: ZodOptional<ZodDefault<ZodBoolean>>;
8834
9267
  }, $strip>;
9268
+ /**
9269
+ * The serialized state of a marker, including its anchor, HTML content, and rank.
9270
+ * Returned by state APIs and used by extensions that need to inspect or persist marker state.
9271
+ */
8835
9272
  type TMarkerState = output<typeof markerStateSchema>;
9273
+ /**
9274
+ * A partial marker state used to apply incremental updates, where every field is optional.
9275
+ */
8836
9276
  type TMarkerUpdateState = output<typeof markerStateSchemaPartial>;
8837
9277
  //#endregion
8838
9278
  //#region src/states/path-state.d.ts
8839
- /** Border color - 'darken' auto-darkens main color, or explicit hex color string */
9279
+ /**
9280
+ * Border color - 'darken' auto-darkens main color, or explicit hex color string.
9281
+ * @internal
9282
+ */
8840
9283
  type BorderColor = LiteralUnion<'darken', string>;
9284
+ /** @internal */
8841
9285
  declare const pathStateSchemaPartial: ZodObject<{
8842
9286
  type: ZodOptional<ZodDefault<ZodLiteral<"path">>>;
8843
9287
  color: ZodOptional<ZodDefault<ZodString>>;
@@ -8851,6 +9295,8 @@ declare const pathStateSchemaPartial: ZodObject<{
8851
9295
  highlightWidthMultiplier: ZodOptional<ZodDefault<ZodNumber>>;
8852
9296
  highlightCompleteFraction: ZodOptional<ZodDefault<ZodNumber>>;
8853
9297
  xrayOpacity: ZodOptional<ZodDefault<ZodNumber>>;
9298
+ travelledEndFraction: ZodOptional<ZodDefault<ZodNumber>>;
9299
+ travelledColor: ZodOptional<ZodDefault<ZodString>>;
8854
9300
  __EXPERIMENTAL_SMOOTHING_TENSION: ZodOptional<ZodDefault<ZodNumber>>;
8855
9301
  __EXPERIMENTAL_SMOOTHING_CORNER_RADIUS: ZodOptional<ZodDefault<ZodNumber>>;
8856
9302
  dashed: ZodOptional<ZodDefault<ZodBoolean>>;
@@ -8886,6 +9332,7 @@ declare const pathStateSchemaPartial: ZodObject<{
8886
9332
  dithering: ZodOptional<ZodNumber>;
8887
9333
  }, $strip>>>;
8888
9334
  }, $strip>;
9335
+ /** @internal */
8889
9336
  declare const pathStateSchemaStrict: ZodObject<{
8890
9337
  type: ZodDefault<ZodLiteral<"path">>;
8891
9338
  color: ZodDefault<ZodString>;
@@ -8899,6 +9346,8 @@ declare const pathStateSchemaStrict: ZodObject<{
8899
9346
  highlightWidthMultiplier: ZodDefault<ZodNumber>;
8900
9347
  highlightCompleteFraction: ZodDefault<ZodNumber>;
8901
9348
  xrayOpacity: ZodDefault<ZodNumber>;
9349
+ travelledEndFraction: ZodDefault<ZodNumber>;
9350
+ travelledColor: ZodDefault<ZodString>;
8902
9351
  __EXPERIMENTAL_SMOOTHING_TENSION: ZodDefault<ZodNumber>;
8903
9352
  __EXPERIMENTAL_SMOOTHING_CORNER_RADIUS: ZodDefault<ZodNumber>;
8904
9353
  dashed: ZodDefault<ZodBoolean>;
@@ -8934,15 +9383,24 @@ declare const pathStateSchemaStrict: ZodObject<{
8934
9383
  dithering: ZodOptional<ZodNumber>;
8935
9384
  }, $strip>>;
8936
9385
  }, $strict>;
9386
+ /**
9387
+ * The serialized state of a path, including its waypoints, style, and animation.
9388
+ * Returned by state APIs and used by extensions that need to inspect or persist path state.
9389
+ */
8937
9390
  type TPathState = output<typeof pathStateSchemaStrict>;
9391
+ /**
9392
+ * A partial path state used to apply incremental updates, where every field is optional.
9393
+ */
8938
9394
  type TPathUpdateState = input<typeof pathStateSchemaPartial>;
8939
9395
  //#endregion
8940
9396
  //#region src/states/shape-state.d.ts
9397
+ /** @internal */
8941
9398
  declare const shapeStateSchemaPartial: ZodObject<{
8942
9399
  type: ZodOptional<ZodDefault<ZodLiteral<"shape">>>;
8943
9400
  visible: ZodOptional<ZodDefault<ZodBoolean>>;
8944
9401
  altitude: ZodOptional<ZodDefault<ZodNumber>>;
8945
9402
  color: ZodOptional<ZodDefault<ZodString>>;
9403
+ hoverColor: ZodOptional<ZodOptional<ZodString>>;
8946
9404
  height: ZodOptional<ZodDefault<ZodNumber>>;
8947
9405
  opacity: ZodOptional<ZodDefault<ZodNumber>>;
8948
9406
  interactive: ZodOptional<ZodDefault<ZodBoolean>>;
@@ -8955,11 +9413,13 @@ declare const shapeStateSchemaPartial: ZodObject<{
8955
9413
  }, $strip>>>;
8956
9414
  position: ZodOptional<ZodCustom<Coordinate, Coordinate>>;
8957
9415
  }, $strip>;
9416
+ /** @internal */
8958
9417
  declare const shapeStateSchemaStrict: ZodObject<{
8959
9418
  type: ZodDefault<ZodLiteral<"shape">>;
8960
9419
  visible: ZodDefault<ZodBoolean>;
8961
9420
  altitude: ZodDefault<ZodNumber>;
8962
9421
  color: ZodDefault<ZodString>;
9422
+ hoverColor: ZodOptional<ZodString>;
8963
9423
  height: ZodDefault<ZodNumber>;
8964
9424
  opacity: ZodDefault<ZodNumber>;
8965
9425
  interactive: ZodDefault<ZodBoolean>;
@@ -8973,12 +9433,16 @@ declare const shapeStateSchemaStrict: ZodObject<{
8973
9433
  position: ZodCustom<Coordinate, Coordinate>;
8974
9434
  }, $strict>;
8975
9435
  /**
8976
- * Represents the state of a shape.
9436
+ * The serialized state of a shape feature collection, including its geometry and styling.
8977
9437
  */
8978
9438
  type TShapeState = output<typeof shapeStateSchemaStrict>;
9439
+ /**
9440
+ * A partial shape state used to apply incremental updates, where every field is optional.
9441
+ */
8979
9442
  type TShapeUpdateState = output<typeof shapeStateSchemaPartial>;
8980
9443
  //#endregion
8981
9444
  //#region src/states/image-state.d.ts
9445
+ /** @internal */
8982
9446
  declare const imageStateSchema: ZodObject<{
8983
9447
  type: ZodDefault<ZodLiteral<"image3d">>;
8984
9448
  visible: ZodDefault<ZodBoolean>;
@@ -8989,7 +9453,9 @@ declare const imageStateSchema: ZodObject<{
8989
9453
  rotation: ZodDefault<ZodNumber>;
8990
9454
  verticalOffset: ZodDefault<ZodNumber>;
8991
9455
  flipImagesToFaceCamera: ZodDefault<ZodBoolean>;
9456
+ interactive: ZodDefault<ZodBoolean>;
8992
9457
  }, $strip>;
9458
+ /** @internal */
8993
9459
  declare const imageStateSchemaPartial: ZodObject<{
8994
9460
  type: ZodOptional<ZodDefault<ZodLiteral<"image3d">>>;
8995
9461
  visible: ZodOptional<ZodDefault<ZodBoolean>>;
@@ -9000,11 +9466,19 @@ declare const imageStateSchemaPartial: ZodObject<{
9000
9466
  rotation: ZodOptional<ZodDefault<ZodNumber>>;
9001
9467
  verticalOffset: ZodOptional<ZodDefault<ZodNumber>>;
9002
9468
  flipImagesToFaceCamera: ZodOptional<ZodDefault<ZodBoolean>>;
9469
+ interactive: ZodOptional<ZodDefault<ZodBoolean>>;
9003
9470
  }, $strip>;
9471
+ /**
9472
+ * The serialized state of a 3D image overlay, including its coordinate, size, and opacity.
9473
+ */
9004
9474
  type TImage3DState = output<typeof imageStateSchema>;
9475
+ /**
9476
+ * A partial 3D image state used to apply incremental updates, where every field is optional.
9477
+ */
9005
9478
  type TImage3DUpdateState = output<typeof imageStateSchemaPartial>;
9006
9479
  //#endregion
9007
9480
  //#region src/states/model-state.d.ts
9481
+ /** @internal */
9008
9482
  declare const modelStateUpdateSchema: ZodObject<{
9009
9483
  altitude: ZodOptional<ZodOptional<ZodNumber>>;
9010
9484
  id: ZodOptional<ZodOptional<ZodUnion<readonly [ZodNumber, ZodString]>>>;
@@ -9024,6 +9498,7 @@ declare const modelStateUpdateSchema: ZodObject<{
9024
9498
  scale: ZodOptional<ZodUnion<readonly [ZodNumber, ZodTuple<[ZodNumber, ZodNumber, ZodNumber], null>]>>;
9025
9499
  rotation: ZodOptional<ZodUnion<readonly [ZodNumber, ZodTuple<[ZodNumber, ZodNumber, ZodNumber], null>]>>;
9026
9500
  }, $strip>;
9501
+ /** @internal */
9027
9502
  declare const modelStateSchemaStrict: ZodObject<{
9028
9503
  altitude: ZodOptional<ZodNumber>;
9029
9504
  id: ZodOptional<ZodUnion<readonly [ZodNumber, ZodString]>>;
@@ -9044,12 +9519,16 @@ declare const modelStateSchemaStrict: ZodObject<{
9044
9519
  clippingPlaneTopVisible: ZodDefault<ZodBoolean>;
9045
9520
  }, $strict>;
9046
9521
  /**
9047
- * Represents the state of a model.
9522
+ * The serialized state of a 3D model, including its coordinate, rotation, and scale.
9048
9523
  */
9049
9524
  type TModelState = output<typeof modelStateSchemaStrict>;
9525
+ /**
9526
+ * A partial 3D model state used to apply incremental updates, where every field is optional.
9527
+ */
9050
9528
  type TModelUpdateState = output<typeof modelStateUpdateSchema>;
9051
9529
  //#endregion
9052
9530
  //#region src/states/text3d-state.d.ts
9531
+ /** @internal */
9053
9532
  declare const text3DUpdateStateSchema: ZodObject<{
9054
9533
  visible: ZodOptional<ZodOptional<ZodBoolean>>;
9055
9534
  color: ZodOptional<ZodOptional<ZodString>>;
@@ -9070,6 +9549,7 @@ declare const text3DUpdateStateSchema: ZodObject<{
9070
9549
  type: ZodOptional<ZodDefault<ZodLiteral<"text3d">>>;
9071
9550
  position: ZodOptional<ZodCustom<Coordinate, Coordinate>>;
9072
9551
  }, $strict>;
9552
+ /** @internal */
9073
9553
  declare const text3DStateSchemaStrict: ZodObject<{
9074
9554
  visible: ZodBoolean;
9075
9555
  color: ZodString;
@@ -9096,10 +9576,17 @@ declare const text3DStateSchemaStrict: ZodObject<{
9096
9576
  type: ZodDefault<ZodLiteral<"text3d">>;
9097
9577
  position: ZodCustom<Coordinate, Coordinate>;
9098
9578
  }, $strict>;
9579
+ /**
9580
+ * The serialized state of a 3D text element, including its coordinate, content, and appearance.
9581
+ */
9099
9582
  type TText3DState = output<typeof text3DStateSchemaStrict>;
9583
+ /**
9584
+ * A partial 3D text state used to apply incremental updates, where every field is optional.
9585
+ */
9100
9586
  type TText3DUpdateState = output<typeof text3DUpdateStateSchema>;
9101
9587
  //#endregion
9102
9588
  //#region src/states/walls-state.d.ts
9589
+ /** @internal */
9103
9590
  declare const wallsStateSchemaPartial: ZodObject<{
9104
9591
  type: ZodOptional<ZodDefault<ZodLiteral<"walls">>>;
9105
9592
  color: ZodOptional<ZodDefault<ZodString>>;
@@ -9114,6 +9601,7 @@ declare const wallsStateSchemaPartial: ZodObject<{
9114
9601
  height: ZodOptional<ZodDefault<ZodNumber>>;
9115
9602
  opacity: ZodOptional<ZodDefault<ZodNumber>>;
9116
9603
  }, $strip>;
9604
+ /** @internal */
9117
9605
  declare const wallsStateSchemaStrict: ZodObject<{
9118
9606
  type: ZodDefault<ZodLiteral<"walls">>;
9119
9607
  color: ZodDefault<ZodString>;
@@ -9128,7 +9616,13 @@ declare const wallsStateSchemaStrict: ZodObject<{
9128
9616
  height: ZodDefault<ZodNumber>;
9129
9617
  opacity: ZodDefault<ZodNumber>;
9130
9618
  }, $strict>;
9619
+ /**
9620
+ * The serialized state of all walls in the map, including their colors and visibility.
9621
+ */
9131
9622
  type TWallsState = output<typeof wallsStateSchemaStrict>;
9623
+ /**
9624
+ * A partial walls state used to apply incremental updates, where every field is optional.
9625
+ */
9132
9626
  type TWallsUpdateState = output<typeof wallsStateSchemaPartial>;
9133
9627
  //#endregion
9134
9628
  //#region src/states/state-utils.d.ts
@@ -9601,7 +10095,7 @@ declare class Navigator {
9601
10095
  private geometryEdgesByMapId;
9602
10096
  private flagDeclarations;
9603
10097
  private getDoorByNodeId;
9604
- private disabledNodeIds;
10098
+ private nonPublicNodeIds;
9605
10099
  /**
9606
10100
  * Constructs a Navigator instance to manage pathfinding with optional obstructions and grouping features.
9607
10101
  *
@@ -9626,7 +10120,11 @@ declare class Navigator {
9626
10120
  flagDeclarations?: NavigationFlagDeclarations;
9627
10121
  getDoorByNodeId: (nodeId: string) => DoorGeometry | undefined;
9628
10122
  });
9629
- private getDisabledNodeIds;
10123
+ /**
10124
+ * Build the set of node IDs that do not have the well-known `public` flag
10125
+ * set. Returns an empty set when the MVF does not declare the flag.
10126
+ */
10127
+ private getNonPublicNodeIds;
9630
10128
  /**
9631
10129
  * Calculates and returns a set of directions from origin nodes to destination nodes, including detailed properties.
9632
10130
  *
@@ -9635,6 +10133,7 @@ declare class Navigator {
9635
10133
  * @param {string[]} destinationNodeIds - IDs of destination nodes.
9636
10134
  * @param {string[]} [disabledConnectionNodeIds] - IDs of connection nodes that are disabled (ie. act as regular nodes).
9637
10135
  * @param {SimplifyDirectionsOptions} [simplify] - Options to simplify the pathfinding result.
10136
+ * @param {boolean} [includeNonPublic] - When true, nodes lacking the MVF `public` flag are routable. Defaults to false.
9638
10137
  * @returns {DirectionsCollection} A collection of directional features representing the path.
9639
10138
  */
9640
10139
  getDirections({
@@ -9646,7 +10145,8 @@ declare class Navigator {
9646
10145
  disabledConnectionNodeIds,
9647
10146
  simplify,
9648
10147
  multiplicativeDistanceWeightScaling,
9649
- overrideEdgeWeights
10148
+ overrideEdgeWeights,
10149
+ includeNonPublic
9650
10150
  }: {
9651
10151
  originIds: string[];
9652
10152
  destinationNodeIds: string[];
@@ -9657,6 +10157,7 @@ declare class Navigator {
9657
10157
  simplify?: SimplifyDirectionsOptions;
9658
10158
  multiplicativeDistanceWeightScaling?: boolean;
9659
10159
  overrideEdgeWeights?: Map<Edge, number>;
10160
+ includeNonPublic?: boolean;
9660
10161
  }): DirectionsCollection;
9661
10162
  /**
9662
10163
  * Generates a path from a series of edges, constructing a feature collection of directional steps.
@@ -9838,6 +10339,7 @@ declare class DirectionsInternal {
9838
10339
  zones: TDirectionZone[];
9839
10340
  excludedConnections: Connection[];
9840
10341
  connectionIdWeightMap: Record<string, number>;
10342
+ includeNonPublic: boolean;
9841
10343
  }, mapData: MapDataInternal) => Promise<Directions | undefined>;
9842
10344
  /** @deprecated use getDirections instead */
9843
10345
  getDirectionsSync: (from: TNavigationTarget[], to: TNavigationTarget[], options: {
@@ -9846,6 +10348,7 @@ declare class DirectionsInternal {
9846
10348
  zones: TDirectionZone[];
9847
10349
  excludedConnections: Connection[];
9848
10350
  connectionIdWeightMap: Record<string, number>;
10351
+ includeNonPublic: boolean;
9849
10352
  }, mapData: MapDataInternal) => Directions | undefined;
9850
10353
  /**
9851
10354
  * Get the node IDs of connections that do not match the accessibility setting provided.
@@ -10023,6 +10526,11 @@ declare class MappedinRenderError extends MappedinError {
10023
10526
  }
10024
10527
  //#endregion
10025
10528
  //#region src/events.d.ts
10529
+ /**
10530
+ * Free-form context string passed to `MapView.setFloor` (via {@link TSetFloorOptions})
10531
+ * that is forwarded to `floor-change` event listeners as `event.reason`. Useful for
10532
+ * distinguishing user-initiated floor changes from programmatic ones.
10533
+ */
10026
10534
  type TFloorChangeReason = string;
10027
10535
  /**
10028
10536
  * The payload for a user click event on the map.
@@ -10061,6 +10569,10 @@ type TClickPayload = {
10061
10569
  * Interactive {@link Model}s under the pointer.
10062
10570
  */
10063
10571
  models?: Model[];
10572
+ /**
10573
+ * Interactive {@link Image3DView | 3D Image}s under the pointer.
10574
+ */
10575
+ images?: Image3DView[];
10064
10576
  /**
10065
10577
  * Interactive {@link Label}s under the pointer.
10066
10578
  */
@@ -10255,9 +10767,17 @@ type TEvents = {
10255
10767
  error: MappedinRenderError;
10256
10768
  };
10257
10769
  };
10770
+ /**
10771
+ * Resolves to the payload type for a given {@link TEvents} event name. Use this
10772
+ * to type the parameter of an event handler without depending on the internal
10773
+ * shape of `TEvents`.
10774
+ */
10258
10775
  type TEventPayload<EventName extends keyof TEvents> = TEvents[EventName] extends {
10259
10776
  data: null;
10260
10777
  } ? TEvents[EventName]['data'] : TEvents[EventName];
10778
+ /**
10779
+ * Events emitted by {@link MapData}, such as when the active language pack changes.
10780
+ */
10261
10781
  type TMapDataEvents = {
10262
10782
  'language-change': {
10263
10783
  code: string;
@@ -10299,12 +10819,22 @@ interface IGeoJSONData {
10299
10819
  }
10300
10820
  //#endregion
10301
10821
  //#region src/types/index.d.ts
10822
+ /**
10823
+ * Result of an animation that may have run to completion or been cancelled before finishing.
10824
+ */
10302
10825
  type TAnimateStateResult = {
10303
10826
  result: 'completed' | 'cancelled';
10304
10827
  };
10828
+ /**
10829
+ * A promise extended with a `cancel()` method. Calling `cancel()` aborts the in-flight
10830
+ * operation; the promise still settles, typically with a `'cancelled'` result.
10831
+ */
10305
10832
  type TCancellablePromise<T$1> = Promise<T$1> & {
10306
10833
  cancel: () => void;
10307
10834
  };
10835
+ /**
10836
+ * The action a user should take at a step of a {@link Directions} instruction.
10837
+ */
10308
10838
  declare enum ACTION_TYPE {
10309
10839
  Departure = "Departure",
10310
10840
  TakeConnection = "TakeConnection",
@@ -10851,6 +11381,15 @@ type TGetDirectionsOptions = {
10851
11381
  * @default false
10852
11382
  */
10853
11383
  accessible?: boolean;
11384
+ /**
11385
+ * When true, routing may traverse nodes that do not have the MVF `public`
11386
+ * flag set. Intended for emergency or staff-only pathing scenarios.
11387
+ *
11388
+ * Has no effect if the MVF does not declare a `public` navigation flag.
11389
+ *
11390
+ * @default false
11391
+ */
11392
+ includeNonPublic?: boolean;
10854
11393
  /**
10855
11394
  * Enable or disable path smoothing for directions.
10856
11395
  * When enabled, the path is simplified using line-of-sight checks to provide a more visually appealing route and shorter instructions.
@@ -11053,6 +11592,7 @@ type TAddModelOptions = Omit<InitializeModelState$1, 'scale' | 'url'> & {
11053
11592
  scale?: number | [number, number, number];
11054
11593
  };
11055
11594
  /**
11595
+ * Options for adding a 3D text element to the map.
11056
11596
  * @interface
11057
11597
  */
11058
11598
  type TAddText3DOptions = AddText3DOptions$1;
@@ -11107,6 +11647,15 @@ type TAddImageOptions = {
11107
11647
  * @default 1024
11108
11648
  */
11109
11649
  maxImageSize?: number;
11650
+ /**
11651
+ * Whether the {@link Image3DView} should be clickable. When `true`, click and hover events
11652
+ * for the image will be dispatched via `MapView.on('click')` and `MapView.on('hover')` under
11653
+ * the `images` property of the event payload. Can be toggled at runtime via
11654
+ * `MapView.updateState(image, { interactive })`.
11655
+ *
11656
+ * @default false
11657
+ */
11658
+ interactive?: boolean;
11110
11659
  };
11111
11660
  /**
11112
11661
  * Options for controlling the behavior of a {@link Marker}.
@@ -11200,7 +11749,7 @@ type TAddLabelOptions = {
11200
11749
  /**
11201
11750
  * Customize the appearance of the {@link Label} and its pin
11202
11751
  */
11203
- appearance?: LabelAppearance$1;
11752
+ appearance?: LabelAppearance;
11204
11753
  /**
11205
11754
  * Whether the Label should be clickable.
11206
11755
  * @default false
@@ -11217,7 +11766,7 @@ type TAddLabelOptions = {
11217
11766
  /**
11218
11767
  * The placement of the text relative to the pin.
11219
11768
  */
11220
- textPlacement?: LabelTextPlacement$1[];
11769
+ textPlacement?: LabelTextPlacement[];
11221
11770
  /**
11222
11771
  * Whether the label should be occluded by 3D geometry.
11223
11772
  * @default true
@@ -11245,6 +11794,11 @@ type WithState<T$1> = T$1 extends {
11245
11794
  type TUpdateState<T$1 extends MapElementsWithState | string> = T$1 extends {
11246
11795
  __type: infer U;
11247
11796
  } ? U extends keyof MapElementToUpdateState ? MapElementToUpdateState[U] : never : T$1 extends string ? T$1 extends keyof MapElementToUpdateState ? MapElementToUpdateState[T$1] : Record<string, any> : never;
11797
+ /**
11798
+ * Maps each map element discriminator (`__type`) to the read-only rendered state
11799
+ * type the element exposes. Used internally by `getRenderedState` to derive a
11800
+ * precise return type from the element passed in.
11801
+ */
11248
11802
  type MapElementToGetRenderedState = {
11249
11803
  [Label.__type]: ReadonlyDeep<LabelRenderedState>;
11250
11804
  };
@@ -11259,6 +11813,11 @@ type MapElementWithRenderedState = WithState<Label>;
11259
11813
  type TGetRenderedState<T$1 extends MapElementWithRenderedState | string> = T$1 extends {
11260
11814
  __type: infer U;
11261
11815
  } ? U extends keyof MapElementToGetRenderedState ? MapElementToGetRenderedState[U] : never : T$1 extends string ? T$1 extends keyof MapElementToGetRenderedState ? MapElementToGetRenderedState[T$1] : Record<string, any> : never;
11816
+ /**
11817
+ * Map-wide state applied to all elements, such as the background color, hover
11818
+ * highlight color, and shared visibility flags. Returned by `MapView.getState`
11819
+ * and consumed by extensions that need a snapshot of the global render state.
11820
+ */
11262
11821
  type GlobalState = {
11263
11822
  /**
11264
11823
  * The color of the background, in hex format(#000000).
@@ -11420,6 +11979,10 @@ type TCameraInteractionsSetOptions = {
11420
11979
  */
11421
11980
  bearingAndPitch?: boolean;
11422
11981
  };
11982
+ /**
11983
+ * Options passed to `MapView.setFloor` to control how the floor change is performed
11984
+ * and to provide an optional reason that is propagated to `floor-change` event listeners.
11985
+ */
11423
11986
  type TSetFloorOptions = {
11424
11987
  /**
11425
11988
  * Optionally provide the context for the floor change which will be published as the `reason` for the `floor-change` event.
@@ -12147,6 +12710,12 @@ declare abstract class BaseMapData {
12147
12710
  }
12148
12711
  //#endregion
12149
12712
  //#region src/map-data-objects/detailed-map-data.d.ts
12713
+ /**
12714
+ * Abstract base class for map data objects that carry rich metadata (images,
12715
+ * hyperlinks, location profiles, and an external ID). Specific classes such as
12716
+ * {@link Space}, {@link PointOfInterest}, and {@link Connection} extend this
12717
+ * to expose typed accessors for their `details` payload.
12718
+ */
12150
12719
  declare abstract class DetailedMapData<MVFData extends Feature$1<Geometry$1, {
12151
12720
  id: string;
12152
12721
  externalId?: string;
@@ -12276,8 +12845,8 @@ declare class Area extends DetailedMapData<AreaCollection['features'][number]> i
12276
12845
  */
12277
12846
  get geoJSON(): {
12278
12847
  properties: null;
12279
- type: _mappedin_mvf_v28.FeatureType;
12280
- geometry: _mappedin_mvf_v28.Polygon;
12848
+ type: _mappedin_mvf_v25.FeatureType;
12849
+ geometry: _mappedin_mvf_v25.Polygon;
12281
12850
  };
12282
12851
  /** @internal */
12283
12852
  get focusTarget(): this;
@@ -12379,8 +12948,8 @@ declare class Door extends DetailedMapData<EntranceFeature> implements IGeoJSOND
12379
12948
  */
12380
12949
  get geoJSON(): {
12381
12950
  properties: null;
12382
- type: _mappedin_mvf_v28.FeatureType;
12383
- geometry: _mappedin_mvf_v28.LineString;
12951
+ type: _mappedin_mvf_v25.FeatureType;
12952
+ geometry: _mappedin_mvf_v25.LineString;
12384
12953
  };
12385
12954
  /** @internal */
12386
12955
  get focusTarget(): Coordinate;
@@ -12516,8 +13085,8 @@ declare class Space extends DetailedMapData<SpaceFeature> implements IGeoJSONDat
12516
13085
  */
12517
13086
  get geoJSON(): {
12518
13087
  properties: null;
12519
- type: _mappedin_mvf_v28.FeatureType;
12520
- geometry: _mappedin_mvf_v28.Point | _mappedin_mvf_v28.Polygon | _mappedin_mvf_v28.LineString;
13088
+ type: _mappedin_mvf_v25.FeatureType;
13089
+ geometry: _mappedin_mvf_v25.Point | _mappedin_mvf_v25.Polygon | _mappedin_mvf_v25.LineString;
12521
13090
  };
12522
13091
  /** @internal */
12523
13092
  get focusTarget(): this | Coordinate;
@@ -12603,7 +13172,7 @@ declare class PointOfInterest extends DetailedMapData<FeatureCollection$1<Point$
12603
13172
  */
12604
13173
  get geoJSON(): {
12605
13174
  properties: null;
12606
- type: _mappedin_mvf_v28.FeatureType;
13175
+ type: _mappedin_mvf_v25.FeatureType;
12607
13176
  geometry: Point$1;
12608
13177
  };
12609
13178
  /**
@@ -12717,8 +13286,8 @@ declare class Annotation extends DetailedMapData<AnnotationCollection['features'
12717
13286
  */
12718
13287
  get geoJSON(): {
12719
13288
  properties: null;
12720
- type: _mappedin_mvf_v28.FeatureType;
12721
- geometry: _mappedin_mvf_v28.Point;
13289
+ type: _mappedin_mvf_v25.FeatureType;
13290
+ geometry: _mappedin_mvf_v25.Point;
12722
13291
  };
12723
13292
  /** @internal */
12724
13293
  get focusTarget(): Coordinate;
@@ -12934,8 +13503,8 @@ declare class MapObject extends DetailedMapData<ObstructionFeature> implements I
12934
13503
  */
12935
13504
  get geoJSON(): {
12936
13505
  properties: null;
12937
- type: _mappedin_mvf_v28.FeatureType;
12938
- geometry: _mappedin_mvf_v28.Polygon | _mappedin_mvf_v28.LineString;
13506
+ type: _mappedin_mvf_v25.FeatureType;
13507
+ geometry: _mappedin_mvf_v25.Polygon | _mappedin_mvf_v25.LineString;
12939
13508
  };
12940
13509
  /** @internal */
12941
13510
  get anchorTarget(): Coordinate;
@@ -13248,8 +13817,8 @@ declare class Node extends BaseMetaData implements IGeoJSONData, IFocusable, IAn
13248
13817
  */
13249
13818
  get geoJSON(): {
13250
13819
  properties: null;
13251
- type: _mappedin_mvf_v28.FeatureType;
13252
- geometry: _mappedin_mvf_v28.Point;
13820
+ type: _mappedin_mvf_v25.FeatureType;
13821
+ geometry: _mappedin_mvf_v25.Point;
13253
13822
  };
13254
13823
  /** @internal */
13255
13824
  get focusTarget(): Coordinate;
@@ -14137,6 +14706,11 @@ declare class LocationCategory extends BaseMetaData implements Omit<Category, 'p
14137
14706
  }
14138
14707
  //#endregion
14139
14708
  //#region src/api-geojson/language.d.ts
14709
+ /**
14710
+ * Options passed to {@link findPreferredLanguageInVenue} controlling which language is
14711
+ * selected when more than one is available, and whether to fall back to the
14712
+ * browser's preferred language.
14713
+ */
14140
14714
  type TFindPreferredLanguageInVenueOptions = {
14141
14715
  /**
14142
14716
  * Preferred language code to use.
@@ -14492,6 +15066,10 @@ declare class InternalSearch {
14492
15066
  search(term: string, options?: SearchOptions): Promise<SearchResult>;
14493
15067
  suggest(term: string, options?: SuggestOptions): Promise<Suggestion[]>;
14494
15068
  }
15069
+ /**
15070
+ * A single search result returned by `MapData.search`. Wraps the matched
15071
+ * map data object along with its match metadata and relevance score.
15072
+ */
14495
15073
  type SearchResultItem<T$1 extends Places | EnterpriseLocation | EnterpriseCategory> = {
14496
15074
  type: T$1['__type'];
14497
15075
  match: SearchResult$1['match'];
@@ -14499,14 +15077,17 @@ type SearchResultItem<T$1 extends Places | EnterpriseLocation | EnterpriseCatego
14499
15077
  item: T$1;
14500
15078
  };
14501
15079
  /**
15080
+ * A search result wrapping a matched {@link EnterpriseCategory}.
14502
15081
  * @interface
14503
15082
  */
14504
15083
  type SearchResultEnterpriseCategory = SearchResultItem<EnterpriseCategory>;
14505
15084
  /**
15085
+ * A search result wrapping a matched {@link EnterpriseLocation}.
14506
15086
  * @interface
14507
15087
  */
14508
15088
  type SearchResultEnterpriseLocations = SearchResultItem<EnterpriseLocation>;
14509
15089
  /**
15090
+ * A search result wrapping a matched place (Space, PointOfInterest, etc.).
14510
15091
  * @interface
14511
15092
  */
14512
15093
  type SearchResultPlaces = SearchResultItem<Places>;
@@ -14561,6 +15142,8 @@ declare const suggestOptionsSchema: ZodObject<{
14561
15142
  }, $strip>>;
14562
15143
  }, $strip>;
14563
15144
  /**
15145
+ * Options passed to `MapData.search` to filter the searchable data sources
15146
+ * (places, enterprise locations, enterprise categories) and tune behavior.
14564
15147
  * @interface
14565
15148
  */
14566
15149
  type SearchOptions = output<typeof searchOptionsSchema>;
@@ -15285,7 +15868,7 @@ declare class MapData {
15285
15868
  * console.log(`Current language: ${language.name} (${language.code})`);
15286
15869
  * ```
15287
15870
  */
15288
- get currentLanguage(): _mappedin_mvf_v28.Language | undefined;
15871
+ get currentLanguage(): _mappedin_mvf_v25.Language | undefined;
15289
15872
  /**
15290
15873
  * Gets the natural bearing of the map.
15291
15874
  *
@@ -15527,6 +16110,7 @@ type Style$1 = {
15527
16110
  join: LineStyle$2['join'];
15528
16111
  cap: LineStyle$2['cap'];
15529
16112
  topColor?: string;
16113
+ hoverColor?: string;
15530
16114
  showImage: boolean;
15531
16115
  flipImageToFaceCamera: boolean;
15532
16116
  enableImageCollisions: boolean;
@@ -15898,42 +16482,92 @@ declare class Mask {
15898
16482
  dirty: boolean;
15899
16483
  }
15900
16484
  //#endregion
15901
- //#region ../renderer-three/src/entities/batched-geometry-group.d.ts
16485
+ //#region ../renderer-three/src/entities/feature-collection.d.ts
15902
16486
  /**
15903
- * State representing a Batched Geometry Group, which is a container for Geometries and Models
15904
- * rendered via THREE.js BatchedMesh.
16487
+ * State representing a Feature Collection, which is a conceptual container for
16488
+ * GeoJSON features rendered via one or more THREE.js BatchedMeshes.
16489
+ *
16490
+ * Collection-level `visible` and `altitude` map directly to the wrapping
16491
+ * `FeatureCollectionObject3D` (`.visible` and `.position.z`) and do not
16492
+ * cascade into per-feature styles.
15905
16493
  */
15906
- type BatchedGeometryGroupState = {
16494
+ type FeatureCollectionState = {
15907
16495
  readonly id: string | number;
15908
- readonly type: 'batched-geometry-group';
16496
+ readonly type: 'feature-collection';
15909
16497
  /**
15910
- * The ids of the children of the geometry group
16498
+ * The ids of the children of the feature collection
15911
16499
  */
15912
16500
  readonly children: (string | number)[];
15913
16501
  /**
15914
- * Whether the geometry group is visible
16502
+ * @deprecated The feature collection no longer dictates opacity. Opacity is
16503
+ * per-feature or controlled via the wrapping `GroupContainer`. Read-through
16504
+ * to the first child is preserved for now.
15915
16505
  */
15916
- visible: boolean;
16506
+ opacity?: number;
15917
16507
  /**
15918
- * Whether the geometry group is interactive, which means it can be hovered over and clicked on.
15919
- * This will affect all children of the geometry group and override their interactive state.
15920
- *
15921
- * @example
15922
- * ```javascript
15923
- * renderer.on('click', ({ geometry }) => {});
15924
- * ```
16508
+ * @deprecated The feature collection no longer dictates color. Set color
16509
+ * per-feature via the style callback. Read-through to the first child is
16510
+ * preserved for now.
15925
16511
  */
15926
- interactive: boolean;
15927
- altitude?: number;
15928
- opacity?: number;
15929
16512
  color?: string;
16513
+ /**
16514
+ * @deprecated Per-feature property; read-through to the first child is
16515
+ * preserved for now.
16516
+ */
15930
16517
  height?: number;
16518
+ /**
16519
+ * @deprecated Per-feature property; read-through to the first child is
16520
+ * preserved for now.
16521
+ */
15931
16522
  texture?: string;
16523
+ /**
16524
+ * @deprecated Per-feature property; read-through to the first child is
16525
+ * preserved for now.
16526
+ */
15932
16527
  topColor?: string;
16528
+ /**
16529
+ * Per-feature hover color. Setting this cascades to all children, and reads
16530
+ * back through to the first child.
16531
+ */
16532
+ hoverColor?: string;
16533
+ /**
16534
+ * @deprecated Per-feature property; read-through to the first child is
16535
+ * preserved for now.
16536
+ */
15933
16537
  topTexture?: string;
16538
+ /**
16539
+ * @deprecated Per-feature property; read-through to the first child is
16540
+ * preserved for now.
16541
+ */
15934
16542
  outline?: boolean;
16543
+ /**
16544
+ * @deprecated Per-feature property; read-through to the first child is
16545
+ * preserved for now.
16546
+ */
15935
16547
  shading?: Shading$1;
16548
+ /**
16549
+ * @deprecated Per-feature property; read-through to the first child is
16550
+ * preserved for now.
16551
+ */
15936
16552
  side?: MaterialSide;
16553
+ /**
16554
+ * @deprecated Per-feature property; read-through to the first child is
16555
+ * preserved for now.
16556
+ */
16557
+ interactive?: boolean;
16558
+ /**
16559
+ * Collection-level visibility. Maps directly to `Object3D.visible` on the
16560
+ * wrapping `FeatureCollectionObject3D`; toggling cascades to children via
16561
+ * three.js's normal scene-graph traversal. Per-feature `StyleComponent.visible`
16562
+ * is a separate axis controlled via `setState` on individual feature entities.
16563
+ */
16564
+ visible?: boolean;
16565
+ /**
16566
+ * Collection-level altitude. Maps directly to `position.z` on the wrapping
16567
+ * `FeatureCollectionObject3D`. Per-feature altitude is a separate axis set
16568
+ * via the style callback or on each child.
16569
+ */
16570
+ altitude?: number;
15937
16571
  /**
15938
16572
  * Bevel configuration for extruded shapes.
15939
16573
  */
@@ -15951,14 +16585,14 @@ type BatchedGeometryGroupState = {
15951
16585
  washOutAmount?: number;
15952
16586
  washOutUseDepth?: boolean;
15953
16587
  /**
15954
- * The position of the geometry group as a GeoJSON Position `[lon, lat]`.
15955
- * Always computable via centroid calculation. Vertical offset is managed by `altitude`.
16588
+ * The position of the feature collection as a GeoJSON Position `[lon, lat]`,
16589
+ * computed from the centroid of its child features. Vertical offset is a
16590
+ * per-feature concern and is not tracked at the collection level.
15956
16591
  */
15957
16592
  position: Position$2;
15958
16593
  };
15959
- declare class BatchedGeometryGroupObject3D extends Object3D {
15960
- visible: boolean;
15961
- readonly type: "batched-geometry-group";
16594
+ declare class FeatureCollectionObject3D extends Object3D {
16595
+ readonly type: "feature-collection";
15962
16596
  components: [Mask?];
15963
16597
  getComponent(type: 'mask'): Mask | undefined;
15964
16598
  userData: {
@@ -15971,14 +16605,15 @@ declare class BatchedGeometryGroupObject3D extends Object3D {
15971
16605
  positionDirty: boolean;
15972
16606
  /** Cached world-space bounding-box center, updated after each position move */
15973
16607
  localCenter?: Vector3;
16608
+ isMerged?: boolean;
15974
16609
  };
15975
- setVisible(visible: boolean): void;
15976
16610
  removeEntity(): void;
15977
16611
  constructor(id: string);
15978
16612
  /**
15979
- * Get first child entity of a group if it's a batched mesh.
15980
- * We use this logic a lot for getting the material of the group, since the group does not have
15981
- * a material and the batched mesh does.
16613
+ * Get first child entity of a collection if it's a batched mesh.
16614
+ * We use this logic for reading representative per-child state (e.g. color,
16615
+ * texture) in getState() because the collection does not directly own a
16616
+ * material; the batched mesh does.
15982
16617
  */
15983
16618
  getfirstChildEntityId(): string | number | undefined;
15984
16619
  }
@@ -16017,9 +16652,9 @@ declare class BatchedStandardMaterial extends MeshLambertMaterial {
16017
16652
  set blendTexture(value: boolean);
16018
16653
  setGradientShading(start: number, end: number, intensity: number): void;
16019
16654
  getGradientShading(): {
16020
- start: any;
16021
- end: any;
16022
- intensity: any;
16655
+ start: number;
16656
+ end: number;
16657
+ intensity: number;
16023
16658
  };
16024
16659
  /**
16025
16660
  * Sets the distance-based effect parameters.
@@ -16069,6 +16704,62 @@ declare class BatchedStandardMaterial extends MeshLambertMaterial {
16069
16704
  clone(params?: MeshLambertMaterialParameters): this;
16070
16705
  }
16071
16706
  //#endregion
16707
+ //#region ../renderer-three/src/systems/batched-mesh/simple-material.d.ts
16708
+ /**
16709
+ * Single-geometry variant of BatchedStandardMaterial.
16710
+ * Uses `uColor`/`uTopColor` uniforms instead of a per-instance data texture,
16711
+ * so no DataTexture is allocated. All gradient, shadow, and visual-effect
16712
+ * uniforms are identical to BatchedStandardMaterial.
16713
+ */
16714
+ declare class SimpleGeometryMaterial extends MeshLambertMaterial {
16715
+ texturesVisible: boolean;
16716
+ private pcfSampleCount;
16717
+ private uniforms;
16718
+ private colorSpace;
16719
+ constructor(params?: MeshLambertMaterialParameters);
16720
+ /**
16721
+ * Sets `color` and `topColor` as uniforms directly (no batchId / data texture).
16722
+ */
16723
+ setColor(color: Color, topColor: Color): void;
16724
+ getColor(): {
16725
+ color: Color;
16726
+ topColor: Color;
16727
+ };
16728
+ get texture(): Texture | null;
16729
+ set texture(texture: Texture | null);
16730
+ get topTexture(): Texture | null;
16731
+ set topTexture(texture: Texture | null);
16732
+ get blendTexture(): boolean;
16733
+ set blendTexture(value: boolean);
16734
+ setGradientShading(start: number, end: number, intensity: number): void;
16735
+ getGradientShading(): {
16736
+ start: number;
16737
+ end: number;
16738
+ intensity: number;
16739
+ };
16740
+ setEffectRange(start: number, distance: number): void;
16741
+ getEffectRange(): {
16742
+ start: number;
16743
+ distance: number;
16744
+ };
16745
+ setVisualEffect(darkenAmount: number, darkenUseDepth: boolean, desaturateAmount: number, desaturateUseDepth: boolean, washOutAmount: number, washOutUseDepth: boolean): void;
16746
+ getVisualEffect(): {
16747
+ darkenAmount: number;
16748
+ darkenUseDepth: number;
16749
+ desaturateAmount: number;
16750
+ desaturateUseDepth: number;
16751
+ washOutAmount: number;
16752
+ washOutUseDepth: number;
16753
+ };
16754
+ get repeatYFactor(): number;
16755
+ set repeatYFactor(value: number);
16756
+ showTextures: (_batchId: number) => void;
16757
+ hideTextures(_batchId: number): void;
16758
+ removeSideTexture(_batchId: number): void;
16759
+ removeTopTexture(_batchId: number): void;
16760
+ setShadowUniforms(shadowMap: Texture, lightMatrix: Matrix4, cameraNear: number, cameraFar: number, shadowBias: number, shadowOpacity: number, baseColor: Color, shadowMapSize: number, pcfSpread: number, pcfSamples: number, sunDir: Vector3, normalBias: number, depthRangeMax: number, shadowEnabled: boolean): void;
16761
+ }
16762
+ //#endregion
16072
16763
  //#region ../renderer-three/src/components/image.d.ts
16073
16764
  declare class EntityMesh$1 extends Mesh {
16074
16765
  userData: {
@@ -16090,6 +16781,11 @@ type ImageStyle = {
16090
16781
  * @default 1024
16091
16782
  */
16092
16783
  maxImageSize?: number;
16784
+ /**
16785
+ * Whether the image is interactive (receives click/hover events).
16786
+ * @default false
16787
+ */
16788
+ interactive?: boolean;
16093
16789
  };
16094
16790
  type ImageProperties = {
16095
16791
  width: number;
@@ -16126,6 +16822,10 @@ type ImageState = {
16126
16822
  * The opacity of the image
16127
16823
  */
16128
16824
  opacity: number;
16825
+ /**
16826
+ * Whether the image is interactive (receives click/hover events).
16827
+ */
16828
+ interactive: boolean;
16129
16829
  };
16130
16830
  declare class ImageComponent {
16131
16831
  mesh: Geometry3DObject3D;
@@ -16152,6 +16852,9 @@ declare class EntityBatchedMesh extends BatchedMesh {
16152
16852
  detached?: boolean;
16153
16853
  };
16154
16854
  }
16855
+ declare class EntityMergedMesh extends Mesh {
16856
+ type: "entityMergedMesh";
16857
+ }
16155
16858
  type MeshComponentProperties = {
16156
16859
  id: string;
16157
16860
  image?: ImageProperties & {
@@ -16177,7 +16880,7 @@ type GeometryState = {
16177
16880
  /**
16178
16881
  * The parent group of the geometry
16179
16882
  */
16180
- readonly parent: EntityId$1<BatchedGeometryGroupState>;
16883
+ readonly parent: EntityId$1<FeatureCollectionState>;
16181
16884
  /**
16182
16885
  * Whether the geometry is visible. This is independent of the visibility of the children, but will affect the visibility of the children if set to false.
16183
16886
  */
@@ -16289,7 +16992,7 @@ type GeometryState = {
16289
16992
  };
16290
16993
  declare class MeshComponent {
16291
16994
  #private;
16292
- mesh?: EntityBatchedMesh;
16995
+ mesh?: EntityBatchedMesh | EntityMergedMesh;
16293
16996
  imageMesh?: Mesh;
16294
16997
  /**
16295
16998
  * holds a pointer to space label text if the polygon has label active.
@@ -16307,10 +17010,10 @@ declare class MeshComponent {
16307
17010
  positionCount: number;
16308
17011
  geometryId: number;
16309
17012
  };
16310
- material?: BatchedStandardMaterial;
16311
- feature: Feature<Polygon | LineString | MultiPolygon | MultiLineString, MeshComponentProperties>;
17013
+ material?: BatchedStandardMaterial | SimpleGeometryMaterial;
17014
+ feature: Feature<Polygon | LineString | MultiPolygon | MultiLineString, MeshComponentProperties> | Feature<Polygon | LineString | MultiPolygon | MultiLineString, MeshComponentProperties>[];
16312
17015
  currentHeight: number;
16313
- constructor(feature: Feature<Polygon | LineString | MultiPolygon | MultiLineString, MeshComponentProperties>);
17016
+ constructor(feature: Feature<Polygon | LineString | MultiPolygon | MultiLineString, MeshComponentProperties> | Feature<Polygon | LineString | MultiPolygon | MultiLineString, MeshComponentProperties>[]);
16314
17017
  get visible(): boolean;
16315
17018
  set visible(visible: boolean);
16316
17019
  get renderOrder(): number;
@@ -16339,7 +17042,7 @@ type ModelState = {
16339
17042
  /**
16340
17043
  * The parent container of the marker
16341
17044
  */
16342
- readonly parent?: EntityId$1<BatchedGeometryGroupState> | string | number;
17045
+ readonly parent?: EntityId$1<FeatureCollectionState> | string | number;
16343
17046
  /**
16344
17047
  * The position of the model in [lon, lat]
16345
17048
  */
@@ -16512,6 +17215,17 @@ type PathState$1 = {
16512
17215
  * Configuration for x-ray appearance when path is behind geometry.
16513
17216
  */
16514
17217
  xrayStyle?: XrayStyleConfig;
17218
+ /**
17219
+ * The fraction of the path that has been travelled. This is used to indicate how far the user has walked along the path.
17220
+ * Note: use values between 0 and 1.
17221
+ * @default 0
17222
+ */
17223
+ travelledEndFraction: number;
17224
+ /**
17225
+ * The color of the travelled portion of the path.
17226
+ * @default '#999'
17227
+ */
17228
+ travelledColor: string;
16515
17229
  /**
16516
17230
  * Controls the smoothness of path corners using CatmullRom curve tension. Higher values create smoother curves.
16517
17231
  * Values between 0.1-0.3 provide subtle smoothing suitable for most use cases.
@@ -16662,6 +17376,17 @@ type AddPathOptions = {
16662
17376
  * Configuration for x-ray appearance when path is behind geometry.
16663
17377
  */
16664
17378
  xrayStyle?: XrayStyleConfig;
17379
+ /**
17380
+ * The fraction of the path that has been travelled. This is used to indicate how far the user has walked along the path.
17381
+ * Note: use values between 0 and 1.
17382
+ * @default 0
17383
+ */
17384
+ travelledEndFraction?: number;
17385
+ /**
17386
+ * The color of the travelled portion of the path.
17387
+ * @default '#999'
17388
+ */
17389
+ travelledColor?: string;
16665
17390
  /**
16666
17391
  * Controls the smoothness of path corners using CatmullRom curve tension. Higher values create smoother curves.
16667
17392
  * Values between 0.1-0.3 provide subtle smoothing suitable for most use cases.
@@ -16780,6 +17505,8 @@ declare class PathComponent {
16780
17505
  highlightColor: string;
16781
17506
  xrayOpacity: number;
16782
17507
  xrayStyle?: XrayStyleConfig;
17508
+ travelledEndFraction: number;
17509
+ travelledColor: string;
16783
17510
  dashed: boolean;
16784
17511
  smoothingTension: number;
16785
17512
  smoothingCornerRadius: number;
@@ -16920,6 +17647,9 @@ type Text3DState$1 = {
16920
17647
  readonly rotation: number;
16921
17648
  } & Text3DStyle;
16922
17649
  /**
17650
+ * Initial state for a 3D text element when it is first added to the map.
17651
+ * Mirrors the shape of {@link TText3DState} with all fields optional and
17652
+ * with the auto-managed `id` and `type` fields omitted.
16923
17653
  * @interface
16924
17654
  */
16925
17655
  type InitializeText3DState$1 = Partial<Omit<Text3DState$1, 'id' | 'type'>>;
@@ -16934,7 +17664,7 @@ type Text3DProperties = {
16934
17664
  textArea?: MeshComponentProperties['textArea'];
16935
17665
  };
16936
17666
  /**
16937
- * Options for labeling a geometry with 3D text.
17667
+ * Options accepted when adding a 3D text element (for example to label a space).
16938
17668
  */
16939
17669
  type AddText3DOptions$2 = {
16940
17670
  appearance?: Partial<InitializeText3DState$1>;
@@ -17076,9 +17806,26 @@ type ClippingPlane = {
17076
17806
  verticalOffset: number;
17077
17807
  plane?: Plane;
17078
17808
  holeFillMesh?: Mesh;
17809
+ /**
17810
+ * Group containing the two stencil counting passes (mesh0/mesh1) that toggle
17811
+ * the clipping bit on cross-section pixels. Must be kept in sync with the
17812
+ * cap's visibility: when the cap isn't rendered, it can't clear the clipping
17813
+ * bit, so the counting passes must also be skipped to avoid leaving the bit
17814
+ * set and corrupting other stencil-based features (e.g. underground mask).
17815
+ */
17816
+ holeFillGroup?: Group$1;
17079
17817
  topColor?: string;
17080
17818
  needsRebuild: boolean;
17081
17819
  topVisible?: boolean;
17820
+ /**
17821
+ * World-space XY center of the model's bounding box. Used to size and position
17822
+ * the stencil bias / hole-fill plane to the model's footprint instead of a
17823
+ * giant screen-covering quad (which would corrupt other stencil features).
17824
+ */
17825
+ bboxCenter?: {
17826
+ x: number;
17827
+ y: number;
17828
+ };
17082
17829
  };
17083
17830
  declare class ClippingPlaneComponent implements ClippingPlane {
17084
17831
  readonly type: "clippingPlane";
@@ -17087,8 +17834,13 @@ declare class ClippingPlaneComponent implements ClippingPlane {
17087
17834
  verticalOffset: number;
17088
17835
  plane?: Plane;
17089
17836
  holeFillMesh?: Mesh;
17837
+ holeFillGroup?: Group$1;
17090
17838
  topColor?: string;
17091
17839
  topVisible: boolean;
17840
+ bboxCenter?: {
17841
+ x: number;
17842
+ y: number;
17843
+ };
17092
17844
  }
17093
17845
  //#endregion
17094
17846
  //#region ../renderer-three/src/entities/geometry3d.d.ts
@@ -17148,7 +17900,7 @@ declare class Geometry3D<M$1 extends MeshComponentTypes = MeshComponent, S exten
17148
17900
  */
17149
17901
  parentId?: string | number;
17150
17902
  get object3d(): M$1["mesh"];
17151
- get parentObject3D(): GroupContainerObject3D | BatchedGeometryGroupObject3D | null;
17903
+ get parentObject3D(): GroupContainerObject3D | FeatureCollectionObject3D | null;
17152
17904
  type: T$1;
17153
17905
  entities2D: Map<string | number, Geometry2D>;
17154
17906
  constructor(meshComponent: M$1, styleComponent: S);
@@ -17269,6 +18021,14 @@ interface PathUniforms {
17269
18021
  type: 'f';
17270
18022
  value: number;
17271
18023
  };
18024
+ travelledEndFraction: {
18025
+ type: 'f';
18026
+ value: number;
18027
+ };
18028
+ travelledColor: {
18029
+ type: 'c';
18030
+ value: Color;
18031
+ };
17272
18032
  dashLength: {
17273
18033
  type: 'f';
17274
18034
  value: number;
@@ -17411,6 +18171,16 @@ declare class Renderer {
17411
18171
  setBackgroundColor(color: any, alpha: any): void;
17412
18172
  domElement(): HTMLCanvasElement | undefined;
17413
18173
  handleWebGLContextCreationError: (event: Event) => void;
18174
+ /**
18175
+ * The browser only fires the subsequent `webglcontextrestored` event if
18176
+ * the page calls `preventDefault()` on the `webglcontextlost` event.
18177
+ * Without this, after the GPU drops the context (e.g. iOS backgrounding,
18178
+ * thermal pressure, or another canvas exhausting the per-process WebGL
18179
+ * context budget), the canvas stays in a permanently lost state and any
18180
+ * subsequent draws produce garbage geometry.
18181
+ *
18182
+ * See: https://registry.khronos.org/webgl/specs/latest/1.0/#5.15.2
18183
+ */
17414
18184
  handleWebGLContextLost: (event: Event) => void;
17415
18185
  handleWebGLContextRestored: (event: Event) => void;
17416
18186
  }
@@ -17562,13 +18332,14 @@ declare class BatchedMeshSystem extends PubSub<{
17562
18332
  'geometry-2d-added': void;
17563
18333
  'geometry-group-added': void;
17564
18334
  }> {
18335
+ #private;
17565
18336
  state: RendererState;
17566
18337
  convertTo3DMapPosition: any;
17567
18338
  constructor(state: RendererState, convertTo3DMapPosition: any);
17568
- createEntityFromFeature(id: string | number, feature: Feature<Polygon | LineString | MultiPolygon, MeshComponentProperties>, style?: (LineStyle$2 | PaintStyle$2) & {
18339
+ createEntityFromFeature(id: string | number, featureOrFeatures: Feature<Polygon | LineString | MultiPolygon, MeshComponentProperties> | Feature<Polygon | LineString | MultiPolygon, MeshComponentProperties>[], style?: (LineStyle$2 | PaintStyle$2) & {
17569
18340
  focusable?: boolean;
17570
18341
  }): Geometry3D<MeshComponent, StyleComponent, InteractionComponent, "geometry", OutlineComponent | undefined, FocusableComponent | undefined, TextureComponent | undefined, BorderComponent | undefined, ClippingPlaneComponent | undefined>;
17571
- populateEntityMesh(entity: Geometry3D, geometry: BufferGeometry): void;
18342
+ populateEntityMesh(entity: Geometry3D, geometry: BufferGeometry, isMerged?: boolean): void;
17572
18343
  populateEntityGroup(entities: Set<string | number>): Set<string | number>;
17573
18344
  update(): Promise<void>;
17574
18345
  }
@@ -17909,6 +18680,7 @@ declare class CameraSystem extends PubSub<CameraEvents> {
17909
18680
  private cameraMoving;
17910
18681
  private lastCameraMoveTime;
17911
18682
  constructor(camera: PerspectiveCamera, scene: Scene, renderer: WebGLRenderer, rendererState: RendererState, options: CameraControlsOptions);
18683
+ private addMovingStateListeners;
17912
18684
  /**
17913
18685
  * The amount the camera is shifted up/down
17914
18686
  * (corresponds to scroll amount in multifloor mode)
@@ -17986,6 +18758,25 @@ declare class CameraSystem extends PubSub<CameraEvents> {
17986
18758
  * @returns {Number} The time in ms the camera stopped moving.
17987
18759
  */
17988
18760
  lastCameraStoppedMovingTime: () => number;
18761
+ /**
18762
+ * Marks the camera as under active external manipulation (e.g. a Mapbox/MapLibre
18763
+ * overlay gesture) and publishes `pan-start`. While in this state, the per-tick
18764
+ * `*-start`/`*-end` publishes inside setters are gated off, so a burst of
18765
+ * setCenter/setZoom/setRotation/setTilt calls does not flicker
18766
+ * `cameraMoving` between true and false.
18767
+ *
18768
+ * @hidden
18769
+ */
18770
+ beginGesture: () => void;
18771
+ /**
18772
+ * Ends a gesture started by {@link beginGesture} and publishes `pan-end`.
18773
+ * No-op if state is not PAN — guards against stomping a concurrent
18774
+ * user-initiated drag, and against `moveend` firing without a matching
18775
+ * `movestart`.
18776
+ *
18777
+ * @hidden
18778
+ */
18779
+ endGesture: () => void;
17989
18780
  /**
17990
18781
  * Sets the camera anchor to a specifc x/y positon, in the global reference frame. 0,0 will be roughly the middle of the map, and panBounds holds the min/max points.
17991
18782
  *
@@ -18376,6 +19167,21 @@ declare class Camera$2 extends PubSub<{
18376
19167
  * The camera's current elevation in meters from the ground.
18377
19168
  */
18378
19169
  get elevation(): number;
19170
+ /**
19171
+ * The maximum elevation (in meters) the camera is allowed to reach.
19172
+ * @default Infinity
19173
+ */
19174
+ get maxElevation(): number;
19175
+ /**
19176
+ * Cap the camera's elevation in meters. Applies to user pedestal drag (when
19177
+ * `panMode` is `'elevation'`), `setElevation`, and `animateElevation`. The
19178
+ * current elevation is snapped down to the cap if it exceeds the new
19179
+ * maximum.
19180
+ *
19181
+ * @param maxElevation The new maximum elevation in meters.
19182
+ * @default Infinity
19183
+ */
19184
+ setMaxElevation(maxElevation: number): void;
18379
19185
  /**
18380
19186
  * @param elevation The elevation in meters.
18381
19187
  */
@@ -18704,7 +19510,7 @@ declare class OutlineInterpolationSystem extends PubSub<{
18704
19510
  * @param options - Optional configuration for outline rendering
18705
19511
  */
18706
19512
  constructor(rendererState: RendererState, options?: OutlinesOptions$1);
18707
- buildOutlines(geometryGroupEntity: BatchedGeometryGroupObject3D): void;
19513
+ buildOutlines(geometryGroupEntity: FeatureCollectionObject3D): void;
18708
19514
  /**
18709
19515
  * Update the outline color of all entities with an outline component.
18710
19516
  * @param zoomLevel - The current zoom level.
@@ -19086,6 +19892,16 @@ declare class Debug$1 {
19086
19892
  }
19087
19893
  //#endregion
19088
19894
  //#region ../renderer-three/src/systems/2d-occlusion/system.d.ts
19895
+ /**
19896
+ * Set to `true` by the visual regression harness (see `e2e/visual/fixtures.ts`)
19897
+ * before page load. When set we bypass the throttle so screenshots are
19898
+ * deterministic. Anything else leaves the throttle in effect.
19899
+ */
19900
+ declare global {
19901
+ interface Window {
19902
+ __MAPPEDIN_E2E__?: boolean;
19903
+ }
19904
+ }
19089
19905
  declare class Occlusion2DSystem {
19090
19906
  private state;
19091
19907
  private renderer;
@@ -19113,7 +19929,17 @@ declare class Occlusion2DSystem {
19113
19929
  resize: () => void;
19114
19930
  private shouldShowByXY;
19115
19931
  activeOccluders: Set<unknown>;
19932
+ private framesSinceLastUpdate;
19933
+ /**
19934
+ * Throttled per-frame entry point called by the render loop. Delegates to
19935
+ * {@link updateImmediately} once every {@link OCCLUSION_SKIP_FRAMES} calls.
19936
+ * Callers that need a guaranteed synchronous pass should use
19937
+ * {@link updateImmediately} directly. When running under the visual
19938
+ * regression harness (`?e2e=true`) the throttle is bypassed so every
19939
+ * render produces a deterministic occlusion state.
19940
+ */
19116
19941
  update: () => void;
19942
+ updateImmediately: () => void;
19117
19943
  destroy(): void;
19118
19944
  }
19119
19945
  //#endregion
@@ -19149,7 +19975,9 @@ declare class BorderSystem {
19149
19975
  convertTo3DMapPosition: Core['convertTo3DMapPosition'];
19150
19976
  constructor(rendererState: RendererState, convertTo3DMapPosition: Core['convertTo3DMapPosition']);
19151
19977
  update(): void;
19978
+ private buildBordersForFeatures;
19152
19979
  private colorToMaterialCache;
19980
+ private getOrCreateMaterials;
19153
19981
  private buildBorder;
19154
19982
  destroy(): void;
19155
19983
  }
@@ -19228,11 +20056,23 @@ declare class ClippingPlaneSystem {
19228
20056
  update(): void;
19229
20057
  private process;
19230
20058
  /**
19231
- * Creates the stencil geometry for hole fill detection
19232
- * @param modelGeometry - The merged model geometry for counting passes
19233
- * @param planeGeometry - The plane geometry for bias pass (covers entire hole fill area)
19234
- * @param plane - The clipping plane
19235
- * @param renderOrder - Base render order for the meshes
20059
+ * Creates the stencil counting passes that mark cross-section pixels.
20060
+ *
20061
+ * Two passes operate on a single reserved stencil bit (CLIPPING_BIT = 0x80),
20062
+ * which is guaranteed to be 0 in every mask ID, so the clipping system and the
20063
+ * masking system never overwrite each other's stencil state:
20064
+ *
20065
+ * - mesh0 (back faces below clip): toggles bit 7 via InvertStencilOp.
20066
+ * - mesh1 (front faces below clip): toggles bit 7 via InvertStencilOp.
20067
+ *
20068
+ * For closed manifold meshes from a camera outside the model, each balanced
20069
+ * back/front pair toggles bit 7 twice (returning it to 0), while each unpaired
20070
+ * back face above the clip leaves bit 7 = 1. The cap then renders where
20071
+ * bit 7 == 1 and immediately clears bit 7 again with ZeroStencilOp.
20072
+ *
20073
+ * @param modelGeometry - The merged model geometry used for both passes
20074
+ * @param plane - The user-defined clipping plane
20075
+ * @param renderOrder - Base render order for the passes
19236
20076
  */
19237
20077
  private createHoleFillGeometry;
19238
20078
  }
@@ -19664,7 +20504,7 @@ declare class ModelSystem extends PubSub<{
19664
20504
  * @param tree - The geometry group container
19665
20505
  * @returns The created Object3D containing the model instances
19666
20506
  */
19667
- populateModelGroup(entities: Set<string | number>, url: string, tree: BatchedGeometryGroupObject3D): Promise<Geometry3DObject3D>;
20507
+ populateModelGroup(entities: Set<string | number>, url: string, tree: FeatureCollectionObject3D): Promise<Geometry3DObject3D>;
19668
20508
  /**
19669
20509
  * Updates the model system, processing any pending model loads and style updates
19670
20510
  * @returns A promise that resolves when all model loading is complete
@@ -19866,6 +20706,10 @@ type Systems = {
19866
20706
  pluginSystem: PluginSystem;
19867
20707
  shadowsSystem?: ShadowsSystem;
19868
20708
  };
20709
+ /**
20710
+ * Top-level state for the MapView, exposing global hover colors that apply
20711
+ * to all interactive elements. Returned by state APIs and consumed by extensions.
20712
+ */
19869
20713
  type MapViewState$1 = {
19870
20714
  readonly type: 'map-view';
19871
20715
  hoverColor: string;
@@ -19873,7 +20717,7 @@ type MapViewState$1 = {
19873
20717
  };
19874
20718
  declare class Core extends PubSub<MapEvent> {
19875
20719
  #private;
19876
- options: Omit<RendererCoreOptions$1, 'outdoorView'>;
20720
+ options: Omit<RendererCoreOptions$2, 'outdoorView'>;
19877
20721
  container: HTMLElement;
19878
20722
  Debug: Debug$1;
19879
20723
  /**
@@ -19906,7 +20750,7 @@ declare class Core extends PubSub<MapEvent> {
19906
20750
  /**
19907
20751
  * @internal
19908
20752
  */
19909
- constructor(container: HTMLElement, options?: RendererCoreOptions$1);
20753
+ constructor(container: HTMLElement, options?: RendererCoreOptions$2);
19910
20754
  /**
19911
20755
  * Projects a position into screen space. If a Vector3 is provided, the z-coordinate will include the depth from the camera.
19912
20756
  * @param projectVector - The vector to project the position into
@@ -19941,10 +20785,24 @@ declare class Core extends PubSub<MapEvent> {
19941
20785
  registerPlugin(plugin: ISystemPlugin$2): void;
19942
20786
  unregisterPlugin(plugin: ISystemPlugin$2): void;
19943
20787
  /**
19944
- * Add a batched geometry group from GeoJSON data.
19945
- * Features are batched into a single BatchedMesh per material group for efficient rendering.
20788
+ * Add a conceptual feature collection from GeoJSON data.
20789
+ *
20790
+ * Each feature is converted into a batched entity, which may be split across
20791
+ * multiple BatchedMeshes internally based on material. The collection itself
20792
+ * is a lightweight container; visual properties such as color, opacity,
20793
+ * altitude, height, etc. are driven per-feature via the `style` callback.
20794
+ *
20795
+ * To toggle visibility of the whole collection, wrap it in a
20796
+ * `GroupContainer` via the `parent` argument and set visibility on the
20797
+ * container.
20798
+ *
20799
+ * The only collection-level concern honored at creation time is the optional
20800
+ * mask — read from `style(features[0])`.
19946
20801
  */
19947
- addBatchedGeometryGroup<T$1 extends FeatureCollection<Polygon | MultiPolygon | LineString, any>>(id: string, geometry: T$1, style?: (T$1 extends FeatureCollection<LineString, any> ? LineStyle$2 : PaintStyle$2) | ((feature: Feature<Polygon | MultiPolygon | LineString, any>) => T$1 extends FeatureCollection<LineString, any> ? LineStyle$2 : PaintStyle$2), parent?: EntityId$1<GroupContainerState$1> | string | number | null): EntityId$1<BatchedGeometryGroupState>;
20802
+ addFeatureCollection<T$1 extends FeatureCollection<Polygon | MultiPolygon | LineString, any>>(id: string, geometry: T$1, style?: ((feature: Feature<Polygon | MultiPolygon | LineString, any>) => T$1 extends FeatureCollection<LineString, any> ? LineStyle$2 : PaintStyle$2) | (T$1 extends FeatureCollection<LineString, any> ? LineStyle$2 : PaintStyle$2), fcState?: {
20803
+ altitude?: number;
20804
+ visible?: boolean;
20805
+ }, parent?: EntityId$1<GroupContainerState$1> | string | number | null): EntityId$1<FeatureCollectionState>;
19948
20806
  addOccluder<T$1 extends Feature<Polygon | MultiPolygon, any>>(feature: T$1, parent?: EntityId$1<GroupContainerState$1> | string | number | null): number;
19949
20807
  addImage(id: string, geometry: Feature<Point, ImageProperties>, style: ImageStyle, parent?: EntityId$1<GroupContainerState$1> | string | null): EntityId$1<ImageState> | undefined;
19950
20808
  /**
@@ -19956,7 +20814,7 @@ declare class Core extends PubSub<MapEvent> {
19956
20814
  }?: {
19957
20815
  parent?: EntityId$1<GroupContainerState$1> | string | null;
19958
20816
  onComplete?: () => void;
19959
- }): EntityId$1<BatchedGeometryGroupState> | undefined;
20817
+ }): EntityId$1<FeatureCollectionState> | undefined;
19960
20818
  /**
19961
20819
  * Add an HTML Marker at a GeoJSON coordinate.
19962
20820
  */
@@ -20038,9 +20896,9 @@ declare class Core extends PubSub<MapEvent> {
20038
20896
  * Get the current state of the map view, or any entity that was added, regardless of whether it is visible in the scene
20039
20897
  */
20040
20898
  getState(): MapViewState$1;
20041
- getState<T$1 extends EntityId$1<EntityState>>(geometryOrGeometryId: T$1): T$1 extends EntityId$1<LabelState> ? LabelState : T$1 extends EntityId$1<GeometryState> ? GeometryState : T$1 extends EntityId$1<MarkerState$1> ? MarkerState$1 : T$1 extends EntityId$1<BatchedGeometryGroupState> ? BatchedGeometryGroupState : T$1 extends EntityId$1<GroupContainerState$1> ? GroupContainerState$1 : T$1 extends EntityId$1<ModelState> ? ModelState : T$1 extends EntityId$1<PathState$1> ? PathState$1 : T$1 extends EntityId$1<ShapeState> ? ShapeState : T$1 extends EntityId$1<ImageState> ? ImageState : T$1 extends EntityId$1<Text3DState$1> ? Text3DState$1 : EntityState;
20899
+ getState<T$1 extends EntityId$1<EntityState>>(geometryOrGeometryId: T$1): T$1 extends EntityId$1<LabelState> ? LabelState : T$1 extends EntityId$1<GeometryState> ? GeometryState : T$1 extends EntityId$1<MarkerState$1> ? MarkerState$1 : T$1 extends EntityId$1<FeatureCollectionState> ? FeatureCollectionState : T$1 extends EntityId$1<GroupContainerState$1> ? GroupContainerState$1 : T$1 extends EntityId$1<ModelState> ? ModelState : T$1 extends EntityId$1<PathState$1> ? PathState$1 : T$1 extends EntityId$1<ShapeState> ? ShapeState : T$1 extends EntityId$1<ImageState> ? ImageState : T$1 extends EntityId$1<Text3DState$1> ? Text3DState$1 : EntityState;
20042
20900
  getState(geometryOrGeometryId?: Record<string | number, any> | string | number): EntityState;
20043
- getState<T$1 extends EntityState>(geometryOrGeometryId: T$1['id']): T$1 extends LabelState ? LabelState : T$1 extends GeometryState ? GeometryState : T$1 extends MarkerState$1 ? MarkerState$1 : T$1 extends BatchedGeometryGroupState ? BatchedGeometryGroupState : T$1 extends GroupContainerState$1 ? GroupContainerState$1 : T$1 extends ModelState ? ModelState : T$1 extends PathState$1 ? PathState$1 : T$1 extends ShapeState ? ShapeState : T$1 extends ImageState ? ImageState : EntityState;
20901
+ getState<T$1 extends EntityState>(geometryOrGeometryId: T$1['id']): T$1 extends LabelState ? LabelState : T$1 extends GeometryState ? GeometryState : T$1 extends MarkerState$1 ? MarkerState$1 : T$1 extends FeatureCollectionState ? FeatureCollectionState : T$1 extends GroupContainerState$1 ? GroupContainerState$1 : T$1 extends ModelState ? ModelState : T$1 extends PathState$1 ? PathState$1 : T$1 extends ShapeState ? ShapeState : T$1 extends ImageState ? ImageState : EntityState;
20044
20902
  /**
20045
20903
  * Get rendered state for an entity (e.g., runtime rendering state that changes frequently)
20046
20904
  * @param entity The entity to get rendered state for
@@ -20053,7 +20911,7 @@ declare class Core extends PubSub<MapEvent> {
20053
20911
  setState(object: Partial<Omit<MapViewState$1, 'type'>>): void;
20054
20912
  setState<T$1 extends EntityId$1<LabelState>>(object: T$1 | T$1['id'], state: Partial<LabelState>): void;
20055
20913
  setState<T$1 extends EntityId$1<MarkerState$1>>(object: T$1 | T$1['id'], state: Partial<MarkerStateUpdate>): void;
20056
- setState<T$1 extends EntityId$1<BatchedGeometryGroupState>>(object: T$1 | T$1['id'], state: Partial<BatchedGeometryGroupState>): void;
20914
+ setState<T$1 extends EntityId$1<FeatureCollectionState>>(object: T$1 | T$1['id'], state: Partial<FeatureCollectionState>): void;
20057
20915
  setState<T$1 extends EntityId$1<GroupContainerState$1>>(object: T$1 | T$1['id'], state: Partial<GroupContainerState$1>): void;
20058
20916
  setState<T$1 extends EntityId$1<GeometryState>>(object: T$1 | T$1['id'], state: Partial<GeometryState>): void;
20059
20917
  setState<T$1 extends EntityId$1<ShapeState>>(object: T$1 | T$1['id'], state: Partial<ShapeState>): void;
@@ -20239,7 +21097,7 @@ type GroupContainerState$1 = {
20239
21097
  /**
20240
21098
  * The states of the children of the group container
20241
21099
  */
20242
- readonly children: (PathState$1 | MarkerState$1 | LabelState | GroupContainerState$1 | BatchedGeometryGroupState)[];
21100
+ readonly children: (PathState$1 | MarkerState$1 | LabelState | GroupContainerState$1 | FeatureCollectionState)[];
20243
21101
  /**
20244
21102
  * Whether the group container is visible
20245
21103
  */
@@ -20261,7 +21119,7 @@ type GroupContainerState$1 = {
20261
21119
  };
20262
21120
  declare class GroupContainerObject3D extends Object3D {
20263
21121
  childrenIds: Set<string | number>;
20264
- children: (GroupContainerObject3D | BatchedGeometryGroupObject3D | BatchedText$1 | Geometry2D['object3d'] | NonNullable<Geometry3D['object3d']>)[];
21122
+ children: (GroupContainerObject3D | FeatureCollectionObject3D | BatchedText$1 | Geometry2D['object3d'] | NonNullable<Geometry3D['object3d']>)[];
20265
21123
  getComponent(): void;
20266
21124
  readonly type: "group-container";
20267
21125
  userData: {
@@ -20282,11 +21140,12 @@ declare class GroupContainerObject3D extends Object3D {
20282
21140
  components: [InteractionComponent?, FocusableComponent?];
20283
21141
  constructor(id: string);
20284
21142
  addOccluderFeature(feature: Feature<Polygon | MultiPolygon, any>, occluderId: number): void;
20285
- addEntity(entityGroupOrContainer: GroupContainerObject3D | BatchedGeometryGroupObject3D | Geometry2D | Geometry3DTypes): void;
21143
+ addEntity(entityGroupOrContainer: GroupContainerObject3D | FeatureCollectionObject3D | Geometry2D | Geometry3DTypes): void;
20286
21144
  removeEntity(entityGroupOrContainer: EntityTypes): void;
20287
21145
  setVisible(visible: boolean): void;
20288
21146
  setAltitude(altitude: number): void;
20289
21147
  set2DGeometryChildrenPositionDirty(): void;
21148
+ liftFocusableCaches(dz: number): void;
20290
21149
  get altitude(): number;
20291
21150
  setOpacity(opacity: number): void;
20292
21151
  get opacity(): number;
@@ -20323,7 +21182,7 @@ declare class Geometry2D {
20323
21182
  type: 'label' | 'marker';
20324
21183
  /** Lightweight entity for the 2D pipeline */
20325
21184
  entity2D: Entity2D;
20326
- get parentObject3D(): GroupContainerObject3D | BatchedGeometryGroupObject3D | null;
21185
+ get parentObject3D(): GroupContainerObject3D | FeatureCollectionObject3D | null;
20327
21186
  /** The geometry3D that this 2D entity is attached to */
20328
21187
  get attachedTo(): string | number | undefined;
20329
21188
  verticalOffset: number;
@@ -20363,15 +21222,24 @@ declare class Geometry2D {
20363
21222
  type Position$2 = [lon: number, lat: number] | [lon: number, lat: number, alt: number];
20364
21223
  //#endregion
20365
21224
  //#region ../renderer-three/src/types/options.d.ts
21225
+ /**
21226
+ * Selects which environment map is used for image-based lighting.
21227
+ * `'basic'` enables a default environment map, `false` disables environment lighting.
21228
+ */
20366
21229
  type EnvMapOptions$2 = 'basic' | false;
20367
- type RendererCoreOptions$1 = Partial<{
21230
+ /**
21231
+ * Low-level options consumed by `RendererCore` to configure rendering, camera
21232
+ * defaults, outdoor view integration, and visual effects. Most consumers
21233
+ * should use `TShow3DMapOptions` instead, which is converted into this shape internally.
21234
+ */
21235
+ type RendererCoreOptions$2 = Partial<{
20368
21236
  center?: Position$2;
20369
21237
  zoomLevel?: number;
20370
21238
  pitch?: number;
20371
21239
  bearing?: number;
20372
21240
  naturalBearing?: number;
20373
21241
  outdoorView: {
20374
- headers: {
21242
+ headers?: {
20375
21243
  'x-mappedin-tiles-key': string;
20376
21244
  };
20377
21245
  style?: string;
@@ -20524,7 +21392,7 @@ type ShadowsOptions = {
20524
21392
  /**
20525
21393
  * The state of an entity, which can be a geometry, geometry group, group container, path, model, label, or marker.
20526
21394
  */
20527
- type EntityState = GeometryState | BatchedGeometryGroupState | GroupContainerState$1 | PathState$1 | ModelState | LabelState | MarkerState$1 | ImageState | Text3DState$1 | ShapeState;
21395
+ type EntityState = GeometryState | FeatureCollectionState | GroupContainerState$1 | PathState$1 | ModelState | LabelState | MarkerState$1 | ImageState | Text3DState$1 | ShapeState;
20528
21396
  /**
20529
21397
  * A wrapper object that contains the ID and type of an entity. This is returned when adding entities to the scene, and can be used
20530
21398
  * to `getState` and `setState` of the entity.
@@ -20567,9 +21435,14 @@ type BevelState = {
20567
21435
  */
20568
21436
  segments?: number;
20569
21437
  };
21438
+ /**
21439
+ * Visual styling for filled (polygon-based) geometry such as spaces and shapes.
21440
+ * Controls color, opacity, height, textures, bevel, shading and outlines.
21441
+ */
20570
21442
  type PaintStyle$2 = {
20571
21443
  color: string;
20572
21444
  topColor?: string;
21445
+ hoverColor?: string;
20573
21446
  height?: number;
20574
21447
  altitude?: number;
20575
21448
  opacity?: number;
@@ -20608,14 +21481,23 @@ type PaintStyle$2 = {
20608
21481
  */
20609
21482
  __EXPERIMENTAL_maskEnabled?: boolean;
20610
21483
  };
21484
+ /**
21485
+ * Configures the vertical shading gradient applied to extruded geometry to give
21486
+ * walls and shapes a sense of depth. `start` and `end` are normalized heights.
21487
+ */
20611
21488
  type Shading$1 = {
20612
21489
  start?: number;
20613
21490
  end?: number;
20614
21491
  intensity?: number;
20615
21492
  };
21493
+ /**
21494
+ * Visual styling for line-based geometry such as paths and connection lines.
21495
+ * Controls color, width, caps/joins, shading and outlines.
21496
+ */
20616
21497
  type LineStyle$2 = {
20617
21498
  color: string;
20618
21499
  topColor?: string;
21500
+ hoverColor?: string;
20619
21501
  width: number;
20620
21502
  opacity?: number;
20621
21503
  height?: number;
@@ -20654,6 +21536,10 @@ type ModelProperties = {
20654
21536
  */
20655
21537
  visibleThroughGeometry?: boolean;
20656
21538
  };
21539
+ /**
21540
+ * Padding applied to the camera's visible area so map content stays clear of
21541
+ * UI overlays such as headers, sidebars and bottom sheets.
21542
+ */
20657
21543
  type InsetPadding$2 = {
20658
21544
  top: number;
20659
21545
  left: number;
@@ -20696,6 +21582,11 @@ type ClickPayload = {
20696
21582
  * An array of 3D models IDs which the user interaction passed through. Will be empty if no models were interacted with.
20697
21583
  */
20698
21584
  models: [string | number] | [];
21585
+ /**
21586
+ * An array of 3D image IDs which the user interaction passed through. Will be empty if no images were interacted with.
21587
+ * Only images added with `interactive: true` are included.
21588
+ */
21589
+ images: [string | number] | [];
20699
21590
  /**
20700
21591
  * An array of label IDs which the user interaction passed through. Will be empty if no labels were interacted with.
20701
21592
  */
@@ -20805,7 +21696,12 @@ type MapEvent = {
20805
21696
  /**
20806
21697
  * All entities in 3D
20807
21698
  */
20808
- type All3DTypes = Geometry3DTypes | BatchedGeometryGroupObject3D | GroupContainerObject3D;
21699
+ type All3DTypes = Geometry3DTypes | FeatureCollectionObject3D | GroupContainerObject3D;
21700
+ /**
21701
+ * Snapshot of the renderer's internal state passed to {@link ISystemPlugin}
21702
+ * instances on every frame. Exposes the Three.js scene, camera and geometry
21703
+ * registries so plugins can inspect or augment the render pipeline.
21704
+ */
20809
21705
  type RendererState = {
20810
21706
  /**
20811
21707
  * A map of all 3D geometries in the world.
@@ -20836,7 +21732,7 @@ type RendererState = {
20836
21732
  /**
20837
21733
  * IDs of geometry groups that need to be loaded, including preloaded geometry groups that are not in the scene yet
20838
21734
  */
20839
- readonly geometryGroupIdsToLoad: Set<BatchedGeometryGroupObject3D['userData']['entityId']>;
21735
+ readonly geometryGroupIdsToLoad: Set<FeatureCollectionObject3D['userData']['entityId']>;
20840
21736
  readonly geometryScene: GroupContainerObject3D;
20841
21737
  hoverColor: string;
20842
21738
  text3dHoverColor: string;
@@ -20876,7 +21772,7 @@ type RendererState = {
20876
21772
  /**
20877
21773
  * All of the entities in the scene
20878
21774
  */
20879
- type EntityTypes = Geometry3DTypes | Geometry2D | BatchedGeometryGroupObject3D | GroupContainerObject3D;
21775
+ type EntityTypes = Geometry3DTypes | Geometry2D | FeatureCollectionObject3D | GroupContainerObject3D;
20880
21776
  /** @internal */
20881
21777
  type TransformImageRequest = (url: string) => Promise<{
20882
21778
  url: string;
@@ -21014,14 +21910,29 @@ declare class MapLibreOverlay<T$1> extends PubSub<T$1> implements IControl {
21014
21910
  origin?: Position$2;
21015
21911
  map?: Map$1;
21016
21912
  layer?: CustomLayerInterface;
21017
- constructor(origin: Position$2 | undefined, options?: RendererCoreOptions$1);
21913
+ private cameraSystem;
21914
+ constructor(origin: Position$2 | undefined, options?: RendererCoreOptions$2);
21018
21915
  private handleStyleChange;
21916
+ private handleMoveStart;
21019
21917
  private handleMove;
21918
+ private handleMoveEnd;
21020
21919
  private handleError;
21920
+ /**
21921
+ * Called by MapLibre when this overlay is added to a map as an IControl.
21922
+ * @param map - The MapLibre map this overlay is being attached to.
21923
+ * @returns The DOM element rendered by this overlay.
21924
+ */
21021
21925
  onAdd(map: Map$1): HTMLDivElement;
21926
+ /**
21927
+ * Called by MapLibre when this overlay is removed from a map. Detaches all
21928
+ * map listeners, removes the custom layer, and destroys the underlying renderer.
21929
+ */
21022
21930
  onRemove(): void;
21023
21931
  }
21024
21932
  //#endregion
21933
+ //#region ../renderer-three/src/utils/constants.d.ts
21934
+ declare const MAPPEDIN_LAYER_ID = "mappedin";
21935
+ //#endregion
21025
21936
  //#region src/constants.d.ts
21026
21937
  declare const MAPPEDIN_COLORS: {
21027
21938
  orange: string;
@@ -21030,15 +21941,37 @@ declare const MAPPEDIN_COLORS: {
21030
21941
  };
21031
21942
  //#endregion
21032
21943
  //#region ../packages/common/Mappedin.Logger.d.ts
21944
+ /**
21945
+ * SDK logging verbosity. Ordered from most verbose to least — selecting a level
21946
+ * enables that level plus every level after it.
21947
+ */
21033
21948
  declare enum E_SDK_LOG_LEVEL {
21034
21949
  LOG = 0,
21035
21950
  WARN = 1,
21036
21951
  ERROR = 2,
21037
21952
  SILENT = 3,
21038
21953
  }
21954
+ /**
21955
+ * Set the SDK's global log verbosity. Lower levels include all higher-numbered levels;
21956
+ * `SILENT` suppresses all output.
21957
+ * @param level - The desired verbosity from {@link E_SDK_LOG_LEVEL}.
21958
+ */
21039
21959
  declare function setLoggerLevel(level: E_SDK_LOG_LEVEL): void;
21040
21960
  //#endregion
21961
+ //#region src/utils/convert-renderer-core-options.d.ts
21962
+ /**
21963
+ * Converts TShow3DMapOptions to RendererCoreOptions format.
21964
+ * Transforms outdoorView.token to outdoorView.headers['x-mappedin-tiles-key'].
21965
+ * @internal
21966
+ */
21967
+ declare function convertToRendererCoreOptions(options: TShow3DMapOptions | undefined): Partial<RendererCoreOptions$1> | undefined;
21968
+ //#endregion
21041
21969
  //#region src/api-geojson/multi-floor.d.ts
21970
+ /**
21971
+ * Multi-floor visibility state returned by {@link getMultiFloorState}, describing
21972
+ * the outdoor opacity and per-floor state used when rendering a stacked view of
21973
+ * multiple floors at once.
21974
+ */
21042
21975
  type VisibilityState = {
21043
21976
  outdoorOpacity: number | 'initial';
21044
21977
  floorStates: {
@@ -21046,6 +21979,11 @@ type VisibilityState = {
21046
21979
  state: TFloorState;
21047
21980
  }[];
21048
21981
  };
21982
+ /**
21983
+ * Configuration for the footprint rendered beneath stacked floors in multi-floor
21984
+ * view, controlling its color, opacity, outlines, and the visual treatment of
21985
+ * spaces open to the floor below.
21986
+ */
21049
21987
  type FootprintConfig = {
21050
21988
  /**
21051
21989
  * The color of the footprint.
@@ -21505,6 +22443,23 @@ declare const checkWorkerUrls: () => Promise<false | {
21505
22443
  collision: boolean;
21506
22444
  maplibre: boolean;
21507
22445
  }>;
22446
+ /**
22447
+ * Render a Mappedin map into the given DOM container and return its {@link MapView}.
22448
+ *
22449
+ * This is the main entry point for Mappedin JS. Combine with {@link getMapData}
22450
+ * to load venue data and render an interactive 3D map.
22451
+ *
22452
+ * @param el - The container element to render the map into. Must be attached to the DOM and have non-zero size.
22453
+ * @param mapData - Venue data, typically obtained from {@link getMapData}.
22454
+ * @param options - Optional {@link TShow3DMapOptions} to customize the initial state, UI, and behavior of the map.
22455
+ * @returns A promise that resolves to a {@link MapView} once the map has been initialized.
22456
+ *
22457
+ * @example
22458
+ * ```ts
22459
+ * const mapData = await getMapData({ key: '...', secret: '...', mapId: '...' });
22460
+ * const mapView = await show3dMap(document.getElementById('mappedin-map')!, mapData);
22461
+ * ```
22462
+ */
21508
22463
  declare const show3dMap: (el: HTMLElement, mapData: MapData, options?: TShow3DMapOptions) => Promise<MapView>;
21509
22464
  /**
21510
22465
  * Returns the package version of the SDK.
@@ -21516,4 +22471,4 @@ declare const getVersion: () => string | undefined;
21516
22471
  */
21517
22472
  declare const show3dMapGeojson: (el: HTMLElement, mapData: MapData, options?: TShow3DMapOptions) => Promise<MapView>;
21518
22473
  //#endregion
21519
- 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 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 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 TText3DState, type TText3DUpdateState, type TUpdateState, type TWallsState, type TWallsUpdateState, TWatermarkOptions, type Text3D, type Text3DView, type UpdateGlobalState, type VisibilityState, WALLS, type WithState, MapLibreOverlay as __INTERNAL__MapLibreOverlay, __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 };
22474
+ 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 };