@realsee/five 6.8.0-alpha.9 → 6.8.1

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 (490) hide show
  1. package/AGENTS_READ_ME.md +6 -1
  2. package/AI_CONTEXT.md +6 -1
  3. package/README.md +10 -3
  4. package/ai_guides/README.md +29 -0
  5. package/ai_guides/api.md +92 -21
  6. package/ai_guides/features/3dtile.md +1 -1
  7. package/ai_guides/features/camera-animation.md +18 -1
  8. package/ai_guides/features/clipper.md +2 -2
  9. package/ai_guides/features/coordinate-system.md +20 -2
  10. package/ai_guides/features/event.md +106 -10
  11. package/ai_guides/features/five.md +17 -17
  12. package/ai_guides/features/flowing-light-2d-pass.md +75 -17
  13. package/ai_guides/features/flowing-light-3d-pass.md +76 -17
  14. package/ai_guides/features/gaussian-blur-pass.md +1 -1
  15. package/ai_guides/features/gesture.md +2 -1
  16. package/ai_guides/features/get-screen-pixels.md +2 -2
  17. package/ai_guides/features/image-options.md +2 -2
  18. package/ai_guides/features/load-external-model.md +6 -2
  19. package/ai_guides/features/load-progress.md +1 -1
  20. package/ai_guides/features/material.md +20 -12
  21. package/ai_guides/features/mode.md +1 -1
  22. package/ai_guides/features/model.md +1 -1
  23. package/ai_guides/features/move-pano-effect.md +1 -1
  24. package/ai_guides/features/multi-work.md +1 -1
  25. package/ai_guides/features/pano-filter.md +149 -0
  26. package/ai_guides/features/pano-tile.md +1 -1
  27. package/ai_guides/features/pano-uv.md +1 -1
  28. package/ai_guides/features/parameter.md +26 -2
  29. package/ai_guides/features/plugin.md +1 -1
  30. package/ai_guides/features/postprocessing.md +1 -1
  31. package/ai_guides/features/raycast.md +5 -2
  32. package/ai_guides/features/request-proxy.md +1 -1
  33. package/ai_guides/features/screen-project.md +2 -1
  34. package/ai_guides/features/state.md +23 -3
  35. package/ai_guides/features/view-layer.md +1 -1
  36. package/ai_guides/features/work.md +1 -1
  37. package/ai_guides/glossary.md +4 -4
  38. package/ai_guides/release_notes/6.8.md +190 -58
  39. package/ai_guides/template.md +11 -0
  40. package/docs/00_FOR_AI_AGENTS.md +3 -2
  41. package/docs/README.md +3 -2
  42. package/docs/assets/hierarchy.js +1 -1
  43. package/docs/assets/main.js +1 -1
  44. package/docs/assets/navigation.js +1 -1
  45. package/docs/assets/search.js +1 -1
  46. package/docs/classes/five.AdaptiveLuminancePass.html +7 -6
  47. package/docs/classes/five.AnimationFrameLoop.html +1 -1
  48. package/docs/classes/five.BoundingMesh.html +2 -2
  49. package/docs/classes/five.Camera.html +3 -3
  50. package/docs/classes/five.EyeDomeLightingPass.html +1 -1
  51. package/docs/classes/five.Five.html +77 -76
  52. package/docs/classes/five.FivePass.html +1 -1
  53. package/docs/classes/five.Histogram.html +19 -0
  54. package/docs/classes/five.InternalWebGLRenderer.html +1 -1
  55. package/docs/classes/five.Model.html +8 -8
  56. package/docs/classes/five.ModelScene.html +1 -1
  57. package/docs/classes/five.NetworkSubscribe.html +5 -5
  58. package/docs/classes/five.PBMContainer.html +1 -1
  59. package/docs/classes/five.PBMCustomShader.html +42 -3
  60. package/docs/classes/five.PBMGSObject.html +5 -3
  61. package/docs/classes/five.PBMGroup.html +1 -1
  62. package/docs/classes/five.PBMMesh.html +1 -1
  63. package/docs/classes/five.PBMMeshMaterial.html +7 -7
  64. package/docs/classes/five.PBMPanoFilter.html +61 -0
  65. package/docs/classes/five.PBMPointCloud.html +1 -1
  66. package/docs/classes/five.PBMPointCloudMaterial.html +5 -6
  67. package/docs/classes/five.PBMSkinnedMesh.html +1 -1
  68. package/docs/classes/five.PBMUpdateable.html +41 -0
  69. package/docs/classes/five.PanoCircleMesh.html +1 -1
  70. package/docs/classes/five.PanoCircleMeshCustom.html +1 -1
  71. package/docs/classes/five.PanoCircleMeshSolid.html +1 -1
  72. package/docs/classes/five.Parameter.html +57 -55
  73. package/docs/classes/five.Scene.html +1 -1
  74. package/docs/classes/five.Subscribe.html +5 -5
  75. package/docs/classes/five.Tile.html +1 -1
  76. package/docs/classes/five.Tile3D.html +24 -24
  77. package/docs/classes/five.TileNode.html +1 -1
  78. package/docs/classes/five.Tileset.html +3 -2
  79. package/docs/classes/five.TrajectoryNode.html +1 -1
  80. package/docs/classes/five.Work.html +16 -16
  81. package/docs/classes/five.WorkResolvedObserver.html +22 -22
  82. package/docs/classes/gltf-loader.DDSLoader.html +1 -1
  83. package/docs/classes/gltf-loader.DRACOLoader.html +1 -1
  84. package/docs/classes/gltf-loader.GLTFLoader.html +2 -2
  85. package/docs/classes/gltf-loader.GLTFObject.html +1 -1
  86. package/docs/classes/gltf-loader.GLTFParser.html +1 -1
  87. package/docs/classes/gltf-loader.THREEGLTFLoader.html +2 -2
  88. package/docs/classes/line.Line.html +1 -1
  89. package/docs/classes/line.LineGeometry.html +1 -1
  90. package/docs/classes/line.LineMaterial.html +1 -1
  91. package/docs/classes/line.LineSegmentsGeometry.html +1 -1
  92. package/docs/classes/line.THREE_Line2.html +1 -1
  93. package/docs/classes/line.THREE_LineSegments2.html +1 -1
  94. package/docs/classes/plugins.BasePlugin.Controller.html +1 -1
  95. package/docs/classes/plugins.CSS2DObject.html +10 -0
  96. package/docs/classes/plugins.CSS2DRenderer.html +7 -0
  97. package/docs/classes/plugins.CSS3DObject.html +9 -0
  98. package/docs/classes/plugins.CSS3DRenderer.html +4 -2
  99. package/docs/classes/plugins.CSS3DSprite.html +11 -0
  100. package/docs/classes/plugins.Object3DHelperController.html +43 -0
  101. package/docs/classes/plugins.RoundedBoxGeometry.html +1 -1
  102. package/docs/classes/sticker.Sticker.html +1 -1
  103. package/docs/classes/vfx.Airflow.html +1 -1
  104. package/docs/classes/vfx.Flame.html +1 -1
  105. package/docs/classes/vfx.Particle.html +6 -6
  106. package/docs/classes/vfx.ParticleGPU.html +3 -3
  107. package/docs/classes/vfx.SpotLight.html +1 -1
  108. package/docs/documents/README.html +122 -1
  109. package/docs/documents/api.html +163 -35
  110. package/docs/documents/features_3dtile.html +1 -1
  111. package/docs/documents/features_camera-animation.html +18 -2
  112. package/docs/documents/features_clipper.html +2 -2
  113. package/docs/documents/features_coordinate-system.html +52 -3
  114. package/docs/documents/features_event.html +44 -8
  115. package/docs/documents/features_five.html +17 -17
  116. package/docs/documents/features_flowing-light-2d-pass.html +41 -125
  117. package/docs/documents/features_flowing-light-3d-pass.html +43 -132
  118. package/docs/documents/features_gaussian-blur-pass.html +6 -6
  119. package/docs/documents/features_gesture.html +2 -1
  120. package/docs/documents/features_get-screen-pixels.html +2 -2
  121. package/docs/documents/features_image-options.html +2 -2
  122. package/docs/documents/features_load-external-model.html +6 -2
  123. package/docs/documents/features_load-progress.html +1 -1
  124. package/docs/documents/features_material.html +11 -4
  125. package/docs/documents/features_mode.html +1 -1
  126. package/docs/documents/features_model.html +1 -1
  127. package/docs/documents/features_move-pano-effect.html +1 -1
  128. package/docs/documents/features_multi-work.html +1 -1
  129. package/docs/documents/features_pano-filter.html +123 -0
  130. package/docs/documents/features_pano-tile.html +1 -1
  131. package/docs/documents/features_pano-uv.html +1 -1
  132. package/docs/documents/features_parameter.html +11 -3
  133. package/docs/documents/features_plugin.html +1 -1
  134. package/docs/documents/features_postprocessing.html +1 -1
  135. package/docs/documents/features_raycast.html +5 -2
  136. package/docs/documents/features_request-proxy.html +1 -1
  137. package/docs/documents/features_screen-project.html +2 -1
  138. package/docs/documents/features_state.html +9 -2
  139. package/docs/documents/features_view-layer.html +1 -1
  140. package/docs/documents/features_work.html +1 -1
  141. package/docs/documents/glossary.html +5 -5
  142. package/docs/documents/release_notes_6.8.html +164 -64
  143. package/docs/documents/template.html +9 -0
  144. package/docs/functions/five.createDebugBoundingMesh.html +1 -1
  145. package/docs/functions/five.parseWork.html +1 -1
  146. package/docs/functions/plugins.CSS2DPlugin.html +1 -0
  147. package/docs/functions/plugins.CSS3DPlugin.html +1 -0
  148. package/docs/functions/plugins.GaussianSplattingEntranceAnimationPlugin.html +1 -0
  149. package/docs/functions/plugins.Object3DHelperPlugin.html +1 -0
  150. package/docs/functions/react.getPlugin.html +2 -0
  151. package/docs/functions/react.setPlugin.html +2 -0
  152. package/docs/functions/react.useFiveCurrentObserver.html +2 -2
  153. package/docs/functions/react.useFiveFloor.html +2 -2
  154. package/docs/functions/react.useFivePlugin.html +8 -0
  155. package/docs/functions/react.useFiveProject2d.html +2 -2
  156. package/docs/functions/react.withFive.html +1 -1
  157. package/docs/functions/vue.useFiveCurrentObserver.html +2 -2
  158. package/docs/functions/vue.useFiveFloor.html +2 -2
  159. package/docs/functions/vue.useFiveWorks.html +2 -2
  160. package/docs/hierarchy.html +1 -1
  161. package/docs/index.html +122 -1
  162. package/docs/interfaces/five.AddableObject.html +1 -1
  163. package/docs/interfaces/five.AjaxOptions.html +1 -1
  164. package/docs/interfaces/five.BaseEvent.html +7 -2
  165. package/docs/interfaces/five.BaseExtendableEvent.html +11 -0
  166. package/docs/interfaces/five.EventCallback.html +58 -54
  167. package/docs/interfaces/five.FiveInitArgs.html +2 -2
  168. package/docs/interfaces/five.FloorplanControllerCustomInitArgs.html +9 -9
  169. package/docs/interfaces/five.GestureEvent.html +21 -2
  170. package/docs/interfaces/five.GesturePointer.html +20 -0
  171. package/docs/interfaces/five.ImageOptions.html +1 -1
  172. package/docs/interfaces/five.IntersectEvent.html +10 -2
  173. package/docs/interfaces/five.IntersectMesh.html +1 -1
  174. package/docs/interfaces/five.IntersectMeshInterface.html +1 -1
  175. package/docs/interfaces/five.Intersection.html +1 -1
  176. package/docs/interfaces/five.LooseWorkObserver.html +2 -2
  177. package/docs/interfaces/five.LooseWorkPanorama.html +2 -2
  178. package/docs/interfaces/five.LooseWorkWithExtrinsics.html +6 -6
  179. package/docs/interfaces/five.MapviewControllerCustomInitArgs.html +10 -10
  180. package/docs/interfaces/five.ModeChangeEvent.html +9 -2
  181. package/docs/interfaces/five.ModelControllerCustomInitArgs.html +1 -1
  182. package/docs/interfaces/five.ModelEvent.html +7 -2
  183. package/docs/interfaces/five.ModelSceneEvent.html +7 -2
  184. package/docs/interfaces/five.ModelTileEvent.html +7 -2
  185. package/docs/interfaces/five.MovePanoOptions.html +8 -8
  186. package/docs/interfaces/five.NetworkAbortError.html +1 -1
  187. package/docs/interfaces/five.NetworkFirbiddenError.html +1 -1
  188. package/docs/interfaces/five.NetworkOptions.html +1 -1
  189. package/docs/interfaces/five.NetworkProxyError.html +1 -1
  190. package/docs/interfaces/five.NetworkResourceEvent.html +7 -2
  191. package/docs/interfaces/five.NetworkResponseError.html +1 -1
  192. package/docs/interfaces/five.NetworkTimeoutError.html +1 -1
  193. package/docs/interfaces/five.ObjectEvent.html +7 -2
  194. package/docs/interfaces/five.PBMClipperParameter.html +2 -2
  195. package/docs/interfaces/five.PBMCustomShaderInitArgs.html +2 -2
  196. package/docs/interfaces/five.PBMCustomShaderSlots.html +2 -2
  197. package/docs/interfaces/five.PBMMaterial.html +1 -1
  198. package/docs/interfaces/five.PBMMeshMaterialParameters.html +5 -3
  199. package/docs/interfaces/five.PBMPanoDepth.html +5 -5
  200. package/docs/interfaces/five.PBMPanoFilterValue.html +6 -0
  201. package/docs/interfaces/five.PBMPanoPicture.html +8 -6
  202. package/docs/interfaces/five.PBMPointCloudMaterialParameters.html +2 -3
  203. package/docs/interfaces/five.PBMRefinedScreen.html +2 -2
  204. package/docs/interfaces/five.PanoCircleMeshInterface.html +2 -2
  205. package/docs/interfaces/five.PanoEvent.html +15 -2
  206. package/docs/interfaces/five.PanoPrepareEvent.html +15 -0
  207. package/docs/interfaces/five.PanoTextureEvent.html +11 -2
  208. package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +1 -1
  209. package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +1 -1
  210. package/docs/interfaces/five.ParameterMaterialValue.html +40 -38
  211. package/docs/interfaces/five.ParameterTilesetValue.html +15 -15
  212. package/docs/interfaces/five.ParameterValue.html +54 -52
  213. package/docs/interfaces/five.Pose.html +1 -1
  214. package/docs/interfaces/five.RenderEvent.html +7 -2
  215. package/docs/interfaces/five.ResolvedParameterValue.html +55 -54
  216. package/docs/interfaces/five.RgbaData.html +7 -0
  217. package/docs/interfaces/five.SplatData.html +2 -2
  218. package/docs/interfaces/five.State.html +1 -1
  219. package/docs/interfaces/five.StateEvent.html +9 -2
  220. package/docs/interfaces/five.TextureOptions.html +1 -1
  221. package/docs/interfaces/five.Tile3DOptions.html +2 -2
  222. package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +7 -7
  223. package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +1 -1
  224. package/docs/interfaces/five.ViewLayer.html +24 -24
  225. package/docs/interfaces/five.WorkCubeImage.html +3 -2
  226. package/docs/interfaces/five.WorkImage.html +6 -5
  227. package/docs/interfaces/five.WorkInitial.html +8 -8
  228. package/docs/interfaces/five.WorkModel.html +8 -8
  229. package/docs/interfaces/five.WorkModelLayer.html +6 -6
  230. package/docs/interfaces/five.WorkObserver.html +29 -29
  231. package/docs/interfaces/five.WorkObserverJson.html +2 -2
  232. package/docs/interfaces/five.WorkObserverProto.html +26 -0
  233. package/docs/interfaces/five.WorkPanoramaJson.html +2 -2
  234. package/docs/interfaces/five.WorkTile.html +6 -5
  235. package/docs/interfaces/five.WorkVideo.html +4 -4
  236. package/docs/interfaces/five.WorksEvent.html +7 -2
  237. package/docs/interfaces/five.XRControllerEvent.html +10 -2
  238. package/docs/interfaces/five.XRControllerState.html +8 -0
  239. package/docs/interfaces/five.XRGestureEvent.html +13 -2
  240. package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +1 -1
  241. package/docs/interfaces/five.XRSessionEvent.html +9 -2
  242. package/docs/interfaces/plugins.BackgroundPluginController.html +1 -1
  243. package/docs/interfaces/plugins.BackgroundPluginType.EventMap.html +1 -1
  244. package/docs/interfaces/plugins.BasePlugin.State.html +1 -1
  245. package/docs/interfaces/plugins.CSS2DPluginController.html +49 -0
  246. package/docs/interfaces/plugins.CSS2DPluginType.Config.html +2 -0
  247. package/docs/interfaces/plugins.CSS2DPluginType.CreateCSS2DObjectType.html +8 -0
  248. package/docs/interfaces/plugins.CSS2DPluginType.EventMap.html +10 -0
  249. package/docs/interfaces/plugins.CSS2DPluginType.Params.html +4 -0
  250. package/docs/interfaces/plugins.CSS2DPluginType.State.html +8 -0
  251. package/docs/interfaces/plugins.CSS2DRendererParameters.html +2 -0
  252. package/docs/interfaces/plugins.CSS3DPluginController.html +52 -0
  253. package/docs/interfaces/plugins.CSS3DPluginType.Config.html +2 -0
  254. package/docs/interfaces/plugins.CSS3DPluginType.CreateCSS3DObjectType.html +10 -0
  255. package/docs/interfaces/plugins.CSS3DPluginType.EventMap.html +10 -0
  256. package/docs/interfaces/plugins.CSS3DPluginType.Params.html +4 -0
  257. package/docs/interfaces/plugins.CSS3DPluginType.State.html +8 -0
  258. package/docs/interfaces/plugins.CSS3DRendererParameters.html +2 -0
  259. package/docs/interfaces/plugins.DynamicPathLinePluginController.html +3 -3
  260. package/docs/interfaces/plugins.DynamicPathLinePluginType.EventMap.html +1 -1
  261. package/docs/interfaces/plugins.DynamicPathLinePluginType.State.html +1 -1
  262. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationController.html +44 -0
  263. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.BoundingAABB2D.html +3 -0
  264. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.Config.html +8 -0
  265. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.EventMap.html +10 -0
  266. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.Keyframe.html +3 -0
  267. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.State.html +8 -0
  268. package/docs/interfaces/plugins.ItemMaskController.html +1 -1
  269. package/docs/interfaces/plugins.ItemMaskPluginType.EventMap.html +1 -1
  270. package/docs/interfaces/plugins.ItemMaskPluginType.State.html +2 -2
  271. package/docs/interfaces/plugins.Object3DHelperPluginType.BaseController.html +30 -0
  272. package/docs/interfaces/plugins.Object3DHelperPluginType.BaseHelper.html +22 -0
  273. package/docs/interfaces/plugins.Object3DHelperPluginType.BoundingBoxController.html +30 -0
  274. package/docs/interfaces/plugins.Object3DHelperPluginType.HelperOffset.html +4 -0
  275. package/docs/interfaces/plugins.Object3DHelperPluginType.MoveController.html +36 -0
  276. package/docs/interfaces/plugins.Object3DHelperPluginType.MoveHelperAbstract.html +32 -0
  277. package/docs/interfaces/plugins.Object3DHelperPluginType.Object3DHelper.html +12 -0
  278. package/docs/interfaces/plugins.Object3DHelperPluginType.Object3DHelperPluginState.html +4 -0
  279. package/docs/interfaces/plugins.Object3DHelperPluginType.Object3DHelperState.html +4 -0
  280. package/docs/interfaces/plugins.Object3DHelperPluginType.ObjectHelperControllers.html +4 -0
  281. package/docs/interfaces/plugins.Object3DHelperPluginType.RotateController.html +36 -0
  282. package/docs/interfaces/plugins.Object3DHelperPluginType.RotateHelperAbstract.html +28 -0
  283. package/docs/interfaces/plugins.Object3DHelperPluginType.Scissor.html +5 -0
  284. package/docs/interfaces/plugins.Object3DHelperPluginType.Vector2Position.html +3 -0
  285. package/docs/interfaces/plugins.Object3DHelperPluginType.Vector3Position.html +4 -0
  286. package/docs/interfaces/plugins.OrientationPluginController.html +6 -6
  287. package/docs/interfaces/plugins.OrientationPluginType.EventMap.html +1 -1
  288. package/docs/interfaces/plugins.OrientationPluginType.State.html +1 -1
  289. package/docs/interfaces/plugins.PanoAnimeController.html +1 -1
  290. package/docs/interfaces/plugins.PanoAnimePluginType.EventMap.html +1 -1
  291. package/docs/interfaces/plugins.PanoAnimePluginType.State.html +1 -1
  292. package/docs/interfaces/plugins.PlayingState.html +2 -2
  293. package/docs/interfaces/plugins.PluginTemplateType.EventMap.html +1 -1
  294. package/docs/interfaces/plugins.PluginTemplateType.State.html +1 -1
  295. package/docs/interfaces/plugins.TrajectoryController.html +8 -8
  296. package/docs/interfaces/react.FiveAppProps.html +11 -0
  297. package/docs/interfaces/react.FiveInjectionTypes.html +21 -21
  298. package/docs/interfaces/sticker.IntersectionLike.html +2 -2
  299. package/docs/interfaces/vfx.ParticleArgs.html +4 -4
  300. package/docs/interfaces/vue.FiveActionVueCallbacks.html +3 -3
  301. package/docs/modules/five.html +1 -1
  302. package/docs/modules/plugins.CSS2DPluginType.html +1 -0
  303. package/docs/modules/plugins.CSS3DPluginType.html +1 -0
  304. package/docs/modules/plugins.GaussianSplattingEntranceAnimationPluginType.html +1 -0
  305. package/docs/modules/plugins.Object3DHelperPluginType.html +1 -0
  306. package/docs/modules/plugins.html +1 -1
  307. package/docs/modules/react.html +1 -1
  308. package/docs/modules.html +1 -1
  309. package/docs/types/five.ControllerEventTypes.html +30 -26
  310. package/docs/types/five.EasingFunction.html +1 -0
  311. package/docs/types/five.EventTypes.html +26 -26
  312. package/docs/types/five.LegacyEventType.html +7 -7
  313. package/docs/types/five.PBMAlphaMode.html +1 -1
  314. package/docs/types/five.PBMColorStyle.html +1 -1
  315. package/docs/types/five.PBMFloorStyle.html +1 -1
  316. package/docs/types/five.PBMMeshShaderType.html +1 -1
  317. package/docs/types/five.PBMPointBack.html +1 -1
  318. package/docs/types/five.PBMPointCloudShaderType.html +1 -1
  319. package/docs/types/five.PBMPointShape.html +1 -1
  320. package/docs/types/five.PBMPointSize.html +1 -1
  321. package/docs/types/five.PBMTransition.html +1 -1
  322. package/docs/types/five.ParseOptions.html +6 -6
  323. package/docs/types/five.Works.html +1 -1
  324. package/docs/types/plugins.BasePlugin.EventMap.html +1 -1
  325. package/docs/types/plugins.CSS2DPluginType.PluginData.html +1 -0
  326. package/docs/types/plugins.CSS2DPluginType.ServerData.html +1 -0
  327. package/docs/types/plugins.CSS3DPluginType.PluginData.html +1 -0
  328. package/docs/types/plugins.CSS3DPluginType.ServerData.html +1 -0
  329. package/docs/types/plugins.Object3DHelperPluginType.AddObject3DHelperConfig.html +13 -0
  330. package/docs/types/plugins.Object3DHelperPluginType.Circle.html +1 -0
  331. package/docs/types/plugins.Object3DHelperPluginType.Color.html +1 -0
  332. package/docs/types/plugins.Object3DHelperPluginType.Direction.html +1 -0
  333. package/docs/types/plugins.Object3DHelperPluginType.Direction4.html +1 -0
  334. package/docs/types/plugins.Object3DHelperPluginType.HelperConfig.html +1 -0
  335. package/docs/types/plugins.Object3DHelperPluginType.HelperEventMap.html +17 -0
  336. package/docs/types/plugins.Object3DHelperPluginType.InternalHelperEventMap.html +8 -0
  337. package/docs/types/plugins.Object3DHelperPluginType.Object3DHelperEventMap.html +1 -0
  338. package/docs/types/plugins.Object3DHelperPluginType.Object3DHelperPluginEventMap.html +7 -0
  339. package/docs/types/plugins.Object3DHelperPluginType.PositionFrom.html +1 -0
  340. package/docs/types/plugins.Object3DHelperPluginType.ScaleCallback.html +1 -0
  341. package/docs/types/plugins.Object3DHelperPluginType.ScalePosition.html +4 -0
  342. package/docs/types/plugins.Object3DHelperPluginType.UseFaceNormalInterface.html +4 -0
  343. package/docs/types/plugins.Object3DHelperPluginType.Vector2WithArray.html +1 -0
  344. package/docs/types/plugins.Object3DHelperPluginType.Vector3WithArray.html +1 -0
  345. package/docs/variables/five.PROXY_CONTROLLER_EVENT_NAMES.html +1 -1
  346. package/docs/variables/react.FiveApp.html +3 -0
  347. package/docs/variables/react.FiveAutoCanvas.html +3 -0
  348. package/five/application/events.d.ts +1 -1
  349. package/five/application/five.d.ts +6 -5
  350. package/five/bvh/bvhObject.d.ts +2 -2
  351. package/five/controllers/base.d.ts +1 -0
  352. package/five/controllers/events.d.ts +5 -1
  353. package/five/controllers/mapview.d.ts +1 -0
  354. package/five/controllers/model.d.ts +2 -2
  355. package/five/controllers/panorama.d.ts +3 -2
  356. package/five/controllers/xrPanorama.d.ts +1 -1
  357. package/five/core/camera.d.ts +1 -1
  358. package/five/gaussian-splatting/util/renderData.d.ts +66 -0
  359. package/five/index.d.ts +4 -1
  360. package/five/index.js +272 -782
  361. package/five/index.mjs +26894 -32056
  362. package/five/meshes/boundingMesh.d.ts +1 -0
  363. package/five/model/index.d.ts +2 -2
  364. package/five/model/loaders/glTF-helpers/extensions/KHR_binary_glTF.d.ts +1 -1
  365. package/five/model/loaders/glTF-helpers/extensions/KHR_gaussian_splatting.d.ts +26 -0
  366. package/five/model/loaders/glTF-helpers/extensions/KHR_gaussian_splatting_compression_spz.d.ts +7 -5
  367. package/five/model/loaders/glTF-helpers/extensions/KHR_gaussian_splatting_compression_spz_2.d.ts +13 -0
  368. package/five/model/loaders/glTF-helpers/extensions/base.d.ts +2 -1
  369. package/five/model/loaders/glTF-helpers/index.d.ts +4 -0
  370. package/five/model/loaders/glTF-helpers/parser.d.ts +2 -1
  371. package/five/model/loaders/spz.d.ts +2 -2
  372. package/five/model/materials/pbmMaterial.d.ts +54 -4
  373. package/five/model/materials/pbmMeshMaterial.d.ts +5 -3
  374. package/five/model/materials/pbmPointCloudMaterial.d.ts +0 -2
  375. package/five/model/objects/{pbmGSObject.d.ts → pbmGaussianSplattingObject.d.ts} +4 -1
  376. package/five/model/objects/pbmGaussianSplattingRenderMesh.d.ts +59 -0
  377. package/five/model/objects/pbmGaussianSplattingTestMesh.d.ts +7 -0
  378. package/five/model/parameter.d.ts +11 -6
  379. package/five/model/tile3d/index.d.ts +5 -3
  380. package/five/model/tile3d/tile-node.d.ts +2 -2
  381. package/five/model/tile3d/tileset.d.ts +1 -0
  382. package/five/renderer/postprocessing/passes/adaptive-luminance-pass.d.ts +9 -7
  383. package/five/renderer/postprocessing/passes/flowing-light-2d-pass.d.ts +6 -1
  384. package/five/renderer/postprocessing/passes/flowing-light-3d-pass.d.ts +3 -1
  385. package/five/renderer/tools/render-cube-to-equirectangular.d.ts +7 -0
  386. package/five/renderer/tools/render-full-screen.d.ts +1 -1
  387. package/five/texture/histogram.d.ts +54 -0
  388. package/five/texture/loader.d.ts +1 -1
  389. package/five/texture/textureData.d.ts +11 -0
  390. package/five/thirdparty/hammer.d.ts +371 -255
  391. package/five/thirdparty/jsrsasign.d.ts +5 -20
  392. package/five/types/movePanoOptions.d.ts +4 -3
  393. package/five/utils/error.d.ts +1 -0
  394. package/five/utils/event.d.ts +98 -37
  395. package/five/utils/imageURL.d.ts +1 -1
  396. package/five/utils/memoryUsage.d.ts +2 -2
  397. package/five/utils/subscribe.d.ts +2 -2
  398. package/five/webxr/motionHelper.d.ts +1 -1
  399. package/five/work/index.d.ts +1 -0
  400. package/five/work/looseWorkType.d.ts +2 -2
  401. package/five/work/work.d.ts +5 -35
  402. package/five/work/workJsonType.d.ts +2 -2
  403. package/five/work/workObserverProto.d.ts +39 -0
  404. package/gltf-loader/index.js +9 -9
  405. package/gltf-loader/index.mjs +1351 -1451
  406. package/line/index.js +4 -4
  407. package/line/index.mjs +334 -513
  408. package/llms.txt +37 -1
  409. package/package.json +4 -4
  410. package/plugins/CSS2DPlugin/Controller.d.ts +59 -0
  411. package/plugins/CSS2DPlugin/index.d.ts +5 -0
  412. package/plugins/CSS2DPlugin/typing.d.ts +30 -0
  413. package/plugins/CSS3DPlugin/Controller.d.ts +64 -0
  414. package/plugins/CSS3DPlugin/index.d.ts +5 -0
  415. package/plugins/CSS3DPlugin/typing.d.ts +32 -0
  416. package/plugins/GaussianSplattingEntranceAnimationPlugin/Controller.d.ts +30 -0
  417. package/plugins/GaussianSplattingEntranceAnimationPlugin/index.d.ts +5 -0
  418. package/plugins/GaussianSplattingEntranceAnimationPlugin/typing.d.ts +28 -0
  419. package/plugins/Object3DHelperPlugin/Controller.d.ts +99 -0
  420. package/plugins/Object3DHelperPlugin/Controllers/BaseController.d.ts +142 -0
  421. package/plugins/Object3DHelperPlugin/Controllers/BoundingBoxController.d.ts +16 -0
  422. package/plugins/Object3DHelperPlugin/Controllers/MoveController.d.ts +66 -0
  423. package/plugins/Object3DHelperPlugin/Controllers/RotateController.d.ts +61 -0
  424. package/plugins/Object3DHelperPlugin/FiveControllerWrapper.d.ts +17 -0
  425. package/plugins/Object3DHelperPlugin/Helper/BaseHelper.d.ts +97 -0
  426. package/plugins/Object3DHelperPlugin/Helper/BoundingBoxHelper.d.ts +16 -0
  427. package/plugins/Object3DHelperPlugin/Helper/MoveHelper.d.ts +37 -0
  428. package/plugins/Object3DHelperPlugin/Helper/RotateHelper.d.ts +93 -0
  429. package/plugins/Object3DHelperPlugin/constant.d.ts +27 -0
  430. package/plugins/Object3DHelperPlugin/index.d.ts +6 -0
  431. package/plugins/Object3DHelperPlugin/typing.d.ts +143 -0
  432. package/plugins/Object3DHelperPlugin/utils/ArrowGroup.d.ts +22 -0
  433. package/plugins/Object3DHelperPlugin/utils/CenterHandle.d.ts +23 -0
  434. package/plugins/Object3DHelperPlugin/utils/PlaneHandle.d.ts +19 -0
  435. package/plugins/Object3DHelperPlugin/utils/calculateScaleByCamera.d.ts +5 -0
  436. package/plugins/Object3DHelperPlugin/utils/cameraHooks.d.ts +2 -0
  437. package/plugins/Object3DHelperPlugin/utils/direction.d.ts +14 -0
  438. package/plugins/Object3DHelperPlugin/utils/getMouseRaycaster.d.ts +5 -0
  439. package/plugins/Object3DHelperPlugin/utils/getOrthographicCameraDirection.d.ts +8 -0
  440. package/plugins/Object3DHelperPlugin/utils/setObjectQuaternion.d.ts +8 -0
  441. package/plugins/Object3DHelperPlugin/utils/solidGuide.d.ts +27 -0
  442. package/plugins/Object3DHelperPlugin/utils/tipsDom.d.ts +8 -0
  443. package/plugins/TrajectoryPlugin/Controller.d.ts +1 -1
  444. package/plugins/index.d.ts +6 -1
  445. package/plugins/index.js +55 -21
  446. package/plugins/index.mjs +5582 -4238
  447. package/plugins/thirdParty/CSS2DRenderer.d.ts +37 -0
  448. package/plugins/thirdParty/CSS3DRenderer.d.ts +16 -3
  449. package/plugins/thirdParty/domevents.d.ts +36 -0
  450. package/plugins/utils/uuid.d.ts +1 -4
  451. package/react/autoCanvas.d.ts +9 -0
  452. package/react/context.d.ts +3 -2
  453. package/react/createProvider.d.ts +4 -4
  454. package/react/createStore.d.ts +3 -3
  455. package/react/fiveApp.d.ts +22 -0
  456. package/react/hooks/useFivePlugin.d.ts +26 -0
  457. package/react/hooks/useFiveProject2d.d.ts +1 -1
  458. package/react/index.d.ts +4 -0
  459. package/react/index.js +3 -3
  460. package/react/index.mjs +687 -782
  461. package/react/rendererPool.d.ts +2 -2
  462. package/react/withFive.d.ts +1 -1
  463. package/shader-lib/index.js +13 -14
  464. package/shader-lib/index.mjs +424 -824
  465. package/sticker/index.js +3 -3
  466. package/sticker/index.mjs +102 -142
  467. package/umd/five-gltf-loader.js +9 -9
  468. package/umd/five-line.js +4 -4
  469. package/umd/five-plugins.js +55 -21
  470. package/umd/five-react.js +3 -3
  471. package/umd/five-shader-lib.js +13 -14
  472. package/umd/five-sticker.js +3 -3
  473. package/umd/five-vfx.js +21 -21
  474. package/umd/five-vue.js +3 -3
  475. package/umd/five.js +267 -777
  476. package/vfx/index.js +21 -21
  477. package/vfx/index.mjs +454 -910
  478. package/vue/index.js +3 -3
  479. package/vue/index.mjs +309 -301
  480. package/vue/rendererPool.d.ts +5 -5
  481. package/work-downloader/index.js +3 -3
  482. package/work-downloader/index.mjs +339 -556
  483. package/five/gs/util/renderData.d.ts +0 -32
  484. package/five/model/objects/pbmGSRenderMesh.d.ts +0 -29
  485. package/five/work/workObserverUtils.d.ts +0 -36
  486. /package/five/assets/{realsee-pmg-data-url.d.ts → realsee-png-data-url.d.ts} +0 -0
  487. /package/five/{gs → gaussian-splatting}/wasm/data.d.ts +0 -0
  488. /package/five/{gs → gaussian-splatting}/wasm/sort.d.ts +0 -0
  489. /package/five/{gs → gaussian-splatting}/worker/dataWorker.d.ts +0 -0
  490. /package/five/{gs → gaussian-splatting}/worker/sortWorker.d.ts +0 -0
