@realsee/five 6.8.0-alpha.8 → 6.8.0

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 (475) hide show
  1. package/AGENTS_READ_ME.md +6 -1
  2. package/AI_CONTEXT.md +6 -1
  3. package/README.md +10 -3
  4. package/ai_guides/README.md +32 -2
  5. package/ai_guides/api.md +92 -21
  6. package/ai_guides/features/3dtile.md +1 -1
  7. package/ai_guides/features/camera-animation.md +18 -1
  8. package/ai_guides/features/clipper.md +2 -2
  9. package/ai_guides/features/coordinate-system.md +20 -2
  10. package/ai_guides/features/event.md +106 -10
  11. package/ai_guides/features/five.md +17 -17
  12. package/ai_guides/features/flowing-light-2d-pass.md +280 -56
  13. package/ai_guides/features/flowing-light-3d-pass.md +224 -39
  14. package/ai_guides/features/gaussian-blur-pass.md +1 -1
  15. package/ai_guides/features/gesture.md +2 -1
  16. package/ai_guides/features/get-screen-pixels.md +2 -2
  17. package/ai_guides/features/image-options.md +2 -2
  18. package/ai_guides/features/load-external-model.md +6 -2
  19. package/ai_guides/features/load-progress.md +1 -1
  20. package/ai_guides/features/material.md +20 -12
  21. package/ai_guides/features/mode.md +1 -1
  22. package/ai_guides/features/model.md +1 -1
  23. package/ai_guides/features/move-pano-effect.md +1 -1
  24. package/ai_guides/features/multi-work.md +1 -1
  25. package/ai_guides/features/pano-filter.md +149 -0
  26. package/ai_guides/features/pano-tile.md +1 -1
  27. package/ai_guides/features/pano-uv.md +1 -1
  28. package/ai_guides/features/parameter.md +26 -2
  29. package/ai_guides/features/plugin.md +1 -1
  30. package/ai_guides/features/postprocessing.md +1 -1
  31. package/ai_guides/features/raycast.md +5 -2
  32. package/ai_guides/features/request-proxy.md +1 -1
  33. package/ai_guides/features/screen-project.md +2 -1
  34. package/ai_guides/features/state.md +23 -3
  35. package/ai_guides/features/view-layer.md +1 -1
  36. package/ai_guides/features/work.md +1 -1
  37. package/ai_guides/glossary.md +4 -4
  38. package/ai_guides/release_notes/6.8.md +190 -58
  39. package/ai_guides/template.md +11 -0
  40. package/docs/00_FOR_AI_AGENTS.md +3 -2
  41. package/docs/README.md +3 -2
  42. package/docs/assets/hierarchy.js +1 -1
  43. package/docs/assets/main.js +1 -1
  44. package/docs/assets/navigation.js +1 -1
  45. package/docs/assets/search.js +1 -1
  46. package/docs/classes/five.AdaptiveLuminancePass.html +7 -6
  47. package/docs/classes/five.AnimationFrameLoop.html +1 -1
  48. package/docs/classes/five.BoundingMesh.html +2 -2
  49. package/docs/classes/five.Camera.html +3 -3
  50. package/docs/classes/five.EyeDomeLightingPass.html +1 -1
  51. package/docs/classes/five.Five.html +77 -76
  52. package/docs/classes/five.FivePass.html +1 -1
  53. package/docs/classes/five.Histogram.html +19 -0
  54. package/docs/classes/five.InternalWebGLRenderer.html +1 -1
  55. package/docs/classes/five.Model.html +8 -8
  56. package/docs/classes/five.ModelScene.html +1 -1
  57. package/docs/classes/five.NetworkSubscribe.html +5 -5
  58. package/docs/classes/five.PBMContainer.html +1 -1
  59. package/docs/classes/five.PBMCustomShader.html +42 -3
  60. package/docs/classes/five.PBMGSObject.html +5 -3
  61. package/docs/classes/five.PBMGroup.html +1 -1
  62. package/docs/classes/five.PBMMesh.html +1 -1
  63. package/docs/classes/five.PBMMeshMaterial.html +7 -7
  64. package/docs/classes/five.PBMPanoFilter.html +61 -0
  65. package/docs/classes/five.PBMPointCloud.html +1 -1
  66. package/docs/classes/five.PBMPointCloudMaterial.html +5 -6
  67. package/docs/classes/five.PBMSkinnedMesh.html +1 -1
  68. package/docs/classes/five.PBMUpdateable.html +41 -0
  69. package/docs/classes/five.PanoCircleMesh.html +1 -1
  70. package/docs/classes/five.PanoCircleMeshCustom.html +1 -1
  71. package/docs/classes/five.PanoCircleMeshSolid.html +1 -1
  72. package/docs/classes/five.Parameter.html +57 -55
  73. package/docs/classes/five.Scene.html +1 -1
  74. package/docs/classes/five.Subscribe.html +5 -5
  75. package/docs/classes/five.Tile.html +1 -1
  76. package/docs/classes/five.Tile3D.html +24 -24
  77. package/docs/classes/five.TileNode.html +1 -1
  78. package/docs/classes/five.Tileset.html +3 -2
  79. package/docs/classes/five.TrajectoryNode.html +1 -1
  80. package/docs/classes/five.Work.html +16 -16
  81. package/docs/classes/five.WorkResolvedObserver.html +22 -22
  82. package/docs/classes/gltf-loader.DDSLoader.html +1 -1
  83. package/docs/classes/gltf-loader.DRACOLoader.html +1 -1
  84. package/docs/classes/gltf-loader.GLTFLoader.html +2 -2
  85. package/docs/classes/gltf-loader.GLTFObject.html +1 -1
  86. package/docs/classes/gltf-loader.GLTFParser.html +1 -1
  87. package/docs/classes/gltf-loader.THREEGLTFLoader.html +2 -2
  88. package/docs/classes/line.Line.html +1 -1
  89. package/docs/classes/line.LineGeometry.html +1 -1
  90. package/docs/classes/line.LineMaterial.html +1 -1
  91. package/docs/classes/line.LineSegmentsGeometry.html +1 -1
  92. package/docs/classes/line.THREE_Line2.html +1 -1
  93. package/docs/classes/line.THREE_LineSegments2.html +1 -1
  94. package/docs/classes/plugins.BasePlugin.Controller.html +1 -1
  95. package/docs/classes/plugins.CSS3DObject.html +9 -0
  96. package/docs/classes/plugins.CSS3DRenderer.html +4 -2
  97. package/docs/classes/plugins.CSS3DSprite.html +11 -0
  98. package/docs/classes/plugins.Object3DHelperController.html +43 -0
  99. package/docs/classes/plugins.RoundedBoxGeometry.html +1 -1
  100. package/docs/classes/sticker.Sticker.html +1 -1
  101. package/docs/classes/vfx.Airflow.html +1 -1
  102. package/docs/classes/vfx.Flame.html +1 -1
  103. package/docs/classes/vfx.Particle.html +6 -6
  104. package/docs/classes/vfx.ParticleGPU.html +3 -3
  105. package/docs/classes/vfx.SpotLight.html +1 -1
  106. package/docs/documents/README.html +124 -3
  107. package/docs/documents/api.html +163 -35
  108. package/docs/documents/features_3dtile.html +1 -1
  109. package/docs/documents/features_camera-animation.html +18 -2
  110. package/docs/documents/features_clipper.html +2 -2
  111. package/docs/documents/features_coordinate-system.html +52 -3
  112. package/docs/documents/features_event.html +44 -8
  113. package/docs/documents/features_five.html +17 -17
  114. package/docs/documents/features_flowing-light-2d-pass.html +176 -41
  115. package/docs/documents/features_flowing-light-3d-pass.html +160 -40
  116. package/docs/documents/features_gaussian-blur-pass.html +6 -6
  117. package/docs/documents/features_gesture.html +2 -1
  118. package/docs/documents/features_get-screen-pixels.html +2 -2
  119. package/docs/documents/features_image-options.html +2 -2
  120. package/docs/documents/features_load-external-model.html +6 -2
  121. package/docs/documents/features_load-progress.html +1 -1
  122. package/docs/documents/features_material.html +11 -4
  123. package/docs/documents/features_mode.html +1 -1
  124. package/docs/documents/features_model.html +1 -1
  125. package/docs/documents/features_move-pano-effect.html +1 -1
  126. package/docs/documents/features_multi-work.html +1 -1
  127. package/docs/documents/features_pano-filter.html +123 -0
  128. package/docs/documents/features_pano-tile.html +1 -1
  129. package/docs/documents/features_pano-uv.html +1 -1
  130. package/docs/documents/features_parameter.html +11 -3
  131. package/docs/documents/features_plugin.html +1 -1
  132. package/docs/documents/features_postprocessing.html +1 -1
  133. package/docs/documents/features_raycast.html +5 -2
  134. package/docs/documents/features_request-proxy.html +1 -1
  135. package/docs/documents/features_screen-project.html +2 -1
  136. package/docs/documents/features_state.html +9 -2
  137. package/docs/documents/features_view-layer.html +1 -1
  138. package/docs/documents/features_work.html +1 -1
  139. package/docs/documents/glossary.html +5 -5
  140. package/docs/documents/release_notes_6.8.html +164 -64
  141. package/docs/documents/template.html +9 -0
  142. package/docs/functions/five.createDebugBoundingMesh.html +1 -1
  143. package/docs/functions/five.parseWork.html +1 -1
  144. package/docs/functions/plugins.CSS3DPlugin.html +1 -0
  145. package/docs/functions/plugins.GaussianSplattingEntranceAnimationPlugin.html +1 -0
  146. package/docs/functions/plugins.Object3DHelperPlugin.html +1 -0
  147. package/docs/functions/react.useFiveCurrentObserver.html +2 -2
  148. package/docs/functions/react.useFiveFloor.html +2 -2
  149. package/docs/functions/react.useFiveProject2d.html +2 -2
  150. package/docs/functions/vue.useFiveCurrentObserver.html +2 -2
  151. package/docs/functions/vue.useFiveFloor.html +2 -2
  152. package/docs/functions/vue.useFiveWorks.html +2 -2
  153. package/docs/hierarchy.html +1 -1
  154. package/docs/index.html +124 -3
  155. package/docs/interfaces/five.AddableObject.html +1 -1
  156. package/docs/interfaces/five.AjaxOptions.html +1 -1
  157. package/docs/interfaces/five.BaseEvent.html +7 -2
  158. package/docs/interfaces/five.BaseExtendableEvent.html +11 -0
  159. package/docs/interfaces/five.EventCallback.html +58 -54
  160. package/docs/interfaces/five.FiveInitArgs.html +2 -2
  161. package/docs/interfaces/five.FloorplanControllerCustomInitArgs.html +9 -9
  162. package/docs/interfaces/five.GestureEvent.html +21 -2
  163. package/docs/interfaces/five.GesturePointer.html +20 -0
  164. package/docs/interfaces/five.ImageOptions.html +1 -1
  165. package/docs/interfaces/five.IntersectEvent.html +10 -2
  166. package/docs/interfaces/five.IntersectMesh.html +1 -1
  167. package/docs/interfaces/five.IntersectMeshInterface.html +1 -1
  168. package/docs/interfaces/five.Intersection.html +1 -1
  169. package/docs/interfaces/five.LooseWorkObserver.html +2 -2
  170. package/docs/interfaces/five.LooseWorkPanorama.html +2 -2
  171. package/docs/interfaces/five.LooseWorkWithExtrinsics.html +6 -6
  172. package/docs/interfaces/five.MapviewControllerCustomInitArgs.html +10 -10
  173. package/docs/interfaces/five.ModeChangeEvent.html +9 -2
  174. package/docs/interfaces/five.ModelControllerCustomInitArgs.html +1 -1
  175. package/docs/interfaces/five.ModelEvent.html +7 -2
  176. package/docs/interfaces/five.ModelSceneEvent.html +7 -2
  177. package/docs/interfaces/five.ModelTileEvent.html +7 -2
  178. package/docs/interfaces/five.MovePanoOptions.html +8 -8
  179. package/docs/interfaces/five.NetworkAbortError.html +1 -1
  180. package/docs/interfaces/five.NetworkFirbiddenError.html +1 -1
  181. package/docs/interfaces/five.NetworkOptions.html +1 -1
  182. package/docs/interfaces/five.NetworkProxyError.html +1 -1
  183. package/docs/interfaces/five.NetworkResourceEvent.html +7 -2
  184. package/docs/interfaces/five.NetworkResponseError.html +1 -1
  185. package/docs/interfaces/five.NetworkTimeoutError.html +1 -1
  186. package/docs/interfaces/five.ObjectEvent.html +7 -2
  187. package/docs/interfaces/five.PBMClipperParameter.html +2 -2
  188. package/docs/interfaces/five.PBMCustomShaderInitArgs.html +2 -2
  189. package/docs/interfaces/five.PBMCustomShaderSlots.html +2 -2
  190. package/docs/interfaces/five.PBMMaterial.html +1 -1
  191. package/docs/interfaces/five.PBMMeshMaterialParameters.html +5 -3
  192. package/docs/interfaces/five.PBMPanoDepth.html +5 -5
  193. package/docs/interfaces/five.PBMPanoFilterValue.html +6 -0
  194. package/docs/interfaces/five.PBMPanoPicture.html +8 -6
  195. package/docs/interfaces/five.PBMPointCloudMaterialParameters.html +2 -3
  196. package/docs/interfaces/five.PBMRefinedScreen.html +2 -2
  197. package/docs/interfaces/five.PanoCircleMeshInterface.html +2 -2
  198. package/docs/interfaces/five.PanoEvent.html +15 -2
  199. package/docs/interfaces/five.PanoPrepareEvent.html +15 -0
  200. package/docs/interfaces/five.PanoTextureEvent.html +11 -2
  201. package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +1 -1
  202. package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +1 -1
  203. package/docs/interfaces/five.ParameterMaterialValue.html +40 -38
  204. package/docs/interfaces/five.ParameterTilesetValue.html +15 -15
  205. package/docs/interfaces/five.ParameterValue.html +54 -52
  206. package/docs/interfaces/five.Pose.html +1 -1
  207. package/docs/interfaces/five.RenderEvent.html +7 -2
  208. package/docs/interfaces/five.ResolvedParameterValue.html +55 -54
  209. package/docs/interfaces/five.RgbaData.html +7 -0
  210. package/docs/interfaces/five.SplatData.html +2 -2
  211. package/docs/interfaces/five.State.html +1 -1
  212. package/docs/interfaces/five.StateEvent.html +9 -2
  213. package/docs/interfaces/five.TextureOptions.html +1 -1
  214. package/docs/interfaces/five.Tile3DOptions.html +2 -2
  215. package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +7 -7
  216. package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +1 -1
  217. package/docs/interfaces/five.ViewLayer.html +24 -24
  218. package/docs/interfaces/five.WorkCubeImage.html +3 -2
  219. package/docs/interfaces/five.WorkImage.html +6 -5
  220. package/docs/interfaces/five.WorkInitial.html +8 -8
  221. package/docs/interfaces/five.WorkModel.html +8 -8
  222. package/docs/interfaces/five.WorkModelLayer.html +6 -6
  223. package/docs/interfaces/five.WorkObserver.html +29 -29
  224. package/docs/interfaces/five.WorkObserverJson.html +2 -2
  225. package/docs/interfaces/five.WorkObserverProto.html +26 -0
  226. package/docs/interfaces/five.WorkPanoramaJson.html +2 -2
  227. package/docs/interfaces/five.WorkTile.html +6 -5
  228. package/docs/interfaces/five.WorkVideo.html +4 -4
  229. package/docs/interfaces/five.WorksEvent.html +7 -2
  230. package/docs/interfaces/five.XRControllerEvent.html +10 -2
  231. package/docs/interfaces/five.XRControllerState.html +8 -0
  232. package/docs/interfaces/five.XRGestureEvent.html +13 -2
  233. package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +1 -1
  234. package/docs/interfaces/five.XRSessionEvent.html +9 -2
  235. package/docs/interfaces/plugins.BackgroundPluginController.html +1 -1
  236. package/docs/interfaces/plugins.BackgroundPluginType.EventMap.html +1 -1
  237. package/docs/interfaces/plugins.BasePlugin.State.html +1 -1
  238. package/docs/interfaces/plugins.CSS3DPluginController.html +52 -0
  239. package/docs/interfaces/plugins.CSS3DPluginType.Config.html +2 -0
  240. package/docs/interfaces/plugins.CSS3DPluginType.CreateCSS3DObjectType.html +10 -0
  241. package/docs/interfaces/plugins.CSS3DPluginType.EventMap.html +10 -0
  242. package/docs/interfaces/plugins.CSS3DPluginType.Params.html +4 -0
  243. package/docs/interfaces/plugins.CSS3DPluginType.State.html +8 -0
  244. package/docs/interfaces/plugins.CSS3DRendererParameters.html +2 -0
  245. package/docs/interfaces/plugins.DynamicPathLinePluginController.html +3 -3
  246. package/docs/interfaces/plugins.DynamicPathLinePluginType.EventMap.html +1 -1
  247. package/docs/interfaces/plugins.DynamicPathLinePluginType.State.html +1 -1
  248. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationController.html +44 -0
  249. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.BoundingAABB2D.html +3 -0
  250. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.Config.html +8 -0
  251. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.EventMap.html +10 -0
  252. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.Keyframe.html +3 -0
  253. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.State.html +8 -0
  254. package/docs/interfaces/plugins.ItemMaskController.html +1 -1
  255. package/docs/interfaces/plugins.ItemMaskPluginType.EventMap.html +1 -1
  256. package/docs/interfaces/plugins.ItemMaskPluginType.State.html +2 -2
  257. package/docs/interfaces/plugins.Object3DHelperPluginType.BaseController.html +30 -0
  258. package/docs/interfaces/plugins.Object3DHelperPluginType.BaseHelper.html +22 -0
  259. package/docs/interfaces/plugins.Object3DHelperPluginType.BoundingBoxController.html +30 -0
  260. package/docs/interfaces/plugins.Object3DHelperPluginType.HelperOffset.html +4 -0
  261. package/docs/interfaces/plugins.Object3DHelperPluginType.MoveController.html +36 -0
  262. package/docs/interfaces/plugins.Object3DHelperPluginType.MoveHelperAbstract.html +32 -0
  263. package/docs/interfaces/plugins.Object3DHelperPluginType.Object3DHelper.html +12 -0
  264. package/docs/interfaces/plugins.Object3DHelperPluginType.Object3DHelperPluginState.html +4 -0
  265. package/docs/interfaces/plugins.Object3DHelperPluginType.Object3DHelperState.html +4 -0
  266. package/docs/interfaces/plugins.Object3DHelperPluginType.ObjectHelperControllers.html +4 -0
  267. package/docs/interfaces/plugins.Object3DHelperPluginType.RotateController.html +36 -0
  268. package/docs/interfaces/plugins.Object3DHelperPluginType.RotateHelperAbstract.html +28 -0
  269. package/docs/interfaces/plugins.Object3DHelperPluginType.Scissor.html +5 -0
  270. package/docs/interfaces/plugins.Object3DHelperPluginType.Vector2Position.html +3 -0
  271. package/docs/interfaces/plugins.Object3DHelperPluginType.Vector3Position.html +4 -0
  272. package/docs/interfaces/plugins.OrientationPluginController.html +6 -6
  273. package/docs/interfaces/plugins.OrientationPluginType.EventMap.html +1 -1
  274. package/docs/interfaces/plugins.OrientationPluginType.State.html +1 -1
  275. package/docs/interfaces/plugins.PanoAnimeController.html +1 -1
  276. package/docs/interfaces/plugins.PanoAnimePluginType.EventMap.html +1 -1
  277. package/docs/interfaces/plugins.PanoAnimePluginType.State.html +1 -1
  278. package/docs/interfaces/plugins.PlayingState.html +2 -2
  279. package/docs/interfaces/plugins.PluginTemplateType.EventMap.html +1 -1
  280. package/docs/interfaces/plugins.PluginTemplateType.State.html +1 -1
  281. package/docs/interfaces/plugins.TrajectoryController.html +8 -8
  282. package/docs/interfaces/react.FiveInjectionTypes.html +21 -21
  283. package/docs/interfaces/sticker.IntersectionLike.html +2 -2
  284. package/docs/interfaces/vfx.ParticleArgs.html +4 -4
  285. package/docs/interfaces/vue.FiveActionVueCallbacks.html +3 -3
  286. package/docs/modules/five.html +1 -1
  287. package/docs/modules/plugins.CSS3DPluginType.html +1 -0
  288. package/docs/modules/plugins.GaussianSplattingEntranceAnimationPluginType.html +1 -0
  289. package/docs/modules/plugins.Object3DHelperPluginType.html +1 -0
  290. package/docs/modules/plugins.html +1 -1
  291. package/docs/modules.html +1 -1
  292. package/docs/types/five.ControllerEventTypes.html +30 -26
  293. package/docs/types/five.EasingFunction.html +1 -0
  294. package/docs/types/five.EventTypes.html +26 -26
  295. package/docs/types/five.LegacyEventType.html +7 -7
  296. package/docs/types/five.PBMAlphaMode.html +1 -1
  297. package/docs/types/five.PBMColorStyle.html +1 -1
  298. package/docs/types/five.PBMFloorStyle.html +1 -1
  299. package/docs/types/five.PBMMeshShaderType.html +1 -1
  300. package/docs/types/five.PBMPointBack.html +1 -1
  301. package/docs/types/five.PBMPointCloudShaderType.html +1 -1
  302. package/docs/types/five.PBMPointShape.html +1 -1
  303. package/docs/types/five.PBMPointSize.html +1 -1
  304. package/docs/types/five.PBMTransition.html +1 -1
  305. package/docs/types/five.ParseOptions.html +6 -6
  306. package/docs/types/five.Works.html +1 -1
  307. package/docs/types/plugins.BasePlugin.EventMap.html +1 -1
  308. package/docs/types/plugins.CSS3DPluginType.PluginData.html +1 -0
  309. package/docs/types/plugins.CSS3DPluginType.ServerData.html +1 -0
  310. package/docs/types/plugins.Object3DHelperPluginType.AddObject3DHelperConfig.html +13 -0
  311. package/docs/types/plugins.Object3DHelperPluginType.Circle.html +1 -0
  312. package/docs/types/plugins.Object3DHelperPluginType.Color.html +1 -0
  313. package/docs/types/plugins.Object3DHelperPluginType.Direction.html +1 -0
  314. package/docs/types/plugins.Object3DHelperPluginType.Direction4.html +1 -0
  315. package/docs/types/plugins.Object3DHelperPluginType.HelperConfig.html +1 -0
  316. package/docs/types/plugins.Object3DHelperPluginType.HelperEventMap.html +17 -0
  317. package/docs/types/plugins.Object3DHelperPluginType.InternalHelperEventMap.html +8 -0
  318. package/docs/types/plugins.Object3DHelperPluginType.Object3DHelperEventMap.html +1 -0
  319. package/docs/types/plugins.Object3DHelperPluginType.Object3DHelperPluginEventMap.html +7 -0
  320. package/docs/types/plugins.Object3DHelperPluginType.PositionFrom.html +1 -0
  321. package/docs/types/plugins.Object3DHelperPluginType.ScaleCallback.html +1 -0
  322. package/docs/types/plugins.Object3DHelperPluginType.ScalePosition.html +4 -0
  323. package/docs/types/plugins.Object3DHelperPluginType.UseFaceNormalInterface.html +4 -0
  324. package/docs/types/plugins.Object3DHelperPluginType.Vector2WithArray.html +1 -0
  325. package/docs/types/plugins.Object3DHelperPluginType.Vector3WithArray.html +1 -0
  326. package/docs/variables/five.PROXY_CONTROLLER_EVENT_NAMES.html +1 -1
  327. package/five/application/events.d.ts +1 -1
  328. package/five/application/five.d.ts +6 -5
  329. package/five/bvh/bvhObject.d.ts +2 -2
  330. package/five/controllers/base.d.ts +1 -0
  331. package/five/controllers/events.d.ts +5 -1
  332. package/five/controllers/mapview.d.ts +1 -0
  333. package/five/controllers/model.d.ts +2 -2
  334. package/five/controllers/panorama.d.ts +3 -2
  335. package/five/controllers/xrPanorama.d.ts +1 -1
  336. package/five/core/camera.d.ts +1 -1
  337. package/five/gaussian-splatting/util/renderData.d.ts +66 -0
  338. package/five/index.d.ts +4 -1
  339. package/five/index.js +272 -748
  340. package/five/index.mjs +26894 -32055
  341. package/five/meshes/boundingMesh.d.ts +1 -0
  342. package/five/model/index.d.ts +2 -2
  343. package/five/model/loaders/glTF-helpers/extensions/CESIUM_RTC.d.ts +1 -1
  344. package/five/model/loaders/glTF-helpers/extensions/EXT_meshopt_compression.d.ts +1 -1
  345. package/five/model/loaders/glTF-helpers/extensions/EXT_texture_webp.d.ts +1 -1
  346. package/five/model/loaders/glTF-helpers/extensions/KHR_binary_glTF.d.ts +2 -2
  347. package/five/model/loaders/glTF-helpers/extensions/KHR_draco_mesh_compression.d.ts +1 -1
  348. package/five/model/loaders/glTF-helpers/extensions/KHR_gaussian_splatting.d.ts +26 -0
  349. package/five/model/loaders/glTF-helpers/extensions/KHR_gaussian_splatting_compression_spz.d.ts +8 -6
  350. package/five/model/loaders/glTF-helpers/extensions/KHR_gaussian_splatting_compression_spz_2.d.ts +13 -0
  351. package/five/model/loaders/glTF-helpers/extensions/KHR_materials_clearcoat.d.ts +4 -0
  352. package/five/model/loaders/glTF-helpers/extensions/KHR_materials_emissive_strength.d.ts +4 -0
  353. package/five/model/loaders/glTF-helpers/extensions/KHR_materials_sheen.d.ts +4 -0
  354. package/five/model/loaders/glTF-helpers/extensions/KHR_materials_transmission.d.ts +4 -0
  355. package/five/model/loaders/glTF-helpers/extensions/KHR_materials_unlit.d.ts +4 -0
  356. package/five/model/loaders/glTF-helpers/extensions/KHR_node_visibility.d.ts +4 -0
  357. package/five/model/loaders/glTF-helpers/extensions/KHR_texture_basisu.d.ts +1 -1
  358. package/five/model/loaders/glTF-helpers/extensions/KHR_texture_transform.d.ts +1 -1
  359. package/five/model/loaders/glTF-helpers/extensions/REALSEE_materials_lightmap.d.ts +1 -1
  360. package/five/model/loaders/glTF-helpers/extensions/base.d.ts +3 -1
  361. package/five/model/loaders/glTF-helpers/index.d.ts +4 -2
  362. package/five/model/loaders/glTF-helpers/parser.d.ts +16 -14
  363. package/five/model/loaders/spz.d.ts +2 -2
  364. package/five/model/materials/pbmMaterial.d.ts +54 -4
  365. package/five/model/materials/pbmMeshMaterial.d.ts +5 -3
  366. package/five/model/materials/pbmPointCloudMaterial.d.ts +0 -2
  367. package/five/model/objects/{pbmGSObject.d.ts → pbmGaussianSplattingObject.d.ts} +4 -1
  368. package/five/model/objects/pbmGaussianSplattingRenderMesh.d.ts +59 -0
  369. package/five/model/objects/pbmGaussianSplattingTestMesh.d.ts +7 -0
  370. package/five/model/parameter.d.ts +11 -6
  371. package/five/model/tile3d/index.d.ts +5 -3
  372. package/five/model/tile3d/tile-node.d.ts +2 -2
  373. package/five/model/tile3d/tileset.d.ts +1 -0
  374. package/five/renderer/postprocessing/passes/adaptive-luminance-pass.d.ts +9 -7
  375. package/five/renderer/postprocessing/passes/flowing-light-2d-pass.d.ts +16 -2
  376. package/five/renderer/postprocessing/passes/flowing-light-3d-pass.d.ts +16 -2
  377. package/five/renderer/postprocessing/passes/gaussian-blur-pass.d.ts +1 -1
  378. package/five/renderer/tools/render-cube-to-equirectangular.d.ts +7 -0
  379. package/five/renderer/tools/render-full-screen.d.ts +1 -1
  380. package/five/texture/histogram.d.ts +54 -0
  381. package/five/texture/loader.d.ts +1 -1
  382. package/five/texture/textureData.d.ts +11 -0
  383. package/five/thirdparty/hammer.d.ts +371 -255
  384. package/five/thirdparty/jsrsasign.d.ts +5 -20
  385. package/five/types/movePanoOptions.d.ts +4 -3
  386. package/five/utils/error.d.ts +1 -0
  387. package/five/utils/event.d.ts +98 -37
  388. package/five/utils/imageURL.d.ts +1 -1
  389. package/five/utils/memoryUsage.d.ts +2 -2
  390. package/five/utils/subscribe.d.ts +2 -2
  391. package/five/webxr/motionHelper.d.ts +1 -1
  392. package/five/work/index.d.ts +1 -0
  393. package/five/work/looseWorkType.d.ts +2 -2
  394. package/five/work/work.d.ts +5 -35
  395. package/five/work/workJsonType.d.ts +2 -2
  396. package/five/work/workObserverProto.d.ts +39 -0
  397. package/gltf-loader/index.js +9 -9
  398. package/gltf-loader/index.mjs +1351 -1451
  399. package/line/index.js +4 -4
  400. package/line/index.mjs +334 -513
  401. package/llms.txt +40 -3
  402. package/package.json +4 -4
  403. package/plugins/CSS3DPlugin/Controller.d.ts +64 -0
  404. package/plugins/CSS3DPlugin/index.d.ts +5 -0
  405. package/plugins/CSS3DPlugin/typing.d.ts +32 -0
  406. package/plugins/GaussianSplattingEntranceAnimationPlugin/Controller.d.ts +30 -0
  407. package/plugins/GaussianSplattingEntranceAnimationPlugin/index.d.ts +5 -0
  408. package/plugins/GaussianSplattingEntranceAnimationPlugin/typing.d.ts +28 -0
  409. package/plugins/Object3DHelperPlugin/Controller.d.ts +99 -0
  410. package/plugins/Object3DHelperPlugin/Controllers/BaseController.d.ts +142 -0
  411. package/plugins/Object3DHelperPlugin/Controllers/BoundingBoxController.d.ts +16 -0
  412. package/plugins/Object3DHelperPlugin/Controllers/MoveController.d.ts +66 -0
  413. package/plugins/Object3DHelperPlugin/Controllers/RotateController.d.ts +61 -0
  414. package/plugins/Object3DHelperPlugin/FiveControllerWrapper.d.ts +17 -0
  415. package/plugins/Object3DHelperPlugin/Helper/BaseHelper.d.ts +97 -0
  416. package/plugins/Object3DHelperPlugin/Helper/BoundingBoxHelper.d.ts +16 -0
  417. package/plugins/Object3DHelperPlugin/Helper/MoveHelper.d.ts +37 -0
  418. package/plugins/Object3DHelperPlugin/Helper/RotateHelper.d.ts +93 -0
  419. package/plugins/Object3DHelperPlugin/constant.d.ts +27 -0
  420. package/plugins/Object3DHelperPlugin/index.d.ts +6 -0
  421. package/plugins/Object3DHelperPlugin/typing.d.ts +143 -0
  422. package/plugins/Object3DHelperPlugin/utils/ArrowGroup.d.ts +22 -0
  423. package/plugins/Object3DHelperPlugin/utils/CenterHandle.d.ts +23 -0
  424. package/plugins/Object3DHelperPlugin/utils/PlaneHandle.d.ts +19 -0
  425. package/plugins/Object3DHelperPlugin/utils/calculateScaleByCamera.d.ts +5 -0
  426. package/plugins/Object3DHelperPlugin/utils/cameraHooks.d.ts +2 -0
  427. package/plugins/Object3DHelperPlugin/utils/direction.d.ts +14 -0
  428. package/plugins/Object3DHelperPlugin/utils/getMouseRaycaster.d.ts +5 -0
  429. package/plugins/Object3DHelperPlugin/utils/getOrthographicCameraDirection.d.ts +8 -0
  430. package/plugins/Object3DHelperPlugin/utils/setObjectQuaternion.d.ts +8 -0
  431. package/plugins/Object3DHelperPlugin/utils/solidGuide.d.ts +27 -0
  432. package/plugins/Object3DHelperPlugin/utils/tipsDom.d.ts +8 -0
  433. package/plugins/TrajectoryPlugin/Controller.d.ts +1 -1
  434. package/plugins/index.d.ts +4 -1
  435. package/plugins/index.js +35 -21
  436. package/plugins/index.mjs +5418 -4238
  437. package/plugins/thirdParty/CSS3DRenderer.d.ts +16 -3
  438. package/plugins/thirdParty/domevents.d.ts +36 -0
  439. package/plugins/utils/uuid.d.ts +1 -4
  440. package/react/context.d.ts +3 -2
  441. package/react/createProvider.d.ts +4 -4
  442. package/react/createStore.d.ts +3 -3
  443. package/react/hooks/useFiveProject2d.d.ts +1 -1
  444. package/react/index.js +3 -3
  445. package/react/index.mjs +572 -783
  446. package/react/rendererPool.d.ts +2 -2
  447. package/shader-lib/index.js +13 -14
  448. package/shader-lib/index.mjs +424 -824
  449. package/sticker/index.js +3 -3
  450. package/sticker/index.mjs +102 -142
  451. package/umd/five-gltf-loader.js +9 -9
  452. package/umd/five-line.js +4 -4
  453. package/umd/five-plugins.js +35 -21
  454. package/umd/five-react.js +3 -3
  455. package/umd/five-shader-lib.js +13 -14
  456. package/umd/five-sticker.js +3 -3
  457. package/umd/five-vfx.js +21 -21
  458. package/umd/five-vue.js +3 -3
  459. package/umd/five.js +267 -743
  460. package/vfx/index.js +21 -21
  461. package/vfx/index.mjs +454 -910
  462. package/vue/index.js +3 -3
  463. package/vue/index.mjs +309 -301
  464. package/vue/rendererPool.d.ts +5 -5
  465. package/work-downloader/index.js +3 -3
  466. package/work-downloader/index.mjs +339 -556
  467. package/five/gs/util/renderData.d.ts +0 -32
  468. package/five/model/loaders/glTF-helpers/extensions/PBM_mesh.d.ts +0 -11
  469. package/five/model/objects/pbmGSRenderMesh.d.ts +0 -29
  470. package/five/work/workObserverUtils.d.ts +0 -36
  471. /package/five/assets/{realsee-pmg-data-url.d.ts → realsee-png-data-url.d.ts} +0 -0
  472. /package/five/{gs → gaussian-splatting}/wasm/data.d.ts +0 -0
  473. /package/five/{gs → gaussian-splatting}/wasm/sort.d.ts +0 -0
  474. /package/five/{gs → gaussian-splatting}/worker/dataWorker.d.ts +0 -0
  475. /package/five/{gs → gaussian-splatting}/worker/sortWorker.d.ts +0 -0
