@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
@@ -0,0 +1,17 @@
1
+ import type { Five } from '@realsee/five';
2
+ import type { BaseController } from './Controllers/BaseController';
3
+ import type * as THREE from 'three';
4
+ import type { Subscribe } from '@realsee/five';
5
+ import DomEvents from '../thirdParty/domevents';
6
+ type ControllerClass = new (...params: ConstructorParameters<typeof BaseController<any>>) => any;
7
+ declare class ControllerWrapper<HelperControllerInterface extends ControllerClass> {
8
+ helperController?: InstanceType<HelperControllerInterface>;
9
+ private five;
10
+ constructor(five: Five, donEvents: DomEvents, HelperController: HelperControllerInterface, object: THREE.Object3D, helperObject3D: InstanceType<HelperControllerInterface>['helperObject3D'], HelperControllerConfig?: any, hooks?: Subscribe<any>, internalHooks?: Subscribe<any>, helperGroup?: THREE.Object3D);
11
+ dispose(): void;
12
+ private onFiveWantsTapGesture;
13
+ private onFiveWantsGesture;
14
+ private onFiveIntersectionOnModelUpdate;
15
+ }
16
+ export { ControllerWrapper };
17
+ export { ControllerWrapper as FiveControllerWrapper };
@@ -0,0 +1,97 @@
1
+ import * as THREE from 'three';
2
+ import type { Group, Mesh, Object3D } from 'three';
3
+ import { Vector3 } from 'three';
4
+ import type { Direction, PositionFrom } from '../typing';
5
+ import type { tipsDom } from '../utils/tipsDom';
6
+ export interface BaseHelperConfig {
7
+ onRender?: () => any;
8
+ /**
9
+ * @description: helper 初始位置来源
10
+ * @default 'objectPosition'
11
+ */
12
+ positionFrom?: PositionFrom;
13
+ }
14
+ export declare abstract class BaseHelper<OriginObject3D extends Object3D = Object3D> extends THREE.Object3D {
15
+ protected originObject3D: OriginObject3D;
16
+ protected onRender: () => any;
17
+ private positionFrom;
18
+ removeChildren(): this;
19
+ add(...objects: Object3D[]): this;
20
+ addIfNotExists(...objects: Object3D[]): this;
21
+ remove(...objects: Object3D[]): this;
22
+ removeFromParent(): this;
23
+ get helperObject(): Object3D;
24
+ constructor(originObject3D: OriginObject3D, config?: BaseHelperConfig);
25
+ render(): void;
26
+ enable(): void;
27
+ disable(): void;
28
+ show(): void;
29
+ hide(): void;
30
+ raycasterIntersectObject(raycaster: THREE.Raycaster, intersection?: THREE.Intersection[]): THREE.Intersection[];
31
+ initialPosition(offset?: THREE.Vector3): void;
32
+ setScaleByCamera(camera: THREE.PerspectiveCamera | THREE.OrthographicCamera): void;
33
+ initQuaternion(config?: {
34
+ xAxis?: Vector3 | (() => Vector3);
35
+ yAxis?: Vector3 | (() => Vector3);
36
+ zAxis?: Vector3 | (() => Vector3);
37
+ }): void;
38
+ applyHelperScaleMatrix4(matrix: THREE.Matrix4, origin?: Vector3): void;
39
+ setHelperQuaternion(quaternion: THREE.Quaternion, origin?: Vector3): void;
40
+ applyHelperQuaternion(quaternion: THREE.Quaternion, origin?: Vector3): void;
41
+ dispose(): void;
42
+ }
43
+ export declare abstract class MoveHelperAbstract<OriginObject3D extends Object3D = Object3D> extends BaseHelper<OriginObject3D> {
44
+ abstract xArrow?: Object3D & {
45
+ arrow: Object3D;
46
+ line?: Object3D;
47
+ direction: Direction;
48
+ };
49
+ abstract yArrow?: Object3D & {
50
+ arrow: Object3D;
51
+ line?: Object3D;
52
+ direction: Direction;
53
+ };
54
+ abstract zArrow?: Object3D & {
55
+ arrow: Object3D;
56
+ line?: Object3D;
57
+ direction: Direction;
58
+ };
59
+ abstract centerHandle?: Object3D & {
60
+ direction: Direction;
61
+ };
62
+ abstract xyPlane?: Object3D & {
63
+ direction: Direction;
64
+ };
65
+ abstract xzPlane?: Object3D & {
66
+ direction: Direction;
67
+ };
68
+ abstract yzPlane?: Object3D & {
69
+ direction: Direction;
70
+ };
71
+ abstract moveTips?: {
72
+ element: HTMLElement;
73
+ show: () => void;
74
+ hide: () => void;
75
+ setLeftTop: (left: string, top: string) => void;
76
+ };
77
+ abstract showDraggingHelper(directions?: Direction[]): void;
78
+ abstract update(camera: THREE.Camera): void;
79
+ }
80
+ export declare abstract class BoundingBoxHelperAbstract<OriginObject3D extends Object3D = Object3D> extends BaseHelper<OriginObject3D> {
81
+ }
82
+ export type Circle = (Mesh | Group) & {
83
+ direction: Direction;
84
+ circle: Mesh;
85
+ angleSector?: Mesh & {
86
+ angleDirection: number;
87
+ baseAxes: Vector3;
88
+ };
89
+ };
90
+ export declare abstract class RotateHelperAbstract<OriginObject3D extends Object3D = Object3D> extends BaseHelper<OriginObject3D> {
91
+ abstract xCircle?: Circle;
92
+ abstract yCircle?: Circle;
93
+ abstract zCircle?: Circle;
94
+ abstract angleTips?: ReturnType<typeof tipsDom>;
95
+ abstract showDraggingHelper(directions: Direction[]): void;
96
+ abstract update(camera: THREE.Camera): void;
97
+ }
@@ -0,0 +1,16 @@
1
+ import * as THREE from 'three';
2
+ import { BoundingBoxHelperAbstract } from './BaseHelper';
3
+ export declare class BoundingBoxHelper<T extends THREE.Object3D = THREE.Object3D> extends BoundingBoxHelperAbstract<T> {
4
+ name: string;
5
+ box: THREE.Mesh<THREE.BufferGeometry, THREE.MeshBasicMaterial>;
6
+ outline: THREE.LineSegments<THREE.BufferGeometry, THREE.LineBasicMaterial>;
7
+ private positionAttribute;
8
+ constructor(originObject: T);
9
+ initQuaternion(): void;
10
+ setHelperQuaternion(quaternion: THREE.Quaternion, origin: THREE.Vector3): void;
11
+ raycasterIntersectObject(raycaster: THREE.Raycaster, intersection: THREE.Intersection[]): THREE.Intersection[];
12
+ raycast(raycaster: THREE.Raycaster, intersects: THREE.Intersection[]): void;
13
+ update(): void;
14
+ private createOutline;
15
+ private createBox;
16
+ }
@@ -0,0 +1,37 @@
1
+ import type { Object3D } from 'three';
2
+ import type { Direction } from '../typing';
3
+ import { MoveHelperAbstract, type BaseHelperConfig } from './BaseHelper';
4
+ import { ArrowGroup } from '../utils/ArrowGroup';
5
+ import { CenterHandle } from '../utils/CenterHandle';
6
+ import { PlaneHandle } from '../utils/PlaneHandle';
7
+ import { Camera } from '@realsee/five';
8
+ import { tipsDom } from '../utils/tipsDom';
9
+ import * as THREE from 'three';
10
+ export declare class MoveHelper extends MoveHelperAbstract {
11
+ name: string;
12
+ xArrow?: ArrowGroup;
13
+ yArrow?: ArrowGroup;
14
+ zArrow?: ArrowGroup;
15
+ centerHandle?: CenterHandle;
16
+ xyPlane?: PlaneHandle;
17
+ xzPlane?: PlaneHandle;
18
+ yzPlane?: PlaneHandle;
19
+ moveTips?: ReturnType<typeof tipsDom>;
20
+ private container?;
21
+ constructor(originObject3D: Object3D, config?: {
22
+ container?: HTMLElement;
23
+ xArrowEnable?: boolean;
24
+ yArrowEnable?: boolean;
25
+ zArrowEnable?: boolean;
26
+ centerHandleEnable?: boolean;
27
+ xyPlaneEnable?: boolean;
28
+ xzPlaneEnable?: boolean;
29
+ yzPlaneEnable?: boolean;
30
+ moveTipsEnable?: boolean;
31
+ } & BaseHelperConfig);
32
+ update(camera: Camera): void;
33
+ show(): void;
34
+ setScaleByCamera(camera: THREE.PerspectiveCamera | THREE.OrthographicCamera): void;
35
+ showDraggingHelper(directions: Direction[]): void;
36
+ dispose(): void;
37
+ }
@@ -0,0 +1,93 @@
1
+ import * as THREE from 'three';
2
+ import type { Object3D } from 'three';
3
+ import { RotateHelperAbstract, type BaseHelperConfig } from './BaseHelper';
4
+ import type { Color, Direction } from '../typing';
5
+ import { tipsDom } from '../utils/tipsDom';
6
+ export declare class RotateHelper extends RotateHelperAbstract {
7
+ name: string;
8
+ xCircle?: RotateCircleGroup;
9
+ yCircle?: RotateCircleGroup;
10
+ zCircle?: RotateCircleGroup;
11
+ children: RotateCircleGroup[];
12
+ angleTips?: ReturnType<typeof tipsDom>;
13
+ private container?;
14
+ constructor(originObject3D: Object3D, config?: {
15
+ container?: HTMLElement;
16
+ yzCircleEnable?: boolean;
17
+ xzCircleEnable?: boolean;
18
+ xyCircleEnable?: boolean;
19
+ angleTipsEnable?: boolean;
20
+ } & BaseHelperConfig);
21
+ hide(): void;
22
+ show(): void;
23
+ setScaleByCamera(camera: THREE.PerspectiveCamera | THREE.OrthographicCamera): void;
24
+ update(camera: THREE.Camera): void;
25
+ showDraggingHelper(directions: Direction[]): void;
26
+ dispose(): void;
27
+ }
28
+ declare class RotateCircleGroup extends THREE.Group {
29
+ direction: Direction;
30
+ /** 1/4 圆 */
31
+ circle: Circle;
32
+ /** 旋转过程中展示的背景圆环 */
33
+ ring: DashedRing;
34
+ /** 旋转过程中表示角度的扇形 */
35
+ angleSector: AngleSector;
36
+ constructor(options: {
37
+ direction: Direction;
38
+ color?: Color;
39
+ });
40
+ showCircle(): void;
41
+ showRing(): void;
42
+ hide(): void;
43
+ }
44
+ declare class Circle extends THREE.Mesh {
45
+ direction: Direction;
46
+ material: THREE.MeshBasicMaterial;
47
+ gapAngle: number;
48
+ geometry: THREE.RingGeometry;
49
+ constructor(options: {
50
+ direction: Direction;
51
+ color?: Color;
52
+ });
53
+ }
54
+ declare class DashedRing extends THREE.Group {
55
+ direction: Readonly<Direction>;
56
+ constructor(options: {
57
+ direction: Direction;
58
+ });
59
+ }
60
+ declare class AngleSector extends THREE.Mesh {
61
+ direction: Direction;
62
+ baseAxes: THREE.Vector3;
63
+ offsetAngle: (angle: number) => number;
64
+ angleDirection: 1 | -1;
65
+ material: THREE.MeshBasicMaterial;
66
+ constructor(options: {
67
+ direction: Direction;
68
+ color?: Color;
69
+ });
70
+ /**
71
+ * 设置扇形旋转方向为顺时针
72
+ */
73
+ setClockwiseDirection(): void;
74
+ /**
75
+ * 设置扇形旋转方向为逆时针
76
+ */
77
+ setCounterClockwiseDirection(): void;
78
+ /**
79
+ * 切换扇形旋转方向
80
+ */
81
+ toggleDirection(): void;
82
+ /**
83
+ * 设置扇形的基础轴向
84
+ * @param axes 新的基础轴向向量
85
+ */
86
+ setBaseAxes(axes: THREE.Vector3): void;
87
+ /**
88
+ * 获取当前旋转方向
89
+ * @returns 'clockwise' | 'counterclockwise'
90
+ */
91
+ getDirection(): 'clockwise' | 'counterclockwise';
92
+ }
93
+ export {};
@@ -0,0 +1,27 @@
1
+ import * as THREE from 'three';
2
+ declare const AXES_COLOR: {
3
+ X: number;
4
+ Y: number;
5
+ Z: number;
6
+ };
7
+ declare class AXES_THREE_COLOR {
8
+ static get X(): THREE.Color;
9
+ static get Y(): THREE.Color;
10
+ static get Z(): THREE.Color;
11
+ }
12
+ /**
13
+ * Object3DHelper 渲染顺序常量
14
+ * 数值越大,渲染优先级越高
15
+ */
16
+ export declare const RENDER_ORDER: {
17
+ readonly ROTATE_HELPER: 9992;
18
+ readonly MOVE_HELPER: 9993;
19
+ readonly SCALE_HELPER_LINE: 9994;
20
+ readonly SCALE_HELPER_SPHERE: 9995;
21
+ readonly MOVE_HELPER_ARROW: 10001;
22
+ readonly MOVE_HELPER_CENTER: 10002;
23
+ readonly DRAG_GUIDE_LINE: 10003;
24
+ readonly DRAG_FACE_PATCH: 10004;
25
+ };
26
+ export type RenderOrderType = (typeof RENDER_ORDER)[keyof typeof RENDER_ORDER];
27
+ export { AXES_COLOR, AXES_THREE_COLOR };
@@ -0,0 +1,6 @@
1
+ import * as Object3DHelperPluginType from './typing';
2
+ import type { Five } from '@realsee/five';
3
+ import { Controller } from './Controller';
4
+ export declare const Object3DHelperPlugin: (five: Five) => Controller;
5
+ export { Controller as Object3DHelperController };
6
+ export type { Object3DHelperPluginType };
@@ -0,0 +1,143 @@
1
+ import type * as THREE from 'three';
2
+ import type { BaseHelper, MoveHelperAbstract, RotateHelperAbstract, Circle } from './Helper/BaseHelper';
3
+ import type { MoveController, UseFaceNormalInterface } from './Controllers/MoveController';
4
+ import type { Object3DHelper, AddObject3DHelperConfig } from './Controller';
5
+ import type { BaseController } from './Controllers/BaseController';
6
+ import type { RotateController } from './Controllers/RotateController';
7
+ import type { BoundingBoxController } from './Controllers/BoundingBoxController';
8
+ export interface Object3DHelperPluginState {
9
+ enabled: boolean;
10
+ visible: boolean;
11
+ disposed: boolean;
12
+ }
13
+ export type HelperConfig<T extends object = object> = boolean | ({
14
+ enable: boolean;
15
+ } & T);
16
+ export type Object3DHelperPluginEventMap = {
17
+ show: (options?: {
18
+ userAction?: boolean;
19
+ }) => void;
20
+ hide: (options?: {
21
+ userAction?: boolean;
22
+ }) => void;
23
+ enable: (options?: {
24
+ userAction?: boolean;
25
+ }) => void;
26
+ disable: (options?: {
27
+ userAction?: boolean;
28
+ }) => void;
29
+ dispose: () => void;
30
+ stateChange: (params: {
31
+ state: Object3DHelperPluginState;
32
+ prevState?: Object3DHelperPluginState;
33
+ }) => void;
34
+ };
35
+ export type Direction = 'x' | 'y' | 'z' | 'xy' | 'xz' | 'yz' | 'plane';
36
+ export type Direction4 = 'nesw' | 'nwse' | 'ns' | 'ew';
37
+ export interface Scissor {
38
+ left: number;
39
+ bottom: number;
40
+ width: number;
41
+ height: number;
42
+ }
43
+ export type HelperEventMap = {
44
+ wantToMove: (position: THREE.Vector3) => void;
45
+ moveBefore: (position: THREE.Vector3) => void;
46
+ wantToRotate: (quaternion: THREE.Quaternion) => void;
47
+ wantToScale: (scale: THREE.Vector3) => void;
48
+ move: (position: THREE.Vector3) => void;
49
+ rotate: (quaternion: THREE.Quaternion) => void;
50
+ scale: (scale: THREE.Vector3) => void;
51
+ moveStart: (direction?: Direction) => void;
52
+ rotateStart: (direction?: Direction) => void;
53
+ scaleStart: (direction?: Direction | Direction4) => void;
54
+ moveEnd: () => void;
55
+ rotateEnd: () => void;
56
+ scaleEnd: () => void;
57
+ moveByMouseEnable: () => void;
58
+ moveByMouseDisable: () => void;
59
+ updateOtherHelpers: (params: {
60
+ camera: THREE.Camera;
61
+ }) => void;
62
+ };
63
+ export type InternalHelperEventMap = {
64
+ initialHelperPosition: () => void;
65
+ setObjectPosition: (position: THREE.Vector3) => void;
66
+ setObjectRotate: (quaternion: THREE.Quaternion, origin?: THREE.Vector3) => void;
67
+ setObjectScale: (scale: THREE.Vector3) => void;
68
+ applyObjectPosition: (position: {
69
+ matrix: THREE.Matrix4;
70
+ }) => void;
71
+ applyObjectRotate: (rotate: {
72
+ quaternion: THREE.Quaternion;
73
+ origin: THREE.Vector3;
74
+ }) => void;
75
+ applyObjectScale: (scale: {
76
+ matrix: THREE.Matrix4;
77
+ origin?: THREE.Vector3;
78
+ }) => void;
79
+ };
80
+ export interface Object3DHelperState {
81
+ enabled: boolean;
82
+ visible: boolean;
83
+ disposed: boolean;
84
+ }
85
+ export type Object3DHelperEventMap = HelperEventMap & {
86
+ show: (options?: {
87
+ userAction?: boolean;
88
+ }) => void;
89
+ hide: (options?: {
90
+ userAction?: boolean;
91
+ }) => void;
92
+ enable: (options?: {
93
+ userAction?: boolean;
94
+ }) => void;
95
+ disable: (options?: {
96
+ userAction?: boolean;
97
+ }) => void;
98
+ dispose: () => void;
99
+ stateChange: (params: {
100
+ state: Object3DHelperState;
101
+ prevState?: Object3DHelperState;
102
+ }) => void;
103
+ };
104
+ export interface HelperOffset {
105
+ x: number | {
106
+ percents: number;
107
+ };
108
+ y: number | {
109
+ percents: number;
110
+ };
111
+ z: number | {
112
+ percents: number;
113
+ };
114
+ }
115
+ export type Color = THREE.Color | string | number;
116
+ export type PositionFrom = 'objectPosition' | 'boundingBox' | 'boundingSphere' | THREE.Vector3 | ((object: THREE.Object3D) => THREE.Vector3);
117
+ export interface ObjectHelperControllers {
118
+ moveController?: MoveController;
119
+ rotateController?: RotateController;
120
+ boundingBoxController?: BoundingBoxController;
121
+ }
122
+ export type ScaleCallback = (params: {
123
+ intersectPoint: THREE.Vector3;
124
+ scalePosition: ScalePosition;
125
+ offset: THREE.Vector3;
126
+ }) => any;
127
+ export type ScalePosition = {
128
+ id?: string;
129
+ handlePosition: THREE.Vector3;
130
+ basePosition: THREE.Vector3;
131
+ };
132
+ export interface Vector3Position {
133
+ x: number;
134
+ y: number;
135
+ z: number;
136
+ }
137
+ export type Vector3WithArray = [number, number, number];
138
+ export interface Vector2Position {
139
+ x: number;
140
+ y: number;
141
+ }
142
+ export type Vector2WithArray = [number, number];
143
+ export type { BaseController, BoundingBoxController, MoveController, UseFaceNormalInterface, RotateController, MoveHelperAbstract, RotateHelperAbstract, Circle, BaseHelper, Object3DHelper, AddObject3DHelperConfig, };
@@ -0,0 +1,22 @@
1
+ import * as THREE from 'three';
2
+ import type { Direction } from '../typing';
3
+ import { DirectionGroup, DirectionMesh } from './direction';
4
+ interface InstanceParameter {
5
+ direction: Direction;
6
+ color?: THREE.Color | string | number;
7
+ }
8
+ /**
9
+ * 箭头组:正方向有线段+箭头,反方向有箭头
10
+ * 参考 three.js TransformControls 的 gizmoTranslate
11
+ */
12
+ export declare class ArrowGroup extends DirectionGroup {
13
+ line: DirectionMesh<THREE.Geometry, THREE.MeshBasicMaterial>;
14
+ arrow: DirectionMesh<THREE.ConeGeometry, THREE.MeshBasicMaterial>;
15
+ arrowNeg: DirectionMesh<THREE.ConeGeometry, THREE.MeshBasicMaterial>;
16
+ private lineHeight;
17
+ private arrowHeight;
18
+ name: string;
19
+ constructor(param: InstanceParameter);
20
+ private formatGeometries;
21
+ }
22
+ export {};
@@ -0,0 +1,23 @@
1
+ import * as THREE from 'three';
2
+ import type { Direction } from '../typing';
3
+ import { DirectionGroup } from '../utils/direction';
4
+ interface InstanceParameter {
5
+ color?: THREE.Color | string | number;
6
+ size?: number;
7
+ }
8
+ export declare class CenterHandle extends DirectionGroup {
9
+ cube: THREE.Mesh<THREE.BoxGeometry, THREE.MeshBasicMaterial[]> & {
10
+ direction: Direction;
11
+ };
12
+ name: string;
13
+ private faceMaterials;
14
+ private baseColor;
15
+ private faceNormals;
16
+ constructor(param?: InstanceParameter);
17
+ /**
18
+ * 更新各个面的颜色,根据与相机的角度动态调整
19
+ * @param camera 相机对象
20
+ */
21
+ update(camera: THREE.Camera): void;
22
+ }
23
+ export {};
@@ -0,0 +1,19 @@
1
+ import * as THREE from 'three';
2
+ import type { Direction } from '../typing';
3
+ import { DirectionGroup } from './direction';
4
+ interface PlaneHandleParams {
5
+ direction: Direction;
6
+ color?: THREE.Color | string | number;
7
+ size?: number;
8
+ offset?: number;
9
+ }
10
+ /**
11
+ * 平面移动手柄,参考 three.js TransformControls 的 XY/XZ/YZ 平面手柄
12
+ * 一个小的半透明方块,位于两个轴的交汇处
13
+ */
14
+ export declare class PlaneHandle extends DirectionGroup {
15
+ handle: THREE.Mesh<THREE.BoxGeometry, THREE.MeshBasicMaterial>;
16
+ name: string;
17
+ constructor(params: PlaneHandleParams);
18
+ }
19
+ export {};
@@ -0,0 +1,5 @@
1
+ import type * as THREE from 'three';
2
+ export default function calculateScaleByCamera(camera: any, position: THREE.Vector3, limit?: {
3
+ min?: number;
4
+ max?: number;
5
+ }): number;
@@ -0,0 +1,2 @@
1
+ export declare function cameraHooks(camera: THREE.Camera): any;
2
+ export declare function disposeCameraHooks(camera: THREE.Camera): void;
@@ -0,0 +1,14 @@
1
+ import type { Direction } from '../typing';
2
+ import * as THREE from 'three';
3
+ export declare class DirectionGroup extends THREE.Group {
4
+ direction: Direction;
5
+ constructor(direction?: Direction);
6
+ }
7
+ export declare class DirectionLine<T extends THREE.Geometry, K extends THREE.Material> extends THREE.Line<T, K> {
8
+ direction: Direction;
9
+ constructor(geometry?: T, material?: K, direction?: Direction);
10
+ }
11
+ export declare class DirectionMesh<T extends THREE.Geometry, K extends THREE.Material> extends THREE.Mesh<T, K> {
12
+ direction: Direction;
13
+ constructor(geometry?: T, material?: K, direction?: Direction);
14
+ }
@@ -0,0 +1,5 @@
1
+ import * as THREE from 'three';
2
+ export declare function getMouseRaycaster(camera: THREE.Camera, mouse: {
3
+ x: number;
4
+ y: number;
5
+ }, element: HTMLElement): THREE.Raycaster | undefined;
@@ -0,0 +1,8 @@
1
+ import * as THREE from 'three';
2
+ /**
3
+ * @description 获取正交相机的方向
4
+ */
5
+ export declare function getOrthographicCameraDirection(pose: {
6
+ longitude: number;
7
+ latitude: number;
8
+ }): THREE.Vector3;
@@ -0,0 +1,8 @@
1
+ import * as THREE from 'three';
2
+ /**
3
+ * @description: 在指定中心点上,使用 quaternion 旋转物体。
4
+ * @param {THREE.Object3D} object 旋转对象
5
+ * @param {THREE.Quaternion} quaternion 旋转四元数
6
+ * @param {THREE.Vector3} rotateCenter 旋转中心
7
+ */
8
+ export default function setObjectQuaternion(object: THREE.Object3D, quaternion: THREE.Quaternion, rotateCenter: THREE.Vector3): void;
@@ -0,0 +1,27 @@
1
+ import * as THREE from 'three';
2
+ /** 将世界坐标投影为屏幕像素坐标 */
3
+ export declare function projectToScreen(camera: THREE.Camera, container: HTMLElement | null | undefined, point: THREE.Vector3): THREE.Vector2;
4
+ /** 估算某方向上线段的像素与世界长度的比例(世界单位/像素) */
5
+ export declare function computeWorldPerPixel(camera: THREE.Camera, container: HTMLElement | null | undefined, center: THREE.Vector3, direction: THREE.Vector3): number | undefined;
6
+ /** 计算直线长度:随相机距离/视口变化自适应,限制在可视范围内 */
7
+ export declare function computeGuideLength(camera: THREE.Camera, center: THREE.Vector3): number;
8
+ export type SolidGuideOptions = {
9
+ color?: number;
10
+ renderOrder?: number;
11
+ };
12
+ export declare class SolidGuideLine {
13
+ private camera;
14
+ private container;
15
+ private defaults;
16
+ constructor(camera: THREE.Camera, container: HTMLElement | null | undefined, defaults?: SolidGuideOptions);
17
+ /** 创建无限长直线(Line + LineBasicMaterial),穿过整个平面 */
18
+ createSolidLine(center: THREE.Vector3, direction: THREE.Vector3, options?: SolidGuideOptions): THREE.Line<THREE.BufferGeometry, THREE.LineBasicMaterial>;
19
+ /** 更新已创建的直线,使其始终穿过整个平面 */
20
+ updateSolidLine(line: THREE.Line<THREE.BufferGeometry, THREE.LineBasicMaterial>, center: THREE.Vector3, direction: THREE.Vector3, options?: SolidGuideOptions): void;
21
+ /** 计算"无限"直线的长度,确保穿过整个可视区域 */
22
+ private computeInfiniteLineLength;
23
+ /** 释放直线的几何与材质 */
24
+ dispose(line?: THREE.Line<THREE.BufferGeometry, THREE.LineBasicMaterial>): void;
25
+ /** 更新默认配置 */
26
+ updateDefaults(options: SolidGuideOptions): void;
27
+ }
@@ -0,0 +1,8 @@
1
+ export declare function createElement(style?: Partial<CSSStyleDeclaration>, tagName?: string): HTMLElement;
2
+ export declare function setStyle(element: HTMLElement, style?: Partial<CSSStyleDeclaration>): HTMLElement;
3
+ export declare function tipsDom(style?: Partial<CSSStyleDeclaration>): {
4
+ element: HTMLElement;
5
+ show: () => void;
6
+ hide: () => void;
7
+ setLeftTop: (left: string, top: string) => void;
8
+ };
@@ -54,7 +54,7 @@ export declare class Controller extends BasePlugin.Controller<PluginType.State,
54
54
  findKeyFrameByLocation(location: number): number | {
55
55
  keyframeIndex: number;
56
56
  progress: number;
57
- };
57
+ } | undefined;
58
58
  /**
59
59
  * 根据时间戳找到最近的 keyframe
60
60
  * @returns keyframe 索引,如果找不到返回 undefined
@@ -5,5 +5,8 @@ export * from './BackgroundPlugin';
5
5
  export * from './TrajectoryPlugin';
6
6
  export * from './PanoAnimePlugin';
7
7
  export * from './DynamicPathLinePlugin';
8
- export { CSS3DRenderer } from './thirdParty/CSS3DRenderer';
8
+ export * from './CSS3DPlugin';
9
+ export * from './Object3DHelperPlugin';
10
+ export * from './GaussianSplattingEntranceAnimationPlugin';
11
+ export { CSS3DRenderer, CSS3DObject, CSS3DSprite, type CSS3DRendererParameters } from './thirdParty/CSS3DRenderer';
9
12
  export { OrbitControls } from './thirdParty/OrbitControls';