@realsee/five 6.8.0-alpha.3 → 6.8.0-alpha.31

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 (764) hide show
  1. package/AGENTS_READ_ME.md +6 -1
  2. package/AI_CONTEXT.md +6 -1
  3. package/README.md +10 -6
  4. package/ai_guides/README.md +40 -2
  5. package/ai_guides/ai-doc-guidelines.md +31 -1
  6. package/ai_guides/api.md +107 -13
  7. package/ai_guides/features/3dtile.md +49 -141
  8. package/ai_guides/features/camera-animation.md +42 -4
  9. package/ai_guides/features/clipper.md +4 -2
  10. package/ai_guides/features/{coordnate-system.md → coordinate-system.md} +22 -2
  11. package/ai_guides/features/event.md +108 -10
  12. package/ai_guides/features/five.md +20 -16
  13. package/ai_guides/features/flowing-light-2d-pass.md +442 -0
  14. package/ai_guides/features/flowing-light-3d-pass.md +425 -0
  15. package/ai_guides/features/gaussian-blur-pass.md +202 -0
  16. package/ai_guides/features/gesture.md +4 -1
  17. package/ai_guides/features/get-screen-pixels.md +4 -2
  18. package/ai_guides/features/image-options.md +5 -2
  19. package/ai_guides/features/load-external-model.md +27 -2
  20. package/ai_guides/features/load-progress.md +140 -0
  21. package/ai_guides/features/material.md +159 -0
  22. package/ai_guides/features/mode.md +5 -1
  23. package/ai_guides/features/model.md +5 -2
  24. package/ai_guides/features/move-pano-effect.md +3 -1
  25. package/ai_guides/features/multi-work.md +3 -1
  26. package/ai_guides/features/pano-filter.md +149 -0
  27. package/ai_guides/features/pano-tile.md +8 -15
  28. package/ai_guides/features/pano-uv.md +131 -0
  29. package/ai_guides/features/parameter.md +117 -118
  30. package/ai_guides/features/plugin.md +210 -0
  31. package/ai_guides/features/postprocessing.md +40 -5
  32. package/ai_guides/features/raycast.md +16 -2
  33. package/ai_guides/features/request-proxy.md +3 -1
  34. package/ai_guides/features/screen-project.md +4 -1
  35. package/ai_guides/features/state.md +25 -3
  36. package/ai_guides/features/view-layer.md +187 -0
  37. package/ai_guides/features/work.md +64 -3
  38. package/ai_guides/glossary.md +28 -7
  39. package/ai_guides/intro.md +1 -1
  40. package/ai_guides/quick-start.md +1 -0
  41. package/ai_guides/release_notes/6.8.md +222 -0
  42. package/ai_guides/template.md +28 -3
  43. package/docs/00_FOR_AI_AGENTS.md +3 -2
  44. package/docs/README.md +3 -2
  45. package/docs/assets/hierarchy.js +1 -1
  46. package/docs/assets/main.js +1 -1
  47. package/docs/assets/navigation.js +1 -1
  48. package/docs/assets/search.js +1 -1
  49. package/docs/classes/five.AdaptiveLuminancePass.html +7 -6
  50. package/docs/classes/five.AnimationFrameLoop.html +1 -1
  51. package/docs/classes/five.BoundingMesh.html +2 -2
  52. package/docs/classes/five.Camera.html +3 -3
  53. package/docs/classes/five.EyeDomeLightingPass.html +1 -1
  54. package/docs/classes/five.Five.html +77 -76
  55. package/docs/classes/five.FivePass.html +1 -1
  56. package/docs/classes/five.Histogram.html +19 -0
  57. package/docs/classes/five.InternalWebGLRenderer.html +1 -1
  58. package/docs/classes/five.Model.html +32 -32
  59. package/docs/classes/five.ModelScene.html +1 -1
  60. package/docs/classes/five.NetworkSubscribe.html +5 -5
  61. package/docs/classes/five.PBMContainer.html +1 -1
  62. package/docs/classes/five.PBMCustomShader.html +42 -3
  63. package/docs/classes/five.PBMGSObject.html +5 -3
  64. package/docs/classes/five.PBMGroup.html +1 -1
  65. package/docs/classes/five.PBMMesh.html +1 -1
  66. package/docs/classes/five.PBMMeshMaterial.html +16 -7
  67. package/docs/classes/five.PBMPanoFilter.html +61 -0
  68. package/docs/classes/five.PBMPointCloud.html +1 -1
  69. package/docs/classes/five.PBMPointCloudMaterial.html +5 -6
  70. package/docs/classes/five.PBMSkinnedMesh.html +1 -1
  71. package/docs/classes/five.PBMUpdateable.html +41 -0
  72. package/docs/classes/five.PanoCircleMesh.html +1 -1
  73. package/docs/classes/five.PanoCircleMeshCustom.html +1 -1
  74. package/docs/classes/five.PanoCircleMeshSolid.html +1 -1
  75. package/docs/classes/five.Parameter.html +59 -55
  76. package/docs/classes/five.Scene.html +1 -1
  77. package/docs/classes/five.Subscribe.html +5 -5
  78. package/docs/classes/five.Tile.html +1 -1
  79. package/docs/classes/five.Tile3D.html +30 -26
  80. package/docs/classes/five.TileNode.html +1 -1
  81. package/docs/classes/five.Tileset.html +3 -2
  82. package/docs/classes/five.Trajectory.html +1 -1
  83. package/docs/classes/five.TrajectoryNode.html +1 -1
  84. package/docs/classes/five.Work.html +16 -16
  85. package/docs/classes/five.WorkResolvedObserver.html +41 -16
  86. package/docs/classes/gltf-loader.DDSLoader.html +1 -1
  87. package/docs/classes/gltf-loader.DRACOLoader.html +1 -1
  88. package/docs/classes/gltf-loader.GLTFLoader.html +2 -2
  89. package/docs/classes/gltf-loader.GLTFObject.html +1 -1
  90. package/docs/classes/gltf-loader.GLTFParser.html +1 -1
  91. package/docs/classes/gltf-loader.THREEGLTFLoader.html +2 -2
  92. package/docs/classes/line.Line.html +1 -1
  93. package/docs/classes/line.LineGeometry.html +1 -1
  94. package/docs/classes/line.LineMaterial.html +1 -1
  95. package/docs/classes/line.LineSegmentsGeometry.html +1 -1
  96. package/docs/classes/line.THREE_Line2.html +1 -1
  97. package/docs/classes/line.THREE_LineSegments2.html +1 -1
  98. package/docs/classes/plugins.BasePlugin.Controller.html +1 -1
  99. package/docs/classes/plugins.CSS3DObject.html +9 -0
  100. package/docs/classes/plugins.CSS3DRenderer.html +4 -2
  101. package/docs/classes/plugins.CSS3DSprite.html +11 -0
  102. package/docs/classes/plugins.RoundedBoxGeometry.html +1 -1
  103. package/docs/classes/sticker.Sticker.html +1 -1
  104. package/docs/classes/vfx.Airflow.html +1 -1
  105. package/docs/classes/vfx.Flame.html +1 -1
  106. package/docs/classes/vfx.Particle.html +6 -6
  107. package/docs/classes/vfx.ParticleGPU.html +3 -3
  108. package/docs/classes/vfx.SpotLight.html +1 -1
  109. package/docs/documents/README.html +132 -3
  110. package/docs/documents/ai-doc-guidelines.html +48 -3
  111. package/docs/documents/api.html +179 -26
  112. package/docs/documents/features_3dtile.html +143 -46
  113. package/docs/documents/features_camera-animation.html +79 -6
  114. package/docs/documents/features_clipper.html +5 -2
  115. package/docs/documents/{features_coordnate-system.html → features_coordinate-system.html} +56 -4
  116. package/docs/documents/features_event.html +47 -8
  117. package/docs/documents/features_five.html +20 -16
  118. package/docs/documents/features_flowing-light-2d-pass.html +259 -0
  119. package/docs/documents/features_flowing-light-3d-pass.html +249 -0
  120. package/docs/documents/features_gaussian-blur-pass.html +182 -0
  121. package/docs/documents/features_gesture.html +5 -1
  122. package/docs/documents/features_get-screen-pixels.html +5 -2
  123. package/docs/documents/features_image-options.html +5 -2
  124. package/docs/documents/features_load-external-model.html +31 -4
  125. package/docs/documents/features_load-progress.html +110 -0
  126. package/docs/documents/features_material.html +341 -0
  127. package/docs/documents/features_mode.html +6 -1
  128. package/docs/documents/features_model.html +6 -2
  129. package/docs/documents/features_move-pano-effect.html +4 -1
  130. package/docs/documents/features_multi-work.html +4 -1
  131. package/docs/documents/features_pano-filter.html +123 -0
  132. package/docs/documents/features_pano-tile.html +35 -20
  133. package/docs/documents/features_pano-uv.html +82 -0
  134. package/docs/documents/features_parameter.html +84 -56
  135. package/docs/documents/features_plugin.html +105 -0
  136. package/docs/documents/features_postprocessing.html +23 -6
  137. package/docs/documents/features_raycast.html +9 -3
  138. package/docs/documents/features_request-proxy.html +4 -1
  139. package/docs/documents/features_screen-project.html +5 -1
  140. package/docs/documents/features_state.html +12 -2
  141. package/docs/documents/features_view-layer.html +158 -0
  142. package/docs/documents/features_work.html +64 -3
  143. package/docs/documents/glossary.html +33 -8
  144. package/docs/documents/intro.html +1 -1
  145. package/docs/documents/quick-start.html +1 -0
  146. package/docs/documents/release_notes_6.8.html +203 -0
  147. package/docs/documents/template.html +54 -4
  148. package/docs/functions/five.createDebugBoundingMesh.html +1 -1
  149. package/docs/functions/five.loadAt3d.html +1 -1
  150. package/docs/functions/five.loadB3dm.html +1 -1
  151. package/docs/functions/five.loadDome.html +1 -1
  152. package/docs/functions/five.loadDomez.html +1 -1
  153. package/docs/functions/five.loadFbx.html +1 -1
  154. package/docs/functions/five.loadGltf.html +1 -1
  155. package/docs/functions/five.loadPbm.html +1 -1
  156. package/docs/functions/five.loadPly.html +1 -1
  157. package/docs/functions/five.loadPnts.html +1 -1
  158. package/docs/functions/five.loadSplat.html +1 -1
  159. package/docs/functions/five.loadSpz.html +1 -1
  160. package/docs/functions/five.loadX3p.html +1 -1
  161. package/docs/functions/five.parseWork.html +1 -1
  162. package/docs/functions/plugins.CSS3DPlugin.html +1 -0
  163. package/docs/functions/plugins.GaussianSplattingEntranceAnimationPlugin.html +1 -0
  164. package/docs/functions/react.useFiveCurrentObserver.html +2 -2
  165. package/docs/functions/react.useFiveFloor.html +2 -2
  166. package/docs/functions/react.useFiveProject2d.html +2 -2
  167. package/docs/functions/vue.useFiveCurrentObserver.html +2 -2
  168. package/docs/functions/vue.useFiveFloor.html +2 -2
  169. package/docs/functions/vue.useFiveWorks.html +2 -2
  170. package/docs/hierarchy.html +1 -1
  171. package/docs/index.html +132 -3
  172. package/docs/interfaces/five.AddableObject.html +1 -1
  173. package/docs/interfaces/five.AjaxOptions.html +1 -1
  174. package/docs/interfaces/five.BaseEvent.html +7 -2
  175. package/docs/interfaces/five.BaseExtendableEvent.html +11 -0
  176. package/docs/interfaces/five.EventCallback.html +60 -52
  177. package/docs/interfaces/five.FiveInitArgs.html +2 -2
  178. package/docs/interfaces/five.FloorplanControllerCustomInitArgs.html +9 -9
  179. package/docs/interfaces/five.GestureEvent.html +21 -2
  180. package/docs/interfaces/five.GesturePointer.html +20 -0
  181. package/docs/interfaces/five.ImageOptions.html +1 -1
  182. package/docs/interfaces/five.IntersectEvent.html +10 -2
  183. package/docs/interfaces/five.IntersectMesh.html +1 -1
  184. package/docs/interfaces/five.IntersectMeshInterface.html +1 -1
  185. package/docs/interfaces/five.Intersection.html +4 -3
  186. package/docs/interfaces/five.LooseWorkObserver.html +2 -2
  187. package/docs/interfaces/five.LooseWorkPanorama.html +2 -2
  188. package/docs/interfaces/five.LooseWorkWithExtrinsics.html +6 -6
  189. package/docs/interfaces/five.MapviewControllerCustomInitArgs.html +10 -10
  190. package/docs/interfaces/five.ModeChangeEvent.html +9 -2
  191. package/docs/interfaces/five.ModelControllerCustomInitArgs.html +1 -1
  192. package/docs/interfaces/five.ModelEvent.html +7 -2
  193. package/docs/interfaces/five.ModelSceneEvent.html +7 -2
  194. package/docs/interfaces/five.ModelTileEvent.html +13 -0
  195. package/docs/interfaces/five.MovePanoOptions.html +8 -8
  196. package/docs/interfaces/five.NetworkAbortError.html +1 -1
  197. package/docs/interfaces/five.NetworkFirbiddenError.html +1 -1
  198. package/docs/interfaces/five.NetworkOptions.html +1 -1
  199. package/docs/interfaces/five.NetworkProxyError.html +1 -1
  200. package/docs/interfaces/five.NetworkResourceEvent.html +7 -2
  201. package/docs/interfaces/five.NetworkResponseError.html +1 -1
  202. package/docs/interfaces/five.NetworkTimeoutError.html +1 -1
  203. package/docs/interfaces/five.ObjectEvent.html +7 -2
  204. package/docs/interfaces/five.PBMClipperParameter.html +2 -2
  205. package/docs/interfaces/five.PBMCustomShaderInitArgs.html +2 -2
  206. package/docs/interfaces/five.PBMCustomShaderSlots.html +2 -2
  207. package/docs/interfaces/five.PBMMaterial.html +1 -1
  208. package/docs/interfaces/five.PBMMeshMaterialParameters.html +5 -3
  209. package/docs/interfaces/five.PBMPanoDepth.html +5 -5
  210. package/docs/interfaces/five.PBMPanoFilterValue.html +6 -0
  211. package/docs/interfaces/five.PBMPanoPicture.html +8 -6
  212. package/docs/interfaces/five.PBMPointCloudMaterialParameters.html +2 -3
  213. package/docs/interfaces/five.PBMRefinedScreen.html +2 -2
  214. package/docs/interfaces/five.PanoCircleMeshInterface.html +2 -2
  215. package/docs/interfaces/five.PanoEvent.html +15 -2
  216. package/docs/interfaces/five.PanoPrepareEvent.html +15 -0
  217. package/docs/interfaces/five.PanoTextureEvent.html +11 -2
  218. package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +1 -1
  219. package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +1 -1
  220. package/docs/interfaces/five.ParameterMaterialValue.html +42 -38
  221. package/docs/interfaces/five.ParameterTilesetValue.html +15 -15
  222. package/docs/interfaces/five.ParameterValue.html +56 -52
  223. package/docs/interfaces/five.Pose.html +1 -1
  224. package/docs/interfaces/five.RenderEvent.html +7 -2
  225. package/docs/interfaces/five.ResolvedParameterValue.html +57 -54
  226. package/docs/interfaces/five.RgbaData.html +7 -0
  227. package/docs/interfaces/five.SplatData.html +2 -2
  228. package/docs/interfaces/five.State.html +1 -1
  229. package/docs/interfaces/five.StateEvent.html +9 -2
  230. package/docs/interfaces/five.TextureOptions.html +1 -1
  231. package/docs/interfaces/five.Tile3DOptions.html +2 -2
  232. package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +7 -7
  233. package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +1 -1
  234. package/docs/interfaces/five.ViewLayer.html +30 -26
  235. package/docs/interfaces/five.WorkCubeImage.html +3 -2
  236. package/docs/interfaces/five.WorkImage.html +6 -5
  237. package/docs/interfaces/five.WorkInitial.html +8 -8
  238. package/docs/interfaces/five.WorkModel.html +8 -8
  239. package/docs/interfaces/five.WorkModelLayer.html +6 -6
  240. package/docs/interfaces/five.WorkObserver.html +42 -17
  241. package/docs/interfaces/five.WorkObserverJson.html +2 -2
  242. package/docs/interfaces/five.WorkObserverProto.html +26 -0
  243. package/docs/interfaces/five.WorkPanoramaJson.html +2 -2
  244. package/docs/interfaces/five.WorkTile.html +6 -5
  245. package/docs/interfaces/five.WorkVideo.html +4 -4
  246. package/docs/interfaces/five.WorksEvent.html +7 -2
  247. package/docs/interfaces/five.XRControllerEvent.html +10 -2
  248. package/docs/interfaces/five.XRControllerState.html +8 -0
  249. package/docs/interfaces/five.XRGestureEvent.html +13 -2
  250. package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +1 -1
  251. package/docs/interfaces/five.XRSessionEvent.html +9 -2
  252. package/docs/interfaces/plugins.BackgroundPluginController.html +1 -1
  253. package/docs/interfaces/plugins.BackgroundPluginType.EventMap.html +1 -1
  254. package/docs/interfaces/plugins.BasePlugin.State.html +1 -1
  255. package/docs/interfaces/plugins.CSS3DPluginController.html +52 -0
  256. package/docs/interfaces/plugins.CSS3DPluginType.Config.html +2 -0
  257. package/docs/interfaces/plugins.CSS3DPluginType.CreateCSS3DObjectType.html +10 -0
  258. package/docs/interfaces/plugins.CSS3DPluginType.EventMap.html +10 -0
  259. package/docs/interfaces/plugins.CSS3DPluginType.Params.html +4 -0
  260. package/docs/interfaces/plugins.CSS3DPluginType.State.html +8 -0
  261. package/docs/interfaces/plugins.CSS3DRendererParameters.html +2 -0
  262. package/docs/interfaces/plugins.DynamicPathLinePluginController.html +3 -3
  263. package/docs/interfaces/plugins.DynamicPathLinePluginType.EventMap.html +1 -1
  264. package/docs/interfaces/plugins.DynamicPathLinePluginType.State.html +1 -1
  265. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationController.html +44 -0
  266. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.BoundingAABB2D.html +3 -0
  267. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.Config.html +8 -0
  268. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.EventMap.html +10 -0
  269. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.Keyframe.html +3 -0
  270. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.State.html +8 -0
  271. package/docs/interfaces/plugins.ItemMaskController.html +1 -1
  272. package/docs/interfaces/plugins.ItemMaskPluginType.EventMap.html +1 -1
  273. package/docs/interfaces/plugins.ItemMaskPluginType.State.html +2 -2
  274. package/docs/interfaces/plugins.OrientationPluginController.html +6 -6
  275. package/docs/interfaces/plugins.OrientationPluginType.EventMap.html +1 -1
  276. package/docs/interfaces/plugins.OrientationPluginType.State.html +1 -1
  277. package/docs/interfaces/plugins.PanoAnimeController.html +1 -1
  278. package/docs/interfaces/plugins.PanoAnimePluginType.EventMap.html +1 -1
  279. package/docs/interfaces/plugins.PanoAnimePluginType.State.html +1 -1
  280. package/docs/interfaces/plugins.PlayingState.html +2 -2
  281. package/docs/interfaces/plugins.PluginTemplateType.EventMap.html +1 -1
  282. package/docs/interfaces/plugins.PluginTemplateType.State.html +1 -1
  283. package/docs/interfaces/plugins.TrajectoryController.html +8 -8
  284. package/docs/interfaces/react.FiveInjectionTypes.html +21 -21
  285. package/docs/interfaces/sticker.IntersectionLike.html +2 -2
  286. package/docs/interfaces/vfx.ParticleArgs.html +4 -4
  287. package/docs/interfaces/vue.FiveActionVueCallbacks.html +3 -3
  288. package/docs/modules/five.html +1 -1
  289. package/docs/modules/plugins.CSS3DPluginType.html +1 -0
  290. package/docs/modules/plugins.GaussianSplattingEntranceAnimationPluginType.html +1 -0
  291. package/docs/modules/plugins.html +1 -1
  292. package/docs/modules.html +1 -1
  293. package/docs/types/five.ControllerEventTypes.html +30 -26
  294. package/docs/types/five.EasingFunction.html +1 -0
  295. package/docs/types/five.EventTypes.html +27 -25
  296. package/docs/types/five.LegacyEventType.html +7 -7
  297. package/docs/types/five.NetworkProgressCallback.html +1 -1
  298. package/docs/types/five.PBMAlphaMode.html +1 -1
  299. package/docs/types/five.PBMColorStyle.html +1 -1
  300. package/docs/types/five.PBMFloorStyle.html +1 -1
  301. package/docs/types/five.PBMMeshShaderType.html +1 -1
  302. package/docs/types/five.PBMPointBack.html +1 -1
  303. package/docs/types/five.PBMPointCloudShaderType.html +1 -1
  304. package/docs/types/five.PBMPointShape.html +1 -1
  305. package/docs/types/five.PBMPointSize.html +1 -1
  306. package/docs/types/five.PBMTransition.html +1 -1
  307. package/docs/types/five.ParseOptions.html +6 -6
  308. package/docs/types/five.Works.html +1 -1
  309. package/docs/types/plugins.BasePlugin.EventMap.html +1 -1
  310. package/docs/types/plugins.CSS3DPluginType.PluginData.html +1 -0
  311. package/docs/types/plugins.CSS3DPluginType.ServerData.html +1 -0
  312. package/docs/variables/five.PROXY_CONTROLLER_EVENT_NAMES.html +1 -1
  313. package/five/application/analysis.d.ts +40 -0
  314. package/five/application/controllers.d.ts +41 -0
  315. package/five/application/events-legacy.d.ts +454 -0
  316. package/five/application/events.d.ts +69 -0
  317. package/five/application/five.d.ts +519 -0
  318. package/five/application/fiveInitArgs.d.ts +176 -0
  319. package/five/application/fiveLoadOptions.d.ts +21 -0
  320. package/five/application/generateDefaultVideoElement.d.ts +2 -0
  321. package/five/application/getViewportScale.d.ts +2 -0
  322. package/five/application/initLights.d.ts +3 -0
  323. package/five/application/mode.d.ts +28 -0
  324. package/five/application/renderPoweredByRealsee.d.ts +3 -0
  325. package/five/assets/cardboard-png-data-url.d.ts +2 -0
  326. package/five/assets/gradient-png-data-url.d.ts +2 -0
  327. package/five/assets/loading-png-data-url.d.ts +2 -0
  328. package/five/assets/phone-png-data-url.d.ts +2 -0
  329. package/five/assets/realsee-png-data-url.d.ts +2 -0
  330. package/five/bvh/bvhMath.d.ts +33 -0
  331. package/five/bvh/bvhMesh.d.ts +7 -0
  332. package/five/bvh/bvhNode.d.ts +29 -0
  333. package/five/bvh/bvhObject.d.ts +18 -0
  334. package/five/bvh/bvhPoints.d.ts +6 -0
  335. package/five/bvh/index.d.ts +10 -0
  336. package/five/bvh/worker.d.ts +35 -0
  337. package/five/cardboard/helper.d.ts +2 -0
  338. package/five/cardboard/index.d.ts +13 -0
  339. package/five/cardboard/sensor.d.ts +158 -0
  340. package/five/certificates/hardware.d.ts +1 -0
  341. package/five/controllers/base.d.ts +167 -0
  342. package/five/controllers/events.d.ts +73 -0
  343. package/five/controllers/floorplan.d.ts +119 -0
  344. package/five/controllers/mapview.d.ts +139 -0
  345. package/five/controllers/model.d.ts +57 -0
  346. package/five/controllers/panorama.d.ts +144 -0
  347. package/five/controllers/panoramaLike.d.ts +87 -0
  348. package/five/controllers/topview.d.ts +42 -0
  349. package/five/controllers/vrPanorama.d.ts +56 -0
  350. package/five/controllers/xrPanorama.d.ts +81 -0
  351. package/five/core/camera.d.ts +65 -0
  352. package/five/core/internalWebGLRenderer.d.ts +14 -0
  353. package/five/core/panoVideo.d.ts +18 -0
  354. package/five/core/scene.d.ts +10 -0
  355. package/five/core/tiling.d.ts +43 -0
  356. package/five/declare.d.ts +2 -1
  357. package/five/gaussian-splatting/util/renderData.d.ts +66 -0
  358. package/five/gaussian-splatting/wasm/data.d.ts +20 -0
  359. package/five/gaussian-splatting/wasm/sort.d.ts +18 -0
  360. package/five/gaussian-splatting/worker/dataWorker.d.ts +1 -0
  361. package/five/gaussian-splatting/worker/sortWorker.d.ts +1 -0
  362. package/five/index.d.ts +60 -4636
  363. package/five/index.js +272 -392
  364. package/five/index.mjs +26894 -31013
  365. package/five/meshes/boundingMesh.d.ts +13 -0
  366. package/five/meshes/intersectMesh.d.ts +8 -0
  367. package/five/meshes/panoCircleMesh.d.ts +35 -0
  368. package/five/meshes/panoCircleMeshCustom.d.ts +40 -0
  369. package/five/meshes/panoCircleMeshSolid.d.ts +34 -0
  370. package/five/meshes/panoSphereMesh.d.ts +27 -0
  371. package/five/model/helpers/coordinate-transform.d.ts +3 -0
  372. package/five/model/helpers/ellipsoid-coordinates.d.ts +14 -0
  373. package/five/model/helpers/get-edges-by-sphere.d.ts +8 -0
  374. package/five/model/helpers/get-recommend-tile3d-parameters.d.ts +8 -0
  375. package/five/model/index.d.ts +70 -0
  376. package/five/model/intersection.d.ts +18 -0
  377. package/five/model/loaders/at3d.d.ts +12 -0
  378. package/five/model/loaders/b3dm.d.ts +9 -0
  379. package/five/model/loaders/dome.d.ts +22 -0
  380. package/five/model/loaders/domez.d.ts +11 -0
  381. package/five/model/loaders/fbx.d.ts +8 -0
  382. package/five/model/loaders/glTF-helpers/extensions/CESIUM_RTC.d.ts +9 -0
  383. package/five/model/loaders/glTF-helpers/extensions/EXT_meshopt_compression.d.ts +8 -0
  384. package/five/model/loaders/glTF-helpers/extensions/EXT_texture_webp.d.ts +11 -0
  385. package/five/model/loaders/glTF-helpers/extensions/KHR_animation_pointer.d.ts +6 -0
  386. package/five/model/loaders/glTF-helpers/extensions/KHR_binary_glTF.d.ts +25 -0
  387. package/five/model/loaders/glTF-helpers/extensions/KHR_draco_mesh_compression.d.ts +11 -0
  388. package/five/model/loaders/glTF-helpers/extensions/KHR_gaussian_splatting.d.ts +26 -0
  389. package/five/model/loaders/glTF-helpers/extensions/KHR_gaussian_splatting_compression_spz.d.ts +11 -0
  390. package/five/model/loaders/glTF-helpers/extensions/KHR_gaussian_splatting_compression_spz_2.d.ts +13 -0
  391. package/five/model/loaders/glTF-helpers/extensions/KHR_materials_clearcoat.d.ts +10 -0
  392. package/five/model/loaders/glTF-helpers/extensions/KHR_materials_emissive_strength.d.ts +10 -0
  393. package/five/model/loaders/glTF-helpers/extensions/KHR_materials_sheen.d.ts +10 -0
  394. package/five/model/loaders/glTF-helpers/extensions/KHR_materials_transmission.d.ts +10 -0
  395. package/five/model/loaders/glTF-helpers/extensions/KHR_materials_unlit.d.ts +10 -0
  396. package/five/model/loaders/glTF-helpers/extensions/KHR_mesh_quantization.d.ts +6 -0
  397. package/five/model/loaders/glTF-helpers/extensions/KHR_node_visibility.d.ts +10 -0
  398. package/five/model/loaders/glTF-helpers/extensions/KHR_texture_basisu.d.ts +9 -0
  399. package/five/model/loaders/glTF-helpers/extensions/KHR_texture_transform.d.ts +10 -0
  400. package/five/model/loaders/glTF-helpers/extensions/REALSEE_materials_lightmap.d.ts +7 -0
  401. package/five/model/loaders/glTF-helpers/extensions/base.d.ts +25 -0
  402. package/five/model/loaders/glTF-helpers/glTF.d.ts +713 -0
  403. package/five/model/loaders/glTF-helpers/index.d.ts +51 -0
  404. package/five/model/loaders/glTF-helpers/parser.d.ts +115 -0
  405. package/five/model/loaders/glTF-helpers/type.d.ts +14 -0
  406. package/five/model/loaders/gltf.d.ts +10 -0
  407. package/five/model/loaders/obj.d.ts +9 -0
  408. package/five/model/loaders/pbm.d.ts +26 -0
  409. package/five/model/loaders/ply.d.ts +24 -0
  410. package/five/model/loaders/pnts.d.ts +8 -0
  411. package/five/model/loaders/protobuf/dome.d.ts +540 -0
  412. package/five/model/loaders/protobuf/pbm.d.ts +203 -0
  413. package/five/model/loaders/shared.d.ts +16 -0
  414. package/five/model/loaders/splat.d.ts +8 -0
  415. package/five/model/loaders/spz.d.ts +14 -0
  416. package/five/model/loaders/tile3d-helpers/feature-table.d.ts +15 -0
  417. package/five/model/loaders/tile3d-helpers/gl-type.d.ts +20 -0
  418. package/five/model/loaders/tile3d-helpers/parse-gltf-array-buffer.d.ts +2 -0
  419. package/five/model/loaders/tile3d-helpers/parse-header.d.ts +2 -0
  420. package/five/model/loaders/tile3d-helpers/parse-point-cloud-attributes.d.ts +2 -0
  421. package/five/model/loaders/tile3d-helpers/parse-point-cloud-attributes.worker.d.ts +6 -0
  422. package/five/model/loaders/tile3d-helpers/parse-table.d.ts +3 -0
  423. package/five/model/loaders/tile3d-helpers/tile3d-type.d.ts +35 -0
  424. package/five/model/loaders/x3p.d.ts +22 -0
  425. package/five/model/materials/pbmMaterial.d.ts +137 -0
  426. package/five/model/materials/pbmMeshMaterial.d.ts +126 -0
  427. package/five/model/materials/pbmPointCloudMaterial.d.ts +70 -0
  428. package/five/model/model-scene.d.ts +172 -0
  429. package/five/model/model.d.ts +209 -0
  430. package/five/model/objects/pbmContainer.d.ts +28 -0
  431. package/five/model/objects/pbmGaussianSplattingObject.d.ts +43 -0
  432. package/five/model/objects/pbmGaussianSplattingRenderMesh.d.ts +59 -0
  433. package/five/model/objects/pbmGaussianSplattingTestMesh.d.ts +7 -0
  434. package/five/model/objects/pbmGroup.d.ts +8 -0
  435. package/five/model/objects/pbmMesh.d.ts +10 -0
  436. package/five/model/objects/pbmPointCloud.d.ts +7 -0
  437. package/five/model/parameter.d.ts +141 -0
  438. package/five/model/shaders/pbm_gaussian_splatting/fragment.d.ts +2 -0
  439. package/five/model/shaders/pbm_gaussian_splatting/vertex.d.ts +2 -0
  440. package/five/model/shaders/pbm_mesh_basic/fragment.d.ts +2 -0
  441. package/five/model/shaders/pbm_mesh_basic/vertex.d.ts +2 -0
  442. package/five/model/shaders/pbm_mesh_none/fragment.d.ts +2 -0
  443. package/five/model/shaders/pbm_mesh_none/vertex.d.ts +2 -0
  444. package/five/model/shaders/pbm_mesh_phong/fragment.d.ts +2 -0
  445. package/five/model/shaders/pbm_mesh_phong/vertex.d.ts +2 -0
  446. package/five/model/shaders/pbm_mesh_standard/fragment.d.ts +2 -0
  447. package/five/model/shaders/pbm_mesh_standard/vertex.d.ts +2 -0
  448. package/five/model/shaders/pbm_pointcloud/fragment.d.ts +2 -0
  449. package/five/model/shaders/pbm_pointcloud/vertex.d.ts +2 -0
  450. package/five/model/tile3d/header.d.ts +88 -0
  451. package/five/model/tile3d/index.d.ts +216 -0
  452. package/five/model/tile3d/tile-cache.d.ts +18 -0
  453. package/five/model/tile3d/tile-content.d.ts +10 -0
  454. package/five/model/tile3d/tile-node.d.ts +24 -0
  455. package/five/model/tile3d/tile-request-scheduler.d.ts +17 -0
  456. package/five/model/tile3d/tile.d.ts +79 -0
  457. package/five/model/tile3d/tileset-base-traverser.d.ts +59 -0
  458. package/five/model/tile3d/tileset-most-detail-traverser.d.ts +14 -0
  459. package/five/model/tile3d/tileset-normal-traverser.d.ts +15 -0
  460. package/five/model/tile3d/tileset-skip-traverser.d.ts +60 -0
  461. package/five/model/tile3d/tileset.d.ts +70 -0
  462. package/five/model/tile3d/trajectory-content.d.ts +9 -0
  463. package/five/model/tile3d/trajectory-node.d.ts +15 -0
  464. package/five/model/tile3d/trajectory.d.ts +30 -0
  465. package/five/model/tile3d/types.d.ts +33 -0
  466. package/five/model/view-layer.d.ts +20 -0
  467. package/five/renderer/five-renderer.d.ts +17 -0
  468. package/five/renderer/index.d.ts +3 -0
  469. package/five/renderer/postprocessing/composer.d.ts +37 -0
  470. package/five/renderer/postprocessing/index.d.ts +7 -0
  471. package/five/renderer/postprocessing/passes/adaptive-luminance-pass.d.ts +17 -0
  472. package/five/renderer/postprocessing/passes/eye-dome-lighting-pass.d.ts +14 -0
  473. package/five/renderer/postprocessing/passes/flowing-light-2d-pass.d.ts +36 -0
  474. package/five/renderer/postprocessing/passes/flowing-light-3d-pass.d.ts +36 -0
  475. package/five/renderer/postprocessing/passes/gaussian-blur-pass.d.ts +12 -0
  476. package/five/renderer/postprocessing/passes/pass.d.ts +38 -0
  477. package/five/renderer/scene-renderers/point-cloud-high-quality-scene-renderer.d.ts +11 -0
  478. package/five/renderer/scene-renderers/scene-renderer.d.ts +9 -0
  479. package/five/renderer/scene-renderers/ssaa-scene-renderer.d.ts +15 -0
  480. package/five/renderer/tools/full-screen-quad.d.ts +15 -0
  481. package/five/renderer/tools/render-cube-to-equirectangular.d.ts +7 -0
  482. package/five/renderer/tools/render-full-screen-depth.d.ts +2 -0
  483. package/five/renderer/tools/render-full-screen.d.ts +2 -0
  484. package/five/texture/histogram.d.ts +54 -0
  485. package/five/texture/imageBitmap.d.ts +13 -0
  486. package/five/texture/initTexture.d.ts +3 -0
  487. package/five/texture/loader.d.ts +39 -0
  488. package/five/texture/textureData.d.ts +11 -0
  489. package/five/thirdparty/fflate.d.ts +1407 -0
  490. package/five/thirdparty/hammer.d.ts +375 -0
  491. package/five/thirdparty/jsrsasign.d.ts +753 -0
  492. package/five/thirdparty/meshopt_decoder.d.ts +15 -0
  493. package/five/three-version-check.d.ts +1 -0
  494. package/five/types/addableObject.d.ts +12 -0
  495. package/five/types/cube.d.ts +1 -0
  496. package/five/types/gestureInput.d.ts +24 -0
  497. package/five/types/imageOptions.d.ts +20 -0
  498. package/five/types/intersectMeshInterface.d.ts +8 -0
  499. package/five/types/movePanoEffect.d.ts +13 -0
  500. package/five/types/movePanoOptions.d.ts +36 -0
  501. package/five/types/panoCircleMeshInterface.d.ts +34 -0
  502. package/five/types/plugin.d.ts +25 -0
  503. package/five/types/pose.d.ts +17 -0
  504. package/five/types/state.d.ts +20 -0
  505. package/five/types/viewport.d.ts +22 -0
  506. package/five/utils/ajax.d.ts +66 -0
  507. package/five/utils/animationFrameLoop.d.ts +45 -0
  508. package/five/utils/array.d.ts +31 -0
  509. package/five/utils/asyncTaskQueue.d.ts +8 -0
  510. package/five/utils/bufferGeometry.d.ts +33 -0
  511. package/five/utils/calculateProgress.d.ts +39 -0
  512. package/five/utils/calculateThreeMouse.d.ts +13 -0
  513. package/five/utils/canplayVideo.d.ts +2 -0
  514. package/five/utils/clamp.d.ts +2 -0
  515. package/five/utils/clock.d.ts +17 -0
  516. package/five/utils/createSymbol.d.ts +5 -0
  517. package/five/utils/decodeText.d.ts +2 -0
  518. package/five/utils/deepEqual.d.ts +2 -0
  519. package/five/utils/deepFreeze.d.ts +2 -0
  520. package/five/utils/defineProperty.d.ts +9 -0
  521. package/five/utils/detector.d.ts +14 -0
  522. package/five/utils/distance.d.ts +10 -0
  523. package/five/utils/draco.d.ts +26 -0
  524. package/five/utils/easing.d.ts +63 -0
  525. package/five/utils/error.d.ts +1 -0
  526. package/five/utils/event.d.ts +210 -0
  527. package/five/utils/formatRad.d.ts +7 -0
  528. package/five/utils/imageSupport.d.ts +6 -0
  529. package/five/utils/imageURL.d.ts +42 -0
  530. package/five/utils/isEmptyObject.d.ts +2 -0
  531. package/five/utils/isNil.d.ts +6 -0
  532. package/five/utils/isNumber.d.ts +2 -0
  533. package/five/utils/isPowerOfTwo.d.ts +2 -0
  534. package/five/utils/isPromise.d.ts +2 -0
  535. package/five/utils/isSimilar.d.ts +6 -0
  536. package/five/utils/json.d.ts +7 -0
  537. package/five/utils/ktx2.d.ts +30 -0
  538. package/five/utils/lzma/index.d.ts +2 -0
  539. package/five/utils/lzma/lzma.d.ts +3 -0
  540. package/five/utils/lzma/lzmaWASM.d.ts +2 -0
  541. package/five/utils/lzma/lzmaWorker.d.ts +14 -0
  542. package/five/utils/memoryUsage.d.ts +29 -0
  543. package/five/utils/motion.d.ts +38 -0
  544. package/five/utils/noop.d.ts +6 -0
  545. package/five/utils/now.d.ts +7 -0
  546. package/five/utils/pano.d.ts +9 -0
  547. package/five/utils/pick.d.ts +3 -0
  548. package/five/utils/poseUtils.d.ts +5 -0
  549. package/five/utils/renderCubeTextureToCubeRenderTarget.d.ts +3 -0
  550. package/five/utils/renderDepth.d.ts +2 -0
  551. package/five/utils/renderTexturesToCubeRenderTarget.d.ts +10 -0
  552. package/five/utils/requestPermission.d.ts +3 -0
  553. package/five/utils/shaderContentFix.d.ts +7 -0
  554. package/five/utils/shaderMaterial.d.ts +20 -0
  555. package/five/utils/stateUtils.d.ts +5 -0
  556. package/five/utils/string-pattern.d.ts +8 -0
  557. package/five/utils/subscribe.d.ts +67 -0
  558. package/five/utils/tileCube.d.ts +19 -0
  559. package/five/utils/toFastProperties.d.ts +1 -0
  560. package/five/utils/typedCache.d.ts +10 -0
  561. package/five/utils/uniform.d.ts +15 -0
  562. package/five/utils/url.d.ts +35 -0
  563. package/five/utils/uuid.d.ts +5 -0
  564. package/five/utils/values.d.ts +2 -0
  565. package/five/utils/vectorCoordinates.d.ts +29 -0
  566. package/five/utils/volume.d.ts +111 -0
  567. package/five/utils/webglError.d.ts +7 -0
  568. package/five/utils/worker.d.ts +26 -0
  569. package/five/webxr/XRControllerModelFactory.d.ts +28 -0
  570. package/five/webxr/motionHelper.d.ts +68 -0
  571. package/five/webxr/xrButton.d.ts +4 -0
  572. package/five/webxr/xrController.d.ts +24 -0
  573. package/five/webxr/xrManager.d.ts +84 -0
  574. package/five/work/_ALLOW_HOST.d.ts +2 -0
  575. package/five/work/index.d.ts +7 -0
  576. package/five/work/keychain.d.ts +5 -0
  577. package/five/work/looseWorkType.d.ts +121 -0
  578. package/five/work/verify.d.ts +7 -0
  579. package/five/work/work.d.ts +206 -0
  580. package/five/work/workFetcher.d.ts +4 -0
  581. package/five/work/workJson.d.ts +3 -0
  582. package/five/work/workJsonType.d.ts +73 -0
  583. package/five/work/workObserverProto.d.ts +39 -0
  584. package/five/work/workParser.d.ts +6 -0
  585. package/five/work/workResolvedObserver.d.ts +12 -0
  586. package/five/work/workVerify.d.ts +2 -0
  587. package/five/work/works.d.ts +10 -0
  588. package/gltf-loader/gltf-object.d.ts +17 -0
  589. package/gltf-loader/index.d.ts +60 -160
  590. package/gltf-loader/index.js +9 -9
  591. package/gltf-loader/index.mjs +1351 -1451
  592. package/gltf-loader/thirdparty/DDSLoader.d.ts +23 -0
  593. package/gltf-loader/thirdparty/DRACOLoader.d.ts +18 -0
  594. package/gltf-loader/thirdparty/GLTFLoader.d.ts +59 -0
  595. package/line/circle_png.d.ts +1 -0
  596. package/line/index.d.ts +19 -69
  597. package/line/index.js +4 -4
  598. package/line/index.mjs +334 -513
  599. package/line/utils/Line2.d.ts +7 -0
  600. package/line/utils/LineGeometry.d.ts +10 -0
  601. package/line/utils/LineMaterial.d.ts +20 -0
  602. package/line/utils/LineSegments2.d.ts +11 -0
  603. package/line/utils/LineSegmentsGeometry.d.ts +15 -0
  604. package/llms.txt +48 -3
  605. package/package.json +4 -4
  606. package/plugins/BackgroundPlugin/Controller.d.ts +20 -0
  607. package/plugins/BackgroundPlugin/index.d.ts +5 -0
  608. package/plugins/BackgroundPlugin/typings.d.ts +44 -0
  609. package/plugins/BasePlugin/index.d.ts +119 -0
  610. package/plugins/CSS3DPlugin/Controller.d.ts +64 -0
  611. package/plugins/CSS3DPlugin/index.d.ts +5 -0
  612. package/plugins/CSS3DPlugin/typing.d.ts +32 -0
  613. package/plugins/DynamicPathLinePlugin/Controller.d.ts +167 -0
  614. package/plugins/DynamicPathLinePlugin/index.d.ts +5 -0
  615. package/plugins/DynamicPathLinePlugin/line2/Line2.d.ts +7 -0
  616. package/plugins/DynamicPathLinePlugin/line2/LineGeometry.d.ts +10 -0
  617. package/plugins/DynamicPathLinePlugin/line2/LineMaterial.d.ts +17 -0
  618. package/plugins/DynamicPathLinePlugin/line2/LineSegments2.d.ts +11 -0
  619. package/plugins/DynamicPathLinePlugin/line2/LineSegmentsGeometry.d.ts +15 -0
  620. package/plugins/DynamicPathLinePlugin/typing.d.ts +129 -0
  621. package/plugins/DynamicPathLinePlugin/typings.d.ts +72 -0
  622. package/plugins/GaussianSplattingEntranceAnimationPlugin/Controller.d.ts +30 -0
  623. package/plugins/GaussianSplattingEntranceAnimationPlugin/index.d.ts +5 -0
  624. package/plugins/GaussianSplattingEntranceAnimationPlugin/typing.d.ts +28 -0
  625. package/plugins/ItemMaskPlugin/Controller.d.ts +48 -0
  626. package/plugins/ItemMaskPlugin/index.d.ts +5 -0
  627. package/plugins/ItemMaskPlugin/typing.d.ts +58 -0
  628. package/plugins/OrientationPlugin/Controller.d.ts +82 -0
  629. package/plugins/OrientationPlugin/RoundedBoxGeometry.d.ts +11 -0
  630. package/plugins/OrientationPlugin/index.d.ts +6 -0
  631. package/plugins/OrientationPlugin/typing.d.ts +25 -0
  632. package/plugins/PanoAnimePlugin/Controller.d.ts +46 -0
  633. package/plugins/PanoAnimePlugin/index.d.ts +5 -0
  634. package/plugins/PanoAnimePlugin/typing.d.ts +37 -0
  635. package/plugins/PluginTemplate/Controller.d.ts +27 -0
  636. package/plugins/PluginTemplate/index.d.ts +5 -0
  637. package/plugins/PluginTemplate/typing.d.ts +21 -0
  638. package/plugins/TrajectoryPlugin/Controller.d.ts +85 -0
  639. package/plugins/TrajectoryPlugin/index.d.ts +6 -0
  640. package/plugins/TrajectoryPlugin/typing.d.ts +25 -0
  641. package/plugins/index.d.ts +11 -1102
  642. package/plugins/index.js +35 -21
  643. package/plugins/index.mjs +3668 -4247
  644. package/plugins/thirdParty/CSS3DRenderer.d.ts +45 -0
  645. package/plugins/thirdParty/OrbitControls.d.ts +78 -0
  646. package/plugins/utils/absoluteUrl.d.ts +5 -0
  647. package/plugins/utils/clamp.d.ts +2 -0
  648. package/plugins/utils/loadImage.d.ts +1 -0
  649. package/plugins/utils/motion.d.ts +38 -0
  650. package/plugins/utils/now.d.ts +6 -0
  651. package/plugins/utils/uuid.d.ts +2 -0
  652. package/react/canvas.d.ts +19 -0
  653. package/react/context.d.ts +12 -0
  654. package/react/createProvider.d.ts +95 -0
  655. package/react/createStore.d.ts +144 -0
  656. package/react/hooks/unsafe__useFiveInstance.d.ts +9 -0
  657. package/react/hooks/useFiveAction.d.ts +147 -0
  658. package/react/hooks/useFiveCameraDirection.d.ts +7 -0
  659. package/react/hooks/useFiveCameraRaycaster.d.ts +7 -0
  660. package/react/hooks/useFiveCurrentObserver.d.ts +11 -0
  661. package/react/hooks/useFiveCurrentState.d.ts +15 -0
  662. package/react/hooks/useFiveEventCallback.d.ts +12 -0
  663. package/react/hooks/useFiveFloor.d.ts +15 -0
  664. package/react/hooks/useFiveHelper.d.ts +14 -0
  665. package/react/hooks/useFiveModelBounding.d.ts +5 -0
  666. package/react/hooks/useFiveModelEffect.d.ts +14 -0
  667. package/react/hooks/useFiveModelIntersectRaycaster.d.ts +22 -0
  668. package/react/hooks/useFiveModelReadyState.d.ts +8 -0
  669. package/react/hooks/useFiveProject2d.d.ts +20 -0
  670. package/react/hooks/useFiveSceneEffect.d.ts +21 -0
  671. package/react/hooks/useFiveState.d.ts +6 -0
  672. package/react/hooks/useFiveWork.d.ts +29 -0
  673. package/react/index.d.ts +24 -830
  674. package/react/index.js +3 -3
  675. package/react/index.mjs +572 -783
  676. package/react/rendererPool.d.ts +7 -0
  677. package/react/withFive.d.ts +213 -0
  678. package/shader-lib/EvenessPlane/index.d.ts +10 -0
  679. package/shader-lib/PointCloudExpand/index.d.ts +59 -0
  680. package/shader-lib/PolygonCuter/index.d.ts +52 -0
  681. package/shader-lib/PolygonCuter/worker.d.ts +14 -0
  682. package/shader-lib/ShineModel/index.d.ts +7 -0
  683. package/shader-lib/SweepModel/index.d.ts +7 -0
  684. package/shader-lib/index.d.ts +5 -86
  685. package/shader-lib/index.js +13 -14
  686. package/shader-lib/index.mjs +424 -824
  687. package/sticker/geometry.d.ts +3 -0
  688. package/sticker/index.d.ts +68 -71
  689. package/sticker/index.js +3 -3
  690. package/sticker/index.mjs +102 -142
  691. package/umd/five-gltf-loader.js +9 -9
  692. package/umd/five-line.js +4 -4
  693. package/umd/five-plugins.js +35 -21
  694. package/umd/five-react.js +3 -3
  695. package/umd/five-shader-lib.js +13 -14
  696. package/umd/five-sticker.js +3 -3
  697. package/umd/five-vfx.js +21 -21
  698. package/umd/five-vue.js +3 -3
  699. package/umd/five.js +267 -387
  700. package/vfx/airflow/airflow.d.ts +18 -0
  701. package/vfx/airflow/fragment-shader.d.ts +2 -0
  702. package/vfx/airflow/vertex-shader.d.ts +2 -0
  703. package/vfx/common/scale-shader.d.ts +2 -0
  704. package/vfx/common/simplex-noise-shader.d.ts +2 -0
  705. package/vfx/frame/fragment-shader.d.ts +2 -0
  706. package/vfx/frame/frame.d.ts +22 -0
  707. package/vfx/frame/vertex-shader.d.ts +2 -0
  708. package/vfx/index.d.ts +7 -363
  709. package/vfx/index.js +21 -21
  710. package/vfx/index.mjs +454 -910
  711. package/vfx/particle/fragment-shader.d.ts +2 -0
  712. package/vfx/particle/instance.d.ts +36 -0
  713. package/vfx/particle/particle.d.ts +205 -0
  714. package/vfx/particle/utils.d.ts +11 -0
  715. package/vfx/particle/vertex-shader.d.ts +2 -0
  716. package/vfx/particle-gpu/fragment-shader.d.ts +2 -0
  717. package/vfx/particle-gpu/instance.d.ts +36 -0
  718. package/vfx/particle-gpu/particle.d.ts +95 -0
  719. package/vfx/particle-gpu/utils.d.ts +11 -0
  720. package/vfx/particle-gpu/vertex-shader.d.ts +2 -0
  721. package/vfx/spotLight/fragment-shader.d.ts +2 -0
  722. package/vfx/spotLight/spotLight.d.ts +15 -0
  723. package/vfx/spotLight/vertex-shader.d.ts +2 -0
  724. package/vue/context.d.ts +7 -0
  725. package/vue/hooks/FiveCanvas.d.ts +36 -0
  726. package/vue/hooks/FiveProvider.d.ts +35 -0
  727. package/vue/hooks/unsafe__useFiveInject.d.ts +9 -0
  728. package/vue/hooks/useFiveAction.d.ts +178 -0
  729. package/vue/hooks/useFiveCameraDirection.d.ts +8 -0
  730. package/vue/hooks/useFiveCameraRaycaster.d.ts +8 -0
  731. package/vue/hooks/useFiveCurrentObserver.d.ts +12 -0
  732. package/vue/hooks/useFiveCurrentState.d.ts +16 -0
  733. package/vue/hooks/useFiveEventCallback.d.ts +11 -0
  734. package/vue/hooks/useFiveFloor.d.ts +16 -0
  735. package/vue/hooks/useFiveHelper.d.ts +15 -0
  736. package/vue/hooks/useFiveModel.d.ts +7 -0
  737. package/vue/hooks/useFiveModelBounding.d.ts +7 -0
  738. package/vue/hooks/useFiveModelIntersectRaycaster.d.ts +23 -0
  739. package/vue/hooks/useFiveModelReadyState.d.ts +9 -0
  740. package/vue/hooks/useFiveProject2d.d.ts +26 -0
  741. package/vue/hooks/useFiveScene.d.ts +6 -0
  742. package/vue/hooks/useFiveState.d.ts +16 -0
  743. package/vue/hooks/useFiveWork.d.ts +30 -0
  744. package/vue/index.d.ts +23 -467
  745. package/vue/index.js +3 -3
  746. package/vue/index.mjs +309 -301
  747. package/vue/rendererPool.d.ts +10 -0
  748. package/work-downloader/components/model-3d-tile.d.ts +2 -0
  749. package/work-downloader/components/model.d.ts +3 -0
  750. package/work-downloader/components/observer.d.ts +7 -0
  751. package/work-downloader/download.d.ts +16 -0
  752. package/work-downloader/index.d.ts +2 -33
  753. package/work-downloader/index.js +3 -3
  754. package/work-downloader/index.mjs +339 -556
  755. package/work-downloader/type.d.ts +28 -0
  756. package/work-downloader/utils/download-to-file.d.ts +1 -0
  757. package/work-downloader/utils/image-processing.d.ts +7 -0
  758. package/work-downloader/utils/join-url.d.ts +2 -0
  759. package/work-downloader/utils/log.d.ts +1 -0
  760. package/work-downloader/utils/relative-url.d.ts +1 -0
  761. package/ai_guides/plugin.md +0 -206
  762. package/docs/documents/plugin.html +0 -60
  763. package/docs/media/five.ts +0 -2881
  764. package/docs/media/pass.ts +0 -64
