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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) 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 +65 -64
  10. package/docs/classes/index.FivePass.html +1 -1
  11. package/docs/classes/index.FiveRenderer.html +4 -4
  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 -4
  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 +1 -1
  22. package/docs/classes/index.PBMGaussianSplattingObject.html +1 -1
  23. package/docs/classes/index.PBMGaussianSplattingRenderMesh.html +1 -1
  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 +9 -5
  40. package/docs/classes/index.PanoCircleMeshCustom.html +9 -5
  41. package/docs/classes/index.PanoCircleMeshSolid.html +9 -5
  42. package/docs/classes/index.Parameter.html +1 -1
  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 +1 -1
  46. package/docs/classes/index.TileNode.html +1 -1
  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.EventCallback.html +3 -3
  58. package/docs/interfaces/index.GestureEvent.html +1 -1
  59. package/docs/interfaces/index.IPBMMaterial.html +1 -1
  60. package/docs/interfaces/index.ImageOptions.html +1 -1
  61. package/docs/interfaces/index.IntersectEvent.html +1 -1
  62. package/docs/interfaces/index.IntersectMesh.html +1 -1
  63. package/docs/interfaces/index.IntersectMeshInterface.html +1 -1
  64. package/docs/interfaces/index.Intersection.html +1 -1
  65. package/docs/interfaces/index.LooseWorkObserver.html +2 -2
  66. package/docs/interfaces/index.LooseWorkPanorama.html +2 -2
  67. package/docs/interfaces/index.LooseWorkWithExtrinsics.html +8 -8
  68. package/docs/interfaces/index.ModeChangeEvent.html +1 -1
  69. package/docs/interfaces/index.ModelControllerCustomInitArgs.html +1 -1
  70. package/docs/interfaces/index.ModelEvent.html +1 -1
  71. package/docs/interfaces/index.ModelSceneEvent.html +1 -1
  72. package/docs/interfaces/index.ModelTileEvent.html +1 -1
  73. package/docs/interfaces/index.MovePanoOptions.html +1 -1
  74. package/docs/interfaces/index.NetworkAbortError.html +1 -1
  75. package/docs/interfaces/index.NetworkFirbiddenError.html +1 -1
  76. package/docs/interfaces/index.NetworkOptions.html +1 -1
  77. package/docs/interfaces/index.NetworkProxyError.html +1 -1
  78. package/docs/interfaces/index.NetworkResourceEvent.html +1 -1
  79. package/docs/interfaces/index.NetworkResponseError.html +1 -1
  80. package/docs/interfaces/index.NetworkTimeoutError.html +1 -1
  81. package/docs/interfaces/index.ObjectEvent.html +1 -1
  82. package/docs/interfaces/index.PanoCircleMeshInterface.html +8 -4
  83. package/docs/interfaces/index.PanoCircleMeshOptions.html +2 -2
  84. package/docs/interfaces/index.PanoCircleMeshSolidOptions.html +2 -2
  85. package/docs/interfaces/index.PanoEvent.html +1 -1
  86. package/docs/interfaces/index.PanoPrepareEvent.html +1 -1
  87. package/docs/interfaces/index.PanoTextureEvent.html +1 -1
  88. package/docs/interfaces/index.PanoramaControllerCustomInitArgs.html +1 -1
  89. package/docs/interfaces/index.PanoramaLikeControllerCustomInitArgs.html +1 -1
  90. package/docs/interfaces/index.ParameterMaterialValue.html +1 -1
  91. package/docs/interfaces/index.ParameterTilesetValue.html +1 -1
  92. package/docs/interfaces/index.ParameterValue.html +1 -1
  93. package/docs/interfaces/index.Pose.html +1 -1
  94. package/docs/interfaces/index.RenderEvent.html +1 -1
  95. package/docs/interfaces/index.ResolvedParameterValue.html +1 -1
  96. package/docs/interfaces/index.State.html +1 -1
  97. package/docs/interfaces/index.StateEvent.html +1 -1
  98. package/docs/interfaces/index.TextureOptions.html +1 -1
  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 +1 -1
  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 +3 -2
  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/panorama.d.ts +6 -0
  173. package/five/core/webglBlendEquationFix.d.ts +41 -0
  174. package/five/index.d.ts +0 -1
  175. package/five/index.js +49 -626
  176. package/five/index.mjs +229 -32052
  177. package/five/meshes/panoCircleMesh.d.ts +1 -0
  178. package/five/meshes/panoCircleMeshCustom.d.ts +1 -0
  179. package/five/meshes/panoCircleMeshSolid.d.ts +1 -0
  180. package/five/meshes/panoSphereMesh.d.ts +1 -0
  181. package/five/model/index.d.ts +18 -6
  182. package/five/model/loaders/glTF-helpers/extensions/KHR_gaussian_splatting_compression_spz.d.ts +1 -1
  183. package/five/model/loaders/glTF-helpers/extensions/KHR_gaussian_splatting_compression_spz_2.d.ts +1 -1
  184. package/five/model/loaders/spz.d.ts +1 -2
  185. package/five/model/loaders/spz.worker.d.ts +37 -0
  186. package/five/renderer/five-renderer.d.ts +1 -1
  187. package/five/renderer/index.d.ts +1 -1
  188. package/five/renderer/postprocessing/passes/pass.js +3 -3
  189. package/five/renderer/postprocessing/passes/pass.mjs +3 -3
  190. package/five/renderer/tools/full-screen-quad.js +3 -3
  191. package/five/renderer/tools/full-screen-quad.mjs +3 -3
  192. package/five/texture/initTexture.d.ts +8 -0
  193. package/five/texture/videoTextureBridge.d.ts +124 -15
  194. package/five/thirdparty/sha256.d.ts +149 -0
  195. package/five/types/panoCircleMeshInterface.d.ts +6 -0
  196. package/five/utils/calculateThreeMouse.js +3 -3
  197. package/five/utils/calculateThreeMouse.mjs +3 -3
  198. package/five/utils/distance.js +3 -3
  199. package/five/utils/distance.mjs +3 -3
  200. package/five/utils/isNil.js +3 -3
  201. package/five/utils/isNil.mjs +3 -3
  202. package/five/utils/memoryUsage.d.ts +1 -1
  203. package/five/utils/uuid.js +3 -3
  204. package/five/utils/uuid.mjs +3 -3
  205. package/five/work/looseWorkType.d.ts +2 -2
  206. package/five/work/work.d.ts +1 -8
  207. package/five/work/workJsonType.d.ts +2 -4
  208. package/gltf-loader/index.js +3 -3
  209. package/gltf-loader/index.mjs +3 -50
  210. package/line/index.js +3 -3
  211. package/line/index.mjs +3 -88
  212. package/package.json +1 -1
  213. package/plugins/BackgroundPlugin/Controller.js +4 -4
  214. package/plugins/BackgroundPlugin/Controller.mjs +4 -4
  215. package/plugins/BackgroundPlugin/index.js +3 -3
  216. package/plugins/BackgroundPlugin/index.mjs +3 -3
  217. package/plugins/BasePlugin/index.js +3 -3
  218. package/plugins/BasePlugin/index.mjs +3 -3
  219. package/plugins/CSS2DPlugin/Controller.js +3 -3
  220. package/plugins/CSS2DPlugin/Controller.mjs +3 -3
  221. package/plugins/CSS2DPlugin/index.js +3 -3
  222. package/plugins/CSS2DPlugin/index.mjs +3 -3
  223. package/plugins/CSS2DPlugin/style.css_raw.js +4 -4
  224. package/plugins/CSS2DPlugin/style.css_raw.mjs +4 -4
  225. package/plugins/CSS3DPlugin/Controller.js +3 -3
  226. package/plugins/CSS3DPlugin/Controller.mjs +3 -3
  227. package/plugins/CSS3DPlugin/index.js +3 -3
  228. package/plugins/CSS3DPlugin/index.mjs +3 -3
  229. package/plugins/CSS3DPlugin/style.css_raw.js +4 -4
  230. package/plugins/CSS3DPlugin/style.css_raw.mjs +4 -4
  231. package/plugins/FloorplanPlugin/Controller.js +3 -3
  232. package/plugins/FloorplanPlugin/Controller.mjs +3 -3
  233. package/plugins/FloorplanPlugin/index.js +3 -3
  234. package/plugins/FloorplanPlugin/index.mjs +3 -3
  235. package/plugins/FloorplanPlugin/render/assets.js +3 -3
  236. package/plugins/FloorplanPlugin/render/assets.mjs +3 -3
  237. package/plugins/FloorplanPlugin/render/index.js +3 -3
  238. package/plugins/FloorplanPlugin/render/index.mjs +3 -3
  239. package/plugins/FloorplanPlugin/render/isPointInPolygon.js +3 -3
  240. package/plugins/FloorplanPlugin/render/isPointInPolygon.mjs +3 -3
  241. package/plugins/FloorplanPlugin/render/renderFloor.js +3 -3
  242. package/plugins/FloorplanPlugin/render/renderFloor.mjs +3 -3
  243. package/plugins/FloorplanPlugin/render/roomLabelVisibility.js +3 -3
  244. package/plugins/FloorplanPlugin/render/roomLabelVisibility.mjs +3 -3
  245. package/plugins/FloorplanPlugin/render/style.css_raw.js +4 -4
  246. package/plugins/FloorplanPlugin/render/style.css_raw.mjs +4 -4
  247. package/plugins/FloorplanPlugin/utils/changeMode.js +3 -3
  248. package/plugins/FloorplanPlugin/utils/changeMode.mjs +3 -3
  249. package/plugins/FloorplanPlugin/utils/changeModelCanvasOpacity.js +3 -3
  250. package/plugins/FloorplanPlugin/utils/changeModelCanvasOpacity.mjs +3 -3
  251. package/plugins/FloorplanPlugin/utils/correctFiveState.js +3 -3
  252. package/plugins/FloorplanPlugin/utils/correctFiveState.mjs +3 -3
  253. package/plugins/FloorplanPlugin/utils/equal.js +3 -3
  254. package/plugins/FloorplanPlugin/utils/equal.mjs +3 -3
  255. package/plugins/FloorplanPlugin/utils/filter.js +3 -3
  256. package/plugins/FloorplanPlugin/utils/filter.mjs +3 -3
  257. package/plugins/FloorplanPlugin/utils/fiveModelLoad.js +3 -3
  258. package/plugins/FloorplanPlugin/utils/fiveModelLoad.mjs +3 -3
  259. package/plugins/FloorplanPlugin/utils/formatData.js +3 -3
  260. package/plugins/FloorplanPlugin/utils/formatData.mjs +3 -3
  261. package/plugins/FloorplanPlugin/utils/formatFloorplanJson.js +3 -3
  262. package/plugins/FloorplanPlugin/utils/formatFloorplanJson.mjs +3 -3
  263. package/plugins/FloorplanPlugin/utils/formatPosition.js +3 -3
  264. package/plugins/FloorplanPlugin/utils/formatPosition.mjs +3 -3
  265. package/plugins/FloorplanPlugin/utils/getDistanceFromModel.js +3 -3
  266. package/plugins/FloorplanPlugin/utils/getDistanceFromModel.mjs +3 -3
  267. package/plugins/FloorplanPlugin/utils/getPxmm.js +3 -3
  268. package/plugins/FloorplanPlugin/utils/getPxmm.mjs +3 -3
  269. package/plugins/FloorplanPlugin/utils/isTruelyObject.js +3 -3
  270. package/plugins/FloorplanPlugin/utils/isTruelyObject.mjs +3 -3
  271. package/plugins/FloorplanPlugin/utils/nearlyEqual.js +3 -3
  272. package/plugins/FloorplanPlugin/utils/nearlyEqual.mjs +3 -3
  273. package/plugins/FloorplanPlugin/utils/polylabel.js +3 -3
  274. package/plugins/FloorplanPlugin/utils/polylabel.mjs +3 -3
  275. package/plugins/FloorplanPlugin/utils/to.js +3 -3
  276. package/plugins/FloorplanPlugin/utils/to.mjs +3 -3
  277. package/plugins/GaussianSplattingEntranceAnimationPlugin/Controller.js +3 -3
  278. package/plugins/GaussianSplattingEntranceAnimationPlugin/Controller.mjs +3 -3
  279. package/plugins/GaussianSplattingEntranceAnimationPlugin/index.js +3 -3
  280. package/plugins/GaussianSplattingEntranceAnimationPlugin/index.mjs +3 -3
  281. package/plugins/Object3DHelperPlugin/Controller.js +3 -3
  282. package/plugins/Object3DHelperPlugin/Controller.mjs +3 -3
  283. package/plugins/Object3DHelperPlugin/Controllers/BaseController.js +3 -3
  284. package/plugins/Object3DHelperPlugin/Controllers/BaseController.mjs +3 -3
  285. package/plugins/Object3DHelperPlugin/Controllers/BoundingBoxController.js +3 -3
  286. package/plugins/Object3DHelperPlugin/Controllers/BoundingBoxController.mjs +3 -3
  287. package/plugins/Object3DHelperPlugin/Controllers/MoveController.js +3 -3
  288. package/plugins/Object3DHelperPlugin/Controllers/MoveController.mjs +3 -3
  289. package/plugins/Object3DHelperPlugin/Controllers/RotateController.js +3 -3
  290. package/plugins/Object3DHelperPlugin/Controllers/RotateController.mjs +3 -3
  291. package/plugins/Object3DHelperPlugin/FiveControllerWrapper.js +3 -3
  292. package/plugins/Object3DHelperPlugin/FiveControllerWrapper.mjs +3 -3
  293. package/plugins/Object3DHelperPlugin/Helper/BaseHelper.js +3 -3
  294. package/plugins/Object3DHelperPlugin/Helper/BaseHelper.mjs +3 -3
  295. package/plugins/Object3DHelperPlugin/Helper/BoundingBoxHelper.js +3 -3
  296. package/plugins/Object3DHelperPlugin/Helper/BoundingBoxHelper.mjs +3 -3
  297. package/plugins/Object3DHelperPlugin/Helper/MoveHelper.js +3 -3
  298. package/plugins/Object3DHelperPlugin/Helper/MoveHelper.mjs +3 -3
  299. package/plugins/Object3DHelperPlugin/Helper/RotateHelper.js +3 -3
  300. package/plugins/Object3DHelperPlugin/Helper/RotateHelper.mjs +3 -3
  301. package/plugins/Object3DHelperPlugin/constant.js +3 -3
  302. package/plugins/Object3DHelperPlugin/constant.mjs +3 -3
  303. package/plugins/Object3DHelperPlugin/index.js +3 -3
  304. package/plugins/Object3DHelperPlugin/index.mjs +3 -3
  305. package/plugins/Object3DHelperPlugin/utils/ArrowGroup.js +3 -3
  306. package/plugins/Object3DHelperPlugin/utils/ArrowGroup.mjs +3 -3
  307. package/plugins/Object3DHelperPlugin/utils/CenterHandle.js +3 -3
  308. package/plugins/Object3DHelperPlugin/utils/CenterHandle.mjs +3 -3
  309. package/plugins/Object3DHelperPlugin/utils/PlaneHandle.js +3 -3
  310. package/plugins/Object3DHelperPlugin/utils/PlaneHandle.mjs +3 -3
  311. package/plugins/Object3DHelperPlugin/utils/calculateScaleByCamera.js +3 -3
  312. package/plugins/Object3DHelperPlugin/utils/calculateScaleByCamera.mjs +3 -3
  313. package/plugins/Object3DHelperPlugin/utils/cameraHooks.js +3 -3
  314. package/plugins/Object3DHelperPlugin/utils/cameraHooks.mjs +3 -3
  315. package/plugins/Object3DHelperPlugin/utils/direction.js +3 -3
  316. package/plugins/Object3DHelperPlugin/utils/direction.mjs +3 -3
  317. package/plugins/Object3DHelperPlugin/utils/getMouseRaycaster.js +3 -3
  318. package/plugins/Object3DHelperPlugin/utils/getMouseRaycaster.mjs +3 -3
  319. package/plugins/Object3DHelperPlugin/utils/getOrthographicCameraDirection.js +3 -3
  320. package/plugins/Object3DHelperPlugin/utils/getOrthographicCameraDirection.mjs +3 -3
  321. package/plugins/Object3DHelperPlugin/utils/setObjectQuaternion.js +3 -3
  322. package/plugins/Object3DHelperPlugin/utils/setObjectQuaternion.mjs +3 -3
  323. package/plugins/Object3DHelperPlugin/utils/solidGuide.js +3 -3
  324. package/plugins/Object3DHelperPlugin/utils/solidGuide.mjs +3 -3
  325. package/plugins/Object3DHelperPlugin/utils/tipsDom.js +3 -3
  326. package/plugins/Object3DHelperPlugin/utils/tipsDom.mjs +3 -3
  327. package/plugins/PanoAnimePlugin/Controller.js +3 -3
  328. package/plugins/PanoAnimePlugin/Controller.mjs +3 -3
  329. package/plugins/PanoAnimePlugin/index.js +3 -3
  330. package/plugins/PanoAnimePlugin/index.mjs +3 -3
  331. package/plugins/WordPassPlugin/Controller.js +3 -3
  332. package/plugins/WordPassPlugin/Controller.mjs +3 -3
  333. package/plugins/WordPassPlugin/hersheyFont.js +3 -3
  334. package/plugins/WordPassPlugin/hersheyFont.mjs +3 -3
  335. package/plugins/WordPassPlugin/index.js +3 -3
  336. package/plugins/WordPassPlugin/index.mjs +3 -3
  337. package/plugins/WordPassPlugin/textToStrokeOrderStrokes.js +4 -4
  338. package/plugins/WordPassPlugin/textToStrokeOrderStrokes.mjs +4 -4
  339. package/plugins/WordPassPlugin/word-pass.js +3 -3
  340. package/plugins/WordPassPlugin/word-pass.mjs +3 -3
  341. package/plugins/index.js +3 -3
  342. package/plugins/index.mjs +3 -3
  343. package/plugins/thirdParty/CSS2DRenderer.js +3 -3
  344. package/plugins/thirdParty/CSS2DRenderer.mjs +3 -3
  345. package/plugins/thirdParty/CSS3DRenderer.js +3 -3
  346. package/plugins/thirdParty/CSS3DRenderer.mjs +3 -3
  347. package/plugins/thirdParty/doctorstrange-model.js +75 -75
  348. package/plugins/thirdParty/doctorstrange-model.mjs +75 -75
  349. package/plugins/thirdParty/domevents.js +3 -3
  350. package/plugins/thirdParty/domevents.mjs +3 -3
  351. package/plugins/utils/absoluteUrl.js +3 -3
  352. package/plugins/utils/absoluteUrl.mjs +3 -3
  353. package/plugins/utils/calculatePath.js +3 -3
  354. package/plugins/utils/calculatePath.mjs +3 -3
  355. package/plugins/utils/clamp.js +3 -3
  356. package/plugins/utils/clamp.mjs +3 -3
  357. package/plugins/utils/uuid.js +3 -3
  358. package/plugins/utils/uuid.mjs +3 -3
  359. package/react/hooks/useFiveModelReadyState.d.ts +1 -1
  360. package/react/index.js +3 -3
  361. package/react/index.mjs +3 -644
  362. package/sticker/index.js +13 -4
  363. package/sticker/index.mjs +43 -260
  364. package/umd/five-gltf-loader.js +3 -3
  365. package/umd/five-line.js +3 -3
  366. package/umd/five-plugins.js +4 -4
  367. package/umd/five-react.js +2 -2
  368. package/umd/five-sticker.js +13 -4
  369. package/umd/five-vfx.js +2 -2
  370. package/umd/five.js +152 -190
  371. package/vfx/index.js +3 -3
  372. package/vfx/index.mjs +3 -486
  373. package/work-downloader/index.js +3 -3
  374. package/work-downloader/index.mjs +3 -315
  375. package/docs/functions/index.loadAt3d.html +0 -1
  376. package/docs/functions/index.loadDome.html +0 -1
  377. package/docs/functions/index.loadDomez.html +0 -1
  378. package/docs/functions/index.loadGltf.html +0 -1
  379. package/docs/functions/index.loadPbm.html +0 -1
  380. package/docs/functions/index.loadPly.html +0 -10
  381. package/five/certificates/hardware.d.ts +0 -1
  382. package/five/thirdparty/jsrsasign.d.ts +0 -753
  383. package/five/work/_ALLOW_HOST.d.ts +0 -2
  384. package/five/work/keychain.d.ts +0 -5
  385. package/five/work/verify.d.ts +0 -7
  386. package/five/work/workVerify.d.ts +0 -2
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/30
5
- * Version: 1.0.0-alpha.13
4
+ * Generated: 2026/11/4
5
+ * Version: 1.0.0-alpha.15
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=300){let r=e.getElement();if(!r)return;r.style.opacity=t+``;let i=r.parentElement;if(i)for(let e=0;e<i.children.length;e++){let n=i.children[e];n instanceof HTMLElement&&n.dataset.infive===`1`&&(n.style.opacity=t+``)}r.style.transition=n===0?`none`:`opacity ${n}ms linear`,n!==0&&Promise.race([new Promise(e=>r.addEventListener(`transitionend`,()=>e(),{once:!0})),new Promise(e=>setTimeout(e,n))]).then(()=>{r.style.transition=`none`})}export{e as changeModelCanvasOpacity};
338
+ */function changeModelCanvasOpacity(five,opacity,duration=300){let fiveEle=five.getElement();if(!fiveEle)return;fiveEle.style.opacity=opacity+``;let parent=fiveEle.parentElement;if(parent)for(let i=0;i<parent.children.length;i++){let child=parent.children[i];child instanceof HTMLElement&&child.dataset.infive===`1`&&(child.style.opacity=opacity+``)}fiveEle.style.transition=duration===0?`none`:`opacity ${duration}ms linear`,duration!==0&&Promise.race([new Promise(res=>fiveEle.addEventListener(`transitionend`,()=>res(),{once:!0})),new Promise(res=>setTimeout(res,duration))]).then(()=>{fiveEle.style.transition=`none`})}export{changeModelCanvasOpacity};
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/30
5
- * Version: 1.0.0-alpha.13
4
+ * Generated: 2026/11/4
5
+ * Version: 1.0.0-alpha.15
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("./nearlyEqual.js"),t=require("./to.js"),n=require("./changeMode.js"),r=require("./getDistanceFromModel.js"),i=require("./filter.js");let a=require("tslib");function o(t,n){if(t.currentMode!==n.mode)return!1;let r=t.getCurrentState(),i=t.camera.fov;return!(!e.nearlyEqual(r.latitude,n.latitude,2)||!e.nearlyEqual(r.longitude,n.longitude,2)||n.fov!==void 0&&!e.nearlyEqual(i,n.fov,2)||n.offset&&r.offset.distanceTo(n.offset)>.01)}function s(e,s){return(0,a.__awaiter)(this,arguments,void 0,function*(e,a,s=!0){var c;if(o(e,a))return;let l=e.getCurrentState();if(e.currentMode!==a.mode){let i=e.models.find(t=>t.name===e.state.workCode),o=typeof a.fov==`number`?a.fov:80;i&&(a.distance=r.getDistanceFromModel(e,o,e.camera.aspect));let[c]=yield t.default(n.changeMode(e,[a.mode,a,void 0,s]));if(c)throw c;return}let{latitude:u,longitude:d,fov:f}=l,p=(c=a.fov)==null?f:c,m=Math.min(1e3,Math.max(200,Math.abs(u-Math.PI/2)*1e3,(d>Math.PI?Math.PI*2-d:d)*500,Number.isFinite(p)?Math.abs(f-p)*10:1/0)),[h]=yield t.default(e.updateCamera(i.omit(a,[`mode`]),m,s));if(h)throw Error(`UpdateCameraError`)})}exports.correctFiveState=s;
338
+ */const require_nearlyEqual=require("./nearlyEqual.js"),require_to=require("./to.js"),require_changeMode=require("./changeMode.js"),require_getDistanceFromModel=require("./getDistanceFromModel.js"),require_filter=require("./filter.js");let tslib=require("tslib");function checkShowState(five,showState){if(five.currentMode!==showState.mode)return!1;let currentState=five.getCurrentState(),fov=five.camera.fov;return!(!require_nearlyEqual.nearlyEqual(currentState.latitude,showState.latitude,2)||!require_nearlyEqual.nearlyEqual(currentState.longitude,showState.longitude,2)||showState.fov!==void 0&&!require_nearlyEqual.nearlyEqual(fov,showState.fov,2)||showState.offset&&currentState.offset.distanceTo(showState.offset)>.01)}function correctFiveState(five_1,showState_1){return(0,tslib.__awaiter)(this,arguments,void 0,function*(five,showState,userAction=!0){var _a;if(checkShowState(five,showState))return;let currentFiveState=five.getCurrentState();if(five.currentMode!==showState.mode){let innerModel=five.models.find(m=>m.name===five.state.workCode),effectiveFov=typeof showState.fov==`number`?showState.fov:80;innerModel&&(showState.distance=require_getDistanceFromModel.getDistanceFromModel(five,effectiveFov,five.camera.aspect));let[changeModeError]=yield require_to.default(require_changeMode.changeMode(five,[showState.mode,showState,void 0,userAction]));if(changeModeError)throw changeModeError;return}let{latitude,longitude,fov}=currentFiveState,targetFov=(_a=showState.fov)==null?fov:_a,time=Math.min(1e3,Math.max(200,Math.abs(latitude-Math.PI/2)*1e3,(longitude>Math.PI?Math.PI*2-longitude:longitude)*500,Number.isFinite(targetFov)?Math.abs(fov-targetFov)*10:1/0)),[updateCameraError]=yield require_to.default(five.updateCamera(require_filter.omit(showState,[`mode`]),time,userAction));if(updateCameraError)throw Error(`UpdateCameraError`)})}exports.correctFiveState=correctFiveState;
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/30
5
- * Version: 1.0.0-alpha.13
4
+ * Generated: 2026/11/4
5
+ * Version: 1.0.0-alpha.15
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{nearlyEqual as e}from"./nearlyEqual.mjs";import t from"./to.mjs";import{changeMode as n}from"./changeMode.mjs";import{getDistanceFromModel as r}from"./getDistanceFromModel.mjs";import{omit as i}from"./filter.mjs";import{__awaiter as a}from"tslib";function o(t,n){if(t.currentMode!==n.mode)return!1;let r=t.getCurrentState(),i=t.camera.fov;return!(!e(r.latitude,n.latitude,2)||!e(r.longitude,n.longitude,2)||n.fov!==void 0&&!e(i,n.fov,2)||n.offset&&r.offset.distanceTo(n.offset)>.01)}function s(e,s){return a(this,arguments,void 0,function*(e,a,s=!0){var c;if(o(e,a))return;let l=e.getCurrentState();if(e.currentMode!==a.mode){let i=e.models.find(t=>t.name===e.state.workCode),o=typeof a.fov==`number`?a.fov:80;i&&(a.distance=r(e,o,e.camera.aspect));let[c]=yield t(n(e,[a.mode,a,void 0,s]));if(c)throw c;return}let{latitude:u,longitude:d,fov:f}=l,p=(c=a.fov)==null?f:c,m=Math.min(1e3,Math.max(200,Math.abs(u-Math.PI/2)*1e3,(d>Math.PI?Math.PI*2-d:d)*500,Number.isFinite(p)?Math.abs(f-p)*10:1/0)),[h]=yield t(e.updateCamera(i(a,[`mode`]),m,s));if(h)throw Error(`UpdateCameraError`)})}export{s as correctFiveState};
338
+ */import{nearlyEqual}from"./nearlyEqual.mjs";import to from"./to.mjs";import{changeMode}from"./changeMode.mjs";import{getDistanceFromModel}from"./getDistanceFromModel.mjs";import{omit}from"./filter.mjs";import{__awaiter}from"tslib";function checkShowState(five,showState){if(five.currentMode!==showState.mode)return!1;let currentState=five.getCurrentState(),fov=five.camera.fov;return!(!nearlyEqual(currentState.latitude,showState.latitude,2)||!nearlyEqual(currentState.longitude,showState.longitude,2)||showState.fov!==void 0&&!nearlyEqual(fov,showState.fov,2)||showState.offset&&currentState.offset.distanceTo(showState.offset)>.01)}function correctFiveState(five_1,showState_1){return __awaiter(this,arguments,void 0,function*(five,showState,userAction=!0){var _a;if(checkShowState(five,showState))return;let currentFiveState=five.getCurrentState();if(five.currentMode!==showState.mode){let innerModel=five.models.find(m=>m.name===five.state.workCode),effectiveFov=typeof showState.fov==`number`?showState.fov:80;innerModel&&(showState.distance=getDistanceFromModel(five,effectiveFov,five.camera.aspect));let[changeModeError]=yield to(changeMode(five,[showState.mode,showState,void 0,userAction]));if(changeModeError)throw changeModeError;return}let{latitude,longitude,fov}=currentFiveState,targetFov=(_a=showState.fov)==null?fov:_a,time=Math.min(1e3,Math.max(200,Math.abs(latitude-Math.PI/2)*1e3,(longitude>Math.PI?Math.PI*2-longitude:longitude)*500,Number.isFinite(targetFov)?Math.abs(fov-targetFov)*10:1/0)),[updateCameraError]=yield to(five.updateCamera(omit(showState,[`mode`]),time,userAction));if(updateCameraError)throw Error(`UpdateCameraError`)})}export{correctFiveState};
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/30
5
- * Version: 1.0.0-alpha.13
4
+ * Generated: 2026/11/4
5
+ * Version: 1.0.0-alpha.15
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("./isTruelyObject.js");function t(e,t){return!!(e===t||typeof e==`number`&&typeof t==`number`&&Number.isNaN(e)&&Number.isNaN(t))}function n(e,n){let r=Object.keys(e);return r.length===Object.keys(n).length?r.every(r=>t(e[r],n[r])):!1}function r(e,t){let n=Object.keys(e);return n.length===Object.keys(t).length?n.every(n=>s(e[n],t[n])):!1}function i(e,n){return e.length===n.length?e.every((e,r)=>t(e,n[r])):!1}function a(e,t){return e.length===t.length?e.every((e,n)=>s(e,t[n])):!1}function o(r,a){return t(r,a)?!0:e.isTruelyObject(r)&&e.isTruelyObject(a)?n(r,a):Array.isArray(r)&&Array.isArray(a)?i(r,a):!1}function s(n,i){return t(n,i)?!0:e.isTruelyObject(n)&&e.isTruelyObject(i)?r(n,i):Array.isArray(n)&&Array.isArray(i)?a(n,i):!1}function c(e,t,n={deep:!1}){return n.deep?s(e,t):o(e,t)}exports.equal=c,exports.isDeepEqual=s,exports.isShallowEqual=o;
338
+ */const require_isTruelyObject=require("./isTruelyObject.js");function baseIsEqual(value,other){return!!(value===other||typeof value==`number`&&typeof other==`number`&&Number.isNaN(value)&&Number.isNaN(other))}function objEqualShallow(value,other){let keys=Object.keys(value);return keys.length===Object.keys(other).length?keys.every(key=>baseIsEqual(value[key],other[key])):!1}function objEqualDeep(value,other){let keys=Object.keys(value);return keys.length===Object.keys(other).length?keys.every(key=>isDeepEqual(value[key],other[key])):!1}function arrayEqualShallow(value,other){return value.length===other.length?value.every((item,index)=>baseIsEqual(item,other[index])):!1}function arrayEqualDeep(value,other){return value.length===other.length?value.every((item,index)=>isDeepEqual(item,other[index])):!1}function isShallowEqual(value,other){return baseIsEqual(value,other)?!0:require_isTruelyObject.isTruelyObject(value)&&require_isTruelyObject.isTruelyObject(other)?objEqualShallow(value,other):Array.isArray(value)&&Array.isArray(other)?arrayEqualShallow(value,other):!1}function isDeepEqual(value,other){return baseIsEqual(value,other)?!0:require_isTruelyObject.isTruelyObject(value)&&require_isTruelyObject.isTruelyObject(other)?objEqualDeep(value,other):Array.isArray(value)&&Array.isArray(other)?arrayEqualDeep(value,other):!1}function equal(value,other,opt={deep:!1}){return opt.deep?isDeepEqual(value,other):isShallowEqual(value,other)}exports.equal=equal,exports.isDeepEqual=isDeepEqual,exports.isShallowEqual=isShallowEqual;
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/30
5
- * Version: 1.0.0-alpha.13
4
+ * Generated: 2026/11/4
5
+ * Version: 1.0.0-alpha.15
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{isTruelyObject as e}from"./isTruelyObject.mjs";function t(e,t){return!!(e===t||typeof e==`number`&&typeof t==`number`&&Number.isNaN(e)&&Number.isNaN(t))}function n(e,n){let r=Object.keys(e);return r.length===Object.keys(n).length?r.every(r=>t(e[r],n[r])):!1}function r(e,t){let n=Object.keys(e);return n.length===Object.keys(t).length?n.every(n=>s(e[n],t[n])):!1}function i(e,n){return e.length===n.length?e.every((e,r)=>t(e,n[r])):!1}function a(e,t){return e.length===t.length?e.every((e,n)=>s(e,t[n])):!1}function o(r,a){return t(r,a)?!0:e(r)&&e(a)?n(r,a):Array.isArray(r)&&Array.isArray(a)?i(r,a):!1}function s(n,i){return t(n,i)?!0:e(n)&&e(i)?r(n,i):Array.isArray(n)&&Array.isArray(i)?a(n,i):!1}function c(e,t,n={deep:!1}){return n.deep?s(e,t):o(e,t)}export{c as equal,s as isDeepEqual,o as isShallowEqual};
338
+ */import{isTruelyObject}from"./isTruelyObject.mjs";function baseIsEqual(value,other){return!!(value===other||typeof value==`number`&&typeof other==`number`&&Number.isNaN(value)&&Number.isNaN(other))}function objEqualShallow(value,other){let keys=Object.keys(value);return keys.length===Object.keys(other).length?keys.every(key=>baseIsEqual(value[key],other[key])):!1}function objEqualDeep(value,other){let keys=Object.keys(value);return keys.length===Object.keys(other).length?keys.every(key=>isDeepEqual(value[key],other[key])):!1}function arrayEqualShallow(value,other){return value.length===other.length?value.every((item,index)=>baseIsEqual(item,other[index])):!1}function arrayEqualDeep(value,other){return value.length===other.length?value.every((item,index)=>isDeepEqual(item,other[index])):!1}function isShallowEqual(value,other){return baseIsEqual(value,other)?!0:isTruelyObject(value)&&isTruelyObject(other)?objEqualShallow(value,other):Array.isArray(value)&&Array.isArray(other)?arrayEqualShallow(value,other):!1}function isDeepEqual(value,other){return baseIsEqual(value,other)?!0:isTruelyObject(value)&&isTruelyObject(other)?objEqualDeep(value,other):Array.isArray(value)&&Array.isArray(other)?arrayEqualDeep(value,other):!1}function equal(value,other,opt={deep:!1}){return opt.deep?isDeepEqual(value,other):isShallowEqual(value,other)}export{equal,isDeepEqual,isShallowEqual};
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/30
5
- * Version: 1.0.0-alpha.13
4
+ * Generated: 2026/11/4
5
+ * Version: 1.0.0-alpha.15
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){let n=Object.assign({},e);for(let e of t)delete n[e];return n}exports.omit=e;
338
+ */function omit(object,props){let result=Object.assign({},object);for(let prop of props)delete result[prop];return result}exports.omit=omit;
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/30
5
- * Version: 1.0.0-alpha.13
4
+ * Generated: 2026/11/4
5
+ * Version: 1.0.0-alpha.15
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){let n=Object.assign({},e);for(let e of t)delete n[e];return n}export{e as omit};
338
+ */function omit(object,props){let result=Object.assign({},object);for(let prop of props)delete result[prop];return result}export{omit};
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/30
5
- * Version: 1.0.0-alpha.13
4
+ * Generated: 2026/11/4
5
+ * Version: 1.0.0-alpha.15
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("tslib");function t(e){var t;return((t=e.models)==null?void 0:t.filter(t=>t.name===e.state.workCode)[0])||e.model}function n(e){var n;return!!((n=t(e))!=null&&n.loaded)}function r(r){return(0,e.__awaiter)(this,void 0,void 0,function*(){return new Promise(e=>{if(n(r)){e();return}let i=n=>{n===t(r)&&(r.off(`modelLoaded`,i),e())};r.on(`modelLoaded`,i)})})}exports.fiveModelIsLoaded=n,exports.getFiveModel=t,exports.waitFiveModelLoaded=r;
338
+ */let tslib=require("tslib");function getFiveModel(five){var _a;return((_a=five.models)==null?void 0:_a.filter(m=>m.name===five.state.workCode)[0])||five.model}function fiveModelIsLoaded(five){var _a;return!!((_a=getFiveModel(five))!=null&&_a.loaded)}function waitFiveModelLoaded(five){return(0,tslib.__awaiter)(this,void 0,void 0,function*(){return new Promise(resolve=>{if(fiveModelIsLoaded(five)){resolve();return}let handleModelLoaded=model=>{model===getFiveModel(five)&&(five.off(`modelLoaded`,handleModelLoaded),resolve())};five.on(`modelLoaded`,handleModelLoaded)})})}exports.fiveModelIsLoaded=fiveModelIsLoaded,exports.getFiveModel=getFiveModel,exports.waitFiveModelLoaded=waitFiveModelLoaded;
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/30
5
- * Version: 1.0.0-alpha.13
4
+ * Generated: 2026/11/4
5
+ * Version: 1.0.0-alpha.15
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{__awaiter as e}from"tslib";function t(e){var t;return((t=e.models)==null?void 0:t.filter(t=>t.name===e.state.workCode)[0])||e.model}function n(e){var n;return!!((n=t(e))!=null&&n.loaded)}function r(r){return e(this,void 0,void 0,function*(){return new Promise(e=>{if(n(r)){e();return}let i=n=>{n===t(r)&&(r.off(`modelLoaded`,i),e())};r.on(`modelLoaded`,i)})})}export{n as fiveModelIsLoaded,t as getFiveModel,r as waitFiveModelLoaded};
338
+ */import{__awaiter}from"tslib";function getFiveModel(five){var _a;return((_a=five.models)==null?void 0:_a.filter(m=>m.name===five.state.workCode)[0])||five.model}function fiveModelIsLoaded(five){var _a;return!!((_a=getFiveModel(five))!=null&&_a.loaded)}function waitFiveModelLoaded(five){return __awaiter(this,void 0,void 0,function*(){return new Promise(resolve=>{if(fiveModelIsLoaded(five)){resolve();return}let handleModelLoaded=model=>{model===getFiveModel(five)&&(five.off(`modelLoaded`,handleModelLoaded),resolve())};five.on(`modelLoaded`,handleModelLoaded)})})}export{fiveModelIsLoaded,getFiveModel,waitFiveModelLoaded};
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/30
5
- * Version: 1.0.0-alpha.13
4
+ * Generated: 2026/11/4
5
+ * Version: 1.0.0-alpha.15
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("tslib");function t(t){return(0,e.__awaiter)(this,void 0,void 0,function*(){return Promise.all(t.map(t=>(0,e.__awaiter)(this,void 0,void 0,function*(){if(!t.svg_url)return{url:t.url,index:t.index};let e=yield fetch(t.svg_url).then(e=>e.text()).catch(()=>void 0);return{url:t.url,index:t.index,svgUrl:t.svg_url,svgContent:e}})))})}function n(t){let{room_type:n,floor_type:r,room_label:i,observer_indexs:a,customized_name:o,dimension:s}=t,c=(0,e.__rest)(t,[`room_type`,`floor_type`,`room_label`,`observer_indexs`,`customized_name`,`dimension`]);return Object.assign(Object.assign({},c),{roomType:n,floorType:r,roomLabel:{position:i.position,positionInImage:i.position_in_image},observerIndexs:a,customizedName:o,dimension:s?{width:s.width,height:s.height,vertical:s.vertical,horizontal:s.horizontal}:void 0})}function r(t){let{floor_name:r,floor_index:i,rooms:a}=t,o=(0,e.__rest)(t,[`floor_name`,`floor_index`,`rooms`]);return Object.assign(Object.assign({},o),{floorName:r,floorIndex:i,rooms:a.map(n)})}function i(e){return{floorIndex:e.floor_index,positionInImage:e.position_in_image}}function a(e){return{positionInImage:e.position_in_image,northRad:e.north_rad,roomId:e.room_id,floorIndex:e.floor_index}}function o(n){return(0,e.__awaiter)(this,void 0,void 0,function*(){var e,o;let{computed_data:s}=n;return{outlines:yield t((e=n.outlines)==null?[]:e),bounding:s.bounding,floorDatas:s.floor_datas.map(r),entrance:s.entrance?a(s.entrance):null,observers:((o=s.observers)==null?[]:o).map(i)}})}exports.default=o,exports.formatData=o;
338
+ */let tslib=require("tslib");function formatOutlines(outlines){return(0,tslib.__awaiter)(this,void 0,void 0,function*(){return Promise.all(outlines.map(outline=>(0,tslib.__awaiter)(this,void 0,void 0,function*(){if(!outline.svg_url)return{url:outline.url,index:outline.index};let svgContent=yield fetch(outline.svg_url).then(res=>res.text()).catch(()=>void 0);return{url:outline.url,index:outline.index,svgUrl:outline.svg_url,svgContent}})))})}function formatRoom(data){let{room_type,floor_type,room_label,observer_indexs,customized_name,dimension}=data,rest=(0,tslib.__rest)(data,[`room_type`,`floor_type`,`room_label`,`observer_indexs`,`customized_name`,`dimension`]);return Object.assign(Object.assign({},rest),{roomType:room_type,floorType:floor_type,roomLabel:{position:room_label.position,positionInImage:room_label.position_in_image},observerIndexs:observer_indexs,customizedName:customized_name,dimension:dimension?{width:dimension.width,height:dimension.height,vertical:dimension.vertical,horizontal:dimension.horizontal}:void 0})}function formatFloorData(data){let{floor_name,floor_index,rooms}=data,rest=(0,tslib.__rest)(data,[`floor_name`,`floor_index`,`rooms`]);return Object.assign(Object.assign({},rest),{floorName:floor_name,floorIndex:floor_index,rooms:rooms.map(formatRoom)})}function formateFloorplanObserver(data){return{floorIndex:data.floor_index,positionInImage:data.position_in_image}}function formatFloorplanEntrance(data){return{positionInImage:data.position_in_image,northRad:data.north_rad,roomId:data.room_id,floorIndex:data.floor_index}}function formatData(data){return(0,tslib.__awaiter)(this,void 0,void 0,function*(){var _a,_b;let{computed_data}=data;return{outlines:yield formatOutlines((_a=data.outlines)==null?[]:_a),bounding:computed_data.bounding,floorDatas:computed_data.floor_datas.map(formatFloorData),entrance:computed_data.entrance?formatFloorplanEntrance(computed_data.entrance):null,observers:((_b=computed_data.observers)==null?[]:_b).map(formateFloorplanObserver)}})}exports.default=formatData,exports.formatData=formatData;
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/30
5
- * Version: 1.0.0-alpha.13
4
+ * Generated: 2026/11/4
5
+ * Version: 1.0.0-alpha.15
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{__awaiter as e,__rest as t}from"tslib";function n(t){return e(this,void 0,void 0,function*(){return Promise.all(t.map(t=>e(this,void 0,void 0,function*(){if(!t.svg_url)return{url:t.url,index:t.index};let e=yield fetch(t.svg_url).then(e=>e.text()).catch(()=>void 0);return{url:t.url,index:t.index,svgUrl:t.svg_url,svgContent:e}})))})}function r(e){let{room_type:n,floor_type:r,room_label:i,observer_indexs:a,customized_name:o,dimension:s}=e,c=t(e,[`room_type`,`floor_type`,`room_label`,`observer_indexs`,`customized_name`,`dimension`]);return Object.assign(Object.assign({},c),{roomType:n,floorType:r,roomLabel:{position:i.position,positionInImage:i.position_in_image},observerIndexs:a,customizedName:o,dimension:s?{width:s.width,height:s.height,vertical:s.vertical,horizontal:s.horizontal}:void 0})}function i(e){let{floor_name:n,floor_index:i,rooms:a}=e,o=t(e,[`floor_name`,`floor_index`,`rooms`]);return Object.assign(Object.assign({},o),{floorName:n,floorIndex:i,rooms:a.map(r)})}function a(e){return{floorIndex:e.floor_index,positionInImage:e.position_in_image}}function o(e){return{positionInImage:e.position_in_image,northRad:e.north_rad,roomId:e.room_id,floorIndex:e.floor_index}}function s(t){return e(this,void 0,void 0,function*(){var e,r;let{computed_data:s}=t;return{outlines:yield n((e=t.outlines)==null?[]:e),bounding:s.bounding,floorDatas:s.floor_datas.map(i),entrance:s.entrance?o(s.entrance):null,observers:((r=s.observers)==null?[]:r).map(a)}})}export{s as default,s as formatData};
338
+ */import{__awaiter,__rest}from"tslib";function formatOutlines(outlines){return __awaiter(this,void 0,void 0,function*(){return Promise.all(outlines.map(outline=>__awaiter(this,void 0,void 0,function*(){if(!outline.svg_url)return{url:outline.url,index:outline.index};let svgContent=yield fetch(outline.svg_url).then(res=>res.text()).catch(()=>void 0);return{url:outline.url,index:outline.index,svgUrl:outline.svg_url,svgContent}})))})}function formatRoom(data){let{room_type,floor_type,room_label,observer_indexs,customized_name,dimension}=data,rest=__rest(data,[`room_type`,`floor_type`,`room_label`,`observer_indexs`,`customized_name`,`dimension`]);return Object.assign(Object.assign({},rest),{roomType:room_type,floorType:floor_type,roomLabel:{position:room_label.position,positionInImage:room_label.position_in_image},observerIndexs:observer_indexs,customizedName:customized_name,dimension:dimension?{width:dimension.width,height:dimension.height,vertical:dimension.vertical,horizontal:dimension.horizontal}:void 0})}function formatFloorData(data){let{floor_name,floor_index,rooms}=data,rest=__rest(data,[`floor_name`,`floor_index`,`rooms`]);return Object.assign(Object.assign({},rest),{floorName:floor_name,floorIndex:floor_index,rooms:rooms.map(formatRoom)})}function formateFloorplanObserver(data){return{floorIndex:data.floor_index,positionInImage:data.position_in_image}}function formatFloorplanEntrance(data){return{positionInImage:data.position_in_image,northRad:data.north_rad,roomId:data.room_id,floorIndex:data.floor_index}}function formatData(data){return __awaiter(this,void 0,void 0,function*(){var _a,_b;let{computed_data}=data;return{outlines:yield formatOutlines((_a=data.outlines)==null?[]:_a),bounding:computed_data.bounding,floorDatas:computed_data.floor_datas.map(formatFloorData),entrance:computed_data.entrance?formatFloorplanEntrance(computed_data.entrance):null,observers:((_b=computed_data.observers)==null?[]:_b).map(formateFloorplanObserver)}})}export{formatData as default,formatData};
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/30
5
- * Version: 1.0.0-alpha.13
4
+ * Generated: 2026/11/4
5
+ * Version: 1.0.0-alpha.15
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("../../../five/utils/distance.js"),t=require("../../thirdParty/doctorstrange-model.js"),n=require("./polylabel.js");var r=500;function i(e,n={}){let{observers:r=[],locate:i=`zh-CN`,outlines:o=[]}=n;if(!e||e.floorplans.length===0)return null;let s=e.floorplans.map(e=>{let n=new t.Canvas;return n.load(e),n}),c=l(s,e.vrData),p=e=>u(e,c);return{outlines:o,computed_data:{floor_datas:a(s,e,r,c,i),bounding:c,entrance:d(s,p),observers:f(s,e.vrData,r,p)}}}function a(e,t,n,r,i){return e.map((e,a)=>{let l=e.areas.map(t=>{let n=o(e,t),a=s(n),l={position:a,position_in_image:u(a,r)};return{id:t.id,size:e.info.ruleType===1?t.size(!1):t.size(),name:t.labelName(i),customized_name:t.customizedName||void 0,path:n,room_type:t.roomType(),floor_type:t.floorType(),room_label:l,observer_indexs:[],dimension:c(t,a)}}),d=e.areas,f=0;return n.filter(e=>e.floor_index===a).forEach(e=>{let n=p(e,t.vrData),r=-1;for(let e=f;e<d.length&&r===-1;e++)d[e].isPointInArea(n)&&(r=e);for(let e=f;e>=0&&r===-1;e--)d[e].isPointInArea(n)&&(r=e);r!==-1&&(f=r,l[r].observer_indexs.push(e.index))}),{floor_name:t.floorplans[a].name,floor_index:a,is_has_wall:e.lines.length>0,rules:m(e),rooms:l}})}function o(t,n){let r=[],i=n.points[0];return n.points.concat(i).reduce((n,i)=>{r.push(n);let a=t.getLineByPoints(n,i);if(!a)return i;if(a.curve){let t=a.curveCenterPoint(),o=a.curveR(),s=Math.abs(o-e.distance(t,i)*a.length()/Math.abs(a.curve)/4),c=[a.curveCenterPoint.call({curve:s,points:[n,t]}),a.curveCenterPoint.call({curve:-s,points:[n,t]})].sort((t,n)=>e.distance(n,i)-e.distance(t,i))[0],l=[a.curveCenterPoint.call({curve:s,points:[t,i]}),a.curveCenterPoint.call({curve:-s,points:[t,i]})].sort((t,r)=>e.distance(r,n)-e.distance(t,n))[0];r.push(c,t,l)}if(!a.isEdge()||a.items.length===0)return i;let o=a.items.filter(e=>e.type===7||e.type===11);return o.length===0||o.forEach(t=>{let i=t.startPointAt(),a=t.endPointAt();e.distance(i,n)>e.distance(a,n)&&([i,a]=[a,i]);let[o,s]=g(700,[i,a])[0];r.push(i,o,s,a)}),i},i),r.map(({x:e,y:t})=>({x:e,y:t}))}function s(e){let[t,r]=n.polylabel([e.map(({x:e,y:t})=>[Math.trunc(e),Math.trunc(t)])],1);return{x:t,y:r}}function c(e,t){let n=e.innerPath();if(n.length===0)return;let r=1/0,i=-1/0,a=1/0,o=-1/0;n.forEach(e=>{r=Math.min(r,e.x),i=Math.max(i,e.x),a=Math.min(a,e.y),o=Math.max(o,e.y)});let s=i-r,c=o-a,l=Math.round(t.x),u=Math.round(t.y);return{width:s,height:c,vertical:[{x:l,y:a},{x:l,y:o}],horizontal:[{x:r,y:u},{x:i,y:u}]}}function l(e,t){let n=1e3,r={min:{x:1/0,y:1/0},max:{x:-1/0,y:-1/0},origin:{x:0,y:0}};function i({x:e,y:t}){r.min.x=Math.min(e,r.min.x),r.min.y=Math.min(t,r.min.y),r.max.x=Math.max(e,r.max.x),r.max.y=Math.max(t,r.max.y)}return e.forEach(e=>{e.points.forEach(e=>i(e)),e.lines.forEach(e=>{e.curve!==0&&i(e.curveCenterPoint())})}),r.min.x-=n,r.min.y-=n,r.max.x+=n,r.max.y+=n,r.origin.x=t.origin.left,r.origin.y=t.origin.top,r}function u(e,t){let n=t.max.x-t.min.x,r=t.max.y-t.min.y;return{x:n===0?0:(e.x-t.min.x)/n,y:r===0?0:(t.max.y-e.y)/r}}function d(e,t){let n=e.map(e=>e.lineItems).reduce((e,t)=>e.concat(t),[]).find(e=>e.entrance!==null);if(!n)return null;let r=n.canvas,i=r.areas.find(e=>n.line.points.every(t=>e.points.indexOf(t)>=0));if(!i)return null;let a=v([n.startPointAt(),n.endPointAt()]),o=n.towardsRadWithArea(i)+n.entrance/180*Math.PI;return{position_in_image:t(a),north_rad:o,room_id:i.id,floor_index:e.findIndex(e=>e===r)}}function f(e,t,n,r){return n.filter(t=>e[t.floor_index]).map(e=>({floor_index:e.floor_index,position_in_image:r(p(e,t))}))}function p(e,t){return{x:e.position[0]*1e3+t.origin.left,y:-e.position[2]*1e3+t.origin.top}}function m(e){let t=[],n=[],i=[],a=[];for(let o of e.lines){if(!o.edgeComputed||!o.points.length)continue;let s=e.areas.find(e=>o.points.every(t=>e.points.includes(t)));if(!s)continue;let c=o.edgePoints(!0),l=s.innerPath(!0,!1),[u,d]=c.filter(e=>l.some(t=>h(t,e)));if(!u||!d)continue;let f={x:u.x|0,y:u.y|0},p={x:d.x|0,y:d.y|0},m=o.towardsRadWithArea(s),g=Math.cos(m),_=Math.sin(m);Math.abs(f.y-p.y)>r&&(g<0?a.push([f,p].sort((e,t)=>e.y-t.y)):g>0&&n.push([f,p].sort((e,t)=>e.y-t.y))),Math.abs(f.x-p.x)>r&&(_<0?i.push([f,p].sort((e,t)=>e.x-t.x)):_>0&&t.push([f,p].sort((e,t)=>e.x-t.x)))}return{top:t,right:n,bottom:i,left:a}}function h(e,t){return e.x===t.x&&e.y===t.y}function g(e,t){let n=_(t[1],t[0]),r,i;Math.abs(n)===1/0?(i=0,r=e):(i=Math.sqrt(e*e/(n*n+1)),r=i/-(1/n));let a=[[{x:t[0].x-r,y:t[0].y-i},{x:t[1].x-r,y:t[1].y-i}],[{x:t[0].x+r,y:t[0].y+i},{x:t[1].x+r,y:t[1].y+i}]];return t[1].x-t[0].x<0?a:t[1].x-t[0].x>0||t[1].y-t[0].y<0?a.reverse():a}function _(e,t){return(e.y-t.y)/(e.x-t.x)}function v(e){let t=Math.min(...e.map(e=>e.x)),n=Math.max(...e.map(e=>e.x)),r=Math.min(...e.map(e=>e.y)),i=Math.max(...e.map(e=>e.y));return{x:(t+n)/2,y:(r+i)/2}}exports.default=i,exports.formatFloorplanJson=i;
338
+ */const require_distance=require("../../../five/utils/distance.js"),require_doctorstrange_model=require("../../thirdParty/doctorstrange-model.js"),require_polylabel=require("./polylabel.js");var MIN_RULE_LENGTH=500;function formatFloorplanJson(floorplanJson,options={}){let{observers=[],locate=`zh-CN`,outlines=[]}=options;if(!floorplanJson||floorplanJson.floorplans.length===0)return null;let canvasArray=floorplanJson.floorplans.map(floorplan=>{let canvas=new require_doctorstrange_model.Canvas;return canvas.load(floorplan),canvas}),bounding=getBounding(canvasArray,floorplanJson.vrData),toImagePosition=point=>floorplanPosition2ImagePosition(point,bounding);return{outlines,computed_data:{floor_datas:getFloorDatas(canvasArray,floorplanJson,observers,bounding,locate),bounding,entrance:getEntrance(canvasArray,toImagePosition),observers:getObservers(canvasArray,floorplanJson.vrData,observers,toImagePosition)}}}function getFloorDatas(canvasArray,floorplanJson,observers,bounding,locate){return canvasArray.map((canvas,floorIndex)=>{let rooms=canvas.areas.map(area=>{let path=getCompleteRoomPoints(canvas,area),position=getCenterPointOfPath(path),room_label={position,position_in_image:floorplanPosition2ImagePosition(position,bounding)};return{id:area.id,size:canvas.info.ruleType===1?area.size(!1):area.size(),name:area.labelName(locate),customized_name:area.customizedName||void 0,path,room_type:area.roomType(),floor_type:area.floorType(),room_label,observer_indexs:[],dimension:getDimensionOfArea(area,position)}}),areas=canvas.areas,lastAreaIndex=0;return observers.filter(observer=>observer.floor_index===floorIndex).forEach(observer=>{let point=observerWorldPoint(observer,floorplanJson.vrData),findIndex=-1;for(let i=lastAreaIndex;i<areas.length&&findIndex===-1;i++)areas[i].isPointInArea(point)&&(findIndex=i);for(let i=lastAreaIndex;i>=0&&findIndex===-1;i--)areas[i].isPointInArea(point)&&(findIndex=i);findIndex!==-1&&(lastAreaIndex=findIndex,rooms[findIndex].observer_indexs.push(observer.index))}),{floor_name:floorplanJson.floorplans[floorIndex].name,floor_index:floorIndex,is_has_wall:canvas.lines.length>0,rules:getFloorplanRules(canvas),rooms}})}function getCompleteRoomPoints(canvas,area){let points=[],firstPoint=area.points[0];return area.points.concat(firstPoint).reduce((prevPoint,currPoint)=>{points.push(prevPoint);let line=canvas.getLineByPoints(prevPoint,currPoint);if(!line)return currPoint;if(line.curve){let centerPoint=line.curveCenterPoint(),curveR=line.curveR(),assistantCurveAbs=Math.abs(curveR-require_distance.distance(centerPoint,currPoint)*line.length()/Math.abs(line.curve)/4),p3=[line.curveCenterPoint.call({curve:assistantCurveAbs,points:[prevPoint,centerPoint]}),line.curveCenterPoint.call({curve:-assistantCurveAbs,points:[prevPoint,centerPoint]})].sort((a,b)=>require_distance.distance(b,currPoint)-require_distance.distance(a,currPoint))[0],p4=[line.curveCenterPoint.call({curve:assistantCurveAbs,points:[centerPoint,currPoint]}),line.curveCenterPoint.call({curve:-assistantCurveAbs,points:[centerPoint,currPoint]})].sort((a,b)=>require_distance.distance(b,prevPoint)-require_distance.distance(a,prevPoint))[0];points.push(p3,centerPoint,p4)}if(!line.isEdge()||line.items.length===0)return currPoint;let lineItems=line.items.filter(lineItem=>lineItem.type===7||lineItem.type===11);return lineItems.length===0||lineItems.forEach(lineItem=>{let start=lineItem.startPointAt(),end=lineItem.endPointAt();require_distance.distance(start,prevPoint)>require_distance.distance(end,prevPoint)&&([start,end]=[end,start]);let[offsetStart,offsetEnd]=parallelLineOfLine(700,[start,end])[0];points.push(start,offsetStart,offsetEnd,end)}),currPoint},firstPoint),points.map(({x,y})=>({x,y}))}function getCenterPointOfPath(path){let[x,y]=require_polylabel.polylabel([path.map(({x,y})=>[Math.trunc(x),Math.trunc(y)])],1);return{x,y}}function getDimensionOfArea(area,centerPoint){let points=area.innerPath();if(points.length===0)return;let minX=1/0,maxX=-1/0,minY=1/0,maxY=-1/0;points.forEach(point=>{minX=Math.min(minX,point.x),maxX=Math.max(maxX,point.x),minY=Math.min(minY,point.y),maxY=Math.max(maxY,point.y)});let width=maxX-minX,height=maxY-minY,x=Math.round(centerPoint.x),y=Math.round(centerPoint.y);return{width,height,vertical:[{x,y:minY},{x,y:maxY}],horizontal:[{x:minX,y},{x:maxX,y}]}}function getBounding(canvasArray,vrData){let padding=1e3,result={min:{x:1/0,y:1/0},max:{x:-1/0,y:-1/0},origin:{x:0,y:0}};function applyResult({x,y}){result.min.x=Math.min(x,result.min.x),result.min.y=Math.min(y,result.min.y),result.max.x=Math.max(x,result.max.x),result.max.y=Math.max(y,result.max.y)}return canvasArray.forEach(canvas=>{canvas.points.forEach(point=>applyResult(point)),canvas.lines.forEach(line=>{line.curve!==0&&applyResult(line.curveCenterPoint())})}),result.min.x-=padding,result.min.y-=padding,result.max.x+=padding,result.max.y+=padding,result.origin.x=vrData.origin.left,result.origin.y=vrData.origin.top,result}function floorplanPosition2ImagePosition(point,bounding){let boundingWidth=bounding.max.x-bounding.min.x,boundingHeight=bounding.max.y-bounding.min.y;return{x:boundingWidth===0?0:(point.x-bounding.min.x)/boundingWidth,y:boundingHeight===0?0:(bounding.max.y-point.y)/boundingHeight}}function getEntrance(canvasArray,toImagePosition){let lineItem=canvasArray.map(canvas=>canvas.lineItems).reduce((acc,val)=>acc.concat(val),[]).find(item=>item.entrance!==null);if(!lineItem)return null;let canvas=lineItem.canvas,area=canvas.areas.find(area=>lineItem.line.points.every(point=>area.points.indexOf(point)>=0));if(!area)return null;let position=getCenterPointOfPoints([lineItem.startPointAt(),lineItem.endPointAt()]),northRad=lineItem.towardsRadWithArea(area)+lineItem.entrance/180*Math.PI;return{position_in_image:toImagePosition(position),north_rad:northRad,room_id:area.id,floor_index:canvasArray.findIndex(canvasItem=>canvasItem===canvas)}}function getObservers(canvasArray,vrData,observers,toImagePosition){return observers.filter(observer=>canvasArray[observer.floor_index]).map(observer=>({floor_index:observer.floor_index,position_in_image:toImagePosition(observerWorldPoint(observer,vrData))}))}function observerWorldPoint(observer,vrData){return{x:observer.position[0]*1e3+vrData.origin.left,y:-observer.position[2]*1e3+vrData.origin.top}}function getFloorplanRules(canvas){let top=[],right=[],bottom=[],left=[];for(let line of canvas.lines){if(!line.edgeComputed||!line.points.length)continue;let area=canvas.areas.find(area=>line.points.every(point=>area.points.includes(point)));if(!area)continue;let linePoints=line.edgePoints(!0),areaInnerPath=area.innerPath(!0,!1),[pt0,pt1]=linePoints.filter(point=>areaInnerPath.some(p=>samePointAt(p,point)));if(!pt0||!pt1)continue;let roundedPt0={x:pt0.x|0,y:pt0.y|0},roundedPt1={x:pt1.x|0,y:pt1.y|0},towardsRad=line.towardsRadWithArea(area),relativeX=Math.cos(towardsRad),relativeY=Math.sin(towardsRad);Math.abs(roundedPt0.y-roundedPt1.y)>MIN_RULE_LENGTH&&(relativeX<0?left.push([roundedPt0,roundedPt1].sort((a,b)=>a.y-b.y)):relativeX>0&&right.push([roundedPt0,roundedPt1].sort((a,b)=>a.y-b.y))),Math.abs(roundedPt0.x-roundedPt1.x)>MIN_RULE_LENGTH&&(relativeY<0?bottom.push([roundedPt0,roundedPt1].sort((a,b)=>a.x-b.x)):relativeY>0&&top.push([roundedPt0,roundedPt1].sort((a,b)=>a.x-b.x)))}return{top,right,bottom,left}}function samePointAt(point1,point2){return point1.x===point2.x&&point1.y===point2.y}function parallelLineOfLine(distanceOfLine,linePoints){let k=getK(linePoints[1],linePoints[0]),dx,dy;Math.abs(k)===1/0?(dy=0,dx=distanceOfLine):(dy=Math.sqrt(distanceOfLine*distanceOfLine/(k*k+1)),dx=dy/-(1/k));let result=[[{x:linePoints[0].x-dx,y:linePoints[0].y-dy},{x:linePoints[1].x-dx,y:linePoints[1].y-dy}],[{x:linePoints[0].x+dx,y:linePoints[0].y+dy},{x:linePoints[1].x+dx,y:linePoints[1].y+dy}]];return linePoints[1].x-linePoints[0].x<0?result:linePoints[1].x-linePoints[0].x>0||linePoints[1].y-linePoints[0].y<0?result.reverse():result}function getK(p0,p1){return(p0.y-p1.y)/(p0.x-p1.x)}function getCenterPointOfPoints(points){let minX=Math.min(...points.map(p=>p.x)),maxX=Math.max(...points.map(p=>p.x)),minY=Math.min(...points.map(p=>p.y)),maxY=Math.max(...points.map(p=>p.y));return{x:(minX+maxX)/2,y:(minY+maxY)/2}}exports.default=formatFloorplanJson,exports.formatFloorplanJson=formatFloorplanJson;
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/30
5
- * Version: 1.0.0-alpha.13
4
+ * Generated: 2026/11/4
5
+ * Version: 1.0.0-alpha.15
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{distance as e}from"../../../five/utils/distance.mjs";import{Canvas as t}from"../../thirdParty/doctorstrange-model.mjs";import{polylabel as n}from"./polylabel.mjs";var r=500;function i(e,n={}){let{observers:r=[],locate:i=`zh-CN`,outlines:o=[]}=n;if(!e||e.floorplans.length===0)return null;let s=e.floorplans.map(e=>{let n=new t;return n.load(e),n}),c=l(s,e.vrData),p=e=>u(e,c);return{outlines:o,computed_data:{floor_datas:a(s,e,r,c,i),bounding:c,entrance:d(s,p),observers:f(s,e.vrData,r,p)}}}function a(e,t,n,r,i){return e.map((e,a)=>{let l=e.areas.map(t=>{let n=o(e,t),a=s(n),l={position:a,position_in_image:u(a,r)};return{id:t.id,size:e.info.ruleType===1?t.size(!1):t.size(),name:t.labelName(i),customized_name:t.customizedName||void 0,path:n,room_type:t.roomType(),floor_type:t.floorType(),room_label:l,observer_indexs:[],dimension:c(t,a)}}),d=e.areas,f=0;return n.filter(e=>e.floor_index===a).forEach(e=>{let n=p(e,t.vrData),r=-1;for(let e=f;e<d.length&&r===-1;e++)d[e].isPointInArea(n)&&(r=e);for(let e=f;e>=0&&r===-1;e--)d[e].isPointInArea(n)&&(r=e);r!==-1&&(f=r,l[r].observer_indexs.push(e.index))}),{floor_name:t.floorplans[a].name,floor_index:a,is_has_wall:e.lines.length>0,rules:m(e),rooms:l}})}function o(t,n){let r=[],i=n.points[0];return n.points.concat(i).reduce((n,i)=>{r.push(n);let a=t.getLineByPoints(n,i);if(!a)return i;if(a.curve){let t=a.curveCenterPoint(),o=a.curveR(),s=Math.abs(o-e(t,i)*a.length()/Math.abs(a.curve)/4),c=[a.curveCenterPoint.call({curve:s,points:[n,t]}),a.curveCenterPoint.call({curve:-s,points:[n,t]})].sort((t,n)=>e(n,i)-e(t,i))[0],l=[a.curveCenterPoint.call({curve:s,points:[t,i]}),a.curveCenterPoint.call({curve:-s,points:[t,i]})].sort((t,r)=>e(r,n)-e(t,n))[0];r.push(c,t,l)}if(!a.isEdge()||a.items.length===0)return i;let o=a.items.filter(e=>e.type===7||e.type===11);return o.length===0||o.forEach(t=>{let i=t.startPointAt(),a=t.endPointAt();e(i,n)>e(a,n)&&([i,a]=[a,i]);let[o,s]=g(700,[i,a])[0];r.push(i,o,s,a)}),i},i),r.map(({x:e,y:t})=>({x:e,y:t}))}function s(e){let[t,r]=n([e.map(({x:e,y:t})=>[Math.trunc(e),Math.trunc(t)])],1);return{x:t,y:r}}function c(e,t){let n=e.innerPath();if(n.length===0)return;let r=1/0,i=-1/0,a=1/0,o=-1/0;n.forEach(e=>{r=Math.min(r,e.x),i=Math.max(i,e.x),a=Math.min(a,e.y),o=Math.max(o,e.y)});let s=i-r,c=o-a,l=Math.round(t.x),u=Math.round(t.y);return{width:s,height:c,vertical:[{x:l,y:a},{x:l,y:o}],horizontal:[{x:r,y:u},{x:i,y:u}]}}function l(e,t){let n=1e3,r={min:{x:1/0,y:1/0},max:{x:-1/0,y:-1/0},origin:{x:0,y:0}};function i({x:e,y:t}){r.min.x=Math.min(e,r.min.x),r.min.y=Math.min(t,r.min.y),r.max.x=Math.max(e,r.max.x),r.max.y=Math.max(t,r.max.y)}return e.forEach(e=>{e.points.forEach(e=>i(e)),e.lines.forEach(e=>{e.curve!==0&&i(e.curveCenterPoint())})}),r.min.x-=n,r.min.y-=n,r.max.x+=n,r.max.y+=n,r.origin.x=t.origin.left,r.origin.y=t.origin.top,r}function u(e,t){let n=t.max.x-t.min.x,r=t.max.y-t.min.y;return{x:n===0?0:(e.x-t.min.x)/n,y:r===0?0:(t.max.y-e.y)/r}}function d(e,t){let n=e.map(e=>e.lineItems).reduce((e,t)=>e.concat(t),[]).find(e=>e.entrance!==null);if(!n)return null;let r=n.canvas,i=r.areas.find(e=>n.line.points.every(t=>e.points.indexOf(t)>=0));if(!i)return null;let a=v([n.startPointAt(),n.endPointAt()]),o=n.towardsRadWithArea(i)+n.entrance/180*Math.PI;return{position_in_image:t(a),north_rad:o,room_id:i.id,floor_index:e.findIndex(e=>e===r)}}function f(e,t,n,r){return n.filter(t=>e[t.floor_index]).map(e=>({floor_index:e.floor_index,position_in_image:r(p(e,t))}))}function p(e,t){return{x:e.position[0]*1e3+t.origin.left,y:-e.position[2]*1e3+t.origin.top}}function m(e){let t=[],n=[],i=[],a=[];for(let o of e.lines){if(!o.edgeComputed||!o.points.length)continue;let s=e.areas.find(e=>o.points.every(t=>e.points.includes(t)));if(!s)continue;let c=o.edgePoints(!0),l=s.innerPath(!0,!1),[u,d]=c.filter(e=>l.some(t=>h(t,e)));if(!u||!d)continue;let f={x:u.x|0,y:u.y|0},p={x:d.x|0,y:d.y|0},m=o.towardsRadWithArea(s),g=Math.cos(m),_=Math.sin(m);Math.abs(f.y-p.y)>r&&(g<0?a.push([f,p].sort((e,t)=>e.y-t.y)):g>0&&n.push([f,p].sort((e,t)=>e.y-t.y))),Math.abs(f.x-p.x)>r&&(_<0?i.push([f,p].sort((e,t)=>e.x-t.x)):_>0&&t.push([f,p].sort((e,t)=>e.x-t.x)))}return{top:t,right:n,bottom:i,left:a}}function h(e,t){return e.x===t.x&&e.y===t.y}function g(e,t){let n=_(t[1],t[0]),r,i;Math.abs(n)===1/0?(i=0,r=e):(i=Math.sqrt(e*e/(n*n+1)),r=i/-(1/n));let a=[[{x:t[0].x-r,y:t[0].y-i},{x:t[1].x-r,y:t[1].y-i}],[{x:t[0].x+r,y:t[0].y+i},{x:t[1].x+r,y:t[1].y+i}]];return t[1].x-t[0].x<0?a:t[1].x-t[0].x>0||t[1].y-t[0].y<0?a.reverse():a}function _(e,t){return(e.y-t.y)/(e.x-t.x)}function v(e){let t=Math.min(...e.map(e=>e.x)),n=Math.max(...e.map(e=>e.x)),r=Math.min(...e.map(e=>e.y)),i=Math.max(...e.map(e=>e.y));return{x:(t+n)/2,y:(r+i)/2}}export{i as default,i as formatFloorplanJson};
338
+ */import{distance}from"../../../five/utils/distance.mjs";import{Canvas}from"../../thirdParty/doctorstrange-model.mjs";import{polylabel}from"./polylabel.mjs";var MIN_RULE_LENGTH=500;function formatFloorplanJson(floorplanJson,options={}){let{observers=[],locate=`zh-CN`,outlines=[]}=options;if(!floorplanJson||floorplanJson.floorplans.length===0)return null;let canvasArray=floorplanJson.floorplans.map(floorplan=>{let canvas=new Canvas;return canvas.load(floorplan),canvas}),bounding=getBounding(canvasArray,floorplanJson.vrData),toImagePosition=point=>floorplanPosition2ImagePosition(point,bounding);return{outlines,computed_data:{floor_datas:getFloorDatas(canvasArray,floorplanJson,observers,bounding,locate),bounding,entrance:getEntrance(canvasArray,toImagePosition),observers:getObservers(canvasArray,floorplanJson.vrData,observers,toImagePosition)}}}function getFloorDatas(canvasArray,floorplanJson,observers,bounding,locate){return canvasArray.map((canvas,floorIndex)=>{let rooms=canvas.areas.map(area=>{let path=getCompleteRoomPoints(canvas,area),position=getCenterPointOfPath(path),room_label={position,position_in_image:floorplanPosition2ImagePosition(position,bounding)};return{id:area.id,size:canvas.info.ruleType===1?area.size(!1):area.size(),name:area.labelName(locate),customized_name:area.customizedName||void 0,path,room_type:area.roomType(),floor_type:area.floorType(),room_label,observer_indexs:[],dimension:getDimensionOfArea(area,position)}}),areas=canvas.areas,lastAreaIndex=0;return observers.filter(observer=>observer.floor_index===floorIndex).forEach(observer=>{let point=observerWorldPoint(observer,floorplanJson.vrData),findIndex=-1;for(let i=lastAreaIndex;i<areas.length&&findIndex===-1;i++)areas[i].isPointInArea(point)&&(findIndex=i);for(let i=lastAreaIndex;i>=0&&findIndex===-1;i--)areas[i].isPointInArea(point)&&(findIndex=i);findIndex!==-1&&(lastAreaIndex=findIndex,rooms[findIndex].observer_indexs.push(observer.index))}),{floor_name:floorplanJson.floorplans[floorIndex].name,floor_index:floorIndex,is_has_wall:canvas.lines.length>0,rules:getFloorplanRules(canvas),rooms}})}function getCompleteRoomPoints(canvas,area){let points=[],firstPoint=area.points[0];return area.points.concat(firstPoint).reduce((prevPoint,currPoint)=>{points.push(prevPoint);let line=canvas.getLineByPoints(prevPoint,currPoint);if(!line)return currPoint;if(line.curve){let centerPoint=line.curveCenterPoint(),curveR=line.curveR(),assistantCurveAbs=Math.abs(curveR-distance(centerPoint,currPoint)*line.length()/Math.abs(line.curve)/4),p3=[line.curveCenterPoint.call({curve:assistantCurveAbs,points:[prevPoint,centerPoint]}),line.curveCenterPoint.call({curve:-assistantCurveAbs,points:[prevPoint,centerPoint]})].sort((a,b)=>distance(b,currPoint)-distance(a,currPoint))[0],p4=[line.curveCenterPoint.call({curve:assistantCurveAbs,points:[centerPoint,currPoint]}),line.curveCenterPoint.call({curve:-assistantCurveAbs,points:[centerPoint,currPoint]})].sort((a,b)=>distance(b,prevPoint)-distance(a,prevPoint))[0];points.push(p3,centerPoint,p4)}if(!line.isEdge()||line.items.length===0)return currPoint;let lineItems=line.items.filter(lineItem=>lineItem.type===7||lineItem.type===11);return lineItems.length===0||lineItems.forEach(lineItem=>{let start=lineItem.startPointAt(),end=lineItem.endPointAt();distance(start,prevPoint)>distance(end,prevPoint)&&([start,end]=[end,start]);let[offsetStart,offsetEnd]=parallelLineOfLine(700,[start,end])[0];points.push(start,offsetStart,offsetEnd,end)}),currPoint},firstPoint),points.map(({x,y})=>({x,y}))}function getCenterPointOfPath(path){let[x,y]=polylabel([path.map(({x,y})=>[Math.trunc(x),Math.trunc(y)])],1);return{x,y}}function getDimensionOfArea(area,centerPoint){let points=area.innerPath();if(points.length===0)return;let minX=1/0,maxX=-1/0,minY=1/0,maxY=-1/0;points.forEach(point=>{minX=Math.min(minX,point.x),maxX=Math.max(maxX,point.x),minY=Math.min(minY,point.y),maxY=Math.max(maxY,point.y)});let width=maxX-minX,height=maxY-minY,x=Math.round(centerPoint.x),y=Math.round(centerPoint.y);return{width,height,vertical:[{x,y:minY},{x,y:maxY}],horizontal:[{x:minX,y},{x:maxX,y}]}}function getBounding(canvasArray,vrData){let padding=1e3,result={min:{x:1/0,y:1/0},max:{x:-1/0,y:-1/0},origin:{x:0,y:0}};function applyResult({x,y}){result.min.x=Math.min(x,result.min.x),result.min.y=Math.min(y,result.min.y),result.max.x=Math.max(x,result.max.x),result.max.y=Math.max(y,result.max.y)}return canvasArray.forEach(canvas=>{canvas.points.forEach(point=>applyResult(point)),canvas.lines.forEach(line=>{line.curve!==0&&applyResult(line.curveCenterPoint())})}),result.min.x-=padding,result.min.y-=padding,result.max.x+=padding,result.max.y+=padding,result.origin.x=vrData.origin.left,result.origin.y=vrData.origin.top,result}function floorplanPosition2ImagePosition(point,bounding){let boundingWidth=bounding.max.x-bounding.min.x,boundingHeight=bounding.max.y-bounding.min.y;return{x:boundingWidth===0?0:(point.x-bounding.min.x)/boundingWidth,y:boundingHeight===0?0:(bounding.max.y-point.y)/boundingHeight}}function getEntrance(canvasArray,toImagePosition){let lineItem=canvasArray.map(canvas=>canvas.lineItems).reduce((acc,val)=>acc.concat(val),[]).find(item=>item.entrance!==null);if(!lineItem)return null;let canvas=lineItem.canvas,area=canvas.areas.find(area=>lineItem.line.points.every(point=>area.points.indexOf(point)>=0));if(!area)return null;let position=getCenterPointOfPoints([lineItem.startPointAt(),lineItem.endPointAt()]),northRad=lineItem.towardsRadWithArea(area)+lineItem.entrance/180*Math.PI;return{position_in_image:toImagePosition(position),north_rad:northRad,room_id:area.id,floor_index:canvasArray.findIndex(canvasItem=>canvasItem===canvas)}}function getObservers(canvasArray,vrData,observers,toImagePosition){return observers.filter(observer=>canvasArray[observer.floor_index]).map(observer=>({floor_index:observer.floor_index,position_in_image:toImagePosition(observerWorldPoint(observer,vrData))}))}function observerWorldPoint(observer,vrData){return{x:observer.position[0]*1e3+vrData.origin.left,y:-observer.position[2]*1e3+vrData.origin.top}}function getFloorplanRules(canvas){let top=[],right=[],bottom=[],left=[];for(let line of canvas.lines){if(!line.edgeComputed||!line.points.length)continue;let area=canvas.areas.find(area=>line.points.every(point=>area.points.includes(point)));if(!area)continue;let linePoints=line.edgePoints(!0),areaInnerPath=area.innerPath(!0,!1),[pt0,pt1]=linePoints.filter(point=>areaInnerPath.some(p=>samePointAt(p,point)));if(!pt0||!pt1)continue;let roundedPt0={x:pt0.x|0,y:pt0.y|0},roundedPt1={x:pt1.x|0,y:pt1.y|0},towardsRad=line.towardsRadWithArea(area),relativeX=Math.cos(towardsRad),relativeY=Math.sin(towardsRad);Math.abs(roundedPt0.y-roundedPt1.y)>MIN_RULE_LENGTH&&(relativeX<0?left.push([roundedPt0,roundedPt1].sort((a,b)=>a.y-b.y)):relativeX>0&&right.push([roundedPt0,roundedPt1].sort((a,b)=>a.y-b.y))),Math.abs(roundedPt0.x-roundedPt1.x)>MIN_RULE_LENGTH&&(relativeY<0?bottom.push([roundedPt0,roundedPt1].sort((a,b)=>a.x-b.x)):relativeY>0&&top.push([roundedPt0,roundedPt1].sort((a,b)=>a.x-b.x)))}return{top,right,bottom,left}}function samePointAt(point1,point2){return point1.x===point2.x&&point1.y===point2.y}function parallelLineOfLine(distanceOfLine,linePoints){let k=getK(linePoints[1],linePoints[0]),dx,dy;Math.abs(k)===1/0?(dy=0,dx=distanceOfLine):(dy=Math.sqrt(distanceOfLine*distanceOfLine/(k*k+1)),dx=dy/-(1/k));let result=[[{x:linePoints[0].x-dx,y:linePoints[0].y-dy},{x:linePoints[1].x-dx,y:linePoints[1].y-dy}],[{x:linePoints[0].x+dx,y:linePoints[0].y+dy},{x:linePoints[1].x+dx,y:linePoints[1].y+dy}]];return linePoints[1].x-linePoints[0].x<0?result:linePoints[1].x-linePoints[0].x>0||linePoints[1].y-linePoints[0].y<0?result.reverse():result}function getK(p0,p1){return(p0.y-p1.y)/(p0.x-p1.x)}function getCenterPointOfPoints(points){let minX=Math.min(...points.map(p=>p.x)),maxX=Math.max(...points.map(p=>p.x)),minY=Math.min(...points.map(p=>p.y)),maxY=Math.max(...points.map(p=>p.y));return{x:(minX+maxX)/2,y:(minY+maxY)/2}}export{formatFloorplanJson as default,formatFloorplanJson};
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/30
5
- * Version: 1.0.0-alpha.13
4
+ * Generated: 2026/11/4
5
+ * Version: 1.0.0-alpha.15
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={}){let n=``,{needZ:r,format:i}=t;return(r?e.slice().concat(e[0]):e.slice()).forEach((e,t)=>{let{x:r,y:a}=i?i(e):e,o=`${r},${a}`;n+=(t===0?`M`:`L`)+o}),n+(r?`Z`:``)}function t({x:e,y:t},n){let{max:r,min:i}=n;return{x:e-i.x,y:r.y-t}}exports.formatFloorplanPoint=t,exports.pathD=e;
338
+ */function pathD(points,options={}){let d=``,{needZ,format}=options;return(needZ?points.slice().concat(points[0]):points.slice()).forEach((_point,index)=>{let{x,y}=format?format(_point):_point,point=`${x},${y}`;d+=(index===0?`M`:`L`)+point}),d+(needZ?`Z`:``)}function formatFloorplanPoint({x,y},bounding){let{max,min}=bounding;return{x:x-min.x,y:max.y-y}}exports.formatFloorplanPoint=formatFloorplanPoint,exports.pathD=pathD;
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/30
5
- * Version: 1.0.0-alpha.13
4
+ * Generated: 2026/11/4
5
+ * Version: 1.0.0-alpha.15
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={}){let n=``,{needZ:r,format:i}=t;return(r?e.slice().concat(e[0]):e.slice()).forEach((e,t)=>{let{x:r,y:a}=i?i(e):e,o=`${r},${a}`;n+=(t===0?`M`:`L`)+o}),n+(r?`Z`:``)}function t({x:e,y:t},n){let{max:r,min:i}=n;return{x:e-i.x,y:r.y-t}}export{t as formatFloorplanPoint,e as pathD};
338
+ */function pathD(points,options={}){let d=``,{needZ,format}=options;return(needZ?points.slice().concat(points[0]):points.slice()).forEach((_point,index)=>{let{x,y}=format?format(_point):_point,point=`${x},${y}`;d+=(index===0?`M`:`L`)+point}),d+(needZ?`Z`:``)}function formatFloorplanPoint({x,y},bounding){let{max,min}=bounding;return{x:x-min.x,y:max.y-y}}export{formatFloorplanPoint,pathD};
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/30
5
- * Version: 1.0.0-alpha.13
4
+ * Generated: 2026/11/4
5
+ * Version: 1.0.0-alpha.15
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.modelScene.boundingBox,i=r.isEmpty()?10:Math.pow(Math.pow(r.max.x-r.min.x+1,2)+Math.pow(r.max.y-r.min.y+1,2)+Math.pow(r.max.z-r.min.z+1,2),1/2),a=i/2/Math.tan(Math.PI*t/360);return n<1&&(a/=n),Number.isNaN(a)?i:a}exports.getDistanceFromModel=e;
338
+ */function getDistanceFromModel(five,fov,aspect){let boundingBox=five.modelScene.boundingBox,radius=boundingBox.isEmpty()?10:Math.pow(Math.pow(boundingBox.max.x-boundingBox.min.x+1,2)+Math.pow(boundingBox.max.y-boundingBox.min.y+1,2)+Math.pow(boundingBox.max.z-boundingBox.min.z+1,2),1/2),distance=radius/2/Math.tan(Math.PI*fov/360);return aspect<1&&(distance/=aspect),Number.isNaN(distance)?radius:distance}exports.getDistanceFromModel=getDistanceFromModel;
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/30
5
- * Version: 1.0.0-alpha.13
4
+ * Generated: 2026/11/4
5
+ * Version: 1.0.0-alpha.15
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.modelScene.boundingBox,i=r.isEmpty()?10:Math.pow(Math.pow(r.max.x-r.min.x+1,2)+Math.pow(r.max.y-r.min.y+1,2)+Math.pow(r.max.z-r.min.z+1,2),1/2),a=i/2/Math.tan(Math.PI*t/360);return n<1&&(a/=n),Number.isNaN(a)?i:a}export{e as getDistanceFromModel};
338
+ */function getDistanceFromModel(five,fov,aspect){let boundingBox=five.modelScene.boundingBox,radius=boundingBox.isEmpty()?10:Math.pow(Math.pow(boundingBox.max.x-boundingBox.min.x+1,2)+Math.pow(boundingBox.max.y-boundingBox.min.y+1,2)+Math.pow(boundingBox.max.z-boundingBox.min.z+1,2),1/2),distance=radius/2/Math.tan(Math.PI*fov/360);return aspect<1&&(distance/=aspect),Number.isNaN(distance)?radius:distance}export{getDistanceFromModel};
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/30
5
- * Version: 1.0.0-alpha.13
4
+ * Generated: 2026/11/4
5
+ * Version: 1.0.0-alpha.15
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,t){var n,r;let i=(r=(n=e.work)==null?void 0:n.observers)==null?[]:r;if(t>(i.length?Math.max(...i.map(e=>e.floorIndex)):0))return e.modelScene.boundingBox.max.y;let a=i.filter(e=>e.floorIndex===t).map(e=>e.standingPosition.y);return a.length?Math.max(...a):e.modelScene.boundingBox.min.y}function r(e,t,r=3){let i=e.modelScene.boundingBox;return r===3?(i.max.y+i.min.y)/2:r===2?n(e,t+1):n(e,t)}function i(e,n,i,a){let o=r(e,i,a==null?void 0:a.attachedTo),s=new t.Vector3(0,o,0),c=new t.Vector3(1,o,0),l=s.clone().project(e.camera),u=c.clone().project(e.camera);return Math.abs((u.x-l.x)/1e3)*(n.getBoundingClientRect().width/2)}exports.getAttachedY=r,exports.getFloorY=n,exports.getPxmm=i;
338
+ */const require_runtime=require("../../../_virtual/_rolldown/runtime.js");let three_webgpu=require("three/webgpu");three_webgpu=require_runtime.__toESM(three_webgpu,1);function getFloorY(five,floorIndex){var _a,_b;let observers=(_b=(_a=five.work)==null?void 0:_a.observers)==null?[]:_b;if(floorIndex>(observers.length?Math.max(...observers.map(ob=>ob.floorIndex)):0))return five.modelScene.boundingBox.max.y;let ys=observers.filter(ob=>ob.floorIndex===floorIndex).map(ob=>ob.standingPosition.y);return ys.length?Math.max(...ys):five.modelScene.boundingBox.min.y}function getAttachedY(five,floorIndex,attachedTo=3){let boundingBox=five.modelScene.boundingBox;return attachedTo===3?(boundingBox.max.y+boundingBox.min.y)/2:attachedTo===2?getFloorY(five,floorIndex+1):getFloorY(five,floorIndex)}function getPxmm(five,container,floorIndex,options){let y=getAttachedY(five,floorIndex,options==null?void 0:options.attachedTo),originPosition=new three_webgpu.Vector3(0,y,0),originPositionXUnit=new three_webgpu.Vector3(1,y,0),mouse=originPosition.clone().project(five.camera),xUnitMouse=originPositionXUnit.clone().project(five.camera);return Math.abs((xUnitMouse.x-mouse.x)/1e3)*(container.getBoundingClientRect().width/2)}exports.getAttachedY=getAttachedY,exports.getFloorY=getFloorY,exports.getPxmm=getPxmm;
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/30
5
- * Version: 1.0.0-alpha.13
4
+ * Generated: 2026/11/4
5
+ * Version: 1.0.0-alpha.15
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(e,t){var n,r;let i=(r=(n=e.work)==null?void 0:n.observers)==null?[]:r;if(t>(i.length?Math.max(...i.map(e=>e.floorIndex)):0))return e.modelScene.boundingBox.max.y;let a=i.filter(e=>e.floorIndex===t).map(e=>e.standingPosition.y);return a.length?Math.max(...a):e.modelScene.boundingBox.min.y}function n(e,n,r=3){let i=e.modelScene.boundingBox;return r===3?(i.max.y+i.min.y)/2:r===2?t(e,n+1):t(e,n)}function r(t,r,i,a){let o=n(t,i,a==null?void 0:a.attachedTo),s=new e.Vector3(0,o,0),c=new e.Vector3(1,o,0),l=s.clone().project(t.camera),u=c.clone().project(t.camera);return Math.abs((u.x-l.x)/1e3)*(r.getBoundingClientRect().width/2)}export{n as getAttachedY,t as getFloorY,r as getPxmm};
338
+ */import*as THREE from"three/webgpu";function getFloorY(five,floorIndex){var _a,_b;let observers=(_b=(_a=five.work)==null?void 0:_a.observers)==null?[]:_b;if(floorIndex>(observers.length?Math.max(...observers.map(ob=>ob.floorIndex)):0))return five.modelScene.boundingBox.max.y;let ys=observers.filter(ob=>ob.floorIndex===floorIndex).map(ob=>ob.standingPosition.y);return ys.length?Math.max(...ys):five.modelScene.boundingBox.min.y}function getAttachedY(five,floorIndex,attachedTo=3){let boundingBox=five.modelScene.boundingBox;return attachedTo===3?(boundingBox.max.y+boundingBox.min.y)/2:attachedTo===2?getFloorY(five,floorIndex+1):getFloorY(five,floorIndex)}function getPxmm(five,container,floorIndex,options){let y=getAttachedY(five,floorIndex,options==null?void 0:options.attachedTo),originPosition=new THREE.Vector3(0,y,0),originPositionXUnit=new THREE.Vector3(1,y,0),mouse=originPosition.clone().project(five.camera),xUnitMouse=originPositionXUnit.clone().project(five.camera);return Math.abs((xUnitMouse.x-mouse.x)/1e3)*(container.getBoundingClientRect().width/2)}export{getAttachedY,getFloorY,getPxmm};
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/30
5
- * Version: 1.0.0-alpha.13
4
+ * Generated: 2026/11/4
5
+ * Version: 1.0.0-alpha.15
6
6
  * License:
