@evercam/ui 2.0.0-preview-360-viewer-performance-core-32cb184d4 → 2.0.0-preview-360-viewer-performance-e6e682f76

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.
@@ -86,16 +86,37 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
86
86
  type: PropType<number[] | null>;
87
87
  default: null;
88
88
  };
89
+ /**
90
+ * Outline colour along the ribbon's edges; empty draws none.
91
+ */
92
+ outlineColor: {
93
+ type: StringConstructor;
94
+ default: string;
95
+ };
96
+ /**
97
+ * Outline thickness in world units.
98
+ */
99
+ outlineWidth: {
100
+ type: NumberConstructor;
101
+ default: number;
102
+ };
103
+ /**
104
+ * Mesh name, for looking the ribbon up in the scene.
105
+ */
106
+ name: {
107
+ type: StringConstructor;
108
+ default: string;
109
+ };
89
110
  }>, {}, {
90
111
  mesh: Mesh<BufferGeometry, import('three').Material | import('three').Material[]> | null;
91
112
  scene: Scene | null;
92
- useShaderMaterial: boolean;
93
113
  colorFrame: number;
94
114
  }, {}, {
95
115
  onInit(payload: E3DInitPayload): void;
96
116
  onDispose(): void;
97
117
  createMesh(): void;
98
- buildRibbonGeometry(perMarkerAlphas?: number[]): BufferGeometry | null;
118
+ buildRibbonGeometry(): BufferGeometry | null;
119
+ fillAlpha(alphaArray: Float32Array, capRows: number): void;
99
120
  rebuildGeometry(): void;
100
121
  fadeToColor(): void;
101
122
  materialColor(): Color | null;
@@ -178,8 +199,30 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
178
199
  type: PropType<number[] | null>;
179
200
  default: null;
180
201
  };
202
+ /**
203
+ * Outline colour along the ribbon's edges; empty draws none.
204
+ */
205
+ outlineColor: {
206
+ type: StringConstructor;
207
+ default: string;
208
+ };
209
+ /**
210
+ * Outline thickness in world units.
211
+ */
212
+ outlineWidth: {
213
+ type: NumberConstructor;
214
+ default: number;
215
+ };
216
+ /**
217
+ * Mesh name, for looking the ribbon up in the scene.
218
+ */
219
+ name: {
220
+ type: StringConstructor;
221
+ default: string;
222
+ };
181
223
  }>> & Readonly<{}>, {
182
224
  color: string;
225
+ name: string;
183
226
  width: number;
184
227
  opacity: number;
185
228
  closed: boolean;
@@ -188,6 +231,8 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
188
231
  renderOrder: number;
189
232
  smoothingFactor: number;
190
233
  markerOpacities: number[] | null;
234
+ outlineColor: string;
235
+ outlineWidth: number;
191
236
  }, {}, {
192
237
  E3DObject: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
193
238
  id: {
@@ -80,10 +80,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
80
80
  default: number;
81
81
  };
82
82
  /**
83
- * Timestamp (from performance.now()) when navigation started.
84
- * Used to synchronize crossfade duration with camera movement.
83
+ * Texture width cap while crossfading (0 = maxTextureWidth); the full one follows.
85
84
  */
86
- navigationStartTime: {
85
+ transitionTextureWidth: {
87
86
  type: NumberConstructor;
88
87
  default: number;
89
88
  };
@@ -131,7 +130,11 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
131
130
  displayedWidth: number;
132
131
  nativeWidth: number | null;
133
132
  isUpgrading: boolean;
133
+ settleTimer: number;
134
+ settleViewKey: string;
135
+ settleStillSince: number;
134
136
  }, {
137
+ transitionWidth(): number;
135
138
  zoomedWidth(): number;
136
139
  }, {
137
140
  onInit(payload: E3DInitPayload): void;
@@ -150,6 +153,11 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
150
153
  animateTransition(newUrl: string, token: number): void;
151
154
  onFrame(): void;
152
155
  upgradeWhenZoomedIn(): Promise<void>;
156
+ settleWhenStill(): void;
157
+ checkSettle(): void;
158
+ settleTexture(): void;
159
+ upgradeTexture(url: string, width: number): Promise<void>;
160
+ emitTextureQuality(): void;
153
161
  completeTransition(newUrl: string): void;
154
162
  getSphereGeometry(): THREE.SphereGeometry;
155
163
  rebuildGeometry(): void;
@@ -160,7 +168,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
160
168
  updateRotation(): void;
161
169
  disposeMesh(mesh: THREE.Mesh | null): void;
162
170
  dispose(): void;
163
- }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("ready" | "texture-load-start" | "texture-load-end" | "texture-load-error" | "transition-start" | "transition-end")[], "ready" | "texture-load-start" | "texture-load-end" | "texture-load-error" | "transition-start" | "transition-end", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
171
+ }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("ready" | "texture-load-start" | "texture-load-end" | "texture-load-error" | "transition-start" | "transition-end" | "crossfade-start" | "texture-quality")[], "ready" | "texture-load-start" | "texture-load-end" | "texture-load-error" | "transition-start" | "transition-end" | "crossfade-start" | "texture-quality", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
164
172
  /**
165
173
  * URL of the equirectangular panorama image to display.
166
174
  */