@@ -1,6 +1,6 @@
1
1
  # 后处理 (Post Processing)
2
2
 
3
- - **Summary**: Five 提供了基于 EffectComposer 的后处理机制,内置了自适应亮度 (Auto Exposure) 和眼球穹顶光照 (EDL) 两种效果,并支持开发者编写自定义 Pass。
3
+ - **Summary**: Five 提供了基于 EffectComposer 的后处理机制,默认挂载了自适应亮度 (Auto Exposure) 和眼球穹顶光照 (EDL) 两种效果,同时提供多种可选内置 Pass,并支持开发者编写自定义 Pass
4
4
  - **Schema**: `FivePass` 类及 `Pass` 接口。
5
5
  - **Concepts**: EffectComposer, G-Buffer, Pass, AdaptiveLuminance, EyeDomeLighting。
6
6
  - **Configuration**: 开启内置 Pass 的开关及参数配置。
@@ -8,6 +8,8 @@
8
8
 
9
9
  ## Schema
10
10
 
11
+ > **Definition**: [FivePass](../../five/renderer/postprocessing/passes/pass.d.ts)
12
+
11
13
  ```typescript
12
14
  /**
13
15
  * Pass 接口 (兼容 three.js EffectComposer)
@@ -55,7 +57,7 @@ export class FivePass implements Pass {
55
57
 
56
58
  ## Built-in Passes (内置 Pass)
57
59
 
58
- Five 内置了两个 Pass 实例,挂载在 `five` 实例上,默认是关闭状态。
60
+ Five 默认挂载了两个 Pass 实例,挂载在 `five` 实例上,默认是关闭状态。
59
61
 
60
62
  ### 1. AdaptiveLuminancePass
61
63
 
@@ -78,6 +80,36 @@ Five 内置了两个 Pass 实例,挂载在 `five` 实例上,默认是关闭
78
80
  * `radius` (number): 采样半径,影响阴影的范围。
79
81
  * **注意**: 这是一个基于屏幕空间深度的算法,依赖 Depth Buffer。
80
82
 
83
+ ### 3. Optional Built-in Passes (可选内置 Pass)
84
+
85
+ Five 新增了三个可选使用的内置 Pass,这些 Pass 没有预先挂载在 `five` 实例上,需手动导入并添加到渲染链中:
86
+
87
+ * **[GaussianBlurPass](gaussian-blur-pass.md)**: 高斯模糊效果。
88
+ * **[FlowingLight2DPass](flowing-light-2d-pass.md)**: 2D 流光效果(通常用于平面路线流光)。
89
+ * **[FlowingLight3DPass](flowing-light-3d-pass.md)**: 3D 流光效果(通常用于空间路径流光)。
90
+
91
+ #### GaussianBlurPass 使用示例
92
+
93
+ ```typescript
94
+ import { GaussianBlurPass } from '@realsee/five';
95
+
96
+ // 1. 创建 GaussianBlurPass 实例 (需要传入 camera)
97
+ const gaussianBlurPass = new GaussianBlurPass(five.camera);
98
+
99
+ // 2. 配置参数
100
+ // 设置模糊半径 (默认 4.0)
101
+ gaussianBlurPass.setRadius(6);
102
+
103
+ // 3. 将 Pass 添加到渲染链
104
+ five.addPass(gaussianBlurPass);
105
+
106
+ // 4. (可选) 动态开关
107
+ // gaussianBlurPass.enabled = false;
108
+
109
+ // 5. (可选) 移除 Pass
110
+ // five.removePass(gaussianBlurPass);
111
+ ```
112
+
81
113
  ## Custom Pass (自定义 Pass)
82
114
 
83
115
  如果需要实现自定义的后处理效果(如景深、色彩校正、描边等),建议继承 `FivePass`。
@@ -214,11 +246,14 @@ class FogPass extends FivePass {
214
246
 
215
247
  ## Related
216
248
 
217
- * [five.ts](../../lib/five/application/five.ts): 查看 `addPass` 方法的实现。
218
- * [pass.ts](../../lib/five/renderer/postprocessing/passes/pass.ts): 查看 `FivePass` 基类定义。
249
+ * [Gaussian Blur Pass](gaussian-blur-pass.md): 高斯模糊 Pass 文档。
250
+ * [Flowing Light 2D Pass](flowing-light-2d-pass.md): 2D 流光 Pass 文档。
251
+ * [Flowing Light 3D Pass](flowing-light-3d-pass.md): 3D 流光 Pass 文档。
252
+ * [five.ts](../../five/application/five.d.ts): 查看 `addPass` 方法的实现。
253
+ * [pass.ts](../../five/renderer/postprocessing/passes/pass.d.ts): 查看 `FivePass` 基类定义。
219
254
 
220
255
  ---
221
256
 
222
257
  ```yaml
