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

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 (431) hide show
  1. package/_virtual/_rolldown/runtime.js +3 -3
  2. package/docs/assets/hierarchy.js +1 -1
  3. package/docs/assets/navigation.js +1 -1
  4. package/docs/assets/search.js +1 -1
  5. package/docs/classes/index.AdaptiveLuminancePass.html +1 -1
  6. package/docs/classes/index.BoundingMesh.html +1 -1
  7. package/docs/classes/index.Camera.html +1 -1
  8. package/docs/classes/index.EyeDomeLightingPass.html +1 -1
  9. package/docs/classes/index.Five.html +41 -32
  10. package/docs/classes/index.FivePass.html +1 -1
  11. package/docs/classes/index.FiveRenderer.html +7 -2
  12. package/docs/classes/index.FlowingFireworks3DPass.html +1 -1
  13. package/docs/classes/index.FlowingLight2DPass.html +1 -1
  14. package/docs/classes/index.FlowingLight3DPass.html +1 -1
  15. package/docs/classes/index.GaussianBlurPass.html +1 -1
  16. package/docs/classes/index.InternalWebGPURenderer.html +4 -5
  17. package/docs/classes/index.Model.html +1 -1
  18. package/docs/classes/index.ModelScene.html +1 -1
  19. package/docs/classes/index.NetworkSubscribe.html +1 -1
  20. package/docs/classes/index.PBMCustomNode.html +1 -1
  21. package/docs/classes/index.PBMGaussianSplattingNodeMaterial.html +9 -9
  22. package/docs/classes/index.PBMGaussianSplattingObject.html +49 -11
  23. package/docs/classes/index.PBMGaussianSplattingRenderMesh.html +71 -16
  24. package/docs/classes/index.PBMGroup.html +1 -1
  25. package/docs/classes/index.PBMMesh.html +1 -1
  26. package/docs/classes/index.PBMMeshBasicMaterial.html +1 -1
  27. package/docs/classes/index.PBMMeshBasicNodeMaterial.html +1 -1
  28. package/docs/classes/index.PBMMeshPanoOnlyMaterial.html +1 -1
  29. package/docs/classes/index.PBMMeshPanoOnlyNodeMaterial.html +1 -1
  30. package/docs/classes/index.PBMMeshPhongMaterial.html +1 -1
  31. package/docs/classes/index.PBMMeshPhongNodeMaterial.html +1 -1
  32. package/docs/classes/index.PBMMeshPhysicalMaterial.html +1 -1
  33. package/docs/classes/index.PBMMeshPhysicalNodeMaterial.html +1 -1
  34. package/docs/classes/index.PBMPanoFilter.html +1 -1
  35. package/docs/classes/index.PBMPointCloud.html +1 -1
  36. package/docs/classes/index.PBMPointCloudMaterial.html +1 -1
  37. package/docs/classes/index.PBMSkinnedMesh.html +1 -1
  38. package/docs/classes/index.PBMUpdateable.html +1 -1
  39. package/docs/classes/index.PanoCircleMesh.html +1 -1
  40. package/docs/classes/index.PanoCircleMeshCustom.html +1 -1
  41. package/docs/classes/index.PanoCircleMeshSolid.html +1 -1
  42. package/docs/classes/index.Parameter.html +24 -22
  43. package/docs/classes/index.Scene.html +1 -1
  44. package/docs/classes/index.Subscribe.html +1 -1
  45. package/docs/classes/index.Tile3D.html +22 -22
  46. package/docs/classes/index.TileNode.html +2 -2
  47. package/docs/classes/index.TrajectoryNode.html +1 -1
  48. package/docs/classes/index.Work.html +15 -22
  49. package/docs/classes/index.WorkResolvedObserver.html +22 -22
  50. package/docs/functions/index.createWorks.html +1 -1
  51. package/docs/functions/index.parseWork.html +1 -1
  52. package/docs/hierarchy.html +1 -1
  53. package/docs/interfaces/index.AddableObject.html +1 -1
  54. package/docs/interfaces/index.AjaxOptions.html +1 -1
  55. package/docs/interfaces/index.BaseEvent.html +1 -1
  56. package/docs/interfaces/index.Clock.html +1 -1
  57. package/docs/interfaces/index.DeviceProfile.html +2 -2
  58. package/docs/interfaces/index.EventCallback.html +3 -3
  59. package/docs/interfaces/index.GestureEvent.html +1 -1
  60. package/docs/interfaces/index.IPBMMaterial.html +1 -1
  61. package/docs/interfaces/index.ImageOptions.html +1 -1
  62. package/docs/interfaces/index.IntersectEvent.html +1 -1
  63. package/docs/interfaces/index.IntersectMesh.html +1 -1
  64. package/docs/interfaces/index.IntersectMeshInterface.html +1 -1
  65. package/docs/interfaces/index.Intersection.html +1 -1
  66. package/docs/interfaces/index.LooseWorkWithExtrinsics.html +8 -8
  67. package/docs/interfaces/index.ModeChangeEvent.html +1 -1
  68. package/docs/interfaces/index.ModelControllerCustomInitArgs.html +1 -1
  69. package/docs/interfaces/index.ModelEvent.html +1 -1
  70. package/docs/interfaces/index.ModelSceneEvent.html +1 -1
  71. package/docs/interfaces/index.ModelTileEvent.html +1 -1
  72. package/docs/interfaces/index.MovePanoOptions.html +1 -1
  73. package/docs/interfaces/index.NetworkAbortError.html +1 -1
  74. package/docs/interfaces/index.NetworkFirbiddenError.html +1 -1
  75. package/docs/interfaces/index.NetworkOptions.html +1 -1
  76. package/docs/interfaces/index.NetworkProxyError.html +1 -1
  77. package/docs/interfaces/index.NetworkResourceEvent.html +1 -1
  78. package/docs/interfaces/index.NetworkResponseError.html +1 -1
  79. package/docs/interfaces/index.NetworkTimeoutError.html +1 -1
  80. package/docs/interfaces/index.ObjectEvent.html +1 -1
  81. package/docs/interfaces/index.PBMGaussianSplattingNodeMaterialOptions.html +3 -3
  82. package/docs/interfaces/index.PanoCircleMeshInterface.html +1 -1
  83. package/docs/interfaces/index.PanoEvent.html +1 -1
  84. package/docs/interfaces/index.PanoPrepareEvent.html +1 -1
  85. package/docs/interfaces/index.PanoTextureEvent.html +1 -1
  86. package/docs/interfaces/index.PanoramaControllerCustomInitArgs.html +1 -1
  87. package/docs/interfaces/index.PanoramaLikeControllerCustomInitArgs.html +1 -1
  88. package/docs/interfaces/index.ParameterMaterialValue.html +8 -6
  89. package/docs/interfaces/index.ParameterTilesetValue.html +15 -15
  90. package/docs/interfaces/index.ParameterValue.html +21 -19
  91. package/docs/interfaces/index.Pose.html +1 -1
  92. package/docs/interfaces/index.RenderEvent.html +1 -1
  93. package/docs/interfaces/index.ResolvedParameterValue.html +22 -20
  94. package/docs/interfaces/index.SplatData.html +10 -6
  95. package/docs/interfaces/index.State.html +1 -1
  96. package/docs/interfaces/index.StateEvent.html +1 -1
  97. package/docs/interfaces/index.TextureOptions.html +1 -1
  98. package/docs/interfaces/index.Tile3DOptions.html +2 -2
  99. package/docs/interfaces/index.TopviewControllerCustomInitArgs.html +1 -1
  100. package/docs/interfaces/index.VRPanoramaControllerCustomInitArgs.html +1 -1
  101. package/docs/interfaces/index.ViewLayer.html +22 -22
  102. package/docs/interfaces/index.WorkCubeHdrGainmapImage.html +2 -2
  103. package/docs/interfaces/index.WorkCubeImage.html +2 -2
  104. package/docs/interfaces/index.WorkImage.html +5 -5
  105. package/docs/interfaces/index.WorkInitial.html +8 -8
  106. package/docs/interfaces/index.WorkInitialJson.html +2 -2
  107. package/docs/interfaces/index.WorkJson.html +2 -4
  108. package/docs/interfaces/index.WorkModel.html +8 -8
  109. package/docs/interfaces/index.WorkModelJson.html +2 -2
  110. package/docs/interfaces/index.WorkModelLayer.html +6 -6
  111. package/docs/interfaces/index.WorkModelLayerJson.html +2 -2
  112. package/docs/interfaces/index.WorkObserver.html +23 -23
  113. package/docs/interfaces/index.WorkObserverJson.html +2 -2
  114. package/docs/interfaces/index.WorkPanoramaJson.html +2 -2
  115. package/docs/interfaces/index.WorkPanoramasJson.html +2 -2
  116. package/docs/interfaces/index.WorkTile.html +5 -5
  117. package/docs/interfaces/index.WorkVideo.html +4 -4
  118. package/docs/interfaces/index.WorksEvent.html +1 -1
  119. package/docs/interfaces/index.XRControllerEvent.html +1 -1
  120. package/docs/interfaces/index.XRGestureEvent.html +2 -2
  121. package/docs/interfaces/index.XRPanoramaControllerCustomInitArgs.html +1 -1
  122. package/docs/interfaces/index.XRSessionEvent.html +1 -1
  123. package/docs/modules/index.html +1 -1
  124. package/docs/types/index.LegacyEventType.html +3 -3
  125. package/docs/types/index.OutputTextureDataType.html +1 -1
  126. package/docs/types/index.ParseOptions.html +8 -8
  127. package/docs/types/index.PointCloudTransparencyMode.html +2 -0
  128. package/docs/types/index.Works.html +1 -1
  129. package/docs/variables/index.loadAt3d.html +2 -0
  130. package/docs/variables/index.loadDome.html +2 -0
  131. package/docs/variables/index.loadDomez.html +2 -0
  132. package/docs/variables/index.loadGltf.html +2 -0
  133. package/docs/variables/index.loadPbm.html +2 -0
  134. package/docs/variables/index.loadPly.html +2 -0
  135. package/five/application/five.d.ts +13 -0
  136. package/five/chunks/at3d.js +338 -0
  137. package/five/chunks/at3d.mjs +338 -0
  138. package/five/chunks/dome.js +338 -0
  139. package/five/chunks/dome.mjs +338 -0
  140. package/five/chunks/domez.js +338 -0
  141. package/five/chunks/domez.mjs +338 -0
  142. package/five/chunks/fbx.js +338 -0
  143. package/five/chunks/fbx.mjs +338 -0
  144. package/five/chunks/fflate.js +338 -0
  145. package/five/chunks/fflate.mjs +338 -0
  146. package/five/chunks/glTF-helpers.js +804 -0
  147. package/five/chunks/glTF-helpers.mjs +804 -0
  148. package/five/chunks/gltf.js +338 -0
  149. package/five/chunks/gltf.mjs +338 -0
  150. package/five/chunks/imageBitmap.js +338 -0
  151. package/five/chunks/imageBitmap.mjs +338 -0
  152. package/five/chunks/imageSupport.js +338 -0
  153. package/five/chunks/imageSupport.mjs +338 -0
  154. package/five/chunks/lzma.js +383 -0
  155. package/five/chunks/lzma.mjs +383 -0
  156. package/five/chunks/memoryUsage.js +339 -0
  157. package/five/chunks/memoryUsage.mjs +339 -0
  158. package/five/chunks/minimal.js +338 -0
  159. package/five/chunks/minimal.mjs +338 -0
  160. package/five/chunks/pbm.js +338 -0
  161. package/five/chunks/pbm.mjs +338 -0
  162. package/five/chunks/pbmGaussianSplattingObject.js +338 -0
  163. package/five/chunks/pbmGaussianSplattingObject.mjs +338 -0
  164. package/five/chunks/pbmMeshMaterial.js +338 -0
  165. package/five/chunks/pbmMeshMaterial.mjs +338 -0
  166. package/five/chunks/pick.js +338 -0
  167. package/five/chunks/pick.mjs +338 -0
  168. package/five/chunks/ply.js +339 -0
  169. package/five/chunks/ply.mjs +339 -0
  170. package/five/chunks/spz.js +364 -0
  171. package/five/chunks/spz.mjs +364 -0
  172. package/five/controllers/xrPanorama.d.ts +13 -0
  173. package/five/core/internalWebGPURenderer.d.ts +0 -3
  174. package/five/core/panoVideo.d.ts +2 -0
  175. package/five/core/webglBlendEquationFix.d.ts +41 -0
  176. package/five/gaussian-splatting/arena/splatArena.d.ts +227 -0
  177. package/five/gaussian-splatting/cullConstants.d.ts +68 -0
  178. package/five/gaussian-splatting/hybridConstants.d.ts +60 -0
  179. package/five/gaussian-splatting/instancePacking.d.ts +46 -0
  180. package/five/gaussian-splatting/mirrors/layoutMirror.d.ts +44 -0
  181. package/five/gaussian-splatting/mirrors/mirrorBuffer.d.ts +72 -0
  182. package/five/gaussian-splatting/mirrors/mirrorSet.d.ts +17 -0
  183. package/five/gaussian-splatting/mirrors/objectParamsMirror.d.ts +35 -0
  184. package/five/gaussian-splatting/mirrors/transformMirror.d.ts +26 -0
  185. package/five/gaussian-splatting/pipelines/gpuSortPipeline.d.ts +5 -31
  186. package/five/gaussian-splatting/pipelines/pipelineMode.d.ts +1 -2
  187. package/five/gaussian-splatting/sh-core/codec.d.ts +13 -0
  188. package/five/gaussian-splatting/sh-core/constants.d.ts +29 -0
  189. package/five/gaussian-splatting/sh-core/index.d.ts +4 -0
  190. package/five/gaussian-splatting/sh-core/rebakePolicy.d.ts +20 -0
  191. package/five/gaussian-splatting/sh-core/texelRange.d.ts +18 -0
  192. package/five/gaussian-splatting/shAssembler.d.ts +14 -0
  193. package/five/gaussian-splatting/shBakeScheduler.d.ts +26 -0
  194. package/five/gaussian-splatting/shBaker.d.ts +44 -0
  195. package/five/gaussian-splatting/shTileResource.d.ts +22 -0
  196. package/five/gaussian-splatting/splatAssembler.d.ts +1 -1
  197. package/five/gaussian-splatting/transformStore.d.ts +2 -2
  198. package/five/gaussian-splatting/worker/decodeWorker.d.ts +72 -0
  199. package/five/index.d.ts +0 -1
  200. package/five/index.js +138 -640
  201. package/five/index.mjs +229 -29261
  202. package/five/model/index.d.ts +18 -6
  203. package/five/model/loaders/glTF-helpers/extensions/KHR_gaussian_splatting_compression_spz.d.ts +1 -1
  204. package/five/model/loaders/glTF-helpers/extensions/KHR_gaussian_splatting_compression_spz_2.d.ts +1 -1
  205. package/five/model/loaders/ply.d.ts +22 -6
  206. package/five/model/loaders/spz.d.ts +9 -49
  207. package/five/model/loaders/spz.worker.d.ts +37 -0
  208. package/five/model/materials/pbmGaussianSplattingNodeMaterial.d.ts +6 -12
  209. package/five/model/objects/pbmGaussianSplattingObject.d.ts +91 -6
  210. package/five/model/objects/pbmGaussianSplattingRenderMesh.d.ts +357 -15
  211. package/five/model/parameter.d.ts +4 -0
  212. package/five/renderer/compute-renderers/binned/binned-core.d.ts +45 -2
  213. package/five/renderer/compute-renderers/binned/binned-pipelines.d.ts +82 -1
  214. package/five/renderer/compute-renderers/color-space.d.ts +13 -0
  215. package/five/renderer/compute-renderers/composite-pipelines.d.ts +36 -0
  216. package/five/renderer/compute-renderers/frame-plan.d.ts +166 -0
  217. package/five/renderer/compute-renderers/gsplat-hybrid-renderer.d.ts +386 -0
  218. package/five/renderer/compute-renderers/pointcloud-compute-renderer.d.ts +101 -16
  219. package/five/renderer/compute-renderers/shaders/composite-blend.d.ts +2 -0
  220. package/five/renderer/compute-renderers/shaders/gsplatHybridIndirect.d.ts +2 -0
  221. package/five/renderer/compute-renderers/shaders/gsplatProjector.d.ts +2 -0
  222. package/five/renderer/compute-renderers/shaders/gsplatQuad.d.ts +2 -0
  223. package/five/renderer/compute-renderers/shaders/lib/write-additive.d.ts +2 -0
  224. package/five/renderer/compute-renderers/shaders/lib/write-blend.d.ts +2 -0
  225. package/five/renderer/compute-renderers/shaders/lib/write-opaque.d.ts +2 -0
  226. package/five/renderer/compute-renderers/tile-uniform-writer.d.ts +70 -0
  227. package/five/renderer/compute-renderers/transparency-buffers.d.ts +59 -0
  228. package/five/renderer/compute-renderers/transparency-math.d.ts +70 -0
  229. package/five/renderer/compute-renderers/transparency-settings.d.ts +24 -0
  230. package/five/renderer/compute-renderers/uniform-layout.d.ts +11 -2
  231. package/five/renderer/five-renderer.d.ts +28 -3
  232. package/five/renderer/index.d.ts +1 -1
  233. package/five/renderer/postprocessing/passes/pass.js +3 -3
  234. package/five/renderer/postprocessing/passes/pass.mjs +3 -3
  235. package/five/renderer/tools/full-screen-quad.js +3 -3
  236. package/five/renderer/tools/full-screen-quad.mjs +3 -3
  237. package/five/texture/videoTextureBridge.d.ts +152 -0
  238. package/five/thirdparty/sha256.d.ts +149 -0
  239. package/five/utils/calculateThreeMouse.js +3 -3
  240. package/five/utils/calculateThreeMouse.mjs +3 -3
  241. package/five/utils/distance.js +3 -3
  242. package/five/utils/distance.mjs +3 -3
  243. package/five/utils/isNil.js +3 -3
  244. package/five/utils/isNil.mjs +3 -3
  245. package/five/utils/memoryUsage.d.ts +1 -1
  246. package/five/utils/uuid.js +3 -3
  247. package/five/utils/uuid.mjs +3 -3
  248. package/five/work/work.d.ts +0 -7
  249. package/five/work/workJsonType.d.ts +0 -2
  250. package/gltf-loader/index.js +3 -3
  251. package/gltf-loader/index.mjs +3 -50
  252. package/line/index.js +3 -3
  253. package/line/index.mjs +3 -88
  254. package/package.json +1 -1
  255. package/plugins/BackgroundPlugin/Controller.js +4 -4
  256. package/plugins/BackgroundPlugin/Controller.mjs +4 -4
  257. package/plugins/BackgroundPlugin/index.js +3 -3
  258. package/plugins/BackgroundPlugin/index.mjs +3 -3
  259. package/plugins/BasePlugin/index.js +3 -3
  260. package/plugins/BasePlugin/index.mjs +3 -3
  261. package/plugins/CSS2DPlugin/Controller.js +3 -3
  262. package/plugins/CSS2DPlugin/Controller.mjs +3 -3
  263. package/plugins/CSS2DPlugin/index.js +3 -3
  264. package/plugins/CSS2DPlugin/index.mjs +3 -3
  265. package/plugins/CSS2DPlugin/style.css_raw.js +4 -4
  266. package/plugins/CSS2DPlugin/style.css_raw.mjs +4 -4
  267. package/plugins/CSS3DPlugin/Controller.js +3 -3
  268. package/plugins/CSS3DPlugin/Controller.mjs +3 -3
  269. package/plugins/CSS3DPlugin/index.js +3 -3
  270. package/plugins/CSS3DPlugin/index.mjs +3 -3
  271. package/plugins/CSS3DPlugin/style.css_raw.js +4 -4
  272. package/plugins/CSS3DPlugin/style.css_raw.mjs +4 -4
  273. package/plugins/FloorplanPlugin/Controller.js +3 -3
  274. package/plugins/FloorplanPlugin/Controller.mjs +3 -3
  275. package/plugins/FloorplanPlugin/index.js +3 -3
  276. package/plugins/FloorplanPlugin/index.mjs +3 -3
  277. package/plugins/FloorplanPlugin/render/assets.js +3 -3
  278. package/plugins/FloorplanPlugin/render/assets.mjs +3 -3
  279. package/plugins/FloorplanPlugin/render/index.js +3 -3
  280. package/plugins/FloorplanPlugin/render/index.mjs +3 -3
  281. package/plugins/FloorplanPlugin/render/isPointInPolygon.js +3 -3
  282. package/plugins/FloorplanPlugin/render/isPointInPolygon.mjs +3 -3
  283. package/plugins/FloorplanPlugin/render/renderFloor.js +3 -3
  284. package/plugins/FloorplanPlugin/render/renderFloor.mjs +3 -3
  285. package/plugins/FloorplanPlugin/render/roomLabelVisibility.js +3 -3
  286. package/plugins/FloorplanPlugin/render/roomLabelVisibility.mjs +3 -3
  287. package/plugins/FloorplanPlugin/render/style.css_raw.js +4 -4
  288. package/plugins/FloorplanPlugin/render/style.css_raw.mjs +4 -4
  289. package/plugins/FloorplanPlugin/utils/changeMode.js +3 -3
  290. package/plugins/FloorplanPlugin/utils/changeMode.mjs +3 -3
  291. package/plugins/FloorplanPlugin/utils/changeModelCanvasOpacity.js +3 -3
  292. package/plugins/FloorplanPlugin/utils/changeModelCanvasOpacity.mjs +3 -3
  293. package/plugins/FloorplanPlugin/utils/correctFiveState.js +3 -3
  294. package/plugins/FloorplanPlugin/utils/correctFiveState.mjs +3 -3
  295. package/plugins/FloorplanPlugin/utils/equal.js +3 -3
  296. package/plugins/FloorplanPlugin/utils/equal.mjs +3 -3
  297. package/plugins/FloorplanPlugin/utils/filter.js +3 -3
  298. package/plugins/FloorplanPlugin/utils/filter.mjs +3 -3
  299. package/plugins/FloorplanPlugin/utils/fiveModelLoad.js +3 -3
  300. package/plugins/FloorplanPlugin/utils/fiveModelLoad.mjs +3 -3
  301. package/plugins/FloorplanPlugin/utils/formatData.js +3 -3
  302. package/plugins/FloorplanPlugin/utils/formatData.mjs +3 -3
  303. package/plugins/FloorplanPlugin/utils/formatFloorplanJson.js +3 -3
  304. package/plugins/FloorplanPlugin/utils/formatFloorplanJson.mjs +3 -3
  305. package/plugins/FloorplanPlugin/utils/formatPosition.js +3 -3
  306. package/plugins/FloorplanPlugin/utils/formatPosition.mjs +3 -3
  307. package/plugins/FloorplanPlugin/utils/getDistanceFromModel.js +3 -3
  308. package/plugins/FloorplanPlugin/utils/getDistanceFromModel.mjs +3 -3
  309. package/plugins/FloorplanPlugin/utils/getPxmm.js +3 -3
  310. package/plugins/FloorplanPlugin/utils/getPxmm.mjs +3 -3
  311. package/plugins/FloorplanPlugin/utils/isTruelyObject.js +3 -3
  312. package/plugins/FloorplanPlugin/utils/isTruelyObject.mjs +3 -3
  313. package/plugins/FloorplanPlugin/utils/nearlyEqual.js +3 -3
  314. package/plugins/FloorplanPlugin/utils/nearlyEqual.mjs +3 -3
  315. package/plugins/FloorplanPlugin/utils/polylabel.js +3 -3
  316. package/plugins/FloorplanPlugin/utils/polylabel.mjs +3 -3
  317. package/plugins/FloorplanPlugin/utils/to.js +3 -3
  318. package/plugins/FloorplanPlugin/utils/to.mjs +3 -3
  319. package/plugins/GaussianSplattingEntranceAnimationPlugin/Controller.d.ts +6 -0
  320. package/plugins/GaussianSplattingEntranceAnimationPlugin/Controller.js +3 -3
  321. package/plugins/GaussianSplattingEntranceAnimationPlugin/Controller.mjs +3 -3
  322. package/plugins/GaussianSplattingEntranceAnimationPlugin/index.js +3 -3
  323. package/plugins/GaussianSplattingEntranceAnimationPlugin/index.mjs +3 -3
  324. package/plugins/Object3DHelperPlugin/Controller.js +3 -3
  325. package/plugins/Object3DHelperPlugin/Controller.mjs +3 -3
  326. package/plugins/Object3DHelperPlugin/Controllers/BaseController.js +3 -3
  327. package/plugins/Object3DHelperPlugin/Controllers/BaseController.mjs +3 -3
  328. package/plugins/Object3DHelperPlugin/Controllers/BoundingBoxController.js +3 -3
  329. package/plugins/Object3DHelperPlugin/Controllers/BoundingBoxController.mjs +3 -3
  330. package/plugins/Object3DHelperPlugin/Controllers/MoveController.js +3 -3
  331. package/plugins/Object3DHelperPlugin/Controllers/MoveController.mjs +3 -3
  332. package/plugins/Object3DHelperPlugin/Controllers/RotateController.js +3 -3
  333. package/plugins/Object3DHelperPlugin/Controllers/RotateController.mjs +3 -3
  334. package/plugins/Object3DHelperPlugin/FiveControllerWrapper.js +3 -3
  335. package/plugins/Object3DHelperPlugin/FiveControllerWrapper.mjs +3 -3
  336. package/plugins/Object3DHelperPlugin/Helper/BaseHelper.js +3 -3
  337. package/plugins/Object3DHelperPlugin/Helper/BaseHelper.mjs +3 -3
  338. package/plugins/Object3DHelperPlugin/Helper/BoundingBoxHelper.js +3 -3
  339. package/plugins/Object3DHelperPlugin/Helper/BoundingBoxHelper.mjs +3 -3
  340. package/plugins/Object3DHelperPlugin/Helper/MoveHelper.js +3 -3
  341. package/plugins/Object3DHelperPlugin/Helper/MoveHelper.mjs +3 -3
  342. package/plugins/Object3DHelperPlugin/Helper/RotateHelper.js +3 -3
  343. package/plugins/Object3DHelperPlugin/Helper/RotateHelper.mjs +3 -3
  344. package/plugins/Object3DHelperPlugin/constant.js +3 -3
  345. package/plugins/Object3DHelperPlugin/constant.mjs +3 -3
  346. package/plugins/Object3DHelperPlugin/index.js +3 -3
  347. package/plugins/Object3DHelperPlugin/index.mjs +3 -3
  348. package/plugins/Object3DHelperPlugin/utils/ArrowGroup.js +3 -3
  349. package/plugins/Object3DHelperPlugin/utils/ArrowGroup.mjs +3 -3
  350. package/plugins/Object3DHelperPlugin/utils/CenterHandle.js +3 -3
  351. package/plugins/Object3DHelperPlugin/utils/CenterHandle.mjs +3 -3
  352. package/plugins/Object3DHelperPlugin/utils/PlaneHandle.js +3 -3
  353. package/plugins/Object3DHelperPlugin/utils/PlaneHandle.mjs +3 -3
  354. package/plugins/Object3DHelperPlugin/utils/calculateScaleByCamera.js +3 -3
  355. package/plugins/Object3DHelperPlugin/utils/calculateScaleByCamera.mjs +3 -3
  356. package/plugins/Object3DHelperPlugin/utils/cameraHooks.js +3 -3
  357. package/plugins/Object3DHelperPlugin/utils/cameraHooks.mjs +3 -3
  358. package/plugins/Object3DHelperPlugin/utils/direction.js +3 -3
  359. package/plugins/Object3DHelperPlugin/utils/direction.mjs +3 -3
  360. package/plugins/Object3DHelperPlugin/utils/getMouseRaycaster.js +3 -3
  361. package/plugins/Object3DHelperPlugin/utils/getMouseRaycaster.mjs +3 -3
  362. package/plugins/Object3DHelperPlugin/utils/getOrthographicCameraDirection.js +3 -3
  363. package/plugins/Object3DHelperPlugin/utils/getOrthographicCameraDirection.mjs +3 -3
  364. package/plugins/Object3DHelperPlugin/utils/setObjectQuaternion.js +3 -3
  365. package/plugins/Object3DHelperPlugin/utils/setObjectQuaternion.mjs +3 -3
  366. package/plugins/Object3DHelperPlugin/utils/solidGuide.js +3 -3
  367. package/plugins/Object3DHelperPlugin/utils/solidGuide.mjs +3 -3
  368. package/plugins/Object3DHelperPlugin/utils/tipsDom.js +3 -3
  369. package/plugins/Object3DHelperPlugin/utils/tipsDom.mjs +3 -3
  370. package/plugins/PanoAnimePlugin/Controller.js +3 -3
  371. package/plugins/PanoAnimePlugin/Controller.mjs +3 -3
  372. package/plugins/PanoAnimePlugin/index.js +3 -3
  373. package/plugins/PanoAnimePlugin/index.mjs +3 -3
  374. package/plugins/WordPassPlugin/Controller.js +3 -3
  375. package/plugins/WordPassPlugin/Controller.mjs +3 -3
  376. package/plugins/WordPassPlugin/hersheyFont.js +3 -3
  377. package/plugins/WordPassPlugin/hersheyFont.mjs +3 -3
  378. package/plugins/WordPassPlugin/index.js +3 -3
  379. package/plugins/WordPassPlugin/index.mjs +3 -3
  380. package/plugins/WordPassPlugin/textToStrokeOrderStrokes.js +4 -4
  381. package/plugins/WordPassPlugin/textToStrokeOrderStrokes.mjs +4 -4
  382. package/plugins/WordPassPlugin/word-pass.js +3 -3
  383. package/plugins/WordPassPlugin/word-pass.mjs +3 -3
  384. package/plugins/index.js +3 -3
  385. package/plugins/index.mjs +3 -3
  386. package/plugins/thirdParty/CSS2DRenderer.js +3 -3
  387. package/plugins/thirdParty/CSS2DRenderer.mjs +3 -3
  388. package/plugins/thirdParty/CSS3DRenderer.js +3 -3
  389. package/plugins/thirdParty/CSS3DRenderer.mjs +3 -3
  390. package/plugins/thirdParty/doctorstrange-model.js +75 -75
  391. package/plugins/thirdParty/doctorstrange-model.mjs +75 -75
  392. package/plugins/thirdParty/domevents.js +3 -3
  393. package/plugins/thirdParty/domevents.mjs +3 -3
  394. package/plugins/utils/absoluteUrl.js +3 -3
  395. package/plugins/utils/absoluteUrl.mjs +3 -3
  396. package/plugins/utils/calculatePath.js +3 -3
  397. package/plugins/utils/calculatePath.mjs +3 -3
  398. package/plugins/utils/clamp.js +3 -3
  399. package/plugins/utils/clamp.mjs +3 -3
  400. package/plugins/utils/uuid.js +3 -3
  401. package/plugins/utils/uuid.mjs +3 -3
  402. package/react/hooks/useFiveModelReadyState.d.ts +1 -1
  403. package/react/index.js +3 -3
  404. package/react/index.mjs +3 -644
  405. package/sticker/index.d.ts +7 -0
  406. package/sticker/index.js +46 -3
  407. package/sticker/index.mjs +43 -103
  408. package/umd/five-gltf-loader.js +3 -3
  409. package/umd/five-line.js +3 -3
  410. package/umd/five-plugins.js +3 -3
  411. package/umd/five-react.js +2 -2
  412. package/umd/five-sticker.js +46 -3
  413. package/umd/five-vfx.js +2 -2
  414. package/umd/five.js +216 -179
  415. package/vfx/index.js +3 -3
  416. package/vfx/index.mjs +3 -486
  417. package/work-downloader/index.js +3 -3
  418. package/work-downloader/index.mjs +3 -315
  419. package/docs/functions/index.loadAt3d.html +0 -1
  420. package/docs/functions/index.loadDome.html +0 -1
  421. package/docs/functions/index.loadDomez.html +0 -1
  422. package/docs/functions/index.loadGltf.html +0 -1
  423. package/docs/functions/index.loadPbm.html +0 -1
  424. package/docs/functions/index.loadPly.html +0 -1
  425. package/five/certificates/hardware.d.ts +0 -1
  426. package/five/gaussian-splatting/shStore.d.ts +0 -22
  427. package/five/thirdparty/jsrsasign.d.ts +0 -753
  428. package/five/work/keychain.d.ts +0 -5
  429. package/five/work/verify.d.ts +0 -7
  430. package/five/work/workVerify.d.ts +0 -2
  431. /package/five/{work/_ALLOW_HOST.d.ts → renderer/compute-renderers/shaders/composite-additive.d.ts} +0 -0