@@ -233,10 +241,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
233
241
  default: number;
234
242
  };
235
243
  /**
236
- * Timestamp (from performance.now()) when navigation started.
237
- * Used to synchronize crossfade duration with camera movement.
244
+ * Texture width cap while crossfading (0 = maxTextureWidth); the full one follows.
238
245
  */
239
- navigationStartTime: {
246
+ transitionTextureWidth: {
240
247
  type: NumberConstructor;
241
248
  default: number;
242
249
  };
@@ -275,6 +282,8 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
275
282
  "onTexture-load-error"?: ((...args: any[]) => any) | undefined;
276
283
  "onTransition-start"?: ((...args: any[]) => any) | undefined;
277
284
  "onTransition-end"?: ((...args: any[]) => any) | undefined;
285
+ "onCrossfade-start"?: ((...args: any[]) => any) | undefined;
286
+ "onTexture-quality"?: ((...args: any[]) => any) | undefined;
278
287
  }>, {
279
288
  transitionDuration: number;
280
289
  position: EVector3;
@@ -285,7 +294,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
285
294
  heightSegments: number;
286
295
  transitionStrategy: "none" | "crossfade" | "preview";
287
296
  sphereOpacity: number;
288
- navigationStartTime: number;
297
+ transitionTextureWidth: number;
289
298
  maxTextureWidth: number;
290
299
  fullResolutionFov: number;
291
300
  zoomTextureWidth: number;
@@ -1,5 +1,5 @@
1
1
  import { PropType } from 'vue';
2
- import { E3DCanvas3DExtended, E3DControlsConfig, E3DControlsInstance, E3DInitPayload, E3DPerformanceMetricsPanelPosition, EPanoFadeMode, EPanoViewerMode, EVector3, PanoMarker, PanoViewerCameraEvent, PanoViewerCameraState, PanoViewerConfig, Size } from '../../types';
2
+ import { E3DCanvas3DExtended, E3DControlsConfig, E3DControlsInstance, E3DInitPayload, E3DPerformanceMetricsPanelPosition, EPanoFadeMode, EPanoViewerMode, EVector3, PanoExtraPath, PanoMarker, PanoViewerCameraEvent, PanoViewerCameraState, PanoViewerConfig, Size } from '../../types';
3
3
  import { E3DOrbitControls } from './controls/E3DOrbitControls';
4
4
  import * as THREE from "three";
5
5
  type PanoNavMarker = {
@@ -185,6 +185,13 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
185
185
  type: NumberConstructor;
186
186
  default: number;
187
187
  };
188
+ /**
189
+ * Other paths drawn with the walk's fade, without markers.
190
+ */
191
+ extraPaths: {
192
+ type: PropType<PanoExtraPath[]>;
193
+ default: () => never[];
194
+ };
188
195
  /**
189
196
  * Width of the path ribbon in world units.
190
197
  */
@@ -296,7 +303,25 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
296
303
  currentMarkerId: string | null;
297
304
  previousMarkerId: string | null;
298
305
  isJumping: boolean;
299
- navigationStartTime: number;
306
+ pendingCameraMove: {
307
+ from: {
308
+ x: number;
309
+ y: number;
310
+ z: number;
311
+ };
312
+ to: {
313
+ x: number;
314
+ y: number;
315
+ z: number;
316
+ };
317
+ duration: number;
318
+ } | null;
319
+ moveFallbackTimer: number;
320
+ prepareHoverTimer: number;
321
+ textureQuality: {
322
+ width: number;
323
+ nativeWidth: number | null;
324
+ };
300
325
  isLoading: boolean;
301
326
  isTransitioning: boolean;
302
327
  Size: typeof Size;
@@ -356,6 +381,8 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
356
381
  effectiveSphereOpacity(): number;
357
382
  effectivePickables(): THREE.Object3D[];
358
383
  containerClasses(): Record<string, boolean>;
384
+ transitionTextureWidth(): number;
385
+ textureQualityLabel(): string;
359
386
  mergedConfig(): Required<PanoViewerConfig>;
360
387
  controlsConfig(): E3DControlsConfig;
361
388
  currentMarker(): PanoMarker | null;
@@ -371,7 +398,17 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
371
398
  fadeFactorById(): Record<string, number>;
372
399
  markerFadeOpacities(): number[] | null;
373
400
  pathMarkerOpacities(): number[] | null;
401
+ extraPathOutlineWidth(): number;
402
+ extraPathLayers(): Array<{
403
+ id: string;
404
+ color: string;
405
+ opacity: number;
406
+ outlineColor: string;
407
+ markers: PanoMarker[];
408
+ opacities: number[] | null;
409
+ }>;
374
410
  }, {
411
+ pathOpacityFor(fadeFactor: number, basePathOpacity?: number): number;
375
412
  onCanvasReady(ctx: E3DInitPayload & {
376
413
  context: E3DCanvas3DExtended;
377
414
  container: HTMLElement;
@@ -408,6 +445,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
408
445
  */
409
446
  preparePanorama(url: string): Promise<void>;
410
447
  navigate(markerId: string): void;
448
+ startCameraMove(): void;
411
449
  getCameraState(): PanoViewerCameraEvent;
412
450
  setCameraRotation(rotation: {
413
451
  x: number;
@@ -645,6 +683,13 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
645
683
  type: NumberConstructor;
646
684
  default: number;
647
685
  };
686
+ /**
687
+ * Other paths drawn with the walk's fade, without markers.
688
+ */
689
+ extraPaths: {
690
+ type: PropType<PanoExtraPath[]>;
691
+ default: () => never[];
692
+ };
648
693
  /**
649
694
  * Width of the path ribbon in world units.
650
695
  */
@@ -799,6 +844,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
799
844
  pathFadeIndexRange: number;
800
845
  pathFadeMinOpacity: number;
801
846
  pathSmoothingFactor: number;
847
+ extraPaths: PanoExtraPath[];
802
848
  pathWidth: number;
803
849
  disableAutoNavigation: boolean;
804
850
  disableCursorChange: boolean;
@@ -1153,7 +1199,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
1153
1199
  type: NumberConstructor;
1154
1200
  default: number;
1155
1201
  };
1156
- navigationStartTime: {
1202
+ transitionTextureWidth: {
1157
1203
  type: NumberConstructor;
1158
1204
  default: number;
1159
1205
  };
@@ -1189,7 +1235,11 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
1189
1235
  displayedWidth: number;
1190
1236
  nativeWidth: number | null;
1191
1237
  isUpgrading: boolean;
1238
+ settleTimer: number;
1239
+ settleViewKey: string;
1240
+ settleStillSince: number;
1192
1241
  }, {
1242
+ transitionWidth(): number;
1193
1243
  zoomedWidth(): number;
1194
1244
  }, {
1195
1245
  onInit(payload: E3DInitPayload): void;
@@ -1208,6 +1258,11 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
1208
1258
  animateTransition(newUrl: string, token: number): void;
1209
1259
  onFrame(): void;
1210
1260
  upgradeWhenZoomedIn(): Promise<void>;
1261
+ settleWhenStill(): void;
1262
+ checkSettle(): void;
1263
+ settleTexture(): void;
1264
+ upgradeTexture(url: string, width: number): Promise<void>;
1265
+ emitTextureQuality(): void;
1211
1266
  completeTransition(newUrl: string): void;
1212
1267
  getSphereGeometry(): THREE.SphereGeometry;
1213
1268
  rebuildGeometry(): void;
@@ -1218,7 +1273,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
1218
1273
  updateRotation(): void;
1219
1274
  disposeMesh(mesh: THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]> | null): void;
1220
1275
  dispose(): void;
1221
- }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("ready" | "texture-load-start" | "texture-load-end" | "texture-load-error" | "transition-start" | "transition-end")[], "ready" | "texture-load-start" | "texture-load-end" | "texture-load-error" | "transition-start" | "transition-end", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
1276
+ }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("ready" | "texture-load-start" | "texture-load-end" | "texture-load-error" | "transition-start" | "transition-end" | "crossfade-start" | "texture-quality")[], "ready" | "texture-load-start" | "texture-load-end" | "texture-load-error" | "transition-start" | "transition-end" | "crossfade-start" | "texture-quality", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
1222
1277
  imageUrl: {
1223
1278
  type: StringConstructor;
1224
1279
  required: true;
@@ -1263,7 +1318,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
1263
1318
  type: NumberConstructor;
1264
1319
  default: number;
1265
1320
  };
1266
- navigationStartTime: {
1321
+ transitionTextureWidth: {
1267
1322
  type: NumberConstructor;
1268
1323
  default: number;
1269
1324
  };
@@ -1290,6 +1345,8 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
1290
1345
  "onTexture-load-error"?: ((...args: any[]) => any) | undefined;
1291
1346
  "onTransition-start"?: ((...args: any[]) => any) | undefined;
1292
1347
  "onTransition-end"?: ((...args: any[]) => any) | undefined;
1348
+ "onCrossfade-start"?: ((...args: any[]) => any) | undefined;
1349
+ "onTexture-quality"?: ((...args: any[]) => any) | undefined;
1293
1350
  }>, {
1294
1351
  transitionDuration: number;
1295
1352
  position: EVector3;
@@ -1300,7 +1357,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
1300
1357
  heightSegments: number;
1301
1358
  transitionStrategy: "none" | "crossfade" | "preview";
1302
1359
  sphereOpacity: number;
1303
- navigationStartTime: number;
1360
+ transitionTextureWidth: number;
1304
1361
  maxTextureWidth: number;
1305
1362
  fullResolutionFov: number;
1306
1363
  zoomTextureWidth: number;
@@ -1943,16 +2000,28 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
1943
2000
  type: PropType<number[] | null>;
1944
2001
  default: null;
1945
2002
  };
2003
+ outlineColor: {
2004
+ type: StringConstructor;
2005
+ default: string;
2006
+ };
2007
+ outlineWidth: {
2008
+ type: NumberConstructor;
2009
+ default: number;
2010
+ };
2011
+ name: {
2012
+ type: StringConstructor;
2013
+ default: string;
2014
+ };
1946
2015
  }>, {}, {
1947
2016
  mesh: THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]> | null;
