@realsee/five-webgpu 1.0.0-alpha.14 → 1.0.0-alpha.15

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 (303) hide show
  1. package/_virtual/_rolldown/runtime.js +2 -2
  2. package/docs/assets/hierarchy.js +1 -1
  3. package/docs/assets/search.js +1 -1
  4. package/docs/classes/index.AdaptiveLuminancePass.html +1 -1
  5. package/docs/classes/index.EyeDomeLightingPass.html +1 -1
  6. package/docs/classes/index.Five.html +1 -1
  7. package/docs/classes/index.FivePass.html +1 -1
  8. package/docs/classes/index.FlowingFireworks3DPass.html +1 -1
  9. package/docs/classes/index.FlowingLight2DPass.html +1 -1
  10. package/docs/classes/index.FlowingLight3DPass.html +1 -1
  11. package/docs/classes/index.GaussianBlurPass.html +1 -1
  12. package/docs/classes/index.Model.html +1 -1
  13. package/docs/classes/index.ModelScene.html +1 -1
  14. package/docs/classes/index.PBMCustomNode.html +1 -1
  15. package/docs/classes/index.PBMGaussianSplattingNodeMaterial.html +1 -1
  16. package/docs/classes/index.PBMGaussianSplattingObject.html +1 -1
  17. package/docs/classes/index.PBMGaussianSplattingRenderMesh.html +1 -1
  18. package/docs/classes/index.PBMGroup.html +1 -1
  19. package/docs/classes/index.PBMMesh.html +1 -1
  20. package/docs/classes/index.PBMMeshBasicMaterial.html +1 -1
  21. package/docs/classes/index.PBMMeshBasicNodeMaterial.html +1 -1
  22. package/docs/classes/index.PBMMeshPanoOnlyMaterial.html +1 -1
  23. package/docs/classes/index.PBMMeshPanoOnlyNodeMaterial.html +1 -1
  24. package/docs/classes/index.PBMMeshPhongMaterial.html +1 -1
  25. package/docs/classes/index.PBMMeshPhongNodeMaterial.html +1 -1
  26. package/docs/classes/index.PBMMeshPhysicalMaterial.html +1 -1
  27. package/docs/classes/index.PBMMeshPhysicalNodeMaterial.html +1 -1
  28. package/docs/classes/index.PBMPanoFilter.html +1 -1
  29. package/docs/classes/index.PBMPointCloud.html +1 -1
  30. package/docs/classes/index.PBMPointCloudMaterial.html +1 -1
  31. package/docs/classes/index.PBMSkinnedMesh.html +1 -1
  32. package/docs/classes/index.PBMUpdateable.html +1 -1
  33. package/docs/classes/index.PanoCircleMesh.html +9 -5
  34. package/docs/classes/index.PanoCircleMeshCustom.html +9 -5
  35. package/docs/classes/index.PanoCircleMeshSolid.html +9 -5
  36. package/docs/classes/index.Parameter.html +1 -1
  37. package/docs/classes/index.Tile3D.html +1 -1
  38. package/docs/classes/index.TileNode.html +1 -1
  39. package/docs/classes/index.TrajectoryNode.html +1 -1
  40. package/docs/classes/index.WorkResolvedObserver.html +2 -2
  41. package/docs/hierarchy.html +1 -1
  42. package/docs/interfaces/index.AddableObject.html +1 -1
  43. package/docs/interfaces/index.EventCallback.html +1 -1
  44. package/docs/interfaces/index.IPBMMaterial.html +1 -1
  45. package/docs/interfaces/index.ImageOptions.html +1 -1
  46. package/docs/interfaces/index.IntersectMesh.html +1 -1
  47. package/docs/interfaces/index.IntersectMeshInterface.html +1 -1
  48. package/docs/interfaces/index.Intersection.html +1 -1
  49. package/docs/interfaces/index.LooseWorkObserver.html +2 -2
  50. package/docs/interfaces/index.LooseWorkPanorama.html +2 -2
  51. package/docs/interfaces/index.LooseWorkWithExtrinsics.html +1 -1
  52. package/docs/interfaces/index.ModelControllerCustomInitArgs.html +1 -1
  53. package/docs/interfaces/index.MovePanoOptions.html +1 -1
  54. package/docs/interfaces/index.PanoCircleMeshInterface.html +8 -4
  55. package/docs/interfaces/index.PanoCircleMeshOptions.html +2 -2
  56. package/docs/interfaces/index.PanoCircleMeshSolidOptions.html +2 -2
  57. package/docs/interfaces/index.PanoramaControllerCustomInitArgs.html +1 -1
  58. package/docs/interfaces/index.PanoramaLikeControllerCustomInitArgs.html +1 -1
  59. package/docs/interfaces/index.ParameterMaterialValue.html +1 -1
  60. package/docs/interfaces/index.ParameterTilesetValue.html +1 -1
  61. package/docs/interfaces/index.ParameterValue.html +1 -1
  62. package/docs/interfaces/index.Pose.html +1 -1
  63. package/docs/interfaces/index.ResolvedParameterValue.html +1 -1
  64. package/docs/interfaces/index.State.html +1 -1
  65. package/docs/interfaces/index.TextureOptions.html +1 -1
  66. package/docs/interfaces/index.TopviewControllerCustomInitArgs.html +1 -1
  67. package/docs/interfaces/index.VRPanoramaControllerCustomInitArgs.html +1 -1
  68. package/docs/interfaces/index.ViewLayer.html +1 -1
  69. package/docs/interfaces/index.WorkCubeHdrGainmapImage.html +1 -1
  70. package/docs/interfaces/index.WorkCubeImage.html +1 -1
  71. package/docs/interfaces/index.WorkImage.html +1 -1
  72. package/docs/interfaces/index.WorkObserver.html +2 -2
  73. package/docs/interfaces/index.WorkObserverJson.html +2 -2
  74. package/docs/interfaces/index.WorkPanoramaJson.html +2 -2
  75. package/docs/interfaces/index.WorkTile.html +1 -1
  76. package/docs/interfaces/index.XRPanoramaControllerCustomInitArgs.html +1 -1
  77. package/docs/types/index.ParseOptions.html +1 -1
  78. package/five/chunks/at3d.js +2 -2
  79. package/five/chunks/at3d.mjs +2 -2
  80. package/five/chunks/dome.js +2 -2
  81. package/five/chunks/dome.mjs +2 -2
  82. package/five/chunks/domez.js +2 -2
  83. package/five/chunks/domez.mjs +2 -2
  84. package/five/chunks/fbx.js +2 -2
  85. package/five/chunks/fbx.mjs +2 -2
  86. package/five/chunks/fflate.js +2 -2
  87. package/five/chunks/fflate.mjs +2 -2
  88. package/five/chunks/glTF-helpers.js +2 -2
  89. package/five/chunks/glTF-helpers.mjs +2 -2
  90. package/five/chunks/gltf.js +2 -2
  91. package/five/chunks/gltf.mjs +2 -2
  92. package/five/chunks/imageBitmap.js +2 -2
  93. package/five/chunks/imageBitmap.mjs +2 -2
  94. package/five/chunks/imageSupport.js +2 -2
  95. package/five/chunks/imageSupport.mjs +2 -2
  96. package/five/chunks/lzma.js +2 -2
  97. package/five/chunks/lzma.mjs +2 -2
  98. package/five/chunks/memoryUsage.js +2 -2
  99. package/five/chunks/memoryUsage.mjs +2 -2
  100. package/five/chunks/minimal.js +2 -2
  101. package/five/chunks/minimal.mjs +2 -2
  102. package/five/chunks/pbm.js +2 -2
  103. package/five/chunks/pbm.mjs +2 -2
  104. package/five/chunks/pbmGaussianSplattingObject.js +2 -2
  105. package/five/chunks/pbmGaussianSplattingObject.mjs +2 -2
  106. package/five/chunks/pbmMeshMaterial.js +2 -2
  107. package/five/chunks/pbmMeshMaterial.mjs +2 -2
  108. package/five/chunks/pick.js +2 -2
  109. package/five/chunks/pick.mjs +2 -2
  110. package/five/chunks/ply.js +2 -2
  111. package/five/chunks/ply.mjs +2 -2
  112. package/five/chunks/spz.js +2 -2
  113. package/five/chunks/spz.mjs +2 -2
  114. package/five/controllers/panorama.d.ts +6 -0
  115. package/five/index.js +6 -6
  116. package/five/index.mjs +6 -6
  117. package/five/meshes/panoCircleMesh.d.ts +1 -0
  118. package/five/meshes/panoCircleMeshCustom.d.ts +1 -0
  119. package/five/meshes/panoCircleMeshSolid.d.ts +1 -0
  120. package/five/meshes/panoSphereMesh.d.ts +1 -0
  121. package/five/renderer/postprocessing/passes/pass.js +2 -2
  122. package/five/renderer/postprocessing/passes/pass.mjs +2 -2
  123. package/five/renderer/tools/full-screen-quad.js +2 -2
  124. package/five/renderer/tools/full-screen-quad.mjs +2 -2
  125. package/five/texture/initTexture.d.ts +8 -0
  126. package/five/types/panoCircleMeshInterface.d.ts +6 -0
  127. package/five/utils/calculateThreeMouse.js +2 -2
  128. package/five/utils/calculateThreeMouse.mjs +2 -2
  129. package/five/utils/distance.js +2 -2
  130. package/five/utils/distance.mjs +2 -2
  131. package/five/utils/isNil.js +2 -2
  132. package/five/utils/isNil.mjs +2 -2
  133. package/five/utils/uuid.js +2 -2
  134. package/five/utils/uuid.mjs +2 -2
  135. package/five/work/looseWorkType.d.ts +2 -2
  136. package/five/work/work.d.ts +1 -1
  137. package/five/work/workJsonType.d.ts +2 -2
  138. package/gltf-loader/index.js +3 -3
  139. package/gltf-loader/index.mjs +3 -3
  140. package/line/index.js +3 -3
  141. package/line/index.mjs +3 -3
  142. package/package.json +1 -1
  143. package/plugins/BackgroundPlugin/Controller.js +2 -2
  144. package/plugins/BackgroundPlugin/Controller.mjs +2 -2
  145. package/plugins/BackgroundPlugin/index.js +2 -2
  146. package/plugins/BackgroundPlugin/index.mjs +2 -2
  147. package/plugins/BasePlugin/index.js +2 -2
  148. package/plugins/BasePlugin/index.mjs +2 -2
  149. package/plugins/CSS2DPlugin/Controller.js +2 -2
  150. package/plugins/CSS2DPlugin/Controller.mjs +2 -2
  151. package/plugins/CSS2DPlugin/index.js +2 -2
  152. package/plugins/CSS2DPlugin/index.mjs +2 -2
  153. package/plugins/CSS2DPlugin/style.css_raw.js +2 -2
  154. package/plugins/CSS2DPlugin/style.css_raw.mjs +2 -2
  155. package/plugins/CSS3DPlugin/Controller.js +2 -2
  156. package/plugins/CSS3DPlugin/Controller.mjs +2 -2
  157. package/plugins/CSS3DPlugin/index.js +2 -2
  158. package/plugins/CSS3DPlugin/index.mjs +2 -2
  159. package/plugins/CSS3DPlugin/style.css_raw.js +2 -2
  160. package/plugins/CSS3DPlugin/style.css_raw.mjs +2 -2
  161. package/plugins/FloorplanPlugin/Controller.js +2 -2
  162. package/plugins/FloorplanPlugin/Controller.mjs +2 -2
  163. package/plugins/FloorplanPlugin/index.js +2 -2
  164. package/plugins/FloorplanPlugin/index.mjs +2 -2
  165. package/plugins/FloorplanPlugin/render/assets.js +2 -2
  166. package/plugins/FloorplanPlugin/render/assets.mjs +2 -2
  167. package/plugins/FloorplanPlugin/render/index.js +2 -2
  168. package/plugins/FloorplanPlugin/render/index.mjs +2 -2
  169. package/plugins/FloorplanPlugin/render/isPointInPolygon.js +2 -2
  170. package/plugins/FloorplanPlugin/render/isPointInPolygon.mjs +2 -2
  171. package/plugins/FloorplanPlugin/render/renderFloor.js +2 -2
  172. package/plugins/FloorplanPlugin/render/renderFloor.mjs +2 -2
  173. package/plugins/FloorplanPlugin/render/roomLabelVisibility.js +2 -2
  174. package/plugins/FloorplanPlugin/render/roomLabelVisibility.mjs +2 -2
  175. package/plugins/FloorplanPlugin/render/style.css_raw.js +2 -2
  176. package/plugins/FloorplanPlugin/render/style.css_raw.mjs +2 -2
  177. package/plugins/FloorplanPlugin/utils/changeMode.js +2 -2
  178. package/plugins/FloorplanPlugin/utils/changeMode.mjs +2 -2
  179. package/plugins/FloorplanPlugin/utils/changeModelCanvasOpacity.js +2 -2
  180. package/plugins/FloorplanPlugin/utils/changeModelCanvasOpacity.mjs +2 -2
  181. package/plugins/FloorplanPlugin/utils/correctFiveState.js +2 -2
  182. package/plugins/FloorplanPlugin/utils/correctFiveState.mjs +2 -2
  183. package/plugins/FloorplanPlugin/utils/equal.js +2 -2
  184. package/plugins/FloorplanPlugin/utils/equal.mjs +2 -2
  185. package/plugins/FloorplanPlugin/utils/filter.js +2 -2
  186. package/plugins/FloorplanPlugin/utils/filter.mjs +2 -2
  187. package/plugins/FloorplanPlugin/utils/fiveModelLoad.js +2 -2
  188. package/plugins/FloorplanPlugin/utils/fiveModelLoad.mjs +2 -2
  189. package/plugins/FloorplanPlugin/utils/formatData.js +2 -2
  190. package/plugins/FloorplanPlugin/utils/formatData.mjs +2 -2
  191. package/plugins/FloorplanPlugin/utils/formatFloorplanJson.js +2 -2
  192. package/plugins/FloorplanPlugin/utils/formatFloorplanJson.mjs +2 -2
  193. package/plugins/FloorplanPlugin/utils/formatPosition.js +2 -2
  194. package/plugins/FloorplanPlugin/utils/formatPosition.mjs +2 -2
  195. package/plugins/FloorplanPlugin/utils/getDistanceFromModel.js +2 -2
  196. package/plugins/FloorplanPlugin/utils/getDistanceFromModel.mjs +2 -2
  197. package/plugins/FloorplanPlugin/utils/getPxmm.js +2 -2
  198. package/plugins/FloorplanPlugin/utils/getPxmm.mjs +2 -2
  199. package/plugins/FloorplanPlugin/utils/isTruelyObject.js +2 -2
  200. package/plugins/FloorplanPlugin/utils/isTruelyObject.mjs +2 -2
  201. package/plugins/FloorplanPlugin/utils/nearlyEqual.js +2 -2
  202. package/plugins/FloorplanPlugin/utils/nearlyEqual.mjs +2 -2
  203. package/plugins/FloorplanPlugin/utils/polylabel.js +2 -2
  204. package/plugins/FloorplanPlugin/utils/polylabel.mjs +2 -2
  205. package/plugins/FloorplanPlugin/utils/to.js +2 -2
  206. package/plugins/FloorplanPlugin/utils/to.mjs +2 -2
  207. package/plugins/GaussianSplattingEntranceAnimationPlugin/Controller.js +2 -2
  208. package/plugins/GaussianSplattingEntranceAnimationPlugin/Controller.mjs +2 -2
  209. package/plugins/GaussianSplattingEntranceAnimationPlugin/index.js +2 -2
  210. package/plugins/GaussianSplattingEntranceAnimationPlugin/index.mjs +2 -2
  211. package/plugins/Object3DHelperPlugin/Controller.js +2 -2
  212. package/plugins/Object3DHelperPlugin/Controller.mjs +2 -2
  213. package/plugins/Object3DHelperPlugin/Controllers/BaseController.js +2 -2
  214. package/plugins/Object3DHelperPlugin/Controllers/BaseController.mjs +2 -2
  215. package/plugins/Object3DHelperPlugin/Controllers/BoundingBoxController.js +2 -2
  216. package/plugins/Object3DHelperPlugin/Controllers/BoundingBoxController.mjs +2 -2
  217. package/plugins/Object3DHelperPlugin/Controllers/MoveController.js +2 -2
  218. package/plugins/Object3DHelperPlugin/Controllers/MoveController.mjs +2 -2
  219. package/plugins/Object3DHelperPlugin/Controllers/RotateController.js +2 -2
  220. package/plugins/Object3DHelperPlugin/Controllers/RotateController.mjs +2 -2
  221. package/plugins/Object3DHelperPlugin/FiveControllerWrapper.js +2 -2
  222. package/plugins/Object3DHelperPlugin/FiveControllerWrapper.mjs +2 -2
  223. package/plugins/Object3DHelperPlugin/Helper/BaseHelper.js +2 -2
  224. package/plugins/Object3DHelperPlugin/Helper/BaseHelper.mjs +2 -2
  225. package/plugins/Object3DHelperPlugin/Helper/BoundingBoxHelper.js +2 -2
  226. package/plugins/Object3DHelperPlugin/Helper/BoundingBoxHelper.mjs +2 -2
  227. package/plugins/Object3DHelperPlugin/Helper/MoveHelper.js +2 -2
  228. package/plugins/Object3DHelperPlugin/Helper/MoveHelper.mjs +2 -2
  229. package/plugins/Object3DHelperPlugin/Helper/RotateHelper.js +2 -2
  230. package/plugins/Object3DHelperPlugin/Helper/RotateHelper.mjs +2 -2
  231. package/plugins/Object3DHelperPlugin/constant.js +2 -2
  232. package/plugins/Object3DHelperPlugin/constant.mjs +2 -2
  233. package/plugins/Object3DHelperPlugin/index.js +2 -2
  234. package/plugins/Object3DHelperPlugin/index.mjs +2 -2
  235. package/plugins/Object3DHelperPlugin/utils/ArrowGroup.js +2 -2
  236. package/plugins/Object3DHelperPlugin/utils/ArrowGroup.mjs +2 -2
  237. package/plugins/Object3DHelperPlugin/utils/CenterHandle.js +2 -2
  238. package/plugins/Object3DHelperPlugin/utils/CenterHandle.mjs +2 -2
  239. package/plugins/Object3DHelperPlugin/utils/PlaneHandle.js +2 -2
  240. package/plugins/Object3DHelperPlugin/utils/PlaneHandle.mjs +2 -2
  241. package/plugins/Object3DHelperPlugin/utils/calculateScaleByCamera.js +2 -2
  242. package/plugins/Object3DHelperPlugin/utils/calculateScaleByCamera.mjs +2 -2
  243. package/plugins/Object3DHelperPlugin/utils/cameraHooks.js +2 -2
  244. package/plugins/Object3DHelperPlugin/utils/cameraHooks.mjs +2 -2
  245. package/plugins/Object3DHelperPlugin/utils/direction.js +2 -2
  246. package/plugins/Object3DHelperPlugin/utils/direction.mjs +2 -2
  247. package/plugins/Object3DHelperPlugin/utils/getMouseRaycaster.js +2 -2
  248. package/plugins/Object3DHelperPlugin/utils/getMouseRaycaster.mjs +2 -2
  249. package/plugins/Object3DHelperPlugin/utils/getOrthographicCameraDirection.js +2 -2
  250. package/plugins/Object3DHelperPlugin/utils/getOrthographicCameraDirection.mjs +2 -2
  251. package/plugins/Object3DHelperPlugin/utils/setObjectQuaternion.js +2 -2
  252. package/plugins/Object3DHelperPlugin/utils/setObjectQuaternion.mjs +2 -2
  253. package/plugins/Object3DHelperPlugin/utils/solidGuide.js +2 -2
  254. package/plugins/Object3DHelperPlugin/utils/solidGuide.mjs +2 -2
  255. package/plugins/Object3DHelperPlugin/utils/tipsDom.js +2 -2
  256. package/plugins/Object3DHelperPlugin/utils/tipsDom.mjs +2 -2
  257. package/plugins/PanoAnimePlugin/Controller.js +2 -2
  258. package/plugins/PanoAnimePlugin/Controller.mjs +2 -2
  259. package/plugins/PanoAnimePlugin/index.js +2 -2
  260. package/plugins/PanoAnimePlugin/index.mjs +2 -2
  261. package/plugins/WordPassPlugin/Controller.js +2 -2
  262. package/plugins/WordPassPlugin/Controller.mjs +2 -2
  263. package/plugins/WordPassPlugin/hersheyFont.js +2 -2
  264. package/plugins/WordPassPlugin/hersheyFont.mjs +2 -2
  265. package/plugins/WordPassPlugin/index.js +2 -2
  266. package/plugins/WordPassPlugin/index.mjs +2 -2
  267. package/plugins/WordPassPlugin/textToStrokeOrderStrokes.js +2 -2
  268. package/plugins/WordPassPlugin/textToStrokeOrderStrokes.mjs +2 -2
  269. package/plugins/WordPassPlugin/word-pass.js +3 -3
  270. package/plugins/WordPassPlugin/word-pass.mjs +3 -3
  271. package/plugins/index.js +2 -2
  272. package/plugins/index.mjs +2 -2
  273. package/plugins/thirdParty/CSS2DRenderer.js +2 -2
  274. package/plugins/thirdParty/CSS2DRenderer.mjs +2 -2
  275. package/plugins/thirdParty/CSS3DRenderer.js +2 -2
  276. package/plugins/thirdParty/CSS3DRenderer.mjs +2 -2
  277. package/plugins/thirdParty/doctorstrange-model.js +2 -2
  278. package/plugins/thirdParty/doctorstrange-model.mjs +2 -2
  279. package/plugins/thirdParty/domevents.js +2 -2
  280. package/plugins/thirdParty/domevents.mjs +2 -2
  281. package/plugins/utils/absoluteUrl.js +2 -2
  282. package/plugins/utils/absoluteUrl.mjs +2 -2
  283. package/plugins/utils/calculatePath.js +2 -2
  284. package/plugins/utils/calculatePath.mjs +2 -2
  285. package/plugins/utils/clamp.js +2 -2
  286. package/plugins/utils/clamp.mjs +2 -2
  287. package/plugins/utils/uuid.js +2 -2
  288. package/plugins/utils/uuid.mjs +2 -2
  289. package/react/index.js +2 -2
  290. package/react/index.mjs +2 -2
  291. package/sticker/index.js +3 -3
  292. package/sticker/index.mjs +3 -3
  293. package/umd/five-gltf-loader.js +3 -3
  294. package/umd/five-line.js +3 -3
  295. package/umd/five-plugins.js +4 -4
  296. package/umd/five-react.js +2 -2
  297. package/umd/five-sticker.js +3 -3
  298. package/umd/five-vfx.js +2 -2
  299. package/umd/five.js +47 -47
  300. package/vfx/index.js +2 -2
  301. package/vfx/index.mjs +2 -2
  302. package/work-downloader/index.js +2 -2
  303. package/work-downloader/index.mjs +2 -2
