@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,149 @@
1
+ # Pano Filter (全景图滤镜)
2
+
3
+ - **Summary**: `PBMPanoFilter` 用于调整全景图的视觉效果,包括亮度、对比度、饱和度、色温、色调等。它作为参数传递给 `ModelScene`,可实时改变全景图的渲染表现。
4
+ - **Schema**: `PBMPanoFilter`, `PBMUpdateable`
5
+ - **Concepts**: Material Filter, Color Correction
6
+ - **Configuration**: Temperature, Tint, Brightness, Contrast, Saturation
7
+ - **Examples**: 滤镜开启与参数调整
8
+
9
+ ## Schema
10
+
11
+ > **Definition**: [PBMPanoFilter](../../five/model/materials/pbmMaterial.d.ts)
12
+
13
+ `PBMPanoFilter` 类定义了全景图的滤镜参数。所有属性均为对象引用,直接修改其内部属性即可生效。
14
+
15
+ ```typescript
16
+ import { PBMUpdateable } from "@realsee/five";
17
+
18
+ export class PBMPanoFilter extends PBMUpdateable {
19
+ /** 对比度控制 */
20
+ public readonly contrast: {
21
+ /** 对比度偏移 [-1, 1] (默认 0) */
22
+ contrastBias: number;
23
+ };
24
+
25
+ /** 饱和度控制 */
26
+ public readonly saturation: {
27
+ /** 饱和度偏移 [-1, 1] (默认 0) */
28
+ saturationBias: number;
29
+ };
30
+
31
+ /** 颜色控制 (色温与色调) */
32
+ public readonly color: {
33
+ /** 色温偏移 [-100, 100] (默认 0) */
34
+ temperatureBias: number;
35
+ /** 色调偏移 [-100, 100] (默认 0) */
36
+ tintBias: number
37
+ };
38
+
39
+ /** 高光与阴影控制 */
40
+ public readonly highlightShadow: {
41
+ /** 全局亮度偏移 [-255, 255] (默认 0) */
42
+ globalBias: number;
43
+ /** 高光偏移 [-255, 255] (默认 0) */
44
+ highlightBias: number;
45
+ /** 阴影偏移 [-255, 255] (默认 0) */
46
+ shadowBias: number;
47
+ };
48
+ }
49
+ ```
50
+
51
+ ## Concepts
52
+
53
+ ### Material Filter (材质滤镜)
54
+ 与 [Postprocessing](./postprocessing.md) (后处理) 不同,`PBMPanoFilter` 是作用于全景图材质 (Material) 阶段的滤镜。这意味着它直接影响纹理的采样和着色计算,而不是对最终渲染图像进行二次处理。
55
+
56
+ ### Parameter Binding (参数绑定)
57
+ 滤镜实例需要通过 `five.modelScene.parameter.set('panoFilter', filter)` 绑定到场景中才能生效。
58
+
59
+ ## Configuration
60
+
61
+ 以下参数均通过修改 `PBMPanoFilter` 实例的属性进行配置。
62
+
63
+ ### Color & Tone (色彩与色调)
64
+
65
+ | Property | Type | Range | Default | Description |
66
+ | :--- | :--- | :--- | :--- | :--- |
67
+ | `color.temperatureBias` | `number` | `[-100, 100]` | `0` | **色温**。正值偏暖 (黄),负值偏冷 (蓝)。 |
68
+ | `color.tintBias` | `number` | `[-100, 100]` | `0` | **色调**。正值偏洋红,负值偏绿。 |
69
+ | `saturation.saturationBias` | `number` | `[-1, 1]` | `0` | **饱和度**。`0` 为原色,`-1` 为黑白。 |
70
+ | `contrast.contrastBias` | `number` | `[-1, 1]` | `0` | **对比度**。正值增强对比,负值降低对比。 |
71
+
72
+ ### Light & Shadow (光影)
73
+
74
+ | Property | Type | Range | Default | Description |
75
+ | :--- | :--- | :--- | :--- | :--- |
76
+ | `highlightShadow.globalBias` | `number` | `[-255, 255]` | `0` | **亮度 (Brightness)**。整体提升或降低画面亮度。 |
77
+ | `highlightShadow.highlightBias` | `number` | `[-255, 255]` | `0` | **高光 (Highlight)**。仅调整画面亮部的亮度。 |
78
+ | `highlightShadow.shadowBias` | `number` | `[-255, 255]` | `0` | **阴影 (Shadow)**。仅调整画面暗部的亮度。 |
79
+
80
+ ## Examples
81
+
82
+ ### Basic Usage (基础用法)
83
+
84
+ 创建一个滤镜实例并应用到 Five 场景中。
85
+
86
+ ```typescript
87
+ import { Five, PBMPanoFilter } from "@realsee/five";
88
+
89
+ const five = new Five();
90
+ // ... 初始化 five ...
91
+
92
+ // 1. 创建滤镜实例
93
+ const panoFilter = new PBMPanoFilter();
94
+
95
+ // 2. 配置参数 (例如:增加一点暖色调和亮度)
96
+ panoFilter.color.temperatureBias = 10; // 暖色
97
+ panoFilter.highlightShadow.globalBias = 20; // 提亮
98
+
99
+ // 3. 启用滤镜
100
+ five.modelScene.parameter.set('panoFilter', panoFilter);
101
+
102
+ // 4. (可选) 停用滤镜
103
+ // five.modelScene.parameter.reset('panoFilter');
104
+ ```
105
+
106
+ ### Interactive Adjustment (动态调整)
107
+
108
+ 滤镜参数支持实时修改,适合制作调节面板。
109
+
110
+ ```typescript
111
+ import { Five, PBMPanoFilter } from "@realsee/five";
112
+
113
+ // 假设已经有 five 实例
114
+ const panoFilter = new PBMPanoFilter();
115
+ five.modelScene.parameter.set('panoFilter', panoFilter);
116
+
117
+ // 模拟 UI 绑定的数据对象
118
+ const filterSettings = {
119
+ brightness: 0,
120
+ contrast: 0,
121
+ };
122
+
123
+ // 监听 UI 变化 (示例伪代码)
124
+ function onBrightnessChange(value: number) {
125
+ // value range: [-255, 255]
126
+ panoFilter.highlightShadow.globalBias = value;
127
+ // 如果 five 没有开启自动渲染 (play: false),需要手动触发重绘
128
+ five.needsRender = true;
129
+ }
130
+
131
+ function onContrastChange(value: number) {
132
+ // value range: [-1, 1]
133
+ panoFilter.contrast.contrastBias = value;
134
+ five.needsRender = true;
135
+ }
136
+ ```
137
+
138
+ ## Related
139
+
140
+ * [Model](./model.md): 了解 ModelScene 及其参数系统。
141
+ * [Parameter](./parameter.md): 了解 Five 的全局初始化参数。
142
+ * [Postprocessing](./postprocessing.md): 了解屏幕空间的后处理效果。
143
+ * [Material](./material.md): 材质参数配置(透明度、点云等)。
144
+
145
+ ---
146
+
147
+ ```yaml
148
+ tags: [滤镜, 色温, 暖色, 冷色, 饱和度, 亮度, 对比度, filter, material, visual, color, brightness, contrast, color-correction, warm, cool, tone]
149
+ ```
@@ -128,5 +128,5 @@ const five = new Five({
128
128
  ---
129
129
 
130
130
  ```yaml
131
- tags: [pano-tile, observer]
131
+ tags: [全景瓦片, 高清全景, 分片加载, 瓦片, 全景图, 分辨率, 按需加载, pano-tile, observer, LOD, tile]
132
132
  ```
@@ -127,5 +127,5 @@ console.log(`正前方对应 Cubemap 的 ${face} 面,UV 为`, uv);
127
127
  ---
128
128
 
129
129
  ```yaml
130
- tags: [work, observer, uv, projection, math]
130
+ tags: [全景UV, 方向转换, 全景坐标, 像素映射, 全景标注, work, observer, uv, projection, math, equirectangular, cubemap]
131
131
  ```
@@ -64,10 +64,34 @@ class Parameter {
64
64
  reset(...keys: string[]): void;
65
65
 
66
66
  /**
67
- * 获取经过继承计算后的最终值
67
+ * 获取经过继承计算后的最终值(每次调用创建新对象)
68
68
  * @param upstream 上游 Parameter 对象列表(通常由引擎自动传入)
69
69
  */
70
70
  resolveValue(...upstream: Parameter[]): ResolvedParameterValue;
71
+
72
+ /**
73
+ * 获取经过继承计算后的最终值(复用 target 对象,避免重复创建)
74
+ * 适用于高频调用场景(如逐帧更新),可显著减少 GC 压力。
75
+ * @param target 用于写入结果的已有对象,其属性会被重置为默认值后重新赋值
76
+ * @param upstream 上游 Parameter 对象列表
77
+ */
78
+ static resolveValueTo(
79
+ target: Partial<ResolvedParameterValue>,
80
+ ...upstream: Partial<ParameterValue>[]
81
+ ): ResolvedParameterValue;
82
+ }
83
+ ```
84
+
85
+ > `resolveValue()` 内部已委托给 `resolveValueTo({}, ...)`,两者计算逻辑一致,区别仅在于是否复用对象。
86
+
87
+ #### 3. Version (版本标识)
88
+
89
+ `ResolvedParameterValue` 通过 `versionNumber: number` 标识当前配置的版本。引擎内部使用整数哈希(而非字符串拼接)计算版本号,用于高效的脏检查。
90
+
91
+ ```typescript
92
+ interface ResolvedParameterValue extends ParameterValue {
93
+ /** 整数哈希,输入参数变化时值会改变,用于脏检查 */
94
+ versionNumber: number;
71
95
  }
72
96
  ```
73
97
 
@@ -149,5 +173,5 @@ const finalOpacity = five.modelScene.parameter.resolveValue().opacity;
149
173
  ---
150
174
 
151
175
  ```yaml
152
- tags: [parameter, config, hierarchy, api]
176
+ tags: [配置, 参数, 继承, 覆盖, 全局配置, 局部配置, parameter, config, hierarchy, api, set, reset, modelScene]
153
177
  ```
@@ -206,5 +206,5 @@ export type { MyPluginType, Controller as MyPluginController }
206
206
  ---
207
207
 
208
208
  ```yaml
209
- tags: [plugin, baseplugin, development, guide]
209
+ tags: [插件, 插件开发, 扩展, 自定义功能, 状态管理, plugin, baseplugin, development, guide, extension, lifecycle]
210
210
  ```
@@ -255,5 +255,5 @@ class FogPass extends FivePass {
255
255
  ---
256
256
 
257
257
  ```yaml
258
- tags: [postprocessing, shader, effect, adaptive-luminance, edl]
258
+ tags: [后处理, 特效, 自定义shader, 滤镜, 描边, 景深, 色彩校正, 渲染管线, postprocessing, shader, effect, adaptive-luminance, edl, effect-composer, addPass]
259
259
  ```
@@ -166,10 +166,13 @@ const intersects = five.model.intersectRaycaster(raycaster);
166
166
 
167
167
  ## Related
168
168
 
169
- * [parameter.md](./parameter.md): 了解模型参数配置。
169
+ * [Parameter](./parameter.md): 了解模型参数配置。
170
+ * [Screen Project](./screen-project.md): 屏幕坐标与空间坐标转换(标签、拾取的前置步骤)。
171
+ * [Event](./event.md): 手势事件系统,获取点击坐标的来源。
172
+ * [Coordinate System](./coordinate-system.md): 坐标系定义,理解 NDC 与世界坐标。
170
173
 
171
174
  ---
172
175
 
173
176
  ```yaml
174
- tags: [raycast, bvh, interaction, performance]
177
+ tags: [点击, 拾取, 碰撞检测, 物体选择, raycast, bvh, interaction, performance, picking, hit-test, click, floor-detection]
175
178
  ```
@@ -108,5 +108,5 @@ const five = new Five({
108
108
  ---
109
109
 
110
110
  ```yaml
111
- tags: [configuration, network, proxy, authentication]
111
+ tags: [请求代理, 鉴权, 域名替换, 私有化, 请求拦截, configuration, network, proxy, authentication, CDN, token, url-rewrite, cors]
112
112
  ```
@@ -157,9 +157,10 @@ container.addEventListener("click", (event) => {
157
157
  * [Raycast](./raycast.md): 详细的射线检测文档。
158
158
  * [Five](./five.md): Five 核心类说明。
159
159
  * [State](./state.md): 了解相机位姿 (Pose)。
160
+ * [Coordinate System](./coordinate-system.md): 坐标系定义,理解世界坐标与屏幕坐标的关系。
160
161
 
161
162
  ---
162
163
 
163
164
  ```yaml
164
- tags: [coordinate, screen, project, label, ui]
165
+ tags: [标签, 坐标转换, 信息面板, coordinate, screen, project, label, ui, tag, HUD, 3D转2D, overlay, tooltip]
165
166
  ```
@@ -79,8 +79,8 @@ const state = five.state;
79
79
 
80
80
  // 在当前状态基础上,向右旋转 90 度,并略微拉远距离
81
81
  five.setState({
82
- longitude: tate.longitude + Math.PI / 2,
83
- distance: tate.distance + 2.0
82
+ longitude: state.longitude + Math.PI / 2,
83
+ distance: state.distance + 2.0
84
84
  });
85
85
  ```
86
86
 
@@ -89,13 +89,33 @@ five.setState({
89
89
  1. **单位混淆**: `longitude` 和 `latitude` 使用**弧度**,而 `fov` 使用**角度**(度)。
90
90
  2. **Offset 类型**: `offset` 必须是 `THREE.Vector3` 实例。如果在 React 等框架中使用纯对象(Plain Object),Five 内部会自动转换,但在 TypeScript 中需注意类型匹配。
91
91
  3. **异步更新**: `setState` 触发的相机运动是异步动画过程。如果需要立即无动画跳转,可传递第二个参数 `immediately: true`。
92
+ 4. **JSON 序列化**: `State` 中的 `offset` 是 `THREE.Vector3` 实例,不能直接 `JSON.stringify`。保存时需手动提取 `{ x, y, z }`,恢复时需重新构造 `new THREE.Vector3(x, y, z)`。
93
+
94
+ ```typescript
95
+ // 保存
96
+ const snapshot = {
97
+ ...five.state,
98
+ offset: { x: five.state.offset.x, y: five.state.offset.y, z: five.state.offset.z }
99
+ };
100
+ localStorage.setItem('fiveState', JSON.stringify(snapshot));
101
+
102
+ // 恢复
103
+ const saved = JSON.parse(localStorage.getItem('fiveState')!);
104
+ five.setState({
105
+ ...saved,
106
+ offset: new THREE.Vector3(saved.offset.x, saved.offset.y, saved.offset.z)
107
+ }, true);
108
+ ```
92
109
 
93
110
  ## Related
94
111
 
95
112
  * [Mode - 模式](./mode.md): 详细了解各种 Mode 的区别。
113
+ * [Camera Animation](./camera-animation.md): 基于 State 的相机动画控制。
114
+ * [Five](./five.md): Five 核心类,`setState` / `getCurrentState` 的宿主。
115
+ * [Coordinate System](./coordinate-system.md): 坐标系定义。
96
116
 
97
117
  ---
98
118
 
99
119
  ```yaml
100
- tags: [camera, state, pose, interaction]
120
+ tags: [状态保存, 状态恢复, 场景还原, 快照, camera, state, pose, interaction, save, restore, snapshot]
101
121
  ```
@@ -183,5 +183,5 @@ if (pointCloudLayer) {
183
183
  ---
184
184
 
185
185
  ```yaml
186
- tags: [viewlayer, model, 3dtile, parameter, layer]
186
+ tags: [图层, 视图层, 可见性, 显隐控制, 图层切换, 分层渲染, viewlayer, model, 3dtile, parameter, layer, mesh, point-cloud, gaussian-splatting]
187
187
  ```
@@ -299,5 +299,5 @@ five.load(work3, "inherit", { mode: "replace" });
299
299
  ---
300
300
 
301
301
  ```yaml
302
- tags: [work, core, entity, observer]
302
+ tags: [VR数据, 数据加载, 点位, 全景点, 数据结构, 多work, work, core, entity, observer, parseWork, workCode, JSON, load]
303
303
  ```
@@ -52,7 +52,7 @@ Five 定义的五种浏览状态:
52
52
  ### Pano Tile (全景瓦片)
53
53
  为了在移动端快速加载高分辨率全景图(如 8K/16K),将全景图切分为多个小块(瓦片)。Five 会根据当前视角按需加载可见区域的瓦片。
54
54
 
55
- ### Quasi / Mesh
55
+ ### Mesh (三维网格)
56
56
  **三维模型**。通过激光扫描或视觉算法重建的空间几何结构。在 Five 中,全景图贴在几何模型上,从而实现“从全景中看出立体感”的效果。
57
57
 
58
58
  ### G-Buffer / Geometry Buffer
@@ -64,10 +64,10 @@ Five 定义的五种浏览状态:
64
64
  - 拥有独立的 `Parameter` 配置(覆盖上层配置)。
65
65
  - 支持可见性控制 (`visible`) 和优先级加载。
66
66
 
67
- ### Gaussian Splatting (3DGS)
67
+ ### Gaussian Splatting
68
68
  一种基于点的 3D 渲染技术,通过各向异性高斯球(Splat)来表示场景。
69
69
  - 相比传统 Mesh,能更真实地还原复杂光照和细节。
70
- - Five 支持 `.spz` 和 `.splat` 格式的 3DGS 渲染。
70
+ - Five 支持 `.spz` 和 `.splat` 格式的 Gaussian Splatting 渲染。
71
71
 
72
72
  ### 3D Tiles Refinement (细化)
73
73
  3D Tiles 加载过程中的状态概念:
@@ -89,5 +89,5 @@ Five 封装的手势事件:
89
89
 
90
90
  ---
91
91
  ```yaml
92
- tags: [glossary, terminology, definitions]
92
+ tags: [术语, 概念, glossary, terminology, definitions, observer, pose, mode, work, panoindex, fov, viewlayer, gaussian-splatting, 3dtile]
93
93
  ```
@@ -7,84 +7,216 @@ npm install @realsee/five@6.8
7
7
 
8
8
  ## Gaussian Splatting (3DGS) 支持
9
9
  > Five 现已支持 Gaussian Splatting (3DGS) 渲染管线。这是一种基于点的渲染技术,能够提供高质量的实时渲染效果。
10
+ > 仅在 WebGL2 环境下可用。
11
+
12
+ ### 文件格式支持
13
+ 1. `.splat` 文档及工具 [GitHub - antimatter15/splat: WebGL 3D Gaussian Splat Viewer](https://github.com/antimatter15/splat)
14
+ 2. `.spz` 文档及工具 GitHub - [nianticlabs/spz: File format for 3D Gaussian splats. About 10x smaller than the PLY equival](https://github.com/nianticlabs/spz)
15
+ 3. `.glb` `.gltf` 对应的 KHR_gaussian_splatting, KHR_gaussian_splatting_compression_spz, KHR_gaussian_splatting_compression_spz_2 扩展。
16
+
17
+ ### 支持 3d-tile
18
+ > 通过 3d-tile 标准,使用 glb 作为模型格式。
19
+
20
+ ```json
21
+ {
22
+ "asset": {
23
+ "version": "1.0",
24
+ },
25
+ "geometricError": 265.4529731527354,
26
+ "root": {
27
+ "boundingVolume": {
28
+ "box": [
29
+ 0.9499778747558594, 3.5037269592285156, 17.48550033569336,
30
+ 97.01779174804688, 0.0, 0.0,
31
+ 0.0, 88.27268981933594, 0.0,
32
+ 0.0, 0.0, 20.292869567871094
33
+ ]
34
+ },
35
+ "content": {
36
+ "uri": "splat.glb"
37
+ },
38
+ "geometricError": 66.36324328818385,
39
+ "refine": "ADD"
40
+ },
41
+ "transform": [
42
+ 1.0, 0.0, 0.0, 0.0,
43
+ 0.0, 1.0, 0.0, 0.0,
44
+ 0.0, 0.0, 1.0, 0.0,
45
+ 0.0, 0.0, 0.0, 1.0
46
+ ]
47
+ }
48
+ ```
10
49
 
11
- * **前提条件**: 仅在 WebGL2 环境下可用。
12
- * **数据支持**:
13
- * 支持 `3dtiles` 中包含 3DGS 数据。
14
- * 支持加载 `.spz` (version 2) 或 `.splat` 格式的数据。
15
- * 支持通过 glTF 扩展加载 content 为 `.spz` 的 glTF/glb 文件。
16
- * **功能特性**:
17
- * 支持透视相机与正交相机渲染。
18
- * 支持 BVH 构建,支持射线检测 (Raycast)。
19
- * `pbmGSObject` 继承自 `THREE.Points`。
50
+ ### 通过 Work 加载
20
51
 
21
- ### 配置球谐光照阶数 (SH Degree)
22
- 可以通过 `five.parameter.gsSHDegree` 设置球谐光照阶数,支持 0, 1, 2 阶,默认为 0 阶。
52
+ ```json
53
+ {
54
+ "work_code": "",
55
+ "model": {
56
+ "layers": {
57
+ "tileset_url": "tileset.json",
58
+ "name": "poincare_3dgs",
59
+ "type": "gaussian_splatting"
60
+ }
61
+ }
62
+ }
63
+ ```
23
64
 
24
- ```ts
65
+ ### 配置球谐光照阶数 (SH Degree)
66
+ 可以通过 `five.parameter.gaussianSplattingSHDegree` 设置球谐光照阶数,支持 0, 1, 2 阶,默认为 0 阶。
67
+ ```
25
68
  const five = new Five({
26
69
  parameters: {
27
- gsSHDegree: 1 // 设置为 1 阶 SH
70
+ gaussianSplattingSHDegree: 1 // 设置为 1 阶 SH
28
71
  }
29
72
  });
30
73
  ```
31
74
 
32
- ## ViewLayer 加载策略优化
33
- > 优化了 ViewLayer 的加载和显隐逻辑,以减少内存占用并提高性能。
75
+ ### 模型的射线检测
76
+ gaussian_splatting 的模型同时也支持 rayscast 射线检测。同点云的处理保持一致。但是因为 gaussian_splatting 的射线交点对应的法线方向是一个估算值,精度并不高。请酌情使用。
34
77
 
35
- ### 默认加载策略变更
36
- 默认情况下,Five **不再加载所有图层**,而是根据优先级**仅加载一个**图层。
37
- 优先级顺序:`mesh` > `point_cloud` > 其他类型。
78
+ ## glTF 模型支持增强
79
+ > 新增了对更多 glTF 扩展的支持,提升了模型的表现力和动画能力。
38
80
 
39
- ### 显隐与内存管理
40
- * **显示**: 当 `viewLayer.visible = true` 时,开始加载资源。
41
- * **隐藏**: 当 `viewLayer.visible = false` 时,**释放该图层占用的所有内存资源**。
81
+ ### 扩展新增及优化
42
82
 
43
- ### 加载进度
44
- 新增 `tile.content.loadProgress` 属性,用于查看每个瓦片的加载进度 (0-1)。
45
- 新增 `tile.content.byteLength` 属性,可在加载过程中获取瓦片内容的字节长度。
46
- 同时,`model.tileLoad` 和 `model.tileUnload` 事件被添加,用于监控瓦片的生命周期。
83
+ #### KHR_animation_pointer
84
+ > KHR_animation_pointer 允许动画通道指向 glTF 资产中任何对象的任何属性。
47
85
 
48
- ### 下载进度回调
49
- 外部模型加载函数(`loadGltf`, `loadPly` 等)现在支持 `onDownloadProgress` 回调,用于监控文件下载进度。
86
+ 默认的 animtion 只能修改 node 的 transform 实现节点的平移、旋转和缩放
50
87
 
51
- ### 射线检测增强
52
- * `Intersection` 对象新增了 `tile`, `model`, `viewLayer` 字段,便于在射线检测时获取更详细的上下文信息。
53
- * `raycaster.hitFilter` 回调函数的参数类型定义已更新,包含 `model`, `viewLayer`, `tile` 等上下文信息。
88
+ 这个能力可以实现材质动画。比如:
89
+ - 通过 uv transform 实现 texture 的移动,变化贴图位置。
90
+ - 通过修改 material 上的材质属性,可以动态修改金属粗糙,透明度,自发光程度。
91
+ - 通过修改 node 的 KHR_node_visibility 的扩展值,显隐某个节点。
92
+ - 等等
54
93
 
55
- ## glTF 模型支持增强
56
- > 新增了对更多 glTF 扩展的支持,提升了模型的表现力和动画能力。
94
+ #### KHR_node_visibility
95
+ > 允许设置节点的可见性属性。
96
+ 用于 配合 KHR_animation_pointer 实现显隐效果。
57
97
 
58
- ### 新增扩展支持
59
- * **KHR_animation_pointer**: 允许动画通道指向 glTF 资产中任何对象的任何属性,而不仅仅是节点的平移、旋转和缩放。
60
- * **KHR_node_visibility**: 允许设置节点的可见性属性。
61
- * **KHR_materials_clearcoat** 用于在材质上添加一层透明涂层,模拟车漆、碳纤维、清漆木材等真实世界中的表面效果。
62
- * **KHR_materials_sheen** 绒面 / 绒毛类表面效果。
63
- * **KHR_materials_transmission** 物理透光材质扩展,用于实现光线真正穿过物体的透明 / 半透明效果。
98
+ #### KHR_materials_clearcoat
99
+ > 用于在材质上添加一层透明涂层,模拟车漆、碳纤维、清漆木材等真实世界中的表面效果。
64
100
 
65
- ## Work 核心能力增强
66
- > 为 WorkObserver 提供了更多实用的工具函数,便于进行坐标和 UV 转换。
101
+ 这个能力可以实现材质动画。比如
102
+ - 漆面等光滑的表面
103
+ - 塑料薄膜
104
+ - 等等
67
105
 
68
- ### UV 转换工具函数
69
- * `vectorToEquirectangularUv`: 将方向向量转化为全景图 uv。
70
- * `equirectangularUvToVector`: 将全景图 uv 转化为方向向量。
71
- * `vectorToCubemapUv`: 将方向向量转化为立方体贴图 uv。
72
- * `cubemapUvToVector`: 将立方体贴图 uv 转化为方向向量。
106
+ #### KHR_materials_transmission
107
+ > 物理透光材质扩展,用于实现光线真正穿过物体的透明 / 半透明效果。
73
108
 
74
- ## 新增后处理效果 (Post-Processing Passes)
75
- > 新增了三个可选的内置后处理 Pass,用于增强视觉效果。
109
+ 这个能力可以实现材质动画。比如
110
+ - 玻璃等即透光也反射的表面
111
+ - 等等
112
+
113
+ #### KHR_materials_emissive_strength
114
+ > 调整自发光强度
76
115
 
77
- * **[FlowingLight2DPass](../features/flowing-light-2d-pass.md)**: 2D 流光效果,通常用于在屏幕空间绘制流动的光线(如道路流光)。
78
- * **[FlowingLight3DPass](../features/flowing-light-3d-pass.md)**: 3D 流光效果,基于深度缓冲区在三维模型表面绘制流光。
79
- * **[GaussianBlurPass](../features/gaussian-blur-pass.md)**: 高斯模糊效果,可用于实现毛玻璃等视觉特效。
116
+ #### KHR_materials_unlit
117
+ > 不感光材质
118
+ 正确解析 KHR_materials_unlit。是否感光作用到对应的 material 上,而不是 gltf 中的所有元素。
80
119
 
81
- ## AI 友好文档 (AI Guides)
82
- > 全面重构了文档结构,使其更适合 AI 辅助编程工具 (如 Cursor, Copilot) 阅读和索引。
120
+ ### 动画优化
121
+ - 处理额外动画骨骼未绑定导致的错误,出现的抖动。
122
+ - 修复 glTF 骨骼 weight 为整型时,导致 boneTransform 计算出错进而引发射线检测错误的问题。gltf parser 在加载非 float 数据时,现已自动转换为 float 使用。
83
123
 
84
- * 文档目录迁移至 `ai_guides/`,并在 `package.json` 中新增 `ai` 字段指向该目录。
85
- * 文档内容包含源码链接 (`source` 字段),直接指向对应的 `.ts` 定义文件。
86
- * 提供了更清晰的 API 定义和概念说明,例如新增了 [ViewLayer](../features/view-layer.md) 的详细文档。
124
+ ## 模型 ViewLayer 加载策略优化
125
+ > 优化了 ViewLayer 的加载和显隐逻辑,以减少内存占用并提高性能。
126
+
127
+ #### 默认加载策略变更
128
+ 默认情况下,Five 不再加载所有图层,而是根据优先级仅加载一个图层。
129
+ 优先级顺序:mesh > point_cloud > gaussian_splatting > 其他类型。
130
+
131
+ #### 显隐与内存管理
132
+ - 显示: 当 viewLayer.visible = true 时,开始加载资源。
133
+ - 隐藏: 当 viewLayer.visible = false 时,释放该图层占用的所有内存资源。
134
+
135
+ #### 加载进度
136
+ - 新增 tile.content.loadProgress 属性,用于查看每个瓦片的加载进度 (0-1)。
137
+ - 新增 tile.content.byteLength 属性,可在加载过程中获取瓦片内容的字节长度。
138
+ - 同时,model.tileLoad 和 model.tileUnload 事件被添加,用于监控瓦片的生命周期。
139
+ - 加载函数(loadGltf, loadPly 等)现在支持 onDownloadProgress 回调,用于监控文件下载进度。
140
+
141
+ #### 射线检测增强
142
+ - 射线交点 Intersection 对象新增了 tile, model, viewLayer 字段,便于在射线检测时获取更详细的上下文信息。
143
+ - raycaster.hitFilter 回调函数的参数类型定义已更新,包含 model, viewLayer, tile 等上下文信息。
144
+
145
+ ## Work 结构改变
146
+ ### Observer 支持 uv 计算工具函数
147
+ 为 WorkObserver 提供了更多实用的工具函数,便于进行坐标和 UV 转换。
148
+ UV 转换工具函数
149
+ - observer.vectorToEquirectangularUv: 将方向向量转化为全景图 uv。
150
+ - observer.equirectangularUvToVector: 将全景图 uv 转化为方向向量。
151
+ - observer.vectorToCubemapUv: 将方向向量转化为立方体贴图 uv。
152
+ - observer.cubemapUvToVector: 将立方体贴图 uv 转化为方向向量。
153
+
154
+ ### five.panoId
155
+ 新增 `five.panoId` 属性,使其与 `work.observer` 保持一致。
87
156
 
88
- ## 其他优化
89
- * **点云渲染**: 计算点位透明度时,现在会排除不活跃的点,提升渲染正确性。
90
- * **TypeScript 支持**: 优化了 `.d.ts` 打包方式,声明文件现在与源码文件一一对应,提升了 IDE 的跳转体验。
157
+ ### derived_id 类型变更
158
+ derived_id 的类型从 `number` 改为 `number | string`。
159
+
160
+ ## 全景图滤镜
161
+
162
+ 新增了全景图滤镜功能,支持实时调整全景图的亮度、对比度、饱和度、色温和色调等参数。
163
+
164
+ 通过 `five.modelScene.parameter.set('panoFilter', filter)` 绑定。
165
+ 支持的参数如下:
166
+ - color: 颜色调整,包含色温 (Temperature) 和色调 (Tint)。
167
+ - highlightShadow: 高光和阴影的独立调节。包括高光 (Highlight) 和阴影 (Shadow) 全局(Global)。
168
+ - contrast: 对比度调整。
169
+ - saturation: 饱和度调整。
170
+
171
+
172
+ ## 新增后处理效果 (Post-Processing Passes)
173
+ 新增了三个可选的内置后处理 Pass,用于增强视觉效果。
174
+
175
+ - FlowingLight2DPass: 2D 流光效果,通常用于在屏幕空间绘制流动的光线(如道路流光)。
176
+ - FlowingLight3DPass: 3D 流光效果,基于深度缓冲区在三维模型表面绘制流光。
177
+ - GaussianBlurPass: 高斯模糊效果,可用于实现毛玻璃等视觉特效。
178
+
179
+ ## 工具优化
180
+ ### Work Viewer
181
+ > https://vradmin.lianjia.com/project/
182
+ - 支持 debug -> stateSync。可以打开两个页面,均开启 stateSync。两边同步相机状态。
183
+ - 支持 work.json 拖拽加载加载。
184
+
185
+ ### Model Viewer
186
+ > https://vradmin.lianjia.com/poincare/
187
+ - 支持 debug -> stateSync。可以打开两个页面,均开启 stateSync。两边同步相机状态。
188
+ - 支持 模型文件拖拽加载加载。
189
+
190
+ ### glTF Viewer
191
+ > https://vradmin.lianjia.com/gltf/
192
+ - 支持 debug -> stateSync。可以打开两个页面,均开启 stateSync。两边同步相机状态。
193
+ - 支持 模型文件拖拽加载加载。
194
+ - 支持 额外绑定动画文件(仅读取 gltf 的 animations 的部分,并绑定到当前的模型上)。
195
+ - 支持 额外绑定动画的单独播放和暂停。
196
+
197
+ ## 友好文档
198
+ 全面重构了文档结构,使其更适合 AI 辅助编程工具 (如 Cursor, Copilot) 阅读和索引。
199
+
200
+ - 文档目录迁移至 ai_guides/,并在 package.json 中新增 ai 字段指向该目录。
201
+ - 文档内容包含源码链接 (source 字段),直接指向对应的 .ts 定义文件。
202
+ - 提供了更清晰的 API 定义和概念说明,例如新增了 ViewLayer 的详细文档。
203
+ - TypeScript 支持: 优化了 .d.ts 打包方式,声明文件现在与源码文件一一对应,提升了 IDE 的跳转体验。
204
+
205
+ ## 其他
206
+ 1. 优化 mapview 下滚动缩放。避免滚落所发有时会退回的问题。
207
+ 2. 优化 floorplan 从下向上看时的交互的屏幕上下滑动反人类下意识的问题。
208
+ 3. 优化 camera.autoNearFar 的计算结果。优化对于小物品的 near 过远以及 出现 z-fighting 的问题。
209
+ 4. 添加了 gesture.fire 事件,发生在任意事件被触发。
210
+ 5. gestureEvent.center gestureEvent.pointers 中加入了 buttons button shiftKey ctrlKey metaKey altKey 字段。
211
+ 6. 修复 gesture.momentum 前没有触发 gesture.create 的问题。
212
+ 7. 修复 gesture.pan 中 preventDefault 无法阻止触发 gesture.momentum 的问题。
213
+ 8. 修复 gesture.pan 中第一次并没有 event.isFirst = true 的问题。
214
+ 9. 添加自定义着色器 mainPanoColor 插入点,可以修改 pano0Color、pano1Color。
215
+ 10. 新增 `parameter.resolveValue('xxx')` 快速获取单个参数的最终值,无需创建完整的 `ResolvedParameterValue` 对象。
216
+ 11. 新增 `pano.prepare` 事件(ExtendableEvent),支持通过 `waitUntil(promise)` 在点位切换前插入异步操作。`PanoEvent` 和 `PanoPrepareEvent` 新增 `pano` 字段,包含目标点位信息。
217
+
218
+ ## 内部机制改动
219
+ 1. glTF 加载 mesh / points 都将直接使用 PBM 材质,而不是作为 PBM_Mesh 扩展形式去替换覆盖使用three内置材质的方式。
220
+ 2. 应用 animation pointer 以及 动画优化的原因。目前会重写 hack THREE.PropertyBinding.findNode。
221
+ 3. 打包不再合并 .d.ts 文件。便于文档可以更便于找到对应的类型声明。
222
+ 4. Parameter 性能优化:新增 `resolveValueTo` 支持对象复用以减少 GC,版本标识改用整数哈希(`versionNumber: number`)替代字符串拼接。
@@ -8,6 +8,12 @@
8
8
 
9
9
  ## Schema
10
10
 
11
+ <!--
12
+ ⚠️ AI 注意:以下 Definition 链接使用了反引号包裹(代码块格式),这是模板的占位符写法,
13
+ 目的是避免构建时因路径不存在而报错。
14
+ 在编写正式文档时,必须将其还原为标准 Markdown 链接(去掉反引号),并确保路径指向真实存在的 .ts 文件。
15
+ -->
16
+
11
17
  > **Definition**: `[InterfaceName](../../five/path/to/source.d.ts)` 或多个 `[Main](../../lib/...)`, `[Options](../../lib/...)`
12
18
 
13
19
  (这里放置 Interface 定义、TS 类型或参数表。务必包含 Definition 源码链接。)
@@ -61,6 +67,11 @@
61
67
 
62
68
  ## Related
63
69
 
70
+ <!--
71
+ ⚠️ AI 注意:以下链接同样使用了反引号包裹(占位符写法)。
72
+ 在编写正式文档时,必须还原为可点击的标准 Markdown 链接,并确保路径指向真实存在的文件。
73
+ -->
74
+
64
75
  * `[RelatedConcept](./related-concept.md)`: 简述关联关系。
65
76
 
66
77
  ---