1948
2017
  scene: THREE.Scene | null;
1949
- useShaderMaterial: boolean;
1950
2018
  colorFrame: number;
1951
2019
  }, {}, {
1952
2020
  onInit(payload: E3DInitPayload): void;
1953
2021
  onDispose(): void;
1954
2022
  createMesh(): void;
1955
- buildRibbonGeometry(perMarkerAlphas?: number[] | undefined): THREE.BufferGeometry | null;
2023
+ buildRibbonGeometry(): THREE.BufferGeometry | null;
2024
+ fillAlpha(alphaArray: Float32Array, capRows: number): void;
1956
2025
  rebuildGeometry(): void;
1957
2026
  fadeToColor(): void;
1958
2027
  materialColor(): THREE.Color | null;
@@ -2000,8 +2069,21 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
2000
2069
  type: PropType<number[] | null>;
2001
2070
  default: null;
2002
2071
  };
2072
+ outlineColor: {
2073
+ type: StringConstructor;
2074
+ default: string;
2075
+ };
2076
+ outlineWidth: {
2077
+ type: NumberConstructor;
2078
+ default: number;
2079
+ };
2080
+ name: {
2081
+ type: StringConstructor;
2082
+ default: string;
2083
+ };
2003
2084
  }>> & Readonly<{}>, {
2004
2085
  color: string;
2086
+ name: string;
2005
2087
  width: number;
2006
2088
  opacity: number;
2007
2089
  closed: boolean;
@@ -2010,6 +2092,8 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
2010
2092
  renderOrder: number;
2011
2093
  smoothingFactor: number;
2012
2094
  markerOpacities: number[] | null;
2095
+ outlineColor: string;
2096
+ outlineWidth: number;
2013
2097
  }, {}, {
2014
2098
  E3DObject: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2015
2099
  id: {