@realsee/five 6.7.0-alpha.9 → 6.7.1

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 (212) hide show
  1. package/docs/assets/hierarchy.js +1 -1
  2. package/docs/assets/navigation.js +1 -1
  3. package/docs/assets/search.js +1 -1
  4. package/docs/classes/five.AdaptiveLuminancePass.html +22 -0
  5. package/docs/classes/five.AnimationFrameLoop.html +4 -4
  6. package/docs/classes/five.BoundingMesh.html +4 -0
  7. package/docs/classes/five.Camera.html +6 -5
  8. package/docs/classes/five.EffectComposer.html +21 -0
  9. package/docs/classes/five.EyeDomeLightingPass.html +21 -0
  10. package/docs/classes/five.Five.html +90 -76
  11. package/docs/classes/five.FivePass.html +18 -0
  12. package/docs/classes/five.FiveRenderer.html +9 -0
  13. package/docs/classes/five.FullScreenQuad.html +6 -0
  14. package/docs/classes/five.InternalWebGLRenderer.html +1 -1
  15. package/docs/classes/five.Model.html +32 -31
  16. package/docs/classes/five.ModelScene.html +23 -20
  17. package/docs/classes/five.NetworkSubscribe.html +1 -1
  18. package/docs/classes/five.PBMContainer.html +1 -1
  19. package/docs/classes/five.PBMGroup.html +1 -1
  20. package/docs/classes/five.PBMMesh.html +1 -1
  21. package/docs/classes/five.PBMMeshMaterial.html +6 -7
  22. package/docs/classes/five.PBMPointCloud.html +1 -1
  23. package/docs/classes/five.PBMPointCloudMaterial.html +5 -6
  24. package/docs/classes/five.PBMSkinnedMesh.html +1 -1
  25. package/docs/classes/five.PanoCircleMesh.html +3 -3
  26. package/docs/classes/five.PanoCircleMeshCustom.html +4 -4
  27. package/docs/classes/five.PanoCircleMeshSolid.html +5 -5
  28. package/docs/classes/five.Parameter.html +44 -47
  29. package/docs/classes/five.Scene.html +1 -1
  30. package/docs/classes/five.Subscribe.html +1 -1
  31. package/docs/classes/five.TextureLoader.html +2 -2
  32. package/docs/classes/five.Tile3D.html +21 -21
  33. package/docs/classes/five.TileNode.html +4 -3
  34. package/docs/classes/five.Tileset.html +4 -4
  35. package/docs/classes/five.TrajectoryNode.html +1 -1
  36. package/docs/classes/five.Work.html +16 -16
  37. package/docs/classes/five.WorkResolvedObserver.html +20 -21
  38. package/docs/classes/gltf-loader.DDSLoader.html +1 -1
  39. package/docs/classes/gltf-loader.DRACOLoader.html +1 -1
  40. package/docs/classes/gltf-loader.GLTFLoader.html +1 -1
  41. package/docs/classes/gltf-loader.GLTFObject.html +1 -1
  42. package/docs/classes/gltf-loader.THREEGLTFLoader.html +1 -1
  43. package/docs/classes/line.Line.html +1 -1
  44. package/docs/classes/line.LineGeometry.html +1 -1
  45. package/docs/classes/line.LineMaterial.html +1 -1
  46. package/docs/classes/line.LineSegmentsGeometry.html +1 -1
  47. package/docs/classes/line.THREE_Line2.html +1 -1
  48. package/docs/classes/line.THREE_LineSegments2.html +1 -1
  49. package/docs/classes/plugins.BasePlugin.Controller.html +1 -1
  50. package/docs/classes/plugins.RoundedBoxGeometry.html +1 -1
  51. package/docs/classes/sticker.Sticker.html +1 -1
  52. package/docs/classes/vfx.Airflow.html +1 -1
  53. package/docs/classes/vfx.Flame.html +1 -1
  54. package/docs/classes/vfx.Particle.html +1 -1
  55. package/docs/classes/vfx.ParticleGPU.html +1 -1
  56. package/docs/classes/vfx.SpotLight.html +1 -1
  57. package/docs/functions/five.loadAt3d.html +1 -1
  58. package/docs/functions/five.parseWork.html +1 -1
  59. package/docs/functions/five.workToJson.html +1 -1
  60. package/docs/functions/plugins.DynamicPathLinePlugin.html +1 -0
  61. package/docs/functions/react.withFive.html +1 -1
  62. package/docs/functions/vue.useFiveWorks.html +2 -2
  63. package/docs/hierarchy.html +1 -1
  64. package/docs/interfaces/five.AddableObject.html +1 -1
  65. package/docs/interfaces/five.AjaxOptions.html +1 -1
  66. package/docs/interfaces/five.AnimationFrame.html +3 -2
  67. package/docs/interfaces/five.AnimationFrameContext.html +2 -2
  68. package/docs/interfaces/five.BaseEvent.html +1 -1
  69. package/docs/interfaces/five.EventCallback.html +1 -1
  70. package/docs/interfaces/five.FiveInitArgs.html +3 -3
  71. package/docs/interfaces/five.FiveLoadOptions.html +8 -10
  72. package/docs/interfaces/five.GestureEvent.html +1 -1
  73. package/docs/interfaces/five.ImageOptions.html +1 -1
  74. package/docs/interfaces/five.IntersectEvent.html +1 -1
  75. package/docs/interfaces/five.IntersectMesh.html +2 -2
  76. package/docs/interfaces/five.IntersectMeshInterface.html +1 -1
  77. package/docs/interfaces/five.Intersection.html +1 -1
  78. package/docs/interfaces/five.LoosePanoWork.html +2 -2
  79. package/docs/interfaces/five.LooseWork.html +2 -2
  80. package/docs/interfaces/five.LooseWorkInitial.html +2 -2
  81. package/docs/interfaces/five.LooseWorkModel.html +3 -2
  82. package/docs/interfaces/five.LooseWorkObserver.html +3 -2
  83. package/docs/interfaces/five.LooseWorkPanorama.html +8 -8
  84. package/docs/interfaces/five.LooseWorkVideo.html +2 -2
  85. package/docs/interfaces/five.LooseWorkWithExtrinsics.html +7 -7
  86. package/docs/interfaces/five.ModeChangeEvent.html +2 -2
  87. package/docs/interfaces/five.ModelControllerCustomInitArgs.html +5 -3
  88. package/docs/interfaces/five.ModelEvent.html +2 -2
  89. package/docs/interfaces/five.ModelOptions.html +11 -0
  90. package/docs/interfaces/five.ModelSceneEvent.html +2 -2
  91. package/docs/interfaces/five.MovePanoOptions.html +1 -1
  92. package/docs/interfaces/five.NetworkAbortError.html +1 -1
  93. package/docs/interfaces/five.NetworkFirbiddenError.html +1 -1
  94. package/docs/interfaces/five.NetworkOptions.html +1 -1
  95. package/docs/interfaces/five.NetworkProxyError.html +1 -1
  96. package/docs/interfaces/five.NetworkResourceEvent.html +2 -2
  97. package/docs/interfaces/five.NetworkResponseError.html +1 -1
  98. package/docs/interfaces/five.NetworkTimeoutError.html +1 -1
  99. package/docs/interfaces/five.ObjectEvent.html +2 -2
  100. package/docs/interfaces/five.PBMMaterial.html +1 -1
  101. package/docs/interfaces/five.PBMMeshMaterialParameters.html +2 -3
  102. package/docs/interfaces/five.PBMPointCloudMaterialParameters.html +2 -3
  103. package/docs/interfaces/five.PanoCircleMeshInterface.html +1 -1
  104. package/docs/interfaces/five.PanoCircleMeshSolidOptions.html +2 -2
  105. package/docs/interfaces/five.PanoEvent.html +1 -1
  106. package/docs/interfaces/five.PanoTextureEvent.html +1 -1
  107. package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +12 -10
  108. package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +5 -3
  109. package/docs/interfaces/five.ParameterMaterialValue.html +29 -31
  110. package/docs/interfaces/five.ParameterTilesetValue.html +15 -16
  111. package/docs/interfaces/five.ParameterValue.html +43 -46
  112. package/docs/interfaces/five.Pass.html +9 -0
  113. package/docs/interfaces/five.Pose.html +1 -1
  114. package/docs/interfaces/five.RenderEvent.html +2 -2
  115. package/docs/interfaces/five.ResolvedParameterValue.html +43 -46
  116. package/docs/interfaces/five.State.html +1 -1
  117. package/docs/interfaces/five.StateEvent.html +1 -1
  118. package/docs/interfaces/five.TextureOptions.html +1 -1
  119. package/docs/interfaces/five.TilesetOptions.html +2 -2
  120. package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +7 -3
  121. package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +12 -10
  122. package/docs/interfaces/five.ViewLayer.html +21 -21
  123. package/docs/interfaces/five.WorkCubeImage.html +2 -2
  124. package/docs/interfaces/five.WorkImage.html +5 -3
  125. package/docs/interfaces/five.WorkInitial.html +8 -8
  126. package/docs/interfaces/five.WorkModel.html +9 -7
  127. package/docs/interfaces/five.WorkModelJson.html +3 -2
  128. package/docs/interfaces/five.WorkModelLayer.html +7 -2
  129. package/docs/interfaces/five.WorkModelLayerJson.html +2 -2
  130. package/docs/interfaces/five.WorkObserver.html +21 -22
  131. package/docs/interfaces/five.WorkObserverJson.html +4 -2
  132. package/docs/interfaces/five.WorkPanoramaJson.html +2 -2
  133. package/docs/interfaces/five.WorkPanoramasJson.html +2 -2
  134. package/docs/interfaces/five.WorkTile.html +4 -4
  135. package/docs/interfaces/five.WorkVideo.html +4 -4
  136. package/docs/interfaces/five.WorksEvent.html +2 -3
  137. package/docs/interfaces/five.XRControllerEvent.html +1 -1
  138. package/docs/interfaces/five.XRGestureEvent.html +1 -1
  139. package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +12 -10
  140. package/docs/interfaces/five.XRSessionEvent.html +1 -1
  141. package/docs/interfaces/plugins.BackgroundPluginController.html +1 -1
  142. package/docs/interfaces/plugins.BackgroundPluginType.EventMap.html +1 -1
  143. package/docs/interfaces/plugins.BasePlugin.State.html +1 -1
  144. package/docs/interfaces/plugins.DynamicPathLinePluginController.html +83 -0
  145. package/docs/interfaces/plugins.DynamicPathLinePluginType.Config.html +36 -0
  146. package/docs/interfaces/plugins.DynamicPathLinePluginType.EventMap.html +26 -0
  147. package/docs/interfaces/plugins.DynamicPathLinePluginType.Params.html +6 -0
  148. package/docs/interfaces/plugins.DynamicPathLinePluginType.PathConfig.html +28 -0
  149. package/docs/interfaces/plugins.DynamicPathLinePluginType.State.html +10 -0
  150. package/docs/interfaces/plugins.ItemMaskController.html +1 -1
  151. package/docs/interfaces/plugins.ItemMaskPluginType.EventMap.html +1 -1
  152. package/docs/interfaces/plugins.ItemMaskPluginType.State.html +1 -1
  153. package/docs/interfaces/plugins.OrientationPluginController.html +1 -1
  154. package/docs/interfaces/plugins.OrientationPluginType.EventMap.html +1 -1
  155. package/docs/interfaces/plugins.OrientationPluginType.State.html +1 -1
  156. package/docs/interfaces/plugins.PanoAnimeController.html +1 -1
  157. package/docs/interfaces/plugins.PanoAnimePluginType.EventMap.html +1 -1
  158. package/docs/interfaces/plugins.PanoAnimePluginType.State.html +1 -1
  159. package/docs/interfaces/plugins.PluginTemplateType.EventMap.html +1 -1
  160. package/docs/interfaces/plugins.PluginTemplateType.State.html +1 -1
  161. package/docs/interfaces/plugins.TrajectoryController.html +1 -1
  162. package/docs/interfaces/react.FiveInjectionTypes.html +4 -4
  163. package/docs/modules/five.html +1 -1
  164. package/docs/modules/plugins.DynamicPathLinePluginType.html +1 -0
  165. package/docs/modules/plugins.html +1 -1
  166. package/docs/types/five.AnimationFrameLoopType.html +1 -1
  167. package/docs/types/five.Models.html +4 -4
  168. package/docs/types/five.ParseOptions.html +6 -6
  169. package/docs/types/five.PostProcessingType.html +1 -1
  170. package/docs/types/five.RequestAnimationFrameArgs.html +1 -0
  171. package/docs/types/five.TilesetFrameState.html +2 -3
  172. package/docs/types/plugins.BasePlugin.EventMap.html +1 -1
  173. package/docs/types/plugins.DynamicPathLinePluginType.PluginData.html +3 -0
  174. package/docs/types/plugins.DynamicPathLinePluginType.ServerData.html +3 -0
  175. package/docs/types/vue.FiveProviderComponent.html +1 -1
  176. package/five/index.d.ts +311 -85
  177. package/five/index.js +299 -198
  178. package/five/index.mjs +7306 -6940
  179. package/gltf-loader/index.js +3 -3
  180. package/gltf-loader/index.mjs +146 -146
  181. package/line/index.js +3 -3
  182. package/line/index.mjs +10 -10
  183. package/package.json +1 -1
  184. package/plugins/index.d.ts +314 -0
  185. package/plugins/index.js +296 -15
  186. package/plugins/index.mjs +2615 -1503
  187. package/react/index.d.ts +1 -1
  188. package/react/index.js +2 -2
  189. package/react/index.mjs +2 -2
  190. package/shader-lib/index.d.ts +24 -1
  191. package/shader-lib/index.js +22 -13
  192. package/shader-lib/index.mjs +408 -171
  193. package/sticker/index.js +3 -3
  194. package/sticker/index.mjs +7 -7
  195. package/umd/five-gltf-loader.js +3 -3
  196. package/umd/five-line.js +3 -3
  197. package/umd/five-plugins.js +296 -15
  198. package/umd/five-react.js +2 -2
  199. package/umd/five-shader-lib.js +22 -13
  200. package/umd/five-sticker.js +3 -3
  201. package/umd/five-vfx.js +2 -2
  202. package/umd/five-vue.js +2 -2
  203. package/umd/five.js +299 -198
  204. package/vfx/index.js +2 -2
  205. package/vfx/index.mjs +2 -2
  206. package/vue/index.d.ts +1 -1
  207. package/vue/index.js +2 -2
  208. package/vue/index.mjs +2 -2
  209. package/work-downloader/index.js +3 -3
  210. package/work-downloader/index.mjs +13 -11
  211. package/docs/interfaces/five.ModelLike.html +0 -3
  212. package/docs/types/five.Tile3dOptions.html +0 -1