package/AGENTS_READ_ME.md CHANGED
@@ -1,4 +1,9 @@
1
1
  # AI_CONTEXT
2
2
  You are an AI assistant.
3
3
  This package contains comprehensive local documentation.
4
- DO NOT search the web for documentation. Instead, read the markdown files in the `./ai_guides` directory. Start with `./ai_guides/README.md`
4
+ DO NOT search the web for documentation.
5
+
6
+ **START HERE → Read [llms.txt](./llms.txt)** for a context-optimized index with scenario-based lookup and keyword tags.
7
+
8
+ For the full documentation map, see [ai_guides/README.md](./ai_guides/README.md).
9
+ Do NOT use the `docs/` directory (auto-generated HTML).
package/AI_CONTEXT.md CHANGED
@@ -1,4 +1,9 @@
1
1
  # AI_CONTEXT
2
2
  You are an AI assistant.
3
3
  This package contains comprehensive local documentation.
4
- DO NOT search the web for documentation. Instead, read the markdown files in the `./ai_guides` directory. Start with `./ai_guides/README.md`
4
+ DO NOT search the web for documentation.
5
+
6
+ **START HERE → Read [llms.txt](./llms.txt)** for a context-optimized index with scenario-based lookup and keyword tags.
7
+
8
+ For the full documentation map, see [ai_guides/README.md](./ai_guides/README.md).
9
+ Do NOT use the `docs/` directory (auto-generated HTML).
package/README.md CHANGED
@@ -5,8 +5,14 @@
5
5
  贝壳如视三维渲染框架
