@realsee/five 6.7.0-alpha.3 → 6.7.0-alpha.30

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 (211) 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.parseWork.html +1 -1
  58. package/docs/functions/five.workToJson.html +1 -1
  59. package/docs/functions/plugins.DynamicPathLinePlugin.html +1 -0
  60. package/docs/functions/react.withFive.html +1 -1
  61. package/docs/functions/vue.useFiveWorks.html +2 -2
  62. package/docs/hierarchy.html +1 -1
  63. package/docs/interfaces/five.AddableObject.html +1 -1
  64. package/docs/interfaces/five.AjaxOptions.html +1 -1
  65. package/docs/interfaces/five.AnimationFrame.html +3 -2
  66. package/docs/interfaces/five.AnimationFrameContext.html +2 -2
  67. package/docs/interfaces/five.BaseEvent.html +1 -1
  68. package/docs/interfaces/five.EventCallback.html +1 -1
  69. package/docs/interfaces/five.FiveInitArgs.html +3 -3
  70. package/docs/interfaces/five.FiveLoadOptions.html +8 -10
  71. package/docs/interfaces/five.GestureEvent.html +1 -1
  72. package/docs/interfaces/five.ImageOptions.html +1 -1
  73. package/docs/interfaces/five.IntersectEvent.html +1 -1
  74. package/docs/interfaces/five.IntersectMesh.html +2 -2
  75. package/docs/interfaces/five.IntersectMeshInterface.html +1 -1
  76. package/docs/interfaces/five.Intersection.html +1 -1
  77. package/docs/interfaces/five.LoosePanoWork.html +2 -2
  78. package/docs/interfaces/five.LooseWork.html +2 -2
  79. package/docs/interfaces/five.LooseWorkInitial.html +2 -2
  80. package/docs/interfaces/five.LooseWorkModel.html +4 -2
  81. package/docs/interfaces/five.LooseWorkObserver.html +3 -2
  82. package/docs/interfaces/five.LooseWorkPanorama.html +8 -8
  83. package/docs/interfaces/five.LooseWorkWithExtrinsics.html +7 -7
  84. package/docs/interfaces/five.ModeChangeEvent.html +2 -2
  85. package/docs/interfaces/five.ModelControllerCustomInitArgs.html +5 -3
  86. package/docs/interfaces/five.ModelEvent.html +2 -2
  87. package/docs/interfaces/five.ModelOptions.html +11 -0
  88. package/docs/interfaces/five.ModelSceneEvent.html +2 -2
  89. package/docs/interfaces/five.MovePanoOptions.html +9 -7
  90. package/docs/interfaces/five.NetworkAbortError.html +1 -1
  91. package/docs/interfaces/five.NetworkFirbiddenError.html +1 -1
  92. package/docs/interfaces/five.NetworkOptions.html +1 -1
  93. package/docs/interfaces/five.NetworkProxyError.html +1 -1
  94. package/docs/interfaces/five.NetworkResourceEvent.html +2 -2
  95. package/docs/interfaces/five.NetworkResponseError.html +1 -1
  96. package/docs/interfaces/five.NetworkTimeoutError.html +1 -1
  97. package/docs/interfaces/five.ObjectEvent.html +2 -2
  98. package/docs/interfaces/five.PBMMaterial.html +1 -1
  99. package/docs/interfaces/five.PBMMeshMaterialParameters.html +2 -3
  100. package/docs/interfaces/five.PBMPointCloudMaterialParameters.html +2 -3
  101. package/docs/interfaces/five.PanoCircleMeshInterface.html +1 -1
  102. package/docs/interfaces/five.PanoCircleMeshSolidOptions.html +2 -2
  103. package/docs/interfaces/five.PanoEvent.html +1 -1
  104. package/docs/interfaces/five.PanoTextureEvent.html +1 -1
  105. package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +12 -10
  106. package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +5 -3
  107. package/docs/interfaces/five.ParameterMaterialValue.html +29 -31
  108. package/docs/interfaces/five.ParameterTilesetValue.html +15 -16
  109. package/docs/interfaces/five.ParameterValue.html +43 -46
  110. package/docs/interfaces/five.Pass.html +9 -0
  111. package/docs/interfaces/five.Pose.html +1 -1
  112. package/docs/interfaces/five.RenderEvent.html +2 -2
  113. package/docs/interfaces/five.ResolvedParameterValue.html +43 -46
  114. package/docs/interfaces/five.State.html +1 -1
  115. package/docs/interfaces/five.StateEvent.html +1 -1
  116. package/docs/interfaces/five.TextureOptions.html +1 -1
  117. package/docs/interfaces/five.TilesetOptions.html +2 -2
  118. package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +7 -3
  119. package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +12 -10
  120. package/docs/interfaces/five.ViewLayer.html +21 -21
  121. package/docs/interfaces/five.WorkCubeImage.html +2 -2
  122. package/docs/interfaces/five.WorkImage.html +5 -3
  123. package/docs/interfaces/five.WorkInitial.html +8 -8
  124. package/docs/interfaces/five.WorkModel.html +11 -7
  125. package/docs/interfaces/five.WorkModelJson.html +3 -2
  126. package/docs/interfaces/five.WorkModelLayer.html +7 -2
  127. package/docs/interfaces/five.WorkModelLayerJson.html +2 -2
  128. package/docs/interfaces/five.WorkObserver.html +21 -22
  129. package/docs/interfaces/five.WorkObserverJson.html +4 -2
  130. package/docs/interfaces/five.WorkPanoramaJson.html +2 -2
  131. package/docs/interfaces/five.WorkPanoramasJson.html +2 -2
  132. package/docs/interfaces/five.WorkTile.html +4 -4
  133. package/docs/interfaces/five.WorkVideo.html +4 -4
  134. package/docs/interfaces/five.WorksEvent.html +2 -3
  135. package/docs/interfaces/five.XRControllerEvent.html +1 -1
  136. package/docs/interfaces/five.XRGestureEvent.html +1 -1
  137. package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +12 -10
  138. package/docs/interfaces/five.XRSessionEvent.html +1 -1
  139. package/docs/interfaces/plugins.BackgroundPluginController.html +1 -1
  140. package/docs/interfaces/plugins.BackgroundPluginType.EventMap.html +1 -1
  141. package/docs/interfaces/plugins.BasePlugin.State.html +1 -1
  142. package/docs/interfaces/plugins.DynamicPathLinePluginController.html +83 -0
  143. package/docs/interfaces/plugins.DynamicPathLinePluginType.Config.html +36 -0
  144. package/docs/interfaces/plugins.DynamicPathLinePluginType.EventMap.html +26 -0
  145. package/docs/interfaces/plugins.DynamicPathLinePluginType.Params.html +6 -0
  146. package/docs/interfaces/plugins.DynamicPathLinePluginType.PathConfig.html +28 -0
  147. package/docs/interfaces/plugins.DynamicPathLinePluginType.State.html +10 -0
  148. package/docs/interfaces/plugins.ItemMaskController.html +1 -1
  149. package/docs/interfaces/plugins.ItemMaskPluginType.EventMap.html +1 -1
  150. package/docs/interfaces/plugins.ItemMaskPluginType.State.html +1 -1
  151. package/docs/interfaces/plugins.OrientationPluginController.html +1 -1
  152. package/docs/interfaces/plugins.OrientationPluginType.EventMap.html +1 -1
  153. package/docs/interfaces/plugins.OrientationPluginType.State.html +1 -1
  154. package/docs/interfaces/plugins.PanoAnimeController.html +1 -1
  155. package/docs/interfaces/plugins.PanoAnimePluginType.EventMap.html +1 -1
  156. package/docs/interfaces/plugins.PanoAnimePluginType.State.html +1 -1
  157. package/docs/interfaces/plugins.PluginTemplateType.EventMap.html +1 -1
  158. package/docs/interfaces/plugins.PluginTemplateType.State.html +1 -1
  159. package/docs/interfaces/plugins.TrajectoryController.html +1 -1
  160. package/docs/interfaces/react.FiveInjectionTypes.html +4 -4
  161. package/docs/modules/five.html +1 -1
  162. package/docs/modules/plugins.DynamicPathLinePluginType.html +1 -0
  163. package/docs/modules/plugins.html +1 -1
  164. package/docs/types/five.AnimationFrameLoopType.html +1 -1
  165. package/docs/types/five.Models.html +4 -4
  166. package/docs/types/five.MovePanoEffect.html +3 -2
  167. package/docs/types/five.ParseOptions.html +6 -6
  168. package/docs/types/five.PostProcessingType.html +1 -1
  169. package/docs/types/five.RequestAnimationFrameArgs.html +1 -0
  170. package/docs/types/five.TilesetFrameState.html +2 -3
  171. package/docs/types/plugins.BasePlugin.EventMap.html +1 -1
  172. package/docs/types/plugins.DynamicPathLinePluginType.PluginData.html +3 -0
  173. package/docs/types/plugins.DynamicPathLinePluginType.ServerData.html +3 -0
  174. package/docs/types/vue.FiveProviderComponent.html +1 -1
  175. package/five/index.d.ts +317 -85
  176. package/five/index.js +299 -198
  177. package/five/index.mjs +13092 -12692
  178. package/gltf-loader/index.js +3 -3
  179. package/gltf-loader/index.mjs +3 -3
  180. package/line/index.js +3 -3
  181. package/line/index.mjs +3 -3
  182. package/package.json +1 -1
  183. package/plugins/index.d.ts +314 -0
  184. package/plugins/index.js +296 -15
  185. package/plugins/index.mjs +2615 -1503
  186. package/react/index.d.ts +1 -1
  187. package/react/index.js +2 -2
  188. package/react/index.mjs +2 -2
  189. package/shader-lib/index.d.ts +24 -1
  190. package/shader-lib/index.js +22 -13
  191. package/shader-lib/index.mjs +408 -171
  192. package/sticker/index.js +3 -3
  193. package/sticker/index.mjs +3 -3
  194. package/umd/five-gltf-loader.js +3 -3
  195. package/umd/five-line.js +3 -3
  196. package/umd/five-plugins.js +296 -15
  197. package/umd/five-react.js +2 -2
  198. package/umd/five-shader-lib.js +22 -13
  199. package/umd/five-sticker.js +3 -3
  200. package/umd/five-vfx.js +2 -2
  201. package/umd/five-vue.js +2 -2
  202. package/umd/five.js +299 -198
  203. package/vfx/index.js +2 -2
  204. package/vfx/index.mjs +2 -2
  205. package/vue/index.d.ts +1 -1
  206. package/vue/index.js +2 -2
  207. package/vue/index.mjs +2 -2
  208. package/work-downloader/index.js +3 -3
  209. package/work-downloader/index.mjs +309 -257
  210. package/docs/interfaces/five.ModelLike.html +0 -3
  211. 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,8 @@ export declare interface LooseWorkModel {
1865
2005
  file_url?: string;
1866
2006
  material_textures?: string[];
1867
2007
  material_base_url?: string;
2008
+ up_axis?: string;
2009
+ coordinate?: NonNullable<TilesetHeader['rootMeta']>['coordinate'];
1868
2010
  tiles?: {
1869
2011
  type?: 'point_cloud' | 'mesh' | string;
1870
2012
  name?: string;
@@ -1883,6 +2025,7 @@ export declare interface LooseWorkModel {
1883
2025
 
1884
2026
  export declare interface LooseWorkObserver {
1885
2027
  active?: boolean;
2028
+ loadable?: boolean;
1886
2029
  index?: number;
1887
2030
  visible_nodes?: number[];
1888
2031
  visibleNodes?: number[];
@@ -1904,10 +2047,16 @@ export declare interface LooseWorkObserver {
1904
2047
  derived_id_str?: string;
1905
2048
  }
1906
2049
 
1907
- export declare interface LooseWorkPanorama extends Record<CubeFace, string> {
2050
+ export declare interface LooseWorkPanorama {
1908
2051
  active?: boolean;
1909
2052
  loadable?: boolean;
1910
2053
  index?: number;
2054
+ right?: string;
2055
+ left?: string;
2056
+ up?: string;
2057
+ down?: string;
2058
+ front?: string;
2059
+ back?: string;
1911
2060
  video?: LooseWorkVideo;
1912
2061
  tiles?: number[];
1913
2062
  size_list?: number[];
@@ -2044,6 +2193,7 @@ export declare interface Model {
2044
2193
  * 通过 json_xxxxxx(<dataURL>) 方式返回。
2045
2194
  */
2046
2195
  export declare class Model extends THREE_2.Object3D {
2196
+ fiveId: string;
2047
2197
  parent: ModelScene | null;
2048
2198
  needsRender: boolean;
2049
2199
  children: ViewLayer[];
@@ -2065,14 +2215,14 @@ export declare class Model extends THREE_2.Object3D {
2065
2215
  /** 模型细化进度 */
2066
2216
  refineProgress: [number, number];
2067
2217
  /** 初始化完成 */
2068
- initReady: Promise<void>;
2218
+ initReady: Promise<Model>;
2069
2219
  /** 初次加载完成 */
2070
- loadedReady: Promise<void>;
2220
+ loadedReady: Promise<Model>;
2071
2221
  /** 外接盒子的大小 */
2072
2222
  boundingBox: THREE_2.Box3;
2073
2223
  /** 所有楼层 */
2074
2224
  floorLength: number;
2075
- constructor(work: Work, options?: {
2225
+ constructor(fiveId: string, work: Work, options?: {
2076
2226
  light?: boolean;
2077
2227
  textureOptions?: TextureOptions;
2078
2228
  });
@@ -2170,9 +2320,26 @@ export declare interface ModelEvent extends BaseEvent {
2170
2320
  error: Error | null;
2171
2321
  }
2172
2322
 
2173
- export declare interface ModelLike extends THREE_2.Object3D {
2174
- update?(renderer: THREE_2.WebGLRenderer, camera: Camera, modelScene: ModelScene): boolean;
2175
- 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;
2176
2343
  }
2177
2344
 
2178
2345
  export declare type Models = Model[] & {
@@ -2228,13 +2395,48 @@ export declare type Models = Model[] & {
2228
2395
  resetBrightness(): void;
2229
2396
  };
2230
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
+
2231
2431
  export declare class ModelScene extends THREE_2.Scene {
2432
+ fiveId: string;
2232
2433
  needsRender: boolean;
2233
- children: ModelLike[];
2234
2434
  /** 自动细化 */
2235
2435
  autoRefine: boolean;
2236
2436
  /** 包围盒 */
2237
2437
  boundingBox: THREE_2.Box3;
2438
+ /** 包围盒 Mesh */
2439
+ boundingMesh: BoundingMesh;
2238
2440
  /** 加载完成 */
2239
2441
  loaded: boolean;
2240
2442
  /** 细化完成 */
@@ -2245,9 +2447,13 @@ export declare class ModelScene extends THREE_2.Scene {
2245
2447
  parameter: Parameter;
2246
2448
  /** 模型列表 */
2247
2449
  readonly models: Models;
2248
- constructor();
2249
- add(...objects: ModelLike[]): this;
2250
- 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;
2251
2457
  /**
2252
2458
  * 计算模型射线碰撞检测
2253
2459
  * @param raycaster - THREE 射线对象
@@ -2276,6 +2482,7 @@ export declare class ModelScene extends THREE_2.Scene {
2276
2482
  * Use `.parameter.reset('brightness')` instead
2277
2483
  */
2278
2484
  resetBrightness(): void;
2485
+ dispose(): void;
2279
2486
  }
2280
2487
 
2281
2488
  export declare interface ModelSceneEvent extends BaseEvent {
@@ -2333,8 +2540,9 @@ export declare type MotionValue<K extends string> = Record<K, number>;
2333
2540
  * - `spread` 通过扩散方式变化
2334
2541
  * - `zoomin` 通过放大变化
2335
2542
  * - `zoomout` 通过缩小变化
2543
+ * - `model` 通过过度到模型
2336
2544
  */
2337
- export declare type MovePanoEffect = "fly" | "instant" | "fade" | "montage" | "spread" | "zoomin" | "zoomout";
2545
+ export declare type MovePanoEffect = "fly" | "instant" | "fade" | "montage" | "spread" | "zoomin" | "zoomout" | "model";
2338
2546
 
2339
2547
  /**
2340
2548
  * 点位移动参数
@@ -2344,6 +2552,8 @@ export declare interface MovePanoOptions extends Partial<Omit<State, "offset" |
2344
2552
  * 动画模式
2345
2553
  */
2346
2554
  effect?: MovePanoEffect;
2555
+ /** 走点图片过度策略 */
2556
+ effectEasing?: (progress: number) => number;
2347
2557
  /**
2348
2558
  * 运动耗时
2349
2559
  * @description
@@ -2607,7 +2817,9 @@ export declare interface PanoramaControllerCustomInitArgs extends PanoramaLikeCo
2607
2817
  */
2608
2818
  panoTapTriggerRadius?: number;
2609
2819
  /** 地面观察点标识自定义创建器 */
2610
- panoCircleMeshCreator?: (pano: Pano) => PanoCircleMeshInterface;
2820
+ panoCircleMeshCreator?: (observer: WorkObserver, options: {
2821
+ aerialObserverMinHeight: number;
2822
+ }) => PanoCircleMeshInterface;
2611
2823
  /** 基于模型调整 地面观察点 的位置 */
2612
2824
  adjustPanoCircleMeshPositionBasedOnModel?: boolean;
2613
2825
  /**
@@ -2646,6 +2858,8 @@ export declare interface PanoramaLikeControllerCustomInitArgs {
2646
2858
  moveSpeed?: number;
2647
2859
  /** 鼠标焦点环自定义创建器 */
2648
2860
  intersectMeshCreator?: () => IntersectMeshInterface;
2861
+ /** 航拍点最小高度 */
2862
+ aerialObserverMinHeight?: number;
2649
2863
  }
2650
2864
 
2651
2865
  export declare function panoStringify(pano: Pano): PanoId;
@@ -2693,8 +2907,6 @@ declare interface ParameterMaterialValue {
2693
2907
  refinedScreen: PBMRefinedScreen | null;
2694
2908
  /** 模型贴图和全景图的混合程度 [0-1] */
2695
2909
  modelAlpha: number;
2696
- /** 深度写入alpha */
2697
- logDepthAlpha: number;
2698
2910
  /** 全景图混合程度 [0-1] */
2699
2911
  progress: number;
2700
2912
  /** 全景图过度混合 */
@@ -2780,7 +2992,6 @@ export declare interface ParameterTilesetValue {
2780
2992
  requestOrder: TileRequestOrder;
2781
2993
  /** 模型屏幕空间误差计算最大值 */
2782
2994
  maxScreenSpaceError: number;
2783
- memoryAdjustedOverflow: number;
2784
2995
  memoryAdjustedScreenSpaceError: boolean;
2785
2996
  /** 缓存相机 */
2786
2997
  cacheCameras: readonly (Camera | THREE_2.PerspectiveCamera)[];
@@ -2812,6 +3023,19 @@ export declare type ParseOptions = {
2812
3023
  */
2813
3024
  export declare function parseWork(obj: Work | LoosePanoWork | LooseWork | string | any, options?: ParseOptions): Work;
2814
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
+
2815
3039
  export declare type PBMAlphaMode = 'OPAQUE' | 'MASK' | 'BLEND';
2816
3040
 
2817
3041
  export declare interface PBMClipperParameter {
@@ -2968,7 +3192,6 @@ export declare class PBMMeshMaterial extends PBMMaterial implements THREE_2.Mesh
2968
3192
  pano1Depth: PBMPanoDepth | null;
2969
3193
  refinedScreen: PBMRefinedScreen | null;
2970
3194
  modelAlpha: number;
2971
- logDepthAlpha: number;
2972
3195
  progress: number;
2973
3196
  transition: PBMTransition;
2974
3197
  colorStyle: PBMColorStyle;
@@ -3008,7 +3231,6 @@ export declare interface PBMMeshMaterialParameters extends THREE_2.MaterialParam
3008
3231
  pano1?: PBMPanoPicture | null;
3009
3232
  refinedScreen?: PBMRefinedScreen | null;
3010
3233
  modelAlpha?: number;
3011
- logDepthAlpha?: number;
3012
3234
  progress?: number;
3013
3235
  transition?: PBMTransition;
3014
3236
  colorStyle?: PBMColorStyle;
@@ -3074,7 +3296,6 @@ export declare class PBMPointCloudMaterial extends PBMMaterial {
3074
3296
  pointShape: PBMPointShape;
3075
3297
  pointBack: PBMPointBack;
3076
3298
  modelAlpha: number;
3077
- logDepthAlpha: number;
3078
3299
  colorStyle: PBMColorStyle;
3079
3300
  constantColor: THREE_2.Vector3;
3080
3301
  floorIndex: number;
@@ -3114,7 +3335,6 @@ export declare interface PBMPointCloudMaterialParameters extends THREE_2.Materia
3114
3335
  pointShape?: PBMPointShape;
3115
3336
  pointBack?: PBMPointBack;
3116
3337
  modelAlpha?: number;
3117
- logDepthAlpha?: number;
3118
3338
  colorStyle?: PBMColorStyle;
3119
3339
  constantColor?: THREE_2.Vector3;
3120
3340
  floorIndex?: number;
@@ -3210,6 +3430,8 @@ export declare interface RenderEvent extends BaseEvent {
3210
3430
  needsRender: boolean;
3211
3431
  }
3212
3432
 
3433
+ export declare type RequestAnimationFrameArgs<Args extends any[] = any[]> = [domHighResTimeStamp: number, ...args: Args];
3434
+
3213
3435
  export declare interface ResolvedParameterValue extends ParameterValue {
3214
3436
  versions: string[];
3215
3437
  version: string;
@@ -3654,14 +3876,6 @@ declare interface Tile3DOptions {
3654
3876
  export { Tile3DOptions as Tile3DModelLoaderOptions }
3655
3877
  export { Tile3DOptions }
3656
3878
 
3657
- export declare type Tile3dOptions = (Partial<ParameterTilesetValue> & {
3658
- viewerRequestVolume?: BoundingVolume | BoundingVolumeJson;
3659
- showLayers?: boolean | string[];
3660
- }) | ((viewLayer: ViewLayer, model: Model, modelIndex: number) => void | (Partial<ParameterTilesetValue> & {
3661
- viewerRequestVolume?: BoundingVolume | BoundingVolumeJson;
3662
- showLayers?: boolean | string[];
3663
- }));
3664
-
3665
3879
  export declare class TileCache {
3666
3880
  private options;
3667
3881
  private cacheNodeMap;
@@ -3712,11 +3926,12 @@ export declare interface TileHeader {
3712
3926
 
3713
3927
  export declare class TileNode extends THREE_2.Object3D {
3714
3928
  materials: THREE_2.Material[];
3929
+ animations: THREE_2.AnimationClip[];
3715
3930
  pbmObjects: (PBMMesh | PBMSkinnedMesh | PBMPointCloud)[];
3716
3931
  private contentObject;
3717
3932
  private appearMotion;
3718
3933
  private disposers;
3719
- constructor(name: string, contentObject: THREE_2.Object3D, disposer?: () => void);
3934
+ constructor(name: string, contentObject: THREE_2.Object3D, animations: THREE_2.AnimationClip[], disposer?: () => void);
3720
3935
  generateBvhTree(): Promise<this>;
3721
3936
  intersectRaycaster(raycaster: THREE_2.Raycaster, target?: Intersection[]): Intersection[];
3722
3937
  update(renderer: THREE_2.WebGLRenderer, camera: Camera, modelScene: ModelScene, tile3d: Tile3D, tile: Tile, parameterValue: ResolvedParameterValue): boolean;
@@ -3782,6 +3997,9 @@ export declare class Tileset {
3782
3997
  pointLength: number;
3783
3998
  floorLength: number;
3784
3999
  constructor(header: TilesetHeader, options: TilesetOptions);
4000
+ /**
4001
+ * 通过当前的内存使用,推测 maxScreenSpaceError
4002
+ */
3785
4003
  private adjustScreenSpaceError;
3786
4004
  private getTraverser;
3787
4005
  /** Release resources */
@@ -3816,7 +4034,6 @@ export declare type TilesetFrameState = {
3816
4034
  maxRequests: number;
3817
4035
  requestOrder: TileRequestOrder;
3818
4036
  maxScreenSpaceError: number;
3819
- memoryAdjustedOverflow: number;
3820
4037
  memoryAdjustedScreenSpaceError: boolean;
3821
4038
  maxMemoryUsage: number;
3822
4039
  };
@@ -3901,7 +4118,7 @@ export declare interface TilesetOptions {
3901
4118
  onTrajectoryError: (trajectory: Trajectory, error: Error) => any;
3902
4119
  }
3903
4120
 
3904
- export declare interface TopviewControllerCustomInitArgs extends Omit<FloorplanControllerCustomInitArgs, "defaultLongitude" | "defaultLatitude" | "maxLatitude" | "minLatitude"> {
4121
+ export declare interface TopviewControllerCustomInitArgs extends Omit<FloorplanControllerCustomInitArgs, "maxLatitude" | "minLatitude"> {
3905
4122
  }
3906
4123
 
3907
4124
  export declare class Trajectory {
@@ -4079,6 +4296,8 @@ export declare interface WorkImage extends WorkCubeImage {
4079
4296
  sizeList: readonly number[];
4080
4297
  /** 瓦片信息 */
4081
4298
  tiles: readonly WorkTile[];
4299
+ /** 点位视频 */
4300
+ video?: WorkVideo;
4082
4301
  }
4083
4302
 
4084
4303
  /** 初始化位姿参数 */
@@ -4133,6 +4352,10 @@ export declare interface WorkModel {
4133
4352
  textures?: readonly string[];
4134
4353
  /** 模型贴图文件地址的父目录 */
4135
4354
  textureBase?: string;
4355
+ /** 指定上方向,对于 obj, ply 等定义不明确的需要指定上方向 */
4356
+ upAxis?: string;
4357
+ /** 模型的地理坐标数据 */
4358
+ coordinate?: NonNullable<TilesetHeader['rootMeta']>['coordinate'];
4136
4359
  /** 3d tile */
4137
4360
  layers: readonly WorkModelLayer[];
4138
4361
  }
@@ -4141,14 +4364,20 @@ export declare interface WorkModelJson {
4141
4364
  file_url?: string;
4142
4365
  material_textures?: string[];
4143
4366
  material_base_url?: string;
4367
+ up_axis?: string;
4144
4368
  layers?: WorkModelLayerJson[];
4145
4369
  }
4146
4370
 
4147
4371
  export declare interface WorkModelLayer {
4372
+ /** work */
4148
4373
  work: Work;
4374
+ /** 模型类型 point_cloud mesh */
4149
4375
  type: 'point_cloud' | 'mesh';
4376
+ /** 模型名称 */
4150
4377
  name: string;
4378
+ /** 指定上方向 */
4151
4379
  upAxis: string;
4380
+ /** 如果 tileset.json 地址 */
4152
4381
  tileset: string;
4153
4382
  }
4154
4383
 
@@ -4172,22 +4401,24 @@ export declare interface WorkObserver {
4172
4401
  * @example
4173
4402
  * `${workCode}[${panoIndex}]`
4174
4403
  */
4175
- panoId: string;
4404
+ panoId: PanoId;
4176
4405
  /** 点位所在楼层 */
4177
4406
  floorIndex: number;
4178
4407
  /** 点位 derived_id */
4179
- derivedId?: number;
4408
+ derivedId: number;
4180
4409
  /** 点位 derived_id_str */
4181
- derivedIdStr?: string;
4410
+ derivedIdStr: string;
4182
4411
  /** 点位是否激活可用 */
4183
4412
  active: boolean;
4184
4413
  /** 点位是否可加载 */
4185
4414
  loadable: boolean;
4186
4415
  /** 点位全景图 */
4187
4416
  images: WorkImage;
4188
- /** 点位视频 */
4189
- video?: WorkVideo;
4190
- /** 可以看到的相关点位序号 */
4417
+ /**
4418
+ * @deprecated
4419
+ * 可以看到的相关点位序号
4420
+ * 数据和 accessibleNodes 一致,使用 accessibleNodes
4421
+ */
4191
4422
  visibleNodes: readonly number[];
4192
4423
  /** 可以连通的相关点位序号 */
4193
4424
  accessibleNodes: readonly number[];
@@ -4204,6 +4435,8 @@ export declare interface WorkObserver {
4204
4435
  export declare interface WorkObserverJson {
4205
4436
  index: number;
4206
4437
  floor_index: number;
4438
+ derived_id: number;
4439
+ derived_id_str: string;
4207
4440
  position: number[];
4208
4441
  standing_position: number[];
4209
4442
  quaternion: {
@@ -4263,7 +4496,6 @@ export declare type Works = ReadonlyArray<Work> & {
4263
4496
  export declare interface WorksEvent extends BaseEvent {
4264
4497
  input: any;
4265
4498
  works: Works;
4266
- state: Partial<State>;
4267
4499
  userAction: boolean;
4268
4500
  }
4269
4501