223
- tags: [postprocessing, shader, effect, adaptive-luminance, edl]
258
+ tags: [后处理, 特效, 自定义shader, 滤镜, 描边, 景深, 色彩校正, 渲染管线, postprocessing, shader, effect, adaptive-luminance, edl, effect-composer, addPass]
224
259
  ```
@@ -7,6 +7,8 @@
7
7
 
8
8
  ## Schema: Three.js Raycaster Extensions
9
9
 
10
+ > **Definition**: [Raycaster](../../five/declare.d.ts)
11
+
10
12
  Five 对 Three.js 的 `Raycaster` 进行了扩展,在 `declare module 'three'` 中增加了以下属性:
11
13
 
12
14
  ```typescript
@@ -41,6 +43,15 @@ declare module 'three' {
41
43
  */
42
44
  floorIndex?: number;
43
45
  }
46
+
47
+ export interface Intersection {
48
+ /** 命中的具体 Tile 对象 (仅 3DTiles) */
49
+ tile?: Tile;
50
+ /** 命中的 ViewLayer 对象 */
51
+ viewLayer?: ViewLayer;
52
+ /** 命中的 Model 对象 */
53
+ model?: Model;
54
+ }
44
55
  }
45
56
  ```
46
57
 
@@ -155,10 +166,13 @@ const intersects = five.model.intersectRaycaster(raycaster);
155
166
 
156
167
  ## Related
157
168
 
158
- * [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 与世界坐标。
159
173
 
160
174
  ---
161
175
 
162
176
  ```yaml
