@smplrspace/smplr-loader 2.57.2-beta.0 → 2.57.2-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,31 +1,43 @@
1
+ import type { AbstractEngine } from '@babylonjs/core/Engines/abstractEngine';
2
+ import type { ActionManager } from '@babylonjs/core/Actions/actionManager';
1
3
  import { ArcRotateCamera } from '@babylonjs/core/Cameras/arcRotateCamera';
4
+ import type { AssetsManager } from '@babylonjs/core/Misc/assetsManager';
5
+ import type { CascadedShadowGenerator } from '@babylonjs/core/Lights/Shadows/cascadedShadowGenerator';
6
+ import { Color4 } from '@babylonjs/core/Maths/math.color';
2
7
  import { CSSProperties } from 'react';
3
- import { Dispatch } from 'react';
8
+ import type { DirectionalLight } from '@babylonjs/core/Lights/directionalLight';
4
9
  import { EasingOptions } from 'mapbox-gl';
10
+ import { ExtractCFromProps } from 'mobx-state-tree/dist/internal';
5
11
  import { GetTokenSilentlyOptions } from '@auth0/auth0-spa-js';
12
+ import type { HemisphericLight } from '@babylonjs/core/Lights/hemisphericLight';
6
13
  import { IArrayType } from 'mobx-state-tree';
14
+ import { IMapType } from 'mobx-state-tree';
7
15
  import { IMaybe } from 'mobx-state-tree';
8
16
  import { IModelType } from 'mobx-state-tree';
9
17
  import { Instance } from 'mobx-state-tree';
10
18
  import { IOptionalIType } from 'mobx-state-tree';
11
19
  import { ISimpleType } from 'mobx-state-tree';
12
20
  import { IType } from 'mobx-state-tree';
21
+ import { ITypeUnion } from 'mobx-state-tree';
13
22
  import { LogoutOptions } from '@auth0/auth0-spa-js';
14
23
  import { MapMouseEvent } from 'mapbox-gl';
24
+ import { Matrix } from '@babylonjs/core/Maths/math.vector';
15
25
  import { Mesh } from '@babylonjs/core/Meshes/mesh';
16
- import { default as NoSleep_2 } from 'nosleep.js';
26
+ import { ModelCreationType } from 'mobx-state-tree';
27
+ import { ModelInstanceType } from 'mobx-state-tree';
28
+ import { ModelSnapshotType } from 'mobx-state-tree';
17
29
  import { _NotCustomized } from 'mobx-state-tree';
30
+ import type { PBRMetallicRoughnessMaterial } from '@babylonjs/core/Materials/PBR/pbrMetallicRoughnessMaterial';
18
31
  import { RedirectLoginOptions } from '@auth0/auth0-spa-js';
19
- import { Reducer } from 'react';
20
- import { ReducerAction } from 'react';
21
32
  import { RefObject } from 'react';
22
33
  import { Scene } from '@babylonjs/core/scene';
34
+ import type { ShadowGenerator } from '@babylonjs/core/Lights/Shadows/shadowGenerator';
23
35
  import { SnapshotIn } from 'mobx-state-tree';
24
36
  import { SnapshotOut } from 'mobx-state-tree';
25
- import { UniversalCamera } from '@babylonjs/core/Cameras/universalCamera';
26
37
  import { User as User_2 } from '@auth0/auth0-spa-js';
27
38
  import { Vector2 } from '@babylonjs/core/Maths/math';
28
- import { VRDeviceOrientationFreeCamera } from '@babylonjs/core/Cameras/VR/vrDeviceOrientationFreeCamera';
39
+ import { Vector3 } from '@babylonjs/core/Maths/math.vector';
40
+ import { Vector3 as Vector3_2 } from '@babylonjs/core/Maths/math';
29
41
 
