@realsee/five-webgpu 1.0.0-alpha.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 (674) hide show
  1. package/AGENTS_READ_ME.md +9 -0
  2. package/AI_CONTEXT.md +9 -0
  3. package/README.md +80 -0
  4. package/TERMS.txt +54 -0
  5. package/ai_guides/README.md +118 -0
  6. package/ai_guides/ai-doc-guidelines.md +102 -0
  7. package/ai_guides/api.md +274 -0
  8. package/ai_guides/features/3dtile.md +172 -0
  9. package/ai_guides/features/camera-animation.md +205 -0
  10. package/ai_guides/features/clipper.md +135 -0
  11. package/ai_guides/features/coordinate-system.md +128 -0
  12. package/ai_guides/features/event.md +154 -0
  13. package/ai_guides/features/five.md +184 -0
  14. package/ai_guides/features/gesture.md +181 -0
  15. package/ai_guides/features/get-screen-pixels.md +182 -0
  16. package/ai_guides/features/image-options.md +164 -0
  17. package/ai_guides/features/load-external-model.md +350 -0
  18. package/ai_guides/features/load-progress.md +140 -0
  19. package/ai_guides/features/material.md +153 -0
  20. package/ai_guides/features/mode.md +269 -0
  21. package/ai_guides/features/model.md +186 -0
  22. package/ai_guides/features/move-pano-effect.md +145 -0
  23. package/ai_guides/features/multi-work.md +146 -0
  24. package/ai_guides/features/pano-filter.md +144 -0
  25. package/ai_guides/features/pano-tile.md +132 -0
  26. package/ai_guides/features/pano-uv.md +131 -0
  27. package/ai_guides/features/parameter.md +153 -0
  28. package/ai_guides/features/raycast.md +175 -0
  29. package/ai_guides/features/request-proxy.md +112 -0
  30. package/ai_guides/features/screen-project.md +165 -0
  31. package/ai_guides/features/state.md +101 -0
  32. package/ai_guides/features/ultra-hdr.md +204 -0
  33. package/ai_guides/features/view-layer.md +187 -0
  34. package/ai_guides/features/work.md +303 -0
  35. package/ai_guides/glossary.md +93 -0
  36. package/ai_guides/intro.md +23 -0
  37. package/ai_guides/quick-start.md +69 -0
  38. package/ai_guides/release_notes/6.6.md +86 -0
  39. package/ai_guides/release_notes/6.7.md +401 -0
  40. package/ai_guides/release_notes/6.8.md +208 -0
  41. package/ai_guides/support.md +23 -0
  42. package/ai_guides/template.md +70 -0
  43. package/docs/.nojekyll +1 -0
  44. package/docs/00_FOR_AI_AGENTS.md +12 -0
  45. package/docs/README.md +12 -0
  46. package/docs/assets/hierarchy.js +1 -0
  47. package/docs/assets/highlight.css +134 -0
  48. package/docs/assets/icons.js +18 -0
  49. package/docs/assets/icons.svg +1 -0
  50. package/docs/assets/main.js +60 -0
  51. package/docs/assets/navigation.js +1 -0
  52. package/docs/assets/search.js +1 -0
  53. package/docs/assets/style.css +1633 -0
  54. package/docs/classes/index.AdaptiveLuminancePass.html +23 -0
  55. package/docs/classes/index.AnimationFrameLoop.html +18 -0
  56. package/docs/classes/index.BoundingMesh.html +4 -0
  57. package/docs/classes/index.Camera.html +42 -0
  58. package/docs/classes/index.EffectComposer.html +25 -0
  59. package/docs/classes/index.EyeDomeLightingPass.html +20 -0
  60. package/docs/classes/index.Fetcher.html +5 -0
  61. package/docs/classes/index.Five.html +311 -0
  62. package/docs/classes/index.FivePass.html +17 -0
  63. package/docs/classes/index.FiveRenderer.html +8 -0
  64. package/docs/classes/index.FlowingFireworks3DPass.html +22 -0
  65. package/docs/classes/index.FlowingLight2DPass.html +21 -0
  66. package/docs/classes/index.FlowingLight3DPass.html +23 -0
  67. package/docs/classes/index.FullScreenQuad.html +7 -0
  68. package/docs/classes/index.GaussianBlurPass.html +19 -0
  69. package/docs/classes/index.Histogram.html +19 -0
  70. package/docs/classes/index.InternalWebGPURenderer.html +4 -0
  71. package/docs/classes/index.Model.html +93 -0
  72. package/docs/classes/index.ModelScene.html +40 -0
  73. package/docs/classes/index.Motion.html +17 -0
  74. package/docs/classes/index.NetworkSubscribe.html +41 -0
  75. package/docs/classes/index.PBMGaussianSplattingNodeMaterial.html +37 -0
  76. package/docs/classes/index.PBMGaussianSplattingObject.html +32 -0
  77. package/docs/classes/index.PBMGaussianSplattingRenderMesh.html +19 -0
  78. package/docs/classes/index.PBMGroup.html +5 -0
  79. package/docs/classes/index.PBMMesh.html +2 -0
  80. package/docs/classes/index.PBMMeshBasicMaterial.html +70 -0
  81. package/docs/classes/index.PBMMeshBasicNodeMaterial.html +74 -0
  82. package/docs/classes/index.PBMMeshPanoOnlyMaterial.html +70 -0
  83. package/docs/classes/index.PBMMeshPanoOnlyNodeMaterial.html +74 -0
  84. package/docs/classes/index.PBMMeshPhongMaterial.html +69 -0
  85. package/docs/classes/index.PBMMeshPhongNodeMaterial.html +73 -0
  86. package/docs/classes/index.PBMMeshPhysicalMaterial.html +69 -0
  87. package/docs/classes/index.PBMMeshPhysicalNodeMaterial.html +73 -0
  88. package/docs/classes/index.PBMPanoFilter.html +61 -0
  89. package/docs/classes/index.PBMPointCloud.html +50 -0
  90. package/docs/classes/index.PBMSkinnedMesh.html +8 -0
  91. package/docs/classes/index.PBMUpdateable.html +41 -0
  92. package/docs/classes/index.PanoCircleMesh.html +30 -0
  93. package/docs/classes/index.PanoCircleMeshCustom.html +30 -0
  94. package/docs/classes/index.PanoCircleMeshSolid.html +30 -0
  95. package/docs/classes/index.Parameter.html +114 -0
  96. package/docs/classes/index.Scene.html +18 -0
  97. package/docs/classes/index.Subscribe.html +43 -0
  98. package/docs/classes/index.TextureLoader.html +4 -0
  99. package/docs/classes/index.Tile.html +34 -0
  100. package/docs/classes/index.Tile3D.html +98 -0
  101. package/docs/classes/index.TileCache.html +8 -0
  102. package/docs/classes/index.TileNode.html +14 -0
  103. package/docs/classes/index.TileRequestScheduler.html +4 -0
  104. package/docs/classes/index.Tileset.html +38 -0
  105. package/docs/classes/index.Trajectory.html +8 -0
  106. package/docs/classes/index.TrajectoryNode.html +8 -0
  107. package/docs/classes/index.Work.html +52 -0
  108. package/docs/classes/index.WorkResolvedObserver.html +68 -0
  109. package/docs/documents/README.html +134 -0
  110. package/docs/documents/ai-doc-guidelines.html +117 -0
  111. package/docs/documents/api.html +337 -0
  112. package/docs/documents/features_3dtile.html +216 -0
  113. package/docs/documents/features_camera-animation.html +157 -0
  114. package/docs/documents/features_clipper.html +80 -0
  115. package/docs/documents/features_coordinate-system.html +127 -0
  116. package/docs/documents/features_event.html +104 -0
  117. package/docs/documents/features_five.html +147 -0
  118. package/docs/documents/features_gesture.html +121 -0
  119. package/docs/documents/features_get-screen-pixels.html +88 -0
  120. package/docs/documents/features_image-options.html +108 -0
  121. package/docs/documents/features_load-external-model.html +600 -0
  122. package/docs/documents/features_load-progress.html +110 -0
  123. package/docs/documents/features_material.html +341 -0
  124. package/docs/documents/features_mode.html +114 -0
  125. package/docs/documents/features_model.html +141 -0
  126. package/docs/documents/features_move-pano-effect.html +110 -0
  127. package/docs/documents/features_multi-work.html +97 -0
  128. package/docs/documents/features_pano-filter.html +119 -0
  129. package/docs/documents/features_pano-tile.html +100 -0
  130. package/docs/documents/features_pano-uv.html +82 -0
  131. package/docs/documents/features_parameter.html +101 -0
  132. package/docs/documents/features_raycast.html +98 -0
  133. package/docs/documents/features_request-proxy.html +78 -0
  134. package/docs/documents/features_screen-project.html +112 -0
  135. package/docs/documents/features_state.html +71 -0
  136. package/docs/documents/features_ultra-hdr.html +188 -0
  137. package/docs/documents/features_view-layer.html +158 -0
  138. package/docs/documents/features_work.html +129 -0
  139. package/docs/documents/glossary.html +94 -0
  140. package/docs/documents/intro.html +24 -0
  141. package/docs/documents/quick-start.html +32 -0
  142. package/docs/documents/release_notes_6.6.html +79 -0
  143. package/docs/documents/release_notes_6.7.html +209 -0
  144. package/docs/documents/release_notes_6.8.html +189 -0
  145. package/docs/documents/support.html +49 -0
  146. package/docs/documents/template.html +80 -0
  147. package/docs/enums/index.VolumePlaneIntersect.html +4 -0
  148. package/docs/functions/index.coordinatesToVector.html +2 -0
  149. package/docs/functions/index.createDebugBoundingMesh.html +1 -0
  150. package/docs/functions/index.createWorks.html +1 -0
  151. package/docs/functions/index.defaultImageURLTransform.html +5 -0
  152. package/docs/functions/index.getViewportScale.html +1 -0
  153. package/docs/functions/index.headingToLongitude.html +4 -0
  154. package/docs/functions/index.imageSupport.html +1 -0
  155. package/docs/functions/index.isBoundingVolume.html +1 -0
  156. package/docs/functions/index.isPanoId.html +1 -0
  157. package/docs/functions/index.loadAt3d.html +1 -0
  158. package/docs/functions/index.loadDome.html +1 -0
  159. package/docs/functions/index.loadDomez.html +1 -0
  160. package/docs/functions/index.loadGltf.html +1 -0
  161. package/docs/functions/index.loadPbm.html +1 -0
  162. package/docs/functions/index.loadPly.html +1 -0
  163. package/docs/functions/index.longitudeToHeading.html +4 -0
  164. package/docs/functions/index.makeBoundingVolume.html +1 -0
  165. package/docs/functions/index.panoEqual.html +1 -0
  166. package/docs/functions/index.panoParse.html +1 -0
  167. package/docs/functions/index.panoStringify.html +1 -0
  168. package/docs/functions/index.parseWork.html +7 -0
  169. package/docs/functions/index.registerPBMMaterials.html +3 -0
  170. package/docs/functions/index.vectorToCoordinates.html +2 -0
  171. package/docs/functions/index.workToJson.html +1 -0
  172. package/docs/hierarchy.html +1 -0
  173. package/docs/index.html +134 -0
  174. package/docs/interfaces/index.AddableObject.html +9 -0
  175. package/docs/interfaces/index.AjaxOptions.html +9 -0
  176. package/docs/interfaces/index.AnimationFrame.html +6 -0
  177. package/docs/interfaces/index.AnimationFrameContext.html +3 -0
  178. package/docs/interfaces/index.BaseEvent.html +5 -0
  179. package/docs/interfaces/index.BoundingVolume.html +15 -0
  180. package/docs/interfaces/index.BoxBoundingVolume.html +18 -0
  181. package/docs/interfaces/index.CameraPose.html +6 -0
  182. package/docs/interfaces/index.CullingVolume.html +9 -0
  183. package/docs/interfaces/index.Draco.html +12 -0
  184. package/docs/interfaces/index.EventCallback.html +394 -0
  185. package/docs/interfaces/index.FiveInitArgs.html +104 -0
  186. package/docs/interfaces/index.FiveLoadOptions.html +12 -0
  187. package/docs/interfaces/index.FloorplanControllerCustomInitArgs.html +17 -0
  188. package/docs/interfaces/index.GestureEvent.html +19 -0
  189. package/docs/interfaces/index.IPBMMaterial.html +64 -0
  190. package/docs/interfaces/index.ImageOptions.html +21 -0
  191. package/docs/interfaces/index.ImageURLMappings.html +1 -0
  192. package/docs/interfaces/index.ImageURLOptions.html +17 -0
  193. package/docs/interfaces/index.IntersectEvent.html +8 -0
  194. package/docs/interfaces/index.IntersectMesh.html +2 -0
  195. package/docs/interfaces/index.IntersectMeshInterface.html +3 -0
  196. package/docs/interfaces/index.Intersection.html +9 -0
  197. package/docs/interfaces/index.LoosePanoWork.html +10 -0
  198. package/docs/interfaces/index.LooseWork.html +15 -0
  199. package/docs/interfaces/index.LooseWorkInitial.html +11 -0
  200. package/docs/interfaces/index.LooseWorkModel.html +8 -0
  201. package/docs/interfaces/index.LooseWorkObserver.html +17 -0
  202. package/docs/interfaces/index.LooseWorkPanorama.html +22 -0
  203. package/docs/interfaces/index.LooseWorkVideo.html +4 -0
  204. package/docs/interfaces/index.LooseWorkWithExtrinsics.html +15 -0
  205. package/docs/interfaces/index.MapviewControllerCustomInitArgs.html +20 -0
  206. package/docs/interfaces/index.ModeChangeEvent.html +9 -0
  207. package/docs/interfaces/index.ModelControllerCustomInitArgs.html +20 -0
  208. package/docs/interfaces/index.ModelEvent.html +8 -0
  209. package/docs/interfaces/index.ModelOptions.html +11 -0
  210. package/docs/interfaces/index.ModelSceneEvent.html +6 -0
  211. package/docs/interfaces/index.ModelTileEvent.html +8 -0
  212. package/docs/interfaces/index.MotionKeyframe.html +4 -0
  213. package/docs/interfaces/index.MovePanoOptions.html +35 -0
  214. package/docs/interfaces/index.NetworkAbortError.html +1 -0
  215. package/docs/interfaces/index.NetworkFirbiddenError.html +1 -0
  216. package/docs/interfaces/index.NetworkOptions.html +7 -0
  217. package/docs/interfaces/index.NetworkProxyError.html +1 -0
  218. package/docs/interfaces/index.NetworkResourceEvent.html +9 -0
  219. package/docs/interfaces/index.NetworkResponseError.html +2 -0
  220. package/docs/interfaces/index.NetworkTimeoutError.html +1 -0
  221. package/docs/interfaces/index.ObjectEvent.html +6 -0
  222. package/docs/interfaces/index.PBMClipperParameter.html +3 -0
  223. package/docs/interfaces/index.PBMHDRConfig.html +12 -0
  224. package/docs/interfaces/index.PBMPanoDepth.html +9 -0
  225. package/docs/interfaces/index.PBMPanoFilterValue.html +6 -0
  226. package/docs/interfaces/index.PBMPanoPicture.html +14 -0
  227. package/docs/interfaces/index.PBMRefinedScreen.html +6 -0
  228. package/docs/interfaces/index.PanoCircleMeshCustomOptions.html +9 -0
  229. package/docs/interfaces/index.PanoCircleMeshInterface.html +30 -0
  230. package/docs/interfaces/index.PanoCircleMeshOptions.html +3 -0
  231. package/docs/interfaces/index.PanoCircleMeshSolidOptions.html +3 -0
  232. package/docs/interfaces/index.PanoEvent.html +11 -0
  233. package/docs/interfaces/index.PanoTextureEvent.html +9 -0
  234. package/docs/interfaces/index.PanoramaControllerCustomInitArgs.html +41 -0
  235. package/docs/interfaces/index.PanoramaLikeControllerCustomInitArgs.html +20 -0
  236. package/docs/interfaces/index.ParameterMaterialValue.html +74 -0
  237. package/docs/interfaces/index.ParameterTilesetValue.html +30 -0
  238. package/docs/interfaces/index.ParameterValue.html +103 -0
  239. package/docs/interfaces/index.Pass.html +9 -0
  240. package/docs/interfaces/index.PointCloudData.html +6 -0
  241. package/docs/interfaces/index.Pose.html +12 -0
  242. package/docs/interfaces/index.RegionBoundingVolume.html +21 -0
  243. package/docs/interfaces/index.RenderEvent.html +6 -0
  244. package/docs/interfaces/index.ResolvedParameterValue.html +104 -0
  245. package/docs/interfaces/index.RgbaData.html +7 -0
  246. package/docs/interfaces/index.SphereBoundingVolume.html +17 -0
  247. package/docs/interfaces/index.SplatData.html +10 -0
  248. package/docs/interfaces/index.State.html +23 -0
  249. package/docs/interfaces/index.StateEvent.html +7 -0
  250. package/docs/interfaces/index.TextureOptions.html +23 -0
  251. package/docs/interfaces/index.Tile3DOptions.html +11 -0
  252. package/docs/interfaces/index.TileCoordinateSystem.html +3 -0
  253. package/docs/interfaces/index.TileHeader.html +9 -0
  254. package/docs/interfaces/index.TilesetHeader.html +20 -0
  255. package/docs/interfaces/index.TilesetOptions.html +7 -0
  256. package/docs/interfaces/index.TopviewControllerCustomInitArgs.html +13 -0
  257. package/docs/interfaces/index.TrajectoryHeader.html +5 -0
  258. package/docs/interfaces/index.ViewLayer.html +97 -0
  259. package/docs/interfaces/index.Viewport.html +13 -0
  260. package/docs/interfaces/index.WebXRAxesParams.html +4 -0
  261. package/docs/interfaces/index.WebXRControllerParams.html +2 -0
  262. package/docs/interfaces/index.WorkCubeImage.html +15 -0
  263. package/docs/interfaces/index.WorkImage.html +22 -0
  264. package/docs/interfaces/index.WorkInitial.html +17 -0
  265. package/docs/interfaces/index.WorkInitialJson.html +8 -0
  266. package/docs/interfaces/index.WorkJson.html +11 -0
  267. package/docs/interfaces/index.WorkModel.html +16 -0
  268. package/docs/interfaces/index.WorkModelJson.html +6 -0
  269. package/docs/interfaces/index.WorkModelLayer.html +11 -0
  270. package/docs/interfaces/index.WorkModelLayerJson.html +5 -0
  271. package/docs/interfaces/index.WorkObserver.html +63 -0
  272. package/docs/interfaces/index.WorkObserverJson.html +10 -0
  273. package/docs/interfaces/index.WorkPanoramaJson.html +14 -0
  274. package/docs/interfaces/index.WorkPanoramasJson.html +3 -0
  275. package/docs/interfaces/index.WorkTile.html +21 -0
  276. package/docs/interfaces/index.WorkVideo.html +9 -0
  277. package/docs/interfaces/index.WorksEvent.html +8 -0
  278. package/docs/interfaces/index.XRControllerEvent.html +8 -0
  279. package/docs/interfaces/index.XRGestureEvent.html +11 -0
  280. package/docs/interfaces/index.XRSessionEvent.html +7 -0
  281. package/docs/modules/index.html +1 -0
  282. package/docs/modules.html +1 -0
  283. package/docs/types/index.AjaxResponseType.html +1 -0
  284. package/docs/types/index.AjaxResponseTypeMapping.html +1 -0
  285. package/docs/types/index.AnimationFrameLoopType.html +1 -0
  286. package/docs/types/index.BoundingVolumeJson.html +1 -0
  287. package/docs/types/index.BoxBoundingVolumeJson.html +2 -0
  288. package/docs/types/index.ControllerCustomInitTypes.html +6 -0
  289. package/docs/types/index.ControllerEventTypes.html +68 -0
  290. package/docs/types/index.CubeFace.html +1 -0
  291. package/docs/types/index.EasingFunction.html +1 -0
  292. package/docs/types/index.EventTypes.html +28 -0
  293. package/docs/types/index.FivePlugin.html +4 -0
  294. package/docs/types/index.FivePluginInit.html +3 -0
  295. package/docs/types/index.FivePluginInstance.html +3 -0
  296. package/docs/types/index.FlowingFireworks3DPassLine.html +16 -0
  297. package/docs/types/index.FlowingLight2DPassLine.html +10 -0
  298. package/docs/types/index.FlowingLight3DPassLine.html +10 -0
  299. package/docs/types/index.GestureTypes.html +1 -0
  300. package/docs/types/index.LegacyEventType.html +282 -0
  301. package/docs/types/index.LoadResultType.html +12 -0
  302. package/docs/types/index.Mode.html +15 -0
  303. package/docs/types/index.Models.html +11 -0
  304. package/docs/types/index.MotionCircle.html +2 -0
  305. package/docs/types/index.MotionConfig.html +1 -0
  306. package/docs/types/index.MotionInitalValue.html +1 -0
  307. package/docs/types/index.MotionValue.html +1 -0
  308. package/docs/types/index.MovePanoEffect.html +12 -0
  309. package/docs/types/index.NetWorkMeta.html +8 -0
  310. package/docs/types/index.NetworkError.html +1 -0
  311. package/docs/types/index.NetworkErrorCallback.html +1 -0
  312. package/docs/types/index.NetworkProgressCallback.html +1 -0
  313. package/docs/types/index.NetworkResponse.html +3 -0
  314. package/docs/types/index.NetworkState.html +1 -0
  315. package/docs/types/index.NetworkSuccessCallback.html +1 -0
  316. package/docs/types/index.NetworkType.html +1 -0
  317. package/docs/types/index.OutputTextureDataType.html +1 -0
  318. package/docs/types/index.PBMAlphaMode.html +1 -0
  319. package/docs/types/index.PBMColorStyle.html +1 -0
  320. package/docs/types/index.PBMFloorStyle.html +1 -0
  321. package/docs/types/index.PBMMeshMaterial.html +1 -0
  322. package/docs/types/index.PBMPointBack.html +1 -0
  323. package/docs/types/index.PBMPointCloudShaderType.html +1 -0
  324. package/docs/types/index.PBMPointShape.html +1 -0
  325. package/docs/types/index.PBMPointSize.html +1 -0
  326. package/docs/types/index.PBMTransition.html +1 -0
  327. package/docs/types/index.Pano.html +3 -0
  328. package/docs/types/index.PanoId.html +1 -0
  329. package/docs/types/index.ParseOptions.html +13 -0
  330. package/docs/types/index.PostProcessingType.html +1 -0
  331. package/docs/types/index.RegionBoundingVolumeJson.html +2 -0
  332. package/docs/types/index.RequestAnimationFrameArgs.html +1 -0
  333. package/docs/types/index.Scissor.html +2 -0
  334. package/docs/types/index.SphereBoundingVolumeJson.html +2 -0
  335. package/docs/types/index.SubscribeEventMap.html +1 -0
  336. package/docs/types/index.TileCacheOptions.html +3 -0
  337. package/docs/types/index.TileContentData.html +6 -0
  338. package/docs/types/index.TileRequestOrder.html +1 -0
  339. package/docs/types/index.TileRequestSchedulerOptions.html +4 -0
  340. package/docs/types/index.TilesetFrameState.html +21 -0
  341. package/docs/types/index.TrajectoryContentData.html +7 -0
  342. package/docs/types/index.WebXRControllerKey.html +1 -0
  343. package/docs/types/index.WebXRControllerType.html +1 -0
  344. package/docs/types/index.Works.html +1 -0
  345. package/docs/variables/index.PROXY_CONTROLLER_EVENT_NAMES.html +1 -0
  346. package/docs/variables/index.controllersDefaultInitArgs.html +1 -0
  347. package/docs/variables/index.draco.html +1 -0
  348. package/five/application/analysis.d.ts +40 -0
  349. package/five/application/controllers.d.ts +33 -0
  350. package/five/application/events-legacy.d.ts +454 -0
  351. package/five/application/events.d.ts +69 -0
  352. package/five/application/five.d.ts +498 -0
  353. package/five/application/fiveInitArgs.d.ts +173 -0
  354. package/five/application/fiveLoadOptions.d.ts +21 -0
  355. package/five/application/generateDefaultVideoElement.d.ts +2 -0
  356. package/five/application/getViewportScale.d.ts +2 -0
  357. package/five/application/initLights.d.ts +3 -0
  358. package/five/application/mode.d.ts +24 -0
  359. package/five/application/renderPoweredByRealsee.d.ts +3 -0
  360. package/five/assets/cardboard-png-data-url.d.ts +2 -0
  361. package/five/assets/gradient-png-data-url.d.ts +2 -0
  362. package/five/assets/loading-png-data-url.d.ts +2 -0
  363. package/five/assets/phone-png-data-url.d.ts +2 -0
  364. package/five/assets/realsee-pmg-data-url.d.ts +2 -0
  365. package/five/bvh/bvhMath.d.ts +33 -0
  366. package/five/bvh/bvhMesh.d.ts +7 -0
  367. package/five/bvh/bvhNode.d.ts +29 -0
  368. package/five/bvh/bvhObject.d.ts +19 -0
  369. package/five/bvh/bvhPoints.d.ts +6 -0
  370. package/five/bvh/index.d.ts +14 -0
  371. package/five/bvh/type.d.ts +1 -0
  372. package/five/bvh/worker.d.ts +36 -0
  373. package/five/certificates/hardware.d.ts +1 -0
  374. package/five/controllers/base.d.ts +166 -0
  375. package/five/controllers/events.d.ts +71 -0
  376. package/five/controllers/floorplan.d.ts +119 -0
  377. package/five/controllers/mapview.d.ts +138 -0
  378. package/five/controllers/model.d.ts +57 -0
  379. package/five/controllers/panorama.d.ts +143 -0
  380. package/five/controllers/panoramaLike.d.ts +87 -0
  381. package/five/controllers/topview.d.ts +42 -0
  382. package/five/core/camera.d.ts +65 -0
  383. package/five/core/internalWebGPURenderer.d.ts +13 -0
  384. package/five/core/panoVideo.d.ts +18 -0
  385. package/five/core/scene.d.ts +10 -0
  386. package/five/core/tiling.d.ts +56 -0
  387. package/five/declare.d.ts +35 -0
  388. package/five/gaussian-splatting/util/renderData.d.ts +66 -0
  389. package/five/gaussian-splatting/wasm/data.d.ts +20 -0
  390. package/five/gaussian-splatting/wasm/sort.d.ts +18 -0
  391. package/five/gaussian-splatting/worker/dataWorker.d.ts +1 -0
  392. package/five/gaussian-splatting/worker/sortWorker.d.ts +1 -0
  393. package/five/index.d.ts +58 -0
  394. package/five/index.js +1179 -0
  395. package/five/index.mjs +25111 -0
  396. package/five/meshes/boundingMesh.d.ts +12 -0
  397. package/five/meshes/intersectMesh.d.ts +8 -0
  398. package/five/meshes/panoCircleMesh.d.ts +36 -0
  399. package/five/meshes/panoCircleMeshCustom.d.ts +40 -0
  400. package/five/meshes/panoCircleMeshSolid.d.ts +35 -0
  401. package/five/meshes/panoSphereMesh.d.ts +29 -0
  402. package/five/model/helpers/coordinate-transform.d.ts +3 -0
  403. package/five/model/helpers/ellipsoid-coordinates.d.ts +14 -0
  404. package/five/model/helpers/get-edges-by-sphere.d.ts +8 -0
  405. package/five/model/helpers/get-recommend-tile3d-parameters.d.ts +8 -0
  406. package/five/model/index.d.ts +55 -0
  407. package/five/model/intersection.d.ts +18 -0
  408. package/five/model/loaders/at3d.d.ts +12 -0
  409. package/five/model/loaders/b3dm.d.ts +10 -0
  410. package/five/model/loaders/dome.d.ts +22 -0
  411. package/five/model/loaders/domez.d.ts +11 -0
  412. package/five/model/loaders/fbx.d.ts +8 -0
  413. package/five/model/loaders/glTF-helpers/extensions/CESIUM_RTC.d.ts +9 -0
  414. package/five/model/loaders/glTF-helpers/extensions/EXT_meshopt_compression.d.ts +8 -0
  415. package/five/model/loaders/glTF-helpers/extensions/EXT_texture_webp.d.ts +11 -0
  416. package/five/model/loaders/glTF-helpers/extensions/KHR_animation_pointer.d.ts +6 -0
  417. package/five/model/loaders/glTF-helpers/extensions/KHR_binary_glTF.d.ts +25 -0
  418. package/five/model/loaders/glTF-helpers/extensions/KHR_draco_mesh_compression.d.ts +11 -0
  419. package/five/model/loaders/glTF-helpers/extensions/KHR_gaussian_splatting.d.ts +26 -0
  420. package/five/model/loaders/glTF-helpers/extensions/KHR_gaussian_splatting_compression_spz.d.ts +11 -0
  421. package/five/model/loaders/glTF-helpers/extensions/KHR_gaussian_splatting_compression_spz_2.d.ts +13 -0
  422. package/five/model/loaders/glTF-helpers/extensions/KHR_materials_clearcoat.d.ts +10 -0
  423. package/five/model/loaders/glTF-helpers/extensions/KHR_materials_emissive_strength.d.ts +10 -0
  424. package/five/model/loaders/glTF-helpers/extensions/KHR_materials_sheen.d.ts +10 -0
  425. package/five/model/loaders/glTF-helpers/extensions/KHR_materials_transmission.d.ts +10 -0
  426. package/five/model/loaders/glTF-helpers/extensions/KHR_materials_unlit.d.ts +12 -0
  427. package/five/model/loaders/glTF-helpers/extensions/KHR_mesh_quantization.d.ts +6 -0
  428. package/five/model/loaders/glTF-helpers/extensions/KHR_node_visibility.d.ts +10 -0
  429. package/five/model/loaders/glTF-helpers/extensions/KHR_texture_basisu.d.ts +9 -0
  430. package/five/model/loaders/glTF-helpers/extensions/KHR_texture_transform.d.ts +10 -0
  431. package/five/model/loaders/glTF-helpers/extensions/REALSEE_materials_lightmap.d.ts +7 -0
  432. package/five/model/loaders/glTF-helpers/extensions/base.d.ts +25 -0
  433. package/five/model/loaders/glTF-helpers/glTF.d.ts +713 -0
  434. package/five/model/loaders/glTF-helpers/index.d.ts +51 -0
  435. package/five/model/loaders/glTF-helpers/parser.d.ts +115 -0
  436. package/five/model/loaders/glTF-helpers/type.d.ts +14 -0
  437. package/five/model/loaders/gltf.d.ts +10 -0
  438. package/five/model/loaders/obj.d.ts +9 -0
  439. package/five/model/loaders/pbm.d.ts +26 -0
  440. package/five/model/loaders/ply.d.ts +24 -0
  441. package/five/model/loaders/pnts.d.ts +8 -0
  442. package/five/model/loaders/protobuf/dome.d.ts +540 -0
  443. package/five/model/loaders/protobuf/pbm.d.ts +203 -0
  444. package/five/model/loaders/shared.d.ts +16 -0
  445. package/five/model/loaders/splat.d.ts +8 -0
  446. package/five/model/loaders/spz.d.ts +14 -0
  447. package/five/model/loaders/tile3d-helpers/feature-table.d.ts +15 -0
  448. package/five/model/loaders/tile3d-helpers/gl-type.d.ts +20 -0
  449. package/five/model/loaders/tile3d-helpers/parse-gltf-array-buffer.d.ts +2 -0
  450. package/five/model/loaders/tile3d-helpers/parse-header.d.ts +2 -0
  451. package/five/model/loaders/tile3d-helpers/parse-point-cloud-attributes.d.ts +2 -0
  452. package/five/model/loaders/tile3d-helpers/parse-point-cloud-attributes.worker.d.ts +6 -0
  453. package/five/model/loaders/tile3d-helpers/parse-table.d.ts +3 -0
  454. package/five/model/loaders/tile3d-helpers/tile3d-type.d.ts +36 -0
  455. package/five/model/loaders/x3p.d.ts +22 -0
  456. package/five/model/materials/nodes/pbmMeshBasicNodeMaterial.d.ts +14 -0
  457. package/five/model/materials/nodes/pbmMeshPanoOnlyNodeMaterial.d.ts +14 -0
  458. package/five/model/materials/nodes/pbmMeshPhongNodeMaterial.d.ts +14 -0
  459. package/five/model/materials/nodes/pbmMeshPhysicalNodeMaterial.d.ts +14 -0
  460. package/five/model/materials/nodes/pbmPointCloudNodeMaterial.d.ts +22 -0
  461. package/five/model/materials/pbmGaussianSplattingNodeMaterial.d.ts +78 -0
  462. package/five/model/materials/pbmMaterial.d.ts +171 -0
  463. package/five/model/materials/pbmMaterialRegister.d.ts +6 -0
  464. package/five/model/materials/pbmMeshMaterial.d.ts +57 -0
  465. package/five/model/materials/pbmPointCloudMaterial.d.ts +20 -0
  466. package/five/model/materials/pbmPointCloudNodeMaterial.d.ts +46 -0
  467. package/five/model/materials/tsl/colorFilter.d.ts +9 -0
  468. package/five/model/materials/tsl/defines.d.ts +68 -0
  469. package/five/model/materials/tsl/nodeTypes.d.ts +12 -0
  470. package/five/model/materials/tsl/outputBuilder.d.ts +26 -0
  471. package/five/model/materials/tsl/panoColor.d.ts +17 -0
  472. package/five/model/materials/tsl/panoTransition.d.ts +8 -0
  473. package/five/model/materials/tsl/utils.d.ts +11 -0
  474. package/five/model/model-scene.d.ts +172 -0
  475. package/five/model/model.d.ts +203 -0
  476. package/five/model/objects/pbmGaussianSplattingObject.d.ts +47 -0
  477. package/five/model/objects/pbmGaussianSplattingRenderMesh.d.ts +73 -0
  478. package/five/model/objects/pbmGroup.d.ts +8 -0
  479. package/five/model/objects/pbmMesh.d.ts +10 -0
  480. package/five/model/objects/pbmPointCloud.d.ts +89 -0
  481. package/five/model/objects/pbmPointCloudObject.d.ts +81 -0
  482. package/five/model/parameter.d.ts +138 -0
  483. package/five/model/tile3d/header.d.ts +88 -0
  484. package/five/model/tile3d/index.d.ts +213 -0
  485. package/five/model/tile3d/tile-cache.d.ts +18 -0
  486. package/five/model/tile3d/tile-content.d.ts +10 -0
  487. package/five/model/tile3d/tile-node.d.ts +26 -0
  488. package/five/model/tile3d/tile-request-scheduler.d.ts +17 -0
  489. package/five/model/tile3d/tile.d.ts +79 -0
  490. package/five/model/tile3d/tileset-base-traverser.d.ts +59 -0
  491. package/five/model/tile3d/tileset-most-detail-traverser.d.ts +14 -0
  492. package/five/model/tile3d/tileset-normal-traverser.d.ts +15 -0
  493. package/five/model/tile3d/tileset-skip-traverser.d.ts +60 -0
  494. package/five/model/tile3d/tileset.d.ts +65 -0
  495. package/five/model/tile3d/trajectory-content.d.ts +0 -0
  496. package/five/model/tile3d/trajectory-node.d.ts +15 -0
  497. package/five/model/tile3d/trajectory.d.ts +30 -0
  498. package/five/model/tile3d/types.d.ts +33 -0
  499. package/five/model/view-layer.d.ts +20 -0
  500. package/five/renderer/compute-renderers/pointcloud-compute-renderer.d.ts +154 -0
  501. package/five/renderer/compute-renderers/rgb565.d.ts +45 -0
  502. package/five/renderer/compute-renderers/shaders/clear.d.ts +2 -0
  503. package/five/renderer/compute-renderers/shaders/fullscreenQuad.d.ts +2 -0
  504. package/five/renderer/compute-renderers/shaders/rasterize.d.ts +2 -0
  505. package/five/renderer/five-renderer.d.ts +33 -0
  506. package/five/renderer/index.d.ts +3 -0
  507. package/five/renderer/postprocessing/composer.d.ts +45 -0
  508. package/five/renderer/postprocessing/index.d.ts +8 -0
  509. package/five/renderer/postprocessing/passes/adaptive-luminance-pass.d.ts +27 -0
  510. package/five/renderer/postprocessing/passes/eye-dome-lighting-pass.d.ts +31 -0
  511. package/five/renderer/postprocessing/passes/flowing-fireworks-3d-pass.d.ts +71 -0
  512. package/five/renderer/postprocessing/passes/flowing-light-2d-pass.d.ts +26 -0
  513. package/five/renderer/postprocessing/passes/flowing-light-3d-pass.d.ts +75 -0
  514. package/five/renderer/postprocessing/passes/gaussian-blur-pass.d.ts +22 -0
  515. package/five/renderer/postprocessing/passes/pass.d.ts +38 -0
  516. package/five/renderer/scene-renderers/scene-renderer.d.ts +9 -0
  517. package/five/renderer/tools/full-screen-quad.d.ts +17 -0
  518. package/five/renderer/tools/postprocess-uv.d.ts +11 -0
  519. package/five/renderer/tools/render-cube-to-equirectangular.d.ts +7 -0
  520. package/five/renderer/tools/render-full-screen-depth.d.ts +2 -0
  521. package/five/renderer/tools/render-full-screen.d.ts +2 -0
  522. package/five/texture/histogram.d.ts +54 -0
  523. package/five/texture/imageBitmap.d.ts +13 -0
  524. package/five/texture/initTexture.d.ts +3 -0
  525. package/five/texture/loader.d.ts +39 -0
  526. package/five/texture/textureData.d.ts +11 -0
  527. package/five/thirdparty/fflate.d.ts +1407 -0
  528. package/five/thirdparty/hammer.d.ts +375 -0
  529. package/five/thirdparty/jsrsasign.d.ts +753 -0
  530. package/five/thirdparty/meshopt_decoder.d.ts +15 -0
  531. package/five/three-version-check.d.ts +1 -0
  532. package/five/types/addableObject.d.ts +12 -0
  533. package/five/types/cube.d.ts +2 -0
  534. package/five/types/gestureInput.d.ts +24 -0
  535. package/five/types/imageOptions.d.ts +20 -0
  536. package/five/types/intersectMeshInterface.d.ts +8 -0
  537. package/five/types/movePanoEffect.d.ts +13 -0
  538. package/five/types/movePanoOptions.d.ts +36 -0
  539. package/five/types/panoCircleMeshInterface.d.ts +34 -0
  540. package/five/types/plugin.d.ts +25 -0
  541. package/five/types/pose.d.ts +17 -0
  542. package/five/types/state.d.ts +20 -0
  543. package/five/types/viewport.d.ts +22 -0
  544. package/five/utils/ajax.d.ts +66 -0
  545. package/five/utils/animationFrameLoop.d.ts +45 -0
  546. package/five/utils/array.d.ts +31 -0
  547. package/five/utils/asyncTaskQueue.d.ts +8 -0
  548. package/five/utils/bufferGeometry.d.ts +33 -0
  549. package/five/utils/calculateProgress.d.ts +39 -0
  550. package/five/utils/calculateThreeMouse.d.ts +13 -0
  551. package/five/utils/canplayVideo.d.ts +2 -0
  552. package/five/utils/clamp.d.ts +2 -0
  553. package/five/utils/clock.d.ts +30 -0
  554. package/five/utils/createSymbol.d.ts +5 -0
  555. package/five/utils/decodeText.d.ts +2 -0
  556. package/five/utils/deepEqual.d.ts +2 -0
  557. package/five/utils/deepFreeze.d.ts +2 -0
  558. package/five/utils/defineProperty.d.ts +9 -0
  559. package/five/utils/detector.d.ts +14 -0
  560. package/five/utils/distance.d.ts +10 -0
  561. package/five/utils/draco.d.ts +26 -0
  562. package/five/utils/easing.d.ts +63 -0
  563. package/five/utils/event.d.ts +159 -0
  564. package/five/utils/face3.d.ts +12 -0
  565. package/five/utils/formatRad.d.ts +7 -0
  566. package/five/utils/hdr-data.d.ts +13 -0
  567. package/five/utils/imageSupport.d.ts +6 -0
  568. package/five/utils/imageURL.d.ts +42 -0
  569. package/five/utils/isEmptyObject.d.ts +2 -0
  570. package/five/utils/isNil.d.ts +6 -0
  571. package/five/utils/isNumber.d.ts +2 -0
  572. package/five/utils/isPowerOfTwo.d.ts +2 -0
  573. package/five/utils/isPromise.d.ts +2 -0
  574. package/five/utils/isSimilar.d.ts +6 -0
  575. package/five/utils/json.d.ts +7 -0
  576. package/five/utils/ktx2.d.ts +30 -0
  577. package/five/utils/lzma/index.d.ts +2 -0
  578. package/five/utils/lzma/lzma.d.ts +3 -0
  579. package/five/utils/lzma/lzmaWASM.d.ts +2 -0
  580. package/five/utils/lzma/lzmaWorker.d.ts +14 -0
  581. package/five/utils/memoryUsage.d.ts +37 -0
  582. package/five/utils/motion.d.ts +38 -0
  583. package/five/utils/noop.d.ts +6 -0
  584. package/five/utils/now.d.ts +7 -0
  585. package/five/utils/pano.d.ts +9 -0
  586. package/five/utils/pick.d.ts +3 -0
  587. package/five/utils/poseUtils.d.ts +5 -0
  588. package/five/utils/renderCubeTextureToCubeRenderTarget.d.ts +3 -0
  589. package/five/utils/renderDepth.d.ts +2 -0
  590. package/five/utils/renderTexturesToCubeRenderTarget.d.ts +10 -0
  591. package/five/utils/requestPermission.d.ts +3 -0
  592. package/five/utils/shaderContentFix.d.ts +7 -0
  593. package/five/utils/shaderMaterial.d.ts +20 -0
  594. package/five/utils/stateUtils.d.ts +5 -0
  595. package/five/utils/string-pattern.d.ts +8 -0
  596. package/five/utils/subscribe.d.ts +67 -0
  597. package/five/utils/tileCube.d.ts +19 -0
  598. package/five/utils/toFastProperties.d.ts +1 -0
  599. package/five/utils/typedCache.d.ts +10 -0
  600. package/five/utils/uniform.d.ts +15 -0
  601. package/five/utils/url.d.ts +35 -0
  602. package/five/utils/uuid.d.ts +5 -0
  603. package/five/utils/values.d.ts +2 -0
  604. package/five/utils/vectorCoordinates.d.ts +29 -0
  605. package/five/utils/volume.d.ts +111 -0
  606. package/five/utils/worker.d.ts +26 -0
  607. package/five/work/_ALLOW_HOST.d.ts +2 -0
  608. package/five/work/index.d.ts +6 -0
  609. package/five/work/keychain.d.ts +5 -0
  610. package/five/work/looseWorkType.d.ts +128 -0
  611. package/five/work/verify.d.ts +7 -0
  612. package/five/work/work.d.ts +246 -0
  613. package/five/work/workFetcher.d.ts +4 -0
  614. package/five/work/workJson.d.ts +3 -0
  615. package/five/work/workJsonType.d.ts +73 -0
  616. package/five/work/workObserverUtils.d.ts +36 -0
  617. package/five/work/workParser.d.ts +6 -0
  618. package/five/work/workResolvedObserver.d.ts +12 -0
  619. package/five/work/workVerify.d.ts +2 -0
  620. package/five/work/works.d.ts +10 -0
  621. package/llms.txt +66 -0
  622. package/package.json +56 -0
  623. package/plugins/BasePlugin/index.d.ts +96 -0
  624. package/plugins/GaussianSplattingEntranceAnimationPlugin/Controller.d.ts +66 -0
  625. package/plugins/GaussianSplattingEntranceAnimationPlugin/index.d.ts +5 -0
  626. package/plugins/GaussianSplattingEntranceAnimationPlugin/typing.d.ts +32 -0
  627. package/plugins/index.d.ts +2 -0
  628. package/plugins/index.js +255 -0
  629. package/plugins/index.mjs +539 -0
  630. package/plugins/utils/absoluteUrl.d.ts +5 -0
  631. package/react/autoCanvas.d.ts +9 -0
  632. package/react/canvas.d.ts +19 -0
  633. package/react/context.d.ts +12 -0
  634. package/react/createProvider.d.ts +98 -0
  635. package/react/createStore.d.ts +144 -0
  636. package/react/fiveApp.d.ts +22 -0
  637. package/react/hooks/unsafe__useFiveInstance.d.ts +9 -0
  638. package/react/hooks/useFiveAction.d.ts +147 -0
  639. package/react/hooks/useFiveCameraDirection.d.ts +7 -0
  640. package/react/hooks/useFiveCameraRaycaster.d.ts +7 -0
  641. package/react/hooks/useFiveCurrentObserver.d.ts +11 -0
  642. package/react/hooks/useFiveCurrentState.d.ts +15 -0
  643. package/react/hooks/useFiveEventCallback.d.ts +12 -0
  644. package/react/hooks/useFiveFloor.d.ts +15 -0
  645. package/react/hooks/useFiveHelper.d.ts +14 -0
  646. package/react/hooks/useFiveModelBounding.d.ts +5 -0
  647. package/react/hooks/useFiveModelEffect.d.ts +14 -0
  648. package/react/hooks/useFiveModelIntersectRaycaster.d.ts +22 -0
  649. package/react/hooks/useFiveModelReadyState.d.ts +8 -0
  650. package/react/hooks/useFivePlugin.d.ts +22 -0
  651. package/react/hooks/useFiveProject2d.d.ts +21 -0
  652. package/react/hooks/useFiveSceneEffect.d.ts +21 -0
  653. package/react/hooks/useFiveState.d.ts +6 -0
  654. package/react/hooks/useFiveWork.d.ts +29 -0
  655. package/react/index.d.ts +28 -0
  656. package/react/index.js +255 -0
  657. package/react/index.mjs +896 -0
  658. package/react/withFive.d.ts +213 -0
  659. package/resource/basis/1.16/basis_transcoder.js +22 -0
  660. package/resource/basis/1.16/basis_transcoder.wasm +0 -0
  661. package/resource/basis/README.md +5 -0
  662. package/resource/draco/1.5.6/draco_decoder.js +34 -0
  663. package/resource/draco/1.5.6/draco_decoder.wasm +0 -0
  664. package/resource/draco/1.5.6/draco_decoder_gltf.js +33 -0
  665. package/resource/draco/1.5.6/draco_decoder_gltf.wasm +0 -0
  666. package/resource/draco/1.5.6/draco_encoder.js +35 -0
  667. package/resource/draco/1.5.6/draco_encoder.wasm +0 -0
  668. package/resource/draco/1.5.6/draco_encoder_wrapper.js +97 -0
  669. package/resource/draco/1.5.6/draco_wasm_wrapper.js +117 -0
  670. package/resource/draco/1.5.6/draco_wasm_wrapper_gltf.js +116 -0
  671. package/resource/draco/README.md +5 -0
  672. package/umd/five-plugins.js +255 -0
  673. package/umd/five-react.js +255 -0
  674. package/umd/five.js +1579 -0
