@realsee/five 6.8.0-alpha.2 → 6.8.0-alpha.21

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 (715) hide show
  1. package/AGENTS_READ_ME.md +4 -0
  2. package/AI_CONTEXT.md +4 -0
  3. package/README.md +9 -6
  4. package/{guides → ai_guides}/README.md +12 -2
  5. package/ai_guides/ai-doc-guidelines.md +102 -0
  6. package/{guides → ai_guides}/api.md +24 -1
  7. package/ai_guides/features/3dtile.md +172 -0
  8. package/{guides → ai_guides}/features/camera-animation.md +24 -3
  9. package/{guides → ai_guides}/features/clipper.md +2 -0
  10. package/{guides/features/coordnate-system.md → ai_guides/features/coordinate-system.md} +2 -0
  11. package/{guides → ai_guides}/features/event.md +2 -0
  12. package/{guides → ai_guides}/features/five.md +4 -0
  13. package/ai_guides/features/flowing-light-2d-pass.md +438 -0
  14. package/ai_guides/features/flowing-light-3d-pass.md +420 -0
  15. package/ai_guides/features/gaussian-blur-pass.md +202 -0
  16. package/{guides → ai_guides}/features/gesture.md +3 -0
  17. package/{guides → ai_guides}/features/get-screen-pixels.md +2 -0
  18. package/{guides → ai_guides}/features/image-options.md +3 -0
  19. package/{guides → ai_guides}/features/load-external-model.md +21 -0
  20. package/ai_guides/features/load-progress.md +140 -0
  21. package/ai_guides/features/material.md +153 -0
  22. package/{guides → ai_guides}/features/mode.md +4 -0
  23. package/{guides → ai_guides}/features/model.md +4 -1
  24. package/{guides → ai_guides}/features/move-pano-effect.md +2 -0
  25. package/{guides → ai_guides}/features/multi-work.md +2 -0
  26. package/ai_guides/features/pano-filter.md +148 -0
  27. package/{guides → ai_guides}/features/pano-tile.md +7 -14
  28. package/ai_guides/features/pano-uv.md +131 -0
  29. package/ai_guides/features/parameter.md +153 -0
  30. package/ai_guides/features/plugin.md +210 -0
  31. package/{guides → ai_guides}/features/postprocessing.md +39 -4
  32. package/{guides → ai_guides}/features/raycast.md +11 -0
  33. package/{guides → ai_guides}/features/request-proxy.md +2 -0
  34. package/{guides → ai_guides}/features/screen-project.md +2 -0
  35. package/{guides → ai_guides}/features/state.md +2 -0
  36. package/ai_guides/features/view-layer.md +187 -0
  37. package/{guides → ai_guides}/features/work.md +63 -2
  38. package/{guides → ai_guides}/glossary.md +26 -5
  39. package/{guides → ai_guides}/intro.md +1 -1
  40. package/{guides → ai_guides}/quick-start.md +1 -0
  41. package/ai_guides/release_notes/6.8.md +208 -0
  42. package/{guides → ai_guides}/template.md +17 -3
  43. package/docs/00_FOR_AI_AGENTS.md +11 -0
  44. package/docs/README.md +4 -7
  45. package/docs/assets/hierarchy.js +1 -1
  46. package/docs/assets/navigation.js +1 -1
  47. package/docs/assets/search.js +1 -1
  48. package/docs/classes/five.AdaptiveLuminancePass.html +7 -6
  49. package/docs/classes/five.BoundingMesh.html +2 -2
  50. package/docs/classes/five.Camera.html +1 -1
  51. package/docs/classes/five.EyeDomeLightingPass.html +1 -1
  52. package/docs/classes/five.Five.html +73 -72
  53. package/docs/classes/five.FivePass.html +1 -1
  54. package/docs/classes/five.Histogram.html +19 -0
  55. package/docs/classes/five.InternalWebGLRenderer.html +1 -1
  56. package/docs/classes/five.Model.html +31 -31
  57. package/docs/classes/five.ModelScene.html +1 -1
  58. package/docs/classes/five.NetworkSubscribe.html +1 -1
  59. package/docs/classes/five.PBMContainer.html +1 -1
  60. package/docs/classes/five.PBMCustomShader.html +42 -3
  61. package/docs/classes/five.PBMGSObject.html +5 -3
  62. package/docs/classes/five.PBMGroup.html +1 -1
  63. package/docs/classes/five.PBMMesh.html +1 -1
  64. package/docs/classes/five.PBMMeshMaterial.html +16 -7
  65. package/docs/classes/five.PBMPanoFilter.html +61 -0
  66. package/docs/classes/five.PBMPointCloud.html +1 -1
  67. package/docs/classes/five.PBMPointCloudMaterial.html +5 -6
  68. package/docs/classes/five.PBMSkinnedMesh.html +1 -1
  69. package/docs/classes/five.PBMUpdateable.html +41 -0
  70. package/docs/classes/five.PanoCircleMesh.html +1 -1
  71. package/docs/classes/five.PanoCircleMeshCustom.html +1 -1
  72. package/docs/classes/five.PanoCircleMeshSolid.html +1 -1
  73. package/docs/classes/five.Parameter.html +57 -53
  74. package/docs/classes/five.Scene.html +1 -1
  75. package/docs/classes/five.Subscribe.html +1 -1
  76. package/docs/classes/five.Tile.html +1 -1
  77. package/docs/classes/five.Tile3D.html +30 -26
  78. package/docs/classes/five.TileNode.html +1 -1
  79. package/docs/classes/five.Trajectory.html +1 -1
  80. package/docs/classes/five.TrajectoryNode.html +1 -1
  81. package/docs/classes/five.Work.html +16 -16
  82. package/docs/classes/five.WorkResolvedObserver.html +27 -2
  83. package/docs/classes/gltf-loader.DDSLoader.html +1 -1
  84. package/docs/classes/gltf-loader.DRACOLoader.html +1 -1
  85. package/docs/classes/gltf-loader.GLTFLoader.html +1 -1
  86. package/docs/classes/gltf-loader.GLTFObject.html +1 -1
  87. package/docs/classes/gltf-loader.GLTFParser.html +1 -1
  88. package/docs/classes/gltf-loader.THREEGLTFLoader.html +1 -1
  89. package/docs/classes/line.Line.html +1 -1
  90. package/docs/classes/line.LineGeometry.html +1 -1
  91. package/docs/classes/line.LineMaterial.html +1 -1
  92. package/docs/classes/line.LineSegmentsGeometry.html +1 -1
  93. package/docs/classes/line.THREE_Line2.html +1 -1
  94. package/docs/classes/line.THREE_LineSegments2.html +1 -1
  95. package/docs/classes/plugins.BasePlugin.Controller.html +1 -1
  96. package/docs/classes/plugins.RoundedBoxGeometry.html +1 -1
  97. package/docs/classes/sticker.Sticker.html +1 -1
  98. package/docs/classes/vfx.Airflow.html +1 -1
  99. package/docs/classes/vfx.Flame.html +1 -1
  100. package/docs/classes/vfx.Particle.html +1 -1
  101. package/docs/classes/vfx.ParticleGPU.html +1 -1
  102. package/docs/classes/vfx.SpotLight.html +1 -1
  103. package/docs/documents/README.html +11 -2
  104. package/docs/documents/ai-doc-guidelines.html +60 -15
  105. package/docs/documents/api.html +40 -15
  106. package/docs/documents/features_3dtile.html +142 -45
  107. package/docs/documents/features_camera-animation.html +62 -5
  108. package/docs/documents/features_clipper.html +3 -0
  109. package/docs/documents/{features_coordnate-system.html → features_coordinate-system.html} +4 -1
  110. package/docs/documents/features_event.html +3 -0
  111. package/docs/documents/features_five.html +4 -0
  112. package/docs/documents/features_flowing-light-2d-pass.html +356 -0
  113. package/docs/documents/features_flowing-light-3d-pass.html +351 -0
  114. package/docs/documents/features_gaussian-blur-pass.html +182 -0
  115. package/docs/documents/features_gesture.html +4 -0
  116. package/docs/documents/features_get-screen-pixels.html +3 -0
  117. package/docs/documents/features_image-options.html +3 -0
  118. package/docs/documents/features_load-external-model.html +25 -2
  119. package/docs/documents/features_load-progress.html +110 -0
  120. package/docs/documents/features_material.html +341 -0
  121. package/docs/documents/features_mode.html +5 -0
  122. package/docs/documents/features_model.html +5 -1
  123. package/docs/documents/features_move-pano-effect.html +3 -0
  124. package/docs/documents/features_multi-work.html +3 -0
  125. package/docs/documents/features_pano-filter.html +122 -0
  126. package/docs/documents/features_pano-tile.html +34 -19
  127. package/docs/documents/features_pano-uv.html +82 -0
  128. package/docs/documents/features_parameter.html +76 -56
  129. package/docs/documents/features_plugin.html +105 -0
  130. package/docs/documents/features_postprocessing.html +22 -5
  131. package/docs/documents/features_raycast.html +4 -1
  132. package/docs/documents/features_request-proxy.html +3 -0
  133. package/docs/documents/features_screen-project.html +3 -0
  134. package/docs/documents/features_state.html +3 -0
  135. package/docs/documents/features_view-layer.html +158 -0
  136. package/docs/documents/features_work.html +63 -2
  137. package/docs/documents/glossary.html +31 -6
  138. package/docs/documents/intro.html +1 -1
  139. package/docs/documents/quick-start.html +1 -0
  140. package/docs/documents/release_notes_6.8.html +189 -0
  141. package/docs/documents/template.html +45 -4
  142. package/docs/functions/five.loadAt3d.html +1 -1
  143. package/docs/functions/five.loadB3dm.html +1 -1
  144. package/docs/functions/five.loadDome.html +1 -1
  145. package/docs/functions/five.loadDomez.html +1 -1
  146. package/docs/functions/five.loadFbx.html +1 -1
  147. package/docs/functions/five.loadGltf.html +1 -1
  148. package/docs/functions/five.loadPbm.html +1 -1
  149. package/docs/functions/five.loadPly.html +1 -1
  150. package/docs/functions/five.loadPnts.html +1 -1
  151. package/docs/functions/five.loadSplat.html +1 -1
  152. package/docs/functions/five.loadSpz.html +1 -1
  153. package/docs/functions/five.loadX3p.html +1 -1
  154. package/docs/functions/five.parseWork.html +1 -1
  155. package/docs/functions/vue.useFiveWorks.html +2 -2
  156. package/docs/hierarchy.html +1 -1
  157. package/docs/index.html +11 -2
  158. package/docs/interfaces/five.AddableObject.html +1 -1
  159. package/docs/interfaces/five.AjaxOptions.html +1 -1
  160. package/docs/interfaces/five.BaseEvent.html +2 -2
  161. package/docs/interfaces/five.EventCallback.html +53 -47
  162. package/docs/interfaces/five.FloorplanControllerCustomInitArgs.html +9 -9
  163. package/docs/interfaces/five.GestureEvent.html +2 -2
  164. package/docs/interfaces/five.ImageOptions.html +1 -1
  165. package/docs/interfaces/five.IntersectEvent.html +2 -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 +4 -3
  169. package/docs/interfaces/five.LooseWorkWithExtrinsics.html +6 -6
  170. package/docs/interfaces/five.MapviewControllerCustomInitArgs.html +9 -9
  171. package/docs/interfaces/five.ModeChangeEvent.html +2 -2
  172. package/docs/interfaces/five.ModelControllerCustomInitArgs.html +1 -1
  173. package/docs/interfaces/five.ModelEvent.html +2 -2
  174. package/docs/interfaces/five.ModelSceneEvent.html +2 -2
  175. package/docs/interfaces/five.ModelTileEvent.html +8 -0
  176. package/docs/interfaces/five.MovePanoOptions.html +7 -7
  177. package/docs/interfaces/five.NetworkAbortError.html +1 -1
  178. package/docs/interfaces/five.NetworkFirbiddenError.html +1 -1
  179. package/docs/interfaces/five.NetworkOptions.html +1 -1
  180. package/docs/interfaces/five.NetworkProxyError.html +1 -1
  181. package/docs/interfaces/five.NetworkResourceEvent.html +2 -2
  182. package/docs/interfaces/five.NetworkResponseError.html +1 -1
  183. package/docs/interfaces/five.NetworkTimeoutError.html +1 -1
  184. package/docs/interfaces/five.ObjectEvent.html +2 -2
  185. package/docs/interfaces/five.PBMClipperParameter.html +2 -2
  186. package/docs/interfaces/five.PBMCustomShaderInitArgs.html +2 -2
  187. package/docs/interfaces/five.PBMCustomShaderSlots.html +2 -2
  188. package/docs/interfaces/five.PBMMaterial.html +1 -1
  189. package/docs/interfaces/five.PBMMeshMaterialParameters.html +5 -3
  190. package/docs/interfaces/five.PBMPanoDepth.html +5 -5
  191. package/docs/interfaces/five.PBMPanoFilterValue.html +6 -0
  192. package/docs/interfaces/five.PBMPanoPicture.html +8 -6
  193. package/docs/interfaces/five.PBMPointCloudMaterialParameters.html +2 -3
  194. package/docs/interfaces/five.PBMRefinedScreen.html +2 -2
  195. package/docs/interfaces/five.PanoCircleMeshInterface.html +1 -1
  196. package/docs/interfaces/five.PanoEvent.html +2 -2
  197. package/docs/interfaces/five.PanoTextureEvent.html +2 -2
  198. package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +1 -1
  199. package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +1 -1
  200. package/docs/interfaces/five.ParameterMaterialValue.html +42 -38
  201. package/docs/interfaces/five.ParameterTilesetValue.html +15 -15
  202. package/docs/interfaces/five.ParameterValue.html +56 -52
  203. package/docs/interfaces/five.Pose.html +1 -1
  204. package/docs/interfaces/five.RenderEvent.html +2 -2
  205. package/docs/interfaces/five.ResolvedParameterValue.html +56 -52
  206. package/docs/interfaces/five.RgbaData.html +7 -0
  207. package/docs/interfaces/five.SplatData.html +2 -2
  208. package/docs/interfaces/five.State.html +1 -1
  209. package/docs/interfaces/five.StateEvent.html +2 -2
  210. package/docs/interfaces/five.TextureOptions.html +1 -1
  211. package/docs/interfaces/five.Tile3DOptions.html +2 -2
  212. package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +7 -7
  213. package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +1 -1
  214. package/docs/interfaces/five.ViewLayer.html +30 -26
  215. package/docs/interfaces/five.WorkCubeImage.html +1 -1
  216. package/docs/interfaces/five.WorkImage.html +1 -1
  217. package/docs/interfaces/five.WorkModel.html +8 -8
  218. package/docs/interfaces/five.WorkModelLayer.html +6 -6
  219. package/docs/interfaces/five.WorkObserver.html +27 -2
  220. package/docs/interfaces/five.WorkTile.html +1 -1
  221. package/docs/interfaces/five.WorksEvent.html +2 -2
  222. package/docs/interfaces/five.XRControllerEvent.html +2 -2
  223. package/docs/interfaces/five.XRGestureEvent.html +2 -2
  224. package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +1 -1
  225. package/docs/interfaces/five.XRSessionEvent.html +2 -2
  226. package/docs/interfaces/plugins.BackgroundPluginController.html +1 -1
  227. package/docs/interfaces/plugins.BackgroundPluginType.EventMap.html +1 -1
  228. package/docs/interfaces/plugins.BasePlugin.State.html +1 -1
  229. package/docs/interfaces/plugins.DynamicPathLinePluginController.html +1 -1
  230. package/docs/interfaces/plugins.DynamicPathLinePluginType.EventMap.html +1 -1
  231. package/docs/interfaces/plugins.DynamicPathLinePluginType.State.html +1 -1
  232. package/docs/interfaces/plugins.ItemMaskController.html +1 -1
  233. package/docs/interfaces/plugins.ItemMaskPluginType.EventMap.html +1 -1
  234. package/docs/interfaces/plugins.ItemMaskPluginType.State.html +1 -1
  235. package/docs/interfaces/plugins.OrientationPluginController.html +1 -1
  236. package/docs/interfaces/plugins.OrientationPluginType.EventMap.html +1 -1
  237. package/docs/interfaces/plugins.OrientationPluginType.State.html +1 -1
  238. package/docs/interfaces/plugins.PanoAnimeController.html +1 -1
  239. package/docs/interfaces/plugins.PanoAnimePluginType.EventMap.html +1 -1
  240. package/docs/interfaces/plugins.PanoAnimePluginType.State.html +1 -1
  241. package/docs/interfaces/plugins.PluginTemplateType.EventMap.html +1 -1
  242. package/docs/interfaces/plugins.PluginTemplateType.State.html +1 -1
  243. package/docs/interfaces/plugins.TrajectoryController.html +1 -1
  244. package/docs/interfaces/react.FiveInjectionTypes.html +13 -13
  245. package/docs/modules/five.html +1 -1
  246. package/docs/modules.html +1 -1
  247. package/docs/types/five.ControllerEventTypes.html +27 -25
  248. package/docs/types/five.EasingFunction.html +1 -0
  249. package/docs/types/five.EventTypes.html +27 -25
  250. package/docs/types/five.FivePlugin.html +1 -1
  251. package/docs/types/five.FivePluginInit.html +1 -1
  252. package/docs/types/five.FivePluginInstance.html +1 -1
  253. package/docs/types/five.NetworkProgressCallback.html +1 -1
  254. package/docs/types/five.PBMAlphaMode.html +1 -1
  255. package/docs/types/five.PBMColorStyle.html +1 -1
  256. package/docs/types/five.PBMFloorStyle.html +1 -1
  257. package/docs/types/five.PBMMeshShaderType.html +1 -1
  258. package/docs/types/five.PBMPointBack.html +1 -1
  259. package/docs/types/five.PBMPointCloudShaderType.html +1 -1
  260. package/docs/types/five.PBMPointShape.html +1 -1
  261. package/docs/types/five.PBMPointSize.html +1 -1
  262. package/docs/types/five.PBMTransition.html +1 -1
  263. package/docs/types/five.ParseOptions.html +6 -6
  264. package/docs/types/plugins.BasePlugin.EventMap.html +1 -1
  265. package/docs/variables/five.PROXY_CONTROLLER_EVENT_NAMES.html +1 -1
  266. package/five/application/analysis.d.ts +40 -0
  267. package/five/application/controllers.d.ts +41 -0
  268. package/five/application/events-legacy.d.ts +454 -0
  269. package/five/application/events.d.ts +69 -0
  270. package/five/application/five.d.ts +519 -0
  271. package/five/application/fiveInitArgs.d.ts +176 -0
  272. package/five/application/fiveLoadOptions.d.ts +21 -0
  273. package/five/application/generateDefaultVideoElement.d.ts +2 -0
  274. package/five/application/getViewportScale.d.ts +2 -0
  275. package/five/application/initLights.d.ts +3 -0
  276. package/five/application/mode.d.ts +28 -0
  277. package/five/application/renderPoweredByRealsee.d.ts +3 -0
  278. package/five/assets/cardboard-png-data-url.d.ts +2 -0
  279. package/five/assets/gradient-png-data-url.d.ts +2 -0
  280. package/five/assets/loading-png-data-url.d.ts +2 -0
  281. package/five/assets/phone-png-data-url.d.ts +2 -0
  282. package/five/assets/realsee-png-data-url.d.ts +2 -0
  283. package/five/bvh/bvhMath.d.ts +33 -0
  284. package/five/bvh/bvhMesh.d.ts +7 -0
  285. package/five/bvh/bvhNode.d.ts +29 -0
  286. package/five/bvh/bvhObject.d.ts +18 -0
  287. package/five/bvh/bvhPoints.d.ts +6 -0
  288. package/five/bvh/index.d.ts +10 -0
  289. package/five/bvh/worker.d.ts +35 -0
  290. package/five/cardboard/helper.d.ts +2 -0
  291. package/five/cardboard/index.d.ts +13 -0
  292. package/five/cardboard/sensor.d.ts +158 -0
  293. package/five/certificates/hardware.d.ts +1 -0
  294. package/five/controllers/base.d.ts +167 -0
  295. package/five/controllers/events.d.ts +71 -0
  296. package/five/controllers/floorplan.d.ts +119 -0
  297. package/five/controllers/mapview.d.ts +139 -0
  298. package/five/controllers/model.d.ts +57 -0
  299. package/five/controllers/panorama.d.ts +143 -0
  300. package/five/controllers/panoramaLike.d.ts +87 -0
  301. package/five/controllers/topview.d.ts +42 -0
  302. package/five/controllers/vrPanorama.d.ts +56 -0
  303. package/five/controllers/xrPanorama.d.ts +81 -0
  304. package/five/core/camera.d.ts +65 -0
  305. package/five/core/internalWebGLRenderer.d.ts +14 -0
  306. package/five/core/panoVideo.d.ts +18 -0
  307. package/five/core/scene.d.ts +10 -0
  308. package/five/core/tiling.d.ts +43 -0
  309. package/five/declare.d.ts +2 -1
  310. package/five/gaussian-splatting/util/renderData.d.ts +52 -0
  311. package/five/gaussian-splatting/wasm/data.d.ts +20 -0
  312. package/five/gaussian-splatting/wasm/sort.d.ts +18 -0
  313. package/five/gaussian-splatting/worker/dataWorker.d.ts +1 -0
  314. package/five/gaussian-splatting/worker/sortWorker.d.ts +1 -0
  315. package/five/index.d.ts +60 -4637
  316. package/five/index.js +193 -341
  317. package/five/index.mjs +26455 -31011
  318. package/five/meshes/boundingMesh.d.ts +12 -0
  319. package/five/meshes/intersectMesh.d.ts +8 -0
  320. package/five/meshes/panoCircleMesh.d.ts +35 -0
  321. package/five/meshes/panoCircleMeshCustom.d.ts +40 -0
  322. package/five/meshes/panoCircleMeshSolid.d.ts +34 -0
  323. package/five/meshes/panoSphereMesh.d.ts +27 -0
  324. package/five/model/helpers/coordinate-transform.d.ts +3 -0
  325. package/five/model/helpers/ellipsoid-coordinates.d.ts +14 -0
  326. package/five/model/helpers/get-edges-by-sphere.d.ts +8 -0
  327. package/five/model/helpers/get-recommend-tile3d-parameters.d.ts +8 -0
  328. package/five/model/index.d.ts +70 -0
  329. package/five/model/intersection.d.ts +18 -0
  330. package/five/model/loaders/at3d.d.ts +12 -0
  331. package/five/model/loaders/b3dm.d.ts +9 -0
  332. package/five/model/loaders/dome.d.ts +22 -0
  333. package/five/model/loaders/domez.d.ts +11 -0
  334. package/five/model/loaders/fbx.d.ts +8 -0
  335. package/five/model/loaders/glTF-helpers/extensions/CESIUM_RTC.d.ts +9 -0
  336. package/five/model/loaders/glTF-helpers/extensions/EXT_meshopt_compression.d.ts +8 -0
  337. package/five/model/loaders/glTF-helpers/extensions/EXT_texture_webp.d.ts +11 -0
  338. package/five/model/loaders/glTF-helpers/extensions/KHR_animation_pointer.d.ts +6 -0
  339. package/five/model/loaders/glTF-helpers/extensions/KHR_binary_glTF.d.ts +25 -0
  340. package/five/model/loaders/glTF-helpers/extensions/KHR_draco_mesh_compression.d.ts +11 -0
  341. package/five/model/loaders/glTF-helpers/extensions/KHR_gaussian_splatting_compression_spz.d.ts +9 -0
  342. package/five/model/loaders/glTF-helpers/extensions/KHR_materials_clearcoat.d.ts +10 -0
  343. package/five/model/loaders/glTF-helpers/extensions/KHR_materials_emissive_strength.d.ts +10 -0
  344. package/five/model/loaders/glTF-helpers/extensions/KHR_materials_sheen.d.ts +10 -0
  345. package/five/model/loaders/glTF-helpers/extensions/KHR_materials_transmission.d.ts +10 -0
  346. package/five/model/loaders/glTF-helpers/extensions/KHR_materials_unlit.d.ts +10 -0
  347. package/five/model/loaders/glTF-helpers/extensions/KHR_mesh_quantization.d.ts +6 -0
  348. package/five/model/loaders/glTF-helpers/extensions/KHR_node_visibility.d.ts +10 -0
  349. package/five/model/loaders/glTF-helpers/extensions/KHR_texture_basisu.d.ts +9 -0
  350. package/five/model/loaders/glTF-helpers/extensions/KHR_texture_transform.d.ts +10 -0
  351. package/five/model/loaders/glTF-helpers/extensions/REALSEE_materials_lightmap.d.ts +7 -0
  352. package/five/model/loaders/glTF-helpers/extensions/base.d.ts +24 -0
  353. package/five/model/loaders/glTF-helpers/glTF.d.ts +713 -0
  354. package/five/model/loaders/glTF-helpers/index.d.ts +47 -0
  355. package/five/model/loaders/glTF-helpers/parser.d.ts +114 -0
  356. package/five/model/loaders/glTF-helpers/type.d.ts +14 -0
  357. package/five/model/loaders/gltf.d.ts +10 -0
  358. package/five/model/loaders/obj.d.ts +9 -0
  359. package/five/model/loaders/pbm.d.ts +26 -0
  360. package/five/model/loaders/ply.d.ts +24 -0
  361. package/five/model/loaders/pnts.d.ts +8 -0
  362. package/five/model/loaders/protobuf/dome.d.ts +540 -0
  363. package/five/model/loaders/protobuf/pbm.d.ts +203 -0
  364. package/five/model/loaders/shared.d.ts +16 -0
  365. package/five/model/loaders/splat.d.ts +8 -0
  366. package/five/model/loaders/spz.d.ts +14 -0
  367. package/five/model/loaders/tile3d-helpers/feature-table.d.ts +15 -0
  368. package/five/model/loaders/tile3d-helpers/gl-type.d.ts +20 -0
  369. package/five/model/loaders/tile3d-helpers/parse-gltf-array-buffer.d.ts +2 -0
  370. package/five/model/loaders/tile3d-helpers/parse-header.d.ts +2 -0
  371. package/five/model/loaders/tile3d-helpers/parse-point-cloud-attributes.d.ts +2 -0
  372. package/five/model/loaders/tile3d-helpers/parse-point-cloud-attributes.worker.d.ts +6 -0
  373. package/five/model/loaders/tile3d-helpers/parse-table.d.ts +3 -0
  374. package/five/model/loaders/tile3d-helpers/tile3d-type.d.ts +35 -0
  375. package/five/model/loaders/x3p.d.ts +22 -0
  376. package/five/model/materials/pbmMaterial.d.ts +137 -0
  377. package/five/model/materials/pbmMeshMaterial.d.ts +126 -0
  378. package/five/model/materials/pbmPointCloudMaterial.d.ts +70 -0
  379. package/five/model/model-scene.d.ts +172 -0
  380. package/five/model/model.d.ts +209 -0
  381. package/five/model/objects/pbmContainer.d.ts +28 -0
  382. package/five/model/objects/pbmGaussianSplattingObject.d.ts +43 -0
  383. package/five/model/objects/pbmGaussianSplattingRenderMesh.d.ts +55 -0
  384. package/five/model/objects/pbmGaussianSplattingTestMesh.d.ts +7 -0
  385. package/five/model/objects/pbmGroup.d.ts +8 -0
  386. package/five/model/objects/pbmMesh.d.ts +10 -0
  387. package/five/model/objects/pbmPointCloud.d.ts +7 -0
  388. package/five/model/parameter.d.ts +140 -0
  389. package/five/model/shaders/pbm_gaussian_splatting/fragment.d.ts +2 -0
  390. package/five/model/shaders/pbm_gaussian_splatting/vertex.d.ts +2 -0
  391. package/five/model/shaders/pbm_mesh_basic/fragment.d.ts +2 -0
  392. package/five/model/shaders/pbm_mesh_basic/vertex.d.ts +2 -0
  393. package/five/model/shaders/pbm_mesh_none/fragment.d.ts +2 -0
  394. package/five/model/shaders/pbm_mesh_none/vertex.d.ts +2 -0
  395. package/five/model/shaders/pbm_mesh_phong/fragment.d.ts +2 -0
  396. package/five/model/shaders/pbm_mesh_phong/vertex.d.ts +2 -0
  397. package/five/model/shaders/pbm_mesh_standard/fragment.d.ts +2 -0
  398. package/five/model/shaders/pbm_mesh_standard/vertex.d.ts +2 -0
  399. package/five/model/shaders/pbm_pointcloud/fragment.d.ts +2 -0
  400. package/five/model/shaders/pbm_pointcloud/vertex.d.ts +2 -0
  401. package/five/model/tile3d/header.d.ts +88 -0
  402. package/five/model/tile3d/index.d.ts +214 -0
  403. package/five/model/tile3d/tile-cache.d.ts +18 -0
  404. package/five/model/tile3d/tile-content.d.ts +10 -0
  405. package/five/model/tile3d/tile-node.d.ts +24 -0
  406. package/five/model/tile3d/tile-request-scheduler.d.ts +17 -0
  407. package/five/model/tile3d/tile.d.ts +79 -0
  408. package/five/model/tile3d/tileset-base-traverser.d.ts +59 -0
  409. package/five/model/tile3d/tileset-most-detail-traverser.d.ts +14 -0
  410. package/five/model/tile3d/tileset-normal-traverser.d.ts +15 -0
  411. package/five/model/tile3d/tileset-skip-traverser.d.ts +60 -0
  412. package/five/model/tile3d/tileset.d.ts +69 -0
  413. package/five/model/tile3d/trajectory-content.d.ts +9 -0
  414. package/five/model/tile3d/trajectory-node.d.ts +15 -0
  415. package/five/model/tile3d/trajectory.d.ts +30 -0
  416. package/five/model/tile3d/types.d.ts +33 -0
  417. package/five/model/view-layer.d.ts +20 -0
  418. package/five/renderer/five-renderer.d.ts +17 -0
  419. package/five/renderer/index.d.ts +3 -0
  420. package/five/renderer/postprocessing/composer.d.ts +37 -0
  421. package/five/renderer/postprocessing/index.d.ts +7 -0
  422. package/five/renderer/postprocessing/passes/adaptive-luminance-pass.d.ts +17 -0
  423. package/five/renderer/postprocessing/passes/eye-dome-lighting-pass.d.ts +14 -0
  424. package/five/renderer/postprocessing/passes/flowing-light-2d-pass.d.ts +36 -0
  425. package/five/renderer/postprocessing/passes/flowing-light-3d-pass.d.ts +36 -0
  426. package/five/renderer/postprocessing/passes/gaussian-blur-pass.d.ts +12 -0
  427. package/five/renderer/postprocessing/passes/pass.d.ts +38 -0
  428. package/five/renderer/scene-renderers/point-cloud-high-quality-scene-renderer.d.ts +11 -0
  429. package/five/renderer/scene-renderers/scene-renderer.d.ts +9 -0
  430. package/five/renderer/scene-renderers/ssaa-scene-renderer.d.ts +15 -0
  431. package/five/renderer/tools/full-screen-quad.d.ts +15 -0
  432. package/five/renderer/tools/render-cube-to-equirectangular.d.ts +7 -0
  433. package/five/renderer/tools/render-full-screen-depth.d.ts +2 -0
  434. package/five/renderer/tools/render-full-screen.d.ts +2 -0
  435. package/five/texture/histogram.d.ts +54 -0
  436. package/five/texture/imageBitmap.d.ts +13 -0
  437. package/five/texture/initTexture.d.ts +3 -0
  438. package/five/texture/loader.d.ts +39 -0
  439. package/five/texture/textureData.d.ts +11 -0
  440. package/five/thirdparty/fflate.d.ts +1407 -0
  441. package/five/thirdparty/hammer.d.ts +375 -0
  442. package/five/thirdparty/jsrsasign.d.ts +753 -0
  443. package/five/thirdparty/meshopt_decoder.d.ts +15 -0
  444. package/five/three-version-check.d.ts +1 -0
  445. package/five/types/addableObject.d.ts +12 -0
  446. package/five/types/cube.d.ts +1 -0
  447. package/five/types/gestureInput.d.ts +24 -0
  448. package/five/types/imageOptions.d.ts +20 -0
  449. package/five/types/intersectMeshInterface.d.ts +8 -0
  450. package/five/types/movePanoEffect.d.ts +13 -0
  451. package/five/types/movePanoOptions.d.ts +36 -0
  452. package/five/types/panoCircleMeshInterface.d.ts +34 -0
  453. package/five/types/plugin.d.ts +25 -0
  454. package/five/types/pose.d.ts +17 -0
  455. package/five/types/state.d.ts +20 -0
  456. package/five/types/viewport.d.ts +22 -0
  457. package/five/utils/ajax.d.ts +66 -0
  458. package/five/utils/animationFrameLoop.d.ts +45 -0
  459. package/five/utils/array.d.ts +31 -0
  460. package/five/utils/asyncTaskQueue.d.ts +8 -0
  461. package/five/utils/bufferGeometry.d.ts +33 -0
  462. package/five/utils/calculateProgress.d.ts +39 -0
  463. package/five/utils/calculateThreeMouse.d.ts +13 -0
  464. package/five/utils/canplayVideo.d.ts +2 -0
  465. package/five/utils/clamp.d.ts +2 -0
  466. package/five/utils/clock.d.ts +17 -0
  467. package/five/utils/createSymbol.d.ts +5 -0
  468. package/five/utils/decodeText.d.ts +2 -0
  469. package/five/utils/deepEqual.d.ts +2 -0
  470. package/five/utils/deepFreeze.d.ts +2 -0
  471. package/five/utils/defineProperty.d.ts +9 -0
  472. package/five/utils/detector.d.ts +14 -0
  473. package/five/utils/distance.d.ts +10 -0
  474. package/five/utils/draco.d.ts +26 -0
  475. package/five/utils/easing.d.ts +63 -0
  476. package/five/utils/event.d.ts +159 -0
  477. package/five/utils/formatRad.d.ts +7 -0
  478. package/five/utils/imageSupport.d.ts +6 -0
  479. package/five/utils/imageURL.d.ts +42 -0
  480. package/five/utils/isEmptyObject.d.ts +2 -0
  481. package/five/utils/isNil.d.ts +6 -0
  482. package/five/utils/isNumber.d.ts +2 -0
  483. package/five/utils/isPowerOfTwo.d.ts +2 -0
  484. package/five/utils/isPromise.d.ts +2 -0
  485. package/five/utils/isSimilar.d.ts +6 -0
  486. package/five/utils/json.d.ts +7 -0
  487. package/five/utils/ktx2.d.ts +30 -0
  488. package/five/utils/lzma/index.d.ts +2 -0
  489. package/five/utils/lzma/lzma.d.ts +3 -0
  490. package/five/utils/lzma/lzmaWASM.d.ts +2 -0
  491. package/five/utils/lzma/lzmaWorker.d.ts +14 -0
  492. package/five/utils/memoryUsage.d.ts +29 -0
  493. package/five/utils/motion.d.ts +38 -0
  494. package/five/utils/noop.d.ts +6 -0
  495. package/five/utils/now.d.ts +7 -0
  496. package/five/utils/pano.d.ts +9 -0
  497. package/five/utils/pick.d.ts +3 -0
  498. package/five/utils/poseUtils.d.ts +5 -0
  499. package/five/utils/renderCubeTextureToCubeRenderTarget.d.ts +3 -0
  500. package/five/utils/renderDepth.d.ts +2 -0
  501. package/five/utils/renderTexturesToCubeRenderTarget.d.ts +10 -0
  502. package/five/utils/requestPermission.d.ts +3 -0
  503. package/five/utils/shaderContentFix.d.ts +7 -0
  504. package/five/utils/shaderMaterial.d.ts +20 -0
  505. package/five/utils/stateUtils.d.ts +5 -0
  506. package/five/utils/string-pattern.d.ts +8 -0
  507. package/five/utils/subscribe.d.ts +67 -0
  508. package/five/utils/tileCube.d.ts +19 -0
  509. package/five/utils/toFastProperties.d.ts +1 -0
  510. package/five/utils/typedCache.d.ts +10 -0
  511. package/five/utils/uniform.d.ts +15 -0
  512. package/five/utils/url.d.ts +35 -0
  513. package/five/utils/uuid.d.ts +5 -0
  514. package/five/utils/values.d.ts +2 -0
  515. package/five/utils/vectorCoordinates.d.ts +29 -0
  516. package/five/utils/volume.d.ts +111 -0
  517. package/five/utils/webglError.d.ts +7 -0
  518. package/five/utils/worker.d.ts +26 -0
  519. package/five/webxr/XRControllerModelFactory.d.ts +28 -0
  520. package/five/webxr/motionHelper.d.ts +68 -0
  521. package/five/webxr/xrButton.d.ts +4 -0
  522. package/five/webxr/xrController.d.ts +24 -0
  523. package/five/webxr/xrManager.d.ts +84 -0
  524. package/five/work/_ALLOW_HOST.d.ts +2 -0
  525. package/five/work/index.d.ts +6 -0
  526. package/five/work/keychain.d.ts +5 -0
  527. package/five/work/looseWorkType.d.ts +121 -0
  528. package/five/work/verify.d.ts +7 -0
  529. package/five/work/work.d.ts +236 -0
  530. package/five/work/workFetcher.d.ts +4 -0
  531. package/five/work/workJson.d.ts +3 -0
  532. package/five/work/workJsonType.d.ts +73 -0
  533. package/five/work/workObserverUtils.d.ts +36 -0
  534. package/five/work/workParser.d.ts +6 -0
  535. package/five/work/workResolvedObserver.d.ts +12 -0
  536. package/five/work/workVerify.d.ts +2 -0
  537. package/five/work/works.d.ts +10 -0
  538. package/gltf-loader/gltf-object.d.ts +17 -0
  539. package/gltf-loader/index.d.ts +60 -160
  540. package/gltf-loader/index.js +9 -9
  541. package/gltf-loader/index.mjs +1351 -1451
  542. package/gltf-loader/thirdparty/DDSLoader.d.ts +23 -0
  543. package/gltf-loader/thirdparty/DRACOLoader.d.ts +18 -0
  544. package/gltf-loader/thirdparty/GLTFLoader.d.ts +59 -0
  545. package/line/circle_png.d.ts +1 -0
  546. package/line/index.d.ts +19 -69
  547. package/line/index.js +4 -4
  548. package/line/index.mjs +334 -513
  549. package/line/utils/Line2.d.ts +7 -0
  550. package/line/utils/LineGeometry.d.ts +10 -0
  551. package/line/utils/LineMaterial.d.ts +20 -0
  552. package/line/utils/LineSegments2.d.ts +11 -0
  553. package/line/utils/LineSegmentsGeometry.d.ts +15 -0
  554. package/llms.txt +43 -31
  555. package/package.json +11 -2
  556. package/plugins/BackgroundPlugin/Controller.d.ts +20 -0
  557. package/plugins/BackgroundPlugin/index.d.ts +5 -0
  558. package/plugins/BackgroundPlugin/typings.d.ts +44 -0
  559. package/plugins/BasePlugin/index.d.ts +119 -0
  560. package/plugins/DynamicPathLinePlugin/Controller.d.ts +167 -0
  561. package/plugins/DynamicPathLinePlugin/index.d.ts +5 -0
  562. package/plugins/DynamicPathLinePlugin/line2/Line2.d.ts +7 -0
  563. package/plugins/DynamicPathLinePlugin/line2/LineGeometry.d.ts +10 -0
  564. package/plugins/DynamicPathLinePlugin/line2/LineMaterial.d.ts +17 -0
  565. package/plugins/DynamicPathLinePlugin/line2/LineSegments2.d.ts +11 -0
  566. package/plugins/DynamicPathLinePlugin/line2/LineSegmentsGeometry.d.ts +15 -0
  567. package/plugins/DynamicPathLinePlugin/typing.d.ts +129 -0
  568. package/plugins/DynamicPathLinePlugin/typings.d.ts +72 -0
  569. package/plugins/ItemMaskPlugin/Controller.d.ts +48 -0
  570. package/plugins/ItemMaskPlugin/index.d.ts +5 -0
  571. package/plugins/ItemMaskPlugin/typing.d.ts +58 -0
  572. package/plugins/OrientationPlugin/Controller.d.ts +82 -0
  573. package/plugins/OrientationPlugin/RoundedBoxGeometry.d.ts +11 -0
  574. package/plugins/OrientationPlugin/index.d.ts +6 -0
  575. package/plugins/OrientationPlugin/typing.d.ts +25 -0
  576. package/plugins/PanoAnimePlugin/Controller.d.ts +46 -0
  577. package/plugins/PanoAnimePlugin/index.d.ts +5 -0
  578. package/plugins/PanoAnimePlugin/typing.d.ts +37 -0
  579. package/plugins/PluginTemplate/Controller.d.ts +27 -0
  580. package/plugins/PluginTemplate/index.d.ts +5 -0
  581. package/plugins/PluginTemplate/typing.d.ts +21 -0
  582. package/plugins/TrajectoryPlugin/Controller.d.ts +85 -0
  583. package/plugins/TrajectoryPlugin/index.d.ts +6 -0
  584. package/plugins/TrajectoryPlugin/typing.d.ts +25 -0
  585. package/plugins/index.d.ts +9 -1102
  586. package/plugins/index.js +17 -21
  587. package/plugins/index.mjs +3342 -4245
  588. package/plugins/thirdParty/CSS3DRenderer.d.ts +32 -0
  589. package/plugins/thirdParty/OrbitControls.d.ts +78 -0
  590. package/plugins/utils/absoluteUrl.d.ts +5 -0
  591. package/plugins/utils/clamp.d.ts +2 -0
  592. package/plugins/utils/loadImage.d.ts +1 -0
  593. package/plugins/utils/motion.d.ts +38 -0
  594. package/plugins/utils/now.d.ts +6 -0
  595. package/plugins/utils/uuid.d.ts +5 -0
  596. package/react/canvas.d.ts +19 -0
  597. package/react/context.d.ts +11 -0
  598. package/react/createProvider.d.ts +95 -0
  599. package/react/createStore.d.ts +144 -0
  600. package/react/hooks/unsafe__useFiveInstance.d.ts +9 -0
  601. package/react/hooks/useFiveAction.d.ts +147 -0
  602. package/react/hooks/useFiveCameraDirection.d.ts +7 -0
  603. package/react/hooks/useFiveCameraRaycaster.d.ts +7 -0
  604. package/react/hooks/useFiveCurrentObserver.d.ts +11 -0
  605. package/react/hooks/useFiveCurrentState.d.ts +15 -0
  606. package/react/hooks/useFiveEventCallback.d.ts +12 -0
  607. package/react/hooks/useFiveFloor.d.ts +15 -0
  608. package/react/hooks/useFiveHelper.d.ts +14 -0
  609. package/react/hooks/useFiveModelBounding.d.ts +5 -0
  610. package/react/hooks/useFiveModelEffect.d.ts +14 -0
  611. package/react/hooks/useFiveModelIntersectRaycaster.d.ts +22 -0
  612. package/react/hooks/useFiveModelReadyState.d.ts +8 -0
  613. package/react/hooks/useFiveProject2d.d.ts +20 -0
  614. package/react/hooks/useFiveSceneEffect.d.ts +21 -0
  615. package/react/hooks/useFiveState.d.ts +6 -0
  616. package/react/hooks/useFiveWork.d.ts +29 -0
  617. package/react/index.d.ts +24 -830
  618. package/react/index.js +3 -3
  619. package/react/index.mjs +572 -783
  620. package/react/rendererPool.d.ts +7 -0
  621. package/react/withFive.d.ts +213 -0
  622. package/shader-lib/EvenessPlane/index.d.ts +10 -0
  623. package/shader-lib/PointCloudExpand/index.d.ts +59 -0
  624. package/shader-lib/PolygonCuter/index.d.ts +52 -0
  625. package/shader-lib/PolygonCuter/worker.d.ts +14 -0
  626. package/shader-lib/ShineModel/index.d.ts +7 -0
  627. package/shader-lib/SweepModel/index.d.ts +7 -0
  628. package/shader-lib/index.d.ts +5 -86
  629. package/shader-lib/index.js +13 -14
  630. package/shader-lib/index.mjs +424 -824
  631. package/sticker/geometry.d.ts +3 -0
  632. package/sticker/index.d.ts +68 -71
  633. package/sticker/index.js +3 -3
  634. package/sticker/index.mjs +102 -142
  635. package/umd/five-gltf-loader.js +9 -9
  636. package/umd/five-line.js +4 -4
  637. package/umd/five-plugins.js +17 -21
  638. package/umd/five-react.js +3 -3
  639. package/umd/five-shader-lib.js +13 -14
  640. package/umd/five-sticker.js +3 -3
  641. package/umd/five-vfx.js +21 -21
  642. package/umd/five-vue.js +3 -3
  643. package/umd/five.js +188 -336
  644. package/vfx/airflow/airflow.d.ts +18 -0
  645. package/vfx/airflow/fragment-shader.d.ts +2 -0
  646. package/vfx/airflow/vertex-shader.d.ts +2 -0
  647. package/vfx/common/scale-shader.d.ts +2 -0
  648. package/vfx/common/simplex-noise-shader.d.ts +2 -0
  649. package/vfx/frame/fragment-shader.d.ts +2 -0
  650. package/vfx/frame/frame.d.ts +22 -0
  651. package/vfx/frame/vertex-shader.d.ts +2 -0
  652. package/vfx/index.d.ts +7 -363
  653. package/vfx/index.js +21 -21
  654. package/vfx/index.mjs +454 -910
  655. package/vfx/particle/fragment-shader.d.ts +2 -0
  656. package/vfx/particle/instance.d.ts +36 -0
  657. package/vfx/particle/particle.d.ts +205 -0
  658. package/vfx/particle/utils.d.ts +11 -0
  659. package/vfx/particle/vertex-shader.d.ts +2 -0
  660. package/vfx/particle-gpu/fragment-shader.d.ts +2 -0
  661. package/vfx/particle-gpu/instance.d.ts +36 -0
  662. package/vfx/particle-gpu/particle.d.ts +95 -0
  663. package/vfx/particle-gpu/utils.d.ts +11 -0
  664. package/vfx/particle-gpu/vertex-shader.d.ts +2 -0
  665. package/vfx/spotLight/fragment-shader.d.ts +2 -0
  666. package/vfx/spotLight/spotLight.d.ts +15 -0
  667. package/vfx/spotLight/vertex-shader.d.ts +2 -0
  668. package/vue/context.d.ts +7 -0
  669. package/vue/hooks/FiveCanvas.d.ts +36 -0
  670. package/vue/hooks/FiveProvider.d.ts +35 -0
  671. package/vue/hooks/unsafe__useFiveInject.d.ts +9 -0
  672. package/vue/hooks/useFiveAction.d.ts +178 -0
  673. package/vue/hooks/useFiveCameraDirection.d.ts +8 -0
  674. package/vue/hooks/useFiveCameraRaycaster.d.ts +8 -0
  675. package/vue/hooks/useFiveCurrentObserver.d.ts +12 -0
  676. package/vue/hooks/useFiveCurrentState.d.ts +16 -0
  677. package/vue/hooks/useFiveEventCallback.d.ts +11 -0
  678. package/vue/hooks/useFiveFloor.d.ts +16 -0
  679. package/vue/hooks/useFiveHelper.d.ts +15 -0
  680. package/vue/hooks/useFiveModel.d.ts +7 -0
  681. package/vue/hooks/useFiveModelBounding.d.ts +7 -0
  682. package/vue/hooks/useFiveModelIntersectRaycaster.d.ts +23 -0
  683. package/vue/hooks/useFiveModelReadyState.d.ts +9 -0
  684. package/vue/hooks/useFiveProject2d.d.ts +26 -0
  685. package/vue/hooks/useFiveScene.d.ts +6 -0
  686. package/vue/hooks/useFiveState.d.ts +16 -0
  687. package/vue/hooks/useFiveWork.d.ts +30 -0
  688. package/vue/index.d.ts +23 -467
  689. package/vue/index.js +3 -3
  690. package/vue/index.mjs +309 -301
  691. package/vue/rendererPool.d.ts +10 -0
  692. package/work-downloader/components/model-3d-tile.d.ts +2 -0
  693. package/work-downloader/components/model.d.ts +3 -0
  694. package/work-downloader/components/observer.d.ts +7 -0
  695. package/work-downloader/download.d.ts +16 -0
  696. package/work-downloader/index.d.ts +2 -33
  697. package/work-downloader/index.js +3 -3
  698. package/work-downloader/index.mjs +317 -556
  699. package/work-downloader/type.d.ts +28 -0
  700. package/work-downloader/utils/download-to-file.d.ts +1 -0
  701. package/work-downloader/utils/image-processing.d.ts +7 -0
  702. package/work-downloader/utils/join-url.d.ts +2 -0
  703. package/work-downloader/utils/log.d.ts +1 -0
  704. package/work-downloader/utils/relative-url.d.ts +1 -0
  705. package/docs/documents/five.FivePlugin.plugin.html +0 -60
  706. package/docs/documents/plugin.html +0 -60
  707. package/docs/media/five.ts +0 -2881
  708. package/docs/media/pass.ts +0 -64
  709. package/guides/ai-doc-guidelines.md +0 -72
  710. package/guides/features/3dtile.md +0 -264
  711. package/guides/features/parameter.md +0 -178
  712. package/guides/plugin.md +0 -206
  713. /package/{guides → ai_guides}/release_notes/6.6.md +0 -0
  714. /package/{guides → ai_guides}/release_notes/6.7.md +0 -0
  715. /package/{guides → ai_guides}/support.md +0 -0
