@smplrspace/smplr-loader 2.4.1-beta.2 → 2.4.1-beta.4

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smplrspace/smplr-loader",
3
- "version": "2.4.1-beta.2",
3
+ "version": "2.4.1-beta.4",
4
4
  "description": "NPM package to load a typed Smplr.js from CDN easily",
5
5
  "main": "src/index.ts",
6
6
  "scripts": {
@@ -0,0 +1,313 @@
1
+ declare interface BaseDataLayer<T, D extends UnknownData> {
2
+ tooltip?: (dataElement: T & D) => string;
3
+ onClick?: (dataElement: T & D) => void;
4
+ onHover?: (dataElement: T & D) => void;
5
+ onHoverOut?: (dataElement: T & D) => void;
6
+ }
7
+
8
+ declare type CameraMode = '2d' | '3d'
9
+
10
+ declare type DataLayer<D extends UnknownData = NoData> = PointDataLayer<D> | IconDataLayer<D> | PolygonDataLayer<D> | PolylineDataLayer<D> | FurnitureDataLayer<D>;
11
+
12
+ declare interface DeprecatedPreviewProps {
13
+ mode: CameraMode;
14
+ onViewerReady: () => void;
15
+ onError: () => void;
16
+ }
17
+
18
+ declare interface Filter {
19
+ background: {
20
+ clearColor: string;
21
+ };
22
+ directionalLight: {
23
+ distance: number;
24
+ intensity: number;
25
+ };
26
+ hemisphericLight: {
27
+ diffuseColor: string;
28
+ specularColor: string;
29
+ groundColor: string;
30
+ intensity: number;
31
+ };
32
+ whiteMaterial: {
33
+ baseColor: string;
34
+ metallicRatio: number;
35
+ roughnessRatio: number;
36
+ alphaRatio: number;
37
+ };
38
+ indoorMaterial: {
39
+ baseColor: string;
40
+ metallicRatio: number;
41
+ roughnessRatio: number;
42
+ alphaRatio: number;
43
+ };
44
+ grassMaterial: {
45
+ baseColor: string;
46
+ metallicRatio: number;
47
+ roughnessRatio: number;
48
+ alphaRatio: number;
49
+ };
50
+ waterMaterial: {
51
+ baseColor: string;
52
+ metallicRatio: number;
53
+ roughnessRatio: number;
54
+ alphaRatio: number;
55
+ };
56
+ darkGreyMaterial: {
57
+ baseColor: string;
58
+ metallicRatio: number;
59
+ roughnessRatio: number;
60
+ alphaRatio: number;
61
+ };
62
+ glassMaterial: {
63
+ baseColor: string;
64
+ metallicRatio: number;
65
+ roughnessRatio: number;
66
+ alphaRatio: number;
67
+ };
68
+ metalMaterial: {
69
+ baseColor: string;
70
+ metallicRatio: number;
71
+ roughnessRatio: number;
72
+ alphaRatio: number;
73
+ };
74
+ compassMaterial: {
75
+ baseColor: string;
76
+ metallicRatio: number;
77
+ roughnessRatio: number;
78
+ alphaRatio: number;
79
+ };
80
+ placeholderMaterial: {
81
+ baseColor: string;
82
+ metallicRatio: number;
83
+ roughnessRatio: number;
84
+ alphaRatio: number;
85
+ };
86
+ hoveredMaterial: {
87
+ baseColor: string;
88
+ metallicRatio: number;
89
+ roughnessRatio: number;
90
+ alphaRatio: number;
91
+ };
92
+ selectedMaterial: {
93
+ baseColor: string;
94
+ metallicRatio: number;
95
+ roughnessRatio: number;
96
+ alphaRatio: number;
97
+ };
98
+ dataElement: {
99
+ defaultColor: string;
100
+ };
101
+ }
102
+
103
+ declare type FurnitureData = {
104
+ furnitureId: string | string[];
105
+ };
106
+
107
+ declare interface FurnitureDataLayer<D extends UnknownData = NoData> extends BaseDataLayer<FurnitureData, D> {
108
+ id: string;
109
+ type: 'furniture';
110
+ data: (FurnitureData & D)[];
111
+ color?: string | ((dataElement: FurnitureData & D) => string);
112
+ }
113
+
114
+ declare type IconData = {
115
+ position: SmplrCoord3d;
116
+ };
117
+
118
+ declare interface IconDataLayer<D extends UnknownData = NoData> extends BaseDataLayer<IconData, D> {
119
+ id: string;
120
+ type: 'icon';
121
+ data: (IconData & D)[];
122
+ icon: {
123
+ url: string;
124
+ width: number;
125
+ height: number;
126
+ };
127
+ width?: number | ((dataElement: IconData & D) => number);
128
+ onDrag?: (dragged: {
129
+ data: IconData & D;
130
+ }) => void;
131
+ onDrop?: (dropped: {
132
+ data: IconData & D;
133
+ position: SmplrCoord3d;
134
+ }) => void;
135
+ }
136
+
137
+ declare type NoData = Record<string, never>;
138
+
139
+ declare type OnPickFn = (args: { coordinates: SmplrCoord3d; furnitureId?: string }) => void
140
+
141
+ declare interface OrbitCameraPlacement {
142
+ alpha: number;
143
+ beta: number;
144
+ radius: number;
145
+ target: Vector3Coord;
146
+ }
147
+
148
+ declare type PointData = {
149
+ position: SmplrCoord3d;
150
+ };
151
+
152
+ declare interface PointDataLayer<D extends UnknownData = NoData> extends BaseDataLayer<PointData, D> {
153
+ id: string;
154
+ type: 'point';
155
+ data: (PointData & D)[];
156
+ diameter?: number | ((dataElement: PointData & D) => number);
157
+ anchor?: 'bottom' | 'center' | 'top';
158
+ color?: string | ((dataElement: PointData & D) => string);
159
+ alpha?: number;
160
+ onDrag?: (dragged: {
161
+ data: PointData & D;
162
+ }) => void;
163
+ onDrop?: (dropped: {
164
+ data: PointData & D;
165
+ position: SmplrCoord3d;
166
+ }) => void;
167
+ }
168
+
169
+ declare type PolygonData = {
170
+ coordinates: SmplrCoord2d[];
171
+ };
172
+
173
+ declare interface PolygonDataLayer<D extends UnknownData = NoData> extends BaseDataLayer<PolygonData, D> {
174
+ id: string;
175
+ type: 'polygon';
176
+ data: (PolygonData & D)[];
177
+ baseHeight?: number | ((dataElement: PolygonData & D) => number);
178
+ height?: number | ((dataElement: PolygonData & D) => number);
179
+ color?: string | ((dataElement: PolygonData & D) => string);
180
+ alpha?: number;
181
+ onDrag?: (dragged: {
182
+ data: PolygonData & D;
183
+ }) => void;
184
+ onDrop?: (dropped: {
185
+ data: PolygonData & D;
186
+ coordinates: SmplrCoord2d[];
187
+ }) => void;
188
+ disableReshape?: boolean;
189
+ reshapeBoxColor?: string;
190
+ }
191
+
192
+ declare type PolylineData = {
193
+ coordinates: SmplrCoord3d[];
194
+ };
195
+
196
+ declare interface PolylineDataLayer<D extends UnknownData = NoData> extends BaseDataLayer<PolylineData, D> {
197
+ id: string;
198
+ type: 'polyline';
199
+ data: (PolylineData & D)[];
200
+ shape?: 'circle' | 'triangle' | 'square' | 'pentagon' | 'hexagon' | [number, number][];
201
+ cap?: boolean;
202
+ scale?: number | ((scaled: {
203
+ data: PolylineData & D;
204
+ stepIndex: number;
205
+ distance: number;
206
+ }) => number);
207
+ stepSize?: number;
208
+ color?: string | ((dataElement: PolylineData & D) => string);
209
+ alpha?: number;
210
+ onDrag?: (dragged: {
211
+ data: PolylineData & D;
212
+ }) => void;
213
+ onDrop?: (dropped: {
214
+ data: PolylineData & D;
215
+ coordinates: SmplrCoord3d[];
216
+ }) => void;
217
+ disableReshape?: boolean;
218
+ reshapeBoxColor?: string;
219
+ }
220
+
221
+ declare interface RenderOptions {
222
+ compass?: boolean
223
+ annotations?: boolean
224
+ skybox?: boolean
225
+ backgroundColor?: string
226
+ filter?: Partial<Filter>
227
+ walls?: {
228
+ render?: boolean
229
+ alpha?: number
230
+ maxHeightCm?: number
231
+ showStructuralWalls?: boolean
232
+ }
233
+ doors?: boolean
234
+ windows?: boolean
235
+ flip?: boolean
236
+ objects?: boolean
237
+ floorplan?: {
238
+ render?: boolean
239
+ alpha?: number
240
+ elevationInCm?: number
241
+ }
242
+ }
243
+
244
+ declare interface SmplrCoord2d {
245
+ levelIndex: number;
246
+ x: number;
247
+ z: number;
248
+ }
249
+
250
+ declare interface SmplrCoord3d extends SmplrCoord2d {
251
+ elevation: number;
252
+ }
253
+
254
+ export declare class Space {
255
+ private options;
256
+ private viewerStarted;
257
+ private scene;
258
+ private container;
259
+ private setPickHandler;
260
+ private dispatchDataLayersDefinition;
261
+ constructor(options: SpaceOptions);
262
+ private checkOptions;
263
+ private prepareContainer;
264
+ remove: () => void;
265
+ preview({ mode, onViewerReady, onError }: DeprecatedPreviewProps): void;
266
+ startViewer(options: ViewerOptions): void;
267
+ addDataLayer<D extends UnknownData>(dataLayer: DataLayer<D>): void;
268
+ updateDataLayer<D extends UnknownData>(dataLayer: Partial<DataLayer<D>>): void;
269
+ removeDataLayer(id: string): void;
270
+ enablePickingMode({ onPick }: {
271
+ onPick: OnPickFn;
272
+ }): void;
273
+ disablePickingMode(): void;
274
+ getCameraPlacement(): OrbitCameraPlacement;
275
+ setCameraPlacement(placement: OrbitCameraPlacement): void;
276
+ }
277
+
278
+ declare interface SpaceOptions {
279
+ spaceId: string;
280
+ clientToken: string;
281
+ containerId: string;
282
+ }
283
+
284
+ declare type UnknownData = Record<string, unknown>;
285
+
286
+ declare interface Vector2Coord {
287
+ x: number;
288
+ y: number;
289
+ }
290
+
291
+ declare interface Vector3Coord extends Vector2Coord {
292
+ z: number;
293
+ }
294
+
295
+ export declare const version = "2.4.1-beta.4";
296
+
297
+ declare interface ViewerOptions {
298
+ mode?: CameraMode;
299
+ preview?: boolean;
300
+ allowModeChange?: boolean;
301
+ cameraPlacement?: OrbitCameraPlacement;
302
+ disableCameraControls?: boolean;
303
+ hideNavigationButtons?: boolean;
304
+ compass?: boolean;
305
+ annotations?: boolean;
306
+ renderOptions?: RenderOptions;
307
+ onReady?: () => void;
308
+ onError?: (error: unknown) => void;
309
+ onModeChange?: (mode: CameraMode) => void;
310
+ loadingMessage?: string;
311
+ }
312
+
313
+ export { }