@@ -0,0 +1,152 @@
1
+ import * as THREE from "three/webgpu";
2
+ /**
3
+ * 视频纹理桥(WebGPU / WebGL 后端通用)。
4
+ *
5
+ * ## 为什么需要
6
+ *
7
+ * 把 `<video>` 直接交给 three 的 `VideoTexture` 上传,在部分「浏览器 × 后端」组合下得到的是黑色:
8
+ *
9
+ * - Safari 18(WebGPU):`copyExternalImageToTexture(video)` 校验失败,纹理没有被写入;
10
+ * - 小米浏览器(WebGL,Chromium 内核):`texImage2D(video)`、`drawImage(video)`、`createImageBitmap(video)`
11
+ * 全部读到黑色,只有 `new VideoFrame(video)` 能拿到画面。
12
+ *
13
+ * 没有任何一条上传路径在所有环境里都可靠,所以这里不按 UA 猜,而是**运行时探测**:
14
+ * 按优先级依次用小尺寸采样验证每条候选路径「真的有画面」,选第一条有画面的并锁定。
15
+ *
16
+ * ## 候选路径(按优先级)
17
+ *
18
+ * | 候选 | 取帧 | WebGPU 后端 | WebGL 后端 |
19
+ * | ---------------------- | ------------------------------ | ------------------------------ | ------------------------- |
20
+ * | `videoFrame` | `new VideoFrame(video)` | importExternalTexture + blit | texImage2D(VideoFrame) |
21
+ * | `video` | `<video>` 元素本身 | importExternalTexture + blit | texImage2D(video) |
22
+ * | `canvasFromVideoFrame` | VideoFrame → canvas2d.drawImage | three 上传 canvas | three 上传 canvas |
23
+ * | `canvasFromVideo` | video → canvas2d.drawImage | three 上传 canvas | three 上传 canvas |
24
+ *
25
+ * WebGPU 后端下前两条是「external texture → 全屏三角形 render pass → 自持中间纹理」,全程在 GPU 上,
26
+ * 没有 CPU 读写。后两条经过 canvas2d(有一定性能损耗),是前两条都不可用时的兜底。
27
+ *
28
+ * ## 探测与锁定
29
+ *
30
+ * - 探测只读一块 16x16(WebGL / canvas)或 64x16(WebGPU)的小采样,取各通道最大值,
31
+ * `>= BRIGHT_THRESHOLD` 视为有画面;
32
+ * - 探测通过的第一条候选被锁定,之后不再探测;
33
+ * - 全部候选都是黑(视频本身可能就是黑场)时保持默认候选,退避重试,直到出现有画面的候选;
34
+ * - 视频 `src` 变化(`loadstart`)时解除锁定并重新探测;
35
+ * - 当前候选连续多帧抛错时,拉黑它并换下一条。
36
+ *
37
+ * ## 调用约定
38
+ *
39
+ * 由使用方在 `Object3D.onBeforeRender` 中调用 {@link VideoTextureBridge.update},
40
+ * 然后把 {@link VideoTextureBridge.texture} 赋给材质。`onBeforeRender` 早于该对象的
41
+ * 节点构建与绑定更新,所以本帧绑定的一定是更新后的纹理。
42
+ */
43
+ type CandidateId = 'videoFrame' | 'video' | 'canvasFromVideoFrame' | 'canvasFromVideo';
44
+ declare class VideoTextureBridge {
45
+ /** 原始视频纹理:所有候选都不可用(或桥无法识别后端)时原样使用 */
46
+ readonly videoTexture: THREE.VideoTexture;
47
+ /**
48
+ * 诊断信息(只读,供排查用)。
49
+ * - `path`:`pending` 未见过 renderer / `webgpu` / `webgl` / `fallback` 全部候选失败、退回原 VideoTexture
50
+ * - `candidate`:当前候选;`locked`:是否已探测通过并锁定
51
+ * - `probe`:最近一次探测结果,如 `vf:210 video:0`(数字为采样最大值,`n/a` 不可用,`-1` 失败)
52
+ * - `updateCalls` update 调用次数(为 0 说明 onBeforeRender 没触发,即对象没被渲染);
53
+ * `skipNotReady` 因视频未就绪跳过的次数;`blitCount` 实际产出帧数;`rvfcCount` rVFC 回调次数;`fails` 产出失败次数
54
+ */
55
+ readonly debug: {
56
+ path: "pending" | "webgpu" | "webgl" | "fallback";
57
+ candidate: string;
58
+ locked: boolean;
59
+ probe: string;
60
+ updateCalls: number;
61
+ skipNotReady: number;
62
+ blitCount: number;
63
+ rvfcCount: number;
64
+ fails: number;
65
+ targetSize: string;
66
+ lastError: string;
67
+ };
68
+ private mode;
69
+ private device;
70
+ /** 所有候选都不可用后置位,永久退回原 VideoTexture */
71
+ private broken;
72
+ private disposed;
73
+ private current;
74
+ private locked;
75
+ /** 被拉黑的候选及其解除时间(performance.now() 时间戳);到期后会重新参与探测 */
76
+ private readonly blacklist;
77
+ private probing;
78
+ private nextProbeAt;
79
+ private probeInterval;
80
+ private consecutiveFails;
81
+ /** 本轮连续失败的起点时间 */
82
+ private failingSince;
83
+ /** three 上传的输出纹理:image 在 VideoFrame / video / canvas 之间切换 */
84
+ private frameTexture;
85
+ private frameReady;
86
+ /** 挂在 frameTexture 上、需要在被替换时关闭的 VideoFrame */
87
+ private heldFrame;
88
+ private canvas;
89
+ private canvasContext;
90
+ /** WebGPU 的 blit 中间纹理及其 three 包装 */
91
+ private gpuTexture;
92
+ private externalTexture;
93
+ private externalReady;
94
+ private width;
95
+ private height;
96
+ private frameDirty;
97
+ private lastVideoTime;
98
+ private videoFrameCallbackId;
99
+ private glProbe;
100
+ private glProbeFailed;
101
+ private gpuProbe;
102
+ private probeCanvas;
103
+ /** 被 {@link forceCandidate} 强制指定后,不再自动探测 / 换源重探 */
104
+ private forced;
105
+ private readonly onSourceChange;
106
+ constructor(videoTexture: THREE.VideoTexture);
107
+ private get video();
108
+ private scheduleVideoFrameCallback;
109
+ /**
110
+ * 当前应被材质采样的纹理。
111
+ * 输出尚未就绪时返回 1x1 黑色占位(不会触发有问题的上传路径);识别不了后端或全部失败时返回原 `VideoTexture`。
112
+ */
113
+ get texture(): THREE.Texture;
114
+ /**
115
+ * 有新视频帧时产出一次。应在 `onBeforeRender` 中调用,同一帧多次调用只会产出一次。
116
+ */
117
+ update(renderer: unknown): void;
118
+ /**
119
+ * 强制使用某条候选路径(仅用于诊断 / 测试),传 `null` 恢复自动探测。
120
+ * 强制期间不探测、换视频也不重探;候选连续失败时仍会被拉黑并换下一条。
121
+ */
122
+ forceCandidate(candidate: CandidateId | null): void;
123
+ private resolveMode;
124
+ private ensureFrameTexture;
125
+ private produce;
126
+ /** 把图像源交给 frameTexture,并关闭被替换掉的 VideoFrame */
127
+ private setFrame;
128
+ private drawCanvas;
129
+ private isBlacklisted;
130
+ private onProduceFailed;
131
+ private blit;
132
+ private ensureTarget;
133
+ private startProbe;
134
+ private runProbe;
135
+ private select;
136
+ private probeCandidate;
137
+ /** canvas2d 探测:把视频缩到 16x16 再读回 */
138
+ private probe2d;
139
+ /** WebGL 探测:用独立的小 WebGL2 上下文做 texImage2D → 绘制 → readPixels,行为与 three 的 WebGL 后端一致 */
140
+ private probeGL;
141
+ /** WebGPU 探测:external texture → 64x16 小目标 → 回读(异步) */
142
+ private probeGPU;
143
+ private releaseProbeResources;
144
+ private releaseOutputs;
145
+ dispose(): void;
146
+ }
147
+ /**
148
+ * 取得某个 `VideoTexture` 对应的桥(同一个 `VideoTexture` 共用一个)。
149
+ * `VideoTexture` 被 dispose 时桥一并释放,之后再取会新建。
150
+ */
151
+ declare function getVideoTextureBridge(videoTexture: THREE.VideoTexture): VideoTextureBridge;
152
+ export { VideoTextureBridge, getVideoTextureBridge, type CandidateId };
@@ -0,0 +1,149 @@
1
+ type Message = string | number[] | ArrayBuffer | Uint8Array;
2
+
3
+ interface Hasher {
4
+ /**
5
+ * Update hash
6
+ *
7
+ * @param message The message you want to hash.
8
+ */
9
+ update(message: Message): Hasher;
10
+
11
+ /**
12
+ * Return hash in hex string.
13
+ */
14
+ hex(): string;
15
+
16
+ /**
17
+ * Return hash in hex string.
18
+ */
19
+ toString(): string;
20
+
21
+ /**
22
+ * Return hash in ArrayBuffer.
23
+ */
24
+ arrayBuffer(): ArrayBuffer;
25
+
26
+ /**
27
+ * Return hash in integer array.
28
+ */
29
+ digest(): number[];
30
+
31
+ /**
32
+ * Return hash in integer array.
33
+ */
34
+ array(): number[];
35
+ }
36
+
37
+ interface Hmac {
38
+ /**
39
+ * Computes a Hash-based message authentication code (HMAC) using a secret key
40
+ *
41
+ * @param secretKey The Secret Key
42
+ * @param message The message you want to hash.
43
+ */
44
+ (secretKey: Message, message: Message): string;
45
+
46
+ /**
47
+ * Create a hash object using a secret key.
48
+ *
49
+ * @param secretKey The Secret Key
50
+ */
51
+ create(secretKey: Message): Hasher;
52
+
53
+ /**
54
+ * Create a hash object and hash message using a secret key
55
+ *
56
+ * @param secretKey The Secret Key
57
+ * @param message The message you want to hash.
58
+ */
59
+ update(secretKey: Message, message: Message): Hasher;
60
+
61
+ /**
62
+ * Return hash in hex string.
63
+ *
64
+ * @param secretKey The Secret Key
65
+ * @param message The message you want to hash.
66
+ */
67
+ hex(secretKey: Message, message: Message): string;
68
+
69
+ /**
70
+ * Return hash in ArrayBuffer.
71
+ *
72
+ * @param secretKey The Secret Key
73
+ * @param message The message you want to hash.
74
+ */
75
+ arrayBuffer(secretKey: Message, message: Message): ArrayBuffer;
76
+
77
+ /**
78
+ * Return hash in integer array.
79
+ *
80
+ * @param secretKey The Secret Key
81
+ * @param message The message you want to hash.
82
+ */
83
+ digest(secretKey: Message, message: Message): number[];
84
+
85
+ /**
86
+ * Return hash in integer array.
87
+ *
88
+ * @param secretKey The Secret Key
89
+ * @param message The message you want to hash.
90
+ */
91
+ array(secretKey: Message, message: Message): number[];
92
+ }
93
+
94
+ interface Hash {
95
+ /**
96
+ * Hash and return hex string.
97
+ *
98
+ * @param message The message you want to hash.
99
+ */
100
+ (message: Message): string;
101
+
102
+ /**
103
+ * Create a hash object.
104
+ */
105
+ create(): Hasher;
106
+
107
+ /**
108
+ * Create a hash object and hash message.
109
+ *
110
+ * @param message The message you want to hash.
111
+ */
112
+ update(message: Message): Hasher;
113
+
114
+ /**
115
+ * Return hash in hex string.
116
+ *
117
+ * @param message The message you want to hash.
118
+ */
119
+ hex(message: Message): string;
120
+
121
+ /**
122
+ * Return hash in ArrayBuffer.
123
+ *
124
+ * @param message The message you want to hash.
125
+ */
126
+ arrayBuffer(message: Message): ArrayBuffer;
127
+
128
+ /**
129
+ * Return hash in integer array.
130
+ *
131
+ * @param message The message you want to hash.
132
+ */
133
+ digest(message: Message): number[];
134
+
135
+ /**
136
+ * Return hash in integer array.
137
+ *
138
+ * @param message The message you want to hash.
139
+ */
140
+ array(message: Message): number[];
141
+
142
+ /**
143
+ * HMAC interface
144
+ */
145
+ hmac: Hmac;
146
+ }
147
+
148
+ export var sha256: Hash;
149
+ export var sha224: Hash;
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/29
5
- * Version: 1.0.0-alpha.12
4
+ * Generated: 2026/11/3
5
+ * Version: 1.0.0-alpha.14
6
6
  * License:
7
7
  * Realsee SDK License Agreement
8
8
 
@@ -335,4 +335,4 @@
335
335
  * writing and signed by Realsee. You and Realsee hereto confirm that this
336
336
  * Agreement and all related documents shall be drafted in English.
337
337
 
338
- */const e=require("../../_virtual/_rolldown/runtime.js");let t=require("three/webgpu");t=e.__toESM(t,1);function n(e,n,r){let{top:i,left:a,width:o,height:s}=n.getBoundingClientRect();return r&&(a+=o*r.left,i+=s*(1-r.bottom-r.height),o*=r.width,s*=r.height),new t.Vector2((e.x-a)/o*2-1,-(e.y-i)/s*2+1)}exports.calculateThreeMouse=n;
338
+ */const require_runtime=require("../../_virtual/_rolldown/runtime.js");let three_webgpu=require("three/webgpu");three_webgpu=require_runtime.__toESM(three_webgpu,1);function calculateThreeMouse(mouseXY,element,viewport){let{top,left,width,height}=element.getBoundingClientRect();return viewport&&(left+=width*viewport.left,top+=height*(1-viewport.bottom-viewport.height),width*=viewport.width,height*=viewport.height),new three_webgpu.Vector2((mouseXY.x-left)/width*2-1,-(mouseXY.y-top)/height*2+1)}exports.calculateThreeMouse=calculateThreeMouse;
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/29
5
- * Version: 1.0.0-alpha.12
4
+ * Generated: 2026/11/3
5
+ * Version: 1.0.0-alpha.14
6
6
  * License:
7
7
  * Realsee SDK License Agreement
8
8
 
@@ -335,4 +335,4 @@
335
335
  * writing and signed by Realsee. You and Realsee hereto confirm that this
336
336
  * Agreement and all related documents shall be drafted in English.
337
337
 
338
- */import*as e from"three/webgpu";function t(t,n,r){let{top:i,left:a,width:o,height:s}=n.getBoundingClientRect();return r&&(a+=o*r.left,i+=s*(1-r.bottom-r.height),o*=r.width,s*=r.height),new e.Vector2((t.x-a)/o*2-1,-(t.y-i)/s*2+1)}export{t as calculateThreeMouse};
338
+ */import*as THREE from"three/webgpu";function calculateThreeMouse(mouseXY,element,viewport){let{top,left,width,height}=element.getBoundingClientRect();return viewport&&(left+=width*viewport.left,top+=height*(1-viewport.bottom-viewport.height),width*=viewport.width,height*=viewport.height),new THREE.Vector2((mouseXY.x-left)/width*2-1,-(mouseXY.y-top)/height*2+1)}export{calculateThreeMouse};
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/29
5
- * Version: 1.0.0-alpha.12
4
+ * Generated: 2026/11/3
5
+ * Version: 1.0.0-alpha.14
6
6
  * License:
7
7
  * Realsee SDK License Agreement
8
8
 
@@ -335,4 +335,4 @@
335
335
  * writing and signed by Realsee. You and Realsee hereto confirm that this
336
336
  * Agreement and all related documents shall be drafted in English.
337
337
 
338
- */function e(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)+(`z`in e?Math.pow(e.z-t.z,2):0))}exports.distance=e;
338
+ */function distance(p0,p1){return Math.sqrt(Math.pow(p0.x-p1.x,2)+Math.pow(p0.y-p1.y,2)+(`z`in p0?Math.pow(p0.z-p1.z,2):0))}exports.distance=distance;
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/29
5
- * Version: 1.0.0-alpha.12
4
+ * Generated: 2026/11/3
5
+ * Version: 1.0.0-alpha.14
6
6
  * License:
7
7
  * Realsee SDK License Agreement
8
8
 
@@ -335,4 +335,4 @@
335
335
  * writing and signed by Realsee. You and Realsee hereto confirm that this
336
336
  * Agreement and all related documents shall be drafted in English.
337
337
 
338
- */function e(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)+(`z`in e?Math.pow(e.z-t.z,2):0))}export{e as distance};
338
+ */function distance(p0,p1){return Math.sqrt(Math.pow(p0.x-p1.x,2)+Math.pow(p0.y-p1.y,2)+(`z`in p0?Math.pow(p0.z-p1.z,2):0))}export{distance};
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/29
5
- * Version: 1.0.0-alpha.12
4
+ * Generated: 2026/11/3
5
+ * Version: 1.0.0-alpha.14
6
6
  * License:
7
7
  * Realsee SDK License Agreement
8
8
 
@@ -335,4 +335,4 @@
335
335
  * writing and signed by Realsee. You and Realsee hereto confirm that this
336
336
  * Agreement and all related documents shall be drafted in English.
337
337
 
338
- */function e(e){return e==null}exports.isNil=e;
338
+ */function isNil(object){return object==null}exports.isNil=isNil;
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/29
5
- * Version: 1.0.0-alpha.12
4
+ * Generated: 2026/11/3
5
+ * Version: 1.0.0-alpha.14
6
6
  * License:
7
7
  * Realsee SDK License Agreement
8
8
 
@@ -335,4 +335,4 @@
335
335
  * writing and signed by Realsee. You and Realsee hereto confirm that this
336
336
  * Agreement and all related documents shall be drafted in English.
337
337
 
338
- */function e(e){return e==null}export{e as isNil};
338
+ */function isNil(object){return object==null}export{isNil};
@@ -1,4 +1,4 @@
1
- import * as THREE from 'three';
1
+ import * as THREE from 'three/webgpu';
2
2
  import { PBMGaussianSplattingObject } from '../model/objects/pbmGaussianSplattingObject';
3
3
  import { PBMPointCloud } from '../model/objects/pbmPointCloud';
4
4
  /**
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/29
5
- * Version: 1.0.0-alpha.12
4
+ * Generated: 2026/11/3
5
+ * Version: 1.0.0-alpha.14
6
6
  * License:
7
7
  * Realsee SDK License Agreement
8
8
 
@@ -335,4 +335,4 @@
335
335
  * writing and signed by Realsee. You and Realsee hereto confirm that this
336
336
  * Agreement and all related documents shall be drafted in English.
337
337
 
338
- */function e(){return((1+Math.random())*65536|0).toString(16).substring(1)}function t(){return(e()+e()+`-`+e()+`-4`+e().substr(0,3)+`-`+e()+`-`+e()+e()+e()).toLowerCase()}exports.uuid=t;
338
+ */function S4(){return((1+Math.random())*65536|0).toString(16).substring(1)}function createUuid(){return(S4()+S4()+`-`+S4()+`-4`+S4().substr(0,3)+`-`+S4()+`-`+S4()+S4()+S4()).toLowerCase()}exports.uuid=createUuid;
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/29
5
- * Version: 1.0.0-alpha.12
4
+ * Generated: 2026/11/3
5
+ * Version: 1.0.0-alpha.14
6
6
  * License:
7
7
  * Realsee SDK License Agreement
8
8
 
@@ -335,4 +335,4 @@
335
335
  * writing and signed by Realsee. You and Realsee hereto confirm that this
336
336
  * Agreement and all related documents shall be drafted in English.
337
337
 
338
- */function e(){return((1+Math.random())*65536|0).toString(16).substring(1)}function t(){return(e()+e()+`-`+e()+`-4`+e().substr(0,3)+`-`+e()+`-`+e()+e()+e()).toLowerCase()}export{t as uuid};
338
+ */function S4(){return((1+Math.random())*65536|0).toString(16).substring(1)}function createUuid(){return(S4()+S4()+`-`+S4()+`-4`+S4().substr(0,3)+`-`+S4()+`-`+S4()+S4()+S4()).toLowerCase()}export{createUuid as uuid};
@@ -168,16 +168,10 @@ export interface WorkModel {
168
168
  layers: readonly WorkModelLayer[];
169
169
  }
170
170
  export interface Work {
171
- /** 数据签发人 */
172
- issuer: string;
173
171
  /** 编号 */
174
172
  workCode: string;
175
173
  /** 内部项目 id */
176
174
  projectId?: string;
177
- /** 允许访问的安全域名 */
178
- allowHosts: readonly string[];
179
- /** 过期时间 */
180
- expire: Date;
181
175
  /** 名称 */
182
176
  name: string;
183
177
  /** 根地址 */
@@ -230,7 +224,6 @@ export declare class Work {
230
224
  static parse: typeof parseWork;
231
225
  constructor(obj: Work | LoosePanoWork | LooseWork | (Work | LooseWork)[] | any, options: ParseOptions);
232
226
  getURL(source: string): string;
233
- verifyURL(source: string): boolean;
234
227
  toJSON(): any;
235
228
  }
236
229
  export type ParseOptions = {
@@ -1,6 +1,4 @@
1
1
  export interface WorkJson {
2
- allow_hosts: string[];
3
- expire_at: string;
4
2
  code: string;
5
3
  name?: string;
6
4
  project_id?: string;
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/29
5
- * Version: 1.0.0-alpha.12
4
+ * Generated: 2026/11/3
5
+ * Version: 1.0.0-alpha.14
6
6
  * License:
7
7
  * Realsee SDK License Agreement
8
8
 
@@ -335,4 +335,4 @@
335
335
  * writing and signed by Realsee. You and Realsee hereto confirm that this
336
336
  * Agreement and all related documents shall be drafted in English.
337
337
 
338
- */Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require("@realsee/five-webgpu"),l=require("three/webgpu");l=s(l,1);var u=class extends l.Group{constructor(e){super(),this.needsRender=!0,e&&e.children.length&&this.add(...e.children),this.mixer=new l.AnimationMixer(this)}clone(){let e=super.clone(!0);return e.mixer=new l.AnimationMixer(e),e.needsRender=!0,e}};function d(e){let t=new u(e.scene);return t.position.copy(e.scene.position),t.quaternion.copy(e.scene.quaternion),t.scale.copy(e.scene.scale),Object.assign(Object.assign({},e),{scene:t,scenes:[t]})}var f=class{static get version(){return`1.0.0-alpha.12`}load(e,t,n,r){(0,c.loadGltf)(e,{modelUpAxis:`Y`,upAxis:`Y`,onDownloadProgress(e,t,r){n&&n(new ProgressEvent(`progress`,{lengthComputable:typeof r==`number`,loaded:t==null?0:t,total:r==null?0:r}))}}).then(e=>{t(d(e))}).catch(e=>{r?r(new ErrorEvent(`error`,{error:e,message:e instanceof Error?e.message:String(e)})):console.error(e)})}};exports.GLTFLoader=f,exports.GLTFObject=u;
338
+ */Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__copyProps=(to,from,except,desc)=>{if(from&&typeof from==`object`||typeof from==`function`)for(var keys=__getOwnPropNames(from),i=0,n=keys.length,key;i<n;i++)key=keys[i],!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:(k=>from[k]).bind(null,key),enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toESM=(mod,isNodeMode,target)=>(target=mod==null?{}:__create(__getProtoOf(mod)),__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,`default`,{value:mod,enumerable:!0}):target,mod));let _realsee_five_webgpu=require("@realsee/five-webgpu"),three_webgpu=require("three/webgpu");three_webgpu=__toESM(three_webgpu,1);var GLTFObject=class extends three_webgpu.Group{constructor(rootObject){super(),this.needsRender=!0,rootObject&&rootObject.children.length&&this.add(...rootObject.children),this.mixer=new three_webgpu.AnimationMixer(this)}clone(){let cloned=super.clone(!0);return cloned.mixer=new three_webgpu.AnimationMixer(cloned),cloned.needsRender=!0,cloned}};function createGLTF(result){let scene=new GLTFObject(result.scene);return scene.position.copy(result.scene.position),scene.quaternion.copy(result.scene.quaternion),scene.scale.copy(result.scene.scale),Object.assign(Object.assign({},result),{scene,scenes:[scene]})}var GLTFLoader=class{static get version(){return`1.0.0-alpha.14`}load(url,onLoad,onProgress,onError){(0,_realsee_five_webgpu.loadGltf)(url,{modelUpAxis:`Y`,upAxis:`Y`,onDownloadProgress(percent,loaded,total){onProgress&&onProgress(new ProgressEvent(`progress`,{lengthComputable:typeof total==`number`,loaded:loaded==null?0:loaded,total:total==null?0:total}))}}).then(result=>{onLoad(createGLTF(result))}).catch(error=>{onError?onError(new ErrorEvent(`error`,{error,message:error instanceof Error?error.message:String(error)})):console.error(error)})}};exports.GLTFLoader=GLTFLoader,exports.GLTFObject=GLTFObject;
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/29
5
- * Version: 1.0.0-alpha.12
4
+ * Generated: 2026/11/3
5
+ * Version: 1.0.0-alpha.14
6
6
  * License:
7
7
  * Realsee SDK License Agreement
8
8
 
@@ -335,51 +335,4 @@
335
335
  * writing and signed by Realsee. You and Realsee hereto confirm that this
336
336
  * Agreement and all related documents shall be drafted in English.
337
337
 
338
- */import { loadGltf as e } from "@realsee/five-webgpu";
339
- import * as t from "three/webgpu";
340
- //#region build/gltf-loader/gltf-object.js
341
- var n = class extends t.Group {
342
- constructor(e) {
343
- super(), this.needsRender = !0, e && e.children.length && this.add(...e.children), this.mixer = new t.AnimationMixer(this);
344
- }
345
- clone() {
346
- let e = super.clone(!0);
347
- return e.mixer = new t.AnimationMixer(e), e.needsRender = !0, e;
348
- }
349
- };
350
- //#endregion
351
- //#region build/gltf-loader/index.js
352
- function r(e) {
353
- let t = new n(e.scene);
354
- return t.position.copy(e.scene.position), t.quaternion.copy(e.scene.quaternion), t.scale.copy(e.scene.scale), Object.assign(Object.assign({}, e), {
355
- scene: t,
356
- scenes: [t]
357
- });
358
- }
359
- var i = class {
360
- static get version() {
361
- return "1.0.0-alpha.12";
362
- }
363
- load(t, n, i, a) {
364
- e(t, {
365
- modelUpAxis: "Y",
366
- upAxis: "Y",
367
- onDownloadProgress(e, t, n) {
368
- i && i(new ProgressEvent("progress", {
369
- lengthComputable: typeof n == "number",
370
- loaded: t == null ? 0 : t,
371
- total: n == null ? 0 : n
372
- }));
373
- }
374
- }).then((e) => {
375
- n(r(e));
376
- }).catch((e) => {
377
- a ? a(new ErrorEvent("error", {
378
- error: e,
379
- message: e instanceof Error ? e.message : String(e)
380
- })) : console.error(e);
381
- });
382
- }
383
- };
384
- //#endregion
385
- export { i as GLTFLoader, n as GLTFObject };
338
+ */import{loadGltf}from"@realsee/five-webgpu";import*as THREE from"three/webgpu";var GLTFObject=class extends THREE.Group{constructor(rootObject){super(),this.needsRender=!0,rootObject&&rootObject.children.length&&this.add(...rootObject.children),this.mixer=new THREE.AnimationMixer(this)}clone(){let cloned=super.clone(!0);return cloned.mixer=new THREE.AnimationMixer(cloned),cloned.needsRender=!0,cloned}};function createGLTF(result){let scene=new GLTFObject(result.scene);return scene.position.copy(result.scene.position),scene.quaternion.copy(result.scene.quaternion),scene.scale.copy(result.scene.scale),Object.assign(Object.assign({},result),{scene,scenes:[scene]})}var GLTFLoader=class{static get version(){return`1.0.0-alpha.14`}load(url,onLoad,onProgress,onError){loadGltf(url,{modelUpAxis:`Y`,upAxis:`Y`,onDownloadProgress(percent,loaded,total){onProgress&&onProgress(new ProgressEvent(`progress`,{lengthComputable:typeof total==`number`,loaded:loaded==null?0:loaded,total:total==null?0:total}))}}).then(result=>{onLoad(createGLTF(result))}).catch(error=>{onError?onError(new ErrorEvent(`error`,{error,message:error instanceof Error?error.message:String(error)})):console.error(error)})}};export{GLTFLoader,GLTFObject};
package/line/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/29
5
- * Version: 1.0.0-alpha.12
4
+ * Generated: 2026/11/3
5
+ * Version: 1.0.0-alpha.14
6
6
  * License:
7
7
  * Realsee SDK License Agreement
8
8
 
@@ -335,4 +335,4 @@
335
335
  * writing and signed by Realsee. You and Realsee hereto confirm that this
336
336
  * Agreement and all related documents shall be drafted in English.
337
337
 
338
- */Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require("three/webgpu");c=s(c,1);let l=require("three/addons/lines/webgpu/Line2.js"),u=require("three/addons/lines/webgpu/LineSegments2.js"),d=require("three/addons/lines/LineGeometry.js"),f=require("three/addons/lines/LineSegmentsGeometry.js");var p=14467195,m=8,h=2,g=20,_=null;function v(e,t){t instanceof c.Vector3?e.color.setRGB(t.x,t.y,t.z):e.color.set(t)}var y=class extends c.Object3D{static get version(){return`1.0.0-alpha.12`}constructor(e=new c.Vector3,t=new c.Vector3){super(),this.type=`FiveLine`,this.needsRender=!0;let n=new d.LineGeometry,r=new c.Line2NodeMaterial({color:p,linewidth:h,dashed:!1});r.scale=g,this.line=new l.Line2(n,r);let i=new c.BufferGeometry,a=new c.PointsMaterial({color:p,size:m,map:_||(_=new c.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==`)),sizeAttenuation:!1,transparent:!0});this.points=new c.Points(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 c.BufferAttribute(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 c.Vector3,l=new c.Vector3;for(let e=0,t=0;e<i;e++,t+=2)s.fromBufferAttribute(n,e),l.fromBufferAttribute(r,e),o[t]=t===0?0:o[t-1],o[t+1]=o[t]+s.distanceTo(l);a.needsUpdate=!0}getPoints(){let e=this.points.geometry.attributes.position.array;return[new c.Vector3(e[0],e[1],e[2]),new c.Vector3(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`)v(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(y.prototype,{isFiveLine:!0}),exports.Line=y,exports.LineGeometry=d.LineGeometry,exports.LineSegmentsGeometry=f.LineSegmentsGeometry,exports.THREE_Line2=l.Line2,exports.THREE_LineSegments2=u.LineSegments2;
338
+ */Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__copyProps=(to,from,except,desc)=>{if(from&&typeof from==`object`||typeof from==`function`)for(var keys=__getOwnPropNames(from),i=0,n=keys.length,key;i<n;i++)key=keys[i],!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:(k=>from[k]).bind(null,key),enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toESM=(mod,isNodeMode,target)=>(target=mod==null?{}:__create(__getProtoOf(mod)),__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,`default`,{value:mod,enumerable:!0}):target,mod));let three_webgpu=require("three/webgpu");three_webgpu=__toESM(three_webgpu,1);let three_addons_lines_webgpu_Line2_js=require("three/addons/lines/webgpu/Line2.js"),three_addons_lines_webgpu_LineSegments2_js=require("three/addons/lines/webgpu/LineSegments2.js"),three_addons_lines_LineGeometry_js=require("three/addons/lines/LineGeometry.js"),three_addons_lines_LineSegmentsGeometry_js=require("three/addons/lines/LineSegmentsGeometry.js");var DEFAULT_COLOR=14467195,POINT_SIZE=8,DEFAULT_LINEWIDTH=2,DEFAULT_DASHSCALE=20,sharedCircleTexture=null;function applyColor(material,value){value instanceof three_webgpu.Vector3?material.color.setRGB(value.x,value.y,value.z):material.color.set(value)}var FiveLine=class extends three_webgpu.Object3D{static get version(){return`1.0.0-alpha.14`}constructor(vector0=new three_webgpu.Vector3,vector1=new three_webgpu.Vector3){super(),this.type=`FiveLine`,this.needsRender=!0;let lineGeometry=new three_addons_lines_LineGeometry_js.LineGeometry,lineMaterial=new three_webgpu.Line2NodeMaterial({color:DEFAULT_COLOR,linewidth:DEFAULT_LINEWIDTH,dashed:!1});lineMaterial.scale=DEFAULT_DASHSCALE,this.line=new three_addons_lines_webgpu_Line2_js.Line2(lineGeometry,lineMaterial);let pointsGeometry=new three_webgpu.BufferGeometry,pointsMaterial=new three_webgpu.PointsMaterial({color:DEFAULT_COLOR,size:POINT_SIZE,map:sharedCircleTexture||(sharedCircleTexture=new three_webgpu.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==`)),sizeAttenuation:!1,transparent:!0});this.points=new three_webgpu.Points(pointsGeometry,pointsMaterial),this.points.renderOrder=11,this.points.frustumCulled=!1,this.setPoints(vector0,vector1),this.add(this.line,this.points)}setPoints(vector0,vector1){let positions=[].concat(vector0.toArray(),vector1.toArray());this.updatePointsPositions(positions),this.updateLinePositions(positions),this.needsRender=!0}updatePointsPositions(positions){let geometry=this.points.geometry,existing=geometry.getAttribute(`position`);existing&&existing.array.length===positions.length?(existing.array.set(positions),existing.needsUpdate=!0):geometry.setAttribute(`position`,new three_webgpu.BufferAttribute(new Float32Array(positions),3))}updateLinePositions(positions){let geometry=this.line.geometry,instanceStart=geometry.getAttribute(`instanceStart`);if(!instanceStart||instanceStart.data.array.length!==positions.length){geometry.setPositions(positions),this.line.computeLineDistances();return}let buffer=instanceStart.data;buffer.array.set(positions),buffer.needsUpdate=!0,geometry.computeBoundingBox(),geometry.computeBoundingSphere(),this.updateLineDistances()}updateLineDistances(){let geometry=this.line.geometry,instanceDistance=geometry.getAttribute(`instanceDistanceStart`);if(!instanceDistance){this.line.computeLineDistances();return}let instanceStart=geometry.getAttribute(`instanceStart`),instanceEnd=geometry.getAttribute(`instanceEnd`),count=instanceStart.count,buffer=instanceDistance.data,array=buffer.array,start=new three_webgpu.Vector3,end=new three_webgpu.Vector3;for(let i=0,j=0;i<count;i++,j+=2)start.fromBufferAttribute(instanceStart,i),end.fromBufferAttribute(instanceEnd,i),array[j]=j===0?0:array[j-1],array[j+1]=array[j]+start.distanceTo(end);buffer.needsUpdate=!0}getPoints(){let array=this.points.geometry.attributes.position.array;return[new three_webgpu.Vector3(array[0],array[1],array[2]),new three_webgpu.Vector3(array[3],array[4],array[5])]}setMaterial(map){let lineMaterial=this.line.material;for(let name in map){if(!Object.prototype.hasOwnProperty.call(map,name))continue;let value=map[name];if(name===`color`)applyColor(lineMaterial,value);else if(name===`dashed`)lineMaterial.dashed=value;else if(name===`dashScale`)lineMaterial.scale=value;else if(name===`resolution`){let resolution=value;this.setResolution(resolution.x,resolution.y)}else lineMaterial[name]=value}this.needsRender=!0}setResolution(width,height){let resolution=this.line._resolution;resolution&&(resolution.x!==width||resolution.y!==height)&&(resolution.set(width,height),this.needsRender=!0)}};Object.assign(FiveLine.prototype,{isFiveLine:!0}),exports.Line=FiveLine,exports.LineGeometry=three_addons_lines_LineGeometry_js.LineGeometry,exports.LineSegmentsGeometry=three_addons_lines_LineSegmentsGeometry_js.LineSegmentsGeometry,exports.THREE_Line2=three_addons_lines_webgpu_Line2_js.Line2,exports.THREE_LineSegments2=three_addons_lines_webgpu_LineSegments2_js.LineSegments2;