package/line/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five
4
- * Generated: 2026/2/26
5
- * Version: 6.8.0-alpha.9
4
+ * Generated: 2026/4/28
5
+ * Version: 6.8.1
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -252,522 +252,343 @@
252
252
  * No amendment to or modification of this Agreement will be binding unless in
253
253
  * writing and signed by Realsee. You and Realsee hereto confirm that this
254
254
  * Agreement and all related documents shall be drafted in English.
255
- */import * as i from "three";
256
- var E = function(a, o) {
257
- return E = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(t, n) {
258
- t.__proto__ = n;
259
- } || function(t, n) {
260
- for (var e in n) Object.prototype.hasOwnProperty.call(n, e) && (t[e] = n[e]);
261
- }, E(a, o);
255
+ */import * as e from "three";
256
+ //#region build/line/utils/LineSegmentsGeometry.js
257
+ var t = class extends e.InstancedBufferGeometry {
258
+ constructor() {
259
+ super(), this.type = "LineSegmentsGeometry", this.setIndex([
260
+ 0,
261
+ 2,
262
+ 1,
263
+ 2,
264
+ 3,
265
+ 1,
266
+ 2,
267
+ 4,
268
+ 3,
269
+ 4,
270
+ 5,
271
+ 3,
272
+ 4,
273
+ 6,
274
+ 5,
275
+ 6,
276
+ 7,
277
+ 5
278
+ ]), this.setAttribute("position", new e.Float32BufferAttribute([
279
+ -1,
280
+ 2,
281
+ 0,
282
+ 1,
283
+ 2,
284
+ 0,
285
+ -1,
286
+ 1,
287
+ 0,
288
+ 1,
289
+ 1,
290
+ 0,
291
+ -1,
292
+ 0,
293
+ 0,
294
+ 1,
295
+ 0,
296
+ 0,
297
+ -1,
298
+ -1,
299
+ 0,
300
+ 1,
301
+ -1,
302
+ 0
303
+ ], 3)), this.setAttribute("uv", new e.Float32BufferAttribute([
304
+ -1,
305
+ 2,
306
+ 1,
307
+ 2,
308
+ -1,
309
+ 1,
310
+ 1,
311
+ 1,
312
+ -1,
313
+ -1,
314
+ 1,
315
+ -1,
316
+ -1,
317
+ -2,
318
+ 1,
319
+ -2
320
+ ], 2));
321
+ }
322
+ applyMatrix4(e) {
323
+ let t = this.attributes.instanceStart, n = this.attributes.instanceEnd;
324
+ return t !== void 0 && (t.applyMatrix4(e), n.applyMatrix4(e), t.needsUpdate = !0), this.boundingBox !== null && this.computeBoundingBox(), this.boundingSphere !== null && this.computeBoundingSphere(), this;
325
+ }
326
+ setPositions(t) {
327
+ let n;
328
+ n = t instanceof Float32Array ? t : Array.isArray(t) ? new Float32Array(t) : new Float32Array();
329
+ let r = new e.InstancedInterleavedBuffer(n, 6, 1);
330
+ return this.setAttribute("instanceStart", new e.InterleavedBufferAttribute(r, 3, 0)), this.setAttribute("instanceEnd", new e.InterleavedBufferAttribute(r, 3, 3)), this.computeBoundingBox(), this.computeBoundingSphere(), this;
331
+ }
332
+ setColors(t) {
333
+ let n;
334
+ n = t instanceof Float32Array ? t : Array.isArray(t) ? new Float32Array(t) : new Float32Array();
335
+ let r = new e.InstancedInterleavedBuffer(n, 6, 1);
336
+ return this.setAttribute("instanceColorStart", new e.InterleavedBufferAttribute(r, 3, 0)), this.setAttribute("instanceColorEnd", new e.InterleavedBufferAttribute(r, 3, 3)), this;
337
+ }
338
+ fromWireframeGeometry(e) {
339
+ return this.setPositions(e.attributes.position.array), this;
340
+ }
341
+ fromEdgesGeometry(e) {
342
+ return this.setPositions(e.attributes.position.array), this;
343
+ }
344
+ fromMesh(t) {
345
+ return this.fromWireframeGeometry(new e.WireframeGeometry(t.geometry)), this;
346
+ }
347
+ fromLineSegments(t) {
348
+ var n = t.geometry;
349
+ if (n instanceof e.Geometry) {
350
+ let t = new e.BufferGeometry().fromGeometry(n);
351
+ this.setPositions(t.attributes.position.array);
352
+ } else n instanceof e.BufferGeometry && this.setPositions(n.attributes.position.array);
353
+ return this;
354
+ }
355
+ computeBoundingBox() {
356
+ this.boundingBox === null && (this.boundingBox = new e.Box3());
357
+ let t = this.attributes.instanceStart, n = this.attributes.instanceEnd;
358
+ if (t !== void 0 && n !== void 0) {
359
+ let r = new e.Box3();
360
+ this.boundingBox.setFromBufferAttribute(t), r.setFromBufferAttribute(n), this.boundingBox.union(r);
361
+ }
362
+ }
363
+ computeBoundingSphere() {
364
+ this.boundingSphere === null && (this.boundingSphere = new e.Sphere()), this.boundingBox === null && this.computeBoundingBox();
365
+ let t = this.attributes.instanceStart, n = this.attributes.instanceEnd;
366
+ if (t !== void 0 && n !== void 0) {
367
+ let r = this.boundingSphere.center;
368
+ this.boundingBox.getCenter(r);
369
+ let i = 0, a = new e.Vector3();
370
+ for (let e = 0, o = t.count; e < o; e++) a.fromBufferAttribute(t, e), i = Math.max(i, r.distanceToSquared(a)), a.fromBufferAttribute(n, e), i = Math.max(i, r.distanceToSquared(a));
371
+ this.boundingSphere.radius = Math.sqrt(i), isNaN(this.boundingSphere.radius) && console.error("THREE.LineSegmentsGeometry.computeBoundingSphere(): Computed radius is NaN. The instanced position data is likely to have NaN values.", this);
372
+ }
373
+ }
374
+ toJSON() {}
262
375
  };
263
- function A(a, o) {
264
- if (typeof o != "function" && o !== null)
265
- throw new TypeError("Class extends value " + String(o) + " is not a constructor or null");
266
- E(a, o);
267
- function t() {
268
- this.constructor = a;
269
- }
270
- a.prototype = o === null ? Object.create(o) : (t.prototype = o.prototype, new t());
271
- }
272
- var B = (
273
- /** @class */
274
- (function(a) {
275
- A(o, a);
276
- function o() {
277
- var t = a.call(this) || this;
278
- t.type = "LineSegmentsGeometry";
279
- var n = [-1, 2, 0, 1, 2, 0, -1, 1, 0, 1, 1, 0, -1, 0, 0, 1, 0, 0, -1, -1, 0, 1, -1, 0], e = [-1, 2, 1, 2, -1, 1, 1, 1, -1, -1, 1, -1, -1, -2, 1, -2], r = [0, 2, 1, 2, 3, 1, 2, 4, 3, 4, 5, 3, 4, 6, 5, 6, 7, 5];
280
- return t.setIndex(r), t.setAttribute("position", new i.Float32BufferAttribute(n, 3)), t.setAttribute("uv", new i.Float32BufferAttribute(e, 2)), t;
281
- }
282
- return o.prototype.applyMatrix4 = function(t) {
283
- var n = this.attributes.instanceStart, e = this.attributes.instanceEnd;
284
- return n !== void 0 && (n.applyMatrix4(t), e.applyMatrix4(t), n.needsUpdate = !0), this.boundingBox !== null && this.computeBoundingBox(), this.boundingSphere !== null && this.computeBoundingSphere(), this;
285
- }, o.prototype.setPositions = function(t) {
286
- var n;
287
- t instanceof Float32Array ? n = t : Array.isArray(t) ? n = new Float32Array(t) : n = new Float32Array();
288
- var e = new i.InstancedInterleavedBuffer(n, 6, 1);
289
- return this.setAttribute("instanceStart", new i.InterleavedBufferAttribute(e, 3, 0)), this.setAttribute("instanceEnd", new i.InterleavedBufferAttribute(e, 3, 3)), this.computeBoundingBox(), this.computeBoundingSphere(), this;
290
- }, o.prototype.setColors = function(t) {
291
- var n;
292
- t instanceof Float32Array ? n = t : Array.isArray(t) ? n = new Float32Array(t) : n = new Float32Array();
293
- var e = new i.InstancedInterleavedBuffer(n, 6, 1);
294
- return this.setAttribute("instanceColorStart", new i.InterleavedBufferAttribute(e, 3, 0)), this.setAttribute("instanceColorEnd", new i.InterleavedBufferAttribute(e, 3, 3)), this;
295
- }, o.prototype.fromWireframeGeometry = function(t) {
296
- return this.setPositions(t.attributes.position.array), this;
297
- }, o.prototype.fromEdgesGeometry = function(t) {
298
- return this.setPositions(t.attributes.position.array), this;
299
- }, o.prototype.fromMesh = function(t) {
300
- return this.fromWireframeGeometry(new i.WireframeGeometry(t.geometry)), this;
301
- }, o.prototype.fromLineSegments = function(t) {
302
- var n = t.geometry;
303
- if (n instanceof i.Geometry) {
304
- var e = new i.BufferGeometry().fromGeometry(n);
305
- this.setPositions(e.attributes.position.array);
306
- } else n instanceof i.BufferGeometry && this.setPositions(n.attributes.position.array);
307
- return this;
308
- }, o.prototype.computeBoundingBox = function() {
309
- this.boundingBox === null && (this.boundingBox = new i.Box3());
310
- var t = this.attributes.instanceStart, n = this.attributes.instanceEnd;
311
- if (t !== void 0 && n !== void 0) {
312
- var e = new i.Box3();
313
- this.boundingBox.setFromBufferAttribute(t), e.setFromBufferAttribute(n), this.boundingBox.union(e);
314
- }
315
- }, o.prototype.computeBoundingSphere = function() {
316
- this.boundingSphere === null && (this.boundingSphere = new i.Sphere()), this.boundingBox === null && this.computeBoundingBox();
317
- var t = this.attributes.instanceStart, n = this.attributes.instanceEnd;
318
- if (t !== void 0 && n !== void 0) {
319
- var e = this.boundingSphere.center;
320
- this.boundingBox.getCenter(e);
321
- for (var r = 0, s = new i.Vector3(), c = 0, p = t.count; c < p; c++)
322
- s.fromBufferAttribute(t, c), r = Math.max(r, e.distanceToSquared(s)), s.fromBufferAttribute(n, c), r = Math.max(r, e.distanceToSquared(s));
323
- this.boundingSphere.radius = Math.sqrt(r), isNaN(this.boundingSphere.radius) && console.error("THREE.LineSegmentsGeometry.computeBoundingSphere(): Computed radius is NaN. The instanced position data is likely to have NaN values.", this);
324
- }
325
- }, o.prototype.toJSON = function() {
326
- }, o;
327
- })(i.InstancedBufferGeometry)
328
- );
329
- Object.assign(B.prototype, { isLineSegmentsGeometry: !0 });
330
- var x = {
331
- uniforms: i.UniformsUtils.merge([
332
- i.UniformsLib.common,
333
- i.UniformsLib.fog,
334
- {
335
- linewidth: { value: 1 },
336
- resolution: { value: new i.Vector2(1, 1) },
337
- dashScale: { value: 1 },
338
- dashSize: { value: 1 },
339
- gapSize: { value: 1 },
340
- // todo FIX - maybe change to totalSize
341
- opacity: { value: 1 }
342
- }
343
- ]),
344
- vertexShader: `
345
- #include <common>
346
- #include <color_pars_vertex>
347
- #include <fog_pars_vertex>
348
- #include <logdepthbuf_pars_vertex>
349
- #include <clipping_planes_pars_vertex>
350
-
351
- uniform float linewidth;
352
- uniform vec2 resolution;
353
-
354
- attribute vec3 instanceStart;
355
- attribute vec3 instanceEnd;
356
-
357
- attribute vec3 instanceColorStart;
358
- attribute vec3 instanceColorEnd;
359
-
360
- varying vec2 vUv;
361
-
362
- #ifdef USE_DASH
363
-
364
- uniform float dashScale;
365
- attribute float instanceDistanceStart;
366
- attribute float instanceDistanceEnd;
367
- varying float vLineDistance;
368
-
369
- #endif
370
-
371
- void trimSegment( const in vec4 start, inout vec4 end ) {
372
-
373
- // trim end segment so it terminates between the camera plane and the near plane
374
-
375
- // conservative estimate of the near plane
376
- float a = projectionMatrix[ 2 ][ 2 ]; // 3nd entry in 3th column
377
- float b = projectionMatrix[ 3 ][ 2 ]; // 3nd entry in 4th column
378
- float nearEstimate = - 0.5 * b / a;
379
-
380
- float alpha = ( nearEstimate - start.z ) / ( end.z - start.z );
381
-
382
- end.xyz = mix( start.xyz, end.xyz, alpha );
383
-
376
+ Object.assign(t.prototype, { isLineSegmentsGeometry: !0 });
377
+ //#endregion
378
+ //#region build/line/utils/LineMaterial.js
379
+ var n = {
380
+ uniforms: e.UniformsUtils.merge([
381
+ e.UniformsLib.common,
382
+ e.UniformsLib.fog,
383
+ {
384
+ linewidth: { value: 1 },
385
+ resolution: { value: new e.Vector2(1, 1) },
386
+ dashScale: { value: 1 },
387
+ dashSize: { value: 1 },
388
+ gapSize: { value: 1 },
389
+ opacity: { value: 1 }
384
390
  }
385
-
386
- void main() {
387
-
388
- #ifdef USE_COLOR
389
-
390
- vColor.xyz = ( position.y < 0.5 ) ? instanceColorStart : instanceColorEnd;
391
-
392
- #endif
393
-
394
- #ifdef USE_DASH
395
-
396
- vLineDistance = ( position.y < 0.5 ) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd;
397
-
398
- #endif
399
-
400
- float aspect = resolution.x / resolution.y;
401
-
402
- vUv = uv;
403
-
404
- // camera space
405
- vec4 start = modelViewMatrix * vec4( instanceStart, 1.0 );
406
- vec4 end = modelViewMatrix * vec4( instanceEnd, 1.0 );
407
-
408
- // special case for perspective projection, and segments that terminate either in, or behind, the camera plane
409
- // clearly the gpu firmware has a way of addressing this issue when projecting into ndc space
410
- // but we need to perform ndc-space calculations in the shader, so we must address this issue directly
411
- // perhaps there is a more elegant solution -- WestLangley
412
-
413
- bool perspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); // 4th entry in the 3rd column
414
-
415
- if ( perspective ) {
416
-
417
- if ( start.z < 0.0 && end.z >= 0.0 ) {
418
-
419
- trimSegment( start, end );
420
-
421
- } else if ( end.z < 0.0 && start.z >= 0.0 ) {
422
-
423
- trimSegment( end, start );
424
-
391
+ ]),
392
+ vertexShader: "\n #include <common>\n #include <color_pars_vertex>\n #include <fog_pars_vertex>\n #include <logdepthbuf_pars_vertex>\n #include <clipping_planes_pars_vertex>\n\n uniform float linewidth;\n uniform vec2 resolution;\n\n attribute vec3 instanceStart;\n attribute vec3 instanceEnd;\n\n attribute vec3 instanceColorStart;\n attribute vec3 instanceColorEnd;\n\n varying vec2 vUv;\n\n #ifdef USE_DASH\n\n uniform float dashScale;\n attribute float instanceDistanceStart;\n attribute float instanceDistanceEnd;\n varying float vLineDistance;\n\n #endif\n\n void trimSegment( const in vec4 start, inout vec4 end ) {\n\n // trim end segment so it terminates between the camera plane and the near plane\n\n // conservative estimate of the near plane\n float a = projectionMatrix[ 2 ][ 2 ]; // 3nd entry in 3th column\n float b = projectionMatrix[ 3 ][ 2 ]; // 3nd entry in 4th column\n float nearEstimate = - 0.5 * b / a;\n\n float alpha = ( nearEstimate - start.z ) / ( end.z - start.z );\n\n end.xyz = mix( start.xyz, end.xyz, alpha );\n\n }\n\n void main() {\n\n #ifdef USE_COLOR\n\n vColor.xyz = ( position.y < 0.5 ) ? instanceColorStart : instanceColorEnd;\n\n #endif\n\n #ifdef USE_DASH\n\n vLineDistance = ( position.y < 0.5 ) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd;\n\n #endif\n\n float aspect = resolution.x / resolution.y;\n\n vUv = uv;\n\n // camera space\n vec4 start = modelViewMatrix * vec4( instanceStart, 1.0 );\n vec4 end = modelViewMatrix * vec4( instanceEnd, 1.0 );\n\n // special case for perspective projection, and segments that terminate either in, or behind, the camera plane\n // clearly the gpu firmware has a way of addressing this issue when projecting into ndc space\n // but we need to perform ndc-space calculations in the shader, so we must address this issue directly\n // perhaps there is a more elegant solution -- WestLangley\n\n bool perspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); // 4th entry in the 3rd column\n\n if ( perspective ) {\n\n if ( start.z < 0.0 && end.z >= 0.0 ) {\n\n trimSegment( start, end );\n\n } else if ( end.z < 0.0 && start.z >= 0.0 ) {\n\n trimSegment( end, start );\n\n }\n\n }\n\n // clip space\n vec4 clipStart = projectionMatrix * start;\n vec4 clipEnd = projectionMatrix * end;\n\n // ndc space\n vec2 ndcStart = clipStart.xy / clipStart.w;\n vec2 ndcEnd = clipEnd.xy / clipEnd.w;\n\n // direction\n vec2 dir = ndcEnd - ndcStart;\n\n // account for clip-space aspect ratio\n dir.x *= aspect;\n dir = normalize( dir );\n\n // perpendicular to dir\n vec2 offset = vec2( dir.y, - dir.x );\n\n // undo aspect ratio adjustment\n dir.x /= aspect;\n offset.x /= aspect;\n\n // sign flip\n if ( position.x < 0.0 ) offset *= - 1.0;\n\n // endcaps\n if ( position.y < 0.0 ) {\n\n offset += - dir;\n\n } else if ( position.y > 1.0 ) {\n\n offset += dir;\n\n }\n\n // adjust for linewidth\n offset *= linewidth;\n\n // adjust for clip-space to screen-space conversion // maybe resolution should be based on viewport ...\n offset /= resolution.y;\n\n // select end\n vec4 clip = ( position.y < 0.5 ) ? clipStart : clipEnd;\n\n // back to clip space\n offset *= clip.w;\n\n clip.xy += offset;\n\n gl_Position = clip;\n\n vec4 mvPosition = ( position.y < 0.5 ) ? start : end; // this is an approximation\n\n #include <logdepthbuf_vertex>\n #include <clipping_planes_vertex>\n #include <fog_vertex>\n\n }\n ",
393
+ fragmentShader: "\n uniform vec3 diffuse;\n uniform float opacity;\n\n #ifdef USE_DASH\n\n uniform float dashSize;\n uniform float gapSize;\n\n #endif\n\n varying float vLineDistance;\n\n #include <common>\n #include <color_pars_fragment>\n #include <fog_pars_fragment>\n #include <logdepthbuf_pars_fragment>\n #include <clipping_planes_pars_fragment>\n\n varying vec2 vUv;\n\n void main() {\n\n #include <clipping_planes_fragment>\n\n #ifdef USE_DASH\n\n if ( vUv.y < - 1.0 || vUv.y > 1.0 ) discard; // discard endcaps\n\n if ( mod( vLineDistance, dashSize + gapSize ) > dashSize ) discard; // todo - FIX\n\n #endif\n\n if ( abs( vUv.y ) > 1.0 ) {\n\n float a = vUv.x;\n float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;\n float len2 = a * a + b * b;\n\n if ( len2 > 1.0 ) discard;\n\n }\n\n vec4 diffuseColor = vec4( diffuse, opacity );\n\n #include <logdepthbuf_fragment>\n #include <color_fragment>\n\n gl_FragColor = vec4( diffuseColor.rgb, diffuseColor.a );\n\n #include <tonemapping_fragment>\n #include <fog_fragment>\n #include <premultiplied_alpha_fragment>\n\n }\n "
394
+ }, r = class extends e.ShaderMaterial {
395
+ constructor(t) {
396
+ super({
397
+ uniforms: e.UniformsUtils.clone(n.uniforms),
398
+ vertexShader: n.vertexShader,
399
+ fragmentShader: n.fragmentShader,
400
+ clipping: !0
401
+ }), this.type = "LineMaterial", this.dashed = !1, Object.defineProperties(this, {
402
+ color: {
403
+ enumerable: !0,
404
+ get() {
405
+ return this.uniforms.diffuse.value;
406
+ },
407
+ set(e) {
408
+ this.uniforms.diffuse.value = e;
409
+ }
410
+ },
411
+ linewidth: {
412
+ enumerable: !0,
413
+ get() {
414
+ return this.uniforms.linewidth.value;
415
+ },
416
+ set(e) {
417
+ this.uniforms.linewidth.value = e;
418
+ }
419
+ },
420
+ dashScale: {
421
+ enumerable: !0,
422
+ get() {
423
+ return this.uniforms.dashScale.value;
424
+ },
425
+ set(e) {
426
+ this.uniforms.dashScale.value = e;
427
+ }
428
+ },
429
+ dashSize: {
430
+ enumerable: !0,
431
+ get() {
432
+ return this.uniforms.dashSize.value;
433
+ },
434
+ set(e) {
435
+ this.uniforms.dashSize.value = e;
436
+ }
437
+ },
438
+ gapSize: {
439
+ enumerable: !0,
440
+ get() {
441
+ return this.uniforms.gapSize.value;
442
+ },
443
+ set(e) {
444
+ this.uniforms.gapSize.value = e;
445
+ }
446
+ },
447
+ opacity: {
448
+ enumerable: !0,
449
+ get() {
450
+ return this.uniforms.opacity.value;
451
+ },
452
+ set(e) {
453
+ this.uniforms.opacity.value = e;
454
+ }
455
+ },
456
+ resolution: {
457
+ enumerable: !0,
458
+ get() {
459
+ return this.uniforms.resolution.value;
460
+ },
461
+ set(e) {
462
+ this.uniforms.resolution.value.copy(e);
425
463
  }
426
-
427
464
  }
428
-
429
- // clip space
430
- vec4 clipStart = projectionMatrix * start;
431
- vec4 clipEnd = projectionMatrix * end;
432
-
433
- // ndc space
434
- vec2 ndcStart = clipStart.xy / clipStart.w;
435
- vec2 ndcEnd = clipEnd.xy / clipEnd.w;
436
-
437
- // direction
438
- vec2 dir = ndcEnd - ndcStart;
439
-
440
- // account for clip-space aspect ratio
441
- dir.x *= aspect;
442
- dir = normalize( dir );
443
-
444
- // perpendicular to dir
445
- vec2 offset = vec2( dir.y, - dir.x );
446
-
447
- // undo aspect ratio adjustment
448
- dir.x /= aspect;
449
- offset.x /= aspect;
450
-
451
- // sign flip
452
- if ( position.x < 0.0 ) offset *= - 1.0;
453
-
454
- // endcaps
455
- if ( position.y < 0.0 ) {
456
-
457
- offset += - dir;
458
-
459
- } else if ( position.y > 1.0 ) {
460
-
461
- offset += dir;
462
-
465
+ }), this.setValues(t);
466
+ }
467
+ };
468
+ Object.assign(r.prototype, { isLineMaterial: !0 });
469
+ //#endregion
470
+ //#region build/line/utils/LineSegments2.js
471
+ var i = class extends e.Mesh {
472
+ constructor(e, n) {
473
+ super(), this.type = "LineSegments2", this.geometry = e === void 0 ? new t() : e, this.material = n === void 0 ? new r({ color: Math.random() * 16777215 }) : n;
474
+ }
475
+ computeLineDistances() {
476
+ let t = this.geometry, n = t.attributes.instanceStart, r = t.attributes.instanceEnd, i = new Float32Array(2 * n.count), a = new e.Vector3(), o = new e.Vector3();
477
+ for (var s = 0, c = 0, l = n.count; s < l; s++, c += 2) a.fromBufferAttribute(n, s), o.fromBufferAttribute(r, s), i[c] = c === 0 ? 0 : i[c - 1], i[c + 1] = i[c] + a.distanceTo(o);
478
+ let u = new e.InstancedInterleavedBuffer(i, 2, 1);
479
+ return t.setAttribute("instanceDistanceStart", new e.InterleavedBufferAttribute(u, 1, 0)), t.setAttribute("instanceDistanceEnd", new e.InterleavedBufferAttribute(u, 1, 1)), this;
480
+ }
481
+ raycast(t, n) {
482
+ t.camera === null && console.error("LineSegments2: \"Raycaster.camera\" needs to be set in order to raycast against LineSegments2.");
483
+ let r = t.ray, i = t.camera, a = i.projectionMatrix, o = this.geometry, s = this.material, c = s.resolution, l = s.linewidth, u = o.attributes.instanceStart, d = o.attributes.instanceEnd, f = new e.Vector4(), p = new e.Vector4(), m = new e.Vector4(), h = new e.Vector3(), g = new e.Matrix4(), _ = new e.Line3(), v = new e.Vector3();
484
+ r.at(1, m), m.w = 1, m.applyMatrix4(i.matrixWorldInverse), m.applyMatrix4(a), m.multiplyScalar(1 / m.w), m.x *= c.x / 2, m.y *= c.y / 2, m.z = 0, h.copy(m);
485
+ let y = this.matrixWorld;
486
+ g.multiplyMatrices(i.matrixWorldInverse, y);
487
+ for (var b = 0, x = u.count; b < x; b++) {
488
+ f.fromBufferAttribute(u, b), p.fromBufferAttribute(d, b), f.w = 1, p.w = 1, f.applyMatrix4(g), p.applyMatrix4(g), f.applyMatrix4(a), p.applyMatrix4(a), f.multiplyScalar(1 / f.w), p.multiplyScalar(1 / p.w);
489
+ var S = f.z < -1 && p.z < -1, C = f.z > 1 && p.z > 1;
490
+ if (S || C) continue;
491
+ f.x *= c.x / 2, f.y *= c.y / 2, p.x *= c.x / 2, p.y *= c.y / 2, _.start.copy(f), _.start.z = 0, _.end.copy(p), _.end.z = 0;
492
+ let t = _.closestPointToPointParameter(h, !0);
493
+ _.at(t, v);
494
+ let i = e.MathUtils.lerp(f.z, p.z, t), o = i >= -1 && i <= 1;
495
+ var w = h.distanceTo(v) < l * .5;
496
+ if (o && w) {
497
+ _.start.fromBufferAttribute(u, b), _.end.fromBufferAttribute(d, b), _.start.applyMatrix4(y), _.end.applyMatrix4(y);
498
+ var T = new e.Vector3(), E = new e.Vector3();
499
+ r.distanceSqToSegment(_.start, _.end, E, T), n.push({
500
+ point: E,
501
+ pointOnLine: T,
502
+ distance: r.origin.distanceTo(E),
503
+ object: this,
504
+ faceIndex: b
505
+ });
463
506
  }
464
-
465
- // adjust for linewidth
466
- offset *= linewidth;
467
-
468
- // adjust for clip-space to screen-space conversion // maybe resolution should be based on viewport ...
469
- offset /= resolution.y;
470
-
471
- // select end
472
- vec4 clip = ( position.y < 0.5 ) ? clipStart : clipEnd;
473
-
474
- // back to clip space
475
- offset *= clip.w;
476
-
477
- clip.xy += offset;
478
-
479
- gl_Position = clip;
480
-
481
- vec4 mvPosition = ( position.y < 0.5 ) ? start : end; // this is an approximation
482
-
483
- #include <logdepthbuf_vertex>
484
- #include <clipping_planes_vertex>
485
- #include <fog_vertex>
486
-
487
507
  }
488
- `,
489
- fragmentShader: `
490
- uniform vec3 diffuse;
491
- uniform float opacity;
492
-
493
- #ifdef USE_DASH
494
-
495
- uniform float dashSize;
496
- uniform float gapSize;
497
-
498
- #endif
499
-
500
- varying float vLineDistance;
501
-
502
- #include <common>
503
- #include <color_pars_fragment>
504
- #include <fog_pars_fragment>
505
- #include <logdepthbuf_pars_fragment>
506
- #include <clipping_planes_pars_fragment>
507
-
508
- varying vec2 vUv;
509
-
510
- void main() {
511
-
512
- #include <clipping_planes_fragment>
513
-
514
- #ifdef USE_DASH
515
-
516
- if ( vUv.y < - 1.0 || vUv.y > 1.0 ) discard; // discard endcaps
517
-
518
- if ( mod( vLineDistance, dashSize + gapSize ) > dashSize ) discard; // todo - FIX
519
-
520
- #endif
521
-
522
- if ( abs( vUv.y ) > 1.0 ) {
523
-
524
- float a = vUv.x;
525
- float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;
526
- float len2 = a * a + b * b;
527
-
528
- if ( len2 > 1.0 ) discard;
529
-
530
- }
531
-
532
- vec4 diffuseColor = vec4( diffuse, opacity );
533
-
534
- #include <logdepthbuf_fragment>
535
- #include <color_fragment>
536
-
537
- gl_FragColor = vec4( diffuseColor.rgb, diffuseColor.a );
538
-
539
- #include <tonemapping_fragment>
540
- #include <fog_fragment>
541
- #include <premultiplied_alpha_fragment>
542
-
508
+ }
509
+ };
510
+ Object.assign(i.prototype, { isLineSegments2: !0 });
511
+ //#endregion
512
+ //#region build/line/utils/Line2.js
513
+ var a = class extends i {
514
+ constructor(e, t) {
515
+ super(e, t), this.type = "Line2";
516
+ }
517
+ };
518
+ Object.assign(a.prototype, { isLine2: !0 });
519
+ //#endregion
520
+ //#region build/line/utils/LineGeometry.js
521
+ var o = class extends t {
522
+ constructor() {
523
+ super(), this.type = "LineGeometry";
524
+ }
525
+ setPositions(e) {
526
+ let t = e.length - 3, n = new Float32Array(2 * t);
527
+ for (let r = 0; r < t; r += 3) n[2 * r] = e[r], n[2 * r + 1] = e[r + 1], n[2 * r + 2] = e[r + 2], n[2 * r + 3] = e[r + 3], n[2 * r + 4] = e[r + 4], n[2 * r + 5] = e[r + 5];
528
+ return super.setPositions(n), this;
529
+ }
530
+ setColors(e) {
531
+ let t = e.length - 3, n = new Float32Array(2 * t);
532
+ for (let r = 0; r < t; r += 3) n[2 * r] = e[r], n[2 * r + 1] = e[r + 1], n[2 * r + 2] = e[r + 2], n[2 * r + 3] = e[r + 3], n[2 * r + 4] = e[r + 4], n[2 * r + 5] = e[r + 5];
533
+ return super.setColors(n), this;
534
+ }
535
+ fromLine(t) {
536
+ let n = t.geometry;
537
+ if (n instanceof e.Geometry) {
538
+ let t = new e.BufferGeometry().fromGeometry(n);
539
+ this.setPositions(t.attributes.position.array);
540
+ } else n instanceof e.BufferGeometry && this.setPositions(n.attributes.position.array);
541
+ return this;
542
+ }
543
+ copy() {
544
+ return this;
545
+ }
546
+ };
547
+ Object.assign(o.prototype, { isLineGeometry: !0 });
548
+ //#endregion
549
+ //#region build/line/index.js
550
+ var s = 14467195, c = 8, l = 2, u = 20, d = null, f = class extends e.Object3D {
551
+ static get version() {
552
+ return "6.8.1";
553
+ }
554
+ constructor(t = new e.Vector3(), n = new e.Vector3()) {
555
+ super(), this.type = "FiveLine", this.needsRender = !0, this.line = new a(new o(), new r({
556
+ color: s,
557
+ linewidth: l,
558
+ dashScale: u,
559
+ dashed: !1
560
+ }));
561
+ let i = new e.BufferGeometry(), f = new e.PointsMaterial({
562
+ color: s,
563
+ size: c,
564
+ map: d || (d = new e.TextureLoader().load("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sHDgwCEMBJZu0AAAAdaVRYdENvbW1lbnQAAAAAAENyZWF0ZWQgd2l0aCBHSU1QZC5lBwAABM5JREFUWMO1V0tPG2cUPZ4Hxh6DazIOrjFNqJs0FIMqWFgWQkatsmvVbtggKlSVRVf5AWz4AWz4AUSKEChll19QJYSXkECuhFxsHjEhxCYm+DWGMZ5HF72DJq4bAzFXurI0M/I5997v3u9cC65vTJVn2lX/xHINQOYSBLTLEuIuCWw4Z3IGAEvf6ASmVHjNzHCXBG4A0AjACsAOwEbO0nsFQBnAGYASAIl+ZRMR7SolMEdsByD09fV5R0ZGgg8ePPjW5/N1iqLYpuu6RZblciKR2I9Go69evnwZnZ+fjwI4IS8AKBIRzeQfJWCANwKwh0KhtrGxsYehUOin1tbW+zzP23ietzY2NnIAoGmaLsuyUiqVyvl8XtrY2NiamZn589mzZxsAUgCOAeQAnFI2tI+VxIjaAeDzoaGh7xYWFuZOTk6OZVk+12uYqqq6JEnn0Wg0OT4+/geAXwGEAdwDIFJQXC1wO4DWR48e/RCPxxclSSroVzRFUbSDg4P848ePFwH8DuAhkWih83TRQWxFOXgAwvDwcOfo6OhvXV1d39tsNtuVBwTDWBwOh1UUxVsMw1hXVlbSdCgNV43uYSvrHg6H24aHh38eHBz85TrgF9FYLHA4HLzH43FvbW2d7u/vG+dANp8FpqIlbd3d3V8Fg8EfBUFw4BONZVmL3+9vHhkZCQL4AoAHgJPK8G+yzC0XDofdoVAo5PP5vkadTBAEtr+/39ff3x8gAp/RPOEqx2qjx+NpvXv3bk9DQ0NDvQgwDIOWlhZrMBj8kgi0UJdxRgYMArzL5XJ7vd57qLPZ7Xamp6fnNgBXtQxcjFuHw+Hyer3t9SYgCAITCAScAJoBNNEY/08GOFVVrfVMv7kMNDntFD1vjIAPrlRN0xjckOm6biFQ3jwNPwDMZrOnqVTqfb3Bi8Wivru7W/VCYkwPlKOjo0IikXh7EwQikYgE4Nw0CfXKDCipVCoTj8df3QABbW1tLUc6oUgkFPMkVACUNjc337148eKvw8PDbJ2jP1taWkoCyNDVXDSECmNSK4qiKNLq6urW8+fPI/UicHx8rD59+jSVy+WOAKSJhKENwFItLtoxk8mwsixzHR0dHe3t7c5PAU+n09rs7OzJkydPYqVSaQfANoDXALIk31S2smU1TWMPDg7K5XKZ7+3t9TudTut1U7+wsFCcmJiIpdPpbQBxADsAknQWymYCOukBHYCuKApisdhpMpnURFEU79y503TVyKenpzOTk5M7e3t7MQKPV0Zv1gNm+awB0MvlshqLxfLb29uyJElWURSbXC4XXyvqxcXFs6mpqeTc3Nzu3t7e3wQcA7BPZ8Cov1pNlJplmQtAG8MwHV6v95tAINA5MDBwPxAIuLu6upr8fr/VAN3c3JQjkcjZ+vp6fnl5+d2bN29SuVzuNYAEpf01CdRChUL+X1VskHACuA3Ay3Fcu9vt7nA6nZ7m5uYWQRCaNE3jVVW15PP580KhIGUymWw2m00DOAJwSP4WwPtq4LX2Ao6USxNlQyS/RcQcdLGwlNIz6vEMAaZpNzCk2Pll94LK/cDYimxERiBwG10sxjgvEZBE0UpE6vxj+0Ct5bTaXthgEhRmja8QWNkkPGsuIpfdjpkK+cZUWTC0KredVmtD/gdlSl6EG4AMvQAAAABJRU5ErkJggg==")),
565
+ sizeAttenuation: !1,
566
+ transparent: !0
567
+ });
568
+ this.points = new e.Points(i, f), this.points.renderOrder = 11, this.points.frustumCulled = !1, this.setPoints(t, n), this.add(this.line, this.points);
569
+ }
570
+ setPoints(t, n) {
571
+ let r = [].concat(t.toArray(), n.toArray());
572
+ this.points.geometry.setAttribute("position", new e.BufferAttribute(new Float32Array(r), 3)), this.line.geometry.setPositions(r), this.line.computeLineDistances(), this.needsRender = !0;
573
+ }
574
+ getPoints() {
575
+ let t = this.points.geometry.attributes.position.array;
576
+ return [new e.Vector3(t[0], t[1], t[2]), new e.Vector3(t[3], t[4], t[5])];
577
+ }
578
+ setMaterial(e) {
579
+ let t = this.line.material;
580
+ for (let n in e) {
581
+ if (!e.hasOwnProperty(n)) continue;
582
+ let r = e[n];
583
+ n === "dashed" ? (t.dashed = r, r ? t.defines.USE_DASH = "" : delete t.defines.USE_DASH, t.needsUpdate = !0) : t[n] = e[n];
543
584
  }
544
- `
545
- }, L = (
546
- /** @class */
547
- (function(a) {
548
- A(o, a);
549
- function o(t) {
550
- var n = a.call(this, {
551
- uniforms: i.UniformsUtils.clone(x.uniforms),
552
- vertexShader: x.vertexShader,
553
- fragmentShader: x.fragmentShader,
554
- clipping: !0
555
- // required for clipping support
556
- }) || this;
557
- return n.type = "LineMaterial", n.dashed = !1, Object.defineProperties(n, {
558
- color: {
559
- enumerable: !0,
560
- get: function() {
561
- return this.uniforms.diffuse.value;
562
- },
563
- set: function(e) {
564
- this.uniforms.diffuse.value = e;
565
- }
566
- },
567
- linewidth: {
568
- enumerable: !0,
569
- get: function() {
570
- return this.uniforms.linewidth.value;
571
- },
572
- set: function(e) {
573
- this.uniforms.linewidth.value = e;
574
- }
575
- },
576
- dashScale: {
577
- enumerable: !0,
578
- get: function() {
579
- return this.uniforms.dashScale.value;
580
- },
581
- set: function(e) {
582
- this.uniforms.dashScale.value = e;
583
- }
584
- },
585
- dashSize: {
586
- enumerable: !0,
587
- get: function() {
588
- return this.uniforms.dashSize.value;
589
- },
590
- set: function(e) {
591
- this.uniforms.dashSize.value = e;
592
- }
593
- },
594
- gapSize: {
595
- enumerable: !0,
596
- get: function() {
597
- return this.uniforms.gapSize.value;
598
- },
599
- set: function(e) {
600
- this.uniforms.gapSize.value = e;
601
- }
602
- },
603
- opacity: {
604
- enumerable: !0,
605
- get: function() {
606
- return this.uniforms.opacity.value;
607
- },
608
- set: function(e) {
609
- this.uniforms.opacity.value = e;
610
- }
611
- },
612
- resolution: {
613
- enumerable: !0,
614
- get: function() {
615
- return this.uniforms.resolution.value;
616
- },
617
- set: function(e) {
618
- this.uniforms.resolution.value.copy(e);
619
- }
620
- }
621
- }), n.setValues(t), n;
622
- }
623
- return o;
624
- })(i.ShaderMaterial)
625
- );
626
- Object.assign(L.prototype, { isLineMaterial: !0 });
627
- var F = (
628
- /** @class */
629
- (function(a) {
630
- A(o, a);
631
- function o(t, n) {
632
- var e = a.call(this) || this;
633
- return e.type = "LineSegments2", e.geometry = t !== void 0 ? t : new B(), e.material = n !== void 0 ? n : new L({ color: Math.random() * 16777215 }), e;
634
- }
635
- return o.prototype.computeLineDistances = function() {
636
- for (var t = this.geometry, n = t.attributes.instanceStart, e = t.attributes.instanceEnd, r = new Float32Array(2 * n.count), s = new i.Vector3(), c = new i.Vector3(), p = 0, u = 0, y = n.count; p < y; p++, u += 2)
637
- s.fromBufferAttribute(n, p), c.fromBufferAttribute(e, p), r[u] = u === 0 ? 0 : r[u - 1], r[u + 1] = r[u] + s.distanceTo(c);
638
- var m = new i.InstancedInterleavedBuffer(r, 2, 1);
639
- return t.setAttribute("instanceDistanceStart", new i.InterleavedBufferAttribute(m, 1, 0)), t.setAttribute("instanceDistanceEnd", new i.InterleavedBufferAttribute(m, 1, 1)), this;
640
- }, o.prototype.raycast = function(t, n) {
641
- t.camera === null && console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2.');
642
- var e = t.ray, r = t.camera, s = r.projectionMatrix, c = this.geometry, p = this.material, u = p.resolution, y = p.linewidth, m = c.attributes.instanceStart, M = c.attributes.instanceEnd, l = new i.Vector4(), f = new i.Vector4(), v = new i.Vector4(), g = new i.Vector3(), S = new i.Matrix4(), d = new i.Line3(), C = new i.Vector3();
643
- e.at(1, v), v.w = 1, v.applyMatrix4(r.matrixWorldInverse), v.applyMatrix4(s), v.multiplyScalar(1 / v.w), v.x *= u.x / 2, v.y *= u.y / 2, v.z = 0, g.copy(v);
644
- var w = this.matrixWorld;
645
- S.multiplyMatrices(r.matrixWorldInverse, w);
646
- for (var h = 0, N = m.count; h < N; h++) {
647
- l.fromBufferAttribute(m, h), f.fromBufferAttribute(M, h), l.w = 1, f.w = 1, l.applyMatrix4(S), f.applyMatrix4(S), l.applyMatrix4(s), f.applyMatrix4(s), l.multiplyScalar(1 / l.w), f.multiplyScalar(1 / f.w);
648
- var _ = l.z < -1 && f.z < -1, G = l.z > 1 && f.z > 1;
649
- if (!(_ || G)) {
650
- l.x *= u.x / 2, l.y *= u.y / 2, f.x *= u.x / 2, f.y *= u.y / 2, d.start.copy(l), d.start.z = 0, d.end.copy(f), d.end.z = 0;
651
- var U = d.closestPointToPointParameter(g, !0);
652
- d.at(U, C);
653
- var z = i.MathUtils.lerp(l.z, f.z, U), W = z >= -1 && z <= 1, j = g.distanceTo(C) < y * 0.5;
654
- if (W && j) {
655
- d.start.fromBufferAttribute(m, h), d.end.fromBufferAttribute(M, h), d.start.applyMatrix4(w), d.end.applyMatrix4(w);
656
- var P = new i.Vector3(), b = new i.Vector3();
657
- e.distanceSqToSegment(d.start, d.end, b, P), n.push({
658
- point: b,
659
- pointOnLine: P,
660
- distance: e.origin.distanceTo(b),
661
- object: this,
662
- faceIndex: h
663
- });
664
- }
665
- }
666
- }
667
- }, o;
668
- })(i.Mesh)
669
- );
670
- Object.assign(F.prototype, { isLineSegments2: !0 });
671
- var I = (
672
- /** @class */
673
- (function(a) {
674
- A(o, a);
675
- function o(t, n) {
676
- var e = a.call(this, t, n) || this;
677
- return e.type = "Line2", e;
678
- }
679
- return o;
680
- })(F)
681
- );
682
- Object.assign(I.prototype, { isLine2: !0 });
683
- var O = (
684
- /** @class */
685
- (function(a) {
686
- A(o, a);
687
- function o() {
688
- var t = a.call(this) || this;
689
- return t.type = "LineGeometry", t;
690
- }
691
- return o.prototype.setPositions = function(t) {
692
- for (var n = t.length - 3, e = new Float32Array(2 * n), r = 0; r < n; r += 3)
693
- e[2 * r] = t[r], e[2 * r + 1] = t[r + 1], e[2 * r + 2] = t[r + 2], e[2 * r + 3] = t[r + 3], e[2 * r + 4] = t[r + 4], e[2 * r + 5] = t[r + 5];
694
- return a.prototype.setPositions.call(this, e), this;
695
- }, o.prototype.setColors = function(t) {
696
- for (var n = t.length - 3, e = new Float32Array(2 * n), r = 0; r < n; r += 3)
697
- e[2 * r] = t[r], e[2 * r + 1] = t[r + 1], e[2 * r + 2] = t[r + 2], e[2 * r + 3] = t[r + 3], e[2 * r + 4] = t[r + 4], e[2 * r + 5] = t[r + 5];
698
- return a.prototype.setColors.call(this, e), this;
699
- }, o.prototype.fromLine = function(t) {
700
- var n = t.geometry;
701
- if (n instanceof i.Geometry) {
702
- var e = new i.BufferGeometry().fromGeometry(n);
703
- this.setPositions(e.attributes.position.array);
704
- } else n instanceof i.BufferGeometry && this.setPositions(n.attributes.position.array);
705
- return this;
706
- }, o.prototype.copy = function() {
707
- return this;
708
- }, o;
709
- })(B)
710
- );
711
- Object.assign(O.prototype, { isLineGeometry: !0 });
712
- var T = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sHDgwCEMBJZu0AAAAdaVRYdENvbW1lbnQAAAAAAENyZWF0ZWQgd2l0aCBHSU1QZC5lBwAABM5JREFUWMO1V0tPG2cUPZ4Hxh6DazIOrjFNqJs0FIMqWFgWQkatsmvVbtggKlSVRVf5AWz4AWz4AUSKEChll19QJYSXkECuhFxsHjEhxCYm+DWGMZ5HF72DJq4bAzFXurI0M/I5997v3u9cC65vTJVn2lX/xHINQOYSBLTLEuIuCWw4Z3IGAEvf6ASmVHjNzHCXBG4A0AjACsAOwEbO0nsFQBnAGYASAIl+ZRMR7SolMEdsByD09fV5R0ZGgg8ePPjW5/N1iqLYpuu6RZblciKR2I9Go69evnwZnZ+fjwI4IS8AKBIRzeQfJWCANwKwh0KhtrGxsYehUOin1tbW+zzP23ietzY2NnIAoGmaLsuyUiqVyvl8XtrY2NiamZn589mzZxsAUgCOAeQAnFI2tI+VxIjaAeDzoaGh7xYWFuZOTk6OZVk+12uYqqq6JEnn0Wg0OT4+/geAXwGEAdwDIFJQXC1wO4DWR48e/RCPxxclSSroVzRFUbSDg4P848ePFwH8DuAhkWih83TRQWxFOXgAwvDwcOfo6OhvXV1d39tsNtuVBwTDWBwOh1UUxVsMw1hXVlbSdCgNV43uYSvrHg6H24aHh38eHBz85TrgF9FYLHA4HLzH43FvbW2d7u/vG+dANp8FpqIlbd3d3V8Fg8EfBUFw4BONZVmL3+9vHhkZCQL4AoAHgJPK8G+yzC0XDofdoVAo5PP5vkadTBAEtr+/39ff3x8gAp/RPOEqx2qjx+NpvXv3bk9DQ0NDvQgwDIOWlhZrMBj8kgi0UJdxRgYMArzL5XJ7vd57qLPZ7Xamp6fnNgBXtQxcjFuHw+Hyer3t9SYgCAITCAScAJoBNNEY/08GOFVVrfVMv7kMNDntFD1vjIAPrlRN0xjckOm6biFQ3jwNPwDMZrOnqVTqfb3Bi8Wivru7W/VCYkwPlKOjo0IikXh7EwQikYgE4Nw0CfXKDCipVCoTj8df3QABbW1tLUc6oUgkFPMkVACUNjc337148eKvw8PDbJ2jP1taWkoCyNDVXDSECmNSK4qiKNLq6urW8+fPI/UicHx8rD59+jSVy+WOAKSJhKENwFItLtoxk8mwsixzHR0dHe3t7c5PAU+n09rs7OzJkydPYqVSaQfANoDXALIk31S2smU1TWMPDg7K5XKZ7+3t9TudTut1U7+wsFCcmJiIpdPpbQBxADsAknQWymYCOukBHYCuKApisdhpMpnURFEU79y503TVyKenpzOTk5M7e3t7MQKPV0Zv1gNm+awB0MvlshqLxfLb29uyJElWURSbXC4XXyvqxcXFs6mpqeTc3Nzu3t7e3wQcA7BPZ8Cov1pNlJplmQtAG8MwHV6v95tAINA5MDBwPxAIuLu6upr8fr/VAN3c3JQjkcjZ+vp6fnl5+d2bN29SuVzuNYAEpf01CdRChUL+X1VskHACuA3Ay3Fcu9vt7nA6nZ7m5uYWQRCaNE3jVVW15PP580KhIGUymWw2m00DOAJwSP4WwPtq4LX2Ao6USxNlQyS/RcQcdLGwlNIz6vEMAaZpNzCk2Pll94LK/cDYimxERiBwG10sxjgvEZBE0UpE6vxj+0Ct5bTaXthgEhRmja8QWNkkPGsuIpfdjpkK+cZUWTC0KredVmtD/gdlSl6EG4AMvQAAAABJRU5ErkJggg==", V = 14467195, H = 8, R = 2, k = 20, D = null, Q = (
713
- /** @class */
714
- (function(a) {
715
- A(o, a);
716
- function o(t, n) {
717
- t === void 0 && (t = new i.Vector3()), n === void 0 && (n = new i.Vector3());
718
- var e = a.call(this) || this;
719
- e.type = "FiveLine", e.needsRender = !0;
720
- var r = new O(), s = new L({
721
- color: V,
722
- linewidth: R,
723
- dashScale: k,
724
- dashed: !1
725
- });
726
- e.line = new I(r, s);
727
- var c = new i.BufferGeometry(), p = new i.PointsMaterial({
728
- color: V,
729
- size: H,
730
- map: D || (D = new i.TextureLoader().load(T)),
731
- sizeAttenuation: !1,
732
- transparent: !0
733
- });
734
- return e.points = new i.Points(c, p), e.points.renderOrder = 11, e.points.frustumCulled = !1, e.setPoints(t, n), e.add(e.line, e.points), e;
735
- }
736
- return Object.defineProperty(o, "version", {
737
- get: function() {
738
- return "6.8.0-alpha.9";
739
- },
740
- enumerable: !1,
741
- configurable: !0
742
- }), o.prototype.setPoints = function(t, n) {
743
- var e = [].concat(t.toArray(), n.toArray());
744
- this.points.geometry.setAttribute("position", new i.BufferAttribute(new Float32Array(e), 3)), this.line.geometry.setPositions(e), this.line.computeLineDistances(), this.needsRender = !0;
745
- }, o.prototype.getPoints = function() {
746
- var t = this.points.geometry.attributes.position.array;
747
- return [
748
- new i.Vector3(t[0], t[1], t[2]),
749
- new i.Vector3(t[3], t[4], t[5])
750
- ];
751
- }, o.prototype.setMaterial = function(t) {
752
- var n = this.line.material;
753
- for (var e in t)
754
- if (t.hasOwnProperty(e)) {
755
- var r = t[e];
756
- e === "dashed" ? (n.dashed = r, r ? n.defines.USE_DASH = "" : delete n.defines.USE_DASH, n.needsUpdate = !0) : n[e] = t[e];
757
- }
758
- this.needsRender = !0;
759
- }, o.prototype.setResolution = function(t, n) {
760
- var e = this.line.material.resolution;
761
- (e.x !== t || e.y !== n) && (e.set(t, n), this.needsRender = !0);
762
- }, o;
763
- })(i.Object3D)
764
- );
765
- Object.assign(Q.prototype, { isFiveLine: !0 });
766
- export {
767
- Q as Line,
768
- O as LineGeometry,
769
- L as LineMaterial,
770
- B as LineSegmentsGeometry,
771
- I as THREE_Line2,
772
- F as THREE_LineSegments2
585
+ this.needsRender = !0;
586
+ }
587
+ setResolution(e, t) {
588
+ let n = this.line.material.resolution;
589
+ (n.x !== e || n.y !== t) && (n.set(e, t), this.needsRender = !0);
590
+ }
773
591
  };
592
+ Object.assign(f.prototype, { isFiveLine: !0 });
593
+ //#endregion
594
+ export { f as Line, o as LineGeometry, r as LineMaterial, t as LineSegmentsGeometry, a as THREE_Line2, i as THREE_LineSegments2 };