package/five/index.d.ts CHANGED
@@ -2,6 +2,20 @@
2
2
 
3
3
  import * as THREE_2 from 'three';
4
4
 
5
+ export declare class AdaptiveLuminancePass extends FivePass {
6
+ luminanceScreenSampleScale: number;
7
+ luminanceScale: number;
8
+ luminanceStep: number;
9
+ private luminanceTargetBuffer?;
10
+ private luminancePrevBuffer?;
11
+ private luminanceNextBuffer?;
12
+ private progress;
13
+ constructor();
14
+ render(renderer: THREE_2.WebGLRenderer, writeBuffer: THREE_2.WebGLRenderTarget, readBuffer: THREE_2.WebGLRenderTarget, deltaTime: number, maskActive?: boolean): void;
15
+ clearBuffer(): void;
16
+ dispose(): void;
17
+ }
18
+
5
19
  export declare interface AddableObject extends THREE_2.Object3D {
6
20
  /** 是否需要渲染一次 */
7
21
  needsRender?: boolean;
@@ -23,15 +37,16 @@ export declare type AjaxResponseType = "arraybuffer" | "blob" | "text";
23
37
  export declare type AjaxResponseTypeMapping<K extends AjaxResponseType> = K extends "arraybuffer" ? ArrayBuffer : K extends "blob" ? Blob : K extends "text" ? string : never;
24
38
 
25
39
  export declare interface AnimationFrame {
26
- callback: (time: number, deltaTime: number, ...args: any[]) => void;
40
+ callback: (time: number, deltaTime: number, ...requestAnimationFrameArgs: RequestAnimationFrameArgs) => void;
27
41
  once: boolean;
28
42
  delay: number;
29
43
  order: number;
44
+ calls: number;
30
45
  }
31
46
 
32
- export declare interface AnimationFrameContext {
33
- requestAnimationFrame(...args: any[]): any;
34
- cancelAnimationFrame(requestId: any): void;
47
+ export declare interface AnimationFrameContext<Args extends any[] = any[], RequestId = any> {
48
+ requestAnimationFrame(fn: (...args: RequestAnimationFrameArgs<Args>) => void): RequestId;
49
+ cancelAnimationFrame(requestId: RequestId): void;
35
50
  }
36
51
 
37
52
  export declare class AnimationFrameLoop {
@@ -48,7 +63,7 @@ export declare class AnimationFrameLoop {
48
63
  start(): void;
49
64
  stop(): void;
50
65
  setContext(context: AnimationFrameContext | null): void;
51
- getContext<T extends AnimationFrameContext>(): T | null;
66
+ getContext<T extends AnimationFrameContext = AnimationFrameContext>(): T | null;
52
67
  setLoopType(type: AnimationFrameLoopType): void;
53
68
  getLoopType(): AnimationFrameLoopType;
54
69
  private requestAnimationFrame;
@@ -75,6 +90,14 @@ export declare interface BaseEvent {
75
90
  defaultPrevented: boolean;
76
91
  }
77
92
 
93
+ export declare class BoundingMesh extends PBMMesh {
94
+ constructor(options?: {
95
+ name?: string;
96
+ });
97
+ update(renderer: THREE_2.WebGLRenderer, camera: Camera, modelScene: ModelScene): boolean;
98
+ dispose(): void;
99
+ }
100
+
78
101
  export declare interface BoundingVolume {
79
102
  type: 'box' | 'sphere' | 'regin';
80
103
  applyMatrix4(matrix: THREE_2.Matrix4): this;
@@ -154,6 +177,15 @@ export declare class Camera extends THREE_2.Camera {
154
177
  copyPose(): CameraPose;
155
178
  private computeProjectionMatrix;
156
179
  setViewOffset(fullWidth: number, fullHeight: number, x: number, y: number, width: number, height: number): void;
180
+ get view(): {
181
+ enabled: boolean;
182
+ fullWidth: number;
183
+ fullHeight: number;
184
+ offsetX: number;
185
+ offsetY: number;
186
+ width: number;
187
+ height: number;
188
+ };
157
189
  clearViewOffset(): void;
158
190
  updateProjectionMatrix(): void;
159
191
  get perspectiveProjectionMatrix(): THREE_2.Matrix4;
@@ -324,6 +356,38 @@ export declare class Draco {
324
356
 
325
357
  export declare const draco: Draco;
326
358
 
359
+ /**
360
+ * EffectComposer
361
+ *
362
+ * 基于three.js的EffectComposer,用于管理后处理pass的渲染流程
363
+ */
364
+ export declare class EffectComposer {
365
+ renderTarget1: THREE_2.WebGLRenderTarget;
366
+ renderTarget2: THREE_2.WebGLRenderTarget;
367
+ writeBuffer: THREE_2.WebGLRenderTarget;
368
+ readBuffer: THREE_2.WebGLRenderTarget;
369
+ passes: Pass[];
370
+ normalMaterial: THREE_2.MeshNormalMaterial;
371
+ clock: THREE_2.Clock;
372
+ renderToScreen: boolean;
373
+ status: {
374
+ endabledPassNumber: number;
375
+ needsColorGBuffer: boolean;
376
+ needsDepthGBuffer: boolean;
377
+ needsNormalGBuffer: boolean;
378
+ version: string;
379
+ };
380
+ gbuffer: Map<'depth' | 'normal' | 'color', THREE_2.Texture>;
381
+ constructor();
382
+ swapBuffers(): void;
383
+ addPass(pass: Pass): void;
384
+ insertPass(pass: Pass, index: number): void;
385
+ render(renderer: THREE_2.WebGLRenderer): boolean;
386
+ setSize(width: number, height: number): void;
387
+ updateStatus(): void;
388
+ dispose(): void;
389
+ }
390
+
327
391
  /**
328
392
  * Five 事件列表
329
393
  * @description
@@ -386,6 +450,18 @@ export declare type EventTypes = Pick<ControllerEventTypes, typeof PROXY_CONTROL
386
450
  "dispose"(): void;
387
451
  };
388
452
 
453
+ export declare class EyeDomeLightingPass extends FivePass {
454
+ strength: number;
455
+ radius: number;
456
+ neighbours: number;
457
+ private camera;
458
+ private fsQuad;
459
+ private material;
460
+ constructor(camera: Camera);
461
+ render(renderer: THREE_2.WebGLRenderer, writeBuffer: THREE_2.WebGLRenderTarget, readBuffer: THREE_2.WebGLRenderTarget, deltaTime: number, maskActive?: boolean): void;
462
+ dispose(): void;
463
+ }
464
+
389
465
  export declare class Fetcher {
390
466
  private options;
391
467
  constructor(options?: NetworkOptions);
@@ -484,12 +560,6 @@ export declare class Five extends Subscribe<EventTypes> {
484
560
  * 是否按需渲染
485
561
  */
486
562
  onlyRenderIfNeeds: boolean;
487
- /**
488
- * 模型是否需要更新渲染
489
- * @description
490
- * 可以设置modelNeedsRender为true,通知five进行模型渲染的更新
491
- */
492
- modelSceneNeedsRender: boolean;
493
563
  /** 是否显示 Powered By Realsee */
494
564
  poweredByRealsee: boolean;
495
565
  /** 背景颜色 */
@@ -540,9 +610,7 @@ export declare class Five extends Subscribe<EventTypes> {
540
610
  plugins: {
541
611
  [key: string]: FivePluginInstance<any>;
542
612
  };
543
- ident: string;
544
- /** 包围盒子 */
545
- private boundingMesh;
613
+ readonly fiveId: string;
546
614
  private stopAnimationLoop?;
547
615
  private fps;
548
616
  private helperGroup;
@@ -560,12 +628,12 @@ export declare class Five extends Subscribe<EventTypes> {
560
628
  private requestProxy;
561
629
  private networkSubscribe;
562
630
  private analysis?;
563
- private renderSwitch01;
564
631
  private currentUpdateArgs;
565
- enableLayeringRendering: boolean;
566
- private _builtinRenderer;
567
- private _buildInRendererType;
632
+ private fiveRenderer;
633
+ private adaptiveLuminancePass;
634
+ private eyeDomeLightingPass;
568
635
  constructor(initArgs?: FiveInitArgs);
636
+ get ident(): string;
569
637
  get panoIndex(): number;
570
638
  /**
571
639
  * 析构 five 对象。
@@ -586,14 +654,15 @@ export declare class Five extends Subscribe<EventTypes> {
586
654
  * ```
587
655
  */
588
656
  setViewport(viewport: Viewport): void;
657
+ /**
658
+ * 获取 boundingMesh
659
+ */
660
+ get boundingMesh(): BoundingMesh;
589
661
  /**
590
662
  * 帮助元素显示/隐藏
591
663
  */
592
664
  get helperVisible(): boolean;
593
665
  set helperVisible(visible: boolean);
594
- private getBuiltinRenderer;
595
- get renderEffect(): 'default' | 'edl' | 'hq' | 'luminance';
596
- set renderEffect(value: "default" | "edl" | "hq" | "luminance");
597
666
  updateConfiguration(args: Pick<FiveInitArgs, "panorama" | "model" | "floorplan" | "topview" | "mapview" | "vrPanorama" | "imageOptions" | "textureOptions">, refresh?: boolean): void;
598
667
  /**
599
668
  * 将显示区域加载到页面 DOM 中
@@ -807,7 +876,8 @@ export declare class Five extends Subscribe<EventTypes> {
807
876
  */
808
877
  exitFullscreen(): void;
809
878
  private throwError;
810
- private loadModels;
879
+ private bindModel;
880
+ private bindWorkFetcher;
811
881
  private commonParams;
812
882
  private applyController;
813
883
  /** 移除事件绑定 */
@@ -849,29 +919,53 @@ export declare class Five extends Subscribe<EventTypes> {
849
919
  lookAtVector: THREE_2.Vector3;
850
920
  };
851
921
  /**
852
- * @deprecated
853
- * use five.effect instead
922
+ * 增加后处理PASS
923
+ * @param pass - 要添加的Pass实例
854
924
  */
855
- get enableIOSEDR(): boolean;
856
- set enableIOSEDR(enable: boolean);
925
+ addPass(pass: Pass): void;
857
926
  /**
858
- * @deprecated
859
- * use five.effect instead
927
+ * 移除后处理Pass
928
+ * @param pass - 要移除的Pass实例
929
+ */
930
+ removePass(pass: Pass): void;
931
+ /**
932
+ * 在指定位置插入后处理Pass
933
+ * @param pass - 要插入的Pass实例
934
+ * @param index - 插入位置的索引
860
935
  */
936
+ insertPass(pass: Pass, index: number): void;
937
+ /**
938
+ * 设置渲染模式
939
+ */
940
+ get renderMode(): "default" | "ssaa" | "point-cloud-high-quality";
941
+ set renderMode(value: "default" | "ssaa" | "point-cloud-high-quality");
942
+ /** 开启 HQ */
943
+ get enableHQ(): boolean;
944
+ set enableHQ(enable: boolean);
945
+ /** 开启 edl */
861
946
  get enableEDL(): boolean;
862
947
  set enableEDL(enable: boolean);
948
+ /** 开启 AdaptiveLuminance */
949
+ get enableAdaptiveLuminance(): boolean;
950
+ set enableAdaptiveLuminance(enable: boolean);
863
951
  /**
864
952
  * @deprecated
865
- * use five.effect instead
953
+ * 不可用
866
954
  */
867
- get enableHQ(): boolean;
868
- set enableHQ(enable: boolean);
955
+ get enableIOSEDR(): boolean;
956
+ set enableIOSEDR(enable: boolean);
869
957
  /**
870
958
  * @deprecated
871
- * use five.effect instead
959
+ * 不可用
872
960
  */
873
961
  get enablePostProcessing(): boolean;
874
962
  set enablePostProcessing(enable: boolean);
963
+ /**
964
+ * @deprecated
965
+ * use five.modelScene.needsRender instead
966
+ */
967
+ get modelSceneNeedsRender(): boolean;
968
+ set modelSceneNeedsRender(needsRender: boolean);
875
969
  }
876
970
 
877
971
  /** Five 初始化参数 */
@@ -1039,38 +1133,55 @@ export declare interface FiveInitArgs {
1039
1133
  */
1040
1134
  requestProxy?(url: string): string | Promise<string>;
1041
1135
  /**
1042
- * 是否开启分层渲染,默认开启
1136
+ * @deprecated
1137
+ * 无效
1043
1138
  */
1044
1139
  enableLayeringRendering?: boolean;
1045
1140
  }
1046
1141
 
1047
1142
  export declare interface FiveLoadOptions {
1143
+ /** 替换 / 追加 */
1144
+ mode?: 'replace' | "add";
1048
1145
  /** 切换运动时间 */
1049
1146
  duration?: number;
1050
1147
  /** 切换运动全景图效果 */
1051
1148
  effect?: MovePanoEffect;
1052
- model?: {
1053
- light?: boolean;
1054
- /**
1055
- * 模型贴图的配置参数
1056
- * @description
1057
- * 可以动态对配置在 `work` 数据中的模型贴图在 runtime 做 url 调整。
1058
- * 平衡加载时间和图片质量
1059
- */
1060
- textureOptions?: TextureOptions;
1061
- /** 模型 3d-tile 参数 */
1062
- "3d-tiles"?: Tile3dOptions;
1063
- };
1149
+ model?: ModelOptions;
1064
1150
  /**
1065
1151
  * @deprecated
1066
1152
  * 请通过 model.textureOptions 设置
1067
1153
  */
1068
- textureOptions?: TextureOptions;
1154
+ textureOptions?: ModelOptions['textureOptions'];
1069
1155
  /**
1070
1156
  * @deprecated
1071
1157
  * 请通过 model.textureOptions 设置
1072
1158
  */
1073
- "3d-tiles"?: Tile3dOptions;
1159
+ "3d-tiles"?: ModelOptions['3d-tiles'];
1160
+ }
1161
+
1162
+ /**
1163
+ * FivePass
1164
+ *
1165
+ * Five 引擎优化的 Pass 基类
1166
+ * 支持 G-Buffer 注入,避免重复渲染场景
1167
+ */
1168
+ export declare class FivePass implements Pass {
1169
+ static FullScreenQuad: typeof FullScreenQuad;
1170
+ enabled: boolean;
1171
+ needsSwap: boolean;
1172
+ clear: boolean;
1173
+ renderToScreen: boolean;
1174
+ dependencies: ('depth' | 'normal' | 'color')[];
1175
+ /**
1176
+ * G-Buffer 纹理集合
1177
+ * 包含 depth、normal、color 等纹理
1178
+ * 由 EffectComposer 在 render 时注入
1179
+ */
1180
+ gbuffer: Map<'depth' | 'normal' | 'color', THREE_2.Texture>;
1181
+ constructor(dependencies?: ('depth' | 'normal' | 'color')[]);
1182
+ setSize(width: number, height: number): void;
1183
+ render(renderer: THREE_2.WebGLRenderer, writeBuffer: THREE_2.WebGLRenderTarget, readBuffer: THREE_2.WebGLRenderTarget, deltaTime?: number, maskActive?: boolean): void;
1184
+ dispose(): void;
1074
1185
  }
1075
1186
 
1076
1187
  /**
@@ -1100,6 +1211,19 @@ parameters: Parameters<T>[1]
1100
1211
  */
1101
1212
  export declare type FivePluginInstance<T extends FivePlugin<any, any>> = ReturnType<T>;
1102
1213
 
1214
+ export declare class FiveRenderer {
1215
+ composer: EffectComposer;
1216
+ composerVersion: string;
1217
+ colorRenderTarget: THREE_2.WebGLRenderTarget;
1218
+ normalRenderTarget: THREE_2.WebGLRenderTarget;
1219
+ renderMode: 'default' | 'ssaa' | 'point-cloud-high-quality';
1220
+ private sceneRenders;
1221
+ constructor();
1222
+ private renderSceneToBuffers;
1223
+ render(renderer: THREE_2.WebGLRenderer, scene: Scene, modelScene: ModelScene, camera: Camera, sceneUpdated: boolean): boolean;
1224
+ dispose(): void;
1225
+ }
1226
+
1103
1227
  export declare interface FloorplanControllerCustomInitArgs {
1104
1228
  /** 默认水平角 */
1105
1229
  defaultLongitude?: number;
@@ -1119,6 +1243,21 @@ export declare interface FloorplanControllerCustomInitArgs {
1119
1243
  intersectMeshCreator?: () => IntersectMeshInterface;
1120
1244
  }
1121
1245
 
1246
+ /**
1247
+ * 用于全屏渲染的辅助类
1248
+ */
1249
+ export declare class FullScreenQuad<T extends THREE_2.Material = THREE_2.Material> {
1250
+ private static camera;
1251
+ private static geometry;
1252
+ private _scene;
1253
+ private _mesh;
1254
+ constructor(material: T);
1255
+ get material(): T;
1256
+ set material(value: T);
1257
+ dispose(): void;
1258
+ render(renderer: THREE_2.WebGLRenderer): void;
1259
+ }
1260
+
1122
1261
  export declare interface GestureEvent extends StateEvent {
1123
1262
  target: EventTarget | null;
1124
1263
  pointerType: 'touch' | 'pen' | 'mouse' | 'kinect';
@@ -1838,6 +1977,7 @@ export declare interface LooseWork {
1838
1977
  base_url?: string;
1839
1978
  pano_high_cube_base_url?: string;
1840
1979
  pano_cube_base_url?: string;
1980
+ pattern?: LooseWorkPanorama;
1841
1981
  info?: LooseWorkPanorama[];
1842
1982
  list?: LooseWorkPanorama[];
1843
1983
  };
@@ -1865,6 +2005,7 @@ export declare interface LooseWorkModel {
1865
2005
  file_url?: string;
1866
2006
  material_textures?: string[];
1867
2007
  material_base_url?: string;
2008
+ up_axis?: string;
1868
2009
  coordinate?: NonNullable<TilesetHeader['rootMeta']>['coordinate'];
1869
2010
  tiles?: {
1870
2011
  type?: 'point_cloud' | 'mesh' | string;
@@ -1884,6 +2025,7 @@ export declare interface LooseWorkModel {
1884
2025
 
1885
2026
  export declare interface LooseWorkObserver {
1886
2027
  active?: boolean;
2028
+ loadable?: boolean;
1887
2029
  index?: number;
1888
2030
  visible_nodes?: number[];
1889
2031
  visibleNodes?: number[];
@@ -1905,10 +2047,16 @@ export declare interface LooseWorkObserver {
1905
2047
  derived_id_str?: string;
1906
2048
  }
1907
2049
 
1908
- export declare interface LooseWorkPanorama extends Record<CubeFace, string> {
2050
+ export declare interface LooseWorkPanorama {
1909
2051
  active?: boolean;
1910
2052
  loadable?: boolean;
1911
2053
  index?: number;
2054
+ right?: string;
2055
+ left?: string;
2056
+ up?: string;
2057
+ down?: string;
2058
+ front?: string;
2059
+ back?: string;
1912
2060
  video?: LooseWorkVideo;
1913
2061
  tiles?: number[];
1914
2062
  size_list?: number[];
@@ -2045,6 +2193,7 @@ export declare interface Model {
2045
2193
  * 通过 json_xxxxxx(<dataURL>) 方式返回。
2046
2194
  */
2047
2195
  export declare class Model extends THREE_2.Object3D {
2196
+ fiveId: string;
2048
2197
  parent: ModelScene | null;
2049
2198
  needsRender: boolean;
2050
2199
  children: ViewLayer[];
@@ -2066,14 +2215,14 @@ export declare class Model extends THREE_2.Object3D {
2066
2215
  /** 模型细化进度 */
2067
2216
  refineProgress: [number, number];
2068
2217
  /** 初始化完成 */
2069
- initReady: Promise<void>;
2218
+ initReady: Promise<Model>;
2070
2219
  /** 初次加载完成 */
2071
- loadedReady: Promise<void>;
2220
+ loadedReady: Promise<Model>;
2072
2221
  /** 外接盒子的大小 */
2073
2222
  boundingBox: THREE_2.Box3;
2074
2223
  /** 所有楼层 */
2075
2224
  floorLength: number;
2076
- constructor(work: Work, options?: {
2225
+ constructor(fiveId: string, work: Work, options?: {
2077
2226
  light?: boolean;
2078
2227
  textureOptions?: TextureOptions;
2079
2228
  });
@@ -2171,9 +2320,26 @@ export declare interface ModelEvent extends BaseEvent {
2171
2320
  error: Error | null;
2172
2321
  }
2173
2322
 
2174
- export declare interface ModelLike extends THREE_2.Object3D {
2175
- update?(renderer: THREE_2.WebGLRenderer, camera: Camera, modelScene: ModelScene): boolean;
2176
- dispose?: () => void;
2323
+ export declare interface ModelOptions {
2324
+ /** 模型是否感光 */
2325
+ light?: boolean;
2326
+ /** 模型 3d-tile 参数 */
2327
+ "3d-tiles"?: (Partial<ParameterTilesetValue> & {
2328
+ viewerRequestVolume?: BoundingVolume | BoundingVolumeJson;
2329
+ showLayers?: boolean | string[];
2330
+ }) | ((viewLayer: ViewLayer, model: Model) => void | (Partial<ParameterTilesetValue> & {
2331
+ viewerRequestVolume?: BoundingVolume | BoundingVolumeJson;
2332
+ showLayers?: boolean | string[];
2333
+ }));
2334
+ /**
2335
+ * 模型贴图的配置参数
2336
+ * @description
2337
+ * 可以动态对配置在 `work` 数据中的模型贴图在 runtime 做 url 调整。
2338
+ * 平衡加载时间和图片质量
2339
+ */
2340
+ textureOptions?: TextureOptions;
2341
+ /** 强制显示模型,不等待加载完 */
2342
+ forceReplaceImmediately?: boolean;
2177
2343
  }
2178
2344
 
2179
2345
  export declare type Models = Model[] & {
@@ -2229,13 +2395,48 @@ export declare type Models = Model[] & {
2229
2395
  resetBrightness(): void;
2230
2396
  };
2231
2397
 
2398
+ export declare interface ModelScene {
2399
+ dispatchEvent(event: {
2400
+ type: 'model.create';
2401
+ model: Model;
2402
+ }): void;
2403
+ dispatchEvent(event: {
2404
+ type: 'model.dispose';
2405
+ model: Model;
2406
+ }): void;
2407
+ dispatchEvent(event: {
2408
+ type: string;
2409
+ [attachment: string]: any;
2410
+ }): void;
2411
+ addEventListener(type: 'model.create', listener: (event: THREE_2.Event & {
2412
+ type: 'model.create';
2413
+ model: Model;
2414
+ }) => void): void;
2415
+ addEventListener(type: 'model.dispose', listener: (event: THREE_2.Event & {
2416
+ type: 'model.dispose';
2417
+ model: Model;
2418
+ }) => void): void;
2419
+ addEventListener(type: string, listener: (event: THREE_2.Event) => void): void;
2420
+ removeEventListener(type: 'model.create', listener: (event: THREE_2.Event & {
2421
+ type: 'model.create';
2422
+ model: Model;
2423
+ }) => void): void;
2424
+ removeEventListener(type: 'model.dispose', listener: (event: THREE_2.Event & {
2425
+ type: 'model.dispose';
2426
+ model: Model;
2427
+ }) => void): void;
2428
+ removeEventListener(type: string, listener: (event: THREE_2.Event) => void): void;
2429
+ }
2430
+
2232
2431
  export declare class ModelScene extends THREE_2.Scene {
2432
+ fiveId: string;
2233
2433
  needsRender: boolean;
2234
- children: ModelLike[];
2235
2434
  /** 自动细化 */
2236
2435
  autoRefine: boolean;
2237
2436
  /** 包围盒 */
2238
2437
  boundingBox: THREE_2.Box3;
2438
+ /** 包围盒 Mesh */
2439
+ boundingMesh: BoundingMesh;
2239
2440
  /** 加载完成 */
2240
2441
  loaded: boolean;
2241
2442
  /** 细化完成 */
@@ -2246,9 +2447,13 @@ export declare class ModelScene extends THREE_2.Scene {
2246
2447
  parameter: Parameter;
2247
2448
  /** 模型列表 */
2248
2449
  readonly models: Models;
2249
- constructor();
2250
- add(...objects: ModelLike[]): this;
2251
- remove(...objects: ModelLike[]): this;
2450
+ private readonly shownModels;
2451
+ private updateModelMap;
2452
+ constructor(options: {
2453
+ fiveId: string;
2454
+ });
2455
+ setModels(works: Works, options: ModelOptions): Model[];
2456
+ get empty(): boolean;
2252
2457
  /**
2253
2458
  * 计算模型射线碰撞检测
2254
2459
  * @param raycaster - THREE 射线对象
@@ -2277,6 +2482,7 @@ export declare class ModelScene extends THREE_2.Scene {
2277
2482
  * Use `.parameter.reset('brightness')` instead
2278
2483
  */
2279
2484
  resetBrightness(): void;
2485
+ dispose(): void;
2280
2486
  }
2281
2487
 
2282
2488
  export declare interface ModelSceneEvent extends BaseEvent {
@@ -2611,7 +2817,9 @@ export declare interface PanoramaControllerCustomInitArgs extends PanoramaLikeCo
2611
2817
  */
2612
2818
  panoTapTriggerRadius?: number;
2613
2819
  /** 地面观察点标识自定义创建器 */
2614
- panoCircleMeshCreator?: (pano: Pano) => PanoCircleMeshInterface;
2820
+ panoCircleMeshCreator?: (observer: WorkObserver, options: {
2821
+ aerialObserverMinHeight: number;
2822
+ }) => PanoCircleMeshInterface;
2615
2823
  /** 基于模型调整 地面观察点 的位置 */
2616
2824
  adjustPanoCircleMeshPositionBasedOnModel?: boolean;
2617
2825
  /**
@@ -2650,6 +2858,8 @@ export declare interface PanoramaLikeControllerCustomInitArgs {
2650
2858
  moveSpeed?: number;
2651
2859
  /** 鼠标焦点环自定义创建器 */
2652
2860
  intersectMeshCreator?: () => IntersectMeshInterface;
2861
+ /** 航拍点最小高度 */
2862
+ aerialObserverMinHeight?: number;
2653
2863
  }
2654
2864
 
2655
2865
  export declare function panoStringify(pano: Pano): PanoId;
@@ -2697,8 +2907,6 @@ declare interface ParameterMaterialValue {
2697
2907
  refinedScreen: PBMRefinedScreen | null;
2698
2908
  /** 模型贴图和全景图的混合程度 [0-1] */
2699
2909
  modelAlpha: number;
2700
- /** 深度写入alpha */
2701
- logDepthAlpha: number;
2702
2910
  /** 全景图混合程度 [0-1] */
2703
2911
  progress: number;
2704
2912
  /** 全景图过度混合 */
@@ -2784,7 +2992,6 @@ export declare interface ParameterTilesetValue {
2784
2992
  requestOrder: TileRequestOrder;
2785
2993
  /** 模型屏幕空间误差计算最大值 */
2786
2994
  maxScreenSpaceError: number;
2787
- memoryAdjustedOverflow: number;
2788
2995
  memoryAdjustedScreenSpaceError: boolean;
2789
2996
  /** 缓存相机 */
2790
2997
  cacheCameras: readonly (Camera | THREE_2.PerspectiveCamera)[];
@@ -2816,6 +3023,19 @@ export declare type ParseOptions = {
2816
3023
  */
2817
3024
  export declare function parseWork(obj: Work | LoosePanoWork | LooseWork | string | any, options?: ParseOptions): Work;
2818
3025
 
3026
+ /**
3027
+ * Pass基类
3028
+ * three.js 的 Pass 接口,用于 EffectComposer
3029
+ */
3030
+ export declare interface Pass {
3031
+ enabled: boolean;
3032
+ needsSwap: boolean;
3033
+ clear: boolean;
3034
+ renderToScreen: boolean;
3035
+ setSize(width: number, height: number): void;
3036
+ render(renderer: THREE_2.WebGLRenderer, writeBuffer: THREE_2.WebGLRenderTarget, readBuffer: THREE_2.WebGLRenderTarget, deltaTime?: number, maskActive?: boolean): void;
3037
+ }
3038
+
2819
3039
  export declare type PBMAlphaMode = 'OPAQUE' | 'MASK' | 'BLEND';
2820
3040
 
2821
3041
  export declare interface PBMClipperParameter {
@@ -2972,7 +3192,6 @@ export declare class PBMMeshMaterial extends PBMMaterial implements THREE_2.Mesh
2972
3192
  pano1Depth: PBMPanoDepth | null;
2973
3193
  refinedScreen: PBMRefinedScreen | null;
2974
3194
  modelAlpha: number;
2975
- logDepthAlpha: number;
2976
3195
  progress: number;
2977
3196
  transition: PBMTransition;
2978
3197
  colorStyle: PBMColorStyle;
@@ -3012,7 +3231,6 @@ export declare interface PBMMeshMaterialParameters extends THREE_2.MaterialParam
3012
3231
  pano1?: PBMPanoPicture | null;
3013
3232
  refinedScreen?: PBMRefinedScreen | null;
3014
3233
  modelAlpha?: number;
3015
- logDepthAlpha?: number;
3016
3234
  progress?: number;
3017
3235
  transition?: PBMTransition;
3018
3236
  colorStyle?: PBMColorStyle;
@@ -3078,7 +3296,6 @@ export declare class PBMPointCloudMaterial extends PBMMaterial {
3078
3296
  pointShape: PBMPointShape;
3079
3297
  pointBack: PBMPointBack;
3080
3298
  modelAlpha: number;
3081
- logDepthAlpha: number;
3082
3299
  colorStyle: PBMColorStyle;
3083
3300
  constantColor: THREE_2.Vector3;
3084
3301
  floorIndex: number;
@@ -3118,7 +3335,6 @@ export declare interface PBMPointCloudMaterialParameters extends THREE_2.Materia
3118
3335
  pointShape?: PBMPointShape;
3119
3336
  pointBack?: PBMPointBack;
3120
3337
  modelAlpha?: number;
3121
- logDepthAlpha?: number;
3122
3338
  colorStyle?: PBMColorStyle;
3123
3339
  constantColor?: THREE_2.Vector3;
3124
3340
  floorIndex?: number;
@@ -3214,6 +3430,8 @@ export declare interface RenderEvent extends BaseEvent {
3214
3430
  needsRender: boolean;
3215
3431
  }
3216
3432
 
3433
+ export declare type RequestAnimationFrameArgs<Args extends any[] = any[]> = [domHighResTimeStamp: number, ...args: Args];
3434
+
3217
3435
  export declare interface ResolvedParameterValue extends ParameterValue {
3218
3436
  versions: string[];
3219
3437
  version: string;
@@ -3658,14 +3876,6 @@ declare interface Tile3DOptions {
3658
3876
  export { Tile3DOptions as Tile3DModelLoaderOptions }
3659
3877
  export { Tile3DOptions }
3660
3878
 
3661
- export declare type Tile3dOptions = (Partial<ParameterTilesetValue> & {
3662
- viewerRequestVolume?: BoundingVolume | BoundingVolumeJson;
3663
- showLayers?: boolean | string[];
3664
- }) | ((viewLayer: ViewLayer, model: Model, modelIndex: number) => void | (Partial<ParameterTilesetValue> & {
3665
- viewerRequestVolume?: BoundingVolume | BoundingVolumeJson;
3666
- showLayers?: boolean | string[];
3667
- }));
3668
-
3669
3879
  export declare class TileCache {
3670
3880
  private options;
3671
3881
  private cacheNodeMap;
@@ -3716,11 +3926,12 @@ export declare interface TileHeader {
3716
3926
 
3717
3927
  export declare class TileNode extends THREE_2.Object3D {
3718
3928
  materials: THREE_2.Material[];
3929
+ animations: THREE_2.AnimationClip[];
3719
3930
  pbmObjects: (PBMMesh | PBMSkinnedMesh | PBMPointCloud)[];
3720
3931
  private contentObject;
3721
3932
  private appearMotion;
3722
3933
  private disposers;
3723
- constructor(name: string, contentObject: THREE_2.Object3D, disposer?: () => void);
3934
+ constructor(name: string, contentObject: THREE_2.Object3D, animations: THREE_2.AnimationClip[], disposer?: () => void);
3724
3935
  generateBvhTree(): Promise<this>;
3725
3936
  intersectRaycaster(raycaster: THREE_2.Raycaster, target?: Intersection[]): Intersection[];
3726
3937
  update(renderer: THREE_2.WebGLRenderer, camera: Camera, modelScene: ModelScene, tile3d: Tile3D, tile: Tile, parameterValue: ResolvedParameterValue): boolean;
@@ -3786,6 +3997,9 @@ export declare class Tileset {
3786
3997
  pointLength: number;
3787
3998
  floorLength: number;
3788
3999
  constructor(header: TilesetHeader, options: TilesetOptions);
4000
+ /**
4001
+ * 通过当前的内存使用,推测 maxScreenSpaceError
4002
+ */
3789
4003
  private adjustScreenSpaceError;
3790
4004
  private getTraverser;
3791
4005
  /** Release resources */
@@ -3820,7 +4034,6 @@ export declare type TilesetFrameState = {
3820
4034
  maxRequests: number;
3821
4035
  requestOrder: TileRequestOrder;
3822
4036
  maxScreenSpaceError: number;
3823
- memoryAdjustedOverflow: number;
3824
4037
  memoryAdjustedScreenSpaceError: boolean;
3825
4038
  maxMemoryUsage: number;
3826
4039
  };
@@ -3866,7 +4079,7 @@ export declare interface TilesetHeader {
3866
4079
  numFloors?: number;
3867
4080
  /** 点云的点数量 */
3868
4081
  numTotalPoints?: number;
3869
- /** 采��轨迹数量 */
4082
+ /** 采集轨迹数量 */
3870
4083
  numTrajectories?: number;
3871
4084
  /** 点云的 pnts 数据的排序规则 */
3872
4085
  pntsOrder?: "RANDOM" | "UNSORTED";
@@ -3905,7 +4118,7 @@ export declare interface TilesetOptions {
3905
4118
  onTrajectoryError: (trajectory: Trajectory, error: Error) => any;
3906
4119
  }
3907
4120
 
3908
- export declare interface TopviewControllerCustomInitArgs extends Omit<FloorplanControllerCustomInitArgs, "defaultLongitude" | "defaultLatitude" | "maxLatitude" | "minLatitude"> {
4121
+ export declare interface TopviewControllerCustomInitArgs extends Omit<FloorplanControllerCustomInitArgs, "maxLatitude" | "minLatitude"> {
3909
4122
  }
3910
4123
 
3911
4124
  export declare class Trajectory {
@@ -4083,6 +4296,8 @@ export declare interface WorkImage extends WorkCubeImage {
4083
4296
  sizeList: readonly number[];
4084
4297
  /** 瓦片信息 */
4085
4298
  tiles: readonly WorkTile[];
4299
+ /** 点位视频 */
4300
+ video?: WorkVideo;
4086
4301
  }
4087
4302
 
4088
4303
  /** 初始化位姿参数 */
@@ -4137,6 +4352,8 @@ export declare interface WorkModel {
4137
4352
  textures?: readonly string[];
4138
4353
  /** 模型贴图文件地址的父目录 */
4139
4354
  textureBase?: string;
4355
+ /** 指定上方向,对于 obj, ply 等定义不明确的需要指定上方向 */
4356
+ upAxis?: string;
4140
4357
  /** 模型的地理坐标数据 */
4141
4358
  coordinate?: NonNullable<TilesetHeader['rootMeta']>['coordinate'];
4142
4359
  /** 3d tile */
@@ -4147,14 +4364,20 @@ export declare interface WorkModelJson {
4147
4364
  file_url?: string;
4148
4365
  material_textures?: string[];
4149
4366
  material_base_url?: string;
4367
+ up_axis?: string;
4150
4368
  layers?: WorkModelLayerJson[];
4151
4369
  }
4152
4370
 
4153
4371
  export declare interface WorkModelLayer {
4372
+ /** work */
4154
4373
  work: Work;
4374
+ /** 模型类型 point_cloud mesh */
4155
4375
  type: 'point_cloud' | 'mesh';
4376
+ /** 模型名称 */
4156
4377
  name: string;
4378
+ /** 指定上方向 */
4157
4379
  upAxis: string;
4380
+ /** 如果 tileset.json 地址 */
4158
4381
  tileset: string;
4159
4382
  }
4160
4383
 
@@ -4178,22 +4401,24 @@ export declare interface WorkObserver {
4178
4401
  * @example
4179
4402
  * `${workCode}[${panoIndex}]`
4180
4403
  */
4181
- panoId: string;
4404
+ panoId: PanoId;
4182
4405
  /** 点位所在楼层 */
4183
4406
  floorIndex: number;
4184
4407
  /** 点位 derived_id */
4185
- derivedId?: number;
4408
+ derivedId: number;
4186
4409
  /** 点位 derived_id_str */
4187
- derivedIdStr?: string;
4410
+ derivedIdStr: string;
4188
4411
  /** 点位是否激活可用 */
4189
4412
  active: boolean;
4190
4413
  /** 点位是否可加载 */
4191
4414
  loadable: boolean;
4192
4415
  /** 点位全景图 */
4193
4416
  images: WorkImage;
4194
- /** 点位视频 */
4195
- video?: WorkVideo;
4196
- /** 可以看到的相关点位序号 */
4417
+ /**
4418
+ * @deprecated
4419
+ * 可以看到的相关点位序号
4420
+ * 数据和 accessibleNodes 一致,使用 accessibleNodes
4421
+ */
4197
4422
  visibleNodes: readonly number[];
4198
4423
  /** 可以连通的相关点位序号 */
4199
4424
  accessibleNodes: readonly number[];
@@ -4210,6 +4435,8 @@ export declare interface WorkObserver {
4210
4435
  export declare interface WorkObserverJson {
4211
4436
  index: number;
4212
4437
  floor_index: number;
4438
+ derived_id: number;
4439
+ derived_id_str: string;
4213
4440
  position: number[];
4214
4441
  standing_position: number[];
4215
4442
  quaternion: {
@@ -4269,7 +4496,6 @@ export declare type Works = ReadonlyArray<Work> & {
4269
4496
  export declare interface WorksEvent extends BaseEvent {
4270
4497
  input: any;
4271
4498
  works: Works;
4272
- state: Partial<State>;
4273
4499
  userAction: boolean;
4274
4500
  }
4275
4501