163
- tags: [raycast, bvh, interaction, performance]
177
+ tags: [点击, 拾取, 碰撞检测, 物体选择, raycast, bvh, interaction, performance, picking, hit-test, click, floor-detection]
164
178
  ```
@@ -8,6 +8,8 @@
8
8
 
9
9
  ## Schema
10
10
 
11
+ > **Definition**: [FiveInitArgs](../../five/application/fiveInitArgs.d.ts)
12
+
11
13
  ```typescript
12
14
  interface FiveInitArgs {
13
15
  /**
@@ -106,5 +108,5 @@ const five = new Five({
106
108
  ---
107
109
 
108
110
  ```yaml
109
- tags: [configuration, network, proxy, authentication]
111
+ tags: [请求代理, 鉴权, 域名替换, 私有化, 请求拦截, configuration, network, proxy, authentication, CDN, token, url-rewrite, cors]
110
112
  ```
@@ -7,6 +7,8 @@
7
7
 
8
8
  ## Schema
9
9
 
10
+ > **Definition**: [Five](../../five/application/five.d.ts)
11
+
10
12
  ```typescript
11
13
  // defined in Five class
12
14
  interface Five {
@@ -155,9 +157,10 @@ container.addEventListener("click", (event) => {
155
157
  * [Raycast](./raycast.md): 详细的射线检测文档。
156
158
  * [Five](./five.md): Five 核心类说明。
157
159
  * [State](./state.md): 了解相机位姿 (Pose)。
160
+ * [Coordinate System](./coordinate-system.md): 坐标系定义,理解世界坐标与屏幕坐标的关系。
158
161
 
159
162
  ---
160
163
 
161
164
  ```yaml
162
- tags: [coordinate, screen, project, label, ui]
165
+ tags: [标签, 坐标转换, 信息面板, coordinate, screen, project, label, ui, tag, HUD, 3D转2D, overlay, tooltip]
163
166
  ```
@@ -7,6 +7,8 @@
7
7
 
8
8
  ## Schema
9
9
 
10
+ > **Definition**: [State](../../five/types/state.d.ts)
11
+
10
12
  **State** 类型定义如下(继承自 `Pose`):
11
13
 
12
14
  ```ts
@@ -77,8 +79,8 @@ const state = five.state;
77
79
 
78
80
  // 在当前状态基础上,向右旋转 90 度,并略微拉远距离
79
81
  five.setState({
80
- longitude: tate.longitude + Math.PI / 2,
81
- distance: tate.distance + 2.0
82
+ longitude: state.longitude + Math.PI / 2,
83
+ distance: state.distance + 2.0
82
84
  });
83
85
  ```
84
86
 
@@ -87,13 +89,33 @@ five.setState({
87
89
  1. **单位混淆**: `longitude` 和 `latitude` 使用**弧度**,而 `fov` 使用**角度**(度)。
88
90
  2. **Offset 类型**: `offset` 必须是 `THREE.Vector3` 实例。如果在 React 等框架中使用纯对象(Plain Object),Five 内部会自动转换,但在 TypeScript 中需注意类型匹配。
89
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
+ ```
90
109
 
91
110
  ## Related
92
111
 
93
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): 坐标系定义。
94
116
 
95
117
  ---
96
118
 
97
119
  ```yaml
98
- tags: [camera, state, pose, interaction]
120
+ tags: [状态保存, 状态恢复, 场景还原, 快照, camera, state, pose, interaction, save, restore, snapshot]
99
121
  ```
@@ -0,0 +1,187 @@
1
+ # ViewLayer (视图层)
2
+
3
+ - **Summary**: ViewLayer 是 Model 的组成部分,负责管理具体的 3D 资源(如 Mesh 或 PointCloud),支持独立的渲染配置和可见性控制。
4
+ - **Schema**: 继承自 `Tile3D`,由 `Model` 统一管理。
5
+ - **Concepts**: Layer Fallback, 3DTile Integration, Parameter Inheritance.
6
+ - **Examples**: 可见性控制、参数配置、事件监听。
7
+
8
+ ## Schema
9
+
10
+ > **Definition**: [ViewLayer](../../five/model/view-layer.d.ts), [ViewLayerInit](../../five/model/view-layer.d.ts)
11
+
12
+ ViewLayer 是一个具体的渲染图层,它对应一个具体的 3D 数据源(通常是一个 `.gltf` / `.b3dm` / `.pnts` 等 Tileset 入口)。
13
+
14
+ ```typescript
15
+ // 简化定义
16
+ interface ViewLayer extends Tile3D {
17
+ /** 图层名称 (如 'mesh', 'point_cloud') */
18
+ name: string;
19
+ /** 图层类型 */
20
+ type: "point_cloud" | "mesh" | "gaussian_splatting";
21
+ /** 独立的参数配置对象 */
22
+ parameter: Parameter;
23
+ /** 是否可见 */
24
+ visible: boolean;
25
+ /** 对应的 Tileset URL */
26
+ tilesetUrl: string;
27
+ }
28
+ ```
29
+
30
+ ## Concepts
31
+
32
+ ### 1. ViewLayer vs Work.Model
33
+
34
+ `ViewLayer` 的生成逻辑严格依赖于 `Work` 数据中的定义,但也包含了向后兼容的 Fallback 机制。
35
+
36
+ #### 数据来源 (Data Source)
37
+
38
+ 1. **优先使用 `work.model.layers`**:
39
+ 这是标准的定义方式。`work.model.layers` 是一个数组,每个元素显式定义了一个 Layer 的 `name`, `type`, `tileset` (URL) 等信息。
40
+ Five 会遍历这个数组,为每一项创建一个 `ViewLayer` 实例。
41
+
42
+ 2. **Fallback to `work.model.file`**:
43
+ 如果 `work.model.layers` 中没有定义 `mesh` 类型的层,且 `work.model.file` 存在(旧版数据字段),Five 会自动创建一个 **虚拟的 Mesh Layer**。
44
+ * **Name**: 默认为 `model` (或其他内部标识)。
45
+ * **Type**: `mesh`。
46
+ * **URL**: 指向 `work.model.file`。
47
+ * **UpAxis**: 根据文件后缀自动推断 (如 `.obj` 可能需要特殊处理)。
48
+
49
+ > **总结**: `ViewLayer` 是 `work.model` 数据的运行时表现。`layers` 字段提供了精细的控制,而 `file` 字段提供了旧数据的兼容支持。
50
+
51
+ ### 2. ViewLayer vs 3DTile
52
+
53
+ `ViewLayer` 本质上是一个 **3DTile** 加载器实例(继承自 `Tile3D`)。
54
+
55
+ * **加载机制**: 每个 ViewLayer 独立维护一个 3DTiles 的遍历器 (Traverser) 和调度器 (Scheduler)。这意味着 Mesh 层、PointCloud 层和 GaussianSplatting 层是独立加载、独立计算 LOD (Level of Detail) 的。
56
+ * **空间变换**: ViewLayer 负责处理数据的坐标系转换 (如 ECEF 转 ENU,Y-Up 转 Z-Up),确保不同格式的数据在 Five 场景中正确对齐。
57
+
58
+ ### 3. ViewLayer, Model, ModelScene & Parameter
59
+
60
+ 这是 Five 渲染架构的核心层级关系,`Parameter` 在其中起到了“胶水”的作用。
61
+
62
+ #### 层级关系 (Hierarchy)
63
+
64
+ ```mermaid
65
+ graph TD
66
+ Scene[ModelScene] -->|包含| Model[Model]
67
+ Model -->|包含| LayerA[ViewLayer (Mesh)]
68
+ Model -->|包含| LayerB[ViewLayer (PointCloud)]
69
+ ```
70
+
71
+ #### Parameter 的作用 (Inheritance)
72
+
73
+ `Parameter` 系统贯穿了上述三层,实现了**“配置继承与覆盖”**。
74
+
75
+ 1. **ModelScene (全局配置)**:
76
+ * 持有 `five.modelScene.parameter`。
77
+ * 定义了场景级的默认值(如:默认显存上限 `512MB`)。
78
+ 2. **Model (模型级配置)**:
79
+ * 持有 `model.parameter`。
80
+ * 可以覆盖全局配置(如:特定模型需要 `1024MB` 显存)。
81
+ 3. **ViewLayer (图层级配置)**:
82
+ * 持有 `viewLayer.parameter`。
83
+ * **最具体的控制点**。它在计算最终值时,会依次继承 `Model` 和 `ModelScene` 的配置。
84
+
85
+ **示例场景**:
86
+ * 如果你想让**整个场景**变暗,设置 `modelScene.parameter.set('opacity', 0.5)`。
87
+ * 如果你只想让**点云层**变暗,保留模型层亮度,设置 `pointCloudLayer.parameter.set('opacity', 0.5)`。
88
+
89
+ ### 4. Visibility Control (可见性控制)
90
+
91
+ 默认情况下,Five **不会**加载所有图层,而是根据优先级**仅加载一个**图层,以节省资源。
92
+ 优先级顺序:`mesh` > `point_cloud` > 其他类型。
93
+
94
+ **可见性与内存管理 (Visibility & Memory)**:
95
+ * **显示 (Show)**: 当图层设置为可见 (`visible = true`) 时,Five 会开始加载该图层的资源。
96
+ * **隐藏 (Hide)**: 当图层设置为隐藏 (`visible = false`) 时,Five 会**释放该图层占用的所有内存资源** (Geometry, Texture 等)。这意味着“隐藏”等同于“卸载”。
97
+
98
+ Five 提供了两种层级的可见性控制方式:
99
+
100
+ 1. **初始化配置 (Load Options)**:
101
+ 在 `five.load` 时,通过 `model["3d-tiles"].showLayers` 参数指定初始显示的图层。
102
+ * `true` (默认): 使用上述的默认优先级策略(仅加载一个最佳图层)。
103
+ * `string[]`: 仅显示名称在数组中的图层(例如 `['mesh', 'point_cloud']` 可以强制同时显示模型和点云)。
104
+
105
+ 2. **运行时控制 (Runtime Control)**:
106
+ 加载完成后,可以直接修改 `viewLayer.visible` 属性来切换可见性。
107
+
108
+ ## Configuration
109
+
110
+ ViewLayer 的配置主要通过其 `parameter` 属性进行。
111
+
112
+ ### Common Configuration
113
+
114
+ | Parameter | Type | Description |
115
+ | :--- | :--- | :--- |
116
+ | `visible` | `boolean` | 控制图层的可见性 (也可直接修改 `viewLayer.visible`)。 |
117
+ | `opacity` | `number` | 图层透明度 (0.0 - 1.0)。 |
118
+ | `pointSize` | `number` | (仅点云) 点的大小。 |
119
+
120
+ > 更多配置项请参考 [Parameter](./parameter.md) 和 [3DTile Params](./3dtile.md)。
121
+
122
+ ## Examples
123
+
124
+ ### 1. 访问 ViewLayer
125
+
126
+ ```typescript
127
+ // 获取当前模型
128
+ const model = five.model;
129
+
130
+ // 遍历所有图层
131
+ model.viewLayers.forEach(layer => {
132
+ console.log(`Layer Name: ${layer.name}, Type: ${layer.type}`);
133
+ });
134
+
135
+ // 查找特定的图层 (例如点云层)
136
+ const pointCloudLayer = model.viewLayers.find(layer => layer.type === 'point_cloud');
137
+ ```
138
+
139
+ ### 2. 独立控制图层可见性
140
+
141
+ ```typescript
142
+ // 方式 A: 运行时控制
143
+ const meshLayer = five.model.viewLayers.find(layer => layer.type === 'mesh');
144
+
145
+ if (meshLayer) {
146
+ // 隐藏模型层,只看点云
147
+ meshLayer.visible = false;
148
+ // 或者通过 parameter 设置
149
+ // meshLayer.parameter.set('visible', false);
150
+ }
151
+
152
+ // 方式 B: 加载时控制 (初始化时仅显示 mesh)
153
+ five.load(work, {
154
+ model: {
155
+ "3d-tiles": {
156
+ showLayers: ['mesh'] // 仅显示 mesh 层,隐藏 point_cloud 等其他层
157
+ }
158
+ }
159
+ });
160
+ ```
161
+
162
+ ### 3. 修改特定图层的渲染参数
163
+
164
+ ```typescript
165
+ const pointCloudLayer = five.model.viewLayers.find(layer => layer.type === 'point_cloud');
166
+
167
+ if (pointCloudLayer) {
168
+ // 仅修改点云层的点大小,不影响其他模型
169
+ pointCloudLayer.parameter.set('pointSize', 2.0);
170
+
171
+ // 仅修改点云层的最大显存占用
172
+ pointCloudLayer.parameter.set('maxMemoryUsage', 128);
173
+ }
174
+ ```
175
+
176
+ ## Related
177
+
178
+ * [Model](./model.md): ViewLayer 的父级容器。
179
+ * [Work](./work.md): 定义 ViewLayer 数据结构的数据源。
180
+ * [Parameter](./parameter.md): 控制 ViewLayer 渲染表现的配置系统。
181
+ * [3DTile](./3dtile.md): ViewLayer 的底层技术实现。
182
+
183
+ ---
184
+
185
+ ```yaml
186
+ tags: [图层, 视图层, 可见性, 显隐控制, 图层切换, 分层渲染, viewlayer, model, 3dtile, parameter, layer, mesh, point-cloud, gaussian-splatting]
187
+ ```
@@ -7,12 +7,16 @@
7
7
 
8
8
  ## Schema
9
9
 
10
+ > **Definition**: [Work](../../five/work/work.d.ts), [LooseWork](../../five/work/looseWorkType.d.ts), [WorkJson](../../five/work/workJsonType.d.ts)
11
+
10
12
  `Work` 及其相关核心接口定义如下:
11
13
 
12
14
  ```ts