7
7
  * Realsee SDK License Agreement
8
8
 
@@ -335,4 +335,4 @@
335
335
  * writing and signed by Realsee. You and Realsee hereto confirm that this
336
336
  * Agreement and all related documents shall be drafted in English.
337
337
 
338
- */function e(e){return Object.prototype.toString.call(e)===`[object Object]`}exports.isTruelyObject=e;
338
+ */function isTruelyObject(value){return Object.prototype.toString.call(value)===`[object Object]`}exports.isTruelyObject=isTruelyObject;
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/30
5
- * Version: 1.0.0-alpha.13
4
+ * Generated: 2026/11/4
5
+ * Version: 1.0.0-alpha.15
6
6
  * License:
7
7
  * Realsee SDK License Agreement
8
8
 
@@ -335,4 +335,4 @@
335
335
  * writing and signed by Realsee. You and Realsee hereto confirm that this
336
336
  * Agreement and all related documents shall be drafted in English.
337
337
 
338
- */function e(e){return Object.prototype.toString.call(e)===`[object Object]`}export{e as isTruelyObject};
338
+ */function isTruelyObject(value){return Object.prototype.toString.call(value)===`[object Object]`}export{isTruelyObject};
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/10/30
5
- * Version: 1.0.0-alpha.13
4
+ * Generated: 2026/11/4
5
+ * Version: 1.0.0-alpha.15
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=2){return Number(e.toFixed(n))===Number(t.toFixed(n))}function t(e,t,n=2){let r=Math.PI*2,i=e=>(e%r+r)%r,a=i(e),o=i(t),s=Math.min(Math.abs(a-o),r-Math.abs(a-o));return Number(s.toFixed(n))===0}exports.nearlyEqual=e,exports.nearlyEqualRad=t;
338
+ */function nearlyEqual(x,y,precision=2){return Number(x.toFixed(precision))===Number(y.toFixed(precision))}function nearlyEqualRad(x,y,precision=2){let TWO_PI=Math.PI*2,normalize=rad=>(rad%TWO_PI+TWO_PI)%TWO_PI,nx=normalize(x),ny=normalize(y),diff=Math.min(Math.abs(nx-ny),TWO_PI-Math.abs(nx-ny));return Number(diff.toFixed(precision))===0}exports.nearlyEqual=nearlyEqual,exports.nearlyEqualRad=nearlyEqualRad;