30
42
  declare const AbstractSegment: IModelType< {
31
43
  start: IModelType< {
@@ -301,7 +313,7 @@ export declare type DataLayer<D extends UnknownData = NoData> = PointDataLayer<D
301
313
  export declare class DataLayerController<D extends UnknownData> {
302
314
  private dataLayer;
303
315
  private scene;
304
- private dispatchDataLayersDefinition;
316
+ private store;
305
317
  private viewerRef;
306
318
  constructor(initOptions: DataLayerControllerInitOptions<D>);
307
319
  add(): void;
@@ -313,27 +325,10 @@ export declare class DataLayerController<D extends UnknownData> {
313
325
  declare interface DataLayerControllerInitOptions<D extends UnknownData> {
314
326
  dataLayer: DataLayer<D>;
315
327
  scene: SmplrScene;
316
- dispatchDataLayersDefinition: DispatchDataLayersDefinitionFn;
328
+ store: IViewerStore;
317
329
  viewerRef: RefObject<ViewerRendererHandle>;
318
330
  }
319
331
 
320
- declare type DataLayersDefinitionActions<D extends UnknownData> = {
321
- type: 'add';
322
- layer: DataLayer<D>;
323
- } | {
324
- type: 'update';
325
- layer: Partial<Omit<DataLayer<D>, 'type'>>;
326
- } | {
327
- type: 'remove';
328
- layer: {
329
- id: string;
330
- };
331
- };
332
-
333
- declare type DataLayersDefinitionReducer<D extends UnknownData = UnknownData> = Reducer<DataLayersDefinitionState<D>, DataLayersDefinitionActions<D>>;
334
-
335
- declare type DataLayersDefinitionState<D extends UnknownData> = Record<string, DataLayer<D>>;
336
-
337
332
  declare type DeepPartial<T> = T extends object ? {
338
333
  [P in keyof T]?: DeepPartial<T[P]>;
339
334
  } : T;
@@ -359,7 +354,11 @@ declare type DeskConfiguration = {
359
354
 
360
355
  declare type DeskSide = 'feet' | 'plank' | 'drawers';
361
356
 
362
- declare type DispatchDataLayersDefinitionFn = Dispatch<ReducerAction<DataLayersDefinitionReducer>>;
357
+ declare interface Dimensions {
358
+ length: number;
359
+ height: number;
360
+ width: number;
361
+ }
363
362
 
364
363
  export declare interface DottedPolylineDataLayer<D extends UnknownData = NoData> extends BaseDataLayer<PolylineData, D> {
365
364
  id: string;
@@ -377,6 +376,28 @@ export declare interface DottedPolylineDataLayer<D extends UnknownData = NoData>
377
376
  disableElevationCorrection?: boolean;
378
377
  }
379
378
 
379
+ declare const DottedPolylineViewerDataLayer: IModelType< {
380
+ definition: IType<DottedPolylineDataLayer<UnknownData>, DottedPolylineDataLayer<UnknownData>, DottedPolylineDataLayer<UnknownData>>;
381
+ compiledTooltipTemplate: IMaybe<IType< {
382
+ fn: (dataElement: UnknownData) => string;
383
+ }, {
384
+ fn: (dataElement: UnknownData) => string;
385
+ }, {
386
+ fn: (dataElement: UnknownData) => string;
387
+ }>>;
388
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
389
+ } & {
390
+ type: ISimpleType<LayerType.DottedPolyline>;
391
+ }, {
392
+ readonly renderableDefinition: RenderableDataLayer<DottedPolylineDataLayer<UnknownData>>;
393
+ readonly renderState: ViewerDataLayerRenderState<DottedPolylineDataLayer<UnknownData>>;
394
+ readonly persistentTooltipSources: PersistentTooltipSource[];
395
+ } & {
396
+ setCompiledTooltipTemplate(compiledTemplate: (dataElement: UnknownData) => string): void;
397
+ touch(): void;
398
+ updateDefinition(updates: Partial<Omit<DottedPolylineDataLayer<UnknownData>, "type">>): void;
399
+ }, _NotCustomized, _NotCustomized>;
400
+
380
401
  declare const drawColorSwatches: ({ containerId, ...swatchesProps }: ColorSwatchesProps & {
381
402
  containerId: string;
382
403
  }) => void;
@@ -411,6 +432,12 @@ export declare type EditorOptions = {
411
432
  container: HTMLElement;
412
433
  });
413
434
 
435
+ declare interface ElementRenderState {
436
+ render?: boolean;
437
+ includeLayers?: string[];
438
+ omitLayers?: string[];
439
+ }
440
+
414
441
  export declare interface EmbeddedEditorUser {
415
442
  id: string;
416
443
  name?: string;
@@ -538,6 +565,28 @@ export declare interface FurnitureDataLayer<D extends UnknownData = NoData> exte
538
565
  color?: string | ((dataElement: FurnitureData & D) => string);
539
566
  }
540
567
 
568
+ declare const FurnitureViewerDataLayer: IModelType< {
569
+ definition: IType<FurnitureDataLayer<UnknownData>, FurnitureDataLayer<UnknownData>, FurnitureDataLayer<UnknownData>>;
570
+ compiledTooltipTemplate: IMaybe<IType< {
571
+ fn: (dataElement: UnknownData) => string;
572
+ }, {
573
+ fn: (dataElement: UnknownData) => string;
574
+ }, {
575
+ fn: (dataElement: UnknownData) => string;
576
+ }>>;
577
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
578
+ } & {
579
+ type: ISimpleType<LayerType.Furniture>;
580
+ }, {
581
+ readonly renderableDefinition: RenderableDataLayer<FurnitureDataLayer<UnknownData>>;
582
+ readonly renderState: ViewerDataLayerRenderState<FurnitureDataLayer<UnknownData>>;
583
+ readonly persistentTooltipSources: PersistentTooltipSource[];
584
+ } & {
585
+ setCompiledTooltipTemplate(compiledTemplate: (dataElement: UnknownData) => string): void;
586
+ touch(): void;
587
+ updateDefinition(updates: Partial<Omit<FurnitureDataLayer<UnknownData>, "type">>): void;
588
+ }, _NotCustomized, _NotCustomized>;
589
+
541
590
  export declare interface GeoPoint {
542
591
  lng: number;
543
592
  lat: number;
@@ -764,6 +813,14 @@ declare type GroundFootprintGetter<C> = (args: {
764
813
  configuration: Partial<C>;
765
814
  }) => Vector2[];
766
815
 
816
+ declare interface GroundMaterials {
817
+ indoor: PBRMetallicRoughnessMaterial;
818
+ grass: PBRMetallicRoughnessMaterial;
819
+ water: PBRMetallicRoughnessMaterial;
820
+ darkgrey: PBRMetallicRoughnessMaterial;
821
+ white: PBRMetallicRoughnessMaterial;
822
+ }
823
+
767
824
  declare const GroundSegment: IModelType< {
768
825
  start: IModelType< {
769
826
  r: ISimpleType<number>;
@@ -834,6 +891,28 @@ declare interface HeatmapSpheresOptions {
834
891
 
835
892
  declare type HeatmapStyleOptions = HeatmapSpheresOptions | HeatmapGridOptions | HeatmapBarChartOptions;
836
893
 
894
+ declare const HeatmapViewerDataLayer: IModelType< {
895
+ definition: IType<HeatmapDataLayer<UnknownData>, HeatmapDataLayer<UnknownData>, HeatmapDataLayer<UnknownData>>;
896
+ compiledTooltipTemplate: IMaybe<IType< {
897
+ fn: (dataElement: UnknownData) => string;
898
+ }, {
899
+ fn: (dataElement: UnknownData) => string;
900
+ }, {
901
+ fn: (dataElement: UnknownData) => string;
902
+ }>>;
903
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
904
+ } & {
905
+ type: ISimpleType<LayerType.Heatmap>;
906
+ }, {
907
+ readonly renderableDefinition: RenderableDataLayer<HeatmapDataLayer<UnknownData>>;
908
+ readonly renderState: ViewerDataLayerRenderState<HeatmapDataLayer<UnknownData>>;
909
+ readonly persistentTooltipSources: PersistentTooltipSource[];
910
+ } & {
911
+ setCompiledTooltipTemplate(compiledTemplate: (dataElement: UnknownData) => string): void;
912
+ touch(): void;
913
+ updateDefinition(updates: Partial<Omit<HeatmapDataLayer<UnknownData>, "type">>): void;
914
+ }, _NotCustomized, _NotCustomized>;
915
+
837
916
  declare const Hole: IModelType< {
838
917
  id: IOptionalIType<ISimpleType<string>, [undefined]>;
839
918
  type: IOptionalIType<ISimpleType<"hole">, [undefined]>;
@@ -892,6 +971,11 @@ removePoint(id: string): void;
892
971
  movePoint(id: string, { r, t }: SICanvasPoint): void;
893
972
  }, _NotCustomized, _NotCustomized>;
894
973
 
974
+ declare interface HoveredDataElement {
975
+ layer: RenderableDataLayer<DataLayer<UnknownData>>;
976
+ element: UnknownData;
977
+ }
978
+
895
979
  declare interface IAnnotation extends Instance<typeof Annotation> {
896
980
  }
897
981
 
@@ -923,6 +1007,10 @@ export declare interface IconDataLayer<D extends UnknownData = NoData> extends B
923
1007
  disableElevationCorrection?: boolean;
924
1008
  }
925
1009
 
1010
+ declare type IconInstance<D extends UnknownData = NoData> = IconDataLayer<D>['data'][number] & {
1011
+ __instanceIndex: number;
1012
+ };
1013
+
926
1014
  declare interface IconLegend extends Pick<IconsSwatchesProps, 'icons'> {
927
1015
  type: 'icons';
928
1016
  }
@@ -937,6 +1025,28 @@ declare interface IconsSwatchesProps {
937
1025
  noLabels?: boolean;
938
1026
  }
939
1027
 
1028
+ declare const IconViewerDataLayer: IModelType< {
1029
+ definition: IType<IconDataLayer<UnknownData>, IconDataLayer<UnknownData>, IconDataLayer<UnknownData>>;
1030
+ compiledTooltipTemplate: IMaybe<IType< {
1031
+ fn: (dataElement: UnknownData) => string;
1032
+ }, {
1033
+ fn: (dataElement: UnknownData) => string;
1034
+ }, {
1035
+ fn: (dataElement: UnknownData) => string;
1036
+ }>>;
1037
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
1038
+ } & {
1039
+ type: ISimpleType<LayerType.Icon>;
1040
+ }, {
1041
+ readonly renderableDefinition: RenderableDataLayer<IconDataLayer<UnknownData>>;
1042
+ readonly renderState: ViewerDataLayerRenderState<IconDataLayer<UnknownData>>;
1043
+ readonly persistentTooltipSources: PersistentTooltipSource[];
1044
+ } & {
1045
+ setCompiledTooltipTemplate(compiledTemplate: (dataElement: UnknownData) => string): void;
1046
+ touch(): void;
1047
+ updateDefinition(updates: Partial<Omit<IconDataLayer<UnknownData>, "type">>): void;
1048
+ }, _NotCustomized, _NotCustomized>;
1049
+
940
1050
  declare interface IGround extends Instance<typeof Ground> {
941
1051
  }
942
1052
 
@@ -947,6 +1057,33 @@ export declare type ImageSource = {
947
1057
  blobIdOrHash: string;
948
1058
  };
949
1059
 
1060
+ declare interface Instance_2 extends SOObject {
1061
+ __instanceIndex: number;
1062
+ bufferIndex: number;
1063
+ matrix: Matrix;
1064
+ }
1065
+
1066
+ declare interface InternalSpaceRenderOptions {
1067
+ compass?: boolean;
1068
+ backgroundColor?: string;
1069
+ filter: DeepPartial<Filter>;
1070
+ walls: WallsRenderState;
1071
+ grounds: ElementRenderState;
1072
+ openings: ElementRenderState;
1073
+ doors: ElementRenderState;
1074
+ windows: ElementRenderState;
1075
+ stairs: ElementRenderState;
1076
+ flip: boolean;
1077
+ objects: ElementRenderState;
1078
+ annotations: ElementRenderState;
1079
+ facade: boolean;
1080
+ floorplan: {
1081
+ render: boolean;
1082
+ alpha: number;
1083
+ elevationInCm: number;
1084
+ };
1085
+ }
1086
+
950
1087
  declare interface IObject extends Instance<typeof Object_2> {
951
1088
  }
952
1089
 
@@ -958,6 +1095,9 @@ declare function isSpaceSid(s: string): s is SpaceSid;
958
1095
  declare interface IStair extends Instance<typeof Stair> {
959
1096
  }
960
1097
 
1098
+ declare interface IViewerStore extends Instance<typeof ViewerStore> {
1099
+ }
1100
+
961
1101
  declare interface IWall extends Instance<typeof Wall> {
962
1102
  }
963
1103
 
@@ -1041,7 +1181,6 @@ declare interface JsonRoof {
1041
1181
 
1042
1182
  declare interface JsonSpace {
1043
1183
  levels: JsonLevel[];
1044
- camerasEnabled: SmplrCameraType[];
1045
1184
  compassDirection?: number;
1046
1185
  facade?: SOFacade;
1047
1186
  defaults: SOSpaceDefaults;
@@ -1132,6 +1271,14 @@ declare enum LayerType {
1132
1271
  Heatmap = "heatmap"
1133
1272
  }
1134
1273
 
1274
+ declare interface LegacySpaceRenderOptions extends Omit<SpaceRenderOptions, 'objects' | 'annotations' | 'doors' | 'windows' | 'openings'> {
1275
+ objects?: boolean | SpaceRenderOptions['objects'];
1276
+ annotations?: boolean | SpaceRenderOptions['annotations'];
1277
+ doors?: boolean | SpaceRenderOptions['doors'];
1278
+ windows?: boolean | SpaceRenderOptions['windows'];
1279
+ openings?: boolean | SpaceRenderOptions['openings'];
1280
+ }
1281
+
1135
1282
  declare type LegendConfig = NumericLegend | ColorSwatches | IconLegend;
1136
1283
 
1137
1284
  export declare type LegendPosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'
@@ -1893,6 +2040,35 @@ declare interface Material {
1893
2040
  layerOffset?: number;
1894
2041
  }
1895
2042
 
2043
+ declare interface MeshSmplrData {
2044
+ type: string;
2045
+ isInstanciated?: boolean;
2046
+ instances?: Instance_2[] | null;
2047
+ modelDimensions?: Dimensions;
2048
+ baseHeightForLevel?: number[];
2049
+ isInstanceVisible?: (instance: Instance_2) => boolean;
2050
+ isInstanceSelected?: (instance: Instance_2) => boolean;
2051
+ scalingFn?: (instance: Instance_2) => number | Vector3;
2052
+ colorFn?: ((instance: Instance_2) => string | null | undefined) | null;
2053
+ animationStartedAt?: number;
2054
+ onDropCompute?: string[];
2055
+ layer?: RenderableDataLayer<DataLayer<UnknownData>>;
2056
+ partOfFacade?: boolean;
2057
+ annotation?: SOAnnotation;
2058
+ instance?: PolylineInstance<UnknownData> | IconInstance<UnknownData> | PolygonInstance<UnknownData>;
2059
+ modelType?: 'gltf' | 'parametric';
2060
+ mode?: CameraMode;
2061
+ subtype?: 'fill' | 'stroke';
2062
+ parametricModule?: ParametricObject;
2063
+ parametricConfiguration?: Partial<ParametricObjectConfiguration>;
2064
+ levelZOffsetUnits?: number;
2065
+ pointDraggerIndex?: number;
2066
+ normalStairsYPosition?: number;
2067
+ levelIndex?: number;
2068
+ initialColor?: Color4;
2069
+ panelIndex?: number;
2070
+ }
2071
+
1896
2072
  export declare type NoData = Record<string, never>;
1897
2073
 
1898
2074
  declare type NominalDimensionsGetter<C> = (args: {
@@ -2116,6 +2292,14 @@ declare interface OrbitCamera extends ArcRotateCamera {
2116
2292
  setMode: (mode: CameraMode) => void;
2117
2293
  }
2118
2294
 
2295
+ declare interface OrbitCameraParameters {
2296
+ cameraDistanceForOverview: number;
2297
+ upperRadiusLimit: number;
2298
+ panningDistanceLimit: number;
2299
+ maxDistanceFromGroundCenter: number;
2300
+ maxZ: number;
2301
+ }
2302
+
2119
2303
  export declare interface OrbitCameraPlacement {
2120
2304
  alpha: number;
2121
2305
  beta: number;
@@ -2134,10 +2318,17 @@ export declare interface OrbitCameraPlacementUpdate {
2134
2318
  };
2135
2319
  }
2136
2320
 
2321
+ declare interface OrbitCameraSample {
2322
+ fov: number;
2323
+ panningOriginTargetY: number;
2324
+ }
2325
+
2137
2326
  declare interface OrientatedGeoPoint extends GeoPoint {
2138
2327
  heading: number;
2139
2328
  }
2140
2329
 
2330
+ declare type ParametricObject = typeof chair | typeof sofa | typeof cube | typeof desk | typeof screen_2 | typeof shelves | typeof table | typeof tableAndChairs | typeof triangularDesk;
2331
+
2141
2332
  declare type ParametricObject2dRenderer<C> = (args: {
2142
2333
  scene: SmplrScene;
2143
2334
  width: number;
@@ -2181,6 +2372,13 @@ export declare interface PartialOrbitCameraPlacement {
2181
2372
  target?: Partial<Vector3Coord>;
2182
2373
  }
2183
2374
 
2375
+ declare interface PersistentTooltipSource {
2376
+ layerId: string;
2377
+ elementId: string | number;
2378
+ html: string;
2379
+ styleOverrides?: string;
2380
+ }
2381
+
2184
2382
  export declare type PointData = BaseData & {
2185
2383
  position: SmplrCoord3d;
2186
2384
  };
@@ -2206,6 +2404,28 @@ export declare type PointMapDataLayerDefinition<D extends UnknownSpaceData = Spa
2206
2404
 
2207
2405
  declare type PointShapeOptions<D> = SphereOptions<D> | CubeOptions<D>;
2208
2406
 
2407
+ declare const PointViewerDataLayer: IModelType< {
2408
+ definition: IType<PointDataLayer<UnknownData>, PointDataLayer<UnknownData>, PointDataLayer<UnknownData>>;
2409
+ compiledTooltipTemplate: IMaybe<IType< {
2410
+ fn: (dataElement: UnknownData) => string;
2411
+ }, {
2412
+ fn: (dataElement: UnknownData) => string;
2413
+ }, {
2414
+ fn: (dataElement: UnknownData) => string;
2415
+ }>>;
2416
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
2417
+ } & {
2418
+ type: ISimpleType<LayerType.Point>;
2419
+ }, {
2420
+ readonly renderableDefinition: RenderableDataLayer<PointDataLayer<UnknownData>>;
2421
+ readonly renderState: ViewerDataLayerRenderState<PointDataLayer<UnknownData>>;
2422
+ readonly persistentTooltipSources: PersistentTooltipSource[];
2423
+ } & {
2424
+ setCompiledTooltipTemplate(compiledTemplate: (dataElement: UnknownData) => string): void;
2425
+ touch(): void;
2426
+ updateDefinition(updates: Partial<Omit<PointDataLayer<UnknownData>, "type">>): void;
2427
+ }, _NotCustomized, _NotCustomized>;
2428
+
2209
2429
  export declare type PolygonData = BaseData & {
2210
2430
  coordinates: SmplrCoord2d[] | SmplrCoord2d[][];
2211
2431
  };
@@ -2230,8 +2450,34 @@ export declare interface PolygonDataLayer<D extends UnknownData = NoData> extend
2230
2450
  disableElevationCorrection?: boolean;
2231
2451
  }
2232
2452
 
2453
+ declare type PolygonInstance<D extends UnknownData = NoData> = PolygonDataLayer<D>['data'][number] & {
2454
+ __instanceIndex: number;
2455
+ };
2456
+
2233
2457
  export declare type PolygonMapDataLayerDefinition<D extends UnknownSpaceData = SpaceNoData> = Omit<PolygonDataLayer<D>, 'type' | 'alpha' | 'onDrag' | 'onDrop' | 'disableReshape' | 'reshapeBoxColor' | 'disableElevationCorrection' | 'onClick' | 'onHover' | 'onHoverOut'> & MapDataLayerSharedDefinition<PolygonData, D>;
2234
2458
 
2459
+ declare const PolygonViewerDataLayer: IModelType< {
2460
+ definition: IType<PolygonDataLayer<UnknownData>, PolygonDataLayer<UnknownData>, PolygonDataLayer<UnknownData>>;
2461
+ compiledTooltipTemplate: IMaybe<IType< {
2462
+ fn: (dataElement: UnknownData) => string;
2463
+ }, {
2464
+ fn: (dataElement: UnknownData) => string;
2465
+ }, {
2466
+ fn: (dataElement: UnknownData) => string;
2467
+ }>>;
2468
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
2469
+ } & {
2470
+ type: ISimpleType<LayerType.Polygon>;
2471
+ }, {
2472
+ readonly renderableDefinition: RenderableDataLayer<PolygonDataLayer<UnknownData>>;
2473
+ readonly renderState: ViewerDataLayerRenderState<PolygonDataLayer<UnknownData>>;
2474
+ readonly persistentTooltipSources: PersistentTooltipSource[];
2475
+ } & {
2476
+ setCompiledTooltipTemplate(compiledTemplate: (dataElement: UnknownData) => string): void;
2477
+ touch(): void;
2478
+ updateDefinition(updates: Partial<Omit<PolygonDataLayer<UnknownData>, "type">>): void;
2479
+ }, _NotCustomized, _NotCustomized>;
2480
+
2235
2481
  export declare type PolylineData = BaseData & {
2236
2482
  coordinates: SmplrCoord3d[];
2237
2483
  };
@@ -2273,6 +2519,40 @@ declare type PolylineDataLayerScale<D extends UnknownData = NoData> = PolylineDa
2273
2519
  stepSize?: number;
2274
2520
  };
2275
2521
 
2522
+ declare type PolylineInstance<D extends UnknownData = NoData> = PolylineDataLayer<D>['data'][number] & {
2523
+ __instanceIndex: number;
2524
+ };
2525
+
2526
+ declare const PolylineViewerDataLayer: IModelType< {
2527
+ definition: IType<PolylineDataLayer<UnknownData>, PolylineDataLayer<UnknownData>, PolylineDataLayer<UnknownData>>;
2528
+ compiledTooltipTemplate: IMaybe<IType< {
2529
+ fn: (dataElement: UnknownData) => string;
2530
+ }, {
2531
+ fn: (dataElement: UnknownData) => string;
2532
+ }, {
2533
+ fn: (dataElement: UnknownData) => string;
2534
+ }>>;
2535
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
2536
+ } & {
2537
+ type: ISimpleType<LayerType.Polyline>;
2538
+ }, {
2539
+ readonly renderableDefinition: RenderableDataLayer<PolylineDataLayer<UnknownData>>;
2540
+ readonly renderState: ViewerDataLayerRenderState<PolylineDataLayer<UnknownData>>;
2541
+ readonly persistentTooltipSources: PersistentTooltipSource[];
2542
+ } & {
2543
+ setCompiledTooltipTemplate(compiledTemplate: (dataElement: UnknownData) => string): void;
2544
+ touch(): void;
2545
+ updateDefinition(updates: Partial<Omit<PolylineDataLayer<UnknownData>, "type">>): void;
2546
+ }, _NotCustomized, _NotCustomized>;
2547
+
2548
+ declare interface PositionedPersistentTooltip {
2549
+ key: string;
2550
+ html: string;
2551
+ styleOverrides?: string;
2552
+ top: number;
2553
+ left: number;
2554
+ }
2555
+
2276
2556
  export declare type PosterData = PosterDataByPosition | PosterDataByCoordinate;
2277
2557
 
2278
2558
  declare type PosterDataByCoordinate = BaseData & {
@@ -2313,6 +2593,28 @@ export declare interface PosterDataLayer<D extends UnknownData = NoData> extends
2313
2593
  };
2314
2594
  }
2315
2595
 
2596
+ declare const PosterViewerDataLayer: IModelType< {
2597
+ definition: IType<PosterDataLayer<UnknownData>, PosterDataLayer<UnknownData>, PosterDataLayer<UnknownData>>;
2598
+ compiledTooltipTemplate: IMaybe<IType< {
2599
+ fn: (dataElement: UnknownData) => string;
2600
+ }, {
2601
+ fn: (dataElement: UnknownData) => string;
2602
+ }, {
2603
+ fn: (dataElement: UnknownData) => string;
2604
+ }>>;
2605
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
2606
+ } & {
2607
+ type: ISimpleType<LayerType.Poster>;
2608
+ }, {
2609
+ readonly renderableDefinition: RenderableDataLayer<PosterDataLayer<UnknownData>>;
2610
+ readonly renderState: ViewerDataLayerRenderState<PosterDataLayer<UnknownData>>;
2611
+ readonly persistentTooltipSources: PersistentTooltipSource[];
2612
+ } & {
2613
+ setCompiledTooltipTemplate(compiledTemplate: (dataElement: UnknownData) => string): void;
2614
+ touch(): void;
2615
+ updateDefinition(updates: Partial<Omit<PosterDataLayer<UnknownData>, "type">>): void;
2616
+ }, _NotCustomized, _NotCustomized>;
2617
+
2316
2618
  export declare class QueryClient {
2317
2619
  private options;
2318
2620
  private client;
@@ -2659,6 +2961,18 @@ declare const render3d_8: ParametricObject3dRenderer<TableAndChairsConfiguration
2659
2961
 
2660
2962
  declare const render3d_9: ParametricObject3dRenderer<TriangularDeskConfiguration>;
2661
2963
 
2964
+ declare interface RenderableDataLayer<LayerDefinition> {
2965
+ definition: LayerDefinition;
2966
+ compiledTooltipTemplate?: (dataElement: UnknownData) => string;
2967
+ }
2968
+
2969
+ declare enum RenderPhase {
2970
+ Space = "space",
2971
+ Floorplans = "floorplans",
2972
+ Objects = "objects",
2973
+ ObjectPlaceholders = "object-placeholders"
2974
+ }
2975
+
2662
2976
  declare const Roof: IModelType< {
2663
2977
  id: IOptionalIType<ISimpleType<string>, [undefined]>;
2664
2978
  type: IOptionalIType<ISimpleType<"roof">, [undefined]>;
@@ -2845,15 +3159,27 @@ declare interface SIAnnotation extends SnapshotIn<typeof Annotation> {
2845
3159
  declare interface SICanvasPoint extends SnapshotIn<typeof CanvasPoint> {
2846
3160
  }
2847
3161
 
3162
+ declare interface SIDottedPolylineViewerDataLayer extends SnapshotIn<typeof DottedPolylineViewerDataLayer> {
3163
+ }
3164
+
3165
+ declare interface SIFurnitureViewerDataLayer extends SnapshotIn<typeof FurnitureViewerDataLayer> {
3166
+ }
3167
+
2848
3168
  declare interface SIGround extends SnapshotIn<typeof Ground> {
2849
3169
  }
2850
3170
 
2851
3171
  declare interface SIGroundSegment extends SnapshotIn<typeof GroundSegment> {
2852
3172
  }
2853
3173
 
3174
+ declare interface SIHeatmapViewerDataLayer extends SnapshotIn<typeof HeatmapViewerDataLayer> {
3175
+ }
3176
+
2854
3177
  declare interface SIHole extends SnapshotIn<typeof Hole> {
2855
3178
  }
2856
3179
 
3180
+ declare interface SIIconViewerDataLayer extends SnapshotIn<typeof IconViewerDataLayer> {
3181
+ }
3182
+
2857
3183
  declare interface SILevel extends Instance<typeof Level> {
2858
3184
  }
2859
3185
 
@@ -2869,9 +3195,23 @@ declare interface SIObjectDimensions extends SnapshotIn<typeof ObjectDimensions>
2869
3195
  declare interface SIObjectRotation extends SnapshotIn<typeof ObjectRotation> {
2870
3196
  }
2871
3197
 
3198
+ declare interface SIPointViewerDataLayer extends SnapshotIn<typeof PointViewerDataLayer> {
3199
+ }
3200
+
3201
+ declare interface SIPolygonViewerDataLayer extends SnapshotIn<typeof PolygonViewerDataLayer> {
3202
+ }
3203
+
3204
+ declare interface SIPolylineViewerDataLayer extends SnapshotIn<typeof PolylineViewerDataLayer> {
3205
+ }
3206
+
3207
+ declare interface SIPosterViewerDataLayer extends SnapshotIn<typeof PosterViewerDataLayer> {
3208
+ }
3209
+
2872
3210
  declare interface SIStair extends SnapshotIn<typeof Stair> {
2873
3211
  }
2874
3212
 
3213
+ declare type SIViewerDataLayer = SIPointViewerDataLayer | SIIconViewerDataLayer | SIPosterViewerDataLayer | SIPolylineViewerDataLayer | SIDottedPolylineViewerDataLayer | SIPolygonViewerDataLayer | SIFurnitureViewerDataLayer | SIHeatmapViewerDataLayer;
3214
+
2875
3215
  declare interface SIWall extends SnapshotIn<typeof Wall> {
2876
3216
  }
2877
3217
 
@@ -2884,14 +3224,7 @@ declare interface SIWallOpeningDimensions extends SnapshotIn<typeof WallOpeningD
2884
3224
  declare interface SIWallOpeningPosition extends SnapshotIn<typeof WallOpeningPosition> {
2885
3225
  }
2886
3226
 
2887
- declare type SmplrCamera = OrbitCamera | UniversalCamera | VrCamera;
2888
-
2889
- declare enum SmplrCameraType {
2890
- Orbit = "orbit",
2891
- Walkin = "walkin",
2892
- Game = "game",
2893
- Vr = "vr"
2894
- }
3227
+ declare type SmplrCamera = OrbitCamera;
2895
3228
 
2896
3229
  export declare interface SmplrCoord2d {
2897
3230
  levelIndex: number;
@@ -2903,6 +3236,11 @@ export declare interface SmplrCoord3d extends SmplrCoord2d {
2903
3236
  elevation: number;
2904
3237
  }
2905
3238
 
3239
+ declare interface SmplrMesh extends Mesh {
3240
+ smplrData: MeshSmplrData;
3241
+ startAnimation?: () => void;
3242
+ }
3243
+
2906
3244
  declare interface SmplrRenderLoop {
2907
3245
  enabled: boolean;
2908
3246
  pendingChanges: Record<number, string>;
@@ -2916,15 +3254,19 @@ declare interface SmplrRenderLoop {
2916
3254
  declare interface SmplrScene extends Scene {
2917
3255
  _smplr_renderLoop: SmplrRenderLoop;
2918
3256
  _smplr_interactive?: boolean;
2919
- _smplr_baseHeightForLevel?: number[];
2920
3257
  cameras: SmplrCamera[];
2921
3258
  }
2922
3259
 
3260
+ declare type SmplrShadowGenerator = ShadowGenerator | CascadedShadowGenerator;
3261
+
2923
3262
  declare const smplrToCssColor: (c: string) => string;
2924
3263
 
2925
3264
  declare interface SOAbstractSegment extends SnapshotOut<typeof AbstractSegment> {
2926
3265
  }
2927
3266
 
3267
+ declare interface SOAnnotation extends SnapshotOut<typeof Annotation> {
3268
+ }
3269
+
2928
3270
  declare interface SOCanvasPoint extends SnapshotOut<typeof CanvasPoint> {
2929
3271
  }
2930
3272
 
@@ -2952,6 +3294,12 @@ declare interface SOFloorplan extends SnapshotOut<typeof Floorplan> {
2952
3294
  declare interface SOGroundSegment extends SnapshotOut<typeof GroundSegment> {
2953
3295
  }
2954
3296
 
3297
+ declare interface SOLevel extends SnapshotOut<typeof Level> {
3298
+ }
3299
+
3300
+ declare interface SOObject extends SnapshotOut<typeof Object_2> {
3301
+ }
3302
+
2955
3303
  declare interface SORoofOptions extends SnapshotOut<typeof RoofOptions> {
2956
3304
  }
2957
3305
 
@@ -2976,7 +3324,7 @@ export declare class Space {
2976
3324
  private scene;
2977
3325
  private container;
2978
3326
  private setPickHandler;
2979
- private dispatchDataLayersDefinition;
3327
+ private store;
2980
3328
  private dataLayerControllers;
2981
3329
  private viewerRef;
2982
3330
  constructor(options: SpaceOptions);
@@ -3616,7 +3964,6 @@ layers: string[];
3616
3964
  }): void;
3617
3965
  clear(): void;
3618
3966
  }, _NotCustomized, _NotCustomized>>, [undefined]>;
3619
- camerasEnabled: IOptionalIType<IArrayType<ISimpleType<SmplrCameraType>>, [undefined]>;
3620
3967
  compassDirection: IMaybe<ISimpleType<number>>;
3621
3968
  facade: IMaybe<IModelType< {
3622
3969
  url: ISimpleType<string>;
@@ -4096,7 +4443,18 @@ declare interface Vector3Coord extends Vector2Coord {
4096
4443
  z: number;
4097
4444
  }
4098
4445
 
4099
- export declare const version = "2.57.2-beta.0";
4446
+ export declare const version = "2.57.2-beta.10";
4447
+
4448
+ declare interface ViewerDataLayerRenderState<Definition = DataLayer<UnknownData>> {
4449
+ definition: Definition;
4450
+ touchCount: number;
4451
+ compiledTooltipTemplate?: (dataElement: UnknownData) => string;
4452
+ }
4453
+
4454
+ declare interface ViewerLights {
4455
+ directionalLight: DirectionalLight;
4456
+ hemisphericLight: HemisphericLight;
4457
+ }
4100
4458
 
4101
4459
  declare interface ViewerRendererHandle {
4102
4460
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -4117,17 +4475,549 @@ declare interface ViewerRendererHandle {
4117
4475
  setHideNavigationButtons: (value: boolean) => void
4118
4476
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4119
4477
  getFurnitureElementInstance: (furnitureId: string | string[]) => any
4478
+ // per-level base heights, consumed by DataLayerController's screen projection
4479
+ getBaseHeightForLevel: () => number[]
4120
4480
  addEventListener: EventEmitter['addListener']
4121
4481
  removeEventListener: EventEmitter['removeListener']
4122
4482
  clearEventListeners: EventEmitter['clearUserDefinedListeners']
4123
4483
  clearAllEventListeners: EventEmitter['clearAllUserDefinedListeners']
4124
4484
  }
4125
4485
 
4126
- declare interface VrCamera extends VRDeviceOrientationFreeCamera {
4127
- smplrData: {
4128
- persisted: boolean;
4129
- };
4130
- noSleep: NoSleep_2;
4486
+ declare const ViewerStore: IModelType< {
4487
+ initialRenderOptionsInput: IType<LegacySpaceRenderOptions, LegacySpaceRenderOptions, LegacySpaceRenderOptions>;
4488
+ renderOptions: IOptionalIType<IType<InternalSpaceRenderOptions, InternalSpaceRenderOptions, InternalSpaceRenderOptions>, [undefined]>;
4489
+ filterHash: IMaybe<ISimpleType<string>>;
4490
+ spaceHash: IMaybe<ISimpleType<string>>;
4491
+ objectsHash: IMaybe<ISimpleType<string>>;
4492
+ levels: IType<SOLevel[], SOLevel[], SOLevel[]>;
4493
+ defaults: IType<SOSpaceDefaults, SOSpaceDefaults, SOSpaceDefaults>;
4494
+ includeLevels: IType<number[], number[], number[]>;
4495
+ visibleLevels: IOptionalIType<IType<number[], number[], number[]>, [undefined]>;
4496
+ initialTopShownLevel: IMaybe<ISimpleType<number>>;
4497
+ mode: IOptionalIType<ISimpleType<CameraMode>, [undefined]>;
4498
+ initialCameraPlacement: IMaybe<IType<PartialOrbitCameraPlacement, PartialOrbitCameraPlacement, PartialOrbitCameraPlacement>>;
4499
+ moreOptionsVisible: IOptionalIType<ISimpleType<boolean>, [undefined]>;
4500
+ levelsDropdownOpen: IOptionalIType<ISimpleType<boolean>, [undefined]>;
4501
+ goToLevel: IOptionalIType<ISimpleType<string>, [undefined]>;
4502
+ hideLevelPicker: IOptionalIType<ISimpleType<boolean>, [undefined]>;
4503
+ hideNavigationButtons: IOptionalIType<ISimpleType<boolean>, [undefined]>;
4504
+ showStructuralWalls: IOptionalIType<ISimpleType<boolean>, [undefined]>;
4505
+ showAnnotations: IOptionalIType<ISimpleType<boolean>, [undefined]>;
4506
+ showCompass: IOptionalIType<ISimpleType<boolean>, [undefined]>;
4507
+ showFacade: IOptionalIType<ISimpleType<boolean>, [undefined]>;
4508
+ persistentTooltipsVisible: IOptionalIType<ISimpleType<boolean>, [undefined]>;
4509
+ dataLayers: IMapType<ITypeUnion<ModelCreationType<ExtractCFromProps< {
4510
+ definition: IType<PointDataLayer<UnknownData>, PointDataLayer<UnknownData>, PointDataLayer<UnknownData>>;
4511
+ compiledTooltipTemplate: IMaybe<IType< {
4512
+ fn: (dataElement: UnknownData) => string;
4513
+ }, {
4514
+ fn: (dataElement: UnknownData) => string;
4515
+ }, {
4516
+ fn: (dataElement: UnknownData) => string;
4517
+ }>>;
4518
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
4519
+ } & {
4520
+ type: ISimpleType<import("src/viewer/data-layers/dataLayerTypes").LayerType.Point>;
4521
+ }>> | ModelCreationType<ExtractCFromProps< {
4522
+ definition: IType<IconDataLayer<UnknownData>, IconDataLayer<UnknownData>, IconDataLayer<UnknownData>>;
4523
+ compiledTooltipTemplate: IMaybe<IType< {
4524
+ fn: (dataElement: UnknownData) => string;
4525
+ }, {
4526
+ fn: (dataElement: UnknownData) => string;
4527
+ }, {
4528
+ fn: (dataElement: UnknownData) => string;
4529
+ }>>;
4530
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
4531
+ } & {
4532
+ type: ISimpleType<import("src/viewer/data-layers/dataLayerTypes").LayerType.Icon>;
4533
+ }>> | ModelCreationType<ExtractCFromProps< {
4534
+ definition: IType<PosterDataLayer<UnknownData>, PosterDataLayer<UnknownData>, PosterDataLayer<UnknownData>>;
4535
+ compiledTooltipTemplate: IMaybe<IType< {
4536
+ fn: (dataElement: UnknownData) => string;
4537
+ }, {
4538
+ fn: (dataElement: UnknownData) => string;
4539
+ }, {
4540
+ fn: (dataElement: UnknownData) => string;
4541
+ }>>;
4542
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
4543
+ } & {
4544
+ type: ISimpleType<import("src/viewer/data-layers/dataLayerTypes").LayerType.Poster>;
4545
+ }>> | ModelCreationType<ExtractCFromProps< {
4546
+ definition: IType<PolylineDataLayer<UnknownData>, PolylineDataLayer<UnknownData>, PolylineDataLayer<UnknownData>>;
4547
+ compiledTooltipTemplate: IMaybe<IType< {
4548
+ fn: (dataElement: UnknownData) => string;
4549
+ }, {
4550
+ fn: (dataElement: UnknownData) => string;
4551
+ }, {
4552
+ fn: (dataElement: UnknownData) => string;
4553
+ }>>;
4554
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
4555
+ } & {
4556
+ type: ISimpleType<import("src/viewer/data-layers/dataLayerTypes").LayerType.Polyline>;
4557
+ }>> | ModelCreationType<ExtractCFromProps< {
4558
+ definition: IType<DottedPolylineDataLayer<UnknownData>, DottedPolylineDataLayer<UnknownData>, DottedPolylineDataLayer<UnknownData>>;
4559
+ compiledTooltipTemplate: IMaybe<IType< {
4560
+ fn: (dataElement: UnknownData) => string;
4561
+ }, {
4562
+ fn: (dataElement: UnknownData) => string;
4563
+ }, {
4564
+ fn: (dataElement: UnknownData) => string;
4565
+ }>>;
4566
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
4567
+ } & {
4568
+ type: ISimpleType<import("src/viewer/data-layers/dataLayerTypes").LayerType.DottedPolyline>;
4569
+ }>> | ModelCreationType<ExtractCFromProps< {
4570
+ definition: IType<PolygonDataLayer<UnknownData>, PolygonDataLayer<UnknownData>, PolygonDataLayer<UnknownData>>;
4571
+ compiledTooltipTemplate: IMaybe<IType< {
4572
+ fn: (dataElement: UnknownData) => string;
4573
+ }, {
4574
+ fn: (dataElement: UnknownData) => string;
4575
+ }, {
4576
+ fn: (dataElement: UnknownData) => string;
4577
+ }>>;
4578
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
4579
+ } & {
4580
+ type: ISimpleType<import("src/viewer/data-layers/dataLayerTypes").LayerType.Polygon>;
4581
+ }>> | ModelCreationType<ExtractCFromProps< {
4582
+ definition: IType<FurnitureDataLayer<UnknownData>, FurnitureDataLayer<UnknownData>, FurnitureDataLayer<UnknownData>>;
4583
+ compiledTooltipTemplate: IMaybe<IType< {
4584
+ fn: (dataElement: UnknownData) => string;
4585
+ }, {
4586
+ fn: (dataElement: UnknownData) => string;
4587
+ }, {
4588
+ fn: (dataElement: UnknownData) => string;
4589
+ }>>;
4590
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
4591
+ } & {
4592
+ type: ISimpleType<import("src/viewer/data-layers/dataLayerTypes").LayerType.Furniture>;
4593
+ }>> | ModelCreationType<ExtractCFromProps< {
4594
+ definition: IType<HeatmapDataLayer<UnknownData>, HeatmapDataLayer<UnknownData>, HeatmapDataLayer<UnknownData>>;
4595
+ compiledTooltipTemplate: IMaybe<IType< {
4596
+ fn: (dataElement: UnknownData) => string;
4597
+ }, {
4598
+ fn: (dataElement: UnknownData) => string;
4599
+ }, {
4600
+ fn: (dataElement: UnknownData) => string;
4601
+ }>>;
4602
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
4603
+ } & {
4604
+ type: ISimpleType<import("src/viewer/data-layers/dataLayerTypes").LayerType.Heatmap>;
4605
+ }>>, ModelSnapshotType< {
4606
+ definition: IType<PointDataLayer<UnknownData>, PointDataLayer<UnknownData>, PointDataLayer<UnknownData>>;
4607
+ compiledTooltipTemplate: IMaybe<IType< {
4608
+ fn: (dataElement: UnknownData) => string;
4609
+ }, {
4610
+ fn: (dataElement: UnknownData) => string;
4611
+ }, {
4612
+ fn: (dataElement: UnknownData) => string;
4613
+ }>>;
4614
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
4615
+ } & {
4616
+ type: ISimpleType<import("src/viewer/data-layers/dataLayerTypes").LayerType.Point>;
4617
+ }> | ModelSnapshotType< {
4618
+ definition: IType<IconDataLayer<UnknownData>, IconDataLayer<UnknownData>, IconDataLayer<UnknownData>>;
4619
+ compiledTooltipTemplate: IMaybe<IType< {
4620
+ fn: (dataElement: UnknownData) => string;
4621
+ }, {
4622
+ fn: (dataElement: UnknownData) => string;
4623
+ }, {
4624
+ fn: (dataElement: UnknownData) => string;
4625
+ }>>;
4626
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
4627
+ } & {
4628
+ type: ISimpleType<import("src/viewer/data-layers/dataLayerTypes").LayerType.Icon>;
4629
+ }> | ModelSnapshotType< {
4630
+ definition: IType<PosterDataLayer<UnknownData>, PosterDataLayer<UnknownData>, PosterDataLayer<UnknownData>>;
4631
+ compiledTooltipTemplate: IMaybe<IType< {
4632
+ fn: (dataElement: UnknownData) => string;
4633
+ }, {
4634
+ fn: (dataElement: UnknownData) => string;
4635
+ }, {
4636
+ fn: (dataElement: UnknownData) => string;
4637
+ }>>;
4638
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
4639
+ } & {
4640
+ type: ISimpleType<import("src/viewer/data-layers/dataLayerTypes").LayerType.Poster>;
4641
+ }> | ModelSnapshotType< {
4642
+ definition: IType<PolylineDataLayer<UnknownData>, PolylineDataLayer<UnknownData>, PolylineDataLayer<UnknownData>>;
4643
+ compiledTooltipTemplate: IMaybe<IType< {
4644
+ fn: (dataElement: UnknownData) => string;
4645
+ }, {
4646
+ fn: (dataElement: UnknownData) => string;
4647
+ }, {
4648
+ fn: (dataElement: UnknownData) => string;
4649
+ }>>;
4650
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
4651
+ } & {
4652
+ type: ISimpleType<import("src/viewer/data-layers/dataLayerTypes").LayerType.Polyline>;
4653
+ }> | ModelSnapshotType< {
4654
+ definition: IType<DottedPolylineDataLayer<UnknownData>, DottedPolylineDataLayer<UnknownData>, DottedPolylineDataLayer<UnknownData>>;
4655
+ compiledTooltipTemplate: IMaybe<IType< {
4656
+ fn: (dataElement: UnknownData) => string;
4657
+ }, {
4658
+ fn: (dataElement: UnknownData) => string;
4659
+ }, {
4660
+ fn: (dataElement: UnknownData) => string;
4661
+ }>>;
4662
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
4663
+ } & {
4664
+ type: ISimpleType<import("src/viewer/data-layers/dataLayerTypes").LayerType.DottedPolyline>;
4665
+ }> | ModelSnapshotType< {
4666
+ definition: IType<PolygonDataLayer<UnknownData>, PolygonDataLayer<UnknownData>, PolygonDataLayer<UnknownData>>;
4667
+ compiledTooltipTemplate: IMaybe<IType< {
4668
+ fn: (dataElement: UnknownData) => string;
4669
+ }, {
4670
+ fn: (dataElement: UnknownData) => string;
4671
+ }, {
4672
+ fn: (dataElement: UnknownData) => string;
4673
+ }>>;
4674
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
4675
+ } & {
4676
+ type: ISimpleType<import("src/viewer/data-layers/dataLayerTypes").LayerType.Polygon>;
4677
+ }> | ModelSnapshotType< {
4678
+ definition: IType<FurnitureDataLayer<UnknownData>, FurnitureDataLayer<UnknownData>, FurnitureDataLayer<UnknownData>>;
4679
+ compiledTooltipTemplate: IMaybe<IType< {
4680
+ fn: (dataElement: UnknownData) => string;
4681
+ }, {
4682
+ fn: (dataElement: UnknownData) => string;
4683
+ }, {
4684
+ fn: (dataElement: UnknownData) => string;
4685
+ }>>;
4686
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
4687
+ } & {
4688
+ type: ISimpleType<import("src/viewer/data-layers/dataLayerTypes").LayerType.Furniture>;
4689
+ }> | ModelSnapshotType< {
4690
+ definition: IType<HeatmapDataLayer<UnknownData>, HeatmapDataLayer<UnknownData>, HeatmapDataLayer<UnknownData>>;
4691
+ compiledTooltipTemplate: IMaybe<IType< {
4692
+ fn: (dataElement: UnknownData) => string;
4693
+ }, {
4694
+ fn: (dataElement: UnknownData) => string;
4695
+ }, {
4696
+ fn: (dataElement: UnknownData) => string;
4697
+ }>>;
4698
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
4699
+ } & {
4700
+ type: ISimpleType<import("src/viewer/data-layers/dataLayerTypes").LayerType.Heatmap>;
4701
+ }>, ModelInstanceType< {
4702
+ definition: IType<PointDataLayer<UnknownData>, PointDataLayer<UnknownData>, PointDataLayer<UnknownData>>;
4703
+ compiledTooltipTemplate: IMaybe<IType< {
4704
+ fn: (dataElement: UnknownData) => string;
4705
+ }, {
4706
+ fn: (dataElement: UnknownData) => string;
4707
+ }, {
4708
+ fn: (dataElement: UnknownData) => string;
4709
+ }>>;
4710
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
4711
+ } & {
4712
+ type: ISimpleType<import("src/viewer/data-layers/dataLayerTypes").LayerType.Point>;
4713
+ }, {
4714
+ readonly renderableDefinition: RenderableDataLayer<PointDataLayer<UnknownData>>;
4715
+ readonly renderState: ViewerDataLayerRenderState<PointDataLayer<UnknownData>>;
4716
+ readonly persistentTooltipSources: PersistentTooltipSource[];
4717
+ } & {
4718
+ setCompiledTooltipTemplate(compiledTemplate: (dataElement: UnknownData) => string): void;
4719
+ touch(): void;
4720
+ updateDefinition(updates: Partial<Omit<PointDataLayer<UnknownData>, "type">>): void;
4721
+ }> | ModelInstanceType< {
4722
+ definition: IType<IconDataLayer<UnknownData>, IconDataLayer<UnknownData>, IconDataLayer<UnknownData>>;
4723
+ compiledTooltipTemplate: IMaybe<IType< {
4724
+ fn: (dataElement: UnknownData) => string;
4725
+ }, {
4726
+ fn: (dataElement: UnknownData) => string;
4727
+ }, {
4728
+ fn: (dataElement: UnknownData) => string;
4729
+ }>>;
4730
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
4731
+ } & {
4732
+ type: ISimpleType<import("src/viewer/data-layers/dataLayerTypes").LayerType.Icon>;
4733
+ }, {
4734
+ readonly renderableDefinition: RenderableDataLayer<IconDataLayer<UnknownData>>;
4735
+ readonly renderState: ViewerDataLayerRenderState<IconDataLayer<UnknownData>>;
4736
+ readonly persistentTooltipSources: PersistentTooltipSource[];
4737
+ } & {
4738
+ setCompiledTooltipTemplate(compiledTemplate: (dataElement: UnknownData) => string): void;
4739
+ touch(): void;
4740
+ updateDefinition(updates: Partial<Omit<IconDataLayer<UnknownData>, "type">>): void;
4741
+ }> | ModelInstanceType< {
4742
+ definition: IType<PosterDataLayer<UnknownData>, PosterDataLayer<UnknownData>, PosterDataLayer<UnknownData>>;
4743
+ compiledTooltipTemplate: IMaybe<IType< {
4744
+ fn: (dataElement: UnknownData) => string;
4745
+ }, {
4746
+ fn: (dataElement: UnknownData) => string;
4747
+ }, {
4748
+ fn: (dataElement: UnknownData) => string;
4749
+ }>>;
4750
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
4751
+ } & {
4752
+ type: ISimpleType<import("src/viewer/data-layers/dataLayerTypes").LayerType.Poster>;
4753
+ }, {
4754
+ readonly renderableDefinition: RenderableDataLayer<PosterDataLayer<UnknownData>>;
4755
+ readonly renderState: ViewerDataLayerRenderState<PosterDataLayer<UnknownData>>;
4756
+ readonly persistentTooltipSources: PersistentTooltipSource[];
4757
+ } & {
4758
+ setCompiledTooltipTemplate(compiledTemplate: (dataElement: UnknownData) => string): void;
4759
+ touch(): void;
4760
+ updateDefinition(updates: Partial<Omit<PosterDataLayer<UnknownData>, "type">>): void;
4761
+ }> | ModelInstanceType< {
4762
+ definition: IType<PolylineDataLayer<UnknownData>, PolylineDataLayer<UnknownData>, PolylineDataLayer<UnknownData>>;
4763
+ compiledTooltipTemplate: IMaybe<IType< {
4764
+ fn: (dataElement: UnknownData) => string;
4765
+ }, {
4766
+ fn: (dataElement: UnknownData) => string;
4767
+ }, {
4768
+ fn: (dataElement: UnknownData) => string;
4769
+ }>>;
4770
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
4771
+ } & {
4772
+ type: ISimpleType<import("src/viewer/data-layers/dataLayerTypes").LayerType.Polyline>;
4773
+ }, {
4774
+ readonly renderableDefinition: RenderableDataLayer<PolylineDataLayer<UnknownData>>;
4775
+ readonly renderState: ViewerDataLayerRenderState<PolylineDataLayer<UnknownData>>;
4776
+ readonly persistentTooltipSources: PersistentTooltipSource[];
4777
+ } & {
4778
+ setCompiledTooltipTemplate(compiledTemplate: (dataElement: UnknownData) => string): void;
4779
+ touch(): void;
4780
+ updateDefinition(updates: Partial<Omit<PolylineDataLayer<UnknownData>, "type">>): void;
4781
+ }> | ModelInstanceType< {
4782
+ definition: IType<DottedPolylineDataLayer<UnknownData>, DottedPolylineDataLayer<UnknownData>, DottedPolylineDataLayer<UnknownData>>;
4783
+ compiledTooltipTemplate: IMaybe<IType< {
4784
+ fn: (dataElement: UnknownData) => string;
4785
+ }, {
4786
+ fn: (dataElement: UnknownData) => string;
4787
+ }, {
4788
+ fn: (dataElement: UnknownData) => string;
4789
+ }>>;
4790
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
4791
+ } & {
4792
+ type: ISimpleType<import("src/viewer/data-layers/dataLayerTypes").LayerType.DottedPolyline>;
4793
+ }, {
4794
+ readonly renderableDefinition: RenderableDataLayer<DottedPolylineDataLayer<UnknownData>>;
4795
+ readonly renderState: ViewerDataLayerRenderState<DottedPolylineDataLayer<UnknownData>>;
4796
+ readonly persistentTooltipSources: PersistentTooltipSource[];
4797
+ } & {
4798
+ setCompiledTooltipTemplate(compiledTemplate: (dataElement: UnknownData) => string): void;
4799
+ touch(): void;
4800
+ updateDefinition(updates: Partial<Omit<DottedPolylineDataLayer<UnknownData>, "type">>): void;
4801
+ }> | ModelInstanceType< {
4802
+ definition: IType<PolygonDataLayer<UnknownData>, PolygonDataLayer<UnknownData>, PolygonDataLayer<UnknownData>>;
4803
+ compiledTooltipTemplate: IMaybe<IType< {
4804
+ fn: (dataElement: UnknownData) => string;
4805
+ }, {
4806
+ fn: (dataElement: UnknownData) => string;
4807
+ }, {
4808
+ fn: (dataElement: UnknownData) => string;
4809
+ }>>;
4810
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
4811
+ } & {
4812
+ type: ISimpleType<import("src/viewer/data-layers/dataLayerTypes").LayerType.Polygon>;
4813
+ }, {
4814
+ readonly renderableDefinition: RenderableDataLayer<PolygonDataLayer<UnknownData>>;
4815
+ readonly renderState: ViewerDataLayerRenderState<PolygonDataLayer<UnknownData>>;
4816
+ readonly persistentTooltipSources: PersistentTooltipSource[];
4817
+ } & {
4818
+ setCompiledTooltipTemplate(compiledTemplate: (dataElement: UnknownData) => string): void;
4819
+ touch(): void;
4820
+ updateDefinition(updates: Partial<Omit<PolygonDataLayer<UnknownData>, "type">>): void;
4821
+ }> | ModelInstanceType< {
4822
+ definition: IType<FurnitureDataLayer<UnknownData>, FurnitureDataLayer<UnknownData>, FurnitureDataLayer<UnknownData>>;
4823
+ compiledTooltipTemplate: IMaybe<IType< {
4824
+ fn: (dataElement: UnknownData) => string;
4825
+ }, {
4826
+ fn: (dataElement: UnknownData) => string;
4827
+ }, {
4828
+ fn: (dataElement: UnknownData) => string;
4829
+ }>>;
4830
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
4831
+ } & {
4832
+ type: ISimpleType<import("src/viewer/data-layers/dataLayerTypes").LayerType.Furniture>;
4833
+ }, {
4834
+ readonly renderableDefinition: RenderableDataLayer<FurnitureDataLayer<UnknownData>>;
4835
+ readonly renderState: ViewerDataLayerRenderState<FurnitureDataLayer<UnknownData>>;
4836
+ readonly persistentTooltipSources: PersistentTooltipSource[];
4837
+ } & {
4838
+ setCompiledTooltipTemplate(compiledTemplate: (dataElement: UnknownData) => string): void;
4839
+ touch(): void;
4840
+ updateDefinition(updates: Partial<Omit<FurnitureDataLayer<UnknownData>, "type">>): void;
4841
+ }> | ModelInstanceType< {
4842
+ definition: IType<HeatmapDataLayer<UnknownData>, HeatmapDataLayer<UnknownData>, HeatmapDataLayer<UnknownData>>;
4843
+ compiledTooltipTemplate: IMaybe<IType< {
4844
+ fn: (dataElement: UnknownData) => string;
4845
+ }, {
4846
+ fn: (dataElement: UnknownData) => string;
4847
+ }, {
4848
+ fn: (dataElement: UnknownData) => string;
4849
+ }>>;
4850
+ touchCount: IOptionalIType<ISimpleType<number>, [undefined]>;
4851
+ } & {
4852
+ type: ISimpleType<import("src/viewer/data-layers/dataLayerTypes").LayerType.Heatmap>;
4853
+ }, {
4854
+ readonly renderableDefinition: RenderableDataLayer<HeatmapDataLayer<UnknownData>>;
4855
+ readonly renderState: ViewerDataLayerRenderState<HeatmapDataLayer<UnknownData>>;
4856
+ readonly persistentTooltipSources: PersistentTooltipSource[];
4857
+ } & {
4858
+ setCompiledTooltipTemplate(compiledTemplate: (dataElement: UnknownData) => string): void;
4859
+ touch(): void;
4860
+ updateDefinition(updates: Partial<Omit<HeatmapDataLayer<UnknownData>, "type">>): void;
4861
+ }>>>;
4862
+ }, {
4863
+ engine: AbstractEngine | null;
4864
+ canvas: HTMLCanvasElement | null;
4865
+ scene: SmplrScene | null;
4866
+ hoveredDataElement: HoveredDataElement | null;
4867
+ pickHandler: {
4868
+ onPick: OnPickFn;
4869
+ } | null;
4870
+ tooltip: ViewerTooltipData | null;
4871
+ persistentTooltipsViewportTick: number;
4872
+ lights: ViewerLights | null;
4873
+ shadowGenerator: SmplrShadowGenerator | null;
4874
+ useCascadedShadowMap: boolean;
4875
+ smplrWhite: PBRMetallicRoughnessMaterial | null;
4876
+ wallMaterial: PBRMetallicRoughnessMaterial | null;
4877
+ facadeWallMaterial: PBRMetallicRoughnessMaterial | null;
4878
+ structuralWallMaterial: PBRMetallicRoughnessMaterial | null;
4879
+ glassMaterial: PBRMetallicRoughnessMaterial | null;
4880
+ shellMaterial: PBRMetallicRoughnessMaterial | null;
4881
+ shellGroundMaterial: PBRMetallicRoughnessMaterial | null;
4882
+ metalMaterial: PBRMetallicRoughnessMaterial | null;
4883
+ groundMaterials: GroundMaterials | null;
4884
+ meshes: SmplrMesh[];
4885
+ compassMeshes: SmplrMesh[];
4886
+ assetsManager: AssetsManager | null;
4887
+ facadeAssetsManager: AssetsManager | null;
4888
+ actionManager: ActionManager | null;
4889
+ spaceRendered: boolean;
4890
+ floorplanRendered: boolean;
4891
+ objectPlaceholdersRendered: boolean;
4892
+ objectsRendered: boolean;
4893
+ sceneReadySent: boolean;
4894
+ handledEngineError: boolean;
4895
+ logoLoaderHidden: boolean;
4896
+ renderDoneTick: number;
4897
+ sceneEnvironmentTick: number;
4898
+ objectMeshesTick: number;
4899
+ facadeTick: number;
4900
+ } & {
4901
+ readonly levelCount: number;
4902
+ readonly includedLevels: SOLevel[];
4903
+ readonly baseHeightForLevel: number[];
4904
+ } & {
4905
+ readonly spaceBoundingBox: CanvasBoundingBox;
4906
+ readonly spaceVerticalExtent: number;
4907
+ } & {
4908
+ readonly spaceBoundingBoxExtent: number;
4909
+ readonly spaceCenterAtFloor: Vector2;
4910
+ } & {
4911
+ readonly isInitialVisibleLevels: boolean;
4912
+ readonly topVisibleLevelIndex: number;
4913
+ orbitCameraParameters(camera: OrbitCameraSample | undefined): OrbitCameraParameters;
4914
+ } & {
4915
+ readonly visibleLevelsHash: string;
4916
+ readonly safeTopVisibleLevelIndex: number;
4917
+ readonly sceneReady: boolean;
4918
+ readonly logoLoaderCanHide: boolean;
4919
+ readonly sceneEnvironmentReady: boolean;
4920
+ readonly renderFilter: Filter;
4921
+ } & {
4922
+ readonly showRenderLoader: boolean;
4923
+ } & {
4924
+ readonly groundCenter: Vector3_2;
4925
+ } & {
4926
+ readonly dataLayersRenderState: Record<string, ViewerDataLayerRenderState<DataLayer<UnknownData>>>;
4927
+ readonly furnitureLayerDefinitions: RenderableDataLayer<FurnitureDataLayer<UnknownData>>[];
4928
+ readonly singleLevelLayerIds: string[];
4929
+ readonly legendItems: DataLayer<UnknownData>[];
4930
+ readonly persistentTooltipSources: PersistentTooltipSource[];
4931
+ readonly spaceHasNoAnnotations: boolean;
4932
+ } & {
4933
+ getPersistentTooltips(scene: SmplrScene, viewer: ViewerRendererHandle | null): PositionedPersistentTooltip[];
4934
+ } & {
4935
+ setSpace({ levels, defaults }: {
4936
+ levels: SOLevel[];
4937
+ defaults: SOSpaceDefaults;
4938
+ }): void;
4939
+ setVisibleLevels(levelIndices: number[], noDefaultGroundFloorIn2d?: boolean): void;
4940
+ mergeRenderOptions(options: LegacySpaceRenderOptions): void;
4941
+ resetRenderOptionsToDefault(): void;
4942
+ resetRenderOptionsToInitial(): void;
4943
+ setFilterHash(filterHash: string | undefined): void;
4944
+ setSpaceHash(spaceHash: string | undefined): void;
4945
+ setObjectsHash(objectsHash: string | undefined): void;
4946
+ } & {
4947
+ syncIncludedLevelsToVisibleLevels(): void;
4948
+ syncModeToVisibleLevels(): void;
4949
+ showUpToLevel(topLevelIndex: number): void;
4950
+ showAllLevels(): void;
4951
+ } & {
4952
+ setIncludeLevels(levelIndices?: number[]): void;
4953
+ setMode(mode: CameraMode): void;
4954
+ setMoreOptionsVisible(visible: boolean): void;
4955
+ setLevelsDropdownOpen(open: boolean): void;
4956
+ appendGoToLevelDigit(digit: string): void;
4957
+ resetGoToLevel(): void;
4958
+ setHideLevelPicker(hide: boolean): void;
4959
+ setHideNavigationButtons(hide: boolean): void;
4960
+ toggleShowStructuralWalls(): void;
4961
+ toggleShowAnnotations(): void;
4962
+ toggleShowCompass(): void;
4963
+ toggleShowFacade(): void;
4964
+ } & {
4965
+ addDataLayer(layer: SIViewerDataLayer): void;
4966
+ updateDataLayerDefinition(layerId: string, updates: Partial<Omit<DataLayer<UnknownData>, 'type'>>): void;
4967
+ removeDataLayer(layerId: string): void;
4968
+ touchFurnitureLayers(): void;
4969
+ setSceneObjects({ engine, canvas, scene, }: {
4970
+ engine: AbstractEngine;
4971
+ canvas: HTMLCanvasElement;
4972
+ scene: SmplrScene;
4973
+ }): void;
4974
+ clearSceneObjects(): void;
4975
+ setSceneEnvironment({ lights, shadowGenerator, smplrWhite, wallMaterial, facadeWallMaterial, structuralWallMaterial, glassMaterial, shellMaterial, shellGroundMaterial, metalMaterial, groundMaterials, }: {
4976
+ lights: ViewerLights;
4977
+ shadowGenerator: SmplrShadowGenerator | null;
4978
+ smplrWhite: PBRMetallicRoughnessMaterial;
4979
+ wallMaterial: PBRMetallicRoughnessMaterial;
4980
+ facadeWallMaterial: PBRMetallicRoughnessMaterial;
4981
+ structuralWallMaterial: PBRMetallicRoughnessMaterial;
4982
+ glassMaterial: PBRMetallicRoughnessMaterial;
4983
+ shellMaterial: PBRMetallicRoughnessMaterial;
4984
+ shellGroundMaterial: PBRMetallicRoughnessMaterial;
4985
+ metalMaterial: PBRMetallicRoughnessMaterial;
4986
+ groundMaterials: GroundMaterials;
4987
+ }): void;
4988
+ enableCascadedShadowMapFallback(): void;
4989
+ setMeshes(meshes: SmplrMesh[]): void;
4990
+ setCompassMeshes(compassMeshes: SmplrMesh[]): void;
4991
+ bumpObjectMeshesTick(): void;
4992
+ bumpFacadeTick(): void;
4993
+ setAssetsManager(assetsManager: AssetsManager | null): void;
4994
+ setFacadeAssetsManager(facadeAssetsManager: AssetsManager | null): void;
4995
+ setActionManager(actionManager: ActionManager): void;
4996
+ markRenderDone(phase: RenderPhase): void;
4997
+ resetRenderPhase(phase: RenderPhase): void;
4998
+ markEngineErrorHandled(): void;
4999
+ markLogoLoaderHidden(): void;
5000
+ markSceneReadySent(): void;
5001
+ clearSceneVolatiles(): void;
5002
+ setHoveredDataElement(hoveredDataElement: HoveredDataElement): void;
5003
+ clearHoveredDataElement(): void;
5004
+ setPickHandler(pickHandler: {
5005
+ onPick: OnPickFn;
5006
+ } | null): void;
5007
+ setTooltip(tooltip: ViewerTooltipData): void;
5008
+ clearTooltip(): void;
5009
+ showPersistentTooltips(): void;
5010
+ hidePersistentTooltips(): void;
5011
+ refreshPersistentTooltipPositions(): void;
5012
+ } & {
5013
+ afterCreate(): void;
5014
+ }, _NotCustomized, _NotCustomized>;
5015
+
5016
+ declare interface ViewerTooltipData {
5017
+ html: string;
5018
+ top: number;
5019
+ left: number;
5020
+ styleOverrides?: string;
4131
5021
  }
4132
5022
 
4133
5023
  declare const Wall: IModelType< {
@@ -4542,6 +5432,13 @@ removeOpening(id: string): void;
4542
5432
  regenerateIds(randomizer: string): void;
4543
5433
  }, _NotCustomized, _NotCustomized>;
4544
5434
 
5435
+ declare interface WallsRenderState extends ElementRenderState {
5436
+ render: boolean;
5437
+ alpha: number;
5438
+ showStructuralWalls: boolean;
5439
+ maxHeightCm?: number;
5440
+ }
5441
+
4545
5442
  declare type WallType = 'normal' | 'structural' | 'shell' | 'norender';
4546
5443
 
4547
5444
  export { }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smplrspace/smplr-loader",
3
- "version": "2.57.2-beta.0",
3
+ "version": "2.57.2-beta.10",
4
4
  "description": "NPM package to load a typed Smplr.js from CDN easily",
5
5
  "type": "module",
6
6
  "files": [