6
6
 
7
7
  > **🤖 For AI Assistants (Copilot, Cursor, etc.):**
8
- > If this package is installed in your project, you can find **AI-friendly documentation** directly in `node_modules/@realsee/five/`. Please **READ** `node_modules/@realsee/five/ai_guides/README.md` as your primary source of truth. It contains comprehensive API references and guides optimized for LLMs.
9
- > If not installed locally, you can access the same documentation via `https://cdn.jsdelivr.net/npm/@realsee/five@alpha/ai_guides/README.md` or `https://unpkg.com/@realsee/five@alpha/ai_guides/README.md`.
8
+ > **START HERE Read [llms.txt](./llms.txt)** for a context-optimized documentation index with scenario-based lookup.
9
+ > For the full documentation map, see [ai_guides/README.md](./ai_guides/README.md).
10
+ > Do NOT use `docs/` directory (auto-generated HTML, redundant and hard to parse).
11
+ >
12
+ > If this package is installed locally, read `node_modules/@realsee/five/llms.txt` directly.
13
+ > If not installed, use a CDN mirror:
14
+ > - `https://cdn.jsdelivr.net/npm/@realsee/five@latest/llms.txt`
15
+ > - `https://unpkg.com/@realsee/five@latest/llms.txt`
10
16
  ## Introduction