@@ -0,0 +1,153 @@
1
+ # Parameter (配置系统)
2
+
3
+ - **Summary**: Five 用于控制三维模型渲染表现的核心配置系统,采用树形继承设计。
4
+ - **Schema**: 是所有配置项的容器,通过继承机制管理 Material 和 3DTile 等子配置。
5
+ - **Concepts**: Hierarchy (树形继承), Override (覆盖), Resolution (解析)。
6
+ - **Examples**: 全局配置、局部覆盖、参数重置。
7
+
8
+ ## Schema
9
+
10
+ > **Definition**: [Parameter](../../five/model/parameter.d.ts)
11
+
12
+ `Parameter` 类是配置的入口。它并不直接包含所有配置字段的定义,而是将它们组织在不同的接口中。
13
+
14
+ ### Parameter Categories (参数分类)
15
+
16
+ 为了便于理解,我们将参数分为两大类:
17
+
18
+ | Category | Description | Link |
19
+ | :--- | :--- | :--- |
20
+ | **Material & Appearance** | 控制“长什么样”。包括材质、颜色、楼层显示、阴影、点云样式等。 | [Material Params](./material.md) |
21
+ | **3DTile & Performance** | 控制“怎么加载”。包括 LOD (细节层级)、显存配额、网络并发、SSE 阈值等。 | [3DTile Params](./3dtile.md) |
22
+
23
+ ### Parameter Class API
24
+
25
+ #### 1. Getting Values (获取值)
26
+
27
+ 获取参数值**不使用** `get()` 方法,而是直接访问属性。
28
+
29
+ * **Direct Access (直接访问)**: 获取当前 `Parameter` 实例上设置的值。如果未设置,返回 `undefined`。
30
+ * **Resolve Value (计算最终值)**: 获取经过树形继承计算后的最终生效值。
31
+ * 如果不传参,则基于默认值计算 (Default -> Current)。
32
+ * 如果传入上游 Parameter,则基于默认值 + 上游 Parameter 计算 (Default -> Upstream -> Current)。
33
+
34
+ ```typescript
35
+ // 方式 A: 直接访问 (获取当前层级配置)
36
+ const currentVal = parameter.maxMemoryUsage;
37
+
38
+ // 方式 B: 计算最终值 (包含继承逻辑)
39
+
40
+ // 1. 基础用法:仅继承默认值
41
+ const finalVal = parameter.resolveValue().maxMemoryUsage;
42
+
43
+ // 2. 进阶用法:指定继承源 (例如 ViewLayer 继承自 Model)
44
+ const inheritedVal = viewLayerParam.resolveValue(parentParameter).maxMemoryUsage;
45
+ ```
46
+
47
+ #### 2. Methods (方法)
48
+
49
+ `Parameter` 实例提供了以下核心方法来管理配置:
50
+
51
+ ```typescript
52
+ class Parameter {
53
+ /**
54
+ * 设置配置项
55
+ * @param key 参数名 (如 'opacity', 'maxMemoryUsage')
56
+ * @param value 参数值
57
+ */
58
+ set(key: string, value: any): void;
59
+
60
+ /**
61
+ * 重置配置项(移除当前层级的设置,恢复继承上游的值)
62
+ * @param keys 要重置的参数名列表
63
+ */
64
+ reset(...keys: string[]): void;
65
+
66
+ /**
67
+ * 获取经过继承计算后的最终值
68
+ * @param upstream 上游 Parameter 对象列表(通常由引擎自动传入)
69
+ */
70
+ resolveValue(...upstream: Parameter[]): ResolvedParameterValue;
71
+ }
72
+ ```
73
+
74
+ ## Concepts
75
+
76
+ ### 树形继承关系 (Hierarchy)
77
+
78
+ Parameter 遵循 **“就近原则” (Override)** 的继承逻辑。
79
+
80
+ 1. **ViewLayer Parameter**: 最具体,优先级最高。通常对应一个具体的 `.gltf` 文件或数据块。
81
+ 2. **Model Parameter**: 覆盖该 Model 下的所有 ViewLayer。一个 Model 可能包含多个 ViewLayer (如 Mesh 层和 PointCloud 层)。
82
+ 3. **ModelScene Parameter**: 全局默认值,优先级最低。影响整个场景。
83
+
84
+ ```mermaid
85
+ graph TD
86
+ Scene[ModelScene.parameter] -->|Inherit| Model[Model.parameter]
87
+ Model -->|Inherit| Layer1[ViewLayer.parameter]
88
+ Model -->|Inherit| Layer2[ViewLayer.parameter]
89
+ ```
90
+
91
+ > **Global Configuration (全局设置)**:
92
+ > 若需修改所有模型的默认表现(如统一调暗亮度、统一设置显存上限),**请直接配置 `five.modelScene.parameter`**。它是继承链的根节点,其设置会向下传递给所有 Model 和 ViewLayer。
93
+ >
94
+ > **Why modelScene? (生命周期优势)**:
95
+ > `Model` 实例是跟随 Work 加载生命周期的(需 `five.load(work)` 后才能访问,且切换 Work 会销毁重建)。
96
+ > 相比之下,`ModelScene` 是常驻对象。因此,**使用 `modelScene` 进行配置更安全且持久**,既无需等待 Work 加载完成,也无需担心切换 Work 导致配置丢失。
97
+
98
+ ## Examples
99
+
100
+ ### 1. 基础配置 (Basic Usage)
101
+
102
+ ```typescript
103
+ // 1. 设置全局最大显存 (影响所有模型)
104
+ five.modelScene.parameter.set('maxMemoryUsage', 512);
105
+
106
+ // 2. 设置全局半透明
107
+ five.modelScene.parameter.set('opacity', 0.5);
108
+ ```
109
+
110
+ ### 2. 局部覆盖 (Override)
111
+
112
+ ```typescript
113
+ // 场景中大部分模型不产生阴影
114
+ five.modelScene.parameter.set('castShadow', false);
115
+
116
+ // 但让特定的“主角”模型产生阴影
117
+ const heroModel = five.models[0];
118
+ heroModel.parameter.set('castShadow', true);
119
+ ```
120
+
121
+ ### 3. 重置配置 (Reset)
122
+
123
+ ```typescript
124
+ // 假设之前设置了 opacity
125
+ five.modelScene.parameter.set('opacity', 0.5);
126
+
127
+ // ... 一段时间后 ...
128
+
129
+ // 移除该设置,恢复默认值 (或继承值)
130
+ five.modelScene.parameter.reset('opacity');
131
+ ```
132
+
133
+ ### 4. 获取配置 (Get Value)
134
+
135
+ ```typescript
136
+ // 获取当前对象上的配置(如果未设置,则为 undefined)
137
+ const ownOpacity = five.modelScene.parameter.opacity;
138
+
139
+ // 获取最终生效的配置(计算继承链后的值)
140
+ const finalOpacity = five.modelScene.parameter.resolveValue().opacity;
141
+ ```
142
+
143
+ ## Related
144
+
145
+ * [Material Parameters](./material.md): 材质与外观参数详情。
146
+ * [3DTile Parameters](./3dtile.md): 性能与加载参数详情。
147
+ * [Model](./model.md): Parameter 的宿主。
148
+
149
+ ---
150
+
151
+ ```yaml
152
+ tags: [parameter, config, hierarchy, api]
153
+ ```
@@ -0,0 +1,210 @@
1
+ # 插件系统 (Plugin System)
2
+
3
+ - **Summary**: Five 插件系统基于 `BasePlugin` 命名空间构建,提供了一套标准化的状态管理、生命周期控制和事件通信机制。
4
+ - **Schema**: 核心类型定义位于 `BasePlugin` 命名空间。
5
+ - **Concepts**: BasePlugin, State, Lifecycle, Controller.
6
+ - **Configuration**: 插件特定的参数配置。
7
+ - **Examples**: 标准插件开发示例。
8
+
9
+ ## Schema
10
+
11
+ > **Definition**: [BasePlugin](../../plugins/BasePlugin/index.d.ts)
12
+
13
+ `BasePlugin` 是一个命名空间,包含 `Controller` (抽象基类), `State` (状态接口), `EventMap` (事件映射) 等核心定义。
14
+
15
+ ```typescript
16
+ export namespace BasePlugin {
17
+ export interface State {
18
+ enabled: boolean
19
+ visible?: boolean
20
+ config?: unknown
21
+ }
22
+ export abstract class Controller<PluginState, PluginEventMap, PluginServerData, PluginData> {
23
+ public five: Five
24
+ public abstract state: PluginState
25
+ public hooks: Subscribe<PluginEventMap>
26
+ // ...
27
+ }
28
+ }
29
+ ```
30
+
31
+ ## Concepts
32
+
33
+ ### Directory Structure (目录结构)
34
+
35
+ 一个标准的插件通常包含以下文件:
36
+
37
+ ```text
38
+ PluginName/
39
+ ├── index.ts # 插件入口,导出工厂函数和类型
40
+ ├── Controller.ts # 插件控制器,核心逻辑实现
41
+ └── typing.ts # 类型定义
42
+ ```
43
+
44
+ ### BasePlugin
45
+
46
+ 所有插件推荐继承 `BasePlugin.Controller`。它定义了规范的泛型接口:
47
+
48
+ - `PluginState`: 插件状态类型,继承自 `BasePlugin.State`。
49
+ - `PluginEventMap`: 插件事件类型,继承自 `BasePlugin.EventMap`。
50
+ - `PluginServerData`: 服务端原始数据类型。
51
+ - `PluginData`: 解析后的插件数据类型。
52
+
53
+ ### State (状态)
54
+
55
+ 插件的状态驱动其行为。`BasePlugin.State` 定义了最基本的状态:
56
+
57
+ - `enabled`: 是否启用。
58
+ - `visible`: UI 是否可见。
59
+ - `config`: 配置项。
60
+
61
+ ### Lifecycle (生命周期)
62
+
63
+ 插件的主要生命周期方法:
64
+
65
+ - **constructor**: 初始化配置和初始状态。
66
+ - **load**: 加载和解析数据。
67
+ - **enable**: 启用插件,注册事件监听,添加副作用。
68
+ - **disable**: 禁用插件,移除事件监听,清理副作用。
69
+ - **dispose**: 销毁插件,彻底清理资源。
70
+
71
+ ## Configuration
72
+
73
+ ### BasePlugin Configuration
74
+
75
+ `BasePlugin` 控制器构造函数接受可选的配置对象:
76
+
77
+ | Parameter | Type | Default | Description |
78
+ | :--- | :--- | :--- | :--- |
79
+ | `staticPrefix` | `string` | `'//vr-image-4.realsee-cdn.cn'` | 静态资源前缀。 |
80
+ | `i18n` | `(key: string) => string` | `undefined` | 国际化转换函数。 |
81
+
82
+ ## Examples
83
+
84
+ ### Plugin Development Walkthrough (插件开发指南)
85
+
86
+ 以创建一个 `MyPlugin` 为例。
87
+
88
+ #### 1. 定义类型 (typing.ts)
89
+
90
+ 定义插件所需的参数、状态、数据和事件类型。
91
+
92
+ ```typescript
93
+ import { BasePlugin } from '../BasePlugin'
94
+
95
+ // 1. 定义参数
96
+ export interface Params extends BasePlugin.Config {
97
+ initialState?: Partial<State>
98
+ config?: Config
99
+ }
100
+
101
+ // 2. 定义配置
102
+ export interface Config {
103
+ color?: string
104
+ }
105
+
106
+ // 3. 定义状态 (继承 BasePlugin.State)
107
+ export interface State extends BasePlugin.State {
108
+ activeId?: string
109
+ }
110
+
111
+ // 4. 定义数据类型
112
+ export interface ServerData { /* 服务端数据结构 */ }
113
+ export interface PluginData { /* 解析后的数据结构 */ }
114
+
115
+ // 5. 定义事件 (继承 BasePlugin.EventMap)
116
+ export interface EventMap extends BasePlugin.EventMap<State, PluginData> {
117
+ click: (id: string) => void
118
+ }
119
+ ```
120
+
121
+ #### 2. 实现控制器 (Controller.ts)
122
+
123
+ 继承 `BasePlugin.Controller` 并实现核心逻辑。
124
+
125
+ ```typescript
126
+ import { Five } from '@realsee/five'
127
+ import { BasePlugin } from '../BasePlugin'
128
+ import * as MyPluginType from './typing'
129
+
130
+ export class Controller extends BasePlugin.Controller<
131
+ MyPluginType.State,
132
+ MyPluginType.EventMap,
133
+ MyPluginType.ServerData,
134
+ MyPluginType.PluginData
135
+ > {
136
+ public state: MyPluginType.State
137
+
138
+ constructor(five: Five, params?: MyPluginType.Params) {
139
+ super(five)
140
+ this.state = {
141
+ enabled: true,
142
+ visible: true,
143
+ ...params?.initialState
144
+ }
145
+ if (this.state.enabled) {
146
+ this._enable()
147
+ }
148
+ }
149
+
150
+ public async load(serverData: MyPluginType.ServerData) {
151
+ // 解析数据
152
+ }
153
+
154
+ public enable() {
155
+ if (this.state.enabled) return
156
+ this.state.enabled = true
157
+ this._enable()
158
+ this.hooks.emit('stateChange', { state: this.state, userAction: true })
159
+ }
160
+
161
+ public disable() {
162
+ if (!this.state.enabled) return
163
+ this.state.enabled = false
164
+ this._disable()
165
+ this.hooks.emit('stateChange', { state: this.state, userAction: true })
166
+ }
167
+
168
+ public dispose = () => {
169
+ this.disable()
170
+ this.hooks.emit('dispose')
171
+ }
172
+
173
+ private _enable() {
174
+ // five.scene.add(...)
175
+ // five.on('tap', this.onTap)
176
+ }
177
+
178
+ private _disable() {
179
+ // five.scene.remove(...)
180
+ // five.off('tap', this.onTap)
181
+ }
182
+ }
183
+ ```
184
+
185
+ #### 3. 导出插件 (index.ts)
186
+
187
+ 提供一个工厂函数。
188
+
189
+ ```typescript
190
+ import { Five } from '@realsee/five'
191
+ import { Controller } from './Controller'
192
+ import * as MyPluginType from './typing'
193
+
194
+ export const MyPlugin = (five: Five, params?: MyPluginType.Params) =>
195
+ new Controller(five, params)
196
+
197
+ export type { MyPluginType, Controller as MyPluginController }
198
+ ```
199
+
200
+ ## Common Pitfalls (最佳实践)
201
+
202
+ 1. **状态驱动**: 始终通过修改 `state` 来驱动插件行为,而不是直接操作 DOM 或 3D 对象。
203
+ 2. **清理资源**: 在 `disable` 和 `dispose` 中务必清理所有事件监听和副作用,防止内存泄漏。
204
+ 3. **类型安全**: 充分利用 TypeScript 泛型,确保事件和状态的类型安全。
205
+
206
+ ---
207
+
208
+ ```yaml
209
+ tags: [plugin, baseplugin, development, guide]
210
+ ```
@@ -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,8 +246,11 @@ 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
 
@@ -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
 
@@ -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
  /**
@@ -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 {
@@ -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
@@ -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]
187
+ ```