package/umd/five-line.js CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/11/3
5
- * Version: 1.0.0-alpha.14
4
+ * Generated: 2026/11/4
5
+ * Version: 1.0.0-alpha.15
6
6
  * License:
7
7
  * Realsee SDK License Agreement
8
8
 
@@ -402,4 +402,4 @@ fn tsl_biquadraticTexture_array( map : texture_2d_array<f32>, coord : vec2f, iRe
402
402
 
403
403
  }
404
404
  `);var ff=``;(typeof navigator<`u`&&/Firefox|Deno/g.test(navigator.userAgent))!==!0&&(ff+=`diagnostic( off, derivative_uniformity );
405
- `);var pf=new Map([[Int8Array,[`sint8`,`snorm8`]],[Uint8Array,[`uint8`,`unorm8`]],[Int16Array,[`sint16`,`snorm16`]],[Uint16Array,[`uint16`,`unorm16`]],[Int32Array,[`sint32`,`snorm32`]],[Uint32Array,[`uint32`,`unorm32`]],[Float32Array,[`float32`]]]);typeof Float16Array<`u`&&pf.set(Float16Array,[`float16`]);var mf=new t.Box3,hf=new t.Vector3,gf=class extends t.InstancedBufferGeometry{constructor(){super(),this.isLineSegmentsGeometry=!0,this.type=`LineSegmentsGeometry`,this.setIndex([0,2,1,2,3,1,2,4,3,4,5,3,4,6,5,6,7,5]),this.setAttribute(`position`,new t.Float32BufferAttribute([-1,2,0,1,2,0,-1,1,0,1,1,0,-1,0,0,1,0,0,-1,-1,0,1,-1,0],3)),this.setAttribute(`uv`,new t.Float32BufferAttribute([-1,2,1,2,-1,1,1,1,-1,-1,1,-1,-1,-2,1,-2],2))}applyMatrix4(e){let t=this.attributes.instanceStart,n=this.attributes.instanceEnd;return t!==void 0&&(t.applyMatrix4(e),n.applyMatrix4(e),t.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this}setPositions(e){let n;e instanceof Float32Array?n=e:Array.isArray(e)&&(n=new Float32Array(e));let r=new t.InstancedInterleavedBuffer(n,6,1);return this.setAttribute(`instanceStart`,new t.InterleavedBufferAttribute(r,3,0)),this.setAttribute(`instanceEnd`,new t.InterleavedBufferAttribute(r,3,3)),this.instanceCount=this.attributes.instanceStart.count,this.computeBoundingBox(),this.computeBoundingSphere(),this}setColors(e){let n;e instanceof Float32Array?n=e:Array.isArray(e)&&(n=new Float32Array(e));let r=new t.InstancedInterleavedBuffer(n,6,1);return this.setAttribute(`instanceColorStart`,new t.InterleavedBufferAttribute(r,3,0)),this.setAttribute(`instanceColorEnd`,new t.InterleavedBufferAttribute(r,3,3)),this}fromWireframeGeometry(e){return this.setPositions(e.attributes.position.array),this}fromEdgesGeometry(e){return this.setPositions(e.attributes.position.array),this}fromMesh(e){return this.fromWireframeGeometry(new t.WireframeGeometry(e.geometry)),this}fromLineSegments(e){let t=e.geometry;return this.setPositions(t.attributes.position.array),this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new t.Box3);let e=this.attributes.instanceStart,n=this.attributes.instanceEnd;e!==void 0&&n!==void 0&&(this.boundingBox.setFromBufferAttribute(e),mf.setFromBufferAttribute(n),this.boundingBox.union(mf))}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new t.Sphere),this.boundingBox===null&&this.computeBoundingBox();let e=this.attributes.instanceStart,n=this.attributes.instanceEnd;if(e!==void 0&&n!==void 0){let t=this.boundingSphere.center;this.boundingBox.getCenter(t);let r=0;for(let i=0,a=e.count;i<a;i++)hf.fromBufferAttribute(e,i),r=Math.max(r,t.distanceToSquared(hf)),hf.fromBufferAttribute(n,i),r=Math.max(r,t.distanceToSquared(hf));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)}}toJSON(){}},_f=new k,vf=new k,yf=new j,bf=new j,xf=new j,Sf=new k,Cf=new mt,wf=new yi,Tf=new k,Ef=new ln,Df=new Nn,Of=new j,kf=new j,Af,jf;function Mf(e,t,n){return Of.set(0,0,-t,1).applyMatrix4(e.projectionMatrix),Of.multiplyScalar(1/Of.w),Of.x=jf/n.width,Of.y=jf/n.height,Of.applyMatrix4(e.projectionMatrixInverse),Of.multiplyScalar(1/Of.w),Math.abs(Math.max(Of.x,Of.y))}function Nf(e,t){let n=e.matrixWorld,r=e.geometry,i=r.attributes.instanceStart,a=r.attributes.instanceEnd,o=Math.min(r.instanceCount,i.count);for(let r=0,s=o;r<s;r++){wf.start.fromBufferAttribute(i,r),wf.end.fromBufferAttribute(a,r),wf.applyMatrix4(n);let o=new k,s=new k;Af.distanceSqToSegment(wf.start,wf.end,s,o),s.distanceTo(o)<jf*.5&&t.push({point:s,pointOnLine:o,distance:Af.origin.distanceTo(s),object:e,face:null,faceIndex:r,uv:null,uv1:null})}}function Pf(e,t,n){let r=t.projectionMatrix,i=e.matrixWorld,a=e._resolution,o=e.geometry,s=o.attributes.instanceStart,c=o.attributes.instanceEnd,l=Math.min(o.instanceCount,s.count),u=-t.near;Af.at(1,xf),xf.w=1,xf.applyMatrix4(t.matrixWorldInverse),xf.applyMatrix4(r),xf.multiplyScalar(1/xf.w),xf.x*=a.x/2,xf.y*=a.y/2,xf.z=0,Sf.copy(xf),Cf.multiplyMatrices(t.matrixWorldInverse,i);for(let t=0,o=l;t<o;t++){if(yf.fromBufferAttribute(s,t),bf.fromBufferAttribute(c,t),yf.w=1,bf.w=1,yf.applyMatrix4(Cf),bf.applyMatrix4(Cf),yf.z>u&&bf.z>u)continue;if(yf.z>u){let e=yf.z-bf.z,t=(yf.z-u)/e;yf.lerp(bf,t)}else if(bf.z>u){let e=bf.z-yf.z,t=(bf.z-u)/e;bf.lerp(yf,t)}yf.applyMatrix4(r),bf.applyMatrix4(r),yf.multiplyScalar(1/yf.w),bf.multiplyScalar(1/bf.w),yf.x*=a.x/2,yf.y*=a.y/2,bf.x*=a.x/2,bf.y*=a.y/2,wf.start.copy(yf),wf.start.z=0,wf.end.copy(bf),wf.end.z=0;let o=wf.closestPointToPointParameter(Sf,!0);wf.at(o,Tf);let l=Ke.lerp(yf.z,bf.z,o),d=l>=-1&&l<=1,f=Sf.distanceTo(Tf)<jf*.5;if(d&&f){wf.start.fromBufferAttribute(s,t),wf.end.fromBufferAttribute(c,t),wf.start.applyMatrix4(i),wf.end.applyMatrix4(i);let r=new k,a=new k;Af.distanceSqToSegment(wf.start,wf.end,a,r),n.push({point:a,pointOnLine:r,distance:Af.origin.distanceTo(a),object:e,face:null,faceIndex:t,uv:null,uv1:null})}}}var Ff=class extends fr{constructor(e=new gf,t=new Gd({color:Math.random()*16777215})){super(e,t),this.isLineSegments2=!0,this.type=`LineSegments2`,this._resolution=new qe}computeLineDistances(){let e=this.geometry,t=e.attributes.instanceStart,n=e.attributes.instanceEnd,r=new Float32Array(2*t.count);for(let e=0,i=0,a=t.count;e<a;e++,i+=2)_f.fromBufferAttribute(t,e),vf.fromBufferAttribute(n,e),r[i]=i===0?0:r[i-1],r[i+1]=r[i]+_f.distanceTo(vf);let i=new ui(r,2,1);return e.setAttribute(`instanceDistanceStart`,new Un(i,1,0)),e.setAttribute(`instanceDistanceEnd`,new Un(i,1,1)),this}onBeforeRender(e){e.getViewport(kf),this._resolution.set(kf.z,kf.w)}raycast(e,t){let n=this.material.worldUnits,r=e.camera;r===null&&!n&&console.error(`LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2 while worldUnits is set to false.`);let i=e.params.Line2===void 0?0:e.params.Line2.threshold||0;Af=e.ray;let a=this.matrixWorld,o=this.geometry;jf=this.material.linewidth+i,o.boundingSphere===null&&o.computeBoundingSphere(),Df.copy(o.boundingSphere).applyMatrix4(a);let s;if(s=n?jf*.5:Mf(r,Math.max(r.near,Df.distanceToPoint(Af.origin)),this._resolution),Df.radius+=s,Af.intersectsSphere(Df)===!1)return;o.boundingBox===null&&o.computeBoundingBox(),Ef.copy(o.boundingBox).applyMatrix4(a);let c;c=n?jf*.5:Mf(r,Math.max(r.near,Ef.distanceToPoint(Af.origin)),this._resolution),Ef.expandByScalar(c),Af.intersectsBox(Ef)!==!1&&(n?Nf(this,t):Pf(this,r,t))}},If=class extends gf{constructor(){super(),this.isLineGeometry=!0,this.type=`LineGeometry`}setPositions(e){let t=e.length-3,n=new Float32Array(2*t);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];return super.setPositions(n),this}setColors(e){let t=e.length-3,n=new Float32Array(2*t);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];return super.setColors(n),this}setFromPoints(e){let t=e.length-1,n=new Float32Array(6*t);for(let r=0;r<t;r++)n[6*r]=e[r].x,n[6*r+1]=e[r].y,n[6*r+2]=e[r].z||0,n[6*r+3]=e[r+1].x,n[6*r+4]=e[r+1].y,n[6*r+5]=e[r+1].z||0;return super.setPositions(n),this}fromLine(e){let t=e.geometry;return this.setPositions(t.attributes.position.array),this}},Lf=class extends Ff{constructor(e=new If,t=new Gd({color:Math.random()*16777215})){super(e,t),this.isLine2=!0,this.type=`Line2`}},Rf=14467195,zf=8,Bf=2,Vf=20,Hf=null;function Uf(e,t){t instanceof k?e.color.setRGB(t.x,t.y,t.z):e.color.set(t)}var Wf=class extends Vt{static get version(){return`1.0.0-alpha.14`}constructor(e=new k,t=new k){super(),this.type=`FiveLine`,this.needsRender=!0;let n=new If,r=new Gd({color:Rf,linewidth:Bf,dashed:!1});r.scale=Vf,this.line=new Lf(n,r);let i=new Bn,a=new xr({color:Rf,size:zf,map:Hf||(Hf=new Qr().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==`)),sizeAttenuation:!1,transparent:!0});this.points=new Er(i,a),this.points.renderOrder=11,this.points.frustumCulled=!1,this.setPoints(e,t),this.add(this.line,this.points)}setPoints(e,t){let n=[].concat(e.toArray(),t.toArray());this.updatePointsPositions(n),this.updateLinePositions(n),this.needsRender=!0}updatePointsPositions(e){let t=this.points.geometry,n=t.getAttribute(`position`);n&&n.array.length===e.length?(n.array.set(e),n.needsUpdate=!0):t.setAttribute(`position`,new En(new Float32Array(e),3))}updateLinePositions(e){let t=this.line.geometry,n=t.getAttribute(`instanceStart`);if(!n||n.data.array.length!==e.length){t.setPositions(e),this.line.computeLineDistances();return}let r=n.data;r.array.set(e),r.needsUpdate=!0,t.computeBoundingBox(),t.computeBoundingSphere(),this.updateLineDistances()}updateLineDistances(){let e=this.line.geometry,t=e.getAttribute(`instanceDistanceStart`);if(!t){this.line.computeLineDistances();return}let n=e.getAttribute(`instanceStart`),r=e.getAttribute(`instanceEnd`),i=n.count,a=t.data,o=a.array,s=new k,c=new k;for(let e=0,t=0;e<i;e++,t+=2)s.fromBufferAttribute(n,e),c.fromBufferAttribute(r,e),o[t]=t===0?0:o[t-1],o[t+1]=o[t]+s.distanceTo(c);a.needsUpdate=!0}getPoints(){let e=this.points.geometry.attributes.position.array;return[new k(e[0],e[1],e[2]),new k(e[3],e[4],e[5])]}setMaterial(e){let t=this.line.material;for(let n in e){if(!Object.prototype.hasOwnProperty.call(e,n))continue;let r=e[n];if(n===`color`)Uf(t,r);else if(n===`dashed`)t.dashed=r;else if(n===`dashScale`)t.scale=r;else if(n===`resolution`){let e=r;this.setResolution(e.x,e.y)}else t[n]=r}this.needsRender=!0}setResolution(e,t){let n=this.line._resolution;n&&(n.x!==e||n.y!==t)&&(n.set(e,t),this.needsRender=!0)}};Object.assign(Wf.prototype,{isFiveLine:!0}),e.Line=Wf,e.LineGeometry=If,e.LineSegmentsGeometry=gf,e.THREE_Line2=Lf,e.THREE_LineSegments2=Ff});
405
+ `);var pf=new Map([[Int8Array,[`sint8`,`snorm8`]],[Uint8Array,[`uint8`,`unorm8`]],[Int16Array,[`sint16`,`snorm16`]],[Uint16Array,[`uint16`,`unorm16`]],[Int32Array,[`sint32`,`snorm32`]],[Uint32Array,[`uint32`,`unorm32`]],[Float32Array,[`float32`]]]);typeof Float16Array<`u`&&pf.set(Float16Array,[`float16`]);var mf=new t.Box3,hf=new t.Vector3,gf=class extends t.InstancedBufferGeometry{constructor(){super(),this.isLineSegmentsGeometry=!0,this.type=`LineSegmentsGeometry`,this.setIndex([0,2,1,2,3,1,2,4,3,4,5,3,4,6,5,6,7,5]),this.setAttribute(`position`,new t.Float32BufferAttribute([-1,2,0,1,2,0,-1,1,0,1,1,0,-1,0,0,1,0,0,-1,-1,0,1,-1,0],3)),this.setAttribute(`uv`,new t.Float32BufferAttribute([-1,2,1,2,-1,1,1,1,-1,-1,1,-1,-1,-2,1,-2],2))}applyMatrix4(e){let t=this.attributes.instanceStart,n=this.attributes.instanceEnd;return t!==void 0&&(t.applyMatrix4(e),n.applyMatrix4(e),t.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this}setPositions(e){let n;e instanceof Float32Array?n=e:Array.isArray(e)&&(n=new Float32Array(e));let r=new t.InstancedInterleavedBuffer(n,6,1);return this.setAttribute(`instanceStart`,new t.InterleavedBufferAttribute(r,3,0)),this.setAttribute(`instanceEnd`,new t.InterleavedBufferAttribute(r,3,3)),this.instanceCount=this.attributes.instanceStart.count,this.computeBoundingBox(),this.computeBoundingSphere(),this}setColors(e){let n;e instanceof Float32Array?n=e:Array.isArray(e)&&(n=new Float32Array(e));let r=new t.InstancedInterleavedBuffer(n,6,1);return this.setAttribute(`instanceColorStart`,new t.InterleavedBufferAttribute(r,3,0)),this.setAttribute(`instanceColorEnd`,new t.InterleavedBufferAttribute(r,3,3)),this}fromWireframeGeometry(e){return this.setPositions(e.attributes.position.array),this}fromEdgesGeometry(e){return this.setPositions(e.attributes.position.array),this}fromMesh(e){return this.fromWireframeGeometry(new t.WireframeGeometry(e.geometry)),this}fromLineSegments(e){let t=e.geometry;return this.setPositions(t.attributes.position.array),this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new t.Box3);let e=this.attributes.instanceStart,n=this.attributes.instanceEnd;e!==void 0&&n!==void 0&&(this.boundingBox.setFromBufferAttribute(e),mf.setFromBufferAttribute(n),this.boundingBox.union(mf))}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new t.Sphere),this.boundingBox===null&&this.computeBoundingBox();let e=this.attributes.instanceStart,n=this.attributes.instanceEnd;if(e!==void 0&&n!==void 0){let t=this.boundingSphere.center;this.boundingBox.getCenter(t);let r=0;for(let i=0,a=e.count;i<a;i++)hf.fromBufferAttribute(e,i),r=Math.max(r,t.distanceToSquared(hf)),hf.fromBufferAttribute(n,i),r=Math.max(r,t.distanceToSquared(hf));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)}}toJSON(){}},_f=new k,vf=new k,yf=new j,bf=new j,xf=new j,Sf=new k,Cf=new mt,wf=new yi,Tf=new k,Ef=new ln,Df=new Nn,Of=new j,kf=new j,Af,jf;function Mf(e,t,n){return Of.set(0,0,-t,1).applyMatrix4(e.projectionMatrix),Of.multiplyScalar(1/Of.w),Of.x=jf/n.width,Of.y=jf/n.height,Of.applyMatrix4(e.projectionMatrixInverse),Of.multiplyScalar(1/Of.w),Math.abs(Math.max(Of.x,Of.y))}function Nf(e,t){let n=e.matrixWorld,r=e.geometry,i=r.attributes.instanceStart,a=r.attributes.instanceEnd,o=Math.min(r.instanceCount,i.count);for(let r=0,s=o;r<s;r++){wf.start.fromBufferAttribute(i,r),wf.end.fromBufferAttribute(a,r),wf.applyMatrix4(n);let o=new k,s=new k;Af.distanceSqToSegment(wf.start,wf.end,s,o),s.distanceTo(o)<jf*.5&&t.push({point:s,pointOnLine:o,distance:Af.origin.distanceTo(s),object:e,face:null,faceIndex:r,uv:null,uv1:null})}}function Pf(e,t,n){let r=t.projectionMatrix,i=e.matrixWorld,a=e._resolution,o=e.geometry,s=o.attributes.instanceStart,c=o.attributes.instanceEnd,l=Math.min(o.instanceCount,s.count),u=-t.near;Af.at(1,xf),xf.w=1,xf.applyMatrix4(t.matrixWorldInverse),xf.applyMatrix4(r),xf.multiplyScalar(1/xf.w),xf.x*=a.x/2,xf.y*=a.y/2,xf.z=0,Sf.copy(xf),Cf.multiplyMatrices(t.matrixWorldInverse,i);for(let t=0,o=l;t<o;t++){if(yf.fromBufferAttribute(s,t),bf.fromBufferAttribute(c,t),yf.w=1,bf.w=1,yf.applyMatrix4(Cf),bf.applyMatrix4(Cf),yf.z>u&&bf.z>u)continue;if(yf.z>u){let e=yf.z-bf.z,t=(yf.z-u)/e;yf.lerp(bf,t)}else if(bf.z>u){let e=bf.z-yf.z,t=(bf.z-u)/e;bf.lerp(yf,t)}yf.applyMatrix4(r),bf.applyMatrix4(r),yf.multiplyScalar(1/yf.w),bf.multiplyScalar(1/bf.w),yf.x*=a.x/2,yf.y*=a.y/2,bf.x*=a.x/2,bf.y*=a.y/2,wf.start.copy(yf),wf.start.z=0,wf.end.copy(bf),wf.end.z=0;let o=wf.closestPointToPointParameter(Sf,!0);wf.at(o,Tf);let l=Ke.lerp(yf.z,bf.z,o),d=l>=-1&&l<=1,f=Sf.distanceTo(Tf)<jf*.5;if(d&&f){wf.start.fromBufferAttribute(s,t),wf.end.fromBufferAttribute(c,t),wf.start.applyMatrix4(i),wf.end.applyMatrix4(i);let r=new k,a=new k;Af.distanceSqToSegment(wf.start,wf.end,a,r),n.push({point:a,pointOnLine:r,distance:Af.origin.distanceTo(a),object:e,face:null,faceIndex:t,uv:null,uv1:null})}}}var Ff=class extends fr{constructor(e=new gf,t=new Gd({color:Math.random()*16777215})){super(e,t),this.isLineSegments2=!0,this.type=`LineSegments2`,this._resolution=new qe}computeLineDistances(){let e=this.geometry,t=e.attributes.instanceStart,n=e.attributes.instanceEnd,r=new Float32Array(2*t.count);for(let e=0,i=0,a=t.count;e<a;e++,i+=2)_f.fromBufferAttribute(t,e),vf.fromBufferAttribute(n,e),r[i]=i===0?0:r[i-1],r[i+1]=r[i]+_f.distanceTo(vf);let i=new ui(r,2,1);return e.setAttribute(`instanceDistanceStart`,new Un(i,1,0)),e.setAttribute(`instanceDistanceEnd`,new Un(i,1,1)),this}onBeforeRender(e){e.getViewport(kf),this._resolution.set(kf.z,kf.w)}raycast(e,t){let n=this.material.worldUnits,r=e.camera;r===null&&!n&&console.error(`LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2 while worldUnits is set to false.`);let i=e.params.Line2===void 0?0:e.params.Line2.threshold||0;Af=e.ray;let a=this.matrixWorld,o=this.geometry;jf=this.material.linewidth+i,o.boundingSphere===null&&o.computeBoundingSphere(),Df.copy(o.boundingSphere).applyMatrix4(a);let s;if(s=n?jf*.5:Mf(r,Math.max(r.near,Df.distanceToPoint(Af.origin)),this._resolution),Df.radius+=s,Af.intersectsSphere(Df)===!1)return;o.boundingBox===null&&o.computeBoundingBox(),Ef.copy(o.boundingBox).applyMatrix4(a);let c;c=n?jf*.5:Mf(r,Math.max(r.near,Ef.distanceToPoint(Af.origin)),this._resolution),Ef.expandByScalar(c),Af.intersectsBox(Ef)!==!1&&(n?Nf(this,t):Pf(this,r,t))}},If=class extends gf{constructor(){super(),this.isLineGeometry=!0,this.type=`LineGeometry`}setPositions(e){let t=e.length-3,n=new Float32Array(2*t);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];return super.setPositions(n),this}setColors(e){let t=e.length-3,n=new Float32Array(2*t);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];return super.setColors(n),this}setFromPoints(e){let t=e.length-1,n=new Float32Array(6*t);for(let r=0;r<t;r++)n[6*r]=e[r].x,n[6*r+1]=e[r].y,n[6*r+2]=e[r].z||0,n[6*r+3]=e[r+1].x,n[6*r+4]=e[r+1].y,n[6*r+5]=e[r+1].z||0;return super.setPositions(n),this}fromLine(e){let t=e.geometry;return this.setPositions(t.attributes.position.array),this}},Lf=class extends Ff{constructor(e=new If,t=new Gd({color:Math.random()*16777215})){super(e,t),this.isLine2=!0,this.type=`Line2`}},Rf=14467195,zf=8,Bf=2,Vf=20,Hf=null;function Uf(e,t){t instanceof k?e.color.setRGB(t.x,t.y,t.z):e.color.set(t)}var Wf=class extends Vt{static get version(){return`1.0.0-alpha.15`}constructor(e=new k,t=new k){super(),this.type=`FiveLine`,this.needsRender=!0;let n=new If,r=new Gd({color:Rf,linewidth:Bf,dashed:!1});r.scale=Vf,this.line=new Lf(n,r);let i=new Bn,a=new xr({color:Rf,size:zf,map:Hf||(Hf=new Qr().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==`)),sizeAttenuation:!1,transparent:!0});this.points=new Er(i,a),this.points.renderOrder=11,this.points.frustumCulled=!1,this.setPoints(e,t),this.add(this.line,this.points)}setPoints(e,t){let n=[].concat(e.toArray(),t.toArray());this.updatePointsPositions(n),this.updateLinePositions(n),this.needsRender=!0}updatePointsPositions(e){let t=this.points.geometry,n=t.getAttribute(`position`);n&&n.array.length===e.length?(n.array.set(e),n.needsUpdate=!0):t.setAttribute(`position`,new En(new Float32Array(e),3))}updateLinePositions(e){let t=this.line.geometry,n=t.getAttribute(`instanceStart`);if(!n||n.data.array.length!==e.length){t.setPositions(e),this.line.computeLineDistances();return}let r=n.data;r.array.set(e),r.needsUpdate=!0,t.computeBoundingBox(),t.computeBoundingSphere(),this.updateLineDistances()}updateLineDistances(){let e=this.line.geometry,t=e.getAttribute(`instanceDistanceStart`);if(!t){this.line.computeLineDistances();return}let n=e.getAttribute(`instanceStart`),r=e.getAttribute(`instanceEnd`),i=n.count,a=t.data,o=a.array,s=new k,c=new k;for(let e=0,t=0;e<i;e++,t+=2)s.fromBufferAttribute(n,e),c.fromBufferAttribute(r,e),o[t]=t===0?0:o[t-1],o[t+1]=o[t]+s.distanceTo(c);a.needsUpdate=!0}getPoints(){let e=this.points.geometry.attributes.position.array;return[new k(e[0],e[1],e[2]),new k(e[3],e[4],e[5])]}setMaterial(e){let t=this.line.material;for(let n in e){if(!Object.prototype.hasOwnProperty.call(e,n))continue;let r=e[n];if(n===`color`)Uf(t,r);else if(n===`dashed`)t.dashed=r;else if(n===`dashScale`)t.scale=r;else if(n===`resolution`){let e=r;this.setResolution(e.x,e.y)}else t[n]=r}this.needsRender=!0}setResolution(e,t){let n=this.line._resolution;n&&(n.x!==e||n.y!==t)&&(n.set(e,t),this.needsRender=!0)}};Object.assign(Wf.prototype,{isFiveLine:!0}),e.Line=Wf,e.LineGeometry=If,e.LineSegmentsGeometry=gf,e.THREE_Line2=Lf,e.THREE_LineSegments2=Ff});