@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
@@ -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{DirectionGroup as e}from"./direction.mjs";import{RENDER_ORDER as t}from"../constant.mjs";import*as n from"three/webgpu";var r=class extends e{constructor(e){var r,i;super(`plane`),this.name=`CenterHandle`,this.faceNormals=[new n.Vector3(1,0,0),new n.Vector3(-1,0,0),new n.Vector3(0,1,0),new n.Vector3(0,-1,0),new n.Vector3(0,0,1),new n.Vector3(0,0,-1)],this.baseColor=new n.Color((r=e==null?void 0:e.color)==null?16419862:r);let a=(i=e==null?void 0:e.size)==null?.05:i,o=new n.Color(16755008).convertSRGBToLinear();this.faceMaterials=Array.from({length:6},()=>new n.MeshBasicMaterial({color:o,transparent:!0,opacity:1,depthTest:!1,depthWrite:!1,side:n.FrontSide}));let s=new n.BoxGeometry(a,a,a),c=new n.Mesh(s,this.faceMaterials);c.direction=`plane`,c.renderOrder=t.MOVE_HELPER_CENTER,c.name=`center-plane-handle`,this.cube=c,this.add(this.cube)}update(e){let t=new n.Vector3().subVectors(e.position,this.cube.getWorldPosition(new n.Vector3)).normalize(),r=this.cube.getWorldQuaternion(new n.Quaternion),i=this.faceNormals.map((e,n)=>{let i=e.clone().applyQuaternion(r).dot(t);return{index:n,angle:Math.acos(Math.abs(i))}});i.sort((e,t)=>e.angle-t.angle);let a=[new n.Color(16755008).convertSRGBToLinear(),new n.Color(16419862).convertSRGBToLinear(),new n.Color(13921032).convertSRGBToLinear()];i.forEach((e,t)=>{let n=Math.floor(t/2);this.faceMaterials[e.index].color.copy(a[n])})}};export{r as CenterHandle};
338
+ */import{DirectionGroup}from"./direction.mjs";import{RENDER_ORDER}from"../constant.mjs";import*as THREE from"three/webgpu";var CenterHandle=class extends DirectionGroup{constructor(param){var _a,_b;super(`plane`),this.name=`CenterHandle`,this.faceNormals=[new THREE.Vector3(1,0,0),new THREE.Vector3(-1,0,0),new THREE.Vector3(0,1,0),new THREE.Vector3(0,-1,0),new THREE.Vector3(0,0,1),new THREE.Vector3(0,0,-1)],this.baseColor=new THREE.Color((_a=param==null?void 0:param.color)==null?16419862:_a);let centerSize=(_b=param==null?void 0:param.size)==null?.05:_b,brightColor=new THREE.Color(16755008).convertSRGBToLinear();this.faceMaterials=Array.from({length:6},()=>new THREE.MeshBasicMaterial({color:brightColor,transparent:!0,opacity:1,depthTest:!1,depthWrite:!1,side:THREE.FrontSide}));let centerGeometry=new THREE.BoxGeometry(centerSize,centerSize,centerSize),cube=new THREE.Mesh(centerGeometry,this.faceMaterials);cube.direction=`plane`,cube.renderOrder=RENDER_ORDER.MOVE_HELPER_CENTER,cube.name=`center-plane-handle`,this.cube=cube,this.add(this.cube)}update(camera){let cameraDirection=new THREE.Vector3().subVectors(camera.position,this.cube.getWorldPosition(new THREE.Vector3)).normalize(),worldQuaternion=this.cube.getWorldQuaternion(new THREE.Quaternion),faceAngles=this.faceNormals.map((normal,index)=>{let dotProduct=normal.clone().applyQuaternion(worldQuaternion).dot(cameraDirection);return{index,angle:Math.acos(Math.abs(dotProduct))}});faceAngles.sort((a,b)=>a.angle-b.angle);let colors=[new THREE.Color(16755008).convertSRGBToLinear(),new THREE.Color(16419862).convertSRGBToLinear(),new THREE.Color(13921032).convertSRGBToLinear()];faceAngles.forEach((item,sortedIndex)=>{let colorIndex=Math.floor(sortedIndex/2);this.faceMaterials[item.index].color.copy(colors[colorIndex])})}};export{CenterHandle};
@@ -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"),t=require("./direction.js"),n=require("../constant.js");let r=require("three/webgpu");r=e.__toESM(r,1);var i=class extends t.DirectionGroup{constructor(e){var t,i,a;super(e.direction),this.name=`PlaneHandle`;let o=(t=e.size)==null?.12:t,s=(i=e.offset)==null?.12:i,c=new r.Color((a=e.color)==null?16776960:a),l=new r.BoxGeometry(o,o,.005),u=new r.MeshBasicMaterial({color:c,transparent:!0,opacity:.4,depthTest:!1,depthWrite:!1,side:r.DoubleSide});switch(this.handle=new r.Mesh(l,u),this.handle.direction=e.direction,this.handle.renderOrder=n.RENDER_ORDER.MOVE_HELPER_ARROW,this.handle.name=`plane-handle-${e.direction}`,e.direction){case`xy`:this.handle.position.set(s,s,0);break;case`xz`:this.handle.position.set(s,0,s),this.handle.rotation.x=-Math.PI/2;break;case`yz`:this.handle.position.set(0,s,s),this.handle.rotation.y=Math.PI/2;break}this.add(this.handle)}};exports.PlaneHandle=i;
338
+ */const require_runtime=require("../../../_virtual/_rolldown/runtime.js"),require_direction=require("./direction.js"),require_constant=require("../constant.js");let three_webgpu=require("three/webgpu");three_webgpu=require_runtime.__toESM(three_webgpu,1);var PlaneHandle=class extends require_direction.DirectionGroup{constructor(params){var _a,_b,_c;super(params.direction),this.name=`PlaneHandle`;let size=(_a=params.size)==null?.12:_a,offset=(_b=params.offset)==null?.12:_b,color=new three_webgpu.Color((_c=params.color)==null?16776960:_c),geometry=new three_webgpu.BoxGeometry(size,size,.005),material=new three_webgpu.MeshBasicMaterial({color,transparent:!0,opacity:.4,depthTest:!1,depthWrite:!1,side:three_webgpu.DoubleSide});switch(this.handle=new three_webgpu.Mesh(geometry,material),this.handle.direction=params.direction,this.handle.renderOrder=require_constant.RENDER_ORDER.MOVE_HELPER_ARROW,this.handle.name=`plane-handle-${params.direction}`,params.direction){case`xy`:this.handle.position.set(offset,offset,0);break;case`xz`:this.handle.position.set(offset,0,offset),this.handle.rotation.x=-Math.PI/2;break;case`yz`:this.handle.position.set(0,offset,offset),this.handle.rotation.y=Math.PI/2;break}this.add(this.handle)}};exports.PlaneHandle=PlaneHandle;
@@ -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{DirectionGroup as e}from"./direction.mjs";import{RENDER_ORDER as t}from"../constant.mjs";import*as n from"three/webgpu";var r=class extends e{constructor(e){var r,i,a;super(e.direction),this.name=`PlaneHandle`;let o=(r=e.size)==null?.12:r,s=(i=e.offset)==null?.12:i,c=new n.Color((a=e.color)==null?16776960:a),l=new n.BoxGeometry(o,o,.005),u=new n.MeshBasicMaterial({color:c,transparent:!0,opacity:.4,depthTest:!1,depthWrite:!1,side:n.DoubleSide});switch(this.handle=new n.Mesh(l,u),this.handle.direction=e.direction,this.handle.renderOrder=t.MOVE_HELPER_ARROW,this.handle.name=`plane-handle-${e.direction}`,e.direction){case`xy`:this.handle.position.set(s,s,0);break;case`xz`:this.handle.position.set(s,0,s),this.handle.rotation.x=-Math.PI/2;break;case`yz`:this.handle.position.set(0,s,s),this.handle.rotation.y=Math.PI/2;break}this.add(this.handle)}};export{r as PlaneHandle};
338
+ */import{DirectionGroup}from"./direction.mjs";import{RENDER_ORDER}from"../constant.mjs";import*as THREE from"three/webgpu";var PlaneHandle=class extends DirectionGroup{constructor(params){var _a,_b,_c;super(params.direction),this.name=`PlaneHandle`;let size=(_a=params.size)==null?.12:_a,offset=(_b=params.offset)==null?.12:_b,color=new THREE.Color((_c=params.color)==null?16776960:_c),geometry=new THREE.BoxGeometry(size,size,.005),material=new THREE.MeshBasicMaterial({color,transparent:!0,opacity:.4,depthTest:!1,depthWrite:!1,side:THREE.DoubleSide});switch(this.handle=new THREE.Mesh(geometry,material),this.handle.direction=params.direction,this.handle.renderOrder=RENDER_ORDER.MOVE_HELPER_ARROW,this.handle.name=`plane-handle-${params.direction}`,params.direction){case`xy`:this.handle.position.set(offset,offset,0);break;case`xz`:this.handle.position.set(offset,0,offset),this.handle.rotation.x=-Math.PI/2;break;case`yz`:this.handle.position.set(0,offset,offset),this.handle.rotation.y=Math.PI/2;break}this.add(this.handle)}};export{PlaneHandle};
@@ -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,n){let r=e.position.distanceTo(t),i=e.fov,a=e.distance||3,o=r/3,s=i/90,c=a/3,l=o*s*c,u=(n==null?void 0:n.min)||.6,d=n==null?void 0:n.max;return u&&l<u?u:d&&l>d?d:l}exports.default=e;
338
+ */function calculateScaleByCamera(camera,position,limit){let distance=camera.position.distanceTo(position),fov=camera.fov,cameraDistance=camera.distance||3,distanceScale=distance/3,fovScale=fov/90,cameraDistanceScale=cameraDistance/3,scale=distanceScale*fovScale*cameraDistanceScale,min=(limit==null?void 0:limit.min)||.6,max=limit==null?void 0:limit.max;return min&&scale<min?min:max&&scale>max?max:scale}exports.default=calculateScaleByCamera;
@@ -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,n){let r=e.position.distanceTo(t),i=e.fov,a=e.distance||3,o=r/3,s=i/90,c=a/3,l=o*s*c,u=(n==null?void 0:n.min)||.6,d=n==null?void 0:n.max;return u&&l<u?u:d&&l>d?d:l}export{e as default};
338
+ */function calculateScaleByCamera(camera,position,limit){let distance=camera.position.distanceTo(position),fov=camera.fov,cameraDistance=camera.distance||3,distanceScale=distance/3,fovScale=fov/90,cameraDistanceScale=cameraDistance/3,scale=distanceScale*fovScale*cameraDistanceScale,min=(limit==null?void 0:limit.min)||.6,max=limit==null?void 0:limit.max;return min&&scale<min?min:max&&scale>max?max:scale}export{calculateScaleByCamera as default};
@@ -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
- */let e=require("@realsee/five-webgpu");var t=new Map;function n(n){if(t.has(n))return t.get(n).hooks;let r=new e.Subscribe,i=null,a,o=()=>{i=requestAnimationFrame(o);let e=n.projectionMatrix.toArray().join(`,`)+n.matrixWorld.toArray().join(`,`);e!==a&&(a=e,r.emit(`cameraUpdate`))};return o(),t.set(n,{hooks:r,dispose:()=>{t.delete(n),cancelAnimationFrame(i)}}),r}exports.cameraHooks=n;
338
+ */let _realsee_five_webgpu=require("@realsee/five-webgpu");var map=new Map;function cameraHooks(camera){if(map.has(camera))return map.get(camera).hooks;let cameraHooks=new _realsee_five_webgpu.Subscribe,cancelAnimationFrameId=null,cameraPose,animate=()=>{cancelAnimationFrameId=requestAnimationFrame(animate);let newCameraPose=camera.projectionMatrix.toArray().join(`,`)+camera.matrixWorld.toArray().join(`,`);newCameraPose!==cameraPose&&(cameraPose=newCameraPose,cameraHooks.emit(`cameraUpdate`))};return animate(),map.set(camera,{hooks:cameraHooks,dispose:()=>{map.delete(camera),cancelAnimationFrame(cancelAnimationFrameId)}}),cameraHooks}exports.cameraHooks=cameraHooks;
@@ -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{Subscribe as e}from"@realsee/five-webgpu";var t=new Map;function n(n){if(t.has(n))return t.get(n).hooks;let r=new e,i=null,a,o=()=>{i=requestAnimationFrame(o);let e=n.projectionMatrix.toArray().join(`,`)+n.matrixWorld.toArray().join(`,`);e!==a&&(a=e,r.emit(`cameraUpdate`))};return o(),t.set(n,{hooks:r,dispose:()=>{t.delete(n),cancelAnimationFrame(i)}}),r}export{n as cameraHooks};
338
+ */import{Subscribe}from"@realsee/five-webgpu";var map=new Map;function cameraHooks(camera){if(map.has(camera))return map.get(camera).hooks;let cameraHooks=new Subscribe,cancelAnimationFrameId=null,cameraPose,animate=()=>{cancelAnimationFrameId=requestAnimationFrame(animate);let newCameraPose=camera.projectionMatrix.toArray().join(`,`)+camera.matrixWorld.toArray().join(`,`);newCameraPose!==cameraPose&&(cameraPose=newCameraPose,cameraHooks.emit(`cameraUpdate`))};return animate(),map.set(camera,{hooks:cameraHooks,dispose:()=>{map.delete(camera),cancelAnimationFrame(cancelAnimationFrameId)}}),cameraHooks}export{cameraHooks};
@@ -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);var n=class extends t.Group{constructor(e){super(),this.direction=e||`x`}};t.Line;var r=class extends t.Mesh{constructor(e,t,n){super(e,t),this.direction=n||`x`}};exports.DirectionGroup=n,exports.DirectionMesh=r;
338
+ */const require_runtime=require("../../../_virtual/_rolldown/runtime.js");let three_webgpu=require("three/webgpu");three_webgpu=require_runtime.__toESM(three_webgpu,1);var DirectionGroup=class extends three_webgpu.Group{constructor(direction){super(),this.direction=direction||`x`}};three_webgpu.Line;var DirectionMesh=class extends three_webgpu.Mesh{constructor(geometry,material,direction){super(geometry,material),this.direction=direction||`x`}};exports.DirectionGroup=DirectionGroup,exports.DirectionMesh=DirectionMesh;
@@ -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";var t=class extends e.Group{constructor(e){super(),this.direction=e||`x`}};e.Line;var n=class extends e.Mesh{constructor(e,t,n){super(e,t),this.direction=n||`x`}};export{t as DirectionGroup,n as DirectionMesh};
338
+ */import*as THREE from"three/webgpu";var DirectionGroup=class extends THREE.Group{constructor(direction){super(),this.direction=direction||`x`}};THREE.Line;var DirectionMesh=class extends THREE.Mesh{constructor(geometry,material,direction){super(geometry,material),this.direction=direction||`x`}};export{DirectionGroup,DirectionMesh};
@@ -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"),t=require("../../../five/utils/calculateThreeMouse.js");let n=require("three/webgpu");n=e.__toESM(n,1);function r(e,r,i){if(!r||!i||!e)return;let a=t.calculateThreeMouse(r,i);if(Math.abs(a.x)===1||Math.abs(a.y)===1)return;let o=new n.Raycaster;return o.setFromCamera(a,e),o.params.Points&&(o.params.Points.threshold=.1),o}exports.getMouseRaycaster=r;
338
+ */const require_runtime=require("../../../_virtual/_rolldown/runtime.js"),require_calculateThreeMouse=require("../../../five/utils/calculateThreeMouse.js");let three_webgpu=require("three/webgpu");three_webgpu=require_runtime.__toESM(three_webgpu,1);function getMouseRaycaster(camera,mouse,element){if(!mouse||!element||!camera)return;let threeMouse=require_calculateThreeMouse.calculateThreeMouse(mouse,element);if(Math.abs(threeMouse.x)===1||Math.abs(threeMouse.y)===1)return;let raycaster=new three_webgpu.Raycaster;return raycaster.setFromCamera(threeMouse,camera),raycaster.params.Points&&(raycaster.params.Points.threshold=.1),raycaster}exports.getMouseRaycaster=getMouseRaycaster;
@@ -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{calculateThreeMouse as e}from"../../../five/utils/calculateThreeMouse.mjs";import*as t from"three/webgpu";function n(n,r,i){if(!r||!i||!n)return;let a=e(r,i);if(Math.abs(a.x)===1||Math.abs(a.y)===1)return;let o=new t.Raycaster;return o.setFromCamera(a,n),o.params.Points&&(o.params.Points.threshold=.1),o}export{n as getMouseRaycaster};
338
+ */import{calculateThreeMouse}from"../../../five/utils/calculateThreeMouse.mjs";import*as THREE from"three/webgpu";function getMouseRaycaster(camera,mouse,element){if(!mouse||!element||!camera)return;let threeMouse=calculateThreeMouse(mouse,element);if(Math.abs(threeMouse.x)===1||Math.abs(threeMouse.y)===1)return;let raycaster=new THREE.Raycaster;return raycaster.setFromCamera(threeMouse,camera),raycaster.params.Points&&(raycaster.params.Points.threshold=.1),raycaster}export{getMouseRaycaster};
@@ -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){let{latitude:n,longitude:a}=e,o=new t.Vector3;return r-n<.03?o.set(0,1,0):i(0,a)?o.set(0,0,1):i(Math.PI,a)?o.set(0,0,-1):i(r,a)?o.set(1,0,0):o.set(-1,0,0),o}var r=Number((Math.PI/2).toFixed(5));function i(e,t){return typeof e!=`number`||typeof t!=`number`?!1:Math.abs(e-t)<.001}exports.getOrthographicCameraDirection=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 getOrthographicCameraDirection(pose){let{latitude,longitude}=pose,vector=new three_webgpu.Vector3;return HalfPI-latitude<.03?vector.set(0,1,0):isSame(0,longitude)?vector.set(0,0,1):isSame(Math.PI,longitude)?vector.set(0,0,-1):isSame(HalfPI,longitude)?vector.set(1,0,0):vector.set(-1,0,0),vector}var HalfPI=Number((Math.PI/2).toFixed(5));function isSame(v1,v2){return typeof v1!=`number`||typeof v2!=`number`?!1:Math.abs(v1-v2)<.001}exports.getOrthographicCameraDirection=getOrthographicCameraDirection;
@@ -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){let{latitude:i,longitude:a}=t,o=new e.Vector3;return n-i<.03?o.set(0,1,0):r(0,a)?o.set(0,0,1):r(Math.PI,a)?o.set(0,0,-1):r(n,a)?o.set(1,0,0):o.set(-1,0,0),o}var n=Number((Math.PI/2).toFixed(5));function r(e,t){return typeof e!=`number`||typeof t!=`number`?!1:Math.abs(e-t)<.001}export{t as getOrthographicCameraDirection};
338
+ */import*as THREE from"three/webgpu";function getOrthographicCameraDirection(pose){let{latitude,longitude}=pose,vector=new THREE.Vector3;return HalfPI-latitude<.03?vector.set(0,1,0):isSame(0,longitude)?vector.set(0,0,1):isSame(Math.PI,longitude)?vector.set(0,0,-1):isSame(HalfPI,longitude)?vector.set(1,0,0):vector.set(-1,0,0),vector}var HalfPI=Number((Math.PI/2).toFixed(5));function isSame(v1,v2){return typeof v1!=`number`||typeof v2!=`number`?!1:Math.abs(v1-v2)<.001}export{getOrthographicCameraDirection};
@@ -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){if(r){let i=new t.Vector3().subVectors(e.position,r).applyQuaternion(e.quaternion.clone().invert()).applyQuaternion(n).add(r);e.position.copy(i)}e.quaternion.copy(n)}exports.default=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 setObjectQuaternion(object,quaternion,rotateCenter){if(rotateCenter){let v=new three_webgpu.Vector3().subVectors(object.position,rotateCenter).applyQuaternion(object.quaternion.clone().invert()).applyQuaternion(quaternion).add(rotateCenter);object.position.copy(v)}object.quaternion.copy(quaternion)}exports.default=setObjectQuaternion;
@@ -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){if(r){let i=new e.Vector3().subVectors(t.position,r).applyQuaternion(t.quaternion.clone().invert()).applyQuaternion(n).add(r);t.position.copy(i)}t.quaternion.copy(n)}export{t as default};
338
+ */import*as THREE from"three/webgpu";function setObjectQuaternion(object,quaternion,rotateCenter){if(rotateCenter){let v=new THREE.Vector3().subVectors(object.position,rotateCenter).applyQuaternion(object.quaternion.clone().invert()).applyQuaternion(quaternion).add(rotateCenter);object.position.copy(v)}object.quaternion.copy(quaternion)}export{setObjectQuaternion as default};
@@ -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"),t=require("../constant.js");let n=require("three/webgpu");n=e.__toESM(n,1);function r(e,t){let n=10,r=10,i=e.isPerspectiveCamera,a=e.isOrthographicCamera;if(i){let i=e,a=i.position.distanceTo(t),o=i.fov*Math.PI/180;r=2*Math.tan(o/2)*a,n=r*i.aspect}else if(a){let t=e;n=Math.abs(t.right-t.left),r=Math.abs(t.top-t.bottom)}let o=Math.sqrt(n*n+r*r),s=o*.8,c=Math.min(n,r)*.25,l=o*1.2;return Math.max(c,Math.min(s,l))}var i=class{constructor(e,t,n){this.camera=e,this.container=t,this.defaults=Object.assign({},n||{})}createSolidLine(e,r,i){let a=Object.assign(Object.assign({color:16777215,renderOrder:t.RENDER_ORDER.DRAG_GUIDE_LINE},this.defaults),i||{}),o=r.clone().normalize(),s=this.computeInfiniteLineLength(e),c=e.clone().add(o.clone().multiplyScalar(-s)),l=e.clone().add(o.clone().multiplyScalar(s)),u=new Float32Array([c.x,c.y,c.z,l.x,l.y,l.z]),d=new n.BufferGeometry;d.setAttribute(`position`,new n.BufferAttribute(u,3));let f=new n.LineBasicMaterial({color:a.color,depthTest:!1,depthWrite:!1,transparent:!0,opacity:.65}),p=new n.Line(d,f);return p.renderOrder=a.renderOrder,p}updateSolidLine(e,t,r,i){let a=r.clone().normalize(),o=this.computeInfiniteLineLength(t),s=t.clone().add(a.clone().multiplyScalar(-o)),c=t.clone().add(a.clone().multiplyScalar(o)),l=new Float32Array([s.x,s.y,s.z,c.x,c.y,c.z]),u=e.geometry,d=u.getAttribute(`position`);d&&d.itemSize===3&&d.array.length===l.length?(d.array.set(l),d.needsUpdate=!0):u.setAttribute(`position`,new n.BufferAttribute(l,3)),(i==null?void 0:i.color)!==void 0&&e.material.color.setHex(i.color)}computeInfiniteLineLength(e){return r(this.camera,e)*10}dispose(e){if(!e)return;e.geometry.dispose();let t=e.material;Array.isArray(t)?t.forEach(e=>e.dispose()):t.dispose()}updateDefaults(e){this.defaults=Object.assign(Object.assign({},this.defaults),e)}};exports.SolidGuideLine=i,exports.computeGuideLength=r;
338
+ */const require_runtime=require("../../../_virtual/_rolldown/runtime.js"),require_constant=require("../constant.js");let three_webgpu=require("three/webgpu");three_webgpu=require_runtime.__toESM(three_webgpu,1);function computeGuideLength(camera,center){let viewWidth=10,viewHeight=10,persp=camera.isPerspectiveCamera,ortho=camera.isOrthographicCamera;if(persp){let cam=camera,distance=cam.position.distanceTo(center),vFov=cam.fov*Math.PI/180;viewHeight=2*Math.tan(vFov/2)*distance,viewWidth=viewHeight*cam.aspect}else if(ortho){let cam=camera;viewWidth=Math.abs(cam.right-cam.left),viewHeight=Math.abs(cam.top-cam.bottom)}let diag=Math.sqrt(viewWidth*viewWidth+viewHeight*viewHeight),baseLength=diag*.8,minLen=Math.min(viewWidth,viewHeight)*.25,maxLen=diag*1.2;return Math.max(minLen,Math.min(baseLength,maxLen))}var SolidGuideLine=class{constructor(camera,container,defaults){this.camera=camera,this.container=container,this.defaults=Object.assign({},defaults||{})}createSolidLine(center,direction,options){let merged=Object.assign(Object.assign({color:16777215,renderOrder:require_constant.RENDER_ORDER.DRAG_GUIDE_LINE},this.defaults),options||{}),dir=direction.clone().normalize(),length=this.computeInfiniteLineLength(center),start=center.clone().add(dir.clone().multiplyScalar(-length)),end=center.clone().add(dir.clone().multiplyScalar(length)),positions=new Float32Array([start.x,start.y,start.z,end.x,end.y,end.z]),geometry=new three_webgpu.BufferGeometry;geometry.setAttribute(`position`,new three_webgpu.BufferAttribute(positions,3));let material=new three_webgpu.LineBasicMaterial({color:merged.color,depthTest:!1,depthWrite:!1,transparent:!0,opacity:.65}),line=new three_webgpu.Line(geometry,material);return line.renderOrder=merged.renderOrder,line}updateSolidLine(line,center,direction,options){let dir=direction.clone().normalize(),length=this.computeInfiniteLineLength(center),start=center.clone().add(dir.clone().multiplyScalar(-length)),end=center.clone().add(dir.clone().multiplyScalar(length)),positions=new Float32Array([start.x,start.y,start.z,end.x,end.y,end.z]),geometry=line.geometry,attr=geometry.getAttribute(`position`);attr&&attr.itemSize===3&&attr.array.length===positions.length?(attr.array.set(positions),attr.needsUpdate=!0):geometry.setAttribute(`position`,new three_webgpu.BufferAttribute(positions,3)),(options==null?void 0:options.color)!==void 0&&line.material.color.setHex(options.color)}computeInfiniteLineLength(center){return computeGuideLength(this.camera,center)*10}dispose(line){if(!line)return;line.geometry.dispose();let material=line.material;Array.isArray(material)?material.forEach(m=>m.dispose()):material.dispose()}updateDefaults(options){this.defaults=Object.assign(Object.assign({},this.defaults),options)}};exports.SolidGuideLine=SolidGuideLine,exports.computeGuideLength=computeGuideLength;
@@ -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{RENDER_ORDER as e}from"../constant.mjs";import*as t from"three/webgpu";function n(e,t){let n=10,r=10,i=e.isPerspectiveCamera,a=e.isOrthographicCamera;if(i){let i=e,a=i.position.distanceTo(t),o=i.fov*Math.PI/180;r=2*Math.tan(o/2)*a,n=r*i.aspect}else if(a){let t=e;n=Math.abs(t.right-t.left),r=Math.abs(t.top-t.bottom)}let o=Math.sqrt(n*n+r*r),s=o*.8,c=Math.min(n,r)*.25,l=o*1.2;return Math.max(c,Math.min(s,l))}var r=class{constructor(e,t,n){this.camera=e,this.container=t,this.defaults=Object.assign({},n||{})}createSolidLine(n,r,i){let a=Object.assign(Object.assign({color:16777215,renderOrder:e.DRAG_GUIDE_LINE},this.defaults),i||{}),o=r.clone().normalize(),s=this.computeInfiniteLineLength(n),c=n.clone().add(o.clone().multiplyScalar(-s)),l=n.clone().add(o.clone().multiplyScalar(s)),u=new Float32Array([c.x,c.y,c.z,l.x,l.y,l.z]),d=new t.BufferGeometry;d.setAttribute(`position`,new t.BufferAttribute(u,3));let f=new t.LineBasicMaterial({color:a.color,depthTest:!1,depthWrite:!1,transparent:!0,opacity:.65}),p=new t.Line(d,f);return p.renderOrder=a.renderOrder,p}updateSolidLine(e,n,r,i){let a=r.clone().normalize(),o=this.computeInfiniteLineLength(n),s=n.clone().add(a.clone().multiplyScalar(-o)),c=n.clone().add(a.clone().multiplyScalar(o)),l=new Float32Array([s.x,s.y,s.z,c.x,c.y,c.z]),u=e.geometry,d=u.getAttribute(`position`);d&&d.itemSize===3&&d.array.length===l.length?(d.array.set(l),d.needsUpdate=!0):u.setAttribute(`position`,new t.BufferAttribute(l,3)),(i==null?void 0:i.color)!==void 0&&e.material.color.setHex(i.color)}computeInfiniteLineLength(e){return n(this.camera,e)*10}dispose(e){if(!e)return;e.geometry.dispose();let t=e.material;Array.isArray(t)?t.forEach(e=>e.dispose()):t.dispose()}updateDefaults(e){this.defaults=Object.assign(Object.assign({},this.defaults),e)}};export{r as SolidGuideLine,n as computeGuideLength};
338
+ */import{RENDER_ORDER}from"../constant.mjs";import*as THREE from"three/webgpu";function computeGuideLength(camera,center){let viewWidth=10,viewHeight=10,persp=camera.isPerspectiveCamera,ortho=camera.isOrthographicCamera;if(persp){let cam=camera,distance=cam.position.distanceTo(center),vFov=cam.fov*Math.PI/180;viewHeight=2*Math.tan(vFov/2)*distance,viewWidth=viewHeight*cam.aspect}else if(ortho){let cam=camera;viewWidth=Math.abs(cam.right-cam.left),viewHeight=Math.abs(cam.top-cam.bottom)}let diag=Math.sqrt(viewWidth*viewWidth+viewHeight*viewHeight),baseLength=diag*.8,minLen=Math.min(viewWidth,viewHeight)*.25,maxLen=diag*1.2;return Math.max(minLen,Math.min(baseLength,maxLen))}var SolidGuideLine=class{constructor(camera,container,defaults){this.camera=camera,this.container=container,this.defaults=Object.assign({},defaults||{})}createSolidLine(center,direction,options){let merged=Object.assign(Object.assign({color:16777215,renderOrder:RENDER_ORDER.DRAG_GUIDE_LINE},this.defaults),options||{}),dir=direction.clone().normalize(),length=this.computeInfiniteLineLength(center),start=center.clone().add(dir.clone().multiplyScalar(-length)),end=center.clone().add(dir.clone().multiplyScalar(length)),positions=new Float32Array([start.x,start.y,start.z,end.x,end.y,end.z]),geometry=new THREE.BufferGeometry;geometry.setAttribute(`position`,new THREE.BufferAttribute(positions,3));let material=new THREE.LineBasicMaterial({color:merged.color,depthTest:!1,depthWrite:!1,transparent:!0,opacity:.65}),line=new THREE.Line(geometry,material);return line.renderOrder=merged.renderOrder,line}updateSolidLine(line,center,direction,options){let dir=direction.clone().normalize(),length=this.computeInfiniteLineLength(center),start=center.clone().add(dir.clone().multiplyScalar(-length)),end=center.clone().add(dir.clone().multiplyScalar(length)),positions=new Float32Array([start.x,start.y,start.z,end.x,end.y,end.z]),geometry=line.geometry,attr=geometry.getAttribute(`position`);attr&&attr.itemSize===3&&attr.array.length===positions.length?(attr.array.set(positions),attr.needsUpdate=!0):geometry.setAttribute(`position`,new THREE.BufferAttribute(positions,3)),(options==null?void 0:options.color)!==void 0&&line.material.color.setHex(options.color)}computeInfiniteLineLength(center){return computeGuideLength(this.camera,center)*10}dispose(line){if(!line)return;line.geometry.dispose();let material=line.material;Array.isArray(material)?material.forEach(m=>m.dispose()):material.dispose()}updateDefaults(options){this.defaults=Object.assign(Object.assign({},this.defaults),options)}};export{SolidGuideLine,computeGuideLength};
@@ -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,n){return t(document.createElement(n==null?`div`:n),e)}function t(e,t){if(!t)return e;for(let n in t)n&&t[n]&&(e.style[n]=t[n]);return e}function n(t){let n=e(Object.assign({position:`absolute`,display:`block`,borderRadius:`4px`,paddingTop:`1px`,paddingBottom:`1px`,paddingLeft:`4px`,paddingRight:`4px`,pointerEvents:`none`,userSelect:`none`,zIndex:`99999`,backgroundColor:`rgba(0,0,0,0.7)`,fontSize:`12px`,color:`#fff`,letterSpacing:`0`,lineHeight:`18px`},t)),r=()=>{n.style.display!==`block`&&n.style.top&&n.style.left&&(n.style.display=`block`)};return{element:n,show:r,hide:()=>{n.style.display=`none`,n.style.top=``,n.style.left=``},setLeftTop:(e,t)=>{n.style.left=e,n.style.top=t,r()}}}exports.createElement=e,exports.setStyle=t,exports.tipsDom=n;
338
+ */function createElement(style,tagName){return setStyle(document.createElement(tagName==null?`div`:tagName),style)}function setStyle(element,style){if(!style)return element;for(let key in style)key&&style[key]&&(element.style[key]=style[key]);return element}function tipsDom(style){let element=createElement(Object.assign({position:`absolute`,display:`block`,borderRadius:`4px`,paddingTop:`1px`,paddingBottom:`1px`,paddingLeft:`4px`,paddingRight:`4px`,pointerEvents:`none`,userSelect:`none`,zIndex:`99999`,backgroundColor:`rgba(0,0,0,0.7)`,fontSize:`12px`,color:`#fff`,letterSpacing:`0`,lineHeight:`18px`},style)),show=()=>{element.style.display!==`block`&&element.style.top&&element.style.left&&(element.style.display=`block`)};return{element,show,hide:()=>{element.style.display=`none`,element.style.top=``,element.style.left=``},setLeftTop:(left,top)=>{element.style.left=left,element.style.top=top,show()}}}exports.createElement=createElement,exports.setStyle=setStyle,exports.tipsDom=tipsDom;
@@ -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,n){return t(document.createElement(n==null?`div`:n),e)}function t(e,t){if(!t)return e;for(let n in t)n&&t[n]&&(e.style[n]=t[n]);return e}function n(t){let n=e(Object.assign({position:`absolute`,display:`block`,borderRadius:`4px`,paddingTop:`1px`,paddingBottom:`1px`,paddingLeft:`4px`,paddingRight:`4px`,pointerEvents:`none`,userSelect:`none`,zIndex:`99999`,backgroundColor:`rgba(0,0,0,0.7)`,fontSize:`12px`,color:`#fff`,letterSpacing:`0`,lineHeight:`18px`},t)),r=()=>{n.style.display!==`block`&&n.style.top&&n.style.left&&(n.style.display=`block`)};return{element:n,show:r,hide:()=>{n.style.display=`none`,n.style.top=``,n.style.left=``},setLeftTop:(e,t)=>{n.style.left=e,n.style.top=t,r()}}}export{e as createElement,t as setStyle,n as tipsDom};
338
+ */function createElement(style,tagName){return setStyle(document.createElement(tagName==null?`div`:tagName),style)}function setStyle(element,style){if(!style)return element;for(let key in style)key&&style[key]&&(element.style[key]=style[key]);return element}function tipsDom(style){let element=createElement(Object.assign({position:`absolute`,display:`block`,borderRadius:`4px`,paddingTop:`1px`,paddingBottom:`1px`,paddingLeft:`4px`,paddingRight:`4px`,pointerEvents:`none`,userSelect:`none`,zIndex:`99999`,backgroundColor:`rgba(0,0,0,0.7)`,fontSize:`12px`,color:`#fff`,letterSpacing:`0`,lineHeight:`18px`},style)),show=()=>{element.style.display!==`block`&&element.style.top&&element.style.left&&(element.style.display=`block`)};return{element,show,hide:()=>{element.style.display=`none`,element.style.top=``,element.style.left=``},setLeftTop:(left,top)=>{element.style.left=left,element.style.top=top,show()}}}export{createElement,setStyle,tipsDom};
@@ -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"),t=require("../BasePlugin/index.js"),n=require("../utils/clamp.js");let r=require("tslib"),i=require("@realsee/five-webgpu"),a=require("three/webgpu");a=e.__toESM(a,1);let o=require("three/tsl");function s(){let e={map:(0,o.texture)(new a.Texture),progress:(0,o.uniform)(0),opacity:(0,o.uniform)(0)},t=(0,o.Fn)(()=>{let t=(0,o.uv)(),n=(0,o.varying)(o.positionGeometry);(0,o.Discard)(t.y.greaterThan(e.progress));let r=e.map.sample(t),i=(0,o.vec4)((0,o.vec3)(1,1,1),e.progress.sub(n.y).mul(.7)),a=i.add((0,o.vec4)(r.rgb,r.a.mul(n.y.oneMinus()))),s=(0,o.select)(e.progress.equal(1),a,i);return(0,o.vec4)(s.rgb,s.a.mul(e.opacity))}),n=new a.NodeMaterial;return n.fragmentNode=t(),n.transparent=!0,n.depthTest=!1,{material:n,u:e}}var c=[1,5,2,6,3,7,4,8,9,13,10,14,11,15,12,16],l=512,u=512,d=128,f=class extends t.BasePlugin.Controller{get config(){return Object.assign({},this._config)}updateState(e,t){let n=this.state;this.state=Object.assign(Object.assign({},this.state),e),this.hooks.emit(`stateChange`,{state:this.state,prevState:n,userAction:t})}updateConfig(e,t={}){var n;let r=this.config,i=Object.assign(Object.assign({},r),e);this._config=i,this.hooks.emit(`configChange`,{prevConfig:r,config:i,userAction:(n=t.userAction)==null?!0:n})}constructor(e,t){super(e),this.group=new a.Group,this.materialUniforms=s(),this.mesh=(()=>{let e=new a.CylinderGeometry(.12,.12,1,32,1,!0);return e.translate(0,.5,0),new a.Mesh(e,this.materialUniforms.material)})(),this.panoMesh=new i.PanoCircleMesh({scale:1.5}),this.stop=()=>{},this.drawLine=(e,t)=>{if(!this.ctx)return;let n=(()=>{var t;return 32*((t=c[e])==null?0:t)})(),r=(1-(t+e*150)%1200/1200)*640,i=this.ctx.createLinearGradient(0,r-d,0,r);i.addColorStop(0,`rgba(255,255,255,0)`),i.addColorStop(.5,`rgba(255,255,255,1)`),i.addColorStop(1,`rgba(255,255,255,0)`),this.ctx.fillStyle=i,this.ctx.fillRect(n,r-d,3,d)},this.anime=e=>{if(!this.ctx||!this.startTime)return;this.ctx.clearRect(0,0,l,u);for(let t=0;t<16;t++)this.drawLine(t,e-this.startTime);let t=n.clamp((e-this.startTime)/1e3,0,1),r=n.clamp((e-this.startTime)/300,0,this.config.maxOpacity);this.panoMesh.setOpacity(r),this.materialUniforms.u.progress.value=t,this.materialUniforms.u.opacity.value=r,this.canvasTexture&&(this.canvasTexture.needsUpdate=!0),this.five.needsRender=!0},this.dispose=()=>{this.disable()},this.five=e;let r={enabled:!1,visible:!0};this.state=Object.assign(r,t==null?void 0:t.initialState);let o=Object.assign(Object.assign({},t==null?void 0:t.config),{maxOpacity:1});this._config=o,!(typeof document>`u`)&&(this.canvas=document.createElement(`canvas`),this.ctx=this.canvas.getContext(`2d`),this.canvas.width=l,this.canvas.height=u,this.ctx.shadowColor=`rgba(255,255,255,0.5)`,this.ctx.shadowBlur=6,this.ctx.shadowOffsetX=0,this.ctx.shadowOffsetY=0,this.canvasTexture=new a.CanvasTexture(this.canvas),this.materialUniforms.u.map.value=this.canvasTexture,this.group.add(this.mesh),this.panoMesh.setProgress(1),this.panoMesh.setOpacity(0),this.group.add(this.panoMesh),this.state.enabled&&this._enable({userAction:!1}))}load(e){return(0,r.__awaiter)(this,void 0,void 0,function*(){})}_enable(e){this.mesh.position.copy(this.five.observers[this.five.state.panoIndex].standingPosition),this.panoMesh.position.copy(this.five.observers[this.five.state.panoIndex].standingPosition),this.five.ready().then(()=>{this.five.scene.add(this.group),this.stop=i.AnimationFrameLoop.shared.add((e,t)=>{this.startTime||(this.startTime=e),this.panoMesh.updateTime(e,t),this.anime(e)})})}_disable(e){this.five.scene.remove(this.group),this.panoMesh.setOpacity(0),this.startTime=void 0,this.stop(),this.five.needsRender=!0}enable(e){var t;if(!this.ctx||this.state.enabled||!this.five.observers[this.five.state.panoIndex])return;let n=(t=e==null?void 0:e.userAction)==null?!0:t;this.updateState({enabled:!0},n),this._enable({userAction:n})}disable(e){var t;if(this.state.enabled===!1)return;let n=(t=e==null?void 0:e.userAction)==null?!0:t;this.updateState({enabled:!1},n),this._disable({userAction:n})}setState(e,t={}){let n=this.state,r=t.userAction===void 0?!0:t.userAction;if(this.updateState(e,r),e.enabled!==void 0&&n.enabled!==e.enabled){let t={userAction:r};e.enabled?this._enable(t):this._disable(t)}}};exports.Controller=f;
338
+ */const require_runtime=require("../../_virtual/_rolldown/runtime.js"),require_index=require("../BasePlugin/index.js"),require_clamp=require("../utils/clamp.js");let tslib=require("tslib"),_realsee_five_webgpu=require("@realsee/five-webgpu"),three_webgpu=require("three/webgpu");three_webgpu=require_runtime.__toESM(three_webgpu,1);let three_tsl=require("three/tsl");function createPanoAnimeMaterial(){let u={map:(0,three_tsl.texture)(new three_webgpu.Texture),progress:(0,three_tsl.uniform)(0),opacity:(0,three_tsl.uniform)(0)},fragment=(0,three_tsl.Fn)(()=>{let vUv=(0,three_tsl.uv)(),vPosition=(0,three_tsl.varying)(three_tsl.positionGeometry);(0,three_tsl.Discard)(vUv.y.greaterThan(u.progress));let image=u.map.sample(vUv),base=(0,three_tsl.vec4)((0,three_tsl.vec3)(1,1,1),u.progress.sub(vPosition.y).mul(.7)),withImage=base.add((0,three_tsl.vec4)(image.rgb,image.a.mul(vPosition.y.oneMinus()))),color=(0,three_tsl.select)(u.progress.equal(1),withImage,base);return(0,three_tsl.vec4)(color.rgb,color.a.mul(u.opacity))}),material=new three_webgpu.NodeMaterial;return material.fragmentNode=fragment(),material.transparent=!0,material.depthTest=!1,{material,u}}var MULTIPLE=[1,5,2,6,3,7,4,8,9,13,10,14,11,15,12,16],CANVAS_WIDTH=512,CANVAS_HEIGHT=512,LINE_LENGTH=128,Controller=class extends require_index.BasePlugin.Controller{get config(){return Object.assign({},this._config)}updateState(state,userAction){let prevState=this.state;this.state=Object.assign(Object.assign({},this.state),state),this.hooks.emit(`stateChange`,{state:this.state,prevState,userAction})}updateConfig(config,options={}){var _a;let prevConfig=this.config,newConfig=Object.assign(Object.assign({},prevConfig),config);this._config=newConfig,this.hooks.emit(`configChange`,{prevConfig,config:newConfig,userAction:(_a=options.userAction)==null?!0:_a})}constructor(five,params){super(five),this.group=new three_webgpu.Group,this.materialUniforms=createPanoAnimeMaterial(),this.mesh=(()=>{let geometry=new three_webgpu.CylinderGeometry(.12,.12,1,32,1,!0);return geometry.translate(0,.5,0),new three_webgpu.Mesh(geometry,this.materialUniforms.material)})(),this.panoMesh=new _realsee_five_webgpu.PanoCircleMesh({scale:1.5}),this.stop=()=>{},this.drawLine=(index,deltaTime)=>{if(!this.ctx)return;let x=(()=>{var _a;return 32*((_a=MULTIPLE[index])==null?0:_a)})(),y=(1-(deltaTime+index*150)%1200/1200)*640,linearGradient=this.ctx.createLinearGradient(0,y-LINE_LENGTH,0,y);linearGradient.addColorStop(0,`rgba(255,255,255,0)`),linearGradient.addColorStop(.5,`rgba(255,255,255,1)`),linearGradient.addColorStop(1,`rgba(255,255,255,0)`),this.ctx.fillStyle=linearGradient,this.ctx.fillRect(x,y-LINE_LENGTH,3,LINE_LENGTH)},this.anime=time=>{if(!this.ctx||!this.startTime)return;this.ctx.clearRect(0,0,CANVAS_WIDTH,CANVAS_HEIGHT);for(let i=0;i<16;i++)this.drawLine(i,time-this.startTime);let progress=require_clamp.clamp((time-this.startTime)/1e3,0,1),opacity=require_clamp.clamp((time-this.startTime)/300,0,this.config.maxOpacity);this.panoMesh.setOpacity(opacity),this.materialUniforms.u.progress.value=progress,this.materialUniforms.u.opacity.value=opacity,this.canvasTexture&&(this.canvasTexture.needsUpdate=!0),this.five.needsRender=!0},this.dispose=()=>{this.disable()},this.five=five;let defaultState={enabled:!1,visible:!0};this.state=Object.assign(defaultState,params==null?void 0:params.initialState);let config=Object.assign(Object.assign({},params==null?void 0:params.config),{maxOpacity:1});this._config=config,!(typeof document>`u`)&&(this.canvas=document.createElement(`canvas`),this.ctx=this.canvas.getContext(`2d`),this.canvas.width=CANVAS_WIDTH,this.canvas.height=CANVAS_HEIGHT,this.ctx.shadowColor=`rgba(255,255,255,0.5)`,this.ctx.shadowBlur=6,this.ctx.shadowOffsetX=0,this.ctx.shadowOffsetY=0,this.canvasTexture=new three_webgpu.CanvasTexture(this.canvas),this.materialUniforms.u.map.value=this.canvasTexture,this.group.add(this.mesh),this.panoMesh.setProgress(1),this.panoMesh.setOpacity(0),this.group.add(this.panoMesh),this.state.enabled&&this._enable({userAction:!1}))}load(data){return(0,tslib.__awaiter)(this,void 0,void 0,function*(){})}_enable(options){this.mesh.position.copy(this.five.observers[this.five.state.panoIndex].standingPosition),this.panoMesh.position.copy(this.five.observers[this.five.state.panoIndex].standingPosition),this.five.ready().then(()=>{this.five.scene.add(this.group),this.stop=_realsee_five_webgpu.AnimationFrameLoop.shared.add((time,deltaTime)=>{this.startTime||(this.startTime=time),this.panoMesh.updateTime(time,deltaTime),this.anime(time)})})}_disable(options){this.five.scene.remove(this.group),this.panoMesh.setOpacity(0),this.startTime=void 0,this.stop(),this.five.needsRender=!0}enable(options){var _a;if(!this.ctx||this.state.enabled||!this.five.observers[this.five.state.panoIndex])return;let userAction=(_a=options==null?void 0:options.userAction)==null?!0:_a;this.updateState({enabled:!0},userAction),this._enable({userAction})}disable(options){var _a;if(this.state.enabled===!1)return;let userAction=(_a=options==null?void 0:options.userAction)==null?!0:_a;this.updateState({enabled:!1},userAction),this._disable({userAction})}setState(state,options={}){let prevState=this.state,userAction=options.userAction===void 0?!0:options.userAction;if(this.updateState(state,userAction),state.enabled!==void 0&&prevState.enabled!==state.enabled){let options={userAction};state.enabled?this._enable(options):this._disable(options)}}};exports.Controller=Controller;
@@ -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{BasePlugin as e}from"../BasePlugin/index.mjs";import{clamp as t}from"../utils/clamp.mjs";import{__awaiter as n}from"tslib";import{AnimationFrameLoop as r,PanoCircleMesh as i}from"@realsee/five-webgpu";import*as a from"three/webgpu";import{Discard as o,Fn as s,positionGeometry as c,select as l,texture as u,uniform as d,uv as f,varying as p,vec3 as m,vec4 as h}from"three/tsl";function g(){let e={map:u(new a.Texture),progress:d(0),opacity:d(0)},t=s(()=>{let t=f(),n=p(c);o(t.y.greaterThan(e.progress));let r=e.map.sample(t),i=h(m(1,1,1),e.progress.sub(n.y).mul(.7)),a=i.add(h(r.rgb,r.a.mul(n.y.oneMinus()))),s=l(e.progress.equal(1),a,i);return h(s.rgb,s.a.mul(e.opacity))}),n=new a.NodeMaterial;return n.fragmentNode=t(),n.transparent=!0,n.depthTest=!1,{material:n,u:e}}var _=[1,5,2,6,3,7,4,8,9,13,10,14,11,15,12,16],v=512,y=512,b=128,x=class extends e.Controller{get config(){return Object.assign({},this._config)}updateState(e,t){let n=this.state;this.state=Object.assign(Object.assign({},this.state),e),this.hooks.emit(`stateChange`,{state:this.state,prevState:n,userAction:t})}updateConfig(e,t={}){var n;let r=this.config,i=Object.assign(Object.assign({},r),e);this._config=i,this.hooks.emit(`configChange`,{prevConfig:r,config:i,userAction:(n=t.userAction)==null?!0:n})}constructor(e,n){super(e),this.group=new a.Group,this.materialUniforms=g(),this.mesh=(()=>{let e=new a.CylinderGeometry(.12,.12,1,32,1,!0);return e.translate(0,.5,0),new a.Mesh(e,this.materialUniforms.material)})(),this.panoMesh=new i({scale:1.5}),this.stop=()=>{},this.drawLine=(e,t)=>{if(!this.ctx)return;let n=(()=>{var t;return 32*((t=_[e])==null?0:t)})(),r=(1-(t+e*150)%1200/1200)*640,i=this.ctx.createLinearGradient(0,r-b,0,r);i.addColorStop(0,`rgba(255,255,255,0)`),i.addColorStop(.5,`rgba(255,255,255,1)`),i.addColorStop(1,`rgba(255,255,255,0)`),this.ctx.fillStyle=i,this.ctx.fillRect(n,r-b,3,b)},this.anime=e=>{if(!this.ctx||!this.startTime)return;this.ctx.clearRect(0,0,v,y);for(let t=0;t<16;t++)this.drawLine(t,e-this.startTime);let n=t((e-this.startTime)/1e3,0,1),r=t((e-this.startTime)/300,0,this.config.maxOpacity);this.panoMesh.setOpacity(r),this.materialUniforms.u.progress.value=n,this.materialUniforms.u.opacity.value=r,this.canvasTexture&&(this.canvasTexture.needsUpdate=!0),this.five.needsRender=!0},this.dispose=()=>{this.disable()},this.five=e;let r={enabled:!1,visible:!0};this.state=Object.assign(r,n==null?void 0:n.initialState);let o=Object.assign(Object.assign({},n==null?void 0:n.config),{maxOpacity:1});this._config=o,!(typeof document>`u`)&&(this.canvas=document.createElement(`canvas`),this.ctx=this.canvas.getContext(`2d`),this.canvas.width=v,this.canvas.height=y,this.ctx.shadowColor=`rgba(255,255,255,0.5)`,this.ctx.shadowBlur=6,this.ctx.shadowOffsetX=0,this.ctx.shadowOffsetY=0,this.canvasTexture=new a.CanvasTexture(this.canvas),this.materialUniforms.u.map.value=this.canvasTexture,this.group.add(this.mesh),this.panoMesh.setProgress(1),this.panoMesh.setOpacity(0),this.group.add(this.panoMesh),this.state.enabled&&this._enable({userAction:!1}))}load(e){return n(this,void 0,void 0,function*(){})}_enable(e){this.mesh.position.copy(this.five.observers[this.five.state.panoIndex].standingPosition),this.panoMesh.position.copy(this.five.observers[this.five.state.panoIndex].standingPosition),this.five.ready().then(()=>{this.five.scene.add(this.group),this.stop=r.shared.add((e,t)=>{this.startTime||(this.startTime=e),this.panoMesh.updateTime(e,t),this.anime(e)})})}_disable(e){this.five.scene.remove(this.group),this.panoMesh.setOpacity(0),this.startTime=void 0,this.stop(),this.five.needsRender=!0}enable(e){var t;if(!this.ctx||this.state.enabled||!this.five.observers[this.five.state.panoIndex])return;let n=(t=e==null?void 0:e.userAction)==null?!0:t;this.updateState({enabled:!0},n),this._enable({userAction:n})}disable(e){var t;if(this.state.enabled===!1)return;let n=(t=e==null?void 0:e.userAction)==null?!0:t;this.updateState({enabled:!1},n),this._disable({userAction:n})}setState(e,t={}){let n=this.state,r=t.userAction===void 0?!0:t.userAction;if(this.updateState(e,r),e.enabled!==void 0&&n.enabled!==e.enabled){let t={userAction:r};e.enabled?this._enable(t):this._disable(t)}}};export{x as Controller};
338
+ */import{BasePlugin}from"../BasePlugin/index.mjs";import{clamp as clamp$1}from"../utils/clamp.mjs";import{__awaiter}from"tslib";import{AnimationFrameLoop,PanoCircleMesh}from"@realsee/five-webgpu";import*as THREE from"three/webgpu";import{Discard,Fn,positionGeometry,select,texture,uniform,uv,varying,vec3,vec4}from"three/tsl";function createPanoAnimeMaterial(){let u={map:texture(new THREE.Texture),progress:uniform(0),opacity:uniform(0)},fragment=Fn(()=>{let vUv=uv(),vPosition=varying(positionGeometry);Discard(vUv.y.greaterThan(u.progress));let image=u.map.sample(vUv),base=vec4(vec3(1,1,1),u.progress.sub(vPosition.y).mul(.7)),withImage=base.add(vec4(image.rgb,image.a.mul(vPosition.y.oneMinus()))),color=select(u.progress.equal(1),withImage,base);return vec4(color.rgb,color.a.mul(u.opacity))}),material=new THREE.NodeMaterial;return material.fragmentNode=fragment(),material.transparent=!0,material.depthTest=!1,{material,u}}var MULTIPLE=[1,5,2,6,3,7,4,8,9,13,10,14,11,15,12,16],CANVAS_WIDTH=512,CANVAS_HEIGHT=512,LINE_LENGTH=128,Controller=class extends BasePlugin.Controller{get config(){return Object.assign({},this._config)}updateState(state,userAction){let prevState=this.state;this.state=Object.assign(Object.assign({},this.state),state),this.hooks.emit(`stateChange`,{state:this.state,prevState,userAction})}updateConfig(config,options={}){var _a;let prevConfig=this.config,newConfig=Object.assign(Object.assign({},prevConfig),config);this._config=newConfig,this.hooks.emit(`configChange`,{prevConfig,config:newConfig,userAction:(_a=options.userAction)==null?!0:_a})}constructor(five,params){super(five),this.group=new THREE.Group,this.materialUniforms=createPanoAnimeMaterial(),this.mesh=(()=>{let geometry=new THREE.CylinderGeometry(.12,.12,1,32,1,!0);return geometry.translate(0,.5,0),new THREE.Mesh(geometry,this.materialUniforms.material)})(),this.panoMesh=new PanoCircleMesh({scale:1.5}),this.stop=()=>{},this.drawLine=(index,deltaTime)=>{if(!this.ctx)return;let x=(()=>{var _a;return 32*((_a=MULTIPLE[index])==null?0:_a)})(),y=(1-(deltaTime+index*150)%1200/1200)*640,linearGradient=this.ctx.createLinearGradient(0,y-LINE_LENGTH,0,y);linearGradient.addColorStop(0,`rgba(255,255,255,0)`),linearGradient.addColorStop(.5,`rgba(255,255,255,1)`),linearGradient.addColorStop(1,`rgba(255,255,255,0)`),this.ctx.fillStyle=linearGradient,this.ctx.fillRect(x,y-LINE_LENGTH,3,LINE_LENGTH)},this.anime=time=>{if(!this.ctx||!this.startTime)return;this.ctx.clearRect(0,0,CANVAS_WIDTH,CANVAS_HEIGHT);for(let i=0;i<16;i++)this.drawLine(i,time-this.startTime);let progress=clamp$1((time-this.startTime)/1e3,0,1),opacity=clamp$1((time-this.startTime)/300,0,this.config.maxOpacity);this.panoMesh.setOpacity(opacity),this.materialUniforms.u.progress.value=progress,this.materialUniforms.u.opacity.value=opacity,this.canvasTexture&&(this.canvasTexture.needsUpdate=!0),this.five.needsRender=!0},this.dispose=()=>{this.disable()},this.five=five;let defaultState={enabled:!1,visible:!0};this.state=Object.assign(defaultState,params==null?void 0:params.initialState);let config=Object.assign(Object.assign({},params==null?void 0:params.config),{maxOpacity:1});this._config=config,!(typeof document>`u`)&&(this.canvas=document.createElement(`canvas`),this.ctx=this.canvas.getContext(`2d`),this.canvas.width=CANVAS_WIDTH,this.canvas.height=CANVAS_HEIGHT,this.ctx.shadowColor=`rgba(255,255,255,0.5)`,this.ctx.shadowBlur=6,this.ctx.shadowOffsetX=0,this.ctx.shadowOffsetY=0,this.canvasTexture=new THREE.CanvasTexture(this.canvas),this.materialUniforms.u.map.value=this.canvasTexture,this.group.add(this.mesh),this.panoMesh.setProgress(1),this.panoMesh.setOpacity(0),this.group.add(this.panoMesh),this.state.enabled&&this._enable({userAction:!1}))}load(data){return __awaiter(this,void 0,void 0,function*(){})}_enable(options){this.mesh.position.copy(this.five.observers[this.five.state.panoIndex].standingPosition),this.panoMesh.position.copy(this.five.observers[this.five.state.panoIndex].standingPosition),this.five.ready().then(()=>{this.five.scene.add(this.group),this.stop=AnimationFrameLoop.shared.add((time,deltaTime)=>{this.startTime||(this.startTime=time),this.panoMesh.updateTime(time,deltaTime),this.anime(time)})})}_disable(options){this.five.scene.remove(this.group),this.panoMesh.setOpacity(0),this.startTime=void 0,this.stop(),this.five.needsRender=!0}enable(options){var _a;if(!this.ctx||this.state.enabled||!this.five.observers[this.five.state.panoIndex])return;let userAction=(_a=options==null?void 0:options.userAction)==null?!0:_a;this.updateState({enabled:!0},userAction),this._enable({userAction})}disable(options){var _a;if(this.state.enabled===!1)return;let userAction=(_a=options==null?void 0:options.userAction)==null?!0:_a;this.updateState({enabled:!1},userAction),this._disable({userAction})}setState(state,options={}){let prevState=this.state,userAction=options.userAction===void 0?!0:options.userAction;if(this.updateState(state,userAction),state.enabled!==void 0&&prevState.enabled!==state.enabled){let options={userAction};state.enabled?this._enable(options):this._disable(options)}}};export{Controller};
@@ -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("./Controller.js");var t=(t,n)=>new e.Controller(t,n);exports.PanoAnimePlugin=t;
338
+ */const require_Controller=require("./Controller.js");var PanoAnimePlugin=(five,params)=>new require_Controller.Controller(five,params);exports.PanoAnimePlugin=PanoAnimePlugin;
@@ -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{Controller as e}from"./Controller.mjs";var t=(t,n)=>new e(t,n);export{t as PanoAnimePlugin};
338
+ */import{Controller}from"./Controller.mjs";var PanoAnimePlugin=(five,params)=>new Controller(five,params);export{PanoAnimePlugin};
@@ -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"),t=require("../BasePlugin/index.js"),n=require("./word-pass.js"),r=require("./textToStrokeOrderStrokes.js");let i=require("tslib"),a=require("three/webgpu");a=e.__toESM(a,1);var o=class extends t.BasePlugin.Controller{updateState(e,t){let n=this.state;this.state=Object.assign(Object.assign({},this.state),e),this.hooks.emit(`stateChange`,{state:this.state,prevState:n,userAction:t})}constructor(e,t){var r,i;super(e),this.dispose=()=>{this.disable(),this.wordPass.dispose()},this.five=e;let o={enabled:!1,visible:!0};this.state=Object.assign(o,t==null?void 0:t.initialState);let s=(i=(r=t==null?void 0:t.config)==null?void 0:r.outputType)==null?e.enableHDR?a.HalfFloatType:a.UnsignedByteType:i;this.wordPass=new n.WordPass(e.camera,s),this.state.enabled&&this._enable()}load(){return(0,i.__awaiter)(this,void 0,void 0,function*(){})}_enable(){this.five.addPass(this.wordPass),this.wordPass.enabled=this.state.visible,this.five.needsRender=!0}_disable(){this.five.removePass(this.wordPass),this.wordPass.clearWords(),this.five.needsRender=!0}enable(e){var t;if(this.state.enabled)return;let n=(t=e==null?void 0:e.userAction)==null?!0:t;this.updateState({enabled:!0},n),this._enable()}disable(e){var t;if(this.state.enabled===!1)return;let n=(t=e==null?void 0:e.userAction)==null?!0:t;this.updateState({enabled:!1},n),this._disable()}setState(e,t={}){var n;let r=this.state,i=(n=t.userAction)==null?!0:n;this.updateState(e,i),e.enabled!==void 0&&r.enabled!==e.enabled&&(e.enabled?this._enable():this._disable()),e.visible!==void 0&&r.visible!==e.visible&&(this.wordPass.enabled=e.visible,this.five.needsRender=!0)}setWords(e){let t=this.wordPass.setWords(e);return this.five.needsRender=!0,t}addWord(...e){let t=this.wordPass.addWord(...e);return this.five.needsRender=!0,t}removeWord(...e){let t=this.wordPass.removeWord(...e);return this.five.needsRender=!0,t}setWord(e){this.wordPass.setWord(e),this.five.needsRender=!0}clearWords(){this.wordPass.clearWords(),this.five.needsRender=!0}hasWord(e){return this.wordPass.hasWord(e)}setMaxDisplayBoost(e){this.wordPass.setMaxDisplayBoost(e),this.five.needsRender=!0}writeText(e){return(0,i.__awaiter)(this,arguments,void 0,function*(e,t={}){let{size:n,letterSpacing:a,lineSpacing:o,normal:s,up:c,center:l,position:u,smooth:d,smoothSubdivisions:f,cdnBaseUrl:p,charDataLoader:m,latinScale:h}=t,g=(0,i.__rest)(t,[`size`,`letterSpacing`,`lineSpacing`,`normal`,`up`,`center`,`position`,`smooth`,`smoothSubdivisions`,`cdnBaseUrl`,`charDataLoader`,`latinScale`]),_=yield r.textToStrokeOrderStrokes(e,{size:n,letterSpacing:a,lineSpacing:o,normal:s,up:c,center:l,position:u,smooth:d,smoothSubdivisions:f,cdnBaseUrl:p,charDataLoader:m,latinScale:h});this.state.enabled||this.enable(),g.id!==void 0&&this.hasWord(g.id)&&this.removeWord(g.id);let[v]=this.addWord(Object.assign(Object.assign({},g),{strokes:_}));return v})}};exports.Controller=o;
338
+ */const require_runtime=require("../../_virtual/_rolldown/runtime.js"),require_index=require("../BasePlugin/index.js"),require_word_pass=require("./word-pass.js"),require_textToStrokeOrderStrokes=require("./textToStrokeOrderStrokes.js");let tslib=require("tslib"),three_webgpu=require("three/webgpu");three_webgpu=require_runtime.__toESM(three_webgpu,1);var Controller=class extends require_index.BasePlugin.Controller{updateState(state,userAction){let prevState=this.state;this.state=Object.assign(Object.assign({},this.state),state),this.hooks.emit(`stateChange`,{state:this.state,prevState,userAction})}constructor(five,params){var _a,_b;super(five),this.dispose=()=>{this.disable(),this.wordPass.dispose()},this.five=five;let defaultState={enabled:!1,visible:!0};this.state=Object.assign(defaultState,params==null?void 0:params.initialState);let outputType=(_b=(_a=params==null?void 0:params.config)==null?void 0:_a.outputType)==null?five.enableHDR?three_webgpu.HalfFloatType:three_webgpu.UnsignedByteType:_b;this.wordPass=new require_word_pass.WordPass(five.camera,outputType),this.state.enabled&&this._enable()}load(){return(0,tslib.__awaiter)(this,void 0,void 0,function*(){})}_enable(){this.five.addPass(this.wordPass),this.wordPass.enabled=this.state.visible,this.five.needsRender=!0}_disable(){this.five.removePass(this.wordPass),this.wordPass.clearWords(),this.five.needsRender=!0}enable(options){var _a;if(this.state.enabled)return;let userAction=(_a=options==null?void 0:options.userAction)==null?!0:_a;this.updateState({enabled:!0},userAction),this._enable()}disable(options){var _a;if(this.state.enabled===!1)return;let userAction=(_a=options==null?void 0:options.userAction)==null?!0:_a;this.updateState({enabled:!1},userAction),this._disable()}setState(state,options={}){var _a;let prevState=this.state,userAction=(_a=options.userAction)==null?!0:_a;this.updateState(state,userAction),state.enabled!==void 0&&prevState.enabled!==state.enabled&&(state.enabled?this._enable():this._disable()),state.visible!==void 0&&prevState.visible!==state.visible&&(this.wordPass.enabled=state.visible,this.five.needsRender=!0)}setWords(words){let ids=this.wordPass.setWords(words);return this.five.needsRender=!0,ids}addWord(...words){let ids=this.wordPass.addWord(...words);return this.five.needsRender=!0,ids}removeWord(...ids){let removed=this.wordPass.removeWord(...ids);return this.five.needsRender=!0,removed}setWord(params){this.wordPass.setWord(params),this.five.needsRender=!0}clearWords(){this.wordPass.clearWords(),this.five.needsRender=!0}hasWord(id){return this.wordPass.hasWord(id)}setMaxDisplayBoost(value){this.wordPass.setMaxDisplayBoost(value),this.five.needsRender=!0}writeText(text_1){return(0,tslib.__awaiter)(this,arguments,void 0,function*(text,options={}){let{size,letterSpacing,lineSpacing,normal,up,center,position,smooth,smoothSubdivisions,cdnBaseUrl,charDataLoader,latinScale}=options,style=(0,tslib.__rest)(options,[`size`,`letterSpacing`,`lineSpacing`,`normal`,`up`,`center`,`position`,`smooth`,`smoothSubdivisions`,`cdnBaseUrl`,`charDataLoader`,`latinScale`]),strokes=yield require_textToStrokeOrderStrokes.textToStrokeOrderStrokes(text,{size,letterSpacing,lineSpacing,normal,up,center,position,smooth,smoothSubdivisions,cdnBaseUrl,charDataLoader,latinScale});this.state.enabled||this.enable(),style.id!==void 0&&this.hasWord(style.id)&&this.removeWord(style.id);let[wordId]=this.addWord(Object.assign(Object.assign({},style),{strokes}));return wordId})}};exports.Controller=Controller;