@@ -0,0 +1,110 @@
1
+ <!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>features/move-pano-effect | 如视 Five SDK</title><meta name="description" content="Documentation for 如视 Five SDK"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">如视 Five SDK</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">features/move-pano-effect</a></li></ul></div><div class="tsd-panel tsd-typography"><h1 id="全景切换效果-move-pano-effect" class="tsd-anchor-link">全景切换效果 (Move Pano Effect)<a href="#全景切换效果-move-pano-effect" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h1>
2
+ <ul>
3
+ <li><strong>Summary</strong>: 介绍 <code>moveToPano</code> 方法中 <code>effect</code> 和 <code>effectEasing</code> 参数的作用及使用方式,用于控制全景点位切换时的视觉过渡效果。</li>
4
+ <li><strong>Schema</strong>: <code>MovePanoEffect</code> (枚举字符串), <code>MovePanoOptions</code> (接口).</li>
5
+ <li><strong>Concepts</strong>: Effect Modes (切换模式), Easing Function (缓动函数), Blend Ratio (混合比例).</li>
6
+ <li><strong>Configuration</strong>: <code>moveToPano</code> 的 <code>options</code> 参数.</li>
7
+ <li><strong>Examples</strong>: 基础切换、自定义缓动函数.</li>
8
+ </ul>
9
+ <h2 id="schema" class="tsd-anchor-link">Schema<a href="#schema" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
10
+ <h3 id="movepanoeffect" class="tsd-anchor-link">MovePanoEffect<a href="#movepanoeffect" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
11
+ <blockquote>
12
+ <p><strong>Definition</strong>: <a href="../../five/types/movePanoEffect.d.ts">MovePanoEffect</a></p>
13
+ </blockquote>
14
+ <p><code>effect</code> 参数定义了全景切换的动画模式。</p>
15
+ <pre><code class="typescript"><span class="hl-3">type</span><span class="hl-1"> </span><span class="hl-7">MovePanoEffect</span><span class="hl-1"> =</span><br/><span class="hl-1"> | </span><span class="hl-9">&quot;fly&quot;</span><span class="hl-1"> </span><span class="hl-8">// 飞行效果 (默认):模拟相机在空间中的移动</span><br/><span class="hl-1"> | </span><span class="hl-9">&quot;instant&quot;</span><span class="hl-1"> </span><span class="hl-8">// 瞬间切换:无动画,直接跳变</span><br/><span class="hl-1"> | </span><span class="hl-9">&quot;fade&quot;</span><span class="hl-1"> </span><span class="hl-8">// 淡入淡出:原场景渐隐,新场景渐现 (位置保持不变)</span><br/><span class="hl-1"> | </span><span class="hl-9">&quot;montage&quot;</span><span class="hl-1"> </span><span class="hl-8">// 蒙太奇:通过黑屏过渡 (渐变穿插到黑屏再亮起)</span><br/><span class="hl-1"> | </span><span class="hl-9">&quot;spread&quot;</span><span class="hl-1"> </span><span class="hl-8">// 扩散:新场景从中心向四周扩散</span><br/><span class="hl-1"> | </span><span class="hl-9">&quot;zoomin&quot;</span><span class="hl-1"> </span><span class="hl-8">// 放大:新场景从小放大覆盖</span><br/><span class="hl-1"> | </span><span class="hl-9">&quot;zoomout&quot;</span><span class="hl-1"> </span><span class="hl-8">// 缩小:原场景缩小消失</span><br/><span class="hl-1"> | </span><span class="hl-9">&quot;model&quot;</span><span class="hl-1">; </span><span class="hl-8">// 模型过渡:切换过程中展示 3D 模型结构</span>
16
+ </code><button type="button">Copy</button></pre>
17
+
18
+ <h3 id="effecteasing" class="tsd-anchor-link">effectEasing<a href="#effecteasing" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
19
+ <p><code>effectEasing</code> 是一个函数,用于控制前后全景图的混合进度。</p>
20
+ <pre><code class="typescript"><span class="hl-8">// 输入 0-1 的进度值,返回 0-1 的混合比例</span><br/><span class="hl-3">type</span><span class="hl-1"> </span><span class="hl-7">EffectEasing</span><span class="hl-1"> = (</span><span class="hl-6">progress</span><span class="hl-1">: </span><span class="hl-7">number</span><span class="hl-1">) </span><span class="hl-3">=&gt;</span><span class="hl-1"> </span><span class="hl-7">number</span><span class="hl-1">;</span>
21
+ </code><button type="button">Copy</button></pre>
22
+
23
+ <ul>
24
+ <li><strong>输入 (Input)</strong>: <code>progress</code> (0 到 1),表示动画的时间进度。</li>
25
+ <li><strong>输出 (Output)</strong>: 混合比例 (0 到 1)。
26
+ <ul>
27
+ <li><code>0</code>: 完全显示前一个全景图。</li>
28
+ <li><code>1</code>: 完全显示后一个全景图。</li>
29
+ <li><code>0.5</code>: 两个全景图各显示 50%。</li>
30
+ </ul>
31
+ </li>
32
+ </ul>
33
+ <h2 id="concepts" class="tsd-anchor-link">Concepts<a href="#concepts" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
34
+ <h3 id="effect-modes-切换模式" class="tsd-anchor-link">Effect Modes (切换模式)<a href="#effect-modes-切换模式" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
35
+ <ul>
36
+ <li><strong>Fly (飞行)</strong>: 最常用的模式。相机在三维空间中真实移动,给用户强烈的空间位置感。适用于相邻或视线通透的点位切换。</li>
37
+ <li><strong>Fade (渐变)</strong>: 保持相机位置不变,仅改变图像透明度。适用于距离较远、不通视或空间关系不明确的点位切换,避免产生&quot;穿墙&quot;的违和感。</li>
38
+ <li><strong>Model (模型)</strong>: 在切换过程中淡入模型的线框或白模,强调空间结构。</li>
39
+ </ul>
40
+ <h3 id="easing-function-缓动函数" class="tsd-anchor-link">Easing Function (缓动函数)<a href="#easing-function-缓动函数" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
41
+ <p>默认情况下,混合比例与时间进度是线性的 (<code>y = x</code>)。通过自定义 <code>effectEasing</code>,可以实现非线性的混合效果。例如:</p>
42
+ <ul>
43
+ <li><strong>快速切入</strong>: 开始时混合很快,后面变慢。</li>
44
+ <li><strong>延迟切入</strong>: 开始时保持原图较长时间,最后快速切换到新图。</li>
45
+ <li><strong>特殊场景</strong>: 如“地面-天空”切换,可能希望在特定的时间点才开始显示新图。</li>
46
+ </ul>
47
+ <h2 id="examples" class="tsd-anchor-link">Examples<a href="#examples" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
48
+ <h3 id="1-基础用法-basic-usage" class="tsd-anchor-link">1. 基础用法 (Basic Usage)<a href="#1-基础用法-basic-usage" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
49
+ <p>使用不同的 <code>effect</code> 进行切换。</p>
50
+ <pre><code class="typescript"><span class="hl-8">// 1. 飞行模式 (默认)</span><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-5">moveToPano</span><span class="hl-1">(</span><span class="hl-11">1</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-6">effect:</span><span class="hl-1"> </span><span class="hl-9">&#39;fly&#39;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-6">duration:</span><span class="hl-1"> </span><span class="hl-11">1500</span><br/><span class="hl-1">});</span><br/><br/><span class="hl-8">// 2. 瞬间切换 (无动画)</span><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-5">moveToPano</span><span class="hl-1">(</span><span class="hl-11">2</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-6">effect:</span><span class="hl-1"> </span><span class="hl-9">&#39;instant&#39;</span><br/><span class="hl-1">});</span><br/><br/><span class="hl-8">// 3. 淡入淡出 (适用于远距离切换)</span><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-5">moveToPano</span><span class="hl-1">(</span><span class="hl-11">10</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-6">effect:</span><span class="hl-1"> </span><span class="hl-9">&#39;fade&#39;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-6">duration:</span><span class="hl-1"> </span><span class="hl-11">1000</span><br/><span class="hl-1">});</span>
51
+ </code><button type="button">Copy</button></pre>
52
+
53
+ <h3 id="2-自定义缓动-custom-easing" class="tsd-anchor-link">2. 自定义缓动 (Custom Easing)<a href="#2-自定义缓动-custom-easing" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
54
+ <p>使用 <code>effectEasing</code> 控制混合节奏。</p>
55
+ <pre><code class="typescript"><span class="hl-8">// 示例:Ease-In-Quad (先慢后快)</span><br/><span class="hl-3">function</span><span class="hl-1"> </span><span class="hl-5">easeInQuad</span><span class="hl-1">(</span><span class="hl-6">x</span><span class="hl-1">: </span><span class="hl-7">number</span><span class="hl-1">): </span><span class="hl-7">number</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-10">return</span><span class="hl-1"> </span><span class="hl-6">x</span><span class="hl-1"> * </span><span class="hl-6">x</span><span class="hl-1">;</span><br/><span class="hl-1">}</span><br/><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-5">moveToPano</span><span class="hl-1">(</span><span class="hl-11">5</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-6">effect:</span><span class="hl-1"> </span><span class="hl-9">&#39;fly&#39;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-6">duration:</span><span class="hl-1"> </span><span class="hl-11">2000</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-8">// 自定义混合曲线</span><br/><span class="hl-1"> </span><span class="hl-6">effectEasing:</span><span class="hl-1"> </span><span class="hl-6">easeInQuad</span><br/><span class="hl-1">});</span>
56
+ </code><button type="button">Copy</button></pre>
57
+
58
+ <h3 id="3-高级缓动控制-advanced-easing" class="tsd-anchor-link">3. 高级缓动控制 (Advanced Easing)<a href="#3-高级缓动控制-advanced-easing" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
59
+ <p>在某些特殊场景(如从地面点切换到航拍点),我们可能希望前 80% 的时间都显示地面点,最后 20% 才快速过渡到航拍图。</p>
60
+ <pre><code class="typescript"><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-5">moveToPano</span><span class="hl-1">(</span><span class="hl-6">aerialPanoIndex</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-6">effect:</span><span class="hl-1"> </span><span class="hl-9">&#39;fly&#39;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-6">duration:</span><span class="hl-1"> </span><span class="hl-11">3000</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">effectEasing</span><span class="hl-6">:</span><span class="hl-1"> (</span><span class="hl-6">progress</span><span class="hl-1">) </span><span class="hl-3">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-8">// 0 - 0.8 期间返回 0 (显示原图)</span><br/><span class="hl-1"> </span><span class="hl-8">// 0.8 - 1.0 期间线性过渡到 1</span><br/><span class="hl-1"> </span><span class="hl-10">if</span><span class="hl-1"> (</span><span class="hl-6">progress</span><span class="hl-1"> &lt; </span><span class="hl-11">0.8</span><span class="hl-1">) </span><span class="hl-10">return</span><span class="hl-1"> </span><span class="hl-11">0</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-10">return</span><span class="hl-1"> (</span><span class="hl-6">progress</span><span class="hl-1"> - </span><span class="hl-11">0.8</span><span class="hl-1">) / </span><span class="hl-11">0.2</span><span class="hl-1">;</span><br/><span class="hl-1"> }</span><br/><span class="hl-1">});</span>
61
+ </code><button type="button">Copy</button></pre>
62
+
63
+ <h2 id="configuration" class="tsd-anchor-link">Configuration<a href="#configuration" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
64
+ <p><code>moveToPano</code> 的第二个参数 <code>options</code> 支持以下配置:</p>
65
+ <table>
66
+ <thead>
67
+ <tr>
68
+ <th style="text-align:left">参数</th>
69
+ <th style="text-align:left">类型</th>
70
+ <th style="text-align:left">说明</th>
71
+ <th style="text-align:left">默认值</th>
72
+ </tr>
73
+ </thead>
74
+ <tbody>
75
+ <tr>
76
+ <td style="text-align:left"><code>effect</code></td>
77
+ <td style="text-align:left"><code>MovePanoEffect</code></td>
78
+ <td style="text-align:left">切换效果模式</td>
79
+ <td style="text-align:left"><code>'fly'</code></td>
80
+ </tr>
81
+ <tr>
82
+ <td style="text-align:left"><code>effectEasing</code></td>
83
+ <td style="text-align:left"><code>(p: number) =&gt; number</code></td>
84
+ <td style="text-align:left">图片混合缓动函数</td>
85
+ <td style="text-align:left"><code>p =&gt; p</code> (线性)</td>
86
+ </tr>
87
+ <tr>
88
+ <td style="text-align:left"><code>duration</code></td>
89
+ <td style="text-align:left"><code>number</code></td>
90
+ <td style="text-align:left">动画耗时 (ms)</td>
91
+ <td style="text-align:left">根据距离自动计算</td>
92
+ </tr>
93
+ </tbody>
94
+ </table>
95
+ <h2 id="common-pitfalls" class="tsd-anchor-link">Common Pitfalls<a href="#common-pitfalls" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
96
+ <ol>
97
+ <li><strong>Effect 适用性</strong>: <code>fly</code> 效果虽然炫酷,但在穿过墙体或障碍物时可能会导致视觉上的“穿帮”。此时应优先考虑使用 <code>fade</code> 或 <code>model</code>。</li>
98
+ <li><strong>Easing 范围</strong>: <code>effectEasing</code> 函数的返回值应严格控制在 <code>0</code> 到 <code>1</code> 之间。超出此范围可能会导致渲染异常(如过曝或反色)。</li>
99
+ <li><strong>Duration</strong>: 如果 <code>duration</code> 设置为 <code>0</code>,无论 <code>effect</code> 是什么,效果都等同于 <code>instant</code>。</li>
100
+ </ol>
101
+ <h2 id="related" class="tsd-anchor-link">Related<a href="#related" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
102
+ <ul>
103
+ <li><a href="features_camera-animation.html">Camera Animation</a>: 更多关于相机控制的说明。</li>
104
+ <li><a href="features_five.html">Five</a>: Five 实例及 API。</li>
105
+ </ul>
106
+ <hr>
107
+ <pre><code class="yaml"><span class="hl-0">tags</span><span class="hl-1">: [</span><span class="hl-2">move-pano-effect</span><span class="hl-1">, </span><span class="hl-2">camera-animation</span><span class="hl-1">, </span><span class="hl-2">pano-switch</span><span class="hl-1">]</span>
108
+ </code><button type="button">Copy</button></pre>
109
+
110
+ </div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#全景切换效果-move-pano-effect"><span>全景切换效果 (<wbr/>Move <wbr/>Pano <wbr/>Effect)</span></a><ul><li><a href="#schema"><span>Schema</span></a></li><li><ul><li><a href="#movepanoeffect"><span>Move<wbr/>Pano<wbr/>Effect</span></a></li><li><a href="#effecteasing"><span>effect<wbr/>Easing</span></a></li></ul></li><li><a href="#concepts"><span>Concepts</span></a></li><li><ul><li><a href="#effect-modes-切换模式"><span>Effect <wbr/>Modes (切换模式)</span></a></li><li><a href="#easing-function-缓动函数"><span>Easing <wbr/>Function (缓动函数)</span></a></li></ul></li><li><a href="#examples"><span>Examples</span></a></li><li><ul><li><a href="#1-基础用法-basic-usage"><span>1. 基础用法 (<wbr/>Basic <wbr/>Usage)</span></a></li><li><a href="#2-自定义缓动-custom-easing"><span>2. 自定义缓动 (<wbr/>Custom <wbr/>Easing)</span></a></li><li><a href="#3-高级缓动控制-advanced-easing"><span>3. 高级缓动控制 (<wbr/>Advanced <wbr/>Easing)</span></a></li></ul></li><li><a href="#configuration"><span>Configuration</span></a></li><li><a href="#common-pitfalls"><span>Common <wbr/>Pitfalls</span></a></li><li><a href="#related"><span>Related</span></a></li></ul></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">如视 Five SDK</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
@@ -0,0 +1,97 @@
1
+ <!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>features/multi-work | 如视 Five SDK</title><meta name="description" content="Documentation for 如视 Five SDK"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">如视 Five SDK</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">features/multi-work</a></li></ul></div><div class="tsd-panel tsd-typography"><h1 id="多-work-沙盘-场景-multi-work-sandbox" class="tsd-anchor-link">多 Work (沙盘) 场景 (Multi-Work / Sandbox)<a href="#多-work-沙盘-场景-multi-work-sandbox" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h1>
2
+ <ul>
3
+ <li><strong>Summary</strong>: 在同一个 Five 实例中加载和管理多个 Work 数据(如沙盘场景),实现多楼盘/多户型的同屏展示与切换。</li>
4
+ <li><strong>Schema</strong>: <code>Work[]</code>, <code>LooseWorkWithExtrinsics</code>, <code>FiveLoadOptions</code>.</li>
5
+ <li><strong>Concepts</strong>: WorkCode, Works Collection, Coordinate Transform.</li>
6
+ <li><strong>Configuration</strong>: <code>five.load()</code> 参数配置。</li>
7
+ <li><strong>Examples</strong>: 加载多个 Work、动态添加 Work、Work 间切换。</li>
8
+ </ul>
9
+ <h2 id="schema" class="tsd-anchor-link">Schema<a href="#schema" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
10
+ <blockquote>
11
+ <p><strong>Definition</strong>: <a href="../../five/application/fiveLoadOptions.d.ts">FiveLoadOptions</a>, <a href="../../five/work/looseWorkType.d.ts">LooseWorkWithExtrinsics</a></p>
12
+ </blockquote>
13
+ <h3 id="核心类型定义" class="tsd-anchor-link">核心类型定义<a href="#核心类型定义" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
14
+ <pre><code class="typescript"><span class="hl-8">// 输入数据类型</span><br/><span class="hl-3">type</span><span class="hl-1"> </span><span class="hl-7">FiveLoadInput</span><span class="hl-1"> =</span><br/><span class="hl-1"> | </span><span class="hl-7">Work</span><span class="hl-1">[]</span><br/><span class="hl-1"> | </span><span class="hl-7">LooseWorkWithExtrinsics</span><span class="hl-1">[]</span><br/><span class="hl-1"> | </span><span class="hl-7">string</span><span class="hl-1">[]; </span><span class="hl-8">// JSON Strings</span><br/><br/><span class="hl-8">// 带位姿信息的 LooseWork (用于调整模型在场景中的位置)</span><br/><span class="hl-3">interface</span><span class="hl-1"> </span><span class="hl-7">LooseWorkWithExtrinsics</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-6">work</span><span class="hl-1">: </span><span class="hl-7">LooseWork</span><span class="hl-1">; </span><span class="hl-8">// Work 数据内容</span><br/><span class="hl-1"> </span><span class="hl-6">transform</span><span class="hl-1">?: </span><span class="hl-7">number</span><span class="hl-1">[]; </span><span class="hl-8">// 4x4 变换矩阵 (数组格式), 用于整体偏移/旋转该 Work</span><br/><span class="hl-1"> </span><span class="hl-6">workCode</span><span class="hl-1">?: </span><span class="hl-7">string</span><span class="hl-1">; </span><span class="hl-8">// 强制指定 WorkCode (覆盖数据中的默认值)</span><br/><span class="hl-1">}</span><br/><br/><span class="hl-8">// 加载选项</span><br/><span class="hl-3">interface</span><span class="hl-1"> </span><span class="hl-7">FiveLoadOptions</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-6">mode</span><span class="hl-1">?: </span><span class="hl-9">&quot;replace&quot;</span><span class="hl-1"> | </span><span class="hl-9">&quot;add&quot;</span><span class="hl-1">; </span><span class="hl-8">// 替换当前场景 vs 追加到当前场景</span><br/><span class="hl-1"> </span><span class="hl-8">// ... 其他常规选项</span><br/><span class="hl-1">}</span>
15
+ </code><button type="button">Copy</button></pre>
16
+
17
+ <h2 id="concepts" class="tsd-anchor-link">Concepts<a href="#concepts" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
18
+ <h3 id="1-works-collection-数据集" class="tsd-anchor-link">1. Works Collection (数据集)<a href="#1-works-collection-数据集" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
19
+ <p>当 Five 加载多个 Work 时,它们被存储在 <code>five.works</code> 集合中。</p>
20
+ <ul>
21
+ <li><code>five.works</code> 是一个增强的只读数组 (<code>ReadonlyArray&lt;Work&gt;</code>)。</li>
22
+ <li>提供了 <code>getWork(workCode)</code> 和 <code>getObserver(panoId)</code> 等辅助方法。</li>
23
+ </ul>
24
+ <h3 id="2-workcode-唯一标识" class="tsd-anchor-link">2. WorkCode (唯一标识)<a href="#2-workcode-唯一标识" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
25
+ <p>在多 Work 场景中,<code>workCode</code> 是区分不同 Work 的关键。</p>
26
+ <ul>
27
+ <li><strong>必须唯一</strong>: 加载的每个 Work 必须有唯一的 <code>workCode</code>。如果数据中重复,建议在加载时通过 <code>ParseOptions</code> 重写。</li>
28
+ <li><strong>状态索引</strong>: <code>five.state</code> 和 <code>five.setState</code> 中需要通过 <code>workCode</code> 来指定目标 Work。</li>
29
+ </ul>
30
+ <h3 id="3-coordinate-alignment-坐标对齐" class="tsd-anchor-link">3. Coordinate Alignment (坐标对齐)<a href="#3-coordinate-alignment-坐标对齐" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
31
+ <p>不同 Work 的原始模型可能位于其各自的坐标系原点。为了在沙盘中正确排列它们(避免重叠),需要使用 <code>transform</code> 矩阵对每个 Work 进行空间变换(平移、旋转)。</p>
32
+ <h2 id="configuration" class="tsd-anchor-link">Configuration<a href="#configuration" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
33
+ <p><code>five.load(input, state, options)</code> 是入口方法。</p>
34
+ <table>
35
+ <thead>
36
+ <tr>
37
+ <th style="text-align:left">参数</th>
38
+ <th style="text-align:left">类型</th>
39
+ <th style="text-align:left">说明</th>
40
+ </tr>
41
+ </thead>
42
+ <tbody>
43
+ <tr>
44
+ <td style="text-align:left"><code>input</code></td>
45
+ <td style="text-align:left"><code>FiveLoadInput</code></td>
46
+ <td style="text-align:left">Work 数据数组。</td>
47
+ </tr>
48
+ <tr>
49
+ <td style="text-align:left"><code>options.mode</code></td>
50
+ <td style="text-align:left"><code>&quot;replace&quot; | &quot;add&quot;</code></td>
51
+ <td style="text-align:left">默认为 <code>&quot;replace&quot;</code> (清空当前场景)。设为 <code>&quot;add&quot;</code> 可保留现有场景并追加新 Work。</td>
52
+ </tr>
53
+ </tbody>
54
+ </table>
55
+ <h2 id="examples" class="tsd-anchor-link">Examples<a href="#examples" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
56
+ <h3 id="1-基础加载-basic-loading" class="tsd-anchor-link">1. 基础加载 (Basic Loading)<a href="#1-基础加载-basic-loading" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
57
+ <p>一次性加载两个 Work。</p>
58
+ <pre><code class="typescript"><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">works</span><span class="hl-1"> = [</span><span class="hl-6">workDataA</span><span class="hl-1">, </span><span class="hl-6">workDataB</span><span class="hl-1">];</span><br/><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-5">load</span><span class="hl-1">(</span><span class="hl-6">works</span><span class="hl-1">).</span><span class="hl-5">then</span><span class="hl-1">(() </span><span class="hl-3">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-5">log</span><span class="hl-1">(</span><span class="hl-9">&quot;所有 Work 加载完成&quot;</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-5">log</span><span class="hl-1">(</span><span class="hl-9">&quot;当前 Works:&quot;</span><span class="hl-1">, </span><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-6">works</span><span class="hl-1">);</span><br/><span class="hl-1">});</span>
59
+ </code><button type="button">Copy</button></pre>
60
+
61
+ <h3 id="2-沙盘排布-sandbox-layout" class="tsd-anchor-link">2. 沙盘排布 (Sandbox Layout)<a href="#2-沙盘排布-sandbox-layout" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
62
+ <p>使用 <code>transform</code> 将两个户型并排摆放。</p>
63
+ <pre><code class="typescript"><span class="hl-10">import</span><span class="hl-1"> </span><span class="hl-3">*</span><span class="hl-1"> </span><span class="hl-10">as</span><span class="hl-1"> </span><span class="hl-6">THREE</span><span class="hl-1"> </span><span class="hl-10">from</span><span class="hl-1"> </span><span class="hl-9">&quot;three/webgpu&quot;</span><span class="hl-1">;</span><br/><br/><span class="hl-8">// 创建变换矩阵:向 X 轴正方向平移 20 米</span><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">matrixB</span><span class="hl-1"> = </span><span class="hl-3">new</span><span class="hl-1"> </span><span class="hl-4">THREE</span><span class="hl-1">.</span><span class="hl-5">Matrix4</span><span class="hl-1">().</span><span class="hl-5">makeTranslation</span><span class="hl-1">(</span><span class="hl-11">20</span><span class="hl-1">, </span><span class="hl-11">0</span><span class="hl-1">, </span><span class="hl-11">0</span><span class="hl-1">);</span><br/><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">input</span><span class="hl-1"> = [</span><br/><span class="hl-1"> </span><span class="hl-8">// Work A: 保持在原点</span><br/><span class="hl-1"> { </span><span class="hl-6">work:</span><span class="hl-1"> </span><span class="hl-6">workDataA</span><span class="hl-1"> },</span><br/><span class="hl-1"> </span><span class="hl-8">// Work B: 偏移位置</span><br/><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-6">work:</span><span class="hl-1"> </span><span class="hl-6">workDataB</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-6">transform:</span><span class="hl-1"> </span><span class="hl-6">matrixB</span><span class="hl-1">.</span><span class="hl-5">toArray</span><span class="hl-1">()</span><br/><span class="hl-1"> }</span><br/><span class="hl-1">];</span><br/><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-5">load</span><span class="hl-1">(</span><span class="hl-6">input</span><span class="hl-1">);</span>
64
+ </code><button type="button">Copy</button></pre>
65
+
66
+ <h3 id="3-动态添加-dynamic-add" class="tsd-anchor-link">3. 动态添加 (Dynamic Add)<a href="#3-动态添加-dynamic-add" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
67
+ <p>在不销毁当前场景的情况下,追加一个新的 Work。</p>
68
+ <pre><code class="typescript"><span class="hl-8">// 假设当前已经加载了 Work A</span><br/><span class="hl-8">// 追加 Work C</span><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-5">load</span><span class="hl-1">(</span><span class="hl-6">workDataC</span><span class="hl-1">, </span><span class="hl-3">undefined</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-6">mode:</span><span class="hl-1"> </span><span class="hl-9">&quot;add&quot;</span><span class="hl-1"> </span><span class="hl-8">// 关键参数</span><br/><span class="hl-1">}).</span><span class="hl-5">then</span><span class="hl-1">(() </span><span class="hl-3">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-5">log</span><span class="hl-1">(</span><span class="hl-9">&quot;Work C 已加入场景&quot;</span><span class="hl-1">);</span><br/><span class="hl-1">});</span>
69
+ </code><button type="button">Copy</button></pre>
70
+
71
+ <h3 id="4-work-间切换-switching-works" class="tsd-anchor-link">4. Work 间切换 (Switching Works)<a href="#4-work-间切换-switching-works" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
72
+ <p>跳转到指定 Work 的特定点位。</p>
73
+ <pre><code class="typescript"><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">targetWorkCode</span><span class="hl-1"> = </span><span class="hl-9">&quot;work-id-b&quot;</span><span class="hl-1">;</span><br/><br/><span class="hl-8">// 方式一:指定点位索引</span><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-5">setState</span><span class="hl-1">({</span><br/><span class="hl-1"> </span><span class="hl-6">workCode:</span><span class="hl-1"> </span><span class="hl-6">targetWorkCode</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-6">panoIndex:</span><span class="hl-1"> </span><span class="hl-11">0</span><span class="hl-1">, </span><span class="hl-8">// 目标 Work 的第 0 个点位</span><br/><span class="hl-1"> </span><span class="hl-6">mode:</span><span class="hl-1"> </span><span class="hl-9">&quot;Panorama&quot;</span><br/><span class="hl-1">});</span><br/><br/><span class="hl-8">// 方式二:查找特定 Work</span><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">targetWork</span><span class="hl-1"> = </span><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-6">works</span><span class="hl-1">.</span><span class="hl-5">getWork</span><span class="hl-1">(</span><span class="hl-6">targetWorkCode</span><span class="hl-1">);</span><br/><span class="hl-10">if</span><span class="hl-1"> (</span><span class="hl-6">targetWork</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-8">// 你的业务逻辑</span><br/><span class="hl-1">}</span>
74
+ </code><button type="button">Copy</button></pre>
75
+
76
+ <h2 id="common-pitfalls" class="tsd-anchor-link">Common Pitfalls<a href="#common-pitfalls" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
77
+ <ol>
78
+ <li><strong>WorkCode 冲突</strong>: 如果加载的两个 Work 拥有相同的 <code>workCode</code>,SDK 行为可能不可预期。务必确保唯一性。
79
+ <ul>
80
+ <li><em>解决</em>: 在构造 <code>LooseWorkWithExtrinsics</code> 时传入 <code>workCode</code> 字段强制覆盖。</li>
81
+ </ul>
82
+ </li>
83
+ <li><strong>资源隔离</strong>: 每个 Work 的纹理/模型请求是独立的。如果 Work A 和 Work B 引用了相同的 URL 资源,浏览器缓存会生效,但 SDK 内部逻辑仍视为独立资源。</li>
84
+ <li><strong>内存压力</strong>: 同时加载多个大型模型会显著增加显存占用。建议根据设备性能限制同时加载的 Work 数量。</li>
85
+ <li><strong>坐标系混淆</strong>: <code>transform</code> 仅影响 3D 模型的渲染位置。Work 内部的点位坐标 (<code>observer.position</code>) 也会自动应用此变换,但开发者在进行手动射线检测或计算时,需注意区分<strong>原始坐标</strong>和<strong>世界坐标</strong>。</li>
86
+ </ol>
87
+ <h2 id="related" class="tsd-anchor-link">Related<a href="#related" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
88
+ <ul>
89
+ <li><a href="features_five.html">Five</a>: Five 核心类说明。</li>
90
+ <li><a href="features_state.html">State</a>: 状态管理说明。</li>
91
+ <li><a href="features_work.html">Work</a>: Work 数据结构详解。</li>
92
+ </ul>
93
+ <hr>
94
+ <pre><code class="yaml"><span class="hl-0">tags</span><span class="hl-1">: [</span><span class="hl-2">multi-work</span><span class="hl-1">, </span><span class="hl-2">sandbox</span><span class="hl-1">, </span><span class="hl-2">works</span><span class="hl-1">, </span><span class="hl-2">load</span><span class="hl-1">, </span><span class="hl-2">transform</span><span class="hl-1">]</span>
95
+ </code><button type="button">Copy</button></pre>
96
+
97
+ </div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#多-work-沙盘-场景-multi-work-sandbox"><span>多 <wbr/>Work (沙盘) 场景 (<wbr/>Multi-<wbr/>Work / <wbr/>Sandbox)</span></a><ul><li><a href="#schema"><span>Schema</span></a></li><li><ul><li><a href="#核心类型定义"><span>核心类型定义</span></a></li></ul></li><li><a href="#concepts"><span>Concepts</span></a></li><li><ul><li><a href="#1-works-collection-数据集"><span>1. <wbr/>Works <wbr/>Collection (数据集)</span></a></li><li><a href="#2-workcode-唯一标识"><span>2. <wbr/>Work<wbr/>Code (唯一标识)</span></a></li><li><a href="#3-coordinate-alignment-坐标对齐"><span>3. <wbr/>Coordinate <wbr/>Alignment (坐标对齐)</span></a></li></ul></li><li><a href="#configuration"><span>Configuration</span></a></li><li><a href="#examples"><span>Examples</span></a></li><li><ul><li><a href="#1-基础加载-basic-loading"><span>1. 基础加载 (<wbr/>Basic <wbr/>Loading)</span></a></li><li><a href="#2-沙盘排布-sandbox-layout"><span>2. 沙盘排布 (<wbr/>Sandbox <wbr/>Layout)</span></a></li><li><a href="#3-动态添加-dynamic-add"><span>3. 动态添加 (<wbr/>Dynamic <wbr/>Add)</span></a></li><li><a href="#4-work-间切换-switching-works"><span>4. <wbr/>Work 间切换 (<wbr/>Switching <wbr/>Works)</span></a></li></ul></li><li><a href="#common-pitfalls"><span>Common <wbr/>Pitfalls</span></a></li><li><a href="#related"><span>Related</span></a></li></ul></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">如视 Five SDK</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
@@ -0,0 +1,119 @@
1
+ <!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>features/pano-filter | 如视 Five SDK</title><meta name="description" content="Documentation for 如视 Five SDK"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">如视 Five SDK</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">features/pano-filter</a></li></ul></div><div class="tsd-panel tsd-typography"><h1 id="pano-filter-全景图滤镜" class="tsd-anchor-link">Pano Filter (全景图滤镜)<a href="#pano-filter-全景图滤镜" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h1>
2
+ <ul>
3
+ <li><strong>Summary</strong>: <code>PBMPanoFilter</code> 用于调整全景图的视觉效果,包括亮度、对比度、饱和度、色温、色调等。它作为参数传递给 <code>ModelScene</code>,可实时改变全景图的渲染表现。</li>
4
+ <li><strong>Schema</strong>: <code>PBMPanoFilter</code>, <code>PBMUpdateable</code></li>
5
+ <li><strong>Concepts</strong>: Material Filter, Color Correction</li>
6
+ <li><strong>Configuration</strong>: Temperature, Tint, Brightness, Contrast, Saturation</li>
7
+ <li><strong>Examples</strong>: 滤镜开启与参数调整</li>
8
+ </ul>
9
+ <h2 id="schema" class="tsd-anchor-link">Schema<a href="#schema" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
10
+ <blockquote>
11
+ <p><strong>Definition</strong>: <a href="../../five/model/materials/pbmMaterial.d.ts">PBMPanoFilter</a></p>
12
+ </blockquote>
13
+ <p><code>PBMPanoFilter</code> 类定义了全景图的滤镜参数。所有属性均为对象引用,直接修改其内部属性即可生效。</p>
14
+ <pre><code class="typescript"><span class="hl-10">import</span><span class="hl-1"> { </span><span class="hl-6">PBMUpdateable</span><span class="hl-1"> } </span><span class="hl-10">from</span><span class="hl-1"> </span><span class="hl-9">&quot;@realsee/five&quot;</span><span class="hl-1">;</span><br/><br/><span class="hl-10">export</span><span class="hl-1"> </span><span class="hl-3">class</span><span class="hl-1"> </span><span class="hl-7">PBMPanoFilter</span><span class="hl-1"> </span><span class="hl-3">extends</span><span class="hl-1"> </span><span class="hl-7">PBMUpdateable</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-8">/** 对比度控制 */</span><br/><span class="hl-1"> </span><span class="hl-3">public</span><span class="hl-1"> </span><span class="hl-3">readonly</span><span class="hl-1"> </span><span class="hl-6">contrast</span><span class="hl-1">: {</span><br/><span class="hl-1"> </span><span class="hl-8">/** 对比度偏移 [-1, 1] (默认 0) */</span><br/><span class="hl-1"> </span><span class="hl-6">contrastBias</span><span class="hl-1">: </span><span class="hl-7">number</span><span class="hl-1">;</span><br/><span class="hl-1"> };</span><br/><br/><span class="hl-1"> </span><span class="hl-8">/** 饱和度控制 */</span><br/><span class="hl-1"> </span><span class="hl-3">public</span><span class="hl-1"> </span><span class="hl-3">readonly</span><span class="hl-1"> </span><span class="hl-6">saturation</span><span class="hl-1">: {</span><br/><span class="hl-1"> </span><span class="hl-8">/** 饱和度偏移 [-1, 1] (默认 0) */</span><br/><span class="hl-1"> </span><span class="hl-6">saturationBias</span><span class="hl-1">: </span><span class="hl-7">number</span><span class="hl-1">;</span><br/><span class="hl-1"> };</span><br/><br/><span class="hl-1"> </span><span class="hl-8">/** 颜色控制 (色温与色调) */</span><br/><span class="hl-1"> </span><span class="hl-3">public</span><span class="hl-1"> </span><span class="hl-3">readonly</span><span class="hl-1"> </span><span class="hl-6">color</span><span class="hl-1">: {</span><br/><span class="hl-1"> </span><span class="hl-8">/** 色温偏移 [-100, 100] (默认 0) */</span><br/><span class="hl-1"> </span><span class="hl-6">temperatureBias</span><span class="hl-1">: </span><span class="hl-7">number</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 色调偏移 [-100, 100] (默认 0) */</span><br/><span class="hl-1"> </span><span class="hl-6">tintBias</span><span class="hl-1">: </span><span class="hl-7">number</span><br/><span class="hl-1"> };</span><br/><br/><span class="hl-1"> </span><span class="hl-8">/** 高光与阴影控制 */</span><br/><span class="hl-1"> </span><span class="hl-3">public</span><span class="hl-1"> </span><span class="hl-3">readonly</span><span class="hl-1"> </span><span class="hl-6">highlightShadow</span><span class="hl-1">: {</span><br/><span class="hl-1"> </span><span class="hl-8">/** 全局亮度偏移 [-255, 255] (默认 0) */</span><br/><span class="hl-1"> </span><span class="hl-6">globalBias</span><span class="hl-1">: </span><span class="hl-7">number</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 高光偏移 [-255, 255] (默认 0) */</span><br/><span class="hl-1"> </span><span class="hl-6">highlightBias</span><span class="hl-1">: </span><span class="hl-7">number</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 阴影偏移 [-255, 255] (默认 0) */</span><br/><span class="hl-1"> </span><span class="hl-6">shadowBias</span><span class="hl-1">: </span><span class="hl-7">number</span><span class="hl-1">;</span><br/><span class="hl-1"> };</span><br/><span class="hl-1">}</span>
15
+ </code><button type="button">Copy</button></pre>
16
+
17
+ <h2 id="concepts" class="tsd-anchor-link">Concepts<a href="#concepts" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
18
+ <h3 id="parameter-binding-参数绑定" class="tsd-anchor-link">Parameter Binding (参数绑定)<a href="#parameter-binding-参数绑定" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
19
+ <p>滤镜实例需要通过 <code>five.modelScene.parameter.set('panoFilter', filter)</code> 绑定到场景中才能生效。</p>
20
+ <h2 id="configuration" class="tsd-anchor-link">Configuration<a href="#configuration" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
21
+ <p>以下参数均通过修改 <code>PBMPanoFilter</code> 实例的属性进行配置。</p>
22
+ <h3 id="color-tone-色彩与色调" class="tsd-anchor-link">Color &amp; Tone (色彩与色调)<a href="#color-tone-色彩与色调" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
23
+ <table>
24
+ <thead>
25
+ <tr>
26
+ <th style="text-align:left">Property</th>
27
+ <th style="text-align:left">Type</th>
28
+ <th style="text-align:left">Range</th>
29
+ <th style="text-align:left">Default</th>
30
+ <th style="text-align:left">Description</th>
31
+ </tr>
32
+ </thead>
33
+ <tbody>
34
+ <tr>
35
+ <td style="text-align:left"><code>color.temperatureBias</code></td>
36
+ <td style="text-align:left"><code>number</code></td>
37
+ <td style="text-align:left"><code>[-100, 100]</code></td>
38
+ <td style="text-align:left"><code>0</code></td>
39
+ <td style="text-align:left"><strong>色温</strong>。正值偏暖 (黄),负值偏冷 (蓝)。</td>
40
+ </tr>
41
+ <tr>
42
+ <td style="text-align:left"><code>color.tintBias</code></td>
43
+ <td style="text-align:left"><code>number</code></td>
44
+ <td style="text-align:left"><code>[-100, 100]</code></td>
45
+ <td style="text-align:left"><code>0</code></td>
46
+ <td style="text-align:left"><strong>色调</strong>。正值偏洋红,负值偏绿。</td>
47
+ </tr>
48
+ <tr>
49
+ <td style="text-align:left"><code>saturation.saturationBias</code></td>
50
+ <td style="text-align:left"><code>number</code></td>
51
+ <td style="text-align:left"><code>[-1, 1]</code></td>
52
+ <td style="text-align:left"><code>0</code></td>
53
+ <td style="text-align:left"><strong>饱和度</strong>。<code>0</code> 为原色,<code>-1</code> 为黑白。</td>
54
+ </tr>
55
+ <tr>
56
+ <td style="text-align:left"><code>contrast.contrastBias</code></td>
57
+ <td style="text-align:left"><code>number</code></td>
58
+ <td style="text-align:left"><code>[-1, 1]</code></td>
59
+ <td style="text-align:left"><code>0</code></td>
60
+ <td style="text-align:left"><strong>对比度</strong>。正值增强对比,负值降低对比。</td>
61
+ </tr>
62
+ </tbody>
63
+ </table>
64
+ <h3 id="light-shadow-光影" class="tsd-anchor-link">Light &amp; Shadow (光影)<a href="#light-shadow-光影" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
65
+ <table>
66
+ <thead>
67
+ <tr>
68
+ <th style="text-align:left">Property</th>
69
+ <th style="text-align:left">Type</th>
70
+ <th style="text-align:left">Range</th>
71
+ <th style="text-align:left">Default</th>
72
+ <th style="text-align:left">Description</th>
73
+ </tr>
74
+ </thead>
75
+ <tbody>
76
+ <tr>
77
+ <td style="text-align:left"><code>highlightShadow.globalBias</code></td>
78
+ <td style="text-align:left"><code>number</code></td>
79
+ <td style="text-align:left"><code>[-255, 255]</code></td>
80
+ <td style="text-align:left"><code>0</code></td>
81
+ <td style="text-align:left"><strong>亮度 (Brightness)</strong>。整体提升或降低画面亮度。</td>
82
+ </tr>
83
+ <tr>
84
+ <td style="text-align:left"><code>highlightShadow.highlightBias</code></td>
85
+ <td style="text-align:left"><code>number</code></td>
86
+ <td style="text-align:left"><code>[-255, 255]</code></td>
87
+ <td style="text-align:left"><code>0</code></td>
88
+ <td style="text-align:left"><strong>高光 (Highlight)</strong>。仅调整画面亮部的亮度。</td>
89
+ </tr>
90
+ <tr>
91
+ <td style="text-align:left"><code>highlightShadow.shadowBias</code></td>
92
+ <td style="text-align:left"><code>number</code></td>
93
+ <td style="text-align:left"><code>[-255, 255]</code></td>
94
+ <td style="text-align:left"><code>0</code></td>
95
+ <td style="text-align:left"><strong>阴影 (Shadow)</strong>。仅调整画面暗部的亮度。</td>
96
+ </tr>
97
+ </tbody>
98
+ </table>
99
+ <h2 id="examples" class="tsd-anchor-link">Examples<a href="#examples" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
100
+ <h3 id="basic-usage-基础用法" class="tsd-anchor-link">Basic Usage (基础用法)<a href="#basic-usage-基础用法" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
101
+ <p>创建一个滤镜实例并应用到 Five 场景中。</p>
102
+ <pre><code class="typescript"><span class="hl-10">import</span><span class="hl-1"> { </span><span class="hl-6">Five</span><span class="hl-1">, </span><span class="hl-6">PBMPanoFilter</span><span class="hl-1"> } </span><span class="hl-10">from</span><span class="hl-1"> </span><span class="hl-9">&quot;@realsee/five&quot;</span><span class="hl-1">;</span><br/><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">five</span><span class="hl-1"> = </span><span class="hl-3">new</span><span class="hl-1"> </span><span class="hl-5">Five</span><span class="hl-1">();</span><br/><span class="hl-8">// ... 初始化 five ...</span><br/><br/><span class="hl-8">// 1. 创建滤镜实例</span><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">panoFilter</span><span class="hl-1"> = </span><span class="hl-3">new</span><span class="hl-1"> </span><span class="hl-5">PBMPanoFilter</span><span class="hl-1">();</span><br/><br/><span class="hl-8">// 2. 配置参数 (例如:增加一点暖色调和亮度)</span><br/><span class="hl-6">panoFilter</span><span class="hl-1">.</span><span class="hl-6">color</span><span class="hl-1">.</span><span class="hl-6">temperatureBias</span><span class="hl-1"> = </span><span class="hl-11">10</span><span class="hl-1">; </span><span class="hl-8">// 暖色</span><br/><span class="hl-6">panoFilter</span><span class="hl-1">.</span><span class="hl-6">highlightShadow</span><span class="hl-1">.</span><span class="hl-6">globalBias</span><span class="hl-1"> = </span><span class="hl-11">20</span><span class="hl-1">; </span><span class="hl-8">// 提亮</span><br/><br/><span class="hl-8">// 3. 启用滤镜</span><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-6">modelScene</span><span class="hl-1">.</span><span class="hl-6">parameter</span><span class="hl-1">.</span><span class="hl-5">set</span><span class="hl-1">(</span><span class="hl-9">&#39;panoFilter&#39;</span><span class="hl-1">, </span><span class="hl-6">panoFilter</span><span class="hl-1">);</span><br/><br/><span class="hl-8">// 4. (可选) 停用滤镜</span><br/><span class="hl-8">// five.modelScene.parameter.reset(&#39;panoFilter&#39;);</span>
103
+ </code><button type="button">Copy</button></pre>
104
+
105
+ <h3 id="interactive-adjustment-动态调整" class="tsd-anchor-link">Interactive Adjustment (动态调整)<a href="#interactive-adjustment-动态调整" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
106
+ <p>滤镜参数支持实时修改,适合制作调节面板。</p>
107
+ <pre><code class="typescript"><span class="hl-10">import</span><span class="hl-1"> { </span><span class="hl-6">Five</span><span class="hl-1">, </span><span class="hl-6">PBMPanoFilter</span><span class="hl-1"> } </span><span class="hl-10">from</span><span class="hl-1"> </span><span class="hl-9">&quot;@realsee/five&quot;</span><span class="hl-1">;</span><br/><br/><span class="hl-8">// 假设已经有 five 实例</span><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">panoFilter</span><span class="hl-1"> = </span><span class="hl-3">new</span><span class="hl-1"> </span><span class="hl-5">PBMPanoFilter</span><span class="hl-1">();</span><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-6">modelScene</span><span class="hl-1">.</span><span class="hl-6">parameter</span><span class="hl-1">.</span><span class="hl-5">set</span><span class="hl-1">(</span><span class="hl-9">&#39;panoFilter&#39;</span><span class="hl-1">, </span><span class="hl-6">panoFilter</span><span class="hl-1">);</span><br/><br/><span class="hl-8">// 模拟 UI 绑定的数据对象</span><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">filterSettings</span><span class="hl-1"> = {</span><br/><span class="hl-1"> </span><span class="hl-6">brightness:</span><span class="hl-1"> </span><span class="hl-11">0</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-6">contrast:</span><span class="hl-1"> </span><span class="hl-11">0</span><span class="hl-1">,</span><br/><span class="hl-1">};</span><br/><br/><span class="hl-8">// 监听 UI 变化 (示例伪代码)</span><br/><span class="hl-3">function</span><span class="hl-1"> </span><span class="hl-5">onBrightnessChange</span><span class="hl-1">(</span><span class="hl-6">value</span><span class="hl-1">: </span><span class="hl-7">number</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-8">// value range: [-255, 255]</span><br/><span class="hl-1"> </span><span class="hl-6">panoFilter</span><span class="hl-1">.</span><span class="hl-6">highlightShadow</span><span class="hl-1">.</span><span class="hl-6">globalBias</span><span class="hl-1"> = </span><span class="hl-6">value</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">// 如果 five 没有开启自动渲染 (play: false),需要手动触发重绘</span><br/><span class="hl-1"> </span><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-6">needsRender</span><span class="hl-1"> = </span><span class="hl-3">true</span><span class="hl-1">;</span><br/><span class="hl-1">}</span><br/><br/><span class="hl-3">function</span><span class="hl-1"> </span><span class="hl-5">onContrastChange</span><span class="hl-1">(</span><span class="hl-6">value</span><span class="hl-1">: </span><span class="hl-7">number</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-8">// value range: [-1, 1]</span><br/><span class="hl-1"> </span><span class="hl-6">panoFilter</span><span class="hl-1">.</span><span class="hl-6">contrast</span><span class="hl-1">.</span><span class="hl-6">contrastBias</span><span class="hl-1"> = </span><span class="hl-6">value</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-6">needsRender</span><span class="hl-1"> = </span><span class="hl-3">true</span><span class="hl-1">;</span><br/><span class="hl-1">}</span>
108
+ </code><button type="button">Copy</button></pre>
109
+
110
+ <h2 id="related" class="tsd-anchor-link">Related<a href="#related" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
111
+ <ul>
112
+ <li><a href="features_model.html">Model</a>: 了解 ModelScene 及其参数系统。</li>
113
+ <li><a href="features_parameter.html">Parameter</a>: 了解 Five 的全局初始化参数。</li>
114
+ </ul>
115
+ <hr>
116
+ <pre><code class="yaml"><span class="hl-0">tags</span><span class="hl-1">: [</span><span class="hl-2">filter</span><span class="hl-1">, </span><span class="hl-2">material</span><span class="hl-1">, </span><span class="hl-2">visual</span><span class="hl-1">, </span><span class="hl-2">color</span><span class="hl-1">, </span><span class="hl-2">brightness</span><span class="hl-1">, </span><span class="hl-2">contrast</span><span class="hl-1">]</span>
117
+ </code><button type="button">Copy</button></pre>
118
+
119
+ </div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#pano-filter-全景图滤镜"><span>Pano <wbr/>Filter (全景图滤镜)</span></a><ul><li><a href="#schema"><span>Schema</span></a></li><li><a href="#concepts"><span>Concepts</span></a></li><li><ul><li><a href="#parameter-binding-参数绑定"><span>Parameter <wbr/>Binding (参数绑定)</span></a></li></ul></li><li><a href="#configuration"><span>Configuration</span></a></li><li><ul><li><a href="#color-tone-色彩与色调"><span>Color &amp; <wbr/>Tone (色彩与色调)</span></a></li><li><a href="#light-shadow-光影"><span>Light &amp; <wbr/>Shadow (光影)</span></a></li></ul></li><li><a href="#examples"><span>Examples</span></a></li><li><ul><li><a href="#basic-usage-基础用法"><span>Basic <wbr/>Usage (基础用法)</span></a></li><li><a href="#interactive-adjustment-动态调整"><span>Interactive <wbr/>Adjustment (动态调整)</span></a></li></ul></li><li><a href="#related"><span>Related</span></a></li></ul></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">如视 Five SDK</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>