13
15
  import * as THREE from "three";
14
16
  import type { Mode } from "@realsee/five";
15
17
 
18
+ type CubeFace = 'up' | 'down' | 'left' | 'right' | 'front' | 'back';
19
+
16
20
  /** Work 实体:VR 项目的根对象 */
17
21
  export interface Work {
18
22
  /** 唯一标识 (Work ID) */
@@ -72,6 +76,21 @@ export interface WorkObserver {
72
76
 
73
77
  /** 点位全景图资源信息 */
74
78
  images: WorkImage;
79
+
80
+ /** 获取点位的全局坐标 */
81
+ getWorldPosition(this: WorkObserver): THREE.Vector3;
82
+
83
+ /** 获取点位的全局地面坐标 */
84
+ getWorldStandingPosition(this: WorkObserver): THREE.Vector3;
85
+
86
+ /** 将方向向量转化为全景图 uv */
87
+ vectorToEquirectangularUv(vector: THREE.Vector3, uvOrigin?: 'top-left' | 'bottom-left'): THREE.Vector2;
88
+ /** 将全景图 uv 转化为方向向量 */
89
+ equirectangularUvToVector(uv: THREE.Vector2, uvOrigin?: 'top-left' | 'bottom-left'): THREE.Vector3;
90
+ /** 将方向向量转化为获六视图 uv */
91
+ vectorToCubemapUv(vector: THREE.Vector3, uvOrigin?: 'top-left' | 'bottom-left'): [cubeFace: CubeFace, cubemapUv: THREE.Vector2];
92
+ /** 将六视图 uv 转化为方向向量 */
93
+ cubemapUvToVector(cubeFace: CubeFace, uv: THREE.Vector2, uvOrigin?: 'top-left' | 'bottom-left'): THREE.Vector3;
75
94
  }
76
95
 
77
96
  /** 初始化位姿参数 */
@@ -113,8 +132,8 @@ export interface WorkModel {
113
132
  export interface WorkModelLayer {
114
133
  /** work */
115
134
  work: Work;
116
- /** 模型类型 point_cloud mesh */
117
- type: 'point_cloud' | 'mesh';
135
+ /** 模型类型 point_cloud mesh gaussian_splatting */
136
+ type: 'point_cloud' | 'mesh' | 'gaussian_splatting';
118
137
  /** 模型名称 */
119
138
  name: string;
120
139
  /** 指定上方向 */
@@ -140,6 +159,48 @@ export interface WorkImage {
140
159
  ### Work Entity (项目实体)
141
160
  Work 是 Five 渲染内容的基石。它不仅包含资源地址,还包含空间结构数据。由于数据通常带有数字签名(防止篡改),开发者**不应手动修改** Work 对象中的属性,尤其是资源路径和坐标数据。
142
161
 
162
+ ### Data Types (数据类型)
163
+ Five 中有三种与 Work 相关的类型,它们分别对应不同的使用场景:
164
+
165
+ * **LooseWork (宽泛数据)**:
166
+ * **来源**: 通常是服务端下发的原始 JSON 数据。
167
+ * **特点**: 结构宽松,允许缺省值(如使用默认模态)、简写(如 URL 模板)和非标准类型(如数组表示向量)。
168
+ * **用途**: 作为 `parseWork(json)` 的输入。
169
+ * **Work (运行时实体)**:
170
+ * **来源**: 由 `parseWork` 解析生成。
171
+ * **特点**: 结构严谨,数据已标准化(如 URL 已补全,向量转为 `THREE.Vector3`),且被冻结(不可变)。
172
+ * **用途**: Five 内部渲染使用的核心对象,传给 `five.load(work)`。
173
+ * **WorkJson (标准序列化)**:
174
+ * **来源**: 由 `workToJson(work)` 生成。
175
+ * **特点**: 纯 JSON 结构,去除了运行时对象(如 THREE.Vector3),但保留了标准化的数据结构。
176
+ * **用途**: 用于数据持久化存储或跨端传输。
177
+
178
+ ### Layers vs File (数据源关系)
179
+
180
+ `WorkModel` 提供了两种定义模型数据的方式,其中 `layers` 是现代标准,`file` 主要用于兼容旧数据或简单场景。
181
+
182
+ * **`layers`**: (推荐) 数组结构,用于定义多层级、多类型的模型资源。
183
+ * 支持 **3DTiles** 格式的分块加载。
184
+ * 支持多种类型混合:`mesh` (模型), `point_cloud` (点云), `gaussian_splatting` (高斯泼溅)。
185
+ * **默认行为**: 列表中的所有图层默认都会被加载并显示。
186
+ * **`file`**: (兼容) 字符串路径,用于定义单文件的 Mesh 模型。
187
+ * 仅支持部分格式(如 `.at3d`, `.obj`, `.glb`)。
188
+ * 不支持点云或高斯泼溅。
189
+
190
+ **加载优先级与兼容逻辑 (Fallback)**:
191
+
192
+ Five 在运行时会将 `file` 视为一个虚拟的 `mesh` 图层。加载逻辑如下:
193
+
194
+ 1. **优先加载 Layers**:
195
+ Five 会遍历 `work.model.layers` 并加载其中定义的所有图层(包括 Mesh, PointCloud, GaussianSplatting 等)。
196
+
197
+ 2. **File 的条件加载**:
198
+ 检查当前已加载的图层中是否存在 `type: 'mesh'` 的图层。
199
+ * **存在 Mesh 层**: 忽略 `work.model.file` 字段(认为 `layers` 已经提供了更高精度的模型)。
200
+ * **不存在 Mesh 层**: 如果 `work.model.file` 有值,Five 会自动创建一个临时的 Mesh ViewLayer 来加载该文件。
201
+
202
+
203
+
143
204
  ### Observer (观察点)
144
205
  Observer 是 VR 空间中预设的观察位置。在 **Panorama (全景)** 模式下,相机必须停留在某个 Observer 上。
145
206
  * **position**: 相机镜头的物理位置。
@@ -238,5 +299,5 @@ five.load(work3, "inherit", { mode: "replace" });
238
299
  ---
239
300
 
240
301
  ```yaml
241
- tags: [work, core, entity, observer]
302
+ tags: [VR数据, 数据加载, 点位, 全景点, 数据结构, 多work, work, core, entity, observer, parseWork, workCode, JSON, load]
242
303
  ```
@@ -9,11 +9,15 @@
9
9
  SDK 的核心入口类。一个 `Five` 实例对应一个 `<canvas>` 渲染上下文,负责管理场景生命周期、渲染循环、用户交互和状态更新。
10
10
 
11
11
  ### Work
12
- VR 看房的**原始数据载体**。通常是一个 JSON 对象,包含了重建三维空间所需的所有信息,包括:
13
- - **Observers**: 全景拍摄点位信息。
14
- - **Panorama**: 全景图资源地址。
15
- - **Model**: 三维模型数据 (Mesh, Material)。
16
- - **Plan**: 户型图数据 (SVG, 标尺)。
12
+ VR 看房的**运行时实体**。通常指经过 `parseWork` 解析后生成的标准化数据对象。
13
+ - **LooseWork**: 服务端下发的原始 JSON 数据,结构较宽松。
14
+ - **WorkJson**: `workToJson` 生成的标准序列化数据,用于存储。
15
+ - **包含内容**: Observers, Panorama, Model, Plan 等。
16
+
17
+ ### Vertex Marks (顶点标记)
18
+ 在模型顶点上通过 `_feature_id_rsmask` 属性进行的标记。
19
+ - 用于在特定视角(如俯视)下控制 Mesh 的显隐(例如隐藏天花板)。
20
+ - 属于材质配置的一部分。
17
21
 
18
22
  ### Observer
19
23
  **观察点**。对应现实空间中拍摄全景图的一个物理位置。
@@ -48,12 +52,29 @@ Five 定义的五种浏览状态:
48
52
  ### Pano Tile (全景瓦片)
49
53
  为了在移动端快速加载高分辨率全景图(如 8K/16K),将全景图切分为多个小块(瓦片)。Five 会根据当前视角按需加载可见区域的瓦片。
50
54
 
51
- ### Quasi / Mesh
55
+ ### Mesh (三维网格)
52
56
  **三维模型**。通过激光扫描或视觉算法重建的空间几何结构。在 Five 中,全景图贴在几何模型上,从而实现“从全景中看出立体感”的效果。
53
57
 
54
58
  ### G-Buffer / Geometry Buffer
55
59
  用于后处理的几何缓冲区,包含深度 (Depth)、法线 (Normal)、ID 等信息,用于实现高级特效(如轮廓线、SSAO)。
56
60
 
61
+ ### ViewLayer
62
+ 管理 `Model` 内部特定 3D 资源(如 Mesh、PointCloud、Gaussian Splatting)的图层。
63
+ - 继承自 `Tile3D`。
64
+ - 拥有独立的 `Parameter` 配置(覆盖上层配置)。
65
+ - 支持可见性控制 (`visible`) 和优先级加载。
66
+
67
+ ### Gaussian Splatting
68
+ 一种基于点的 3D 渲染技术,通过各向异性高斯球(Splat)来表示场景。
69
+ - 相比传统 Mesh,能更真实地还原复杂光照和细节。
70
+ - Five 支持 `.spz` 和 `.splat` 格式的 Gaussian Splatting 渲染。
71
+
72
+ ### 3D Tiles Refinement (细化)
73
+ 3D Tiles 加载过程中的状态概念:
74
+ - **Loaded (已加载)**: 瓦片的基本数据已下载并解析,满足最低显示要求 (`minLevelOfDetail`)。
75
+ - **Refined (已细化)**: 瓦片已加载最高质量数据,满足当前视角的屏幕空间误差要求 (`maxScreenSpaceError`)。
76
+ - `five.model.refineProgress` 可用于监控当前视角的细化进度。
77
+
57
78
  ## Interaction (交互)
58
79
 
59
80
  ### Raycast (射线检测)
@@ -68,5 +89,5 @@ Five 封装的手势事件:
68
89
 
69
90
  ---
70
91
  ```yaml
71
- tags: [glossary, terminology, definitions]
92
+ tags: [术语, 概念, glossary, terminology, definitions, observer, pose, mode, work, panoindex, fov, viewlayer, gaussian-splatting, 3dtile]
72
93
  ```
@@ -8,7 +8,7 @@
8
8
 
9
9
  * **全景浏览**: 支持高分辨率全景图的高效加载与平滑浏览。详见 [Pano Tile](./features/pano-tile.md)。
10
10
  * **空间漫游**: 支持在三维模型中自由行走、跳转。详见 [Mode](./features/mode.md)。
11
- * **模型渲染**: 内置高效的模型加载策略 (3DTile)。详见 [Model](./features/model.md)。
11
+ * **模型渲染**: 内置高效的模型加载策略 (3DTile) 与灵活的材质配置。详见 [Model](./features/model.md) 与 [Material](./features/material.md)
12
12
  * **交互事件**: 完善的事件系统,支持手势、射线检测等。详见 [Event](./features/event.md) 与 [Raycast](./features/raycast.md)。
13
13
  * **状态管理**: 统一的 State 设计,便于状态保存与还原。详见 [State](./features/state.md)。
14
14
 
@@ -60,6 +60,7 @@ fetch(workURL)
60
60
  * **控制视角与移动**: 了解如何通过代码控制相机。 -> [Five.updateCamera](./features/five.md) / [State](./features/state.md)
61
61
  * **切换模态**: 在全景、模型、平面图之间切换。 -> [Mode](./features/mode.md)
62
62
  * **监听事件**: 响应用户的点击和交互。 -> [Event](./features/event.md)
63
+ * **视觉调整**: 修改材质参数或开启后处理效果。 -> [Material](./features/material.md) / [Postprocessing](./features/postprocessing.md)
63
64
  * **自定义配置**: 修改图片加载参数或渲染效果。 -> [ImageOptions](./features/image-options.md)
64
65
 
65
66
  ## Related