11
17
 
12
18
  **Five** 是 [贝壳如视(realsee.com)](https://realsee.com) 提供的在浏览器中运行的三维空间渲染 Javascript SDK。基于 [Three.js](https://threejs.org/) 开发,帮助开发者在浏览器中构建高质量的 VR 看房与空间交互应用。
@@ -66,7 +72,8 @@ For comprehensive guides and API references, please refer to the documentation i
66
72
 
67
73
  **⚠️ Note for AI Agents:**
68
74
 
69
- * **For a context-optimized index, read [llms.txt](./llms.txt).**
75
+ * **START HERE [llms.txt](./llms.txt)** — context-optimized index with scenario → doc mapping and keyword tags.
76
+ * If you need the full documentation map, read [ai_guides/README.md](ai_guides/README.md).
70
77
 
71
78
  **Do's (推荐):**
72
79
  * **Do** Read [Intro](ai_guides/intro.md) first to understand the high-level architecture.
@@ -74,10 +74,11 @@
74
74
  * [Pano Tile](./features/pano-tile.md): 全景瓦片渲染机制(高分辨率分片加载)。
75
75
  * [Model](./features/model.md): 内置模型渲染 (Mesh/Geometry)。
76
76
  * [Postprocessing](./features/postprocessing.md): 后处理效果 (Pass, EffectComposer)。
77
- * [Flowing Light 2D Pass](./features/flowing-light-2d-pass.md): 屏幕空间流光特效。
78
- * [Flowing Light 3D Pass](./features/flowing-light-3d-pass.md): 基于模型深度的流光特效。
77
+ * [Flowing Light 2D Pass](./features/flowing-light-2d-pass.md): 屏幕空间流光特效(InstancedMesh 优化)。
78
+ * [Flowing Light 3D Pass](./features/flowing-light-3d-pass.md): 3D 世界坐标流光特效(InstancedMesh 优化)。
79
79
  * [Gaussian Blur Pass](./features/gaussian-blur-pass.md): 高斯模糊特效。
80
80
  * [Material](./features/material.md): 材质参数配置 (透明度、点云大小、顶点标记)。
81
+ * [Pano Filter](./features/pano-filter.md): 全景图滤镜 (亮度、对比度、色温调节)。
81
82
  * [Get Screen Pixels](./features/get-screen-pixels.md): 获取屏幕像素 (放大镜/截图)。
82
83
  * [Move Pano Effect](./features/move-pano-effect.md): 全景点位切换的过渡效果。
83
84
  * [Clipper](./features/clipper.md): 模型裁切功能 (房屋剖面)。
@@ -107,6 +108,34 @@
107
108
  * [6.7](./release_notes/6.7.md)
108
109
  * [6.6](./release_notes/6.6.md)
109
110
 
111
+ ## Common Scenarios (场景 → 文档速查)
112
+
113
+ > **Keyword Search Tip:** Each doc in `features/` has a `tags` yaml block at the bottom with Chinese and English keywords. Use these for keyword matching when the scenario table below doesn't cover your need.
114
+
115
+ | Scenario | Docs | Tags |
116
+ | :--- | :--- | :--- |
117
+ | 点击拾取物体 / Object picking | [Raycast](./features/raycast.md) | click, hit-test, floor-detection, 碰撞检测, 物体选择 |
118
+ | 3D 标签 / HTML overlay on 3D point | [Screen Project](./features/screen-project.md) | label, HUD, tooltip, 坐标转换, 3D转2D |
119
+ | 全景滤镜 / 色温调节 / Color correction | [Pano Filter](./features/pano-filter.md) | warm, cool, brightness, contrast, saturation, 暖色, 冷色, 饱和度 |
120
+ | 加载外部 GLTF/OBJ/FBX 模型 | [Load External Model](./features/load-external-model.md) | gltf, glb, ply, splat, fbx, draco, point-cloud, dispose |
121
+ | 相机巡航 / 自动导览 / Camera fly-through | [Camera Animation](./features/camera-animation.md) | rotate, zoom, auto-tour, 运镜, 旋转, 缩放 |
122
+ | 截图 / 放大镜 / Screen capture | [Get Screen Pixels](./features/get-screen-pixels.md) | magnifier, screenshot, color-picker, 取色器 |
123
+ | 模型裁切 / 房屋剖面 | [Clipper](./features/clipper.md) | clipping-box, section-view, discard, 开盖, 剖面 |
124
+ | 流光特效 / Flowing light effect | [Flowing Light 2D](./features/flowing-light-2d-pass.md), [Flowing Light 3D](./features/flowing-light-3d-pass.md) | 光带, 导航路径, 动态路径, instanced |
125
+ | 模糊特效 / Blur effect | [Gaussian Blur Pass](./features/gaussian-blur-pass.md) | 毛玻璃, 背景虚化, gaussian |
126
+ | 保存/恢复场景状态 | [State](./features/state.md) | snapshot, save, restore, 快照, 场景还原 |
127
+ | 多场景切换 / 沙盘 | [Multi-Work](./features/multi-work.md) | sandbox, 多户型, 拼接, workCode |
128
+ | 请求鉴权 / CDN 替换 | [Request Proxy](./features/request-proxy.md) | authentication, token, url-rewrite, cors, 私有化 |
129
+ | 插件开发 | [Plugin](./features/plugin.md) | lifecycle, extension, baseplugin, 状态管理 |
130
+ | 事件监听 / 拦截默认行为 | [Event](./features/event.md) | preventDefault, waitUntil, on, off, gesture, 回调 |
131
+ | 手势交互 / 自定义拖拽 | [Gesture](./features/gesture.md) | tap, pan, pinch, press, 触摸, 鼠标 |
132
+ | 后处理特效 / 自定义 Shader | [Postprocessing](./features/postprocessing.md) | effect-composer, addPass, edl, 描边, 景深 |
133
+ | 材质 / 透明度 / 点云样式 | [Material](./features/material.md) | opacity, pointcloud, roof, ceiling, 天花板, 顶点标记 |
134
+ | 模式切换 / 全景↔模型↔户型图 | [Mode](./features/mode.md) | panorama, floorplan, mapview, topview, VR |
135
+ | 全景高清瓦片 / 分片加载 | [Pano Tile](./features/pano-tile.md) | LOD, tile, 按需加载, 高清全景 |
136
+ | 图片 CDN / 私有化部署 | [Image Options](./features/image-options.md) | avif, webp, cdn, private-deployment |
137
+ | 加载进度 / 首屏优化 | [Load Progress](./features/load-progress.md) | refined, loaded, loading-bar, 首屏 |
138
+
110
139
  ## Terminology Summary
111
140
 
112
141
  * **Work**: 包含全景图、模型、户型数据的 JSON 对象。
@@ -119,3 +148,4 @@
119
148
  ```yaml
120
149
  tags: [index, readme, guide, map]
121
150
  ```
151
+
package/ai_guides/api.md CHANGED
@@ -64,9 +64,12 @@ interface FiveInitArgs {
64
64
  /** Max FPS limit. false = unlimited. Default: false */
65
65
  maxFps?: number | false;
66
66
 
67
- /** Mode transition duration in ms. Default: 800 */
67
+ /** Mode transition duration in ms. Default: 1000 */
68
68
  modeChangeDuration?: number;
69
69
 
70
+ /** Enable mouse wheel zoom. Default: true */
71
+ enableWheel?: boolean;
72
+
70
73
  /** Initial plugins to load. */
71
74
  plugins?: FivePlugin[];
72
75
 
@@ -75,9 +78,24 @@ interface FiveInitArgs {
75
78
 
76
79
  /** Dynamic texture configuration for optimization. */
77
80
  textureOptions?: TextureOptions;
81
+
82
+ /** Request URL interceptor for auth/CDN. */
83
+ requestProxy?: (url: string) => string | Promise<string>;
84
+
85
+ /** Per-mode configuration (panorama, mapview, floorplan, topview, model). */
86
+ panorama?: PanoramaConfig;
87
+ mapview?: MapviewConfig;
88
+ floorplan?: FloorplanConfig;
89
+ topview?: TopviewConfig;
90
+ model?: ModelConfig;
78
91
  }
79
92
  ```
80
93
 
94
+ > 详细的模式配置参数见 [Mode](./features/mode.md#configuration)。
95
+ > 图片加载策略见 [ImageOptions](./features/image-options.md)。
96
+ > 请求代理见 [Request Proxy](./features/request-proxy.md)。
97
+ > 完整初始化参数见 [Five](./features/five.md) 和 [Parameter](./features/parameter.md)。
98
+
81
99
  ## Core Methods
82
100
 
83
101
  ### `load(work, state?, options?)`
@@ -85,7 +103,9 @@ Loads a "Work" (dataset) into the Five instance.
85
103
 
86
104
  - **work**: The data object (`LooseWork` or `Work`) containing scene information.
87
105
  - **state**: Initial state overrides. `"inherit"`, `"initial"`, or a `State` object.
88
- - **options**: Loading options (e.g., transition duration).
106
+ - **options**: Loading options (e.g., transition duration, `mode: "add" | "replace"`).
107
+
108
+ > 详见 [Work](./features/work.md) 和 [Multi-Work](./features/multi-work.md)。
89
109
 
90
110
  ### `appendTo(element, size?)`
91
111
  Mounts the Five canvas to a DOM element.
@@ -100,6 +120,8 @@ Updates the current state (position, mode, etc.).
100
120
  - **immediately**: If `true`, skips animation.
101
121
  - **userAction**: Marks the change as triggered by user interaction.
102
122
 
123
+ > 详见 [State](./features/state.md)。
124
+
103
125
  ### `changeMode(mode, state?, options?)`
104
126
  Switches the viewing mode (e.g., from `Panorama` to `Model`).
105
127
 
@@ -107,11 +129,29 @@ Switches the viewing mode (e.g., from `Panorama` to `Model`).
107
129
  - **state**: Target state after mode change.
108
130
  - **options**: Animation duration and effect.
109
131
 
132
+ > 详见 [Mode](./features/mode.md)。
133
+
110
134
  ### `moveToPano(panoIndex, options?)`
111
135
  Moves to a specific panorama spot.
112
136
 
113
137
  - **panoIndex**: Index of the panorama.
114
- - **options**: `{ effect?: MovePanoEffect, duration?: number }`.
138
+ - **options**: `{ effect?: MovePanoEffect, duration?: number, effectEasing?: Function }`.
139
+
140
+ > 详见 [Move Pano Effect](./features/move-pano-effect.md) 和 [Camera Animation](./features/camera-animation.md)。
141
+
142
+ ### `updateCamera(pose, duration, userAction?)`
143
+ Animates the camera to a target pose without changing pano index.
144
+
145
+ - **pose**: Partial `Pose` object (longitude, latitude, fov, etc.).
146
+ - **duration**: Animation duration in ms.
147
+ - **returns**: `Promise<void>` (rejects if interrupted).
148
+
149
+ > 详见 [Camera Animation](./features/camera-animation.md)。
150
+
151
+ ### `ready(args?)`
152
+ Returns a Promise that resolves when Five is stable (state synced, model loaded, optionally tiles loaded).
153
+
154
+ - **args**: `{ tile?: boolean }` — if `tile: true` in Panorama mode, waits for tile loading.
115
155
 
116
156
  ### `refresh(size?)`
117
157
  Resizes the renderer to fit the container or specified size.
@@ -126,28 +166,35 @@ Projects a 3D point to 2D screen coordinates.
126
166
  - **testModel**: `boolean` (default `false`). If `true`, checks for occlusion.
127
167
  - **returns**: `THREE.Vector2` (Screen Space, px) or `null`.
128
168
 
129
- ### `getPixels(x, y, width, height)`
169
+ > 详见 [Screen & Space Projection](./features/screen-project.md)
170
+
171
+ ### `getPixels(options)`
130
172
  Get pixel data from the renderer (e.g. for color picking or magnifier).
131
173
 
132
- - **x, y**: Coordinate of the lower-left corner (Screen Space).
133
- - **width, height**: Size of the rectangle.
174
+ - **options**: `{ x, y, width, height, pixelRatio?, flipY?, buffer?, skipPanorama?, helperVisible? }`
134
175
  - **returns**: `Uint8Array` (RGBA data).
135
176
 
177
+ > 详见 [Get Screen Pixels](./features/get-screen-pixels.md)。
178
+
136
179
  ### `intersectRaycaster(raycaster)`
137
180
  (On `five.model`) Performs raycasting against the scene models.
138
181
 
139
- - **raycaster**: `THREE.Raycaster`.
140
- - **returns**: `THREE.Intersection[]`.
182
+ - **raycaster**: `THREE.Raycaster` (supports extended props: `firstHitOnly`, `hitFilter`, `sortByDistance`, `floorIndex`).
183
+ - **returns**: `THREE.Intersection[]` (extended with `tile`, `viewLayer`, `model` fields).
141
184
 
142
- ### `addPass(pass)`
143
- Add a post-processing pass to the rendering chain.
185
+ > 详见 [Raycast](./features/raycast.md)
144
186
 
145
- - **pass**: `FivePass` instance (e.g. `Gaussian Blur Pass`).
187
+ ### `addPass(pass)` / `removePass(pass)`
188
+ Add or remove a post-processing pass to/from the rendering chain.
146
189
 
147
- ### `removePass(pass)`
148
- Remove a post-processing pass from the rendering chain.
190
+ - **pass**: `FivePass` instance (e.g. `GaussianBlurPass`, `FlowingLight2DPass`).
149
191
 
150
- - **pass**: `FivePass` instance to remove.
192
+ > 详见 [Postprocessing](./features/postprocessing.md)。
193
+
194
+ ### `updateConfiguration(config)`
195
+ Dynamically update mode configurations after initialization (e.g., panorama, mapview settings).
196
+
197
+ > 详见 [Mode](./features/mode.md#动态修改配置-update-configuration)。
151
198
 
152
199
  ### `dispose()`
153
200
  Destroys the Five instance and releases resources.
@@ -171,6 +218,8 @@ interface State {
171
218
 
172
219
  ## Data Structures
173
220
 
221
+ > 以下为核心数据结构摘要。完整定义见 [Work](./features/work.md)、[State](./features/state.md)、[Model](./features/model.md)。
222
+
174
223
  ### `Work`
175
224
  The main data object containing the scene description.
176
225
 
@@ -224,10 +273,17 @@ These events follow a standard naming convention and provide typed event objects
224
273
 
225
274
  | Event Name | Description | Payload |
226
275
  | :--- | :--- | :--- |
227
- | `gesture.tap` | Triggered on tap/click. Replaces `wantsTapGesture`. | `{ pointers, event, ... }` |
228
- | `gesture.pan` | Triggered on pan/drag. | `{ pointers, ... }` |
229
- | `gesture.pinch` | Triggered on pinch/zoom. | `{ scale, ... }` |
230
- | `gesture.press` | Triggered on long press. | `{ pointers, ... }` |
276
+ | `gesture.tap` | Triggered on tap/click. Replaces `wantsTapGesture`. | `GestureEvent` |
277
+ | `gesture.dbltap` | Triggered on double tap/click. | `GestureEvent` |
278
+ | `gesture.pan` | Triggered on pan/drag. | `GestureEvent` |
279
+ | `gesture.pinch` | Triggered on pinch/zoom. | `GestureEvent` |
280
+ | `gesture.press` | Triggered on long press. | `GestureEvent` |
281
+ | `gesture.mousewheel` | Triggered on mouse wheel scroll. | `GestureEvent` |
282
+ | `gesture.mousemove` | Triggered on mouse move. | `GestureEvent` |
283
+ | `gesture.momentum` | Triggered on inertia movement after pan. | `GestureEvent` |
284
+ | `gesture.fire` | Triggered when any gesture event fires. | `GestureEvent` |
285
+
286
+ > 手势事件详解及不同 Mode 下的默认行为见 [Gesture](./features/gesture.md)。
231
287
 
232
288
  #### State & Mode
233
289
 
@@ -237,19 +293,34 @@ These events follow a standard naming convention and provide typed event objects
237
293
  | `state.change` | Triggered when state changes (frequent). | `StateEvent` |
238
294
  | `camera.update` | Triggered when camera pose updates. | `CameraEvent` |
239
295
 
296
+ > 状态管理详见 [State](./features/state.md),模式切换详见 [Mode](./features/mode.md)。
297
+
240
298
  #### Lifecycle & Resources
241
299
 
242
300
  | Event Name | Description | Payload |
243
301
  | :--- | :--- | :--- |
244
302
  | `works.load` | Triggered when work data starts loading. | `WorksEvent` |
303
+ | `works.ready` | Triggered when work data is loaded and controller is ready. | `WorksEvent` |
245
304
  | `models.load` | Triggered when models are loaded. | `ModelSceneEvent` |
246
- | `model.tileLoad` | Triggered when a 3D tile is loaded. | `Tile` |
247
- | `model.tileUnload` | Triggered when a 3D tile is unloaded. | `Tile` |
305
+ | `models.refined` | Triggered when all models finish texture refinement. | `ModelSceneEvent` |
306
+ | `model.load` | Triggered when a single model geometry is loaded. | `ModelEvent` |
307
+ | `model.tileLoad` | Triggered when a 3D tile is loaded. | `ModelTileEvent` |
308
+ | `model.tileUnload` | Triggered when a 3D tile is unloaded. | `ModelTileEvent` |
309
+ | `model.changeShownFloor` | Triggered when floor visibility changes. | `ModelEvent` |
310
+ | `model.error` | Triggered when model loading fails. | `ModelErrorEvent` |
311
+ | `pano.prepare` | Triggered before switching to a new pano. `ExtendableEvent`, supports `waitUntil`. | `PanoPrepareEvent` |
248
312
  | `pano.arrived` | Triggered when arrival at a panorama node. | `PanoEvent` |
249
- | `pano.texture.progress` | Triggered when panorama texture loading progresses. | `{ progress, panoIndex }` |
313
+ | `pano.moving` | Triggered during pano transition animation. | `PanoEvent` |
314
+ | `pano.error` | Triggered when pano loading or movement fails. | `PanoEvent` |
315
+ | `pano.texture.progress` | Triggered when panorama texture loading progresses. | `PanoTextureEvent` |
250
316
  | `render` | Triggered after each render frame. | `RenderEvent` |
317
+ | `render.prepare` | Triggered before each render frame. | `RenderEvent` |
251
318
  | `error` | Triggered on internal errors. | `Error` |
252
319
 
320
+ > 事件系统详解见 [Event](./features/event.md)。手势事件详解见 [Gesture](./features/gesture.md)。
321
+ > `pano.prepare` 的 `waitUntil` / `preventDefault` 用法见 [Event - Event 对象](./features/event.md#event-对象)。
322
+ > 模型生命周期事件见 [Model](./features/model.md#events) 和 [Load Progress](./features/load-progress.md)。
323
+
253
324
  ### Legacy Events (Deprecated)
254
325
 
255
326
  Older events are still supported for compatibility but should be avoided in new code.
@@ -168,5 +168,5 @@ console.log((tileset as any).cacheMemoryUsageInBytes / 1024 / 1024 + ' MB');
168
168
  ---
169
169
 
170
170
  ```yaml
171
- tags: [3dtile, viewLayer, performance, lod, optimization]
171
+ tags: [大场景, 瓦片, 显存, 画质, 性能优化, 流式加载, 3dtile, viewLayer, performance, lod, optimization, tile-loading, memory, sse, screen-space-error]
172
172
  ```
@@ -80,6 +80,21 @@ five.moveToPano(panoIndex: number, options?: MovePanoOptions): Promise<void>
80
80
  five.changeMode(mode: Mode, options?, animationOptions?): Promise<void>
81
81
  ```
82
82
 
83
+ ### 4. updateCamera
84
+
85
+ 在不切换全景点位的情况下,将相机平滑动画到目标位姿。适用于"定点环顾"或"聚焦某个方向"等场景。
86
+
87
+ ```typescript
88
+ five.updateCamera(pose: Partial<Pose>, duration: number, userAction?: boolean): Promise<void>
89
+ ```
90
+
91
+ * `pose`: 目标位姿 (longitude, latitude, fov, offset, distance 等)。
92
+ * `duration`: 动画时长 (ms)。
93
+ * `userAction`: 是否标记为用户触发。
94
+ * **返回**: `Promise<void>`,动画完成时 resolve,被打断时 reject。
95
+
96
+ > 与 `setState` 的区别:`updateCamera` 返回 Promise,可以精确等待动画结束;`setState` 是 fire-and-forget 风格。
97
+
83
98
  ## Concepts
84
99
 
85
100
  ### Pose (位姿)
@@ -197,9 +212,11 @@ function wait(ms: number) {
197
212
  * [Five](./five.md): Five 核心类及 `setState` 方法。
198
213
  * [Mode](./mode.md): 各种交互模式说明。
199
214
  * [State](./state.md): 状态对象的完整定义。
215
+ * [Move Pano Effect](./move-pano-effect.md): 全景点位切换的过渡效果配置。
216
+ * [Coordinate System](./coordinate-system.md): 坐标系定义,理解 longitude/latitude 的含义。
200
217
 
201
218
  ---
202
219
 
203
220
  ```yaml
204
- tags: [camera-animation, pose, state]
221
+ tags: [巡航, 动画, 旋转, 缩放, 运镜, 导览, camera-animation, pose, state, auto-tour, fly-through, rotate, zoom, transition]
205
222
  ```
@@ -126,10 +126,10 @@ function updateClipper(mesh: THREE.Mesh) {
126
126
 
127
127
  ## Related
128
128
 
129
- * [model.md](./model.md): 模型模块概览。
129
+ * [Model](./model.md): 模型模块概览。
130
130
 
131
131
  ---
132
132
 
133
133
  ```yaml
134
- tags: [clipper, model, cut, discard, geometry]
134
+ tags: [裁切, 剖面, 隐藏部分模型, 开盖, 房屋剖面, clipper, model, cut, discard, geometry, clipping-box, section-view]
135
135
  ```
@@ -39,6 +39,22 @@ interface Coordinate {
39
39
 
40
40
  ## Concepts
41
41
 
42
+ ### Overview (坐标系总览)
43
+
44
+ Five 中涉及多个坐标系,它们在不同场景下各有用途。理解它们的关系是正确使用 Five 的关键。
45
+
46
+ | 坐标系 | 上轴 | 适用场景 | 说明 |
47
+ | :--- | :--- | :--- | :--- |
48
+ | **Local (Y-up)** | Y | 渲染场景、前端开发 | Five 的 `five.scene`、Observer 位置、`project2d` 等均使用此坐标系。与 Three.js 默认一致。 |
49
+ | **ENU (Z-up)** | Z | 算法交互、后端接口、模型原始数据 | 测绘行业习惯。3D Tiles 数据源、`loadGltf` 等加载器默认输出 Z-up。 |
50
+ | **ECEF** | - | RTK 定位、地球坐标 | 地心地固坐标系,用于包含 RTK 信息的模型。 |
51
+ | **World** | Y | Three.js 世界坐标 | 通常等同于 Local,除非有 Object3D 层级嵌套偏移。 |
52
+
53
+ > **关键区分**:
54
+ > - **开发者在 `five.scene` 中操作的所有对象**(添加标签、射线检测结果、`project2d` 输入等)都处于 **Local (Y-up)** 坐标系。
55
+ > - **模型数据源**(3D Tiles、PLY、GLTF 等文件)通常以 **ENU (Z-up)** 存储。Five 在加载时会自动将其旋转对齐到 Local (Y-up)。
56
+ > - **与后端/算法交互**时,推荐使用 **ENU (Z-up)** 坐标系传输数据,通过 `viewLayer.localToEnu()` / `viewLayer.enuToLocal()` 进行转换。
57
+
42
58
  ### Local Coordinate System (Y-up)
43
59
  Five 的渲染场景 (`five.scene`) 和 Observers (观察点) 使用 **Y-up** (Y 轴向上) 的右手坐标系。
44
60
  这与 Three.js 的默认坐标系一致,便于前端开发和场景渲染。
@@ -64,6 +80,8 @@ Five 的渲染场景 (`five.scene`) 和 Observers (观察点) 使用 **Y-up** (Y
64
80
  3. **自动对齐**: Five 加载模型时(load 方法),会自动处理旋转和坐标系转换,将其对齐到 Five 的 Local (Y-up) 坐标系中。
65
81
  - 开发者在 `five.scene` 中看到的所有模型都已处于统一的 Y-up 坐标系下。
66
82
 
83
+ > **注意**: 外部模型加载函数(如 `loadGltf`, `loadPly` 等)的 `upAxis` 参数默认为 `'Z'`,表示输出的模型以 Z-up 存储。这是因为这些函数返回的是**原始模型对象**,尚未经过 Five 的自动对齐。当你通过 `five.load(work)` 加载 Work 数据时,Five 会自动完成 Z-up → Y-up 的转换。如果你手动使用 `loadGltf` 并添加到 `five.scene`,需要自行处理坐标系旋转。详见 [Load External Model](./load-external-model.md)。
84
+
67
85
  ### Coordinate in Files
68
86
  在 3D Tiles 的 `tileset.json` 中,`rootMeta` 字段用于描述坐标系转换信息(没有该字段则默认 Z-up):
69
87
  - 包含 `pose_ecef_to_enu` 和 `pose_enu_to_ecef` 变换矩阵。
@@ -119,10 +137,10 @@ const displayPosition = viewLayer.ecefToLocal(ecefPosition.clone());
119
137
 
120
138
  ## Related
121
139
 
122
- * [load-external-model.md](./load-external-model.md): 加载外部模型时的坐标轴配置 (`upAxis`, `modelUpAxis`)。
140
+ * [Load External Model](./load-external-model.md): 加载外部模型时的坐标轴配置 (`upAxis`, `modelUpAxis`)。
123
141
 
124
142
  ---
125
143
 
126
144
  ```yaml
127
- tags: [coordinate-system, enu, ecef, z-up, y-up, transform]
145
+ tags: [坐标系, 坐标转换, 右手坐标系, 模型方向, 旋转, 地理坐标, coordinate-system, enu, ecef, z-up, y-up, transform, local, world, rtk]
128
146
  ```
@@ -1,9 +1,9 @@
1
1
  # Events (事件系统)
2
2
 
3
3
  - **Summary**: Five 提供了一套基于发布/订阅模式的事件系统,用于监听用户交互、状态变更、数据加载及渲染生命周期。
4
- - **Schema**: `on` / `once` / `off` 接口定义。
5
- - **Concepts**: Gesture Events, State Events, Pano Events, Model Events, Lifecycle Events.
6
- - **Examples**: 监听全景移动、手势交互及状态变更。
4
+ - **Schema**: `on` / `once` / `off` 接口定义;`BaseEvent` / `BaseExtendableEvent` 事件对象。
5
+ - **Concepts**: Event 对象(`preventDefault` / `waitUntil`)、Gesture Events, State Events, Pano Events, Model Events, Lifecycle Events.
6
+ - **Examples**: 监听全景移动、手势交互及状态变更;使用 `preventDefault` 拦截默认行为;使用 `waitUntil` 延迟点位切换。
7
7
 
8
8
  ## Schema
9
9
 
@@ -50,6 +50,101 @@ five.off(
50
50
  - **name**: (可选) 若不传,则清空所有事件;若传,则取消指定类型的事件。
51
51
  - **callback**: (可选) 若传,则仅取消该特定的回调函数;若不传,则取消该类型下的所有回调。
52
52
 
53
+ ## Event 对象
54
+
55
+ > **Definition**: [BaseEvent / BaseExtendableEvent](../../five/utils/event.d.ts)
56
+
57
+ Five 中所有事件回调的参数都是一个 Event 对象,分为两种基础类型:
58
+
59
+ ### BaseEvent
60
+
61
+ 所有事件的基础接口,包含以下属性和方法:
62
+
63
+ ```typescript
64
+ interface BaseEvent {
65
+ /** 事件类型名称 */
66
+ type: string;
67
+ /** 事件触发时的时间戳 */
68
+ timeStamp: number;
69
+ /** 阻止事件的默认行为 */
70
+ preventDefault(): void;
71
+ /** 是否已调用过 preventDefault */
72
+ readonly defaultPrevented: boolean;
73
+ }
74
+ ```
75
+
76
+ ### BaseExtendableEvent
77
+
78
+ 继承自 `BaseEvent`,额外提供 `waitUntil` 方法,用于在事件处理中插入异步等待逻辑:
79
+
80
+ ```typescript
81
+ interface BaseExtendableEvent extends BaseEvent {
82
+ waitUntil(f: Promise<any>): void;
83
+ }
84
+ ```
85
+
86
+ 目前 `pano.prepare` 事件使用 `BaseExtendableEvent`(对应 `PanoPrepareEvent`),其余事件均基于 `BaseEvent`。
87
+
88
+ ### preventDefault
89
+
90
+ 调用 `event.preventDefault()` 可以阻止事件的默认行为。Five 内部会在触发事件后检查 `event.defaultPrevented`,若为 `true` 则跳过后续的默认处理逻辑。
91
+
92
+ 比如:
93
+ - `gesture.tap`:阻止默认的点位跳转或相机弹跳动画。
94
+ - `intersect.update`:阻止默认的交互高亮行为。
95
+
96
+ ```typescript
97
+ // 示例:阻止点击时的默认点位跳转
98
+ five.on("gesture.tap", (event) => {
99
+ if (shouldBlockNavigation()) {
100
+ event.preventDefault();
101
+ // 执行自定义逻辑
102
+ showCustomMenu(event);
103
+ }
104
+ });
105
+
106
+ // 示例:阻止拖拽时的默认相机旋转
107
+ five.on("gesture.pan", (event) => {
108
+ event.preventDefault();
109
+ // 用拖拽手势实现自定义交互(如绘制标注)
110
+ drawAnnotation(event);
111
+ });
112
+ ```
113
+
114
+ ### waitUntil
115
+
116
+ `waitUntil(promise)` 仅在 `ExtendableEvent` 上可用。调用后,Five 会等待传入的 Promise 完成后再继续后续流程。可多次调用,所有 Promise 会被并行等待。
117
+
118
+ 目前仅 `pano.prepare` 事件支持 `waitUntil`。
119
+
120
+ ```typescript
121
+ // 示例:在切换点位前预加载资源
122
+ five.on("pano.prepare", (event) => {
123
+ // 等待自定义资源加载完成后再继续点位切换
124
+ event.waitUntil(
125
+ loadCustomResources(event.pano)
126
+ );
127
+
128
+ // 可以多次调用,所有 Promise 会被并行等待
129
+ event.waitUntil(
130
+ preloadTextures(event.pano)
131
+ );
132
+ });
133
+
134
+ // 示例:通过 waitUntil reject 来取消走点
135
+ five.on("pano.prepare", (event) => {
136
+ event.waitUntil(
137
+ showConfirmDialog("是否前往该点位?").then((confirmed) => {
138
+ if (!confirmed) {
139
+ throw new Error("用户取消走点");
140
+ }
141
+ })
142
+ );
143
+ });
144
+ ```
145
+
146
+ > **注意**: `preventDefault` 和 `waitUntil` 必须在事件回调的同步执行阶段调用,不能放在 `await` 之后。
147
+
53
148
  ## Concepts
54
149
 
55
150
  Five 的事件系统将事件主要分为以下几类:
@@ -68,6 +163,7 @@ Five 的事件系统将事件主要分为以下几类:
68
163
  ### Pano Events (全景导航)
69
164
  监听全景图的点位切换过程。
70
165
 
166
+ - `pano.prepare`: 准备切换到新点位。这是一个 `ExtendableEvent`,支持通过 `waitUntil(promise)` 延迟后续加载流程(如预加载资源),以及通过 `preventDefault()` 取消本次走点。
71
167
  - `pano.arrived`: 成功到达新点位(移动动画结束)。
72
168
  - `pano.moving`: 正在移动到新点位(动画进行中)。
73
169
  - `pano.willChange`: 即将发生点位变更(旧版兼容)。
@@ -105,13 +201,13 @@ import { Five } from "@realsee/five";
105
201
  const five = new Five();
106
202
 
107
203
  // 监听点击事件
108
- five.on("gesture.tap", (pose) => {
109
- console.log("User tapped at:", pose);
204
+ five.on("gesture.tap", (event) => {
205
+ console.log("User tapped at:", event);
110
206
  });
111
207
 
112
208
  // 监听点位变更完成
113
- five.on("pano.arrived", (index) => {
114
- console.log("Arrived at pano index:", index);
209
+ five.on("pano.arrived", (event) => {
210
+ console.log("Arrived at pano:", event.pano);
115
211
  });
116
212
  ```
117
213
 
@@ -144,11 +240,11 @@ five.on("render", onRender);
144
240
 
145
241
  ## Related
146
242
 
147
- - [state.md](./state.md): 了解 State 的结构与变更机制。
148
- - [five.md](./five.md): Five 核心类说明。
243
+ - [State](./state.md): 了解 State 的结构与变更机制。
244
+ - [Five](./five.md): Five 核心类说明。
149
245
 
150
246
  ---
151
247
 
152
248
  ```yaml
153
- tags: [events, interaction, lifecycle, gesture, state]
249
+ tags: [事件监听, 点击, 拖拽, 加载完成, 渲染回调, 生命周期, 回调, events, interaction, lifecycle, gesture, state, preventDefault, waitUntil, on, off, subscribe]
154
250
  ```
@@ -67,7 +67,7 @@ Five 内部维护了一个 `requestAnimationFrame` 循环。
67
67
 
68
68
  | 参数 | 类型 | 默认值 | 说明 |
69
69
  | :--- | :--- | :--- | :--- |
70
- | `imageOptions` | `ImageOptions` | `{}` | 图片加载策略,详见 [image-options.md](./image-options.md) |
70
+ | `imageOptions` | `ImageOptions` | `{}` | 图片加载策略,详见 [Image Options](./image-options.md) |
71
71
  | `textureOptions` | `TextureOptions` | `{}` | 贴图加载策略,同上 |
72
72
  | `onlyRenderIfNeeds` | `boolean` | `true` | 是否仅在需要时渲染,建议保持 `true` |
73
73
  | `antialias` | `boolean` | `false` | 抗锯齿,开启会增加性能消耗 |
@@ -144,41 +144,41 @@ five.updateCameraWithKeyframes(keyframes, 2000).then(() => {
144
144
 
145
145
  ### 实例属性 (Instance Properties)
146
146
 
147
- - **`work`**: 当前加载的 Work 数据(主 Work)。详见 [work.md](./work.md)。
148
- - **`works`**: 当前加载的所有 Work 数据列表。详见 [work.md](./work.md)。
149
- - **`model`**: 当前加载的 Model 数据(主 Model)。详见 [model.md](./model.md)。
150
- - **`models`**: 当前加载的所有 Model 数据列表。详见 [model.md](./model.md)。
147
+ - **`work`**: 当前加载的 Work 数据(主 Work)。详见 [Work](./work.md)。
148
+ - **`works`**: 当前加载的所有 Work 数据列表。详见 [Work](./work.md)。
149
+ - **`model`**: 当前加载的 Model 数据(主 Model)。详见 [Model](./model.md)。
150
+ - **`models`**: 当前加载的所有 Model 数据列表。详见 [Model](./model.md)。
151
151
 
152
152
  ### 实例方法 (Instance Methods)
153
153
 
154
154
  - **`appendTo(element: HTMLElement)`**: 将 canvas 挂载到指定 DOM 元素。
155
- - **`load(work: Work, state?: State, duration?: number)`**: 加载场景数据。详见 [work.md](./work.md)。
155
+ - **`load(work: Work, state?: State, duration?: number)`**: 加载场景数据。详见 [Work](./work.md)。
156
156
  - **`dispose()`**: 销毁实例,释放 WebGL 上下文与内存。
157
157
  - **`updateCamera(pose: Partial<Pose>, duration: number, userAction?: boolean)`**: 移动相机(不触发点位移动)。移动相机的视角或位置,不会改变当前所在的 PanoIndex。如果动画中途被打断,Promise 会被 reject。
158
158
  - **`updateCameraWithKeyframes(keyframes: { progress: number; value: Pose; key?: string }[], duration: number, userAction?: boolean)`**: 通过关键帧动画移动相机。
159
159
  - **`refresh()`**: 强制刷新画布尺寸。通常在窗口 resize 时调用,Five 会自动监听 resize,但在某些布局变化场景下可能需要手动调用。
160
160
  - **`getPixels(x, y, width, height, ...)` / `getPixels(options)`**: 获取画布指定区域的像素数据。常用于截图、生成缩略图或颜色拾取。支持配置区域、像素比 (pixelRatio)、Y轴翻转 (flipY) 及是否忽略全景图 (skipPanorama) 等。
161
- - **`project2d(vector: THREE.Vector3, testModel?: boolean): THREE.Vector2 | null`**: 计算三维坐标对应到屏幕的二维坐标。如果坐标在视野外或被遮挡(开启 testModel 时),返回 null。详见 [screen-project.md](./screen-project.md)。
161
+ - **`project2d(vector: THREE.Vector3, testModel?: boolean): THREE.Vector2 | null`**: 计算三维坐标对应到屏幕的二维坐标。如果坐标在视野外或被遮挡(开启 testModel 时),返回 null。详见 [Screen Project](./screen-project.md)。
162
162
  - **`ready(args?: { tile?: boolean })`**: Promise,当 Five 状态稳定时 resolve。
163
163
  - **Resolve 时机**:
164
164
  1. **状态同步**:相机姿态已通过动画过渡到目标状态(`stateSynced` 为 true)。
165
165
  2. **模型加载**:如果是 Floorplan/Topview/Mapview/Model 模态,需等待模型加载完成 (`modelScene.loaded`)。
166
166
  3. **瓦片加载**:如果是 Panorama 模态且传入了 `{ tile: true }`,需等待当前视角的瓦片加载完成。
167
- - **`setState(state: Partial<State>, options?: ChangeStateOptions)`**: 变更当前状态(如点位、视角)。详见 [state.md](./state.md)。
168
- - **`on(event, callback)` / `off(event, callback)`**: 事件监听。详见 [event.md](./event.md)。
167
+ - **`setState(state: Partial<State>, options?: ChangeStateOptions)`**: 变更当前状态(如点位、视角)。详见 [State](./state.md)。
168
+ - **`on(event, callback)` / `off(event, callback)`**: 事件监听。详见 [Event](./event.md)。
169
169
 
170
170
  ## Related
171
171
 
172
- * [work.md](./work.md): Work 数据结构说明。
173
- * [model.md](./model.md): Model 数据结构说明。
174
- * [state.md](./state.md): 状态管理详解。
175
- * [event.md](./event.md): 事件系统说明。
176
- * [image-options.md](./image-options.md): 图片加载配置。
177
- * [mode.md](./mode.md): 模态切换说明。
178
- * [parameter.md](./parameter.md): 其他核心参数。
172
+ * [Work](./work.md): Work 数据结构说明。
173
+ * [Model](./model.md): Model 数据结构说明。
174
+ * [State](./state.md): 状态管理详解。
175
+ * [Event](./event.md): 事件系统说明。
176
+ * [Image Options](./image-options.md): 图片加载配置。
177
+ * [Mode](./mode.md): 模态切换说明。
178
+ * [Parameter](./parameter.md): 其他核心参数。
179
179
 
180
180
  ---
181
181
 
182
182
  ```yaml
183
- tags: [five, initialization, core, instance, lifecycle]
183
+ tags: [初始化, 创建实例, 渲染器, 销毁, 入口, 构造函数, five, initialization, core, instance, lifecycle, canvas, appendTo, dispose]
184
184
  ```