@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/llms.txt CHANGED
@@ -4,10 +4,17 @@
4
4
 
5
5
  ** Documentation for @realsee/five is located in the `ai_guides/` directory. Do NOT use docs/ **
6
6
 
7
+ > **Quick Lookup:** For API signatures, go directly to **[ai_guides/api.md](ai_guides/api.md)**. For terminology, see **[ai_guides/glossary.md](ai_guides/glossary.md)**.
8
+
9
+ > **Keyword Search Tip:** Each doc in `ai_guides/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.
10
+
11
+ > **Full Documentation Map:** For a categorized index with development strategies and architecture guidance, see **[ai_guides/README.md](ai_guides/README.md)**.
12
+
7
13
  ## Context & Guidelines
8
14
 
9
- * **[AI Documentation Guidelines](ai_guides/ai-doc-guidelines.md)**: RULES for writing and updating documentation. READ THIS FIRST before making changes.
15
+ * **[AI Documentation Guidelines](ai_guides/ai-doc-guidelines.md)**: RULES for writing and updating documentation. **Only read this when maintaining or writing docs, NOT when developing applications.**
10
16
  * **[Intro](ai_guides/intro.md)**: High-level overview of Five SDK capabilities.
17
+ * **[Glossary](ai_guides/glossary.md)**: Terminology definitions — READ THIS to understand core concepts (Observer, Pose, Mode, Work, PanoIndex, etc.) before writing code.
11
18
 
12
19
  ## Development Strategies
13
20
 
@@ -40,11 +47,12 @@
40
47
 
41
48
  ### Rendering & Visuals
42
49
  * **[Pano Tile](ai_guides/features/pano-tile.md)**: Panorama tiling mechanism.
50
+ * **[Pano Filter](ai_guides/features/pano-filter.md)**: Color/Tone adjustments for panoramas.
43
51
  * **[Model](ai_guides/features/model.md)**: Built-in model rendering.
44
52
  * **[Material](ai_guides/features/material.md)**: Material parameters (Opacity, PointScale, VertexMarks).
45
53
  * **[Postprocessing](ai_guides/features/postprocessing.md)**: Visual effects.
46
- * **[Flowing Light 2D Pass](ai_guides/features/flowing-light-2d-pass.md)**: Flowing light screen-space effect.
47
- * **[Flowing Light 3D Pass](ai_guides/features/flowing-light-3d-pass.md)**: Flowing light effect using depth/normal G-Buffer.
54
+ * **[Flowing Light 2D Pass](ai_guides/features/flowing-light-2d-pass.md)**: Flowing light screen-space effect with InstancedMesh rendering.
55
+ * **[Flowing Light 3D Pass](ai_guides/features/flowing-light-3d-pass.md)**: Flowing light effect with 3D world-space projection and InstancedMesh rendering.
48
56
  * **[Gaussian Blur Pass](ai_guides/features/gaussian-blur-pass.md)**: Gaussian blur post-processing effect.
49
57
  * **[Clipper](ai_guides/features/clipper.md)**: Model clipping.
50
58
  * **[3D Tile](ai_guides/features/3dtile.md)**: Large scene 3D tiles.
@@ -58,7 +66,36 @@
58
66
  * **[ViewLayer](ai_guides/features/view-layer.md)**: ViewLayer documentation.
59
67
  * **[Support](ai_guides/support.md)**: Browser compatibility.
60
68
 
69
+ ## Common Scenarios (场景 → 文档速查)
70
+
71
+ > Use the `tags` column for keyword matching when your requirement doesn't exactly match the scenario description.
72
+
73
+ | Scenario | Docs | Tags |
74
+ | :--- | :--- | :--- |
75
+ | 点击拾取物体 / Object picking | [Raycast](ai_guides/features/raycast.md) | click, hit-test, floor-detection, 碰撞检测, 物体选择 |
76
+ | 3D 标签 / HTML overlay on 3D point | [Screen Project](ai_guides/features/screen-project.md) | label, HUD, tooltip, 坐标转换, 3D转2D |
77
+ | 全景滤镜 / 色温调节 / Color correction | [Pano Filter](ai_guides/features/pano-filter.md) | warm, cool, brightness, contrast, saturation, 暖色, 冷色, 饱和度 |
78
+ | 加载外部 GLTF/OBJ/FBX 模型 | [Load External Model](ai_guides/features/load-external-model.md) | gltf, glb, ply, splat, fbx, draco, point-cloud, dispose |
79
+ | 相机巡航 / 自动导览 / Camera fly-through | [Camera Animation](ai_guides/features/camera-animation.md) | rotate, zoom, auto-tour, 运镜, 旋转, 缩放 |
80
+ | 截图 / 放大镜 / Screen capture | [Get Screen Pixels](ai_guides/features/get-screen-pixels.md) | magnifier, screenshot, color-picker, 取色器 |
81
+ | 模型裁切 / 房屋剖面 | [Clipper](ai_guides/features/clipper.md) | clipping-box, section-view, discard, 开盖, 剖面 |
82
+ | 流光特效 / Flowing light effect | [Flowing Light 2D](ai_guides/features/flowing-light-2d-pass.md), [Flowing Light 3D](ai_guides/features/flowing-light-3d-pass.md) | 光带, 导航路径, 动态路径, instanced |
83
+ | 模糊特效 / Blur effect | [Gaussian Blur Pass](ai_guides/features/gaussian-blur-pass.md) | 毛玻璃, 背景虚化, gaussian |
84
+ | 保存/恢复场景状态 | [State](ai_guides/features/state.md) | snapshot, save, restore, 快照, 场景还原 |
85
+ | 多场景切换 / 沙盘 | [Multi-Work](ai_guides/features/multi-work.md) | sandbox, 多户型, 拼接, workCode |
86
+ | 请求鉴权 / CDN 替换 | [Request Proxy](ai_guides/features/request-proxy.md) | authentication, token, url-rewrite, cors, 私有化 |
87
+ | 插件开发 | [Plugin](ai_guides/features/plugin.md) | lifecycle, extension, baseplugin, 状态管理 |
88
+ | 事件监听 / 拦截默认行为 | [Event](ai_guides/features/event.md) | preventDefault, waitUntil, on, off, gesture, 回调 |
89
+ | 手势交互 / 自定义拖拽 | [Gesture](ai_guides/features/gesture.md) | tap, pan, pinch, press, 触摸, 鼠标 |
90
+ | 后处理特效 / 自定义 Shader | [Postprocessing](ai_guides/features/postprocessing.md) | effect-composer, addPass, edl, 描边, 景深 |
91
+ | 材质 / 透明度 / 点云样式 | [Material](ai_guides/features/material.md) | opacity, pointcloud, roof, ceiling, 天花板, 顶点标记 |
92
+ | 模式切换 / 全景↔模型↔户型图 | [Mode](ai_guides/features/mode.md) | panorama, floorplan, mapview, topview, VR |
93
+ | 全景高清瓦片 / 分片加载 | [Pano Tile](ai_guides/features/pano-tile.md) | LOD, tile, 按需加载, 高清全景 |
94
+ | 图片 CDN / 私有化部署 | [Image Options](ai_guides/features/image-options.md) | avif, webp, cdn, private-deployment |
95
+ | 加载进度 / 首屏优化 | [Load Progress](ai_guides/features/load-progress.md) | refined, loaded, loading-bar, 首屏 |
96
+
61
97
  ## Release Notes
62
98
  * [6.8](ai_guides/release_notes/6.8.md)
63
99
  * [6.7](ai_guides/release_notes/6.7.md)
64
100
  * [6.6](ai_guides/release_notes/6.6.md)
101
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@realsee/five",
3
- "version": "6.8.0-alpha.8",
3
+ "version": "6.8.0",
4
4
  "description": "Realsee Renderer SDK",
5
5
  "author": "BEIKE REALSEE TECHNOLOGY (HK) LIMITED",
6
6
  "license": "SEE LICENSE IN TERMS.txt",
@@ -21,7 +21,7 @@
21
21
  }
22
22
  },
23
23
  "dependencies": {
24
- "protobufjs": "^7.5.4",
24
+ "protobufjs": "^8.0.1",
25
25
  "sharp": "^0.34.3",
26
26
  "tslib": "^2.8.1"
27
27
  },
@@ -81,8 +81,8 @@
81
81
  },
82
82
  "ai": {
83
83
  "documentation": {
84
- "entry": "./ai_guides/README.md",
85
- "root": "./ai_guides"
84
+ "llms.txt": "./llms.txt",
85
+ "guides": "./ai_guides"
86
86
  },
87
87
  "ignore": [
88
88
  "./docs"
@@ -0,0 +1,64 @@
1
+ import type { Five } from '@realsee/five';
2
+ import { BasePlugin } from '../BasePlugin';
3
+ import * as THREE from 'three';
4
+ import { CSS3DRenderer, CSS3DObject } from '../thirdParty/CSS3DRenderer.js';
5
+ import type * as PluginType from './typing';
6
+ export declare class Controller extends BasePlugin.Controller<PluginType.State, PluginType.EventMap, PluginType.ServerData, PluginType.PluginData> {
7
+ /** 当前使用的数据 */
8
+ data?: PluginType.PluginData;
9
+ /** 插件当前状态 */
10
+ state: PluginType.State;
11
+ /** CSS3D 渲染器实例 */
12
+ renderer: CSS3DRenderer;
13
+ scene: THREE.Scene;
14
+ styleSheet: CSSStyleSheet;
15
+ camera: THREE.PerspectiveCamera;
16
+ cacheMap: WeakMap<object, any>;
17
+ private resizeObserver?;
18
+ private updateState;
19
+ constructor(five: Five, params?: PluginType.Params);
20
+ load(data: PluginType.ServerData): Promise<void>;
21
+ createCSS3DObject: ({ id, name, innerHTML, sprite, normal, position, scalar, visible, timeout, }: PluginType.CreateCSS3DObjectType) => CSS3DObject;
22
+ render: () => void;
23
+ /**
24
+ * 强制标脏并重新渲染所有 objects
25
+ */
26
+ forceRender: () => void;
27
+ private _addEventListener;
28
+ private _removeEventListener;
29
+ /**
30
+ * 将插件 DOM 挂载到指定容器
31
+ */
32
+ appendToFiveContainer(): void;
33
+ add(...object: THREE.Object3D[]): void;
34
+ remove(object: THREE.Object3D): void;
35
+ removeAll(): void;
36
+ /**
37
+ * 淡入指定的 CSS3DObject,设置 object.userData.visible = true
38
+ */
39
+ fadeInObjects(...objects: THREE.Object3D[]): void;
40
+ /**
41
+ * 淡出指定的 CSS3DObject,设置 object.userData.visible = false
42
+ */
43
+ fadeOutObjects(...objects: THREE.Object3D[]): void;
44
+ private _enable;
45
+ private _disable;
46
+ /**
47
+ * 启用插件,让插件能够响应交互
48
+ */
49
+ enable(options?: BasePlugin.BaseOptions): void;
50
+ /**
51
+ * 禁用插件,让插件停止响应交互
52
+ */
53
+ disable(options?: BasePlugin.BaseOptions): void;
54
+ /**
55
+ * 显示场景,设置 scene.visible = true
56
+ */
57
+ show(options?: BasePlugin.BaseOptions): void;
58
+ /**
59
+ * 隐藏场景,设置 scene.visible = false
60
+ */
61
+ hide(options?: BasePlugin.BaseOptions): void;
62
+ /** 销毁插件,移除所有副作用 */
63
+ dispose: () => void;
64
+ }
@@ -0,0 +1,5 @@
1
+ import type { Five } from '@realsee/five';
2
+ import type * as CSS3DPluginType from './typing';
3
+ import { Controller } from './Controller';
4
+ export declare const CSS3DPlugin: (five: Five, params?: CSS3DPluginType.Params) => Controller;
5
+ export type { CSS3DPluginType, Controller as CSS3DPluginController };
@@ -0,0 +1,32 @@
1
+ import type { BasePlugin } from '../BasePlugin';
2
+ export type PluginData = any;
3
+ export type ServerData = any;
4
+ export interface CreateCSS3DObjectType {
5
+ id?: string;
6
+ name?: string;
7
+ innerHTML: string;
8
+ sprite?: boolean;
9
+ normal?: THREE.Vector3;
10
+ position?: THREE.Vector3;
11
+ scalar?: number;
12
+ visible?: boolean;
13
+ timeout?: number;
14
+ }
15
+ /** 插件配置 */
16
+ export interface Config {
17
+ }
18
+ /** 插件初始化参数 */
19
+ export interface Params {
20
+ config?: Partial<Config>;
21
+ initialState?: Partial<State>;
22
+ }
23
+ /** 插件状态 */
24
+ export interface State extends BasePlugin.State {
25
+ /** 插件是否启用 */
26
+ enabled: boolean;
27
+ /** 插件整体是否可见 */
28
+ visible: boolean;
29
+ }
30
+ /** 插件事件 */
31
+ export interface EventMap extends BasePlugin.EventMap<State, ServerData> {
32
+ }
@@ -0,0 +1,30 @@
1
+ import type { Five } from '@realsee/five';
2
+ import { BasePlugin } from '../BasePlugin';
3
+ import type * as PluginType from './typing';
4
+ import * as THREE from 'three';
5
+ export declare class Controller extends BasePlugin.Controller<PluginType.State, PluginType.EventMap, any, any> {
6
+ data?: any;
7
+ state: PluginType.State;
8
+ private duration;
9
+ private curveHeight;
10
+ private pointDuration;
11
+ boundingAABB: PluginType.BoundingAABB2D | null;
12
+ private cancelAnimation;
13
+ private boundsSet;
14
+ keyframes: PluginType.Keyframe[];
15
+ private updateState;
16
+ constructor(five: Five, config?: PluginType.Config);
17
+ load(): Promise<void>;
18
+ enable(options?: BasePlugin.BaseOptions): void;
19
+ disable(options?: BasePlugin.BaseOptions): void;
20
+ dispose(): void;
21
+ private extractKeyframes;
22
+ private computeAABB2D;
23
+ private findClosestKeyframeToRay;
24
+ getCameraCurve(): Promise<THREE.CatmullRomCurve3>;
25
+ private findRenderMesh;
26
+ setBounding(boundsMin: THREE.Vector3, boundsMax: THREE.Vector3, center?: THREE.Vector3): void;
27
+ setBounds(): void;
28
+ startAggregation(): void;
29
+ playEntrance(): Promise<void>;
30
+ }
@@ -0,0 +1,5 @@
1
+ import type { Five } from '@realsee/five';
2
+ import type * as GaussianSplattingEntranceAnimationPluginType from './typing';
3
+ import { Controller } from './Controller';
4
+ export declare const GaussianSplattingEntranceAnimationPlugin: (five: Five, config?: GaussianSplattingEntranceAnimationPluginType.Config) => Controller;
5
+ export type { GaussianSplattingEntranceAnimationPluginType, Controller as GaussianSplattingEntranceAnimationController };
@@ -0,0 +1,28 @@
1
+ import type { BasePlugin } from '../BasePlugin';
2
+ /** 插件配置 */
3
+ export interface Config {
4
+ /** 动画持续时间(毫秒),同时控制运镜和着色器特效,默认 5000 */
5
+ duration?: number;
6
+ /** 曲线高度(y 值),默认 1.5 */
7
+ curveHeight?: number;
8
+ /** 单个点的聚合时长(毫秒),默认 3000。shader 会自动根据此值和 duration 计算高度方向的错开速度,保证最底部的点在总动画结束时刚好聚合完毕 */
9
+ pointDuration?: number;
10
+ }
11
+ /** 插件状态 */
12
+ export interface State extends BasePlugin.State {
13
+ /** 插件是否启用 */
14
+ enabled: boolean;
15
+ /** 插件整体是否可见 */
16
+ visible: boolean;
17
+ }
18
+ /** 插件事件 */
19
+ export interface EventMap extends BasePlugin.EventMap<State, any> {
20
+ }
21
+ export interface Keyframe {
22
+ position: THREE.Vector3;
23
+ location: number;
24
+ }
25
+ export interface BoundingAABB2D {
26
+ min: THREE.Vector2;
27
+ max: THREE.Vector2;
28
+ }
@@ -0,0 +1,99 @@
1
+ import type { Five } from '@realsee/five';
2
+ import { BasePlugin } from '../BasePlugin';
3
+ import * as THREE from 'three';
4
+ import type { Object3DHelperEventMap, Object3DHelperState, ObjectHelperControllers, PositionFrom } from './typing';
5
+ import type { HelperConfig, HelperOffset, Object3DHelperPluginEventMap, Object3DHelperPluginState } from './typing';
6
+ import { Subscribe } from '@realsee/five';
7
+ export declare const PLUGIN = "Object3DHelperPlugin";
8
+ export type AddObject3DHelperConfig = {
9
+ positionFrom?: PositionFrom;
10
+ offset?: HelperOffset;
11
+ /** Helpers 的世界坐标偏移量 */
12
+ helperOffset?: THREE.Vector3;
13
+ yAxis?: THREE.Vector3 | (() => THREE.Vector3);
14
+ xAxis?: THREE.Vector3 | (() => THREE.Vector3);
15
+ zAxis?: THREE.Vector3 | (() => THREE.Vector3);
16
+ moveHelper?: HelperConfig<{
17
+ xArrowEnable?: boolean;
18
+ yArrowEnable?: boolean;
19
+ zArrowEnable?: boolean;
20
+ }>;
21
+ /** 是否展示 MoveHelper 拖拽时的坐标提示,默认 false */
22
+ moveHelperTips?: boolean;
23
+ rotateHelper?: HelperConfig<{
24
+ yzCircleEnable?: boolean;
25
+ xzCircleEnable?: boolean;
26
+ xyCircleEnable?: boolean;
27
+ angleTipsEnable?: boolean;
28
+ }>;
29
+ boundingBoxHelper?: HelperConfig;
30
+ };
31
+ export declare class Object3DHelper {
32
+ controllers: ObjectHelperControllers;
33
+ state: Object3DHelperState;
34
+ hooks: Subscribe<Object3DHelperEventMap>;
35
+ constructor(controllers?: ObjectHelperControllers);
36
+ show(options?: {
37
+ userAction?: boolean;
38
+ }): void;
39
+ hide(options?: {
40
+ userAction?: boolean;
41
+ }): void;
42
+ enable(options?: {
43
+ userAction?: boolean;
44
+ }): void;
45
+ disable(options?: {
46
+ userAction?: boolean;
47
+ }): void;
48
+ dispose(): void;
49
+ setState(state: Partial<Object3DHelperState>, _options?: {
50
+ userAction?: boolean;
51
+ }): void;
52
+ addControllers(controllers: ObjectHelperControllers): void;
53
+ initialHelperMatrix(): void;
54
+ private handleEnable;
55
+ private handleVisible;
56
+ private handleDispose;
57
+ private everyControllerDo;
58
+ }
59
+ export declare class Controller extends BasePlugin.Controller<Object3DHelperPluginState, Object3DHelperPluginEventMap & BasePlugin.EventMap<Object3DHelperPluginState, any>, any, any> {
60
+ name: string;
61
+ data?: any;
62
+ state: Object3DHelperState;
63
+ objectHelperMap: Map<THREE.Object3D, {
64
+ helper: Object3DHelper;
65
+ disposers: (() => any)[];
66
+ helperGroup: THREE.Group;
67
+ }>;
68
+ constructor(five: Five);
69
+ show(options?: {
70
+ userAction?: boolean;
71
+ }): Promise<void>;
72
+ hide(options?: {
73
+ userAction?: boolean;
74
+ }): Promise<void>;
75
+ enable(options?: {
76
+ userAction?: boolean;
77
+ }): void;
78
+ disable(options?: {
79
+ userAction?: boolean;
80
+ }): void;
81
+ dispose(): void;
82
+ load(_data: any): Promise<void>;
83
+ setState(state: Partial<Object3DHelperState>, options?: {
84
+ userAction?: boolean;
85
+ } & Record<string, any>): void;
86
+ getObject3DHelper(object3D: THREE.Object3D): {
87
+ helper: Object3DHelper;
88
+ disposers: (() => any)[];
89
+ helperGroup: THREE.Group;
90
+ } | undefined;
91
+ addObject3DHelper(object3D: THREE.Object3D, paramsConfig?: AddObject3DHelperConfig): ObjectHelperControllers | undefined;
92
+ removeObject3DHelper(object3D: THREE.Object3D): void;
93
+ private handleEnable;
94
+ private handleVisible;
95
+ private handleDispose;
96
+ private everyHelperDo;
97
+ private actionIfStateIsEnabled;
98
+ private getConfig;
99
+ }
@@ -0,0 +1,142 @@
1
+ import * as THREE from 'three';
2
+ import { Subscribe } from '@realsee/five';
3
+ import type { SolidGuideOptions } from '../utils/solidGuide';
4
+ import type { HelperEventMap, HelperOffset, InternalHelperEventMap, ScaleCallback } from '../typing';
5
+ import type { BaseHelper } from '../Helper/BaseHelper';
6
+ import DomEvents from '../../thirdParty/domevents';
7
+ export declare let originOpacity: {
8
+ opacity: number;
9
+ } | null;
10
+ type Config = {
11
+ offset?: HelperOffset;
12
+ yAxis?: THREE.Vector3 | (() => THREE.Vector3);
13
+ xAxis?: THREE.Vector3 | (() => THREE.Vector3);
14
+ zAxis?: THREE.Vector3 | (() => THREE.Vector3);
15
+ scaleCallback?: ScaleCallback;
16
+ /** 实线样式与行为配置(透传给 SolidGuideLine) */
17
+ solidGuide?: SolidGuideOptions;
18
+ };
19
+ export declare abstract class BaseController<T extends BaseHelper = BaseHelper, K extends THREE.Object3D = THREE.Object3D> {
20
+ originObject3D: K;
21
+ hooks: Subscribe<HelperEventMap>;
22
+ preventTapDefaultEvent: boolean;
23
+ protected internalHooks: Subscribe<InternalHelperEventMap>;
24
+ protected readonly disposers: (() => void)[];
25
+ protected helperObject3D: T;
26
+ protected camera: THREE.Camera;
27
+ protected model: THREE.Object3D;
28
+ protected scene: THREE.Object3D;
29
+ protected container: HTMLElement;
30
+ protected domEvents: DomEvents;
31
+ protected isDragging: boolean;
32
+ protected enabled: boolean;
33
+ protected name: string;
34
+ protected boundingBox?: THREE.Box3;
35
+ protected config: Config;
36
+ private onRender;
37
+ protected cameraHooks: Subscribe<{
38
+ cameraUpdate: () => any;
39
+ }>;
40
+ /** 其他控制器的引用,用于跨控制器状态检查 */
41
+ protected otherControllers?: {
42
+ moveController?: BaseController;
43
+ rotateController?: BaseController;
44
+ scaleController?: BaseController;
45
+ };
46
+ /**
47
+ * 更新其他控制器的引用
48
+ */
49
+ updateOtherControllers(otherControllers: {
50
+ moveController?: BaseController;
51
+ rotateController?: BaseController;
52
+ scaleController?: BaseController;
53
+ }): void;
54
+ /**
55
+ * 获取当前控制器的拖拽状态
56
+ */
57
+ getIsDragging(): boolean;
58
+ constructor(params: {
59
+ camera: THREE.Camera;
60
+ model: THREE.Object3D;
61
+ originObject3D: K;
62
+ helperObject3D: T;
63
+ container: HTMLElement;
64
+ domEvents: DomEvents;
65
+ scene: THREE.Object3D;
66
+ onRender?: () => void;
67
+ sharedHooks?: Subscribe<HelperEventMap>;
68
+ sharedInternalHooks?: Subscribe<InternalHelperEventMap>;
69
+ /** 其他控制器的引用,用于跨控制器状态检查 */
70
+ otherControllers?: {
71
+ moveController?: BaseController;
72
+ rotateController?: BaseController;
73
+ scaleController?: BaseController;
74
+ };
75
+ }, config?: Config);
76
+ initialHelperPosition(): void;
77
+ initialHelperQuaternion(): void;
78
+ enable(): void;
79
+ disable(): void;
80
+ show(): void;
81
+ hide(): void;
82
+ dispose(): void;
83
+ /**
84
+ * @description: applyHelperMatrix4
85
+ * @param {THREE.Matrix4} matrix position 偏移量
86
+ */
87
+ applyHelperMatrix4(matrix: THREE.Matrix4): void;
88
+ /**
89
+ * @description: applyHelperQuaternion
90
+ * @param {THREE.Quaternion} quaternion 旋转四元数
91
+ * @param {THREE.Vector3} origin 旋转中心
92
+ */
93
+ applyHelperQuaternion(quaternion: THREE.Quaternion, origin: THREE.Vector3): void;
94
+ /**
95
+ * @description: applyHelperScaleMatrix4
96
+ * @param {THREE.Matrix4} matrix 缩放矩阵
97
+ * @param {THREE.Vector3} origin 缩放中心
98
+ */
99
+ applyHelperScaleMatrix4(matrix: THREE.Matrix4, origin?: THREE.Vector3): void;
100
+ onWantsTapGesture: (raycaster: THREE.Raycaster) => false | void;
101
+ updateHelperScale: () => void;
102
+ onWantsGesture(type: 'press' | 'pan' | string, pointers: {
103
+ x: number;
104
+ y: number;
105
+ }[], final: boolean): false | void;
106
+ onIntersectionOnModelUpdate(intersection: THREE.Intersection): void;
107
+ /**
108
+ * @description: onApplyOriginObjectScale
109
+ * @param {THREE.Matrix4} params.matrix 缩放矩阵
110
+ * @param {THREE.Vector3} params.origin 缩放中心
111
+ */
112
+ protected onApplyOriginObjectScale(params: {
113
+ matrix: THREE.Matrix4;
114
+ origin?: THREE.Vector3;
115
+ }): void;
116
+ /**
117
+ * @description: onApplyOriginObjectRotate
118
+ * @param {THREE.Quaternion} params.quaternion 旋转四元数
119
+ * @param {THREE.Vector3} params.origin 旋转中心
120
+ */
121
+ protected onApplyOriginObjectRotate(params: {
122
+ quaternion: THREE.Quaternion;
123
+ origin: THREE.Vector3;
124
+ }): void;
125
+ /**
126
+ * @description: onApplyOriginObjectPosition
127
+ * @param {THREE.Matrix4} params.matrix position 偏移量
128
+ */
129
+ protected onApplyOriginObjectPosition(params: {
130
+ matrix: THREE.Matrix4;
131
+ }): void;
132
+ protected onSetOriginObjectScale(scale: THREE.Vector3): void;
133
+ protected onSetOriginObjectRotate(_quaternion: THREE.Quaternion, _origin?: THREE.Vector3): void;
134
+ protected onSetOriginObjectPosition(position: THREE.Vector3): void;
135
+ protected render(): void;
136
+ protected updateOffsetByScale(scale: THREE.Vector3): void;
137
+ protected hoverListener(object3D: THREE.Object3D | undefined | THREE.Group | (THREE.Object3D | undefined | THREE.Group)[], hoverColor?: THREE.Color | string | number, hoverOpacity?: number): () => void;
138
+ private getIntersectObject;
139
+ private getBox;
140
+ private calculateOffset;
141
+ }
142
+ export {};
@@ -0,0 +1,16 @@
1
+ import { BaseController } from './BaseController';
2
+ import type { BoundingBoxHelperAbstract } from '../Helper/BaseHelper';
3
+ import * as THREE from 'three';
4
+ export declare class BoundingBoxController<OriginObject3D extends THREE.Object3D = THREE.Object3D> extends BaseController<BoundingBoxHelperAbstract<OriginObject3D>> {
5
+ protected name: string;
6
+ constructor(...params: ConstructorParameters<typeof BaseController<BoundingBoxHelperAbstract<OriginObject3D>>>);
7
+ protected onApplyOriginObjectRotate(params: {
8
+ quaternion: THREE.Quaternion;
9
+ origin: THREE.Vector3;
10
+ }): void;
11
+ protected onSetOriginObjectRotate(quaternion: THREE.Quaternion, origin?: THREE.Vector3): void;
12
+ /**
13
+ * 直接从 object 同步 position 和 quaternion,消除累积误差
14
+ */
15
+ private syncWithObject;
16
+ }
@@ -0,0 +1,66 @@
1
+ import { BaseController } from './BaseController';
2
+ import * as THREE from 'three';
3
+ import type { MoveHelperAbstract } from '../Helper/BaseHelper';
4
+ export declare function rayOnLine(params: {
5
+ raycaster: THREE.Raycaster;
6
+ line: THREE.Line3;
7
+ clampToLine?: boolean;
8
+ }): THREE.Vector3;
9
+ export type UseFaceNormalInterface = {
10
+ /**
11
+ * 是否使用面的法线,默认为true
12
+ */
13
+ enable?: boolean;
14
+ /**
15
+ * 期望对齐的方向,默认为Y轴对齐Face的法向向量,即 `{ x: 0, y: 1, z: 0 }`
16
+ */
17
+ alignmentVector?: {
18
+ x?: number;
19
+ y?: number;
20
+ z?: number;
21
+ };
22
+ /**
23
+ * 修正后的face normal
24
+ */
25
+ fixedFaceNormal?: (face: THREE.Vector3) => THREE.Vector3;
26
+ } | boolean;
27
+ export declare class MoveController<T extends MoveHelperAbstract = MoveHelperAbstract> extends BaseController<T> {
28
+ get moveByMouseEnable(): boolean;
29
+ protected name: string;
30
+ private startInfo?;
31
+ /** 拖拽时用于显示方向参考的直线(与 ScaleController 一致:Line + LineBasicMaterial) */
32
+ private dragGuideLine?;
33
+ private solidGuide;
34
+ private _moveByMouse;
35
+ private mouseInfo?;
36
+ private mousedownEventListenerDisposer?;
37
+ constructor(...params: ConstructorParameters<typeof BaseController<T>>);
38
+ dispose(): void;
39
+ /**
40
+ * @description: 跟随鼠标移动
41
+ */
42
+ moveByMouse(params?: {
43
+ /** 是否使用面的法线,默认为false */
44
+ useFaceNormal: UseFaceNormalInterface;
45
+ }): void;
46
+ /**
47
+ * @description: 禁用跟随鼠标移动
48
+ */
49
+ disableMoveByMouse(): void;
50
+ onIntersectionOnModelUpdate(intersection: THREE.Intersection): void;
51
+ private handleMouseDown;
52
+ private handleMouseUp;
53
+ /**
54
+ * @description: 拖动开始,找出拖的Direction
55
+ */
56
+ private dragStart;
57
+ private dragging;
58
+ /**
59
+ * 更新直线缩放,保持视觉上的恒定大小(与 ScaleController 保持一致)
60
+ */
61
+ private updateDragGuideLineScale;
62
+ private move;
63
+ private dragEnd;
64
+ private setTipsText;
65
+ private setTipsPosition;
66
+ }
@@ -0,0 +1,61 @@
1
+ import { BaseController } from './BaseController';
2
+ import type { RotateHelperAbstract } from '../Helper/BaseHelper';
3
+ import * as THREE from 'three';
4
+ export declare class RotateController<T extends RotateHelperAbstract = RotateHelperAbstract> extends BaseController<T> {
5
+ protected name: string;
6
+ private get rotateCenter();
7
+ private startInfo?;
8
+ private removeListener?;
9
+ private solidGuide;
10
+ private snapGuideLines;
11
+ constructor(...params: ConstructorParameters<typeof BaseController<T>>);
12
+ setRotateAngle(angle: {
13
+ x?: number;
14
+ y?: number;
15
+ z?: number;
16
+ }): void;
17
+ /**
18
+ * @description 通过改变欧拉角中的某一个值来改变旋转,但保持其他两个轴的旋转不变
19
+ * @param axis 要修改的轴 ('x' | 'y' | 'z')
20
+ * @param angle 新的角度值(度)
21
+ * @returns 新的四元数值
22
+ */
23
+ getEulerAngle(axis: 'x' | 'y' | 'z', angle: number): THREE.Quaternion;
24
+ protected onApplyOriginObjectRotate(params: {
25
+ quaternion: THREE.Quaternion;
26
+ origin: THREE.Vector3;
27
+ }): void;
28
+ protected onApplyOriginObjectScale(params: {
29
+ matrix: THREE.Matrix4;
30
+ origin?: THREE.Vector3;
31
+ }): void;
32
+ /**
33
+ * @description: 拖动开始,找出拖的Direction
34
+ */
35
+ private dragStart;
36
+ private getMatrix;
37
+ private getMatrixAngle;
38
+ private parseAngleByDirection;
39
+ private dragging;
40
+ private rotate;
41
+ private dragEnd;
42
+ private updateOtherHelpers;
43
+ private getAngleHelper;
44
+ private setAngleHelperStart;
45
+ private setAngleHelperLength;
46
+ private setTipsAngle;
47
+ private setTipsPosition;
48
+ /**
49
+ * 从 quaternion 提取绕指定轴的旋转角度
50
+ * 通过投影分解,不受万向锁影响
51
+ */
52
+ private extractAxisAngle;
53
+ /**
54
+ * 显示吸附辅助线:在旋转平面上显示两条轴线
55
+ */
56
+ private showSnapGuideLines;
57
+ /**
58
+ * 移除吸附辅助线
59
+ */
60
+ private removeSnapGuideLines;
61
+ }